/* THE ELEVATION BOOK — Atlanta siding, drawn plain.
   Palette: clay #7A2418, pine #1F3D2B, cream #FBF6EC, charcoal #1E2420.
   All text pairings >= 7:1 (verified in audit). No gradients. */
:root{
  --cream:#FBF6EC; --cream2:#F0E6D3; --card:#FFFFFF;
  --ink:#1E2420; --ink2:#3D4A42; --clay:#7A2418; --pine:#1F3D2B;
  --line:#C9B99A; --line2:#8A7A5C;
  --s1:4px;--s2:8px;--s3:12px;--s4:16px;--s5:24px;--s6:32px;--s7:48px;--s8:64px;
  --wide:1180px; --measure:68ch;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--cream);color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;font-size:1.0625rem;line-height:1.7}
h1,h2,h3,.serif{font-family:Georgia,"Times New Roman",serif;font-weight:700;color:var(--ink)}
h1{font-size:clamp(2.2rem,1.5rem+3.2vw,3.4rem);line-height:1.1;margin:0 0 var(--s4)}
h2{font-size:clamp(1.5rem,1.25rem+1.1vw,1.95rem);line-height:1.25;margin:0 0 var(--s4)}
h3{font-size:1.2rem;line-height:1.35;margin:0 0 var(--s2)}
p{margin:0 0 var(--s4);max-width:var(--measure)}
a{color:var(--pine);text-decoration:underline;text-underline-offset:3px}
a:hover{color:var(--clay)}
.mono{font-family:ui-monospace,Menlo,Consolas,monospace;font-variant-numeric:tabular-nums}
.eyebrow{font-family:ui-monospace,Menlo,Consolas,monospace;font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;color:var(--clay);font-weight:700;display:flex;align-items:center;gap:var(--s3);margin:0 0 var(--s4)}
.eyebrow::after{content:"";flex:0 0 56px;height:2px;background:var(--clay)}
.lede{font-size:1.22rem;line-height:1.6;color:var(--ink2);max-width:62ch}
.small{font-size:.9rem;color:var(--ink2);line-height:1.55}
.wrap{max-width:var(--wide);margin:0 auto;padding:0 var(--s5)}
.section{padding:var(--s8) 0}
.section.tight{padding:var(--s7) 0}
.band{background:var(--cream2);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.band-pine{background:var(--pine);color:var(--cream)}
.band-pine h2,.band-pine h3{color:var(--cream)}
.band-pine p{color:#EDE4CC}
.band-pine .eyebrow{color:#F5E9C9}
.band-pine .eyebrow::after{background:#F5E9C9}
.band-pine a{color:#F5E9C9}
.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:var(--s7)}
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--s5)}
@media(max-width:900px){.grid-2,.grid-3{grid-template-columns:1fr}.section{padding:var(--s7) 0}}
.skip{position:absolute;left:-9999px;top:0;z-index:60;background:var(--ink);color:var(--cream);padding:12px 18px;font-weight:600}
.skip:focus{left:10px;top:10px}
:focus-visible{outline:3px solid var(--clay);outline-offset:2px}
/* masthead — drawing-sheet title block */
.masthead{border-bottom:3px double var(--ink);background:var(--cream)}
.masthead-top{display:flex;justify-content:space-between;gap:var(--s4);flex-wrap:wrap;padding:var(--s3) 0;border-bottom:1px solid var(--line);font-family:ui-monospace,Menlo,Consolas,monospace;font-size:.74rem;letter-spacing:.1em;text-transform:uppercase;color:var(--ink2)}
.masthead-main{display:flex;align-items:center;gap:var(--s4);padding:var(--s5) 0 var(--s3);flex-wrap:wrap}
.mark{width:52px;height:52px;flex:0 0 auto}
.wordmark{font-family:Georgia,serif;font-weight:700;font-size:1.85rem;color:var(--ink);text-decoration:none;line-height:1.05}
.wordmark em{font-style:normal;color:var(--clay)}
.masthead-tag{font-family:Georgia,serif;font-style:italic;color:var(--ink2);font-size:.95rem}
nav.mainnav{display:flex;gap:var(--s2) var(--s5);flex-wrap:wrap;padding:var(--s2) 0 var(--s4)}
nav.mainnav a{color:var(--ink);text-decoration:none;font-weight:600;font-size:.97rem;min-height:48px;display:inline-flex;align-items:center;border-bottom:2px solid transparent}
nav.mainnav a:hover,nav.mainnav a[aria-current="page"]{color:var(--clay);border-bottom-color:var(--clay)}
/* plates & diagrams */
.plate{background:var(--card);border:1px solid var(--line2);padding:var(--s5);margin:0 0 var(--s6)}
.plate figcaption{font-family:ui-monospace,Menlo,Consolas,monospace;font-size:.74rem;letter-spacing:.08em;text-transform:uppercase;color:var(--ink2);margin-top:var(--s3);display:flex;justify-content:space-between;gap:var(--s4);flex-wrap:wrap}
figure{margin:0}
svg text{font-family:ui-monospace,Menlo,Consolas,monospace}
.titleblock{border:2px solid var(--ink);display:grid;grid-template-columns:repeat(4,1fr);font-family:ui-monospace,Menlo,Consolas,monospace;font-size:.72rem;letter-spacing:.06em;text-transform:uppercase;margin:var(--s5) 0}
.titleblock div{padding:10px 12px;border-left:1px solid var(--ink)}
.titleblock div:first-child{border-left:none}
.titleblock b{display:block;font-size:.95rem;letter-spacing:0;text-transform:none;font-family:Georgia,serif}
@media(max-width:700px){.titleblock{grid-template-columns:1fr 1fr}.titleblock div{border-top:1px solid var(--ink)}}
/* sample board */
.swatch{display:grid;grid-template-columns:220px 1fr auto;gap:var(--s5);padding:var(--s5) 0;border-bottom:1px solid var(--line);align-items:start}
.swatch .course{height:64px;border:1px solid var(--ink2)}
@media(max-width:700px){.swatch{grid-template-columns:1fr}}
/* ledger tables */
.table-scroll{overflow-x:auto;border:1px solid var(--line2);background:var(--card)}
table.ledger{border-collapse:collapse;width:100%;min-width:680px;font-size:.97rem}
table.ledger th{font-family:ui-monospace,Menlo,Consolas,monospace;font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;text-align:left;padding:12px 14px;border-bottom:2px solid var(--ink);background:var(--cream)}
table.ledger td{padding:12px 14px;border-bottom:1px solid var(--line);vertical-align:top}
table.data{border-collapse:collapse;width:100%;font-size:.98rem;margin:0 0 var(--s5)}
table.data th,table.data td{padding:10px 14px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}
table.data th{font-family:ui-monospace,Menlo,Consolas,monospace;font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;border-bottom:2px solid var(--ink)}
.num{text-align:right;font-variant-numeric:tabular-nums}
/* tools */
.tool{border:2px solid var(--ink);background:var(--card);padding:var(--s6);margin:0 0 var(--s7)}
.tool-head{border-bottom:2px solid var(--ink);padding-bottom:var(--s4);margin-bottom:var(--s5)}
fieldset.q{border:1px solid var(--line2);padding:var(--s4) var(--s5) var(--s5);margin:0 0 var(--s5)}
fieldset.q legend{font-family:Georgia,serif;font-weight:700;font-size:1.05rem;padding:0 var(--s2)}
label.choice{display:flex;gap:var(--s3);align-items:flex-start;border:1px solid var(--line);padding:12px 14px;margin-top:var(--s2);cursor:pointer;min-height:48px;background:var(--cream)}
label.choice input{width:20px;height:20px;margin-top:3px;accent-color:var(--pine);flex:0 0 auto}
label.choice small{display:block;color:var(--ink2)}
select.tool-select,input.tool-input{font:inherit;min-height:48px;padding:10px 14px;border:2px solid var(--ink);background:var(--card);width:100%}
.checkline{display:flex;gap:var(--s3);align-items:center;min-height:48px;cursor:pointer;font-weight:600}
.checkline input{width:22px;height:22px;accent-color:var(--pine)}
.tool-result{border:2px solid var(--pine);background:#EFF3EA;padding:var(--s5) var(--s6);margin-top:var(--s5)}
.tool-result h3{margin-top:0}
.btn{display:inline-flex;align-items:center;min-height:48px;padding:10px 22px;background:var(--pine);color:var(--cream);text-decoration:none;font-weight:650;border:2px solid var(--pine);cursor:pointer;font:inherit;font-size:1rem}
.btn:hover{background:var(--clay);border-color:var(--clay);color:#fff}
.btn.ghost{background:transparent;color:var(--ink);border-color:var(--ink)}
.btn.ghost:hover{color:var(--clay);border-color:var(--clay);background:transparent}
.btn-row{display:flex;gap:var(--s4);flex-wrap:wrap;margin:var(--s5) 0}
.callout{background:var(--cream2);border:1px solid var(--line2);border-left:5px solid var(--clay);padding:var(--s5) var(--s6);margin:0 0 var(--s6)}
.callout h3{margin-top:0}
.disclosure{border:1px dashed var(--line2);padding:var(--s4) var(--s5);font-size:.92rem;color:var(--ink2);background:var(--card);margin:0 0 var(--s6)}
.disclosure strong{font-family:ui-monospace,Menlo,Consolas,monospace;font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;color:var(--clay);display:block;margin-bottom:4px}
.register{border-top:2px solid var(--ink)}
.register-item{display:grid;grid-template-columns:64px 1fr auto;gap:var(--s5);padding:var(--s5) 0;border-bottom:1px solid var(--line);align-items:baseline}
.register-item .no{font-family:ui-monospace,Menlo,Consolas,monospace;color:var(--clay);font-weight:700}
.register-item h3 a{color:var(--ink);text-decoration:none}
.register-item h3 a:hover{color:var(--clay);text-decoration:underline}
.register-item .kind{font-family:ui-monospace,Menlo,Consolas,monospace;font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;color:var(--ink2);white-space:nowrap}
@media(max-width:640px){.register-item{grid-template-columns:44px 1fr}.register-item .kind{display:none}}
.steps{counter-reset:step;list-style:none;padding:0;margin:0}
.steps li{counter-increment:step;padding:0 0 var(--s5) 64px;position:relative}
.steps li::before{content:counter(step,decimal-leading-zero);position:absolute;left:0;top:2px;font-family:ui-monospace,Menlo,Consolas,monospace;font-weight:700;color:var(--clay)}
.checklist{list-style:none;padding:0;margin:0 0 var(--s5)}
.checklist li{padding:var(--s2) 0 var(--s2) 34px;position:relative;border-bottom:1px solid var(--line)}
.checklist li::before{content:"";position:absolute;left:2px;top:14px;width:16px;height:16px;border:2px solid var(--pine)}
textarea.copybox{width:100%;min-height:180px;font:inherit;font-size:.95rem;padding:14px;border:2px solid var(--ink);background:var(--cream)}
footer.site{border-top:3px double var(--ink);margin-top:var(--s8);padding:var(--s7) 0 var(--s6)}
footer.site .cols{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:var(--s7)}
@media(max-width:760px){footer.site .cols{grid-template-columns:1fr}}
footer.site h2.foot-h{font-family:ui-monospace,Menlo,Consolas,monospace;font-size:.74rem;letter-spacing:.12em;text-transform:uppercase;color:var(--ink2);margin:0 0 var(--s3)}
footer.site ul{list-style:none;padding:0;margin:0}
footer.site li a{display:block;padding:6px 0;min-height:32px}
footer.site a{color:var(--ink2);text-decoration:none}
footer.site a:hover{color:var(--clay);text-decoration:underline}
.colophon{border-top:1px solid var(--line);margin-top:var(--s6);padding-top:var(--s4);font-size:.85rem;color:var(--ink2);display:flex;justify-content:space-between;gap:var(--s4);flex-wrap:wrap}
.reveal{opacity:0;transform:translateY(12px);transition:opacity .55s ease-out,transform .55s ease-out}
.reveal.in{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}}
@media(scripting:none){.reveal{opacity:1;transform:none}}
@media print{
  nav.mainnav,.masthead-top,.btn,.tool button{display:none !important}
  body{background:#fff;font-size:11pt;line-height:1.55}
  .tool,.plate,.callout{break-inside:avoid}
  .reveal{opacity:1 !important;transform:none !important}
  a{color:var(--ink);text-decoration:none}
  @page{margin:18mm 16mm}
}

.register-item h2,.swatch h2{font-size:1.2rem;line-height:1.35;margin:0 0 var(--s2)}
.steps h2{font-size:1.2rem;margin:0 0 4px}
