/* Brand Orbit Hub — production design from approved mockup */
/* fonts.css is linked separately in HTML (avoid render-blocking @import chain) */

/* ============================================================
   BRAND ORBIT HUB — MOCKUP TOKENS
   Swap the 6 brand values below with the exact site hex codes
   and the whole page re-skins itself. Nothing else to edit.
   ============================================================ */
:root{
  --ink:        #0A0714;   /* deep space base            */
  --ink-2:      #130D24;   /* raised surface             */
  --violet:     #7C5CFF;   /* primary brand accent       */
  --coral:      #FF5D8F;   /* secondary accent           */
  --amber:      #FFC24B;   /* highlight / signal         */
  --cream:      #F3EFFF;   /* primary text on dark       */
  --lilac:      #EDE7FF;   /* light section background   */

  /* Readable text tones (solid — avoids washed-out transparent mixes) */
  --text:       #F8F5FF;
  --text-soft:  #E6DFF6;
  --muted:      #C6BEDA;
  --muted-2:    #A89FBF;
  --line:       rgba(243, 239, 255, 0.16);
  --glass:      rgba(243, 239, 255, 0.07);

  --display: "Bricolage Grotesque", "Arial Black", system-ui, sans-serif;
  --body:    "Instrument Sans", system-ui, -apple-system, sans-serif;
  --mono:    "JetBrains Mono", ui-monospace, "SF Mono", monospace;

  --pad: clamp(20px, 5vw, 80px);
  --maxw: 1280px;
  --read: 68ch;
  --r: 22px;
  --ease: cubic-bezier(.22,1,.36,1);
}

*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{
  background:var(--ink);color:var(--text);font-family:var(--body);
  font-size:clamp(16.5px,1.15vw,18.5px);line-height:1.72;overflow-x:hidden;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeSpeed;
  padding-left:env(safe-area-inset-left,0px);
  padding-right:env(safe-area-inset-right,0px);
}
img,svg{display:block;max-width:100%;height:auto}
a{color:inherit;text-decoration:none}
button,a.btn,.btn,.choice,.slot,.burger,.nav-links a,.sheet a{touch-action:manipulation;-webkit-tap-highlight-color:transparent}
::selection{background:var(--violet);color:#fff}
:focus-visible{outline:2px solid var(--amber);outline-offset:3px;border-radius:6px}

/* ---------- ambient layers (perf-tuned: static auroras, no live blur orbs) ---------- */
.aurora{
  position:fixed;inset:0;z-index:-3;pointer-events:none;opacity:.42;
  background:
    radial-gradient(46vw 40vw at 10% 0%,color-mix(in srgb,var(--violet) 38%,transparent),transparent 68%),
    radial-gradient(36vw 34vw at 92% 38%,color-mix(in srgb,var(--coral) 28%,transparent),transparent 70%),
    radial-gradient(30vw 28vw at 42% 100%,color-mix(in srgb,var(--amber) 16%,transparent),transparent 72%);
  contain:strict;
}
.aurora i{display:none}

.grain{position:fixed;inset:0;z-index:-2;pointer-events:none;opacity:.05;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.45'/%3E%3C/svg%3E");
  contain:strict}

.spot{display:none!important}

/* ---------- scroll progress ---------- */
.progress{position:fixed;top:0;left:0;height:2px;width:100%;z-index:99;transform-origin:0 50%;transform:scaleX(0);
  background:linear-gradient(90deg,var(--violet),var(--coral),var(--amber))}

/* ---------- nav ---------- */
.nav{position:fixed;top:14px;left:50%;transform:translateX(-50%);z-index:90;width:min(var(--maxw),calc(100% - 24px));
  display:flex;align-items:center;gap:18px;padding:10px 10px 10px 20px;border-radius:100px;
  background:rgba(10,7,20,.92);border:1px solid var(--line);
  backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);
  transition:box-shadow .4s,background .4s}
.nav.stuck{box-shadow:0 18px 60px -20px rgba(0,0,0,.9);background:rgba(10,7,20,.96)}
.brand{display:flex;align-items:center;gap:10px;font-family:var(--display);font-weight:700;letter-spacing:-.02em;font-size:16px;min-width:0;flex:1 1 auto;max-width:min(100%,calc(100% - 56px))}
.brand__logo{display:block;height:40px;width:auto;max-width:100%;object-fit:contain;object-position:left center;-webkit-user-drag:none}
.brand--footer{max-width:none;flex:none}
.brand--footer .brand__logo{height:44px;max-width:min(260px,80vw)}
.mark{display:none}
@media(max-width:720px){
  .brand__logo{height:36px}
  .nav{padding-left:12px;padding-right:8px}
  .brand--footer .brand__logo{height:40px}
}
.nav-links{display:flex;gap:4px;margin-left:auto;font-size:14.5px;font-weight:600}
.nav-links a{padding:9px 13px;border-radius:100px;color:var(--text-soft);transition:color .3s,background .3s}
.nav-links a:hover,.nav-links a.active{color:#fff;background:var(--glass)}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:0;cursor:pointer;font-family:var(--body);
  font-weight:600;font-size:14px;padding:12px 20px;border-radius:100px;position:relative;overflow:hidden;
  text-align:center;transition:transform .35s var(--ease),box-shadow .35s}
.btn-primary{background:linear-gradient(120deg,var(--violet),var(--coral));color:#fff;
  box-shadow:0 10px 30px -12px var(--violet)}
.btn-primary:hover{box-shadow:0 18px 44px -12px var(--coral)}
.btn-primary::after{content:"";position:absolute;inset:0;background:linear-gradient(120deg,transparent 30%,rgba(255,255,255,.45),transparent 70%);
  transform:translateX(-120%);transition:transform .7s var(--ease)}
.btn-primary:hover::after{transform:translateX(120%)}
.btn-ghost{background:var(--glass);color:var(--cream);border:1px solid var(--line)}
.btn-ghost:hover{border-color:color-mix(in srgb,var(--cream) 35%,transparent)}
.burger{display:none;width:42px;height:42px;border-radius:50%;background:var(--glass);border:1px solid var(--line);
  cursor:pointer;position:relative}
.burger i{position:absolute;left:12px;right:12px;height:1.5px;background:var(--cream);transition:.35s var(--ease)}
.burger i:nth-child(1){top:16px}.burger i:nth-child(2){bottom:16px}
.burger.open i:nth-child(1){top:20px;transform:rotate(45deg)}
.burger.open i:nth-child(2){bottom:20px;transform:rotate(-45deg)}
.sheet{position:fixed;inset:0;z-index:80;background:rgba(10,7,20,.97);
  display:flex;flex-direction:column;justify-content:center;gap:6px;padding:0 var(--pad);
  opacity:0;pointer-events:none;transition:opacity .4s}
.sheet.open{opacity:1;pointer-events:auto}
.sheet a{font-family:var(--display);font-size:clamp(30px,9vw,54px);font-weight:600;letter-spacing:-.03em;
  padding:6px 0;border-bottom:1px solid var(--line)}

/* ---------- layout ---------- */
.wrap{width:min(var(--maxw),100%);margin-inline:auto;padding-inline:var(--pad)}
section{padding-block:clamp(72px,10vw,140px);position:relative}
.eyebrow{font-family:var(--mono);font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--amber);
  display:inline-flex;align-items:center;gap:9px}
.eyebrow::before{content:"";width:24px;height:1px;background:var(--amber);opacity:.6}
h2{font-family:var(--display);font-weight:600;letter-spacing:-.035em;line-height:1.12;
  font-size:clamp(30px,5vw,56px);margin:16px 0 14px;text-wrap:balance;color:var(--text)}
.lede{color:var(--text-soft);max-width:62ch;font-size:clamp(16.5px,1.4vw,19.5px);line-height:1.75}
.sec-head{display:flex;justify-content:space-between;align-items:flex-end;gap:30px;flex-wrap:wrap;margin-bottom:46px}

/* ---------- hero ---------- */
.hero{padding-top:clamp(120px,16vw,190px);padding-bottom:clamp(40px,6vw,70px)}
.hero-grid{display:grid;grid-template-columns:1.08fr .92fr;gap:clamp(30px,5vw,64px);align-items:center}
.tag{display:inline-flex;align-items:center;gap:10px;font-family:var(--mono);font-size:11px;letter-spacing:.14em;
  text-transform:uppercase;padding:8px 15px;border-radius:100px;border:1px solid var(--line);background:var(--glass);color:var(--muted)}
.pulse{width:7px;height:7px;border-radius:50%;background:var(--amber);box-shadow:0 0 0 0 var(--amber);animation:pulse 2.4s infinite}
@keyframes pulse{70%{box-shadow:0 0 0 9px transparent}100%{box-shadow:0 0 0 0 transparent}}
h1{font-family:var(--display);font-size:clamp(40px,7vw,92px);line-height:1.02;letter-spacing:-.04em;
  font-weight:600;margin:22px 0 20px;color:var(--text);text-wrap:balance}
h1 .line{display:block;overflow:hidden}
h1 .line>span{display:block;transform:translateY(105%);animation:rise .95s var(--ease) forwards}
h1 .line:nth-child(2)>span{animation-delay:.1s}
@keyframes rise{to{transform:translateY(0)}}
.strike{position:relative;color:var(--muted);font-weight:300;font-style:italic}
.strike::after{content:"";position:absolute;left:-2%;right:-2%;top:56%;height:5px;border-radius:4px;
  background:var(--coral);transform:scaleX(0);transform-origin:0 50%;animation:strike .7s var(--ease) 1.05s forwards}
@keyframes strike{to{transform:scaleX(1)}}
.grad{background:linear-gradient(100deg,var(--violet),var(--coral) 45%,var(--amber));
  -webkit-background-clip:text;background-clip:text;color:transparent}
.hero p.lede{max-width:46ch}
.hero-cta{display:flex;gap:12px;flex-wrap:wrap;margin-top:30px}
.fade-up{opacity:0;transform:translateY(22px);animation:fadeUp .9s var(--ease) forwards}
.d1{animation-delay:.35s}.d2{animation-delay:.5s}.d3{animation-delay:.65s}.d4{animation-delay:.8s}
@keyframes fadeUp{to{opacity:1;transform:none}}

