
  /* ==========================================================
     LimeHub brand tokens — read from the Webflow site variables
     (site 5e8922f558edde3ab471df7f, collections "Base" / "Apps")
     ========================================================== */
  :root {
    color-scheme: dark;
    --dark:        #151515;   /* Base · Dark — site body background */
    --almost-black:#1e1e1e;   /* Base · Primary/Almost Black */
    --dark-grey:   #1d1d1d;   /* Base · Primary/Dark Grey */
    --grey-1:      #383838;
    --grey-2:      #888888;
    --grey-3:      #c3c3c3;   /* site body text colour */
    --grey-4:      #e9e9e9;
    --white:       #ffffff;
    --haze:        #f6f6f6;
    --green:       #00dc59;   /* Base · Primary/Limehub green */
    --green-fg:    #071008;   /* Apps · Primary Foreground */
    --coral:       #fd7334;
    --coral-dark:  #d1612d;
    --turquoise:   #2dc1da;
    --purple:      #613dc1;
    --purple-link: #8b6ce8;   /* Base · Text-link Purple */
    --red:         #e94345;

    --font:   "Roboto", system-ui, -apple-system, "Segoe UI", sans-serif;
    --font-c: "Roboto Condensed", "Roboto", system-ui, sans-serif;
    --font-m: "Roboto Mono", ui-monospace, monospace;

    /* derived surfaces */
    --ground:  var(--dark);
    --card:    #1a1a1a;
    --plane:   #202020;
    --rule:    #303030;
    --rule-2:  #262626;
    --ink:     var(--white);
    --ink-2:   var(--grey-3);
    --ink-3:   var(--grey-2);
    --shimmer: rgba(255,255,255,0.07);

    /* four sim identities, from the brand secondaries.
       the agent is neutral white — green stays reserved for brand/CTA */
    --s1:#2dc1da; --s1w:rgba(45,193,218,0.14);
    --s2:#fd7334; --s2w:rgba(253,115,52,0.14);
    --s3:#8b6ce8; --s3w:rgba(139,108,232,0.15);
    --s4:#e9e9e9; --s4w:rgba(233,233,233,0.10);

    --neg:#e94345;  --negw:rgba(233,67,69,0.14);
    --ser:#fd7334;  --serw:rgba(253,115,52,0.14);
    --mix:#e3b341;  --mixw:rgba(227,179,65,0.14);
    --ok:#00dc59;   --okw:rgba(0,220,89,0.13);
  }

  * { box-sizing:border-box; }
  body { margin:0; background:var(--ground); color:var(--ink-2);
    font-family:var(--font); font-size:16px; line-height:1.5; -webkit-font-smoothing:antialiased; }
  .wrap { max-width:1300px; margin:0 auto; padding:0 24px 90px; }

  /* ---------- masthead ---------- */
  .masthead { padding:38px 0 30px; }
  .brandline { display:flex; align-items:center; gap:12px; margin-bottom:30px; }
  .logomark { width:22px; height:22px; border-radius:50%; background:var(--green); flex:none; }
  .brandline .bn { font-family:var(--font-c); font-weight:700; font-size:15px;
    letter-spacing:.22em; text-transform:uppercase; color:var(--white); }
  .brandline .bt { font-family:var(--font-c); font-size:11px; letter-spacing:.28em;
    text-transform:uppercase; color:var(--grey-2); padding-left:14px; border-left:1px solid var(--grey-1); }

  .top { display:flex; align-items:flex-end; gap:26px; flex-wrap:wrap; }
  .top-l { flex:1 1 440px; }
  .eyebrow { font-family:var(--font); font-size:.9375rem; font-weight:400;
    letter-spacing:.3333em; text-transform:uppercase; color:var(--green);
    margin:0 0 18px; display:flex; align-items:center; gap:10px; }
  .livedot { width:7px; height:7px; border-radius:50%; background:var(--green); animation:pulse 1.7s ease-in-out infinite; }
  @keyframes pulse { 0%,100%{opacity:1;transform:scale(1)} 50%{opacity:.3;transform:scale(.75)} }
  h1 { font-family:var(--font); font-size:clamp(2.2rem,4.4vw,3.6rem); font-weight:500;
    line-height:1.15; margin:0 0 16px; color:var(--white); text-wrap:balance; }
  h1 em { font-style:normal; color:var(--green); }
  .sub { font-size:1rem; color:var(--ink-2); margin:0; max-width:56ch; line-height:1.6; }

  .controls { display:flex; gap:10px; align-items:center; flex-wrap:wrap; }
  button { font-family:var(--font-c); font-size:13px; font-weight:700;
    padding:0 20px; height:44px; border-radius:0; border:1px solid var(--grey-1);
    background:transparent; color:var(--white); cursor:pointer;
    letter-spacing:.25em; text-transform:uppercase;
    transition:background-color 400ms ease, border-color 400ms ease, color 400ms ease; }
  button:hover { border-color:var(--green); color:var(--green); }
  button.primary { background:var(--green); border-color:var(--green); color:var(--green-fg); }
  button.primary:hover { background:var(--white); border-color:var(--white); color:var(--dark); }
  button:disabled { opacity:.4; cursor:default; }
  select { font-family:var(--font-m); font-size:12px; height:44px; padding:0 10px;
    border-radius:0; border:1px solid var(--grey-1); background:var(--card); color:var(--ink-2); }

  .stage { display:grid; gap:20px; grid-template-columns:1fr; align-items:start; margin-top:34px; }
  @media (min-width:980px) { .stage { grid-template-columns:minmax(0,0.64fr) minmax(440px,1.36fr); } }

  /* ---------- pipeline ---------- */
  .pipe { background:var(--card); border:1px solid var(--rule); padding:26px 24px 20px; position:sticky; top:16px; }
  .pipehead { font-family:var(--font-c); font-size:11px; letter-spacing:.28em;
    text-transform:uppercase; color:var(--grey-2); margin:0 0 22px;
    display:flex; justify-content:space-between; align-items:center; }
  .pipehead .pct { color:var(--white); font-variant-numeric:tabular-nums; letter-spacing:.12em; }
  .step { display:grid; grid-template-columns:24px 1fr; gap:14px; }
  .step .gutter { display:flex; flex-direction:column; align-items:center; }
  .step .mark { width:18px; height:18px; border-radius:50%; border:2px solid var(--grey-1);
    display:grid; place-items:center; flex:none; background:var(--card); transition:border-color .3s,background .3s; }
  .step .mark::after { content:""; width:6px; height:6px; border-radius:50%; background:transparent; transition:background .3s; }
  .step .stem { width:1px; flex:1; background:var(--grey-1); min-height:18px; margin:4px 0; transition:background .4s; }
  .step:last-child .stem { display:none; }
  .step .body { padding-bottom:18px; min-width:0; }
  .step .title { font-family:var(--font-c); font-size:14px; font-weight:700; letter-spacing:.16em;
    text-transform:uppercase; color:var(--grey-2); transition:color .3s; }
  .step .detail { font-family:var(--font-m); font-size:11px; color:var(--grey-2);
    margin-top:7px; min-height:16px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; opacity:0; transition:opacity .3s; }
  .step .prog { height:2px; background:var(--grey-1); margin-top:10px; overflow:hidden; display:none; }
  .step .prog i { display:block; height:100%; width:0; background:var(--green); transition:width .3s linear; }
  .step.active .mark { border-color:var(--green); animation:spinring 1.1s linear infinite; }
  .step.active .mark::after { background:var(--green); }
  .step.active .title { color:var(--white); }
  .step.active .detail { opacity:1; color:var(--grey-3); }
  .step.active .prog { display:block; }
  @keyframes spinring {
    0%{box-shadow:0 -3px 0 -1px var(--green)} 25%{box-shadow:3px 0 0 -1px var(--green)}
    50%{box-shadow:0 3px 0 -1px var(--green)} 75%{box-shadow:-3px 0 0 -1px var(--green)}
    100%{box-shadow:0 -3px 0 -1px var(--green)}
  }
  .step.done .mark { border-color:var(--green); background:var(--green); }
  .step.done .mark::after { content:"✓"; width:auto; height:auto; background:none; color:var(--green-fg); font-size:11px; font-weight:700; line-height:1; }
  .step.done .title { color:var(--grey-3); }
  .step.done .detail { opacity:1; }
  .step.done .stem { background:var(--green); }
  body.paused .step.active .mark, body.paused .acc.running .accmark { animation-play-state:paused; }

  /* ---------- accordion stack ---------- */
  .accstack { display:flex; flex-direction:column; gap:12px; }
  .acc { background:var(--card); border:1px solid var(--rule); transition:border-color .3s; }
  .acc.open { border-color:var(--grey-2); }
  .acchead { width:100%; display:grid; grid-template-columns:20px 1fr auto 14px; gap:14px;
    align-items:center; padding:18px 20px; background:none; border:none; height:auto;
    text-align:left; cursor:pointer; letter-spacing:normal; text-transform:none; }
  .acchead:hover { background:var(--plane); border-color:transparent; color:var(--white); }
  .accmark { width:17px; height:17px; border-radius:50%; border:2px solid var(--grey-1);
    display:grid; place-items:center; font-size:10px; font-weight:700; color:var(--green-fg); }
  .acc.running .accmark { border-color:var(--green); animation:spinring 1.1s linear infinite; }
  .acc.finished .accmark { border-color:var(--green); background:var(--green); }
  .acc.finished .accmark::after { content:"✓"; }
  .acct { font-family:var(--font-c); font-size:14px; font-weight:700; letter-spacing:.16em;
    text-transform:uppercase; color:var(--white); }
  .accmeta { font-family:var(--font-m); font-size:11px; color:var(--grey-2); white-space:nowrap; }
  .accchev { font-size:10px; color:var(--grey-2); transition:transform .3s; }
  .acc.open .accchev { transform:rotate(180deg); }
  .accbody { display:none; padding:0 20px 22px; }
  .acc.open .accbody { display:block; animation:fade .3s; }
  @keyframes fade { from{opacity:0} to{opacity:1} }
  @keyframes pop { to { opacity:1; transform:none } }

  .shim { height:11px; display:block;
    background:linear-gradient(90deg,var(--grey-1) 25%,var(--shimmer) 37%,var(--grey-1) 63%);
    background-size:400% 100%; animation:sweep 1.3s ease infinite; }
  @keyframes sweep { 0%{background-position:100% 0} 100%{background-position:0 0} }

  /* ---------- understanding ---------- */
  .undrow { display:grid; grid-template-columns:132px 1fr; gap:18px; align-items:start;
    padding:14px 0; border-bottom:1px solid var(--rule-2); }
  .undrow:last-child { border-bottom:none; }
  .undrow dt { font-family:var(--font-c); font-size:11px; letter-spacing:.2em;
    text-transform:uppercase; color:var(--grey-2); padding-top:3px; }
  .undrow dd { margin:0; font-size:.9375rem; line-height:1.6; color:var(--ink-2); min-width:0; }
  .undrow dd .val { color:var(--white); font-weight:500; }
  .chips { display:flex; flex-wrap:wrap; gap:6px; }
  .chip { font-family:var(--font-m); font-size:11.5px; padding:4px 9px;
    background:var(--plane); color:var(--ink-2); border:1px solid var(--rule);
    opacity:0; animation:pop .3s forwards; }
  .chip.ok { border-color:rgba(0,220,89,.4); color:var(--green); background:var(--okw); }
  .chip.bad { border-color:rgba(233,67,69,.4); color:var(--red); background:var(--negw); }
  .undnote { margin-top:18px; padding:15px 17px; background:var(--plane);
    font-size:.875rem; line-height:1.65; color:var(--ink-2);
    border-left:2px solid var(--green); opacity:0; animation:pop .4s forwards; }

  /* ---------- persona grid ---------- */
  .pgrid { display:grid; grid-template-columns:1fr 1fr; gap:14px; }
  @media (max-width:640px) { .pgrid { grid-template-columns:1fr } }
  .pcard { border:1px solid var(--rule); border-top:2px solid var(--grey-1); padding:17px 18px;
    background:var(--dark-grey); display:flex; flex-direction:column; gap:13px;
    opacity:0; animation:pop .35s forwards; transition:border-top-color .5s; }
  .pcard .ph { display:flex; align-items:center; gap:12px; min-height:38px; }
  .pcard .av { width:34px; height:34px; border-radius:50%; display:grid; place-items:center;
    font-size:16px; flex:none; background:var(--grey-1); transition:background .4s; }
  .pcard .hmeta { min-width:0; flex:1; }
  .pcard .pn { font-size:1rem; font-weight:500; line-height:1.25; color:var(--white); }
  .pcard .pr { font-family:var(--font-m); font-size:10.5px; color:var(--grey-2); margin-top:5px; line-height:1.4; }
  .stagepill { font-family:var(--font-c); font-size:10px; font-weight:700; padding:4px 10px;
    letter-spacing:.2em; text-transform:uppercase; white-space:nowrap; align-self:flex-start; }
  .pfacts { display:flex; flex-direction:column; gap:11px; }
  .pfact { min-height:32px; }
  .pfact dt { font-family:var(--font-c); font-size:9.5px; letter-spacing:.22em;
    text-transform:uppercase; color:var(--grey-2); margin-bottom:5px; }
  .pfact dd { margin:0; font-size:.8125rem; line-height:1.55; color:var(--ink-2); }

  /* ---------- feed ---------- */
  .feed { overflow-y:auto; max-height:470px; display:flex; flex-direction:column;
    gap:17px; padding-right:8px; overscroll-behavior:contain; }
  .msg { display:grid; grid-template-columns:34px 1fr; gap:13px;
    opacity:0; transform:translateY(8px); animation:slidein .34s cubic-bezier(.22,.75,.3,1) forwards;
    will-change:opacity, transform; }
  @keyframes slidein { to { opacity:1; transform:none } }
  .msg .mav { width:34px; height:34px; border-radius:50%; display:grid; place-items:center; font-size:16px; flex:none; }
  .msg .mcol { min-width:0; }
  .msg .mn { font-family:var(--font-c); font-size:11.5px; font-weight:700;
    letter-spacing:.18em; text-transform:uppercase; margin:0 0 7px 1px; }
  .bubble { padding:13px 16px; max-width:52ch; background:var(--plane); border-left:2px solid var(--grey-1); }
  .bubble .act { font-family:var(--font-m); font-size:10.5px; color:var(--grey-2);
    display:block; margin-bottom:8px; }
  .bubble .th { font-size:.9375rem; line-height:1.6; color:var(--white); display:block; font-weight:300; }
  .msg.ai .bubble .th { font-family:var(--font-m); font-size:.8125rem; line-height:1.65; color:var(--grey-4); }
  .typing { display:inline-flex; gap:5px; align-items:center; padding:4px 0; }
  .typing i { width:6px; height:6px; border-radius:50%; background:var(--grey-2); display:block; animation:bob 1s ease-in-out infinite; }
  .typing i:nth-child(2){animation-delay:.16s} .typing i:nth-child(3){animation-delay:.32s}
  @keyframes bob { 0%,60%,100%{opacity:.25;transform:translateY(0)} 30%{opacity:1;transform:translateY(-3px)} }
  body.paused .typing i { animation-play-state:paused; }
  .msg.sys { grid-template-columns:1fr; }
  .msg.sys .syst { text-align:center; font-family:var(--font-c); font-size:10px;
    letter-spacing:.3em; text-transform:uppercase; color:var(--grey-2); padding:5px 0; }
  .verdictline { display:flex; align-items:center; gap:12px; padding:13px 16px;
    background:var(--plane); font-size:.875rem; opacity:0; animation:pop .32s forwards; }
  .verdictline .vn { font-family:var(--font-c); font-weight:700; letter-spacing:.18em; text-transform:uppercase; font-size:11.5px; }
  .verdictline .vp { font-family:var(--font-c); font-size:10.5px; font-weight:700; padding:4px 11px;
    letter-spacing:.18em; text-transform:uppercase; margin-left:auto; white-space:nowrap; }
  .vp.mixed { background:var(--mixw); color:var(--mix); }
  .vp.negative { background:var(--negw); color:var(--neg); }

  /* ---------- analysing / build ---------- */
  .anal, .buildlist { display:flex; flex-direction:column; gap:10px; }
  .analrow { display:grid; grid-template-columns:1fr 100px 44px; gap:14px; align-items:center;
    padding:14px 16px; background:var(--plane); font-size:.875rem; opacity:0; animation:pop .3s forwards; }
  .analrow .nm { font-weight:500; color:var(--white) }
  .analrow .bg { height:4px; background:var(--grey-1); overflow:hidden }
  .analrow .fl { height:100%; width:0; background:var(--green); transition:width .45s ease }
  .analrow .sc { text-align:right; font-family:var(--font-m); font-size:12.5px; font-variant-numeric:tabular-nums; color:var(--grey-2) }
  .analrow.settled .sc { color:var(--green) }
  .buildrow { display:grid; grid-template-columns:16px 1fr; gap:12px; align-items:center;
    font-size:.875rem; color:var(--ink-2); padding:13px 16px; background:var(--plane);
    opacity:0; animation:pop .28s forwards; }
  .buildrow .tick { color:var(--green); font-weight:700 }

  /* ---------- result ---------- */
  .result { margin-top:20px; background:var(--card); border:1px solid var(--rule); padding:30px 32px; display:none; }
  .result.show { display:block; animation:rise .55s cubic-bezier(.3,.8,.3,1) }
  @keyframes rise { from{opacity:0;transform:translateY(10px)} to{opacity:1;transform:none} }
  .rhead { display:flex; align-items:baseline; gap:26px; flex-wrap:wrap; margin-bottom:24px }
  .bignum { font-size:4rem; font-weight:500; color:var(--green); font-variant-numeric:tabular-nums; line-height:1 }
  .bignum span { font-size:1.125rem; color:var(--grey-2); }
  .rhead p { margin:0; font-size:.9375rem; color:var(--ink-2); max-width:48ch; line-height:1.65 }
  .rhead p b { color:var(--white); font-weight:500 }
  .scorerow { display:grid; grid-template-columns:180px 1fr 40px; align-items:center; gap:16px; padding:9px 0 }
  .scorerow .nm { font-size:.875rem; font-weight:400; color:var(--ink-2) }
  .scorerow .bg { height:5px; background:var(--grey-1); overflow:hidden }
  .scorerow .fl { height:100%; width:0; background:var(--green); transition:width .9s cubic-bezier(.3,.8,.3,1) }
  .scorerow .sc { font-family:var(--font-m); font-size:.875rem; text-align:right; font-variant-numeric:tabular-nums; color:var(--white) }
  @media (max-width:560px) { .scorerow { grid-template-columns:110px 1fr 34px } }

  /* ---------- findings ---------- */
  .findhead { margin:36px 0 16px; padding-top:26px; border-top:1px solid var(--rule);
    display:flex; align-items:baseline; gap:16px; flex-wrap:wrap; }
  .findhead h2 { font-family:var(--font-c); font-size:14px; font-weight:700; margin:0;
    letter-spacing:.22em; text-transform:uppercase; color:var(--white); }
  .findhead .cnt { font-family:var(--font-m); font-size:11px; color:var(--grey-2); }
  .finds { display:flex; flex-direction:column; gap:9px; }
  .find { border:1px solid var(--rule); background:var(--dark-grey); transition:border-color .3s; }
  .find.open { border-color:var(--grey-2); }
  /* fixed severity column keeps every headline on the same left edge */
  .findbtn { width:100%; display:grid; grid-template-columns:124px 1fr 14px; gap:18px; align-items:start;
    padding:17px 18px; background:none; border:none; height:auto; text-align:left; cursor:pointer;
    letter-spacing:normal; text-transform:none; }
  .findbtn:hover { background:var(--plane); border-color:transparent; }
  .sev { font-family:var(--font-c); font-size:10px; font-weight:700; letter-spacing:.18em;
    text-transform:uppercase; padding:6px 0; text-align:center; display:block; width:100%; margin-top:2px; }
  .sev.critical { background:var(--negw); color:var(--neg) }
  .sev.serious { background:var(--serw); color:var(--ser) }
  .sev.warning { background:var(--mixw); color:var(--mix) }
  .sev.good { background:var(--okw); color:var(--ok) }
  .findmeta { min-width:0 }
  .findt { font-size:1rem; font-weight:400; line-height:1.45; display:block; color:var(--white); }
  .findarea { display:block; margin-top:7px; font-family:var(--font-c);
    font-size:10px; letter-spacing:.22em; text-transform:uppercase; color:var(--grey-2); }
  .find .chev { font-size:10px; color:var(--grey-2); transition:transform .3s; margin-top:6px; }
  .find.open .chev { transform:rotate(180deg); }
  .findbody { display:none; padding:0 18px 22px 160px; }
  @media (max-width:640px) {
    .findbtn { grid-template-columns:100px 1fr 14px; gap:13px }
    .findbody { padding-left:18px }
  }
  .find.open .findbody { display:block; animation:fade .3s; }
  .findwhy { font-size:.875rem; line-height:1.65; color:var(--ink-2); margin:0 0 18px;
    padding:14px 16px; background:var(--plane); border-left:2px solid var(--green); }
  .tasklabel { font-family:var(--font-c); font-size:10px; letter-spacing:.24em;
    text-transform:uppercase; color:var(--grey-2); margin:0 0 12px; }
  .tasks { list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:10px; }
  .tasks li { display:grid; grid-template-columns:12px 1fr; gap:13px; font-size:.875rem; line-height:1.6; color:var(--ink-2); }
  .tasks li::before { content:""; width:4px; height:4px; background:var(--green); margin-top:9px; }

  /* ---------- email ---------- */
  .emailbox { margin-top:30px; padding:26px 28px; background:var(--plane); border-left:2px solid var(--green); }
  .emailbox h3 { font-family:var(--font-c); font-size:14px; font-weight:700; margin:0 0 10px;
    letter-spacing:.2em; text-transform:uppercase; color:var(--white); }
  .emailbox p { font-size:.9375rem; color:var(--ink-2); margin:0 0 18px; max-width:58ch; line-height:1.65; }
  .emailrow { display:flex; gap:12px; flex-wrap:wrap; align-items:flex-start; }
  .emailrow input { flex:1 1 260px; font-family:var(--font); font-size:.9375rem; height:48px; padding:0 16px;
    border-radius:0; border:1px solid var(--grey-1); background:var(--dark); color:var(--white); }
  .emailrow input::placeholder { color:var(--grey-2); }
  .emailrow input:focus { outline:none; border-color:var(--green); }
  .emailrow input.bad { border-color:var(--red); }
  .emailrow button { height:48px; }
  .emailerr { font-size:.875rem; color:var(--red); margin:13px 0 0; display:none; }
  .emailerr.show { display:block; }
  .emailok b { display:block; margin-bottom:8px; font-family:var(--font-c); font-size:14px;
    letter-spacing:.16em; text-transform:uppercase; color:var(--green); }
  .emailok .protonote { display:block; margin-top:12px; font-size:11.5px; color:var(--grey-2); font-family:var(--font-m); }

  /* ---------- landing ---------- */
  .landing { max-width:720px; margin:14px 0 0; }
  .landing form { display:flex; gap:12px; flex-wrap:wrap; margin:0 0 16px; }
  .landing .urlwrap { flex:1 1 320px; display:flex; align-items:stretch; border:1px solid var(--grey-1); background:var(--card); }
  .landing .urlwrap:focus-within { border-color:var(--green); }
  .landing .scheme { font-family:var(--font-m); font-size:13px; color:var(--grey-2);
    display:grid; place-items:center; padding:0 0 0 16px; }
  .landing input { flex:1; min-width:0; font-family:var(--font); font-size:1rem; height:56px;
    padding:0 16px 0 8px; border:none; background:transparent; color:var(--white); }
  .landing input::placeholder { color:var(--grey-2); }
  .landing input:focus { outline:none; }
  .landing button { height:56px; }
  .landing .lerr { font-size:.875rem; color:var(--red); margin:0 0 16px; display:none; }
  .landing .lerr.show { display:block; }
  .landing .reassure { display:flex; gap:24px; flex-wrap:wrap; margin:0; padding:0; list-style:none; }
  .landing .reassure li { font-family:var(--font-c); font-size:11px; letter-spacing:.18em;
    text-transform:uppercase; color:var(--grey-2); display:flex; align-items:center; gap:8px; }
  .landing .reassure li::before { content:""; width:5px; height:5px; background:var(--green); flex:none; }
  .protobar { margin:22px 0 0; padding:13px 16px; background:var(--plane);
    border-left:2px solid var(--mix); font-size:.875rem; line-height:1.6; color:var(--ink-2); }
  .protobar b { color:var(--mix); font-family:var(--font-c); letter-spacing:.16em;
    text-transform:uppercase; font-size:11px; display:block; margin-bottom:5px; }
  .hidden { display:none !important; }

  /* ---------- download box ---------- */
  .dlnote { font-family:var(--font-m); font-size:11.5px; color:var(--grey-2); margin:14px 0 0; line-height:1.7; }
  .dlnote.ok { color:var(--green); }
  .dlrow { display:flex; gap:12px; flex-wrap:wrap; align-items:center; }

  /* ---------- print fallback ---------- */
  #printview { display:none; }
  @media print {
    body { background:#fff; color:#111; }
    .wrap > *:not(#printview) { display:none !important; }
    #printview { display:block !important; color:#111; font-family:var(--font); }
    #printview h2 { font-size:15pt; margin:22pt 0 8pt; color:#111; }
    #printview h3 { font-size:11pt; margin:14pt 0 4pt; color:#111; }
    #printview p, #printview li { font-size:9.5pt; line-height:1.5; color:#222; }
    #printview .pv-head { border-bottom:2pt solid #00dc59; padding-bottom:10pt; margin-bottom:14pt; }
    #printview .pv-score { font-size:30pt; font-weight:700; }
    #printview .pv-sev { font-weight:700; font-size:8.5pt; text-transform:uppercase; letter-spacing:.1em; }
    #printview section { page-break-inside:avoid; }
  }

  .sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0 }
  :focus-visible { outline:2px solid var(--green); outline-offset:2px }
  .footnote { margin-top:34px; padding-top:20px; border-top:1px solid var(--rule);
    font-size:.8125rem; color:var(--grey-2); line-height:1.7; max-width:76ch; }
  .footnote b { color:var(--grey-3); font-weight:500 }
  @media (prefers-reduced-motion:reduce) { * { animation-duration:.01ms !important; transition:none !important }
    .feed { scroll-behavior:auto } }
