:root{
    --bg:#FFFFFF; --panel:#F7F6F3; --ink:#16171A; --ink-dim:#6C6F75; --ink-faint:#6F7175;
    --line:rgba(22,23,26,.11); --line-strong:rgba(22,23,26,.4);
    --gold:#9C7A32; --gold-line:rgba(156,122,50,.35);
    --ink-red:#D6291D; --ink-yellow:#F0C419; --ink-blue:#1E5FD9; --ink-black:#151517;
    --cmyk-magenta:#EC008C; --cmyk-yellow:#FFE800; --cmyk-cyan:#00AEEF; --cmyk-key:#151517;
    --dark:#0C0D0E; --dark-panel:#17181A; --on-dark:#F3F2EE; --on-dark-dim:#A6A29A;
    --ph-bg:#EFEEEC; --ph-line:#C7C5C0; --ph-ink:#676970;
    --mint:#F9FDFB; --sky:#F8FCFF; --blush:#FEF9FA;
    --mint-line:#EAF6EF; --sky-line:#EAF4FC; --blush-line:#FCEDF2;
    --lilac:#FBFAFE; --butter:#FEFCF6; --peach:#FEFAF7; --aqua:#F7FDFC;
    --lilac-line:#EEEAFB; --butter-line:#FBF2D3; --peach-line:#FCE6D9; --aqua-line:#DDF5EF;
    --wa-green:#25D366;
  }
  /* Dark-mode variant intentionally removed: client wants the light/pastel
     palette shown on every device regardless of system dark-mode setting,
     and there's no manual theme toggle anywhere on the site. */

  *{box-sizing:border-box}
  [hidden]{display:none !important}
  html,body{margin:0}
  body{ background:var(--bg); color:var(--ink); font-family:'Inter',system-ui,sans-serif; -webkit-font-smoothing:antialiased; }
  a{ color:inherit; text-decoration:none; }
  .wrap{ max-width:1240px; margin:0 auto; padding:0 40px; }
  .mono{ font-family:'IBM Plex Mono',monospace; }
  .serif{ font-family:'Fraunces',serif; font-optical-sizing:auto; }
  h1,h2,h3{ font-family:'Sora',sans-serif; margin:0; }

  /* placeholder media block */
  .ph{
    background:var(--ph-bg); border:1.5px dashed var(--ph-line); border-radius:2px;
    display:flex; align-items:center; justify-content:center; flex-direction:column; gap:10px;
    color:var(--ph-ink); text-align:center; padding:24px; position:relative;
  }
  .ph svg{ width:30px; height:30px; opacity:.7; }
  .ph b{ font-family:'IBM Plex Mono',monospace; font-size:11px; letter-spacing:.05em; font-weight:500; }
  .ph span{ font-size:11px; max-width:26ch; line-height:1.5; }
  .ph.fill{ padding:0; border-style:solid; position:relative; overflow:hidden; transition:box-shadow .3s ease; }
