  :root{
    --navy:#0B2036;
    --navy-deep:#071527;
    --grid-line:#173657;
    --cyan:#5FD4F0;
    --cyan-dim:#2F7C93;
    --paper:#F3F1E9; /* wait, will override below to cool paper */
  }
  /* ---- Design tokens ---- */
  :root{
    --navy:#0B2036;
    --navy-deep:#071527;
    --grid-line:#173657;
    --cyan:#5FD4F0;
    --cyan-glow:rgba(95,212,240,0.55);
    --paper:#F0F2EC;
    --paper-card:#FFFFFF;
    --ink:#0E2033;
    --muted:#5C7188;
    --line:#D8DECF;
    --green:#2FAE6B;
    --green-bg:#E4F5EC;
    --amber:#C8860D;
    --amber-bg:#FBF0DA;
    --red:#C6473C;
    --red-bg:#FBEAE7;
    --radius:14px;
    --font-display: 'Space Grotesk', sans-serif;
    --font-body: 'Inter', sans-serif;
    --font-mono: 'JetBrains Mono', monospace;
  }

  *{margin:0;padding:0;box-sizing:border-box;}
  html{scroll-behavior:smooth;}
  body{
    font-family:var(--font-body);
    background:var(--paper);
    color:var(--ink);
    -webkit-font-smoothing:antialiased;
    overflow-x:hidden;
  }
  a{color:inherit;text-decoration:none;}
  img,svg{display:block;}
  ul{list-style:none;}

  @media (prefers-reduced-motion: reduce){
    *{animation-duration:0.001ms !important; animation-iteration-count:1 !important; transition-duration:0.001ms !important;}
  }

  /* ---- Utility ---- */
  .wrap{max-width:1180px;margin:0 auto;padding:0 32px;}
  .eyebrow{
    font-family:var(--font-mono);
    font-size:12px;
    letter-spacing:0.14em;
    text-transform:uppercase;
    color:var(--cyan-dim);
  }
  .eyebrow.on-paper{color:var(--muted);}

  /* ================= TOPBAR ================= */
  .topbar{
    position:sticky; top:0; z-index:50;
    background:rgba(7,21,39,0.86);
    backdrop-filter:blur(10px);
    border-bottom:1px solid rgba(95,212,240,0.14);
  }
  .topbar .wrap{
    display:flex; align-items:center; justify-content:space-between;
    height:68px;
  }
  .logo{
    display:flex; align-items:center; gap:10px;
    font-family:var(--font-display); font-weight:700; font-size:18px;
    color:#F5F8FA; letter-spacing:0.01em;
  }
  .logo .mark{
    width:22px;height:22px;
    border:1.5px solid var(--cyan);
    border-radius:5px;
    position:relative;
    box-shadow:0 0 10px var(--cyan-glow);
  }
  .logo .mark::after{
    content:"";
    position:absolute; left:3px; right:3px; top:9px; height:1.5px;
    background:var(--cyan);
    animation:sweepMini 2.6s ease-in-out infinite;
  }
  @keyframes sweepMini{
    0%,100%{top:4px; opacity:.4;}
    50%{top:14px; opacity:1;}
  }
  nav{display:flex; align-items:center; gap:34px;}
  nav ul{display:flex; align-items:center; gap:34px; list-style:none; margin:0; padding:0;}
  nav a,
  nav a.nav-link{
    font-size:14px; color:#B7C6D6; font-weight:500;
    transition:color .15s ease;
  }
  nav a:hover,
  nav a.nav-link:hover{color:#fff;}
  nav .current-menu-item > a{color:var(--cyan);}
  .btn{
    font-family:var(--font-body);
    font-weight:600; font-size:14px;
    padding:10px 20px;
    border-radius:8px;
    border:1px solid transparent;
    cursor:pointer;
    display:inline-flex; align-items:center; gap:8px;
    transition:transform .15s ease, box-shadow .15s ease, background .15s ease;
  }
  .btn:focus-visible{outline:2px solid var(--cyan); outline-offset:3px;}
  .btn-cyan{
    background:var(--cyan); color:#03222E;
    box-shadow:0 0 0 0 var(--cyan-glow);
  }
  .btn-cyan:hover{transform:translateY(-1px); box-shadow:0 6px 20px -4px var(--cyan-glow);}
  .btn-ghost{
    background:transparent; border-color:rgba(255,255,255,0.18); color:#EAF1F6;
  }
  .btn-ghost:hover{border-color:var(--cyan); color:var(--cyan);}
  .btn-dark{
    background:var(--ink); color:#fff;
  }
  .btn-dark:hover{transform:translateY(-1px); box-shadow:0 8px 22px -8px rgba(14,32,51,0.5);}

  /* ================= HERO ================= */
  .hero{
    position:relative;
    background:
      radial-gradient(ellipse 900px 500px at 78% -10%, rgba(95,212,240,0.16), transparent 60%),
      linear-gradient(180deg, var(--navy) 0%, var(--navy-deep) 100%);
    padding:72px 0 0;
    overflow:hidden;
  }
  .blueprint-grid{
    position:absolute; inset:0;
    background-image:
      linear-gradient(var(--grid-line) 1px, transparent 1px),
      linear-gradient(90deg, var(--grid-line) 1px, transparent 1px);
    background-size:28px 28px;
    opacity:0.35;
    mask-image:radial-gradient(ellipse 80% 70% at 60% 20%, black 40%, transparent 90%);
  }
  .hero-inner{
    position:relative; z-index:2;
    display:grid; grid-template-columns:1.05fr 0.95fr; gap:44px;
    align-items:center;
    padding-bottom:56px;
  }
  .hero h1{
    font-family:var(--font-display);
    font-weight:700;
    font-size: clamp(32px, 3.6vw, 42px);
    line-height:1.08;
    letter-spacing:-0.01em;
    color:#F6FAFC;
    margin:14px 0 16px;
  }
  /* Most laptop screens (1024–1600px) sit at the top of the clamp's vw
     range and read too large — pin them to a smaller, calmer size.
     Larger desktop monitors keep the fluid clamp above. */
  @media (min-width:981px) and (max-width:1600px){
    .hero h1{ font-size:42px; }
  }
  .hero h1 .accent{color:var(--cyan);}
  .hero p.lede{
    font-size:16px; line-height:1.55;
    color:#AFC2D3;
    max-width:490px;
    margin-bottom:22px;
  }
  .hero p.lede strong{color:#E9F4F8; font-weight:600;}

  /* Scanner input, styled like a device readout */
  .scanner{
    background:rgba(255,255,255,0.03);
    border:1px solid rgba(95,212,240,0.22);
    border-radius:12px;
    padding:6px;
    display:flex; gap:6px;
    max-width:520px;
    box-shadow: inset 0 0 0 1px rgba(255,255,255,0.02), 0 20px 50px -25px rgba(0,0,0,0.7);
  }
  .scanner-led{
    width:8px;height:8px;border-radius:50%;
    background:var(--green); box-shadow:0 0 8px var(--green);
    align-self:center; margin-left:10px; flex:none;
    animation:blink 1.8s ease-in-out infinite;
  }
  @keyframes blink{0%,100%{opacity:1;}50%{opacity:.35;}}
  .scanner input{
    flex:1; background:transparent; border:0; outline:0;
    font-family:var(--font-mono); font-size:14px; color:#EAF3F8;
    padding:12px 10px;
  }
  .scanner input::placeholder{color:#5F7C93;}
  .scanner button{
    font-family:var(--font-mono); font-weight:600; font-size:13px;
    letter-spacing:0.02em;
    background:var(--cyan); color:#03222E;
    border:0; border-radius:8px; padding:0 20px;
    cursor:pointer;
    display:flex; align-items:center; gap:8px;
    transition:background .15s ease, transform .1s ease;
  }
  .scanner button:hover{background:#7FE0F7;}
  .scanner button:active{transform:scale(0.98);}
  .scanner button:focus-visible{outline:2px solid #fff; outline-offset:2px;}
  .hero-footnote{
    margin-top:14px; font-size:12.5px; color:#5F7C93;
    font-family:var(--font-mono);
    display:flex; align-items:center; gap:8px;
  }
  .hero-footnote svg{width:13px;height:13px;flex:none;}

  /* Prominent scanner variant */
  .scanner-lg{
    max-width:600px;
    padding:9px;
    border-radius:16px;
    border-width:1.5px;
    border-color:rgba(95,212,240,0.4);
    box-shadow:
      0 0 0 1px rgba(95,212,240,0.06),
      0 0 40px -6px rgba(95,212,240,0.35),
      0 30px 60px -30px rgba(0,0,0,0.8);
    animation:scannerPulse 3.2s ease-in-out infinite;
  }
  @keyframes scannerPulse{
    0%,100%{ box-shadow:0 0 0 1px rgba(95,212,240,0.06), 0 0 40px -6px rgba(95,212,240,0.35), 0 30px 60px -30px rgba(0,0,0,0.8); }
    50%{ box-shadow:0 0 0 1px rgba(95,212,240,0.1), 0 0 58px -4px rgba(95,212,240,0.55), 0 30px 60px -30px rgba(0,0,0,0.8); }
  }
  .scanner-lg input{
    font-size:16px;
    padding:16px 12px;
  }
  .scanner-lg .btn-cyan-lg{
    font-size:15px;
    padding:0 26px;
    height:52px;
    border-radius:10px;
  }
  .scanner-lg .scanner-led{
    width:9px;height:9px; margin-left:14px;
  }

  .hero-badges{
    display:flex; flex-wrap:wrap; gap:10px;
    margin-top:18px;
  }
  .hero-badge{
    display:inline-flex; align-items:center; gap:6px;
    font-family:var(--font-mono); font-size:11.5px; color:#AFC2D3;
    background:rgba(255,255,255,0.04);
    border:1px solid rgba(95,212,240,0.16);
    padding:6px 12px; border-radius:20px;
  }
  .hero-badge svg{width:12px;height:12px; color:var(--cyan); flex:none;}

  .scan-error{
    margin-top:14px; max-width:520px;
    font-size:13px; color:#FFD9D2;
    background:rgba(198,71,60,0.14);
    border:1px solid rgba(198,71,60,0.4);
    border-radius:8px;
    padding:10px 14px;
  }

  /* Right side — device visual */
  .device{
    position:relative;
    background:linear-gradient(180deg, rgba(255,255,255,0.05), rgba(255,255,255,0.015));
    border:1px solid rgba(95,212,240,0.18);
    border-radius:16px;
    padding:16px;
  }
  .device-chrome{
    display:flex; align-items:center; gap:6px;
    padding-bottom:12px; margin-bottom:14px;
    border-bottom:1px dashed rgba(95,212,240,0.18);
  }
  .device-chrome span{width:8px;height:8px;border-radius:50%; background:rgba(255,255,255,0.15);}
  .device-chrome .url{
    margin-left:10px; font-family:var(--font-mono); font-size:11.5px; color:#7B93A8;
    background:rgba(0,0,0,0.2); padding:5px 10px; border-radius:5px; flex:1;
  }
  .device-screen{
    position:relative;
    height:300px;
    border-radius:8px;
    background:
      repeating-linear-gradient(0deg, rgba(95,212,240,0.05) 0 1px, transparent 1px 22px),
      repeating-linear-gradient(90deg, rgba(95,212,240,0.05) 0 1px, transparent 1px 22px),
      #081A2C;
    overflow:hidden;
  }
  .scan-beam{
    position:absolute; left:0; right:0; height:64px;
    background:linear-gradient(180deg, transparent, rgba(95,212,240,0.22), rgba(95,212,240,0.55), rgba(95,212,240,0.22), transparent);
    animation:sweep 3.4s cubic-bezier(.4,0,.2,1) infinite;
    filter:blur(1px);
  }
  @keyframes sweep{
    0%{top:-70px;}
    55%{top:100%;}
    100%{top:100%;}
  }
  .tag{
    position:absolute;
    font-family:var(--font-mono); font-size:11px;
    background:rgba(8,26,44,0.9);
    border:1px solid var(--cyan-dim);
    color:#BFEAF5;
    padding:6px 10px; border-radius:6px;
    display:flex; align-items:center; gap:6px;
    opacity:0;
    animation:tagIn 0.6s ease forwards;
  }
  .tag .dot{width:5px;height:5px;border-radius:50%; background:var(--green);}
  .tag.t1{top:34px; left:22px; animation-delay:0.6s;}
  .tag.t2{top:118px; right:26px; animation-delay:1.5s;}
  .tag.t3{top:190px; left:44px; animation-delay:2.4s;}
  .tag.t4{bottom:26px; right:40px; animation-delay:3.2s;}
  @keyframes tagIn{
    from{opacity:0; transform:translateY(6px);}
    to{opacity:1; transform:translateY(0);}
  }
  .device-caption{
    margin-top:14px; display:flex; justify-content:space-between;
    font-family:var(--font-mono); font-size:11px; color:#5F7C93;
  }

  /* stat strip */
  .stat-strip{
    position:relative; z-index:2;
    border-top:1px solid rgba(95,212,240,0.14);
    background:rgba(255,255,255,0.02);
  }
  .stat-strip .wrap{
    display:grid; grid-template-columns:repeat(4,1fr);
    padding:26px 32px;
  }
  .stat{text-align:left; padding:0 20px; border-left:1px solid rgba(95,212,240,0.14);}
  .stat:first-child{border-left:0; padding-left:0;}
  .stat .num{font-family:var(--font-display); font-weight:700; font-size:26px; color:#F0F8FB;}
  .stat .lbl{font-size:12.5px; color:#8CA4B8; margin-top:2px;}

  /* ================= TORN EDGE TRANSITION ================= */
  .tear{
    display:block; width:100%; height:34px;
    background:var(--paper);
  }

  /* ================= REPORT SECTION ================= */
  .report{
    background:var(--paper);
    padding:20px 0 100px;
  }
  .report-head{
    display:flex; align-items:flex-end; justify-content:space-between;
    gap:24px; margin-bottom:34px; flex-wrap:wrap;
    padding-top:36px;
  }
  .report-head h2{
    font-family:var(--font-display); font-weight:700;
    font-size:clamp(26px,3vw,34px);
    margin-top:8px;
  }
  .report-meta{
    font-family:var(--font-mono); font-size:12.5px; color:var(--muted);
    display:flex; gap:18px; flex-wrap:wrap;
  }
  .grade-badge{
    display:flex; align-items:center; gap:12px;
    background:var(--paper-card);
    border:1px solid var(--line);
    border-radius:12px;
    padding:10px 18px;
  }
  .grade-badge .g{
    font-family:var(--font-display); font-weight:700; font-size:26px;
    color:var(--green); width:38px; text-align:center;
  }
  .grade-badge .gt{font-size:12px; color:var(--muted); line-height:1.3;}

  .report-grid{
    display:grid;
    grid-template-columns:2fr 1fr;
    gap:20px;
    margin-bottom:20px;
  }
  .card{
    background:var(--paper-card);
    border:1px solid var(--line);
    border-radius:var(--radius);
    padding:24px;
    box-shadow:0 1px 0 rgba(14,32,51,0.02);
  }
  .card-head{
    display:flex; align-items:center; justify-content:space-between;
    margin-bottom:18px;
  }
  .card-head h3{
    font-family:var(--font-display); font-weight:600; font-size:15px;
    display:flex; align-items:center; gap:9px;
  }
  .card-head h3 .ico{
    width:26px;height:26px;border-radius:7px;
    display:flex; align-items:center; justify-content:center;
    background:var(--green-bg); color:var(--green); flex:none;
  }
  .card-head h3 .ico svg{width:14px;height:14px;}
  .pill{
    font-family:var(--font-mono); font-size:11px; font-weight:600;
    padding:4px 9px; border-radius:20px;
    background:var(--green-bg); color:var(--green);
  }

  /* Theme card */
  .theme-screenshot{
    width:150px; height:100px; border-radius:8px; border:1px solid var(--line);
    margin-bottom:16px; display:block;
  }
  .theme-swatch{
    display:flex; gap:8px; margin-bottom:16px;
  }
  .swatch{width:22px;height:22px;border-radius:6px; border:1px solid rgba(0,0,0,0.06);}
  .kv{display:flex; justify-content:space-between; padding:9px 0; border-top:1px solid var(--line); font-size:13.5px;}
  .kv:first-of-type{border-top:0;}
  .kv .k{color:var(--muted);}
  .kv .v{font-family:var(--font-mono); font-weight:500;}

  /* confidence bars */
  .bars{display:inline-flex; align-items:flex-end; gap:2px; height:14px;}
  .bars span{width:3px; background:var(--line); border-radius:1px;}
  .bars span:nth-child(1){height:30%;}
  .bars span:nth-child(2){height:50%;}
  .bars span:nth-child(3){height:70%;}
  .bars span:nth-child(4){height:85%;}
  .bars span:nth-child(5){height:100%;}
  .bars.b5 span{background:var(--green);}
  .bars.b4 span:nth-child(-n+4){background:var(--green);}
  .bars.b3 span:nth-child(-n+3){background:var(--amber);}

  /* Hosting card */
  .host-row{display:flex; align-items:center; gap:10px; padding:8px 0;}
  .host-row .lbl{width:88px; font-size:12.5px; color:var(--muted); flex:none;}
  .host-row .val{font-family:var(--font-mono); font-size:13px; font-weight:500;}

  /* Performance card */
  .meter{
    height:8px; border-radius:6px; background:var(--line); overflow:hidden; margin-top:6px;
  }
  .meter i{display:block; height:100%; border-radius:6px; background:var(--green);}
  .perf-row{margin-bottom:14px;}
  .perf-row:last-child{margin-bottom:0;}
  .perf-row .top{display:flex; justify-content:space-between; font-size:12.5px;}
  .perf-row .top .n{font-family:var(--font-mono); color:var(--muted);}

  /* Plugins wide card */
  .plugins-card{margin-bottom:0;}
  .plugin-table{width:100%; border-collapse:collapse;}
  .plugin-table thead th{
    text-align:left; font-family:var(--font-mono); font-size:11px;
    text-transform:uppercase; letter-spacing:0.06em; color:var(--muted);
    font-weight:500; padding:0 14px 12px; border-bottom:1px solid var(--line);
  }
  .plugin-table td{
    padding:14px; border-bottom:1px solid var(--line); font-size:13.5px; vertical-align:middle;
  }
  .plugin-table tr:last-child td{border-bottom:0;}
  .plugin-name{display:flex; align-items:center; gap:10px; font-weight:600;}
  .plugin-dot{width:8px;height:8px;border-radius:50%; flex:none;}
  .plugin-dot.ok{background:var(--green);}
  .plugin-dot.warn{background:var(--amber);}
  .cat-tag{
    font-size:11px; font-family:var(--font-mono); color:var(--muted);
    background:var(--paper); border:1px solid var(--line); padding:3px 8px; border-radius:20px;
  }
  .ver{font-family:var(--font-mono); color:var(--muted); font-size:12.5px;}
  .status-flag{
    font-family:var(--font-mono); font-size:11.5px; font-weight:600; padding:3px 9px; border-radius:20px;
  }
  .status-flag.current{background:var(--green-bg); color:var(--green);}
  .status-flag.behind{background:var(--amber-bg); color:var(--amber);}

  /* ================= HOW IT WORKS ================= */
  .how{padding:100px 0; background:#EAEDE4; border-top:1px solid var(--line); border-bottom:1px solid var(--line);}
  .how-head{max-width:560px; margin-bottom:60px;}
  .how-head h2{font-family:var(--font-display); font-weight:700; font-size:clamp(26px,3vw,32px); margin-top:10px;}
  .steps{display:grid; grid-template-columns:repeat(3,1fr); gap:0; position:relative;}
  .step{position:relative; padding:0 28px 0 0;}
  .step:not(:last-child)::after{
    content:""; position:absolute; top:20px; left:calc(100% - 14px); width:calc(28px);
    border-top:1.5px dashed #B9C2AC;
  }
  .step .idx{
    font-family:var(--font-mono); font-size:12px; color:var(--muted);
    display:flex; align-items:center; gap:10px; margin-bottom:16px;
  }
  .step .idx .n{
    width:38px;height:38px; border-radius:50%; background:var(--paper-card);
    border:1px solid var(--line); display:flex; align-items:center; justify-content:center;
    font-family:var(--font-display); font-weight:700; color:var(--ink); font-size:14px;
  }
  .step h4{font-family:var(--font-display); font-weight:600; font-size:17px; margin-bottom:8px;}
  .step p{font-size:14px; color:var(--muted); line-height:1.6; max-width:280px;}

  /* ================= FEATURES ================= */
  .features{padding:100px 0;}
  .features-head{max-width:560px; margin-bottom:52px;}
  .features-head h2{font-family:var(--font-display); font-weight:700; font-size:clamp(26px,3vw,32px); margin-top:10px;}
  .feat-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:var(--line); border:1px solid var(--line); border-radius:var(--radius); overflow:hidden;}
  .feat{background:var(--paper-card); padding:30px 26px;}
  .feat .ico{
    width:34px;height:34px; border-radius:9px; background:var(--paper);
    display:flex; align-items:center; justify-content:center; margin-bottom:16px; color:var(--ink);
  }
  .feat .ico svg{width:17px;height:17px;}
  .feat h4{font-family:var(--font-display); font-weight:600; font-size:15.5px; margin-bottom:8px;}
  .feat p{font-size:13.5px; color:var(--muted); line-height:1.6;}

  /* ================= CTA ================= */
  .cta-band{
    background:linear-gradient(180deg, var(--navy) 0%, var(--navy-deep) 100%);
    position:relative; overflow:hidden;
    padding:88px 0;
  }
  .cta-band .blueprint-grid{opacity:0.25;}
  .cta-inner{position:relative; z-index:2; text-align:center; max-width:580px; margin:0 auto;}
  .cta-inner h2{
    font-family:var(--font-display); font-weight:700; color:#F6FAFC;
    font-size:clamp(26px,3.4vw,36px); margin:14px 0 14px;
  }
  .cta-inner p{color:#AFC2D3; font-size:15.5px; margin-bottom:30px;}
  .cta-actions{display:flex; gap:14px; justify-content:center; flex-wrap:wrap;}

  /* ================= FOOTER ================= */
  footer{background:var(--navy-deep); padding:34px 0; border-top:1px solid rgba(95,212,240,0.1);}
  footer .wrap{display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:14px;}
  footer .fnote{font-family:var(--font-mono); font-size:12px; color:#5F7C93;}
  footer .flinks{display:flex; gap:20px;}
  footer .flinks a{font-size:12.5px; color:#8CA4B8;}
  footer .flinks a:hover{color:var(--cyan);}

  /* FAQ accordion */
  details.card summary::-webkit-details-marker{display:none;}
  details.card summary{position:relative; padding-right:24px;}
  details.card summary::after{
    content:"+"; position:absolute; right:0; top:0;
    font-family:var(--font-display); font-size:18px; color:var(--muted);
  }
  details.card[open] summary::after{content:"\2212";}

  /* ================= RESPONSIVE ================= */
  @media (max-width: 980px){
    .hero-inner{grid-template-columns:1fr;}
    .device{order:-1;}
    .stat-strip .wrap{grid-template-columns:repeat(2,1fr); row-gap:20px;}
    .report-grid{grid-template-columns:1fr;}
    .steps{grid-template-columns:1fr; gap:36px;}
    .step:not(:last-child)::after{display:none;}
    .feat-grid{grid-template-columns:1fr;}
    nav{display:none;}
  }
  @media (max-width: 560px){
    .wrap{padding:0 20px;}
    .plugin-table thead{display:none;}
    .plugin-table td{display:block; border-bottom:0; padding:6px 0;}
    .plugin-table tr{display:block; padding:14px 0; border-bottom:1px solid var(--line);}
    .report-head{align-items:flex-start;}
    .grade-badge{width:100%; justify-content:space-between;}
  }
