
  :root{
    --paper:#F5F8F8; --surface:#FFFFFF; --surface-2:#EBF1F1;
    --ink:#12262C; --ink-muted:#52696F; --ink-faint:#7E9297;
    --border:#D8E3E3; --border-strong:#BFCFCF;
    --teal-900:#06232D; --teal-800:#0A3140; --teal-700:#0F3F52; --teal-600:#2E7883; --teal-500:#3E8E9C; --teal-100:#DCEEF0;
    --gold-600:#A9821F; --gold-500:#C9A227; --gold-400:#E0B94E; --gold-300:#F0D48A; --gold-100:#FAF0D6;
    --good:#0ca30c; --warning:#fab219; --serious:#ec835a; --critical:#d03b3b;
    --shadow: 0 1px 2px rgba(10,49,64,.06), 0 8px 24px -12px rgba(10,49,64,.18);
    --radius: 10px;
    --maxw: 1180px;
    color-scheme: light;
  }
  @media (prefers-color-scheme: dark){
    :root:not([data-theme="light"]){
      --paper:#0B1417; --surface:#101B1F; --surface-2:#152225;
      --ink:#EAF2F2; --ink-muted:#9FB3B8; --ink-faint:#728488;
      --border:#223034; --border-strong:#2C3D41;
      --teal-800:#0E3E4F; --teal-700:#155469; --teal-600:#3E8E9C; --teal-500:#5CA6B2; --teal-100:#132B31;
      --gold-500:#E0B94E; --gold-400:#EBCB74; --gold-300:#F3DB98; --gold-100:#22200f;
      --shadow: 0 1px 2px rgba(0,0,0,.4), 0 10px 30px -14px rgba(0,0,0,.6);
      color-scheme: dark;
    }
  }
  :root[data-theme="dark"]{
    --paper:#0B1417; --surface:#101B1F; --surface-2:#152225;
    --ink:#EAF2F2; --ink-muted:#9FB3B8; --ink-faint:#728488;
    --border:#223034; --border-strong:#2C3D41;
    --teal-800:#0E3E4F; --teal-700:#155469; --teal-600:#3E8E9C; --teal-500:#5CA6B2; --teal-100:#132B31;
    --gold-500:#E0B94E; --gold-400:#EBCB74; --gold-300:#F3DB98; --gold-100:#22200f;
    --shadow: 0 1px 2px rgba(0,0,0,.4), 0 10px 30px -14px rgba(0,0,0,.6);
    color-scheme: dark;
  }

  *{box-sizing:border-box;}
  body{
    margin:0; background:var(--paper); color:var(--ink);
    font-family:"IBM Plex Sans", ui-sans-serif, system-ui, sans-serif;
    font-size:16px; line-height:1.6; -webkit-font-smoothing:antialiased;
  }
  h1,h2,h3,h4{ font-family:"Sora", ui-sans-serif, system-ui, sans-serif; font-weight:700; line-height:1.15; text-wrap:balance; margin:0; color:var(--ink);}
  p{margin:0;}
  a{color:inherit;}
  .mono{font-family:"IBM Plex Mono", ui-monospace, monospace;}
  .eyebrow{ font-family:"IBM Plex Mono", ui-monospace, monospace; font-size:12.5px; letter-spacing:.09em; text-transform:uppercase; color:var(--gold-600); font-weight:500;}
  :root[data-theme="dark"] .eyebrow, @supports(color:red){}
  .eyebrow{color:var(--gold-600);}
  @media (prefers-color-scheme: dark){ :root:not([data-theme="light"]) .eyebrow{color:var(--gold-400);} }
  :root[data-theme="dark"] .eyebrow{color:var(--gold-400);}

  .wrap{max-width:var(--maxw); margin:0 auto; padding:0 28px;}
  [hidden]{display:none !important;}
  img{max-width:100%;}
  ::selection{ background:var(--gold-300); color:var(--teal-900); }
  :focus-visible{ outline:2px solid var(--teal-600); outline-offset:2px; border-radius:4px;}

  /* ---------- Header / Nav ---------- */
  header.site{
    position:sticky; top:0; z-index:40; background:color-mix(in srgb, var(--paper) 88%, transparent);
    backdrop-filter:blur(10px); border-bottom:1px solid var(--border);
  }
  .nav-row{ display:flex; align-items:center; justify-content:space-between; height:72px; gap:16px;}
  .brand{ display:flex; align-items:center; gap:10px; font-family:"Sora"; font-weight:700; font-size:19px; letter-spacing:-.01em; }
  .brand-mark{ width:30px; height:30px; flex:none; }
  .brand small{display:block; font-family:"IBM Plex Mono"; font-size:9.5px; letter-spacing:.12em; color:var(--ink-muted); font-weight:400; text-transform:uppercase;}
  nav.primary{ display:flex; align-items:center; gap:2px; }
  nav.primary a{
    font:500 14.5px/1 "IBM Plex Sans"; background:none; border:none; color:var(--ink-muted);
    padding:10px 14px; border-radius:8px; cursor:pointer; white-space:nowrap;
  }
  nav.primary a:hover{ color:var(--ink); background:var(--surface-2); }
  nav.primary a[aria-current="page"]{ color:var(--teal-700); font-weight:600; }
  :root[data-theme="dark"] nav.primary a[aria-current="page"]{color:var(--teal-500);}
  @media (prefers-color-scheme: dark){:root:not([data-theme="light"]) nav.primary a[aria-current="page"]{color:var(--teal-500);}}
  .cta{
    font:600 14px "IBM Plex Sans"; background:var(--teal-800); color:#fff; border:1px solid var(--teal-800);
    padding:10px 18px; border-radius:8px; cursor:pointer; white-space:nowrap;
  }
  .cta:hover{ background:var(--teal-700); }
  .cta.gold{ background:var(--gold-500); border-color:var(--gold-500); color:var(--teal-900); font-weight:700;}
  .cta.gold:hover{ background:var(--gold-400); }
  .cta.ghost{ background:none; color:var(--teal-800); border:1px solid var(--border-strong);}
  :root[data-theme="dark"] .cta.ghost{color:var(--ink);}
  .cta.ghost:hover{background:var(--surface-2);}
  .menu-btn{ display:none; background:none; border:1px solid var(--border-strong); border-radius:8px; padding:8px 10px; }
  @media (max-width: 920px){
    nav.primary{ position:fixed; inset:72px 0 0 0; background:var(--paper); flex-direction:column; align-items:stretch;
      padding:14px; gap:4px; transform:translateY(-8px); opacity:0; pointer-events:none; transition:opacity .15s ease, transform .15s ease; overflow:auto;}
    nav.primary.open{ opacity:1; pointer-events:auto; transform:translateY(0); }
    nav.primary a{ text-align:left; padding:14px 12px; font-size:16px; border-bottom:1px solid var(--border);}
    .menu-btn{ display:inline-flex; }
    .nav-cta{display:none;}
  }

  /* ---------- Layout helpers ---------- */
  .page{ padding-bottom:96px; }
  section.block{ padding:72px 0; border-bottom:1px solid var(--border); }
  section.block:last-of-type{ border-bottom:none; }
  .block-head{ max-width:720px; margin-bottom:40px; }
  .block-head h2{ font-size:clamp(26px,3.4vw,36px); margin-top:8px; }
  .block-head p.lede{ margin-top:14px; color:var(--ink-muted); font-size:17px; max-width:620px;}
  .grid{ display:grid; gap:20px; }
  .grid.cols-2{ grid-template-columns:repeat(2,1fr); }
  .grid.cols-3{ grid-template-columns:repeat(3,1fr); }
  .grid.cols-4{ grid-template-columns:repeat(4,1fr); }
  .grid.cols-5{ grid-template-columns:repeat(5,1fr); }
  @media (max-width:920px){ .grid.cols-2,.grid.cols-3,.grid.cols-4,.grid.cols-5{ grid-template-columns:1fr 1fr; } }
  @media (max-width:640px){ .grid.cols-2,.grid.cols-3,.grid.cols-4,.grid.cols-5{ grid-template-columns:1fr; } }

  .card{ background:var(--surface); border:1px solid var(--border); border-radius:var(--radius); padding:24px; }
  .card.raised{ box-shadow:var(--shadow); }
  .tag{ display:inline-flex; align-items:center; gap:6px; font:500 12px "IBM Plex Mono"; text-transform:uppercase; letter-spacing:.06em;
        background:var(--teal-100); color:var(--teal-700); padding:4px 10px; border-radius:100px; }
  :root[data-theme="dark"] .tag{ color:var(--teal-500); }
  @media (prefers-color-scheme: dark){:root:not([data-theme="light"]) .tag{color:var(--teal-500);}}

  /* ---------- Hero ---------- */
  .hero{ position:relative; padding:64px 0 56px; overflow:hidden; border-bottom:1px solid var(--border);}
  .hero-inner{ position:relative; z-index:2; display:grid; grid-template-columns:1.15fr .85fr; gap:48px; align-items:center;}
  @media (max-width:920px){ .hero-inner{ grid-template-columns:1fr; } }
  .hero h1{ font-size:clamp(34px,5vw,54px); margin-top:14px; letter-spacing:-.015em;}
  .hero .lede{ margin-top:18px; font-size:18px; color:var(--ink-muted); max-width:540px;}
  .hero-ctas{ display:flex; gap:12px; margin-top:30px; flex-wrap:wrap;}
  .facet-bg{ position:absolute; inset:0; z-index:1; opacity:.5; pointer-events:none;}
  .facet-bg path,.facet-bg polygon{ stroke:var(--border-strong); stroke-width:1; fill:none; }
  :root[data-theme="dark"] .facet-bg{opacity:.35;}

  .stat-row{ display:grid; grid-template-columns:repeat(4,1fr); gap:1px; background:var(--border); border:1px solid var(--border); border-radius:var(--radius); overflow:hidden; margin-top:52px;}
  @media (max-width:760px){ .stat-row{ grid-template-columns:1fr 1fr; } }
  .stat{ background:var(--surface); padding:22px 20px; }
  .stat .num{ font-family:"IBM Plex Mono"; font-size:28px; font-weight:600; color:var(--teal-700); font-variant-numeric:tabular-nums;}
  :root[data-theme="dark"] .stat .num{color:var(--teal-500);}
  @media (prefers-color-scheme: dark){:root:not([data-theme="light"]) .stat .num{color:var(--teal-500);}}
  .stat .label{ margin-top:6px; font-size:13px; color:var(--ink-muted); }

  /* pillar / industry cards */
  .pillar{ display:flex; flex-direction:column; gap:12px; }
  .pillar .icon{ width:40px;height:40px; border-radius:9px; background:var(--teal-100); display:flex; align-items:center; justify-content:center; color:var(--teal-700);}
  :root[data-theme="dark"] .pillar .icon{color:var(--teal-500);}
  @media (prefers-color-scheme: dark){:root:not([data-theme="light"]) .pillar .icon{color:var(--teal-500);}}
  .pillar h3{ font-size:18px; }
  .pillar p{ color:var(--ink-muted); font-size:14.5px;}
  .pillar .built{ margin-top:auto; padding-top:12px; border-top:1px dashed var(--border); font-size:12.5px; color:var(--ink-faint); font-family:"IBM Plex Mono";}

  .industry-card{ display:flex; flex-direction:column; gap:10px; }
  .industry-card h3{ font-size:17px; display:flex; align-items:center; gap:8px;}
  .industry-card ul{ margin:0; padding-left:18px; color:var(--ink-muted); font-size:14px; }
  .industry-card li{ margin-bottom:4px; }
  .industry-card .outcome{ margin-top:auto; background:var(--surface-2); border-radius:8px; padding:10px 12px; font-size:13px; color:var(--ink);}
  .industry-card .outcome b{color:var(--teal-700);}
  :root[data-theme="dark"] .industry-card .outcome b{color:var(--teal-500);}
  @media (prefers-color-scheme: dark){:root:not([data-theme="light"]) .industry-card .outcome b{color:var(--teal-500);}}

  /* case studies */
  .case{ display:grid; grid-template-columns:.9fr 1.1fr; gap:0; border:1px solid var(--border); border-radius:var(--radius); overflow:hidden; margin-bottom:24px; background:var(--surface);}
  @media (max-width:860px){ .case{ grid-template-columns:1fr; } }
  .case-meta{ background:var(--teal-800); color:#EAF2F2; padding:28px; display:flex; flex-direction:column; gap:14px; }
  .case-meta .tag{ background:rgba(255,255,255,.12); color:var(--gold-300); }
  .case-meta h3{ color:#fff; font-size:20px; }
  .case-meta .sector{ font-size:13px; color:#B9CBCF; }
  .case-kpis{ display:flex; gap:18px; margin-top:auto; flex-wrap:wrap; }
  .case-kpis div .n{font-family:"IBM Plex Mono"; font-size:20px; font-weight:600; color:var(--gold-300);}
  .case-kpis div .l{font-size:11.5px; color:#9FB6BB;}
  .case-body{ padding:28px; display:flex; flex-direction:column; gap:14px;}
  .case-body h4{ font-size:12.5px; text-transform:uppercase; letter-spacing:.06em; color:var(--ink-faint); font-family:"IBM Plex Mono"; font-weight:500;}
  .case-body p{ font-size:14.5px; color:var(--ink-muted); }

  /* prototype lab */
  .lab-tabs{ display:flex; gap:8px; flex-wrap:wrap; margin-bottom:28px; }
  .lab-tab{ font:600 13.5px "IBM Plex Sans"; padding:10px 16px; border-radius:100px; border:1px solid var(--border-strong); background:var(--surface); cursor:pointer; color:var(--ink-muted);}
  .lab-tab[aria-selected="true"]{ background:var(--teal-800); border-color:var(--teal-800); color:#fff; }
  .lab-panel{ display:none; }
  .lab-panel.active{ display:grid; grid-template-columns:1fr 1fr; gap:28px; }
  @media (max-width:900px){ .lab-panel.active{ grid-template-columns:1fr; } }
  .field{ margin-bottom:16px; }
  .field label{ display:flex; justify-content:space-between; font-size:13.5px; font-weight:500; margin-bottom:6px; color:var(--ink);}
  .field .hint{ font-weight:400; color:var(--ink-faint); font-family:"IBM Plex Mono"; font-size:12px;}
  select, input[type="number"]{
    width:100%; padding:9px 10px; border-radius:7px; border:1px solid var(--border-strong); background:var(--surface); color:var(--ink);
    font:500 14px "IBM Plex Sans";
  }
  input[type="range"]{ width:100%; accent-color:var(--teal-600); }
  .stations-grid{ display:grid; grid-template-columns:1.4fr repeat(2,1fr); gap:6px 10px; align-items:center; font-size:13.5px;}
  .stations-grid .hd{ font-family:"IBM Plex Mono"; font-size:11px; text-transform:uppercase; color:var(--ink-faint);}
  .result-card{ background:var(--surface-2); border-radius:var(--radius); padding:20px; }
  .kpi-mini{ display:grid; grid-template-columns:repeat(2,1fr); gap:12px; margin:14px 0; }
  .kpi-mini div{ background:var(--surface); border:1px solid var(--border); border-radius:8px; padding:10px 12px;}
  .kpi-mini .n{ font-family:"IBM Plex Mono"; font-size:19px; font-weight:600; font-variant-numeric:tabular-nums;}
  .kpi-mini .l{ font-size:11.5px; color:var(--ink-muted); }
  .badge{ display:inline-flex; align-items:center; gap:6px; padding:5px 12px; border-radius:100px; font:700 13px "IBM Plex Mono"; }
  .badge.good{ background:color-mix(in srgb, var(--good) 16%, transparent); color:var(--good); }
  .badge.warning{ background:color-mix(in srgb, var(--warning) 20%, transparent); color:#8a5c00; }
  :root[data-theme="dark"] .badge.warning{color:var(--warning);}
  @media (prefers-color-scheme: dark){:root:not([data-theme="light"]) .badge.warning{color:var(--warning);}}
  .badge.critical{ background:color-mix(in srgb, var(--critical) 16%, transparent); color:var(--critical); }
  .pipe-steps{ display:flex; gap:8px; margin-bottom:18px; flex-wrap:wrap;}
  .pipe-step{ flex:1; min-width:110px; border:1px solid var(--border); border-radius:8px; padding:10px; text-align:center; background:var(--surface); transition:border-color .2s, background .2s;}
  .pipe-step.on{ border-color:var(--teal-600); background:var(--teal-100); }
  .pipe-step .k{font-family:"IBM Plex Mono"; font-size:10.5px; color:var(--ink-faint); text-transform:uppercase;}
  .pipe-step .v{font-size:12.5px; font-weight:600; margin-top:2px;}
  table.log{ width:100%; border-collapse:collapse; font-size:12.5px; }
  table.log th{ text-align:left; font-family:"IBM Plex Mono"; font-weight:500; color:var(--ink-faint); padding:6px 8px; border-bottom:1px solid var(--border); text-transform:uppercase; font-size:10.5px;}
  table.log td{ padding:7px 8px; border-bottom:1px solid var(--border); font-variant-numeric:tabular-nums;}
  .note{ font-size:12.5px; color:var(--ink-faint); margin-top:10px; }
  .disclaim{ display:flex; gap:8px; align-items:flex-start; background:var(--gold-100); border:1px solid var(--gold-300); border-radius:8px; padding:12px 14px; font-size:13px; color:var(--ink); margin-bottom:20px;}

  /* engage */
  .model-card{ display:flex; flex-direction:column; gap:10px; }
  .model-card .price{ font-family:"IBM Plex Mono"; font-size:13px; color:var(--teal-700);}
  :root[data-theme="dark"] .model-card .price{color:var(--teal-500);}
  @media (prefers-color-scheme: dark){:root:not([data-theme="light"]) .model-card .price{color:var(--teal-500);}}
  .steps{ counter-reset:step; display:grid; grid-template-columns:repeat(5,1fr); gap:16px; }
  @media (max-width:920px){ .steps{ grid-template-columns:repeat(2,1fr);} }
  @media (max-width:560px){ .steps{ grid-template-columns:1fr;} }
  .step{ position:relative; padding-top:38px;}
  .step:before{ counter-increment:step; content:counter(step); font-family:"IBM Plex Mono"; font-weight:600; font-size:14px;
    width:30px;height:30px; border-radius:50%; border:1.5px solid var(--teal-600); color:var(--teal-700); display:flex; align-items:center; justify-content:center;
    position:absolute; top:0; left:0; background:var(--surface);}
  :root[data-theme="dark"] .step:before{color:var(--teal-500);}
  @media (prefers-color-scheme: dark){:root:not([data-theme="light"]) .step:before{color:var(--teal-500);}}
  .step h4{ font-size:14.5px; margin-bottom:4px;}
  .step p{ font-size:13px; color:var(--ink-muted); }

  .contact-card{ background:var(--teal-800); color:#EAF2F2; border-radius:14px; padding:36px; display:grid; grid-template-columns:1.2fr 1fr; gap:36px;}
  @media (max-width:820px){ .contact-card{ grid-template-columns:1fr; } }
  .contact-card h2{ color:#fff; }
  .contact-card .lede{ color:#B9CBCF; margin-top:10px; font-size:15px;}
  .contact-form .field label{ color:#EAF2F2; }
  .contact-form input, .contact-form textarea, .contact-form select{
    width:100%; padding:10px; border-radius:7px; border:1px solid rgba(255,255,255,.22); background:rgba(255,255,255,.06); color:#fff; font:500 14px "IBM Plex Sans";
  }
  .contact-form textarea{ min-height:80px; resize:vertical; }
  .contact-form ::placeholder{ color:#8CA6AB; }

  footer.site{ border-top:1px solid var(--border); padding:40px 0; }
  .foot-row{ display:flex; justify-content:space-between; align-items:flex-start; gap:24px; flex-wrap:wrap;}
  .foot-links{ display:flex; gap:22px; flex-wrap:wrap; }
  .foot-links a{ background:none; border:none; padding:0; font:500 13.5px "IBM Plex Sans"; color:var(--ink-muted); cursor:pointer;}
  .foot-links a:hover{ color:var(--teal-700); }
  :root[data-theme="dark"] .foot-links a:hover{color:var(--teal-500);}
  .copyright{ font-size:12.5px; color:var(--ink-faint); margin-top:24px; }

  @media (prefers-reduced-motion: reduce){ *{ transition:none !important; animation:none !important; } }

/* ---- link-as-control normalization (multi-page build) ---- */
nav.primary a{ text-decoration:none; display:inline-block; }
.cta{ text-decoration:none; display:inline-flex; align-items:center; justify-content:center; }
.foot-links a{ text-decoration:none; }
a.brand{ text-decoration:none; color:inherit; }
a.card{ text-decoration:none; color:inherit; display:flex; flex-direction:column; }
.brand-mark-img{ width:32px; height:auto; display:block; }
footer .brand-mark-img{ width:30px; }
