.hero h1 .w{white-space:nowrap;display:inline-block}.hero h1 .ch{animation:charIn .9s var(--ease) var(--d,0s) both;display:inline-block}@keyframes charIn{0%{opacity:0;filter:blur(8px);transform:translateY(105%)rotate(10deg)}to{opacity:1;filter:blur();transform:none}}.word{perspective:500px;animation:none}.wch{background:linear-gradient(180deg, var(--cream) 10%, var(--aqua) 90%);color:#0000;animation:wchIn .7s var(--ease) var(--d,0s) both;-webkit-background-clip:text;background-clip:text;display:inline-block}@keyframes wchIn{0%{opacity:0;filter:blur(5px);transform:translateY(60%)rotateX(-80deg)}to{opacity:1;filter:blur();transform:none}}.hero .lead .lw{animation:wordFade .8s var(--ease) var(--d,0s) both;display:inline-block}@keyframes wordFade{0%{opacity:0;filter:blur(6px);transform:translateY(12px)}to{opacity:1;filter:blur();transform:none}}.hero-beam{z-index:-1;pointer-events:none;background:linear-gradient(105deg,#0000 44%,#a0d3d91f 50%,#0000 56%);animation:8s ease-in-out 2.4s infinite beam;position:absolute;inset:-40% -30%;transform:translate(-60%)}@keyframes beam{0%{transform:translate(-60%)}55%,to{transform:translate(60%)}}.services-grid{perspective:1400px}.svc:nth-child(3n+1){--from-x:-60px}.svc:nth-child(3n){--from-x:60px}.js-reveal .svc[data-reveal]{transform:translate3d(var(--from-x,0), 90px, 0) rotateX(24deg) scale(.9);transform-origin:50% 100%;transition:opacity .9s var(--ease), transform 1.2s var(--ease);transition-delay:calc(var(--i,0) * .13s)}.js-reveal .svc[data-reveal].is-visible{transition:opacity .9s var(--ease), transform 1.2s var(--ease);transition-delay:calc(var(--i,0) * .13s);transform:none}.svc-media img{transform:translateY(calc((var(--p,.5) - .5) * -44px)) scale(var(--s,1.16));transition:transform .6s var(--ease), filter .6s}.svc:hover .svc-media img{--s:1.26;transform:translateY(calc((var(--p,.5) - .5) * -44px)) scale(var(--s,1.26))}@media (hover:none){.svc.is-visible:before{opacity:0}.svc.is-visible .svc-media img{filter:saturate(.9)brightness(.85)}}.svc-progress{height:2px;width:calc(var(--p,0) * 100%);background:linear-gradient(90deg, var(--teal-2), var(--aqua), var(--cream));transition:width .2s linear;position:absolute;bottom:0;left:0}.svc.is-centre:before,.svc.is-visible.is-centre:before{opacity:.9}.svc.is-centre .svc-inner{box-shadow:0 30px 60px -30px #025959f2}.svc.is-centre .svc-num{-webkit-text-stroke-color:var(--aqua)}.svc.is-centre .svc-media img,.svc.is-visible.is-centre .svc-media img{filter:saturate(1.1)brightness()}.marquee-wrap{z-index:2;height:130px;margin-top:-24px;position:relative;overflow:hidden}@media (min-width:768px){.marquee-wrap{height:160px}}.marquee{width:110%;padding:12px 0;position:absolute;left:-5%;overflow:hidden}.m1{z-index:2;background:linear-gradient(90deg, var(--aqua), var(--cream) 50%, var(--aqua));color:var(--ink);top:34px;transform:rotate(-3deg);box-shadow:0 20px 40px -20px #a0d3d980}.m2{z-index:1;background:linear-gradient(90deg, #013840, var(--teal), var(--teal-2), #013840);color:var(--cream);top:44px;transform:rotate(2.5deg)}@media (min-width:768px){.m1{top:44px}.m2{top:58px}}.marquee-track{width:max-content;animation:40s linear infinite marquee;display:flex}.m2 .marquee-track{animation-duration:50s;animation-direction:reverse}.marquee-wrap:hover .marquee-track{animation-play-state:paused}.marquee-item{font-family:var(--display);text-transform:uppercase;letter-spacing:.05em;white-space:nowrap;align-items:center;gap:26px;padding-right:26px;font-size:clamp(16px,2.2vw,26px);font-weight:800;display:inline-flex}.m2 .marquee-item{font-family:var(--serif);text-transform:none;letter-spacing:0;font-style:italic;font-weight:500}.marquee-hex{color:var(--teal);flex:none}.m2 .marquee-hex{color:var(--aqua);opacity:.7}@keyframes marquee{to{transform:translate(-50%)}}.cta-section{padding:16px 0 8px}.cta-banner{isolation:isolate;text-align:center;background:linear-gradient(120deg, #013840, var(--teal), var(--teal-2), #00161c, var(--teal));background-size:300% 300%;border:1px solid #a0d3d940;border-radius:28px;padding:48px 24px;animation:12s infinite gradientMove;position:relative;overflow:hidden}@media (min-width:768px){.cta-banner{padding:72px 48px}}@keyframes gradientMove{0%{background-position:0%}50%{background-position:100%}to{background-position:0%}}.cta-banner .eyebrow:before{display:none}.cta-banner h2{max-width:18ch;margin:0 auto 12px;font-size:clamp(30px,4.6vw,54px)}.cta-banner .body-lg{color:#f2ede4d1;margin:0 auto}.cta-actions{flex-wrap:wrap;justify-content:center;gap:12px;margin-top:28px;display:flex}.cta-hex{z-index:-1;opacity:.14;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='56' height='98' viewBox='0 0 56 98'%3E%3Cpath d='M28 66L0 50V17L28 1l28 16v33L28 66zm0 32L0 82V66l28 16 28-16v16L28 98z' fill='none' stroke='%23F2EDE4' stroke-width='0.6'/%3E%3C/svg%3E");animation:40s linear infinite hexDrift;position:absolute;inset:0}@keyframes hexDrift{to{background-position:56px 196px}}.cta-shine{z-index:-1;filter:blur(20px);background:radial-gradient(circle,#a0d3d966,#0000 65%);border-radius:50%;width:520px;height:520px;animation:14s ease-in-out infinite alternate shineMove;position:absolute;top:-220px;left:-160px}@keyframes shineMove{to{transform:translate(min(900px,80vw),260px)}}
