/* Larger reading scale and a spacious, high-contrast navigation surface. */
body{font-size:1.125rem;line-height:1.65}
section[id],main[id]{scroll-margin-top:10rem}
.site-header{position:fixed;top:1.25rem;left:clamp(1rem,3vw,3rem);right:clamp(1rem,3vw,3rem);height:auto;min-height:6.5rem;padding:1.25rem 1.75rem;gap:1.5rem;border:1px solid #93b7ee30;border-radius:1.25rem;background:#080e1eed;box-shadow:0 14px 50px #0005,inset 0 1px 0 #ffffff0c;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);z-index:30}
.brand{gap:.875rem;font-size:1.625rem;letter-spacing:.14em;flex-shrink:0;line-height:1.2}
.brand-mark{width:2.875rem;height:2.875rem;border-radius:.75rem;font-size:1.375rem;border-color:#76b5ff80;background:linear-gradient(145deg,#163669,#0c1731);box-shadow:inset 0 1px 0 #9cd4ff20;color:#a5d8ff}
.site-header nav{display:flex;align-items:center;gap:.375rem;padding:.375rem;border-radius:.875rem;background:#ffffff04;border:1px solid #ffffff08}
.site-header nav a{font-size:1.125rem;font-weight:500;line-height:1.3;padding:.8125rem 1.125rem;border-radius:.625rem;color:#c6d2e6;white-space:nowrap;transition:background .2s,color .2s}
.site-header nav a:hover,.site-header nav a:focus-visible{color:white;background:#689efc1c}
.site-header .header-cta{display:flex;align-items:center;justify-content:center;gap:1.125rem;padding:1rem 1.375rem;border:1px solid #79b1ff66;border-radius:.75rem;background:#235ac2;color:#fff;font-size:1.125rem;font-weight:600;line-height:1.3;white-space:nowrap;box-shadow:0 4px 22px #124cc033;transition:background .2s,box-shadow .2s}
.header-cta span{color:#d9eeff;font-size:1.5rem;margin:0}.header-cta:hover{background:#2d6bdd;box-shadow:0 5px 30px #387df94d}
.site-header nav .mobile-contact{display:none}
.menu-button{min-width:3.25rem;min-height:3.25rem;padding:.5rem;border:1px solid #9ec3ff35;border-radius:.75rem;background:#15223a;align-items:center;justify-content:center;flex-direction:column;flex-shrink:0}
.menu-button span{width:1.625rem;height:2px;margin:4px;transition:transform .2s}
.site-header.open .menu-button span:first-child{transform:translateY(5px) rotate(45deg)}
.site-header.open .menu-button span:last-child{transform:translateY(-5px) rotate(-45deg)}
.hero{padding-top:13.5rem;min-height:65rem}
.hero h1{font-size:clamp(3.25rem,5.1vw,5.125rem);max-width:58rem;line-height:1.14}
.hero-copy{font-size:1.375rem;max-width:39rem;line-height:1.75}
.hero .eyebrow,.section-label{font-size:.9375rem;line-height:1.6;letter-spacing:.13em}
.button{font-size:1.125rem;min-height:4rem;min-width:18rem;padding:1.25rem 1.5rem;gap:1.5rem;line-height:1.4}.button b{font-size:1.375rem}
.text-link{font-size:1.125rem;padding:.75rem 0}.hero-actions{flex-wrap:wrap}
.hero-proof{gap:3rem;flex-wrap:wrap}.hero-proof strong{font-size:1.5rem}.hero-proof span{font-size:1rem;max-width:none;line-height:1.5;margin-top:.5rem}
.hero-bottom{flex-wrap:wrap;gap:1.25rem}
.gravity-trigger{font-size:1.125rem;gap:1rem;min-height:3.5rem}.gravity-trigger small{font-size:.9375rem;line-height:1.5}.gravity-trigger-icon{font-size:2.75rem}
.motion-toggle{font-size:1rem;min-height:3rem;padding:.75rem 1.25rem}
.gravity-caption{font-size:.9375rem;bottom:15rem}.gravity-caption small{font-size:.8125rem;line-height:1.6}
.statement{gap:3rem}.statement h2{font-size:clamp(2.5rem,3.2vw,3.5rem)}.statement>div{gap:3rem}.statement>div>p{font-size:1.25rem;line-height:1.8}
.service-card{padding:3.5rem 2.25rem}.service-card h3{font-size:2.625rem}.service-card p{font-size:1.25rem;line-height:1.75}.service-card ul{font-size:1.0625rem;line-height:2}.service-top{font-size:1rem}.service-top i{font-size:2.5rem}
.work-heading h2,.process h2,.contact h2{font-size:clamp(2.75rem,4.8vw,4.75rem);line-height:1.15}
.case-copy{padding:3rem}.case-copy h3{font-size:3rem}.case-copy>p{font-size:1.25rem;line-height:1.8}.case-meta{font-size:.875rem}.project-tags li{font-size:.9375rem;padding:.5rem .75rem}.project-link{font-size:1.125rem;min-height:3.5rem}
.cover-top{font-size:1.125rem}.cover-top>span:last-child{width:3rem;height:3rem;font-size:1.75rem}.cover-label,.cover-foot{font-size:.9375rem}.cover-body strong{font-size:clamp(2.625rem,4vw,4rem)}.cover-body p{font-size:1.0625rem}
.step{min-height:20rem}.step span{font-size:1rem}.step h3{font-size:1.875rem}.step p{font-size:1.1875rem;max-width:none;line-height:1.75}
footer p{font-size:1.0625rem}footer a{font-size:1.125rem}footer small{font-size:.875rem;line-height:1.6}
@media(max-width:1200px){.site-header{gap:1rem;padding:1.125rem 1.25rem}.site-header nav a{padding:.75rem .875rem}.site-header .header-cta{padding:.875rem 1rem}.brand{font-size:1.5rem}.statement,.statement>div{grid-template-columns:1fr}.services{grid-template-columns:1fr;gap:1.5rem}.service-card h3{margin-top:2.5rem}.steps{grid-template-columns:1fr 1fr}.step{border-bottom:1px solid var(--line);padding:2rem}.step h3{margin-top:2.5rem}}
@media(max-width:1100px){.site-header nav{display:none}.site-header .header-cta{display:none}.menu-button{display:flex}.site-header.open nav{display:flex;position:absolute;top:calc(100% + .75rem);left:0;right:0;align-items:stretch;gap:.5rem;padding:1rem;flex-direction:column;border:1px solid #83b4ff38;border-radius:1rem;background:#0a1124;box-shadow:0 20px 55px #0008;max-height:calc(100dvh - 10rem);overflow-y:auto}.site-header.open nav a{font-size:1.25rem;padding:1rem 1.25rem;white-space:normal}.site-header.open nav .mobile-contact{display:block;background:#235ac2;color:white}.case,.case-two{grid-template-columns:1fr}.case-two .project-cover{order:2}.case-copy{min-height:0}.work-heading{display:block}.work-heading h2{width:100%;margin-top:2rem}.hero h1{font-size:clamp(3rem,5.5vw,4rem)}}
@media(max-width:760px){body{font-size:1.125rem}.site-header{top:.75rem;left:.75rem;right:.75rem;min-height:5.25rem;padding:.875rem 1rem;border-radius:1rem}.brand{font-size:1.375rem;gap:.75rem}.brand-mark{width:2.5rem;height:2.5rem;font-size:1.25rem}.hero{padding-top:26rem;min-height:0}.hero h1{font-size:clamp(2.375rem,7.5vw,3.5rem);max-width:100%;letter-spacing:-.04em}.hero-copy{font-size:1.25rem;line-height:1.75}.hero .eyebrow{font-size:.875rem;letter-spacing:.08em}.gravity-caption{top:21.5rem;bottom:auto;right:1.5rem;font-size:.8125rem;letter-spacing:.1em}.gravity-caption small{font-size:.75rem}.hero-proof{gap:1.5rem 2rem}.hero-proof strong{font-size:1.25rem}.hero-proof span{font-size:.9375rem}.hero-bottom{justify-content:space-between}.gravity-trigger{font-size:1rem;gap:.75rem}.gravity-trigger small{font-size:.875rem}.motion-toggle{font-size:.9375rem}.statement h2,.work-heading h2,.process h2,.contact h2{font-size:clamp(2.375rem,7vw,3.25rem)}.service-card{padding:2.5rem 1.75rem}.service-card h3{font-size:2.375rem}.case-copy{padding:2rem}.case-copy h3{font-size:2.625rem}.cover-body strong{font-size:2.625rem}.cover-top{font-size:1rem}.cover-foot{flex-wrap:wrap}.steps{grid-template-columns:1fr}.step{min-height:0;padding:2rem 0!important;border-right:0}.step h3{margin-top:1.75rem}footer>div{flex-wrap:wrap;gap:1.5rem}footer .brand{justify-content:center}.button,.large{min-width:0;max-width:100%;width:100%}.hero-actions{align-items:stretch;gap:1.25rem}.hero-actions .text-link{text-align:center}.charge-track{display:none}}
@media(max-width:380px){.site-header{padding:.75rem}.brand{font-size:1.25rem;letter-spacing:.1em}.hero h1{font-size:2.125rem}.hero-bottom{align-items:flex-start;flex-direction:column}.project-cover{padding:1.5rem}.cover-body strong{font-size:2.25rem}}
