/* ForgeHype · main stylesheet
   Dark by default, light sections scoped by .light, body colour mixed by scroll (see main.js).
   1 tokens  2 base  3 env  4 nav  5 hero  6 trust  7 problems + stack  8 about  9 qatar
   10 services  11 phone  12 process orbit  13 stories carousel  14 why rotator  15 book + talk
   16 footer  17 reveals  18 reduced motion */

/* ---------- 1. Tokens ---------- */
:root{
  --canvas:#000000;
  --canvas-rgb:0,0,0;
  --canvas-2:#0e0c0a;
  --panel:#0d0c0b;
  --panel-2:#1c1815;
  --accent:#d9682e;
  --accent-hover:#ff7a2a;
  --accent-muted:rgba(217,104,46,0.08);
  --glow:#ffb23f;
  --text-primary:#f4efe9;
  --text-secondary:#a89f96;
  --text-tertiary:#7d756d;
  --line:rgba(255,255,255,.08);
  --line-strong:rgba(255,255,255,.18);
  --glass:rgba(255,255,255,.045);
  --glass-2:rgba(255,255,255,.07);
  --ok:#5fd59a;
  --mix:0;

  --font-display:"Bricolage Grotesque",ui-sans-serif,system-ui,sans-serif;
  --font-body:"Manrope",ui-sans-serif,system-ui,sans-serif;
  --font-mono:"Geist Mono",ui-monospace,"SFMono-Regular",Menlo,monospace;

  --fs-hero:clamp(3.4rem,1rem + 11vw,12rem);
  --fs-h1:clamp(2.6rem,1.4rem + 5.2vw,6.4rem);
  --fs-h2:clamp(2.1rem,1.3rem + 3.4vw,4.6rem);
  --fs-h3:clamp(1.3rem,1.1rem + .9vw,1.9rem);
  --fs-lead:clamp(1.1rem,1rem + .45vw,1.35rem);
  --fs-body:1.0625rem;
  --fs-sm:.9375rem;
  --fs-xs:.8125rem;

  --s-1:.25rem;--s-2:.5rem;--s-3:.75rem;--s-4:1rem;--s-5:1.5rem;--s-6:2rem;--s-7:3rem;--s-8:4rem;--s-9:6rem;--s-10:8rem;
  --section:clamp(4.5rem,2.5rem + 8vw,10rem);
  --gutter:clamp(1.25rem,.6rem + 3.4vw,4rem);
  --max:1360px;

  --r-sm:12px;--r-md:20px;--r-lg:24px;--r-xl:36px;--r-pill:999px;

  --ease:cubic-bezier(.16,1,.3,1);
  --ease-io:cubic-bezier(.65,0,.35,1);
  --ease-pop:cubic-bezier(.34,1.56,.64,1);
  --t-fast:220ms;--t-med:520ms;--t-slow:1100ms;

  --tshadow:0 1px 2px rgba(5,5,10,.95),0 3px 12px rgba(5,5,10,.78),0 10px 44px rgba(5,5,10,.8);
  color-scheme:dark;
}
/* light theme, scoped to light sections */
.light{
  --canvas:#fff6ef;--canvas-rgb:255,246,239;--canvas-2:#ffe9da;--panel:#fff;--panel-2:#fff;
  --text-primary:#14110f;--text-secondary:#6b645e;--text-tertiary:#8a827b;
  --line:rgba(20,17,15,.1);--line-strong:rgba(20,17,15,.2);--glass:rgba(255,255,255,.7);--glass-2:#fff;
  --tshadow:none;color:var(--text-primary)
}

