/* Product-design polish: service graphics, reveal rhythm and consistent work grid */
.intro-grid > div{position:relative}.stat-row{position:relative;z-index:1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;margin-top:42px;border-top:1px solid #d8e5e5;border-bottom:1px solid #d8e5e5}.stat-row div{display:flex;min-width:0;flex-direction:column;gap:7px;padding:19px 16px 19px 0}.stat-row div+div{padding-left:16px;border-left:1px solid #d8e5e5}.stat-row strong{font-size:34px;line-height:1;font-weight:800;color:#087d83;letter-spacing:-.06em;font-variant-numeric:tabular-nums;transition:color .3s ease}.stat-row span{font-size:12px;line-height:1.4;color:#587077;max-width:12ch}.stat-row div:hover strong{color:#12b9bc}

.site-nav>a{position:relative}.site-nav>a:not(.nav-contact):after{content:'';position:absolute;left:0;right:0;bottom:-10px;height:2px;background:#12b9bc;transform:scaleX(0);transform-origin:left;transition:transform .25s ease}.site-nav>a:not(.nav-contact).is-active{color:#67e8e2}.site-nav>a:not(.nav-contact).is-active:after{transform:scaleX(1)}.hero{perspective:1600px;isolation:isolate}.hero-image{z-index:0;animation:none!important;will-change:transform;transform:perspective(1200px) translate3d(var(--hero-x,0px),var(--hero-y,0px),0) rotateX(var(--hero-pitch,0deg)) rotateY(var(--hero-tilt,0deg)) scale(var(--hero-scale,1.05));transform-origin:72% 50%;transition:transform .18s ease-out,filter .3s ease;filter:saturate(1.12) contrast(1.06)}.hero:before{content:'';position:absolute;z-index:1;inset:-5%;pointer-events:none;background:url('../img/hero-v2.png') center/cover no-repeat;opacity:.16;mix-blend-mode:screen;transform:translate3d(var(--hero-glow-x,0px),var(--hero-glow-y,0px),0) scale(1.1) rotateY(var(--hero-glow-tilt,0deg));transition:transform .25s ease-out,opacity .35s ease;filter:blur(.5px) saturate(1.35)}.hero.is-scroll-down .hero-image{animation:hero-splash-down .68s cubic-bezier(.16,.86,.22,1)!important}.hero.is-scroll-up .hero-image{animation:hero-splash-up .68s cubic-bezier(.16,.86,.22,1)!important}.hero.is-scroll-down:before{animation:hero-glow-down .68s ease-out}.hero.is-scroll-up:before{animation:hero-glow-up .68s ease-out}@keyframes hero-splash-down{0%{transform:perspective(1200px) scale(1.05) rotateY(0)}42%{transform:perspective(1200px) translate3d(-62px,26px,0) rotateX(-2.4deg) rotateY(-7deg) scale(1.27);filter:saturate(1.55) contrast(1.2)}100%{transform:perspective(1200px) scale(1.05) rotateY(0)}}@keyframes hero-splash-up{0%{transform:perspective(1200px) scale(1.05) rotateY(0)}42%{transform:perspective(1200px) translate3d(62px,-26px,0) rotateX(2.4deg) rotateY(7deg) scale(1.23);filter:saturate(1.5) contrast(1.18)}100%{transform:perspective(1200px) scale(1.05) rotateY(0)}}@keyframes hero-glow-down{45%{opacity:.65;transform:translate3d(-86px,32px,0) scale(1.36) rotateY(-8deg)}100%{opacity:.16}}@keyframes hero-glow-up{45%{opacity:.6;transform:translate3d(86px,-32px,0) scale(1.31) rotateY(8deg)}100%{opacity:.16}}.hero:after{z-index:2}.hero-content{z-index:3}

.services .section-heading{position:relative}.service-grid{gap:0;margin-top:62px;border-top:1px solid rgba(143,231,226,.18)}.service-card,.service-card:nth-child(3n){min-height:390px;margin:0;padding:36px 31px 30px;border-right:1px solid rgba(143,231,226,.18);border-bottom:1px solid rgba(143,231,226,.18);background:rgba(13,32,42,.35);transition:transform .35s ease,background .35s ease,box-shadow .35s ease}.service-card:last-child{border-right:0}.service-card:hover{background:#102b35;transform:translateY(-9px);box-shadow:0 24px 50px rgba(0,0,0,.25)}.service-icon{width:76px;height:76px;display:grid;place-items:center;margin-bottom:29px;border:1px solid rgba(18,185,188,.48);border-radius:16px;background:#0b2932;color:#67e8e2;box-shadow:inset 0 0 0 7px rgba(18,185,188,.05);transition:transform .35s ease,background .35s ease,color .35s ease}.service-icon i{font-size:31px;line-height:1}.service-card:hover .service-icon{transform:rotate(-6deg) scale(1.08);background:#12b9bc;color:#062027}.service-card h3{margin-top:0;font-size:24px}.service-card p{font-size:16px;line-height:1.72}.service-number{font-size:12px;color:#67e8e2}.service-card.visible{animation:service-arrival .65s both}.service-card:nth-child(2).visible{animation-delay:.1s}.service-card:nth-child(3).visible{animation-delay:.2s}@keyframes service-arrival{from{opacity:0;transform:translateY(28px)}to{opacity:1;transform:none}}

.solutions .solution-spread.visible .solution-visual{animation:visual-arrival .8s both}.solutions .solution-spread.visible .solution-copy-col{animation:copy-arrival .75s .12s both}@keyframes visual-arrival{from{opacity:0;transform:translateX(-26px) rotate(-1deg)}to{opacity:1;transform:none}}@keyframes copy-arrival{from{opacity:0;transform:translateX(22px)}to{opacity:1;transform:none}}.solutions .solution-spread.reverse.visible .solution-visual{animation-name:visual-arrival-reverse}.solutions .solution-spread.reverse.visible .solution-copy-col{animation-name:copy-arrival-reverse}@keyframes visual-arrival-reverse{from{opacity:0;transform:translateX(26px) rotate(1deg)}to{opacity:1;transform:none}}@keyframes copy-arrival-reverse{from{opacity:0;transform:translateX(-22px)}to{opacity:1;transform:none}}

.work-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.work-card,.work-card:nth-child(5n+1),.work-card:nth-child(5n+4),.work-card:nth-child(5n){grid-column:auto;display:flex;min-width:0;flex-direction:column;background:#0c2029}.work-grid:not(.show-all) .work-card.is-extra{display:none}.work-visual,.work-card:nth-child(5n+1) .work-visual,.work-card:nth-child(5n+4) .work-visual,.work-card:nth-child(5n) .work-visual{height:248px;flex:none}.work-visual img{object-position:top center}.work-name{min-height:66px;padding:17px 18px;line-height:1.35}.work-card.visible{animation:portfolio-arrival .58s both}.work-card:nth-child(3n+2).visible{animation-delay:.08s}.work-card:nth-child(3n).visible{animation-delay:.16s}@keyframes portfolio-arrival{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:none}}.work-grid.show-all .work-card.is-extra{animation:portfolio-arrival .5s both}

@media(max-width:800px){.site-nav>a:not(.nav-contact):after{bottom:5px}.hero:before{display:none}.hero-image{transform:scale(1.04)!important}.stat-row{grid-template-columns:1fr;margin-top:32px}.stat-row div,.stat-row div+div{padding:15px 0;border-left:0;border-top:1px solid #d8e5e5}.stat-row div:first-child{border-top:0}.stat-row span{max-width:none}.service-grid{gap:14px;border:0}.service-card,.service-card:nth-child(3n),.service-card:last-child{min-height:0;padding:30px;border:1px solid rgba(143,231,226,.18)}.service-icon{width:66px;height:66px;margin-bottom:22px}.work-grid{grid-template-columns:1fr;gap:16px}.work-visual,.work-card:nth-child(5n+1) .work-visual,.work-card:nth-child(5n+4) .work-visual,.work-card:nth-child(5n) .work-visual{height:230px}.solutions .solution-spread.visible .solution-visual,.solutions .solution-spread.visible .solution-copy-col{animation:service-arrival .65s both}}
@media(prefers-reduced-motion:reduce){.hero:before{display:none}.hero-image,.service-card,.service-icon,.solution-visual,.work-card,.work-visual img{transition:none!important}.hero.is-scroll-down .hero-image,.hero.is-scroll-up .hero-image,.service-card.visible,.solutions .solution-spread.visible .solution-visual,.solutions .solution-spread.visible .solution-copy-col,.work-card.visible{animation:none!important}}

/* Brand-mark depth: teal and silver layers separate, then reform on return to top. */
.hero-image{opacity:var(--hero-base-opacity,1);filter:saturate(var(--hero-base-saturation,1)) brightness(var(--hero-base-brightness,1))!important}.hero.is-scroll-down .hero-image,.hero.is-scroll-up .hero-image{animation:none!important}.hero:before{display:none}.hero-mark-depth{position:absolute;z-index:2;right:8%;top:52%;width:min(42vw,540px);aspect-ratio:1;transform:translateY(-50%);pointer-events:none;perspective:1500px}.hero-mark-depth img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;will-change:transform,filter;transition:transform .18s cubic-bezier(.2,.8,.2,1),filter .25s ease}.hero-mark-teal{z-index:2;transform:translate3d(var(--teal-x,0px),var(--teal-y,0px),var(--teal-z,0px)) rotateY(var(--teal-rotate,0deg)) rotateX(var(--teal-pitch,0deg));filter:drop-shadow(-12px 20px 20px rgba(0,0,0,.35))}.hero-mark-silver{z-index:1;transform:translate3d(var(--silver-x,0px),var(--silver-y,0px),var(--silver-z,0px)) rotateY(var(--silver-rotate,0deg)) rotateX(var(--silver-pitch,0deg));filter:drop-shadow(16px 25px 24px rgba(0,0,0,.45)) brightness(1.04)}@media(max-width:800px){.hero-mark-depth{right:-5%;top:42%;width:72vw;opacity:.8}}@media(prefers-reduced-motion:reduce){.hero-mark-depth img{transition:none!important}}

.hero-mark-depth{inset:0;opacity:var(--mark-layer-opacity,0);width:100%;height:100%;aspect-ratio:auto;transform:none;perspective:1800px}.hero-mark-depth img{object-fit:cover;opacity:var(--mark-layer-opacity,0)}.hero-mark-teal{filter:drop-shadow(-8px 18px 18px rgba(0,0,0,.36))}.hero-mark-silver{filter:drop-shadow(10px 22px 20px rgba(0,0,0,.44))}@media(max-width:800px){.hero-mark-depth{inset:0;opacity:var(--mark-layer-opacity,0);width:100%;height:100%}}

/* Exact two-piece hero mark: original artwork at rest, true colour layers in motion. */
.hero-image{transform:none!important;transform-origin:center!important;transition:opacity .16s linear,filter .16s linear!important}
.hero-mark-depth{opacity:var(--mark-layer-opacity,0);transition:opacity .12s linear;transform-style:preserve-3d}
.hero-mark-depth img{opacity:1;object-fit:cover;transform-origin:72% 47%;backface-visibility:hidden}
.hero-mark-teal{filter:drop-shadow(-3px 7px 8px rgba(0,0,0,.16))}
.hero-mark-silver{filter:drop-shadow(3px 7px 8px rgba(0,0,0,.18)) brightness(1.01)}
@media(max-width:800px){.hero-image{transform:none!important}.hero-mark-depth img{transform-origin:75% 43%}}
@media(prefers-reduced-motion:reduce){.hero-image{opacity:1!important;filter:none!important}.hero-mark-depth{display:none!important}}

/* Scroll focus treatment: keep the source artwork intact and gently defocus it. */
.hero-image{filter:saturate(var(--hero-base-saturation,1)) brightness(var(--hero-base-brightness,1)) blur(var(--hero-blur,0px))!important}
.hero-mark-depth{display:none!important}
.form-honeypot{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important;opacity:0!important}
.footer-links{display:flex;gap:16px;flex-wrap:wrap;font:12px var(--mono);text-transform:uppercase}.footer-links a{color:#b9d6d5}.footer-links a:hover{color:var(--teal)}
.legal-page{min-height:100vh;background:#fff;color:var(--ink)}.legal-hero{background:var(--ink);color:#fff;padding:190px 0 86px}.legal-hero h1{font-size:clamp(42px,6vw,74px);line-height:1.05;letter-spacing:-.055em;margin:0;max-width:800px}.legal-content{padding:86px 0 120px}.legal-content h2{font-size:28px;margin:42px 0 12px}.legal-content h2:first-child{margin-top:0}.legal-content p,.legal-content li{max-width:760px;font-size:17px;color:#496269}.legal-content ul{padding-left:20px}.support-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:65px}.support-card{padding:28px;background:#f2f7f6;border:1px solid #d8e7e7}.support-card h2{margin-top:0}.support-contact{font-size:18px;color:#078b91;font-weight:700}.back-home{display:inline-flex;margin-top:28px;color:#078b91;font:700 12px var(--font);text-transform:uppercase;letter-spacing:.06em}@media(max-width:800px){.legal-hero{padding:140px 0 65px}.legal-content{padding:58px 0 80px}.support-grid{grid-template-columns:1fr;gap:32px}.footer-links{grid-column:span 2}}
.hero-eyebrow{visibility:hidden}
.support-faq{grid-column:1/-1;margin-top:78px;padding-top:52px;border-top:1px solid #d8e7e7}.support-faq h2{margin-top:0}.support-faq h3{font-size:20px;margin:0 0 8px;color:var(--ink)}