/* ---------- signature: orbit ---------- */
.orbit{
  position:relative;aspect-ratio:1;width:100%;max-width:520px;margin-inline:auto;
  display:grid;place-items:center;touch-action:manipulation;isolation:isolate;
}
.orbit__field{
  position:absolute;inset:0;
  display:grid;place-items:center;
  /* Same Y scale the JS sats use — labels stay on the rings */
  transform:scaleY(0.78);
  pointer-events:none;
}
.orbit__ring{
  position:absolute;border-radius:50%;
  border:1px solid color-mix(in srgb,var(--cream) 14%,transparent);
  box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--violet) 12%,transparent);
  animation:orbit-spin linear infinite;
  will-change:transform;
}
.orbit__ring::after{
  content:"";position:absolute;inset:-1px;border-radius:50%;
  border:1px solid transparent;
  border-top-color:color-mix(in srgb,var(--violet) 55%,transparent);
  border-right-color:color-mix(in srgb,var(--coral) 22%,transparent);
}
.orbit__ring--1{width:92%;height:92%;animation-duration:48s}
.orbit__ring--2{width:68%;height:68%;animation-duration:36s;animation-direction:reverse}
.orbit__ring--3{width:46%;height:46%;animation-duration:28s}
@keyframes orbit-spin{to{transform:rotate(360deg)}}
.orbit__core{
  position:relative;z-index:20;width:30%;aspect-ratio:1;border-radius:50%;
  display:grid;place-items:center;text-align:center;
  background:
    radial-gradient(circle at 32% 28%,color-mix(in srgb,var(--violet) 60%,transparent),transparent 58%),
    radial-gradient(circle at 70% 78%,color-mix(in srgb,var(--coral) 35%,transparent),transparent 55%),
    color-mix(in srgb,var(--ink-2) 96%,transparent);
  border:1px solid color-mix(in srgb,var(--violet) 48%,transparent);
  box-shadow:
    0 0 70px -16px var(--violet),
    0 0 40px -18px var(--coral),
    inset 0 0 36px -14px color-mix(in srgb,var(--coral) 55%,transparent);
  animation:orbit-core-breathe 5.5s ease-in-out infinite;
}
.orbit__core::before{
  content:"";position:absolute;inset:-18%;border-radius:50%;pointer-events:none;
  background:radial-gradient(circle,color-mix(in srgb,var(--violet) 28%,transparent),transparent 68%);
  z-index:-1;
}
.orbit__core b{font-family:var(--display);font-size:clamp(14px,1.6vw,19px);font-weight:600;letter-spacing:-.02em;line-height:1.15;color:var(--cream)}
.orbit__core small{display:block;font-family:var(--mono);font-size:9.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--muted);margin-top:6px}
@keyframes orbit-core-breathe{
  0%,100%{box-shadow:0 0 70px -16px var(--violet),0 0 40px -18px var(--coral),inset 0 0 36px -14px color-mix(in srgb,var(--coral) 55%,transparent)}
  50%{box-shadow:0 0 92px -12px var(--violet),0 0 52px -14px var(--coral),inset 0 0 42px -12px color-mix(in srgb,var(--coral) 65%,transparent)}
}
.orbit__sats{position:absolute;inset:0;pointer-events:none;z-index:5}
.orbit__sat{
  position:absolute;left:50%;top:50%;
  margin:0;white-space:nowrap;cursor:pointer;pointer-events:auto;
  font-family:var(--mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;
  padding:9px 14px;border-radius:100px;color:var(--cream);
  background:color-mix(in srgb,var(--ink-2) 94%,transparent);
  border:1px solid color-mix(in srgb,var(--cream) 16%,transparent);
  box-shadow:0 10px 28px -18px rgba(0,0,0,.85);
  transition:border-color .25s,box-shadow .25s,color .25s,background .25s;
  will-change:transform,opacity;
  transform:translate(-50%,-50%);
}
.orbit__sat:hover,.orbit__sat:focus-visible{
  border-color:var(--violet);color:#fff;
  background:color-mix(in srgb,var(--ink-2) 88%,var(--violet));
  box-shadow:0 0 28px -6px var(--violet);outline:none;
}
.orbit.paused .orbit__ring,
.orbit.is-paused .orbit__ring{animation-play-state:paused}
.orbit.paused .orbit__core,
.orbit.is-paused .orbit__core{animation-play-state:paused}

/* ---------- ticker ---------- */
.ticker{border-block:1px solid var(--line);overflow:hidden;padding:16px 0;
  mask-image:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent)}
.track{display:flex;gap:44px;width:max-content;animation:slide 48s linear infinite}
.ticker:hover .track{animation-play-state:paused}
@keyframes slide{to{transform:translateX(-50%)}}
.track span{font-family:var(--mono);font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:var(--muted);
  display:flex;align-items:center;gap:44px;white-space:nowrap}
.track span::after{content:"";width:5px;height:5px;border-radius:50%;background:var(--coral)}

/* ---------- reveal ---------- */
.rv{opacity:0;transform:translateY(28px);transition:opacity .8s var(--ease),transform .8s var(--ease)}
.rv.in{opacity:1;transform:none}
.rv[data-d="1"]{transition-delay:.08s}.rv[data-d="2"]{transition-delay:.16s}
.rv[data-d="3"]{transition-delay:.24s}.rv[data-d="4"]{transition-delay:.32s}
.rv[data-d="5"]{transition-delay:.4s}.rv[data-d="6"]{transition-delay:.48s}

/* ---------- bento / cards ---------- */
.bento{display:grid;grid-template-columns:repeat(12,1fr);gap:14px}
.card{position:relative;border-radius:var(--r);padding:clamp(22px,2.6vw,32px);overflow:hidden;
  background:linear-gradient(160deg,color-mix(in srgb,var(--cream) 7%,transparent),color-mix(in srgb,var(--cream) 2%,transparent));
  border:1px solid var(--line);transition:transform .5s var(--ease),border-color .4s,background .4s;isolation:isolate}
.card::before{content:"";position:absolute;width:340px;height:340px;border-radius:50%;z-index:-1;opacity:0;
  background:radial-gradient(circle,color-mix(in srgb,var(--violet) 40%,transparent),transparent 68%);
  left:var(--mx,50%);top:var(--my,50%);transform:translate(-50%,-50%);transition:opacity .45s}
.card:hover{transform:translateY(-5px);border-color:color-mix(in srgb,var(--violet) 45%,transparent)}
.card:hover::before{opacity:1}
.card h3{font-family:var(--display);font-weight:600;letter-spacing:-.025em;font-size:clamp(19px,2vw,25px);margin-bottom:9px;color:var(--text);line-height:1.2}
.card p{color:var(--text-soft);font-size:16px;line-height:1.7}
.card .go{display:inline-flex;align-items:center;gap:7px;margin-top:18px;font-size:13px;font-weight:600;color:var(--cream);
  transition:gap .3s}
.card:hover .go{gap:13px;color:var(--amber)}
.idx{font-family:var(--mono);font-size:12px;color:var(--amber);letter-spacing:.16em}
.c4{grid-column:span 3}.c6{grid-column:span 6}.c8{grid-column:span 8}.c12{grid-column:span 12}
.path .card{display:flex;flex-direction:column;justify-content:space-between;min-height:230px}
.svc .card{min-height:250px}
.svc .card.wide{background:linear-gradient(140deg,color-mix(in srgb,var(--violet) 26%,transparent),color-mix(in srgb,var(--coral) 14%,transparent));
  border-color:color-mix(in srgb,var(--violet) 40%,transparent)}
.svc .card.wide p{color:color-mix(in srgb,var(--cream) 80%,transparent)}

