/* =========================================================
   ASSESSMENT.CSS
   Main wizard-page styling. Verbatim from the original HIPAA
   assessment - reusable as-is across every assessment template.
   Per-assessment brand color overrides can be layered on top
   of the CSS custom properties below without touching this file.
========================================================= */
  :root{
    --green:#30B254;
    --green-dark:#258F43;
    --green-light:#E7F6ED;
    --ink:#10192B;
    --body-text:#1B2330;
    --muted:#55606E;
    --border:#D1D5DB;
    --border-light:#E7E9EC;
    --bg-soft:#FAFBFC;
    --amber:#B07B0F;
    --amber-bg:#FFF6E2;
    --amber-border:#F0D58C;
    --red:#B3261E;
    --red-bg:#FCEAE9;
    --red-border:#EFC0BC;
    --radius:8px;
    --maxw:880px;
  }
  *{box-sizing:border-box;}
  html{scroll-behavior:smooth;}
  body{
    margin:0;
    font-family:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
    color:var(--body-text);
    background:#fff;
    line-height:1.55;
    -webkit-font-smoothing:antialiased;
  }
  .wrap{
    max-width:var(--maxw);
    margin:0 auto;
    padding:0 24px 80px;
  }
  /* ---------- Header ---------- */
  header.top{
    border-bottom:1px solid var(--border-light);
    padding:28px 0 22px;
    margin-bottom:8px;
  }
  .brand{
    display:flex;
    align-items:center;
    gap:10px;
    margin-bottom:18px;
  }
  .brand-logo{display:block;height:30px;width:auto;}
  .eyebrow{
    font-size:12px;
    letter-spacing:.06em;
    text-transform:uppercase;
    color:var(--muted);
    margin-bottom:8px;
  }
  h1{
    font-size:32px;
    margin:0 0 10px;
    color:var(--ink);
    font-weight:800;
    letter-spacing:-0.02em;
    line-height:1.15;
  }
  .subtitle{
    color:var(--muted);
    font-size:16px;
    font-weight:500;
    margin:0 0 14px;
  }
  .lede{
    font-size:14.5px;
    color:var(--body-text);
    max-width:680px;
  }
  .lede strong{color:var(--ink);}

  /* ---------- Sticky score bar ---------- */
  .scorebar{
    position:sticky;
    top:0;
    z-index:40;
    background:rgba(255,255,255,.96);
    backdrop-filter:blur(6px);
    border-bottom:1px solid var(--border-light);
    padding:10px 24px;
    display:flex;
    align-items:center;
    gap:18px;
    justify-content:center;
    flex-wrap:wrap;
    font-size:13px;
  }
  .scorebar .seg{display:flex;align-items:baseline;gap:6px;color:var(--muted);}
  .scorebar .seg b{font-size:16px;color:var(--ink);font-weight:700;}
  .step-label{
    font-weight:700;
    font-size:12.5px;
    color:var(--green-dark);
    background:var(--green-light);
    padding:4px 12px;
    border-radius:999px;
    letter-spacing:.02em;
  }
  .scorebar .pill{
    font-weight:700;
    font-size:12px;
    padding:4px 10px;
    border-radius:999px;
    letter-spacing:.02em;
  }
  .pill.mature{background:var(--green-light);color:var(--green-dark);}
  .pill.moderate{background:var(--amber-bg);color:var(--amber);}
  .pill.high{background:var(--red-bg);color:var(--red);}
  .pill.none{background:var(--bg-soft);color:var(--muted);}
  .progress-track{
    flex:1 1 160px;
    max-width:220px;
    height:6px;
    background:var(--border-light);
    border-radius:99px;
    overflow:hidden;
  }
  .progress-fill{
    height:100%;
    background:var(--green);
    width:0%;
    transition:width .25s ease;
  }

  /* ---------- How to use ---------- */
  .panel{
    border:1px solid var(--border);
    border-top:3px solid var(--green);
    background:var(--bg-soft);
    border-radius:var(--radius);
    padding:18px 20px;
    margin:26px 0;
  }
  .panel h3{
    margin:0 0 8px;
    font-size:15px;
    color:var(--ink);
  }
  .panel p{margin:0 0 8px;font-size:14px;color:var(--body-text);}
  .panel p:last-child{margin-bottom:0;}
  .reg-note{
    font-size:12.5px;
    color:var(--muted);
    border-top:1px dashed var(--border);
    padding-top:10px;
    margin-top:10px !important;
  }

  /* ---------- Wizard / step navigation ---------- */
  .step-screen{display:none;}
  .step-screen.active{display:block;}
  .step-nav{
    display:flex;
    justify-content:space-between;
    align-items:center;
    margin-top:30px;
    padding-top:20px;
    border-top:1px solid var(--border-light);
  }
  .step-nav .nav-hint{
    font-size:12.5px;
    color:var(--muted);
    align-self:center;
  }
  .bulk-row{
    display:flex;
    align-items:center;
    justify-content:flex-end;
    gap:8px;
    margin:6px 0 10px;
  }
  .bulk-row .bulk-label{font-size:12px;color:var(--muted);margin-right:2px;}
  .bulk-btn{
    font-family:inherit;
    font-size:12px;
    font-weight:600;
    padding:5px 11px;
    border-radius:999px;
    border:1px solid var(--border);
    background:#fff;
    color:var(--muted);
    cursor:pointer;
  }
  .bulk-btn:hover{border-color:var(--green);color:var(--green-dark);}

  /* ---------- Domain sections ---------- */
  .domain{
    margin-top:38px;
    border-top:1px solid var(--border-light);
    padding-top:28px;
  }
  .domain-head{
    display:flex;
    justify-content:space-between;
    align-items:flex-start;
    gap:16px;
    margin-bottom:6px;
  }
  .domain-title-group{flex:1;}
  .domain-number{
    font-size:12px;
    letter-spacing:.06em;
    text-transform:uppercase;
    color:var(--muted);
    margin-bottom:4px;
  }
  h2.domain-title{
    font-size:20px;
    margin:0 0 8px;
    color:var(--ink);
  }
  .domain-desc{
    font-size:14px;
    color:var(--body-text);
    margin:0 0 6px;
    max-width:640px;
  }
  .domain-insight{
    font-style:italic;
    color:var(--muted);
    font-size:13.5px;
    margin:0 0 18px;
    max-width:640px;
  }

  /* ---------- Organization Profile step ---------- */
  .org-profile-head{margin-bottom:28px;}
  .org-field-group{margin-bottom:26px;}
  .org-label{
    display:block;
    font-size:14px;
    font-weight:700;
    color:var(--ink);
    margin-bottom:10px;
  }
  .org-pills{display:flex;flex-wrap:wrap;gap:8px;}
  .org-pill{
    font-family:inherit;
    font-size:13.5px;
    font-weight:600;
    padding:9px 16px;
    border-radius:999px;
    border:1.5px solid var(--border);
    background:#fff;
    color:var(--body-text);
    cursor:pointer;
    transition:all .12s ease;
  }
  .org-pill:hover{border-color:var(--green);color:var(--green-dark);}
  .org-pill.active{background:var(--green);border-color:var(--green);color:#fff;}
  .org-pills-yesno .org-pill{min-width:80px;text-align:center;}
  .domain-score-badge{
    flex-shrink:0;
    text-align:right;
    min-width:96px;
  }
  .domain-score-badge .num{
    font-size:26px;
    font-weight:700;
    color:var(--ink);
    line-height:1;
  }
  .domain-score-badge .num small{
    font-size:14px;
    font-weight:400;
    color:var(--muted);
  }
  .domain-score-badge .label{
    font-size:11px;
    color:var(--muted);
    text-transform:uppercase;
    letter-spacing:.05em;
    margin-top:2px;
  }

  .subgroup-title{
    font-weight:700;
    font-size:14.5px;
    color:var(--ink);
    margin:22px 0 10px;
  }

  /* ---------- Item rows ---------- */
  .item-row{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:16px;
    padding:11px 14px;
    border:1px solid var(--border-light);
    border-radius:6px;
    margin-bottom:8px;
    background:#fff;
    transition:border-color .15s ease, background .15s ease;
  }
  .item-row.scored{
    border-color:var(--border);
    background:var(--bg-soft);
  }
  .item-label{
    font-size:14px;
    color:var(--body-text);
    flex:1;
  }
  .scale{
    display:flex;
    gap:6px;
    flex-shrink:0;
  }
  .scale button{
    width:34px;
    height:34px;
    border-radius:6px;
    border:1px solid var(--border);
    background:#fff;
    color:var(--muted);
    font-size:13px;
    font-weight:600;
    cursor:pointer;
    transition:all .12s ease;
  }
  .scale button:hover{
    border-color:var(--green);
    color:var(--green-dark);
  }
  .scale button.active{
    background:var(--green);
    border-color:var(--green);
    color:#fff;
  }
  .scale button:focus-visible{
    outline:2px solid var(--green-dark);
    outline-offset:2px;
  }

  .domain-total-row{
    display:flex;
    justify-content:space-between;
    align-items:center;
    margin-top:16px;
    padding:12px 16px;
    background:var(--ink);
    border-radius:6px;
    color:#fff;
  }
  .domain-total-row .name{font-size:13.5px;font-weight:600;opacity:.85;}
  .domain-total-row .value{font-size:17px;font-weight:700;}
  .domain-total-row .value small{font-weight:400;opacity:.7;font-size:13px;}

  /* ---------- Maturity table ---------- */
  .maturity{
    margin-top:18px;
    border:1px solid var(--border-light);
    border-radius:6px;
    overflow:hidden;
    font-size:13px;
  }
  .maturity-head{
    display:grid;
    grid-template-columns:1fr 1fr 1fr;
    background:var(--bg-soft);
    font-weight:700;
    color:var(--ink);
  }
  .maturity-head div, .maturity-row div{
    padding:9px 12px;
    border-right:1px solid var(--border-light);
  }
  .maturity-head div:last-child, .maturity-row div:last-child{border-right:none;}
  .maturity-row{
    display:grid;
    grid-template-columns:1fr 1fr 1fr;
    border-top:1px solid var(--border-light);
    color:var(--muted);
  }
  details.maturity-wrap summary{
    cursor:pointer;
    font-size:13px;
    color:var(--green-dark);
    font-weight:600;
    margin-top:14px;
    list-style:none;
  }
  details.maturity-wrap summary::-webkit-details-marker{display:none;}
  details.maturity-wrap summary:before{content:"+ ";}
  details.maturity-wrap[open] summary:before{content:"\2212 ";}

  /* ---------- Callout boxes (reused style) ---------- */
  .callout{
    border:1px solid var(--border);
    border-top:3px solid var(--green);
    background:var(--bg-soft);
    border-radius:var(--radius);
    padding:18px 20px;
    margin:24px 0;
  }
  .callout h3{margin:0 0 8px;font-size:15px;color:var(--ink);}
  .callout p{margin:0;font-size:14px;color:var(--body-text);}

  .results-topbar{
    display:flex;
    justify-content:flex-end;
    align-items:center;
    margin-bottom:18px;
  }
  .btn-secondary-sm{
    background:#fff;
    border:1px solid var(--border);
    font-family:inherit;
    font-size:13px;
    font-weight:700;
    color:var(--ink);
    cursor:pointer;
    padding:8px 16px;
    border-radius:6px;
  }
  .btn-secondary-sm:hover{border-color:var(--ink);background:var(--bg-soft);}

  /* ---------- Final scorecard ---------- */
  .scorecard{
    margin-top:48px;
    border-top:2px solid var(--ink);
    padding-top:28px;
  }
  .scorecard h2{font-size:22px;margin:0 0 18px;color:var(--ink);}
  table.scoretable{
    width:100%;
    border-collapse:collapse;
    font-size:14px;
    margin-bottom:24px;
  }
  table.scoretable th{
    text-align:left;
    background:var(--bg-soft);
    padding:10px 14px;
    font-size:13px;
    color:var(--ink);
    border:1px solid var(--border-light);
  }
  table.scoretable td{
    padding:10px 14px;
    border:1px solid var(--border-light);
  }
  table.scoretable td.num{text-align:right;font-weight:600;}
  .pct-inline{font-weight:500;color:var(--muted);font-size:0.92em;}
  table.scoretable tr.total td{
    background:var(--bg-soft);
    font-weight:700;
    color:var(--ink);
  }
  .bar-cell{display:flex;align-items:center;gap:10px;}
  .bar-track{
    flex:1;
    height:8px;
    background:var(--border-light);
    border-radius:99px;
    overflow:hidden;
  }
  .bar-fill{height:100%;background:var(--green);border-radius:99px;transition:width .3s ease;}

  .result-band{
    border-radius:var(--radius);
    padding:24px 26px;
    text-align:center;
    border:1px solid var(--border);
    border-top:3px solid var(--border);
  }
  .result-band.mature{border-top-color:var(--green);}
  .result-band.moderate{border-top-color:var(--amber);}
  .result-band.high{border-top-color:var(--red);}
  .result-band .score-num{
    font-size:42px;
    font-weight:800;
    line-height:1;
    color:var(--ink);
  }
  .result-band .score-max{font-size:16px;color:var(--muted);font-weight:500;}
  .result-band .band-name{
    display:inline-block;
    margin-top:10px;
    font-size:14px;
    font-weight:700;
    padding:5px 14px;
    border-radius:999px;
  }
  .result-band.mature .band-name{background:var(--green-light);color:var(--green-dark);}
  .result-band.moderate .band-name{background:var(--amber-bg);color:var(--amber);}
  .result-band.high .band-name{background:var(--red-bg);color:var(--red);}
  .result-band.empty .band-name{background:var(--bg-soft);color:var(--muted);}
  .result-band .focus{
    margin-top:14px;
    font-size:14px;
    color:var(--body-text);
    font-style:italic;
    max-width:520px;
    margin-left:auto;
    margin-right:auto;
  }

  /* ---------- Footer actions ---------- */
  .actions{
    display:flex;
    gap:12px;
    justify-content:center;
    margin-top:28px;
    flex-wrap:wrap;
  }
  .actions[hidden]{display:none;}
  .btn{
    font-family:inherit;
    font-size:14px;
    font-weight:600;
    padding:11px 22px;
    border-radius:6px;
    cursor:pointer;
    border:1px solid var(--border);
    background:#fff;
    color:var(--ink);
    transition:all .15s ease;
  }
  .btn:hover{border-color:var(--muted);}
  .btn.primary{
    background:var(--green);
    border-color:var(--green);
    color:#fff;
  }
  .btn.primary:hover{background:var(--green-dark);border-color:var(--green-dark);}
  .btn.primary:disabled{
    background:var(--border);
    border-color:var(--border);
    color:var(--muted);
    cursor:not-allowed;
  }
  .btn.primary:disabled:hover{background:var(--border);border-color:var(--border);}
  .btn:focus-visible{outline:2px solid var(--green-dark);outline-offset:2px;}

  .cta-box{
    margin-top:32px;
    border-top:1px solid var(--green);
    background:var(--bg-soft);
    border:1px solid var(--border);
    border-top:3px solid var(--green);
    border-radius:var(--radius);
    padding:22px 24px;
    text-align:center;
  }
  .cta-box h3{margin:0 0 8px;font-size:17px;color:var(--ink);}
  .cta-box p{margin:0 0 16px;font-size:14px;color:var(--body-text);max-width:520px;margin-left:auto;margin-right:auto;}

  /* ---------- Gate box / lead form ---------- */
  .gate-box{
    margin-top:36px;
    border:1px solid var(--border);
    border-top:4px solid var(--ink);
    background:var(--bg-soft);
    border-radius:12px;
    padding:36px 32px;
    text-align:center;
  }
  .gate-box.unlocked{border-top-color:var(--green);}
  .gate-lock{font-size:22px;margin-bottom:10px;opacity:.55;}
  .gate-box h3{margin:0 0 10px;font-size:20px;font-weight:800;color:var(--ink);letter-spacing:-0.01em;}
  .gate-box p#gate-subcopy{margin:0 auto 16px;font-size:14px;color:var(--body-text);max-width:480px;}
  .gate-progress-note{
    display:inline-block;
    font-size:12.5px;
    font-weight:700;
    color:var(--muted);
    background:#fff;
    border:1px solid var(--border);
    border-radius:999px;
    padding:6px 16px;
    margin-bottom:24px;
  }
  .gate-progress-note.ready{color:var(--green-dark);border-color:var(--green);background:var(--green-light);}

  .gate-form{
    max-width:420px;
    margin:0 auto;
    text-align:left;
  }
  .gate-field{margin-bottom:16px;}
  .gate-field label{
    display:block;
    font-size:12.5px;
    font-weight:700;
    color:var(--ink);
    margin-bottom:6px;
    letter-spacing:0.01em;
  }
  .gate-field label .req{color:var(--red);}
  .gate-field label .opt{color:var(--muted);font-weight:500;}
  .gate-field input, .gate-field select{
    width:100%;
    font-family:inherit;
    font-size:15px;
    padding:12px 14px;
    border:1.5px solid var(--border);
    border-radius:8px;
    background:#fff;
    color:var(--body-text);
    transition:border-color .15s ease, box-shadow .15s ease;
  }
  .gate-field input:focus, .gate-field select:focus{
    outline:none;
    border-color:var(--green);
    box-shadow:0 0 0 3px var(--green-light);
  }
  .gate-field input:disabled, .gate-field select:disabled{
    background:var(--border-light);
    color:var(--muted);
    cursor:not-allowed;
  }
  .gate-submit{
    width:100%;
    padding:14px;
    font-size:15px;
    margin-top:6px;
  }
  .gate-submit:disabled{
    background:var(--border);
    border-color:var(--border);
    color:var(--muted);
    cursor:not-allowed;
  }
  .gate-error{
    color:var(--red);
    font-size:13px;
    margin:10px 0 0;
    min-height:1px;
  }
  .gate-success{
    max-width:420px;
    margin:0 auto;
    text-align:center;
  }
  .gate-success p{font-size:14px;color:var(--body-text);margin:0 0 10px;}
  .gate-success-note{font-size:12.5px;color:var(--muted);}
  .gate-save-warning{font-size:12.5px;color:var(--amber);margin-top:6px;}
  .gate-success .btn{margin-top:6px;}

  /* ---------- Report ---------- */
  .report{margin-top:40px;}
  .report-header{
    text-align:center;
    padding-bottom:24px;
    border-bottom:1px solid var(--border-light);
    margin-bottom:28px;
  }
  .report-header .for{font-size:13px;color:var(--muted);margin-bottom:4px;}
  .report-header .for strong{color:var(--ink);}
  .report-header h2{font-size:24px;margin:6px 0 0;color:var(--ink);}
  .report-score-hero{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:28px;
    margin-top:18px;
    flex-wrap:wrap;
  }
  .report-score-hero .score-num{font-size:48px;font-weight:800;color:var(--ink);line-height:1;}
  .report-score-hero .score-max{font-size:16px;color:var(--muted);}
  .report-band-pill{
    font-size:13px;
    font-weight:700;
    padding:6px 16px;
    border-radius:999px;
  }
  .report-band-pill.mature{background:var(--green-light);color:var(--green-dark);}
  .report-band-pill.moderate{background:var(--amber-bg);color:var(--amber);}
  .report-band-pill.high{background:var(--red-bg);color:var(--red);}

  .report-section{margin-bottom:32px;}
  .report-section h3{
    font-size:17px;
    color:var(--ink);
    margin:0 0 12px;
    padding-bottom:8px;
    border-bottom:1px solid var(--border-light);
  }
  .report-section p{font-size:14px;color:var(--body-text);margin:0 0 10px;}
  .report-section ul{margin:0 0 0 0;padding-left:20px;font-size:14px;color:var(--body-text);}
  .report-section li{margin-bottom:6px;}

  .strengths-risks-grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:18px;
  }
  .sr-card{
    border:1px solid var(--border-light);
    border-radius:6px;
    padding:14px 16px;
  }
  .sr-card.strength{border-top:3px solid var(--green);}
  .sr-card.risk{border-top:3px solid var(--red);}
  .sr-card h4{margin:0 0 8px;font-size:13.5px;color:var(--ink);}
  .sr-card ul{margin:0;padding-left:18px;font-size:13.5px;}
  .sr-card .none{color:var(--muted);font-style:italic;font-size:13px;}

  .domain-report-card{
    border:1px solid var(--border-light);
    border-radius:6px;
    padding:18px 20px;
    margin-bottom:14px;
  }
  .domain-report-card .drc-head{
    display:flex;
    justify-content:space-between;
    align-items:baseline;
    margin-bottom:6px;
    gap:12px;
  }
  .domain-report-card .drc-head h4{margin:0;font-size:15.5px;color:var(--ink);}
  .domain-report-card .drc-score{font-size:14px;font-weight:700;color:var(--ink);white-space:nowrap;}
  .drc-tag{
    display:inline-block;
    font-size:11px;
    font-weight:700;
    text-transform:uppercase;
    letter-spacing:.03em;
    padding:3px 9px;
    border-radius:999px;
    margin-bottom:10px;
  }
  .drc-tag.strength{background:var(--green-light);color:var(--green-dark);}
  .drc-tag.improvement{background:var(--amber-bg);color:var(--amber);}
  .drc-tag.risk{background:var(--red-bg);color:var(--red);}
  .domain-report-card p{font-size:13.5px;margin:0 0 10px;}
  .domain-report-card .drc-actions-label{font-size:12.5px;font-weight:700;color:var(--ink);margin-bottom:6px;}
  .domain-report-card ul{margin:0;padding-left:18px;font-size:13.5px;}

  .drc-pct{font-size:12px;font-weight:500;color:var(--muted);}

  .critical-findings{
    border:1px solid var(--border);
    background:var(--bg-soft);
    border-radius:var(--radius);
    padding:18px 20px;
  }
  .critical-findings h3{border-bottom:none;color:var(--ink);margin-bottom:8px;}
  .cf-intro{font-size:13px;color:var(--muted);margin:0 0 14px;}
  .critical-finding-item{
    background:#fff;
    border:1px solid var(--border-light);
    border-radius:6px;
    padding:12px 14px;
    margin-bottom:10px;
    font-size:13.5px;
  }
  .cf-row-top{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:4px;}
  .critical-finding-item .cf-title{font-weight:700;color:var(--ink);}
  .cf-status-badge{
    font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.03em;
    padding:3px 10px;border-radius:999px;white-space:nowrap;
  }
  .cf-status-badge.status-healthy{background:var(--green-light);color:var(--green-dark);}
  .cf-status-badge.status-minor{background:var(--amber-bg);color:var(--amber);}
  .cf-status-badge.status-major{background:#FFE9DC;color:#B85C1E;}
  .cf-status-badge.status-critical{background:var(--red-bg);color:var(--red);}
  .critical-finding-item.status-critical{border-left:3px solid var(--red);}
  .critical-finding-item.status-major{border-left:3px solid #B85C1E;}
  .critical-finding-item.status-minor{border-left:3px solid var(--amber);}
  .critical-finding-item.status-healthy{border-left:3px solid var(--green);}
  .cf-priority{font-size:12px;font-weight:600;color:var(--muted);margin-bottom:4px;}
  .cf-text{font-size:13px;color:var(--body-text);}

  .procurement-score-row{display:flex;align-items:center;gap:16px;margin-top:10px;flex-wrap:wrap;}
  .procurement-num{font-size:34px;font-weight:800;color:var(--ink);}
  .procurement-max{font-size:15px;font-weight:500;color:var(--muted);}

  .next-initiative-card{
    border:1px solid var(--border-light);
    border-radius:6px;
    padding:16px 18px;
    background:var(--bg-soft);
  }
  .next-initiative-card .ni-title{font-size:15.5px;font-weight:700;color:var(--ink);margin-bottom:6px;}
  .next-initiative-card p{margin:0;font-size:13.5px;}

  .cta-focus-list{margin:0;padding-left:18px;font-size:14px;}
  .cta-focus-list li{margin-bottom:6px;}

  .roadmap-grid{display:flex;flex-direction:column;gap:14px;}
  .roadmap-stage{
    border:1px solid var(--border-light);
    border-radius:6px;
    padding:16px 18px;
  }
  .roadmap-stage .rs-label{
    display:inline-block;
    font-size:12px;
    font-weight:700;
    text-transform:uppercase;
    letter-spacing:.04em;
    color:var(--green-dark);
    background:var(--green-light);
    padding:3px 10px;
    border-radius:999px;
    margin-bottom:8px;
  }
  .roadmap-stage ul{margin:0;padding-left:18px;font-size:13.5px;}
  .roadmap-stage li{margin-bottom:5px;}

  .report-cta{
    margin-top:36px;
    text-align:center;
    border-top:3px solid var(--green);
    border:1px solid var(--border);
    background:var(--bg-soft);
    border-radius:var(--radius);
    padding:24px 26px;
  }
  .report-cta h3{margin:0 0 8px;font-size:17px;color:var(--ink);}
  .report-cta p{margin:0 0 4px;font-size:14px;color:var(--body-text);}

  footer.site-footer{
    margin-top:48px;
    padding-top:18px;
    border-top:1px solid var(--border-light);
    font-size:12px;
    color:var(--muted);
    text-align:center;
  }

  @media (max-width:560px){
    h1{font-size:24px;}
    .domain-head{flex-direction:column;}
    .domain-score-badge{text-align:left;}
    .scale button{width:30px;height:30px;font-size:12px;}
    .scorebar{gap:10px;padding:8px 14px;}
    .scorebar .seg b{font-size:14px;}
    .strengths-risks-grid{grid-template-columns:1fr;}
    .report-score-hero{flex-direction:column;gap:10px;}
    .domain-report-card .drc-head{flex-direction:column;gap:2px;}
    .bulk-row{
      flex-wrap:wrap;
      justify-content:flex-start;
      row-gap:6px;
    }
    .bulk-row .bulk-label:first-child{
      flex:1 0 100%;
      margin-right:0;
    }
    .bulk-btn{white-space:nowrap;}
  }

  @media (prefers-reduced-motion: reduce){
    *{transition:none !important;}
  }
