/* ============================================================
   Home Safety Checklist — Stylesheet v1.0
   THEME RESET at top neutralises global theme rules.
   All rules scoped to .hsc-wrap — zero bleed outside.
   ============================================================ */

/* ── THEME RESET — scoped to .hsc-wrap ──────────────────── */
.hsc-wrap p               { max-width:none!important; margin-bottom:0!important; font-size:inherit!important; line-height:inherit!important; color:inherit!important; }
.hsc-wrap h2,.hsc-wrap h3,.hsc-wrap h4,.hsc-wrap h5 { font-size:inherit!important; line-height:inherit!important; letter-spacing:normal!important; margin:0!important; color:inherit!important; }
.hsc-wrap ul,.hsc-wrap ol { padding-left:0!important; margin:0!important; list-style:none!important; }
.hsc-wrap li              { margin:0!important; padding:0!important; }
.hsc-wrap button          { font-family:inherit!important; cursor:pointer!important; }
.hsc-wrap input           { font-family:inherit!important; }
.hsc-wrap a               { text-decoration:none!important; }
.hsc-wrap img             { display:inline!important; }
/* ── End theme reset ─────────────────────────────────────── */

/* ── Root vars ───────────────────────────────────────────── */
.hsc-wrap {
    --hsc-primary:       #2E7D5E;
    --hsc-primary-dark:  #1f5c43;
    --hsc-primary-light: #E8F5F0;
    --hsc-amber:         #F4A835;
    --hsc-amber-dark:    #d4922b;
    --hsc-red:           #DC2626;
    --hsc-text:          #1A1A2E;
    --hsc-muted:         #6B7280;
    --hsc-border:        #E2E8F0;
    --hsc-white:         #ffffff;
    --hsc-radius:        12px;
    --hsc-radius-sm:     8px;
    --hsc-shadow:        0 2px 8px rgba(0,0,0,0.07);
    --hsc-shadow-lg:     0 8px 32px rgba(0,0,0,0.12);
    --hsc-font:          'Inter',-apple-system,BlinkMacSystemFont,sans-serif;
    --hsc-font-h:        'Lora',Georgia,serif;
}

.hsc-wrap, .hsc-wrap *, .hsc-wrap *::before, .hsc-wrap *::after {
    box-sizing: border-box;
}

.hsc-wrap {
    font-family: var(--hsc-font);
    color: var(--hsc-text);
    font-size: 15px;
    line-height: 1.6;
    width: 100%;
    max-width: 900px;
    margin: 0 auto 48px;
    background: var(--hsc-white);
    border-radius: var(--hsc-radius);
    box-shadow: var(--hsc-shadow-lg);
    overflow: hidden;
    position: relative;
}

