
  :root{
    --ink:#0A0E12;
    --panel:#141B23;
    --panel-2:#1B232C;
    --line:#2A323C;
    --frost:#EDEDE6;
    --text-hi:#F4F3EE;
    --text-lo:#96A2AD;
    --cold:#2C4F7C;
    --warm:#C1401F;
    --amber:#E3A83B;
    --stripe-1:#16345C;
    --stripe-2:#25537F;
    --stripe-3:#4C6B6E;
    --stripe-4:#8C6A45;
    --stripe-5:#B6552B;
    --stripe-6:#C1401F;
    --radius:2px;
    --maxw:1180px;
  }
  *{box-sizing:border-box;}
  html{scroll-behavior:smooth;}
  @media (prefers-reduced-motion: reduce){
    html{scroll-behavior:auto;}
    *{animation-duration:0.001ms !important; animation-iteration-count:1 !important; transition-duration:0.001ms !important;}
  }
  body{
    margin:0;
    background:var(--ink);
    color:var(--text-hi);
    font-family:'IBM Plex Sans', sans-serif;
    font-size:16px;
    line-height:1.55;
    -webkit-font-smoothing:antialiased;
  }
  h1,h2,h3,h4{
    font-family:'Space Grotesk', sans-serif;
    font-weight:600;
    margin:0;
    letter-spacing:-0.01em;
  }
  .mono{
    font-family:'IBM Plex Mono', monospace;
  }
  a{color:inherit;}
  .wrap{max-width:var(--maxw); margin:0 auto; padding:0 28px;}
  img,svg{display:block; max-width:100%;}

  /* focus visibility */
  a:focus-visible, button:focus-visible{
    outline:2px solid var(--amber);
    outline-offset:3px;
  }

  /* ===== Warming stripe motif ===== */
  .stripe-bar{
    display:flex;
    width:100%;
    height:6px;
  }
  .stripe-bar span{flex:1;}
  .stripe-bar .s1{background:var(--stripe-1);}
  .stripe-bar .s2{background:var(--stripe-2);}
  .stripe-bar .s3{background:var(--stripe-3);}
  .stripe-bar .s4{background:var(--stripe-4);}
  .stripe-bar .s5{background:var(--stripe-5);}
  .stripe-bar .s6{background:var(--stripe-6);}
  .stripe-bar.thin{height:2px;}

  /* ===== Nav ===== */
  header.site{
    position:sticky; top:0; z-index:50;
    background:rgba(10,14,18,0.92);
    backdrop-filter:blur(8px);
    border-bottom:1px solid var(--line);
  }
  nav{
    display:flex; align-items:center; justify-content:space-between;
    padding:16px 28px;
    max-width:var(--maxw); margin:0 auto;
  }
  .logo{
    font-family:'Space Grotesk', sans-serif;
    font-size:20px; font-weight:700;
    letter-spacing:-0.02em;
    display:flex; align-items:center; gap:10px;
    text-decoration:none;
  }
  .logo img, .logo-img{
    height:20px;
    width:auto;
    display:block;
  }
  .logo .mark{
    width:16px; height:16px; display:flex; overflow:hidden; border-radius:1px;
  }
  .logo .mark span{flex:1;}
  .brand-tag{
    font-size:10px; letter-spacing:0.1em; font-weight:500; color:var(--text-lo);
    border:1px solid var(--line); border-radius:2px; padding:4px 7px; margin-left:4px;
  }
  @media (max-width:1040px){ .brand-tag{display:none;} }
  @media (max-width:960px){
    .navlinks{display:none;}
    .navToggle{display:block;}
  }
  .navlinks{display:flex; gap:22px; list-style:none; margin:0; padding:0;}  .navlinks a{
    text-decoration:none; color:var(--text-lo); font-size:13.5px; font-weight:500; white-space:nowrap;
    transition:color .15s ease;
  }
  .navlinks a:hover{color:var(--text-hi);}
  .navcta{
    display:flex; align-items:center; gap:18px;
  }
  .btn{
    font-family:'IBM Plex Sans', sans-serif;
    font-weight:600; font-size:14px;
    padding:10px 18px;
    border-radius:var(--radius);
    text-decoration:none;
    border:1px solid transparent;
    cursor:pointer;
    display:inline-flex; align-items:center; gap:8px;
    transition:all .15s ease;
  }
  .btn-primary{background:var(--warm); color:#FBF1EC;}
  .btn-primary:hover{background:#A3341A;}
  .btn-ghost{border-color:var(--line); color:var(--text-hi); background:transparent;}
  .btn-ghost:hover{border-color:var(--text-lo);}
  .navToggle{display:none; background:none; border:none; color:var(--text-hi);}

  /* ===== Hero ===== */
  .hero{
    padding:96px 0 64px;
    position:relative;
  }
  .eyebrow{
    font-family:'IBM Plex Mono', monospace;
    font-size:12.5px;
    letter-spacing:0.14em;
    text-transform:uppercase;
    color:var(--amber);
    display:flex; align-items:center; gap:10px;
    margin-bottom:22px;
  }
  .eyebrow::before{
    content:"";
    width:7px; height:7px; border-radius:50%;
    background:var(--amber);
    box-shadow:0 0 0 3px rgba(227,168,59,0.18);
  }
  h1.display{
    font-size:clamp(38px, 5.4vw, 66px);
    line-height:1.04;
    max-width:16ch;
    margin-bottom:26px;
  }
  h1.display em{
    font-style:normal;
    color:var(--text-lo);
  }
  .hero-sub{
    font-size:18px;
    color:var(--text-lo);
    max-width:56ch;
    margin-bottom:36px;
  }
  .hero-ctas{display:flex; gap:16px; flex-wrap:wrap; margin-bottom:56px;}

  /* telemetry ticker */
  .telemetry{
    border:1px solid var(--line);
    background:var(--panel);
    border-radius:var(--radius);
    overflow:hidden;
  }
  .telemetry-head{
    display:flex; align-items:center; justify-content:space-between;
    padding:10px 18px;
    border-bottom:1px solid var(--line);
    font-family:'IBM Plex Mono', monospace;
    font-size:11.5px;
    color:var(--text-lo);
    letter-spacing:0.08em;
  }
  .telemetry-head .live{color:var(--amber); display:flex; align-items:center; gap:6px;}
  .telemetry-head .live::before{
    content:""; width:6px; height:6px; border-radius:50%; background:var(--amber);
    animation:pulse 1.6s infinite ease-in-out;
  }
  @keyframes pulse{0%,100%{opacity:1;}50%{opacity:.35;}}
  .telemetry-body{
    padding:18px 18px 20px;
    font-family:'IBM Plex Mono', monospace;
    font-size:13px;
    min-height:120px;
  }
  .telemetry-line{
    display:flex; gap:12px; padding:6px 0;
    color:var(--text-lo);
    border-bottom:1px dashed rgba(255,255,255,0.05);
    opacity:0;
    animation:fadeIn .5s ease forwards;
  }
  .telemetry-line:last-child{border-bottom:none;}
  .telemetry-line .code{color:var(--amber); min-width:64px; font-weight:500;}
  .telemetry-line .txt{color:var(--text-hi);}
  @keyframes fadeIn{to{opacity:1;}}

  /* ===== Section basics ===== */
  section{padding:88px 0;}
  section.tight{padding:64px 0;}
  .section-head{max-width:62ch; margin-bottom:52px;}
  .section-head h2{font-size:clamp(28px,3.4vw,40px); margin-bottom:16px;}
  .section-head p{color:var(--text-lo); font-size:17px;}
  .divider{border:none; height:1px; background:var(--line); margin:0;}

  /* problem section */
  .problem-grid{
    display:grid; grid-template-columns:1.1fr 1fr; gap:64px; align-items:start;
  }
  .problem-copy p{color:var(--text-lo); font-size:16.5px; margin-bottom:18px;}
  .pain-list{display:grid; grid-template-columns:1fr 1fr; gap:1px; background:var(--line); border:1px solid var(--line);}
  .pain-item{background:var(--ink); padding:22px;}
  .pain-item .tag{font-family:'IBM Plex Mono',monospace; font-size:11px; color:var(--warm); letter-spacing:.08em; text-transform:uppercase; display:block; margin-bottom:8px;}
  .pain-item h4{font-size:16px; font-weight:600; margin-bottom:6px;}
  .pain-item p{color:var(--text-lo); font-size:14px; margin:0;}

  /* agent roster */
  .agent-grid{
    display:grid; grid-template-columns:repeat(auto-fit, minmax(260px,1fr)); gap:1px;
    background:var(--line); border:1px solid var(--line);
  }
  .agent-card{
    background:var(--panel); padding:26px 24px 28px;
    display:flex; flex-direction:column; gap:14px;
    transition:background .18s ease;
  }
  .agent-card:hover{background:var(--panel-2);}
  .agent-code{
    font-family:'IBM Plex Mono', monospace; font-size:12px; letter-spacing:.06em;
    color:var(--amber);
    display:inline-block; padding:4px 8px; border:1px solid rgba(227,168,59,0.3); border-radius:2px;
    width:fit-content;
  }
  .agent-card h3{font-size:18px; margin-top:2px;}
  .agent-card p{color:var(--text-lo); font-size:14.5px; margin:0;}

  /* how it works */
  .flow{display:grid; grid-template-columns:repeat(4,1fr); gap:0; border-top:1px solid var(--line); border-bottom:1px solid var(--line);}
  .flow-step{padding:32px 26px; border-right:1px solid var(--line); position:relative;}
  .flow-step:last-child{border-right:none;}
  .flow-num{font-family:'IBM Plex Mono',monospace; font-size:12px; color:var(--text-lo); margin-bottom:14px; display:block;}
  .flow-step h4{font-size:17px; margin-bottom:10px;}
  .flow-step p{color:var(--text-lo); font-size:14.5px; margin:0;}

  /* frameworks */
  .fw-grid{display:flex; flex-wrap:wrap; gap:10px;}
  .fw-chip{
    font-family:'IBM Plex Mono', monospace; font-size:13px;
    border:1px solid var(--line); padding:9px 14px; border-radius:2px;
    color:var(--text-hi); background:var(--panel);
  }
  .fw-note{margin-top:22px; color:var(--text-lo); font-size:14.5px; max-width:60ch;}

  /* comparison table */
  .cmp-wrap{overflow-x:auto; border:1px solid var(--line);}
  table.cmp{width:100%; border-collapse:collapse; min-width:760px;}
  table.cmp th, table.cmp td{
    padding:16px 18px; text-align:left; border-bottom:1px solid var(--line); border-right:1px solid var(--line);
    font-size:14.5px; vertical-align:top;
  }
  table.cmp th:last-child, table.cmp td:last-child{border-right:none;}
  table.cmp thead th{
    font-family:'Space Grotesk', sans-serif; font-weight:600; font-size:14.5px;
    background:var(--panel); color:var(--text-hi);
  }
  table.cmp thead th.hl{color:var(--amber);}
  table.cmp tbody th{
    font-family:'IBM Plex Mono', monospace; font-weight:400; font-size:13px; color:var(--text-lo);
    background:var(--ink); white-space:nowrap;
  }
  table.cmp td{color:var(--text-lo);}
  table.cmp td.hl{color:var(--text-hi); background:rgba(227,168,59,0.05); font-weight:500;}
  .mark-yes{color:var(--amber);}
  .mark-no{color:#5A6470;}

  /* stat bar */
  .stat-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:1px; background:var(--line); border:1px solid var(--line);}
  .stat-item{background:var(--panel); padding:28px 22px; display:flex; flex-direction:column; gap:8px;}
  .stat-num{font-family:'Space Grotesk', sans-serif; font-size:32px; font-weight:700; color:var(--amber); line-height:1;}
  .stat-label{color:var(--text-lo); font-size:13.5px;}

  /* industries */
  .ind-grid{display:grid; grid-template-columns:repeat(5,1fr); gap:1px; background:var(--line); border:1px solid var(--line);}
  .ind-card{background:var(--ink); padding:26px 20px; display:flex; flex-direction:column; gap:10px;}
  .ind-card .num{font-family:'IBM Plex Mono', monospace; font-size:12px; color:var(--text-lo);}
  .ind-card h4{font-size:15.5px; line-height:1.3;}
  .ind-card p{color:var(--text-lo); font-size:13.5px; margin:0;}


  /* differentiators */
  .diff-grid{display:flex; flex-direction:column; gap:1px; background:var(--line); border:1px solid var(--line);}
  .diff-card{
    display:grid; grid-template-columns:1fr 1fr; gap:0;
    background:var(--ink);
  }
  .diff-card.reverse{direction:rtl;}
  .diff-card.reverse > *{direction:ltr;}
  .diff-copy{padding:44px 44px 44px 0; display:flex; flex-direction:column; gap:16px; justify-content:center;}
  .diff-card.reverse .diff-copy{padding:44px 0 44px 44px;}
  .diff-copy h3{font-size:24px; max-width:20ch;}
  .diff-copy p{color:var(--text-lo); font-size:15px; margin:0; max-width:52ch;}
  .diff-visual{
    background:var(--panel); border-left:1px solid var(--line);
    padding:26px 28px; display:flex; flex-direction:column; justify-content:center; gap:16px;
  }
  .diff-card.reverse .diff-visual{border-left:none; border-right:1px solid var(--line);}
  .panel-head{font-size:11px; letter-spacing:.1em; color:var(--text-lo);}
  .panel-foot{font-size:11px; color:var(--text-lo); opacity:.75;}

  .peril-bars{display:flex; flex-direction:column; gap:10px;}
  .peril-row{display:grid; grid-template-columns:100px 1fr 28px; align-items:center; gap:10px;}
  .peril-name{font-size:12.5px; color:var(--text-lo);}
  .peril-track{height:8px; background:var(--ink); border-radius:2px; overflow:hidden;}
  .peril-fill{height:100%; border-radius:2px;}
  .peril-val{font-size:11.5px; color:var(--text-hi); text-align:right;}

  .macc-chart{display:flex; align-items:flex-end; gap:14px; height:150px; padding-top:10px;}
  .macc-bar-wrap{flex:1; display:flex; flex-direction:column; align-items:center; justify-content:flex-end; height:100%;}
  .macc-bar{width:100%; border-radius:2px 2px 0 0;}
  .macc-label{font-size:10px; color:var(--text-lo); text-align:center; margin-top:8px; line-height:1.4;}

  .check-list{display:flex; flex-direction:column; gap:1px; background:var(--line); border:1px solid var(--line);}
  .check-item{display:grid; grid-template-columns:20px 1fr auto; align-items:center; gap:10px; background:var(--ink); padding:11px 14px; font-size:13.5px;}
  .check-mark{color:var(--amber); font-weight:600;}
  .check-status{font-size:11px; color:var(--text-lo); letter-spacing:.05em;}

  @media (max-width:900px){
    .diff-card, .diff-card.reverse{grid-template-columns:1fr; direction:ltr;}
    .diff-copy, .diff-card.reverse .diff-copy{padding:32px 28px 0;}
    .diff-visual, .diff-card.reverse .diff-visual{border:none; border-top:1px solid var(--line); padding:28px;}
  }

  .trust-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:1px; background:var(--line); border:1px solid var(--line);}
  .trust-item{background:var(--ink); padding:28px 22px;}
  .trust-item h4{font-size:15.5px; margin-bottom:10px;}
  .trust-item p{color:var(--text-lo); font-size:14px; margin:0;}

  /* CTA banner */
  .cta-band{
    background:var(--panel);
    border-top:1px solid var(--line); border-bottom:1px solid var(--line);
    padding:80px 0;
    text-align:center;
  }
  .cta-band h2{font-size:clamp(28px,4vw,44px); max-width:20ch; margin:0 auto 20px;}
  .cta-band p{color:var(--text-lo); max-width:52ch; margin:0 auto 34px; font-size:17px;}
  .cta-actions{display:flex; gap:16px; justify-content:center; flex-wrap:wrap;}

  /* footer */
  footer{padding:64px 0 40px;}
  .foot-top{display:grid; grid-template-columns:1.4fr 1fr 1fr 1fr; gap:40px; margin-bottom:56px;}
  .foot-top-5{grid-template-columns:1.3fr 1fr 1fr 1fr 1fr;}
  .foot-brand .logo{margin-bottom:14px;}
  .foot-brand p{color:var(--text-lo); font-size:14px; max-width:32ch;}
  .foot-col h5{font-family:'IBM Plex Mono', monospace; font-size:11.5px; letter-spacing:.08em; text-transform:uppercase; color:var(--text-lo); margin-bottom:16px; font-weight:400;}
  .foot-col ul{list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:10px;}
  .foot-col a{color:var(--text-hi); text-decoration:none; font-size:14.5px;}
  .foot-col a:hover{color:var(--amber);}
  .foot-bottom{display:flex; justify-content:space-between; align-items:center; padding-top:28px; border-top:1px solid var(--line); flex-wrap:wrap; gap:12px;}
  .foot-bottom p{color:var(--text-lo); font-size:13px; margin:0;}

  /* reveal on scroll */
  .reveal{opacity:0; transform:translateY(16px); transition:opacity .6s ease, transform .6s ease;}
  .reveal.in{opacity:1; transform:translateY(0);}

  /* responsive */
  @media (max-width:900px){
    .problem-grid{grid-template-columns:1fr; gap:36px;}
    .flow{grid-template-columns:1fr 1fr;}
    .flow-step{border-bottom:1px solid var(--line);}
    .flow-step:nth-child(2){border-right:none;}
    .flow-step:nth-child(4){border-right:none;}
    .trust-grid{grid-template-columns:1fr 1fr;}
    .stat-grid{grid-template-columns:1fr 1fr;}
    .ind-grid{grid-template-columns:1fr 1fr;}
    .foot-top{grid-template-columns:1fr 1fr; gap:32px;}
  }
  @media (max-width:720px){
    .navlinks{display:none;}
    .navToggle{display:block;}
    .pain-list{grid-template-columns:1fr;}
    .flow{grid-template-columns:1fr;}
    .trust-grid{grid-template-columns:1fr;}
    .stat-grid{grid-template-columns:1fr;}
    .ind-grid{grid-template-columns:1fr;}
    .foot-top{grid-template-columns:1fr;}
    table.cmp{min-width:640px;}
  }

/* ===== Multi-page additions ===== */

/* mobile nav open state */
@media (max-width:720px){
  .navlinks.open{
    display:flex; flex-direction:column; gap:0;
    position:absolute; top:100%; left:0; right:0;
    background:var(--ink); border-bottom:1px solid var(--line);
    padding:8px 0;
  }
  .navlinks.open li{border-top:1px solid var(--line);}
  .navlinks.open a{display:block; padding:14px 28px;}
}

/* current nav link */
.navlinks a.current{color:var(--amber);}

/* inner page hero */
.page-hero{padding:64px 0 48px; border-bottom:1px solid var(--line);}
.page-hero .crumb{
  font-family:'IBM Plex Mono', monospace; font-size:12px; color:var(--text-lo);
  margin-bottom:18px;
}
.page-hero .crumb a{color:var(--text-lo); text-decoration:none;}
.page-hero .crumb a:hover{color:var(--amber);}
.page-hero h1{font-size:clamp(32px,4.2vw,50px); max-width:20ch; margin-bottom:18px;}
.page-hero p{color:var(--text-lo); font-size:17px; max-width:60ch;}

/* feature groups (Platform page) */
.feature-group{padding:56px 0; border-bottom:1px solid var(--line);}
.feature-group:last-of-type{border-bottom:none;}
.feature-group-head{display:flex; align-items:baseline; gap:16px; margin-bottom:32px; flex-wrap:wrap;}
.feature-group-head .num{font-family:'IBM Plex Mono', monospace; color:var(--amber); font-size:13px;}
.feature-group-head h2{font-size:26px;}
.feature-cols{display:grid; grid-template-columns:repeat(2,1fr); gap:1px; background:var(--line); border:1px solid var(--line);}
.feature-col{background:var(--panel); padding:28px 26px;}
.feature-col h3{font-size:17px; margin-bottom:8px;}
.feature-col .sub{color:var(--text-lo); font-size:14px; margin-bottom:18px;}
.feature-list{list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:10px;}
.feature-list li{display:flex; gap:10px; font-size:14px; color:var(--text-hi); align-items:flex-start;}
.feature-list li::before{content:"✓"; color:var(--amber); font-weight:600; flex-shrink:0;}
@media (max-width:800px){ .feature-cols{grid-template-columns:1fr;} }

/* agent detail grid (Agents page) */
.agent-detail-grid{display:flex; flex-direction:column; gap:1px; background:var(--line); border:1px solid var(--line);}
.agent-detail{
  background:var(--ink); padding:28px 30px; display:grid; grid-template-columns:180px 1fr; gap:26px; align-items:start;
}
.agent-detail .agent-head{display:flex; flex-direction:column; gap:8px;}
.agent-detail .agent-head .stage{font-family:'IBM Plex Mono', monospace; font-size:10.5px; color:var(--text-lo); letter-spacing:.06em; text-transform:uppercase;}
.agent-detail h3{font-size:17px;}
.agent-detail p{color:var(--text-lo); font-size:14.5px; margin:0;}
@media (max-width:700px){ .agent-detail{grid-template-columns:1fr; gap:10px;} }

/* stage filter chips (Agents page) */
.stage-legend{display:flex; gap:10px; flex-wrap:wrap; margin-bottom:36px;}
.stage-chip{
  font-family:'IBM Plex Mono', monospace; font-size:11.5px; padding:7px 12px; border:1px solid var(--line); border-radius:2px; color:var(--text-lo);
}

/* industry detail (Industries page) */
.industry-detail-grid{display:flex; flex-direction:column; gap:1px; background:var(--line); border:1px solid var(--line);}
.industry-detail{background:var(--ink); padding:30px; display:grid; grid-template-columns:56px 1fr; gap:22px;}
.industry-detail .idx{font-family:'Space Grotesk',sans-serif; font-size:24px; font-weight:700; color:var(--amber);}
.industry-detail h3{font-size:19px; margin-bottom:10px;}
.industry-detail p{color:var(--text-lo); font-size:14.5px; margin:0 0 14px;}
.industry-detail .tags{display:flex; gap:8px; flex-wrap:wrap;}
.industry-detail .tags span{font-family:'IBM Plex Mono', monospace; font-size:11px; color:var(--text-lo); border:1px solid var(--line); padding:4px 9px; border-radius:2px;}
@media (max-width:600px){ .industry-detail{grid-template-columns:1fr;} }

/* contact page */
.contact-grid{display:grid; grid-template-columns:1.1fr 0.9fr; gap:1px; background:var(--line); border:1px solid var(--line);}
.contact-panel{background:var(--panel); padding:40px;}
.contact-panel h3{font-size:20px; margin-bottom:14px;}
.contact-panel p{color:var(--text-lo); font-size:15px; margin-bottom:24px;}
.contact-field{margin-bottom:18px;}
.contact-field label{display:block; font-family:'IBM Plex Mono', monospace; font-size:11.5px; color:var(--text-lo); margin-bottom:8px; letter-spacing:.05em;}
.contact-field .fake-input{
  border:1px solid var(--line); background:var(--ink); padding:12px 14px; border-radius:2px; color:var(--text-lo); font-size:14px;
}
.office-list{display:flex; flex-direction:column; gap:1px; background:var(--line); border:1px solid var(--line);}
.office-item{background:var(--ink); padding:20px 24px;}
.office-item h4{font-size:15px; margin-bottom:6px;}
.office-item p{color:var(--text-lo); font-size:13.5px; margin:0;}
@media (max-width:800px){ .contact-grid{grid-template-columns:1fr;} }

/* simple two-col text block, reused across pages */
.split-block{display:grid; grid-template-columns:1fr 1fr; gap:56px;}
@media (max-width:800px){ .split-block{grid-template-columns:1fr;} }
