
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:Arial,Helvetica,sans-serif;background:#ececea;color:#202222}
button,a,input{font:inherit}
button,a{touch-action:manipulation}
button{cursor:pointer}
a{color:inherit;text-decoration:none}
button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid #ed7441;outline-offset:4px}
.preview{--bg:#f7f2e9;--ink:#27291f;--accent:#ef6b37;--soft:#e8e6d9;--line:#dcd9cc;--card:#fffcf7;background:var(--bg);color:var(--ink);margin:0 2vw 28px;border-radius:16px;overflow:hidden;box-shadow:0 12px 40px #1c221317}
.site-nav{height:100px;padding:0 5.3%;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);gap:20px}
.brand{display:flex;align-items:center;gap:12px;font-weight:800;font-size:30px;letter-spacing:-1.6px}
.brand svg{height:39px;width:43px}
.brand small{font-size:12px;font-weight:500;letter-spacing:.04em;display:block;margin-top:1px}
.navlinks{display:flex;gap:30px;align-items:center;font-size:13px}
.nav-contact{border:1px solid var(--line);padding:13px 18px;border-radius:30px}
.hero{display:grid;grid-template-columns:1.12fr 1fr;gap:5%;padding:68px 5.3% 54px;min-height:610px;align-items:center}
.eyebrow{text-transform:uppercase;font-size:11px;letter-spacing:.15em;font-weight:700;display:flex;align-items:center;gap:9px}
.dot{width:7px;height:7px;background:var(--accent);border-radius:50%;display:inline-block}
h1{font-size:clamp(48px,5.8vw,87px);line-height:.99;letter-spacing:-.068em;font-weight:600;margin:30px 0 24px;max-width:700px}
h1 em{color:var(--accent);font-style:normal}
.intro{font-size:17px;line-height:1.7;max-width:430px;opacity:.75}
.actions{display:flex;gap:23px;align-items:center;margin-top:32px;font-size:13px}
.primary{display:inline-flex;align-items:center;justify-content:center;gap:28px;background:var(--ink);color:var(--bg);padding:17px 23px;border-radius:30px;font-weight:600}
.secondary{border-bottom:1px solid var(--ink);padding:5px 0}
.subnote{margin-top:24px;font-size:11px;opacity:.55}
.visual{position:relative;min-height:430px;display:grid;place-items:center}
.art-caption{position:absolute;bottom:0;left:0;right:0;display:flex;justify-content:space-between;font-size:10px;letter-spacing:.1em;opacity:.6}
.moof-world{width:100%;height:395px;position:relative;background:radial-gradient(ellipse at 50% 52%,#e9ddc7 0,transparent 66%)}
.orbit{position:absolute;inset:20px 0;border:1px solid #d5ccba;border-radius:50%;transform:rotate(-25deg)}
.orbit.two{inset:50px -5px;transform:rotate(28deg)}
.orb{position:absolute;display:grid;place-items:center;border-radius:25%;box-shadow:9px 22px 35px #4b3d2920;transition:transform .4s}
.orb.main{width:190px;height:190px;background:var(--accent);left:calc(50% - 95px);top:100px;transform:rotate(-9deg);color:#fff9e9}
.orb.main svg{width:120px;height:120px}
.orb.purple{height:100px;width:100px;top:0;left:10%;background:#c7b9ed;transform:rotate(-12deg);font-size:45px;color:#403255}
.orb.dark{width:95px;height:95px;right:0;top:57px;background:#333a2f;color:#c5d1a9;transform:rotate(14deg);font-size:34px}
.orb.green{width:105px;height:105px;bottom:5px;left:7%;background:#ced6ad;color:#424937;transform:rotate(8deg);font-size:35px}
.orb.white{width:120px;height:88px;bottom:15px;right:0;background:#fffaf0;transform:rotate(-8deg);font-size:13px;padding:20px;line-height:1.6}
.orb:hover{transform:rotate(0) translateY(-7px)}
.strip{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:20px 5.3%;display:flex;justify-content:space-between;gap:15px;font-size:11px;letter-spacing:.09em;text-transform:uppercase}
.section{padding:52px 5.3%}
.section-top{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:25px}
.section h2{font-size:32px;letter-spacing:-1.4px;font-weight:500;margin:10px 0 0}
.section-top p{font-size:12px;opacity:.6;max-width:240px;line-height:1.6}
.about{display:grid;grid-template-columns:1fr 1fr;gap:60px;padding:35px 5.3% 60px}
.about h2{font-weight:500;letter-spacing:-1.3px;font-size:32px;margin:0}
.about p{margin:0;font-size:15px;line-height:1.8;opacity:.7}
.site-footer{padding:27px 5.3%;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:20px;font-size:11px;opacity:.65}
.floating-tag{position:absolute;bottom:25px;left:25px;transform:rotate(-6deg);padding:13px 17px;background:#f8f3d9;color:#282aa6;font-size:12px;border-radius:4px}
@media(min-width:1500px){.preview{max-width:1480px;margin-left:auto;margin-right:auto}
}
@media(max-width:850px){.hero{gap:3%;padding-top:45px;min-height:520px}
h1{font-size:58px}
.visual{min-height:350px;transform:scale(.85);transform-origin:center}
.navlinks{gap:16px}
.orb.main{width:150px;height:150px;left:calc(50% - 75px)}
}
@media(max-width:620px){.preview{margin:0 10px 18px}
.site-nav{height:83px}
.brand{font-size:26px}
.navlinks a:not(.nav-contact){display:none}
.nav-contact{padding:10px 13px;font-size:11px}
.hero{grid-template-columns:1fr;padding:38px 7% 25px;gap:20px}
.hero h1{font-size:60px}
.intro{font-size:15px}
.visual{transform:none;min-height:365px}
.moof-world{height:350px}
.orb.main{top:85px}
.orb.purple{height:80px;width:80px}
.orb.dark{height:75px;width:75px}
.strip{flex-wrap:wrap;font-size:9px;justify-content:center}
.strip span:last-child{display:none}
.section{padding:36px 7%}
.section-top{display:block}
.about{grid-template-columns:1fr;gap:20px;padding:15px 7% 35px}
.site-footer{flex-direction:column}
.section h2,.about h2{font-size:29px}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}
*{transition:none!important}
}

.expertise{border-top:1px solid var(--line)}
.expertise-heading{display:grid;grid-template-columns:1.2fr 1fr;gap:50px;align-items:center;margin:22px 0 38px}
.expertise-heading h2{font-size:39px;line-height:1.15;margin:0}
.expertise-heading h2 em{font-style:normal;color:var(--accent)}
.expertise-heading p{font-size:15px;line-height:1.8;opacity:.75;margin:0}
.expertise-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:30px}
.expertise-grid article{border-top:1px solid var(--line);padding-top:23px}
.expertise-grid article>span{font:10px monospace;letter-spacing:.1em;opacity:.55}
.expertise-grid h3{font-size:18px;font-weight:500;margin:20px 0 12px}
.expertise-grid p{font-size:13px;line-height:1.8;opacity:.72}
.tags{font:10px monospace;color:var(--accent);margin-top:23px}
@media(max-width:1050px){.navlinks{gap:16px}
.navlinks a[href="#about"]{display:none}
}
@media(max-width:620px){.expertise-heading,.expertise-grid{grid-template-columns:1fr;gap:23px}
.expertise-heading h2{font-size:30px}
.navlinks{gap:0}
.expertise-grid article{padding-bottom:10px}
.hero h1{overflow-wrap:break-word}
}

.delivery-flow{display:flex;flex-wrap:wrap;align-items:center;gap:16px;padding:20px 0 28px;font:12px monospace}
.delivery-flow span{border:1px solid var(--line);border-radius:6px;padding:11px 15px}
.delivery-flow b{color:var(--accent);font-weight:400}
@media(max-width:620px){.delivery-flow{gap:8px;font-size:10px}
.delivery-flow span{padding:8px}
.actions{gap:16px}
.primary{padding:15px 18px;gap:14px}
}


.moo-trigger{appearance:none;border:0;font:inherit;cursor:pointer;padding:0;overflow:visible}
.moo-trigger:focus-visible{outline:3px solid #27291f;outline-offset:9px}
.moo-ear{position:absolute;top:4px;width:38px;height:24px;background:#fdf4dc;border:5px solid #ef6b37;border-radius:80% 20% 70% 30%;opacity:0;pointer-events:none}
.moo-ear.left{left:-18px;transform:rotate(-22deg)}
.moo-ear.right{right:-18px;transform:scaleX(-1) rotate(-22deg)}
.moo-bubble{position:absolute;right:-67px;top:-53px;background:#fffdf5;color:#27291f;border-radius:24px 24px 24px 3px;padding:14px 21px;font-size:22px;font-weight:700;letter-spacing:-1px;box-shadow:0 7px 20px #362c1910;opacity:0;transform:translateY(10px) scale(.8);pointer-events:none}
.moo-hint{position:absolute;left:0;right:0;bottom:3px;font-size:10px;letter-spacing:.04em;color:#695d48;text-align:center}
.moo-trigger.is-mooing{animation:moo-hop 1s ease-in-out}
.is-mooing .moo-ear{animation:moo-reveal 2.6s ease both}
.is-mooing .moo-bubble{animation:moo-talk 2.6s ease both}
@keyframes moo-hop{0%,100%{transform:rotate(-9deg) translateY(0)}
25%{transform:rotate(-14deg) translateY(-16px)}
48%{transform:rotate(-3deg) translateY(0)}
65%{transform:rotate(-11deg) translateY(-5px)}
}
@keyframes moo-reveal{0%,100%{opacity:0}
18%,80%{opacity:1}
}
@keyframes moo-talk{0%,100%{opacity:0;transform:translateY(10px) scale(.8)}
20%,80%{opacity:1;transform:translateY(0) scale(1)}
}
@media(prefers-reduced-motion:reduce){.moo-trigger.is-mooing,.is-mooing .moo-ear,.is-mooing .moo-bubble{animation:none}
.is-mooing .moo-ear,.is-mooing .moo-bubble{opacity:1}
.is-mooing .moo-bubble{transform:none}
}


.moo-trigger{transition:background-color .2s,color .2s}
.moo-trigger>svg{position:relative;z-index:2}
.cow-spot{position:absolute;background:#27291f;opacity:0;pointer-events:none;transition:opacity .18s}
.spot-one{width:67px;height:49px;left:0;top:0;border-radius:65% 35% 65% 20%;transform:rotate(-12deg)}
.spot-two{width:51px;height:66px;right:0;bottom:4px;border-radius:55% 20% 65% 40%;transform:rotate(12deg)}
.spot-three{width:30px;height:23px;right:25px;top:13px;border-radius:35% 60% 30% 65%;transform:rotate(22deg)}
.moo-trigger.is-mooing{background:#fff8e9;color:#27291f}
.is-mooing .cow-spot{opacity:1}
.moo-trigger.is-mooing .moo-ear{background:#e9b6a7;border-color:#fff8e9;box-shadow:0 0 0 2px #27291f}
.moo-trigger.is-mooing>svg{filter:drop-shadow(2px 0 #fff8e9) drop-shadow(-2px 0 #fff8e9)}
@media(prefers-reduced-motion:reduce){.moo-trigger,.cow-spot{transition:none}
}


/* Cow mode keeps its cream-and-charcoal identity in both themes. */
.moo-trigger,.moo-bubble{color-scheme:only light}
.cow-coat{position:absolute;inset:0;border-radius:inherit;overflow:hidden;pointer-events:none;z-index:0}
.moo-trigger>svg{width:105px;height:105px}
.moo-trigger.is-mooing{background:#fff8e9;color:#252722;box-shadow:0 0 0 1px #9c958955,9px 22px 35px #00000025}
.moo-trigger.is-mooing>svg{filter:none}
.cow-spot{background:#252722}
.spot-one{width:53px;height:40px;left:-6px;top:-3px}
.spot-two{width:42px;height:57px;right:-6px;bottom:-3px}
.spot-three{width:25px;height:19px;right:21px;top:12px}
.moo-ear{z-index:3}
.moo-bubble{z-index:4;border:1px solid #b5ad9b55;background:#fff8e9;color:#252722}
.moo-trigger.is-mooing .moo-ear{box-shadow:0 0 0 1px #706b60}
.moo-trigger:focus-visible{outline-color:var(--ink)}

@media(prefers-color-scheme:dark){
:root{color-scheme:dark}
body{background:#171a18;color:#eeeae2}
.preview.moof{--bg:#20271f;--ink:#f5efdf;--accent:#ff8754;--soft:#39442f;--line:#444d3d;--card:#293125}
.moof .moof-world{background:radial-gradient(ellipse at 50% 52%,#66513855,transparent 68%)}
.moof .orbit{border-color:#78766355}
.moo-trigger.is-mooing{box-shadow:0 0 0 1px #fff8e944,0 18px 45px #0007}
.moo-bubble{box-shadow:0 8px 25px #0005}

}

.cow-mark{display:none;position:absolute;width:105px;height:105px;z-index:2;pointer-events:none}
.is-mooing .cow-mark{display:block}
.moo-trigger.is-mooing>svg{visibility:hidden}
.moo-bubble img{display:block}
.orb.white{color:#27291f!important}
.brand.lockup-raised>span{display:inline-flex;align-items:flex-start;gap:7px;line-height:1}
.brand.lockup-raised small{display:inline-block;font-size:10px;font-weight:700;letter-spacing:.13em;line-height:1;margin-top:2px;text-transform:uppercase}
@media(max-width:700px){.site-nav .brand{gap:7px}
.site-nav .brand svg{width:34px}
}


/* Institutional layout: shared heading hierarchy, with accent reserved for details. */
.preview{margin:0;border-radius:0;box-shadow:none;min-height:100vh}

.section h2,.about h2,.expertise-heading h2{font-weight:700;color:var(--ink)}

.expertise-heading h2 em{color:inherit;font-style:normal}

.expertise-grid h3{font-weight:700;color:var(--ink)}

.labs-note{border-top:1px solid var(--line);padding:28px 0 8px}

.labs-note p{max-width:620px;font-size:15px;line-height:1.8;opacity:.75;margin:0}

.labs-note .distribution{color:var(--accent);font:13px/1.8 monospace;opacity:1;margin-top:24px}

.skip-link{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}

.skip-link:focus{position:fixed;top:12px;left:16px;width:auto;height:auto;padding:12px;clip-path:none;z-index:10;background:#27291f;color:#fff8e9}

@media(min-width:1600px){.preview{max-width:1600px;margin:auto}
}

@media(max-width:620px){h1{font-size:clamp(44px,12vw,60px)}
.actions{flex-wrap:wrap}
.art-caption{font-size:8px}
.site-nav{padding:0 7%}
.nav-contact{padding:12px}
.distribution{max-width:100%}
}


.contact{border-top:1px solid var(--line)}
.contact-grid{display:grid;grid-template-columns:1fr 1fr 1.2fr;gap:32px;margin-top:32px}
.contact-grid h3{font-size:12px;text-transform:uppercase;letter-spacing:.1em;margin:0 0 14px}
.contact-grid a{color:var(--accent);font-size:15px;line-height:1.8}
.contact-grid a:hover{text-decoration:underline}
.contact-grid address{font-style:normal;font-size:15px;line-height:1.8;opacity:.8}
@media(max-width:620px){.contact-grid{grid-template-columns:1fr;gap:26px}}

/* Wordmark: close spacing and a lighter, smaller Labs. */
.brand.lockup-raised>span{display:inline-flex;align-items:baseline;gap:4px;line-height:1}
.brand.lockup-raised small{display:inline;font-size:.82em;font-weight:400;letter-spacing:-.04em;line-height:1;margin:0;text-transform:none;color:inherit}

.moo-word{display:block;min-width:64px;text-align:center;color:#252722}

/* A separate call-me gesture after the original two beats. */
.hoof-call{position:absolute;left:calc(50% + 48px);top:238px;z-index:6;display:flex;flex-direction:column;align-items:center;text-decoration:none;color:var(--ink);transform:rotate(9deg);}
.hoof-call[hidden]{display:none}
.hoof-call svg{width:86px;height:86px;overflow:visible;filter:drop-shadow(0 5px 5px #0005)}
.hoof-call>span{font-size:12px;font-weight:600;letter-spacing:.02em;margin-top:-4px;white-space:nowrap}
.hoof-call:focus-visible{outline:2px solid var(--accent);outline-offset:6px;border-radius:12px}
.hoof-call.is-visible{animation:hoof-enter .35s ease-out both}
.hoof-gesture{transform-origin:55px 80px;animation:call-wiggle 1.1s ease-in-out 2}
.call-lines{animation:call-signal 1.1s ease-in-out 2}
@keyframes hoof-enter{from{opacity:0;transform:translateY(12px) rotate(18deg) scale(.75)}to{opacity:1;transform:translateY(0) rotate(9deg) scale(1)}}
@keyframes call-wiggle{0%,100%{transform:rotate(0)}30%{transform:rotate(-12deg)}65%{transform:rotate(10deg)}}
@keyframes call-signal{0%,100%{opacity:.3}50%{opacity:1}}
@media(prefers-reduced-motion:reduce){.hoof-call.is-visible,.hoof-gesture,.call-lines{animation:none}}
@media(max-width:850px){.hoof-call{top:185px;left:calc(50% + 45px)}.hoof-call svg{width:64px;height:64px}.hoof-call>span{font-size:11px}}
@media(max-width:620px){.hoof-call{top:170px}}

.hoof-gesture{transform-origin:23px 84px}

/* Keep the cow through the invitation; return together at 5.5 seconds. */
.is-mooing .moo-ear{animation-duration:5.5s}
.is-mooing .moo-bubble{animation-duration:2.6s}
.hoof-call.is-visible{animation:hoof-enter .35s ease-out both,hoof-exit .35s ease-in 3.35s forwards}
@keyframes hoof-exit{to{opacity:0;transform:translateY(10px) rotate(15deg) scale(.85)}}
@media(prefers-reduced-motion:reduce){.hoof-call.is-visible{animation:none}}

.technical-intro{margin-top:40px;padding-top:32px;border-top:1px solid var(--line)}

/* Local full-screen editorial study. Native scrolling remains accessible. */
html{scroll-snap-type:y proximity;scroll-padding-top:72px}
body{background:#20271f;overflow-x:clip}
.preview.moof{margin:0;max-width:none;width:100%;border-radius:0;overflow:visible;box-shadow:none;padding-top:72px}
.site-nav{position:fixed;inset:0 0 auto;height:72px;padding:0 6%;z-index:30;background:#20271ff2;backdrop-filter:blur(14px)}
.screen{min-height:calc(100svh - 72px);scroll-snap-align:start;position:relative;padding:clamp(32px,6vh,80px) 9%;border-bottom:1px solid var(--line)}
.section.screen{display:flex;flex-direction:column;justify-content:center;gap:26px}
.screen .eyebrow{margin-bottom:12px}
.screen .expertise-heading{margin:0;gap:7vw}
.screen h2{font-size:clamp(34px,4.2vw,68px);line-height:1.06;letter-spacing:-.045em}
.screen .expertise-heading p{font-size:clamp(16px,1.35vw,21px);line-height:1.7}
.screen .technical-intro{padding:0;border:0;margin:0}
.screen .delivery-flow{margin:28px 0 0}
.screen .expertise-grid{margin:20px 0}.screen .expertise-grid h3{font-size:25px}.screen .expertise-grid p{font-size:16px}
.screen .section-top{align-items:center}.screen .section-top p{font-size:17px;max-width:320px}
.screen .labs-note{max-width:850px}.screen .labs-note p{font-size:20px;line-height:1.7}
.about.screen{align-content:center;align-items:center;gap:7vw}.about.screen p{font-size:clamp(18px,1.6vw,24px)}
.contact.screen .site-footer{margin-top:48px;padding:24px 0 0}.contact.screen .contact-grid{margin-top:30px}
.screen-next{font-size:13px;color:var(--accent);align-self:flex-start;margin-top:24px;border-bottom:1px solid #ff875455;padding-bottom:8px}
.chapter-nav{position:fixed;right:18px;top:50%;transform:translateY(-50%);z-index:20;display:flex;flex-direction:column;gap:15px}
.chapter-nav a{display:grid;place-items:center;width:26px;height:26px;border:1px solid #f5efdf33;border-radius:50%;font:10px monospace;color:#b0b5a7;transition:background .2s}
.chapter-nav a[aria-current="true"]{background:#ff8754;border-color:#ff8754;color:#20271f}
@media(min-width:900px) and (min-height:650px){.hero.screen{grid-template-columns:1.1fr 1fr}.hero.screen h1{font-size:clamp(52px,5.8vw,92px)}}
@media(max-width:850px){.screen{padding:40px 7%;}.chapter-nav{right:5px;gap:9px}.chapter-nav a{width:19px;height:19px;font-size:8px}.screen .expertise-grid{gap:20px}.screen .expertise-grid h3{font-size:20px}}
@media(max-width:620px){html{scroll-snap-type:y proximity}.site-nav{padding:0 7%}.hero.screen{padding-top:36px}.screen .expertise-heading{grid-template-columns:1fr;gap:28px}.screen h2{font-size:36px}.screen .expertise-grid{grid-template-columns:1fr}.screen .expertise-grid p{font-size:15px}.about.screen{grid-template-columns:1fr;gap:28px}.screen .labs-note p{font-size:18px}.chapter-nav{display:none}.screen .section-top{margin:0}.hero.screen .visual{margin-top:20px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto;scroll-snap-type:none}}

/* Horizontal topics within the vertical Solutions chapter. */
.screen{padding-left:max(7%,calc((100vw - 1440px)/2));padding-right:max(7%,calc((100vw - 1440px)/2))}
.solutions-carousel.screen{gap:0;overflow:hidden;background:radial-gradient(ellipse at 95% 45%,#39442f66,transparent 60%)}
.carousel-controls,.carousel-bottom{display:flex;align-items:center;justify-content:space-between;gap:20px;width:100%}
.carousel-controls{border-bottom:1px solid var(--line);padding-bottom:22px;margin-bottom:clamp(28px,5vh,64px)}
.slide-tabs{display:flex;gap:10px}.slide-tabs button,.rotation-toggle,.carousel-bottom button{background:transparent;color:var(--ink);border:1px solid var(--line);border-radius:30px;padding:12px 18px;font-size:13px}
.slide-tabs button[aria-selected="true"]{background:var(--ink);color:var(--bg)}
.rotation-toggle{white-space:nowrap;font-size:12px}
.slide-track{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;overscroll-behavior-x:contain;align-items:stretch;width:100%;min-width:0}
.slide-track::-webkit-scrollbar{display:none}
.solution-slide{flex:0 0 100%;min-width:0;scroll-snap-align:start;padding:8px 1px 24px;display:flex;flex-direction:column;justify-content:center;gap:24px;position:relative}
.solution-slide .eyebrow{color:var(--accent)}
.solution-slide .expertise-heading{gap:5vw;grid-template-columns:1.1fr 1fr}
.solution-slide h2{font-size:clamp(38px,4.4vw,70px)}
.solution-slide .expertise-grid{gap:32px}.solution-slide .expertise-grid article{padding:26px 24px;background:#293125;border:1px solid var(--line);border-radius:20px}.solution-slide .expertise-grid h3{font-size:25px}.solution-slide .expertise-grid p{font-size:16px}
.carousel-bottom{border-top:1px solid var(--line);padding-top:20px;margin-top:24px;font:12px monospace;color:#aeb5a5}.carousel-bottom>div{display:flex;gap:8px}.carousel-bottom button{padding:8px 16px}.slide-count{color:var(--accent)}
#products.screen{background:radial-gradient(ellipse at 80% 55%,#39442f77,transparent 65%)}
#products .labs-note{border-left:3px solid var(--accent);padding:12px 28px;max-width:950px}
#about.screen{background:#293125}
@media(min-width:1100px){.slide-track{min-height:360px}.solution-slide .delivery-flow{justify-content:space-between}.screen .contact-grid{padding:30px;border:1px solid var(--line);border-radius:24px}}
@media(max-width:760px){.solutions-carousel.screen{min-height:calc(100svh - 72px);padding:30px 6%}.carousel-controls{flex-wrap:wrap;gap:14px;margin-bottom:24px;padding-bottom:18px}.slide-tabs{gap:6px;flex-wrap:wrap}.slide-tabs button{padding:10px 13px;font-size:12px}.rotation-toggle{padding:8px 12px;font-size:11px}.solution-slide{justify-content:flex-start;gap:20px}.solution-slide .expertise-heading{grid-template-columns:1fr;gap:24px}.solution-slide h2{font-size:36px}.solution-slide .expertise-grid{grid-template-columns:1fr;gap:12px}.solution-slide .expertise-grid article{padding:18px}.solution-slide .expertise-grid h3{font-size:21px;margin:12px 0}.solution-slide .expertise-grid p{font-size:14px;line-height:1.6}.solution-slide .tags{margin-top:15px}.carousel-bottom{gap:12px}.carousel-bottom>span:nth-child(2){font-size:10px}.slide-track{align-items:flex-start}.solution-slide:not(.active-slide){max-height:0;overflow:hidden}.solution-slide.active-slide{max-height:none}.screen{min-height:calc(100svh - 72px)}}
.hero.screen{overflow:clip}

/* Consistent chapter hierarchy and compact pagination controls. */
.carousel-heading{color:var(--ink);margin-bottom:24px!important}
.carousel-controls{justify-content:flex-start;margin-bottom:30px}
.topic-index{font:10px monospace;opacity:.65;margin-right:7px}
.solution-slide .eyebrow{color:var(--ink);opacity:.7;font-size:10px}
.carousel-bottom{justify-content:center;padding-top:18px}
.carousel-bottom .carousel-pagination{display:flex;gap:10px;align-items:center}
.carousel-bottom .slide-dot,.carousel-bottom .rotation-toggle{width:32px;height:32px;padding:0;border-radius:50%;display:grid;place-items:center;font:11px monospace;color:var(--ink);background:transparent;border:1px solid #f5efdf44}
.carousel-bottom .slide-dot[aria-pressed="true"]{background:var(--ink);color:var(--bg);border-color:var(--ink)}
.carousel-bottom .rotation-toggle{margin-left:5px;border-color:transparent;font-size:12px}
.carousel-bottom .rotation-toggle:hover{border-color:var(--line)}
@media(max-width:760px){.carousel-heading{font-size:9px;line-height:1.7;margin-bottom:16px!important}.slide-tabs{gap:7px}.slide-tabs button{padding:9px 11px}.topic-index{display:block;margin:0 0 4px;font-size:9px}.carousel-controls{margin-bottom:22px}.carousel-bottom .slide-dot,.carousel-bottom .rotation-toggle{width:40px;height:40px}}

.contact-invitation{max-width:760px;font-size:clamp(17px,1.5vw,22px);line-height:1.7;color:#bcbeb0;margin:0}

/* Quiet chapter navigation and contextual carousel controls. */
.chapter-nav{right:12px;padding:20px 10px 20px 30px;gap:2px}
.chapter-nav a{position:relative;width:28px;height:32px;border:0;background:transparent!important;color:var(--ink)}
.chapter-dot{width:5px;height:5px;border-radius:50%;background:#f5efdf55;transition:transform .2s,background .2s}
.chapter-nav a[aria-current="true"] .chapter-dot{background:#ff8754;transform:scale(1.4)}
.chapter-label{position:absolute;right:36px;white-space:nowrap;font:12px Arial,sans-serif;opacity:0;transform:translateX(5px);transition:opacity .2s,transform .2s;pointer-events:none;padding:7px 10px;border-radius:8px;background:#20271ff2;color:#f5efdf}
.chapter-nav:hover .chapter-label,.chapter-nav:focus-within .chapter-label{opacity:1;transform:none}
.chapter-nav:hover .chapter-dot,.chapter-nav:focus-within .chapter-dot{background:#f5efdfaa}
.chapter-nav a[aria-current="true"] .chapter-label{color:#ff8754}
.chapter-nav a[aria-current="true"] .chapter-dot{background:#ff8754}
.carousel-stage{position:relative;min-width:0;width:100%}
.edge-arrow{position:absolute;top:50%;transform:translateY(-50%);z-index:5;width:42px;height:70px;border:1px solid #f5efdf33;border-radius:30px;background:#20271fee;color:#f5efdf;font-size:23px;opacity:0;transition:opacity .2s}
.edge-prev{left:-52px}.edge-next{right:-52px}
.carousel-stage:hover .edge-arrow,.carousel-stage:focus-within .edge-arrow,.edge-arrow:focus-visible{opacity:1}
@media(hover:none),(max-width:760px){.edge-arrow{display:none}}
@media(prefers-reduced-motion:reduce){.chapter-label,.chapter-dot,.edge-arrow{transition:none}}

.idea-contact{cursor:pointer;transition:transform .25s,box-shadow .25s}.idea-contact b{white-space:nowrap;font-size:12px}.idea-contact:hover,.idea-contact:focus-visible{transform:rotate(0) translateY(-7px);box-shadow:0 12px 30px #0005}.idea-contact:focus-visible{outline:3px solid var(--accent);outline-offset:5px}@media(prefers-reduced-motion:reduce){.idea-contact{transition:none}.idea-contact:hover,.idea-contact:focus-visible{transform:rotate(-8deg)}}

/* Local art-direction proposal: abstract media signals and independent app tiles. */
.solutions-carousel{isolation:isolate}.media-atmosphere{position:absolute;inset:0;z-index:-1;pointer-events:none;overflow:hidden;opacity:.18}.media-atmosphere svg{width:100%;height:100%;stroke-width:1.2}
.solutions-carousel.screen{background:radial-gradient(ellipse at 95% 50%,#514d3655,transparent 65%),#20271f}
.carousel-heading,.carousel-controls,.carousel-stage,.carousel-bottom,.technology-ribbon{position:relative}
.technology-ribbon{margin-top:24px;padding:20px 0;border-top:1px solid #f5efdf22}.ribbon-caption{font:9px monospace;letter-spacing:.17em;color:#b8bda9}.technology-ribbon>div{display:flex;align-items:center;gap:clamp(16px,2.2vw,40px);margin-top:15px;flex-wrap:wrap}.technology-ribbon>div>span{font-size:clamp(15px,1.65vw,23px);font-weight:600;color:#dedcca;letter-spacing:-.035em}.technology-ribbon>div>span:nth-child(-n+3){font-family:monospace;color:#ffac86}.technology-ribbon i{height:24px;border-left:1px solid #f5efdf33}
#products.screen{display:grid;grid-template-columns:1.15fr 1fr;align-items:center;gap:5%;overflow:hidden;background:radial-gradient(ellipse at 78% 50%,#55534466,transparent 65%),#20271f}
#products .section-top{display:block}#products .section-top p{max-width:none;margin-top:24px}#products .labs-note{padding:5px 0;border:0}#products .labs-note p{font-size:18px}#products h2{font-size:clamp(38px,4.3vw,68px)}
.app-world{position:relative;height:440px;min-width:0}.app-orbit{position:absolute;inset:40px -10px;border:1px solid #c7b9ed44;border-radius:50%;transform:rotate(-30deg)}.app-orbit.two{inset:80px -20px;transform:rotate(35deg);border-color:#ff875433}
.app-tile{position:absolute;display:grid;place-items:center;border-radius:27%;box-shadow:0 22px 45px #0004;width:125px;height:125px}.app-tile svg{width:80%;height:80%}.tile-play{left:32%;top:115px;width:160px;height:160px;background:#ff8754;color:#252722;transform:rotate(-12deg)}.tile-wave{top:0;left:6%;background:#c7b9ed;color:#413453;transform:rotate(-13deg)}.tile-grid{right:-2%;top:48px;background:#ced6ad;color:#36432c;transform:rotate(12deg)}.tile-spark{bottom:15px;left:8%;background:#f5efdf;color:#3a4230;font-size:75px;transform:rotate(9deg)}
.world-label{position:absolute;padding:12px 16px;background:#2a3428;border:1px solid #a9b69c55;border-radius:12px;font:10px monospace;letter-spacing:.06em;color:#e9e8d5;box-shadow:0 12px 24px #0003}.label-ios{top:17px;left:43%;transform:rotate(6deg)}.label-android{bottom:82px;right:-5%;transform:rotate(-8deg)}.world-caption{position:absolute;bottom:-25px;right:0;font:9px monospace;letter-spacing:.12em;color:#adaf9d}
#about.screen{isolation:isolate;overflow:hidden;position:relative}#about.screen:before{content:"";position:absolute;inset:-35% -15% -35% 40%;border:1px solid #c7b9ed33;border-radius:50%;transform:rotate(-35deg);z-index:-1;box-shadow:0 0 0 50px #c7b9ed08,0 0 0 100px #c7b9ed05}
@media(max-width:850px){#products.screen{grid-template-columns:1fr}.app-world{width:min(100%,440px);margin:20px auto 40px;height:370px}.app-tile{width:100px;height:100px}.tile-play{width:135px;height:135px;top:105px}.tile-spark{font-size:60px}.label-android{right:0}.technology-ribbon>div{gap:18px}.technology-ribbon i{display:none}.media-atmosphere{opacity:.12}}
@media(max-width:420px){.app-world{transform:scale(.9);transform-origin:center}.world-label{font-size:8px;padding:10px}.label-ios{left:40%}.tile-grid{right:0}}

/* Shared theme tokens: defaults are light; auto is resolved from OS preference. */
:root{color-scheme:light;--theme-bg:#f7f2e9;--theme-ink:#272f25;--theme-accent:#a7431f;--theme-soft:#e9e8db;--theme-line:#c9cdbd;--theme-card:#eeeee2;--theme-muted:#545f4c;--theme-nav:#f7f2e9f5;--theme-glow:#aaa98933;--theme-dot:#66715c;--theme-art:#625f4944}
:root[data-theme="dark"]{color-scheme:dark;--theme-bg:#20271f;--theme-ink:#f5efdf;--theme-accent:#ff8754;--theme-soft:#39442f;--theme-line:#444d3d;--theme-card:#293125;--theme-muted:#bcbeb0;--theme-nav:#20271ff5;--theme-glow:#55534466;--theme-dot:#b6b9a6;--theme-art:#bbb39444}
body{background:var(--theme-bg);color:var(--theme-ink)}
.preview.moof{--bg:var(--theme-bg);--ink:var(--theme-ink);--accent:var(--theme-accent);--soft:var(--theme-soft);--line:var(--theme-line);--card:var(--theme-card);background:var(--bg);color:var(--ink)}
.site-nav{background:var(--theme-nav)}
.solutions-carousel.screen,#products.screen{background:radial-gradient(ellipse at 90% 45%,var(--theme-glow),transparent 65%),var(--bg)}
#about.screen{background:var(--card)}
#about.screen:before{border-color:var(--theme-art);box-shadow:0 0 0 50px var(--theme-glow),0 0 0 100px var(--theme-glow)}
.solution-slide .expertise-grid article{background:var(--card);border-color:var(--line)}
.contact-invitation,.carousel-bottom,.ribbon-caption,.world-caption{color:var(--theme-muted)}
.technology-ribbon,.carousel-bottom,.carousel-controls{border-color:var(--line)}
.technology-ribbon>div>span{color:var(--ink)}.technology-ribbon>div>span:nth-child(-n+3){color:var(--accent)}.technology-ribbon i{border-color:var(--line)}
.world-label{background:var(--card);color:var(--ink);border-color:var(--line)}
.app-orbit,.app-orbit.two{border-color:var(--theme-art)}
.moof .moof-world{background:radial-gradient(ellipse at 50% 52%,var(--theme-glow),transparent 68%)}.moof .orbit{border-color:var(--theme-art)}
.chapter-dot{background:var(--theme-dot)}.chapter-nav a[aria-current="true"] .chapter-dot{background:var(--accent)}
.chapter-nav:hover .chapter-dot,.chapter-nav:focus-within .chapter-dot{background:var(--theme-dot)}
.chapter-nav a[aria-current="true"] .chapter-dot{background:var(--accent)}
.chapter-label{background:var(--theme-nav);color:var(--ink)}.chapter-nav a[aria-current="true"] .chapter-label{color:var(--accent)}
.edge-arrow{background:var(--theme-nav);color:var(--ink);border-color:var(--line)}
.carousel-bottom .slide-dot,.carousel-bottom .rotation-toggle{color:var(--ink);border-color:var(--line)}
.carousel-bottom .slide-dot[aria-pressed="true"]{background:var(--ink);color:var(--bg);border-color:var(--ink)}
.carousel-bottom .rotation-toggle{border-color:transparent}
.media-atmosphere{opacity:.18}.screen-next{border-color:var(--line)}
.theme-preview-control{position:fixed;bottom:12px;left:50%;transform:translateX(-50%);z-index:100;display:flex;gap:5px;align-items:center;border:1px solid var(--theme-line);border-radius:24px;padding:6px 8px;background:var(--theme-nav);color:var(--theme-ink);box-shadow:0 4px 20px #0002;backdrop-filter:blur(10px)}
.theme-preview-control>span{font:8px monospace;letter-spacing:.07em;padding:0 6px;white-space:nowrap}.theme-preview-control button{font-size:11px;padding:7px 10px;border:0;border-radius:20px;background:transparent;color:inherit}.theme-preview-control button[aria-pressed="true"]{background:var(--theme-ink);color:var(--theme-bg)}
@media(max-width:620px){.theme-preview-control{bottom:8px}.theme-preview-control>span{display:none}}

/* Alternate section surfaces consistently in both themes. */
#main-content.screen,#products.screen,#contact.screen{background:var(--bg)}
#solutions.screen,#about.screen{background:var(--card)}
#about.screen:before{opacity:.45}
#contact.screen{isolation:isolate;overflow:hidden}
.contact-rocket{position:absolute;right:3%;top:3%;width:clamp(200px,25vw,380px);height:65%;max-height:460px;z-index:-1;color:var(--theme-art);opacity:.65;pointer-events:none}
.contact-rocket svg{width:100%;height:100%}
#contact .contact-invitation{max-width:62%}
#contact .contact-grid{background:var(--theme-nav);position:relative}
.vertical-play{position:fixed;right:20px;bottom:22px;z-index:90;width:46px;height:46px;border:1px solid var(--theme-line);border-radius:50%;background:var(--theme-nav);color:var(--theme-ink);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;font-size:12px;box-shadow:0 3px 14px #0002}
.vertical-play small{font:8px monospace}
@media(max-width:620px){.contact-rocket{right:-35px;top:12px;width:210px;height:260px;opacity:.23}#contact .contact-invitation{max-width:100%}.vertical-play{right:10px;bottom:10px;width:40px;height:40px}}

/* Active chapter doubles as the page tour pause/resume control. */
.chapter-play-state{display:none;position:absolute;inset:0;align-items:center;justify-content:center;font-size:9px;color:var(--accent)}
.chapter-nav a[data-tour-active="true"] .chapter-play-state{display:flex}
.chapter-nav a[data-tour-active="true"] .chapter-dot{opacity:0}
.chapter-nav a[data-tour-active="true"]{border:1px solid var(--line);border-radius:50%}
@media(max-width:620px){.chapter-nav{display:flex;right:1px;padding:8px 3px;gap:5px;background:var(--theme-nav);border-radius:18px}.chapter-nav a{width:22px;height:26px}.chapter-label{right:29px}}

/* Compact, session-only preview overrides; both Auto choices follow the browser. */
.theme-preview-control{gap:5px;padding:4px 7px;bottom:8px;opacity:.68;box-shadow:none;max-width:calc(100vw - 16px)}
.theme-preview-control:hover,.theme-preview-control:focus-within{opacity:1}
.theme-preview-control>div{display:flex;align-items:center;gap:1px}
.theme-preview-control button{font:9px monospace;letter-spacing:.02em;padding:7px 6px;min-height:28px;cursor:pointer}
.theme-preview-control>i{height:14px;width:1px;background:var(--theme-line);margin:0 3px}
.theme-preview-control button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
@media(max-width:620px){.theme-preview-control button{font-size:8px;padding:7px 5px}.screen{padding-bottom:74px}}

/* Permanent footer preferences, visually styled as quiet text controls. */
.contact.screen .site-footer{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:20px;opacity:1;color:var(--muted)}
.site-footer>span:last-child{text-align:right}
.theme-preview-control{position:static;transform:none;inset:auto;z-index:auto;display:flex;justify-content:center;flex-wrap:wrap;border:0;border-radius:0;padding:0;background:none;box-shadow:none;backdrop-filter:none;opacity:1;color:inherit;max-width:none;gap:10px}
.theme-preview-control>div{gap:8px}
.theme-preview-control button{font:inherit;font-size:10px;letter-spacing:.025em;min-height:28px;padding:3px 0;border-radius:0;color:inherit;background:none}
.theme-preview-control button[aria-pressed="true"]{background:none;color:var(--ink);text-decoration:underline;text-underline-offset:4px;text-decoration-thickness:1px}
.theme-preview-control button:hover{color:var(--accent)}
.theme-preview-control>i{height:12px;margin:0;width:1px}
@media(max-width:760px){.contact.screen .site-footer{grid-template-columns:1fr 1fr;gap:12px}.theme-preview-control{grid-column:1/-1;grid-row:2}.site-footer>span:last-child{grid-column:2;grid-row:1}}
