:root{
  --ink:#171717;--paper:#f4efe5;--panel:#fffaf0;--timber:#ad6a31;--blue:#315a72;--saw:#b7c82f;--line:#2a2721;--muted:#6c6255;--white:#fffdf7;
  --measure:clamp(16px,2.2vw,28px);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.55 Inter,Segoe UI,system-ui,sans-serif;overflow-x:hidden}
a{color:inherit}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--saw);outline-offset:3px}
img,svg{max-width:100%;height:auto;display:block}.page{min-height:100vh;overflow:hidden}.measure-rail{display:grid;grid-template-columns:1.2fr repeat(4,auto);gap:1px;background:var(--line);border-bottom:2px solid var(--line)}
.measure-rail a,.measure-rail span{background:var(--panel);padding:14px clamp(12px,2vw,24px);text-decoration:none;font-weight:850;text-transform:uppercase;letter-spacing:.08em;font-size:13px;min-height:48px;display:flex;align-items:center;justify-content:center}.measure-rail span{justify-content:flex-start;color:var(--blue)}
.measure-rail a[aria-current="page"],.measure-rail a:hover{background:var(--ink);color:var(--panel)}
.mast{padding:clamp(28px,5vw,76px) clamp(16px,5vw,78px) 24px;border-bottom:2px solid var(--line);background:linear-gradient(90deg,rgba(49,90,114,.10) 1px,transparent 1px),linear-gradient(0deg,rgba(49,90,114,.08) 1px,transparent 1px),var(--paper);background-size:48px 48px}.mast h1{font-family:"Arial Narrow","Roboto Condensed",Impact,sans-serif;font-size:clamp(48px,13vw,176px);line-height:.78;letter-spacing:-.08em;margin:0;text-transform:uppercase}.mast .strap{display:flex;flex-wrap:wrap;gap:10px 18px;margin-top:22px;align-items:center}.tag{border:2px solid var(--line);background:var(--panel);padding:8px 12px;font-weight:800;text-transform:uppercase;letter-spacing:.05em;font-size:13px}.mast p{max-width:870px;font-size:clamp(18px,2.2vw,25px);margin:24px 0 0;color:#2d2a25}.phone-line{font-size:clamp(20px,4vw,42px);font-weight:900;text-decoration:none;border-bottom:5px solid var(--saw)}
.plan-stage{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(320px,.8fr);gap:0;border-bottom:2px solid var(--line);min-height:680px}.plan-board{padding:clamp(18px,3vw,42px);border-right:2px solid var(--line);background:var(--white)}.plan-title{display:flex;justify-content:space-between;gap:20px;border-bottom:2px solid var(--line);padding-bottom:16px;align-items:end}.plan-title h2,.section-title{font-family:"Arial Narrow","Roboto Condensed",Impact,sans-serif;font-size:clamp(34px,7vw,88px);line-height:.9;margin:0;text-transform:uppercase;letter-spacing:-.055em}.plan-title p{max-width:360px;margin:0;color:var(--muted);font-weight:700}.house-plan{margin-top:24px;border:3px solid var(--line);background:var(--paper);padding:clamp(12px,2vw,28px);position:relative}.zone{fill:rgba(173,106,49,.16);stroke:var(--ink);stroke-width:4;cursor:pointer;transition:.2s}.plan-zone:hover .zone,.plan-zone.active .zone,.zone:hover,.zone.active{fill:rgba(183,200,47,.48)}.plan-zone:focus-visible .zone{stroke:var(--saw);stroke-width:8}.zone-label{font-weight:900;font-size:28px;letter-spacing:.04em;pointer-events:none}.selector-row{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-top:12px}.selector-row button,.btn{border:2px solid var(--line);background:var(--panel);color:var(--ink);min-height:48px;padding:11px 18px;font-weight:900;text-transform:uppercase;letter-spacing:.05em;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:8px}.selector-row button.active,.btn.primary{background:var(--ink);color:var(--panel)}.btn.accent{background:var(--saw);color:var(--ink)}.btn:hover{transform:translateY(-1px)}
.note-board{padding:clamp(18px,4vw,48px);background:#1b1a17;color:var(--panel);display:flex;flex-direction:column;justify-content:space-between;gap:28px}.note-board h2{font-family:"Arial Narrow","Roboto Condensed",Impact,sans-serif;font-size:clamp(36px,6vw,86px);line-height:.88;text-transform:uppercase;letter-spacing:-.055em;margin:0}.note-board p{color:#e6dccd;font-size:18px}.note-list{display:grid;gap:12px;margin:24px 0}.note-item{border-top:1px solid rgba(255,250,240,.28);padding-top:12px}.note-item strong{display:block;color:var(--saw);text-transform:uppercase;letter-spacing:.05em}.cta-pair{display:flex;flex-wrap:wrap;gap:12px;align-items:center}.cta-pair .btn{min-width:170px}.note-board .btn{border-color:var(--panel)}
.register{padding:clamp(28px,5vw,76px);border-bottom:2px solid var(--line);background:var(--panel)}.register-head{display:grid;grid-template-columns:1fr minmax(240px,420px);gap:24px;margin-bottom:26px}.register-head p{font-size:20px;color:var(--muted);margin:0}.work-row{display:grid;grid-template-columns:minmax(170px,.7fr) minmax(0,1.2fr) minmax(170px,.55fr);border-top:2px solid var(--line);min-height:112px}.work-row:last-child{border-bottom:2px solid var(--line)}.work-row>*{padding:18px;border-right:2px solid var(--line)}.work-row>*:last-child{border-right:0}.work-row h3{font-size:clamp(22px,3vw,36px);letter-spacing:-.04em;line-height:.95;margin:0}.work-row p{margin:0;color:#3b362f}.work-row b{text-transform:uppercase;letter-spacing:.06em}.image-band{display:grid;grid-template-columns:1.1fr .9fr;gap:18px;margin-top:34px}.image-card{border:2px solid var(--line);background:var(--white);min-width:0}.image-card img{width:100%;aspect-ratio:16/9;object-fit:cover}.image-card figcaption{padding:12px 14px;font-weight:800;color:#3a332b}
.measure-sheet{padding:clamp(28px,5vw,76px);background:var(--blue);color:var(--panel)}.sheet-grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(320px,1.1fr);gap:24px;align-items:start}.sheet-card{background:var(--panel);color:var(--ink);border:3px solid var(--ink);padding:clamp(18px,3vw,32px);box-shadow:10px 10px 0 rgba(0,0,0,.35)}.field-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}label{font-weight:900;text-transform:uppercase;letter-spacing:.04em;font-size:13px;display:grid;gap:7px}input,select,textarea{width:100%;min-width:0;border:2px solid var(--line);background:var(--white);color:var(--ink);font:inherit;padding:12px;min-height:48px;border-radius:0}textarea{min-height:116px;resize:vertical}.full{grid-column:1/-1}.confirm{margin-top:12px;font-weight:900;color:#24410d;min-height:24px}.signoff{display:grid;grid-template-columns:1fr auto auto;gap:1px;background:var(--line);border-top:2px solid var(--line)}.signoff>*{background:var(--ink);color:var(--panel);padding:18px clamp(14px,3vw,32px);margin:0}.signoff a{text-decoration:none;font-weight:900}.work-hero{display:grid;grid-template-columns:1fr;gap:0}.work-hero img{width:100%;max-height:520px;object-fit:cover;border-bottom:2px solid var(--line)}.process{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;border:2px solid var(--line);border-bottom:0}.process div{padding:20px;border-right:2px solid var(--line);background:var(--white)}.process div:last-child{border-right:0}.process strong{font-size:42px;line-height:1;color:var(--timber)}.quote-opening{display:grid;grid-template-columns:.95fr 1.05fr;gap:0;border-bottom:2px solid var(--line)}.quote-opening .copy{padding:clamp(28px,5vw,76px);background:var(--panel)}.quote-opening .art{background:#1b1a17;display:grid;place-items:center;padding:24px}.quote-opening img{border:2px solid var(--panel)}
@media (max-width:900px){.measure-rail{grid-template-columns:1fr 1fr}.measure-rail span{grid-column:1/-1;justify-content:center}.plan-stage,.register-head,.sheet-grid,.quote-opening{grid-template-columns:1fr}.plan-board{border-right:0;border-bottom:2px solid var(--line)}.selector-row,.process{grid-template-columns:1fr 1fr}.work-row{grid-template-columns:1fr}.work-row>*{border-right:0;border-bottom:1px solid rgba(42,39,33,.35)}.work-row>*:last-child{border-bottom:0}.image-band{grid-template-columns:1fr}.signoff{grid-template-columns:1fr}.field-grid{grid-template-columns:1fr}}
@media (max-width:520px){.mast{padding:24px 14px}.plan-board,.note-board,.register,.measure-sheet{padding:22px 14px}.selector-row,.process{grid-template-columns:1fr}.measure-rail a,.measure-rail span{font-size:12px;padding:12px 9px}.mast h1{font-size:clamp(46px,19vw,86px)}.phone-line{font-size:24px}.cta-pair .btn{width:100%;min-width:0}.sheet-card{box-shadow:5px 5px 0 rgba(0,0,0,.35);padding:16px}.plan-title{display:block}.plan-title p{margin-top:12px}.zone-label{font-size:22px}}
@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;animation:none!important}.btn:hover{transform:none}}
