/* The Final File — shared guide/print styles. US Letter, brand-matched, fillable-friendly.
   Screen shows a dark "deck" of pages; print/PDF outputs clean white Letter sheets. */
@page { size: Letter; margin: 0; }
:root{
  --paper:#F6F5F2; --ink:#23272A; --ink-soft:#5C6166;
  --sage:#7E8C6A; --sage-deep:#4A5340; --putty:#C9BBA8; --tint:#EBEEE4;
  --line:#D7D4CC; --field:#B7B3A9; --warn:#B8893A; --warn-fill:#F6ECD6; --threat:#B25640;
  --serif:"Fraunces",Georgia,serif; --sans:"Hanken Grotesk",system-ui,sans-serif; --mono:"Spline Sans Mono",ui-monospace,monospace;
}
*{box-sizing:border-box}
body{margin:0;background:#34362f;font-family:var(--sans);color:var(--ink);line-height:1.5;-webkit-font-smoothing:antialiased}
.deck{display:flex;flex-direction:column;align-items:center;gap:26px;padding:34px 14px 70px}
.bar{position:sticky;top:0;z-index:40;background:#23251f;color:#E9E7DE;display:flex;gap:16px;align-items:center;
  padding:11px 22px;font:500 13px/1 var(--mono);letter-spacing:.03em}
.bar b{font-family:var(--serif);font-weight:500;font-size:15px;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.bar .back{color:#E9E7DE;text-decoration:none;font-family:var(--serif);font-size:14px;font-weight:500;white-space:nowrap;flex:none}
.bar .back:hover{text-decoration:underline}
.bar .muted{margin-left:auto;color:#9a9c8f;white-space:nowrap}
.bar .bbuy{margin-left:auto;flex:none;background:var(--sage);color:#fff;font-weight:700;font-family:var(--sans);font-size:13px;letter-spacing:.02em;
  padding:8px 16px;border-radius:8px;text-decoration:none;white-space:nowrap}
.bar .bbuy:hover,.bar .bbuy:focus-visible{background:#8C9C74}
@media(max-width:600px){.bar{gap:12px;padding:10px 14px}.bar .muted{display:none}.bar .bbuy{padding:8px 13px;font-size:12px}}

.page{position:relative;width:8.5in;min-height:11in;background:var(--paper);overflow:hidden;
  padding:0.82in 0.85in 0.7in;box-shadow:0 20px 44px -18px rgba(0,0,0,.55)}
.page::after{content:"";position:absolute;left:0;top:0;bottom:0;width:0.055in;background:var(--sage)}

.rhead{display:flex;justify-content:space-between;align-items:baseline;border-bottom:1px solid var(--line);padding-bottom:9px;margin-bottom:26px}
.rhead .sec{font:600 10.5px/1 var(--sans);letter-spacing:.18em;text-transform:uppercase;color:var(--sage-deep)}
.rhead .idx{font:500 10.5px/1 var(--mono);color:var(--ink-soft)}
.foot{position:absolute;left:0.85in;right:0.85in;bottom:0.42in;display:flex;justify-content:space-between;
  font:400 9.5px/1 var(--mono);color:#9a988f;letter-spacing:.03em}

h1,h2,h3{margin:0;font-family:var(--serif);font-weight:400}
.eyebrow{font:600 10.5px/1 var(--sans);letter-spacing:.2em;text-transform:uppercase;color:var(--sage-deep)}
.lead{font-size:15px;color:var(--ink-soft);max-width:58ch}
h2.title{font-size:33px;line-height:1.04;letter-spacing:-.01em;margin:6px 0 8px}
h3.sub{font-family:var(--sans);font-weight:700;font-size:15px;color:var(--ink);margin:22px 0 8px;
  padding-bottom:6px;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:9px}
p{font-size:13.5px;color:var(--ink);margin:0 0 11px}
.muted-p{color:var(--ink-soft)}

/* cover */
.cover{display:flex;flex-direction:column;justify-content:space-between;background:linear-gradient(168deg,#F7F6F3,#EEEEE7)}
.cover::after{width:0.08in;background:linear-gradient(var(--sage),var(--sage-deep))}
.cover .kicker{font:600 11px/1 var(--sans);letter-spacing:.2em;text-transform:uppercase;color:var(--sage-deep)}
.cover h1{font-size:62px;line-height:.96;letter-spacing:-.02em;font-weight:380;margin:18px 0 0}
.cover h1 em{font-style:italic;color:var(--sage-deep)}
.cover .tag{font-size:17px;color:var(--ink-soft);max-width:38ch;margin-top:20px;font-weight:300}
.cover .meta{font:400 11px/1.6 var(--mono);color:#9a988f}
.cover .rule{border:none;border-top:1px solid var(--line);margin:22px 0}
.sprig{display:block}

/* numbered steps */
.steps{counter-reset:s;margin-top:6px}
.step{display:grid;grid-template-columns:0.42in 1fr;gap:16px;padding:13px 0;border-bottom:1px solid var(--line)}
.step::before{counter-increment:s;content:counter(s,decimal-leading-zero);font:300 22px/1 var(--serif);color:var(--sage)}
.step h4{margin:0 0 3px;font:600 14px/1.25 var(--sans)}
.step p{margin:0;font-size:12.5px;color:var(--ink-soft)}

/* checklists */
.ck-list{margin:6px 0;display:grid;gap:8px}
.ck{display:flex;gap:10px;align-items:flex-start;font-size:13px;color:var(--ink)}
.ck .sq{width:14px;height:14px;border:1.6px solid var(--sage);border-radius:3px;flex:none;margin-top:1px}
.ck b{font-weight:700}
.two{display:grid;grid-template-columns:1fr 1fr;gap:8px 26px}

/* fill-in fields */
.grp{margin:16px 0}
.gh{font:600 10.5px/1 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--sage-deep);margin:0 0 11px;display:flex;align-items:center;gap:10px}
.gh::after{content:"";flex:1;height:1px;background:var(--line)}
.row{display:grid;gap:11px 22px;margin-bottom:11px}
.row.c2{grid-template-columns:1fr 1fr}.row.c3{grid-template-columns:1fr 1fr 1fr}
.f{display:flex;flex-direction:column;gap:6px}
.f label{font:500 9.5px/1.2 var(--sans);letter-spacing:.04em;color:var(--ink-soft);text-transform:uppercase}
.f .ln{height:0.28in;border-bottom:1.4px solid var(--field)}
.f .ln.eg{display:flex;align-items:flex-end;padding-bottom:2px}
.f .ln.eg i{display:none}
.lined{background:repeating-linear-gradient(transparent,transparent 0.3in,var(--line) 0.3in,var(--line) calc(0.3in + 1px))}

/* callouts */
.callout{display:flex;gap:13px;background:var(--tint);border:1px solid #d3d9c5;border-radius:9px;padding:13px 16px;margin:14px 0}
.callout .key{font:600 9.5px/1 var(--sans);letter-spacing:.13em;color:var(--sage-deep);text-transform:uppercase;
  border:1px solid var(--sage);border-radius:5px;padding:5px 7px;height:max-content;white-space:nowrap}
.callout p{margin:0;font-size:12.5px;color:var(--sage-deep)}
.callout.warn{background:var(--warn-fill);border-color:#e7d4a8}
.callout.warn .key{color:var(--warn);border-color:var(--warn)}
.callout.warn p{color:#7a5a18}

/* cost table */
table{width:100%;border-collapse:collapse;font-size:12.5px;margin:10px 0 6px}
th,td{text-align:left;padding:8px 10px;border-bottom:1px solid var(--line)}
thead th{background:var(--sage-deep);color:#fff;font:600 11px/1 var(--sans);letter-spacing:.02em}
td.r{text-align:right;font-family:var(--mono);white-space:nowrap}
tbody tr:nth-child(even){background:#FBFBF8}

/* pull list */
ul.plain{margin:6px 0 12px;padding:0;list-style:none}
ul.plain li{font-size:13px;padding:6px 0 6px 18px;position:relative;color:var(--ink)}
ul.plain li::before{content:"";position:absolute;left:0;top:11px;width:7px;height:7px;border:1.5px solid var(--sage);border-radius:2px}

@media print{
  body{background:#fff}
  .bar{display:none}
  .deck{display:block;gap:0;padding:0}
  .page{box-shadow:none;margin:0;page-break-after:always;break-after:page}
  .page:last-child{page-break-after:auto}
}
@media(max-width:880px){ .page{width:100%;min-height:0;padding:42px 30px} .row.c2,.row.c3,.two{grid-template-columns:1fr} }
