  /* ---------- Tokens ---------- */
  :root{
    --bg:#0A0F1D;
    --bg-elev:#111A2E;
    --bg-elev-2:#16233B;
    --glass: rgba(255,255,255,0.045);
    --glass-hover: rgba(255,255,255,0.075);
    --border: rgba(148,180,222,0.16);
    --border-strong: rgba(160,196,240,0.34);
    --ink:#EAF1FB;
    --ink-muted:#93A4BD;
    --ink-faint:#5D6D89;
    --blue:#2E6FE0;
    --blue-soft: rgba(46,111,224,0.14);
    --cyan:#34D3F0;
    --cyan-soft: rgba(52,211,240,0.13);
    --emerald:#2ED99B;
    --emerald-soft: rgba(46,217,155,0.13);
    --amber:#F2A93B;
    --r-s:8px;
    --r-m:14px;
    --r-l:24px;
    --font-d:'Manrope',system-ui,sans-serif;
    --font-b:'IBM Plex Sans',system-ui,sans-serif;
    --font-m:'IBM Plex Mono','SFMono-Regular',Consolas,monospace;
    --maxw:1180px;
    --glow-cyan: 0 0 60px rgba(52,211,240,0.16);
  }

  *,*::before,*::after{ box-sizing:border-box; }
  html{ scroll-behavior:smooth; }
  @media (prefers-reduced-motion: reduce){
    html{ scroll-behavior:auto; }
    *,*::before,*::after{ animation-duration:0.001ms !important; animation-iteration-count:1 !important; transition-duration:0.001ms !important; scroll-behavior:auto !important; }
  }
  body{
    margin:0;
    background:var(--bg);
    color:var(--ink);
    font-family:var(--font-b);
    font-size:16px;
    line-height:1.6;
    -webkit-font-smoothing:antialiased;
    overflow-x:hidden;
  }
  h1,h2,h3,h4{ font-family:var(--font-d); color:var(--ink); margin:0; text-wrap:balance; letter-spacing:-0.01em; }
  p{ margin:0; }
  a{ color:inherit; text-decoration:none; }
  ul{ margin:0; padding:0; list-style:none; }
  button{ font-family:inherit; cursor:pointer; }
  img,svg{ display:block; max-width:100%; }
  ::selection{ background:var(--cyan); color:#04121a; }
  :focus-visible{ outline:2px solid var(--cyan); outline-offset:3px; border-radius:4px; }

  .container{ max-width:var(--maxw); margin:0 auto; padding:0 24px; }
  @media (max-width:640px){ .container{ padding:0 18px; } }

  .eyebrow{
    font-family:var(--font-m); font-size:0.75rem; font-weight:500; letter-spacing:0.14em; text-transform:uppercase;
    color:var(--cyan); display:inline-flex; align-items:center; gap:8px;
  }
  .eyebrow::before{ content:""; width:16px; height:1px; background:var(--cyan); display:inline-block; }

  .muted{ color:var(--ink-muted); }

  /* ---------- Background texture ---------- */
  body{
    background-image:
      radial-gradient(1100px 620px at 82% -8%, rgba(46,111,224,0.22), transparent 60%),
      radial-gradient(900px 500px at -10% 18%, rgba(52,211,240,0.10), transparent 55%),
      linear-gradient(var(--bg), var(--bg));
    background-attachment:fixed;
  }

  /* ---------- Buttons ---------- */
  .btn{
    display:inline-flex; align-items:center; justify-content:center; gap:8px;
    font-family:var(--font-b); font-weight:600; font-size:0.95rem;
    padding:13px 22px; border-radius:10px; border:1px solid transparent;
    transition:transform 160ms ease, box-shadow 160ms ease, background 160ms ease, border-color 160ms ease;
    white-space:nowrap;
  }
  .btn:active{ transform:translateY(1px); }
  .btn-primary{
    background:linear-gradient(135deg,var(--blue),var(--cyan));
    color:#04121a; box-shadow:0 8px 24px rgba(52,211,240,0.22);
  }
  .btn-primary:hover{ box-shadow:0 10px 32px rgba(52,211,240,0.36); transform:translateY(-1px); }
  .btn-ghost{
    background:var(--glass); border-color:var(--border); color:var(--ink);
    backdrop-filter:blur(10px); -webkit-backdrop-filter:blur(10px);
  }
  .btn-ghost:hover{ background:var(--glass-hover); border-color:var(--border-strong); }
  .btn-sm{ padding:9px 16px; font-size:0.85rem; }
  .btn svg{ width:16px; height:16px; }

  /* ---------- Glass card ---------- */
  .glass{
    background:var(--glass);
    border:1px solid var(--border);
    border-radius:var(--r-l);
    backdrop-filter:blur(16px); -webkit-backdrop-filter:blur(16px);
  }

  /* ---------- Nav ---------- */
  .nav{
    position:sticky; top:0; z-index:100;
    border-bottom:1px solid transparent;
    background:rgba(10,15,29,0.6);
    backdrop-filter:blur(14px); -webkit-backdrop-filter:blur(14px);
    transition:border-color 220ms ease, background 220ms ease, box-shadow 220ms ease;
  }
  .nav.scrolled{ border-color:var(--border); background:rgba(10,15,29,0.86); box-shadow:0 8px 30px rgba(0,0,0,0.28); }
  .nav-inner{ display:flex; align-items:center; justify-content:space-between; gap:20px; padding:14px 0; }
  .brand{ display:flex; align-items:center; gap:11px; }
  .brand-mark{ position:relative; flex:none; display:flex; align-items:center; justify-content:center; }
  .brand-mark img{ height:38px; width:auto; display:block; filter:drop-shadow(0 4px 14px rgba(52,211,240,0.35)); }
  .footer-brand .brand-mark img{ height:46px; }
  .brand-word{ font-family:var(--font-d); font-weight:800; font-size:1.12rem; line-height:1.1; }
  .brand-word b{ font-weight:800; color:var(--ink); }
  .brand-word em{ font-style:normal; font-weight:800; background:linear-gradient(90deg,var(--cyan),var(--emerald)); -webkit-background-clip:text; background-clip:text; color:transparent; }
  .brand-tag{ font-family:var(--font-m); font-size:0.62rem; letter-spacing:0.08em; color:var(--ink-faint); text-transform:uppercase; }

  .nav-links{ display:flex; align-items:center; gap:30px; }
  .nav-links a{ font-size:0.9rem; font-weight:500; color:var(--ink-muted); transition:color 160ms ease; position:relative; padding:4px 0; }
  .nav-links a:hover, .nav-links a.active{ color:var(--ink); }
  .nav-links a.active::after{ content:""; position:absolute; left:0; right:0; bottom:-3px; height:2px; border-radius:2px; background:linear-gradient(90deg,var(--cyan),var(--emerald)); }
  .nav-cta{ display:flex; align-items:center; gap:14px; }
  .nav-toggle{ display:none; background:none; border:1px solid var(--border); border-radius:9px; width:40px; height:40px; align-items:center; justify-content:center; color:var(--ink); }
  .nav-toggle svg{ width:20px; height:20px; }

  .mobile-panel{ display:none; flex-direction:column; gap:2px; padding:8px 0 18px; border-top:1px solid var(--border); }
  .mobile-panel a{ padding:12px 4px; font-size:0.98rem; color:var(--ink-muted); border-bottom:1px solid var(--border); }
  .mobile-panel a:last-child{ border-bottom:none; }
  body.nav-open .mobile-panel{ display:flex; }

  @media (max-width:920px){
    .nav-links{ display:none; }
    .nav-cta .btn-ghost, .nav-cta .btn-primary{ display:none; }
    .nav-toggle{ display:flex; }
  }
  @media (max-width:480px){
    .brand-tag{ display:none; }
  }

  /* ---------- Section scaffolding ---------- */
  .section{ padding:112px 0; position:relative; }
  .section-tight{ padding:88px 0; }
  @media (max-width:720px){ .section{ padding:76px 0; } .section-tight{ padding:60px 0; } }
  .section-head{ max-width:640px; margin-bottom:52px; }
  .section-head h2{ font-size:clamp(1.9rem,3.6vw,2.7rem); margin-top:14px; }
  .section-head p{ margin-top:16px; font-size:1.05rem; color:var(--ink-muted); }
  .section-divider{ height:1px; background:linear-gradient(90deg,transparent,var(--border),transparent); }

  .reveal{ opacity:0; transform:translateY(22px); transition:opacity 700ms cubic-bezier(.2,.7,.3,1), transform 700ms cubic-bezier(.2,.7,.3,1); }
  .reveal.in{ opacity:1; transform:translateY(0); }
  .reveal-stagger > *{ transition-delay:calc(var(--i,0) * 90ms); }

  /* ---------- Hero ---------- */
  .hero{ padding:76px 0 100px; }
  .hero-grid{ display:grid; grid-template-columns:1.05fr 0.95fr; gap:56px; align-items:center; }
  @media (max-width:980px){ .hero-grid{ grid-template-columns:1fr; gap:52px; } }

  .badge-row{ display:flex; flex-wrap:wrap; gap:10px; margin-top:26px; }
  .status-badge{
    display:inline-flex; align-items:center; gap:7px; padding:7px 13px; border-radius:100px;
    background:var(--glass); border:1px solid var(--border); font-size:0.78rem; font-weight:500; color:var(--ink-muted);
  }
  .status-badge .dot{ width:7px; height:7px; border-radius:50%; background:var(--emerald); box-shadow:0 0 0 3px var(--emerald-soft); }
  .status-badge.live .dot{ animation:pulse-dot 2.2s ease-in-out infinite; }
  @keyframes pulse-dot{ 0%,100%{ box-shadow:0 0 0 0 rgba(46,217,155,0.5);} 50%{ box-shadow:0 0 0 5px rgba(46,217,155,0);} }

  .hero h1{ font-size:clamp(2.5rem,5vw,3.7rem); line-height:1.06; margin-top:18px; }
  .hero h1 .grad{ background:linear-gradient(100deg,var(--cyan),var(--emerald) 70%); -webkit-background-clip:text; background-clip:text; color:transparent; }
  .hero-sub{ margin-top:22px; font-size:1.12rem; color:var(--ink-muted); max-width:52ch; }
  .hero-cta{ display:flex; flex-wrap:wrap; gap:14px; margin-top:34px; }

  .hero-proof{ display:flex; gap:28px; margin-top:44px; flex-wrap:wrap; }
  .hero-proof div{ display:flex; flex-direction:column; gap:2px; }
  .hero-proof strong{ font-family:var(--font-d); font-size:1.5rem; font-weight:800; font-variant-numeric:tabular-nums; }
  .hero-proof span{ font-size:0.78rem; color:var(--ink-faint); }

  /* hero visual */
  .hero-visual{ position:relative; }
  .console{ padding:22px; position:relative; overflow:hidden; }
  .console::before{
    content:""; position:absolute; inset:-40%; background:radial-gradient(circle at 50% 40%, rgba(52,211,240,0.14), transparent 60%);
    pointer-events:none;
  }
  .console-head{ display:flex; align-items:center; justify-content:space-between; margin-bottom:18px; }
  .console-head .dots{ display:flex; gap:6px; }
  .console-head .dots i{ width:9px; height:9px; border-radius:50%; background:var(--border-strong); display:block; }
  .console-head .live-tag{ display:flex; align-items:center; gap:6px; font-family:var(--font-m); font-size:0.68rem; letter-spacing:0.06em; color:var(--emerald); text-transform:uppercase; }
  .console-head .live-tag .dot{ width:6px; height:6px; border-radius:50%; background:var(--emerald); animation:pulse-dot 2.2s ease-in-out infinite; }

  .orbit-wrap{ position:relative; height:280px; margin:6px auto 20px; max-width:280px; }
  .orbit-core{
    position:absolute; top:50%; left:50%; transform:translate(-50%,-50%);
    width:76px; height:76px; display:flex; align-items:center; justify-content:center;
    z-index:3;
  }
  .orbit-core img{ height:70px; width:auto; animation:core-breathe 3.6s ease-in-out infinite; }
  @keyframes core-breathe{ 0%,100%{ filter:drop-shadow(0 0 18px rgba(52,211,240,0.45));} 50%{ filter:drop-shadow(0 0 32px rgba(52,211,240,0.75));} }

  .orbit-ring{ position:absolute; top:50%; left:50%; transform:translate(-50%,-50%); border:1px dashed var(--border); border-radius:50%; }
  .orbit-ring.r1{ width:180px; height:180px; }
  .orbit-ring.r2{ width:270px; height:270px; opacity:0.6; }

  .orbit-node{
    position:absolute; width:76px; display:flex; flex-direction:column; align-items:center; gap:6px;
    text-align:center; z-index:2;
  }
  .orbit-node .ico{
    width:38px; height:38px; border-radius:11px; display:flex; align-items:center; justify-content:center;
    background:var(--bg-elev); border:1px solid var(--border); transition:border-color 200ms ease, transform 200ms ease, background 200ms ease;
  }
  .orbit-node .ico svg{ width:18px; height:18px; stroke:var(--ink-muted); transition:stroke 200ms ease; }
  .orbit-node small{ font-size:0.66rem; color:var(--ink-faint); font-weight:600; letter-spacing:0.02em; }
  .orbit-node.n1{ top:-4px; left:50%; transform:translateX(-50%); }
  .orbit-node.n2{ top:50%; right:-14px; transform:translateY(-50%); }
  .orbit-node.n3{ bottom:-4px; left:50%; transform:translateX(-50%); }
  .orbit-node.n4{ top:50%; left:-14px; transform:translateY(-50%); }
  .orbit-node:hover .ico, .orbit-node:focus-within .ico{ border-color:var(--cyan); background:var(--cyan-soft); transform:scale(1.07); }
  .orbit-node:hover .ico svg, .orbit-node:focus-within .ico svg{ stroke:var(--cyan); }

  .orbit-svg{ position:absolute; inset:0; z-index:1; }
  .orbit-svg path{ fill:none; stroke:var(--border-strong); stroke-width:1.4; stroke-dasharray:4 6; }
  .orbit-svg path.flow{ stroke:var(--cyan); stroke-width:1.6; stroke-dasharray:5 9; animation:flow-dash 2.6s linear infinite; opacity:0.85; }
  @keyframes flow-dash{ to{ stroke-dashoffset:-140; } }

  .console-caption{ min-height:20px; text-align:center; font-family:var(--font-m); font-size:0.78rem; color:var(--cyan); margin-bottom:14px; }

  .console-stats{ display:grid; grid-template-columns:repeat(3,1fr); gap:10px; padding-top:16px; border-top:1px solid var(--border); }
  .console-stats div{ text-align:center; }
  .console-stats strong{ display:block; font-family:var(--font-m); font-size:1.05rem; font-variant-numeric:tabular-nums; color:var(--ink); }
  .console-stats span{ font-size:0.68rem; color:var(--ink-faint); }

  /* ---------- Offerings (tabbed) ---------- */
  .offerings-layout{ display:grid; grid-template-columns:300px 1fr; gap:28px; align-items:start; }
  @media (max-width:880px){ .offerings-layout{ grid-template-columns:1fr; } }

  .tab-list{ display:flex; flex-direction:column; gap:10px; }
  .tab-btn{
    display:flex; align-items:flex-start; gap:14px; text-align:left; width:100%;
    padding:16px; border-radius:var(--r-m); background:var(--glass); border:1px solid var(--border);
    color:var(--ink-muted); transition:border-color 180ms ease, background 180ms ease, transform 180ms ease;
  }
  .tab-btn:hover{ border-color:var(--border-strong); transform:translateX(2px); }
  .tab-btn .ico{ flex:none; width:38px; height:38px; border-radius:10px; display:flex; align-items:center; justify-content:center; background:var(--bg-elev); }
  .tab-btn .ico svg{ width:19px; height:19px; stroke:var(--ink-muted); }
  .tab-btn strong{ display:block; color:var(--ink); font-size:0.92rem; font-weight:700; margin-bottom:3px; }
  .tab-btn small{ font-size:0.78rem; line-height:1.4; display:block; }
  .tab-btn[aria-selected="true"]{ border-color:var(--cyan); background:linear-gradient(180deg, var(--cyan-soft), transparent); }
  .tab-btn[aria-selected="true"] .ico{ background:linear-gradient(140deg,var(--blue),var(--cyan)); }
  .tab-btn[aria-selected="true"] .ico svg{ stroke:#04121a; }

  .tab-panel{ padding:34px; min-height:520px; }
  @media (max-width:640px){ .tab-panel{ padding:22px; } }
  .tab-panel-head{ display:flex; align-items:center; gap:14px; margin-bottom:6px; }
  .tab-panel-head .ico{ width:46px; height:46px; border-radius:12px; display:flex; align-items:center; justify-content:center; background:linear-gradient(140deg,var(--blue),var(--cyan)); flex:none; }
  .tab-panel-head .ico svg{ width:22px; height:22px; stroke:#04121a; }
  .tab-panel h3{ font-size:1.5rem; }
  .tab-panel .lede{ margin-top:14px; color:var(--ink-muted); font-size:1rem; max-width:60ch; }

  .feature-list{ display:grid; grid-template-columns:1fr 1fr; gap:12px 20px; margin-top:26px; }
  @media (max-width:520px){ .feature-list{ grid-template-columns:1fr; } }
  .feature-list li{ display:flex; gap:10px; align-items:flex-start; font-size:0.9rem; color:var(--ink-muted); }
  .feature-list li svg{ flex:none; width:16px; height:16px; stroke:var(--emerald); margin-top:2px; }

  .terminal{
    margin-top:28px; background:#070B14; border:1px solid var(--border); border-radius:var(--r-m); overflow:hidden;
  }
  .terminal-bar{ display:flex; align-items:center; gap:8px; padding:11px 14px; border-bottom:1px solid var(--border); background:rgba(255,255,255,0.02); }
  .terminal-bar i{ width:10px; height:10px; border-radius:50%; display:block; }
  .terminal-bar i:nth-child(1){ background:#ED6A5E; }
  .terminal-bar i:nth-child(2){ background:#F4BF4F; }
  .terminal-bar i:nth-child(3){ background:#61C554; }
  .terminal-bar span{ margin-left:8px; font-family:var(--font-m); font-size:0.72rem; color:var(--ink-faint); }
  .terminal-body{ padding:18px 20px; font-family:var(--font-m); font-size:0.83rem; line-height:1.9; }
  .terminal-body .ln{ opacity:0; transform:translateY(4px); animation:term-in 420ms ease forwards; white-space:pre-wrap; }
  @keyframes term-in{ to{ opacity:1; transform:translateY(0); } }
  .terminal-body .prompt{ color:var(--cyan); }
  .terminal-body .ok{ color:var(--emerald); }
  .terminal-body .dim{ color:var(--ink-faint); }
  .terminal-body .warn{ color:var(--amber); }
  .terminal-body .txt{ color:var(--ink-muted); }

  /* ---------- ROI Calculator ---------- */
  .roi-grid{ display:grid; grid-template-columns:1fr 1fr; gap:28px; align-items:stretch; }
  @media (max-width:880px){ .roi-grid{ grid-template-columns:1fr; } }
  .roi-card{ padding:34px; }
  @media (max-width:640px){ .roi-card{ padding:24px; } }

  .field-label{ display:flex; align-items:center; justify-content:space-between; font-size:0.82rem; font-weight:600; color:var(--ink); margin-bottom:12px; }
  .field-label .val{ font-family:var(--font-m); color:var(--cyan); font-weight:500; }

  .pill-group{ display:flex; flex-wrap:wrap; gap:8px; }
  .pill{
    padding:9px 14px; border-radius:100px; font-size:0.82rem; font-weight:500; color:var(--ink-muted);
    background:var(--bg-elev); border:1px solid var(--border); transition:all 160ms ease;
  }
  .pill[aria-pressed="true"]{ color:#04121a; background:linear-gradient(135deg,var(--blue),var(--cyan)); border-color:transparent; font-weight:700; }
  .pill:hover:not([aria-pressed="true"]){ border-color:var(--border-strong); color:var(--ink); }

  .roi-field{ margin-bottom:28px; }
  .roi-field:last-child{ margin-bottom:0; }

  input[type="range"]{
    -webkit-appearance:none; appearance:none; width:100%; height:6px; border-radius:6px;
    background:linear-gradient(90deg,var(--cyan) var(--fill,50%), var(--bg-elev-2) var(--fill,50%));
    outline:none;
  }
  input[type="range"]::-webkit-slider-thumb{
    -webkit-appearance:none; width:20px; height:20px; border-radius:50%;
    background:var(--ink); border:4px solid var(--cyan); cursor:pointer; box-shadow:0 2px 10px rgba(0,0,0,0.4);
  }
  input[type="range"]::-moz-range-thumb{ width:20px; height:20px; border-radius:50%; background:var(--ink); border:4px solid var(--cyan); cursor:pointer; }
  input[type="range"]::-moz-range-track{ height:6px; border-radius:6px; background:var(--bg-elev-2); }

  .roi-result{ padding:34px; display:flex; flex-direction:column; background:linear-gradient(165deg, rgba(52,211,240,0.08), rgba(46,217,155,0.05)); }
  @media (max-width:640px){ .roi-result{ padding:24px; } }
  .roi-stats{ display:grid; grid-template-columns:1fr; gap:22px; margin-top:8px; }
  .roi-stat{ padding:18px 20px; border-radius:var(--r-m); background:var(--bg-elev); border:1px solid var(--border); }
  .roi-stat strong{ display:block; font-family:var(--font-d); font-size:2.1rem; font-weight:800; font-variant-numeric:tabular-nums; }
  .roi-stat.cyan strong{ color:var(--cyan); }
  .roi-stat.emerald strong{ color:var(--emerald); }
  .roi-stat span{ font-size:0.8rem; color:var(--ink-muted); }
  .roi-bar-track{ height:6px; border-radius:6px; background:var(--bg-elev-2); margin-top:12px; overflow:hidden; }
  .roi-bar-fill{ height:100%; border-radius:6px; background:linear-gradient(90deg,var(--cyan),var(--emerald)); transition:width 500ms cubic-bezier(.2,.7,.3,1); }
  .roi-note{ margin-top:20px; font-size:0.78rem; color:var(--ink-faint); }

  /* ---------- Lead capture ---------- */
  .lead-card{ padding:48px 44px; max-width:820px; margin:0 auto; }
  @media (max-width:640px){ .lead-card{ padding:28px 22px; } }
  .lead-intro{ text-align:center; max-width:580px; margin:0 auto 32px; }
  .lead-intro h2{ font-size:clamp(1.7rem,3.2vw,2.2rem); margin-top:14px; }
  .lead-intro p{ margin-top:14px; font-size:1rem; color:var(--ink-muted); }
  .success-panel.lead-success{ align-items:center; text-align:center; margin:0 auto; }
  .lead-success .check{ margin:0 auto; }
  .lead-success p{ max-width:48ch; }
  body.problem-submitted #problemForm{ display:none; }

  /* ---------- Tech stack ---------- */
  .stack-group{ margin-bottom:22px; }
  .stack-group:last-child{ margin-bottom:0; }
  .stack-group-label{ font-family:var(--font-m); font-size:0.72rem; letter-spacing:0.1em; text-transform:uppercase; color:var(--ink-faint); margin-bottom:12px; display:block; }
  .chip-row{ display:flex; flex-wrap:wrap; gap:10px; }
  .chip{ padding:9px 16px; border-radius:100px; background:var(--glass); border:1px solid var(--border); font-family:var(--font-m); font-size:0.82rem; color:var(--ink-muted); transition:border-color 160ms ease, color 160ms ease; }
  .chip:hover{ border-color:var(--cyan); color:var(--ink); }

  /* ---------- Impact metrics ---------- */
  .metrics-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:1px; background:var(--border); border:1px solid var(--border); border-radius:var(--r-l); overflow:hidden; }
  @media (max-width:820px){ .metrics-grid{ grid-template-columns:1fr 1fr; } }
  @media (max-width:480px){ .metrics-grid{ grid-template-columns:1fr; } }
  .metric-tile{ background:var(--bg-elev); padding:34px 26px; }
  .metric-tile strong{ display:block; font-family:var(--font-d); font-size:clamp(2rem,3.4vw,2.7rem); font-weight:800; font-variant-numeric:tabular-nums; }
  .metric-tile strong.grad{ background:linear-gradient(100deg,var(--cyan),var(--emerald)); -webkit-background-clip:text; background-clip:text; color:transparent; }
  .metric-tile span{ display:block; margin-top:8px; font-size:0.88rem; color:var(--ink-muted); }

  /* ---------- Case studies ---------- */
  .case-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
  @media (max-width:900px){ .case-grid{ grid-template-columns:1fr; } }
  .case-card{ padding:28px; display:flex; flex-direction:column; gap:16px; transition:border-color 200ms ease, transform 200ms ease; }
  .case-card:hover{ border-color:var(--border-strong); transform:translateY(-3px); }
  .case-tag{ font-family:var(--font-m); font-size:0.7rem; letter-spacing:0.08em; text-transform:uppercase; color:var(--ink-faint); }
  .case-card h4{ font-size:1.12rem; line-height:1.35; }
  .case-card p{ font-size:0.88rem; color:var(--ink-muted); line-height:1.6; }
  .case-result{ display:flex; align-items:baseline; gap:8px; padding-top:14px; border-top:1px solid var(--border); margin-top:auto; }
  .case-result strong{ font-family:var(--font-d); font-size:1.5rem; font-weight:800; color:var(--emerald); }
  .case-result span{ font-size:0.78rem; color:var(--ink-muted); }

  /* ---------- Contact ---------- */
  .contact-grid{ display:grid; grid-template-columns:0.85fr 1.15fr; gap:44px; align-items:start; }
  @media (max-width:900px){ .contact-grid{ grid-template-columns:1fr; } }
  .contact-list{ margin-top:26px; display:flex; flex-direction:column; gap:18px; }
  .contact-list li{ display:flex; gap:12px; align-items:flex-start; font-size:0.9rem; color:var(--ink-muted); }
  .contact-list svg{ flex:none; width:18px; height:18px; stroke:var(--cyan); margin-top:2px; }

  .form-card{ padding:32px; }
  @media (max-width:640px){ .form-card{ padding:22px; } }
  .form-grid{ display:grid; grid-template-columns:1fr 1fr; gap:18px; }
  @media (max-width:560px){ .form-grid{ grid-template-columns:1fr; } }
  .form-field{ display:flex; flex-direction:column; gap:8px; }
  .form-field.full{ grid-column:1/-1; }
  .form-field label{ font-size:0.8rem; font-weight:600; color:var(--ink); }
  .form-field input, .form-field select, .form-field textarea{
    font-family:var(--font-b); font-size:0.92rem; color:var(--ink);
    background:var(--bg-elev); border:1px solid var(--border); border-radius:10px; padding:12px 14px;
    transition:border-color 160ms ease, background 160ms ease;
  }
  .form-field textarea{ resize:vertical; min-height:96px; font-family:var(--font-b); }
  .form-field input:focus, .form-field select:focus, .form-field textarea:focus{ border-color:var(--cyan); background:var(--bg-elev-2); }
  .form-field input::placeholder, .form-field textarea::placeholder{ color:var(--ink-faint); }
  .form-field select{ appearance:none; -webkit-appearance:none; background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2393A4BD' stroke-width='2'><polyline points='6 9 12 15 18 9'/></svg>"); background-repeat:no-repeat; background-position:right 14px center; background-size:16px; padding-right:38px; }
  .form-submit{ margin-top:24px; display:flex; align-items:center; gap:16px; flex-wrap:wrap; }
  .form-fineprint{ font-size:0.76rem; color:var(--ink-faint); }

  .success-panel{ display:none; flex-direction:column; align-items:flex-start; gap:16px; padding:12px 4px 4px; text-align:left; }
  .success-panel.show{ display:flex; }
  .success-panel .check{ width:56px; height:56px; border-radius:50%; background:var(--emerald-soft); border:1px solid var(--emerald); display:flex; align-items:center; justify-content:center; }
  .success-panel .check svg{ width:26px; height:26px; stroke:var(--emerald); stroke-width:2.5; }
  .success-panel h4{ font-size:1.25rem; }
  .success-panel p{ color:var(--ink-muted); font-size:0.92rem; max-width:44ch; }
  body.submitted .form-card form{ display:none; }

  /* ---------- Footer ---------- */
  .footer{ border-top:1px solid var(--border); padding:68px 0 0; }
  .footer-grid{ display:grid; grid-template-columns:1.4fr 1fr 1fr 1fr; gap:36px; padding-bottom:44px; }
  @media (max-width:820px){ .footer-grid{ grid-template-columns:1fr 1fr; row-gap:36px; } }
  @media (max-width:520px){ .footer-grid{ grid-template-columns:1fr; } }
  .footer-brand p{ margin-top:14px; font-size:0.88rem; color:var(--ink-muted); max-width:34ch; line-height:1.6; }
  .footer h5{ font-family:var(--font-m); font-size:0.72rem; letter-spacing:0.1em; text-transform:uppercase; color:var(--ink-faint); margin-bottom:16px; font-weight:500; }
  .footer-links{ display:flex; flex-direction:column; gap:11px; }
  .footer-links a, .footer-links button{ background:none; border:none; padding:0; text-align:left; font-size:0.88rem; color:var(--ink-muted); transition:color 160ms ease; }
  .footer-links a:hover, .footer-links button:hover{ color:var(--cyan); }

  .compliance-row{ display:flex; flex-wrap:wrap; gap:10px; padding:26px 0; border-top:1px solid var(--border); }
  .compliance-badge{ display:flex; align-items:center; gap:7px; padding:7px 13px; border-radius:100px; background:var(--glass); border:1px solid var(--border); font-size:0.75rem; color:var(--ink-muted); }
  .compliance-badge svg{ width:13px; height:13px; stroke:var(--emerald); }

  .footer-bottom{ display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:10px; padding:22px 0; border-top:1px solid var(--border); font-size:0.8rem; color:var(--ink-faint); }

  /* ---------- Modal ---------- */
  .modal-backdrop{ position:fixed; inset:0; background:rgba(6,9,17,0.72); backdrop-filter:blur(4px); z-index:200; display:none; align-items:center; justify-content:center; padding:24px; }
  .modal-backdrop.show{ display:flex; }
  .modal{ width:100%; max-width:600px; max-height:80vh; overflow-y:auto; padding:32px; background:var(--bg-elev); }
  .modal-head{ display:flex; align-items:center; justify-content:space-between; margin-bottom:18px; position:sticky; top:-32px; background:var(--bg-elev); padding-top:4px; }
  .modal h3{ font-size:1.3rem; }
  .modal-close{ width:32px; height:32px; border-radius:8px; background:var(--bg-elev-2); border:1px solid var(--border); display:flex; align-items:center; justify-content:center; flex:none; }
  .modal-close svg{ width:16px; height:16px; }
  .modal-body h4{ font-size:0.95rem; margin:20px 0 8px; color:var(--ink); }
  .modal-body h4:first-child{ margin-top:0; }
  .modal-body p{ font-size:0.88rem; color:var(--ink-muted); line-height:1.7; }

  .skip-link{ position:absolute; left:-9999px; top:0; background:var(--cyan); color:#04121a; padding:10px 16px; border-radius:8px; z-index:300; font-weight:600; }
  .skip-link:focus{ left:16px; top:16px; }

  /* ---------- Standalone legal pages (privacy.html / terms.html / payment-terms.html) ---------- */
  .legal-page{ padding:64px 0 100px; }
  .legal-page .legal-header{ max-width:720px; margin-bottom:44px; }
  .legal-page .legal-header h1{ font-size:clamp(1.9rem,3.6vw,2.6rem); margin-top:14px; }
  .legal-page .legal-header .updated{ margin-top:12px; font-size:0.85rem; color:var(--ink-faint); }
  .legal-body{ max-width:720px; }
  .legal-body h2{ font-size:1.15rem; margin:32px 0 10px; }
  .legal-body h2:first-child{ margin-top:0; }
  .legal-body p, .legal-body li{ font-size:0.94rem; color:var(--ink-muted); line-height:1.75; }
  .legal-body ul{ margin:10px 0 0; padding-left:0; }
  .legal-body li{ display:flex; gap:10px; align-items:flex-start; margin-bottom:8px; }
  .legal-body li::before{ content:"—"; color:var(--ink-faint); flex:none; }
  .legal-body a{ color:var(--cyan); }
  .legal-body a:hover{ text-decoration:underline; }
