:root{--navy:#07152d;--navy2:#0d2144;--ink:#0b1630;--muted:#667188;--line:#dfe6ef;--bg:#f7f9fc;--white:#fff;--blue:#2d7cff;--blue2:#5aa4ff;--max:1180px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:"DM Sans",system-ui,sans-serif;color:var(--ink);background:var(--bg);line-height:1.5}.site-shell{max-width:1440px;margin:auto;background:var(--white);box-shadow:0 0 80px rgba(8,28,62,.06)}a{color:inherit;text-decoration:none}.skip-link{position:fixed;left:16px;top:12px;transform:translateY(-150%);background:var(--navy);color:#fff;padding:10px 14px;border-radius:8px;z-index:99}.skip-link:focus{transform:none}.nav{height:76px;display:flex;align-items:center;justify-content:space-between;padding:0 34px;position:sticky;top:0;background:rgba(255,255,255,.92);backdrop-filter:blur(14px);z-index:20;border-bottom:1px solid rgba(8,24,50,.06)}.brand{display:flex;gap:10px;align-items:center;font-family:Manrope,sans-serif;font-weight:800;letter-spacing:.04em}.brand-mark{display:grid;place-items:center;width:32px;height:32px;border:1.5px solid var(--navy);border-radius:10px;font-size:16px}.nav nav{display:flex;gap:28px;font-size:14px;color:#556075}.nav nav a:hover,.footer a:hover{color:var(--blue)}.nav-cta{font-size:14px;font-weight:700}.nav-cta span{color:var(--blue)}.hero{min-height:calc(100vh - 76px);display:grid;grid-template-columns:1.1fr .9fr;max-width:var(--max);margin:auto;padding:72px 32px 42px;align-items:center;gap:36px}.eyebrow,.section-kicker,.case-label{font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:#748096}.eyebrow{display:flex;align-items:center;gap:8px}.status-dot{width:8px;height:8px;border-radius:50%;background:var(--blue);box-shadow:0 0 0 6px #eaf2ff}.hero h1{font-family:Manrope,sans-serif;font-size:clamp(50px,6vw,86px);line-height:1.02;letter-spacing:-.055em;margin:24px 0 26px;max-width:850px}h2 span{color:#6480a8}.hero h1 .soft{color:#6480a8}.hero-lead{font-size:19px;color:var(--muted);max-width:610px}.hero-actions{display:flex;align-items:center;gap:24px;margin-top:32px}.button{display:inline-flex;justify-content:center;align-items:center;gap:10px;border:none;border-radius:999px;padding:15px 20px;font:700 14px Manrope,sans-serif;cursor:pointer}.button-primary{background:var(--navy);color:#fff}.button-primary:hover{transform:translateY(-1px);background:#10274d}.text-link{font-weight:700;font-size:14px}.text-link span{color:var(--blue)}.hero-proof{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;border-top:1px solid var(--line);margin-top:58px;padding-top:22px;max-width:720px}.hero-proof div{display:flex;gap:12px}.hero-proof strong{font-family:Manrope;font-size:12px;color:var(--blue)}.hero-proof span{font-size:11px;line-height:1.45;color:#6e7a8d}.hero-art{position:relative;min-height:560px;display:grid;place-items:center;overflow:hidden}.hero-grid{position:absolute;inset:14% 0 0;background-image:linear-gradient(rgba(29,84,170,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(29,84,170,.08) 1px,transparent 1px);background-size:42px 42px;mask-image:linear-gradient(to bottom,transparent 0%,rgba(0,0,0,.7) 24%,rgba(0,0,0,1) 100%);}.orb{position:absolute;border-radius:50%;filter:blur(1px)}.orb-one{width:310px;height:310px;background:radial-gradient(circle at 40% 35%,#86bdff,transparent 57%);top:40px;left:10%}.orb-two{width:360px;height:360px;background:radial-gradient(circle at 60% 50%,#2d7cff,transparent 56%);right:-12%;bottom:18px;opacity:.65}.hero-panel{position:relative;width:min(510px,90%);aspect-ratio:1.14;background:linear-gradient(150deg,#0b1b3b,#112c58);border:1px solid rgba(255,255,255,.15);box-shadow:0 30px 70px rgba(10,34,72,.24);border-radius:28px;padding:24px;transform:rotate(5deg);color:#fff;overflow:hidden}.hero-panel:after{content:"";position:absolute;inset:0;background:radial-gradient(circle at 80% 15%,rgba(88,164,255,.28),transparent 30%),radial-gradient(circle at 20% 85%,rgba(255,255,255,.05),transparent 28%)}.panel-top,.panel-footer{position:relative;z-index:1;display:flex;justify-content:space-between;font:600 11px Manrope,sans-serif;letter-spacing:.06em}.panel-pill{padding:6px 9px;border:1px solid rgba(255,255,255,.2);border-radius:999px;color:#8bc0ff}.panel-line{position:relative;z-index:1;height:10px;border-radius:8px;background:rgba(255,255,255,.09);margin-top:74px}.panel-line.medium{width:82%;margin-top:14px}.panel-line.short{width:55%;margin-top:12px}.panel-card-row{position:relative;z-index:1;display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:54px}.panel-card-row span{height:115px;border-radius:16px;border:1px solid rgba(255,255,255,.09);background:linear-gradient(180deg,rgba(255,255,255,.09),rgba(255,255,255,.03))}.panel-footer{position:absolute;bottom:22px;left:24px;right:24px;color:#90a0b7}.section{padding:108px 32px;max-width:var(--max);margin:auto}.about{background:#fff}.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px;margin-top:28px}.about h2,.services h2,.work h2,.contact h2{font-family:Manrope,sans-serif;font-size:clamp(40px,5vw,62px);line-height:1.05;letter-spacing:-.045em;margin:0}.about-copy{font-size:20px;color:#59657a;max-width:600px}.about-copy p+p{margin-top:22px}.services{background:var(--bg);max-width:none;padding-left:max(32px,calc((100vw - var(--max))/2 + 32px));padding-right:max(32px,calc((100vw - var(--max))/2 + 32px))}.services-head{margin-top:28px}.service-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:46px}.service-card{background:#fff;border:1px solid var(--line);border-radius:20px;padding:24px;min-height:300px;display:flex;flex-direction:column}.service-card:hover{transform:translateY(-4px);box-shadow:0 18px 38px rgba(18,41,77,.08)}.service-number{font:700 11px Manrope;color:#7d899d}.service-icon{margin-top:48px;font-size:27px;color:var(--blue)}.service-card h3{font:700 22px Manrope;margin:22px 0 10px;letter-spacing:-.025em}.service-card p{color:var(--muted);font-size:14px;margin:0}.work{background:#fff}.case-head{display:flex;justify-content:space-between;gap:40px;align-items:flex-end;margin-top:28px}.case-label{color:var(--blue);margin-bottom:12px}.case-meta{display:grid;gap:8px;text-align:right;font-size:12px;color:#7a8598}.case-meta a{color:var(--ink);font-weight:700}.case-visual{margin-top:42px;border:1px solid var(--line);border-radius:26px;overflow:hidden;background:#eef3f8;box-shadow:0 24px 70px rgba(28,58,105,.12)}.browser-bar{height:44px;display:flex;gap:8px;align-items:center;padding:0 16px;background:#f4f7fa;border-bottom:1px solid #dde5ee}.browser-bar>span{width:8px;height:8px;border-radius:50%;background:#c7d1dc}.browser-url{margin:auto;width:50%;max-width:520px;text-align:center;padding:6px 12px;border:1px solid #dbe3eb;border-radius:999px;background:#fff;color:#7c8798;font-size:11px}.case-visual img{display:block;width:100%;height:auto}.case-bottom{display:grid;grid-template-columns:1.4fr .8fr;gap:70px;align-items:start;margin-top:36px}.case-statement p{font-size:20px;line-height:1.55;color:#59657a;margin:0}.case-statement strong{color:var(--ink)}.case-facts{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.case-facts div{border-left:1px solid var(--line);padding-left:14px}.case-facts small{display:block;text-transform:uppercase;letter-spacing:.12em;font-size:10px;color:#8a95a6;margin-bottom:7px}.case-facts strong{font-size:13px}.contact{max-width:none;background:var(--navy);padding-left:max(32px,calc((100vw - var(--max))/2 + 32px));padding-right:max(32px,calc((100vw - var(--max))/2 + 32px))}.contact-panel{display:grid;grid-template-columns:1.15fr .85fr;gap:90px}.contact .section-kicker{color:#7ea7da}.contact h2{color:#fff;margin-top:30px}.contact h2 span{color:#7297c6}.contact-copy>p{font-size:18px;color:#a9bbd2;max-width:560px;margin:24px 0 38px}.contact-links{display:grid;gap:10px;max-width:560px}.contact-row{display:flex;justify-content:space-between;gap:20px;padding:14px 0;border-bottom:1px solid rgba(255,255,255,.12);color:#a9bbd2;font-size:13px}.contact-row strong{color:#fff}.contact-form{align-self:center;background:#fff;padding:28px;border-radius:24px;box-shadow:0 18px 50px rgba(0,0,0,.12)}.contact-form label{display:block;font:700 12px Manrope;color:#39485f;margin-bottom:16px}.contact-form input,.contact-form textarea{display:block;width:100%;border:1px solid #dbe3eb;border-radius:12px;padding:13px 14px;margin-top:8px;font:500 14px "DM Sans";outline:none;background:#fbfcfe}.contact-form input:focus,.contact-form textarea:focus{border-color:#6ca7ff;box-shadow:0 0 0 4px rgba(45,124,255,.09)}.button.full{width:100%}.form-note{font-size:10px;color:#8994a4;margin:12px 2px 0}.footer{display:flex;justify-content:space-between;align-items:flex-end;gap:30px;max-width:var(--max);margin:auto;padding:32px;border-top:1px solid rgba(8,24,50,.08)}.footer p{font-size:12px;color:#7d899b;margin:12px 0 0}.footer-right{display:flex;gap:24px;font-size:11px;color:#7d899b}.reveal{opacity:0;transform:translateY(18px);transition:opacity .7s ease,transform .7s ease}.reveal.is-visible{opacity:1;transform:none}@media (max-width:980px){.nav{padding:0 22px}.nav nav{display:none}.hero{grid-template-columns:1fr;padding-top:60px}.hero-art{min-height:420px;order:-1}.hero-copy{order:2}.hero h1{font-size:clamp(48px,9vw,74px)}.about-grid,.contact-panel{grid-template-columns:1fr;gap:36px}.service-grid{grid-template-columns:repeat(2,1fr)}.case-head,.case-bottom{grid-template-columns:1fr;display:grid}.case-meta{text-align:left;display:flex;flex-wrap:wrap}.case-facts{grid-template-columns:repeat(3,1fr)}}@media (max-width:620px){.nav{height:68px}.nav-cta{font-size:12px}.nav-cta span{display:none}.hero{padding:48px 20px 34px;min-height:auto}.hero-art{min-height:320px}.hero-panel{width:88%;border-radius:22px}.hero-proof{grid-template-columns:1fr;margin-top:40px}.hero-proof div{padding:10px 0;border-bottom:1px solid var(--line)}.section{padding:76px 20px}.services{padding-left:20px;padding-right:20px}.service-grid{grid-template-columns:1fr}.service-card{min-height:auto}.case-visual{border-radius:18px}.browser-url{width:55%}.case-bottom{gap:26px}.case-facts{grid-template-columns:1fr}.contact{padding-left:20px;padding-right:20px}.contact-panel{gap:40px}.contact-form{padding:22px}.footer{padding:28px 20px;flex-direction:column;align-items:flex-start}.footer-right{flex-direction:column;gap:7px}.hero h1{font-size:48px}.hero-lead,.about-copy,.case-statement p{font-size:17px}}
.scroll-progress{position:fixed;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,#2d7cff,#b7ddff);transform:scaleX(0);transform-origin:left;z-index:80;pointer-events:none}
body{--mx:50vw;--my:40vh}
body.is-loading{overflow:hidden}
body.has-cursor{cursor:none}
body.has-cursor a,body.has-cursor button{cursor:none}
body:before{content:"";position:fixed;inset:0;pointer-events:none;z-index:3;background:radial-gradient(700px circle at var(--mx) var(--my),rgba(45,124,255,.09),transparent 42%)}
.page-noise{position:fixed;inset:0;pointer-events:none;z-index:70;opacity:.035;mix-blend-mode:multiply;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}
.loader{position:fixed;inset:0;z-index:200;background:#07152d;display:grid;place-items:center;color:#fff;transition:opacity .8s cubic-bezier(.76,0,.24,1),visibility .8s}
.loader-inner{display:grid;justify-items:center;gap:18px}
.loader-mark{width:64px;height:64px;display:grid;place-items:center;border:1.5px solid rgba(255,255,255,.4);border-radius:18px;font:800 28px Manrope,sans-serif;letter-spacing:.08em;animation:loader-pop 1s cubic-bezier(.16,1,.3,1)}
.loader-name{font:800 13px Manrope,sans-serif;letter-spacing:.42em;opacity:0;animation:fade-up .7s .25s cubic-bezier(.16,1,.3,1) forwards}
.loader-bar{width:84px;height:1px;background:rgba(255,255,255,.15);overflow:hidden;position:relative}
.loader-bar:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent,#8ec2ff,transparent);animation:loader-scan 1.1s .2s cubic-bezier(.76,0,.24,1) forwards}
body.is-ready .loader{opacity:0;visibility:hidden;pointer-events:none}
.cursor{position:fixed;top:0;left:0;z-index:85;pointer-events:none;mix-blend-mode:difference}
.cursor i{position:absolute;border-radius:50%;display:block}
.cursor-dot{width:6px;height:6px;background:#fff;transform:translate(-50%,-50%)}
.cursor-ring{width:36px;height:36px;border:1px solid rgba(255,255,255,.7);transform:translate(-50%,-50%);transition:width .35s ease,height .35s ease}
body.is-pointer .cursor-ring{width:56px;height:56px}
body.is-loading .cursor,.cursor.is-off{display:none}
.nav{transition:height .45s cubic-bezier(.16,1,.3,1),box-shadow .45s ease,transform .5s cubic-bezier(.16,1,.3,1),background .35s ease}
.nav.is-scrolled{height:64px;box-shadow:0 12px 30px rgba(8,28,62,.07)}
.nav.is-hidden{transform:translateY(-110%)}
.nav nav a{position:relative}
.nav nav a:after{content:"";position:absolute;left:0;bottom:-6px;width:100%;height:1.5px;background:var(--blue);transform:scaleX(0);transform-origin:left;transition:transform .5s cubic-bezier(.16,1,.3,1)}
.nav nav a:hover:after{transform:scaleX(1)}
.brand,.nav-cta,.text-link,.case-meta a,.footer a{transition:color .25s ease,transform .25s ease}
.nav-cta span,.text-link span,.button span{display:inline-block;transition:transform .35s cubic-bezier(.16,1,.3,1)}
.nav-cta:hover span,.button:hover span{transform:translate(3px,-2px)}
.text-link:hover span{transform:translateY(3px)}
.button{position:relative;overflow:hidden;transition:transform .3s cubic-bezier(.16,1,.3,1),background .3s ease,box-shadow .3s ease}
.button-primary:hover{background:#10274d;box-shadow:0 18px 40px rgba(7,21,45,.22)}
.button-primary:after{content:"";position:absolute;inset:0;background:linear-gradient(105deg,transparent 35%,rgba(255,255,255,.2) 50%,transparent 65%);transform:translateX(-130%);transition:transform .8s ease}
.button-primary:hover:after{transform:translateX(130%)}
.hero h1 .line{display:block;overflow:hidden;perspective:500px}
.hero h1 .split-chars{display:block}
.hero h1 .h-word{display:inline-block;white-space:nowrap}
.hero h1 .char{display:inline-block;opacity:0;transform:translateY(120%) rotateX(-70deg);transform-origin:bottom;color:var(--ink)}
.hero h1 .split-chars.soft .char{color:#6480a8}
body.is-ready .hero h1 .char{animation:char-rise 1.05s cubic-bezier(.16,1,.3,1) forwards;animation-delay:calc(var(--c)*22ms + .15s)}
.hero-in{opacity:0;transform:translateY(28px)}
body.is-ready .hero-in{animation:rise-in 1.1s cubic-bezier(.16,1,.3,1) forwards;animation-delay:calc(var(--i)*110ms)}
.hero-art{perspective:1200px}
.hero-aurora{position:absolute;inset:8% 4% 10%;background:conic-gradient(from 120deg at 50% 50%,rgba(45,124,255,0),rgba(90,164,255,.22),rgba(45,124,255,0) 40%);filter:blur(30px);animation:aurora 12s linear infinite;pointer-events:none}
.hero-glow{position:absolute;width:320px;height:320px;border-radius:50%;background:radial-gradient(circle,rgba(45,124,255,.32),transparent 70%);left:var(--gx,58%);top:var(--gy,42%);transform:translate(-50%,-50%);pointer-events:none;filter:blur(10px);transition:left .5s ease,top .5s ease}
.orb-one{animation:drift 10s ease-in-out infinite}
.orb-two{animation:drift 13s ease-in-out infinite reverse}
.hero-grid{animation:grid-shift 22s linear infinite}
.hero-tilt{width:min(510px,90%);transform-style:preserve-3d;transition:transform .2s ease-out}
.hero-panel{width:100%;animation:panel-float 7s ease-in-out infinite}
.hero-panel:before{content:"";position:absolute;inset:-40% auto auto -30%;width:70%;height:40%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.18),transparent);transform:rotate(18deg);animation:sheen 4.5s ease-in-out infinite;z-index:2;pointer-events:none}
.panel-pill{animation:live-pulse 2.4s ease-in-out infinite}
.panel-card-row span{animation:card-glow 4.8s ease-in-out infinite}
.panel-card-row span:nth-child(2){animation-delay:.4s}
.panel-card-row span:nth-child(3){animation-delay:.8s}
.reveal{opacity:0;transform:translateY(40px) scale(.985);filter:blur(8px);transition:opacity 1s cubic-bezier(.16,1,.3,1),transform 1s cubic-bezier(.16,1,.3,1),filter 1s ease,clip-path 1.15s cubic-bezier(.76,0,.24,1);transition-delay:var(--delay,0ms)}
.reveal.is-visible{opacity:1;transform:none;filter:none}
.split-words .word{display:inline-block;overflow:hidden;vertical-align:bottom;margin-right:.22em}
.split-words .word>span{display:inline-block;transform:translateY(110%);transition:transform 1s cubic-bezier(.16,1,.3,1)}
.reveal.is-visible .split-words .word>span{transform:none}
.reveal.is-visible .split-words .word:nth-child(2)>span{transition-delay:.08s}
.reveal.is-visible .split-words .word:nth-child(3)>span{transition-delay:.16s}
.reveal.is-visible .split-words .word:nth-child(4)>span{transition-delay:.24s}
.service-card{position:relative;overflow:hidden;transition:transform .5s cubic-bezier(.16,1,.3,1),box-shadow .5s ease,border-color .5s ease}
.service-card:before{content:"";position:absolute;inset:0;background:radial-gradient(240px circle at var(--spotx,50%) var(--spoty,0%),rgba(45,124,255,.14),transparent 46%);opacity:0;transition:opacity .4s ease;pointer-events:none}
.service-card .service-icon{transition:transform .5s cubic-bezier(.16,1,.3,1);display:inline-block}
.service-card:hover{transform:translateY(-10px) scale(1.015);box-shadow:0 28px 50px rgba(18,41,77,.14);border-color:#c9d8ea}
.service-card:hover:before{opacity:1}
.service-card.is-pressed:before{opacity:1}
.service-card.is-pressed{transform:translateY(-6px);border-color:#c9d8ea}
.case-visual{clip-path:inset(14% 10% 14% 10% round 26px);transition:transform .7s cubic-bezier(.16,1,.3,1),box-shadow .7s ease,clip-path 1.25s cubic-bezier(.76,0,.24,1)}
.case-visual img{transform:scale(1.12);transition:transform 1.6s cubic-bezier(.16,1,.3,1)}
.case-visual.is-visible{clip-path:inset(0 0 0 0 round 26px)}
.case-visual.is-visible img{transform:scale(1)}
.case-visual:hover{transform:translateY(-8px);box-shadow:0 32px 80px rgba(28,58,105,.2)}
.case-visual:hover img{transform:scale(1.045)}
.ticker{overflow:hidden;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:18px 0;background:#fff}
.ticker-track{display:flex;gap:48px;width:max-content;animation:ticker 28s linear infinite;font:700 13px Manrope,sans-serif;letter-spacing:.18em;text-transform:uppercase;color:#8a95a6}
.ticker-track span:after{content:"✦";margin-left:48px;color:#2d7cff}
.contact-row{transition:transform .35s ease,color .35s ease}
.contact-row strong{transition:transform .35s cubic-bezier(.16,1,.3,1)}
.contact-row:hover{color:#fff;transform:translateX(6px)}
.contact-row:hover strong{transform:translateX(6px)}
.contact-form{transition:transform .55s cubic-bezier(.16,1,.3,1),box-shadow .55s ease}
.contact-form.is-visible{animation:form-settle 1s cubic-bezier(.16,1,.3,1)}
@keyframes rise-in{to{opacity:1;transform:none}}
@keyframes char-rise{to{opacity:1;transform:none}}
@keyframes fade-up{to{opacity:1;transform:none}}
@keyframes loader-pop{from{opacity:0;transform:scale(.7) rotate(-8deg)}to{opacity:1;transform:none}}
@keyframes loader-scan{from{transform:translateX(-100%)}to{transform:translateX(100%)}}
@keyframes drift{0%,100%{transform:translate(0,0)}50%{transform:translate(16px,-22px)}}
@keyframes grid-shift{to{background-position:42px 42px}}
@keyframes aurora{to{transform:rotate(360deg)}}
@keyframes sheen{0%,70%{transform:translateX(-40%) rotate(18deg)}100%{transform:translateX(220%) rotate(18deg)}}
@keyframes panel-float{0%,100%{transform:rotate(5deg) translateY(0)}50%{transform:rotate(5deg) translateY(-12px)}}
@keyframes live-pulse{0%,100%{box-shadow:0 0 0 0 rgba(139,192,255,0)}50%{box-shadow:0 0 0 6px rgba(139,192,255,.18)}}
@keyframes card-glow{0%,100%{background:linear-gradient(180deg,rgba(255,255,255,.09),rgba(255,255,255,.03))}50%{background:linear-gradient(180deg,rgba(255,255,255,.18),rgba(255,255,255,.05))}}
@keyframes form-settle{from{transform:translateY(28px) rotateX(8deg)}to{transform:none}}
@keyframes ticker{from{transform:translateX(0)}to{transform:translateX(-50%)}}
.hero{grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr)}
.hero-copy,.hero-art{min-width:0}
.hero h1{max-width:100%}
.hero h1 .split-chars .char{color:var(--ink)}
.hero h1 .split-chars.soft .char{color:#6480a8}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  body{cursor:auto}
  .reveal,.hero-in,.hero h1 .char,.split-words .word>span{opacity:1;transform:none;filter:none;animation:none;transition:none}
  .orb-one,.orb-two,.hero-grid,.hero-panel,.hero-panel:before,.panel-pill,.panel-card-row span,.contact-form.is-visible,.ticker-track,.hero-aurora,.loader-mark,.loader-name,.loader-bar:after{animation:none}
  .service-card,.button,.case-visual,.case-visual img,.hero-tilt,.cursor-ring{transition:none}
  .scroll-progress,.cursor,.loader,.page-noise{display:none}
  .case-visual{clip-path:none}
}
.menu-toggle{display:none;width:44px;height:44px;border:0;background:transparent;padding:0;flex-direction:column;justify-content:center;align-items:flex-end;gap:7px;z-index:70;position:relative}
.menu-toggle span{display:block;width:22px;height:1.5px;background:var(--navy);transition:transform .4s cubic-bezier(.16,1,.3,1),width .3s ease,background .3s ease}
.menu-toggle span:last-child{width:16px}
.mobile-menu{position:fixed;inset:0;z-index:54;background:#07152d;display:flex;align-items:flex-end;padding:32px 24px calc(36px + env(safe-area-inset-bottom));clip-path:inset(0 0 100% 0);transition:clip-path .75s cubic-bezier(.76,0,.24,1);pointer-events:none}
.mobile-menu-inner{width:100%}
.mobile-menu-kicker{font:700 11px Manrope,sans-serif;letter-spacing:.18em;text-transform:uppercase;color:#7ea7da;margin:0 0 28px}
.mobile-menu a{display:block;font:800 clamp(40px,12vw,62px) Manrope,sans-serif;letter-spacing:-.05em;line-height:1.05;color:#fff;padding:6px 0;opacity:0;transform:translateY(28px)}
.mobile-menu-cta{margin-top:28px;width:auto;display:inline-flex!important;font:700 14px Manrope,sans-serif!important;letter-spacing:0!important;padding:15px 20px!important}
body.menu-open{overflow:hidden}
body.menu-open .mobile-menu{clip-path:inset(0);pointer-events:auto}
body.menu-open .mobile-menu a{animation:rise-in .7s cubic-bezier(.16,1,.3,1) forwards;animation-delay:calc(var(--i,1)*80ms)}
body.menu-open .menu-toggle span{background:#fff}
body.menu-open .menu-toggle span:first-child{transform:translateY(4.25px) rotate(45deg);width:22px}
body.menu-open .menu-toggle span:last-child{transform:translateY(-4.25px) rotate(-45deg);width:22px}
body.menu-open .nav{background:transparent;border-color:transparent;box-shadow:none}
body.menu-open .brand,body.menu-open .brand-mark{color:#fff}
body.menu-open .brand-mark{border-color:#fff}
body.menu-open .nav-cta{opacity:0;pointer-events:none}
body.menu-open .nav{z-index:60}
@media (min-width:981px){
  .menu-toggle{display:none!important}
  .mobile-menu{display:none}
}
@media (max-width:980px){
  .hero{grid-template-columns:1fr;padding-top:36px}
  .hero-copy,.hero-art{min-width:0}
  .nav{padding:0 18px;padding-top:env(safe-area-inset-top)}
  .nav.is-hidden{transform:none}
  .desktop-nav,.nav nav{display:none}
  .menu-toggle{display:flex}
  .nav-cta{margin-left:auto;margin-right:8px}
  .reveal{filter:none;transform:translateY(28px)}
  body.is-ready .hero h1 .char{animation-duration:.85s;animation-delay:calc(var(--c)*14ms + .06s)}
  .hero-art{min-height:min(52vh,420px);order:-1}
  .hero-copy{order:2}
  .hero-tilt{width:min(360px,82%)}
  .hero-panel{border-radius:24px}
  .hero h1{font-size:clamp(40px,11vw,64px)}
  .hero-actions{flex-wrap:wrap}
  .service-grid{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;gap:14px;margin-top:32px;padding:4px 4px 18px;scrollbar-width:none}
  .service-grid::-webkit-scrollbar{display:none}
  .service-card{flex:0 0 min(78vw,300px);scroll-snap-align:start;min-height:280px;transform:none}
  .service-card.is-visible{animation:card-in .8s cubic-bezier(.16,1,.3,1) both}
  .service-card:nth-child(2).is-visible{animation-delay:.08s}
  .service-card:nth-child(3).is-visible{animation-delay:.16s}
  .service-card:nth-child(4).is-visible{animation-delay:.24s}
  .ticker-track{animation-duration:18s;font-size:12px;gap:32px}
  .contact-row:active,.contact-row:hover{transform:translateX(4px)}
  .button-primary:active{transform:scale(.97)}
  .case-visual{clip-path:inset(8% 6% 8% 6% round 18px)}
  .case-visual.is-visible{clip-path:inset(0 0 0 0 round 18px)}
  .scroll-progress{top:env(safe-area-inset-top)}
  .cursor{display:none!important}
  body.has-cursor,body.has-cursor a,body.has-cursor button{cursor:auto}
}
@media (max-width:620px){
  .nav-cta span{display:none}
  .hero{padding:28px 18px 28px;min-height:auto}
  .hero-proof{grid-template-columns:1fr}
  .section{padding:72px 18px}
  .services,.contact{padding-left:18px;padding-right:18px}
  .hero-art{min-height:min(46vh,360px)}
  .panel-card-row span{height:84px}
  .panel-line{margin-top:48px}
}
@keyframes card-in{from{opacity:0;transform:translateX(28px)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){
  .mobile-menu{clip-path:none;transition:none}
  .service-card.is-visible{animation:none}
}
