:root{--ink:#193b40;--accent:#bd4b2c;--gold:#f3cc65;--paper:#f7f8f6;--line:#d7dfdb;--muted:#536665}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:1.0rem/1.6 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}a{color:inherit;text-underline-offset:4px}button,input{font:inherit}button,a,input{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid var(--accent);outline-offset:4px}header{max-width:1440px;margin:auto;padding:25px 5%;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.brand{font-size:1.5625rem;font-weight:750;letter-spacing:-1px;text-decoration:none;display:flex;align-items:center;gap:9px}.brand-icon{font-size:2.25rem;line-height:1;color:var(--accent)}.brand-dot{color:var(--accent);margin-left:-9px}nav{display:flex;gap:34px}nav a{text-decoration:none;font-size:0.875rem;font-weight:600}main{max-width:1440px;padding:43px 5% 0;margin:auto}.eyebrow,.aside-label,.edition{font-size:0.75rem;font-weight:700;letter-spacing:1.8px}.eyebrow{color:var(--accent)}.title-row{display:flex;justify-content:space-between;align-items:center;margin:8px 0 34px}h1{font-family:Georgia,serif;font-size:clamp(32px,3.5vw,51px);font-weight:400;letter-spacing:-1.6px;line-height:1.13;margin:10px 0 14px}h1 em{font-weight:400}.lead{font-size:1.0625rem;color:var(--muted);margin:0}.edition{writing-mode:vertical-rl;letter-spacing:2px;font-size:0.6875rem}.workspace{display:grid;grid-template-columns:195px minmax(270px,.95fr) minmax(310px,1.12fr);gap:25px;align-items:start}.aside-label{color:var(--muted);margin:0 0 18px}.tool-link{display:flex;align-items:center;gap:9px;padding:15px 12px;margin-bottom:7px;border-radius:5px;text-decoration:none;font-size:0.875rem;font-weight:600}.tool-link span{font-size:0.75rem;opacity:.6}.tool-link b{margin-left:auto}.tool-link.active{background:var(--ink);color:white}.tool-link:not(.active):hover{background:#e6ece8}.aside-note{border-top:1px solid var(--line);margin-top:38px;padding:22px 12px}.aside-note>span{font-size:1.875rem}.aside-note p{font:italic 1.5625rem/1.2 Georgia,serif;margin:12px 0}.aside-note small{font-size:0.8125rem;color:var(--muted)}.calculator{border:1px solid var(--line);padding:25px;background:white;border-radius:10px}.panel-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:25px;gap:8px}h2{font-size:1.125rem;line-height:1.35;margin:0}.units{display:flex;border:1px solid var(--line);border-radius:5px;padding:3px}.units button{border:0;background:none;border-radius:3px;padding:3px 10px;font-size:0.875rem;color:var(--ink)}.units button[aria-pressed=true]{background:var(--ink);color:white}label{display:block;font-size:0.875rem;font-weight:600;position:relative;margin-bottom:20px}.unit{float:right;color:var(--muted);font-weight:400}input{width:100%;display:block;margin-top:7px;border:1px solid #bdcbc5;background:#fcfdfc;border-radius:5px;padding:11px 13px;font-size:1.1875rem;color:var(--ink);min-height:50px}label small{display:block;font-size:0.75rem;font-weight:400;margin-top:5px;color:var(--muted)}.field-grid{display:grid;grid-template-columns:1fr 1fr;gap:17px}.hint{font-size:0.8125rem;color:var(--muted);margin:0 0 23px}.primary{background:var(--ink);color:white;padding:13px 16px;border:0;border-radius:5px;font-size:0.9375rem;font-weight:600;width:100%;display:flex;justify-content:space-between}.primary:hover{background:#24555c}.reset{display:block;margin:12px auto 0;border:0;background:none;color:var(--muted);font-size:0.8125rem;text-decoration:underline}.results{background:#e8eeea;border-radius:10px;overflow:hidden;padding:26px 27px}.result-label{font-size:0.75rem;text-transform:uppercase;letter-spacing:1.7px;font-weight:700}.quantity{font-size:3.25rem;line-height:1.2;letter-spacing:-2px;font-weight:650;margin:8px 0}.quantity span{font-size:1.25rem;font-weight:400;letter-spacing:0;margin-left:7px}.purchase-note{font-size:0.8125rem;color:var(--muted);margin:5px 0 18px}.drawing{background:#f9fbf8;border:1px solid #d4ddd6;border-radius:5px;padding:12px;margin:16px 0}.drawing svg{display:block;width:100%;height:164px}.drawing figcaption{font-size:0.75rem;color:var(--muted);text-align:center;margin-top:7px}.specs{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:12px 0}.specs dt{font-size:0.75rem;color:var(--muted)}.specs dd{margin:1px 0;font-weight:600;font-size:0.9375rem}.alternative{display:flex;justify-content:space-between;gap:15px;border-top:1px solid #cbd6ce;padding-top:13px;font-size:0.8125rem}.alternative strong{white-space:nowrap}.result-actions{display:flex;gap:10px;margin-top:22px}.result-actions button{font-size:0.8125rem;border:1px solid #adbbb4;border-radius:4px;padding:9px 12px;background:transparent;color:var(--ink)}.result-actions button:first-child{background:white}.result-actions button:disabled{opacity:.45;cursor:default}#save-status{font-size:0.75rem;margin:9px 0 0;min-height:19px}.notes{display:grid;grid-template-columns:1.1fr 1fr 1fr;gap:45px;margin:55px 0 0;border-top:1px solid var(--line);padding:33px 0 45px}.notes h2{font:1.875rem/1.2 Georgia,serif;margin-top:12px}.notes h3{font-size:0.9375rem;margin:0 0 10px}.notes p,.notes a{font-size:0.875rem;color:var(--muted);margin:0}.notes a{display:inline-block;margin-top:10px;font-weight:600}footer{border-top:1px solid var(--line);max-width:1440px;margin:auto;padding:25px 5%;display:flex;align-items:center;justify-content:space-between;gap:20px}footer .brand{font-size:1.125rem}footer p,footer a,footer small{font-size:0.75rem}footer div{display:flex;gap:17px}footer p{color:var(--muted)}.article{max-width:850px;padding-bottom:70px}.article h1{margin:30px 0}.article h2{margin:35px 0 10px}.article p{color:var(--muted)}.article .primary{width:auto;display:block}.skip{position:absolute;left:12px;top:-100px;background:white;padding:10px;z-index:10}.skip:focus{top:10px}.error{padding:20px 0;color:#963623}.error h2{font-size:1.25rem}body{print-color-adjust:exact}@media(min-width:1500px){main{padding-top:55px}}@media(max-width:1050px){.workspace{grid-template-columns:minmax(270px,1fr) minmax(310px,1fr)}aside{grid-column:1/-1;display:flex;gap:10px;align-items:center}.aside-label,.aside-note{display:none}.tool-link{margin:0;flex:1}.title-row{margin-bottom:25px}.edition{display:none}footer{flex-wrap:wrap}}@media(max-width:690px){header{padding:20px 5%}.brand{font-size:1.3125rem}nav{gap:18px}nav a{font-size:0.8125rem}main{padding-top:28px}.workspace{grid-template-columns:1fr;gap:18px}aside{gap:5px}.tool-link{font-size:0.75rem;padding:10px 7px;justify-content:center}.tool-link span,.tool-link b{display:none}h1{letter-spacing:-.8px}.title-row{margin-bottom:23px}.lead{font-size:1.0rem}.calculator,.results{padding:22px}.notes{grid-template-columns:1fr;gap:25px;margin-top:32px;padding-bottom:30px}.notes h2 br{display:none}.edition{display:none}footer{display:grid;grid-template-columns:1fr;gap:8px}footer p{margin:0}.article h1{font-size:2.3125rem}}@media print{header nav,aside,.result-actions,.reset,.primary,.units,footer,.notes,.skip{display:none!important}main{padding:0}.workspace{display:grid;grid-template-columns:1fr 1fr;gap:20px}h1{font-size:1.75rem}.calculator,.results{break-inside:avoid}.edition{display:none}}
fieldset{border:0;padding:0;margin:0;min-width:0}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.tool-guide{display:grid;grid-template-columns:1.15fr 1fr;gap:50px;padding:35px 0 55px;border-top:1px solid var(--line)}.tool-guide h2{font:1.875rem/1.25 Georgia,serif;margin:12px 0 20px}.tool-guide h3{font-size:1.125rem;margin:25px 0 10px}.tool-guide p,.tool-guide li{font-size:1.0rem;color:var(--muted)}.tool-guide strong{color:var(--ink)}.tool-guide ol{padding-left:24px}.tool-guide li{margin-bottom:12px}button:disabled{cursor:not-allowed}@media(max-width:690px){.tool-guide{grid-template-columns:1fr;gap:12px}}@media print{.tool-guide{display:none}}

/* Navigation and legal notices remain readable on small screens. */
.breadcrumbs{display:flex;flex-wrap:wrap;gap:10px;font-size:0.875rem;color:var(--muted);margin-bottom:24px}.breadcrumbs a{font-size:0.875rem;text-decoration:underline}.estimate-notice{font-size:0.875rem;line-height:1.6;color:var(--muted);margin:12px 0 0}footer{flex-wrap:wrap}footer nav{flex-wrap:wrap;gap:12px 22px}footer nav a,footer small,footer small a{font-size:0.875rem}footer small{flex-basis:100%;color:var(--muted)}.tool-directory{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin:35px 0}.tool-card{padding:26px;border:1px solid var(--line);border-radius:10px;background:white}.tool-card h2{font:1.625rem/1.25 Georgia,serif;margin:14px 0}.tool-card p{color:var(--muted)}.tool-card>a{font-size:0.9375rem;font-weight:600}.home-guide{max-width:850px;padding-bottom:50px}.home-guide h2{font:1.875rem/1.25 Georgia,serif}.home-guide p{color:var(--muted)}.article code{overflow-wrap:anywhere}@media(max-width:850px){.tool-directory{grid-template-columns:1fr}}@media print{.breadcrumbs{display:none}}

/* Reflow, touch targets and readable controls on narrow screens and text zoom. */
header{flex-wrap:wrap;gap:14px}header nav{flex-wrap:wrap;gap:10px 20px}.workspace>*{min-width:0}.field-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.panel-heading,.result-actions{flex-wrap:wrap}.units button{min-width:44px;min-height:44px}.result-actions button,.reset{min-height:44px;font-size:0.875rem}.tool-link{min-height:44px;font-size:0.875rem}.quantity{overflow-wrap:anywhere}.quantity span{display:inline-block}.specs{grid-template-columns:repeat(2,minmax(0,1fr))}.specs dd,.article a{overflow-wrap:anywhere}.alternative{flex-wrap:wrap}.hint,label small,.purchase-note,.drawing figcaption,.specs dt,#save-status{font-size:0.875rem}.breadcrumbs a,footer nav a,header nav a{min-height:44px;display:inline-flex;align-items:center}#output{scroll-margin-top:16px}#output:focus-visible{outline:3px solid var(--accent);outline-offset:6px}
@media(max-width:380px){.field-grid,.specs{grid-template-columns:1fr}.calculator,.results{padding:18px}.workspace aside{flex-wrap:wrap}.tool-link{flex:1 1 100%}.quantity{font-size:2.625rem}.result-actions button{flex:1 1 100%}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* Audit: resilient reflow, keyboard focus and paper output. */
html{ -webkit-text-size-adjust:100%; text-size-adjust:100% }
main,header,footer,.tool-guide>*,.tool-card{min-width:0}
.article code,.article p,.tool-card h2,.lead{overflow-wrap:anywhere}
input[aria-invalid="true"]{border:2px solid #963623}
.field-range{display:block}
#clear-status{min-height:1.6em}
#main:focus{outline:none}
@media(max-width:850px){.tool-guide{grid-template-columns:minmax(0,1fr);gap:12px}}
@media print{
 @page{margin:12mm}
 body{background:white;color:#193b40}
 header{padding:0 0 8px;border:0}
 main{padding:0!important}
 .workspace{display:block}
 .calculator,.results{border:1px solid #999;background:white;margin:10px 0;padding:12px;break-inside:auto}
 .panel-heading{margin-bottom:8px}
 .field-grid{display:contents}
 #measurement-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 16px}
 label{margin:0;break-inside:avoid}
 label small,.hint,#save-status,#calculation-status{display:none}
 input{padding:3px 6px;margin-top:2px;min-height:0}
 .specs>div,.drawing,.quantity,.alternative{break-inside:avoid}
 .drawing svg{height:115px}
 .quantity{font-size:2.5rem}
 .estimate-notice{font-size:10pt}
}