/* ---------- steps ---------- */
.steps{position:relative;display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.rail{position:absolute;top:26px;left:6%;right:6%;height:1px;background:var(--line)}
.rail i{position:absolute;inset:0;background:linear-gradient(90deg,var(--violet),var(--coral),var(--amber));
  transform-origin:0 50%;transform:scaleX(var(--p,0));transition:transform .1s linear}
.step{position:relative;padding-top:64px}
.dot{position:absolute;top:16px;left:0;width:22px;height:22px;border-radius:50%;background:var(--ink);
  border:1px solid var(--line);display:grid;place-items:center;transition:.5s var(--ease)}
.dot::after{content:"";width:7px;height:7px;border-radius:50%;background:var(--muted);transition:.5s}
.step.on .dot{border-color:var(--amber);box-shadow:0 0 22px -4px var(--amber)}
.step.on .dot::after{background:var(--amber)}
.step h4{font-family:var(--display);font-size:20px;font-weight:600;letter-spacing:-.02em;margin:8px 0 7px;color:var(--text);line-height:1.25}
.step p{color:var(--text-soft);font-size:15.5px;line-height:1.6}

/* ---------- light band ---------- */
.light{background:var(--lilac);color:#1A1233;border-radius:clamp(24px,4vw,44px);
  width:min(var(--maxw),calc(100% - var(--pad)*2));margin-inline:auto;
  padding-inline:clamp(20px,4vw,60px)}
.light .eyebrow{color:#5B2FD6}.light .eyebrow::before{background:#5B2FD6}
.light .lede{color:#3D3458}
.light h2{color:#160E2E}
.quotes{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.quote{background:#fff;border-radius:18px;padding:26px;border:1px solid rgba(22,14,46,.08);
  transition:transform .5s var(--ease),box-shadow .5s}
.quote:hover{transform:translateY(-6px) rotate(-.6deg);box-shadow:0 26px 50px -26px rgba(22,14,46,.4)}
.quote p{font-family:var(--display);font-size:19px;line-height:1.34;letter-spacing:-.02em;font-weight:500}
.who{display:flex;align-items:center;gap:11px;margin-top:20px}
.av{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;font-family:var(--mono);font-size:12px;
  color:#fff;background:linear-gradient(140deg,var(--violet),var(--coral))}
.who b{font-size:14px;display:block}
.who small{color:#544A6E;font-size:13px}
.stars{color:var(--amber);font-size:13px;letter-spacing:2px}

/* ---------- team ---------- */
.team{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.person{display:flex;gap:20px;align-items:center}
.face{width:86px;height:86px;flex:none;border-radius:50%;display:grid;place-items:center;position:relative;
  overflow:hidden;padding:0;
  font-family:var(--display);font-size:23px;font-weight:700;letter-spacing:-.02em;
  background:linear-gradient(150deg,color-mix(in srgb,var(--violet) 70%,transparent),color-mix(in srgb,var(--coral) 55%,transparent));
  border:2px solid color-mix(in srgb,var(--violet) 45%,transparent);box-shadow:0 10px 28px -16px rgba(0,0,0,.75)}
.face img{width:100%;height:100%;object-fit:cover;object-position:center 22%;display:block;border-radius:50%}
.face::after{content:"";position:absolute;inset:-8px;border-radius:50%;border:1px dashed var(--line);animation:spin2 22s linear infinite;pointer-events:none}
@keyframes spin2{to{transform:rotate(360deg)}}
.role{font-family:var(--mono);font-size:10.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--amber)}

/* ---------- final cta ---------- */
.final{text-align:center;position:relative;border-radius:clamp(24px,4vw,44px);
  width:min(var(--maxw),calc(100% - var(--pad)*2));margin-inline:auto;
  padding:clamp(56px,8vw,110px) clamp(20px,4vw,60px);overflow:hidden;border:1px solid var(--line);
  background:radial-gradient(120% 130% at 50% 0%,color-mix(in srgb,var(--violet) 32%,transparent),transparent 62%),var(--ink-2)}
.final h2{font-size:clamp(34px,6.4vw,78px);margin-inline:auto;max-width:16ch}
.final .lede{margin-inline:auto;text-align:center}
.final .hero-cta{justify-content:center}

/* ---------- footer ---------- */
footer{padding:clamp(60px,7vw,90px) 0 40px;border-top:1px solid var(--line);margin-top:clamp(70px,9vw,120px)}
.fgrid{display:grid;grid-template-columns:1.6fr 1fr 1fr;gap:40px}
.fgrid h5{font-family:var(--mono);font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--muted-2);margin-bottom:16px}
.fgrid a{display:block;padding:6px 0;color:var(--text-soft);transition:color .3s,transform .3s var(--ease)}
.fgrid a:hover{color:#fff;transform:translateX(4px)}
.fgrid a.btn,
.fgrid .btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:auto;
  padding:11px 22px;
  color:var(--cream);
  text-align:center;
  transform:none;
}
.fgrid a.btn:hover,
.fgrid .btn:hover{
  color:#fff;
  transform:translateY(-2px);
}
.legal{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;margin-top:56px;padding-top:24px;
  border-top:1px solid var(--line);font-size:13.5px;color:var(--muted);line-height:1.5}

/* ---------- responsive ---------- */
@media(max-width:1000px){
  .hero-grid{grid-template-columns:1fr}
  .orbit{max-width:min(340px,78vw);order:0;margin-top:8px}
  .c4{grid-column:span 6}.c6,.c8{grid-column:span 12}
  .steps{grid-template-columns:1fr 1fr}.rail{display:none}
  .quotes{grid-template-columns:1fr 1fr}
  .team{grid-template-columns:1fr}
  .fgrid{grid-template-columns:1fr 1fr}
  .sec-head{align-items:flex-start}
}
@media(max-width:720px){
  :root{--pad:clamp(16px,5vw,24px);--r:18px}
  .nav{
    top:max(10px,env(safe-area-inset-top,0px));
    width:min(var(--maxw),calc(100% - 16px));
    gap:10px;
    padding:8px 8px 8px 14px;
  }
  .nav-links,.nav .btn-primary{display:none}
  .burger{display:block;margin-left:auto;flex:none;width:44px;height:44px}
  .sheet{
    z-index:95;
    padding:
      calc(92px + env(safe-area-inset-top,0px))
      max(var(--pad),env(safe-area-inset-right,0px))
      max(28px,env(safe-area-inset-bottom,0px))
      max(var(--pad),env(safe-area-inset-left,0px));
    justify-content:flex-start;
    overflow-y:auto;
    overscroll-behavior:contain;
    -webkit-overflow-scrolling:touch;
  }
  .sheet a{
    font-size:clamp(28px,8.2vw,42px);
    padding:14px 0;
    min-height:52px;
    display:flex;
    align-items:center;
  }
  .hero{padding-top:clamp(108px,26vw,148px);padding-bottom:clamp(32px,7vw,52px)}
  .hero-grid{gap:28px}
  h1{font-size:clamp(34px,10.5vw,50px);line-height:1.05;margin:18px 0 16px}
  .hero p.lede{font-size:16px;line-height:1.65;max-width:none}
  .hero-cta{flex-direction:column;align-items:stretch;gap:10px;margin-top:24px}
  .hero-cta .btn{width:100%;justify-content:center;min-height:50px;padding:15px 18px;font-size:15px}
  .orbit{
    max-width:min(300px,86vw);
    margin-inline:auto;
  }
  .orbit__sat{font-size:10px;padding:8px 11px;letter-spacing:.05em}
  .orbit__core{width:34%}
  .orbit__core b{font-size:14px}
  .orbit__core small{font-size:9px;letter-spacing:.16em}
  .tag{font-size:10px;padding:8px 13px;max-width:100%;line-height:1.35}
  .ticker{padding:14px 0}
  .track{gap:28px;animation-duration:28s}
  .track span{font-size:11px;gap:28px;letter-spacing:.12em}
  section{padding-block:clamp(56px,14vw,88px)}
  .sec-head{margin-bottom:28px;gap:16px}
  .sec-head .btn{width:100%;justify-content:center;min-height:48px}
  h2{font-size:clamp(28px,8.2vw,40px);margin:14px 0 12px}
  .lede{font-size:16px;line-height:1.65;max-width:none}
  .bento{gap:12px}
  .c4{grid-column:span 12}
  .card{padding:20px;min-height:0}
  .card:hover{transform:none}
  .path .card,.svc .card{min-height:0}
  .card .go{margin-top:14px;min-height:44px;align-items:center}
  .steps{grid-template-columns:1fr;gap:22px}
  .step{padding-top:0}
  .dot{position:static;margin-bottom:10px}
  .step h4{font-size:19px}
  .person{flex-direction:column;align-items:flex-start;gap:14px}
  .face{width:68px;height:68px;font-size:21px}
  .light{
    width:min(100% - 16px,var(--maxw));
    border-radius:22px;
    padding-inline:18px;
    padding-block:clamp(40px,10vw,64px);
  }
  .final{
    width:min(100% - 16px,var(--maxw));
    border-radius:22px;
    padding:clamp(40px,10vw,72px) 18px;
  }
  .final h2{font-size:clamp(28px,8vw,44px)}
  .final .hero-cta{width:100%}
  .quotes{gap:12px}
  .quote{padding:22px}
  .quote:hover{transform:none}
  .fgrid{grid-template-columns:1fr;gap:28px}
  .legal{flex-direction:column;gap:10px;margin-top:36px;font-size:12px}
  .spot{display:none}
  .aurora{opacity:.28}
  .grain{opacity:.04}
  footer{padding:48px 0 calc(28px + env(safe-area-inset-bottom,0px));margin-top:56px}
  .chip-row{gap:8px;margin-top:16px}
  .chip{font-size:12px;padding:8px 12px}
  .btn{min-height:48px}
}
@media(max-width:480px){
  .orbit{max-width:min(270px,90vw)}
  .orbit__sat{font-size:9px;padding:7px 9px;letter-spacing:.03em}
  .brand__logo{height:34px}
  .btn{font-size:14.5px}
  h1{font-size:clamp(32px,10vw,42px)}
}
/* Keep content visible + cut continuous ambient motion */
@media(prefers-reduced-motion:reduce){
  .aurora i,.face::after,.pulse,.track,.client-marquee__track,.orbit__ring,.orbit__core{animation:none!important}
  .rv,.reveal,.fade-up,h1 .line>span{opacity:1!important;transform:none!important;transition:none!important}
  .strike::after{transform:scaleX(1)!important}
  html{scroll-behavior:auto}
}

/* Pause continuous animations when off-screen (class toggled in JS) */
.client-marquee__track.is-paused,
.track.is-paused,
.orbit.is-paused .orbit__ring,
.orbit.paused .orbit__ring,
.orbit.is-paused .orbit__core,
.orbit.paused .orbit__core{
  animation-play-state:paused!important;
}

/* ========== SHARED PAGE / BOOKING (production) ========== */
.btn--primary, .btn--mint, .btn--signal {
  background: linear-gradient(120deg, var(--violet), var(--coral));
  color: #fff;
  box-shadow: 0 10px 30px -12px var(--violet);
}
.btn--primary:hover, .btn--mint:hover, .btn--signal:hover {
  box-shadow: 0 18px 44px -12px var(--coral);
}
.btn--ghost, .btn--ghost-light {
  background: var(--glass);
  color: var(--cream);
  border: 1px solid var(--line);
}
.btn--ghost:hover, .btn--ghost-light:hover {
  border-color: color-mix(in srgb, var(--cream) 35%, transparent);
}
.nav-links a.active {
  color: var(--cream);
  background: var(--glass);
}

.page-hero {
  padding-top: clamp(120px, 16vw, 180px);
  padding-bottom: clamp(40px, 5vw, 64px);
}
.page-hero h1 {
  font-family: var(--display);
  font-size: clamp(36px, 6vw, 72px);
  line-height: 1;
  letter-spacing: -0.04em;
  font-weight: 600;
  margin: 14px 0 16px;
  max-width: 20ch;
}
.page-hero p {
  color: var(--text-soft);
  max-width: 62ch;
  font-size: clamp(16.5px, 1.45vw, 20px);
  line-height: 1.75;
}
.section-label {
  font-family: var(--mono);
  font-size: 11px;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--amber);
  display: inline-flex;
  align-items: center;
  gap: 9px;
}
.section-label::before {
  content: "";
  width: 24px;
  height: 1px;
  background: var(--amber);
  opacity: 0.6;
}
.section-title {
  font-family: var(--display);
  font-weight: 600;
  letter-spacing: -0.035em;
  line-height: 1.02;
  font-size: clamp(28px, 4.5vw, 48px);
  margin: 12px 0;
}
.section-lead {
  color: var(--muted);
  max-width: 56ch;
}

.detail-block {
  border-radius: var(--r);
  padding: clamp(22px, 2.6vw, 32px);
  margin-bottom: 28px;
  background: linear-gradient(
    160deg,
    color-mix(in srgb, var(--cream) 7%, transparent),
    color-mix(in srgb, var(--cream) 2%, transparent)
  );
  border: 1px solid var(--line);
}
.detail-block p { color: var(--text-soft); line-height: 1.8; font-size: clamp(15.5px, 1.2vw, 17.5px); }
.detail-block p + p { margin-top: 14px; }
.bullet-list {
  margin: 14px 0 0 1.1rem;
  color: var(--text-soft);
  display: grid;
  gap: 12px;
  line-height: 1.7;
  font-size: clamp(15px, 1.15vw, 17px);
}
.bullet-list li::marker { color: var(--amber); }

.split-note {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px;
  margin-top: 28px;
}
.split-note > div {
  border-radius: var(--r);
  padding: 24px;
  border: 1px solid var(--line);
  background: color-mix(in srgb, var(--cream) 4%, transparent);
}
.split-note h3 {
  font-family: var(--display);
  font-size: 20px;
  margin-bottom: 8px;
}
.split-note p {
  color: var(--text-soft);
  font-size: 15.5px;
  line-height: 1.65;
}
.split-note a {
  color: var(--amber);
  text-decoration: underline;
}

.services__grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 14px;
}
.service {
  border-radius: var(--r);
  padding: clamp(22px, 2.6vw, 32px);
  min-height: 220px;
  display: flex;
  flex-direction: column;
  background: linear-gradient(
    160deg,
    color-mix(in srgb, var(--cream) 7%, transparent),
    color-mix(in srgb, var(--cream) 2%, transparent)
  );
  border: 1px solid var(--line);
  transition: transform 0.45s var(--ease), border-color 0.35s;
}
.service:hover {
  transform: translateY(-5px);
  border-color: color-mix(in srgb, var(--violet) 45%, transparent);
}
.service__top{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin-bottom:4px;
}
.service__icon{
  width:48px;
  height:48px;
  flex:none;
  border-radius:14px;
  display:grid;
  place-items:center;
  background:color-mix(in srgb, var(--cream) 6%, transparent);
  border:1px solid var(--line);
}
.service__icon img,
.service__icon svg{
  width:30px;
  height:30px;
  display:block;
}
.service__num {
  font-family: var(--mono);
  font-size: 12px;
  color: var(--amber);
  letter-spacing: 0.16em;
}
.page-visual{
  margin:0 auto clamp(28px,4vw,48px);
  border-radius:clamp(18px,3vw,28px);
  overflow:hidden;
  border:1px solid var(--line);
  position:relative;
  isolation:isolate;
  max-width:var(--wrap,1120px);
}
.page-visual img{
  width:100%;
  height:clamp(180px,28vw,340px);
  object-fit:cover;
  display:block;
  filter:saturate(1.05) contrast(1.04);
}
.page-visual::after{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(180deg, transparent 35%, color-mix(in srgb, var(--ink) 72%, transparent) 100%),
    radial-gradient(80% 80% at 15% 20%, color-mix(in srgb, var(--violet) 28%, transparent), transparent 60%);
  pointer-events:none;
}
.page-visual__caption{
  position:absolute;
  left:clamp(16px,3vw,28px);
  bottom:clamp(14px,2.5vw,24px);
  z-index:1;
  font-family:var(--mono);
  font-size:11px;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:color-mix(in srgb, var(--cream) 88%, transparent);
}
.card__icon{
  width:40px;
  height:40px;
  margin:0 0 12px;
  border-radius:12px;
  display:grid;
  place-items:center;
  background:color-mix(in srgb, var(--cream) 6%, transparent);
  border:1px solid var(--line);
}
.card__icon img{width:24px;height:24px;display:block}
.how-visual{
  display:grid;
  grid-template-columns:1.05fr .95fr;
  gap:clamp(18px,3vw,28px);
  align-items:stretch;
  margin-bottom:clamp(28px,4vw,44px);
}
.how-visual__media{
  border-radius:var(--r);
  overflow:hidden;
  border:1px solid var(--line);
  min-height:260px;
  position:relative;
}
.how-visual__media img{
  width:100%;
  height:100%;
  min-height:260px;
  object-fit:cover;
  display:block;
}
.how-visual__media::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(135deg, color-mix(in srgb, var(--violet) 22%, transparent), transparent 55%);
  pointer-events:none;
}
.book-layout{
  display:grid;
  grid-template-columns:.88fr 1.12fr;
  gap:clamp(18px,3vw,28px);
  align-items:start;
}
.book-aside{
  position:sticky;
  top:92px;
}
.book-aside__media{
  border-radius:var(--r);
  overflow:hidden;
  border:1px solid var(--line);
  margin-bottom:16px;
}
.book-aside__media img{
  width:100%;
  height:220px;
  object-fit:cover;
  display:block;
}
.book-aside__note{
  border:1px solid var(--line);
  border-radius:var(--r);
  padding:18px 20px;
  background:color-mix(in srgb, var(--cream) 4%, transparent);
  color:var(--muted);
  font-size:14px;
  line-height:1.6;
}
.book-aside__note strong{
  display:block;
  color:var(--cream);
  font-family:var(--display);
  font-size:18px;
  margin-bottom:6px;
}
.service h3 {
  font-family: var(--display);
  font-size: 24px;
  margin: 10px 0 8px;
  letter-spacing: -0.02em;
}
.service p {
  color: var(--text-soft);
  flex: 1;
  line-height: 1.6;
}
.service__go {
  margin-top: 18px;
  font-size: 13px;
  font-weight: 600;
  color: var(--cream);
}

.workflow__steps {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 14px;
}
.workflow__steps .step,
.workflow__steps a.step {
  border-radius: var(--r);
  padding: 26px;
  border: 1px solid var(--line);
  background: color-mix(in srgb, var(--cream) 4%, transparent);
}
.workflow__steps h3 {
  font-family: var(--display);
  font-size: 22px;
  margin-bottom: 8px;
}
.workflow__steps p { color: var(--muted); }
.step__link {
  display: inline-block;
  margin-top: 14px;
  font-size: 13px;
  font-weight: 600;
  color: var(--amber);
}

.team__grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px;
}
.team__grid .person {
  display: flex;
  gap: 18px;
  align-items: flex-start;
  border-radius: var(--r);
  padding: 26px;
  border: 1px solid var(--line);
  background: color-mix(in srgb, var(--cream) 4%, transparent);
}
.person__avatar {
  width: 112px;
  height: 112px;
  flex: none;
  border-radius: 50%;
  display: grid;
  place-items: center;
  overflow: hidden;
  padding: 0;
  font-family: var(--display);
  font-weight: 700;
  font-size: 20px;
  background: linear-gradient(
    150deg,
    color-mix(in srgb, var(--violet) 70%, transparent),
    color-mix(in srgb, var(--coral) 55%, transparent)
  );
  border: 2px solid color-mix(in srgb, var(--violet) 40%, transparent);
  box-shadow: 0 14px 36px -18px rgba(0, 0, 0, 0.85);
}
.person__avatar img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 22%;
  display: block;
  border-radius: 50%;
}
.person__role {
  font-family: var(--mono);
  font-size: 10.5px;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--amber);
}
.person h3 {
  font-family: var(--display);
  font-size: 22px;
  margin: 4px 0 8px;
}
.person p {
  color: var(--text-soft);
  font-size: 15px;
  line-height: 1.65;
}
.person__link {
  margin-top: 18px;
}

