  :root{
    --paper:#F4F5F8;
    --card:#FFFFFF;
    --ink:#14192E;          /* navy-black, drawn from the logo blue */
    --ink-soft:#59607A;     /* blue-gray */
    --blue:#21498F;         /* brand — the captured diamond */
    --blue-deep:#183872;
    --magenta:#9B1658;      /* brand accent — the capture brackets */
    --magenta-deep:#7C1146;
    --line:#E4E6EE;
    --grid:rgba(33,73,143,0.06);
    --shadow:0 1px 2px rgba(20,25,46,.05), 0 18px 40px -24px rgba(20,25,46,.24);
    --maxw:1180px;
    --pad: clamp(1.15rem, 4vw, 2.5rem);
  }

  *{box-sizing:border-box;}
  html{scroll-behavior:smooth;}
  body{
    margin:0;
    background:var(--paper);
    color:var(--ink);
    font-family:"IBM Plex Sans",system-ui,sans-serif;
    font-size:clamp(1rem,0.96rem + 0.2vw,1.075rem);
    line-height:1.62;
    -webkit-font-smoothing:antialiased;
    overflow-x:hidden;
  }
  a{color:inherit;text-decoration:none;}
  img{max-width:100%;display:block;}
  h1,h2,h3{font-family:"IBM Plex Sans",sans-serif;font-weight:700;line-height:1.02;letter-spacing:-0.02em;margin:0;}
  p{margin:0;}
  ::selection{background:var(--magenta);color:#fff;}

  .wrap{max-width:var(--maxw);margin:0 auto;padding-inline:var(--pad);}

  /* ---- shared bits ---- */
  .eyebrow{
    font-family:"IBM Plex Mono",monospace;
    font-size:0.72rem;letter-spacing:0.2em;text-transform:uppercase;
    color:var(--blue);display:inline-flex;align-items:center;gap:.6em;
  }
  .eyebrow::before{
    content:"";width:9px;height:9px;border-radius:50%;
    background:var(--magenta);box-shadow:0 0 0 3px rgba(155,22,88,.16);
    flex:none;
  }
  .mono{font-family:"IBM Plex Mono",monospace;}

  .btn{
    font-family:"IBM Plex Sans",sans-serif;font-weight:600;font-size:0.98rem;
    display:inline-flex;align-items:center;gap:.55em;
    padding:.85em 1.4em;border-radius:2px;border:1.5px solid var(--ink);
    cursor:pointer;transition:transform .18s ease, background .18s ease, color .18s ease, box-shadow .18s ease;
    background:transparent;color:var(--ink);
  }
  .btn:hover{transform:translateY(-2px);}
  .btn:focus-visible{outline:3px solid var(--blue);outline-offset:3px;}
  .btn--primary{background:var(--blue);border-color:var(--blue);color:#fff;}
  .btn--primary:hover{background:var(--blue-deep);border-color:var(--blue-deep);box-shadow:0 12px 26px -12px rgba(24,56,114,.6);}
  .btn--ghost:hover{background:var(--ink);color:var(--paper);}
  .btn .arw{transition:transform .2s ease;}
  .btn:hover .arw{transform:translateX(3px);}

  /* ---- header ---- */
  header{
    position:sticky;top:0;z-index:50;
    background:rgba(244,245,248,.82);backdrop-filter:blur(10px);
    border-bottom:1px solid var(--line);
  }
  .nav{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;height:70px;}
  .brand{display:flex;align-items:center;gap:.65rem;font-family:"IBM Plex Sans",sans-serif;font-weight:700;font-size:1.25rem;letter-spacing:-0.02em;}
  .brand small{font-family:"IBM Plex Mono",monospace;font-weight:400;font-size:.58rem;letter-spacing:.16em;color:var(--ink-soft);display:block;margin-top:1px;text-transform:uppercase;}
  .brand .mk{flex:none;}
  .nav-links{display:flex;gap:1.7rem;align-items:center;font-size:.95rem;}
  .nav-links a{color:var(--ink-soft);position:relative;padding:.2em 0;transition:color .15s ease;}
  .nav-links a:hover{color:var(--ink);}
  .nav-links a::after{content:"";position:absolute;left:0;bottom:-2px;height:2px;width:0;background:var(--blue);transition:width .2s ease;}
  .nav-links a:hover::after{width:100%;}
  .nav-cta{display:flex;align-items:center;gap:.8rem;}
  .menu-btn{display:none;background:none;border:1.5px solid var(--line);border-radius:2px;padding:.5em .7em;cursor:pointer;font-family:"IBM Plex Mono",monospace;font-size:.72rem;letter-spacing:.12em;color:var(--ink);}

  /* ---- hero ---- */
  .hero{position:relative;padding-top:clamp(3rem,7vw,5.5rem);padding-bottom:clamp(3.5rem,8vw,6rem);overflow:hidden;}
  .hero::before{
    content:"";position:absolute;inset:0;z-index:0;
    background-image:linear-gradient(var(--grid) 1px,transparent 1px),linear-gradient(90deg,var(--grid) 1px,transparent 1px);
    background-size:34px 34px;
    -webkit-mask-image:radial-gradient(120% 90% at 78% 12%,#000 0%,transparent 68%);
    mask-image:radial-gradient(120% 90% at 78% 12%,#000 0%,transparent 68%);
    pointer-events:none;
  }
  .hero-grid{position:relative;z-index:1;display:grid;grid-template-columns:1.05fr 0.95fr;gap:clamp(2rem,5vw,4.5rem);align-items:center;}
  .hero h1{font-size:clamp(2.7rem,6.4vw,5.1rem);margin:.7rem 0 0;}
  .hero h1 .em{color:var(--blue);}
  .hero .lede{font-size:clamp(1.05rem,1rem + 0.4vw,1.28rem);color:var(--ink-soft);max-width:34ch;margin-top:1.4rem;line-height:1.55;}
  .hero-actions{display:flex;flex-wrap:wrap;gap:.8rem;margin-top:2rem;}
  .trust{margin-top:2.4rem;font-family:"IBM Plex Mono",monospace;font-size:.72rem;letter-spacing:.1em;color:var(--ink-soft);text-transform:uppercase;line-height:1.9;border-top:1px solid var(--line);padding-top:1.1rem;}
  .trust b{color:var(--ink);font-weight:500;}

  /* ---- answer sheet signature ---- */
  .sheet-frame{position:relative;padding:14px;}
  .sheet-frame .crop{position:absolute;width:16px;height:16px;border:2px solid var(--magenta);}
  .crop.tl{top:0;left:0;border-right:0;border-bottom:0;}
  .crop.tr{top:0;right:0;border-left:0;border-bottom:0;}
  .crop.bl{bottom:0;left:0;border-right:0;border-top:0;}
  .crop.br{bottom:0;right:0;border-left:0;border-top:0;}
  .sheet{
    position:relative;background:var(--card);border:1px solid var(--line);
    border-radius:3px;box-shadow:var(--shadow);padding:20px 20px 18px 34px;overflow:hidden;
  }
  .timing{position:absolute;left:12px;top:20px;bottom:18px;width:10px;display:flex;flex-direction:column;justify-content:space-between;}
  .timing span{display:block;height:8px;border-radius:1px;background:var(--ink);opacity:.85;}
  .sheet-head{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding-bottom:12px;border-bottom:1px dashed var(--line);}
  .barcode{display:flex;gap:2px;height:34px;align-items:stretch;}
  .barcode i{display:block;width:2px;background:var(--ink);}
  .barcode i:nth-child(2n){width:1px;}
  .barcode i:nth-child(3n){width:3px;opacity:.85;}
  .barcode i:nth-child(5n){width:1px;opacity:.6;}
  .sheet-head .id{font-family:"IBM Plex Mono",monospace;font-size:.66rem;letter-spacing:.12em;color:var(--ink-soft);text-align:right;line-height:1.5;text-transform:uppercase;}
  .sheet-head .id b{color:var(--ink);display:block;font-weight:500;font-size:.8rem;letter-spacing:.06em;}
  .rows{margin-top:14px;display:flex;flex-direction:column;gap:11px;}
  .row{display:flex;align-items:center;gap:12px;}
  .row .q{font-family:"IBM Plex Mono",monospace;font-size:.72rem;color:var(--ink-soft);width:26px;flex:none;}
  .bubbles{display:flex;gap:9px;}
  .bub{
    width:19px;height:19px;border-radius:50%;border:1.6px solid #C4C8D4;position:relative;
    display:flex;align-items:center;justify-content:center;
    font-family:"IBM Plex Mono",monospace;font-size:.58rem;color:#AAB0C0;
  }
  .bub.fill{border-color:var(--blue);background:var(--blue);color:transparent;transform:scale(0);animation:pop .4s cubic-bezier(.2,1.4,.4,1) forwards;}
  .row:nth-child(1) .bub.fill{animation-delay:.5s;}
  .row:nth-child(2) .bub.fill{animation-delay:.9s;}
  .row:nth-child(3) .bub.fill{animation-delay:1.3s;}
  .row:nth-child(4) .bub.fill{animation-delay:1.7s;}
  .row:nth-child(5) .bub.fill{animation-delay:2.1s;}
  @keyframes pop{to{transform:scale(1);}}
  .scanline{
    position:absolute;left:0;right:0;height:44px;pointer-events:none;
    background:linear-gradient(180deg,transparent,rgba(155,22,88,.12) 55%,rgba(155,22,88,.24));
    border-bottom:2px solid var(--magenta);
    top:64px;animation:scan 3s ease-in-out .2s 1 forwards;
  }
  @keyframes scan{
    0%{top:56px;opacity:0;}
    12%{opacity:1;}
    82%{top:calc(100% - 78px);opacity:1;}
    100%{top:calc(100% - 78px);opacity:0;}
  }
  .sheet-foot{margin-top:16px;padding-top:12px;border-top:1px dashed var(--line);display:flex;align-items:center;justify-content:space-between;}
  .sheet-foot .lbl{font-family:"IBM Plex Mono",monospace;font-size:.64rem;letter-spacing:.16em;color:var(--ink-soft);text-transform:uppercase;}
  .score{font-family:"IBM Plex Sans",sans-serif;font-weight:700;font-size:1.7rem;color:var(--ink);display:flex;align-items:baseline;gap:.2rem;}
  .score .of{font-size:.9rem;color:var(--ink-soft);font-weight:500;}
  .score .tick{display:inline-flex;width:22px;height:22px;border-radius:50%;background:var(--blue);align-items:center;justify-content:center;margin-left:.4rem;transform:scale(0);animation:pop .4s cubic-bezier(.2,1.4,.4,1) 2.5s forwards;}

  /* ---- section scaffold ---- */
  section{position:relative;}
  .band{padding-block:clamp(4rem,9vw,7rem);}
  .band--ink{background:var(--ink);color:var(--paper);}
  .sec-head{max-width:60ch;}
  .sec-head h2{font-size:clamp(1.9rem,3.6vw,3rem);margin-top:.8rem;}
  .sec-head p{color:var(--ink-soft);margin-top:1rem;font-size:1.1rem;max-width:52ch;}
  .band--ink .sec-head p{color:#A7ADC2;}

  /* ---- stats ---- */
  .stats{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line);border-radius:3px;overflow:hidden;margin-top:0;}
  .stat{background:var(--paper);padding:1.6rem 1.4rem;}
  .stat .n{font-family:"IBM Plex Sans",sans-serif;font-weight:700;font-size:clamp(2rem,4vw,2.8rem);line-height:1;letter-spacing:-.03em;}
  .stat .n .u{color:var(--magenta);font-size:.46em;font-weight:600;margin-left:.14em;letter-spacing:0;}
  .stat .k{font-family:"IBM Plex Mono",monospace;font-size:.68rem;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-soft);margin-top:.7rem;line-height:1.5;}

  /* ---- solutions ---- */
  .sol-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.1rem;margin-top:3rem;}
  .card{
    background:var(--card);border:1px solid var(--line);border-radius:3px;padding:1.9rem;
    position:relative;transition:transform .2s ease, box-shadow .2s ease, border-color .2s ease;
    display:flex;flex-direction:column;gap:.8rem;
  }
  .card:hover{transform:translateY(-4px);box-shadow:var(--shadow);border-color:#D5D9E3;}
  .card .code{font-family:"IBM Plex Mono",monospace;font-size:.7rem;letter-spacing:.14em;color:var(--blue);}
  .card h3{font-size:1.4rem;letter-spacing:-.01em;}
  .card p{color:var(--ink-soft);font-size:1rem;}
  .card .ico{width:44px;height:44px;margin-bottom:.3rem;}

  /* pipeline strip */
  .pipe{margin-top:3rem;border:1px solid var(--line);border-radius:3px;background:var(--card);padding:1.4rem 1.6rem;display:flex;flex-wrap:wrap;align-items:center;gap:.5rem 1rem;}
  .pipe .pl{font-family:"IBM Plex Mono",monospace;font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-soft);margin-right:.5rem;}
  .pipe .step{display:flex;align-items:center;gap:.55rem;font-size:.92rem;font-weight:500;}
  .pipe .step .dot{width:8px;height:8px;border-radius:50%;background:var(--magenta);flex:none;}
  .pipe .sep{color:#C4C8D4;font-family:"IBM Plex Mono",monospace;}

  /* ---- why (ink band) ---- */
  .why-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2.4rem;margin-top:3rem;}
  .why h3{font-size:1.3rem;color:var(--paper);margin-bottom:.6rem;display:flex;align-items:center;gap:.6rem;}
  .why h3 .b{width:11px;height:11px;border-radius:50%;background:var(--magenta);flex:none;}
  .why p{color:#A7ADC2;font-size:1rem;}
  .why .no{font-family:"IBM Plex Mono",monospace;font-size:.7rem;letter-spacing:.14em;color:#767E9E;display:block;margin-bottom:1rem;}

  /* ---- clients ---- */
  .clients-wall{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;margin-top:2.6rem;}
  .cl{background:var(--card);border:1px solid var(--line);border-radius:3px;padding:1.5rem 1rem 1.15rem;display:flex;flex-direction:column;align-items:center;text-align:center;gap:.9rem;transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease;}
  .cl:hover{transform:translateY(-3px);box-shadow:var(--shadow);border-color:#D5D9E3;}
  .cl-box{position:relative;height:66px;width:100%;display:flex;align-items:center;justify-content:center;}
  .cl-box img{display:none;max-height:60px;max-width:90%;object-fit:contain;}
  .cl-box.haslogo img{display:block;}
  .cl-box.haslogo .cl-mono{display:none;}
  .cl-mono{font-family:"IBM Plex Mono",monospace;font-weight:600;font-size:1.05rem;letter-spacing:.06em;color:var(--blue);}
  .cl-name{font-weight:600;font-size:.9rem;line-height:1.32;color:var(--ink);}

  /* ---- about split ---- */
  .about-grid{display:grid;grid-template-columns:0.9fr 1.1fr;gap:clamp(2rem,5vw,4rem);align-items:start;}
  .about-grid .big{font-family:"IBM Plex Sans",sans-serif;font-weight:600;font-size:clamp(1.4rem,2.4vw,1.9rem);line-height:1.3;letter-spacing:-.01em;}
  .about-grid .big .em{color:var(--blue);}
  .about-grid .body p{color:var(--ink-soft);font-size:1.08rem;}
  .about-grid .body p + p{margin-top:1.1rem;}

  /* ---- contact ---- */
  .contact-card{
    position:relative;background:var(--ink);color:var(--paper);border-radius:4px;
    padding:clamp(2rem,5vw,3.5rem);display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,4vw,3.5rem);overflow:hidden;
  }
  .contact-card::before{
    content:"";position:absolute;inset:0;
    background-image:linear-gradient(rgba(255,255,255,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.05) 1px,transparent 1px);
    background-size:30px 30px;pointer-events:none;
  }
  .contact-card > *{position:relative;z-index:1;}
  .contact-card h2{color:var(--paper);font-size:clamp(1.7rem,3vw,2.5rem);}
  .contact-card .sub{color:#A7ADC2;margin-top:1rem;max-width:40ch;}
  .direct{margin-top:2rem;display:flex;flex-direction:column;gap:1rem;}
  .direct a{display:flex;align-items:center;gap:.8rem;font-family:"IBM Plex Mono",monospace;font-size:1rem;color:var(--paper);width:fit-content;transition:color .15s ease;}
  .direct a:hover{color:var(--magenta);}
  .direct a .t{font-family:"IBM Plex Mono",monospace;font-size:.62rem;letter-spacing:.14em;color:#767E9E;text-transform:uppercase;width:52px;flex:none;}
  .form{display:flex;flex-direction:column;gap:.8rem;}
  .form label{font-family:"IBM Plex Mono",monospace;font-size:.64rem;letter-spacing:.14em;text-transform:uppercase;color:#8A92AE;margin-bottom:-.3rem;}
  .form input,.form textarea{
    width:100%;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.15);border-radius:2px;
    color:var(--paper);font-family:"IBM Plex Sans",sans-serif;font-size:.98rem;padding:.75em .85em;transition:border-color .15s ease, background .15s ease;
  }
  .form input:focus,.form textarea:focus{outline:none;border-color:var(--blue);background:rgba(255,255,255,.09);}
  .form textarea{resize:vertical;min-height:82px;}
  .form .btn{margin-top:.4rem;justify-content:center;border-color:var(--blue);}

  /* ---- footer ---- */
  footer{border-top:1px solid var(--line);padding-block:2.6rem;}
  .foot{display:flex;flex-wrap:wrap;gap:1.5rem 2rem;align-items:flex-start;justify-content:space-between;}
  .foot .cols{display:flex;flex-wrap:wrap;gap:2.5rem;}
  .foot .col h4{font-family:"IBM Plex Mono",monospace;font-size:.64rem;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-soft);margin:0 0 .8rem;font-weight:500;}
  .foot .col a{display:block;color:var(--ink-soft);font-size:.92rem;padding:.15em 0;transition:color .15s ease;}
  .foot .col a:hover{color:var(--blue);}
  .foot .legal{font-family:"IBM Plex Mono",monospace;font-size:.66rem;color:var(--ink-soft);letter-spacing:.06em;line-height:1.8;margin-top:2rem;border-top:1px solid var(--line);padding-top:1.4rem;}

  /* ---- reveal ---- */
  .rv{opacity:0;transform:translateY(18px);transition:opacity .7s ease, transform .7s ease;}
  .rv.in{opacity:1;transform:none;}

  /* ---- hero stats (merged) ---- */
  .hero-stats{display:grid;grid-template-columns:repeat(3,1fr);margin-top:clamp(2.4rem,5vw,3.4rem);border:1px solid var(--line);border-radius:3px;background:var(--card);overflow:hidden;}
  .hero-stats .hs{padding:1.25rem 1.6rem;border-left:1px solid var(--line);display:flex;flex-direction:column;gap:.35rem;}
  .hero-stats .hs:first-child{border-left:0;}
  .hero-stats .n{font-family:"IBM Plex Sans",sans-serif;font-weight:700;font-size:clamp(1.75rem,3.2vw,2.4rem);line-height:1;letter-spacing:-.03em;color:var(--ink);}
  .hero-stats .n .u{color:var(--magenta);font-size:.44em;font-weight:600;margin-left:.14em;}
  .hero-stats .k{font-family:"IBM Plex Mono",monospace;font-size:.66rem;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-soft);}

  /* ---- interactive lifecycle ---- */
  .lifecycle{margin-top:3rem;border:1px solid var(--line);border-radius:4px;background:var(--card);overflow:hidden;}
  .lc-head{padding:1rem 1.5rem;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:.6rem;}
  .lc-head .pl{font-family:"IBM Plex Mono",monospace;font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-soft);}
  .lc-steps{display:flex;flex-wrap:wrap;}
  .lc-step{flex:1 1 0;min-width:150px;text-align:left;background:transparent;border:0;border-right:1px solid var(--line);border-bottom:1px solid var(--line);padding:1rem 1.15rem;cursor:pointer;font-family:"IBM Plex Mono",monospace;font-size:.72rem;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-soft);transition:background .18s ease,color .18s ease;position:relative;display:flex;align-items:center;gap:.5rem;}
  .lc-step:last-child{border-right:0;}
  .lc-step .lc-dot{width:8px;height:8px;border-radius:50%;background:#C4C8D4;flex:none;transition:background .18s ease;}
  .lc-step:hover{color:var(--ink);}
  .lc-step.is-active{color:var(--ink);background:var(--paper);}
  .lc-step.is-active .lc-dot{background:var(--magenta);}
  .lc-step.is-active::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:2px;background:var(--blue);}
  .lc-step:focus-visible{outline:2px solid var(--blue);outline-offset:-2px;}
  .lc-panel{padding:clamp(1.6rem,4vw,2.5rem);display:grid;grid-template-columns:auto 1fr;gap:clamp(1.2rem,3vw,2rem);align-items:start;}
  .lc-num{font-family:"IBM Plex Sans",sans-serif;font-weight:700;font-size:clamp(2.4rem,5vw,3.4rem);line-height:.9;color:var(--blue);letter-spacing:-.03em;}
  .lc-pane h3{font-size:1.35rem;margin-bottom:.5rem;}
  .lc-pane p{color:var(--ink-soft);max-width:60ch;}

  /* ---- case study / proof ---- */
  .proof-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(2rem,5vw,4rem);align-items:center;}
  .proof-copy .lede2{color:var(--ink-soft);font-size:1.1rem;margin-top:1rem;max-width:46ch;}
  .proof-chips{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:1.8rem;}
  .proof-chips span{font-family:"IBM Plex Mono",monospace;font-size:.72rem;letter-spacing:.04em;color:var(--ink);background:var(--paper);border:1px solid var(--line);border-radius:100px;padding:.5em 1em;display:inline-flex;align-items:center;gap:.5em;}
  .proof-chips span::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--blue);}
  .proof-quote{position:relative;background:var(--card);border:1px solid var(--line);border-radius:4px;padding:clamp(1.8rem,4vw,2.6rem);margin:0;box-shadow:var(--shadow);}
  .proof-quote::before{content:"\201C";position:absolute;top:.05em;left:.32em;font-family:Georgia,serif;font-size:5rem;color:var(--magenta);opacity:.18;line-height:1;}
  .proof-quote blockquote{margin:0;position:relative;font-size:1.28rem;line-height:1.45;font-weight:500;color:var(--ink);letter-spacing:-.01em;}
  .proof-quote figcaption{margin-top:1.4rem;display:flex;flex-direction:column;gap:.15rem;}
  .proof-quote .pq-name{font-weight:600;}
  .proof-quote .pq-org{font-family:"IBM Plex Mono",monospace;font-size:.72rem;letter-spacing:.08em;color:var(--ink-soft);text-transform:uppercase;}
  .proof-note{font-family:"IBM Plex Mono",monospace;font-size:.62rem;letter-spacing:.1em;text-transform:uppercase;color:var(--magenta);margin-top:1rem;}

  /* ---- card learn-more link ---- */
  .card-link{margin-top:auto;padding-top:.4rem;font-family:"IBM Plex Sans",sans-serif;font-weight:600;font-size:.92rem;color:var(--blue);display:inline-flex;align-items:center;gap:.4em;transition:gap .18s ease;}
  .card-link:hover{gap:.7em;}

  /* ---- form status ---- */
  .form-status{font-family:"IBM Plex Sans",sans-serif;font-size:.9rem;padding:.2rem 0;min-height:1.2em;color:#A7ADC2;}
  .form-status.ok{color:#7ED0A5;}
  .form-status.err{color:#F0A6A0;}
  .form input:disabled,.form textarea:disabled,.btn:disabled{opacity:.6;cursor:default;}

  /* ---- responsive ---- */
  @media(max-width:900px){
    .hero-grid{grid-template-columns:1fr;gap:2.5rem;}
    .sheet-frame{max-width:460px;}
    .sol-grid{grid-template-columns:1fr;}
    .why-grid{grid-template-columns:1fr;gap:1.8rem;}
    .stats{grid-template-columns:repeat(3,1fr);}
    .clients-wall{grid-template-columns:repeat(3,1fr);}
    .about-grid{grid-template-columns:1fr;gap:1.6rem;}
    .contact-card{grid-template-columns:1fr;}
    .proof-grid{grid-template-columns:1fr;}
    .lc-panel{grid-template-columns:1fr;gap:.8rem;}
    .nav-links{display:none;}
    .menu-btn{display:inline-block;}
    .nav-links.open{display:flex;position:absolute;top:70px;left:0;right:0;flex-direction:column;background:var(--paper);border-bottom:1px solid var(--line);padding:1rem var(--pad) 1.4rem;gap:.4rem;}
    .nav-links.open a{padding:.6em 0;font-size:1.05rem;}
  }
  @media(max-width:520px){
    .stats{grid-template-columns:1fr;}
    .clients-wall{grid-template-columns:repeat(2,1fr);}
    .pipe{flex-direction:column;align-items:flex-start;}
    .hero-actions .btn{flex:1;justify-content:center;}
    .hero-stats{grid-template-columns:1fr;}
    .hero-stats .hs{border-left:0;border-top:1px solid var(--line);}
    .hero-stats .hs:first-child{border-top:0;}
    .lc-step{flex:1 1 100%;min-width:0;border-right:0;}
  }
  @media (prefers-reduced-motion: reduce){
    *{animation:none !important;transition:none !important;scroll-behavior:auto;}
    .bub.fill{transform:scale(1);}
    .score .tick{transform:scale(1);}
    .scanline{display:none;}
    .rv{opacity:1;transform:none;}
  }


  /* ---- solution subpages ---- */
  .crumb{font-family:"IBM Plex Mono",monospace;font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-soft);margin-bottom:1.2rem;}
  .crumb a{color:var(--ink-soft);} .crumb a:hover{color:var(--blue);}
  .subhero{padding-top:clamp(2.5rem,6vw,4rem);padding-bottom:clamp(1.5rem,4vw,2.5rem);}
  .subhero h1{font-size:clamp(2.3rem,5.5vw,4rem);margin:.5rem 0 0;}
  .subhero .lede{font-size:clamp(1.05rem,1rem + 0.4vw,1.28rem);color:var(--ink-soft);max-width:54ch;margin-top:1.3rem;}
  .cta-row{display:flex;flex-wrap:wrap;gap:.8rem;margin-top:2rem;}
  .feat{display:grid;grid-template-columns:repeat(3,1fr);gap:1.8rem 2.2rem;margin-top:2.6rem;}
  .feat-item h3{font-size:1.18rem;margin-bottom:.5rem;display:flex;align-items:center;gap:.55rem;}
  .feat-item h3 .b{width:10px;height:10px;border-radius:50%;background:var(--magenta);flex:none;}
  .feat-item p{color:var(--ink-soft);font-size:1rem;}
  .uses{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:var(--line);border:1px solid var(--line);border-radius:3px;overflow:hidden;margin-top:2.4rem;}
  .use{background:var(--card);padding:1.3rem 1.5rem;}
  .use .k{font-family:"IBM Plex Mono",monospace;font-size:.66rem;letter-spacing:.12em;text-transform:uppercase;color:var(--blue);}
  .use p{margin-top:.4rem;color:var(--ink);font-weight:500;}
  .fits{font-family:"IBM Plex Mono",monospace;font-size:.74rem;letter-spacing:.08em;color:var(--ink-soft);margin-top:2.4rem;border-top:1px solid var(--line);padding-top:1.2rem;}
  .fits b{color:var(--blue);}
  .cta-band{text-align:center;display:flex;flex-direction:column;align-items:center;gap:1.4rem;}
  @media(max-width:900px){.feat{grid-template-columns:1fr;}.uses{grid-template-columns:1fr;}}
