/* Layout: single 72rem column, answer-first sections, depth-ruler motif from the attic itself */
:root{
  --ink:#16243a; --ink-2:#3c4a60; --muted:#5d6878;
  --paper:#f7f8f6; --surface:#ffffff; --line:#dfe3dd;
  --amber:#c56a10; --amber-soft:#fbeedd; --sage:#2e7457; --sage-soft:#e4f1ea;
  --fiber:#e9dcc4; --fiber-2:#d8c39d; --wood:#b98a55;
  --on-ink:#ffffff;
  --display:"Archivo","Arial Narrow",system-ui,sans-serif;
  --body:"Public Sans",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  --step--1:.875rem; --step-0:1.0625rem; --step-1:1.25rem; --step-2:1.6rem; --step-3:2.15rem; --step-4:clamp(2.2rem,5.2vw,3.5rem);
  --radius:10px;
  color-scheme:light;
}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){
  --ink:#e9edf3; --ink-2:#c3cbd8; --muted:#9aa5b5;
  --paper:#10161f; --surface:#17202c; --line:#2a3546;
  --amber:#f0a046; --amber-soft:#3a2a17; --sage:#6cc49b; --sage-soft:#173025;
  --fiber:#4a4232; --fiber-2:#6b5c40; --wood:#8a6a44; --on-ink:#10161f;
  color-scheme:dark}}
:root[data-theme="dark"]{
  --ink:#e9edf3; --ink-2:#c3cbd8; --muted:#9aa5b5;
  --paper:#10161f; --surface:#17202c; --line:#2a3546;
  --amber:#f0a046; --amber-soft:#3a2a17; --sage:#6cc49b; --sage-soft:#173025;
  --fiber:#4a4232; --fiber-2:#6b5c40; --wood:#8a6a44; --on-ink:#10161f;
  color-scheme:dark}

*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--paper);color:var(--ink);font:400 var(--step-0)/1.65 var(--body)}
img,svg{max-width:100%;height:auto}
a{color:var(--amber);text-underline-offset:3px}
a:hover{text-decoration-thickness:2px}
:focus-visible{outline:3px solid var(--amber);outline-offset:2px;border-radius:4px}
h1,h2,h3{font-family:var(--display);line-height:1.12;text-wrap:balance;letter-spacing:-.01em;margin:0}
h1{font-size:var(--step-4);font-weight:800}
h2{font-size:var(--step-3);font-weight:800}
h3{font-size:var(--step-1);font-weight:700}
p{margin:0}
.wrap{max-width:72rem;margin-inline:auto;padding-inline:max(16px,4vw)}
.prose{max-width:44rem}
.prose>*+*{margin-top:1rem}
.prose h2{margin-top:2.6rem}
.prose h3{margin-top:1.8rem}
.prose ul,.prose ol{padding-left:1.25rem}
.prose li+li{margin-top:.35rem}
.eyebrow{font:700 var(--step--1)/1 var(--display);letter-spacing:.14em;text-transform:uppercase;color:var(--amber)}
.lede{font-size:var(--step-1);color:var(--ink-2);max-width:40rem}
.muted{color:var(--muted)}
.small{font-size:var(--step--1)}
.skip{position:absolute;left:-999px}.skip:focus{left:16px;top:16px;background:var(--surface);padding:.5rem 1rem;z-index:10}

