/* ═══════════════════════════════════════════════════════════════════════════
   VELLAMORE PRINT / SAVE SHELL · shared infrastructure, not a one-off
   One shell for every homeowner sheet. Wave 1 uses it for the twenty-five
   requirements, the five questions, the Kiawah year one-sheet and the
   empty-house-check result. Wave 2/3 assets (storm sheet, house record,
   absence planner, carrier questions, provider evaluation, annual summary)
   should use the same classes rather than inventing a second pattern.

   STRUCTURE
     .sh-doc        the sheet itself — screen card, paper page in print
       .sh-hd       print header · brand · title · descriptor · date
       .sh-body     content
       .sh-w        write-in area (ruled lines, or a box)
       .sh-src      source / methodology note
       .sh-ft       footer · website · island · disclaimer
     .sh-actions    print/save control row — never printed
   ══════════════════════════════════════════════════════════════════════════ */

.sh-doc{background:var(--white);border:1px solid var(--rule-sand);max-width:860px;margin:0 auto;padding:clamp(22px,3.2vw,44px)}
.sh-hd{display:grid;gap:10px;padding-bottom:clamp(14px,1.8vw,20px);border-bottom:1.6px solid var(--rule-sand);margin-bottom:clamp(18px,2.4vw,28px)}
.sh-hd img{height:20px;width:auto;display:block}
.sh-hd h1{font-family:var(--font-display);font-weight:400;font-size:clamp(25px,3.4vw,36px);line-height:1.1;color:var(--ink);margin:6px 0 0;max-width:28ch}
.sh-hd .sh-desc{font-family:var(--font-body);font-size:14.5px;line-height:1.65;color:var(--ink-muted);margin:0;max-width:66ch}
.sh-hd .sh-meta{display:flex;flex-wrap:wrap;gap:6px 18px;font-family:var(--font-mono);font-size:10.5px;letter-spacing:.11em;text-transform:uppercase;color:var(--accent);margin:0}
.sh-hd .sh-meta span{white-space:nowrap}

.sh-body p{font-family:var(--font-body);font-size:14.5px;line-height:1.7;color:var(--ink);margin:11px 0;max-width:68ch}
.sh-body h2{font-family:var(--font-sans);font-stretch:expanded;font-weight:400;font-size:clamp(17px,2vw,20px);line-height:1.25;color:var(--ink);margin:clamp(24px,3vw,34px) 0 8px;padding-top:14px;border-top:1px solid var(--rule-sand)}
.sh-body h3{font-family:var(--font-sans);font-stretch:expanded;font-weight:400;font-size:16px;line-height:1.3;color:var(--ink);margin:20px 0 4px}

/* write-in: ruled lines a homeowner can answer on, in ink */
.sh-w{margin:10px 0 0;border-top:1px solid var(--rule-sand-50)}
.sh-w i{display:block;height:26px;border-bottom:1px solid var(--rule-sand-50)}
.sh-w--box{border:1px solid var(--rule-sand);height:84px;margin:10px 0 0}
.sh-w__lbl{font-family:var(--font-mono);font-size:10px;letter-spacing:.11em;text-transform:uppercase;color:var(--ink-muted);display:block;margin:14px 0 2px}

/* tri-state evaluation boxes — carryable into another firm's meeting */
.sh-eval{display:flex;gap:14px;flex-wrap:wrap;margin:8px 0 0}
.sh-eval span{display:inline-flex;align-items:center;gap:6px;font-family:var(--font-mono);font-size:10px;letter-spacing:.09em;text-transform:uppercase;color:var(--ink-muted)}
.sh-eval span::before{content:"";width:13px;height:13px;border:1px solid var(--border-field);flex:none}

.sh-src{margin-top:clamp(20px,2.6vw,30px);padding-top:14px;border-top:1px solid var(--rule-sand)}
.sh-src p{font-family:var(--font-body);font-size:12.5px;line-height:1.65;color:var(--ink-muted);margin:0 0 8px;max-width:72ch}
.sh-src .sh-prov{font-family:var(--font-mono);font-size:10.5px;letter-spacing:.06em;color:var(--slate-blue-700)}

.sh-ft{margin-top:clamp(18px,2.2vw,26px);padding-top:12px;border-top:1.6px solid var(--rule-sand);display:flex;flex-wrap:wrap;gap:4px 18px;align-items:baseline}
.sh-ft p{font-family:var(--font-mono);font-size:10.5px;letter-spacing:.09em;text-transform:uppercase;color:var(--ink-muted);margin:0}

/* the control. One label across the whole site: "Print or save". Never printed. */
.sh-actions{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin:clamp(18px,2.2vw,26px) 0 0}
.sh-actions .sh-hint{font-family:var(--font-body);font-size:13px;line-height:1.6;color:var(--ink-muted);margin:0;max-width:44ch}
button.sh-btn{font-family:var(--font-sans);font-stretch:expanded;font-weight:400;font-size:15px;letter-spacing:.01em;color:var(--white);background:var(--umber-action);border:1px solid var(--umber-action);padding:13px 24px;border-radius:var(--radius-pill);cursor:pointer;line-height:1.25}
button.sh-btn:hover{background:var(--umber-action-hover);border-color:var(--umber-action-hover)}
button.sh-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
button.sh-btn[data-quiet]{color:var(--umber-action);background:none}
button.sh-btn[data-quiet]:hover{background:var(--wash-accent-07);color:var(--umber-action-hover)}

@media print{
  @page{size:letter portrait;margin:.62in}
  html,body{background:#fff!important}
  .vm7-hdr,.vm7-ftr,.vm7-callbar,.vm7-noprint,.sh-actions,#site-header,#site-footer,[data-review-temp]{display:none!important}
  .sh-doc{border:none;max-width:none;margin:0;padding:0}
  .sh-hd{break-after:avoid}
  .sh-hd h1{font-size:22pt}
  .sh-body p,.sh-body li{font-size:10.5pt;line-height:1.55;color:#000}
  .sh-body h2{font-size:13pt;break-after:avoid}
  .sh-body h3{font-size:11.5pt;break-after:avoid}
  .sh-row,.sh-body li,.sh-q,table,tr,.sh-w{break-inside:avoid}
  .sh-src p,.sh-ft p{font-size:8.5pt}
  a{text-decoration:none;color:#000}
}