.impact-stats{
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:12px;
}
.impact-stat{
  border:1px solid var(--line);
  border-radius:16px;
  padding:18px 14px;
  text-align:center;
  background:color-mix(in srgb,var(--cream) 5%,transparent);
}
.impact-stat strong{
  display:block;
  font-family:var(--display);
  font-size:clamp(22px,3vw,32px);
  letter-spacing:-.03em;
  margin-bottom:4px;
  background:linear-gradient(100deg,var(--violet),var(--coral) 60%,var(--amber));
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent;
}
.impact-stat span{
  color:var(--muted);
  font-size:13px;
  line-height:1.4;
}

/* ---------- growth timeline (Results) ---------- */
.growth{
  margin-top:clamp(40px,6vw,64px);
}
.growth__rail{
  position:relative;
  margin-top:28px;
  display:grid;
  gap:0;
  padding-left:0;
  list-style:none;
}
.growth__rail::before{
  content:"";
  position:absolute;
  left:15px;
  top:8px;
  bottom:8px;
  width:2px;
  background:linear-gradient(180deg,var(--violet),var(--coral),var(--amber));
  opacity:.55;
  border-radius:2px;
}
.growth__item{
  position:relative;
  display:grid;
  grid-template-columns:88px minmax(0,1fr);
  gap:18px 22px;
  padding:0 0 28px 0;
  align-items:start;
}
.growth__item:last-child{padding-bottom:0}
.growth__year{
  position:relative;
  z-index:1;
  font-family:var(--mono);
  font-size:11px;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:var(--amber);
  padding-top:4px;
  padding-left:36px;
}
.growth__year::before{
  content:"";
  position:absolute;
  left:8px;
  top:6px;
  width:16px;
  height:16px;
  border-radius:50%;
  background:var(--ink);
  border:2px solid var(--violet);
  box-shadow:0 0 0 4px color-mix(in srgb,var(--violet) 18%,transparent);
}
.growth__card{
  border:1px solid var(--line);
  border-radius:calc(var(--r) * .8);
  padding:clamp(16px,2.2vw,22px);
  background:linear-gradient(160deg,color-mix(in srgb,var(--cream) 6%,transparent),color-mix(in srgb,var(--cream) 2%,transparent));
}
.growth__card h3{
  font-family:var(--display);
  font-size:clamp(18px,2vw,22px);
  letter-spacing:-.02em;
  margin:0 0 8px;
  color:var(--text);
}
.growth__card > p{
  margin:0 0 12px;
  color:var(--text-soft);
  font-size:15px;
  line-height:1.65;
}
.growth__tags{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin:0;
  padding:0;
  list-style:none;
}
.growth__tags li{
  font-family:var(--mono);
  font-size:10.5px;
  letter-spacing:.06em;
  text-transform:uppercase;
  color:var(--text-soft);
  padding:7px 11px;
  border-radius:999px;
  border:1px solid var(--line);
  background:color-mix(in srgb,var(--ink) 35%,transparent);
}
.growth__meta{
  display:inline-block;
  margin-bottom:8px;
  font-family:var(--mono);
  font-size:10px;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:var(--muted-2);
}
@media(max-width:720px){
  .growth__rail::before{left:11px}
  .growth__item{grid-template-columns:1fr;gap:8px;padding-bottom:22px}
  .growth__year{padding-left:32px}
  .growth__year::before{left:4px;width:14px;height:14px}
  .growth__card{margin-left:0}
}
.project-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:14px;
  margin-top:28px;
}
.project-card{
  border:1px solid var(--line);
  border-radius:var(--r);
  padding:18px;
  background:linear-gradient(160deg,color-mix(in srgb,var(--cream) 7%,transparent),color-mix(in srgb,var(--cream) 2%,transparent));
  display:flex;
  flex-direction:column;
  gap:10px;
  min-height:100%;
}
.project-card__logo{
  height:72px;
  border-radius:0;
  background:transparent;
  display:flex;
  align-items:center;
  justify-content:flex-start;
  overflow:visible;
  padding:0;
  border:0;
  box-shadow:none;
}
.project-card__logo img{
  display:block;
  width:auto;
  height:56px;
  max-width:112px;
  max-height:56px;
  object-fit:contain;
  object-position:center;
  margin:0;
  filter:none;
  opacity:1;
  border-radius:12px;
  background:#fff;
}
.project-card h3{
  font-family:var(--display);
  font-size:1.15rem;
  letter-spacing:-.02em;
  margin:0;
}
.project-card p{
  color:var(--text-soft);
  font-size:14.5px;
  line-height:1.55;
  margin:0;
  flex:1;
}
.project-card .chip{
  align-self:flex-start;
  margin-top:6px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:34px;
  padding:8px 14px;
  line-height:1.25;
}
.client-marquee{
  margin-top:28px;
  border:1px solid var(--line);
  border-radius:20px;
  overflow-x:hidden;
  overflow-y:visible;
  background:color-mix(in srgb,var(--cream) 3.5%,transparent);
  padding:26px 0;
  -webkit-mask-image:linear-gradient(90deg,transparent 0%,#000 6%,#000 94%,transparent 100%);
  mask-image:linear-gradient(90deg,transparent 0%,#000 6%,#000 94%,transparent 100%);
}
.client-marquee__track{
  display:flex;
  align-items:center;
  gap:clamp(16px,2.2vw,22px);
  width:max-content;
  padding:4px 28px;
  animation:slide 70s linear infinite;
  will-change:auto;
}
.client-marquee__track img,
.logo-row img,
.logo-wall img,
.project-card__logo img,
.rx-case__media img{
  display:block;
  width:auto;
  height:64px;
  max-height:64px;
  max-width:118px;
  object-fit:contain;
  object-position:center;
  flex:0 0 auto;
  filter:none;
  opacity:1;
  border-radius:14px;
  box-shadow:0 10px 28px -18px rgba(0,0,0,.65);
  background:#fff;
  transition:transform .3s var(--ease),box-shadow .3s var(--ease);
}
.client-marquee__track img:hover,
.logo-wall li:hover img,
.logo-wall a:hover img,
.project-card__logo:hover img,
.rx-case:hover .rx-case__media img{
  transform:translateY(-2px);
  box-shadow:0 16px 34px -16px rgba(0,0,0,.75);
}
.logo-wall{
  list-style:none;
  margin:0;
  padding:8px 0 0;
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  justify-content:flex-start;
  gap:clamp(14px,2vw,18px);
}
.logo-wall li{
  margin:0;
  padding:0;
  border:0;
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:0;
  overflow:visible;
}
.logo-wall img{height:56px;max-height:56px;max-width:108px}

/* Featured case logo marks (Results) */
.rx-case__media{
  width:124px!important;
  height:72px!important;
  aspect-ratio:auto!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  display:flex!important;
  align-items:center;
  justify-content:flex-start;
  box-shadow:none!important;
  overflow:visible!important;
}
.rx-case__media img{
  width:auto!important;
  height:64px!important;
  max-height:64px!important;
  max-width:118px!important;
  object-fit:contain!important;
  filter:none!important;
  opacity:1!important;
}

@media(max-width:1000px){
  .impact-stats{grid-template-columns:repeat(3,minmax(0,1fr))}
  .project-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:720px){
  .client-marquee{padding:20px 0}
  .client-marquee__track{gap:12px;padding:4px 18px}
  .client-marquee__track img{height:52px;max-height:52px;max-width:96px}
  .logo-wall{gap:12px}
  .logo-wall img{height:48px;max-height:48px;max-width:92px}
  .logo-wall li{min-height:0}
  .impact-stats{grid-template-columns:repeat(2,minmax(0,1fr))}
  .project-grid{grid-template-columns:1fr}
  .quotes{grid-template-columns:1fr}
}
@media(max-width:480px){
  .impact-stats{grid-template-columns:1fr 1fr}
}
.proof__list .quote,
article.quote {
  background: #fff;
  color: #160e2e;
  border-radius: 18px;
  padding: 26px;
  border: 1px solid rgba(22, 14, 46, 0.08);
}
.proof__list blockquote {
  font-family: var(--display);
  font-size: 19px;
  line-height: 1.34;
  letter-spacing: -0.02em;
  font-weight: 500;
}
.proof__list cite {
  display: block;
  margin-top: 16px;
  font-style: normal;
  color: #6c6086;
  font-size: 13px;
}
.proof__list cite strong {
  display: block;
  color: #160e2e;
  font-size: 14px;
}

.about-story {
  display: grid;
  grid-template-columns: 1.2fr 0.8fr;
  gap: 28px;
  align-items: start;
}
.about-visual {
  min-height: 280px;
  border-radius: var(--r);
  border: 1px solid var(--line);
  overflow: hidden;
  position: relative;
  background:
    radial-gradient(circle at 30% 30%, color-mix(in srgb, var(--violet) 45%, transparent), transparent 55%),
    radial-gradient(circle at 70% 70%, color-mix(in srgb, var(--coral) 35%, transparent), transparent 50%),
    var(--ink-2);
}
.about-visual img {
  width: 100%;
  height: 100%;
  min-height: 320px;
  object-fit: cover;
  display: block;
}

.cta-band { padding: clamp(40px, 6vw, 70px) 0; }
.cta-band__inner {
  text-align: center;
  border-radius: clamp(24px, 4vw, 44px);
  padding: clamp(48px, 7vw, 90px) clamp(20px, 4vw, 60px);
  border: 1px solid var(--line);
  background:
    radial-gradient(120% 130% at 50% 0%, color-mix(in srgb, var(--violet) 32%, transparent), transparent 62%),
    var(--ink-2);
}
.cta-band__inner h2 {
  font-family: var(--display);
  font-size: clamp(30px, 5vw, 56px);
  letter-spacing: -0.035em;
  margin: 0 0 12px;
}
.cta-band__inner p {
  color: var(--muted);
  max-width: 48ch;
  margin: 0 auto 22px;
}

.booking { padding: 0 0 clamp(72px, 10vw, 120px); }
.booking__shell {
  display: grid;
  grid-template-columns: 240px 1fr;
  gap: 18px;
  align-items: start;
}
.booking__progress {
  position: sticky;
  top: 100px;
  border-radius: var(--r);
  padding: 20px;
  border: 1px solid var(--line);
  background: color-mix(in srgb, var(--cream) 4%, transparent);
  display: grid;
  gap: 14px;
}
.prog-step {
  display: grid;
  grid-template-columns: 32px 1fr;
  gap: 10px;
  align-items: center;
  opacity: 0.45;
  width: 100%;
  margin: 0;
  padding: 8px;
  border: 1px solid transparent;
  border-radius: 14px;
  background: transparent;
  color: inherit;
  text-align: left;
  font: inherit;
  cursor: pointer;
  transition: opacity .25s, border-color .25s, background .25s, transform .25s var(--ease);
}
.prog-step:disabled,
.prog-step[aria-disabled="true"] {
  cursor: not-allowed;
}
.prog-step.is-open:not(:disabled):hover {
  opacity: 1;
  background: var(--glass);
  border-color: var(--line);
  transform: translateX(2px);
}
.prog-step.is-open:not(:disabled):focus-visible {
  outline: 2px solid var(--amber);
  outline-offset: 2px;
}
.prog-step.active,
.prog-step.done { opacity: 1; }
.prog-step.done .prog-step__dot::after {
  content: "";
}
.prog-step__dot {
  width: 32px;
  height: 32px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  font-family: var(--mono);
  font-size: 12px;
  border: 1px solid var(--line);
  background: var(--ink);
  flex: none;
}
.prog-step.active .prog-step__dot {
  border-color: var(--violet);
  background: linear-gradient(140deg, var(--violet), var(--coral));
  color: #fff;
}
.prog-step.done .prog-step__dot {
  border-color: var(--amber);
  color: var(--amber);
}
.prog-step strong { display: block; font-size: 0.92rem; }
.prog-step span span { font-size: 0.8rem; color: var(--muted); display: block; }

.booking__panel {
  border-radius: var(--r);
  padding: clamp(22px, 3vw, 34px);
  border: 1px solid var(--line);
  background: linear-gradient(
    160deg,
    color-mix(in srgb, var(--cream) 7%, transparent),
    color-mix(in srgb, var(--cream) 2%, transparent)
  );
}
.panel-step { display: none; }
.panel-step.active { display: block; }
.panel-step h2 {
  font-family: var(--display);
  font-size: clamp(24px, 3vw, 34px);
  letter-spacing: -0.03em;
  margin-bottom: 8px;
}
.panel-step > p {
  color: var(--muted);
  margin-bottom: 22px;
}
.panel-nav {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  margin-top: 26px;
}

.choice-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
}
.choice {
  text-align: left;
  padding: 16px;
  border-radius: 16px;
  cursor: pointer;
  background: color-mix(in srgb, var(--ink) 55%, transparent);
  border: 1px solid var(--line);
  color: var(--cream);
  transition: border-color 0.3s, box-shadow 0.3s;
}
.choice:hover {
  border-color: color-mix(in srgb, var(--violet) 55%, transparent);
}
.choice.selected {
  border-color: var(--violet);
  box-shadow: 0 0 28px -10px var(--violet);
  background: color-mix(in srgb, var(--violet) 18%, transparent);
}
.choice strong {
  display: block;
  font-family: var(--display);
  font-size: 16px;
  margin-bottom: 4px;
}
.choice span {
  color: var(--muted);
  font-size: 13px;
}

.form-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px;
}
.field { display: grid; gap: 0.35rem; }
.field--full { grid-column: 1 / -1; }
.field label {
  font-size: 0.85rem;
  font-weight: 600;
  color: var(--cream);
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
}
.field input,
.field select,
.field textarea {
  width: 100%;
  min-height: 48px;
  border-radius: 12px;
  padding: 0.75rem 0.9rem;
  background: color-mix(in srgb, var(--ink) 70%, transparent);
  border: 1px solid var(--line);
  color: var(--cream);
  font-size: 16px;
}
.field input:focus,
.field select:focus,
.field textarea:focus {
  outline: none;
  border-color: var(--violet);
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--violet) 25%, transparent);
}
.field textarea {
  min-height: 110px;
  resize: vertical;
}
.field select option {
  background: var(--ink);
  color: var(--cream);
}
.req,.opt{
  font-family: var(--mono);
  font-size: 10px;
  letter-spacing: .12em;
  text-transform: uppercase;
  font-weight: 500;
  padding: 3px 8px;
  border-radius: 100px;
  border: 1px solid var(--line);
}
.req{color:var(--amber);border-color:color-mix(in srgb,var(--amber) 45%,transparent);background:color-mix(in srgb,var(--amber) 10%,transparent)}
.opt{color:var(--muted)}
.field-note{
  margin:0;
  font-size:13.5px;
  color:var(--muted);
  line-height:1.5;
}
.form-hint{
  font-size:13px;
  color:var(--muted);
  max-width:28ch;
  line-height:1.4;
}
.field input.is-invalid,
.field textarea.is-invalid,
.field select.is-invalid{
  border-color:var(--coral);
  box-shadow:0 0 0 3px color-mix(in srgb,var(--coral) 22%,transparent);
}
.consent-row{
  display:flex;
  gap:.65rem;
  align-items:flex-start;
  font-size:.94rem;
  margin-bottom:1rem;
  cursor:pointer;
  color:var(--text-soft);
  line-height:1.45;
}
.consent-row input{
  margin-top:.28rem;
  width:18px;
  height:18px;
  accent-color:var(--violet);
  flex:none;
}