/* header */
.site-head{background:var(--surface);border-bottom:1px solid var(--line);position:sticky;top:env(safe-area-inset-top,0px);z-index:5}
.head-row{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding-block:.7rem}
.brand{display:flex;align-items:center;gap:.6rem;text-decoration:none;color:var(--ink);font:800 1.1rem/1.1 var(--display)}
.brand small{display:block;font:500 .72rem/1.2 var(--body);color:var(--muted);letter-spacing:.02em}
.nav{display:flex;align-items:center;gap:1.1rem;flex-wrap:wrap}
.nav a{color:var(--ink);text-decoration:none;font-weight:600;font-size:.95rem}
.nav a:hover,.nav a[aria-current="page"]{color:var(--amber)}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;background:var(--amber);color:var(--on-ink);border:0;border-radius:999px;padding:.75rem 1.3rem;font:700 1rem/1 var(--body);text-decoration:none;cursor:pointer}
.btn:hover{filter:brightness(1.08)}
.btn.ghost{background:transparent;color:var(--ink);box-shadow:inset 0 0 0 2px var(--line)}
.nav .btn{color:var(--on-ink)}
.prose .estimator h3,.estimator h3{margin-top:0}
.head-row{position:relative}
.menu-btn{display:none;align-items:center;gap:.55rem;cursor:pointer;font:700 .95rem/1 var(--body);color:var(--ink);background:var(--surface);padding:.6rem 1rem;border:2px solid var(--line);border-radius:999px}
.menu-btn .bars,.menu-btn .bars::before,.menu-btn .bars::after{display:block;width:18px;height:2px;background:currentColor;border-radius:2px;transition:transform .2s,background .2s}
.menu-btn .bars{position:relative}
.menu-btn .bars::before,.menu-btn .bars::after{content:"";position:absolute;left:0}
.menu-btn .bars::before{top:-6px}.menu-btn .bars::after{top:6px}
.menu-btn[aria-expanded="true"] .bars{background:transparent}
.menu-btn[aria-expanded="true"] .bars::before{transform:translateY(6px) rotate(45deg)}
.menu-btn[aria-expanded="true"] .bars::after{transform:translateY(-6px) rotate(-45deg)}
@media (max-width:860px){
  .menu-btn{display:inline-flex}
  .nav{display:none}
  .nav.open{display:flex;flex-direction:column;align-items:flex-start;position:absolute;left:0;right:0;top:100%;background:var(--surface);padding:1rem max(16px,4vw) 1.4rem;border-bottom:1px solid var(--line);gap:.8rem;box-shadow:0 12px 24px rgb(0 0 0 / .08)}
}

/* hero */
.hero{padding-block:3rem 3.5rem}
.hero-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:3rem;align-items:center}
.hero-grid>*{min-width:0}
.hero h1{margin-top:.8rem}
.hero .lede{margin-top:1.1rem}
.cta-row{display:flex;flex-wrap:wrap;gap:.8rem;margin-top:1.6rem}
.chips{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1.4rem;padding:0;list-style:none}
.chips li{background:var(--sage-soft);color:var(--sage);font-weight:700;font-size:.85rem;padding:.35rem .75rem;border-radius:999px}
.answer{border-left:4px solid var(--sage);background:var(--surface);padding:1rem 1.2rem;border-radius:0 var(--radius) var(--radius) 0;margin-top:1.4rem}
.answer strong:first-child{display:block;font-family:var(--display);font-size:.8rem;letter-spacing:.12em;text-transform:uppercase;color:var(--sage);margin-bottom:.3rem}
@media (max-width:860px){.hero-grid{grid-template-columns:1fr;gap:2rem}}

/* attic diagram */
.attic svg{display:block;width:100%}
.attic figcaption{font-size:var(--step--1);color:var(--muted);margin-top:.6rem}
.attic .roof{fill:var(--wood)}
.attic .joist{fill:var(--wood)}
.attic .old{fill:var(--fiber-2)}
.attic .new{fill:var(--fiber)}
.attic .baffle{fill:none;stroke:var(--sage);stroke-width:4}
.attic .ruler{fill:var(--surface);stroke:var(--ink);stroke-width:1.5}
.attic .tick{stroke:var(--ink);stroke-width:1.5}
.attic text{fill:var(--ink);font:600 11px var(--body)}
.attic .lbl{fill:var(--ink-2);font:600 12px var(--body)}
.attic .air{fill:none;stroke:var(--amber);stroke-width:2.5;stroke-dasharray:5 5}