/* ── Hero ─────────────────────────────────────────────────── */
.hsc-hero {
    background: linear-gradient(135deg, #2E7D5E 0%, #1a4d38 100%);
    padding: 40px 36px 32px;
    text-align: center;
    color: var(--hsc-white);
    position: relative;
}

.hsc-hero::before {
    content: '';
    position: absolute;
    inset: 0;
    background: url("data:image/svg+xml,%3Csvg width='40' height='40' viewBox='0 0 40 40' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='%23fff' fill-opacity='0.04'%3E%3Cpath d='M20 20.5V18H0v5h5v5H0v5h20v-9.5zm-2 4.5h-1v-1h1v1zm1-10V14H0v2h19v-1zm-1 6h-1v-1h1v1zM15 0H0v10h15V0zm-2 8H2V2h11v6zm22 2h2V0H20v10h2V2h13v8zm-5-4h-1V5h1v1z'/%3E%3C/g%3E%3C/svg%3E") repeat;
    pointer-events: none;
}

.hsc-hero-badge {
    display: inline-block;
    background: rgba(255,255,255,0.18);
    border: 1px solid rgba(255,255,255,0.28);
    color: var(--hsc-white);
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 1.2px;
    text-transform: uppercase;
    padding: 5px 16px;
    border-radius: 20px;
    margin-bottom: 14px;
    position: relative;
    z-index: 1;
}

.hsc-hero-title {
    font-family: var(--hsc-font-h) !important;
    font-size: clamp(20px, 4vw, 27px) !important;
    font-weight: 700 !important;
    line-height: 1.3 !important;
    margin-bottom: 12px !important;
    color: var(--hsc-white) !important;
    position: relative;
    z-index: 1;
}

.hsc-hero-sub {
    font-size: 14px;
    color: rgba(255,255,255,0.86);
    max-width: 620px;
    margin: 0 auto 22px;
    line-height: 1.75;
    position: relative;
    z-index: 1;
}

.hsc-hero-stats {
    display: inline-flex;
    align-items: center;
    background: rgba(255,255,255,0.12);
    border: 1px solid rgba(255,255,255,0.2);
    border-radius: var(--hsc-radius);
    padding: 12px 24px;
    position: relative;
    z-index: 1;
}

.hsc-stat { display:flex; flex-direction:column; align-items:center; padding:0 18px; }
.hsc-stat-num { font-family:var(--hsc-font-h); font-size:22px; font-weight:700; color:#fff; line-height:1; }
.hsc-stat-lbl { font-size:11px; color:rgba(255,255,255,0.75); margin-top:3px; white-space:nowrap; }
.hsc-stat-div { width:1px; height:30px; background:rgba(255,255,255,0.22); flex-shrink:0; }

/* ── Instructions ─────────────────────────────────────────── */
.hsc-instructions {
    display: flex;
    padding: 16px 24px;
    background: var(--hsc-primary-light);
    border-bottom: 1px solid var(--hsc-border);
}

.hsc-instr-item {
    display: flex;
    align-items: center;
    gap: 10px;
    flex: 1;
    font-size: 13px;
    color: var(--hsc-text);
    padding: 0 12px;
    border-right: 1px solid rgba(46,125,94,0.2);
}

.hsc-instr-item:last-child { border-right: none; }

.hsc-instr-num {
    width: 24px;
    height: 24px;
    border-radius: 50%;
    background: var(--hsc-primary);
    color: var(--hsc-white);
    font-size: 12px;
    font-weight: 700;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

/* ── Sticky score bar ─────────────────────────────────────── */
.hsc-score-bar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    padding: 14px 36px;
    background: var(--hsc-white);
    border-bottom: 2px solid var(--hsc-border);
    position: sticky;
    top: 0;
    z-index: 50;
    transition: background 0.25s, border-color 0.25s;
}

.hsc-score-bar.hsc-score-bar-active {
    background: var(--hsc-primary-light);
    border-bottom-color: var(--hsc-primary);
}

.hsc-score-left { display:flex; flex-direction:column; gap:2px; }
.hsc-score-label { font-size:12px; font-weight:700; text-transform:uppercase; letter-spacing:0.6px; color:var(--hsc-muted); }
.hsc-score-count { font-size:13px; color:var(--hsc-text); }

.hsc-score-right {
    display: flex;
    align-items: center;
    gap: 14px;
    flex: 1;
    max-width: 260px;
}

.hsc-score-pct {
    font-family: var(--hsc-font-h);
    font-size: 24px;
    font-weight: 700;
    color: var(--hsc-muted);
    min-width: 52px;
    text-align: right;
    transition: color 0.3s;
}

.hsc-score-track {
    flex: 1;
    height: 8px;
    background: var(--hsc-border);
    border-radius: 99px;
    overflow: hidden;
}

.hsc-score-fill {
    height: 100%;
    background: var(--hsc-border);
    border-radius: 99px;
    transition: width 0.3s ease, background 0.3s ease;
}

/* ── Checklist ────────────────────────────────────────────── */
.hsc-checklist { padding: 0; }

.hsc-cat { border-bottom: 1px solid var(--hsc-border); }
.hsc-cat:last-child { border-bottom: none; }

.hsc-cat-header {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 18px 36px 14px;
    background: #f9fafb;
    border-bottom: 1px solid var(--hsc-border);
}

.hsc-cat-icon { font-size: 24px; flex-shrink: 0; line-height: 1; }

.hsc-cat-title {
    font-family: var(--hsc-font-h) !important;
    font-size: 17px !important;
    font-weight: 700 !important;
    color: var(--hsc-text) !important;
    flex: 1;
    margin: 0 !important;
}

.hsc-cat-count {
    font-size: 12px;
    font-weight: 600;
    color: var(--hsc-muted);
    background: var(--hsc-border);
    padding: 3px 10px;
    border-radius: 20px;
    transition: background 0.2s, color 0.2s;
}

.hsc-cat-count.hsc-cat-count-full {
    background: var(--hsc-primary);
    color: var(--hsc-white);
}

/* ── Items ────────────────────────────────────────────────── */
.hsc-items {
    display: flex;
    flex-direction: column;
}

.hsc-item {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    padding: 14px 36px;
    background: var(--hsc-white);
    cursor: pointer;
    transition: background 0.18s;
    border-bottom: 1px solid #f3f4f6;
}

.hsc-item:last-child { border-bottom: none; }

.hsc-item:hover { background: var(--hsc-primary-light); }

.hsc-item.hsc-item-checked { background: #f0fdf8; }

.hsc-checkbox {
    position: absolute;
    opacity: 0;
    width: 0;
    height: 0;
    pointer-events: none;
}

.hsc-check-custom {
    width: 22px;
    height: 22px;
    border-radius: 6px;
    border: 2px solid var(--hsc-border);
    background: var(--hsc-white);
    flex-shrink: 0;
    margin-top: 1px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: transparent;
    transition: background 0.18s, border-color 0.18s, color 0.18s;
}

.hsc-item-checked .hsc-check-custom {
    background: var(--hsc-primary);
    border-color: var(--hsc-primary);
    color: var(--hsc-white);
}

.hsc-item-body {
    display: flex;
    align-items: center;
    gap: 10px;
    flex: 1;
    flex-wrap: wrap;
}

.hsc-item-label {
    font-size: 14px;
    color: var(--hsc-text);
    line-height: 1.45;
}

.hsc-item-checked .hsc-item-label {
    color: var(--hsc-primary-dark);
}

.hsc-risk-badge {
    font-size: 10px;
    font-weight: 700;
    padding: 2px 8px;
    border-radius: 4px;
    white-space: nowrap;
    flex-shrink: 0;
}

.hsc-risk-high   { background:#FEE2E2; color:#991b1b; }
.hsc-risk-medium { background:#FEF3C7; color:#92400e; }

/* ── Bulk actions ─────────────────────────────────────────── */
.hsc-bulk-actions {
    display: flex;
    gap: 12px;
    padding: 20px 36px;
    border-top: 1px solid var(--hsc-border);
    flex-wrap: wrap;
}

/* ── Buttons ──────────────────────────────────────────────── */
.hsc-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    padding: 10px 20px;
    font-family: var(--hsc-font);
    font-size: 14px;
    font-weight: 600;
    border-radius: var(--hsc-radius-sm);
    border: 2px solid transparent;
    cursor: pointer;
    transition: background 0.18s, color 0.18s, border-color 0.18s, transform 0.12s;
    text-decoration: none !important;
    line-height: 1;
    -webkit-appearance: none;
    appearance: none;
    white-space: nowrap;
}

.hsc-btn:disabled { opacity:0.45; cursor:not-allowed; }
.hsc-btn:active:not(:disabled) { transform: scale(0.97); }

.hsc-btn-primary { background:var(--hsc-primary); color:var(--hsc-white); border-color:var(--hsc-primary); }
.hsc-btn-primary:hover:not(:disabled) { background:var(--hsc-primary-dark); border-color:var(--hsc-primary-dark); color:var(--hsc-white); }

.hsc-btn-amber { background:var(--hsc-amber); color:var(--hsc-white); border-color:var(--hsc-amber); }
.hsc-btn-amber:hover:not(:disabled) { background:var(--hsc-amber-dark); border-color:var(--hsc-amber-dark); color:var(--hsc-white); }

.hsc-btn-outline { background:transparent; color:var(--hsc-primary); border-color:var(--hsc-primary); }
.hsc-btn-outline:hover:not(:disabled) { background:var(--hsc-primary-light); }

.hsc-btn-ghost { background:transparent; color:var(--hsc-muted); border-color:var(--hsc-border); }
.hsc-btn-ghost:hover:not(:disabled) { background:#f9fafb; }

/* ── Lead gate ────────────────────────────────────────────── */
.hsc-lead-gate { padding: 0 36px 36px; border-top: 1px solid var(--hsc-border); }

.hsc-lead-inner {
    background: linear-gradient(135deg, #f0fdf8 0%, #fefce8 100%);
    border: 2px solid var(--hsc-primary);
    border-radius: var(--hsc-radius);
    padding: 36px 32px;
    text-align: center;
    margin-top: 24px;
    position: relative;
    overflow: hidden;
}

.hsc-lead-badge {
    display: inline-block;
    background: var(--hsc-primary);
    color: var(--hsc-white);
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 1px;
    text-transform: uppercase;
    padding: 4px 14px;
    border-radius: 20px;
    margin-bottom: 12px;
}

.hsc-lead-icon { font-size: 44px; display:block; margin-bottom:12px; }

.hsc-lead-title {
    font-family: var(--hsc-font-h) !important;
    font-size: clamp(18px, 3.5vw, 22px) !important;
    font-weight: 700 !important;
    color: var(--hsc-text) !important;
    margin-bottom: 10px !important;
}

.hsc-lead-sub {
    font-size: 14px;
    color: var(--hsc-muted);
    max-width: 500px;
    margin: 0 auto 24px;
    line-height: 1.7;
}

.hsc-lead-fields {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px;
    margin-bottom: 14px;
    text-align: left;
}

.hsc-lead-field { display:flex; flex-direction:column; gap:5px; }
.hsc-lead-label { font-size:13px; font-weight:600; color:var(--hsc-text); }

.hsc-lead-input {
    width: 100%;
    padding: 11px 13px;
    border: 1.5px solid var(--hsc-border);
    border-radius: var(--hsc-radius-sm);
    font-family: var(--hsc-font);
    font-size: 14px;
    color: var(--hsc-text);
    background: var(--hsc-white);
    outline: none;
    transition: border-color 0.2s, box-shadow 0.2s;
    -webkit-appearance: none;
    appearance: none;
}

.hsc-lead-input:focus {
    border-color: var(--hsc-primary);
    box-shadow: 0 0 0 3px rgba(46,125,94,0.14);
}

.hsc-lead-submit {
    width: 100%;
    padding: 14px;
    font-size: 15px;
    border-radius: var(--hsc-radius-sm);
    margin-bottom: 12px;
}

.hsc-lead-privacy {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 5px;
    font-size: 12px;
    color: var(--hsc-muted);
}

.hsc-lead-error {
    margin-top: 12px;
    padding: 10px 14px;
    background: #FEF2F2;
    border: 1px solid #FECACA;
    border-radius: var(--hsc-radius-sm);
    color: #B91C1C;
    font-size: 13px;
    text-align: left;
}

/* ── Results ──────────────────────────────────────────────── */
.hsc-results { padding: 0 36px 36px; }

.hsc-results-inner { animation: hscFadeUp 0.4s ease; }

@keyframes hscFadeUp {
    from { opacity:0; transform:translateY(14px); }
    to   { opacity:1; transform:translateY(0); }
}

.hsc-results-header {
    display: flex;
    align-items: flex-start;
    gap: 16px;
    padding: 28px 0 22px;
    border-bottom: 1px solid var(--hsc-border);
    margin-bottom: 24px;
}

.hsc-results-emoji { font-size: 40px; flex-shrink:0; }

.hsc-results-title {
    font-family: var(--hsc-font-h) !important;
    font-size: clamp(18px, 3.5vw, 22px) !important;
    font-weight: 700 !important;
    color: var(--hsc-text) !important;
    margin-bottom: 6px !important;
}

.hsc-results-sub { font-size:14px; color:var(--hsc-muted); line-height:1.6; }

/* ── Score banner ─────────────────────────────────────────── */
.hsc-score-banner {
    display: flex;
    gap: 24px;
    border-radius: var(--hsc-radius);
    padding: 28px 32px;
    margin-bottom: 28px;
    flex-wrap: wrap;
    align-items: center;
    color: #fff;
}

.hsc-score-banner-left {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 4px;
    min-width: 140px;
}

.hsc-score-banner-label {
    font-size: 12px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.8px;
    color: rgba(255,255,255,0.85);
}

.hsc-score-banner-num {
    font-family: var(--hsc-font-h);
    font-size: 48px;
    font-weight: 800;
    line-height: 1;
}

.hsc-score-pct-sign { font-size: 24px; font-weight:700; }

.hsc-score-banner-tag {
    display: inline-block;
    background: rgba(255,255,255,0.22);
    padding: 3px 12px;
    border-radius: 20px;
    font-size: 12px;
    font-weight: 700;
    margin-top: 4px;
}

.hsc-score-banner-right {
    flex: 1;
    min-width: 220px;
    background: rgba(255,255,255,0.14);
    border-radius: var(--hsc-radius-sm);
    padding: 14px 18px;
}

.hsc-score-banner-right p {
    font-size: 14px !important;
    line-height: 1.65 !important;
    color: rgba(255,255,255,0.95) !important;
}

/* ── Category breakdown ───────────────────────────────────── */
.hsc-breakdown-heading {
    font-size: 15px !important;
    font-weight: 700 !important;
    color: var(--hsc-text) !important;
    margin-bottom: 14px !important;
}

.hsc-cat-breakdown {
    display: flex;
    flex-direction: column;
    gap: 10px;
    margin-bottom: 28px;
}

.hsc-cat-bar-row {
    display: flex;
    align-items: center;
    gap: 12px;
}

.hsc-cat-bar-label {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 13px;
    font-weight: 600;
    color: var(--hsc-text);
    width: 180px;
    flex-shrink: 0;
}

.hsc-cat-bar-track {
    flex: 1;
    height: 10px;
    background: var(--hsc-border);
    border-radius: 99px;
    overflow: hidden;
}

.hsc-cat-bar-fill {
    height: 100%;
    border-radius: 99px;
    transition: width 0.4s ease;
}

.hsc-cat-bar-pct {
    font-size: 13px;
    font-weight: 700;
    color: var(--hsc-text);
    width: 44px;
    text-align: right;
    flex-shrink: 0;
}

/* ── What's already great ─────────────────────────────────── */
.hsc-great-box {
    background: var(--hsc-primary-light);
    border: 1px solid #6EE7B7;
    border-radius: var(--hsc-radius-sm);
    padding: 18px 20px;
    margin-bottom: 24px;
}

.hsc-great-head {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 14px;
    font-weight: 700;
    color: #15803d;
    margin-bottom: 8px;
}

.hsc-great-sub {
    font-size: 13px !important;
    color: var(--hsc-muted) !important;
    margin-bottom: 10px !important;
    line-height: 1.6 !important;
}

.hsc-great-list {
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.hsc-great-list li {
    font-size: 13px;
    color: var(--hsc-text);
    display: flex;
    gap: 8px;
    align-items: flex-start;
    line-height: 1.5;
}

/* ── Priority sections ────────────────────────────────────── */
.hsc-priority-section { margin-bottom: 24px; }

.hsc-priority-heading {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 15px !important;
    font-weight: 700 !important;
    margin-bottom: 12px !important;
    padding-bottom: 8px !important;
    border-bottom: 2px solid;
}

.hsc-priority-high   { color:#991b1b !important; border-color:#FECACA; }
.hsc-priority-medium { color:#92400e !important; border-color:#FDE68A; }
.hsc-priority-low    { color:#15803d !important; border-color:#86efac; }

.hsc-fix-list {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.hsc-fix-card {
    border: 1px solid var(--hsc-border);
    border-left: 4px solid;
    border-radius: var(--hsc-radius-sm);
    padding: 14px 16px;
    background: var(--hsc-white);
}

.hsc-fix-high   { border-left-color:#DC2626; }
.hsc-fix-medium { border-left-color:#F4A835; }
.hsc-fix-low    { border-left-color:#2E7D5E; }

.hsc-fix-top {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    margin-bottom: 6px;
}

.hsc-fix-icon { font-size: 20px; flex-shrink: 0; line-height:1.4; }

.hsc-fix-cat {
    display: block;
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    color: var(--hsc-muted);
    margin-bottom: 2px;
}

.hsc-fix-label {
    font-size: 14px !important;
    font-weight: 600 !important;
    color: var(--hsc-text) !important;
    line-height: 1.45 !important;
}

.hsc-fix-tip {
    font-size: 13px !important;
    color: var(--hsc-muted) !important;
    line-height: 1.6 !important;
    padding-left: 30px;
}

.hsc-fix-tip strong { color: var(--hsc-text); }

/* ── Perfect score box ────────────────────────────────────── */
.hsc-perfect-box {
    display: flex;
    align-items: center;
    gap: 16px;
    background: var(--hsc-primary-light);
    border: 1px solid #6EE7B7;
    border-radius: var(--hsc-radius);
    padding: 22px;
    margin-bottom: 24px;
}

.hsc-perfect-box p {
    font-size: 14px !important;
    color: #064e3b !important;
    line-height: 1.7 !important;
    margin: 0 !important;
}

/* ── Next steps / related tools ───────────────────────────── */
.hsc-next-steps { margin-bottom: 20px; }

.hsc-next-heading {
    font-size: 15px !important;
    font-weight: 700 !important;
    color: var(--hsc-text) !important;
    margin-bottom: 12px !important;
}

.hsc-next-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px;
}

.hsc-next-card {
    display: flex;
    flex-direction: column;
    background: var(--hsc-white);
    border: 1.5px solid var(--hsc-border);
    border-radius: var(--hsc-radius-sm);
    padding: 18px;
    transition: border-color 0.2s, box-shadow 0.2s;
}

.hsc-next-card:hover {
    border-color: var(--hsc-primary);
    box-shadow: var(--hsc-shadow);
}

.hsc-next-icon { font-size: 26px; display:block; margin-bottom:8px; line-height:1; }

.hsc-next-card h5 {
    font-size: 14px !important;
    font-weight: 700 !important;
    color: var(--hsc-text) !important;
    margin-bottom: 6px !important;
    line-height: 1.35 !important;
}

.hsc-next-card p {
    font-size: 12.5px !important;
    color: var(--hsc-muted) !important;
    line-height: 1.6 !important;
    margin-bottom: 10px !important;
    flex: 1;
}

.hsc-next-link {
    font-size: 13px;
    font-weight: 700;
    color: var(--hsc-primary);
}

/* ── Recalc row ───────────────────────────────────────────── */
.hsc-recalc-row {
    display: flex;
    gap: 12px;
    justify-content: center;
    margin-bottom: 16px;
    flex-wrap: wrap;
}

/* ── Disclaimer ───────────────────────────────────────────── */
.hsc-disclaimer {
    font-size: 11px;
    color: var(--hsc-muted);
    line-height: 1.6;
    padding: 14px 0;
    border-top: 1px solid var(--hsc-border);
    text-align: center;
}

/* ── Utility ──────────────────────────────────────────────── */
.hsc-hidden { display: none !important; }

/* ── Print ────────────────────────────────────────────────── */
@media print {
    .hsc-hero, .hsc-instructions, .hsc-score-bar,
    .hsc-checklist, .hsc-bulk-actions, .hsc-lead-gate,
    .hsc-recalc-row, .hsc-next-steps { display: none !important; }
    .hsc-results { padding: 0; }
    .hsc-wrap { box-shadow: none; border: 1px solid #ccc; }
}

/* ── Responsive ───────────────────────────────────────────── */
@media (max-width: 680px) {
    .hsc-hero          { padding: 28px 20px 24px; }
    .hsc-instructions  { flex-direction: column; gap: 8px; padding: 14px 20px; }
    .hsc-instr-item    { border-right: none; padding: 0; }
    .hsc-score-bar     { padding: 12px 20px; flex-wrap: wrap; gap: 10px; }
    .hsc-score-right   { max-width: none; width: 100%; }
    .hsc-cat-header    { padding: 14px 20px 12px; }
    .hsc-item          { padding: 12px 20px; }
    .hsc-bulk-actions  { padding: 16px 20px; }
    .hsc-lead-gate     { padding: 0 20px 28px; }
    .hsc-lead-inner    { padding: 24px 18px; }
    .hsc-lead-fields   { grid-template-columns: 1fr; }
    .hsc-results       { padding: 0 20px 28px; }
    .hsc-score-banner  { flex-direction: column; align-items: stretch; padding: 22px; }
    .hsc-score-banner-left { align-items: center; text-align: center; }
    .hsc-cat-bar-label { width: 120px; font-size: 12px; }
    .hsc-next-grid     { grid-template-columns: 1fr; }
}