.date-grid{
  display:grid;
  grid-template-columns:repeat(7,minmax(0,1fr));
  gap:8px;
}
.date-chip{
  display:grid;
  gap:2px;
  justify-items:center;
  padding:10px 6px;
  border-radius:14px;
  border:1px solid var(--line);
  background:color-mix(in srgb,var(--ink) 55%,transparent);
  color:var(--cream);
  cursor:pointer;
  transition:border-color .25s,box-shadow .25s,background .25s;
  min-height:78px;
}
.date-chip:hover{border-color:color-mix(in srgb,var(--violet) 55%,transparent)}
.date-chip.selected{
  border-color:transparent;
  background:linear-gradient(140deg,var(--violet),var(--coral));
  box-shadow:0 12px 28px -16px var(--violet);
}
.date-chip__dow{
  font-family:var(--mono);
  font-size:10px;
  letter-spacing:.1em;
  text-transform:uppercase;
  opacity:.85;
}
.date-chip__day{
  font-family:var(--display);
  font-size:22px;
  font-weight:600;
  line-height:1.1;
  letter-spacing:-.02em;
}
.date-chip__mon{
  font-size:12px;
  opacity:.9;
}

.slot-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 8px;
  margin-top: 10px;
  max-height: min(360px, 52vh);
  overflow: auto;
  padding: 2px;
  -webkit-overflow-scrolling: touch;
}
.slot {
  min-height: 44px;
  border-radius: 12px;
  border: 1px solid var(--line);
  background: transparent;
  color: var(--cream);
  cursor: pointer;
  font-weight: 600;
  font-size: 13px;
  font-variant-numeric: tabular-nums;
}
.slot:hover:not(:disabled) { border-color: var(--violet); }
.slot.selected {
  background: linear-gradient(120deg, var(--violet), var(--coral));
  border-color: transparent;
  color: #fff;
}
.slot:disabled,
.slot.is-disabled {
  opacity: 0.35;
  cursor: not-allowed;
}

.summary {
  display: grid;
  gap: 12px;
  margin-bottom: 18px;
  padding: 18px;
  border-radius: 16px;
  border: 1px solid var(--line);
  background: color-mix(in srgb, var(--ink) 40%, transparent);
}
.summary > div {
  display: grid;
  grid-template-columns: 100px 1fr;
  gap: 10px;
}
.summary dt {
  color: var(--muted);
  font-family: var(--mono);
  font-size: 11px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}
.summary dd { font-weight: 600; }

.alert {
  display: none;
  padding: 14px 16px;
  border-radius: 14px;
  margin-bottom: 16px;
  font-size: 14.5px;
  line-height: 1.5;
}
.alert.show { display: block; }
.alert--error {
  background: color-mix(in srgb, var(--coral) 16%, transparent);
  border: 1px solid color-mix(in srgb, var(--coral) 48%, transparent);
  color: var(--text);
}
.alert--ok {
  background: color-mix(in srgb, var(--amber) 16%, transparent);
  border: 1px solid color-mix(in srgb, var(--amber) 45%, transparent);
}
.alert__title {
  margin: 0 0 6px;
  font-weight: 700;
  font-size: 15px;
  color: #fff;
}
.alert__fix {
  margin: 0;
  color: var(--text-soft);
}
.alert__fix strong {
  color: var(--amber);
  font-weight: 700;
}

/* ---------- contact CTAs (labels only — no number/email text) ---------- */
.contact-actions{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-top:10px;
}
.btn--contact{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:11px 22px;
  font-size:13px;
  min-height:42px;
  min-width:7.5rem;
  text-align:center;
  white-space:nowrap;
}
.contact-dock{
  position:fixed;
  z-index:85;
  right:max(14px,env(safe-area-inset-right,0px));
  bottom:max(14px,env(safe-area-inset-bottom,0px));
  display:flex;
  flex-direction:column;
  gap:8px;
  align-items:stretch;
  pointer-events:none;
}
.contact-dock__btn{
  pointer-events:auto;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  min-height:46px;
  min-width:7.75rem;
  padding:12px 22px;
  border-radius:100px;
  border:1px solid var(--line);
  background:rgba(10,7,20,.94);
  backdrop-filter:blur(6px);
  -webkit-backdrop-filter:blur(6px);
  color:var(--cream);
  font-weight:600;
  font-size:13.5px;
  white-space:nowrap;
  box-shadow:0 12px 32px -16px rgba(0,0,0,.85);
  transition:transform .25s var(--ease),border-color .25s,background .25s;
}
.contact-dock__btn:hover{
  transform:translateY(-2px);
  border-color:color-mix(in srgb,var(--violet) 50%,transparent);
}
.contact-dock__btn--primary{
  background:linear-gradient(120deg,var(--violet),var(--coral));
  border-color:transparent;
  color:#fff;
}
@media(max-width:720px){
  .contact-dock{
    left:max(12px,env(safe-area-inset-left,0px));
    right:max(12px,env(safe-area-inset-right,0px));
    bottom:max(12px,env(safe-area-inset-bottom,0px));
    flex-direction:row;
    justify-content:stretch;
  }
  .contact-dock__btn{flex:1;min-height:48px;padding:12px 18px;font-size:13px}
  body{padding-bottom:calc(72px + env(safe-area-inset-bottom,0px))}
}
@media(max-width:380px){
  .contact-dock__btn span[aria-hidden="true"]{display:none}
}
.meet-box{
  margin:22px auto 8px;
  max-width:420px;
  padding:18px 16px;
  border-radius:18px;
  border:1px solid color-mix(in srgb,var(--violet) 40%,transparent);
  background:linear-gradient(160deg,color-mix(in srgb,var(--violet) 18%,transparent),color-mix(in srgb,var(--cream) 4%,transparent));
}
.meet-box__label{
  font-family:var(--mono);
  font-size:11px;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:var(--amber);
  margin:0 0 12px;
}
.meet-box .btn{width:100%;justify-content:center}
.meet-box__hint{
  margin:12px 0 0;
  font-size:13.5px;
  color:var(--text-soft);
  line-height:1.5;
}
.thanks h1 {
  font-family: var(--display);
  font-size: clamp(32px, 5vw, 56px);
  letter-spacing: -0.035em;
  margin: 12px 0;
}
.thanks p {
  color: var(--muted);
  max-width: 48ch;
  margin: 0 auto 24px;
}
.thanks__mark {
  width: 64px;
  height: 64px;
  border-radius: 50%;
  margin: 0 auto;
  display: grid;
  place-items: center;
  font-size: 28px;
  background: linear-gradient(140deg, var(--violet), var(--coral));
}