/* ---------- 2. Base ---------- */
*,*::before,*::after{box-sizing:border-box}
html{overflow-x:hidden;overflow-x:clip;scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;overflow-x:hidden;overflow-x:clip;background:var(--canvas);color:var(--text-primary);font-family:var(--font-body);font-size:var(--fs-body);line-height:1.6;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;transition:opacity 900ms var(--ease)}
html.js body:not(.ready){opacity:0}
img,svg,video{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}
h1,h2,h3,h4,p,fieldset{margin:0}
fieldset{padding:0;border:0;min-width:0}
legend{padding:0}
ul,ol{margin:0;padding:0;list-style:none}
:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:4px}
.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.skip{position:fixed;inset-inline-start:var(--s-4);inset-block-start:-100px;z-index:1000;padding:.7rem 1rem;background:var(--accent);color:#120600;border-radius:var(--r-pill);font-weight:600;transition:inset-block-start var(--t-fast) var(--ease)}
.skip:focus{inset-block-start:var(--s-4)}
.wrap{width:min(100% - 2*var(--gutter),var(--max));margin-inline:auto}
main{position:relative;z-index:1}
section{scroll-margin-top:84px}

/* type */
.t-display{font-family:var(--font-display);font-weight:700;letter-spacing:-.04em;line-height:.98;font-variation-settings:"opsz" 96}
.t-h1{font-size:var(--fs-h1)}
.t-h2{font-size:var(--fs-h2)}
.t-h3{font-family:var(--font-display);font-weight:600;letter-spacing:-.02em;line-height:1.1;font-size:var(--fs-h3)}
.lead{font-size:var(--fs-lead);color:var(--text-secondary);line-height:1.55;max-width:58ch}
.lowkey{font-size:var(--fs-sm);color:var(--text-secondary);max-width:52ch}
.muted{color:var(--text-secondary)}
.kicker{font-family:var(--font-mono);font-size:var(--fs-xs);letter-spacing:.14em;text-transform:uppercase;color:var(--accent);display:inline-flex;align-items:baseline;gap:.5em}
.kicker::before{content:"";width:1.5em;height:1px;background:var(--accent);align-self:center;opacity:.9}
.mono-label{font-family:var(--font-mono);font-size:var(--fs-xs);letter-spacing:.18em;text-transform:uppercase;color:var(--text-secondary)}
.sec-label{display:block;color:var(--accent)}
.light .sec-label{color:var(--text-primary)}
.section-head .sec-label{margin-block-end:calc(-1*var(--s-2))}
.em{color:var(--accent)}
.lines .ln{display:block}
.lines .ln.thin{font-weight:300;letter-spacing:-.03em}
.section-head{display:grid;gap:var(--s-5);max-width:62rem;margin-block-end:clamp(2.5rem,2rem + 3vw,4.5rem)}
.section-head.center{text-align:center;margin-inline:auto;justify-items:center}
.section{position:relative;padding-block:var(--section)}
/* breathing room either side of a theme boundary: the colour crossfade needs an empty viewport */
.gap-out{padding-block-end:max(12vh,6rem)}
.gap-in{padding-block-start:max(10vh,5rem)}

/* buttons */
.btn{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:.6em;padding:.95rem 1.5rem;border-radius:var(--r-pill);font-weight:600;font-size:var(--fs-sm);line-height:1;letter-spacing:-.005em;transition:transform var(--t-fast) var(--ease),background var(--t-fast) var(--ease),color var(--t-fast) var(--ease),box-shadow var(--t-med) var(--ease),border-color var(--t-fast) var(--ease);white-space:nowrap;isolation:isolate;text-shadow:none}
.btn:active{transform:scale(.97)}
.btn-primary{background:var(--accent);color:#140600;box-shadow:0 0 0 0 rgba(217,104,46,0.0),0 10px 30px -12px rgba(217,104,46,0.275)}
.btn-primary:hover{background:var(--accent-hover);box-shadow:0 0 0 6px rgba(217,104,46,0.06),0 16px 40px -12px rgba(217,104,46,0.35)}
.btn-ghost{background:var(--glass);color:var(--text-primary);border:1px solid var(--line-strong);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}
.btn-ghost:hover{background:var(--glass-2);border-color:var(--accent)}
.btn-row{display:flex;flex-wrap:wrap;gap:var(--s-3);align-items:center}
.btn-row .link-soft{padding:.6em .35em}
.link{display:inline-flex;align-items:center;gap:.4em;color:var(--text-primary);font-weight:600;border-bottom:1px solid var(--line-strong);padding-block-end:2px;transition:border-color var(--t-fast) var(--ease),color var(--t-fast) var(--ease)}
.link:hover{color:var(--accent);border-color:var(--accent)}
.link-u{color:var(--text-primary);font-weight:600;text-decoration:underline;text-underline-offset:.3em;text-decoration-color:var(--line-strong);transition:color var(--t-fast) var(--ease),text-decoration-color var(--t-fast) var(--ease)}
.link-u:hover{color:var(--accent);text-decoration-color:var(--accent)}
.link-soft{color:var(--accent);font-weight:600;border-bottom:1px solid transparent;padding-block-end:2px;transition:border-color var(--t-fast) var(--ease)}
.link-soft:hover,.link-soft:focus-visible{border-color:var(--accent)}
.car-btn{width:44px;height:44px;border-radius:50%;border:1px solid var(--line-strong);display:grid;place-items:center;color:var(--text-primary);font-size:1.1rem;transition:background var(--t-fast) var(--ease),border-color var(--t-fast) var(--ease),color var(--t-fast) var(--ease)}
.car-btn:hover{background:var(--accent);border-color:var(--accent);color:#140600}
@media (pointer:coarse){.btn{min-height:44px}}
@media (max-width:560px){.btn-row .btn{width:100%}.btn-row .link-soft{margin-inline:auto}}

/* ---------- 3. Environment layer ---------- */
.env{position:fixed;inset:0;z-index:0;pointer-events:none;overflow:hidden}
.env-glow{position:absolute;inset:-20%;opacity:calc(1 - .7*var(--mix,0));background:
  radial-gradient(60% 50% at 78% 30%,rgba(217,104,46,0.13),transparent 70%),
  radial-gradient(40% 40% at 10% 95%,rgba(217,104,46,0.06),transparent 70%);
  animation:env-drift 90s var(--ease-io) -30s infinite alternate}
.env-peach{position:absolute;inset:-20%;opacity:var(--mix,0);background:
  radial-gradient(ellipse 55% 45% at 75% 15%,#ffe9da,transparent 65%),
  radial-gradient(ellipse 45% 40% at 10% 85%,rgba(255,221,196,.9),transparent 65%);
  animation:env-drift 90s var(--ease-io) -50s infinite alternate-reverse}
@keyframes env-drift{from{transform:translate3d(-2%,-1%,0) scale(1)}to{transform:translate3d(2%,2%,0) scale(1.06)}}
.env-grain{position:absolute;inset:0;opacity:.07;mix-blend-mode:overlay;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='200' height='200'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 .6 0'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>");background-size:200px 200px}
.env canvas{position:absolute;inset:0;width:100%;height:100%;opacity:calc(1 - .6*var(--mix,0))}

/* ---------- 4. Nav ---------- */
.nav{position:fixed;inset-inline:0;inset-block-start:0;z-index:100;padding-block:var(--s-4);transition:transform var(--t-med) var(--ease)}
.nav.hide{transform:translateY(-120%)}
.nav-inner{display:flex;align-items:center;justify-content:space-between;gap:var(--s-4);padding:.55rem .6rem .55rem 1.1rem;border-radius:var(--r-pill);background:rgba(var(--canvas-rgb),.6);border:1px solid var(--line);backdrop-filter:blur(18px) saturate(140%);-webkit-backdrop-filter:blur(18px) saturate(140%);box-shadow:0 10px 40px -20px rgba(0,0,0,calc(.8 - .5*var(--mix,0)))}
.nav.scrolled .nav-inner{background:rgba(var(--canvas-rgb),.8);border-color:var(--line-strong)}
.brand{position:relative;display:block}
.brand img{height:26px;width:auto}
.brand .lg-light{position:absolute;inset:0;opacity:var(--mix,0)}
.brand .lg-dark{opacity:calc(1 - var(--mix,0))}
.nav-links{display:flex;gap:.25rem}
.nav-links a{padding:.6rem .9rem;border-radius:var(--r-pill);font-size:var(--fs-sm);font-weight:500;color:var(--text-secondary);transition:color var(--t-fast) var(--ease),background var(--t-fast) var(--ease)}
.nav-links a:hover{color:var(--text-primary);background:var(--glass-2)}
.nav .btn{padding-block:.75rem}
.nav-toggle{display:none;width:44px;height:44px;border-radius:50%;place-items:center}
.nav-toggle span{display:block;width:18px;height:2px;background:var(--text-primary);border-radius:2px;transition:transform var(--t-med) var(--ease),opacity var(--t-fast)}
.nav-toggle span + span{margin-block-start:5px}
.menu{position:fixed;inset:0;z-index:90;background:rgba(var(--canvas-rgb),.96);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);display:grid;align-content:center;padding:var(--gutter);opacity:0;visibility:hidden;transition:opacity var(--t-med) var(--ease),visibility 0s var(--t-med)}
.menu.open{opacity:1;visibility:visible;transition:opacity var(--t-med) var(--ease)}
.menu a{font-family:var(--font-display);font-size:clamp(2rem,8vw,3.2rem);font-weight:600;letter-spacing:-.03em;padding-block:.3em;border-bottom:1px solid var(--line);transform:translateY(16px);opacity:0;transition:transform var(--t-med) var(--ease),opacity var(--t-med) var(--ease)}
.menu.open a{transform:none;opacity:1}
.menu.open a:nth-child(2){transition-delay:60ms}.menu.open a:nth-child(3){transition-delay:120ms}.menu.open a:nth-child(4){transition-delay:180ms}.menu.open a:nth-child(5){transition-delay:240ms}
.menu .btn{margin-block-start:var(--s-6);justify-self:start;font-size:1rem;border-bottom:0}
@media (max-width:860px){.nav-links{display:none}.nav .btn-primary{display:none}.nav-toggle{display:grid}}
body.menu-open .nav-toggle span:nth-child(1){transform:translateY(7px) rotate(45deg)}
body.menu-open .nav-toggle span:nth-child(2){opacity:0}
body.menu-open .nav-toggle span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

/* ---------- 5. Hero (scrub) ---------- */
.hero{position:relative;height:400vh;z-index:1}
.stage{position:sticky;top:0;height:100vh;height:100svh;overflow:hidden;background:#000000}
.stage .poster,.stage video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:62% 50%}
.stage .poster{background-size:cover;background-position:62% 50%;transform:scale(1.02)}
.stage video{opacity:0;transition:opacity 900ms var(--ease);will-change:transform;transform:translateZ(0)}
.stage.video-ready video{opacity:1}
.stage.video-failed video{display:none}
.scrim{position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse 120% 90% at 55% 45%,rgba(0,0,0,0) 30%,rgba(0,0,0,.66) 100%),linear-gradient(to bottom,rgba(0,0,0,.55),rgba(0,0,0,0) 25%,rgba(0,0,0,0) 70%,rgba(0,0,0,.7))}
.ring{position:absolute;inset-inline-end:var(--gutter);inset-block-end:calc(var(--gutter) + 8px);width:34px;height:34px;color:var(--accent);opacity:.9;transform:rotate(-90deg);transition:opacity var(--t-med) var(--ease)}
.ring circle{transition:stroke-dashoffset 120ms linear}
.stage.video-ready .ring{opacity:0}
.cue{position:absolute;inset-inline-start:var(--gutter);inset-block-end:calc(var(--gutter) + 6px);display:flex;align-items:center;gap:.7em;font-family:var(--font-mono);font-size:var(--fs-xs);letter-spacing:.12em;text-transform:uppercase;color:#a89f96;text-shadow:var(--tshadow);transition:opacity var(--t-med) var(--ease),transform var(--t-med) var(--ease)}
.stage.settled .cue,.stage.settled .hud{opacity:0;transform:translateY(8px);pointer-events:none}
.hud{transition:opacity var(--t-med) var(--ease),transform var(--t-med) var(--ease)}
.cue i{display:block;width:18px;height:28px;border:1.5px solid rgba(255,255,255,.18);border-radius:12px;position:relative}
.cue i::after{content:"";position:absolute;inset-inline-start:50%;inset-block-start:5px;width:3px;height:6px;margin-inline-start:-1.5px;border-radius:2px;background:var(--accent);animation:cue 1.8s var(--ease-io) -0.6s infinite}
@keyframes cue{0%{transform:translateY(0);opacity:1}70%{transform:translateY(10px);opacity:0}100%{transform:translateY(0);opacity:0}}
.hud{position:absolute;inset-inline-end:var(--gutter);inset-block-start:calc(var(--s-10) + 8px);display:grid;gap:.35rem;text-align:end}
.chip{display:inline-block;padding:.45rem .75rem;font-family:var(--font-mono);font-size:var(--fs-xs);letter-spacing:.08em;color:#a89f96;background:rgba(14,12,10,.55);border:1px solid rgba(120,110,100,.3);border-radius:10px;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);text-shadow:0 1px 3px rgba(5,5,10,.85)}
.hud .chip{justify-self:end}
@media (max-height:560px){.cue,.hud{display:none}}

.band{position:absolute;inset:0;display:grid;align-content:center;padding-inline:var(--gutter);opacity:0;pointer-events:none;text-shadow:var(--tshadow);--k:0;color:#f4efe9}
.band > *{position:relative;z-index:1}
.band::before{content:"";position:absolute;inset:-4%;pointer-events:none;opacity:calc(.25 + .75*max(var(--k,0),var(--kl,0)));background:radial-gradient(ellipse 60% 62% at 30% 50%,rgba(8,6,5,.68) 0%,rgba(8,6,5,.42) 46%,rgba(8,6,5,0) 76%)}
.band.live{pointer-events:auto}
.band .inner{width:min(100% - 2*var(--gutter),var(--max));margin-inline:auto;max-width:none}
.band .inner > *{max-width:min(56%,42rem)}
.hero-words{font-family:var(--font-display);font-weight:700;letter-spacing:-.045em;line-height:.9;font-size:var(--fs-hero);font-variation-settings:"opsz" 96;display:flex;flex-direction:column}
.band-1 .w{display:inline-block;transform-origin:0% 80%;--kk:max(var(--k,0),var(--kl,0));--kc:clamp(0,(var(--kk) - var(--th,0))*3.4,1);--ks:clamp(0,(var(--kk) - var(--th,0) - var(--sd,.1))*var(--ss,3.2),1);opacity:var(--kc);transform:scale(calc(.6 + (.4 + var(--ov,.12))*var(--kc) - var(--ov,.12)*var(--ks)))}
.band-1 .w.em{--ov:.22;--sd:.16;--ss:2.6}
.hero .sub,.hero-static .sub{margin-block-start:var(--s-5);font-size:var(--fs-lead);color:#c9c0b7;line-height:1.5;display:grid;gap:.1em}
.band-1 .sub .l1{--kb:clamp(0,(var(--k,0) - .26)*7,1);opacity:var(--kb);transform:translateY(calc((1 - var(--kb))*14px))}
.band-1 .sub .l2{--kb:clamp(0,(var(--k,0) - .42)*7,1);opacity:var(--kb);transform:translateY(calc((1 - var(--kb))*14px))}
.band-1 .btn-row{margin-block-start:var(--s-6);--kb:clamp(0,(var(--k,0) - .6)*6,1);opacity:var(--kb);transform:translateY(calc((1 - var(--kb))*14px))}
.band .btn{text-shadow:none}

/* static hero (phones, portrait, reduced motion): a designed layout, not a fallback */
.hero-static{display:none;position:relative;min-height:100svh;align-content:end;padding-block:calc(var(--s-10) + 2rem) var(--s-9);isolation:isolate;color:#f4efe9}
.hero-static .bg{position:absolute;inset:0;z-index:-1;background:#000000 center/cover no-repeat;background-image:url("../img/hero-poster.jpg");background-position:60% 40%}
.hero-static .bg::after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(0,0,0,.96) 0%,rgba(0,0,0,.72) 40%,rgba(0,0,0,.2) 75%,rgba(0,0,0,.5) 100%)}
.hero-static .hero-title{font-size:clamp(3.2rem,16vw,6rem);line-height:.92;letter-spacing:-.045em;margin-block-start:var(--s-3)}
h1.kicker{font-weight:500;line-height:1.4}
.hero-eyebrow{margin-block-end:var(--s-4)}
.hero-static .btn-row{margin-block-start:var(--s-6)}
@media (max-width:720px),(orientation:portrait) and (max-width:1024px),(orientation:portrait) and (pointer:coarse),(orientation:landscape) and (pointer:coarse) and (max-height:560px),(prefers-reduced-motion:reduce){
  .hero{display:none}
  .hero-static{display:grid}
}

/* ---------- 6. Trust strip ---------- */
.trust{padding-block:var(--s-7);border-block:1px solid var(--line);background:linear-gradient(to bottom,rgba(20,17,16,.5),rgba(0,0,0,0))}
.trust .label{text-align:center;font-family:var(--font-mono);font-size:var(--fs-xs);letter-spacing:.14em;text-transform:uppercase;color:var(--text-tertiary);margin-block-end:var(--s-5)}
.marquee{overflow:hidden;mask-image:linear-gradient(to right,transparent,#000 12%,#000 88%,transparent);-webkit-mask-image:linear-gradient(to right,transparent,#000 12%,#000 88%,transparent)}
.marquee:focus-visible{outline-offset:-2px}
.marquee-track{display:flex;gap:var(--s-8);width:max-content;align-items:center;animation:marquee 48s linear infinite}
.marquee:not(.in) .marquee-track,.marquee:hover .marquee-track,.marquee:focus-within .marquee-track,.marquee.paused .marquee-track{animation-play-state:paused}
@keyframes marquee{to{transform:translateX(-50%)}}
.marquee-track li{display:flex;align-items:center;gap:var(--s-4);white-space:nowrap;color:var(--text-secondary);font-weight:500;font-size:var(--fs-sm)}
.marquee-track img{height:46px;width:46px;border-radius:10px;object-fit:cover;filter:grayscale(1) contrast(1.05);opacity:.75;transition:filter var(--t-med) var(--ease),opacity var(--t-med) var(--ease)}
.marquee-track li:hover img{filter:none;opacity:1}
.marquee-track .dot{width:5px;height:5px;border-radius:50%;background:var(--accent);opacity:.8}

/* ---------- 7. Which one sounds like you: grid + stack ---------- */
.pgrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--s-3);max-width:46rem;margin-inline:auto}
@media (min-width:760px){.pgrid{grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--s-4)}}
.tile{display:grid;align-content:center;justify-items:center;gap:var(--s-3);aspect-ratio:1;border-radius:16px;border:1px solid rgba(255,255,255,.24);background:rgba(255,255,255,.03);color:var(--text-primary);text-align:center;padding:var(--s-4);font-size:var(--fs-xs);font-weight:600;line-height:1.25;letter-spacing:.01em;transition:background .45s var(--ease),box-shadow .45s var(--ease),border-color .45s var(--ease),color .45s var(--ease),transform .4s var(--ease)}
.tile svg{width:40%;height:auto;max-width:72px;stroke:currentColor;fill:none;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;transition:transform .5s var(--ease)}
.tile:hover,.tile:focus-visible{transform:translateY(-3px);background:rgba(255,255,255,.085);border-color:rgba(255,255,255,.5);box-shadow:0 26px 50px -26px rgba(0,0,0,.9),0 0 0 1px rgba(255,255,255,.06),inset 0 1px 0 rgba(255,255,255,.16);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}
.tile:hover svg{transform:scale(1.06)}
.tile>span{color:var(--accent);font-size:clamp(1rem,.9rem + .4vw,1.15rem);font-weight:600;line-height:1.25;letter-spacing:-.005em;max-width:14ch}
.tile-tag{display:block;font-family:var(--font-mono);font-size:.68rem;font-weight:500;letter-spacing:.04em;line-height:1.35;color:var(--accent);max-width:16ch}
.pains-intro .pct{color:var(--accent);font-weight:700}
.pains-intro .six{display:block;color:var(--accent);margin-block-start:var(--s-3)}
.pains-intro{font-size:var(--fs-lead);color:#c9c0b7;max-width:46ch;margin-inline:auto;margin-block-end:var(--s-4);text-wrap:balance}
.scroll-hint{text-align:center;font-family:var(--font-mono);font-size:var(--fs-xs);letter-spacing:.12em;text-transform:uppercase;color:var(--text-secondary);margin-block:var(--s-7) var(--s-5)}

.stack{--nav-h:88px;--step:14px;display:grid;gap:var(--s-5);padding-block-end:var(--s-6)}
.stack-card{position:sticky;top:calc(var(--nav-h) + var(--i)*var(--step));scroll-margin-top:calc(var(--nav-h) + var(--i)*var(--step));--p:0;transform-origin:50% 0;transform:scale(calc(1 - .04*var(--p))) translateY(calc(var(--p)*-6px));will-change:transform}
.stack-inner{position:relative;display:grid;grid-template-columns:.85fr 1.15fr;gap:var(--s-7);align-items:center;min-height:min(72vh,660px);padding:clamp(1.5rem,1rem + 2.5vw,3.5rem);border-radius:var(--r-xl);background:linear-gradient(160deg,rgba(255,255,255,.06),rgba(255,255,255,.015) 55%),var(--tint,#141110);border:1px solid rgba(255,255,255,.18);box-shadow:0 -10px 40px -20px rgba(0,0,0,.9),0 40px 80px -40px rgba(0,0,0,.95),inset 0 1px 0 rgba(255,255,255,.08);overflow:hidden;isolation:isolate;color:#f4efe9}
.stack-inner::before{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(60% 80% at 100% 0%,rgba(217,104,46,0.07),transparent 60%)}
.stack-inner::after{content:"";position:absolute;inset:0;pointer-events:none;background:#000000;opacity:calc(var(--p)*.55);transition:opacity 80ms linear}
.stack-media{position:relative;z-index:1;margin:0;aspect-ratio:4/5;max-height:min(60vh,560px);width:100%;border-radius:var(--r-lg);overflow:hidden;border:1px solid rgba(255,255,255,.08);box-shadow:0 30px 60px -30px rgba(0,0,0,.9)}
.stack-media img{width:100%;height:100%;object-fit:cover;transform:scale(1.04) translateY(calc(var(--p)*10px));transition:transform 1.2s var(--ease)}
.stack-card:hover .stack-media img{transform:scale(1)}
.stack-text{position:relative;z-index:1;display:grid;gap:var(--s-4);align-content:center;justify-items:start}
.stack-media .n{position:absolute;left:var(--s-3);bottom:var(--s-3);z-index:2;font-family:var(--font-mono);font-size:var(--fs-xs);letter-spacing:.14em;color:#f4efe9;background:rgba(0,0,0,.62);border:1px solid rgba(255,255,255,.16);border-radius:var(--r-pill);padding:.3rem .65rem;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}
.stack-text .problem{font-family:var(--font-display);font-weight:500;font-size:clamp(1.1rem,1rem + .6vw,1.5rem);letter-spacing:-.01em;color:var(--accent)}
.stack-text .fix{font-size:clamp(1.9rem,1.3rem + 2.6vw,3.6rem);line-height:1.02;max-width:17ch;color:#f4efe9}
.stack-text .tag{display:inline-block;padding:.4rem .8rem;border-radius:var(--r-pill);font-family:var(--font-mono);font-size:var(--fs-xs);letter-spacing:.08em;color:#f4efe9;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.18);margin-block-start:var(--s-2)}
.stack-text .btn-row{margin-block-start:var(--s-2)}
.stack-text .answer{color:#c9c0b7;font-size:var(--fs-sm);line-height:1.6;max-width:46ch}
a.tag{text-decoration:none;white-space:nowrap;margin-block-start:0}a.tag:hover,a.tag:focus-visible{border-color:var(--accent);color:var(--accent)}
.trust .label.industries{margin-block:var(--s-5) 0;text-transform:none;letter-spacing:.04em}
.stack-cta{display:flex;flex-wrap:wrap;gap:var(--s-5);align-items:center;justify-content:center;padding-block-start:var(--s-8)}
@media (max-width:900px){
  .stack{--nav-h:76px;--step:10px}
  .stack-inner{grid-template-columns:1fr;min-height:0;gap:var(--s-5);align-items:start}
  .stack-media{aspect-ratio:16/10;max-height:34vh}
}
@media (max-height:700px){.stack-inner{min-height:0}.stack-media{max-height:42vh}}

/* ---------- 8. About (light) ---------- */
.about-top{display:flex;justify-content:space-between;gap:var(--s-4);flex-wrap:wrap}
.statement{font-family:var(--font-display);font-weight:600;font-size:clamp(1.9rem,1.1rem + 3.4vw,4.6rem);line-height:1.08;letter-spacing:-.03em;max-width:22ch;margin-block:var(--s-7) var(--s-7);--p:0}
.statement .w{display:inline-block;opacity:clamp(.14,calc((var(--p,0) - var(--w,0))*6 + .14),1);transition:opacity .2s linear}
.about-logo{height:clamp(34px,2rem + 2vw,56px);width:auto;margin-block-start:var(--s-7)}
.flipline{margin-block-start:var(--s-5);font-family:var(--font-display);font-weight:700;letter-spacing:-.025em;line-height:1.1;font-size:clamp(1.4rem,1rem + 2.2vw,2.8rem);color:var(--text-primary);min-height:1.3em;border-radius:6px}
.flip-stage{display:inline-block;perspective:900px}
.flip-word{display:inline-block;transform-origin:50% 50%;backface-visibility:hidden;animation:flip 2.6s var(--ease-io) infinite}
@keyframes flip{0%{transform:rotateX(90deg) translateY(.25em);opacity:0}14%{transform:none;opacity:1}84%{transform:none;opacity:1}100%{transform:rotateX(-90deg) translateY(-.25em);opacity:0}}
.flipline:hover .flip-word,.flipline:focus-within .flip-word,.flipline.paused .flip-word,.flipline:not(.in) .flip-word{animation-play-state:paused}
.flip-all{display:none}
.statement{margin-block-start:var(--s-7)}

/* ---------- 9. Qatar (light) ---------- */
.qatar-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:var(--s-8);align-items:start}
.qatar-text{display:grid;gap:var(--s-5);justify-items:start}
.qatar-media{--s0:.94;--p:0;aspect-ratio:3/2;border-radius:24px;overflow:hidden;background:#e9ded4;transform:scale(calc(var(--s0) + (1 - var(--s0))*var(--p)));transform-origin:50% 60%;box-shadow:0 30px 80px -30px rgba(60,30,10,.35);will-change:transform}
.qatar-media video{width:100%;height:100%;object-fit:cover}
.qatar-media.placeholder{display:grid;place-items:center;background:
  linear-gradient(rgba(20,17,15,.06) 1px,transparent 1px) 0 0/48px 48px,
  linear-gradient(90deg,rgba(20,17,15,.06) 1px,transparent 1px) 0 0/48px 48px,
  radial-gradient(ellipse 70% 60% at 70% 30%,#ffe3cf,transparent 70%),#f3e7dc}
.qatar-media.placeholder .mono-label{padding:.6rem 1rem;border:1px solid rgba(20,17,15,.14);border-radius:var(--r-pill);background:rgba(255,255,255,.7)}
@media (max-width:900px){
  .qatar-grid{grid-template-columns:1fr;gap:var(--s-6)}
  .qatar-media{--s0:.85;transform-origin:0 50%}
}

/* ---------- 10. Services (dark) ---------- */
.svc-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--s-5)}
.svc-card > a{display:grid;grid-template-columns:1fr 2fr;gap:var(--s-5);height:100%;padding:var(--s-5);border-radius:24px;border:1px solid var(--line);background:linear-gradient(160deg,rgba(255,255,255,.06),rgba(255,255,255,.015) 60%),var(--panel);box-shadow:0 30px 60px -40px rgba(0,0,0,.9),inset 0 1px 0 rgba(255,255,255,.06);transition:transform .7s var(--ease),box-shadow .7s var(--ease),border-color .5s var(--ease)}
.svc-card > a:hover,.svc-card > a:focus-visible{transform:translateY(-6px);border-color:rgba(217,104,46,0.275);box-shadow:0 0 0 1px rgba(217,104,46,0.175),0 30px 70px -30px rgba(217,104,46,0.225),0 40px 80px -40px rgba(0,0,0,.9),inset 0 1px 0 rgba(255,255,255,.08)}
.svc-media{display:grid;gap:var(--s-3);align-content:start}
.svc-card .thumb{position:relative;display:block;width:100%;aspect-ratio:4/5;border-radius:16px;overflow:hidden;border:1px solid var(--line);background:var(--panel-2);transition:transform .9s var(--ease)}
.svc-card > a:hover .thumb{transform:scale(1.035)}
.svc-card .thumb img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:saturate(.9);opacity:0;transform:scale(1.18);transition:opacity 1100ms var(--ease)}
.svc-card .thumb img.on{opacity:1;animation:dolly 7.5s linear forwards}
@keyframes dolly{from{transform:scale(1.18) translateY(2%)}to{transform:scale(1.02) translateY(-2%)}}
.svc-card .now{font-family:var(--font-mono);font-size:var(--fs-xs);letter-spacing:.1em;text-transform:uppercase;color:var(--accent)}
.svc-body{display:grid;gap:var(--s-3);align-content:center}
.svc-body .idx{font-family:var(--font-mono);font-size:var(--fs-xs);letter-spacing:.12em;color:var(--text-tertiary)}
.svc-body h3{font-size:clamp(1.4rem,1.1rem + 1.2vw,2.1rem);letter-spacing:-.025em}
.svc-body p{color:var(--text-secondary)}
.svc-body .tags{display:flex;flex-wrap:wrap;gap:.4rem;margin-block-start:var(--s-2)}
.svc-body .tags span{padding:.35rem .7rem;border-radius:var(--r-pill);border:1px solid var(--line);background:rgba(255,255,255,.03);font-size:var(--fs-xs);color:var(--text-secondary)}
@media (max-width:1000px){.svc-grid{grid-template-columns:1fr}}
@media (max-width:720px){
  .svc-card > a{grid-template-columns:1fr;gap:var(--s-4)}
  .svc-card .thumb{width:90%;aspect-ratio:1;border-radius:20px}
  .svc-card.reveal .thumb{transform:scale(.82) translateY(28px);transform-origin:0 100%;transition:transform 1.3s var(--ease)}
  .svc-card.reveal.in .thumb{transform:none}
  .svc-card > a:hover .thumb{transform:scale(1.02)}
}

/* ---------- 11. Full-screen phone (dark) ---------- */
.phone-sec{position:relative;height:170vh}
.phone-stage{position:sticky;top:0;height:100svh;display:grid;align-items:center;overflow:hidden}
.phone-wrap{position:relative;display:grid;justify-items:center;align-content:center;gap:var(--s-5);height:100%;padding-block:var(--s-9) var(--s-7)}
.phone-label{justify-self:center;text-align:center}
.phone-stage-inner{position:relative;display:grid;justify-items:center;padding-block-end:3.2rem}
.phone-stage-inner::before{content:"";position:absolute;inset:auto;width:120%;aspect-ratio:1;top:50%;left:50%;transform:translate(-50%,-55%);background:radial-gradient(closest-side,rgba(217,104,46,0.14),transparent 70%);z-index:-1;pointer-events:none}
.phone{position:relative;width:min(300px,70vw,30svh);aspect-ratio:9/19.2;padding:10px;border-radius:46px;background:linear-gradient(145deg,#2a2724,#0b0a09 40%,#1c1a18);box-shadow:inset 0 0 0 1.5px rgba(255,255,255,.14),0 50px 100px -30px rgba(0,0,0,.95),0 0 90px -30px rgba(217,104,46,0.3);transform:perspective(1400px) rotateY(-12deg) rotateX(4deg) scale(.94) translateY(30px);opacity:0;transition:transform 1.4s var(--ease),opacity 1s var(--ease)}
.in .phone{transform:perspective(1400px) rotateY(-12deg) rotateX(4deg);opacity:1}
.in .phone-stage-inner:hover .phone{transform:perspective(1400px) rotateY(-4deg) rotateX(2deg)}
.phone-screen{position:relative;height:100%;border-radius:37px;overflow:hidden;background:#000}
.phone-notch{position:absolute;top:20px;left:50%;transform:translateX(-50%);width:30%;height:22px;border-radius:20px;background:#000;z-index:6}
.reel-slide{position:absolute;inset:0;opacity:0;transition:opacity 700ms var(--ease)}
.reel-slide.is-active{opacity:1}
.reel-slide img{width:100%;height:100%;object-fit:cover;transform:scale(1.12)}
.reel-slide.is-active img{animation:kenburns 4.2s linear both}
@keyframes kenburns{from{transform:scale(1.18) translateY(2%)}to{transform:scale(1.04) translateY(-2%)}}
.reel-slide::after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(0,0,0,.85),transparent 45%),linear-gradient(to bottom,rgba(0,0,0,.55),transparent 25%)}
.reel-bars{position:absolute;top:50px;inset-inline:14px;z-index:4;display:flex;gap:4px}
.reel-bars span{flex:1;height:2.5px;border-radius:2px;background:rgba(255,255,255,.3);overflow:hidden}
.reel-bars span i{display:block;height:100%;width:100%;background:#fff;transform:scaleX(0);transform-origin:left}
.reel-bars span.is-done i{transform:scaleX(1)}
.reel-bars span.is-active i{animation:bar 4.2s linear both}
@keyframes bar{to{transform:scaleX(1)}}
.reel-caption{position:absolute;inset-inline:18px;bottom:22px;z-index:4;display:grid;gap:6px;color:#fff}
.reel-caption strong{font-family:var(--font-display);font-size:1.15rem;font-weight:700;letter-spacing:-.02em;line-height:1.1}
.reel-caption span{font-size:.75rem;color:rgba(255,255,255,.75)}
.reel-ui{position:absolute;inset-inline-end:12px;bottom:90px;z-index:4;display:grid;gap:14px;color:#fff}
.reel-ui i{width:30px;height:30px;border-radius:50%;background:rgba(255,255,255,.16);backdrop-filter:blur(6px);display:grid;place-items:center}
.reel-ui i svg{width:15px;height:15px}
.reel-pause{position:absolute;inset-block-end:0;inset-inline-start:50%;transform:translateX(-50%);padding:.55rem 1rem;font-size:var(--fs-xs)}
.reel-paused .reel-bars span.is-active i{animation-play-state:paused}
.reel-paused .reel-slide.is-active img{animation-play-state:paused}
.phone-main{display:grid;justify-items:center;gap:var(--s-6);width:100%}
.facts{display:grid;gap:var(--s-4);width:100%;max-width:30rem;--d:0s;opacity:0;transform:translateY(14px);transition:opacity .7s var(--ease) .2s,transform .9s var(--ease) .2s}
.in .facts{opacity:1;transform:none}
.facts h3{font-size:clamp(1.5rem,1.1rem + 1.8vw,2.4rem);letter-spacing:-.03em;line-height:1.05}
.fact-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--s-3)}
.fact{--d:0s;padding:var(--s-5) var(--s-4);border-radius:20px;border:1px solid var(--line);background:linear-gradient(160deg,rgba(255,255,255,.06),rgba(255,255,255,.015) 60%),var(--panel);box-shadow:inset 0 1px 0 rgba(255,255,255,.06);opacity:0;transform:translateY(14px);transition:opacity .6s var(--ease) var(--d),transform .8s var(--ease) var(--d)}
.in .fact{opacity:1;transform:none}
.fact .v{font-family:var(--font-display);font-weight:600;letter-spacing:-.04em;font-size:clamp(2rem,1.4rem + 2.4vw,3.2rem);line-height:1;color:var(--text-primary);font-variant-numeric:tabular-nums}
.fact .v small{font-size:.5em;color:var(--accent);margin-inline:.08em;vertical-align:.2em}
.fact p{margin-block-start:var(--s-3);font-size:var(--fs-sm);color:var(--text-secondary);line-height:1.4}
@media (min-width:901px){.phone-main{grid-template-columns:auto minmax(0,30rem);gap:var(--s-8);align-items:center}.facts{justify-self:start}.phone-wrap{padding-block:var(--s-7) var(--s-5)}}
.phone-cap{font-size:clamp(1.8rem,1.3rem + 2.4vw,3.4rem);text-align:center;opacity:0;transform:translateY(16px);transition:opacity 1s var(--ease) .3s,transform 1s var(--ease) .3s}
.in .phone-cap{opacity:1;transform:none}
.p1{--d:.15s;top:22%;left:4%}.p2{--d:.55s;top:34%;right:3%}.p3{--d:.95s;bottom:34%;left:2%}.p4{--d:1.35s;bottom:24%;right:5%}
@media (max-width:760px){
  .phone-sec{height:auto}
  .phone-stage{position:static;height:auto;overflow:visible}
  .phone-wrap{padding-block:var(--s-9) var(--s-8)}
}
@media (max-height:700px) and (min-width:761px){.phone{width:min(230px,36vh)}}

/* ---------- 12. Process: the orbit with the hold core ---------- */
.orbit-wrap{display:grid;grid-template-columns:1fr 1fr;gap:var(--s-8);align-items:center}
.orbit-text{display:grid;gap:var(--s-5);align-content:center}
.hold-hint{transition:opacity var(--t-med) var(--ease),max-height var(--t-slow) var(--ease)}
.orbit-wrap.forged .hold-hint{opacity:0;max-height:0;overflow:hidden;margin:0}
.orbit-done{display:grid;gap:var(--s-4);max-height:0;overflow:hidden;opacity:0;transform:translateY(12px);transition:max-height var(--t-slow) var(--ease) .5s,opacity var(--t-slow) var(--ease) .5s,transform var(--t-slow) var(--ease) .5s}
.orbit-wrap.forged .orbit-done{max-height:32rem;opacity:1;transform:none}
.orbit-done .tagline{font-size:clamp(2rem,1.4rem + 2.8vw,3.8rem);line-height:1;letter-spacing:-.035em}
.orbit{position:relative;width:min(100%,520px);aspect-ratio:1;margin-inline:auto;justify-self:center;user-select:none;-webkit-user-select:none}
.orbit svg{width:100%;height:100%;overflow:visible;display:block}
.orbit .track{fill:none;stroke:var(--line-strong);stroke-width:1.5}
.orbit .arc{fill:none;stroke:url(#orbGrad);stroke-width:4;stroke-linecap:round;stroke-dasharray:1;stroke-dashoffset:calc(1 - var(--heat,0));transform:rotate(-90deg);transform-origin:200px 200px;filter:drop-shadow(0 0 8px rgba(217,104,46,0.35));transition:stroke-dashoffset 90ms linear}
.orbit .node circle{fill:var(--panel-2);stroke:var(--line-strong);stroke-width:1.5;transition:fill var(--t-med) var(--ease),stroke var(--t-med) var(--ease),filter var(--t-med) var(--ease)}
.orbit .node text{fill:var(--text-secondary);font-family:var(--font-mono);font-size:13px;letter-spacing:.08em;text-anchor:middle;dominant-baseline:central;transition:fill var(--t-med) var(--ease)}
.orbit .node.lit circle{fill:var(--accent);stroke:var(--accent);filter:drop-shadow(0 0 14px rgba(217,104,46,0.4))}
.orbit .node.lit text{fill:#140600}
.orbit .lbl{fill:var(--text-primary);font-family:var(--font-mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;dominant-baseline:central;opacity:0;transition:opacity var(--t-med) var(--ease)}
.orbit .lbl.lit{opacity:1}
.orbit .core{position:absolute;inset:50% auto auto 50%;width:36%;aspect-ratio:1;transform:translate(-50%,-50%);border-radius:50%;background:radial-gradient(circle at 40% 35%,rgba(255,178,63,calc(.15 + .85*var(--heat,0))),rgba(217,104,46,calc(.05 + .8*var(--heat,0))) 55%,var(--panel-2) 74%);border:1px solid rgba(255,255,255,.14);box-shadow:0 0 calc(var(--heat,0)*90px) rgba(217,104,46,calc(var(--heat,0)*.75)),inset 0 0 40px rgba(0,0,0,.6),0 30px 60px -30px rgba(0,0,0,.9);display:grid;place-items:center;cursor:pointer;touch-action:none;-webkit-touch-callout:none;user-select:none;-webkit-user-select:none;-webkit-tap-highlight-color:transparent;transition:box-shadow 120ms linear,transform var(--t-med) var(--ease);transform-origin:center;overflow:visible}
.orbit .core:active,.orbit.holding .core{transform:translate(-50%,-50%) scale(.97)}
.orbit .core:focus-visible{outline:2px solid var(--accent);outline-offset:6px}
.orbit .core-glow{position:absolute;inset:-18%;border-radius:50%;background:radial-gradient(circle,rgba(217,104,46,0.225),transparent 60%);opacity:var(--heat,0);pointer-events:none;filter:blur(6px)}
.orbit .core-burst{position:absolute;inset:0;border-radius:50%;background:radial-gradient(circle,#ffd089,var(--accent) 45%,rgba(217,104,46,0.0) 72%);opacity:0;pointer-events:none;z-index:5}
.orbit.forged:not(.quiet) .core-burst{animation:burst 1.2s var(--ease-io) forwards}
@keyframes burst{0%{opacity:.95;transform:scale(1)}55%{opacity:.9;transform:scale(16)}100%{opacity:0;transform:scale(22)}}
.orbit .core-hint{position:relative;font-family:var(--font-mono);font-size:var(--fs-xs);letter-spacing:.16em;text-transform:uppercase;color:var(--text-primary);text-align:center;transition:opacity var(--t-med) var(--ease);animation:pulse 2.4s ease-in-out infinite}
@keyframes pulse{0%,100%{opacity:.6}50%{opacity:1}}
.orbit .core-step{position:absolute;inset:12%;display:grid;place-items:center;text-align:center;font-family:var(--font-display);font-weight:700;font-size:clamp(.85rem,.5rem + 1.3vw,1.15rem);letter-spacing:-.02em;line-height:1.08;color:var(--text-primary);opacity:0;transform:scale(.92);transition:opacity var(--t-med) var(--ease),transform var(--t-med) var(--ease)}
.orbit.holding .core-hint,.orbit.cooling .core-hint{opacity:0;animation:none}
.orbit.holding .core-step,.orbit.cooling .core-step{opacity:1;transform:none}
.orbit .core-done{position:absolute;inset:0;display:grid;place-items:center;text-align:center;font-family:var(--font-display);font-weight:700;font-size:clamp(.95rem,.6rem + 1.4vw,1.35rem);letter-spacing:-.02em;line-height:1.05;color:#140600;opacity:0;transform:scale(.9);transition:opacity var(--t-med) var(--ease) .6s,transform var(--t-med) var(--ease) .6s}
.orbit.forged .core-hint,.orbit.forged .core-step{opacity:0;animation:none}
.orbit.forged .core-done{opacity:1;transform:none}
.orbit.forged .core{background:radial-gradient(circle at 40% 35%,#ffb23f,var(--accent) 60%,#c84600 100%);cursor:default}
@media (max-width:900px){.orbit-wrap{grid-template-columns:1fr}.orbit{width:min(100%,440px);padding-inline:2.4rem}.orbit .lbl{font-size:12px}}

/* ---------- 13. Success stories carousel (dark) ---------- */
.work-head{display:flex;justify-content:space-between;align-items:end;gap:var(--s-6);margin-block-end:var(--s-7)}
.work-title{display:grid;gap:var(--s-4)}
.work-tools{display:flex;align-items:center;gap:var(--s-5);flex:none}
.car-nav{display:flex;gap:var(--s-2)}
@media (max-width:720px){.work-head{display:grid;justify-items:start;gap:var(--s-4)}.work-tools{width:100%;justify-content:space-between}}
.carousel{overflow:hidden;margin-inline:calc(-1*var(--gutter));padding-block:var(--s-4);cursor:grab;touch-action:pan-y}
.carousel:active{cursor:grabbing}
.carousel:focus-visible{outline-offset:-2px}
.car-track{display:flex;gap:var(--s-4);width:max-content;padding-inline:var(--gutter);will-change:transform}
.car-track.ease{transition:transform .95s var(--ease)}
.work-card{position:relative;width:min(78vw,22rem);aspect-ratio:4/5;border-radius:var(--r-lg);overflow:hidden;background:var(--panel);border:1px solid var(--line);isolation:isolate;flex:none;transition:transform .7s var(--ease),box-shadow .7s var(--ease),border-color .5s var(--ease)}
.work-card:hover{transform:translateY(-6px);border-color:rgba(217,104,46,0.25);box-shadow:0 0 0 1px rgba(217,104,46,0.175),0 30px 70px -30px rgba(217,104,46,0.225),0 40px 80px -40px rgba(0,0,0,.95)}
.work-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transform:scale(1);transition:transform 1.4s var(--ease);filter:saturate(.92);user-select:none;-webkit-user-drag:none}
.work-card:hover img{transform:scale(1.06)}
.work-card .fade{position:absolute;inset:0;background:linear-gradient(to top,rgba(0,0,0,.95) 0%,rgba(0,0,0,.55) 35%,rgba(0,0,0,0) 65%)}
.work-card .meta{position:absolute;inset-inline:0;inset-block-end:0;padding:var(--s-6);display:grid;gap:var(--s-2);color:#f4efe9}
.work-card .tag{justify-self:start;padding:.35rem .7rem;border-radius:var(--r-pill);font-family:var(--font-mono);font-size:var(--fs-xs);letter-spacing:.08em;color:#f4efe9;background:rgba(14,12,10,.55);border:1px solid rgba(255,255,255,.18);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
.work-card h3{font-size:clamp(1.5rem,1.2rem + 1.2vw,2.1rem)}
.work-card p{color:#a89f96;font-size:var(--fs-sm);max-width:34ch}
.work-card .idx{position:absolute;inset-inline-start:var(--s-6);inset-block-start:var(--s-6);font-family:var(--font-mono);font-size:var(--fs-xs);color:#a89f96;letter-spacing:.1em;text-shadow:0 1px 3px rgba(5,5,10,.8)}

/* ---------- 14. Why others choose us: rotator (dark) ---------- */
.why-wrap{max-width:60rem}
.cmp{position:relative;padding-block:var(--s-6);border-block:1px solid var(--line);cursor:default;touch-action:pan-y;transition:opacity .4s var(--ease)}
.cmp.paused{opacity:.72}
.cmp:focus-visible{outline-offset:10px}
.cmp-stage{position:relative;min-height:11rem}
.pair{position:absolute;inset:0;display:grid;gap:var(--s-4);align-content:center;opacity:0;transform:translateY(22px);transition:opacity .6s var(--ease),transform .7s var(--ease);pointer-events:none}
.pair.is-on{opacity:1;transform:none;pointer-events:auto}
.pair.is-out{opacity:0;transform:translateY(-22px)}
.pair .yes{display:flex;align-items:center;gap:.5em;font-family:var(--font-display);font-weight:700;font-size:clamp(1.6rem,1.1rem + 2.6vw,3.4rem);letter-spacing:-.03em;line-height:1.05;color:var(--text-primary)}
.pair .ck{flex:none;width:1.05em;height:1.05em;border-radius:50%;background:rgba(217,104,46,0.11);border:1.5px solid rgba(217,104,46,0.425);box-shadow:0 0 18px -4px rgba(217,104,46,0.3);position:relative}
.pair .ck::after{content:"";position:absolute;left:50%;top:50%;width:.42em;height:.22em;border:.14em solid var(--accent);border-top:0;border-right:0;transform:translate(-50%,-62%) rotate(-45deg)}
.pair .no{display:flex;align-items:center;gap:.6em;color:var(--text-primary);font-family:var(--font-display);font-weight:500;font-size:clamp(1.05rem,.95rem + .6vw,1.4rem);letter-spacing:-.01em;padding-inline-start:.15em}
.pair .x{flex:none;width:1.3em;height:1.3em;border-radius:50%;border:2px solid currentColor;position:relative;color:var(--text-secondary)}
.pair .x::before,.pair .x::after{content:"";position:absolute;left:50%;top:50%;width:.62em;height:.12em;border-radius:1px;background:currentColor;transform:translate(-50%,-50%) rotate(45deg)}
.pair .x::after{transform:translate(-50%,-50%) rotate(-45deg)}

/* ---------- 15. Book a free consultation + Let's talk (light) ---------- */
.card-light{background:#fff;border-radius:24px;border:1px solid rgba(20,17,15,.06);box-shadow:0 24px 70px -34px rgba(60,30,10,.28),0 1px 2px rgba(60,30,10,.05)}
.book{display:grid;grid-template-columns:.9fr 1.1fr;gap:var(--s-8);align-items:start}
.book-side{display:grid;gap:var(--s-5);align-content:start;justify-items:start}
.form{padding:clamp(1.25rem,1rem + 1.5vw,2.25rem);display:grid;gap:var(--s-4)}
.field{display:grid;gap:.45rem}
.field label,.field legend{font-size:var(--fs-sm);font-weight:600}
.field .req{color:var(--accent)}
.input{width:100%;padding:.9rem 1rem;border-radius:14px;border:1px solid #e4dcd4;background:#fff;color:var(--text-primary);font:inherit;font-size:1rem;transition:border-color var(--t-fast) var(--ease),box-shadow var(--t-fast) var(--ease);appearance:none;-webkit-appearance:none}
.input::placeholder{color:#a39b93}
.input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 4px rgba(217,104,46,0.07)}
select.input{background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='none' stroke='%236b645e' stroke-width='1.5'><path d='M4 6l4 4 4-4'/></svg>");background-repeat:no-repeat;background-position:right 1rem center;padding-inline-end:2.6rem}
select.input:invalid{color:#a39b93}
textarea.input{min-height:6.5rem;resize:vertical}
.field .err{display:none;color:var(--accent);font-size:var(--fs-xs)}
.field.invalid .input{border-color:var(--accent)}
.field.invalid .err{display:block}
.checks{display:flex;flex-wrap:wrap;gap:.5rem;margin-block-start:.2rem}
.check{display:inline-flex;align-items:center;gap:.55em;padding:.6rem .9rem;border-radius:var(--r-pill);border:1px solid #e4dcd4;background:#fff;cursor:pointer;font-size:var(--fs-sm);font-weight:500;transition:border-color var(--t-fast) var(--ease),background var(--t-fast) var(--ease)}
.check:hover{border-color:#cdb9a8}
.check:has(input:checked){border-color:var(--accent);background:rgba(217,104,46,0.035)}
.check:has(input:focus-visible){outline:2px solid var(--accent);outline-offset:2px}
.check input{appearance:none;-webkit-appearance:none;width:17px;height:17px;margin:0;border:1.5px solid #cfc6bd;border-radius:5px;display:grid;place-items:center;background:#fff;transition:background var(--t-fast) var(--ease),border-color var(--t-fast) var(--ease);flex:none}
.check input:checked{background:var(--accent);border-color:var(--accent)}
.check input:checked::after{content:"";width:8px;height:4px;border:2px solid #140600;border-top:0;border-right:0;transform:translateY(-1px) rotate(-45deg)}
.check input:focus-visible{outline:none}
.phone-row{display:grid;grid-template-columns:8rem 1fr;gap:var(--s-2)}
.form-fields{display:grid;gap:var(--s-4)}
.form-note{font-size:var(--fs-xs);color:var(--text-tertiary)}
.form .btn{justify-self:start}
.form-success{display:none;padding:var(--s-6);text-align:center;gap:var(--s-4)}
.form-success svg{width:48px;height:48px;color:var(--accent);margin-inline:auto}
.form.sent .form-fields{display:none}
.form.sent .form-success{display:grid}
.talk{margin-block-start:var(--s-10)}
.talk-grid{display:grid;grid-template-columns:1fr 1.1fr;gap:var(--s-7);align-items:start}
.contact-rows{display:grid;gap:var(--s-3)}
.contact-rows a{display:flex;align-items:center;gap:var(--s-4);padding:var(--s-5);border-radius:20px;background:#fff;border:1px solid rgba(20,17,15,.06);box-shadow:0 18px 50px -30px rgba(60,30,10,.25);transition:transform .6s var(--ease),box-shadow .6s var(--ease),border-color .4s var(--ease)}
.contact-rows a:hover{transform:translateY(-4px);border-color:rgba(217,104,46,0.2);box-shadow:0 24px 60px -28px rgba(217,104,46,0.175)}
.contact-rows .ico{flex:none;width:48px;height:48px;border-radius:14px;display:grid;place-items:center;background:rgba(217,104,46,0.05);color:var(--accent)}
.contact-rows .ico svg{width:22px;height:22px}
.contact-rows .txt{display:grid;gap:.1rem;min-width:0}
.contact-rows strong{font-family:var(--font-display);font-weight:600;font-size:1.2rem;letter-spacing:-.015em}
.contact-rows small{color:var(--text-secondary);font-size:var(--fs-sm);overflow-wrap:anywhere}
.contact-rows .arr{margin-inline-start:auto;color:var(--text-tertiary);transition:color var(--t-fast) var(--ease),transform var(--t-fast) var(--ease)}
.contact-rows a:hover .arr{color:var(--accent);transform:translate(2px,-2px)}
.todo-link{opacity:.72}
.map{position:relative;aspect-ratio:1;margin:0;border-radius:24px;overflow:hidden;background:#fff;border:1px solid rgba(20,17,15,.08);box-shadow:0 24px 70px -34px rgba(60,30,10,.3)}
.map img{display:block;width:100%;height:100%;object-fit:cover}
.map-pin{position:absolute;left:var(--x);top:var(--y);width:0;height:0;animation:pinfloat 3.4s ease-in-out infinite}
.map-pin b{position:absolute;width:13px;height:13px;border-radius:50%;background:var(--accent);border:2px solid #fff;box-shadow:0 3px 10px rgba(0,0,0,.35);transform:translate(-50%,-50%)}
.map-pin i{position:absolute;width:13px;height:13px;border-radius:50%;border:1.5px solid var(--accent);opacity:0;transform:translate(-50%,-50%);animation:halo 2.8s ease-out infinite}
.map-pin i.h2{animation-delay:1.4s}
@keyframes halo{0%{transform:translate(-50%,-50%) scale(.6);opacity:.85}100%{transform:translate(-50%,-50%) scale(3.4);opacity:0}}
@keyframes pinfloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-3px)}}
.closing{font-size:clamp(3rem,1.5rem + 9vw,9.5rem);line-height:.92;letter-spacing:-.045em}
.closing-sec .btn-row{margin-block-start:var(--s-7)}
.closing .ln{display:block}
@media (max-width:900px){.book{grid-template-columns:1fr}.talk-grid{grid-template-columns:1fr}}
@media (max-width:420px){.phone-row{grid-template-columns:7.2rem 1fr}}

/* ---------- 16. Footer ---------- */
.footer{position:relative;z-index:1;padding-block:var(--s-9) var(--s-7);border-block-start:1px solid var(--line)}
.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:var(--s-7)}
.footer img{height:30px;width:auto}
.footer p{color:var(--text-secondary);font-size:var(--fs-sm);margin-block-start:var(--s-4);max-width:34ch}
.footer h2{font-family:var(--font-mono);font-size:var(--fs-xs);letter-spacing:.14em;text-transform:uppercase;color:var(--text-tertiary);margin-block-end:var(--s-4)}
.footer ul{display:grid;gap:.6rem}
.footer li a{color:var(--text-secondary);font-size:var(--fs-sm);transition:color var(--t-fast) var(--ease)}
.footer li a:hover{color:var(--accent)}
.footer-bottom{display:flex;justify-content:space-between;gap:var(--s-4);flex-wrap:wrap;margin-block-start:var(--s-8);padding-block-start:var(--s-5);border-block-start:1px solid var(--line);font-size:var(--fs-xs);color:var(--text-tertiary)}
.wa-float{position:fixed;inset-inline-end:var(--s-5);inset-block-end:var(--s-5);z-index:80;display:flex;align-items:center;gap:.6em;padding:.8rem 1.1rem .8rem .9rem;border-radius:var(--r-pill);background:rgba(var(--canvas-rgb),.88);border:1px solid var(--line-strong);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);font-size:var(--fs-sm);font-weight:600;box-shadow:0 20px 40px -20px rgba(0,0,0,.6);transition:transform var(--t-fast) var(--ease),border-color var(--t-fast) var(--ease),opacity var(--t-med) var(--ease)}
.wa-float:hover{transform:translateY(-2px);border-color:var(--accent)}
.wa-float svg{width:20px;height:20px;color:var(--accent)}
.wa-float.hidden{opacity:0;pointer-events:none}
@media (max-width:900px){.footer-grid{grid-template-columns:1fr 1fr}.footer-grid > div:first-child{grid-column:1/-1}}
@media (max-width:560px){.footer-grid{grid-template-columns:1fr}.wa-float .lbl{display:none}.wa-float{padding:.9rem}}

/* ---------- 16b. Service pages + FAQ page ---------- */
.page-hero{position:relative;padding-block:calc(var(--s-10) + 3rem) var(--s-9)}
.page-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:var(--s-8);align-items:center}
.page-text{display:grid;gap:var(--s-5);justify-items:start}
.crumbs{display:flex;flex-wrap:wrap;gap:.5em;font-family:var(--font-mono);font-size:var(--fs-xs);letter-spacing:.1em;text-transform:uppercase;color:var(--text-tertiary)}
.crumbs li + li::before{content:"/";margin-inline-end:.5em;opacity:.5}
.crumbs a:hover{color:var(--accent)}
.page-media{position:relative;aspect-ratio:4/5;max-height:70vh;width:100%;border-radius:24px;overflow:hidden;border:1px solid var(--line);background:var(--panel-2);justify-self:end}
.page-media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transform:scale(1.18);transition:opacity 1100ms var(--ease)}
.page-media img.on{opacity:1;animation:dolly 7.5s linear forwards}
.page-media.is-video{aspect-ratio:9/16;width:auto;height:min(78vh,720px);max-height:none}
.page-media video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
.page-media .now{position:absolute;inset-inline-start:var(--s-4);inset-block-end:var(--s-4);z-index:2}
.split{display:grid;grid-template-columns:.9fr 1.1fr;gap:var(--s-8);align-items:center}
.split-media{aspect-ratio:4/5;max-height:60vh;border-radius:24px;overflow:hidden;border:1px solid var(--line)}
.split-media img{width:100%;height:100%;object-fit:cover}
.checks-x{display:grid;gap:var(--s-3);margin-block-start:var(--s-5);color:var(--text-secondary)}
.checks-x li{display:flex;gap:.7em;align-items:flex-start}
.checks-x i{flex:none;width:1.3em;height:1.3em;border-radius:50%;border:1px solid var(--line-strong);position:relative;margin-block-start:.15em}
.checks-x i::before,.checks-x i::after{content:"";position:absolute;left:50%;top:50%;width:.5em;height:1px;background:currentColor;transform:translate(-50%,-50%) rotate(45deg)}
.checks-x i::after{transform:translate(-50%,-50%) rotate(-45deg)}
.checks-ok i{border-color:rgba(217,104,46,0.25);background:rgba(217,104,46,0.06);color:var(--accent)}
.checks-ok i::before{width:.42em;height:.22em;border:.11em solid var(--accent);border-top:0;border-right:0;background:none;transform:translate(-50%,-62%) rotate(-45deg)}
.checks-ok i::after{display:none}
.punch{margin-block-start:var(--s-5);font-family:var(--font-display);font-weight:600;font-size:var(--fs-lead);letter-spacing:-.015em}
.features{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--s-4)}
.feature{padding:var(--s-6) var(--s-5);border-radius:20px;border:1px solid var(--line);background:linear-gradient(160deg,rgba(255,255,255,.06),rgba(255,255,255,.015) 60%),var(--panel);display:grid;gap:var(--s-3);align-content:start;transition:transform .6s var(--ease),border-color .4s var(--ease),box-shadow .6s var(--ease)}
.feature:hover{transform:translateY(-4px);border-color:rgba(217,104,46,0.225);box-shadow:0 30px 60px -30px rgba(217,104,46,0.175)}
.feature .idx{font-family:var(--font-mono);font-size:var(--fs-xs);letter-spacing:.12em;color:var(--accent)}
.feature h3{font-family:var(--font-display);font-weight:600;font-size:1.2rem;letter-spacing:-.015em}
.feature p{color:var(--text-secondary);font-size:var(--fs-sm)}
.steps{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:var(--s-3)}
.step{padding:var(--s-5);border-radius:20px;border:1px solid rgba(217,104,46,0.15);background:rgba(217,104,46,0.03);display:grid;gap:var(--s-2)}
.step .n{font-family:var(--font-mono);font-size:var(--fs-xs);color:var(--accent);letter-spacing:.1em}
.step strong{font-family:var(--font-display);font-weight:600;font-size:1.1rem;letter-spacing:-.015em}
.step p{color:var(--text-secondary);font-size:var(--fs-sm)}
.faq{display:grid;grid-template-columns:.8fr 1.2fr;gap:var(--s-8);align-items:start}
.faq-list{display:grid;gap:var(--s-2)}
.faq-item{border-radius:var(--r-md);border:1px solid var(--line);background:var(--glass);transition:border-color var(--t-fast) var(--ease),background var(--t-fast) var(--ease)}
.faq-item[open]{border-color:var(--line-strong);background:var(--glass-2)}
.faq-item summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;gap:var(--s-4);align-items:center;padding:var(--s-5) var(--s-5);font-family:var(--font-display);font-weight:600;font-size:1.15rem;letter-spacing:-.015em}
.faq-item summary::-webkit-details-marker{display:none}
.faq-item summary i{flex:none;width:28px;height:28px;border-radius:50%;border:1px solid var(--line-strong);position:relative;transition:transform var(--t-med) var(--ease),background var(--t-fast) var(--ease)}
.faq-item summary i::before,.faq-item summary i::after{content:"";position:absolute;inset-inline-start:50%;inset-block-start:50%;width:10px;height:1.5px;background:currentColor;transform:translate(-50%,-50%)}
.faq-item summary i::after{transform:translate(-50%,-50%) rotate(90deg)}
.faq-item[open] summary i{transform:rotate(45deg);background:var(--accent-muted);border-color:var(--accent);color:var(--accent)}
.faq-item .ans{padding:0 var(--s-5) var(--s-5);color:var(--text-secondary);max-width:60ch}
.more-links{display:flex;flex-wrap:wrap;gap:var(--s-3) var(--s-5);margin-block-start:var(--s-4)}
.cta-band{padding-block:var(--s-9);border-block-start:1px solid var(--line)}
.cta-band .lead{margin-block-start:var(--s-4)}
.cta-band .btn-row{margin-block-start:var(--s-6)}
@media (max-width:900px){.page-grid,.split,.faq{grid-template-columns:1fr}.page-media{max-height:50vh;justify-self:start}.page-media.is-video{height:min(72vh,600px);max-height:none;justify-self:center}.features{grid-template-columns:1fr 1fr}.steps{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.features,.steps{grid-template-columns:1fr}}

/* ---------- 17. Reveal choreography ---------- */
html.js .reveal{opacity:0;transform:translateY(22px);transition:opacity var(--t-slow) var(--ease),transform var(--t-slow) var(--ease)}
html.js .reveal.in{opacity:1;transform:none}
html.js .reveal.scale{transform:scale(.96) translateY(14px)}
html.js .reveal.scale.in{transform:none}
html.js .reveal .ln{opacity:0;transform:translateY(.55em);transition:opacity .95s var(--ease),transform .95s var(--ease)}
html.js .reveal.in .ln{opacity:1;transform:none}
.reveal.in .ln:nth-child(2){transition-delay:.12s}.reveal.in .ln:nth-child(3){transition-delay:.24s}.reveal.in .ln:nth-child(4){transition-delay:.36s}
.svc-grid > .reveal:nth-child(2n){transition-delay:.1s}

/* living elements pause off-screen and on hidden tabs */
.live-off *,.live-off *::before,.live-off *::after{animation-play-state:paused!important}
body.paused *,body.paused *::before,body.paused *::after{animation-play-state:paused!important}

/* ---------- 18. Reduced motion: every animation lands on its final state ---------- */
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition:none!important;transition-delay:0s!important;scroll-behavior:auto!important}
  body{opacity:1}
  html.js .reveal,html.js .reveal .ln{opacity:1;transform:none}
  .stack-card{transform:none}
  .stack-inner::after{opacity:0}
  .statement .w{opacity:1}
  .marquee-track{animation:none;transform:none}
  .marquee{overflow-x:auto;mask-image:none;-webkit-mask-image:none}
  .flip-stage{display:none}
  .flip-all{display:block;white-space:normal;line-height:1.3}
  .reel-slide.is-active img{animation:none;transform:none}
  .reel-bars span.is-active i{animation:none;transform:scaleX(1)}
  .page-media img.on{animation:none;transform:none}
  .qatar-media{transform:none}
  .svc-card .thumb img.on{animation:none;transform:none}
  .svc-card.reveal .thumb{transform:none}
  .phone-sec{height:auto}
  .phone-stage{position:static;height:auto}
  .phone,.phone-cap,.fact{opacity:1;transform:none}
  .in .phone{transform:none}
  .orbit{--heat:1}
  .orbit .node circle{fill:var(--accent);stroke:var(--accent)}
  .orbit .node text{fill:#140600}
  .orbit .lbl{opacity:1}
  .orbit .core-hint,.orbit .core-step,.orbit .core-burst{display:none}
  .orbit .core-done{opacity:1;transform:none}
  .orbit .core{background:radial-gradient(circle at 40% 35%,#ffb23f,var(--accent) 60%,#c84600 100%)}
  .hold-hint{display:none}
  .orbit-done{max-height:none;opacity:1;transform:none}
  .carousel{overflow-x:auto;cursor:default;scrollbar-width:none}
  .car-track{transform:none!important}
  .car-nav{display:none}
  .cmp-stage{min-height:0;display:grid;gap:var(--s-6)}
  .pair{position:static;opacity:1;transform:none;pointer-events:auto}
  .map-pin,.map-pin i{animation:none}
  .map-pin i{opacity:.4;transform:translate(-50%,-50%) scale(1.8)}
}

.page-sub{font-size:clamp(1.25rem,1rem + 1.1vw,1.9rem);line-height:1.2;color:#c9c0b7;margin-block-start:var(--s-3);max-width:24ch}

html.js .stack-text .answer:not(.open){display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden}
.answer-more{font:inherit;font-size:var(--fs-xs);font-family:var(--font-mono);letter-spacing:.06em;color:var(--accent);background:none;border:0;padding:0;margin-block-start:calc(-1 * var(--s-3));cursor:pointer;text-decoration:underline;text-underline-offset:3px}
.answer-more:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:4px}

/* team */
.team{margin-block-start:var(--s-9);display:grid;gap:var(--s-4)}
.team-title{font-size:clamp(1.8rem,1.2rem + 2.4vw,3rem);letter-spacing:-.03em;line-height:1}
.team-grid{list-style:none;margin:var(--s-4) 0 0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,15rem),1fr));gap:var(--s-4)}
.member{display:grid;grid-template-columns:auto minmax(0,1fr);grid-template-rows:auto auto;column-gap:var(--s-4);align-items:center;padding:var(--s-4);border:1px solid var(--line-strong);border-radius:16px}
.member .avatar{grid-row:1/3;width:64px;height:64px;overflow:hidden;border-radius:50%;display:grid;place-items:center;font-family:var(--font-mono);font-weight:500;font-size:.95rem;letter-spacing:.04em;color:var(--accent);border:1.5px solid var(--accent);background:color-mix(in srgb,var(--accent) 8%,transparent)}
.member .avatar img{width:100%;height:100%;object-fit:cover;border-radius:50%;display:block}
.member .m-name{font-family:var(--font-display);font-weight:600;font-size:1.05rem;line-height:1.2;color:var(--text-primary)}
.member .m-role{font-size:var(--fs-sm);color:var(--text-secondary);line-height:1.35}

@media (max-width:900px){.video-first{display:flex;flex-direction:column;align-items:flex-start;gap:var(--s-5)}.video-first .page-text{display:contents}.video-first .page-text>*{order:4}.video-first .crumbs{order:1}.video-first .sec-label{order:2;display:block}.video-first .page-media{order:3;align-self:center}}
.sound-toggle{position:absolute;inset-inline-end:var(--s-3);inset-block-end:var(--s-4);z-index:3;width:44px;height:44px;border-radius:50%;display:grid;place-items:center;color:#fff;background:rgba(0,0,0,.62);border:1px solid rgba(255,255,255,.25);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);cursor:pointer;transition:background .2s,border-color .2s}
.sound-toggle svg{width:22px;height:22px}.sound-toggle .waves{opacity:.35}
.sound-toggle[aria-pressed="true"]{background:var(--accent);border-color:var(--accent)}.sound-toggle[aria-pressed="true"] .slash{display:none}.sound-toggle[aria-pressed="true"] .waves{opacity:1}
.sound-toggle:focus-visible{outline:2px solid var(--accent);outline-offset:3px}

/* reels: swipeable card stack */
.reels{padding-block:var(--s-6) var(--s-8);overflow-x:clip}
.reel-stage{--cw:min(80vw,380px);position:relative;height:calc(var(--cw)*16/9 + 24px);touch-action:pan-y;outline:none;user-select:none;-webkit-user-select:none}
.reel-stage:focus-visible{outline:2px solid var(--accent);outline-offset:8px;border-radius:32px}
.reel{--x:0%;--r:0deg;--s:1;position:absolute;left:50%;top:12px;width:var(--cw);aspect-ratio:9/16;margin-left:calc(var(--cw)/-2);border-radius:28px;overflow:hidden;background:#14110f;border:1px solid rgba(255,255,255,.08);box-shadow:0 30px 60px -22px rgba(50,25,8,.5),0 8px 20px -10px rgba(0,0,0,.35);transform:translateX(var(--x)) rotate(var(--r)) scale(var(--s));transition:transform .6s var(--ease),opacity .6s var(--ease),filter .6s var(--ease);cursor:pointer}
.reel video{width:100%;height:100%;object-fit:cover;display:block;pointer-events:none}
.reel[data-pos="0"]{z-index:3;opacity:1;cursor:default}
.reel[data-pos="1"]{--x:10%;--r:7deg;--s:.92;z-index:2;opacity:.6;filter:saturate(.6) brightness(.85)}
.reel[data-pos="-1"]{--x:-10%;--r:-7deg;--s:.92;z-index:2;opacity:.6;filter:saturate(.6) brightness(.85)}
.reel[data-pos="2"]{--s:.82;z-index:1;opacity:0;pointer-events:none}
.reel:not(.is-active) .sound-toggle{opacity:0;pointer-events:none}
.reel-nav{display:flex;align-items:center;justify-content:center;gap:var(--s-4);margin-block-start:var(--s-5)}
.reel-dots{display:flex;gap:.5rem}
.reel-dot{width:8px;height:8px;border-radius:50%;border:0;padding:0;background:rgba(20,17,15,.22);cursor:pointer;transition:width .3s,background .3s}
.reel-dot.on{width:24px;border-radius:8px;background:var(--accent)}
.reel-arrow{display:none;width:44px;height:44px;border-radius:50%;border:1px solid rgba(20,17,15,.18);background:transparent;color:inherit;font-size:1.1rem;cursor:pointer}
.reel-arrow:hover{border-color:var(--accent);color:var(--accent)}
@media (min-width:900px){
  .reel-stage{--cw:clamp(260px,24vw,360px)}
  .reel[data-pos="1"]{--x:82%;--r:0deg;--s:.8;opacity:.75;filter:saturate(.75) brightness(.9)}
  .reel[data-pos="-1"]{--x:-82%;--r:0deg;--s:.8;opacity:.75;filter:saturate(.75) brightness(.9)}
  .reel-arrow{display:grid;place-items:center}
}
@media (prefers-reduced-motion:reduce){.reel{transition:none}}

/* team: centred card stack, round photo above, name and title below */
.team-sec{padding-block:var(--s-6) var(--s-8);overflow-x:clip}
.team-head{display:grid;gap:var(--s-3);justify-items:start}
.team-track{--cw:min(68vw,300px);position:relative;list-style:none;margin:var(--s-6) 0 0;padding:0;height:calc(var(--cw)*4/3 + 24px);touch-action:pan-y;outline:none;user-select:none;-webkit-user-select:none}
.team-track:focus-visible{outline:2px solid var(--accent);outline-offset:8px;border-radius:28px}
.tcard{--x:0%;--r:0deg;--s:1;position:absolute;left:50%;top:12px;width:var(--cw);aspect-ratio:3/4;margin-left:calc(var(--cw)/-2);transform:translateX(var(--x)) rotate(var(--r)) scale(var(--s));opacity:0;transition:transform .95s cubic-bezier(.22,.61,.36,1),opacity .95s cubic-bezier(.22,.61,.36,1),filter .95s cubic-bezier(.22,.61,.36,1);cursor:pointer}
.tcard figure{margin:0;height:100%;display:grid;grid-template-rows:2fr 1fr;border-radius:26px;overflow:hidden;background:#14110f;border:1px solid rgba(255,255,255,.08);box-shadow:0 30px 60px -22px rgba(50,25,8,.5),0 8px 20px -10px rgba(0,0,0,.3)}
.tc-photo{display:grid;place-items:end center;padding:12% 12% 0;min-height:0}
.tc-photo img,.tc-photo .tc-initial{width:auto;height:100%;max-width:100%;aspect-ratio:1;border-radius:50%;object-fit:cover;display:block;box-shadow:0 0 0 2px var(--accent)}
.tc-photo .tc-initial{display:grid;place-items:center;font-family:var(--font-display);font-weight:600;font-size:clamp(3rem,14vw,5rem);color:var(--accent);background:radial-gradient(circle at 50% 40%,#3a2417,#14110f)}
.tcard figcaption{display:grid;align-content:center;justify-items:center;text-align:center;gap:.25rem;padding:0 var(--s-4);color:#fff}
.tcard .m-name{font-family:var(--font-display);font-weight:600;font-size:1.25rem;line-height:1.15}
.tcard .m-role{font-size:var(--fs-sm);color:rgba(255,255,255,.7);line-height:1.3}
.tcard[data-pos="0"]{opacity:1;z-index:3;cursor:default}
.tcard[data-pos="1"]{--x:34%;--r:6deg;--s:.86;opacity:.5;z-index:2;filter:saturate(.5) brightness(.8)}
.tcard[data-pos="-1"]{--x:-34%;--r:-6deg;--s:.86;opacity:.5;z-index:2;filter:saturate(.5) brightness(.8)}
.tcard[data-pos="2"]{--x:50%;--s:.7;z-index:1}
.tcard[data-pos="-2"]{--x:-50%;--s:.7;z-index:1}
.team-dots{display:flex;justify-content:center;flex-wrap:wrap;gap:.45rem;margin-block-start:var(--s-5)}
.team-dot{width:7px;height:7px;border-radius:50%;border:0;padding:0;background:rgba(20,17,15,.2);cursor:pointer;transition:width .4s,background .4s}
.team-dot.on{width:22px;border-radius:7px;background:var(--accent)}
@media (min-width:900px){
  .team-track{--cw:300px}
  .tcard[data-pos="1"]{--x:78%;--r:0deg;--s:.82;opacity:.6}
  .tcard[data-pos="-1"]{--x:-78%;--r:0deg;--s:.82;opacity:.6}
  .tcard[data-pos="2"]{--x:120%}
  .tcard[data-pos="-2"]{--x:-120%}
}
@media (prefers-reduced-motion:reduce){.tcard{transition:none}}

/* legal pages */
.legal{max-width:72ch;display:grid;gap:var(--s-4)}
.legal h2{font-family:var(--font-display);font-weight:600;font-size:clamp(1.25rem,1.1rem + .6vw,1.6rem);margin-block-start:var(--s-5);color:var(--text-primary)}
.legal p,.legal li{color:var(--text-secondary);line-height:1.65}
.legal ul{display:grid;gap:var(--s-2);padding-inline-start:1.2em;margin:0}
.legal strong{color:var(--text-primary);font-weight:600}
.legal-links a{color:inherit}
.legal-links a:hover{color:var(--accent)}
/* cookie notice (only when analytics is switched on) */
.consent{position:fixed;inset-inline:16px;bottom:16px;z-index:60;max-width:560px;margin-inline:auto;display:grid;gap:var(--s-3);padding:var(--s-4);border-radius:18px;background:rgba(18,15,13,.94);border:1px solid rgba(255,255,255,.14);box-shadow:0 20px 50px -20px rgba(0,0,0,.8);color:#eee;font-size:var(--fs-sm);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
.consent p{margin:0;line-height:1.5}
.consent-btns{display:flex;gap:var(--s-3);justify-content:flex-end}
.consent .btn{padding-block:.6rem;min-height:0}
@media (max-width:700px){.consent{bottom:88px}}
.next-steps{list-style:none;counter-reset:st;margin:var(--s-6) 0 0;padding:0;display:grid;gap:var(--s-4);max-width:34ch}
.next-steps li{counter-increment:st;display:grid;grid-template-columns:auto 1fr;column-gap:var(--s-3);row-gap:.15rem}
.next-steps li::before{content:"0" counter(st);grid-row:1/3;font-family:var(--font-mono);font-size:var(--fs-xs);color:var(--accent);padding-top:.2em}
.next-steps strong{font-weight:600}
.next-steps span{font-size:var(--fs-sm);color:var(--text-secondary);line-height:1.45}

/* interests dropdown with checkboxes */
.field .lbl{font-weight:600;font-size:var(--fs-sm)}
.field .opt{font-weight:400;color:var(--text-tertiary)}
.ms{position:relative}
.ms-btn{text-align:start;cursor:pointer;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='none' stroke='%236b645e' stroke-width='1.5'><path d='M4 6l4 4 4-4'/></svg>");background-repeat:no-repeat;background-position:right 1rem center;padding-inline-end:2.6rem}
.ms-btn[aria-expanded="true"]{border-color:var(--accent)}
.ms-sum{display:block;color:#9a918a;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ms-sum.has{color:var(--text-primary)}
.ms-panel{position:absolute;z-index:20;inset-inline:0;top:calc(100% + 6px);display:grid;gap:2px;padding:.4rem;background:#fff;border:1px solid #e4dcd4;border-radius:14px;box-shadow:0 18px 40px -18px rgba(40,20,5,.35)}
.ms-panel[hidden]{display:none}
.ms-opt{display:flex;align-items:center;gap:.7em;padding:.7rem .75rem;border-radius:10px;cursor:pointer;font-size:var(--fs-sm);font-weight:500;color:var(--text-primary)}
.ms-opt:hover{background:#faf5f0}
.ms-opt input{appearance:none;-webkit-appearance:none;flex:none;width:18px;height:18px;margin:0;border:1.5px solid #cfc6bd;border-radius:5px;display:grid;place-items:center;background:#fff}
.ms-opt input:checked{background:var(--accent);border-color:var(--accent)}
.ms-opt input:checked::after{content:"";width:8px;height:4px;border:2px solid #140600;border-top:0;border-right:0;transform:translateY(-1px) rotate(-45deg)}
.ms-opt input:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.ms-done{margin:.3rem .3rem .2rem;padding:.65rem;border:0;border-radius:10px;background:var(--accent);color:#140600;font:inherit;font-weight:600;font-size:var(--fs-sm);cursor:pointer}

/* booking journey: line with three stops */
.journey{--d:42px;--p:0;list-style:none;position:relative;display:grid;grid-template-columns:repeat(3,1fr);margin:var(--s-7) 0 0;padding:0;max-width:30rem}
.journey::before,.journey .j-fill{content:"";position:absolute;top:calc(var(--d) / 2 - 1px);left:16.667%;height:2px;border-radius:2px}
.journey::before{right:16.667%;background:#14110f}
.journey .j-fill{width:calc(66.667% * var(--p));background:var(--accent);transition:width .7s cubic-bezier(.65,0,.35,1);z-index:1}
.journey li{position:relative;z-index:2;display:grid;justify-items:center;gap:var(--s-3);text-align:center}
.j-dot{width:var(--d);height:var(--d);border-radius:50%;display:grid;place-items:center;border:2px solid #14110f;background:#fbf4ee;color:#14110f;font-family:var(--font-mono);font-size:.8rem;font-weight:500;transition:background .35s,border-color .35s,color .35s,transform .45s cubic-bezier(.34,1.56,.64,1)}
.j-lbl{font-weight:600;font-size:var(--fs-sm);line-height:1.25;max-width:9ch;opacity:0;transform:translateY(-8px) scale(.85);transition:opacity .4s,transform .5s cubic-bezier(.34,1.56,.64,1)}
.journey li.on .j-dot{background:var(--accent);border-color:var(--accent);color:#140600;transform:scale(1.12)}
.journey li.on .j-lbl{opacity:1;transform:none}
html:not(.js) .journey li .j-lbl{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.journey .j-fill,.j-dot,.j-lbl{transition:none}}
#bookForm button[type=submit],#auditForm button[type=submit],#checkForm button[type=submit]{justify-self:center}
.book-side .journey{width:100%;max-width:34rem;justify-self:stretch}.j-lbl{max-width:11ch}
.journey li{align-content:start}
/* journey: slow glow passes 1 → 2 → 3 and loops, like the map pins */
.j-dot{position:relative}
.j-dot::before,.j-dot::after{content:"";position:absolute;inset:-2px;border-radius:50%;border:1.5px solid var(--accent);opacity:0;pointer-events:none}
.journey.loop .j-dot{animation:jglow 4.8s ease-in-out infinite}
.journey.loop .j-dot::before{animation:jhalo 4.8s ease-out infinite}
.journey.loop .j-dot::after{animation:jhalo 4.8s ease-out infinite .5s}
.journey.loop li:nth-child(3) .j-dot,.journey.loop li:nth-child(3) .j-dot::before{animation-delay:1.6s}
.journey.loop li:nth-child(3) .j-dot::after{animation-delay:2.1s}
.journey.loop li:nth-child(4) .j-dot,.journey.loop li:nth-child(4) .j-dot::before{animation-delay:3.2s}
.journey.loop li:nth-child(4) .j-dot::after{animation-delay:3.7s}
@keyframes jhalo{0%{opacity:.8;transform:scale(1)}30%{opacity:0;transform:scale(1.9)}100%{opacity:0;transform:scale(1.9)}}
@keyframes jglow{0%,40%,100%{box-shadow:0 0 0 0 rgba(217,104,46,0.0);transform:scale(1.12)}15%{box-shadow:0 0 22px 6px rgba(217,104,46,0.225);transform:scale(1.2)}}
@media (prefers-reduced-motion:reduce){.journey.loop .j-dot,.journey.loop .j-dot::before,.journey.loop .j-dot::after{animation:none}}
/* labels: two lines each; bold travels with the glow */
.j-lbl{max-width:none;font-weight:400;color:var(--text-secondary)}
.journey.loop .j-lbl{animation:jbold 4.8s steps(1,end) infinite}
.journey.loop li:nth-child(3) .j-lbl{animation-delay:1.6s}
.journey.loop li:nth-child(4) .j-lbl{animation-delay:3.2s}
@keyframes jbold{0%{font-weight:700;color:var(--text-primary)}33%{font-weight:400;color:var(--text-secondary)}}
@media (prefers-reduced-motion:reduce){.journey.loop .j-lbl{animation:none;font-weight:600;color:var(--text-primary)}}
/* problem tiles: wider rectangles, smaller icon */
.tile{aspect-ratio:4/3;padding:var(--s-3);gap:var(--s-2)}
.tile svg{width:36px;max-width:36px}
@media (min-width:900px){.tile{aspect-ratio:16/10}.tile svg{width:44px;max-width:44px}}
/* orbit: tap to step — glowing core and stops */
.orbit .core{touch-action:manipulation}
.orbit .core::before,.orbit .core::after{content:"";position:absolute;inset:-3px;border-radius:50%;border:1.5px solid var(--accent);opacity:0;pointer-events:none}
.orbit:not(.forged) .core{animation:coreglow 2.6s ease-in-out infinite}
.orbit:not(.forged) .core::before{animation:corehalo 2.6s ease-out infinite}
.orbit:not(.forged) .core::after{animation:corehalo 2.6s ease-out infinite 1.3s}
@keyframes corehalo{0%{opacity:.75;transform:scale(1)}70%,100%{opacity:0;transform:scale(1.32)}}
@keyframes coreglow{0%,100%{filter:drop-shadow(0 0 6px rgba(217,104,46,0.125))}50%{filter:drop-shadow(0 0 26px rgba(217,104,46,0.3))}}
.orbit .core:active{transform:translate(-50%,-50%) scale(.95)}
.orbit .node.lit circle{animation:nodelit 2.6s ease-in-out infinite}
.orbit .node.next circle{stroke:var(--accent);animation:nodenext 1.6s ease-in-out infinite}
.orbit .node.next text{fill:var(--accent)}
@keyframes nodelit{0%,100%{filter:drop-shadow(0 0 8px rgba(217,104,46,0.275))}50%{filter:drop-shadow(0 0 18px rgba(217,104,46,0.475))}}
@keyframes nodenext{0%,100%{filter:drop-shadow(0 0 0 rgba(217,104,46,0.0));stroke-width:1.5}50%{filter:drop-shadow(0 0 12px rgba(217,104,46,0.425));stroke-width:2.5}}
.orbit.tapped .core-hint{opacity:0;animation:none}
.orbit.tapped .core-step{opacity:1;transform:none}
.orbit .core-step.pop{animation:steppop .45s cubic-bezier(.34,1.56,.64,1)}
@keyframes steppop{0%{transform:scale(.7);opacity:0}100%{transform:scale(1);opacity:1}}
.orbit .core-hint{font-size:var(--fs-sm);letter-spacing:.22em}
/* orbit: larger, readable text; stops stay dull until tapped */
.orbit .node text{font-size:17px}
.orbit .lbl{font-size:16px;letter-spacing:.08em;font-weight:500}
@media (max-width:900px){.orbit .node text{font-size:19px}.orbit .lbl{font-size:19px}.orbit{padding-inline:3.2rem}}
.orbit .node circle{r:27px}
.orbit .core-step{font-size:clamp(1.1rem,.8rem + 1.4vw,1.4rem)}
.orbit .core-done{font-size:clamp(1.15rem,.8rem + 1.5vw,1.5rem)}
.orbit .node.next circle{stroke:var(--line-strong);animation:none}
.orbit .node.next text{fill:var(--text-secondary)}
@media (max-width:900px){.orbit{width:calc(100% + 32px);max-width:480px;margin-inline:-16px;padding-inline:3.6rem;justify-self:center}}

/* ===== deck: horizontal card carousel (services, fixes) ===== */
.deck{--cw:min(82vw,420px);--gap:14px;position:relative}
.wrap .deck{margin-inline:calc(50% - 50vw)}
.deck-track{position:relative;display:flex;align-items:stretch;gap:var(--gap);margin:0;padding:18px calc(50% - var(--cw) / 2) 22px;list-style:none;overflow-x:auto;overflow-y:hidden;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scrollbar-width:none;-webkit-overflow-scrolling:touch}
.deck-track::-webkit-scrollbar{display:none}
.deck-track>*{flex:0 0 var(--cw);scroll-snap-align:center;transform:scale(.9);opacity:.5;filter:saturate(.6);transition:transform .55s var(--ease),opacity .55s var(--ease),filter .55s var(--ease);cursor:pointer}
.deck-track>.is-center{transform:none;opacity:1;filter:none;cursor:auto}
html:not(.js) .deck-track>*{transform:none;opacity:1;filter:none}
.deck-nav{display:flex;align-items:center;justify-content:center;gap:var(--s-4);margin-block-start:var(--s-3)}
.deck-dots{display:flex;gap:.45rem}
.deck-dot{width:8px;height:8px;padding:0;border:0;border-radius:50%;background:var(--line-strong);cursor:pointer;transition:width .35s,background .35s}
.deck-dot.on{width:24px;border-radius:8px;background:var(--accent)}
.deck-arrow{display:none;width:44px;height:44px;border-radius:50%;border:1px solid var(--line-strong);background:transparent;color:var(--text-primary);font-size:1.1rem;cursor:pointer}
.deck-arrow:hover{border-color:var(--accent);color:var(--accent)}
@media (min-width:900px){.deck{--cw:min(30vw,420px);--gap:24px}.deck-arrow{display:grid;place-items:center}.deck-track>*{transform:scale(.86)}.deck-track>.is-center{transform:none}}
@media (prefers-reduced-motion:reduce){.deck-track>*{transition:none}}

/* services inside the deck: one column card */
.svc-deck .svc-card > a{grid-template-columns:1fr;gap:var(--s-4);padding:var(--s-4)}
.svc-deck .svc-card .thumb{width:100%;aspect-ratio:4/3;transform:none}
.svc-deck .svc-body h3{font-size:clamp(1.3rem,1.1rem + .8vw,1.7rem)}
.svc-deck .svc-card > a:hover{transform:none}

/* fixes inside the deck */
.ans-deck{--cw:min(86vw,460px);margin-block-start:var(--s-4)}
.ans-card{--p:0}
.ans-card .stack-inner{min-height:0;height:100%;grid-template-columns:1fr;gap:var(--s-4);padding:var(--s-5);align-items:start}
.ans-card .stack-media{aspect-ratio:16/10;max-height:none}
.ans-card .stack-media img{transform:none}
.ans-card .stack-text .fix{font-size:clamp(1.45rem,1.2rem + 1.2vw,2.2rem)}
@media (min-width:900px){.ans-deck{--cw:min(62vw,940px)}.ans-card .stack-inner{grid-template-columns:.85fr 1.15fr;align-items:center;padding:var(--s-6)}.ans-card .stack-media{aspect-ratio:4/5;max-height:440px}}
.scroll-hint{margin-block:var(--s-6) var(--s-2)}
.stack-cta{padding-block-start:var(--s-6)}

/* shorter scroll-driven hero on desktop */
.hero{height:260vh}

/* footer folds on phones */
@media (max-width:560px){
  .footer-grid{gap:0}
  .footer-grid>div:first-child{margin-block-end:var(--s-5)}
  .footer-grid .fold{border-block-start:1px solid var(--line)}
  .footer-grid .fold h2{display:flex;justify-content:space-between;align-items:center;margin:0;padding:1rem 0;cursor:pointer}
  .footer-grid .fold h2::after{content:"+";font-size:1.1rem;color:var(--text-secondary);transition:transform .3s}
  .footer-grid .fold.open h2::after{transform:rotate(45deg)}
  .footer-grid .fold ul{display:none;padding-block-end:var(--s-4)}
  .footer-grid .fold.open ul{display:grid}
  .footer-grid>div:last-child{border-block-start:1px solid var(--line);padding-block-start:var(--s-4)}
}

/* ===== footer v2 ===== */
.footer-v2{grid-template-columns:1.5fr 1fr 1fr 1fr}
.footer-v2 .fq{border-block-end:1px solid var(--line)}
.footer-v2 .fq summary{list-style:none;cursor:pointer;padding:.55rem 1.4rem .55rem 0;position:relative;color:var(--text-secondary);font-size:var(--fs-sm);line-height:1.35}
.footer-v2 .fq summary::-webkit-details-marker{display:none}
.footer-v2 .fq summary::after{content:"+";position:absolute;right:0;top:.5rem;color:var(--text-tertiary)}
.footer-v2 .fq[open] summary{color:var(--text-primary)}
.footer-v2 .fq[open] summary::after{content:"–"}
.footer-v2 .fq p{margin:0 0 .7rem;font-size:var(--fs-xs);line-height:1.55;color:var(--text-tertiary);max-width:none}
.footer-v2 .fq[data-more]{display:none}
.footer-v2 .fbody.more .fq[data-more]{display:block}
.fq-btn{margin-block-start:.6rem;padding:0;border:0;background:none;color:var(--accent);font:inherit;font-size:var(--fs-sm);cursor:pointer}
.footer-v2 .flink{display:block;margin-block-start:.5rem;font-size:var(--fs-sm);color:var(--text-secondary)}
.footer-v2 .flink:hover{color:var(--accent)}
.social-bar{display:flex;overflow:hidden;margin-block-start:var(--s-7);padding-block:var(--s-4);border-block:1px solid var(--line);-webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
.social-track{display:flex;flex:none;gap:var(--s-6);padding-inline-end:var(--s-6);animation:socialrun 22s linear infinite}
.social-bar:hover .social-track,.social-bar:focus-within .social-track{animation-play-state:paused}
.social-track a{display:inline-flex;align-items:center;gap:.5rem;white-space:nowrap;color:var(--text-secondary);font-size:var(--fs-sm)}
.social-track a:hover{color:var(--accent)}
.social-track svg{width:18px;height:18px;color:var(--accent)}
@keyframes socialrun{to{transform:translateX(-100%)}}
@media (prefers-reduced-motion:reduce){.social-track{animation:none}.social-track[aria-hidden]{display:none}.social-bar{flex-wrap:wrap}}
@media (max-width:900px) and (min-width:561px){.footer-v2{grid-template-columns:1fr 1fr}}
@media (max-width:560px){
  .footer-v2 .fold .fbody{display:none;padding-block-end:var(--s-4)}
  .footer-v2 .fold.open .fbody{display:block}
  .footer-grid.footer-v2>div:last-child{border-block-start:1px solid var(--line);padding-block-start:0}
  .footer-grid.footer-v2>div:first-child{margin-block-end:0}
  .footer-v2 .fold:last-child{border-block-end:1px solid var(--line)}
  .social-bar{margin-block-start:var(--s-5)}
}
@media (max-width:560px){.footer-grid.footer-v2{grid-template-columns:1fr}}

/* ===== deck, stacked style (like the reels) ===== */
.deck.stacked{overflow-x:clip;padding-block:8px}
.deck.stacked .deck-track{display:block;position:relative;height:calc(var(--h,440px) + 36px);padding:0;overflow:visible;scroll-snap-type:none;touch-action:pan-y;user-select:none;-webkit-user-select:none}
.deck.stacked .deck-track>*{--x:0%;--r:0deg;--s:1;position:absolute;top:18px;left:50%;width:var(--cw);margin:0 0 0 calc(var(--cw) / -2);flex:none;transform:translateX(var(--x)) rotate(var(--r)) scale(var(--s));opacity:0;filter:none;pointer-events:none;transition:transform .65s var(--ease),opacity .65s var(--ease),filter .65s var(--ease)}
.deck.stacked .deck-track>[data-pos="0"]{opacity:1;z-index:3;pointer-events:auto;cursor:auto}
.deck.stacked .deck-track>[data-pos="1"],.deck.stacked .deck-track>[data-pos="-1"]{--s:.9;opacity:.6;z-index:2;filter:saturate(.55) brightness(.8);pointer-events:auto;cursor:pointer}
.deck.stacked .deck-track>[data-pos="1"]{--x:15%;--r:5deg}
.deck.stacked .deck-track>[data-pos="-1"]{--x:-15%;--r:-5deg}
.deck.stacked .deck-track>[data-pos="2"]{--x:26%;--s:.8;z-index:1}
.deck.stacked .deck-track>[data-pos="-2"]{--x:-26%;--s:.8;z-index:1}
.deck.stacked .deck-track>*>*{box-shadow:0 30px 60px -24px rgba(40,20,6,.45)}
@media (min-width:900px){
  .deck.stacked[data-spread] .deck-track>[data-pos="1"]{--x:86%;--r:0deg;--s:.84;opacity:.75;filter:saturate(.75) brightness(.9)}
  .deck.stacked[data-spread] .deck-track>[data-pos="-1"]{--x:-86%;--r:0deg;--s:.84;opacity:.75;filter:saturate(.75) brightness(.9)}
  .deck.stacked[data-spread] .deck-track>[data-pos="2"]{--x:150%;--s:.7}
  .deck.stacked[data-spread] .deck-track>[data-pos="-2"]{--x:-150%;--s:.7}
  .ans-deck.stacked .deck-track>[data-pos="1"]{--x:9%;--r:2deg;--s:.93}
  .ans-deck.stacked .deck-track>[data-pos="-1"]{--x:-9%;--r:-2deg;--s:.93}
}
@media (prefers-reduced-motion:reduce){.deck.stacked .deck-track>*{transition:none}}
.deck-dot{background:var(--line-strong)}

/* dark cards on light sections */
.svc-deck .svc-card,.ans-card{--text-primary:#f4efe9;--text-secondary:#b8aea5;--text-tertiary:#8a8078;--line:rgba(255,255,255,.1);--line-strong:rgba(255,255,255,.18);--panel:#14110f;--panel-2:#1c1815;color:var(--text-primary)}
.svc-deck .svc-card > a{background:linear-gradient(160deg,rgba(255,255,255,.06),rgba(255,255,255,.015) 60%),#14110f;border-color:rgba(255,255,255,.08)}
.work-deck{--cw:min(78vw,22rem)}
.work-deck .work-card{width:var(--cw)}
@media (min-width:900px){.work-deck{--cw:min(26vw,24rem)}}
.fixes-sec{padding-block:var(--s-6) var(--s-8)}
/* problems section on light */
.light .pains-intro{color:var(--text-secondary)}
.light .tile{border-color:rgba(20,17,15,.14);background:#fff;box-shadow:0 14px 30px -22px rgba(40,20,6,.35)}
.light .tile svg{color:#14110f}
.light .tile:hover,.light .tile:focus-visible{background:#fff;border-color:rgba(217,104,46,0.25);box-shadow:0 22px 40px -22px rgba(217,104,46,0.225)}
/* client strip: always solid dark, even while the page fades to the light problems section */
.trust{background:#000000;--text-primary:#f4efe9;--text-secondary:#a89f96;--text-tertiary:#7d756d;--line:rgba(255,255,255,.08);--line-strong:rgba(255,255,255,.18);color:var(--text-primary)}
/* white cards keep dark text on the dark booking section */
.card-light,.contact-rows a,.map{--text-primary:#14110f;--text-secondary:#6b645e;--text-tertiary:#8a827b;--line:rgba(20,17,15,.1);--line-strong:rgba(20,17,15,.2);color:#14110f}
/* journey line on dark */
.book-sec:not(.light) .journey::before{background:rgba(255,255,255,.35)}
.book-sec:not(.light) .j-dot{background:#000000;border-color:rgba(255,255,255,.45);color:var(--text-secondary)}
.book-sec:not(.light) .journey li.on .j-dot{background:var(--accent);border-color:var(--accent);color:#140600}

.svc-card .thumb img{transition:opacity .45s var(--ease)}
.talk-sec .talk{margin-block-start:0}
/* tighter Why / closing spacing */
#why{padding-block-end:var(--s-6)}
#why .section-head{margin-block-end:var(--s-4)}
.cmp{padding-block:var(--s-4)}
@media (max-width:900px){.cmp-stage{min-height:8.5rem}}
#closing{padding-block-start:var(--s-6);padding-block-end:var(--s-7)}
.closing-cta{display:inline-block;margin-block-start:var(--s-5);font-family:var(--font-display);font-weight:700;font-size:clamp(1.3rem,1.1rem + .9vw,1.8rem);letter-spacing:-.015em;color:var(--accent);text-decoration:none}
.closing-cta:hover{text-decoration:underline;text-underline-offset:.2em}
/* tighter booking form */
#bookForm,#auditForm,#checkForm{padding:var(--s-5)}
#bookForm .form-fields,#auditForm .form-fields,#checkForm .form-fields{gap:var(--s-3)}
#bookForm .field,#auditForm .field,#checkForm .field{gap:.3rem}
#bookForm .input,#auditForm .input,#checkForm .input{padding:.7rem .95rem}
#bookForm textarea.input,#auditForm textarea.input,#checkForm textarea.input{min-height:3.4rem;height:3.4rem}
#bookForm button[type=submit],#auditForm button[type=submit],#checkForm button[type=submit]{margin-block-start:var(--s-2)}
.book-side .journey{margin-block:var(--s-5) 0}
@media (max-width:900px){.book{gap:var(--s-6)}}
#bookForm textarea.input,#auditForm textarea.input,#checkForm textarea.input{min-height:2.9rem;height:2.9rem;resize:vertical}

/* ===== desktop scale: everything ~20-25% smaller at 100% browser zoom ===== */
@media (min-width:1024px){
  html{font-size:13px}
  :root{
    --fs-hero:clamp(3.4rem,1rem + 7.5vw,9rem);
    --fs-h1:clamp(2.6rem,1.2rem + 3.4vw,5rem);
    --fs-h2:clamp(2.1rem,1.1rem + 2.3vw,3.7rem);
    --fs-h3:clamp(1.3rem,1.1rem + .6vw,1.7rem);
    --fs-lead:clamp(1.1rem,1rem + .3vw,1.3rem);
    --gutter:clamp(1.25rem,.6rem + 3vw,3.5rem);
  }
  .closing{font-size:clamp(3rem,1rem + 6vw,7rem)}
  .orbit-done .tagline{font-size:clamp(2rem,1.2rem + 2vw,3rem)}
  .reel-stage{--cw:clamp(220px,18vw,300px)}
  .team-track{--cw:250px}
  .svc-deck{--cw:min(24vw,340px)}
  .work-deck{--cw:min(20vw,300px)}
  .ans-deck{--cw:min(54vw,780px)}
  .ans-card .stack-media{max-height:360px}
  .orbit{width:min(100%,430px)}
  .talk-grid{grid-template-columns:1fr minmax(0,380px);justify-content:space-between}
  .map{max-width:380px;justify-self:end}
  .qatar-grid{gap:var(--s-7)}
  .pair .yes{font-size:clamp(1.6rem,1rem + 1.8vw,2.6rem)}
  .stack-text .fix,.ans-card .stack-text .fix{font-size:clamp(1.45rem,1.1rem + 1vw,2rem)}
  .tile svg{width:38px;max-width:38px}
}
/* FAQ page groups */
.faq-groups{display:grid;gap:var(--s-3)}
.faq-cat{font-family:var(--font-mono);font-size:var(--fs-xs);font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--accent);margin:var(--s-6) 0 var(--s-2)}
.faq-cat:first-child{margin-block-start:0}

/* ===== pricing: build once, then Captain Forge monthly ===== */
.pricing-sec{padding-block:var(--s-8)}
.price-wrap{max-width:44rem}
.price-wrap .section-head{text-align:center;justify-items:center;margin-block-end:var(--s-6)}
.price-flow{display:grid;justify-items:stretch}
.price-card{border-radius:28px;padding:clamp(1.4rem,1rem + 2vw,2.4rem)}
.price-card.build{background:#fff;border:1px solid rgba(20,17,15,.08);border-top:4px solid var(--accent);box-shadow:0 24px 60px -34px rgba(60,30,10,.3);color:#14110f}
.price-card.run{background:radial-gradient(120% 90% at 100% 0%,#3a1c0c 0%,#14110f 55%);color:#f4efe9;box-shadow:0 30px 70px -30px rgba(20,10,4,.6)}
.pc-head{display:grid;grid-template-columns:auto 1fr;gap:var(--s-4);align-items:center;margin-block-end:var(--s-5)}
.pc-num{width:3.4rem;height:3.4rem;border-radius:50%;display:grid;place-items:center;font-family:var(--font-display);font-weight:700;font-size:1.4rem}
.build .pc-num{background:#14110f;color:#fff}
.run .pc-num{background:var(--accent);color:#140600}
.pc-head h3{font-size:clamp(1.6rem,1.2rem + 1.4vw,2.3rem);letter-spacing:-.03em}
.pc-head p{margin:.2rem 0 0;color:#6b645e;font-size:var(--fs-lead)}
.run .pc-head p{color:#c9b9ad}
.pc-list{list-style:none;margin:0;padding:0;display:grid;gap:.7rem}
.pc-list li{display:grid;grid-template-columns:22px 1fr;gap:.7rem;align-items:center;font-size:var(--fs-lead)}
.pc-list svg{width:20px;height:20px;color:var(--accent)}
.pc-list a{color:inherit;text-decoration:none}
.pc-list a:hover{color:var(--accent)}
.pc-foot{margin:var(--s-5) 0 0;color:#6b645e;font-size:var(--fs-sm)}
.run .pc-foot{color:#c9b9ad}
.pc-link{position:relative;height:6.5rem;display:grid;place-items:center}
.pc-link::before{content:"";position:absolute;left:50%;top:0;bottom:0;width:2px;transform:translateX(-50%);background:linear-gradient(var(--accent),#14110f)}
.pc-pill{position:relative;padding:.6rem 1.4rem;border-radius:var(--r-pill);background:#14110f;color:#fff;font-weight:600}
.pc-skip{display:flex;align-items:center;gap:var(--s-4);justify-content:space-between;margin-block-end:var(--s-5);padding:var(--s-4) var(--s-5);border:2px dashed rgba(217,104,46,0.275);border-radius:22px;color:#14110f;text-decoration:none;font-size:var(--fs-body);line-height:1.45}
.pc-skip b{color:var(--accent);font-size:1.4rem;animation:skipbob 1.8s ease-in-out infinite}
@keyframes skipbob{50%{transform:translateY(4px)}}
.pc-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:var(--s-3)}
.pc-grid li{display:flex;align-items:center;gap:.7rem;padding:var(--s-4);border-radius:16px;border:1px solid rgba(255,255,255,.1);background:rgba(255,255,255,.04);font-weight:600;line-height:1.3}
.pc-grid i{flex:none;width:9px;height:9px;border-radius:50%;background:var(--accent);box-shadow:0 0 10px rgba(217,104,46,0.35)}
.price-wrap .btn-row.center{justify-content:center;margin-block-start:var(--s-6)}
#captain{scroll-margin-top:110px}
@media (max-width:420px){.pc-grid li{padding:var(--s-3);font-size:var(--fs-sm)}}
@media (prefers-reduced-motion:reduce){.pc-skip b{animation:none}}
/* pricing as a two-card stacked carousel */
.price-deck{--cw:min(86vw,520px)}
.price-deck .price-card{height:auto}
.price-deck.stacked .deck-track>*>*{box-shadow:none}
.price-wrap{max-width:none}
.price-wrap .section-head{max-width:44rem;margin-inline:auto}
@media (min-width:900px){.price-deck{--cw:min(44vw,560px)}.price-deck.stacked .deck-track>[data-pos="1"]{--x:12%;--r:3deg;--s:.92}}
.price-cta-lead{text-align:center;margin:var(--s-6) 0 0;font-family:var(--font-display);font-weight:700;font-size:clamp(1.3rem,1.1rem + .9vw,1.8rem);letter-spacing:-.015em;color:var(--accent)}.price-cta-lead+.btn-row.center{margin-block-start:var(--s-3)}
.price-wrap .section-head{margin-block-end:var(--s-3)}
.pricing-sec{padding-block-start:var(--s-6)}
.price-cta-lead{color:#14110f;font-family:var(--font-body);font-weight:500;font-size:var(--fs-body);margin-block-start:var(--s-4)}
.price-cta{color:#14110f;font-weight:800;font-size:1.2rem;padding:1rem 2rem}
/* scroll arrows (bottom-left) */
.scroll-arrows{position:fixed;left:16px;bottom:20px;z-index:55;display:grid;gap:10px}
.sa{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;padding:0;cursor:pointer;border:1px solid rgba(255,255,255,.18);background:rgba(20,17,15,.45);color:#f4efe9;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);box-shadow:0 10px 24px -10px rgba(0,0,0,.55);opacity:.7;transition:opacity .3s,transform .3s,visibility .3s}
.sa:hover,.sa:focus-visible{opacity:1;border-color:var(--accent)}
.sa svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
.scroll-arrows.at-top .sa-up,.scroll-arrows.at-end .sa-down{opacity:0;visibility:hidden;transform:scale(.8)}
@media (min-width:1024px){.scroll-arrows{left:24px;bottom:28px}}
/* swap: WhatsApp bottom-left, arrows bottom-right */
.wa-float{inset-inline-end:auto;inset-inline-start:var(--s-5)}
.scroll-arrows{left:auto;right:16px}
@media (min-width:1024px){.scroll-arrows{left:auto;right:24px}}
/* scroll arrows: plain chevrons, no circle */
.sa{width:40px;height:34px;border:0;border-radius:0;background:none;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none;color:var(--text-primary);opacity:.6;filter:drop-shadow(0 2px 4px rgba(0,0,0,.35))}
.sa svg{width:30px;height:30px;stroke-width:3}
.sa:hover,.sa:focus-visible{opacity:1;color:var(--accent);border:0}
.scroll-arrows{gap:2px}
.price-deck.stacked .deck-track>*{height:var(--h)}.price-deck .price-card{height:100%;box-sizing:border-box;display:flex;flex-direction:column}.price-deck .run .pc-foot{margin-top:auto;padding-top:var(--s-5)}
/* discount code email box */
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.code-form{position:relative;display:flex;align-items:center;max-width:30rem;margin-block-start:var(--s-4);border:1.5px solid var(--accent);border-radius:var(--r-pill);background:rgba(255,255,255,.04);padding:.35rem .35rem .35rem 1.3rem;flex-wrap:wrap}
.code-form.bad{border-color:#ff4d4d}
.code-input{flex:1;min-width:0;border:0;background:none;color:var(--text-primary);font:inherit;font-size:1.05rem;padding:.7rem 0;outline:none}
.code-input::placeholder{color:var(--text-tertiary)}
.code-go{flex:none;width:3rem;height:3rem;border:0;border-radius:50%;background:var(--accent);color:#140600;display:grid;place-items:center;cursor:pointer}
.code-go svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}
.code-msg{position:absolute;left:1.3rem;top:calc(100% + .5rem);margin:0;font-size:var(--fs-sm);color:var(--text-secondary)}
.code-form:focus-within{box-shadow:0 0 0 4px rgba(217,104,46,0.09)}
.price-wrap .btn-row.center{margin-block-start:var(--s-4)}.price-deck .deck-nav{margin-block-start:var(--s-2)}
/* travelling number badge on the problem tiles */
.tile{position:relative}
.tile-n{position:absolute;top:10px;left:10px;width:28px;height:28px;border-radius:50%;border:1.5px solid var(--accent);display:grid;place-items:center;font-family:var(--font-mono);font-size:.8rem;font-weight:500;color:var(--accent);opacity:0;transform:scale(.6);transition:opacity .35s var(--ease),transform .45s cubic-bezier(.34,1.56,.64,1)}
.tile.num-on .tile-n{opacity:1;transform:none;box-shadow:0 0 14px -2px rgba(217,104,46,0.275)}
.tile.num-on{border-color:rgba(217,104,46,0.275)}
/* only the numbered tile is orange; the rest follow the theme text colour */
.tile>span,.tile svg,.light .tile svg{color:var(--text-primary);transition:color .35s var(--ease)}
.tile.num-on>span,.tile.num-on svg{color:var(--accent)}
/* pricing cards, compact */
.price-deck{--cw:min(84vw,460px)}
.price-deck .price-card{padding:1.2rem 1.2rem 1.3rem}
.price-deck .pc-head{margin-block-end:var(--s-4);gap:var(--s-3)}
.price-deck .pc-num{width:2.7rem;height:2.7rem;font-size:1.15rem}
.price-deck .pc-head h3{font-size:clamp(1.4rem,1.1rem + 1vw,1.9rem)}
.price-deck .pc-head p{font-size:var(--fs-body)}
.price-deck .pc-list{gap:.45rem}
.price-deck .pc-list li{font-size:var(--fs-body)}
.price-deck .pc-grid{gap:var(--s-2)}
.price-deck .pc-grid li{padding:.7rem .8rem;font-size:var(--fs-sm)}
.price-deck .deck-nav{display:none}.price-deck.stacked{padding-block-end:0}.price-deck.stacked .deck-track{height:calc(var(--h,440px) + 22px)}.price-wrap .btn-row.center{margin-block-start:var(--s-2)}
.map{aspect-ratio:100/81;align-self:start}.map img{width:100%;height:100%;object-fit:cover;object-position:50% 100%}
.map{aspect-ratio:100/86}
.marquee-track img{object-fit:contain;background:#fff}.cl-mark{width:46px;height:46px;border-radius:10px;display:grid;place-items:center;background:rgba(255,255,255,.08);border:1px solid var(--line-strong);font-family:var(--font-display);font-weight:700;font-size:1.2rem;color:var(--text-secondary)}
/* client strip: original-colour logos only */
.marquee-track li{gap:0}
.marquee-track img{height:64px;width:64px;border-radius:12px;filter:none;opacity:1}
.cl-word{height:64px;min-width:64px;padding:0 1rem;border-radius:12px;display:grid;place-items:center;background:#fff;color:#14110f;font-family:var(--font-display);font-weight:700;font-size:1.1rem}
.hero-static .hero-title{font-size:clamp(3rem,13.6vw,6rem)}.hero-static .bg{inset:0 calc(50% - 50vw)}
/* phone hero: looping skyline video in the top part */
.hero-static .bg{background-image:none}
.hero-static .bg video{position:absolute;top:0;left:0;width:100%;height:64%;object-fit:cover;object-position:50% 50%}
.hero-static .bg::after{z-index:1;background:linear-gradient(to bottom,rgba(0,0,0,.35) 0%,rgba(0,0,0,0) 18%,rgba(0,0,0,0) 38%,rgba(0,0,0,.85) 60%,#000000 70%)}
@media (prefers-reduced-motion:reduce){.hero-static .bg video{display:none}.hero-static .bg{background:#000000 url("../video/hero-mobile.jpg") 50% 0/100% auto no-repeat}}
.hero-static .bg video{height:56%;object-position:50% 30%}
.hero-static .bg::after{background:linear-gradient(to bottom,rgba(0,0,0,.35) 0%,rgba(0,0,0,0) 14%,rgba(0,0,0,0) 30%,rgba(0,0,0,.8) 46%,#000000 55%)}
/* stacked fix cards: never wider than the column, centred */
.stack{grid-template-columns:minmax(0,1fr)}
.stack-card,.stack-inner,.stack-text{min-width:0}
.stack-text .tag{max-width:100%;white-space:normal}
/* client strip shares the hero/page black and glow (no separate block) */
.trust{background:transparent;border-block-color:transparent}
.hero-static .bg{background-color:transparent}.hero-static .bg::after{background:linear-gradient(to bottom,rgba(0,0,0,.35) 0%,rgba(0,0,0,0) 14%,rgba(0,0,0,0) 30%,rgba(0,0,0,.85) 46%,rgba(0,0,0,.6) 75%,rgba(0,0,0,0) 100%)}
.hero-static .kicker,.hero .kicker,.hero-eyebrow{color:#f4efe9}.hero-static .kicker::before{background:#f4efe9}
.hero-static{padding-block-end:var(--s-5)}

/* pitch-black dark theme: no orange background glow */
.env-glow{display:none}
/* desktop: autoplay hero (no scroll-scrub) */
.hero{display:none}
.hero-static{display:grid}
@media (min-width:721px){
  .hero-static{min-height:100svh;padding-block-end:var(--s-8)}
  .hero-static .bg video{height:72%;object-position:50% 40%}
  .hero-static .bg::after{background:linear-gradient(to bottom,rgba(0,0,0,.45) 0%,rgba(0,0,0,0) 16%,rgba(0,0,0,0) 40%,rgba(0,0,0,.85) 66%,rgba(0,0,0,.6) 85%,rgba(0,0,0,0) 100%),linear-gradient(to right,rgba(0,0,0,.55),rgba(0,0,0,0) 55%)}
  .hero-static .hero-title{font-size:clamp(4rem,1rem + 6.5vw,8rem)}
}
.hero-static .bg video{-webkit-mask-image:linear-gradient(to bottom,#000 50%,transparent 100%);mask-image:linear-gradient(to bottom,#000 50%,transparent 100%)}

/* muted accent: softer glows */
.btn-primary{box-shadow:0 8px 22px -14px rgba(217,104,46,.35)}
.orbit .arc{filter:drop-shadow(0 0 4px rgba(217,104,46,.35))}
/* client cards: logo + what we did (replaces the scrolling strip) */
.client-cards{list-style:none;margin:0 auto;padding:0 var(--gutter);display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:var(--s-4);max-width:var(--max)}
.cc{display:flex;gap:var(--s-3);align-items:flex-start;padding:var(--s-4);border:1px solid var(--line);border-radius:18px;background:rgba(255,255,255,.03)}
.cc img{flex:none;width:52px;height:52px;border-radius:12px;object-fit:contain;background:#fff}
.cc-txt{display:grid;gap:.15rem;min-width:0;line-height:1.3}
.cc strong{font-family:var(--font-display);font-weight:600;font-size:1rem;color:var(--text-primary)}
.cc-svc{color:var(--accent);font-size:var(--fs-sm);font-weight:500}
.cc-det{color:var(--text-secondary);font-size:var(--fs-xs)}
.cc-since{color:var(--text-tertiary);font-family:var(--font-mono);font-size:.72rem;letter-spacing:.06em;margin-block-start:.15rem}
@media (max-width:1100px){.client-cards{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding-block:2px}.client-cards::-webkit-scrollbar{display:none}.cc{flex:0 0 min(72vw,280px);scroll-snap-align:start}}
@media (max-width:1100px){.client-cards{scroll-padding-inline:var(--gutter)}.client-cards::after{content:"";flex:0 0 1px}}
/* booking form: dark card */
#bookForm.card-light,#auditForm.card-light,#checkForm.card-light{background:#0d0c0b;border-color:rgba(255,255,255,.08);box-shadow:0 30px 70px -30px rgba(0,0,0,.6);color:#f4efe9;--text-primary:#f4efe9;--text-secondary:#b8b0a8;--text-tertiary:#8d857e}
#bookForm label,#auditForm label,#checkForm label,#bookForm .lbl,#auditForm .lbl,#checkForm .lbl{color:#f4efe9}
#bookForm .input,#auditForm .input,#checkForm .input{background:#181614;border-color:rgba(255,255,255,.12);color:#f4efe9}
#bookForm .input::placeholder,#auditForm .input::placeholder,#checkForm .input::placeholder{color:#7d756d}
#bookForm select.input,#auditForm select.input,#checkForm select.input{color:#f4efe9;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='none' stroke='%23b8b0a8' stroke-width='1.5'><path d='M4 6l4 4 4-4'/></svg>")}
#bookForm select.input:invalid,#auditForm select.input:invalid,#checkForm select.input:invalid,#bookForm select.input option[value=""],#auditForm select.input option[value=""],#checkForm select.input option[value=""]{color:#7d756d}
#bookForm select.input option,#auditForm select.input option,#checkForm select.input option{background:#181614;color:#f4efe9}
#bookForm .ms-btn,#auditForm .ms-btn,#checkForm .ms-btn{background-color:#181614}
#bookForm .ms-sum,#auditForm .ms-sum,#checkForm .ms-sum{color:#7d756d}#bookForm .ms-sum.has,#auditForm .ms-sum.has,#checkForm .ms-sum.has{color:#f4efe9}
#bookForm .ms-panel,#auditForm .ms-panel,#checkForm .ms-panel{background:#181614;border-color:rgba(255,255,255,.12)}
#bookForm .ms-opt,#auditForm .ms-opt,#checkForm .ms-opt{color:#f4efe9}#bookForm .ms-opt:hover{background:#221f1c}
#bookForm .ms-opt input,#auditForm .ms-opt input,#checkForm .ms-opt input{background:#0d0c0b;border-color:#5a534d}
#bookForm .input:focus,#auditForm .input:focus,#checkForm .input:focus{border-color:var(--accent);box-shadow:0 0 0 3px rgba(217,104,46,.2)}
#bookForm .form-success,#auditForm .form-success,#checkForm .form-success{color:#f4efe9}
#bookForm select.input,#auditForm select.input,#checkForm select.input,#bookForm .ms-btn,#auditForm .ms-btn,#checkForm .ms-btn{background-repeat:no-repeat;background-position:right 1rem center;background-size:16px 16px}#bookForm .ms-btn{background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='none' stroke='%23b8b0a8' stroke-width='1.5'><path d='M4 6l4 4 4-4'/></svg>")}
.ms-pick{width:100%;border:0;background:none;text-align:start;font:inherit;font-size:var(--fs-sm);font-weight:500;cursor:pointer}.ms-pick[aria-selected="true"]{color:var(--accent)}#bookForm .ms-pick{color:#f4efe9}#bookForm .ms-pick[aria-selected="true"]{color:var(--accent)}
/* mini navbar: only a floating, half-transparent menu button while scrolling */
.nav.hide{transform:none}
.nav-inner{transition:background .35s var(--ease),border-color .35s var(--ease),box-shadow .35s var(--ease)}
.nav.mini{pointer-events:none}
.nav.mini .nav-inner{background:transparent!important;border-color:transparent!important;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none}
.nav .brand,.nav .nav-links,.nav .nav-inner>.btn{transition:opacity .35s var(--ease)}
.nav.mini .brand,.nav.mini .nav-links,.nav.mini .nav-inner>.btn{opacity:0;visibility:hidden}
.nav.mini .nav-toggle{display:grid;pointer-events:auto;margin-inline-start:auto;opacity:.5;background:rgba(20,17,15,.85);border:1px solid rgba(255,255,255,.18);color:#f4efe9;transition:opacity .25s}
.nav.mini .nav-toggle:hover,.nav.mini .nav-toggle:focus-visible{opacity:1}
.nav.mini .nav-toggle span{background:#f4efe9}
.nav.mini .nav-toggle{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:0}
.nav.mini .nav-toggle{position:fixed;top:10px;right:10px;margin:0}@media (min-width:1024px){.nav.mini .nav-toggle{top:16px;right:16px}}
/* How we work: plain-language explanation of the current stage */
.stage-explain{display:grid;gap:.35rem;padding:var(--s-4) var(--s-5);border-radius:18px;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.04);color:#f4efe9;opacity:.45;transition:opacity .4s}
.stage-explain.on{opacity:1}
.stage-explain.pop{animation:sepop .45s var(--ease)}
@keyframes sepop{from{transform:translateY(6px);opacity:.3}to{transform:none;opacity:1}}
.se-step{margin:0;font-family:var(--font-mono);font-size:var(--fs-xs);letter-spacing:.12em;text-transform:uppercase;color:var(--accent)}
.se-title{margin:0;font-size:clamp(1.4rem,1.1rem + 1vw,1.9rem);color:#fff}
.se-text{margin:0;color:#e9e3dc;font-size:var(--fs-lead);line-height:1.45}
.orbit-wrap.forged .hold-hint{opacity:1;max-height:none;overflow:visible}
.orbit-wrap:not(.forged) .orbit-done{display:none}
/* How we work: no orange blow-out at the end; explanation and offer after the circle */
.orbit.forged:not(.quiet) .core-burst{animation:none}
.orbit.forged .core{background:radial-gradient(circle at 40% 35%,#2a1c14,#14110f 70%);box-shadow:0 0 0 2px var(--accent),0 20px 50px -25px rgba(0,0,0,.9)}
.orbit .core-done{color:#f4efe9}
.orbit-after{grid-column:1/-1;display:grid;gap:var(--s-4);max-width:44rem;margin-block-start:var(--s-6)}
.oa-title{font-size:clamp(1.6rem,1.2rem + 1.6vw,2.4rem);line-height:1.08;letter-spacing:-.03em;color:#fff}
.oa-text{color:#e3ddd6;font-size:var(--fs-lead);line-height:1.55;margin:0}
.oa-offer{margin:0;color:#e3ddd6}
.oa-offer strong{color:var(--accent)}
.code-label{display:block;width:100%;margin-block-end:.3rem;font-size:var(--fs-sm);font-weight:600;color:#f4efe9}
.orbit-after .code-form{margin-block-start:0}
.orbit-after .code-label{margin-block-end:-.4rem}
.orbit-done .tagline{font-size:clamp(1.6rem,1.1rem + 2vw,2.6rem);line-height:1.08}.orbit-after{margin-block-start:0}#process .orbit-wrap{row-gap:var(--s-6)}
/* How we work (simple) */
.how{display:grid;gap:var(--s-7);max-width:52rem}
.how-head{display:grid;gap:var(--s-4)}
.how-head .lead{color:#e3ddd6;margin:0}
.how-steps{list-style:none;margin:0;padding:0;display:grid;gap:0}
.how-steps li{display:grid;grid-template-columns:3rem 1fr;gap:var(--s-4);padding-block:var(--s-5);border-block-start:1px solid rgba(255,255,255,.12)}
.how-steps li:last-child{border-block-end:1px solid rgba(255,255,255,.12)}
.hs-n{width:2.6rem;height:2.6rem;border-radius:50%;border:1.5px solid var(--accent);display:grid;place-items:center;font-family:var(--font-mono);color:var(--accent);font-size:.95rem}
.how-steps h3{margin:0 0 .2rem;font-family:var(--font-display);font-weight:700;font-size:clamp(1.3rem,1.1rem + .8vw,1.7rem);color:#fff}
.how-steps p{margin:0;color:#d8d1ca;font-size:var(--fs-lead);line-height:1.45}
.how-close{margin:0;font-size:clamp(1.8rem,1.2rem + 2.4vw,3rem);line-height:1.05;letter-spacing:-.03em;color:#fff}
.how-offer{display:grid;gap:var(--s-3);justify-items:start;padding:var(--s-5);border-radius:20px;border:1px solid rgba(217,104,46,.45);background:rgba(217,104,46,.06)}
.how-offer h3{margin:0;font-family:var(--font-display);font-weight:700;font-size:clamp(1.3rem,1.1rem + .8vw,1.7rem);color:#fff}
.how-offer p{margin:0;color:#d8d1ca}
.how-offer .btn{margin-block-start:var(--s-2)}
#process-title .ln{display:block}
/* contact (Let's thrive together) */
.talk-sec .section-head{display:grid;gap:var(--s-3);margin-block-end:var(--s-6)}
.talk-sec .section-head .lead{margin:0;color:#e3ddd6;max-width:40ch}
.talk-note{margin:0;color:var(--accent);font-weight:600}
.contact-v2{display:grid;gap:var(--s-3)}
.cv-block{display:block;padding:var(--s-4) var(--s-5);border-radius:18px;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.03);color:#f4efe9;text-decoration:none}
.cv-block h3{margin:0 0 .2rem;font-family:var(--font-display);font-weight:600;font-size:1.05rem;color:#fff}
.cv-row{display:flex;gap:var(--s-4);align-items:center;transition:border-color .3s}
.cv-row:hover{border-color:var(--accent)}
.cv-ico{flex:none;width:44px;height:44px;border-radius:12px;display:grid;place-items:center;background:rgba(217,104,46,.12);color:var(--accent)}
.cv-ico svg{width:22px;height:22px}
.cv-val{color:#d8d1ca;font-size:var(--fs-sm);overflow-wrap:anywhere}
.cv-icons{display:flex;gap:var(--s-3);margin-block-start:var(--s-3)}
.cv-icons a{width:48px;height:48px;border-radius:50%;display:grid;place-items:center;border:1px solid rgba(255,255,255,.18);color:#f4efe9;transition:color .3s,border-color .3s}
.cv-icons a:hover{color:var(--accent);border-color:var(--accent)}
.cv-icons svg{width:22px;height:22px}

/* Get in touch: brand-coloured app-icon buttons, no frame */
.cv-icons{gap:14px}
.cv-icons a.si{width:52px;height:52px;border:0;border-radius:12px;display:block;padding:0;background:none;filter:drop-shadow(0 6px 14px rgba(0,0,0,.35));transition:transform .25s,filter .25s}
.cv-icons a.si[hidden]{display:none}
.cv-icons a.si svg{width:100%;height:100%;display:block}
.cv-icons a.si:hover,.cv-icons a.si:focus-visible{transform:translateY(-3px) scale(1.04);filter:drop-shadow(0 10px 18px rgba(0,0,0,.45))}

/* hero: particle hologram (forge.js) in place of the skyline video; the band stays pitch black */
.hero-static .bg{background:transparent}
.hero-static .bg::after{display:none}
.forge{position:absolute;inset:0;width:100%;height:100%;display:block}
/* hero intro: text hidden while the hologram plays centre stage, then flows in line by line */
.js .hero-static.intro :is(.kicker,.hero-title,.sub,.btn-row){opacity:0}
.hero-static .hero-title .w1,.hero-static .hero-title .em{display:inline-block}
.hero-static.hero-in :is(.kicker,.hero-title .w1,.hero-title .em,.sub .l1,.sub .l2,.btn-row){animation:heroIn .9s cubic-bezier(.2,.7,.2,1) both}
.hero-static.hero-in .hero-title .w1{animation-delay:.3s}.hero-static.hero-in .hero-title .em{animation-delay:.55s}
.hero-static.hero-in .sub .l1{animation-delay:1s}.hero-static.hero-in .sub .l2{animation-delay:1.15s}.hero-static.hero-in .btn-row{animation-delay:1.5s}
@keyframes heroIn{from{opacity:0;transform:translateY(.5em);filter:blur(10px)}to{opacity:1;transform:none;filter:blur(0)}}
@media (prefers-reduced-motion:reduce){.hero-static.hero-in :is(.kicker,.hero-title .w1,.hero-title .em,.sub .l1,.sub .l2,.btn-row){animation:none}}
/* Qatar: the flight over West Bay in 16:9 */
.qatar-media{aspect-ratio:16/9}
/* Qatar video titles: build up line by line over the open sky on the left, and stay */
.qatar-media{position:relative}
.qvt{position:absolute;inset:0;pointer-events:none;display:grid;align-content:center;justify-items:start;gap:.1em;padding:6% 6%;color:#fff}
.qvt::before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse 50% 70% at 24% 50%,rgba(0,0,0,.52) 0%,rgba(0,0,0,.26) 50%,rgba(0,0,0,0) 100%)}
.qvt-l{position:relative;max-width:60%;opacity:0;text-shadow:0 2px 6px rgba(0,0,0,.65),0 10px 34px rgba(0,0,0,.55)}
.qvt.run .qvt-l{animation:qvtIn 1.1s cubic-bezier(.2,.7,.2,1) both;animation-delay:calc(.3s + var(--i)*.85s)}
.qvt-1{font-family:var(--font-mono);font-size:clamp(.62rem,1.6vw,.8rem);letter-spacing:.22em;text-transform:uppercase;color:#f4efe9;margin-block-end:.6em}
.qvt-2{font-family:var(--font-display);font-weight:700;text-transform:uppercase;font-size:clamp(1.3rem,4.2vw,2.7rem);line-height:1.02;letter-spacing:-.02em}
.qvt-3{font-family:var(--font-display);font-weight:600;font-size:clamp(1.05rem,3vw,1.9rem);line-height:1.15;letter-spacing:-.02em;color:#ffd7bf;margin-block-start:.7em}
@keyframes qvtIn{from{opacity:0;transform:translateY(12px);filter:blur(8px);letter-spacing:.14em}to{opacity:1;transform:none;filter:blur(0)}}
@media (prefers-reduced-motion:reduce){.qvt-l,.qvt.run .qvt-l{opacity:1;animation:none}}
/* six problems: the film, then a slim chapter row that follows it */
.pains-film{position:relative;aspect-ratio:16/9;border-radius:20px;overflow:hidden;background:#000;border:1px solid rgba(255,255,255,.08);box-shadow:0 40px 80px -40px rgba(0,0,0,.8);margin-block:var(--s-6) var(--s-5)}
.pains-film video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.pgrid.chapters{grid-template-columns:repeat(6,minmax(0,1fr));gap:8px;max-width:52rem}
.pgrid.chapters .tile{aspect-ratio:auto;padding:12px 6px;gap:6px;border-radius:14px;font-size:.78rem}
.pgrid.chapters .tile svg{width:22px;height:22px;max-width:22px}
@media (min-width:900px){.pgrid.chapters .tile{aspect-ratio:auto}.pgrid.chapters .tile svg{width:22px;max-width:22px}}
.pgrid.chapters .tile .tile-n{display:none}
.pgrid.chapters .tile.num-on{border-color:var(--accent);color:var(--accent)}
.pgrid.chapters .tile.num-on svg{color:var(--accent)}
@media (max-width:759px){.pgrid.chapters .tile>span{font-size:.62rem;letter-spacing:.02em}}
/* wide screens: the navbar stays as it is, no floating hamburger */
@media (min-width:900px){
  .nav.mini{pointer-events:auto}
  .nav.mini .brand,.nav.mini .nav-links,.nav.mini .nav-inner>.btn{opacity:1;visibility:visible}
  .nav.mini .nav-toggle{display:none}
}
/* six problems: one third text (left, vertically centred), two thirds question + film (centred) on wide screens */
.pains-q{margin-block-end:var(--s-4)}
@media (min-width:900px){
  #pains .wrap{display:grid;grid-template-columns:1fr 2fr;gap:var(--s-8);align-items:center;max-width:var(--max)}
  #pains .section-head:not(.pains-q){text-align:left;max-width:none;margin:0;justify-items:start}
  #pains .pains-intro{margin:0;max-width:none;text-align:left}
  #pains .pains-right{display:grid;justify-items:center;text-align:center}
  #pains .pains-q{margin:0 0 var(--s-4)}
  #pains .pains-film{width:min(100%,calc((100svh - 25rem) * 16 / 9));margin-block:0 var(--s-4)}
  #pains .pgrid.chapters{width:min(100%,calc((100svh - 25rem) * 16 / 9));max-width:none;margin:0}
}
/* wide screens: only the centre service card plays its slideshow; the neighbours step back */
@media (min-width:900px){
  .svc-deck.stacked[data-spread] .deck-track>[data-pos="1"],.svc-deck.stacked[data-spread] .deck-track>[data-pos="-1"]{opacity:.28;filter:saturate(.3) brightness(.55)}
  .svc-deck.stacked[data-spread] .deck-track>[data-pos="2"],.svc-deck.stacked[data-spread] .deck-track>[data-pos="-2"]{opacity:.12}
}
/* fix cards: a 16:9 film and one line, nothing else */
.stack-media.stack-film{aspect-ratio:4/5;max-height:none;width:min(100%,520px);margin-inline:auto;background:#000}
.stack-media.stack-film video{width:100%;height:100%;object-fit:cover;display:block}
@media (min-width:900px){.stack-inner{grid-template-columns:.8fr 1.2fr}.stack-inner .stack-film{grid-column:2;grid-row:1;width:auto;height:min(60vh,560px);justify-self:center}.stack-inner .stack-text{grid-column:1;grid-row:1}}
/* fix cards: tighter, and they stick just under the floating menu button on phones */
@media (max-width:720px){
  .stack{--nav-h:12px;--step:8px}
  .stack-inner{padding:.9rem .9rem 1.4rem;gap:var(--s-4)}
  .stack-media.stack-film{width:100%;border-radius:18px}
}
@media (min-width:900px){.stack-inner{padding:1.6rem 2rem}}
/* fix cards: only the front card plays; the ones still arriving are half transparent */
.stack-card.is-coming{opacity:.5;transition:opacity .35s var(--ease)}
.stack-card.is-front{opacity:1}
/* pricing: three steps on a path, a short comparison, one call to action */
.pricing-sec .section-head .lead{max-width:40rem;margin-inline:auto}
.steps-path{list-style:none;margin:var(--s-7) auto 0;padding:0;max-width:40rem;position:relative;display:grid;gap:var(--s-5)}
.steps-path::before{content:"";position:absolute;left:23px;top:28px;bottom:28px;width:2px;background:linear-gradient(var(--accent),rgba(217,104,46,.15))}
.sp-step{position:relative;display:grid;grid-template-columns:48px 1fr;gap:var(--s-4);align-items:start}
.sp-num{width:48px;height:48px;border-radius:50%;background:var(--accent);color:#fff;display:grid;place-items:center;font-family:var(--font-display);font-weight:700;font-size:1.1rem;box-shadow:0 10px 24px -12px rgba(217,104,46,.6);position:relative;z-index:1}
.sp-body{background:#fff;border:1px solid rgba(20,17,15,.1);border-radius:18px;padding:var(--s-4) var(--s-5);box-shadow:0 20px 40px -30px rgba(40,20,6,.35)}
.sp-body h3{margin:0 0 .35rem;font-size:clamp(1.25rem,1.1rem + .7vw,1.6rem);font-weight:700;letter-spacing:-.02em;color:#14110f}
.sp-body p{margin:0;color:#4f4842;line-height:1.5}
.price-compare{display:grid;grid-template-columns:1fr 1fr;gap:var(--s-3);max-width:40rem;margin:var(--s-7) auto 0}
.pc-col{border-radius:16px;padding:var(--s-4);border:1px solid rgba(20,17,15,.1)}
.pc-col h4{margin:0 0 .6rem;font-family:var(--font-display);font-weight:700;font-size:1rem;letter-spacing:-.01em}
.pc-col ul{list-style:none;margin:0;padding:0;display:grid;gap:.45rem;font-size:.95rem;line-height:1.35}
.pc-col li{position:relative;padding-left:1.5rem}
.pc-col li::before{position:absolute;left:0;top:0;font-weight:700}
.pc-old{background:#f3ede6;color:#6b645e}.pc-old h4{color:#6b645e}.pc-old li::before{content:"✕";color:#c0392b}
.pc-new{background:#14110f;color:#f4efe9;border-color:#14110f}.pc-new h4{color:var(--accent)}.pc-new li::before{content:"✓";color:#2ecc71}
.price-note{text-align:center;color:#6b645e;font-size:.95rem;margin:var(--s-3) 0 0}
@media (max-width:480px){.price-compare{grid-template-columns:1fr}}
@media (min-width:900px){.steps-path{max-width:46rem}.price-compare{max-width:46rem}}
/* offer box inside pricing (light section) */
.pricing-sec .how-offer{max-width:40rem;margin:var(--s-7) auto 0;background:#14110f;color:#f4efe9;border:1px solid rgba(217,104,46,.5);border-radius:20px;padding:var(--s-5)}
.pricing-sec .how-offer h3,.pricing-sec .how-offer p{color:inherit}
.pricing-sec .how-offer p{color:#d9d1c9}
@media (min-width:900px){.pricing-sec .how-offer{max-width:46rem}}
/* why us: typical agency ↔ ForgeHype switch; six short rows flip in place */
.compare{max-width:34rem;margin-inline:auto;border:1px solid rgba(255,255,255,.12);border-radius:20px;overflow:hidden;background:#0d0c0b}
.compare-switch{display:grid;grid-template-columns:1fr 1fr;padding:6px;gap:6px;border-block-end:1px solid rgba(255,255,255,.1);position:relative}
.compare-switch button{position:relative;z-index:1;min-height:46px;border:0;border-radius:14px;background:transparent;color:#a39a91;font:inherit;font-weight:700;cursor:pointer;transition:color .3s}
.compare-switch button[aria-pressed="true"]{color:#0a0a0a}
.compare-switch .thumb{position:absolute;inset-block:6px;left:6px;width:calc(50% - 9px);border-radius:14px;background:#f4efe9;transition:transform .56s cubic-bezier(.2,.9,.3,1.1),background-color .3s}
.compare[data-side="forge"] .thumb{transform:translateX(calc(100% + 6px));background:var(--accent)}
.compare-rows{list-style:none;margin:0;padding:0}
.compare-rows li{display:grid;grid-template-columns:28px 1fr;gap:var(--s-3);align-items:center;padding:.95rem var(--s-4);border-block-end:1px solid rgba(255,255,255,.08);min-height:58px}
.compare-rows li:last-child{border-block-end:0}
.compare-rows .ico{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.06);color:#e34f4f;transition:background-color .3s,color .3s}
.compare-rows .ico svg{width:15px;height:15px}
.compare-rows .ico .yes{display:none}
.compare[data-side="forge"] .ico{background:rgba(46,204,113,.14);color:#2ecc71}
.compare[data-side="forge"] .ico .yes{display:block}.compare[data-side="forge"] .ico .no{display:none}
.compare-rows .txt{position:relative;display:grid;font-family:var(--font-display);font-size:clamp(1rem,.95rem + .3vw,1.2rem);letter-spacing:-.01em}
.compare-rows .txt span{grid-area:1/1;transition:opacity .42s var(--ease),transform .52s var(--ease),filter .42s;transition-delay:calc(var(--i)*45ms)}
.compare-rows .txt .typical{color:#a39a91;font-weight:500}
.compare-rows .txt .forge{opacity:0;transform:translateY(10px);filter:blur(4px);color:#f4efe9;font-weight:700}
.compare[data-side="forge"] .txt .typical{opacity:0;transform:translateY(-10px);filter:blur(4px)}
.compare[data-side="forge"] .txt .forge{opacity:1;transform:none;filter:none}
/* why us: the film above the switch; side by side on wide screens */
.why-film{aspect-ratio:4/5;width:min(100%,420px);margin:0 auto var(--s-5);border-radius:20px;overflow:hidden;background:#000;border:1px solid rgba(255,255,255,.08);box-shadow:0 30px 60px -30px rgba(0,0,0,.9)}
.why-film video{width:100%;height:100%;object-fit:cover;display:block}
@media (min-width:900px){
  .why-wrap{display:grid;grid-template-columns:1fr 1fr;gap:var(--s-7);align-items:center}
  .why-wrap .section-head{grid-column:1/-1;margin-block-end:var(--s-5)}
  .why-film{margin:0;width:min(100%,440px);justify-self:end}
  .compare{margin:0;justify-self:start;width:100%}
}
.cv-val strong{display:block;font-weight:600;color:#f4efe9;margin-block-end:.15rem}
/* booking form: consent row */
.field-consent{grid-column:1/-1}
.consent-lbl{display:flex;gap:.7rem;align-items:flex-start;font-size:.9rem;color:#c9c0b7;line-height:1.45;cursor:pointer}
.consent-lbl input{width:20px;height:20px;flex:none;margin-top:.15rem;accent-color:var(--accent)}
.field-consent.invalid .consent-lbl{color:#ff8a65}
/* dark form: ticked boxes are orange with a white tick */
#bookForm .ms-opt input:checked,#auditForm .ms-opt input:checked,#checkForm .ms-opt input:checked{background:var(--accent);border-color:var(--accent)}
#bookForm .ms-opt input:checked::after,#auditForm .ms-opt input:checked::after,#checkForm .ms-opt input:checked::after{border-color:#fff}
#bookForm .ms-opt input,#auditForm .ms-opt input,#checkForm .ms-opt input{width:22px;height:22px;border-radius:6px}
#bookForm .ms-opt input:checked::after,#auditForm .ms-opt input:checked::after,#checkForm .ms-opt input:checked::after{width:10px;height:5px;border-width:2.5px}
/* booking: choose first, then one of two forms */
.book-choose{display:grid;gap:var(--s-3);align-content:start}
.choice{display:grid;gap:.3rem;text-align:left;padding:var(--s-5);border-radius:18px;border:1.5px solid rgba(20,17,15,.14);background:#fff;cursor:pointer;font:inherit;color:#14110f;transition:border-color .25s,transform .25s,box-shadow .25s;box-shadow:0 20px 40px -30px rgba(40,20,6,.35)}
.choice:hover,.choice:focus-visible{border-color:var(--accent);transform:translateY(-2px)}
.choice .c-title{font-family:var(--font-display);font-weight:700;font-size:clamp(1.15rem,1rem + .7vw,1.5rem);letter-spacing:-.02em}
.choice .c-sub{color:#6b645e;font-size:.95rem}
.choice-alt{background:#14110f;color:#f4efe9;border-color:#14110f}
.choice-alt .c-sub{color:#c9c0b7}
.choice-alt:hover,.choice-alt:focus-visible{border-color:var(--accent)}
.choice.on{border-color:var(--accent);box-shadow:0 0 0 3px rgba(217,104,46,.25)}
.book-choose.picked{grid-template-columns:1fr 1fr}
.book-choose.picked .choice{padding:var(--s-3) var(--s-4)}
.book-choose.picked .c-sub{display:none}
.form[hidden]{display:none}
.a-two{display:grid;grid-template-columns:1fr 1fr;gap:var(--s-3)}
fieldset.field{border:0;padding:0;margin:0;min-width:0}
fieldset.field .lbl{display:block;margin-block-end:var(--s-2)}
fieldset.field .field{margin-block-end:var(--s-3)}
.a-note{font-size:.9rem;color:#a39a91;margin:var(--s-2) 0 0}
.field.invalid .err{display:block}
@media (max-width:520px){.a-two{grid-template-columns:1fr}.book-choose.picked{grid-template-columns:1fr}}
/* audit form: textareas a little taller, consent legible on dark, lbl spacing */
#auditForm textarea.input,#checkForm textarea.input{min-height:4.2rem;height:4.2rem;resize:vertical}
#auditForm .a-note,#checkForm .a-note{color:#a39a91}
.form .consent-lbl{color:#c9c0b7}
/* booking chooser: two cards side by side, like the Typical/ForgeHype pair */
.book-choose,.book-choose.picked{grid-template-columns:1fr 1fr;gap:var(--s-3)}
.book-choose .choice,.book-choose.picked .choice{padding:var(--s-4)}
.book-choose.picked .c-sub{display:block}
.choice .c-sub{font-size:.85rem;line-height:1.35}
.book-choose .choice:not(.on){opacity:.75}
.book-choose:not(.picked) .choice{opacity:1}
.choice.on{transform:none}
@media (max-width:480px){.choice .c-sub{display:none!important}.choice .c-title{font-size:1.05rem}}
/* free check page */
.check-wrap{display:grid;gap:var(--s-7);align-items:start}
@media (min-width:900px){.check-wrap{grid-template-columns:1fr 1fr}}
.check-side .steps-path{margin-inline:0}
#checkForm.card-light{background:#0d0c0b}
/* growth score quiz */
.quiz{max-width:44rem;margin-inline:auto;padding:var(--s-6);border-radius:24px;background:#0d0c0b;border:1px solid rgba(255,255,255,.08);color:#f4efe9;box-shadow:0 30px 60px -30px rgba(0,0,0,.9)}
.q-head{display:grid;gap:.6rem;margin-block-end:var(--s-5)}
.q-head .mono-label{color:var(--accent)}
.q-bar{height:4px;border-radius:99px;background:rgba(255,255,255,.1);overflow:hidden}
.q-bar span{display:block;height:100%;width:0;background:var(--accent);transition:width .45s var(--ease)}
.q-q{font-size:clamp(1.35rem,1.1rem + 1.2vw,2rem);line-height:1.15;letter-spacing:-.02em;margin:0 0 var(--s-5);font-weight:700}
.q-opts{display:grid;gap:var(--s-3)}
.q-opt{font:inherit;font-weight:600;font-size:1.05rem;text-align:left;padding:1rem 1.2rem;border-radius:14px;border:1.5px solid rgba(255,255,255,.14);background:#181614;color:#f4efe9;cursor:pointer;transition:border-color .2s,background .2s,transform .2s}
.q-opt:hover,.q-opt:focus-visible{border-color:var(--accent);transform:translateY(-1px)}
.q-opt.on{border-color:var(--accent);background:rgba(217,104,46,.18)}
.q-back{margin-top:var(--s-4);background:none;border:0;color:#a39a91;font:inherit;cursor:pointer}
.q-in{animation:qIn .45s var(--ease) both}
@keyframes qIn{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
.q-score{display:flex;align-items:baseline;gap:.4rem;font-family:var(--font-display);font-weight:800;letter-spacing:-.04em}
.q-num{font-size:clamp(4rem,3rem + 5vw,7rem);line-height:1;color:var(--accent)}
.q-of{font-size:1.6rem;color:#a39a91}
.q-band{font-size:1.6rem;font-weight:700;margin:.4rem 0 .2rem}
.q-sum{color:#c9c0b7;margin:0 0 var(--s-5)}
.q-tips-h{font-family:var(--font-display);font-size:1.1rem;margin:0 0 var(--s-3)}
.q-tips{margin:0 0 var(--s-6);padding-left:1.3rem;display:grid;gap:.7rem;color:#e7e0d8;line-height:1.5}
.q-form{display:grid;gap:var(--s-3);padding-top:var(--s-5);border-top:1px solid rgba(255,255,255,.1)}
.q-form .input{background:#181614;border-color:rgba(255,255,255,.12);color:#f4efe9}
.q-form label{color:#f4efe9}
.q-cta{margin:0;font-weight:600}
.q-thanks{padding:var(--s-4);border-radius:14px;background:rgba(46,204,113,.12);color:#c8f5d8;margin:var(--s-5) 0 0}
.q-alt{color:#a39a91;margin:var(--s-4) 0 0;font-size:.95rem}
.q-alt .link,.quiz .consent-lbl .link{color:var(--accent)}
.problems-quiz{text-align:center;margin:var(--s-3) 0 0;color:#c9c0b7}
.q-tips{list-style:decimal}.q-tips li::marker{color:var(--accent);font-weight:700}
#qResult:focus{outline:none}
/* pop-up forms */
.form-modal{padding:0;border:0;background:transparent;max-width:none;max-height:none;width:100%;height:100%;margin:0;color:#f4efe9}
.form-modal::backdrop{background:rgba(0,0,0,.62);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}
.form-modal[open]{display:grid;place-items:center}
.fm-box{width:min(100% - 24px,560px);max-height:calc(100svh - 32px);overflow:auto;overscroll-behavior:contain;background:#0d0c0b;border:1px solid rgba(255,255,255,.1);border-radius:24px;box-shadow:0 40px 80px -30px rgba(0,0,0,.9);padding:var(--s-5);animation:fmIn .35s var(--ease) both}
@keyframes fmIn{from{opacity:0;transform:translateY(24px) scale(.98)}to{opacity:1;transform:none}}
.fm-head{display:flex;align-items:center;justify-content:space-between;gap:var(--s-3);margin-block-end:var(--s-3)}
.fm-title{margin:0;font-size:clamp(1.3rem,1.1rem + .8vw,1.7rem);font-weight:700;letter-spacing:-.02em}
.fm-x{width:40px;height:40px;flex:none;border-radius:50%;border:1px solid rgba(255,255,255,.18);background:transparent;color:#f4efe9;font-size:1.6rem;line-height:1;cursor:pointer}
.fm-x:hover{border-color:var(--accent)}
.fm-tabs{display:grid;grid-template-columns:1fr 1fr;gap:6px;padding:5px;border-radius:14px;background:#181614;margin-block-end:var(--s-4)}
.fm-tab{font:inherit;font-weight:700;padding:.7rem;border-radius:10px;border:0;background:transparent;color:#a39a91;cursor:pointer}
.fm-tab.on{background:var(--accent);color:#120600}
.form-modal .form{padding:0!important;border:0!important;background:transparent!important;box-shadow:none!important}
.fm-done{justify-self:center;margin-top:var(--s-4)}
html.fm-lock,html.fm-lock body{overflow:hidden}
@media (max-width:560px){
  .form-modal[open]{place-items:end center}
  .fm-box{width:100%;max-height:92svh;border-radius:24px 24px 0 0;padding:var(--s-4) var(--s-4) calc(var(--s-5) + env(safe-area-inset-bottom))}
  @keyframes fmIn{from{transform:translateY(40px);opacity:0}to{transform:none;opacity:1}}
}

/* Growth Score prompt after the six fix cards */
.fixes-quiz{display:flex;justify-content:center;padding:clamp(28px,5vw,56px) 0 clamp(8px,2vw,16px);position:relative;z-index:2}
.fixes-quiz-btn{display:inline-flex;flex-direction:column;align-items:center;gap:4px;text-align:center;padding:16px 26px;border-radius:999px;background:#141110;color:#f4efe9;border:1px solid rgba(232,118,46,.55);text-decoration:none;box-shadow:0 10px 30px rgba(0,0,0,.25);transition:transform .2s,border-color .2s}
.fixes-quiz-btn span{font-size:.92rem;color:#c9c0b7}
.fixes-quiz-btn b{font-size:1.05rem;color:#f4efe9}
.fixes-quiz-btn:hover,.fixes-quiz-btn:focus-visible{transform:translateY(-2px);border-color:var(--accent)}
@media (max-width:520px){.fixes-quiz-btn{border-radius:22px;padding:14px 20px}}
/* Privacy Policy links in consent lines and the cookie notice: always underlined */
.consent-lbl a,.consent a{display:inline;border-bottom:0;padding:0;color:#f4efe9;font-weight:600;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}
.consent-lbl a:hover,.consent a:hover,.consent-lbl a:focus-visible,.consent a:focus-visible{color:var(--accent)}
/* bigger tap area for carousel dots without changing how they look */
.reel-dot,.team-dot{position:relative}
.reel-dot::after,.team-dot::after{content:"";position:absolute;inset:-12px -6px}
