body{font-family:'Manrope',Arial,sans-serif}
h1,h2,h3,.visual-heading,.orbit-core{font-family:'Space Grotesk','Manrope',Arial,sans-serif}
h1,h2{letter-spacing:-.065em;font-weight:500;line-height:1.12}h3{line-height:1.25;letter-spacing:-.035em}
.header{background:rgba(255,255,255,.96);backdrop-filter:blur(18px);transition:box-shadow .25s}.header.scrolled{box-shadow:0 8px 30px #071b3512}.brand{width:195px}.nav-cta{background:var(--navy);color:white;border-radius:30px}.nav-cta:hover{color:var(--navy);background:var(--teal);border-color:var(--teal)}
.hero{position:relative;background:radial-gradient(ellipse at 85% 5%,#13566066,transparent 45%),radial-gradient(ellipse at 5% 100%,#163a6766,transparent 55%),#071b35}
.hero:before{content:'';position:absolute;inset:0;background-image:linear-gradient(#76a7bc0a 1px,transparent 1px),linear-gradient(90deg,#76a7bc0a 1px,transparent 1px);background-size:64px 64px;pointer-events:none;mask-image:linear-gradient(to right,transparent,#000)}
.hero-grid{position:relative;z-index:1}.hero h1 em{background:linear-gradient(105deg,#79f3dc,#35c4d5);background-clip:text;-webkit-background-clip:text;color:transparent}.hero .eyebrow{color:#8de7de}.hero .intro{font-size:17px;line-height:1.85}.hero-copy>*{animation:hero-enter .8s both}.hero-copy h1{animation-delay:.08s}.hero-copy .intro{animation-delay:.16s}.hero-copy .actions{animation-delay:.24s}.hero-copy .hero-caption{animation-delay:.32s}
.button{border-radius:30px;padding:16px 25px;box-shadow:0 6px 20px #0000000c;transition:transform .2s,box-shadow .2s,background .2s}.button:hover{transform:translateY(-3px);box-shadow:0 10px 30px #31dbbd25}.button:active{transform:translateY(0)}.text-link{transition:color .2s,border-color .2s}.text-link:hover{color:var(--teal);border-color:var(--teal)}.dark-link:hover{color:#087b73;border-color:#087b73}
.hero-visual{background:linear-gradient(150deg,#25475b70,#10263b99);backdrop-filter:blur(12px);border:1px solid #80b6b44a;box-shadow:0 24px 80px #00000030,inset 0 1px 0 #ffffff18;border-radius:22px;animation:hero-enter 1s .15s both}.visual-heading{font-size:31px;line-height:1.2}.orbit{height:280px}.orbit-core{font-size:62px;font-weight:700;text-shadow:0 0 35px #41e0ce26}.orbit-core span{text-shadow:none;letter-spacing:.18em}.ring{border-color:#7bb6b656}.ring-one{animation:orbit-turn 28s linear infinite;border-style:dashed}.ring-two{animation:orbit-turn-reverse 34s linear infinite}.ring-three{animation:orbit-turn-offset 40s linear infinite}.pill{box-shadow:0 5px 24px #00000024;font-size:10px;padding:7px 15px}.pill-one{animation:float 5s ease-in-out infinite}.pill-two{animation:float 6s 1s ease-in-out infinite}.pill-three{animation:float 7s .5s ease-in-out infinite}.visual-plus{animation:orbit-turn 18s linear infinite}
.service-strip{background:#e7f5f2;padding:24px 0}.service-strip span{letter-spacing:.02em}.about .lead{font-family:'Space Grotesk',Arial,sans-serif;font-size:25px;letter-spacing:-.03em}.section-heading>p{line-height:1.8}.services{background:linear-gradient(#f4f8fa,#edf4f6)}.service-card{border-radius:16px;border-color:#dce7e9;box-shadow:0 4px 15px #09293604;transition:transform .3s,box-shadow .3s,border-color .3s;background:linear-gradient(150deg,#fff,#ffffffcc)}.service-card:hover{transform:translateY(-8px);box-shadow:0 20px 36px #10253c0e;border-color:#61b9ae}.card-top svg{background:#e8f6f2;border-radius:12px;padding:9px;width:51px;height:51px;transition:transform .3s,background .3s}.service-card:hover svg{transform:rotate(-6deg);background:#d4f3eb}.card-top>span{font-family:'Space Grotesk',sans-serif;font-size:16px}.service-card h3{font-size:23px}.service-card p{font-size:14px;line-height:1.9}
.approach{background:radial-gradient(ellipse at 90% 90%,#14515077,transparent 55%),#071b35}.steps{gap:32px}.steps article{border-top:1px solid #4fa79d77;padding-top:27px}.steps h3{font-size:25px}.steps span{font-size:12px}.steps p{line-height:1.85}.faq details{padding:23px 0}.faq details:first-child{padding-top:0}summary{font-family:'Space Grotesk',sans-serif;font-size:20px;letter-spacing:-.03em}details[open] p{animation:hero-enter .3s both}.contact{background:radial-gradient(ellipse at 0% 100%,#166268,transparent 65%),#0c303a}.contact h2{letter-spacing:-.065em}.contact-details a{font-family:'Space Grotesk',sans-serif;letter-spacing:-.02em}.contact-details span{font-size:11px}.contact .eyebrow{color:#81dace}
.scroll-progress{position:fixed;top:0;left:0;height:3px;width:100%;transform:scaleX(0);transform-origin:left;z-index:40;background:#1fae9e;pointer-events:none}.reveal{opacity:0;transform:translateY(24px);transition:opacity .65s var(--delay,0ms),transform .65s var(--delay,0ms)}.reveal.is-visible{opacity:1;transform:translateY(0)}.service-card.reveal.is-visible:hover{transform:translateY(-8px)}
@keyframes hero-enter{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}
@keyframes float{0%,100%{transform:translateY(0)}50%{transform:translateY(-9px)}}
@keyframes orbit-turn{from{transform:rotate(0)}to{transform:rotate(360deg)}}
@keyframes orbit-turn-reverse{from{transform:rotate(-35deg)}to{transform:rotate(-395deg)}}
@keyframes orbit-turn-offset{from{transform:rotate(-35deg)}to{transform:rotate(325deg)}}
@media(max-width:1000px){.brand{width:165px}.hero-grid{gap:30px}.hero h1{font-size:46px}.visual-heading{font-size:27px}}
@media(max-width:760px){.brand{width:155px}.hero h1{font-size:clamp(38px,8.5vw,58px);line-height:1.1;letter-spacing:-.065em}.hero .intro{font-size:16px}.hero-grid{gap:35px}.hero-visual{border-radius:18px}.visual-heading{font-size:28px}.orbit{height:260px}.hero .eyebrow{font-size:10px}.service-strip{padding:20px 0}.about .lead{font-size:23px}.service-card h3{font-size:21px}.service-card{border-radius:12px}.card-top svg{width:45px;height:45px;padding:8px}.steps h3{font-size:23px}summary{font-size:18px}.contact h2{font-size:44px}.nav-cta{border-radius:8px}.contact-details a{font-size:18px}.reveal{transform:translateY(16px)}}
@media(max-width:400px){.hero h1{font-size:38px}.contact h2{font-size:38px}.hero-visual{padding:22px 16px}.service-card h3{font-size:22px}.orbit{height:250px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}.reveal{opacity:1;transform:none}html{scroll-behavior:auto}}