.chip-row{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px}
.chip{
  font-family:var(--mono);font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;
  padding:8px 12px;border-radius:100px;border:1px solid var(--line);color:var(--muted);background:var(--glass)
}
.include{margin:12px 0 0;padding:0;list-style:none;display:grid;gap:7px}
.include li{
  position:relative;padding-left:16px;color:var(--text-soft);font-size:14px;line-height:1.55
}
.include li::before{
  content:"";position:absolute;left:0;top:.55em;width:6px;height:6px;border-radius:50%;
  background:var(--amber)
}
.facts{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:22px}
.fact{
  border:1px solid var(--line);border-radius:16px;padding:16px 18px;
  background:color-mix(in srgb,var(--cream) 4%,transparent)
}
.fact strong{display:block;font-family:var(--display);font-size:18px;letter-spacing:-.02em;margin-bottom:4px}
.fact span{color:var(--text-soft);font-size:14px;line-height:1.55}
.quote-meta{display:block;margin-top:6px;font-size:12px;color:#8a7eaa;font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase}
.proof__list .quote .quote-meta{color:#8a7eaa}
@media(max-width:720px){
  .facts{grid-template-columns:1fr}
}

.reveal {
  opacity: 0;
  transform: translateY(28px);
  transition: opacity 0.8s var(--ease), transform 0.8s var(--ease);
}
.reveal.visible,
.reveal.in {
  opacity: 1;
  transform: none;
}

@media (max-width: 1000px) {
  .booking__shell { grid-template-columns: 1fr; }
  .booking__progress {
    position: static;
    grid-template-columns: repeat(4, 1fr);
  }
  .prog-step {
    grid-template-columns: 1fr;
    text-align: center;
  }
  .prog-step__dot { margin-inline: auto; }
  .prog-step span { display: none; }
  .prog-step__dot,
  .prog-step > span:last-child,
  .prog-step strong { display: revert; }
  .prog-step > span:last-child { display: block; }
  .prog-step > span:last-child > span { display: none; }
  .split-note,
  .team__grid,
  .services__grid,
  .workflow__steps,
  .about-story,
  .how-visual,
  .book-layout { grid-template-columns: 1fr; }
  .book-aside{position:static}
  .book-aside__media img{height:180px}
}
@media (max-width: 720px) {
  .page-hero {
    padding-top: clamp(108px, 26vw, 148px);
    padding-bottom: 32px;
  }
  .page-hero h1 {
    font-size: clamp(30px, 9vw, 44px);
    max-width: none;
  }
  .choice-grid,
  .form-grid,
  .slot-grid { grid-template-columns: 1fr 1fr; }
  .date-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    overflow-x: visible;
  }
  .slot-grid {
    grid-template-columns: repeat(3, 1fr);
    max-height: min(320px, 48vh);
  }
  .date-chip { min-height: 72px; padding: 8px 4px; }
  .date-chip__day { font-size: 18px; }
  .form-hint { display: none; }
  .booking__progress {
    gap: 6px;
    padding: 12px;
    overflow-x: auto;
  }
  .booking__panel { padding: 18px; border-radius: 18px; }
  .panel-step h2 { font-size: clamp(22px, 6.5vw, 28px); }
  .panel-nav {
    flex-direction: column-reverse;
    align-items: stretch;
    gap: 10px;
  }
  .panel-nav .btn { width: 100%; justify-content: center; min-height: 50px; }
  .choice, .slot {
    min-height: 52px;
  }
  .summary > div { grid-template-columns: 1fr; gap: 2px; }
  .cta-band__inner { padding: 36px 18px; border-radius: 22px; }
  .cta-band__inner .btn { width: 100%; max-width: 360px; min-height: 50px; }
  .thanks { padding-top: clamp(108px, 26vw, 148px); }
  .thanks .btn { width: 100%; max-width: 320px; min-height: 50px; }
  .person,
  .team__grid .person { flex-direction: column; }
  .about-visual img { min-height: 240px; }
  .services__grid .card,
  .workflow__steps > * { width: 100%; }
}
@media (max-width: 480px) {
  .choice-grid,
  .form-grid { grid-template-columns: 1fr; }
  .slot-grid { grid-template-columns: repeat(3, 1fr); }
  .date-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 6px; }
  .prog-step strong { font-size: 0.68rem; }
}

/* ============================================================
   BLOG — listing, filters, article layout
   ============================================================ */

/* ---------- blog listing grid ---------- */
.blog-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: clamp(16px, 2.4vw, 24px);
  margin-top: clamp(28px, 4vw, 48px);
}

.blog-card {
  position: relative;
  display: flex;
  flex-direction: column;
  border-radius: var(--r);
  overflow: hidden;
  border: 1px solid var(--line);
  background: linear-gradient(
    160deg,
    color-mix(in srgb, var(--cream) 7%, transparent),
    color-mix(in srgb, var(--cream) 2%, transparent)
  );
  transition: transform 0.5s var(--ease), border-color 0.4s, box-shadow 0.4s;
  isolation: isolate;
}

.blog-card:hover {
  transform: translateY(-5px);
  border-color: color-mix(in srgb, var(--violet) 45%, transparent);
  box-shadow: 0 18px 48px -24px color-mix(in srgb, var(--violet) 55%, transparent);
}

.blog-card__img {
  aspect-ratio: 16 / 10;
  width: 100%;
  object-fit: cover;
  border-bottom: 1px solid var(--line);
  transition: transform 0.6s var(--ease);
}

.blog-card:hover .blog-card__img {
  transform: scale(1.04);
}

.blog-card__meta,
.blog-card__title,
.blog-card__excerpt {
  padding-inline: clamp(18px, 2.2vw, 26px);
}

.blog-card__meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px 14px;
  padding-top: clamp(16px, 2vw, 22px);
  font-family: var(--mono);
  font-size: 10.5px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--muted);
}

.blog-card__meta time {
  color: var(--amber);
}

.blog-card__meta span:not(:last-child)::after {
  content: "·";
  margin-left: 14px;
  color: var(--line);
}

.blog-card__title {
  font-family: var(--display);
  font-weight: 600;
  letter-spacing: -0.025em;
  font-size: clamp(18px, 1.8vw, 24px);
  line-height: 1.15;
  margin: 10px 0 8px;
  padding-bottom: 0;
  transition: color 0.3s;
}

.blog-card:hover .blog-card__title {
  color: color-mix(in srgb, var(--cream) 92%, var(--violet));
}

.blog-card__excerpt {
  color: var(--muted);
  font-size: 15px;
  line-height: 1.55;
  padding-bottom: clamp(20px, 2.4vw, 28px);
  flex-grow: 1;
}

/* ---------- blog filter chips ---------- */
.blog-filters {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: clamp(20px, 3vw, 32px);
}

.blog-filters .chip,
.blog-filters button.chip {
  font-family: var(--mono);
  font-size: 10.5px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  padding: 8px 12px;
  border-radius: 100px;
  border: 1px solid var(--line);
  color: var(--muted);
  background: var(--glass);
  cursor: pointer;
  transition: color 0.3s, border-color 0.3s, background 0.3s, box-shadow 0.3s;
}

.blog-filters .chip:hover,
.blog-filters button.chip:hover {
  color: var(--cream);
  border-color: color-mix(in srgb, var(--violet) 45%, transparent);
}

.blog-filters .chip.active,
.blog-filters .chip[aria-pressed="true"],
.blog-filters button.chip.active,
.blog-filters button.chip[aria-pressed="true"] {
  color: var(--cream);
  border-color: var(--violet);
  background: color-mix(in srgb, var(--violet) 18%, transparent);
  box-shadow: 0 0 28px -10px var(--violet);
}

/* ---------- article layout (wide shell + sticky related rail) ---------- */
.article {
  max-width: min(var(--maxw), 100%);
  margin-inline: auto;
  padding-block: clamp(48px, 7vw, 88px);
}

.article__shell {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(240px, 300px);
  gap: clamp(28px, 3.5vw, 56px);
  align-items: start;
}

.article__main {
  min-width: 0;
}

.article__main > h1 {
  font-family: var(--display);
  font-weight: 700;
  font-size: clamp(32px, 4.2vw, 52px);
  letter-spacing: -0.035em;
  line-height: 1.08;
  max-width: 18ch;
  margin: 0 0 clamp(22px, 3vw, 36px);
  color: var(--text);
}

.article__hero {
  margin-bottom: clamp(28px, 4vw, 44px);
}

.article__hero img,
.article__hero figure img {
  width: 100%;
  border-radius: var(--r);
  border: 1px solid var(--line);
  aspect-ratio: 21 / 9;
  object-fit: cover;
}

.article__hero figcaption {
  margin-top: 12px;
  font-size: 13px;
  color: var(--muted);
  font-family: var(--mono);
  letter-spacing: 0.06em;
}

.article__meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px 18px;
  margin-bottom: clamp(18px, 2.5vw, 28px);
  padding-bottom: clamp(16px, 2vw, 24px);
  border-bottom: 1px solid var(--line);
  font-family: var(--mono);
  font-size: 11px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--muted);
}

.article__meta time {
  color: var(--amber);
}

.article__meta .chip {
  font-size: 10px;
}

.article__body {
  max-width: none;
  font-size: clamp(17px, 1.15vw, 19px);
  line-height: 1.8;
  color: var(--text-soft);
  letter-spacing: 0.01em;
}

/* Sticky related navigation */
.article__rail {
  position: sticky;
  top: 96px;
  align-self: start;
}

.article-nav {
  border: 1px solid var(--line);
  border-radius: calc(var(--r) * 0.85);
  padding: 18px 16px 16px;
  background:
    linear-gradient(165deg, color-mix(in srgb, var(--violet) 14%, transparent), transparent 55%),
    color-mix(in srgb, var(--ink-2) 88%, transparent);
  box-shadow: inset 0 1px 0 color-mix(in srgb, var(--cream) 6%, transparent);
}

.article-nav__kicker {
  font-family: var(--mono);
  font-size: 10px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--amber);
  margin: 0 0 6px;
}

.article-nav__title {
  font-family: var(--display);
  font-size: 18px;
  letter-spacing: -0.02em;
  color: var(--text);
  margin: 0 0 14px;
  padding-bottom: 12px;
  border-bottom: 1px solid var(--line);
}

.article-nav__list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: grid;
  gap: 4px;
}

.article-nav__list a {
  display: grid;
  gap: 4px;
  padding: 10px 10px;
  border-radius: 12px;
  border: 1px solid transparent;
  transition: background 0.25s, border-color 0.25s, transform 0.25s var(--ease);
}

.article-nav__list a:hover {
  background: color-mix(in srgb, var(--cream) 6%, transparent);
  border-color: var(--line);
  transform: translateX(2px);
}

.article-nav__cat {
  font-family: var(--mono);
  font-size: 9.5px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--muted-2);
}

.article-nav__name {
  font-size: 13.5px;
  line-height: 1.35;
  color: var(--text-soft);
  font-weight: 500;
}

.article-nav__list a:hover .article-nav__name {
  color: var(--text);
}

.article-nav__all {
  display: inline-flex;
  margin-top: 14px;
  padding-top: 12px;
  border-top: 1px solid var(--line);
  width: 100%;
  font-family: var(--mono);
  font-size: 11px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--amber);
  transition: color 0.25s;
}

.article-nav__all:hover {
  color: var(--coral);
}

.article__body > * + * {
  margin-top: 1.35em;
}

.article__body h2,
.article__body h3,
.article__body h4 {
  font-family: var(--display);
  font-weight: 600;
  letter-spacing: -0.03em;
  line-height: 1.22;
  color: var(--text);
  margin-top: 2em;
  margin-bottom: 0.65em;
}

.article__body h2 {
  font-size: clamp(26px, 3.2vw, 36px);
}

.article__body h3 {
  font-size: clamp(21px, 2.4vw, 28px);
}

.article__body h4 {
  font-size: clamp(18px, 2vw, 22px);
}

.article__body p {
  max-width: 68ch;
}

.article__body a {
  color: #C4B5FF;
  text-decoration: underline;
  text-decoration-color: color-mix(in srgb, var(--violet) 55%, transparent);
  text-underline-offset: 3px;
  transition: color 0.3s, text-decoration-color 0.3s;
}

.article__body a:hover {
  color: var(--coral);
  text-decoration-color: var(--coral);
}

.article__body ul,
.article__body ol {
  padding-left: 1.4em;
  max-width: 68ch;
}

.article__body li + li {
  margin-top: 0.45em;
}

.article__body li::marker {
  color: var(--amber);
}

.article__body blockquote {
  margin: 1.75em 0;
  padding: clamp(18px, 2.5vw, 28px) clamp(20px, 3vw, 32px);
  border-left: 3px solid var(--violet);
  border-radius: 0 var(--r) var(--r) 0;
  background: color-mix(in srgb, var(--cream) 4%, transparent);
  color: var(--text);
  font-size: 1.05em;
  line-height: 1.7;
  font-style: italic;
}

.article__body blockquote cite {
  display: block;
  margin-top: 12px;
  font-style: normal;
  font-family: var(--mono);
  font-size: 11px;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--amber);
}

.article__body code {
  font-family: var(--mono);
  font-size: 0.88em;
  padding: 2px 7px;
  border-radius: 6px;
  background: color-mix(in srgb, var(--cream) 8%, transparent);
  border: 1px solid var(--line);
  color: var(--coral);
}

.article__body pre {
  margin: 1.75em 0;
  padding: clamp(16px, 2.5vw, 24px);
  border-radius: calc(var(--r) * 0.75);
  background: var(--ink-2);
  border: 1px solid var(--line);
  overflow-x: auto;
  font-family: var(--mono);
  font-size: 0.85em;
  line-height: 1.6;
}

.article__body pre code {
  padding: 0;
  border: 0;
  background: none;
  color: var(--cream);
}

.article__body figure {
  margin: 2em 0;
}

.article__body figure img {
  width: 100%;
  border-radius: calc(var(--r) * 0.75);
  border: 1px solid var(--line);
}