/* sections */
section.band{padding-block:3.5rem;border-top:1px solid var(--line)}
section.band.alt{background:var(--surface)}
.section-head{display:grid;gap:.6rem;margin-bottom:2rem;max-width:46rem}
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem}
.grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:1.5rem}
.grid-3>*,.grid-2>*{min-width:0}
@media (max-width:860px){.grid-3,.grid-2{grid-template-columns:1fr}}
.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:1.4rem;display:grid;gap:.6rem;align-content:start}
.alt .card{background:var(--paper)}
.card a.more{font-weight:700}
.checks{list-style:none;padding:0;display:grid;gap:.5rem}
.checks li{padding-left:1.7rem;position:relative}
.checks li::before{content:"";position:absolute;left:0;top:.45em;width:1rem;height:.55rem;border-left:3px solid var(--sage);border-bottom:3px solid var(--sage);transform:rotate(-45deg)}
.steps{list-style:none;padding:0;display:grid;gap:1.1rem;counter-reset:s}
.steps li{display:grid;grid-template-columns:2.6rem 1fr;gap:1rem;counter-increment:s}
.steps li::before{content:counter(s);display:grid;place-items:center;width:2.4rem;height:2.4rem;border-radius:50%;background:var(--amber);color:#fff;font:800 1.05rem var(--display)}
.steps li>div{min-width:0}

/* tables */
.table-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface)}
table{border-collapse:collapse;width:100%;font-size:.97rem;font-variant-numeric:tabular-nums}
th,td{text-align:left;padding:.75rem 1rem;border-bottom:1px solid var(--line);vertical-align:top}
thead th{background:var(--ink);color:var(--on-ink);font-family:var(--display);font-weight:700}
td.num,th.num{text-align:right;white-space:nowrap}
tfoot td{font-weight:800;background:var(--amber-soft)}
tbody tr:last-child td{border-bottom:0}

/* estimator */
.estimator{background:var(--surface);border:2px solid var(--ink);border-radius:14px;padding:1.5rem;display:grid;gap:1.1rem}
.estimator .row{display:grid;gap:.4rem}
.estimator label{font-weight:700}
.estimator input[type=number],.estimator select{font:inherit;padding:.65rem .8rem;border:2px solid var(--line);border-radius:8px;background:var(--paper);color:var(--ink);width:100%}
.estimator .opts{display:grid;gap:.45rem}
.estimator .opts label{font-weight:500;display:flex;gap:.55rem;align-items:flex-start}
.est-out{background:var(--ink);color:var(--on-ink);border-radius:10px;padding:1.1rem 1.2rem;display:grid;gap:.25rem}
.est-out .big{font:800 2rem/1.1 var(--display);font-variant-numeric:tabular-nums}
.est-out .small{opacity:.85}
.est-lines{font-size:.92rem;font-variant-numeric:tabular-nums;display:grid;gap:.2rem;margin-top:.4rem}
.est-lines div{display:flex;justify-content:space-between;gap:1rem}

/* faq */
.faq{display:grid;gap:.7rem}
.faq details{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:1rem 1.2rem}
.faq summary{cursor:pointer;font-weight:700;font-family:var(--display);font-size:1.08rem}
.faq details>div{margin-top:.7rem;color:var(--ink-2)}
.faq details>div>*+*{margin-top:.6rem}

/* callouts */
.note{background:var(--amber-soft);border-radius:var(--radius);padding:1.1rem 1.25rem}
.note strong:first-child{color:var(--amber)}
.cta-band{background:var(--ink);color:var(--on-ink);border-radius:16px;padding:2.2rem;display:grid;grid-template-columns:1fr auto;gap:1.5rem;align-items:center}
.cta-band>*{min-width:0}
.cta-band p{opacity:.9;margin-top:.5rem}
.cta-band .btn{background:var(--amber)}
@media (max-width:700px){.cta-band{grid-template-columns:1fr;padding:1.6rem}}
.crumbs{font-size:var(--step--1);color:var(--muted);padding-top:1.4rem}
.crumbs ol{list-style:none;display:flex;flex-wrap:wrap;gap:.4rem;padding:0;margin:0}
.crumbs li+li::before{content:"/";margin-right:.4rem;color:var(--line)}
.crumbs a{color:var(--muted)}
.page-head{padding-block:1.6rem 2.4rem}
.page-head h1{margin-top:.6rem}
.page-head .lede{margin-top:1rem}
.meta{font-size:var(--step--1);color:var(--muted);margin-top:1rem}
.layout{display:grid;grid-template-columns:minmax(0,1fr) 20rem;gap:3rem;padding-bottom:3.5rem;align-items:start}
.layout aside{position:sticky;top:5.5rem;display:grid;gap:1rem}
@media (max-width:960px){.layout{grid-template-columns:1fr}.layout aside{position:static}}
.areas{columns:3 12rem;padding:0;list-style:none}
.areas li{break-inside:avoid;padding:.2rem 0}

