/* ==========================================================================
   AI Readiness Scanner — page styles (loaded only on /ai-readiness).
   Uses the site's tokens, glass and button system; adds the scanner hero,
   live progress, the report dashboard and a print stylesheet for PDF export.
   ========================================================================== */

@layer pages {
  /* ---------- Hero ---------- */
  .scan-hero { position:relative; overflow:hidden; padding-top:calc(var(--nav-h) + clamp(48px,8vw,104px)); padding-bottom:clamp(64px,8vw,120px); }
  .scan-hero__inner { position:relative; display:grid; grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr); gap:clamp(32px,5vw,88px); align-items:center; }
  .scan-hero__title { font-size:clamp(40px,5.6vw,80px); line-height:var(--leading-display); letter-spacing:var(--tracking-display); font-weight:800; max-width:15ch; margin-top:var(--space-4); }
  .scan-hero__lede { margin-top:var(--space-5); font-size:clamp(17px,1.4vw,20px); color:var(--text-secondary); max-width:56ch; }
  .scan-hero .crumbs ol { margin-bottom:var(--space-5); }

  .scan-form { margin-top:var(--space-7); padding:clamp(18px,2vw,26px); border-radius:var(--radius-xl); max-width:680px; }
  .scan-form__label { display:block; font-family:var(--font-mono); font-size:12px; letter-spacing:.12em; text-transform:uppercase; color:var(--teal-400); margin-bottom:10px; }
  .scan-form__row { display:flex; gap:10px; }
  .scan-form__field { position:relative; flex:1; min-width:0; display:flex; align-items:center; }
  .scan-form__icon { position:absolute; left:16px; width:20px; height:20px; color:var(--teal-400); pointer-events:none; }
  .scan-form input {
    width:100%; min-height:58px; padding:0 16px 0 48px; border-radius:var(--radius-input); font-size:17px;
    background:rgba(0,0,0,.28); color:#fff; border:1px solid rgba(255,255,255,.18);
    transition:border-color var(--dur-fast), box-shadow var(--dur-fast), background var(--dur-fast);
  }
  .scan-form input::placeholder { color:rgba(255,255,255,.45); }
  .scan-form input:hover { border-color:rgba(255,255,255,.32); }
  .scan-form input:focus { outline:none; border-color:var(--teal-400); box-shadow:0 0 0 4px rgba(34,195,230,.22); background:rgba(0,0,0,.36); }
  .scan-form input[aria-invalid="true"] { border-color:#ff8a80; box-shadow:0 0 0 4px rgba(255,138,128,.18); }
  .scan-form__go { flex:none; }
  .scan-form__go[disabled] { opacity:.7; cursor:progress; }
  .scan-form__error { color:#ffb4ab; font-size:14px; margin-top:10px; }
  .scan-form__error:empty { display:none; }
  .scan-form__privacy { display:flex; gap:8px; align-items:center; margin-top:12px; font-size:14px; color:var(--text-secondary); }
  .scan-form__privacy .icon { color:var(--teal-400); }
  .scan-hero noscript .scan-form__privacy a { color:var(--teal-400); }
  @media (max-width:640px) {
    .scan-form__row { flex-direction:column; }
    .scan-form__go { width:100%; }
  }

  /* Network orb: five category nodes around a scanning core */
  .scan-orb { position:relative; width:min(100%,460px); margin-inline:auto; aspect-ratio:1; }
  .scan-orb__svg { position:relative; width:100%; height:100%; overflow:visible; }
  .scan-orb__ring { fill:none; stroke:rgba(255,255,255,.12); stroke-width:1; }
  .scan-orb__ring--outer { stroke:rgba(34,195,230,.28); stroke-dasharray:2 7; }
  .scan-orb__lat { stroke:rgba(34,195,230,.16); }
  .scan-orb__links path { fill:none; stroke:rgba(34,195,230,.35); stroke-width:1; stroke-dasharray:4 6; }
  .scan-orb__node circle { fill:rgba(16,18,17,.75); stroke:var(--teal-400); stroke-width:1.5; }
  .scan-orb__node text { fill:#f3f2ee; font-family:var(--font-mono); font-size:14px; font-weight:600; }
  .scan-orb__core { fill:var(--teal-400); filter:drop-shadow(0 0 10px rgba(34,195,230,.9)); }
  .scan-orb__sweep { position:absolute; inset:2.5%; border-radius:50%; pointer-events:none;
    background:conic-gradient(from var(--sweep,0deg), rgba(34,195,230,.0) 0deg, rgba(34,195,230,.0) 300deg, rgba(34,195,230,.2) 356deg, rgba(34,195,230,0) 360deg);
    mask:radial-gradient(closest-side, #000 0 99%, transparent 100%); }
  .scan-orb__legend { list-style:none; padding:0; margin-top:var(--space-4); display:flex; flex-wrap:wrap; justify-content:center; gap:6px 14px; font-size:13px; color:var(--text-muted); }
  .scan-orb__legend b { font-family:var(--font-mono); color:var(--teal-400); margin-right:2px; }
  @property --sweep { syntax:"<angle>"; inherits:false; initial-value:0deg; }
  @media (prefers-reduced-motion:no-preference) {
    .scan-orb__sweep { animation:scan-sweep 7s linear infinite; }
    .scan-orb.is-scanning .scan-orb__sweep { animation-duration:1.6s; }
    .scan-orb__node { animation:scan-node 4.2s var(--ease-inout) infinite; animation-delay:calc(var(--i) * .6s); transform-box:fill-box; transform-origin:center; }
    .scan-orb.is-scanning .scan-orb__node { animation-duration:1.2s; }
    .scan-orb__links path { animation:scan-dash 12s linear infinite; }
  }
  @keyframes scan-sweep { to { --sweep:360deg; } }
  @keyframes scan-node { 0%,100% { opacity:.65; } 50% { opacity:1; } }
  @keyframes scan-dash { to { stroke-dashoffset:-200; } }
  @media (max-width:1000px) {
    .scan-hero__inner { grid-template-columns:1fr; }
    .scan-orb { width:min(70vw,320px); }
    .scan-orb__legend { display:none; }
  }

  /* ---------- Live progress ---------- */
  .scan-live { padding-block:clamp(40px,6vw,72px); }
  .scan-progress { display:grid; grid-template-columns:auto 1fr; gap:clamp(24px,4vw,56px); align-items:center; padding:clamp(24px,3.5vw,48px); border-radius:var(--radius-xl); max-width:980px; margin-inline:auto; }
  .scan-progress:focus { outline:none; }
  .scan-progress__title { font-size:var(--text-h2); margin-top:var(--space-2); overflow-wrap:anywhere; }
  .scan-progress__radar { position:relative; width:clamp(120px,16vw,180px); aspect-ratio:1; border-radius:50%;
    background:radial-gradient(circle, rgba(1,160,203,.18) 0 30%, transparent 31%), repeating-radial-gradient(circle, transparent 0 18%, var(--border-strong) 18.4% 18.8%);
    border:1px solid var(--border-strong); overflow:hidden; }
  .scan-progress__radar span { position:absolute; inset:0; border-radius:50%; background:conic-gradient(from 0deg, transparent 0 290deg, rgba(1,160,203,.55) 360deg); }
  @media (prefers-reduced-motion:no-preference) { .scan-progress__radar span { animation:scan-spin 1.4s linear infinite; } }
  @keyframes scan-spin { to { transform:rotate(1turn); } }
  .scan-steps { list-style:none; padding:0; margin-top:var(--space-5); display:grid; gap:10px; }
  .scan-step { display:grid; grid-template-columns:22px 1fr; column-gap:12px; align-items:center; color:var(--text-muted); transition:color var(--dur-base); }
  .scan-step__dot { width:18px; height:18px; border-radius:50%; border:2px solid var(--border-strong); display:grid; place-items:center; font-size:11px; font-weight:700; }
  .scan-step__label { font-weight:500; }
  .scan-step__detail { grid-column:2; font-size:13px; color:var(--text-muted); font-family:var(--font-mono); }
  .scan-step__detail:empty { display:none; }
  .scan-step[data-state="active"] { color:var(--text-primary); }
  .scan-step[data-state="active"] .scan-step__dot { border-color:var(--accent); border-top-color:transparent; }
  @media (prefers-reduced-motion:no-preference) { .scan-step[data-state="active"] .scan-step__dot { animation:scan-spin .8s linear infinite; } }
  .scan-step[data-state="done"] { color:var(--text-primary); }
  .scan-step[data-state="done"] .scan-step__dot { background:var(--accent); border-color:var(--accent); }
  .scan-step[data-state="done"] .scan-step__dot::after { content:"✓"; color:#fff; }
  .scan-step[data-state="failed"] { color:var(--danger); }
  .scan-step[data-state="failed"] .scan-step__dot { border-color:var(--danger); }
  .scan-step[data-state="failed"] .scan-step__dot::after { content:"!"; color:var(--danger); }
  .scan-progress__note { margin-top:var(--space-4); color:var(--text-secondary); font-size:15px; }
  .scan-progress .btn-row { margin-top:var(--space-4); }
  @media (max-width:640px) { .scan-progress { grid-template-columns:1fr; } .scan-progress__radar { width:96px; } }

  /* ---------- Report ---------- */
  .scan-results { padding-block:clamp(40px,6vw,80px) 0; }
  .report { display:grid; gap:clamp(36px,5vw,64px); }
  .report-head { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:var(--space-6) clamp(24px,4vw,56px); padding:clamp(24px,4vw,52px); border-radius:var(--radius-xl); scroll-margin-top:calc(var(--nav-h) + 24px); }
  .report-head:focus { outline:none; }
  .report-head__domain { font-size:clamp(28px,3.6vw,48px); margin-top:var(--space-2); overflow-wrap:anywhere; }
  .report-head__meta { color:var(--text-muted); font-size:14px; margin-top:6px; }
  .report-head__band { font-size:var(--text-h4); font-weight:700; line-height:1.25; margin-top:var(--space-5); letter-spacing:-.01em; }
  .report-head__text { color:var(--text-secondary); max-width:56ch; margin-top:4px; }
  .report-prelim { margin-top:var(--space-4); padding:12px 16px; border-radius:var(--radius-md); background:var(--premium-soft); border:1px solid var(--premium-border); font-size:15px; max-width:62ch; }
  .report-score { position:relative; align-self:center; width:clamp(150px,18vw,200px); aspect-ratio:1; }
  .report-score__label { position:absolute; inset:0; display:grid; place-content:center; text-align:center; }
  .report-score__num { font-size:clamp(44px,5vw,60px); font-weight:800; line-height:1; letter-spacing:-.03em; font-variant-numeric:tabular-nums; }
  .report-score__label span:last-child { font-size:14px; color:var(--text-muted); font-family:var(--font-mono); }
  .ring { width:100%; height:100%; }
  .ring__track { fill:none; stroke:var(--border-subtle); stroke-width:9; }
  .ring--sm .ring__track, .ring--sm .ring__arc { stroke-width:6; }
  .ring__arc { fill:none; stroke:var(--accent); stroke-width:9; stroke-linecap:round; transition:stroke-dashoffset 1.1s var(--ease-out); }
  .ring[data-tone="great"] .ring__arc { stroke:var(--success); }
  .ring[data-tone="mid"] .ring__arc { stroke:var(--gold-500); }
  .ring[data-tone="low"] .ring__arc { stroke:var(--danger); }
  .report-counts { grid-column:1 / -1; list-style:none; padding:0; display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:10px; }
  .report-count { display:grid; grid-template-columns:auto 1fr; column-gap:10px; align-items:center; padding:12px 14px; border-radius:var(--radius-md); background:var(--glass-plate); border:1px solid var(--border-subtle); }
  .report-count strong { font-size:24px; line-height:1.1; font-variant-numeric:tabular-nums; }
  .report-count span:last-child { grid-column:2; font-size:13px; color:var(--text-secondary); line-height:1.3; }
  .report-count .status__glyph { grid-row:span 2; }
  .report-actions { grid-column:1 / -1; display:flex; flex-wrap:wrap; gap:10px; }
  @media (max-width:760px) {
    .report-head { grid-template-columns:1fr; }
    .report-score { order:-1; margin-inline:auto; }
    .report-counts { grid-template-columns:repeat(2,minmax(0,1fr)); }
  }

  /* Status badges: icon + words, never colour alone */
  .status { display:inline-flex; align-items:center; gap:7px; font-size:13px; font-weight:600; padding:4px 10px 4px 5px; border-radius:6px; white-space:nowrap; border:1px solid transparent; }
  .status__glyph { display:inline-grid; place-items:center; width:20px; height:20px; border-radius:50%; font-size:13px; font-weight:800; line-height:1; color:#fff; background:var(--text-muted); flex:none; }
  .status--pass, .report-count--pass .status__glyph { --c:var(--success); }
  .status--warn, .report-count--warn .status__glyph { --c:var(--gold-600); }
  .status--fail, .report-count--fail .status__glyph { --c:var(--danger); }
  .status--unable, .report-count--unable .status__glyph { --c:var(--grey-500); }
  .status--info { --c:var(--teal-600); }
  .status--na { --c:var(--grey-400); }
  .status { color:var(--c); background:color-mix(in srgb, var(--c) 10%, transparent); border-color:color-mix(in srgb, var(--c) 25%, transparent); }
  .status .status__glyph, .report-count .status__glyph { background:var(--c); }
  :root[data-theme="dark"] .status { color:color-mix(in srgb, var(--c) 55%, #fff); }

  .report-block { display:grid; gap:var(--space-4); }
  .report-h { font-size:var(--text-h4); }
  .report-h--lg { font-size:var(--text-h2); margin-top:calc(var(--space-2) * -1); }
  .report-lede { color:var(--text-secondary); max-width:62ch; }
  .report-notes { padding-left:1.2em; color:var(--text-secondary); display:grid; gap:6px; font-size:15px; overflow-wrap:anywhere; }

  .report-calc { padding:var(--space-5) clamp(20px,3vw,32px); border-radius:var(--radius-lg); background:var(--surface-card); border:1px solid var(--border-subtle); }
  .report-calc summary, .check__evidence summary, .scan-cat__more summary { cursor:pointer; font-weight:600; color:var(--accent-on-soft); }
  .report-calc > p { color:var(--text-secondary); font-size:15px; }
  .report-calc .table-wrap { margin-top:var(--space-2); }
  .report-table { width:100%; border-collapse:collapse; font-size:15px; }
  .report-table th, .report-table td { text-align:left; padding:10px 14px; border-bottom:1px solid var(--border-subtle); }
  .report-table td { font-variant-numeric:tabular-nums; }
  .report-table thead th { font-family:var(--font-mono); font-size:12px; letter-spacing:.08em; text-transform:uppercase; color:var(--text-muted); font-weight:500; }
  .report-table tfoot th, .report-table tfoot td { font-weight:700; border-bottom:0; }

  .report-cats { display:grid; grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr)); gap:14px; margin-top:var(--space-3); }
  .report-cats__item { display:flex; }
  .report-cat { flex:1; display:grid; grid-template-columns:auto 1fr; grid-template-rows:1fr auto; gap:6px 16px; text-align:left; padding:20px; border-radius:var(--radius-lg); color:inherit; transition:transform var(--dur-base) var(--ease-out), box-shadow var(--dur-base); }
  .report-cat:hover { transform:translateY(-2px); }
  .report-cat.is-open { box-shadow:0 0 0 2px var(--accent), var(--shadow-3); }
  .report-cat__ring { position:relative; width:64px; height:64px; display:grid; }
  .report-cat__ring > * { grid-area:1 / 1; }
  .report-cat__ring b { display:grid; place-items:center; font-size:19px; font-variant-numeric:tabular-nums; }
  .report-cat__body { display:grid; gap:3px; align-content:start; }
  .report-cat__code { font-family:var(--font-mono); font-size:11px; letter-spacing:.1em; text-transform:uppercase; color:var(--accent-on-soft); }
  .report-cat__name { font-size:18px; line-height:1.25; }
  .report-cat__band { font-size:14px; font-weight:600; color:var(--text-secondary); }
  .report-cat__sum { font-size:14px; color:var(--text-secondary); line-height:1.5; margin-top:4px; }
  .report-cat__counts { display:flex; flex-wrap:wrap; gap:6px; margin-top:8px; }
  .mini { font-size:12px; padding:2px 8px; border-radius:6px; background:var(--surface-subtle); border:1px solid var(--border-subtle); color:var(--text-secondary); }
  .mini--fail { color:var(--danger); } .mini--warn { color:var(--gold-700); } .mini--pass { color:var(--success); }
  :root[data-theme="dark"] .mini--warn { color:var(--gold-400); }
  .report-cat__open { grid-column:1 / -1; font-size:13px; font-weight:600; color:var(--accent-on-soft); justify-self:end; }
  .report-cat.is-open .report-cat__open::before { content:"Hide checks"; }
  .report-cat.is-open .report-cat__open { font-size:0; }
  .report-cat.is-open .report-cat__open::before { font-size:13px; }

  .report-panel { margin-top:var(--space-5); padding:clamp(20px,3vw,36px); border-radius:var(--radius-xl); background:var(--surface-card); border:1px solid var(--border-subtle); scroll-margin-top:calc(var(--nav-h) + 24px); }
  .report-panel:focus { outline:none; }
  .report-panel__head { display:flex; flex-wrap:wrap; gap:12px; align-items:center; justify-content:space-between; }
  .report-panel__title { font-size:var(--text-h4); }
  .report-panel__limits { margin-top:var(--space-3); padding:12px 16px; border-left:3px solid var(--accent); background:var(--accent-soft); border-radius:0 var(--radius-sm) var(--radius-sm) 0; font-size:15px; color:var(--text-secondary); }
  @media (prefers-reduced-motion:no-preference) { .report-panel:not([hidden]) { animation:panel-in .4s var(--ease-out); } }
  @keyframes panel-in { from { opacity:0; transform:translateY(10px); } }

  .checks { list-style:none; padding:0; margin-top:var(--space-5); display:grid; gap:12px; }
  .check { padding:18px 20px; border-radius:var(--radius-md); border:1px solid var(--border-subtle); background:var(--bg-page); display:grid; gap:8px; font-size:15.5px; line-height:1.6; }
  .check--fail { border-left:4px solid var(--danger); }
  .check--warn { border-left:4px solid var(--gold-500); }
  .check--unable { border-left:4px dashed var(--grey-400); }
  .check--pass { border-left:4px solid var(--success); }
  .check__head { display:flex; flex-wrap:wrap; align-items:center; gap:8px 12px; }
  .check__name { font-size:16px; font-weight:700; flex:1 1 220px; letter-spacing:0; }
  .check__pts { font-family:var(--font-mono); font-size:12px; color:var(--text-muted); }
  .check p { color:var(--text-secondary); overflow-wrap:anywhere; }
  .check p strong { color:var(--text-primary); }
  .check__finding { color:var(--text-primary) !important; }
  .check__meta { font-size:13px; color:var(--text-muted) !important; }
  .check__evidence { font-size:14px; }
  .check__evidence ul { margin-top:8px; padding:12px 14px 12px 30px; border-radius:var(--radius-sm); background:var(--surface-subtle); font-family:var(--font-mono); font-size:13px; line-height:1.55; color:var(--text-secondary); display:grid; gap:4px; overflow-wrap:anywhere; white-space:pre-wrap; }

  .tag { display:inline-flex; font-size:12px; padding:3px 9px; border-radius:6px; background:var(--surface-subtle); border:1px solid var(--border-subtle); color:var(--text-secondary); }
  .tag--sev-critical, .tag--sev-high { color:var(--danger); border-color:color-mix(in srgb, var(--danger) 30%, transparent); }
  .tag--sev-medium { color:var(--gold-700); border-color:var(--premium-border); }
  :root[data-theme="dark"] .tag--sev-medium { color:var(--gold-400); }

  .plan { display:grid; gap:var(--space-7); margin-top:var(--space-3); }
  .plan-group { display:grid; gap:8px; }
  .plan-group__title { font-size:20px; display:flex; align-items:center; gap:10px; }
  .plan-group__title::before { content:""; width:12px; height:12px; border-radius:3px; background:var(--danger); flex:none; }
  .plan-group--2 .plan-group__title::before { background:var(--gold-500); }
  .plan-group--3 .plan-group__title::before { background:var(--accent); }
  .plan-group__text { color:var(--text-secondary); font-size:15px; max-width:70ch; }
  .plan-list { list-style:none; padding:0; display:grid; grid-template-columns:repeat(auto-fill,minmax(min(100%,340px),1fr)); gap:12px; margin-top:var(--space-3); counter-reset:plan; }
  .plan-item { padding:20px 22px; display:grid; gap:8px; align-content:start; font-size:15px; counter-increment:plan; }
  .plan-item p { color:var(--text-secondary); }
  .plan-item p strong { color:var(--text-primary); }
  .plan-item__cat { font-family:var(--font-mono); font-size:11px; letter-spacing:.1em; text-transform:uppercase; color:var(--accent-on-soft) !important; }
  .plan-item__cat::before { content:counter(plan, decimal-leading-zero) " · "; }
  .plan-item__issue { font-weight:600; color:var(--text-primary) !important; font-size:16px; }
  .plan-item__tags { display:flex; flex-wrap:wrap; gap:6px; margin-top:4px; }
  .plan-empty { color:var(--text-muted); font-size:15px; }

  /* CTA + optional enquiry */
  .scan-cta { position:relative; overflow:hidden; margin-top:clamp(56px,8vw,112px); padding-block:clamp(64px,9vw,128px); }
  .scan-cta__card { position:relative; padding:clamp(28px,5vw,64px); border-radius:var(--radius-xl); max-width:980px; margin-inline:auto; }
  .scan-cta__title { font-size:clamp(30px,4vw,54px); line-height:1.08; letter-spacing:var(--tracking-display); margin-top:var(--space-4); max-width:20ch; }
  .scan-cta__lede { margin-block:var(--space-5) var(--space-6); color:var(--text-secondary); max-width:58ch; font-size:clamp(16px,1.3vw,19px); }
  .scan-cta__fine { margin-top:var(--space-4); font-size:14px; color:var(--text-muted); }
  .scan-cta .input { background:rgba(255,255,255,.06); color:var(--text-primary); border-color:rgba(255,255,255,.18); }
  .scan-cta .input:hover { border-color:rgba(255,255,255,.32); }
  .scan-cta .input:focus { border-color:var(--teal-400); box-shadow:0 0 0 4px rgba(34,195,230,.2); }
  .scan-cta select.input option { background:var(--ink-900); color:#f3f2ee; }
  .scan-cta .fine a { color:var(--teal-400); }

  /* Action-plan request: a modal dialog (focus is trapped, Escape closes) */
  .lead-dialog { padding:0; border:0; background:transparent; color:var(--text-primary); width:min(640px, calc(100vw - 24px)); max-height:calc(100dvh - 24px); overflow:visible; margin:auto; }
  .lead-dialog::backdrop { background:rgba(6,9,10,.62); backdrop-filter:blur(6px); }
  .lead-dialog__panel { position:relative; max-height:calc(100dvh - 24px); overflow:auto; padding:clamp(22px,4vw,40px); border-radius:var(--radius-xl); background:color-mix(in srgb, var(--ink-900) 92%, transparent); }
  .lead-dialog__close { position:absolute; top:14px; right:14px; width:40px; height:40px; font-size:24px; line-height:1; color:var(--text-secondary); border:1px solid var(--border-subtle); border-radius:var(--radius-btn-sm); }
  .lead-dialog__close:hover { color:var(--text-primary); background:var(--hover-wash); }
  .lead-dialog__title { font-size:clamp(26px,3vw,34px); line-height:1.15; margin-top:var(--space-2); padding-right:40px; }
  .lead-dialog__intro { color:var(--text-secondary); margin-top:var(--space-3); font-size:16px; }
  .lead-form { display:grid; gap:var(--space-5); margin-top:var(--space-6); }
  .lead-form__site { display:grid; gap:6px; padding:14px 16px; border-radius:var(--radius-md); background:var(--accent-soft); border:1px solid color-mix(in srgb, var(--teal-400) 30%, transparent); }
  .lead-form__site label { font-size:14px; font-weight:600; }
  .lead-form__site .fine { margin:0; }
  .lead-form .optional { font-weight:400; color:var(--text-muted); }
  .lead-form__privacy { margin-top:calc(var(--space-3) * -1); }
  .lead-form .form__status:empty { display:none; }
  .lead-form .form__status { color:#ffb4ab; font-size:15px; }
  .lead-dialog .input[aria-invalid="true"] { border-color:#ff8a80; }
  .lead-dialog .field__error { color:#ffb4ab; }
  .lead-thanks { display:grid; gap:var(--space-3); justify-items:start; }
  .lead-thanks__mark { display:grid; place-items:center; width:52px; height:52px; border-radius:50%; background:var(--success); color:#fff; font-size:26px; font-weight:800; }
  .lead-thanks__facts { display:grid; gap:8px; width:100%; margin-block:var(--space-3); padding:14px 16px; border-radius:var(--radius-md); background:var(--surface-subtle); border:1px solid var(--border-subtle); }
  .lead-thanks__facts div { display:flex; justify-content:space-between; gap:16px; flex-wrap:wrap; }
  .lead-thanks__facts dt { color:var(--text-muted); font-size:14px; }
  .lead-thanks__facts dd { font-weight:600; overflow-wrap:anywhere; }
  @media (prefers-reduced-motion:no-preference) {
    .lead-dialog[open] { animation:lead-in .35s var(--ease-out); }
    .lead-dialog[open]::backdrop { animation:lead-fade .35s var(--ease-out); }
  }
  @keyframes lead-in { from { opacity:0; transform:translateY(16px) scale(.98); } }
  @keyframes lead-fade { from { opacity:0; } }
  @media (max-width:640px) { .lead-form .form-grid { grid-template-columns:1fr; } }

  /* ---------- Below the scanner ---------- */
  .scan-cats { display:grid; grid-template-columns:repeat(auto-fill,minmax(min(100%,240px),1fr)); gap:14px; }
  .scan-cat { display:grid; gap:10px; align-content:start; padding:24px; }
  .scan-cat__top { display:flex; align-items:center; gap:10px; }
  .scan-cat__code { font-family:var(--font-mono); font-weight:700; color:var(--accent-on-soft); }
  .scan-cat__icon { color:var(--accent-on-soft); width:22px; height:22px; }
  .scan-cat__top .badge { margin-left:auto; }
  .scan-cat__name { font-size:20px; }
  .scan-cat p { color:var(--text-secondary); font-size:15px; }
  .scan-cat__more { font-size:14px; }
  .scan-cat__more ul { list-style:none; padding:0; margin-top:10px; display:grid; gap:6px; }
  .scan-cat__more li { display:flex; justify-content:space-between; gap:10px; color:var(--text-secondary); border-bottom:1px dashed var(--border-subtle); padding-bottom:5px; }
  .scan-cat__more li span { font-family:var(--font-mono); font-size:12px; color:var(--text-muted); white-space:nowrap; }

  .scan-honest { display:grid; grid-template-columns:1fr 1fr; gap:14px; }
  .scan-honest__col { padding:clamp(24px,3vw,36px); border-radius:var(--radius-lg); background:var(--surface-card); border:1px solid var(--border-subtle); }
  .scan-honest__col h3 { display:flex; gap:10px; align-items:center; font-size:19px; }
  .scan-honest__col h3 .icon { color:var(--success); }
  .scan-honest__col--no h3 .icon { color:var(--danger); }
  .scan-honest__col ul { margin-top:var(--space-4); padding-left:1.1em; display:grid; gap:8px; color:var(--text-secondary); }
  @media (max-width:760px) { .scan-honest { grid-template-columns:1fr; } }

  .scan-method { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:clamp(32px,5vw,80px); align-items:start; }
  .scan-method__text { margin-top:var(--space-4); color:var(--text-secondary); }
  .scan-bands { list-style:none; padding:0; display:grid; gap:10px; }
  .scan-band { display:grid; grid-template-columns:76px 1fr; column-gap:16px; padding:14px 18px; border-radius:var(--radius-md); background:var(--surface-card); border:1px solid var(--border-subtle); }
  .scan-band span { grid-row:span 2; font-family:var(--font-mono); font-weight:600; color:var(--accent-on-soft); }
  .scan-band p { font-size:14px; color:var(--text-secondary); }
  @media (max-width:860px) { .scan-method { grid-template-columns:1fr; } }

  .print-only { display:none; }
}

/* ---------- Print / Save as PDF: just the report, every category expanded ---------- */
@media print {
  @page { margin:16mm 14mm; }
  html, body { background:#fff !important; color:#111 !important; }
  .site-nav, .site-footer, .cta-stage, .sage-fab, .navigator, .scan-hero, .scan-live, .section, .no-print, .skip-link, .intro, .hero__aurora { display:none !important; }
  .scan-results { padding:0 !important; }
  .scan-results[hidden] { display:none !important; }
  .report { gap:18px !important; }
  .glass, .report-head { background:#fff !important; backdrop-filter:none !important; -webkit-backdrop-filter:none !important; box-shadow:none !important; border:1px solid #ccc !important; }
  .glass::before, .glass::after { display:none !important; }
  .print-only { display:flex !important; align-items:center; gap:12px; }
  .report-head__brand { grid-column:1 / -1; font-family:var(--font-mono); font-size:12px; letter-spacing:.1em; text-transform:uppercase; color:#555; }
  .report-head__brand img { width:90px; height:auto; }
  .report-foot { display:block !important; font-size:11px; color:#555; border-top:1px solid #ccc; padding-top:8px; }
  .report-head { grid-template-columns:minmax(0,1fr) auto !important; padding:20px 24px !important; }
  .report-score { order:0 !important; margin:0 !important; width:130px !important; }
  .report-counts { grid-template-columns:repeat(4,minmax(0,1fr)) !important; }
  .report-cats { grid-template-columns:repeat(2,minmax(0,1fr)) !important; }
  .plan-list { grid-template-columns:1fr !important; }
  .report-panel[hidden] { display:block !important; }
  .report-calc { display:block; }
  .report-calc:not([open]) > :not(summary) { display:block !important; }
  .check__evidence { display:none !important; }
  .report-cat { break-inside:avoid; }
  .check, .plan-item, .report-cat { break-inside:avoid; background:#fff !important; }
  .report-cats__item { break-inside:avoid; }
  .report-cat__open { display:none !important; }
  .ring__arc { transition:none !important; }
  a { color:#111 !important; }
}