.article__body figcaption {
  margin-top: 10px;
  font-size: 13px;
  color: var(--muted);
  text-align: center;
  font-family: var(--mono);
  letter-spacing: 0.04em;
}

.article__body hr {
  border: 0;
  height: 1px;
  margin: 2.5em 0;
  background: linear-gradient(90deg, transparent, var(--line), transparent);
}

.article__body strong {
  color: var(--text);
  font-weight: 600;
}

.article__body em {
  color: color-mix(in srgb, var(--cream) 75%, var(--coral));
}

/* ---------- table of contents ---------- */
.toc {
  margin-bottom: clamp(28px, 4vw, 44px);
  padding: clamp(18px, 2.5vw, 26px);
  border-radius: calc(var(--r) * 0.75);
  border: 1px solid var(--line);
  background: color-mix(in srgb, var(--cream) 4%, transparent);
}

.toc__title {
  font-family: var(--mono);
  font-size: 10.5px;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--amber);
  margin-bottom: 14px;
}

.toc ol {
  list-style: none;
  padding: 0;
  display: grid;
  gap: 8px;
}

.toc li {
  font-size: 14px;
  line-height: 1.45;
}

.toc a {
  color: var(--muted);
  transition: color 0.3s, padding-left 0.3s;
  display: inline-block;
}

.toc a:hover {
  color: var(--cream);
  padding-left: 4px;
}

.toc ol ol {
  margin-top: 8px;
  padding-left: 16px;
  border-left: 1px solid var(--line);
}

/* ---------- article CTA & related ---------- */
.article__cta {
  margin-top: clamp(48px, 7vw, 72px);
  padding: clamp(28px, 4vw, 44px);
  border-radius: var(--r);
  border: 1px solid color-mix(in srgb, var(--violet) 35%, transparent);
  background: linear-gradient(
    140deg,
    color-mix(in srgb, var(--violet) 22%, transparent),
    color-mix(in srgb, var(--coral) 12%, transparent)
  );
  text-align: center;
}

.article__cta h3 {
  font-family: var(--display);
  font-size: clamp(22px, 3vw, 30px);
  letter-spacing: -0.03em;
  margin-bottom: 10px;
}

.article__cta p {
  color: color-mix(in srgb, var(--cream) 78%, transparent);
  max-width: 42ch;
  margin-inline: auto;
  margin-bottom: 22px;
}

.article__related {
  margin-top: clamp(56px, 8vw, 96px);
  padding-top: clamp(32px, 5vw, 48px);
  border-top: 1px solid var(--line);
}

.article__related h2 {
  font-family: var(--display);
  font-size: clamp(24px, 3.5vw, 36px);
  letter-spacing: -0.03em;
  margin-bottom: clamp(20px, 3vw, 32px);
}

.article__related .blog-grid {
  margin-top: 0;
}

/* ---------- blog responsive ---------- */
@media (max-width: 1000px) {
  .blog-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 720px) {
  .blog-grid {
    grid-template-columns: 1fr;
    gap: 16px;
    margin-top: 24px;
  }

  .blog-card__img {
    aspect-ratio: 16 / 9;
  }

  .blog-card:hover {
    transform: none;
  }

  .blog-card:hover .blog-card__img {
    transform: none;
  }

  .blog-filters {
    gap: 6px;
    margin-top: 18px;
    flex-wrap: nowrap;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
    padding-bottom: 4px;
    margin-inline: -4px;
    padding-inline: 4px;
  }

  .blog-filters::-webkit-scrollbar { display: none; }

  .blog-filters .chip,
  .blog-filters button.chip {
    font-size: 10px;
    padding: 8px 12px;
    flex: none;
    min-height: 40px;
  }

  .article {
    padding-block: 32px;
  }

  .article__shell {
    gap: 20px;
  }

  .article__main > h1 {
    font-size: clamp(28px, 8vw, 36px);
    max-width: none;
  }

  .article__hero {
    margin-bottom: 20px;
  }

  .article__hero img,
  .article__hero figure img {
    aspect-ratio: 16 / 9;
  }

  .article__meta {
    gap: 8px 12px;
    margin-bottom: 18px;
    padding-bottom: 18px;
  }

  .article__body {
    font-size: 16px;
    line-height: 1.7;
  }

  .article__body h2 {
    font-size: clamp(22px, 6vw, 28px);
  }

  .article__body h3 {
    font-size: clamp(19px, 5vw, 24px);
  }

  .article__body blockquote {
    padding: 16px 18px;
    margin-inline: -4px;
  }

  .article__body figure {
    margin: 1.5em -4px;
  }

  .article-nav {
    padding: 14px 12px;
  }

  .article-nav__list {
    grid-auto-flow: column;
    grid-auto-columns: minmax(200px, 78vw);
    grid-template-columns: unset;
    overflow-x: auto;
    gap: 8px;
    padding-bottom: 4px;
    scrollbar-width: none;
    -webkit-overflow-scrolling: touch;
  }

  .article-nav__list::-webkit-scrollbar { display: none; }

  .article-nav__list a {
    border-color: var(--line);
    background: color-mix(in srgb, var(--cream) 4%, transparent);
    height: 100%;
  }

  .toc {
    padding: 16px;
    margin-bottom: 24px;
  }

  .article__cta {
    margin-top: 40px;
    padding: 24px 18px;
  }

  .article__related {
    margin-top: 48px;
    padding-top: 28px;
  }

  .article__related h2 {
    font-size: clamp(22px, 6vw, 28px);
  }
}

@media (max-width: 1000px) {
  .article__shell {
    grid-template-columns: 1fr;
  }

  .article__rail {
    position: static;
    order: 1;
  }

  .article__main {
    order: 2;
  }
}

/* ---------- legal / policy document (tech style) ---------- */
.doc {
  padding-block: clamp(48px, 7vw, 96px);
}

.doc__shell {
  display: grid;
  grid-template-columns: minmax(220px, 280px) minmax(0, 1fr);
  gap: clamp(28px, 4vw, 64px);
  align-items: start;
}

.doc__rail {
  position: sticky;
  top: 96px;
}

.doc-card {
  border: 1px solid var(--line);
  border-radius: calc(var(--r) * 0.85);
  padding: 18px 16px;
  background:
    linear-gradient(160deg, color-mix(in srgb, var(--violet) 12%, transparent), transparent 50%),
    color-mix(in srgb, var(--ink-2) 90%, transparent);
}

.doc-card__kicker {
  font-family: var(--mono);
  font-size: 10px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--amber);
  margin: 0 0 10px;
}

.doc-toc {
  list-style: none;
  padding: 0;
  margin: 0;
  display: grid;
  gap: 2px;
}

.doc-toc a {
  display: block;
  padding: 8px 10px;
  border-radius: 10px;
  font-size: 13.5px;
  line-height: 1.35;
  color: var(--muted);
  border: 1px solid transparent;
  transition: color 0.25s, background 0.25s, border-color 0.25s;
}

.doc-toc a:hover {
  color: var(--text);
  background: color-mix(in srgb, var(--cream) 5%, transparent);
  border-color: var(--line);
}

.doc__header {
  margin-bottom: clamp(28px, 4vw, 44px);
  padding-bottom: clamp(22px, 3vw, 32px);
  border-bottom: 1px solid var(--line);
}

.doc__meta {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 18px;
}

.doc__meta span {
  font-family: var(--mono);
  font-size: 10.5px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--muted);
  padding: 7px 11px;
  border-radius: 999px;
  border: 1px solid var(--line);
  background: color-mix(in srgb, var(--cream) 4%, transparent);
}

.doc__meta span strong {
  color: var(--amber);
  font-weight: 500;
}

.doc__header h1 {
  font-family: var(--display);
  font-size: clamp(34px, 4.5vw, 54px);
  letter-spacing: -0.035em;
  line-height: 1.05;
  margin: 0 0 14px;
  max-width: 16ch;
}

.doc__header .lede {
  margin: 0;
  max-width: 62ch;
}

.doc__body {
  color: var(--text-soft);
  font-size: clamp(16.5px, 1.15vw, 18.5px);
  line-height: 1.8;
}

.doc__body > * + * {
  margin-top: 1.15em;
}

.doc__body section {
  margin-top: clamp(32px, 4vw, 48px);
  padding: clamp(22px, 3vw, 32px);
  border: 1px solid var(--line);
  border-radius: calc(var(--r) * 0.75);
  background: linear-gradient(
    165deg,
    color-mix(in srgb, var(--cream) 5%, transparent),
    color-mix(in srgb, var(--cream) 1.5%, transparent)
  );
  scroll-margin-top: 110px;
}

.doc__body section > * + * {
  margin-top: 0.9em;
}

.doc__body h2 {
  font-family: var(--display);
  font-size: clamp(22px, 2.4vw, 28px);
  letter-spacing: -0.025em;
  color: var(--text);
  margin: 0;
  display: flex;
  gap: 12px;
  align-items: baseline;
}

.doc__body h2 .doc-num {
  font-family: var(--mono);
  font-size: 12px;
  letter-spacing: 0.14em;
  color: var(--amber);
  flex: none;
}

.doc__body h3 {
  font-family: var(--display);
  font-size: clamp(18px, 1.8vw, 22px);
  letter-spacing: -0.02em;
  color: var(--text);
  margin-top: 1.25em;
}

.doc__body ul,
.doc__body ol {
  padding-left: 1.25em;
}

.doc__body li + li {
  margin-top: 0.4em;
}

.doc__body li::marker {
  color: var(--amber);
}

.doc__body a {
  color: #C4B5FF;
  text-decoration: underline;
  text-underline-offset: 3px;
}

.doc__body a:hover {
  color: var(--coral);
}

.doc-callout {
  margin-top: 1.1em;
  padding: 14px 16px;
  border-left: 3px solid var(--violet);
  border-radius: 0 12px 12px 0;
  background: color-mix(in srgb, var(--violet) 12%, transparent);
  font-family: var(--mono);
  font-size: 13px;
  line-height: 1.55;
  color: var(--text-soft);
}

.doc-callout strong {
  color: var(--amber);
  font-weight: 500;
}

.doc-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
  margin-top: 1em;
}

.doc-grid > div {
  border: 1px solid var(--line);
  border-radius: 14px;
  padding: 14px 16px;
  background: color-mix(in srgb, var(--ink) 40%, transparent);
}

.doc-grid dt {
  font-family: var(--mono);
  font-size: 10px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--muted-2);
  margin-bottom: 6px;
}

.doc-grid dd {
  margin: 0;
  color: var(--text);
  font-size: 14.5px;
  line-height: 1.45;
}

.legal {
  align-items: center;
}

.legal__links {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 16px;
}

.legal__links a {
  color: var(--muted);
  text-decoration: underline;
  text-underline-offset: 3px;
  transition: color 0.25s;
}

.legal__links a:hover {
  color: var(--amber);
}

@media (max-width: 1000px) {
  .doc__shell {
    grid-template-columns: 1fr;
  }

  .doc__rail {
    position: static;
  }

  .doc-toc {
    grid-auto-flow: column;
    grid-auto-columns: max-content;
    overflow-x: auto;
    gap: 6px;
    scrollbar-width: none;
  }

  .doc-toc::-webkit-scrollbar { display: none; }

  .doc-toc a {
    border-color: var(--line);
    white-space: nowrap;
  }
}

@media (max-width: 720px) {
  .doc-grid {
    grid-template-columns: 1fr;
  }

  .doc__header h1 {
    max-width: none;
  }

  .doc__body section {
    padding: 18px 16px;
  }
}