/* form */
form.book{display:grid;gap:1rem;background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:1.5rem}
form.book .two{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
form.book .two>*{min-width:0}
@media (max-width:600px){form.book .two{grid-template-columns:1fr}}
form.book label{display:grid;gap:.35rem;font-weight:700}
form.book input,form.book select,form.book textarea{font:inherit;font-weight:400;padding:.7rem .8rem;border:2px solid var(--line);border-radius:8px;background:var(--paper);color:var(--ink);width:100%}
.form-msg{padding:.9rem 1rem;border-radius:8px;background:var(--sage-soft);color:var(--sage);font-weight:700}
.hp{position:absolute;left:-5000px}

/* footer */
.site-foot{background:var(--ink);color:var(--on-ink);padding-block:3rem 6rem;margin-top:0}
.site-foot a{color:inherit}
.foot-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:2rem}
.foot-grid>*{min-width:0}
.foot-grid h2{font-size:1rem;letter-spacing:.1em;text-transform:uppercase;margin-bottom:.8rem}
.foot-grid ul{list-style:none;padding:0;margin:0;display:grid;gap:.35rem}
.site-foot .fine{opacity:.75;font-size:.85rem;margin-top:2rem;border-top:1px solid color-mix(in srgb,var(--on-ink) 25%,transparent);padding-top:1.2rem}
@media (max-width:760px){.foot-grid{grid-template-columns:1fr}}
.callbar{position:fixed;left:0;right:0;bottom:0;display:none;gap:.6rem;padding:.6rem 16px calc(.6rem + env(safe-area-inset-bottom,0px));background:var(--surface);border-top:1px solid var(--line);z-index:6}
.callbar a{flex:1}
@media (max-width:760px){.callbar{display:flex}}
@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
.attic img{display:block;width:100%;border-radius:10px;border:1px solid var(--line)}
.estimator .two-col{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.estimator .two-col>*{min-width:0}.estimator input[type=text],.estimator input:not([type]),.estimator input[type=tel],.estimator input[type=email]{font:inherit;padding:.65rem .8rem;border:2px solid var(--line);border-radius:8px;background:var(--paper);color:var(--ink);width:100%}@media (max-width:600px){.estimator .two-col{grid-template-columns:1fr}}
[hidden]{display:none!important}
.dd{position:relative}
.dd summary{list-style:none;cursor:pointer;font-weight:600;font-size:.95rem;color:var(--ink)}
.dd summary::-webkit-details-marker{display:none}
.dd summary::after{content:" ▾";font-size:.75em}
.dd-panel{display:grid;gap:.2rem}
.dd-panel a{padding:.35rem 0}
@media (min-width:861px){
  .dd-panel{position:absolute;top:calc(100% + .7rem);left:-1rem;background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:.6rem 1rem;min-width:13rem;box-shadow:0 10px 30px rgb(0 0 0 / .12)}
}
@media (max-width:860px){.dd-panel{padding:.4rem 0 0 1rem}}
.hero-photo{margin:0}.hero-photo img{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;border-radius:14px;box-shadow:0 18px 40px rgb(22 36 58 / .18)}.hero-photo figcaption{font-size:var(--step--1);color:var(--muted);margin-top:.6rem}
