/* Type scale: hero headline stays unchanged; supporting typography is raised by 3px. */
body{font-size:19px}.nav nav a,.nav-cta{font-size:15px}.eyebrow,.kicker,.section-no{font-size:13px}.hero-copy>p:not(.eyebrow){font-size:18px}.button{font-size:15px}.statement h2,.section-head h2,.trust h2,.target-process h2,.target-categories h2{font-size:clamp(41px,4.35vw,65px)}.contact h2{font-size:clamp(48px,5.5vw,81px)}.statement-copy>p:last-child,.section-head>p,.trust>div>p:last-child{font-size:17px}.metrics span{font-size:14px}.metrics p{font-size:15px}.service>div p{font-size:13px}.service h3{font-size:clamp(23px,2vw,30px)}.service ul{font-size:15px}.project h3{font-size:clamp(22px,1.8vw,28px)}.project p,.project-tag{font-size:13px}.filters button{font-size:13px}.target-process small,.target-process p,.target-categories small,.target-categories span{font-size:15px}.target-process strong{font-size:25px}.cert-grid span{font-size:15px}.contact>p{font-size:13px}.contact-info small{font-size:12px}.contact-info p{font-size:15px}footer p,footer>a:last-child{font-size:12px}.dialog-copy small{font-size:13px}.dialog-copy h3{font-size:31px}.dialog-copy p{font-size:16px}
/* Full-screen chapter rhythm. */
html{scroll-behavior:smooth;scroll-snap-type:y mandatory;overscroll-behavior-y:none}main>section,footer{scroll-snap-align:start;scroll-snap-stop:always}.hero,.statement,.business,.target-process,.target-categories,.trust,.contact{min-height:100svh}.statement,.business,.target-process,.target-categories,.trust,.contact{display:grid;align-content:center}.work{min-height:100svh}.chapter-indicator{position:fixed;right:22px;top:50%;z-index:40;display:grid;gap:10px;transform:translateY(-50%)}.chapter-indicator button{width:7px;height:7px;border:0;border-radius:50%;padding:0;background:rgba(255,255,255,.35);box-shadow:0 0 0 1px rgba(0,0,0,.25);cursor:pointer;transition:.35s}.chapter-indicator button.on{height:28px;border-radius:8px;background:#00a86b}.chapter-indicator.dark button{background:rgba(16,16,16,.3)}.chapter-indicator.dark button.on{background:#00754a}
/* Premium motion system. */
.cursor-aura{position:fixed;z-index:60;width:180px;height:180px;border-radius:50%;pointer-events:none;left:0;top:0;opacity:0;background:radial-gradient(circle,rgba(0,168,107,.14),transparent 68%);mix-blend-mode:screen;transform:translate(-50%,-50%);transition:opacity .25s}.cursor-aura.show{opacity:1}.hero:before{content:'';position:absolute;inset:-15%;background:radial-gradient(circle at var(--mx,65%) var(--my,45%),rgba(0,117,74,.22),transparent 28%);transition:background-position .25s;pointer-events:none}.hero-copy>*{animation:heroRise 1s cubic-bezier(.16,1,.3,1) both}.hero-copy>*:nth-child(2){animation-delay:.09s}.hero-copy>*:nth-child(3){animation-delay:.18s}.hero-copy>*:nth-child(4){animation-delay:.27s}@keyframes heroRise{from{opacity:0;transform:translateY(42px);filter:blur(8px)}to{opacity:1;transform:none;filter:blur(0)}}.hero h1 em{display:inline-block;animation:heroPulse 6s ease-in-out infinite}@keyframes heroPulse{50%{letter-spacing:-.055em;color:#d9fff0}}.panel-active .section-no{animation:labelIn .65s both}.panel-active h2{animation:titleIn .85s cubic-bezier(.16,1,.3,1) both}.panel-active .section-head>p,.panel-active .statement-copy>p:last-child{animation:fadeSide .8s .12s both}@keyframes labelIn{from{opacity:0;letter-spacing:.45em}to{opacity:1}}@keyframes titleIn{from{opacity:0;transform:translateY(60px);clip-path:inset(0 0 100% 0)}to{opacity:1;transform:none;clip-path:inset(0)}}@keyframes fadeSide{from{opacity:0;transform:translateX(35px)}to{opacity:1;transform:none}}.service{transform-style:preserve-3d;perspective:900px}.service:hover{transform:translateY(-8px) scale(1.012)}.service:hover .service-num{transform:rotate(360deg);transition:.7s}.service:hover .service-arrow{transform:translate(5px,-5px) rotate(45deg) scale(1.2)}.project{transform-style:preserve-3d;perspective:1000px;transition:transform .18s ease-out}.project-media{transition:box-shadow .45s,filter .45s}.project:hover .project-media{box-shadow:0 30px 75px rgba(0,0,0,.42)}.project:hover .project-meta{transform:translateY(5px)}.project-meta{transition:.35s}.project-media:before{transition:.45s cubic-bezier(.16,1,.3,1)}.metrics article{overflow:hidden;position:relative}.metrics article:after{content:'';position:absolute;inset:auto 0 0;height:3px;background:#00754a;transform:scaleX(0);transform-origin:left;transition:.45s}.metrics article:hover:after{transform:scaleX(1)}.target-process article:hover strong{letter-spacing:.05em}.target-categories span:hover{background:linear-gradient(90deg,rgba(0,117,74,.09),transparent);padding-left:14px}.cert-grid span{position:relative;overflow:hidden}.cert-grid span:before{content:'';position:absolute;inset:0;background:#00754a;transform:translateY(101%);transition:.38s;z-index:-1}.cert-grid span:hover:before{transform:none}.contact{overflow:hidden}.contact:after{content:'';position:absolute;width:40vw;height:40vw;right:-15vw;bottom:-25vw;border:1px solid rgba(255,255,255,.25);border-radius:50%;box-shadow:0 0 0 5vw rgba(255,255,255,.04),0 0 0 10vw rgba(255,255,255,.03);animation:orb 9s ease-in-out infinite;pointer-events:none}@keyframes orb{50%{transform:translate(-5vw,-4vw) scale(1.08)}}.magnetic{transition:transform .18s ease-out}.work .project:nth-child(even){transition-delay:.08s}
@media(max-width:800px){body{font-size:18px}.nav nav a,.nav-cta{font-size:14px}.eyebrow,.kicker,.section-no{font-size:12px}.hero-copy>p:not(.eyebrow){font-size:17px}.statement h2,.section-head h2,.trust h2,.target-process h2,.target-categories h2{font-size:clamp(37px,10.5vw,49px)}.contact h2{font-size:clamp(45px,12.5vw,61px)}html{scroll-snap-type:y proximity}.chapter-indicator,.cursor-aura{display:none}.statement,.business,.target-process,.target-categories,.trust,.contact{display:block;min-height:auto}.service:hover,.project:hover{transform:none}}
@media(prefers-reduced-motion:reduce){html{scroll-snap-type:none;scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition-duration:.01ms!important}.cursor-aura,.chapter-indicator{display:none}}