/* ========== READABILITY PASS ========== */
.strike{color:var(--text-soft);opacity:.92}
.tag{color:var(--text-soft)}
.track span{color:var(--muted)}
.core small{color:var(--muted)}
.svc .card.wide p{color:var(--text-soft)}
.workflow__steps p{color:var(--text-soft);line-height:1.65}
.section-lead{color:var(--text-soft);line-height:1.7;font-size:clamp(16px,1.3vw,18px)}
.panel-step>p,.choice span,.prog-step span{color:var(--muted)}
.blog-card__excerpt{color:var(--text-soft);font-size:15.5px;line-height:1.6}
.blog-card__meta{color:var(--muted)}
.blog-card__title{color:var(--text);line-height:1.25}
.article__meta{color:var(--muted);line-height:1.5}
.article__cta p{color:var(--text-soft);line-height:1.65}
.article__main > h1{max-width:18ch;line-height:1.08}
.cta-band__inner p,.final .lede,.thanks p{color:var(--text-soft)}
.quote p{line-height:1.4;color:#1A1233}
.proof__list cite{color:#544A6E}
.proof__list cite strong{color:#160E2E}
.chip{color:var(--text-soft)}
.field label{color:var(--text-soft)}
.summary dt{color:var(--muted)}
.summary dd{color:var(--text)}
/* ---------- readable content blocks ---------- */
.prose{
  max-width:var(--read);
  color:var(--text-soft);
  font-size:clamp(16px,1.25vw,18px);
  line-height:1.8;
}
.prose p + p{margin-top:1em}
.prose strong{color:var(--text);font-weight:600}
.prose a{color:var(--amber);text-decoration:underline;text-underline-offset:3px}
.content-stack{display:grid;gap:clamp(18px,2.5vw,28px);margin-top:28px}
.content-panel{
  border:1px solid var(--line);
  border-radius:var(--r);
  padding:clamp(22px,2.8vw,34px);
  background:linear-gradient(160deg,color-mix(in srgb,var(--cream) 7%,transparent),color-mix(in srgb,var(--cream) 2%,transparent));
}
.content-panel h3{
  font-family:var(--display);
  font-size:clamp(20px,2.2vw,26px);
  letter-spacing:-.02em;
  margin:0 0 10px;
  color:var(--text);
}
.content-panel p{
  color:var(--text-soft);
  font-size:clamp(15.5px,1.2vw,17.5px);
  line-height:1.75;
}
.content-panel p + p{margin-top:12px}
.content-panel .meta-line{
  font-family:var(--mono);
  font-size:11px;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:var(--amber);
  margin-bottom:10px;
}
.who-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:14px;
  margin-top:22px;
}
.who-card{
  border:1px solid var(--line);
  border-radius:var(--r);
  padding:22px 20px;
  background:color-mix(in srgb,var(--cream) 4%,transparent);
}
.who-card h3{
  font-family:var(--display);
  font-size:20px;
  margin:0 0 8px;
}
.who-card p{
  color:var(--text-soft);
  font-size:15.5px;
  line-height:1.7;
}
.faq-list{display:grid;gap:12px;margin-top:22px}
.faq-item{
  border:1px solid var(--line);
  border-radius:18px;
  padding:18px 20px;
  background:color-mix(in srgb,var(--cream) 4%,transparent);
}
.faq-item h3{
  font-family:var(--display);
  font-size:18px;
  margin:0 0 8px;
  color:var(--text);
  line-height:1.3;
}
.faq-item p{
  color:var(--text-soft);
  font-size:15.5px;
  line-height:1.7;
  margin:0;
}
.service__best{
  display:block;
  margin:10px 0 12px;
  font-size:14px;
  line-height:1.55;
  color:var(--muted);
}
.service__best strong{color:var(--amber);font-weight:600}
.include{margin-top:4px}
.step p{max-width:52ch}
.rich-steps .step{padding-bottom:8px}
.rich-steps .step p{font-size:16px;line-height:1.7}
@media(max-width:1000px){
  .who-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:720px){
  .who-grid{grid-template-columns:1fr}
  body{font-size:16.5px;line-height:1.75}
  .article__body{font-size:17.5px;line-height:1.85}
  .lede,.page-hero p,.prose{font-size:16.5px;line-height:1.75;max-width:none}
  h1{line-height:1.08}
  h2{line-height:1.15}
  .nav{z-index:100}
  .sheet{z-index:99}
  input,select,textarea,.field input,.field select,.field textarea{
    font-size:16px !important; /* prevent iOS zoom */
  }
}


/* ========== RESULTS EDITORIAL (rx) ========== */
.rx{padding-bottom:clamp(40px,6vw,72px)}
.rx-hero{
  padding-top:clamp(96px,12vw,140px);
  padding-bottom:clamp(40px,6vw,72px);
}
.rx-hero__brand{
  font-family:var(--display);
  font-size:clamp(28px,4.5vw,48px);
  font-weight:700;
  letter-spacing:-.035em;
  line-height:1.05;
  margin:0 0 14px;
  background:linear-gradient(105deg,var(--cream),color-mix(in srgb,var(--violet) 55%,var(--cream)));
  -webkit-background-clip:text;background-clip:text;color:transparent;
}
.rx-hero h1{
  font-family:var(--display);
  font-size:clamp(34px,5.2vw,58px);
  letter-spacing:-.035em;
  line-height:1.06;
  max-width:14ch;
  margin:0 0 18px;
}
.rx-hero__lede{
  color:var(--text-soft);
  font-size:clamp(17px,1.4vw,19.5px);
  line-height:1.7;
  max-width:52ch;
  margin:0 0 32px;
}
.rx-metrics{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:0;
  margin:0;
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
}
.rx-metrics > div{
  padding:18px 16px;
  border-right:1px solid var(--line);
}
.rx-metrics > div:last-child{border-right:0}
.rx-metrics dt{
  font-family:var(--display);
  font-size:clamp(26px,3vw,36px);
  letter-spacing:-.03em;
  color:var(--text);
  margin:0 0 4px;
}
.rx-metrics dd{
  margin:0;
  font-family:var(--mono);
  font-size:10.5px;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:var(--muted);
}
.rx-section{padding-top:clamp(48px,7vw,88px);padding-bottom:0}
.rx-head{margin-bottom:clamp(24px,4vw,40px);max-width:60ch}
.rx-head h2{
  font-family:var(--display);
  font-size:clamp(28px,3.8vw,42px);
  letter-spacing:-.03em;
  margin:10px 0 12px;
  max-width:18ch;
}
.rx-head .lede{margin:0}
.rx-head a{color:var(--amber);text-decoration:underline;text-underline-offset:3px}

.rx-cases{display:grid;gap:0;border-top:1px solid var(--line)}
.rx-case{
  display:grid;
  grid-template-columns:minmax(100px,140px) minmax(0,1fr);
  gap:clamp(18px,3vw,36px);
  align-items:center;
  padding:clamp(22px,3vw,32px) 0;
  border-bottom:1px solid var(--line);
}
.rx-case__media{
  width:120px;
  height:72px;
  border-radius:0;
  display:flex;
  align-items:center;
  justify-content:flex-start;
  padding:0;
  background:transparent;
  border:0;
}
.rx-case__media img{
  width:auto;
  height:64px;
  max-height:64px;
  max-width:118px;
  object-fit:contain;
  object-position:center;
  filter:none;
  opacity:1;
  border-radius:14px;
  background:#fff;
}
.rx-case__lane{
  font-family:var(--mono);
  font-size:10.5px;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:var(--amber);
  margin:0 0 8px;
}
.rx-case__body h3{
  font-family:var(--display);
  font-size:clamp(22px,2.6vw,30px);
  letter-spacing:-.025em;
  margin:0 0 10px;
  max-width:22ch;
}
.rx-case__body > p{
  color:var(--text-soft);
  font-size:clamp(15.5px,1.2vw,17.5px);
  line-height:1.7;
  margin:0 0 12px;
  max-width:62ch;
}
.rx-case__brands{
  font-family:var(--mono);
  font-size:12px;
  letter-spacing:.04em;
  color:var(--muted);
  margin:0!important;
}

.rx-eras{
  margin-top:clamp(56px,8vw,96px);
  padding:clamp(48px,7vw,88px) 0;
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
  background:linear-gradient(180deg,color-mix(in srgb,var(--violet) 8%,transparent),transparent 55%);
}
.rx-era-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:22px;
}
.rx-era time{
  display:block;
  font-family:var(--mono);
  font-size:11px;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:var(--amber);
  margin-bottom:12px;
}
.rx-era h3{
  font-family:var(--display);
  font-size:clamp(20px,2vw,24px);
  letter-spacing:-.02em;
  margin:0 0 10px;
  max-width:14ch;
}
.rx-era > p{
  color:var(--text-soft);
  font-size:15px;
  line-height:1.65;
  margin:0 0 14px;
}
.rx-era__names{
  font-size:13.5px!important;
  color:var(--muted)!important;
  line-height:1.55!important;
  margin:0!important;
  padding-top:14px;
  border-top:1px solid var(--line);
}

.rx-index{display:none}
.logo-wall{
  list-style:none;
  margin:0;
  padding:12px 0 0;
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:clamp(28px,4vw,48px) clamp(36px,5vw,60px);
}
.logo-wall li{
  margin:0;padding:0;border:0;
  display:flex;align-items:center;min-height:52px;overflow:visible;
}
.logo-wall img{
  height:56px;
  max-height:56px;
  width:auto;
  max-width:108px;
  object-fit:contain;
  filter:none;
  opacity:1;
}

.rx-quotes{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:18px 28px;
}
.rx-quote{
  margin:0;
  padding:0 0 0 18px;
  border-left:2px solid color-mix(in srgb,var(--violet) 65%,transparent);
}
.rx-quote blockquote{
  margin:0 0 12px;
  color:var(--text);
  font-family:var(--display);
  font-size:clamp(18px,2vw,22px);
  font-weight:500;
  letter-spacing:-.02em;
  line-height:1.35;
}
.rx-quote figcaption{
  font-family:var(--mono);
  font-size:11px;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:var(--muted);
}
.rx-quote figcaption strong{color:var(--amber);font-weight:500}

@media(max-width:1000px){
  .rx-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}
  .rx-metrics > div:nth-child(2){border-right:0}
  .rx-metrics > div:nth-child(3),.rx-metrics > div:nth-child(4){border-top:1px solid var(--line)}
  .rx-era-grid{grid-template-columns:1fr 1fr}
  .logo-wall{gap:24px 36px}
}
@media(max-width:720px){
  .rx-hero h1{max-width:none}
  .rx-case{grid-template-columns:96px minmax(0,1fr);gap:14px}
  .rx-case__media{width:108px;height:64px}
  .rx-case__media img{height:52px;max-height:52px;max-width:100px}
  .rx-era-grid{grid-template-columns:1fr;gap:28px}
  .logo-wall{gap:22px 28px}
  .logo-wall img{height:48px;max-height:48px;max-width:92px}
  .rx-quotes{grid-template-columns:1fr}
}


/* ========== STACK GRID (Services) ========== */
.stack-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:14px;
  margin-top:8px;
}
.stack-group{
  border:1px solid var(--line);
  border-radius:calc(var(--r)*.8);
  padding:clamp(18px,2.2vw,24px);
  background:linear-gradient(165deg,color-mix(in srgb,var(--cream) 5%,transparent),color-mix(in srgb,var(--cream) 1.5%,transparent));
}
.stack-group h3{
  font-family:var(--mono);
  font-size:11px;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:var(--amber);
  margin:0 0 14px;
  font-weight:500;
}
.stack-group ul{
  list-style:none;
  margin:0;
  padding:0;
  display:flex;
  flex-wrap:wrap;
  gap:8px;
}
.stack-group li{
  font-size:13.5px;
  line-height:1.3;
  color:var(--text-soft);
  padding:8px 12px;
  border-radius:999px;
  border:1px solid var(--line);
  background:color-mix(in srgb,var(--ink) 35%,transparent);
}
@media(max-width:1000px){
  .stack-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:720px){
  .stack-grid{grid-template-columns:1fr}
}

/* Homepage short strip */
.stack-home{
  margin-top:clamp(36px,5vw,52px);
  padding-top:clamp(28px,4vw,40px);
  border-top:1px solid var(--line);
}
.stack-home__head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  flex-wrap:wrap;
  margin-bottom:16px;
}
.stack-home__head .eyebrow{margin:0}
.stack-home .text-link{
  font-family:var(--mono);
  font-size:12px;
  letter-spacing:.06em;
  color:var(--text-soft);
  text-decoration:none;
  border-bottom:1px solid color-mix(in srgb,var(--amber) 45%,transparent);
  padding-bottom:2px;
  transition:color .2s ease,border-color .2s ease;
}
.stack-home .text-link:hover{
  color:var(--cream);
  border-color:var(--amber);
}
.stack-strip{
  list-style:none;
  margin:0;
  padding:0;
  display:flex;
  flex-wrap:wrap;
  gap:8px;
}
.stack-strip li{
  font-size:13px;
  line-height:1.3;
  color:var(--text-soft);
  padding:8px 12px;
  border-radius:999px;
  border:1px solid var(--line);
  background:color-mix(in srgb,var(--ink) 35%,transparent);
}
