@font-face{font-family:Space Grotesk;font-style:normal;font-weight:300 700;font-display:swap;src:url(/fonts/SpaceGrotesk-Variable-latin-ext.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Space Grotesk;font-style:normal;font-weight:300 700;font-display:swap;src:url(/fonts/SpaceGrotesk-Variable.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--blue:#007bff;--blue-deep:#0060cc;--navy:#0a1628;--navy-surface:#0f1d30;--cream:#faf6f0;--cream-dark:#f0eae0;--terracotta:#c4654a;--terracotta-soft:#d4836c;--terracotta-deep:#a34b33;--black:#1a1a1a;--gray-700:#444;--gray-600:#555;--gray-500:#777;--gray-400:#999;--gray-300:#bbb;--ink-muted:#6a6a6a;--on-navy-muted:#9aa4b5;--white:#fff;--nav-height:80px;--font:"Space Grotesk", -apple-system, sans-serif;--max-width:1360px;--gutter:clamp(24px, 5vw, 80px)}html{scroll-behavior:smooth;scroll-padding-top:var(--nav-height);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:16px}body{font-family:var(--font);color:var(--black);background:var(--cream);font-weight:400;line-height:1.6;overflow-x:hidden}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}.t-display{letter-spacing:-.035em;font-size:clamp(3.2rem,8vw,7.5rem);font-weight:500;line-height:.95}.t-headline{letter-spacing:-.025em;font-size:clamp(2rem,4.5vw,4rem);font-weight:500;line-height:1.05}.t-subhead{letter-spacing:-.02em;font-size:clamp(1.4rem,2.5vw,2rem);font-weight:500;line-height:1.2}.t-body-lg{letter-spacing:-.005em;font-size:clamp(1.1rem,1.5vw,1.3rem);font-weight:400;line-height:1.7}.t-body{font-size:1rem;font-weight:400;line-height:1.65}.t-label{letter-spacing:.1em;text-transform:uppercase;color:var(--terracotta-deep);font-size:.8rem;font-weight:600}.container{max-width:var(--max-width);padding:0 var(--gutter);margin:0 auto}section{position:relative}.nav{z-index:100;padding:28px 0;transition:all .4s cubic-bezier(.16,1,.3,1);position:fixed;top:0;left:0;right:0}.nav.scrolled{-webkit-backdrop-filter:blur(20px);background:#faf6f0eb;border-bottom:1px solid #0000000f;padding:16px 0}.nav-inner{max-width:var(--max-width);padding:0 var(--gutter);justify-content:space-between;align-items:center;margin:0 auto;display:flex}.nav-logo svg{width:auto;height:22px}.nav-links{align-items:center;gap:40px;list-style:none;display:flex}.nav-links a{letter-spacing:.02em;color:var(--gray-600);font-size:.85rem;font-weight:500;transition:color .2s}.nav-links a:hover{color:var(--black)}.nav-links .nav-cta{color:var(--blue-deep);font-weight:600}.theme-dark .nav:not(.scrolled) .nav-logo{color:var(--white)}.theme-dark .nav:not(.scrolled) .nav-links a:not(.nav-cta){color:var(--on-navy-muted)}.theme-dark .nav:not(.scrolled) .nav-cta{color:var(--blue)}.theme-dark .nav:not(.scrolled) .nav-links a:not(.nav-cta):hover{color:var(--white)}.theme-dark .nav:not(.scrolled) .nav-toggle span{background:var(--white)}.nav-links .nav-cta:hover{color:var(--black)}.nav-toggle{cursor:pointer;background:0 0;border:none;flex-direction:column;gap:5px;padding:4px;display:none}.nav-toggle span{background:var(--black);width:24px;height:2px;transition:all .3s;display:block}.mobile-nav{background:var(--cream);z-index:99;flex-direction:column;justify-content:center;align-items:center;gap:32px;display:none;position:fixed;inset:0}.mobile-nav.active{display:flex}.mobile-nav a{letter-spacing:-.02em;color:var(--black);font-size:1.8rem;font-weight:500}@media (width<=768px){.nav-links{display:none}.nav-toggle{display:flex}}.nav-logo svg .propeller-blades{transform-origin:238.8px 233px;will-change:transform}.hero{justify-content:center;align-items:center;min-height:100vh;padding:140px 0 100px;display:flex}.hero-content{grid-template-columns:1fr;gap:40px;width:100%;display:grid}.hero-kicker{margin-bottom:32px}.hero-headline{letter-spacing:-.03em;max-width:1100px;color:var(--black);font-size:clamp(2.5rem,5.6vw,5.4rem);font-weight:500;line-height:1.02}.hero-headline .accent{color:var(--blue)}.hero-description{max-width:680px;color:var(--gray-600);opacity:0;animation:.9s cubic-bezier(.16,1,.3,1) .5s forwards heroFadeUp;transform:translateY(24px)}.hero-cta{opacity:0;margin-top:16px;animation:.8s cubic-bezier(.16,1,.3,1) .7s forwards heroFadeUp;transform:translateY(20px)}@keyframes heroFadeUp{to{opacity:1;transform:translateY(0)}}.hero-cta a{color:var(--blue-deep);align-items:center;gap:12px;font-size:1rem;font-weight:600;transition:gap .3s cubic-bezier(.16,1,.3,1);display:inline-flex}.hero-cta a:hover{gap:20px}.arrow{background:var(--blue);width:32px;height:1px;display:inline-block;position:relative}.arrow:after{content:"";border-right:1.5px solid var(--blue);border-top:1.5px solid var(--blue);width:8px;height:8px;position:absolute;top:-4px;right:0;transform:rotate(45deg)}.arrow--sm{width:24px}.arrow--sm:after{width:6px;height:6px;top:-3px}.scroll-indicator{bottom:40px;left:var(--gutter);opacity:0;align-items:center;gap:12px;animation:.6s cubic-bezier(.16,1,.3,1) 1.2s forwards heroFadeUp;display:flex;position:absolute}.scroll-line{background:var(--gray-300);width:1px;height:60px;position:relative;overflow:hidden}.scroll-line:after{content:"";background:var(--terracotta);width:1px;height:100%;animation:2s ease-in-out infinite scrollPulse;position:absolute;top:-100%;left:0}@keyframes scrollPulse{0%{top:-100%}50%{top:0}to{top:100%}}.scroll-text{writing-mode:vertical-rl;letter-spacing:.15em;text-transform:uppercase;color:var(--ink-muted);font-size:.7rem;font-weight:500}.problem{background:var(--white);padding:clamp(100px,15vh,200px) 0}.problem-headline{max-width:820px;margin-bottom:clamp(64px,8vh,100px)}.problem-grid{grid-template-columns:repeat(2,1fr);column-gap:clamp(40px,5vw,96px);display:grid}.problem-item{border-top:1px solid var(--cream-dark);grid-template-columns:40px 1fr;gap:20px;padding:36px 0;display:grid}.problem-number{color:var(--ink-muted);font-variant-numeric:tabular-nums;padding-top:6px;font-size:.75rem;font-weight:500}.problem-title{color:var(--black);letter-spacing:-.01em;margin-bottom:10px;font-size:1.15rem;font-weight:600}.problem-desc{color:var(--gray-600);max-width:480px;font-size:.95rem;line-height:1.7}.problem-desc em{color:var(--black)}.problem-closing{border-top:1px solid var(--cream-dark);max-width:900px;margin-top:clamp(64px,8vh,100px);padding-top:clamp(48px,6vh,72px)}.problem-closing-lead{color:var(--gray-600);margin-bottom:20px}.problem-closing-statement{color:var(--black)}.problem-closing-statement .accent{color:var(--blue-deep)}.services{background:var(--cream);padding:clamp(100px,15vh,200px) 0}.section-label{margin-bottom:48px}.services-intro{max-width:700px;color:var(--black);margin-bottom:80px}.services-lead{max-width:720px;color:var(--gray-600);margin-top:-48px;margin-bottom:80px}.services-grid{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));column-gap:clamp(32px,4vw,64px);display:grid}.service-item{border-top:1px solid #00000014;flex-direction:column;align-items:flex-start;gap:12px;padding:36px 0;display:flex}.service-number{color:var(--ink-muted);font-variant-numeric:tabular-nums;min-width:24px;font-size:.75rem;font-weight:500}.service-name{color:var(--black);font-size:1.1rem;font-weight:500}.service-desc{color:var(--gray-600);max-width:420px;font-size:.95rem;line-height:1.7}.services-footer{color:var(--ink-muted);border-top:1px solid #00000014;max-width:500px;margin-top:64px;padding-top:32px;font-size:.95rem;font-style:italic}.different{background:var(--navy);color:var(--white);padding:clamp(100px,15vh,200px) 0;position:relative}.different .section-label{color:var(--blue)}.different-headline{max-width:900px;margin-bottom:clamp(60px,8vh,120px)}.different-intro{color:#fff9;max-width:700px;margin-top:-40px;margin-bottom:80px}.steps{border-top:1px solid #ffffff14;margin-bottom:clamp(100px,14vh,180px);list-style:none}.step{border-bottom:1px solid #ffffff14;grid-template-columns:96px 1fr 1.6fr;align-items:start;gap:clamp(24px,4vw,64px);padding:clamp(36px,5vh,56px) 0;display:grid}.step-number{letter-spacing:-.03em;color:var(--blue);font-variant-numeric:tabular-nums;font-size:clamp(2rem,3vw,2.6rem);font-weight:500;line-height:1}.step-title{letter-spacing:-.02em;color:var(--white);font-size:clamp(1.3rem,2vw,1.7rem);font-weight:500;line-height:1.2}.step-body{color:#fff9;font-size:1.02rem;line-height:1.75}.rigor-heading{max-width:600px;margin-bottom:48px}.rigor-grid{background:#ffffff0f;grid-template-columns:repeat(2,1fr);gap:1px;margin-bottom:clamp(80px,10vh,140px);display:grid}.rigor-item{background:var(--navy);padding:clamp(32px,4vw,56px)}.rigor-item-title{color:var(--white);margin-bottom:16px;font-size:clamp(1.1rem,1.5vw,1.3rem);font-weight:600}.rigor-item-desc{color:#ffffff8c;max-width:400px;font-size:.95rem;font-weight:400;line-height:1.7}.handoff-section{margin-bottom:0}.handoff-title{max-width:600px;margin-bottom:48px}.handoff-nos{flex-wrap:wrap;gap:12px 40px;margin-bottom:40px;display:flex}.handoff-nos span{color:var(--white);letter-spacing:-.01em;font-size:clamp(1.1rem,1.6vw,1.4rem);font-weight:500}.handoff-nos span:before{content:"";background:var(--blue);vertical-align:middle;border-radius:50%;width:6px;height:6px;margin-right:14px;display:inline-block}.handoff-body{color:#fff9;max-width:720px;margin-bottom:clamp(48px,6vh,80px);font-size:1.05rem;font-weight:400;line-height:1.75}.no-corners{text-align:left;padding:clamp(120px,18vh,240px) 0;position:relative}.no-corners:before{content:"";background:#ffffff0f;height:1px;position:absolute;top:0;left:0;right:0}.no-corners-text{letter-spacing:-.04em;color:var(--white);opacity:0;font-size:clamp(3.5rem,8vw,8rem);font-weight:700;line-height:1;transition:opacity 1s cubic-bezier(.16,1,.3,1),transform 1s cubic-bezier(.16,1,.3,1);display:inline-block;position:relative;transform:scale(.96)}.no-corners-text.visible{opacity:1;transform:scale(1)}.no-corners-text:after{content:"";background:var(--terracotta);transform-origin:0;width:80px;height:3px;margin-top:40px;transition:transform .8s cubic-bezier(.16,1,.3,1) .4s;display:block;transform:scaleX(0)}.no-corners-text.visible:after{transform:scaleX(1)}.clients{background:var(--white);padding:clamp(100px,15vh,200px) 0}.clients-headline{max-width:820px;margin-bottom:0}.clients-footer{border-top:1px solid var(--cream-dark);color:var(--ink-muted);max-width:640px;margin-top:64px;padding-top:32px;font-size:1.05rem;font-style:italic}.clients-grid{grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:0;margin-top:64px;display:grid}.client-type{border-top:1px solid var(--cream-dark);padding:clamp(32px,4vw,48px) 0 clamp(32px,4vw,48px) 24px;position:relative}.client-type:before{content:"";background:var(--blue);width:3px;height:0;transition:height .5s cubic-bezier(.16,1,.3,1);position:absolute;top:0;left:0}.client-type:hover:before{height:100%}.client-type-name{color:var(--black);margin-bottom:12px;font-size:1.15rem;font-weight:600;transition:color .3s}.client-type:hover .client-type-name{color:var(--blue-deep)}.client-type-desc{color:var(--gray-600);max-width:440px;font-size:.95rem;font-weight:400;line-height:1.65}.work{background:var(--cream);padding:clamp(100px,15vh,200px) 0}.work-carousel{margin-top:48px;position:relative}.work-carousel-track{display:grid}.work-slide{opacity:0;pointer-events:none;grid-area:1/1;grid-template-columns:55% 1fr;align-items:center;gap:clamp(32px,4vw,64px);width:100%;transition:opacity .8s;display:grid}.work-slide.active{opacity:1;pointer-events:auto}.work-slide-image{aspect-ratio:3/2;background:var(--white);overflow:hidden;box-shadow:0 2px 16px #0000000f}.work-slide-image img{object-fit:cover;width:100%;height:100%}.work-slide-body{padding:clamp(16px,2vw,32px) 0}.work-slide-label{letter-spacing:.1em;text-transform:uppercase;color:var(--terracotta-deep);margin-bottom:16px;font-size:.75rem;font-weight:600}.work-slide-title{letter-spacing:-.02em;color:var(--black);margin-bottom:16px;font-size:clamp(1.3rem,2vw,1.8rem);font-weight:600;line-height:1.25}.work-slide-desc{color:var(--gray-600);max-width:440px;margin-bottom:28px;font-size:.95rem;font-weight:400;line-height:1.65}.work-slide-link{color:var(--blue-deep);align-items:center;gap:10px;font-size:.9rem;font-weight:600;transition:gap .3s cubic-bezier(.16,1,.3,1);display:inline-flex}.work-slide-link:hover{gap:16px}.work-carousel-controls{justify-content:center;align-items:center;gap:24px;margin-top:40px;display:flex}.work-carousel-arrow{border:1px solid var(--cream-dark);cursor:pointer;width:44px;height:44px;color:var(--ink-muted);background:0 0;justify-content:center;align-items:center;transition:border-color .2s,color .2s;display:flex}.work-carousel-arrow:hover{border-color:var(--blue);color:var(--blue-deep)}.work-carousel-arrow svg{stroke:currentColor;fill:none;stroke-width:1.5px;width:18px;height:18px}.work-carousel-dots{gap:12px;display:flex}.work-carousel-dot{background:var(--gray-300);cursor:pointer;border:none;border-radius:50%;width:8px;height:8px;padding:0;transition:background .2s}.work-carousel-dot.active{background:var(--blue)}.work-carousel-dot:hover:not(.active){background:var(--gray-500)}.about{background:var(--cream);padding:clamp(100px,15vh,200px) 0}.about-intro{max-width:780px;color:var(--gray-600);margin-bottom:32px}.about-intro+.about-intro{margin-bottom:clamp(80px,10vh,140px)}.team-grid{grid-template-columns:1fr 1fr;gap:clamp(40px,6vw,120px);display:grid}.team-photo{aspect-ratio:1;background:var(--cream-dark);width:100%;max-width:360px;margin-bottom:32px;overflow:hidden}.team-photo img{object-fit:cover;filter:grayscale();width:100%;height:100%;transition:filter .6s}.team-photo:hover img{filter:grayscale(0%)}.team-name{letter-spacing:-.02em;margin-bottom:16px;font-size:clamp(1.3rem,2vw,1.6rem);font-weight:600}.team-bio{color:var(--gray-600);max-width:480px;font-size:.95rem;font-weight:400;line-height:1.7}.team-detail{letter-spacing:.08em;text-transform:uppercase;color:var(--terracotta-deep);margin-top:16px;font-size:.8rem;font-weight:600}.contact{background:var(--white);padding:clamp(100px,15vh,200px) 0}.contact-layout{grid-template-columns:1fr 1fr;align-items:start;gap:clamp(40px,6vw,120px);display:grid}.contact-headline{margin-bottom:24px}.contact-sub{color:var(--gray-600);max-width:480px;font-size:1.1rem;font-weight:400;line-height:1.6}.contact-audit{border-left:3px solid var(--terracotta);background:var(--cream);max-width:480px;margin-top:40px;padding:28px 32px}.contact-audit-label{margin-bottom:10px;display:block}.contact-audit p{color:var(--gray-600);font-size:.95rem;line-height:1.7}.contact-form{flex-direction:column;gap:24px;display:flex}.form-group{flex-direction:column;gap:8px;display:flex}.form-group label{letter-spacing:.08em;text-transform:uppercase;color:var(--ink-muted);font-size:.8rem;font-weight:600}.form-group input,.form-group textarea{font-family:var(--font);border:none;border-bottom:1px solid var(--cream-dark);color:var(--black);resize:none;background:0 0;outline:none;padding:16px 0;font-size:1rem;font-weight:400;transition:border-color .3s}.form-group input:focus,.form-group textarea:focus{border-bottom-color:var(--blue)}.form-group input::placeholder,.form-group textarea::placeholder{color:var(--ink-muted)}.form-group textarea{min-height:120px}.form-optional{color:var(--ink-muted);text-transform:none;letter-spacing:0;margin-left:8px;font-size:.75rem;font-weight:400}.form-error{color:var(--terracotta-deep);min-height:0;padding-top:0;font-size:.8rem;font-weight:500;transition:min-height .2s,padding-top .2s;display:block;overflow:hidden}.form-error:not(:empty){min-height:1.2em;padding-top:6px}.form-group input[aria-invalid=true],.form-group textarea[aria-invalid=true]{border-bottom-color:var(--terracotta)}.form-hp{opacity:0;width:0;height:0;position:absolute;top:-9999px;left:-9999px;overflow:hidden}.submit-btn{font-family:var(--font);color:var(--white);background:var(--black);cursor:pointer;letter-spacing:.02em;border:none;align-self:flex-start;padding:20px 48px;font-size:1rem;font-weight:600;transition:background .3s cubic-bezier(.16,1,.3,1)}.submit-btn:hover{background:var(--blue-deep)}.submit-btn:disabled{opacity:.7;cursor:not-allowed}.contact{transition:background .6s cubic-bezier(.16,1,.3,1)}.contact.is-sent{background:var(--navy)}.contact-layout.is-hidden{opacity:0;transition:opacity .4s,transform .4s;transform:translateY(8px)}.form-success{opacity:0;transition:opacity .7s cubic-bezier(.16,1,.3,1),transform .7s cubic-bezier(.16,1,.3,1);transform:translateY(24px)}.form-success.is-visible{opacity:1;transform:translateY(0)}.form-success-headline{letter-spacing:-.035em;color:var(--white);margin-bottom:clamp(24px,3vw,40px);font-size:clamp(3.2rem,8vw,7.5rem);font-weight:500;line-height:1}.form-success-headline:after{content:"";background:var(--terracotta);transform-origin:0;width:80px;height:3px;margin-top:clamp(24px,3vw,40px);transition:transform .8s cubic-bezier(.16,1,.3,1) .3s;display:block;transform:scaleX(0)}.form-success.is-visible .form-success-headline:after{transform:scaleX(1)}.form-success-sub{color:var(--gray-400);opacity:0;max-width:500px;font-size:clamp(1.1rem,1.5vw,1.3rem);font-weight:400;line-height:1.7;transition:opacity .6s cubic-bezier(.16,1,.3,1) .4s,transform .6s cubic-bezier(.16,1,.3,1) .4s;transform:translateY(12px)}.form-success.is-visible .form-success-sub{opacity:1;transform:translateY(0)}.cs-back-link{color:var(--ink-muted);align-items:center;gap:10px;margin-bottom:48px;font-size:.85rem;font-weight:500;transition:color .2s;display:inline-flex}.cs-back-link:hover{color:var(--black)}.arrow-back{background:currentColor;width:20px;height:1px;display:inline-block;position:relative}.arrow-back:after{content:"";border-bottom:1.5px solid;border-left:1.5px solid;width:6px;height:6px;position:absolute;top:-3px;left:0;transform:rotate(45deg)}.cs-hero{background:var(--cream);padding:160px 0 clamp(60px,8vh,100px)}.cs-hero-grid{grid-template-columns:1fr 320px;align-items:start;gap:clamp(48px,6vw,120px);display:grid}.cs-hero-headline{color:var(--black);margin-bottom:24px}.cs-hero-subtitle{color:var(--gray-600);max-width:600px}.cs-hero-meta{padding-top:8px}.cs-meta-item{border-top:1px solid var(--cream-dark);padding:16px 0}.cs-meta-label{letter-spacing:.1em;text-transform:uppercase;color:var(--terracotta-deep);margin-bottom:6px;font-size:.75rem;font-weight:600;display:block}.cs-meta-value{color:var(--black);font-size:.95rem;font-weight:400;line-height:1.5}.cs-tech-pills{border-top:1px solid var(--cream-dark);flex-wrap:wrap;gap:10px;margin-top:clamp(40px,5vh,64px);padding-top:clamp(40px,5vh,64px);display:flex}.cs-tech-pill{border:1px solid var(--cream-dark);color:var(--gray-600);letter-spacing:.01em;padding:6px 16px;font-size:.8rem;font-weight:500}.cs-section{padding:clamp(80px,12vh,140px) 0}.cs-section--white{background:var(--white)}.cs-section--cream{background:var(--cream)}.cs-section--navy{background:var(--navy);color:var(--white)}.cs-section-label{margin-bottom:48px}.cs-section-title{letter-spacing:-.025em;margin-bottom:32px;font-size:clamp(1.8rem,3.5vw,2.8rem);font-weight:500;line-height:1.1}.cs-two-col{grid-template-columns:1fr 1fr;align-items:start;gap:clamp(40px,6vw,100px);display:grid}.cs-two-col--reverse{direction:rtl}.cs-two-col--reverse>*{direction:ltr}.cs-text p{color:var(--gray-600);margin-bottom:24px;font-size:1.05rem;font-weight:400;line-height:1.75}.cs-text p:last-child{margin-bottom:0}.cs-subsection-title{color:var(--black);margin-top:40px;margin-bottom:20px;font-size:clamp(1.1rem,1.5vw,1.3rem);font-weight:600}.cs-subsection-title:first-child{margin-top:0}.cs-bullet-list{margin-bottom:32px;list-style:none}.cs-bullet-list li{color:var(--gray-600);padding:12px 0 12px 24px;font-size:1.05rem;font-weight:400;line-height:1.65;position:relative}.cs-bullet-list li:before{content:"";background:var(--blue);border-radius:50%;width:6px;height:6px;position:absolute;top:22px;left:0}.cs-text--constrained{max-width:780px}.cs-subsection-gap{margin-top:64px}.cs-subsection-gap-lg{margin-top:80px}.cs-image{border-radius:6px;overflow:hidden;box-shadow:0 2px 16px #0000000f}.cs-image img{width:100%;height:auto;display:block}.cs-image--contain{background:var(--cream)}.cs-image--contain img{object-fit:contain}.cs-gallery{grid-template-columns:repeat(2,1fr);gap:clamp(16px,2vw,24px);margin-top:48px;display:grid}.cs-gallery--three{grid-template-columns:repeat(3,1fr)}.cs-impact-list{margin-top:40px;list-style:none}.cs-impact-list li{border-top:1px solid var(--cream-dark);color:var(--gray-600);padding:24px 0;font-size:1.05rem;font-weight:400;line-height:1.7}.cs-impact-list li strong{color:var(--black);font-weight:600}.cs-cta{background:var(--navy);padding:clamp(100px,15vh,200px) 0}.cs-cta-headline{color:var(--white);max-width:600px;margin-bottom:24px}.cs-cta-sub{color:#ffffff80;max-width:500px;margin-bottom:40px}.cs-cta-btn{color:var(--blue);align-items:center;gap:12px;font-size:1rem;font-weight:600;transition:gap .3s cubic-bezier(.16,1,.3,1);display:inline-flex}.cs-cta-btn:hover{gap:20px}.four-oh-four{background:var(--navy);text-align:center;justify-content:center;align-items:center;min-height:100vh;padding:140px 0 100px;display:flex;position:relative;overflow:hidden}.four-oh-four-inner{flex-direction:column;align-items:center;display:flex}.four-oh-four-propeller{opacity:.15;width:clamp(100px,20vw,180px);margin-bottom:clamp(32px,4vh,56px)}.four-oh-four-propeller svg{width:100%;height:auto;animation:12s linear infinite propellerSpin}@keyframes propellerSpin{to{transform:rotate(360deg)}}.four-oh-four-code{color:var(--white)}.four-oh-four-bar{background:var(--terracotta);width:80px;height:3px;margin:clamp(24px,3vw,40px) 0}.four-oh-four-message{color:#ffffff80;max-width:440px;margin-bottom:clamp(32px,4vh,48px)}.four-oh-four-cta{color:var(--blue);align-items:center;gap:12px;font-size:1rem;font-weight:600;transition:gap .3s cubic-bezier(.16,1,.3,1);display:inline-flex}.four-oh-four-cta:hover{gap:20px}@media (prefers-reduced-motion:reduce){.four-oh-four-propeller svg{animation:none}}.legal{background:var(--cream);padding:160px 0 clamp(80px,12vh,140px)}.legal-hero{border-bottom:1px solid var(--cream-dark);max-width:680px;margin-bottom:56px;padding-bottom:40px}.legal-eyebrow{margin-bottom:20px}.legal-title{margin-bottom:24px}.legal-meta{color:var(--ink-muted);font-size:.9rem;line-height:1.8}.legal-body{max-width:680px}.legal-lede{color:var(--gray-700);margin-bottom:56px;font-size:clamp(1.1rem,1.5vw,1.25rem);line-height:1.65}.legal-body h2{letter-spacing:-.015em;color:var(--black);margin-bottom:20px;font-size:1.25rem;font-weight:500;line-height:1.3}.legal-body h2:not(:first-of-type){margin-top:56px}.legal-body p{color:var(--gray-600);font-size:1rem;line-height:1.75}.legal-body p+p{margin-top:20px}.legal-body strong{color:var(--black);font-weight:600}.legal-body a{color:var(--blue-deep);border-bottom:1px solid #0060cc66;transition:border-color .2s}.legal-body a:hover{border-bottom-color:var(--blue-deep)}.legal-list{margin:20px 0;list-style:none}.legal-list li{color:var(--gray-600);padding:6px 0 6px 24px;font-size:1rem;line-height:1.75;position:relative}.legal-list li:before{content:"";background:var(--blue);border-radius:50%;width:6px;height:6px;position:absolute;top:17px;left:0}.legal-address{color:var(--gray-600);margin-top:20px;font-size:1rem;font-style:normal;line-height:1.75}.footer{border-top:1px solid var(--cream-dark);background:var(--cream);padding:64px 0}.footer-inner{justify-content:space-between;align-items:flex-end;display:flex}.footer-logo svg{width:auto;height:18px;margin-bottom:12px}.footer-tagline{color:var(--gray-600);margin-bottom:24px;font-size:.9rem;font-weight:400}.footer-copy{color:var(--ink-muted);font-size:.8rem}.footer-links{flex-wrap:wrap;gap:16px 32px;display:flex}.footer-links a{color:var(--ink-muted);font-size:.85rem;transition:color .2s}.footer-links a:hover{color:var(--black)}.reveal{opacity:0;transition:opacity .8s cubic-bezier(.16,1,.3,1),transform .8s cubic-bezier(.16,1,.3,1);transform:translateY(24px)}.reveal.visible{opacity:1;transform:translateY(0)}.reveal-slide{opacity:0;transition:opacity .7s cubic-bezier(.16,1,.3,1),transform .7s cubic-bezier(.16,1,.3,1);transform:translate(-16px)}.reveal-slide.visible{opacity:1;transform:translate(0)}.reveal-scale{opacity:0;transition:opacity .7s cubic-bezier(.16,1,.3,1),transform .7s cubic-bezier(.16,1,.3,1);transform:scale(.97)}.reveal-scale.visible{opacity:1;transform:scale(1)}.stagger-children>:first-child{transition-delay:0s}.stagger-children>:nth-child(2){transition-delay:60ms}.stagger-children>:nth-child(3){transition-delay:.12s}.stagger-children>:nth-child(4){transition-delay:.18s}.stagger-children>:nth-child(5){transition-delay:.24s}.stagger-children>:nth-child(6){transition-delay:.3s}.stagger-children>:nth-child(7){transition-delay:.36s}.reveal-delay-1{transition-delay:.1s}.reveal-delay-2{transition-delay:.2s}.reveal-delay-3{transition-delay:.3s}@media (width<=960px){.rigor-grid,.problem-grid{grid-template-columns:1fr}.step{grid-template-columns:64px 1fr}.step-body{grid-column:2}.team-grid{gap:48px}.contact-layout{grid-template-columns:1fr;gap:48px}.cs-hero-grid,.cs-two-col{grid-template-columns:1fr;gap:40px}.cs-two-col--reverse{direction:ltr}.cs-gallery--three{grid-template-columns:repeat(2,1fr)}}@media (width<=768px){.hero{min-height:auto;padding-top:160px;padding-bottom:80px}.scroll-indicator{display:none}.team-grid{grid-template-columns:1fr}.footer-inner{flex-direction:column;align-items:flex-start;gap:32px}.clients-grid{grid-template-columns:1fr}.work-slide{grid-template-columns:1fr;gap:24px}.work-carousel-arrow{display:none}.cs-gallery,.cs-gallery--three{grid-template-columns:1fr}}@media (width<=600px){.step{grid-template-columns:1fr;gap:12px}.step-body{grid-column:1}.step-number{font-size:1.4rem}}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible{outline:2px solid var(--blue);outline-offset:4px}.skip-link{background:var(--blue-deep);color:var(--white);z-index:200;padding:12px 24px;font-size:.9rem;font-weight:600;transition:top .2s;position:absolute;top:-100%;left:16px}.skip-link:focus{top:16px}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}.reveal,.reveal-slide,.reveal-scale,.no-corners-text,.hero-description,.hero-cta,.scroll-indicator{opacity:1;transform:none}html{scroll-behavior:auto}}::selection{background:var(--blue-deep);color:var(--white)}
