
/* native cursor (Faheem asked, Oct 27) */
.cursor{display:none!important}
.has-cursor{cursor:auto!important}
.has-cursor a,.has-cursor button,.has-cursor summary,.has-cursor [role=button]{cursor:pointer!important}

/* ===== studio layer: CTAs, proof, services, process, FAQ, band (generated by build_clean.py) ===== */
:root{--line:rgba(242,239,232,.1);--card:#141413;--card2:#1a1a18;--sec:clamp(88px,13vh,160px)}
.eyebrow{display:inline-flex;align-items:center;gap:10px;margin:0 0 18px;color:var(--mute);font-size:.8125rem;font-weight:500;letter-spacing:.08em;text-transform:uppercase}
.eyebrow i{width:7px;height:7px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 4px rgba(255,210,63,.14)}
/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;height:50px;padding:0 24px;border-radius:999px;font-weight:600;font-size:1rem;letter-spacing:-.005em;line-height:1;white-space:nowrap;border:1px solid transparent;transition:transform .45s var(--ease),background-color .3s,border-color .3s,color .3s,box-shadow .45s var(--ease)}
.btn svg{flex:none}
.btn--p{background:var(--accent);color:var(--ink);box-shadow:0 12px 32px -14px rgba(255,210,63,.55)}
.btn--p:hover{background:#ffe17a;transform:translateY(-2px);box-shadow:0 18px 40px -14px rgba(255,210,63,.7)}
.btn--g{color:var(--paper);border-color:rgba(242,239,232,.26);background:rgba(12,12,11,.42);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}
.btn--g:hover{border-color:rgba(242,239,232,.7);background:rgba(242,239,232,.07);transform:translateY(-2px)}
.btn--lg{height:58px;padding:0 30px;font-size:1.0625rem}
.btn--sm{height:40px;padding:0 18px;font-size:.9375rem;box-shadow:none}
.btn:active{transform:translateY(0) scale(.98)}
/* nav */
.nav{gap:24px}
.nav__links{margin-left:auto;align-items:center}
.nav__links a{color:rgba(242,239,232,.82);transition:color .3s}
.nav__links a:hover{color:var(--paper)}
.nav__cta{margin-left:clamp(8px,1.6vw,24px)}
.nav__cta::after{display:none}
/* hero */
.hero{padding-bottom:clamp(36px,8vh,96px)}
.hero__shade{background:linear-gradient(180deg,rgba(12,12,11,.6) 0%,rgba(12,12,11,.2) 22%,rgba(12,12,11,.5) 46%,rgba(12,12,11,.9) 72%,var(--ink) 97%)}
.hero__copy{max-width:1180px}
.hero__eyebrow{margin-bottom:22px;color:rgba(242,239,232,.8)}
.hero__title{font-size:clamp(2.75rem,1rem + 5.6vw,6.9rem);font-weight:750;font-stretch:106%;letter-spacing:-.045em;line-height:.98;text-wrap:balance}
.hero__lede{margin:26px 0 0;max-width:56ch;font-size:clamp(1.0625rem,.95rem + .45vw,1.3125rem);line-height:1.5;color:rgba(242,239,232,.78);animation:fadeup 1s var(--ease) both;animation-delay:.4s}
.hero__ctas{display:flex;flex-wrap:wrap;gap:12px;margin-top:34px;animation:fadeup 1s var(--ease) both;animation-delay:.5s}
/* proof bar */
.proof{padding:clamp(28px,5vh,56px) var(--m) 0}
.stats{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.stats li{padding:clamp(26px,4vh,40px) clamp(14px,2vw,32px);display:flex;flex-direction:column;gap:10px}
.stats li+li{border-left:1px solid var(--line)}
.stats b{font-size:clamp(2.4rem,1.2rem + 3.2vw,4.4rem);font-weight:750;font-stretch:108%;letter-spacing:-.045em;line-height:.95;font-variant-numeric:tabular-nums}
.stats li:first-child b{color:var(--accent)}
.stats span{color:var(--mute);font-size:.9375rem;line-height:1.35;max-width:22ch}
.proof__cv{display:flex;flex-wrap:wrap;align-items:center;gap:8px 22px;margin:22px 0 0;color:var(--mute);font-size:.9375rem}
.proof__cv .u{color:rgba(242,239,232,.45)}
.proof__cv b{color:var(--paper);font-weight:600}
/* section heads */
.shead{padding:var(--sec) var(--m) 0;max-width:1100px}
.shead h2{margin:0;font-size:clamp(2.1rem,1rem + 3.4vw,4.4rem);font-weight:750;font-stretch:106%;letter-spacing:-.04em;line-height:1;text-wrap:balance}
.shead p:not(.eyebrow){margin:20px 0 0;color:var(--mute);font-size:var(--f-m);line-height:1.45;max-width:46ch}
.shead--work{padding-bottom:2vh}
/* services */
.svc__grid{list-style:none;margin:0;padding:clamp(40px,7vh,72px) var(--m) 0;display:grid;grid-template-columns:repeat(2,1fr);gap:var(--g)}
.svc{position:relative;display:flex;flex-direction:column;padding:clamp(26px,3vw,44px);border-radius:20px;background:var(--card);border:1px solid var(--line);overflow:hidden;transition:transform .6s var(--ease),border-color .4s,background-color .4s}
.svc::before{content:"";position:absolute;inset:0;background:radial-gradient(600px circle at 100% 0%,rgba(255,210,63,.09),transparent 45%);opacity:0;transition:opacity .5s}
.svc:hover{transform:translateY(-4px);border-color:rgba(242,239,232,.22);background:var(--card2)}
.svc:hover::before{opacity:1}
.svc__n{color:var(--accent);padding-bottom:clamp(36px,6vh,64px)}
.svc h3{margin:0;font-size:clamp(1.6rem,1rem + 1.5vw,2.4rem);font-weight:700;font-stretch:104%;letter-spacing:-.035em;line-height:1.05}
.svc>p{margin:14px 0 0;color:var(--mute);line-height:1.55;max-width:44ch;font-size:1.0625rem}
.tags{list-style:none;margin:22px 0 26px;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.tags li{padding:6px 12px;border-radius:999px;border:1px solid var(--line);font-size:.8125rem;color:rgba(242,239,232,.75)}
.svc__proof{position:relative;margin:auto 0 0;padding-top:20px;border-top:1px solid var(--line);display:flex;flex-wrap:wrap;align-items:center;gap:8px 18px;font-size:.9375rem}
.svc__proof .u{color:rgba(242,239,232,.45);font-weight:500}
.svc__proof a{border-bottom:1px solid rgba(242,239,232,.25);padding-bottom:2px;transition:border-color .3s,color .3s}
.svc__proof a:hover{border-color:var(--accent);color:var(--accent)}
.svc__proof span{color:var(--paper)}
/* case cards: problem / built / result */
.pbr{margin:0 0 26px;display:grid;gap:14px;max-width:38ch}
.pbr div{display:grid;grid-template-columns:72px 1fr;gap:12px;padding-top:14px;border-top:1px solid var(--line)}
.pbr dt{font-size:.75rem;letter-spacing:.08em;text-transform:uppercase;color:rgba(242,239,232,.45);padding-top:3px}
.pbr dd{margin:0;color:rgba(242,239,232,.82);line-height:1.45;font-size:1rem}
.pbr div:last-child dt{color:var(--accent)}
.pbr div:last-child dd{color:var(--paper);font-weight:500}
.case__name{margin-bottom:24px}
.case__link--off{color:var(--mute);border-bottom-style:dashed}
/* ships */
.ships{padding-top:var(--sec)}
.ships__head .eyebrow{margin:0 0 18px}
.ships__head h2{font-size:clamp(2.1rem,1rem + 3.4vw,4.4rem);font-weight:750;font-stretch:106%;letter-spacing:-.04em;line-height:1;text-wrap:balance;max-width:16ch}
/* process */
.psteps{list-style:none;margin:0;padding:clamp(40px,7vh,72px) var(--m) 0;display:grid;grid-template-columns:repeat(4,1fr);gap:var(--g);counter-reset:p}
.pstep{position:relative;padding:28px 0 0;border-top:1px solid var(--line)}
.pstep::before{content:"";position:absolute;left:0;top:-1px;height:1px;width:42px;background:var(--accent);transition:width .8s var(--ease)}
.pstep:hover::before{width:100%}
.pstep__n{display:block;font-size:.8125rem;color:var(--accent);letter-spacing:.08em;margin-bottom:28px;font-variant-numeric:tabular-nums}
.pstep h3{margin:0;font-size:clamp(1.5rem,1rem + 1vw,2rem);font-weight:700;letter-spacing:-.03em;line-height:1.05}
.pstep p{margin:12px 0 0;color:var(--mute);line-height:1.55;max-width:32ch}
/* all work head spacing */
.all{padding-top:var(--sec)}
.all__head h2{font-size:clamp(2.1rem,1rem + 3.4vw,4.4rem);font-weight:750;font-stretch:106%;letter-spacing:-.04em}
/* FAQ */
.qas{padding:clamp(32px,6vh,56px) var(--m) 0;max-width:1000px}
.qa{border-top:1px solid var(--line)}
.qa:last-child{border-bottom:1px solid var(--line)}
.qa summary{list-style:none;display:flex;justify-content:space-between;align-items:center;gap:24px;padding:24px 0;cursor:pointer;font-size:clamp(1.125rem,1rem + .5vw,1.4rem);font-weight:600;letter-spacing:-.02em;transition:color .3s}
.qa summary::-webkit-details-marker{display:none}
.qa summary:hover{color:var(--accent)}
.qa summary i{position:relative;flex:none;width:34px;height:34px;border-radius:50%;border:1px solid var(--line);transition:transform .45s var(--ease),background-color .3s,border-color .3s}
.qa summary i::before,.qa summary i::after{content:"";position:absolute;left:50%;top:50%;width:12px;height:1.5px;background:currentColor;transform:translate(-50%,-50%)}
.qa summary i::after{transform:translate(-50%,-50%) rotate(90deg);transition:transform .45s var(--ease)}
.qa[open] summary i{background:var(--accent);border-color:var(--accent);color:var(--ink)}
.qa[open] summary i::after{transform:translate(-50%,-50%) rotate(0)}
.qa p{margin:0;padding:0 56px 26px 0;color:var(--mute);line-height:1.6;max-width:62ch;font-size:1.0625rem}
/* final CTA band */
.band{padding:var(--sec) var(--m)}
.band__in{position:relative;overflow:hidden;border-radius:28px;padding:clamp(40px,7vw,104px) clamp(24px,6vw,96px);background:radial-gradient(900px circle at 90% 0%,rgba(255,210,63,.18),transparent 55%),linear-gradient(180deg,#171715,#121211);border:1px solid var(--line)}
.band h2{margin:0;font-size:clamp(2.3rem,1rem + 4.2vw,5.4rem);font-weight:750;font-stretch:106%;letter-spacing:-.045em;line-height:1;text-wrap:balance}
.band h2 span{color:var(--accent)}
.band__lede{margin:24px 0 0;color:rgba(242,239,232,.75);font-size:var(--f-m);line-height:1.45;max-width:44ch}
.band__row{display:flex;flex-wrap:wrap;gap:12px;margin-top:38px}
.band__note{margin:22px 0 0;color:rgba(242,239,232,.5);font-size:.875rem}
.foot{padding-top:0}
/* nav backdrop once scrolled */
.nav{transition:transform .6s var(--ease),background-color .4s,padding .4s}
.scrolled .nav{background:rgba(12,12,11,.82);-webkit-backdrop-filter:blur(14px) saturate(1.2);backdrop-filter:blur(14px) saturate(1.2);padding-top:12px;padding-bottom:12px;box-shadow:0 1px 0 var(--line)}
/* mobile dock */
.dock{position:fixed;right:16px;bottom:calc(16px + env(safe-area-inset-bottom));z-index:70;height:50px;padding:0 22px;display:none;box-shadow:0 14px 34px -10px rgba(0,0,0,.7),0 10px 30px -14px rgba(255,210,63,.6);transform:translateY(160%);transition:transform .6s var(--ease)}
.dock.is-on{transform:none}
@media (max-width:1100px){
  .nav__links a:not(.nav__all){display:none}
  .stats{grid-template-columns:repeat(2,1fr)}
  .stats li:nth-child(3){border-left:0}
  .stats li:nth-child(n+3){border-top:1px solid var(--line)}
  .psteps{grid-template-columns:repeat(2,1fr);row-gap:44px}
}
@media (max-width:900px){
  .svc__grid{grid-template-columns:1fr}
  .pbr{max-width:none}
}
@media (max-width:760px){
  .nav{padding:14px var(--m) 20px}
  .nav__links{display:none}
  .nav__cta{margin-left:auto}
  .dock{display:inline-flex}
  .dock-on .nav__cta{opacity:0;pointer-events:none}
  .nav__cta{transition:opacity .3s}
  .hero{min-height:640px;padding-bottom:36px}
  .hero__eyebrow{font-size:.75rem;margin-bottom:16px}
  .hero__title{font-size:clamp(2.45rem,9.6vw,3.4rem);line-height:1.02}
  .hero__lede{font-size:1.0625rem;margin-top:18px}
  .hero__ctas{margin-top:26px;display:grid;grid-template-columns:1fr 1fr;gap:10px}
  .hero__ctas .btn{width:100%;padding:0 14px;height:54px;font-size:1rem}
  .stats li{padding:22px 14px 22px 0}
  .stats li:nth-child(even){padding-left:16px}
  .stats b{font-size:2.5rem}
  .stats span{font-size:.875rem}
  .proof__cv{font-size:.875rem;gap:6px}
  .svc{border-radius:18px;padding:26px 22px}
  .svc__n{padding-bottom:28px}
  .svc>p{font-size:1rem}
  .psteps{grid-template-columns:1fr;row-gap:34px}
  .pstep__n{margin-bottom:18px}
  .pbr div{grid-template-columns:64px 1fr}
  .pbr dd{font-size:.9375rem}
  .qa summary{padding:20px 0}
  .qa p{padding-right:0}
  .band{padding-left:12px;padding-right:12px}
  .band__in{border-radius:22px;padding:44px 22px}
  .band__row{display:grid;grid-template-columns:1fr}
  .band__row .btn{width:100%;font-size:1rem}
  .foot{padding-bottom:96px}
}
@media (max-width:360px){.hero__ctas{grid-template-columns:1fr}}
@media (prefers-reduced-motion:reduce){.hero__lede,.hero__ctas{animation:none}.btn,.svc,.dock{transition:none}}
