:root{--brand-red:#a10019;--brand-red-dark:#760012;--brand-red-soft:#f8e9ec;--background:#f7f7f7;--surface:#fff;--charcoal:#222;--muted:#666;--border:#e4e4e4;--soft-border:#eee;--shadow:0 18px 50px rgba(0,0,0,.08);--radius-lg:24px;--radius-md:16px;--max-width:1120px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--charcoal);background:radial-gradient(circle at top left,rgba(161,0,25,.09),transparent 28%),var(--background);line-height:1.55}.page-shell{width:min(var(--max-width),calc(100% - 32px));margin:0 auto}.site-header{padding:22px 0}.brand-bar{display:flex;align-items:center;justify-content:space-between;gap:16px}.brand-lockup{display:flex;align-items:center;gap:12px;font-weight:800;letter-spacing:-.03em}.brand-mark{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:var(--brand-red);color:#fff;font-weight:900;box-shadow:0 8px 22px rgba(161,0,25,.22)}.header-note{color:var(--muted);font-size:.94rem;text-align:right}.hero{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(320px,.88fr);gap:28px;align-items:stretch;padding:28px 0 18px}.hero-card,.lead-card,.app-card,.result-card,.result-gate{background:rgba(255,255,255,.94);border:1px solid rgba(255,255,255,.85);border-radius:var(--radius-lg);box-shadow:var(--shadow)}.hero-card{padding:clamp(28px,4vw,54px);position:relative;overflow:hidden}.hero-card:after{content:"";position:absolute;width:260px;height:260px;right:-92px;bottom:-106px;border-radius:50%;background:linear-gradient(135deg,rgba(161,0,25,.13),rgba(161,0,25,0))}.eyebrow{display:inline-flex;align-items:center;gap:8px;color:var(--brand-red);background:var(--brand-red-soft);border:1px solid rgba(161,0,25,.12);border-radius:999px;padding:7px 12px;font-size:.82rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em}

/* FIX: H1 reduced from clamp(2.35rem,6vw,5.1rem) — was dominating the hero fold */
h1{margin:20px 0 16px;font-size:clamp(1.9rem,4vw,3.2rem);line-height:1.05;letter-spacing:-.05em;max-width:860px}

.hero-subtitle{font-size:clamp(1.05rem,2vw,1.32rem);color:#3a3a3a;max-width:760px;margin:0 0 24px}.hero-actions,.result-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:24px}.btn{border:none;border-radius:999px;padding:13px 20px;font-weight:800;font-size:.96rem;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease,background .2s ease;display:inline-flex;align-items:center;justify-content:center;gap:8px;text-decoration:none}.btn:hover{transform:translateY(-1px)}.btn-primary{background:var(--brand-red);color:#fff;box-shadow:0 12px 28px rgba(161,0,25,.24)}.btn-primary:hover{background:var(--brand-red-dark)}.btn-secondary{background:#fff;color:var(--charcoal);border:1px solid var(--border)}.btn-ghost{background:transparent;color:var(--brand-red);padding-left:0}.lead-card{padding:26px;align-self:stretch;display:flex;flex-direction:column;justify-content:space-between;gap:18px;position:sticky;top:18px}.lead-card h2,.app-card h2,.result-card h2,.result-gate h2{margin:0 0 10px;font-size:1.45rem;line-height:1.12;letter-spacing:-.035em}.lead-card p,.app-card p,.result-card p,.result-gate p{color:var(--muted);margin:0 0 18px}.lead-form{display:grid;gap:12px}label{display:block;font-size:.86rem;font-weight:800;margin-bottom:6px}input,textarea{width:100%;border:1px solid var(--border);border-radius:13px;padding:12px 13px;font:inherit;color:var(--charcoal);background:#fff;outline:none;transition:border .2s ease,box-shadow .2s ease}input:focus,textarea:focus{border-color:rgba(161,0,25,.55);box-shadow:0 0 0 4px rgba(161,0,25,.08)}.microcopy{font-size:.82rem;color:var(--muted)}.stats-row{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:22px}.stat{background:#fff;border:1px solid var(--soft-border);border-radius:16px;padding:14px}.stat strong{display:block;color:var(--brand-red);font-size:1.35rem;line-height:1}.stat span{display:block;color:var(--muted);font-size:.82rem;margin-top:5px}.intro-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:24px 0 8px}.info-card{background:#fff;border:1px solid var(--soft-border);border-radius:var(--radius-md);padding:20px}.info-icon{width:38px;height:38px;border-radius:12px;background:var(--brand-red-soft);color:var(--brand-red);display:grid;place-items:center;font-weight:900;margin-bottom:12px}.info-card h3{margin:0 0 8px;font-size:1rem;letter-spacing:-.02em}.info-card p{margin:0;color:var(--muted);font-size:.94rem}.app-section{padding:28px 0 60px}.app-card,.result-card,.result-gate{padding:clamp(20px,3vw,34px)}.result-gate{margin-top:24px;display:none}.result-gate.visible{display:block}.app-topline{display:flex;justify-content:space-between;gap:20px;align-items:flex-start;border-bottom:1px solid var(--soft-border);padding-bottom:20px;margin-bottom:22px}.progress-wrap{min-width:240px;text-align:right}.progress-label{display:flex;justify-content:space-between;gap:12px;color:var(--muted);font-size:.85rem;margin-bottom:8px}.progress-bar{height:10px;background:#ececec;border-radius:999px;overflow:hidden}.progress-fill{width:0;height:100%;background:var(--brand-red);border-radius:999px;transition:width .25s ease}.section-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:18px 0 26px}.tab-btn{border:1px solid var(--border);background:#fff;border-radius:999px;padding:9px 12px;cursor:pointer;color:var(--charcoal);font-weight:800;font-size:.82rem}.tab-btn.active{background:var(--brand-red);border-color:var(--brand-red);color:#fff}.checklist-section{display:none;animation:fadeIn .25s ease}.checklist-section.active{display:block}@keyframes fadeIn{from{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.section-header{display:grid;grid-template-columns:auto 1fr auto;gap:14px;align-items:start;margin-bottom:18px}.section-number{width:42px;height:42px;border-radius:14px;background:var(--brand-red-soft);color:var(--brand-red);display:grid;place-items:center;font-weight:900}.section-header h3{margin:0 0 6px;font-size:clamp(1.35rem,2vw,1.8rem);letter-spacing:-.04em}.section-header p{margin:0;color:var(--muted)}.section-score-pill{background:#fff;border:1px solid var(--border);border-radius:999px;padding:8px 12px;font-size:.86rem;font-weight:900;white-space:nowrap}.rating-guide{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:18px 0 20px}.rating-guide div{background:#fafafa;border:1px solid var(--soft-border);border-radius:12px;padding:10px;font-size:.82rem}.rating-guide strong{color:var(--brand-red)}.question-list{display:grid;gap:14px}.question-card{background:#fff;border:1px solid var(--soft-border);border-radius:var(--radius-md);padding:16px;display:grid;grid-template-columns:1fr auto;gap:14px;align-items:center}.question-text{font-weight:750}.rating-options{display:grid;grid-template-columns:repeat(4,46px);gap:7px}.rating-options input{position:absolute;opacity:0;pointer-events:none}.rating-options label{margin:0;display:grid;place-items:center;width:46px;height:42px;border:1px solid var(--border);border-radius:12px;cursor:pointer;font-weight:900;background:#fff;transition:all .2s ease}.rating-options input:checked+label{background:var(--brand-red);border-color:var(--brand-red);color:#fff;box-shadow:0 8px 16px rgba(161,0,25,.18)}.reflection-box{margin-top:18px;background:var(--brand-red-soft);border:1px solid rgba(161,0,25,.13);border-radius:var(--radius-md);padding:16px}.reflection-box strong{color:var(--brand-red)}.reflection-box textarea{margin-top:10px;min-height:86px;resize:vertical}.nav-controls{display:flex;justify-content:space-between;gap:12px;margin-top:24px;border-top:1px solid var(--soft-border);padding-top:20px}.result-card{margin-top:24px;display:none}.result-card.visible{display:block;animation:fadeIn .25s ease}.pdf-header{display:none}.score-display{display:grid;grid-template-columns:170px 1fr;gap:24px;align-items:center;margin:18px 0 22px}.score-circle{width:160px;height:160px;border-radius:50%;background:conic-gradient(var(--brand-red) var(--score-angle,0deg),#eee 0deg);display:grid;place-items:center;position:relative}.score-circle:before{content:"";position:absolute;width:122px;height:122px;border-radius:50%;background:#fff}.score-circle-inner{position:relative;z-index:1;text-align:center}.score-circle-inner strong{display:block;font-size:2.3rem;letter-spacing:-.05em;line-height:1}.score-circle-inner span{color:var(--muted);font-size:.85rem;font-weight:800}.level-badge{display:inline-flex;align-items:center;gap:8px;background:var(--brand-red-soft);color:var(--brand-red);border-radius:999px;padding:8px 12px;font-weight:900;margin-bottom:10px}.recommendations{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:20px}.recommendation-box,.breakdown-box,.cta-box{border:1px solid var(--soft-border);border-radius:var(--radius-md);padding:18px;background:#fff}

/* CTA box — more prominent, action-oriented */
.cta-box{margin-top:18px;background:var(--brand-red);border-color:var(--brand-red);color:#fff;border-radius:var(--radius-md);padding:22px}
.cta-box h3{margin:0 0 8px;font-size:1.1rem;color:#fff}
.cta-box p{color:rgba(255,255,255,.88);margin:0 0 16px}
.cta-links{display:flex;gap:12px;flex-wrap:wrap}
.cta-link-btn{display:flex;align-items:center;gap:12px;background:#fff;color:var(--charcoal);border-radius:14px;padding:12px 16px;text-decoration:none;font-size:.9rem;flex:1;min-width:200px;transition:transform .15s ease,box-shadow .15s ease;box-shadow:0 4px 14px rgba(0,0,0,.12)}
.cta-link-btn:hover{transform:translateY(-2px);box-shadow:0 8px 20px rgba(0,0,0,.18)}
.cta-link-btn strong{display:block;color:var(--charcoal);font-size:.95rem}
.cta-link-btn small{display:block;color:var(--muted);font-size:.78rem;margin-top:1px}
.cta-link-icon{font-size:1.4rem;flex-shrink:0}

.recommendation-box h3,.breakdown-box h3{margin:0 0 10px;font-size:1.05rem}.recommendation-box ul{margin:0;padding-left:20px;color:#444}.breakdown-list{display:grid;gap:10px}.breakdown-item{display:grid;grid-template-columns:1fr auto;gap:12px;align-items:center;font-size:.94rem}.mini-bar{grid-column:1/-1;height:8px;background:#ededed;border-radius:999px;overflow:hidden}.mini-bar span{display:block;height:100%;width:0;background:var(--brand-red);border-radius:inherit}.footer{padding:34px 0 52px;color:var(--muted);text-align:center;font-size:.9rem}.toast{position:fixed;left:50%;bottom:22px;transform:translateX(-50%) translateY(20px);background:var(--charcoal);color:#fff;border-radius:999px;padding:11px 16px;opacity:0;pointer-events:none;transition:opacity .2s ease,transform .2s ease;z-index:20;font-weight:800;font-size:.9rem}.toast.visible{opacity:1;transform:translateX(-50%) translateY(0)}

@media(max-width:920px){.hero,.intro-grid,.recommendations,.score-display{grid-template-columns:1fr}.lead-card{position:static}.app-topline,.brand-bar,.section-header{grid-template-columns:1fr;display:grid}.header-note,.progress-wrap{text-align:left}.progress-wrap{min-width:0}.question-card{grid-template-columns:1fr}.rating-guide{grid-template-columns:1fr 1fr}.cta-links{flex-direction:column}}
@media(max-width:560px){.page-shell{width:min(100% - 22px,var(--max-width))}.stats-row,.rating-guide{grid-template-columns:1fr}.rating-options{grid-template-columns:repeat(4,1fr)}.rating-options label{width:100%}.nav-controls{flex-direction:column}.btn{width:100%}.cta-link-btn{min-width:0;width:100%}}

/* =============================================================
   PRINT STYLES — rebuilt from scratch
   
   Two modes set by JS on <html> before window.print():
     .print-full-mode    → "Print full checklist" button
                           Shows: all 6 sections with answers, no results
     .print-result-mode  → "Download result PDF" button  
                           Shows: results summary first, then all 6 sections
   
   Core principle: use display:none to hide unwanted elements rather
   than visibility:hidden on body — visibility approach causes blank
   pages when content spans multiple pages.
   ============================================================= */

@media print {

  /* --- Reset --- */
  html, body {
    background: #fff !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  /* --- Always hide these in both modes --- */
  .site-header,
  .footer,
  .toast,
  .hero,
  .intro-grid,
  .lead-card,
  .result-gate,
  .section-tabs,
  .nav-controls,
  .result-actions,
  .progress-wrap,
  .rating-guide,
  .btn {
    display: none !important;
  }

  .page-shell {
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  /* --- Shared app-card / result-card base --- */
  .app-card,
  .result-card {
    box-shadow: none !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: #fff !important;
    padding: 0 .35in !important;
    margin: 0 !important;
  }

  /* --- PDF header (brand line at top of print) --- */
  .pdf-header {
    display: block !important;
    border-bottom: 2px solid #a10019;
    margin-bottom: 16px;
    padding-bottom: 10px;
    padding-top: .25in;
  }

  .print-brand {
    display: flex !important;
  }

  .pdf-kicker {
    margin: 6px 0 0 !important;
    color: #666 !important;
    font-size: .85rem !important;
  }

  /* --- All checklist sections visible and block --- */
  .checklist-section {
    display: block !important;
    break-inside: avoid-page;
    margin-bottom: 20px !important;
  }

  .section-header {
    display: grid !important;
    grid-template-columns: auto 1fr auto !important;
    gap: 12px !important;
    margin-bottom: 10px !important;
  }

  .section-header h3 {
    font-size: 1.1rem !important;
    margin: 0 0 4px !important;
  }

  .section-header p {
    font-size: .8rem !important;
    margin: 0 !important;
  }

  .section-score-pill {
    font-size: .8rem !important;
    padding: 5px 10px !important;
  }

  .question-list {
    display: grid !important;
    gap: 6px !important;
  }

  .question-card {
    display: grid !important;
    grid-template-columns: 1fr auto !important;
    gap: 12px !important;
    align-items: center !important;
    padding: 8px 10px !important;
    border: 1px solid #ddd !important;
    border-radius: 8px !important;
    break-inside: avoid !important;
    background: #fff !important;
  }

  .question-text {
    font-size: .82rem !important;
    line-height: 1.3 !important;
  }

  /* Show rating options as compact boxes; highlight selected answer */
  .rating-options {
    display: grid !important;
    grid-template-columns: repeat(4, 28px) !important;
    gap: 4px !important;
  }

  .rating-options input {
    position: absolute !important;
    opacity: 0 !important;
    pointer-events: none !important;
  }

  .rating-options label {
    display: grid !important;
    place-items: center !important;
    width: 28px !important;
    height: 26px !important;
    border: 1px solid #ccc !important;
    border-radius: 6px !important;
    font-size: .76rem !important;
    font-weight: 900 !important;
    background: #fff !important;
    color: #666 !important;
    margin: 0 !important;
  }

  .rating-options input:checked + label {
    background: #a10019 !important;
    border-color: #a10019 !important;
    color: #fff !important;
    box-shadow: none !important;
  }

  /* Reflection boxes — show text content, hide textarea (can't print interactively) */
  .reflection-box {
    padding: 8px 10px !important;
    margin-top: 8px !important;
    background: #fdf0f2 !important;
    border-radius: 8px !important;
    font-size: .8rem !important;
    break-inside: avoid !important;
  }

  .reflection-box textarea {
    display: none !important;
  }

  /* --- Results section base styles --- */
  .result-card {
    display: block !important;
  }

  .score-display {
    display: grid !important;
    grid-template-columns: 120px 1fr !important;
    gap: 18px !important;
    align-items: center !important;
    margin: 12px 0 16px !important;
  }

  .score-circle {
    width: 110px !important;
    height: 110px !important;
  }

  .score-circle:before {
    width: 82px !important;
    height: 82px !important;
  }

  .score-circle-inner strong {
    font-size: 1.7rem !important;
  }

  .recommendations {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 12px !important;
    margin-top: 12px !important;
  }

  .recommendation-box,
  .breakdown-box {
    padding: 12px !important;
    border: 1px solid #ddd !important;
    border-radius: 8px !important;
    break-inside: avoid !important;
    background: #fff !important;
  }

  .recommendation-box h3,
  .breakdown-box h3 {
    margin: 0 0 8px !important;
    font-size: .95rem !important;
  }

  .recommendation-box ul,
  .recommendation-box li,
  .breakdown-item {
    font-size: .82rem !important;
    line-height: 1.35 !important;
  }

  .mini-bar {
    height: 6px !important;
  }

  /* CTA box in print — simplified, no background color, just text + URLs */
  .cta-box {
    margin-top: 12px !important;
    background: #fdf0f2 !important;
    border: 1px solid #ddd !important;
    border-radius: 8px !important;
    padding: 12px !important;
    break-inside: avoid !important;
  }

  .cta-box h3 {
    color: #a10019 !important;
    margin: 0 0 6px !important;
    font-size: .95rem !important;
  }

  .cta-box p {
    font-size: .82rem !important;
    color: #444 !important;
    margin: 0 0 8px !important;
  }

  .cta-links {
    display: flex !important;
    gap: 10px !important;
  }

  .cta-link-btn {
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    background: #fff !important;
    border: 1px solid #ddd !important;
    border-radius: 8px !important;
    padding: 8px 10px !important;
    text-decoration: none !important;
    flex: 1 !important;
    box-shadow: none !important;
  }

  .cta-link-btn strong {
    font-size: .82rem !important;
    color: #a10019 !important;
  }

  .cta-link-btn small {
    font-size: .74rem !important;
    color: #666 !important;
  }

  .cta-link-icon {
    font-size: 1rem !important;
  }

  /* =============================================================
     PRINT-FULL-MODE: All sections, no results panel
     ============================================================= */

  .print-full-mode .result-card {
    display: none !important;
  }

  .print-full-mode .app-topline {
    display: block !important;
    margin-bottom: 14px !important;
    padding-bottom: 10px !important;
    border-bottom: 1px solid #ddd !important;
  }

  .print-full-mode .app-topline h2 {
    font-size: 1.3rem !important;
    margin: 0 0 4px !important;
  }

  .print-full-mode .app-topline p {
    font-size: .82rem !important;
    color: #666 !important;
    margin: 0 !important;
  }

  /* =============================================================
     PRINT-RESULT-MODE: Results first, then all sections
     - Results and checklist both display: block, normal flow
     - No visibility tricks = no blank pages
     ============================================================= */

  .print-result-mode .result-card {
    display: block !important;
    page-break-after: always;
    break-after: page;
  }

  /* Hide the result-actions buttons in PDF */
  .print-result-mode .result-actions {
    display: none !important;
  }

  /* Show the checklist sections after the results page */
  .print-result-mode .app-card {
    display: block !important;
  }

  .print-result-mode .app-topline {
    display: block !important;
    margin-bottom: 14px !important;
    padding: 12px 0 10px !important;
    border-bottom: 1px solid #ddd !important;
  }

  .print-result-mode .app-topline h2 {
    font-size: 1.1rem !important;
    margin: 0 0 3px !important;
  }

  .print-result-mode .app-topline p {
    font-size: .8rem !important;
    color: #666 !important;
    margin: 0 !important;
  }

}
