:root{--cream:#faf6ea;--cream-deep:#f0e9d4;--cream-line:#e4d9bd;--blue-mist:#e9f1ff;--blue-mist-deep:#dbe8ff;--navy-950:#060f22;--navy-900:#0a1a38;--navy-800:#0e2148;--navy-700:#16305f;--ink:#14213f;--ink-soft:#4c5872;--blue-500:#2f6fed;--blue-400:#4f8bff;--blue-300:#7bb0ff;--gradient-chevron:linear-gradient(135deg, #123a86 0%, #2f6fed 55%, #7bb0ff 100%);--font-display:"Space Grotesk", "Helvetica Neue", Arial, sans-serif;--font-body:"Inter", "Helvetica Neue", Arial, sans-serif;--max:1240px;--pad:clamp(24px, 6vw, 96px);--ease:cubic-bezier(.16, 1, .3, 1)}*{box-sizing:border-box}html{scroll-behavior:smooth}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}}body{background:var(--cream);color:var(--ink);font-family:var(--font-body);-webkit-font-smoothing:antialiased;margin:0;overflow-x:hidden}h1,h2,h3,h4{font-family:var(--font-display);color:var(--navy-900);letter-spacing:-.01em;margin:0;line-height:1.05}p{margin:0}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}button{cursor:pointer;color:inherit;background:0 0;border:none;font-family:inherit}::selection{background:var(--blue-400);color:var(--cream)}:focus-visible{outline:2px solid var(--blue-500);outline-offset:3px}.section{padding:clamp(72px, 12vw, 140px) var(--pad)}.container{max-width:var(--max);margin:0 auto}.eyebrow{font-family:var(--font-display);color:var(--blue-500);text-transform:uppercase;letter-spacing:.12em;align-items:center;font-size:.8rem;font-weight:600;display:inline-flex}.btn{font-family:var(--font-display);transition:transform .35s var(--ease), box-shadow .35s var(--ease), background .35s var(--ease);border-radius:3px;align-items:center;gap:10px;padding:14px 26px;font-size:.95rem;font-weight:500;display:inline-flex}.btn-primary{background:var(--navy-900);color:var(--cream);clip-path:polygon(0 0,100% 0,100% 70%,92% 100%,0 100%)}.btn-primary:hover{background:var(--blue-500);transform:translateY(-2px);box-shadow:0 14px 30px -12px #2f6fed8c}.btn-ghost{color:var(--navy-900);border-bottom:1px solid var(--cream-line);padding:14px 6px}.btn-ghost:hover{border-color:var(--navy-900)}.chip{font-family:var(--font-display);color:var(--ink-soft);border:1px solid var(--cream-line);border-radius:2px;padding:6px 12px;font-size:.78rem}.nav{z-index:100;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);transition:border-color .4s var(--ease), background .4s var(--ease);background:#faf6eab3;border-bottom:1px solid #0000;position:sticky;top:0}.nav--scrolled{border-bottom-color:var(--cream-line);background:#faf6eaeb}.nav__inner{padding:6px var(--pad);align-items:center;gap:32px;display:flex}.nav__brand{align-items:center;gap:12px;margin-right:auto;display:flex}.nav__logo{width:auto;height:76px}.nav__wordmark{flex-direction:column;line-height:1;display:flex}.nav__wordmark-main{font-family:var(--font-display);letter-spacing:.01em;color:var(--navy-900);font-size:1.4rem;font-weight:700}.nav__wordmark-sub{font-family:var(--font-display);letter-spacing:.28em;color:var(--blue-500);margin-top:3px;font-size:.66rem;font-weight:600}@media (width<=640px){.nav__logo{height:58px}.nav__wordmark-main{font-size:1.1rem}.nav__wordmark-sub{font-size:.58rem}}@media (width<=400px){.nav__wordmark{display:none}}.nav__links{font-family:var(--font-display);align-items:center;gap:30px;font-size:.92rem;display:flex}.nav__link{color:var(--ink-soft);transition:color .25s var(--ease);padding:4px 0;position:relative}.nav__link:after{content:"";background:var(--blue-500);width:0;height:2px;transition:width .3s var(--ease);position:absolute;bottom:0;left:0}.nav__link:hover{color:var(--navy-900)}.nav__link:hover:after{width:100%}.nav__cta{font-family:var(--font-display);color:var(--navy-900);border:1px solid var(--navy-900);clip-path:polygon(0 0,100% 0,100% 65%,88% 100%,0 100%);transition:background .3s var(--ease), color .3s var(--ease);white-space:nowrap;padding:9px 18px;font-size:.9rem;font-weight:500}.nav__cta:hover{background:var(--navy-900);color:var(--cream)}.nav__toggle{flex-direction:column;gap:5px;padding:8px;display:none}.nav__toggle span{background:var(--navy-900);width:22px;height:2px;transition:transform .3s var(--ease), opacity .3s var(--ease)}.nav__toggle.is-open span:first-child{transform:translateY(3.5px)rotate(45deg)}.nav__toggle.is-open span:last-child{transform:translateY(-3.5px)rotate(-45deg)}.nav__sheet{display:none}@media (width<=860px){.nav__links,.nav__cta{display:none}.nav__toggle{display:flex}.nav__sheet{padding:8px var(--pad) 24px;background:var(--cream);border-bottom:1px solid var(--cream-line);font-family:var(--font-display);flex-direction:column;gap:4px;display:flex}.nav__sheet a{border-bottom:1px solid var(--cream-line);color:var(--ink-soft);padding:12px 0}.nav__sheet-cta{font-weight:500;color:var(--blue-500)!important}}.hero{padding:clamp(48px, 8vw, 72px) var(--pad) clamp(64px, 8vw, 96px);position:relative}.hero__inner{grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);align-items:center;gap:clamp(40px,6vw,90px);display:grid}.hero__headline{opacity:0;animation:heroRise .9s var(--ease) 50ms forwards;font-size:clamp(2.5rem,5.2vw,4.25rem);font-weight:600;transform:translateY(18px)}.hero__lede{max-width:46ch;color:var(--ink-soft);opacity:0;animation:heroRise .9s var(--ease) .22s forwards;margin-top:26px;font-size:1.08rem;line-height:1.6;transform:translateY(18px)}.hero__actions{opacity:0;animation:heroRise .9s var(--ease) .38s forwards;align-items:center;gap:28px;margin-top:38px;display:flex;transform:translateY(18px)}.hero__stats{border-top:1px solid var(--cream-line);opacity:0;animation:heroRise .9s var(--ease) .54s forwards;gap:clamp(28px,4vw,56px);margin:56px 0 0;padding-top:32px;display:flex;transform:translateY(18px)}.hero__stat dt{font-family:var(--font-display);color:var(--navy-900);font-size:clamp(1.6rem,3vw,2.1rem);font-weight:600}.hero__stat dd{color:var(--ink-soft);margin:4px 0 0;font-size:.85rem}@keyframes heroRise{to{opacity:1;transform:translateY(0)}}.hero__visual{aspect-ratio:1;justify-self:center;width:100%;max-width:500px;position:relative}.hero__ring{width:100%;height:100%;position:absolute;inset:-6% -6% auto auto;transform:rotate(-18deg)}.hero__ring-path{animation:ringDraw 1.5s var(--ease) .15s forwards}@keyframes ringDraw{to{stroke-dashoffset:0}}.hero__frame{clip-path:polygon(0 0,82% 0,100% 16%,100% 100%,18% 100%,0 84%);background:var(--navy-900);opacity:0;animation:frameIn .9s var(--ease) .95s forwards;position:absolute;inset:9% 6%;transform:scale(.94);box-shadow:0 40px 80px -30px #0a1a3873}@keyframes frameIn{to{opacity:1;transform:scale(1)}}.hero__image{object-fit:cover;filter:saturate(1.05)contrast(1.02);width:100%;height:100%}.hero__chevron{z-index:2;opacity:0;width:22%;animation:chevIn .85s var(--ease) 1.1s forwards;filter:drop-shadow(0 12px 22px #2f6fed59);position:absolute;top:-6%;right:-4%;transform:translate(24px,-20px)rotate(6deg)}@keyframes chevIn{to{opacity:1;transform:translate(0)rotate(0)}}.hero__badge{background:var(--cream);font-family:var(--font-display);color:var(--navy-900);opacity:0;animation:heroRise .7s var(--ease) 1.55s forwards;align-items:center;gap:10px;padding:12px 18px;font-size:.82rem;display:flex;position:absolute;bottom:2%;left:0;transform:translateY(14px);box-shadow:0 18px 40px -18px #0a1a3859}.hero__badge-dot{background:#35c46b;border-radius:50%;width:8px;height:8px;animation:2.2s ease-out infinite pulse;box-shadow:0 0 #35c46b99}@keyframes pulse{0%{box-shadow:0 0 #35c46b8c}70%{box-shadow:0 0 0 9px #35c46b00}to{box-shadow:0 0 #35c46b00}}@media (width<=940px){.hero__inner{grid-template-columns:1fr}.hero__visual{max-width:380px;margin:0 auto}.hero__stats{flex-wrap:wrap;row-gap:24px}}@media (prefers-reduced-motion:reduce){.hero__headline,.hero__lede,.hero__actions,.hero__stats,.hero__frame,.hero__chevron,.hero__badge{opacity:1;animation:none;transform:none}.hero__ring-path{stroke-dashoffset:0;animation:none}}.services{padding:clamp(80px, 11vw, 130px) var(--pad);background:var(--cream-deep);border-top:1px solid var(--cream-line);border-bottom:1px solid var(--cream-line)}.services__head{max-width:640px;margin-bottom:64px}.services__title{margin-top:18px;font-size:clamp(1.7rem,3.4vw,2.4rem);font-weight:600}.services__note{color:var(--ink-soft);margin-top:14px;font-size:.98rem}.services__grid{background:var(--cream-line);border:1px solid var(--cream-line);grid-template-columns:repeat(3,1fr);gap:1px;display:grid}.service-card{background:var(--cream-deep);transition:background .35s var(--ease);padding:40px 34px;position:relative}.service-card:before{content:"";border-style:solid;border-width:0 22px 22px 0;border-color:transparent var(--cream-line) transparent transparent;width:0;height:0;transition:border-color .35s var(--ease);position:absolute;top:0;right:0}.service-card:hover{background:var(--cream)}.service-card:hover:before{border-color:transparent var(--blue-500) transparent transparent}.service-card__icon{color:var(--navy-900);transition:color .35s var(--ease), transform .35s var(--ease)}.service-card:hover .service-card__icon{color:var(--blue-500);transform:translateY(-2px)}.service-card h3{margin-top:26px;font-size:1.2rem;font-weight:600}.service-card p{color:var(--ink-soft);margin-top:12px;font-size:.95rem;line-height:1.6}@media (width<=940px){.services__grid{grid-template-columns:repeat(2,1fr)}}@media (width<=620px){.services__grid{grid-template-columns:1fr}}.approach{padding:clamp(80px, 11vw, 130px) var(--pad)}.approach__head{max-width:640px;margin-bottom:72px}.approach__head h2{margin-top:18px;font-size:clamp(1.7rem,3.4vw,2.4rem);font-weight:600}.approach__timeline{grid-template-columns:repeat(4,1fr);gap:36px;padding-top:8px;display:grid;position:relative}.approach__line{width:100%;height:4px;position:absolute;top:-28px;left:0;overflow:visible}.approach__line line{stroke:var(--cream-line);stroke-width:2px}.approach__step{opacity:0;transition:opacity .6s var(--ease), transform .6s var(--ease);position:relative;transform:translateY(16px)}.is-in-view .approach__step{opacity:1;transform:translateY(0)}.approach__marker{border:1.5px solid var(--cream-line);background:var(--cream);width:48px;height:48px;font-family:var(--font-display);color:var(--ink-soft);z-index:1;transition:border-color .5s var(--ease), color .5s var(--ease);border-radius:50%;justify-content:center;align-items:center;font-size:.85rem;display:inline-flex;position:relative}.is-in-view .approach__marker{border-color:var(--blue-500);color:var(--blue-500)}.approach__step h3{margin-top:24px;font-size:1.15rem;font-weight:600}.approach__step p{color:var(--ink-soft);max-width:32ch;margin-top:10px;font-size:.94rem;line-height:1.6}@media (width<=860px){.approach__timeline{grid-template-columns:1fr;gap:40px}.approach__line{display:none}}.impact{background:linear-gradient(160deg, var(--blue-mist) 0%, var(--cream-deep) 100%);color:var(--ink);padding:clamp(80px, 11vw, 130px) var(--pad);border-top:1px solid var(--cream-line);border-bottom:1px solid var(--cream-line);position:relative;overflow:hidden}.impact:before{content:"";pointer-events:none;background-image:radial-gradient(circle at 1px 1px,#0a1a380f 1px,#0000 0);background-size:26px 26px;position:absolute;inset:0}.impact__inner{grid-template-columns:1.15fr .85fr;align-items:center;gap:clamp(40px,6vw,90px);display:grid;position:relative}.eyebrow--light{color:var(--blue-500)}.impact h2{color:var(--navy-900);max-width:18ch;margin-top:18px;font-size:clamp(1.8rem,3.6vw,2.5rem);font-weight:600}.impact__lede{max-width:50ch;color:var(--ink-soft);margin-top:22px;font-size:1.03rem;line-height:1.65}.impact__values{grid-template-columns:repeat(2,1fr);gap:32px 28px;margin-top:48px;padding:0;list-style:none;display:grid}.impact__values li{opacity:0;transition:opacity .6s var(--ease), transform .6s var(--ease);transform:translateY(14px)}.impact__values.is-in-view li{opacity:1;transform:translateY(0)}.impact__values h3{font-family:var(--font-display);color:var(--navy-900);font-size:1.02rem;font-weight:600}.impact__values p{color:var(--ink-soft);max-width:30ch;margin-top:8px;font-size:.9rem;line-height:1.55}.impact__visual{justify-self:center;position:relative}.impact__ring-mask{aspect-ratio:1;background:var(--cream);border:2px solid #2f6fed4d;border-radius:50%;width:clamp(240px,26vw,340px);padding:14px;overflow:hidden}.impact__ring-mask img{object-fit:cover;border-radius:50%;width:100%;height:100%}.impact__chevron{filter:drop-shadow(0 14px 24px #00000059);width:30%;position:absolute;bottom:-8%;right:-10%}@media (width<=900px){.impact__inner{grid-template-columns:1fr}.impact__visual{order:-1}}@media (width<=520px){.impact__values{grid-template-columns:1fr}}.work{padding:clamp(80px, 11vw, 130px) var(--pad)}.work__head{max-width:640px;margin-bottom:60px}.work__head h2{margin-top:18px;font-size:clamp(1.7rem,3.4vw,2.4rem);font-weight:600}.featured{isolation:isolate;background:linear-gradient(135deg, var(--navy-950) 0%, var(--navy-800) 60%, var(--navy-700) 100%);clip-path:polygon(0 0,100% 0,100% 92%,96% 100%,0 100%);padding:clamp(48px,7vw,76px) clamp(32px,6vw,72px);position:relative;overflow:hidden}.featured__glow{aspect-ratio:1;z-index:-1;background:radial-gradient(circle,#2f6fed59,#0000 70%);width:60%;position:absolute;inset:-20% -10% auto auto}.featured__ring{z-index:-1;width:clamp(240px,32vw,420px);position:absolute;top:-18%;right:-8%}.featured__chevron{opacity:.9;filter:drop-shadow(0 20px 30px #0006);width:clamp(80px,10vw,140px);position:absolute;bottom:-10%;right:6%}.featured__badge{font-family:var(--font-display);letter-spacing:.12em;text-transform:uppercase;color:var(--blue-300);border:1px solid #7bb0ff66;border-radius:999px;align-items:center;padding:6px 16px;font-size:.78rem;font-weight:600;display:inline-flex}.featured__client{font-family:var(--font-display);color:var(--blue-300);margin-top:24px;font-size:.9rem}.featured__title{max-width:22ch;color:var(--cream);margin-top:12px;font-size:clamp(1.6rem,3.4vw,2.5rem);font-weight:600}.featured__description{color:#faf6eab8;max-width:56ch;margin-top:20px;font-size:1.02rem;line-height:1.65}.featured__tags{flex-wrap:wrap;gap:10px;margin:32px 0 0;padding:0;list-style:none;display:flex}.featured__tags li{font-family:var(--font-display);color:var(--cream);border:1px solid #faf6ea40;border-radius:999px;padding:6px 14px;font-size:.8rem}.featured__links{flex-wrap:wrap;gap:16px;margin-top:32px;display:flex}.featured__links a{font-family:var(--font-display);color:var(--navy-950);background:var(--cream);clip-path:polygon(0 0,100% 0,100% 70%,92% 100%,0 100%);transition:background .3s var(--ease), transform .3s var(--ease);padding:12px 22px;font-size:.92rem;font-weight:500}.featured__links a:hover{background:var(--blue-400);color:var(--cream);transform:translateY(-2px)}.testimonial{padding:clamp(80px, 11vw, 130px) var(--pad);background:var(--cream-deep)}.testimonial__inner{text-align:left;max-width:780px}.testimonial__mark{width:52px;height:36px}.testimonial__quote{font-family:var(--font-display);color:var(--navy-900);margin-top:24px;font-size:clamp(1.4rem,3vw,1.9rem);font-weight:500;line-height:1.5}.testimonial__author{align-items:center;gap:16px;margin-top:36px;display:flex}.testimonial__avatar{width:46px;height:46px;font-family:var(--font-display);color:var(--cream);background:var(--gradient-chevron);border-radius:50%;justify-content:center;align-items:center;font-size:.85rem;display:flex}.testimonial__name{color:var(--navy-900);font-size:.95rem;font-weight:600}.testimonial__role{color:var(--ink-soft);margin-top:2px;font-size:.85rem}.faq{padding:clamp(80px, 11vw, 130px) var(--pad);background:var(--cream)}.faq__inner{grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);align-items:start;gap:clamp(40px,6vw,90px);display:grid}.faq__head{position:sticky;top:100px}.faq__head h2{max-width:16ch;margin-top:18px;font-size:clamp(1.7rem,3.4vw,2.4rem);font-weight:600}.faq__lede{color:var(--ink-soft);max-width:34ch;margin-top:18px;line-height:1.6}.faq__list{border-top:1px solid var(--cream-line)}.faq__item{border-bottom:1px solid var(--cream-line)}.faq__item summary{cursor:pointer;font-family:var(--font-display);color:var(--navy-900);justify-content:space-between;align-items:center;gap:24px;padding:22px 4px;font-size:1.02rem;font-weight:500;list-style:none;display:flex}.faq__item summary::-webkit-details-marker{display:none}.faq__chevron{width:16px;height:16px;color:var(--blue-500);transition:transform .3s var(--ease);flex-shrink:0}.faq__item[open] .faq__chevron{transform:rotate(180deg)}.faq__item p{color:var(--ink-soft);max-width:60ch;padding:0 28px 24px 4px;font-size:.96rem;line-height:1.65}@media (width<=860px){.faq__inner{grid-template-columns:1fr}.faq__head{position:static}}.cta{padding:clamp(90px, 13vw, 150px) var(--pad);background:linear-gradient(135deg, var(--blue-mist-deep) 0%, var(--cream-deep) 100%);clip-path:polygon(0 6%,100% 0,100% 100%,0 100%);isolation:isolate;position:relative;overflow:hidden}.cta__bg{z-index:-1;position:absolute;inset:0}.cta__bg img{object-fit:cover;opacity:.14;filter:grayscale(.4)saturate(.7);width:100%;height:100%}.cta__bg:after{content:"";background:linear-gradient(#faf6eac7,#f0e9d4f5);position:absolute;inset:0}.cta__inner{max-width:640px}.cta h2{color:var(--navy-900);margin-top:18px;font-size:clamp(2rem,4.4vw,3rem);font-weight:600}.cta__lede{color:var(--ink-soft);max-width:48ch;margin-top:22px;font-size:1.05rem;line-height:1.6}.cta__button{font-family:var(--font-display);color:var(--cream);background:var(--navy-900);clip-path:polygon(0 0,100% 0,100% 70%,92% 100%,0 100%);transition:background .3s var(--ease), transform .3s var(--ease);margin-top:40px;padding:16px 30px;font-weight:500;display:inline-flex}.cta__button:hover{background:var(--blue-500);color:var(--cream);transform:translateY(-2px)}.footer{background:var(--cream-deep);color:var(--ink-soft);padding:clamp(60px, 8vw, 90px) var(--pad) 30px;border-top:1px solid var(--cream-line);position:relative;overflow:hidden}.footer__ring{pointer-events:none;width:300px;height:300px;position:absolute;top:-80px;right:-80px}.footer__inner{border-bottom:1px solid var(--cream-line);grid-template-columns:1.4fr 1fr 1fr 1fr;gap:40px;padding-bottom:48px;display:grid;position:relative}.footer__logo{width:auto;height:44px;margin-bottom:18px}.footer__brand p{max-width:32ch;font-size:.92rem;line-height:1.6}.footer__heading{font-family:var(--font-display);color:var(--navy-900);margin-bottom:16px;font-size:.85rem}.footer__col{flex-direction:column;gap:10px;font-size:.9rem;display:flex}.footer__col a,.footer__col p{transition:color .25s var(--ease)}.footer__col a:hover{color:var(--blue-500)}.footer__addr{color:var(--ink-soft);margin-top:4px;font-size:.85rem}.footer__hours{color:var(--ink-soft);margin-top:2px;font-size:.85rem}.footer__bottom{justify-content:space-between;align-items:center;padding-top:24px;font-size:.82rem;display:flex;position:relative}.footer__social{gap:22px;display:flex}.footer__social a{color:var(--ink-soft);transition:color .25s var(--ease)}.footer__social a:hover{color:var(--blue-500)}@media (width<=860px){.footer__inner{grid-template-columns:1fr 1fr}}@media (width<=560px){.footer__inner{grid-template-columns:1fr}.footer__bottom{flex-direction:column;align-items:flex-start;gap:12px}}