.ph.fill::after{
  content:''; position:absolute; inset:0; pointer-events:none; z-index:3;
  background:radial-gradient(220px circle at var(--mx,50%) var(--my,50%), rgba(255,255,255,.35), transparent 62%);
  opacity:0; transition:opacity .3s ease;
}
.ph.fill:hover::after{ opacity:1; }
.ph.fill img{ width:100%; height:100%; object-fit:cover; display:block; filter:blur(16px); opacity:0; transition:filter .7s ease, opacity .7s ease, transform .6s cubic-bezier(.2,.7,.2,1); }
.ph.fill img.loaded{ filter:blur(0); opacity:1; }
.ph.fill video{ width:100%; height:100%; object-fit:cover; display:block; }
@media (prefers-reduced-motion:reduce){
  .ph.fill img{ filter:none; opacity:1; transition:none; }
  .ph.fill::after{ display:none; }
}
@media (hover:none){ .ph.fill.tap-glow, .card.tap-glow, .seg.tap-glow, .tl-item.tap-glow{ animation:triGlow 3.2s ease-in-out infinite; } }
  .ph.fill:hover, .card:hover, .seg:hover, .tl-item:hover, .compare > div:hover{
    animation:triGlow 3.2s ease-in-out infinite; position:relative; z-index:1;
  }
  @keyframes triGlow{
    0%{ box-shadow:inset 0 0 0 3px var(--mint-line), 0 10px 26px -10px var(--mint-line); }
    33%{ box-shadow:inset 0 0 0 3px var(--sky-line), 0 10px 26px -10px var(--sky-line); }
    66%{ box-shadow:inset 0 0 0 3px var(--blush-line), 0 10px 26px -10px var(--blush-line); }
    100%{ box-shadow:inset 0 0 0 3px var(--mint-line), 0 10px 26px -10px var(--mint-line); }
  }
  @keyframes borderCycle{
    0%{ border-color:var(--mint-line); }
    33%{ border-color:var(--sky-line); }
    66%{ border-color:var(--blush-line); }
    100%{ border-color:var(--mint-line); }
  }
  @media (prefers-reduced-motion:reduce){
    .ph.fill:hover, .card:hover, .seg:hover, .tl-item:hover, .compare > div:hover{
      animation:none !important; box-shadow:inset 0 0 0 3px var(--sky-line);
    }
    .btn-line:hover{ animation:none !important; border-color:var(--sky-line) !important; }
  }
  .ph.fill img, .hero-bg img, .hero-bg video{
    transition:transform .6s cubic-bezier(.2,.7,.2,1);
  }
  .ph.fill:hover img, .hero:hover .hero-bg img, .hero:hover .hero-bg video{ transform:scale(1.045); }
  @media (prefers-reduced-motion:reduce){
    .ph.fill img, .hero-bg img, .hero-bg video{ transition:none; }
    .ph.fill:hover img, .hero:hover .hero-bg img, .hero:hover .hero-bg video{ transform:none; }
  }

  /* ---------- nav ---------- */
  nav.top{
    position:sticky; top:0; z-index:20; background:color-mix(in srgb, var(--bg) 88%, transparent);
    backdrop-filter:blur(14px); border-bottom:1px solid var(--line);
    transition:background .25s ease;
  }
  nav.top .row{
    max-width:1330px; margin:0 auto; padding:0 40px; height:74px; display:flex; align-items:center;
    justify-content:space-between; gap:4px; transition:height .25s ease;
  }
  nav.top.docked{ background:color-mix(in srgb, var(--bg) 97%, transparent); }
  nav.top.docked .row{ height:58px; }
  .scroll-progress{
    position:absolute; left:0; bottom:-1px; height:2px; width:0%;
    background:linear-gradient(90deg, var(--mint-line), var(--sky-line), var(--blush-line), var(--peach-line));
    transition:width .1s linear;
  }
  .wm{ font-family:'Sora',sans-serif; font-weight:700; font-size:17px; letter-spacing:-.01em; }
  .wm, .wm a{ display:inline-flex; align-items:center; color:inherit }
  .wm-logo{ height:32px; width:auto; display:block; flex:none; margin-right:9px; transition:height .25s ease }
  nav.top.docked .wm-logo{ height:26px }
  .wm-logo-footer{ height:40px; margin-right:8px }
  .wm-ink .ilt{ display:inline-block; animation:wmInk 76.8s linear infinite; }
  @keyframes wmInk{
    0%, 100%{ color:var(--ink); text-shadow:none; }
    12%{ color:var(--cmyk-magenta); }
    25%{ color:var(--ink); }
    37%{ color:var(--cmyk-yellow); }
    50%{ color:var(--ink); }
    62%{ color:var(--cmyk-cyan); }
    75%{ color:var(--ink); text-shadow:none; }
    87%{ color:var(--ink); text-shadow:0 3px 6px rgba(0,0,0,.5); }
    95%{ color:var(--ink); text-shadow:none; }
  }
  @media (prefers-reduced-motion:reduce){ .wm-ink .ilt{ animation:none; } }
  .navlinks{ display:flex; gap:2px; align-items:center; }
  .navlinks a{
    display:flex; align-items:center; gap:7px; padding:10px 16px; font-size:13.5px; font-weight:500;
    color:var(--ink-dim); border-radius:6px;
  }
  .navlinks a svg{ width:14px; height:14px; opacity:.65; }
  .navlinks a{ position:relative; }
  .navlinks a::after{
    content:''; position:absolute; left:16px; right:16px; bottom:6px; height:1px;
    background:var(--gold); transform:scaleX(0); transform-origin:left; transition:transform .25s ease;
  }
  .navlinks a:hover{ color:var(--ink); }
  .navlinks a:hover::after{ transform:scaleX(1); }
  .nav-cta{
    font-family:'IBM Plex Mono',monospace; font-size:12px; letter-spacing:.03em;
    background:var(--ink); color:var(--bg); padding:11px 20px; border-radius:3px;
  }
  .navlinks a.nav-cta-mobile{ display:none; }
  @media (max-width:920px){ .navlinks{ display:none; } }

  /* ---------- hero ---------- */
  .hero{
    position:relative; min-height:100vh; min-height:100dvh; display:flex; align-items:center;
    padding:140px 0 clamp(64px,8vw,96px); overflow:hidden; margin-top:-74px;
  }
  .hero .wrap{ padding-left:clamp(40px,9vw,120px); }
  .hero-bg{ position:absolute; inset:0; z-index:0; }
  .hero-bg img, .hero-bg video{ width:100%; height:100%; object-fit:cover; display:block; }
  .hero-bg::after{
    content:''; position:absolute; inset:0; z-index:2;
    background:linear-gradient(180deg, rgba(10,11,12,.55) 0%, rgba(10,11,12,.2) 32%, rgba(10,11,12,.78) 100%);
  }
  .hero-aurora{
    position:absolute; inset:-10%; z-index:1; display:block; overflow:hidden;
    mix-blend-mode:soft-light; opacity:.85;
  }
  .hero-aurora i{
    position:absolute; width:52%; height:60%; border-radius:50%; filter:blur(90px);
    animation:auroraDrift 26s ease-in-out infinite alternate;
  }
  .hero-aurora .a-red{ background:var(--cmyk-magenta); top:-8%; left:-6%; animation-delay:0s; }
  .hero-aurora .a-yellow{ background:var(--cmyk-yellow); top:-4%; right:-8%; animation-delay:-6s; }
  .hero-aurora .a-blue{ background:var(--cmyk-cyan); bottom:-12%; left:8%; animation-delay:-13s; }
  .hero-aurora .a-black{ background:var(--cmyk-key); bottom:-10%; right:2%; animation-delay:-19s; }
  @keyframes auroraDrift{
    0%{ transform:translate(0,0) scale(1); }
    50%{ transform:translate(6%,4%) scale(1.12); }
    100%{ transform:translate(-4%,-3%) scale(0.96); }
  }
  @media (prefers-reduced-motion:reduce){ .hero-aurora i{ animation:none; } }
  .hero-content{ position:relative; z-index:2; color:var(--on-dark); }
  .tag{
    display:flex; align-items:center; gap:12px; font-family:'IBM Plex Mono',monospace; font-size:12px;
    letter-spacing:.08em; text-transform:uppercase; color:var(--gold-text);
  }
  .hero .tag{
    letter-spacing:.14em;
    color:var(--gold); margin:0 0 24px;
  }
  .hero .tag::before{
    content:''; width:26px; height:1px;
    background:linear-gradient(90deg, var(--gold) 0%, var(--gold) 35%, #FFF 50%, var(--gold) 65%, var(--gold) 100%);
    background-size:300% 100%;
    animation:tagDashShimmer 4.8s linear infinite;
  }
  @media (prefers-reduced-motion:reduce){ .hero .tag::before{ animation:none; background:var(--gold); } }
  h1.hero-h{
    font-weight:700; font-size:clamp(2.9rem,7.4vw,6.4rem); line-height:1.02; letter-spacing:-.02em;
    max-width:17ch; margin-bottom:28px; text-wrap:balance; color:var(--on-dark);
    animation:heroMisregister 1.1s cubic-bezier(.16,.9,.2,1) both;
  }
  @keyframes heroMisregister{
    0%{ text-shadow:-3px 0 var(--cmyk-cyan), 3px 0 var(--cmyk-magenta), 0 3px var(--cmyk-yellow); opacity:.85; }
    70%{ text-shadow:-1px 0 var(--cmyk-cyan), 1px 0 var(--cmyk-magenta), 0 1px var(--cmyk-yellow); }
    100%{ text-shadow:none; opacity:1; }
  }
  @media(prefers-reduced-motion:reduce){ h1.hero-h{ animation:none; text-shadow:none; } }
  .hero .dek{ font-size:1.35rem; line-height:1.65; color:var(--on-dark-dim); max-width:54ch; margin-bottom:40px; }
  .hero-actions{ display:flex; flex-wrap:wrap; gap:14px; margin-bottom:0; }
  .hero .btn-line{ border-color:rgba(243,242,238,.35); color:var(--on-dark); }
  .btn{ font-family:'IBM Plex Mono',monospace; font-size:13px; letter-spacing:.03em; padding:15px 26px; border-radius:3px; display:inline-flex; align-items:center; gap:9px; }
  .btn-dark{ background:var(--ink); color:var(--bg); }
  .btn-line{ border:1px solid var(--line-strong); color:var(--ink); }
  .btn-line:hover{ animation:borderCycle 3s ease-in-out infinite; }

  /* comparison strip in hero, before/after, like RTS vs conventional */
  .compare-sec{ padding:clamp(56px,7vw,84px) 0 0; background:var(--lilac); }
  .compare{ display:grid; grid-template-columns:1fr 1fr; gap:1px; background:var(--line); border:1px solid var(--line); }
  .compare > div{ background:var(--bg); padding:28px 26px; }
  .compare .lbl{ font-family:'IBM Plex Mono',monospace; font-size:11px; letter-spacing:.07em; text-transform:uppercase; color:var(--ink-dim); margin-bottom:14px; }
  .compare h3{ font-family:'Sora',sans-serif; font-size:1.05rem; font-weight:600; margin:0 0 10px; }
  .compare p{ font-size:13.5px; color:var(--ink-dim); line-height:1.6; margin:0; }
  .compare .after .lbl{ color:var(--gold-text); }
  @media(max-width:640px){ .compare{ grid-template-columns:1fr; } }

  /* ---------- scroll-linked value section (media pins, swaps as steps pass) ---------- */
  .scrolly{ padding:clamp(70px,8vw,110px) 0; border-top:1.2px solid transparent; border-image:linear-gradient(90deg, transparent, var(--gold-line), transparent) 1; background:var(--sky); }
  .scrolly-grid{ display:grid; grid-template-columns:0.85fr 1.15fr; gap:clamp(32px,5vw,72px); align-items:start; }
  .scrolly-sticky{ position:sticky; top:96px; align-self:start; }
  .scrolly-sticky .ph{ aspect-ratio:4/3; transition:opacity .25s ease; }
  .scrolly-sticky .ph.swap{ animation:phswap .5s ease; }
  @keyframes phswap{ 0%{ opacity:0; transform:scale(.985); } 100%{ opacity:1; transform:scale(1); } }
  .scrolly-progress{ display:flex; gap:6px; margin-top:16px; }
  .scrolly-progress span{ flex:1; height:3px; background:var(--line); border-radius:2px; overflow:hidden; }
  .scrolly-progress span i{ display:block; height:100%; width:0; transition:width .3s ease; }
  .scrolly-progress span.active i{ width:100%; }
  .scrolly-progress span:nth-child(1) i{ background:var(--cmyk-magenta); }
  .scrolly-progress span:nth-child(2) i{ background:var(--cmyk-yellow); }
  .scrolly-progress span:nth-child(3) i{ background:var(--cmyk-cyan); }
  .scrolly-progress span:nth-child(4) i{ background:var(--cmyk-key); }

  .scrolly-steps{ display:flex; flex-direction:column; }
  .step{
    min-height:62vh; display:flex; flex-direction:column; justify-content:center;
    opacity:.32; transition:opacity .4s ease, border-left-color .4s ease, background .4s ease;
    border-top:1px solid var(--line);
    border-left:3px solid transparent; padding-left:18px; margin-left:-21px;
  }
  .step:first-child{ border-top:none; }
  .step.active{ opacity:1; }
  .step[data-step="1"].active{ border-left-color:var(--cmyk-magenta); background:color-mix(in srgb, var(--cmyk-magenta) 10%, transparent); }
  .step[data-step="2"].active{ border-left-color:var(--cmyk-yellow); background:color-mix(in srgb, var(--cmyk-yellow) 12%, transparent); }
  .step[data-step="3"].active{ border-left-color:var(--cmyk-cyan); background:color-mix(in srgb, var(--cmyk-cyan) 10%, transparent); }
  .step[data-step="4"].active{ border-left-color:var(--cmyk-key); background:color-mix(in srgb, var(--cmyk-key) 6%, transparent); }
  .step .num{ font-family:'IBM Plex Mono',monospace; font-size:13px; color:var(--ink-dim); margin-bottom:20px; }
  .step h2{ font-size:clamp(1.7rem,2.8vw,2.3rem); font-weight:600; line-height:1.2; margin-bottom:18px; text-wrap:balance; }
  .step p.desc{ color:var(--ink-dim); line-height:1.75; font-size:1rem; max-width:42ch; }

  @media (max-width:860px){
    .scrolly-grid{ grid-template-columns:1fr; }
    .scrolly-sticky{ position:static; margin-bottom:40px; }
    .step{ min-height:0; opacity:1; padding:34px 0; }
  }
  @media (prefers-reduced-motion:reduce){
    .scrolly-sticky .ph.swap{ animation:none; }
    .step{ transition:none; }
  }

  /* ---------- scroll reveal (ported from the live site's reveal()) ---------- */
  .rv{ opacity:0; transform:translateY(26px); transition:opacity .7s cubic-bezier(.2,.7,.2,1), transform .7s cubic-bezier(.2,.7,.2,1); }
  .rv.in{ opacity:1; transform:none; }
  @media (prefers-reduced-motion:reduce){ .rv{ opacity:1; transform:none; transition:none; } }

  /* ---------- marquee (ported from the live site's brand strip) ---------- */
  .stat-strip{ padding:0 0 clamp(56px,7vw,84px); background:var(--lilac); }
  .stat-row{ display:grid; grid-template-columns:repeat(4,1fr); gap:1px; background:var(--lilac-line); border:1px solid var(--lilac-line); }
  .stat{ background:var(--bg); padding:26px 22px; text-align:center; }
  .stat b{ display:block; font-size:clamp(1.5rem,2.6vw,2.1rem); font-weight:500; color:var(--ink); font-variant-numeric:tabular-nums; }
  .stat span{ font-size:12px; color:var(--ink-dim); }
  @media (max-width:640px){ .stat-row{ grid-template-columns:repeat(2,1fr); } }

  .marquee-sec{ display:flex; flex-direction:column; justify-content:space-evenly; min-height:260px;
    padding:34px 0; border-top:1.2px solid transparent; border-image:linear-gradient(90deg, transparent, var(--gold-line), transparent) 1; border-bottom:1px solid var(--line); overflow:hidden; background:var(--butter); }
  .ink-dots{ display:inline-flex; gap:5px; margin-left:10px; vertical-align:middle; }
  .ink-dots i{ width:6px; height:6px; border-radius:50%; display:inline-block; }
  .ink-dots .d-red{ background:var(--cmyk-magenta); } .ink-dots .d-yellow{ background:var(--cmyk-yellow); }
  .ink-dots .d-blue{ background:var(--cmyk-cyan); } .ink-dots .d-black{ background:var(--cmyk-key); }
  .mq-label{
    text-align:center; font-family:'IBM Plex Mono',monospace; font-size:11px; letter-spacing:.08em;
    text-transform:uppercase; color:var(--ink-dim); margin:0 0 18px;
  }
  .mq-link-wrap{ text-align:center }
  .mq{ overflow:hidden; -webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent); mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent); }
  .mq-t{ display:flex; gap:48px; width:max-content; animation:mqScroll 26s linear infinite; }
  .mq-t span{
    font-family:'Sora',sans-serif; font-weight:600; font-size:14px; letter-spacing:.04em; color:var(--ink-dim);
    white-space:nowrap; display:flex; align-items:center; gap:10px;
  }
  .mq-t span::before{ content:''; width:4px; height:4px; border-radius:50%; background:var(--gold); }
  .mq:hover .mq-t{ animation-play-state:paused; }
  @keyframes mqScroll{ from{ transform:translateX(0); } to{ transform:translateX(-50%); } }
  @media (prefers-reduced-motion:reduce){ .mq-t{ animation:none; } }

  /* ---------- timeline ---------- */
  .timeline{ padding:clamp(70px,8vw,110px) 0; border-top:1.2px solid transparent; border-image:linear-gradient(90deg, transparent, var(--gold-line), transparent) 1; background:var(--mint); }
  .sec-head{ max-width:640px; margin-bottom:56px; }
  .sec-head .tag{
    color:var(--ink-dim); margin-bottom:16px;
  }
  .sec-head .tag::before{
    content:''; width:22px; height:1px;
    background:linear-gradient(90deg, var(--gold) 0%, var(--gold) 35%, #FFF 50%, var(--gold) 65%, var(--gold) 100%);
    background-size:300% 100%;
    animation:tagDashShimmer 4.8s linear infinite;
  }
  @media (prefers-reduced-motion:reduce){ .sec-head .tag::before{ animation:none; background:var(--gold); } }
  @keyframes tagDashShimmer{ 0%{ background-position:200% 0; } 100%{ background-position:-100% 0; } }
  .sec-head h2{ font-size:clamp(1.8rem,3vw,2.5rem); font-weight:600; line-height:1.2; text-wrap:balance; }
  .tl-row{ display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:20px; }
  .tl-row.tl-row-4{ grid-template-columns:repeat(4,minmax(0,1fr)); }
  .tl-item .ph, .tl-ph{ aspect-ratio:1; margin-bottom:18px; }
  .tl-item .n{ font-family:'IBM Plex Mono',monospace; font-size:11px; color:var(--ink-dim); margin-bottom:8px; }
  .tl-item h3{ font-size:15px; font-weight:600; margin-bottom:6px; }
  .tl-item p{ font-size:12.5px; color:var(--ink-dim); line-height:1.55; margin:0; }
  @media (max-width:920px){ .tl-row{ grid-template-columns:repeat(2,1fr); } }
  @media (max-width:640px){ .tl-row{ grid-template-columns:1fr; } }

  /* ---------- testimonials ---------- */
  .proof{ padding:clamp(70px,8vw,110px) 0; border-top:1.2px solid transparent; border-image:linear-gradient(90deg, transparent, var(--gold-line), transparent) 1; background:var(--blush); position:relative; }
  .proof::before{ content:''; position:absolute; top:0; left:0; right:0; height:1px; background:linear-gradient(90deg,transparent,var(--gold-line),transparent); }
  @media (max-width:980px){ .proof .cards{ grid-template-columns:repeat(2,1fr); } }
  @media (max-width:560px){ .proof .cards{ grid-template-columns:1fr; } }

  /* ---------- comparison table ---------- */
  .model{ padding:clamp(70px,8vw,110px) 0; border-top:1.2px solid transparent; border-image:linear-gradient(90deg, transparent, var(--gold-line), transparent) 1; background:var(--peach); }
  .model .table{ border:1px solid var(--peach-line); border-radius:4px; overflow:hidden; }
  .model .row{ display:grid; grid-template-columns:minmax(0,1.4fr) minmax(0,1fr) minmax(0,1fr); border-top:1px solid var(--line); }
  .model .row:first-child{ border-top:none; background:var(--panel); font-family:'IBM Plex Mono',monospace; font-size:11.5px; letter-spacing:.05em; text-transform:uppercase; color:var(--ink-dim); }
  .model .row > div{ padding:18px 24px; font-size:14px; border-left:1px solid var(--line); overflow-wrap:break-word; }
  .model .row > div:first-child{ border-left:none; color:var(--ink-dim); }
  .model .row:not(:first-child) > div:nth-child(2){ color:var(--ink-dim); }
  .model .row:not(:first-child) > div:nth-child(3){ font-weight:600; }
  .model .row:first-child > div:nth-child(3){ color:var(--gold-text); }
  @media (max-width:680px){
    .model .row{ grid-template-columns:1fr; }
    .model .row > div{ border-left:none; border-top:1px solid var(--line); }
    .model .row > div:first-child{ border-top:none; }
    .model .row:not(:first-child) > div:first-child{ font-weight:600; color:var(--ink); }
  }

  /* ---------- industries grid ---------- */
  .segs{ padding:clamp(70px,8vw,110px) 0; border-top:1.2px solid transparent; border-image:linear-gradient(90deg, transparent, var(--gold-line), transparent) 1; background:var(--aqua); }
  .segs-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:1px; background:var(--aqua-line); border:1px solid var(--aqua-line); }
  .seg{ background:var(--bg); padding:0; }
  .seg .ph, .seg-ph{ aspect-ratio:4/5; border:none; border-radius:0; }
  .seg .lbl{ padding:22px 24px; }
  .seg h3{ font-size:15px; font-weight:600; margin-bottom:6px; }
  .seg p{ font-size:12.5px; color:var(--ink-dim); margin:0; line-height:1.5; }
  @media (max-width:860px){ .segs-grid{ grid-template-columns:repeat(2,1fr); } }

  /* ---------- dark cta ---------- */
  .cta-band{ background:var(--dark); color:var(--on-dark); padding:clamp(80px,10vw,140px) 0; text-align:center; position:relative; }
  .cta-band::before{ content:''; position:absolute; top:0; left:50%; width:1px; height:44px; background:var(--gold-line); transform:translateX(-50%); }
  .cta-band .tag{ letter-spacing:.14em; color:var(--gold); margin:44px 0 26px; justify-content:center; }
  .cta-band h2{
    font-family:'Fraunces',serif; font-optical-sizing:auto; font-weight:500; font-style:italic;
    font-size:clamp(2.4rem,5.4vw,4rem); max-width:16ch; margin:0 auto 36px; line-height:1.08; text-wrap:balance;
  }
  .cta-band .hero-actions{ justify-content:center; margin-bottom:0; }
  .cta-band .btn-line{ border-color:rgba(255,255,255,.25); color:var(--on-dark); }
  .cta-band .btn-dark{ background:var(--on-dark); color:var(--dark); }

  /* ---------- footer ---------- */
  footer{ background:var(--dark-panel); color:var(--on-dark-dim); padding:64px 0 40px; }
  .ftr-grid{ display:grid; grid-template-columns:1.6fr repeat(3,1fr); gap:40px; margin-bottom:56px; }
  .ftr-grid .wm{ color:var(--on-dark); margin-bottom:14px; }
  .ftr-grid p{ font-size:13px; line-height:1.7; max-width:32ch; }
  .ftr-grid h4{ font-family:'IBM Plex Mono',monospace; font-size:11px; letter-spacing:.06em; text-transform:uppercase; color:var(--on-dark-dim); margin-bottom:16px; font-weight:500; }
  .ftr-grid ul{ list-style:none; margin:0; padding:0; display:flex; flex-direction:column; }
  .ftr-grid ul a{ font-size:13.5px; color:var(--on-dark); display:block; padding:13px 0; }
  .ftr-reach{ border-top:1px solid rgba(255,255,255,.08); }
  .ftr-reach li{ border-bottom:1px solid rgba(255,255,255,.08); }
  .ftr-reach li:last-child{ border-bottom:none; }
  .ftr-reach a{ display:flex; align-items:center; gap:10px; padding:14px 0; }
  .ftr-reach a span:last-child{ white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
  .ftr-reach-ic{ flex:none; display:inline-flex; color:var(--gold); }
  .ftr-reach-ic svg{ width:17px; height:17px; }
  .ftr-base{ border-top:1px solid rgba(255,255,255,.1); padding-top:24px; display:flex; flex-wrap:wrap; gap:6px; justify-content:center; text-align:center; font-size:11.5px; font-family:'IBM Plex Mono',monospace; letter-spacing:.03em; }
  .ftr-base a{ color:var(--on-dark); text-decoration:underline; text-underline-offset:2px; display:inline-block; padding:8px 4px; }
  @media (max-width:860px){ .ftr-grid{ grid-template-columns:1fr 1fr; } }
  @media (max-width:480px){ .ftr-grid{ grid-template-columns:1fr; } }

/* darker gold for real text (links, labels): raw --gold measures 4.24:1 on
   white, under the 4.5:1 AA floor for normal text size, this clears it.
   Site is light-palette-only now (no dark mode), so this is the only value. */
:root{ --gold-text:#7A5A12; }

/* ==========================================================================
   Everything below this line is additive, for the 8 pages the single-page
   reference study never covered (catalogue, ink and media, service, about,
   contact, FAQ, blog, machine detail) plus multi-page chrome (mobile nav,
   skip link, demo ribbon, noscript fallback). Same token set as above,
   nothing renamed, nothing redefined.
   ========================================================================== */

/* orange, reserved strictly for demo-booking actions, never anything else */
.btn-cta{background:linear-gradient(120deg,#8F3208,#C4530E);color:#fff;
  box-shadow:0 12px 26px -12px rgba(196,83,14,.65)}
.btn-cta:hover{transform:translateY(-2px);box-shadow:0 18px 36px -14px rgba(196,83,14,.75)}
.btn-sm{padding:10px 18px;font-size:12px}
.btn{cursor:pointer;border:1px solid transparent;transition:.3s cubic-bezier(.2,.7,.2,1);
  white-space:nowrap;min-height:44px}
.btn svg{width:16px;height:16px;stroke:currentColor;fill:none;stroke-width:2;
  stroke-linecap:round;stroke-linejoin:round}
.btn-dark:hover{filter:brightness(1.2);transform:translateY(-2px)}
.btn:active{transform:translateY(0) scale(.97)}

/* section wash utility, mapped straight to the reference's own tokens */
.wash-mint{background:var(--mint)} .wash-sky{background:var(--sky)}
.wash-blush{background:var(--blush)} .wash-lilac{background:var(--lilac)}
.wash-butter{background:var(--butter)} .wash-peach{background:var(--peach)}
.wash-aqua{background:var(--aqua)}
.hairline-top{border-top:1.2px solid transparent;
  border-image:linear-gradient(90deg,transparent,var(--gold-line),transparent) 1}

.wrap{padding-inline:clamp(20px,5vw,40px)}
.sec{padding-block:clamp(52px,7.5vw,104px);position:relative}
.sec-tight{padding-block:clamp(36px,5vw,60px)}
.grid{display:grid;gap:clamp(18px,2.2vw,28px)}
.g2{grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}
@media(max-width:460px){.g2{grid-template-columns:1fr}}
.g3{grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}
.g4{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}
.g4-fixed{grid-template-columns:repeat(4,1fr)}
@media(max-width:860px){.g4-fixed{grid-template-columns:repeat(2,1fr)}}
@media(max-width:480px){.g4-fixed{grid-template-columns:1fr}}
.g3-fixed{grid-template-columns:repeat(3,1fr)}
@media(max-width:860px){.g3-fixed{grid-template-columns:repeat(2,1fr)}}
@media(max-width:480px){.g3-fixed{grid-template-columns:1fr}}
.proof .card{display:flex;flex-direction:column}
.proof .card>div:last-child{margin-top:auto;padding-top:16px}
.row{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.between{display:flex;flex-wrap:wrap;gap:24px;align-items:flex-end;justify-content:space-between}
.jc{justify-content:center}
.center{text-align:center}
.mb0{margin-bottom:0} .mt-s{margin-top:12px} .mt-m{margin-top:24px} .mt-l{margin-top:44px}
p.lead{font-size:clamp(1rem,1.3vw,1.12rem);max-width:60ch;color:var(--ink-dim)}
/* reference only sizes headings contextually per component (.hero-h,
   .sec-head h2, .step h2...), never generically, so a bare h1/h2/h3 on an
   interior page needs a base scale, these lose to any more specific rule */
h1{font-size:clamp(2.1rem,4.4vw,3.4rem);line-height:1.1;font-weight:700}
h2{font-size:clamp(1.6rem,3vw,2.3rem);line-height:1.15;font-weight:600}
h3{font-size:1.05rem;font-weight:600}
/* light interior-page header, the reference only has the one dark photo
   hero, this is the equivalent for the 8 pages that need a plain one */
.page-head{padding-block:clamp(56px,7vw,90px) clamp(30px,4vw,50px)}
.page-head .tag{justify-content:center}
/* standalone pull-quote, reference only styled .card .quote and
   .cta-band h2 for this treatment, this makes it reusable elsewhere */
.quote{font-family:'Fraunces',serif;font-style:italic;font-weight:500;font-optical-sizing:auto;
  font-size:clamp(1.3rem,2.4vw,1.8rem);color:var(--ink);line-height:1.4}
h4{font-family:'Sora',sans-serif;margin:0}
.label{font-family:'IBM Plex Mono',monospace;font-size:.66rem;letter-spacing:.08em;
  text-transform:uppercase;color:var(--ink-dim)}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;
  clip:rect(0 0 0 0);white-space:nowrap;border:0}

/* cards, tiles, chips: the small vocabulary the interior pages lean on ------- */
.card{background:var(--bg);border:1px solid var(--line);border-radius:8px;
  padding:clamp(22px,2.4vw,30px);position:relative;overflow:hidden;transition:transform .4s}
.card:hover,.seg:hover{transform:translateY(-5px);animation:triGlow 3.2s ease-in-out infinite}
.card h3{margin-bottom:8px}
.card p{font-size:.94rem;color:var(--ink-dim)}
.tile{width:56px;height:56px;display:grid;place-items:center;
  margin-bottom:18px;background:none;flex:none}
.avatar-photo{width:72px;height:72px;border-radius:50%;object-fit:cover;object-position:center 35%;flex:none}
.tile svg{width:44px;height:44px;stroke:var(--ink);fill:none;stroke-width:1.1;
  stroke-linecap:round;stroke-linejoin:round}
.tile-gold svg{stroke:var(--gold-text)}
.tile-sm{width:44px;height:44px;margin-bottom:0}
.tile-sm svg{width:36px;height:36px}
.chip{display:inline-flex;align-items:center;gap:6px;padding:6px 13px;border-radius:999px;
  background:var(--panel);border:1px solid var(--line);font-family:'IBM Plex Mono',monospace;
  font-size:.7rem;letter-spacing:.03em;color:var(--ink-dim);white-space:nowrap}
.chip svg{width:12px;height:12px;stroke:currentColor;fill:none;stroke-width:1.9}
.chip-link{padding:13px 16px}
.link-x{display:inline-flex;align-items:center;gap:7px;color:var(--ink);font-weight:600;
  font-size:.88rem;border-bottom:1px solid var(--line-strong);padding-bottom:2px}
.mcard-cta{margin-top:auto;padding-top:10px}
.badge{position:absolute;top:14px;right:14px;z-index:2;padding:5px 12px;border-radius:999px;
  font-family:'Sora',sans-serif;font-size:.66rem;font-weight:700;background:var(--ink);color:var(--bg)}
.badge-gold{background:var(--gold);color:var(--dark)}
.illus-badge{position:absolute;bottom:8px;left:8px;z-index:2;padding:4px 10px;border-radius:999px;
  font-family:'IBM Plex Mono',monospace;font-size:.62rem;letter-spacing:.04em;text-transform:uppercase;
  background:rgba(21,21,23,.72);color:#fff}
.mcard{padding:0;overflow:hidden;display:flex;flex-direction:column}
.mcard-top{height:150px;position:relative;display:grid;place-items:center;
  background:var(--panel);border-bottom:1px solid var(--line)}
.mcard-top svg{width:44px;height:44px;stroke:var(--ink);fill:none;stroke-width:1.2}
.mcard-top video{width:100%;height:100%;object-fit:cover;display:block}
.mcard-top img{width:100%;height:100%;object-fit:cover;display:block}
.mcard-body{padding:22px;display:flex;flex-direction:column;gap:11px;flex:1}
.mcard-body h3{line-height:1.3;min-height:2.6em}
.spec{width:100%;border-collapse:collapse;font-size:.92rem}
.spec td{padding:13px 6px;border-bottom:1px solid var(--line);vertical-align:top;text-align:left}
.spec tr:last-child td{border-bottom:0}
.spec td:first-child{color:var(--ink-dim);font-weight:500;width:44%}
.filters{display:flex;flex-wrap:wrap;gap:9px;justify-content:center;margin-bottom:34px}
.f-chip{padding:14px 19px;border-radius:999px;cursor:pointer;background:var(--bg);
  border:1px solid var(--line-strong);color:var(--ink-dim);font-family:'Sora',sans-serif;
  font-weight:600;font-size:.84rem;transition:.25s}
.f-chip:hover{border-color:var(--ink);color:var(--ink)}
.f-chip[aria-pressed="true"]{background:var(--ink);border-color:transparent;color:var(--bg)}
.empty-state{display:none;text-align:center;padding:50px 20px;color:var(--ink-dim)}
.empty-state:not([hidden]){display:block}

/* forms ----------------------------------------------------------------------- */
.field{display:block;margin-bottom:16px}
.field span{display:block;font-size:.82rem;font-weight:600;color:var(--ink);margin-bottom:7px}
.field input,.field select,.field textarea{width:100%;padding:13px 16px;border-radius:6px;
  color:var(--ink);background:var(--bg);border:1px solid var(--line-strong);
  font-family:'Inter',sans-serif;font-size:1rem;transition:.25s}
.field input::placeholder,.field textarea::placeholder{color:var(--ink-dim)}
.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--ink-blue);
  box-shadow:0 0 0 4px rgba(30,95,217,.12)}
.field textarea{resize:vertical;min-height:112px}
.field-err{display:block;margin-top:6px;font-size:.8rem;color:var(--ink-red);font-weight:500}
.field.has-err input,.field.has-err select,.field.has-err textarea{
  border-color:var(--ink-red);box-shadow:0 0 0 4px rgba(214,41,29,.1)}
.hp-field{position:absolute;left:-9999px;top:auto;width:1px;height:1px;overflow:hidden}
.note{padding:15px 18px;border-radius:6px;background:var(--butter);
  border:1px solid var(--butter-line);font-size:.87rem;color:var(--ink-dim)}
.confirm-summary{white-space:pre-wrap;font-size:.86rem;line-height:1.8;background:var(--panel);
  border:1px solid var(--line);border-radius:6px;padding:16px 18px;color:var(--ink-dim);
  max-height:280px;overflow:auto}

/* FAQ accordion ----------------------------------------------------------------- */
.acc{border:1px solid var(--line);border-radius:8px;overflow:hidden;background:var(--bg)}
.acc details{border-bottom:1px solid var(--line)}
.acc details:last-child{border-bottom:0}
.acc summary{padding:18px 22px;cursor:pointer;list-style:none;display:flex;align-items:center;
  gap:14px;font-family:'Sora',sans-serif;font-weight:600;color:var(--ink)}
.acc summary::-webkit-details-marker{display:none}
.acc summary::after{content:"+";margin-left:auto;color:var(--gold);font-size:1.3rem;
  font-family:'IBM Plex Mono',monospace;line-height:1}
.acc details[open] summary::after{content:"\2013"}
.acc .acc-b{padding:0 22px 20px;font-size:.94rem;color:var(--ink-dim);max-width:68ch}
.faq-jump{display:flex;flex-wrap:wrap;gap:9px;justify-content:center;margin-bottom:8px}
.faq-jump a{padding:12px 18px;border-radius:999px;background:var(--bg);border:1px solid var(--line-strong);
  color:var(--ink-dim);font-weight:600;font-size:.85rem}
.faq-jump a:hover{border-color:var(--ink);color:var(--ink)}
.faq-cat-head{margin:clamp(44px,5vw,60px) 0 18px;scroll-margin-top:100px}
#enquire,#form{scroll-margin-top:100px}

/* blog -------------------------------------------------------------------------- */
.bcard{display:flex;flex-direction:column;gap:10px}
.bcard p{font-size:.92rem;-webkit-line-clamp:3;display:-webkit-box;-webkit-box-orient:vertical;overflow:hidden}
.bcard .row{margin-top:auto;padding-top:6px}
.prose{max-width:68ch;margin-inline:auto}
.prose h2{margin-top:2em;margin-bottom:.6em;font-size:clamp(1.35rem,2.2vw,1.7rem)}
.prose h3{margin-top:1.6em;margin-bottom:.5em}
.prose p{margin-bottom:1.3em;color:var(--ink-dim)}
.prose ul,.prose ol{margin:0 0 1.3em;padding-left:1.3em;color:var(--ink-dim)}
.prose li{margin-bottom:.5em}
.prose li::marker{color:var(--gold)}
.prose figure{margin:1.5em 0}

/* mobile nav: the reference just hides .navlinks below 920px with no
   fallback, a real multi-page site needs one */
.burger{display:none;width:42px;height:42px;border-radius:6px;background:var(--panel);
  border:1px solid var(--line);align-items:center;justify-content:center;cursor:pointer}
.burger svg{width:19px;height:19px;stroke:var(--ink);fill:none;stroke-width:1.8;stroke-linecap:round}
@media(max-width:920px){
  .navlinks{position:fixed;inset:0 0 auto;display:flex;flex-direction:column;align-items:stretch;
    gap:2px;padding:88px 24px 30px;border-radius:0 0 12px 12px;
    background:var(--bg);border-bottom:1px solid var(--line);
    transform:translateY(-102%);transition:transform .4s cubic-bezier(.2,.7,.2,1);z-index:55;
    box-shadow:0 24px 50px -24px rgba(0,0,0,.35)}
  .navlinks.open{transform:none}
  .navlinks a{padding:15px 16px;font-size:1.02rem;border-radius:6px;color:var(--ink)}
  .navlinks a.on{background:var(--panel)}
  .navlinks a.nav-cta-mobile{
    display:flex; align-items:center; justify-content:center;
    font-family:'IBM Plex Mono',monospace; font-size:13px; letter-spacing:.03em;
    background:var(--ink); color:var(--bg); padding:15px 16px; border-radius:6px; margin-top:8px;
  }
  .burger{display:flex;z-index:58}
  nav.top .nav-cta{display:none}
}
.navlinks a.on{color:var(--ink);font-weight:600}
.navlinks a.on::after{transform:scaleX(1)}

/* skip link, demo ribbon, noscript fallback -------------------------------------- */
.skip{position:absolute;left:16px;top:-60px;z-index:99;padding:12px 20px;border-radius:0 0 8px 8px;
  background:var(--dark);color:var(--on-dark);transition:top .2s}
.skip:focus{top:0}

/* keyboard focus, sitewide -------------------------------------- */
a:focus-visible, button:focus-visible, [tabindex]:focus-visible,
input:focus-visible, select:focus-visible, textarea:focus-visible,
summary:focus-visible{
  outline:2px solid var(--ink-blue); outline-offset:2px; border-radius:4px;
}
.noscript-nav{background:var(--bg);border-bottom:1px solid var(--line);padding:16px clamp(20px,5vw,40px)}
.noscript-nav .wm{margin-bottom:10px}
.noscript-nav nav{display:flex;flex-wrap:wrap;gap:6px 16px;font-size:.9rem}
.noscript-nav nav a{color:var(--ink-dim)}
.noscript-nav nav a:hover{color:var(--ink)}
.noscript-nav nav a[aria-current="page"]{color:var(--ink);font-weight:600}
.noscript-nav p{margin:10px 0 0;font-size:.85rem;color:var(--ink-dim)}

/* corridor diagram, restyled onto the reference's own tokens ---------------------- */
.corridor{width:100%;height:auto}
.corridor .rail-bg{stroke:var(--line);stroke-width:6;fill:none}
.corridor .rail{stroke:var(--gold-line);stroke-width:2;fill:none}
.corridor .spur{stroke:var(--line-strong);stroke-width:1.4;fill:none}
.corridor .spur-dot{fill:var(--ink-dim)}
.corridor .hub{fill:var(--ink)}
.corridor .hub-ring{fill:none;stroke:var(--gold-line);stroke-width:2}
.corridor .city{font-family:'IBM Plex Mono',monospace;font-size:10px;fill:var(--ink-dim);text-anchor:middle}
.corridor .hub-name{font-family:'Sora',sans-serif;font-size:12px;font-weight:700;fill:var(--ink);text-anchor:middle}
.corridor .hub-role{font-family:'IBM Plex Mono',monospace;font-size:8px;fill:var(--ink-dim);text-anchor:middle;letter-spacing:.08em}
.corridor-m{display:none}
.corridor-m-hub{font-family:'Sora',sans-serif;font-weight:700;font-size:13px;color:var(--ink);
  margin:20px 0 6px;display:flex;align-items:baseline;gap:8px}
.corridor-m-hub:first-child{margin-top:0}
.corridor-m-hub span{font-family:'IBM Plex Mono',monospace;font-weight:400;font-size:10px;
  letter-spacing:.06em;text-transform:uppercase;color:var(--ink-dim)}
.corridor-m-route{font-family:'IBM Plex Mono',monospace;font-size:12px;line-height:1.9;
  color:var(--ink-dim);margin:0}
@media(max-width:720px){
  .corridor-fig{display:none}
  .corridor-m{display:block}
}

/* blog article diagrams, same token vocabulary as the corridor diagram ------------ */
.bdiag{width:100%;height:auto;margin:8px 0}
.bdiag .track{stroke:var(--line);stroke-width:6;fill:none;stroke-linecap:round}
.bdiag .node{fill:var(--ink)}
.bdiag .node-ring{fill:none;stroke:var(--gold-line);stroke-width:2}
.bdiag .tick{stroke:var(--line-strong);stroke-width:1.4}
.bdiag .divider{stroke:var(--line);stroke-width:1.4;stroke-dasharray:3 4}
.bdiag .lbl{font-family:'IBM Plex Mono',monospace;font-size:10.5px;fill:var(--ink-dim);text-anchor:middle}
.bdiag .lbl-strong{font-family:'Sora',sans-serif;font-size:13px;font-weight:700;fill:var(--ink);text-anchor:middle}
.bdiag .lbl-gold{font-family:'IBM Plex Mono',monospace;font-size:10.5px;fill:var(--gold-text);text-anchor:middle;letter-spacing:.05em}
.bdiag-cap{font-family:'IBM Plex Mono',monospace;font-size:.72rem;color:var(--ink-dim);text-align:center;margin-top:6px}

/* comparison table, second style for pages other than the home business-model one - */
.ctbl{width:100%;border-collapse:collapse;font-size:.9rem;background:var(--bg);
  border:1px solid var(--line);border-radius:4px;overflow:hidden}
.ctbl th,.ctbl td{padding:14px 16px;text-align:left;border-bottom:1px solid var(--line)}
.ctbl th{font-family:'IBM Plex Mono',monospace;font-size:.66rem;letter-spacing:.05em;
  text-transform:uppercase;color:var(--ink-dim);font-weight:500;background:var(--panel)}
.ctbl tr:last-child td{border-bottom:0}
.ctbl td:first-child{font-weight:600;color:var(--ink)}
.ctbl .yes{color:var(--ink);font-weight:600}
.ctbl-wrap{overflow-x:auto}

/* two-column hero layout used on the machine detail page */
.hero-grid{display:grid;gap:clamp(24px,3.4vw,44px);grid-template-columns:1.1fr .9fr;align-items:center}
@media(max-width:860px){.hero-grid{grid-template-columns:1fr}}

/* press animation, machine.html only, restyled onto the reference tokens.
   JS timings in app.js must match the keyframe below. */
.press-shell{border-radius:8px;border:1px solid var(--line);background:var(--sky);
  padding:clamp(16px,2vw,26px);overflow:hidden}
.press{width:100%;height:auto;display:block}
.press .rail{fill:none;stroke:var(--line-strong);stroke-width:2}
.press .roll{fill:var(--panel);stroke:var(--line-strong);stroke-width:1}
.press .media{fill:var(--bg);stroke:var(--line-strong);stroke-width:1.4}
.press .media-edge{fill:none;stroke:var(--line);stroke-width:1}
.press .tick{stroke:var(--line-strong);stroke-width:1.6}
.press .scale-txt{font-family:'IBM Plex Mono',monospace;font-size:9px;fill:var(--ink-dim);letter-spacing:.1em}
.press .car-body{fill:var(--ink);stroke:none}
.press .car-gloss{fill:rgba(255,255,255,.16);stroke:none}
.press .car-nozzle{stroke:var(--ink-dim);stroke-width:2;stroke-linecap:round}
.press .carriage{animation:carriageSweep 9s linear infinite}
@keyframes carriageSweep{0%{transform:translateX(0)}62%{transform:translateX(636px)}
  62.001%,100%{transform:translateX(636px)}}
.press .press-reveal{animation:pressReveal 9s linear infinite}
@keyframes pressReveal{0%{width:0}62%{width:636px}62.001%,100%{width:636px}}
@media(prefers-reduced-motion:reduce){
  .press .carriage{animation:none;transform:translateX(636px)}
  .press .press-reveal{animation:none;width:636px}
}
.press-foot{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-top:16px}
@media(max-width:560px){.press-foot{grid-template-columns:repeat(2,1fr)}}
.press-stat{text-align:center}
.press-stat small{display:block;font-family:'IBM Plex Mono',monospace;font-size:.62rem;
  letter-spacing:.1em;text-transform:uppercase;color:var(--ink-dim);margin-bottom:4px}
.press-stat b{font-family:'Sora',sans-serif;font-size:1.05rem;color:var(--ink)}

/* language switcher, part of the Hindi-site addition */
.lang-switch{
  font-family:'IBM Plex Mono',monospace; font-size:11px; letter-spacing:.04em;
  border:1px solid var(--line); border-radius:20px; padding:15px 14px !important; margin-left:6px;
}
.lang-switch::after{ display:none !important; }
.lang-switch:hover{ border-color:var(--gold-line); }
@media (max-width:920px){ .lang-switch{ display:inline-block; margin:8px 16px; align-self:flex-start; } }

/* floating FAQ-search assistant: client-side only, no network calls */
.assist{ position:fixed; right:20px; bottom:20px; z-index:60; }
.assist-fab{
  width:52px; height:52px; border-radius:50%; display:grid; place-items:center;
  background:var(--ink); color:var(--bg); border:none; cursor:pointer;
  box-shadow:0 10px 30px -10px rgba(0,0,0,.4); transition:transform .2s;
}
.assist-fab:hover{ transform:scale(1.06); }
.assist-fab svg{ width:24px; height:24px; stroke-width:1.6; }
.assist-panel{
  position:absolute; right:0; bottom:64px; width:320px; max-width:calc(100vw - 40px);
  background:var(--bg); border:1px solid var(--line); border-radius:12px;
  box-shadow:0 24px 60px -20px rgba(0,0,0,.35); padding:16px;
  display:flex; flex-direction:column; gap:10px;
}
.assist-head{ display:flex; align-items:center; justify-content:space-between; gap:8px;
  font-family:'Sora',sans-serif; font-weight:600; font-size:.95rem; color:var(--ink); }
.assist-head > span{ flex:none }
.assist-langs{ display:flex; gap:4px; margin-left:auto; }
.assist-lang-btn{
  font-family:'IBM Plex Mono',monospace; font-size:.66rem; letter-spacing:.03em;
  padding:4px 8px; border-radius:999px; border:1px solid var(--line); background:none;
  color:var(--ink-dim); cursor:pointer; font-weight:500;
}
.assist-lang-btn.active{ background:var(--ink); color:var(--bg); border-color:var(--ink); }
.assist-x{ background:none; border:none; cursor:pointer; padding:14px; display:grid;
  place-items:center; color:var(--ink-dim); }
.assist-x svg{ width:16px; height:16px; stroke-width:1.8; }
.assist-input{
  width:100%; padding:10px 12px; border-radius:8px; border:1px solid var(--line); background:var(--panel);
  font-family:'Inter',sans-serif; font-size:.88rem; color:var(--ink);
}
.assist-input:focus{ outline:2px solid var(--ink-blue); outline-offset:1px; }
.assist-results{ max-height:280px; overflow-y:auto; display:flex; flex-direction:column; gap:10px; }
.assist-result{ padding:10px; border-radius:8px; background:var(--panel); border:1px solid var(--line); }
.assist-tag{ display:inline-block; font-family:'IBM Plex Mono',monospace; font-size:.62rem;
  letter-spacing:.04em; text-transform:uppercase; color:var(--gold-text); margin-bottom:4px; }
.assist-q{ font-weight:600; font-size:.85rem; margin:0 0 4px; color:var(--ink); }
.assist-a{ font-size:.82rem; color:var(--ink-dim); margin:0 0 6px; line-height:1.5; }
.assist-goto{ font-size:.76rem; color:var(--gold-text); font-weight:600; }
.assist-empty{ font-size:.85rem; color:var(--ink-dim); margin:0; }
.assist-empty a{ color:var(--gold-text); font-weight:600; }
.assist-more{ margin:0; text-align:center; }
.assist-more a{ font-size:.82rem; color:var(--gold-text); font-weight:600; }
.assist-hint{ margin:0; font-size:.68rem; color:var(--ink-faint); text-align:center; }
@media (max-width:480px){
  .assist{ right:14px; bottom:14px; }
  .assist-panel{ width:calc(100vw - 28px); }
  footer{ padding-bottom:96px; }
}
.press-stat b em{font-style:normal;font-size:.62rem;color:var(--ink-dim);margin-left:3px}