:root{
    --bg:#05060B;--bg-1:#070912;--bg-2:#0A0D18;--panel:#0C0F1A;--panel-2:#0E1220;
    --surface:rgba(255,255,255,0.04);--surface-2:rgba(255,255,255,0.065);
    --border:rgba(255,255,255,0.08);--border-soft:rgba(255,255,255,0.055);--border-strong:rgba(255,255,255,0.14);
    --text:#F4F6FA;--text-muted:#9098AC;--text-faint:#757E93;
    --indigo:#6D6AF6;--violet:#8B5CF6;--cyan:#25D9F0;--amber:#F5A623;--green:#34D399;
    --grad-cool:linear-gradient(135deg,#6D6AF6 0%,#25D9F0 100%);
    --grad-cool-soft:linear-gradient(135deg,rgba(109,106,246,0.16),rgba(37,217,240,0.10));
    --grad-warm:linear-gradient(135deg,#F5A623 0%,#F7712F 100%);
    --grad-text:linear-gradient(120deg,#B7B4FF 0%,#7CE9FB 100%);
    --r-xl:26px;--r-lg:18px;--r-md:13px;--r-sm:9px;--maxw:1200px;--ease:cubic-bezier(.22,.61,.36,1);
    /* Vertical rhythm — one value drives every section gap site-wide.
       Adjacent sections each contribute --sec-pad, so the gap between any
       two sections is exactly 2 x --sec-pad. Change here, changes everywhere. */
    --sec-pad:52px;--sec-head-gap:44px;
    /* Horizontal frame — .wrap and .nav both read these, so the header can
       never drift out of alignment with section content. */
    --gutter:32px;
  }
  *{box-sizing:border-box;}
  html{scroll-behavior:smooth;}
  body{margin:0;background:var(--bg);color:var(--text);font-family:'Inter',system-ui,sans-serif;font-weight:450;line-height:1.55;-webkit-font-smoothing:antialiased;overflow-x:hidden;}
  h1,h2,h3,h4,h5{font-family:'Space Grotesk',sans-serif;margin:0;letter-spacing:-0.022em;font-weight:600;line-height:1.1;}
  .mono{font-family:'JetBrains Mono',monospace;}
  a{color:inherit;text-decoration:none;}
  ::selection{background:var(--indigo);color:#fff;}
  :focus-visible{outline:2px solid var(--cyan);outline-offset:3px;border-radius:4px;}
  .skip-link{position:fixed;left:16px;top:-80px;z-index:300;background:var(--panel-2);color:var(--text);padding:11px 18px;border:1px solid var(--border-strong);border-radius:var(--r-sm);font-size:14px;font-weight:600;transition:top .18s var(--ease);}
  .skip-link:focus{top:16px;}
  #main-content:focus{outline:none;}
  .wrap{max-width:var(--maxw);margin:0 auto;padding:0 var(--gutter);}
  section{position:relative;}
  .eyebrow{font-family:'JetBrains Mono',monospace;font-size:12px;letter-spacing:0.18em;text-transform:uppercase;color:var(--cyan);display:inline-flex;align-items:center;gap:9px;margin-bottom:20px;}
  .eyebrow::before{content:'';width:6px;height:6px;border-radius:50%;background:var(--grad-cool);box-shadow:0 0 12px var(--cyan);}
  .ambient{position:fixed;inset:0;z-index:0;pointer-events:none;overflow:hidden;background:radial-gradient(1300px 900px at 12% -12%,rgba(109,106,246,0.13),transparent 58%),radial-gradient(1100px 800px at 92% 8%,rgba(37,217,240,0.09),transparent 55%),radial-gradient(1000px 1000px at 50% 118%,rgba(245,166,35,0.045),transparent 60%);}
  #gridCanvas{position:absolute;inset:0;width:100%;height:100%;display:block;}
  .mesh{position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,0.022) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,0.022) 1px,transparent 1px);background-size:54px 54px;-webkit-mask-image:radial-gradient(ellipse 120% 90% at 50% 20%,#000 35%,transparent 100%);mask-image:radial-gradient(ellipse 120% 90% at 50% 20%,#000 35%,transparent 100%);}
  .orb{position:absolute;border-radius:50%;filter:blur(110px);}
  .orb-1{width:560px;height:560px;background:#4B48D9;opacity:0.34;top:-200px;left:-140px;animation:drift1 30s ease-in-out infinite;}
  .orb-2{width:480px;height:480px;background:#1EC5DD;opacity:0.28;top:34%;right:-190px;animation:drift2 36s ease-in-out infinite;}
  .orb-3{width:440px;height:440px;background:#F59E0B;opacity:0.13;bottom:-160px;left:36%;animation:drift1 42s ease-in-out infinite reverse;}
  @keyframes drift1{0%,100%{transform:translate(0,0) scale(1)}50%{transform:translate(50px,70px) scale(1.06)}}
  @keyframes drift2{0%,100%{transform:translate(0,0) scale(1)}50%{transform:translate(-60px,-40px) scale(1.08)}}
  main{position:relative;z-index:1;}
  /* Keep anchor jumps clear of the 74px sticky header (tighter section
     padding no longer absorbs the overlap on its own). */
  section[id],footer[id],.sol-card[id]{scroll-margin-top:96px;}
  .btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;padding:13px 24px;border-radius:999px;font-size:14.5px;font-weight:600;font-family:'Inter',sans-serif;cursor:pointer;border:1px solid transparent;transition:transform .25s var(--ease),box-shadow .25s var(--ease),background .25s,border-color .25s;white-space:nowrap;position:relative;}
  .btn svg{width:17px;height:17px;}
  .btn-primary{background:var(--grad-warm);color:#160B02;}
  .btn-primary:hover{transform:translateY(-2px);box-shadow:0 12px 34px -8px rgba(245,166,35,0.5);}
  .btn-glow{background:var(--surface-2);border-color:var(--border-strong);color:var(--text);}
  .btn-glow:hover{transform:translateY(-2px);background:var(--grad-cool-soft);border-color:transparent;box-shadow:0 12px 34px -10px rgba(109,106,246,0.4);}
  .btn-ghost{background:var(--surface);border-color:var(--border);color:var(--text);}
  .btn-ghost:hover{background:var(--surface-2);border-color:var(--border-strong);transform:translateY(-1px);}
  .btn-lg{padding:16px 30px;font-size:15.5px;}
  .btn-block{width:100%;}
  header{position:sticky;top:0;z-index:60;backdrop-filter:blur(18px) saturate(150%);-webkit-backdrop-filter:blur(18px) saturate(150%);background:rgba(5,6,11,0.66);border-bottom:1px solid var(--border-soft);transition:background .3s;}
  /* Header bar stays edge-to-edge (background + border span the window) but its
     CONTENT sits in the same centered container as every section, so the logo
     lines up with each section's left edge and the CTA with the right edge. */
  .nav{width:100%;max-width:100%;margin:0;padding:16px clamp(24px,3.5vw,64px);display:flex;align-items:center;justify-content:space-between;gap:24px;}
  .nav-cta{padding:9px 18px;font-size:13.5px;}
  .nav-consult{font-size:13.5px;font-weight:600;color:var(--text-muted);white-space:nowrap;transition:color .2s;}
  .nav-consult:hover{color:var(--text);}
  .brand{display:flex;flex-direction:row;align-items:center;gap:11px;line-height:1.05;}
  .brand-mark{height:46px;width:auto;flex-shrink:0;display:block;}
  .brand-text{display:flex;flex-direction:column;}
  .brand .name{font-family:'Space Grotesk';font-weight:700;font-size:22px;letter-spacing:-0.01em;}
  .brand .name span{background:var(--grad-text);-webkit-background-clip:text;background-clip:text;color:transparent;}
  .brand .tag{font-size:9.5px;letter-spacing:0.14em;text-transform:uppercase;color:var(--text-faint);margin-top:3px;}
  .navlinks{display:flex;gap:32px;font-size:14px;color:var(--text-muted);}
  .navlinks a{position:relative;transition:color .2s;}
  .navlinks a::after{content:'';position:absolute;left:0;bottom:-6px;height:1.5px;width:0;background:var(--grad-cool);transition:width .28s var(--ease);}
  .navlinks a:hover{color:var(--text);}
  .navlinks a:hover::after{width:100%;}
  .menu-btn{display:none;background:none;border:none;color:var(--text);cursor:pointer;padding:6px;}
  .nav-phone{display:flex;align-items:center;gap:8px;font-size:13.5px;font-weight:600;color:var(--text);white-space:nowrap;transition:color .2s;}
  .nav-phone:hover{color:var(--cyan);}
  .nav-phone svg{width:16px;height:16px;stroke:var(--green);fill:none;stroke-width:2;flex-shrink:0;}
  @media (max-width:960px){
    .navlinks{display:none;}
    .menu-btn{display:flex;}
    .nav-phone span{display:none;}
    .nav-cta{display:none;}
    .nav-consult{display:none;}
  }
  @media (max-width:500px){.nav-phone{display:none;}}

  /* mobile drawer */
  .mob-drawer{position:fixed;top:0;right:0;bottom:0;width:min(320px,86vw);background:var(--bg-1);border-left:1px solid var(--border);z-index:100;
    transform:translateX(100%);transition:transform .38s var(--ease);display:flex;flex-direction:column;padding:24px 26px;box-shadow:-30px 0 60px -30px rgba(0,0,0,0.6);}
  .mob-drawer.open{transform:translateX(0);}
  .mob-drawer-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:32px;}
  .mob-close{background:var(--surface);border:1px solid var(--border);border-radius:9px;width:36px;height:36px;display:flex;align-items:center;justify-content:center;color:var(--text);cursor:pointer;}
  .mob-close svg{width:18px;height:18px;stroke:currentColor;fill:none;stroke-width:2;}
  .mob-links{display:flex;flex-direction:column;gap:4px;margin-bottom:28px;}
  .mob-links a{padding:14px 4px;font-size:17px;font-weight:600;color:var(--text);border-bottom:1px solid var(--border-soft);}
  .mob-drawer .btn{width:100%;margin-bottom:12px;}
  .mob-phone{display:flex;align-items:center;gap:10px;font-size:15px;font-weight:600;color:var(--text);padding:14px 0;}
  .mob-phone svg{width:18px;height:18px;stroke:var(--green);fill:none;stroke-width:2;}
  .mob-overlay{position:fixed;inset:0;background:rgba(5,6,11,0.6);backdrop-filter:blur(4px);z-index:99;opacity:0;pointer-events:none;transition:opacity .38s var(--ease);}
  .mob-overlay.open{opacity:1;pointer-events:auto;}
  .hero{padding:64px 0 var(--sec-pad);}
  .hero-grid{display:grid;grid-template-columns:1.02fr 0.98fr;gap:60px;align-items:center;}
  .hero h1{font-size:clamp(40px,5.4vw,66px);line-height:1.02;letter-spacing:-0.03em;}
  .hero h1 .g{background:var(--grad-text);-webkit-background-clip:text;background-clip:text;color:transparent;}
  .hero .lead{margin:26px 0 20px;color:var(--text-muted);font-size:18.5px;max-width:520px;line-height:1.62;}
  .hero-actions{display:flex;gap:14px;flex-wrap:wrap;margin-bottom:30px;}
  .trust-ind{display:flex;gap:26px;flex-wrap:wrap;}
  .trust-ind div{display:flex;align-items:center;gap:9px;font-size:13px;color:var(--text-muted);}
  .trust-ind svg{width:16px;height:16px;stroke:var(--green);}
  .dash{background:linear-gradient(180deg,rgba(255,255,255,0.055),rgba(255,255,255,0.015));border:1px solid var(--border);border-radius:var(--r-xl);padding:22px;backdrop-filter:blur(24px);box-shadow:0 40px 90px -40px rgba(0,0,0,0.7),inset 0 1px 0 rgba(255,255,255,0.06);position:relative;}
  .dash::before{content:'';position:absolute;inset:0;border-radius:var(--r-xl);padding:1px;background:linear-gradient(150deg,rgba(109,106,246,0.5),transparent 40%,transparent 70%,rgba(37,217,240,0.35));-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude;pointer-events:none;}
  .dash-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px;}
  .dash-head .label{font-size:13px;color:var(--text-muted);font-weight:600;display:flex;align-items:center;gap:8px;}
  .dash-head .label svg{width:15px;height:15px;stroke:var(--cyan);fill:none;}
  .live{display:flex;align-items:center;gap:6px;font-size:11px;color:var(--green);font-family:'JetBrains Mono';letter-spacing:0.04em;}
  .live::before{content:'';width:6px;height:6px;border-radius:50%;background:var(--green);box-shadow:0 0 9px var(--green);animation:pulse 1.9s infinite;}
  @keyframes pulse{0%,100%{opacity:1}50%{opacity:.25}}
  .dash-grid{display:grid;grid-template-columns:1fr 1fr;gap:11px;margin-bottom:11px;}
  .tile{background:var(--surface);border:1px solid var(--border-soft);border-radius:var(--r-md);padding:15px 16px;transition:border-color .3s,background .3s;}
  .tile:hover{border-color:var(--border-strong);background:var(--surface-2);}
  .tile .tl{font-size:10.5px;color:var(--text-faint);text-transform:uppercase;letter-spacing:0.07em;margin-bottom:7px;display:flex;align-items:center;gap:6px;}
  .tile .tl svg{width:13px;height:13px;fill:none;}
  .tile .tv{font-family:'JetBrains Mono';font-size:23px;font-weight:600;letter-spacing:-0.02em;}
  .tile .tv.up{color:var(--green);}
  .tile .ts{font-size:11px;color:var(--text-muted);margin-top:2px;}
  .tile .tv-txt{font-family:'Space Grotesk',sans-serif;font-size:15.5px;font-weight:600;letter-spacing:-0.01em;color:var(--text);}
  .sys-flow{display:flex;align-items:center;gap:10px;}
  .sys-flow span{font-family:'JetBrains Mono';font-size:11.5px;color:var(--text-muted);white-space:nowrap;}
  .sys-flow i{flex:1;height:2px;background:var(--grad-cool);border-radius:2px;opacity:.65;}
  .chart-tile{background:var(--surface);border:1px solid var(--border-soft);border-radius:var(--r-md);padding:16px;}
  .chart-tile .tl{font-size:10.5px;color:var(--text-faint);text-transform:uppercase;letter-spacing:0.07em;margin-bottom:12px;display:flex;justify-content:space-between;}
  .chart-tile .tl b{color:var(--green);font-weight:600;}
  .bars{display:flex;align-items:flex-end;gap:7px;height:58px;}
  .bars i{flex:1;background:var(--grad-cool);border-radius:4px 4px 0 0;opacity:.9;transform-origin:bottom;animation:grow 1.3s var(--ease) forwards;}
  @keyframes grow{from{transform:scaleY(0)}to{transform:scaleY(1)}}
  .mini-gauge{display:flex;align-items:center;gap:9px;}
  .mini-gauge .gn{font-family:'JetBrains Mono';font-weight:600;font-size:20px;}
  .pad{padding:var(--sec-pad) 0;}
  .pad-sm{padding:var(--sec-pad) 0;}
  .band-soft{background:linear-gradient(180deg,transparent,rgba(255,255,255,0.014),transparent);}
  .sec-head{max-width:660px;margin-bottom:var(--sec-head-gap);}
  .sec-head.center{margin:0 auto var(--sec-head-gap);text-align:center;}
  .sec-head h2{font-size:clamp(30px,4vw,46px);line-height:1.08;}
  .sec-head p{color:var(--text-muted);font-size:17px;margin-top:16px;line-height:1.62;}
  .trustbar{padding:var(--sec-pad) 0;border-top:1px solid var(--border-soft);border-bottom:1px solid var(--border-soft);}
  .trustbar .lbl{text-align:center;font-size:11px;letter-spacing:0.16em;text-transform:uppercase;color:var(--text-faint);margin-bottom:20px;}
  .logos{display:flex;flex-wrap:wrap;justify-content:center;gap:44px;}
  /* The stack we build on — deliberately small, greyscale and low-emphasis so
     these read as our tooling, never as client/brand endorsements. */
  .logos span{font-family:'Space Grotesk';font-weight:600;font-size:13px;color:var(--text-faint);opacity:.5;filter:grayscale(1);transition:opacity .25s;}
  .logos span:hover{opacity:.72;}
  .value-band{text-align:center;}
  .value-band h2{font-size:clamp(28px,4vw,44px);max-width:820px;margin:0 auto;line-height:1.14;}
  .value-band h2 .g{background:var(--grad-text);-webkit-background-clip:text;background-clip:text;color:transparent;}
  .value-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;margin-top:40px;}
  .vstat{padding:28px 20px;border:1px solid var(--border-soft);border-radius:var(--r-lg);background:var(--panel);transition:transform .3s var(--ease),border-color .3s;}
  .vstat:hover{transform:translateY(-4px);border-color:var(--border-strong);}
  .vstat .num{font-family:'JetBrains Mono';font-size:38px;font-weight:600;background:var(--grad-text);-webkit-background-clip:text;background-clip:text;color:transparent;letter-spacing:-0.03em;}
  .vstat .cap{font-size:13.5px;color:var(--text-muted);margin-top:8px;}
  @media (max-width:820px){.value-stats{grid-template-columns:1fr 1fr;gap:16px;}}
  .svc-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;}
  .svc-card{background:var(--panel);border:1px solid var(--border-soft);border-radius:var(--r-lg);padding:30px;display:flex;flex-direction:column;position:relative;overflow:hidden;transition:transform .32s var(--ease),border-color .32s;}
  .svc-card::after{content:'';position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,rgba(109,106,246,0.6),rgba(37,217,240,0.4),transparent);opacity:0;transition:opacity .32s;}
  .svc-card:hover{transform:translateY(-6px);border-color:var(--border-strong);}
  .svc-card:hover::after{opacity:1;}
  .svc-card:hover .svc-ico{background:var(--grad-cool-soft);border-color:transparent;}
  .svc-ico{width:48px;height:48px;border-radius:13px;background:var(--surface);border:1px solid var(--border-soft);display:flex;align-items:center;justify-content:center;margin-bottom:20px;transition:background .32s,border-color .32s;}
  .svc-ico svg{width:23px;height:23px;stroke:var(--cyan);fill:none;stroke-width:1.6;}
  .svc-card h3{font-size:19.5px;margin-bottom:9px;}
  .svc-card p{color:var(--text-muted);font-size:14px;line-height:1.6;margin-bottom:20px;flex-grow:1;}
  .svc-meta{display:flex;align-items:center;justify-content:space-between;padding-top:18px;border-top:1px solid var(--border-soft);}
  .svc-meta .from{font-size:12px;color:var(--text-faint);}
  .svc-meta .from b{font-family:'JetBrains Mono';color:var(--text-muted);font-weight:600;font-size:11px;letter-spacing:0.06em;text-transform:uppercase;}
  .svc-meta .go{font-size:13px;font-weight:600;color:var(--cyan);display:inline-flex;align-items:center;gap:5px;transition:gap .25s;}
  .svc-card:hover .svc-meta .go{gap:9px;}
  .svc-card.feature{background:radial-gradient(ellipse at top left,#15192B 0%,#0A0D18 65%);border-color:transparent;grid-column:span 3;flex-direction:row;align-items:center;gap:40px;padding:38px 42px;}
  .svc-card.feature::before{content:'';position:absolute;inset:0;border-radius:var(--r-lg);padding:1.5px;background:var(--grad-cool);-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude;pointer-events:none;}
  .svc-card.feature .fmain{flex:1;}
  .svc-card.feature h3{font-size:26px;margin-bottom:12px;}
  .svc-card.feature p{font-size:15px;max-width:520px;margin-bottom:0;}
  @media (max-width:980px){.svc-grid{grid-template-columns:1fr 1fr;}.svc-card.feature{grid-column:span 2;flex-direction:column;align-items:flex-start;gap:24px;}}
  @media (max-width:640px){.svc-grid{grid-template-columns:1fr;}.svc-card.feature{grid-column:span 1;}}
  .compare{display:grid;grid-template-columns:1fr 1fr;gap:0;border-radius:var(--r-xl);overflow:hidden;border:1px solid var(--border);}
  .cmp-col{padding:40px;}
  .cmp-col.old{background:var(--panel);}
  .cmp-col.new{background:radial-gradient(ellipse at top,#15192B,#0A0D18 75%);position:relative;}
  .cmp-col.new::before{content:'';position:absolute;left:0;top:0;bottom:0;width:1.5px;background:var(--grad-cool);}
  .cmp-col h4,.cmp-col h3{font-size:13px;text-transform:uppercase;letter-spacing:0.1em;margin-bottom:26px;color:var(--text-faint);}
  .cmp-col.new h4,.cmp-col.new h3{color:var(--cyan);}
  .cmp-row{display:flex;gap:12px;align-items:center;padding:15px 0;font-size:15px;border-top:1px solid var(--border-soft);}
  .cmp-row:first-of-type{border-top:none;}
  .cmp-col.old .cmp-row{color:var(--text-muted);}
  .cmp-col.new .cmp-row{color:var(--text);font-weight:500;}
  .cmp-row svg{width:18px;height:18px;flex-shrink:0;fill:none;}
  .cmp-col.old svg{stroke:var(--text-faint);}
  .cmp-col.new svg{stroke:var(--green);}
  @media (max-width:760px){.compare{grid-template-columns:1fr;}.cmp-col.new::before{width:100%;height:1.5px;top:0;bottom:auto;}}
  /* ============ SOLUTIONS (Build / Protect / Grow) ============ */
  .sol-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;align-items:stretch;}
  .sol-card{background:var(--panel);border:1px solid var(--border-soft);border-radius:var(--r-xl);padding:34px 30px;display:flex;flex-direction:column;position:relative;overflow:hidden;transition:transform .32s var(--ease),border-color .32s;}
  .sol-card::after{content:'';position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,rgba(109,106,246,0.6),rgba(37,217,240,0.4),transparent);opacity:0;transition:opacity .32s;}
  .sol-card:hover{transform:translateY(-5px);border-color:var(--border-strong);}
  .sol-card:hover::after{opacity:1;}
  .sol-card:hover .sol-ico{background:var(--grad-cool-soft);border-color:transparent;}
  .sol-ico{width:52px;height:52px;border-radius:14px;background:var(--surface);border:1px solid var(--border-soft);display:flex;align-items:center;justify-content:center;margin-bottom:22px;transition:background .32s,border-color .32s;}
  .sol-ico svg{width:25px;height:25px;stroke:var(--cyan);fill:none;stroke-width:1.6;}
  .sol-card h3{font-size:26px;margin-bottom:10px;}
  .sol-card .sol-lead{font-size:14.5px;color:var(--text-muted);line-height:1.6;margin:0 0 24px;}
  .sol-list{list-style:none;margin:0 0 28px;padding:0;display:flex;flex-direction:column;gap:13px;flex-grow:1;}
  .sol-list li{display:flex;gap:11px;font-size:14.5px;color:var(--text);align-items:flex-start;font-weight:500;}
  .sol-list li svg{width:16px;height:16px;stroke:var(--green);flex-shrink:0;margin-top:2px;stroke-width:2;fill:none;}
  @media (max-width:900px){.sol-grid{grid-template-columns:1fr;}}

  /* ============ WHICH SOLUTION FITS ============ */
  .fit-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;}
  .fit-card{background:var(--panel);border:1px solid var(--border-soft);border-radius:var(--r-lg);padding:28px 24px;display:flex;flex-direction:column;position:relative;overflow:hidden;transition:transform .3s var(--ease),border-color .3s,background .3s;}
  .fit-card:hover{transform:translateY(-5px);border-color:var(--border-strong);background:var(--panel-2);}
  .fit-card:hover .fit-ico{background:var(--grad-cool-soft);border-color:transparent;}
  .fit-ico{width:44px;height:44px;border-radius:12px;background:var(--surface);border:1px solid var(--border-soft);display:flex;align-items:center;justify-content:center;margin-bottom:18px;transition:background .3s,border-color .3s;}
  .fit-ico svg{width:21px;height:21px;stroke:var(--cyan);fill:none;stroke-width:1.6;}
  .fit-card h3{font-size:19px;margin-bottom:8px;}
  .fit-card p{font-size:14px;color:var(--text-muted);line-height:1.55;margin:0 0 22px;flex-grow:1;}
  .fit-cta{display:inline-flex;align-items:center;gap:7px;font-size:13.5px;font-weight:600;color:var(--cyan);transition:gap .25s;}
  .fit-cta svg{width:15px;height:15px;}
  .fit-card:hover .fit-cta{gap:11px;}
  .fit-card.featured{background:radial-gradient(ellipse at top,#161B2E 0%,#0A0D18 70%);border-color:transparent;box-shadow:0 40px 90px -45px rgba(109,106,246,0.55);}
  .fit-card.featured::before{content:'';position:absolute;inset:0;border-radius:var(--r-lg);padding:1.5px;background:var(--grad-cool);-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude;pointer-events:none;}
  .fit-card.featured:hover{background:radial-gradient(ellipse at top,#1A2038 0%,#0A0D18 70%);}
  @media (max-width:1000px){.fit-grid{grid-template-columns:1fr 1fr;}}
  @media (max-width:560px){.fit-grid{grid-template-columns:1fr;}}
  .commit{background:linear-gradient(180deg,rgba(109,106,246,0.06),rgba(37,217,240,0.03));border:1px solid var(--border);border-radius:var(--r-xl);padding:44px;position:relative;overflow:hidden;}
  .commit .badge-shield{width:56px;height:56px;border-radius:15px;background:var(--grad-cool-soft);border:1px solid var(--border);display:flex;align-items:center;justify-content:center;margin-bottom:24px;}
  .commit .badge-shield svg{width:28px;height:28px;stroke:var(--cyan);fill:none;stroke-width:1.6;}
  .commit h2{font-size:clamp(26px,3.4vw,36px);margin-bottom:16px;max-width:640px;}
  .commit p.intro{color:var(--text-muted);font-size:16px;max-width:680px;line-height:1.65;margin-bottom:26px;}
  .commit-cols{display:grid;grid-template-columns:1fr 1fr;gap:38px;margin-bottom:8px;}
  .commit-cols h5,.commit-cols h3{font-size:13px;text-transform:uppercase;letter-spacing:0.09em;color:var(--text-faint);margin-bottom:16px;}
  .commit-cols ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:11px;}
  .commit-cols li{display:flex;gap:10px;font-size:14px;color:var(--text-muted);align-items:flex-start;line-height:1.5;}
  .commit-cols li svg{width:15px;height:15px;flex-shrink:0;margin-top:2px;stroke-width:2;fill:none;}
  .commit-cols .cond svg{stroke:var(--cyan);}
  .commit-cols .then svg{stroke:var(--green);}
  @media (max-width:760px){.commit{padding:34px;}.commit-cols{grid-template-columns:1fr;gap:28px;}}
  .steps{display:grid;grid-template-columns:repeat(7,1fr);gap:12px;position:relative;}
  .steps::before{content:'';position:absolute;top:26px;left:6%;right:6%;height:1px;background:linear-gradient(90deg,transparent,var(--border-strong) 15%,var(--border-strong) 85%,transparent);}
  .step{text-align:center;position:relative;}
  .step .dot{width:52px;height:52px;border-radius:50%;background:var(--panel);border:1px solid var(--border);display:flex;align-items:center;justify-content:center;margin:0 auto 18px;position:relative;z-index:1;transition:transform .3s var(--ease),border-color .3s,background .3s;}
  .step .dot svg{width:22px;height:22px;stroke:var(--cyan);fill:none;stroke-width:1.6;}
  .step:hover .dot{transform:translateY(-4px);border-color:transparent;background:var(--grad-cool-soft);}
  .step:last-child .dot{background:var(--grad-cool);border-color:transparent;}
  .step:last-child .dot svg{stroke:#050608;}
  .step h4,.step h3{font-size:14.5px;margin-bottom:6px;}
  .step p{font-size:11.5px;color:var(--text-faint);line-height:1.45;}
  @media (max-width:900px){.steps{grid-template-columns:repeat(4,1fr);row-gap:34px;}.steps::before{display:none;}}
  @media (max-width:520px){.steps{grid-template-columns:repeat(2,1fr);}}
  .ind-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:12px;}
  .ind{background:var(--panel);border:1px solid var(--border-soft);border-radius:var(--r-md);padding:20px 12px;text-align:center;transition:transform .28s var(--ease),border-color .28s,background .28s;}
  .ind:hover{transform:translateY(-3px);border-color:var(--border-strong);background:var(--panel-2);}
  .ind svg{width:24px;height:24px;stroke:var(--cyan);fill:none;stroke-width:1.5;margin-bottom:10px;}
  .ind span{display:block;font-size:12.5px;color:var(--text-muted);font-weight:500;}
  @media (max-width:1000px){.ind-grid{grid-template-columns:repeat(4,1fr);}}
  @media (max-width:560px){.ind-grid{grid-template-columns:repeat(2,1fr);}}
  .case-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;}
  .case{background:var(--panel);border:1px solid var(--border-soft);border-radius:var(--r-lg);overflow:hidden;transition:transform .32s var(--ease),border-color .32s;}
  .case:hover{transform:translateY(-6px);border-color:var(--border-strong);}
  .case .cvis{height:150px;position:relative;overflow:hidden;background:var(--bg-2);border-bottom:1px solid var(--border-soft);display:flex;align-items:flex-end;padding:18px;}
  .case .cvis .grow-bars{display:flex;align-items:flex-end;gap:8px;width:100%;height:80px;}
  .case .cvis .grow-bars i{flex:1;border-radius:3px 3px 0 0;background:var(--grad-cool);opacity:.85;}
  .case .cvis .ctag{position:absolute;top:14px;left:16px;font-family:'JetBrains Mono';font-size:10.5px;letter-spacing:0.08em;text-transform:uppercase;color:var(--text-muted);background:rgba(0,0,0,0.4);padding:5px 10px;border-radius:999px;border:1px solid var(--border-soft);}
  .case .cbody{padding:24px;}
  .case h3{font-size:18px;margin-bottom:14px;}
  .case .cline{font-size:12.5px;color:var(--text-muted);line-height:1.5;margin-bottom:6px;display:flex;gap:8px;}
  .case .cline b{color:var(--text-faint);font-weight:600;min-width:64px;flex-shrink:0;text-transform:uppercase;font-size:10.5px;letter-spacing:0.05em;padding-top:2px;}
  .case .cmetrics{display:flex;gap:20px;margin-top:18px;padding-top:16px;border-top:1px solid var(--border-soft);}
  .case .cmetrics div .mv{font-family:'JetBrains Mono';font-size:19px;font-weight:600;color:var(--green);}
  .case .cmetrics div .ml{font-size:10.5px;color:var(--text-faint);margin-top:2px;}
  @media (max-width:900px){.case-grid{grid-template-columns:1fr;}}
  .faq-wrap{max-width:820px;margin:0 auto;}
  .faq-item{border:1px solid var(--border-soft);border-radius:var(--r-md);margin-bottom:12px;overflow:hidden;transition:border-color .25s,background .25s;background:var(--panel);}
  .faq-item.open{border-color:var(--border-strong);background:var(--panel-2);}
  .faq-q{width:100%;background:none;border:none;color:var(--text);text-align:left;padding:22px 24px;font-family:'Space Grotesk';font-size:16px;font-weight:600;display:flex;justify-content:space-between;align-items:center;gap:20px;cursor:pointer;}
  .faq-q .pl{width:24px;height:24px;flex-shrink:0;border-radius:50%;border:1px solid var(--border);display:flex;align-items:center;justify-content:center;transition:transform .3s var(--ease),background .3s;}
  .faq-q .pl svg{width:13px;height:13px;stroke:var(--cyan);stroke-width:2;fill:none;}
  .faq-item.open .faq-q .pl{transform:rotate(135deg);background:var(--grad-cool-soft);}
  .faq-a{max-height:0;overflow:hidden;transition:max-height .38s var(--ease);}
  .faq-a p{color:var(--text-muted);font-size:14.5px;line-height:1.7;padding:0 24px 22px;}
  .wizard{max-width:760px;margin:0 auto;background:var(--panel);border:1px solid var(--border);border-radius:var(--r-xl);padding:44px 48px;position:relative;overflow:hidden;}
  .wizard::before{content:'';position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,rgba(109,106,246,0.7),rgba(37,217,240,0.5),transparent);}
  .wz-progress{display:flex;gap:8px;margin-bottom:12px;}
  .wz-progress i{flex:1;height:6px;border-radius:99px;background:var(--surface-2);overflow:hidden;position:relative;}
  .wz-progress i.done{background:var(--grad-cool);}
  .wz-step-label{font-family:'JetBrains Mono';font-size:12.5px;color:var(--text-faint);letter-spacing:0.08em;margin-bottom:28px;text-transform:uppercase;display:flex;align-items:center;justify-content:space-between;}
  .wz-step-label .wz-count{color:var(--cyan);}
  .wz-panel{display:none;animation:fadeUp .4s var(--ease);}
  .wz-panel.active{display:block;}
  @keyframes fadeUp{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}
  .wz-panel h3{font-size:29px;margin-bottom:12px;letter-spacing:-0.02em;}
  .wz-panel .sub{color:var(--text-muted);font-size:16px;margin-bottom:34px;line-height:1.6;max-width:520px;}
  .wz-input{width:100%;background:var(--surface);border:1px solid var(--border);color:var(--text);padding:18px 20px;border-radius:var(--r-md);font-size:16px;font-family:'Inter';transition:border-color .25s,background .25s;}
  .wz-input::placeholder{color:var(--text-faint);}
  .wz-input:focus{outline:none;border-color:var(--cyan);background:var(--surface-2);}
  .wz-opts{display:grid;grid-template-columns:1fr 1fr;gap:14px;}
  .wz-opt{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-md);padding:18px 20px;font-size:15.5px;color:var(--text-muted);cursor:pointer;transition:all .22s;display:flex;align-items:center;gap:14px;user-select:none;}
  .wz-opt:hover{border-color:var(--border-strong);color:var(--text);transform:translateY(-1px);}
  .wz-opt.sel{border-color:transparent;background:var(--grad-cool-soft);color:var(--text);box-shadow:inset 0 0 0 1.5px var(--indigo);}
  .wz-opt .ck{width:22px;height:22px;border-radius:6px;border:1px solid var(--border-strong);flex-shrink:0;display:flex;align-items:center;justify-content:center;transition:background .2s;}
  .wz-opt.sel .ck{background:var(--grad-cool);border-color:transparent;}
  .wz-opt .ck svg{width:13px;height:13px;stroke:#050608;stroke-width:3;opacity:0;transition:opacity .2s;fill:none;}
  .wz-opt.sel .ck svg{opacity:1;}
  .wz-nav{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:40px;}
  .wz-back{background:none;border:none;color:var(--text-muted);font-size:15px;cursor:pointer;padding:15px 10px;font-weight:600;transition:color .2s;}
  .wz-back:hover{color:var(--text);}
  .wz-back[disabled]{opacity:0;pointer-events:none;}
  .wz-success{text-align:center;padding:20px 0;}
  .wz-success .ring{width:78px;height:78px;margin:0 auto 22px;}
  .wz-success h3{font-size:28px;margin-bottom:12px;}
  .wz-success p{color:var(--text-muted);font-size:16px;line-height:1.6;}
  .final{text-align:center;border-radius:var(--r-xl);padding:62px 40px;position:relative;overflow:hidden;background:radial-gradient(ellipse at center,rgba(109,106,246,0.16),transparent 68%);border:1px solid var(--border);}
  .final h2{font-size:clamp(30px,4.4vw,50px);max-width:720px;margin:0 auto 18px;line-height:1.1;}
  .final h2 .g{background:var(--grad-text);-webkit-background-clip:text;background-clip:text;color:transparent;}
  .final p{color:var(--text-muted);font-size:17px;max-width:520px;margin:0 auto 30px;}
  footer{border-top:1px solid var(--border-soft);padding:var(--sec-pad) 0 30px;margin-top:0;}
  .foot-top{display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr 1fr;gap:34px;margin-bottom:38px;}
  .foot-col .foot-h{font-size:11.5px;text-transform:uppercase;letter-spacing:0.1em;color:var(--text-faint);margin-bottom:18px;}
  .foot-col a,.foot-col p{display:block;font-size:14px;color:var(--text-muted);margin-bottom:11px;transition:color .2s;}
  .foot-col a:hover{color:var(--text);}
  .foot-brand p{max-width:270px;line-height:1.6;margin-top:14px;}
  .foot-bottom{display:flex;justify-content:space-between;align-items:center;padding-top:28px;border-top:1px solid var(--border-soft);font-size:13px;color:var(--text-faint);flex-wrap:wrap;gap:14px;}
  .foot-bottom a{color:var(--text-faint);transition:color .2s;}
  .foot-bottom a:hover{color:var(--text);}
  .foot-social{display:flex;gap:12px;}
  .foot-social a{width:34px;height:34px;border-radius:9px;border:1px solid var(--border);display:flex;align-items:center;justify-content:center;transition:border-color .25s,background .25s;}
  .foot-social a:hover{border-color:var(--border-strong);background:var(--surface);}
  .foot-social svg{width:16px;height:16px;stroke:var(--text-muted);fill:none;stroke-width:1.6;}
  @media (max-width:860px){.foot-top{grid-template-columns:1fr 1fr;gap:30px;}}

  /* ============ PRIVATE PORTFOLIO — SIGNATURE SECTION ============ */
  /* .pp-glow below uses inset:-60px, which is wider than the page gutter and
     was pushing the document 28-40px past the viewport (horizontal scroll on
     tablet/mobile). Clipping here contains it; the glow is a fading radial so
     nothing visible is lost. Note: this must NOT be applied to html/body —
     that would break the sticky header. */
  .privport{position:relative;overflow:hidden;}
  .pp-grid{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:start;}
  .pp-badge{display:inline-flex;align-items:center;gap:9px;padding:8px 16px 8px 10px;border-radius:999px;background:var(--surface);border:1px solid var(--border);margin-bottom:26px;}
  .pp-badge .ic{width:22px;height:22px;border-radius:50%;background:var(--grad-cool-soft);display:flex;align-items:center;justify-content:center;}
  .pp-badge .ic svg{width:11px;height:11px;stroke:var(--cyan);fill:none;stroke-width:2.4;}
  .pp-badge span{font-family:'JetBrains Mono';font-size:11.5px;letter-spacing:0.06em;color:var(--text-muted);text-transform:uppercase;}
  .pp-left h2{font-size:clamp(30px,3.6vw,44px);line-height:1.1;margin-bottom:22px;}
  .pp-left h2 .g{background:var(--grad-text);-webkit-background-clip:text;background-clip:text;color:transparent;}
  .pp-left p.lead{font-size:17px;color:var(--text-muted);line-height:1.68;max-width:520px;margin-bottom:40px;}

  .pp-reasons{display:flex;flex-direction:column;gap:6px;}
  .pp-reason{display:flex;gap:16px;padding:20px 4px;border-top:1px solid var(--border-soft);}
  .pp-reason:first-child{border-top:none;}
  .pp-reason .ico{width:38px;height:38px;border-radius:11px;background:var(--surface);border:1px solid var(--border-soft);display:flex;align-items:center;justify-content:center;flex-shrink:0;}
  .pp-reason .ico svg{width:18px;height:18px;stroke:var(--cyan);fill:none;stroke-width:1.6;}
  .pp-reason h4,.pp-reason h3{font-size:15.5px;margin-bottom:6px;}
  .pp-reason p{font-size:13.5px;color:var(--text-muted);line-height:1.6;margin:0;}

  .pp-note{display:flex;gap:12px;align-items:flex-start;margin-top:32px;padding:16px 18px;background:var(--surface);border:1px solid var(--border-soft);border-radius:var(--r-md);}
  .pp-note svg{width:16px;height:16px;stroke:var(--text-faint);fill:none;stroke-width:1.8;flex-shrink:0;margin-top:2px;}
  .pp-note p{font-size:12.5px;color:var(--text-faint);line-height:1.6;margin:0;}

  /* the card */
  .pp-card-wrap{position:relative;}
  .pp-glow{position:absolute;inset:-60px;background:radial-gradient(ellipse 480px 420px at 50% 30%,rgba(109,106,246,0.22),transparent 65%);pointer-events:none;filter:blur(10px);}
  .pp-card{position:relative;background:linear-gradient(180deg,rgba(255,255,255,0.055),rgba(255,255,255,0.02));border:1px solid var(--border);border-radius:var(--r-xl);padding:38px 36px;backdrop-filter:blur(22px);box-shadow:0 50px 100px -40px rgba(0,0,0,0.7),inset 0 1px 0 rgba(255,255,255,0.06);overflow:hidden;}
  .pp-card::before{content:'';position:absolute;inset:0;border-radius:var(--r-xl);padding:1px;background:linear-gradient(150deg,rgba(109,106,246,0.55),transparent 35%,transparent 70%,rgba(37,217,240,0.4));-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude;pointer-events:none;}
  .pp-card-head{display:flex;align-items:center;gap:14px;margin-bottom:8px;}
  .pp-lock{width:44px;height:44px;border-radius:12px;background:var(--grad-cool-soft);border:1px solid var(--border);display:flex;align-items:center;justify-content:center;flex-shrink:0;}
  .pp-lock svg{width:20px;height:20px;stroke:var(--cyan);fill:none;stroke-width:1.6;}
  .pp-card-head h3{font-size:19px;}
  .pp-card-sub{font-size:13.5px;color:var(--text-muted);line-height:1.6;margin:14px 0 26px;}

  .pp-form{display:flex;flex-direction:column;gap:14px;}
  .pp-row{display:grid;grid-template-columns:1fr 1fr;gap:14px;}
  .pp-field{position:relative;}
  .pp-field label{display:block;font-size:11px;text-transform:uppercase;letter-spacing:0.06em;color:var(--text-faint);margin-bottom:7px;font-weight:600;}
  .pp-input, .pp-select, .pp-textarea{width:100%;background:var(--bg-2);border:1px solid var(--border);color:var(--text);padding:12px 14px;border-radius:var(--r-sm);font-size:14px;font-family:'Inter',sans-serif;transition:border-color .25s,background .25s;}
  .pp-input::placeholder, .pp-textarea::placeholder{color:var(--text-faint);}
  .pp-input:focus, .pp-select:focus, .pp-textarea:focus{outline:none;border-color:var(--cyan);background:var(--panel-2);}
  .pp-textarea{resize:none;height:88px;font-family:'Inter',sans-serif;}
  .pp-select{appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%238B93A6' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;background-size:16px;padding-right:36px;}
  .pp-select option{background:var(--bg-1);color:var(--text);}
  /* Neutralize browser autofill so filled fields keep the dark theme instead of
     Chrome's pale background (kept the same slate as an empty field). */
  input:-webkit-autofill, input:-webkit-autofill:hover, input:-webkit-autofill:focus, input:-webkit-autofill:active,
  textarea:-webkit-autofill, textarea:-webkit-autofill:hover, textarea:-webkit-autofill:focus,
  select:-webkit-autofill, select:-webkit-autofill:hover, select:-webkit-autofill:focus{
    -webkit-text-fill-color:var(--text);
    -webkit-box-shadow:0 0 0 1000px #1a1b23 inset;
    box-shadow:0 0 0 1000px #1a1b23 inset;
    caret-color:var(--text);
    transition:background-color 9999s ease-out 0s;
  }

  .pp-submit{margin-top:6px;position:relative;overflow:hidden;}
  .pp-submit .lbl-default{display:inline-flex;align-items:center;gap:8px;}
  .pp-submit.loading .lbl-default{opacity:0;}
  .pp-submit .lbl-loading{position:absolute;inset:0;display:none;align-items:center;justify-content:center;gap:8px;}
  .pp-submit.loading .lbl-loading{display:flex;}
  .pp-spin{width:15px;height:15px;border-radius:50%;border:2px solid rgba(10,10,15,0.25);border-top-color:#0A0A0F;animation:ppspin .7s linear infinite;}
  @keyframes ppspin{to{transform:rotate(360deg);}}

  .pp-privacy-line{font-size:11px;color:var(--text-faint);text-align:center;margin-top:14px;}

  /* success state */
  .pp-card.pp-done{display:flex;flex-direction:column;justify-content:center;}
  .wizard.wz-complete{display:flex;flex-direction:column;justify-content:center;}
  .pp-success{display:none;text-align:center;padding:20px 4px 8px;}
  .pp-success.show{display:block;animation:ppFadeUp .5s var(--ease);}
  @keyframes ppFadeUp{from{opacity:0;transform:translateY(10px);}to{opacity:1;transform:translateY(0);}}
  .pp-success .ring-wrap{width:64px;height:64px;margin:0 auto 20px;}
  .pp-success h3{font-size:20px;margin-bottom:10px;}
  .pp-success p{font-size:14px;color:var(--text-muted);line-height:1.6;max-width:340px;margin:0 auto;}
  .pp-success .resp-time{display:inline-flex;align-items:center;gap:8px;margin-top:18px;padding:8px 16px;background:var(--surface);border:1px solid var(--border-soft);border-radius:999px;font-size:12px;color:var(--text-muted);}
  .pp-success .resp-time b{color:var(--green);font-family:'JetBrains Mono';font-weight:600;}
  .pp-form-wrap.hide{display:none;}

  @media (max-width:980px){
    .pp-grid{grid-template-columns:1fr;gap:48px;}
    .pp-card{padding:30px 24px;}
  }
  @media (max-width:560px){
    .pp-row{grid-template-columns:1fr;}
    .pp-card{padding:26px 20px;}
  }

  .reveal{opacity:0;transform:translateY(26px);transition:opacity .8s var(--ease),transform .8s var(--ease);}
  .reveal.in{opacity:1;transform:translateY(0);}
  @media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important;}.reveal{opacity:1;transform:none;}#gridCanvas{display:none;}html{scroll-behavior:auto;}}
  @media (max-width:900px){.hero-grid{grid-template-columns:1fr;gap:40px;}}
  /* Tablet + mobile: the two rhythm variables scale down and every section,
     the hero base, and the footer follow automatically. */
  @media (max-width:900px){:root{--sec-pad:44px;--sec-head-gap:36px;}.hero{padding:48px 0 var(--sec-pad);}}
  @media (max-width:640px){:root{--sec-pad:38px;--sec-head-gap:30px;--gutter:20px;}
    .commit{padding:28px 22px;}.wizard{padding:30px 22px;}
    .wz-panel h3{font-size:24px;}.wz-opts{grid-template-columns:1fr;}.final{padding:44px 24px;}}

  /* ---- Inner content pages (services / industries / etc.) ---- */
  .crumbs{font-family:'JetBrains Mono';font-size:12px;letter-spacing:0.02em;color:var(--text-faint);margin-bottom:22px;}
  .crumbs a{color:var(--text-muted);}
  .crumbs a:hover{color:var(--text);}
  .crumbs .sep{margin:0 8px;opacity:.55;}
  .crumbs [aria-current]{color:var(--text-muted);}
  .rich{max-width:760px;}
  .rich h2{font-size:26px;margin:46px 0 14px;letter-spacing:-0.02em;}
  .rich h3{font-size:18px;margin:26px 0 8px;}
  .rich p{color:var(--text-muted);font-size:16px;line-height:1.72;margin:0 0 16px;}
  .rich ul{margin:0 0 20px;padding:0;list-style:none;}
  .rich li{position:relative;padding-left:26px;color:var(--text-muted);font-size:15.5px;line-height:1.62;margin-bottom:10px;}
  .rich li::before{content:'';position:absolute;left:2px;top:9px;width:8px;height:8px;border-radius:2px;background:var(--grad-cool);}
  .rich a{color:var(--cyan);}
  .rich a:hover{text-decoration:underline;}
  /* In-text links inside prose need a non-color signal (WCAG link-in-text-block). */
  .rich p a, .rich li a{text-decoration:underline;text-underline-offset:2px;}
  .rich hr{border:0;border-top:1px solid var(--border);margin:32px 0;}
  .rich .table-wrap{overflow-x:auto;margin:0 0 22px;border:1px solid var(--border-soft);border-radius:var(--r-lg);}
  .rich table{width:100%;border-collapse:collapse;font-size:14.5px;min-width:520px;}
  .rich th,.rich td{text-align:left;padding:12px 16px;border-bottom:1px solid var(--border-soft);vertical-align:top;line-height:1.55;}
  .rich th{color:var(--text);font-weight:600;background:var(--panel);white-space:nowrap;}
  .rich td{color:var(--text-muted);}
  .rich tbody tr:last-child td{border-bottom:0;}
  .rel{display:flex;flex-wrap:wrap;gap:10px;margin:12px 0 0;}
  .rel a{font-size:13.5px;padding:8px 14px;border:1px solid var(--border);border-radius:999px;color:var(--text-muted);transition:border-color .2s,color .2s;}
  .rel a:hover{border-color:var(--border-strong);color:var(--text);}
  .inner-cta{margin:56px 0 0;padding:40px;border:1px solid var(--border);border-radius:var(--r-xl);background:var(--grad-cool-soft);text-align:center;}
  .inner-cta h2{font-size:24px;margin:0 0 10px;}
  .inner-cta p{color:var(--text-muted);margin:0 0 20px;}
  @media (max-width:560px){.inner-cta{padding:28px 22px;}.rich h2{font-size:22px;}}

  /* ---- Index card grid (services / industries indexes) ---- */
  .card-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;margin-top:10px;}
  @media (max-width:640px){.card-grid{grid-template-columns:1fr;}}
  .link-card{display:block;padding:22px 24px;border:1px solid var(--border-soft);border-radius:var(--r-lg);background:var(--panel);transition:transform .28s var(--ease),border-color .28s;}
  .link-card:hover{transform:translateY(-4px);border-color:var(--border-strong);}
  .link-card h3{font-size:18px;margin:0 0 8px;}
  .link-card p{color:var(--text-muted);font-size:14px;line-height:1.6;margin:0 0 10px;}
  .link-card .more{color:var(--cyan);font-size:13.5px;font-weight:600;}

  /* Consultation form: "what's in place" checkboxes */
  .pp-checks{display:grid;grid-template-columns:1fr 1fr;gap:10px 18px;}
  .pp-checks label{display:flex;align-items:center;gap:9px;font-size:14px;color:var(--text-muted);cursor:pointer;}
  .pp-checks input{width:16px;height:16px;accent-color:var(--cyan);flex-shrink:0;}
  @media (max-width:520px){.pp-checks{grid-template-columns:1fr;}}

  /* Contact page layout */
  .contact-grid{display:grid;grid-template-columns:0.85fr 1.15fr;gap:32px;align-items:start;}
  .contact-info h2{font-size:22px;margin:0 0 14px;}
  .contact-info h3{margin-top:26px;}
  @media (max-width:820px){.contact-grid{grid-template-columns:1fr;gap:28px;}}

  /* Guides: back link + hub list */
  .back-link{display:inline-flex;align-items:center;gap:6px;font-family:'JetBrains Mono';font-size:12.5px;color:var(--text-muted);margin-bottom:16px;transition:color .2s;}
  .back-link:hover{color:var(--cyan);}
  .rich h1{font-size:30px;margin:0 0 18px;letter-spacing:-0.02em;line-height:1.12;}
  .guide-group{margin-bottom:32px;}
  .guide-group > h2{font-size:18px;margin:0 0 8px;}
  .guide-group > h2 a{color:var(--text);}
  .guide-group > h2 a:hover{color:var(--cyan);}
  .guide-list{list-style:none;padding:0;margin:0;}
  .guide-list li{margin-bottom:9px;line-height:1.5;}
  .guide-list a{color:var(--text-muted);font-size:15px;}
  .guide-list a:hover{color:var(--cyan);}
  .guide-list .pending{color:var(--text-faint);font-size:15px;}
