:root{--primary:#f97316;--primary-dark:#c2410c;--dark:#2d1d12;--text:#2b211b;--muted:#6f6259;--light:#fff7ed;--border:#eadfd7;--white:#fff;--radius:10px;--page:1180px;--content:760px}*{box-sizing:border-box}html,body{margin:0;padding:0}body{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;color:var(--text);line-height:1.6;background:var(--white)}a{color:var(--primary);text-decoration:none}h1,h2,h3{color:var(--dark);line-height:1.25;letter-spacing:-.01em}h1{font-size:clamp(1.7rem,4vw,2.5rem)}h2{font-size:1.35rem;margin-top:2.2rem}header{min-height:72px;display:flex;align-items:center;justify-content:space-between;max-width:var(--page);margin:auto;padding:.8rem 1.2rem;border-bottom:1px solid var(--border)}.brand{display:inline-flex;align-items:center;gap:.5rem;font-size:1.2rem;font-weight:800;color:var(--dark)}.logo-mark{display:grid;place-items:center;width:40px;height:40px;border-radius:9px;background:var(--primary);color:#fff}.logo-word{color:var(--dark)}nav{display:flex;gap:1.2rem;font-size:.95rem}nav a{color:var(--text)}.menu{display:none;border:1px solid var(--border);background:#fff;border-radius:8px;padding:.65rem .9rem}.db-warning{max-width:var(--page);margin:1rem auto;padding:.8rem 1rem;background:#fff4d8;border:1px solid #e5bf67;border-radius:8px}main{max-width:var(--page);margin:auto;padding:1.2rem 1.2rem 3rem}.breadcrumbs{font-size:.85rem;color:var(--muted);margin:0 0 1rem}.breadcrumbs a{color:var(--muted)}.hero.compact{max-width:var(--content);margin:0 auto;padding:1rem 0}.hero.compact p{max-width:680px}.eyebrow,.category-tag,.card-label{display:inline-block;color:var(--primary-dark);font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em}.category-tag{background:var(--light);border:1px solid var(--border);border-radius:999px;padding:.25rem .7rem}.intro,.lede{font-size:1.05rem}.reviewed,.notice{font-size:.83rem;color:var(--muted)}.content-grid{display:grid;grid-template-columns:1fr;gap:2rem;max-width:var(--content);margin:0 auto}.calculator{background:var(--light);border:1px solid var(--border);border-radius:var(--radius);padding:1.4rem;margin:1.3rem 0}.calculator h2{margin-top:0}.fields{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}.field{display:flex;flex-direction:column;gap:.35rem}.field label,legend{font-weight:650;font-size:.94rem}.field input,.field select{width:100%;min-height:46px;padding:.7rem .8rem;border:1px solid var(--border);border-radius:8px;background:#fff;font:inherit}.actions{display:flex;gap:.8rem;margin-top:1.1rem}.calculate,.reset,.hero-search button,.button{min-height:46px;border:0;border-radius:8px;padding:.75rem 1.25rem;font-weight:750;cursor:pointer}.calculate,.hero-search button,.button{background:var(--primary);color:#fff}.calculate:hover,.hero-search button:hover{background:var(--primary-dark)}.reset{background:#fff;border:1px solid var(--border)}.result{margin-top:1.3rem;padding:1.4rem;background:var(--dark);color:#fff;border-radius:var(--radius)}.result h3{margin:0 0 .8rem;color:#fff;font-size:1.7rem}.result dl{display:grid;grid-template-columns:1fr auto;gap:.45rem 1rem;border-top:1px solid #ffffff26;padding-top:.8rem}.result dd{margin:0;font-weight:700}.calc-errors{color:#a51d14;font-weight:650}.formula{background:var(--light);border:1px solid var(--border);border-radius:8px;padding:1rem;font-family:ui-monospace,Consolas,monospace}.checks{display:grid;grid-template-columns:repeat(2,1fr);gap:.6rem}.checks label{display:flex;gap:.5rem;border:1px solid var(--border);border-radius:8px;padding:.7rem;background:#fff}.checks input{width:auto}.checks small{display:block;color:var(--muted)}fieldset{grid-column:1/-1;border:1px solid var(--border);border-radius:8px}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse}th,td{padding:.6rem;border:1px solid var(--border);text-align:left}details{border:1px solid var(--border);border-radius:8px;padding:.2rem .9rem;margin-bottom:.6rem}summary{font-weight:650;cursor:pointer;padding:.7rem 0}aside{display:grid;grid-template-columns:repeat(2,1fr);gap:.8rem;border:0;padding:0}aside h2,.all-link{grid-column:1/-1}.related,.card,.category{display:block;border:1px solid var(--border);border-radius:8px;padding:1rem;color:var(--dark)}.related:hover,.card:hover,.category:hover{background:var(--light);text-decoration:none}.all-link{font-weight:700}.pillar{max-width:var(--content);margin:0 auto}.tool-grid,.category-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.9rem;margin:1rem 0 2rem}.card p,.category p,.section-lede{color:var(--muted);font-size:.92rem}.card strong,.category strong{color:var(--primary)}.count{float:right;display:grid;place-items:center;width:36px;height:36px;border-radius:50%;background:var(--light);color:var(--primary);font-weight:800}.category-pills{display:flex;gap:.7rem;flex-wrap:wrap}.category-pills a{border:1px solid var(--border);border-radius:999px;padding:.45rem .9rem;color:var(--dark)}.home-hero{display:grid;grid-template-columns:1.3fr 1fr;gap:2rem;align-items:center;padding:3rem 0}.home-hero h1{max-width:22ch}.hero-search{display:flex;gap:.6rem;max-width:500px;margin-top:1.3rem}.hero-search input{flex:1;min-height:48px;border:1px solid var(--border);border-radius:8px;padding:.8rem 1rem;font:inherit}.example-card{background:var(--dark);color:#fff;border-radius:var(--radius);padding:1.4rem;max-width:350px}.example-card .tag{color:#fdba74;font-size:.8rem}.example-card .name{font-weight:700}.example-card .row{display:flex;justify-content:space-between;padding:.4rem 0;border-top:1px solid #ffffff26}.example-result{font-size:1.6rem;font-weight:800}.home-section{padding:2rem 0}.muted-section{background:var(--light);margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw);padding-left:max(1.2rem,calc((100vw - var(--page))/2));padding-right:max(1.2rem,calc((100vw - var(--page))/2))}.value-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.4rem}.visually-hidden{position:absolute;left:-9999px}.no-results{color:var(--muted)}footer{background:var(--dark);color:#eadfd7;padding:2.2rem max(1.2rem,calc((100% - var(--page))/2));display:grid;grid-template-columns:1.4fr repeat(5,1fr);gap:1.3rem}footer .logo-word,footer h2{color:#fff}footer h2{font-size:.95rem;margin-top:0}footer a{display:block;color:#eadfd7;font-size:.86rem;margin:.35rem 0}footer p{font-size:.88rem}input:focus-visible,select:focus-visible,button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid var(--primary);outline-offset:2px}@media(max-width:850px){nav{display:none;position:absolute;top:70px;left:1rem;right:1rem;z-index:10;flex-direction:column;background:#fff;border:1px solid var(--border);border-radius:8px;padding:1rem}nav.open{display:flex}.menu{display:block}.home-hero{grid-template-columns:1fr}.example-card{max-width:none}.value-grid{grid-template-columns:1fr}footer{grid-template-columns:repeat(2,1fr)}}@media(max-width:600px){.fields,.tool-grid,.category-grid,.checks,aside{grid-template-columns:1fr}.hero-search{flex-direction:column}.result dl{grid-template-columns:1fr}.result dd{margin-bottom:.5rem}footer{grid-template-columns:1fr}}
a:hover{color:var(--primary-dark);text-decoration:none}
.blog-article{max-width:var(--content);margin:0 auto}.blog-article>section{margin-top:2rem}.blog-article h1{max-width:24ch}.blog-article p{font-size:1rem}.blog-article .intro{font-size:1.1rem}.guide-cta,.source-note{background:var(--light);border:1px solid var(--border);border-radius:var(--radius);padding:1.2rem}.guide-cta h2,.source-note h2{margin-top:0}.blog-index .card h2{font-size:1.1rem;margin-top:0}
.calc-help{grid-column:1/-1;background:#fff;border-left:4px solid var(--primary);padding:.8rem 1rem;border-radius:7px}.calc-help p{margin:.2rem 0 0}.subject-entry,.advanced-inputs{grid-column:1/-1}.subject-row{display:grid;grid-template-columns:1.4fr 1fr;gap:1rem;align-items:end;padding:.8rem 0;border-bottom:1px solid var(--border)}.subject-name{display:flex;flex-direction:column}.subject-name small,.field small{color:var(--muted);font-weight:400}.advanced-inputs{background:#fff}.advanced-inputs p{color:var(--muted)}.result-lead{font-size:1rem}.requirement-checks{margin:1rem 0}.requirement-checks p{padding:.55rem .7rem;border-radius:6px}.requirement-checks .pass{background:#dcfce7;color:#14532d}.requirement-checks .review{background:#ffedd5;color:#7c2d12}.calculator-guide{margin-top:2rem}.calculator-guide li{margin-bottom:.45rem}.share-tools{background:var(--light);border:1px solid var(--border);border-radius:var(--radius);padding:1.2rem;margin-top:2rem}.share-tools h2{margin-top:0}.share-buttons{display:flex;flex-wrap:wrap;gap:.55rem}.share-buttons a,.share-buttons button{border:1px solid var(--border);background:#fff;color:var(--dark);border-radius:7px;padding:.6rem .8rem;font:inherit;font-weight:650;cursor:pointer}.copy-status{color:var(--primary-dark);font-weight:650}@media(max-width:600px){.subject-row{grid-template-columns:1fr}.share-buttons>*{flex:1 1 42%;text-align:center}}@media print{header,footer,aside,.share-tools,.actions,.menu{display:none!important}.calculator{break-inside:avoid}.content-grid{max-width:none}main{max-width:none}}

/* Travel forms */
.calc-help,.calculator .notice,.calculator .people-list,.calculator .fields>p{grid-column:1/-1}.people-list{display:grid;gap:1rem;width:100%;min-width:0}.person-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;border:1px solid #d9e1e9;padding:1rem;border-radius:8px;min-width:0}.person-row legend{font-weight:700;padding:0 .4rem}.person-row input{max-width:100%;box-sizing:border-box}.calculator button{min-height:44px}.result dl{overflow-wrap:anywhere}.actions{flex-wrap:wrap;gap:.5rem}@media(max-width:600px){.person-row{grid-template-columns:1fr}.result dl{grid-template-columns:1fr}.result dd{margin:0 0 .75rem}}@media print{header,footer,aside,.share-tools,.calculator form,.calc-errors{display:none!important}.content-grid{display:block!important}.result{break-inside:avoid}}

.travel-table{overflow-x:auto}.travel-table table{width:100%;border-collapse:collapse}.travel-table th,.travel-table td{padding:.7rem;text-align:left;border-bottom:1px solid #d9e1e9}

.result .notice{color:#e7d7c8;font-size:.9rem;line-height:1.5}
.content-grid>article{min-width:0}.travel-table{max-width:100%;width:100%;box-sizing:border-box}

/* Accessible contact form */
.contact-panel{margin-top:2rem;padding:1.5rem;border:1px solid #e5e7eb;border-radius:14px;background:#fff}.contact-form label{display:block;font-weight:700;margin:1rem 0 .4rem}.contact-form input,.contact-form textarea{display:block;width:100%;max-width:100%;padding:.8rem;border:1px solid #b8c0ca;border-radius:8px;font:inherit;background:#fff;color:#17212b}.contact-form input:focus,.contact-form textarea:focus{outline:3px solid #f4772140;border-color:#c85408}.contact-form button{background:#bd4b00;color:#fff;border:0;border-radius:8px;padding:.85rem 1.4rem;font:inherit;font-weight:700;cursor:pointer}.contact-form .muted{font-size:.9rem;color:#52606d}.contact-honeypot{position:absolute;left:-10000px}.contact-notice,.contact-errors{padding:1rem;border-radius:8px;margin:1rem 0}.contact-notice{background:#e9f7ee;color:#155d31}.contact-errors{background:#fdecec;color:#922}.contact-form textarea{resize:vertical}.contact-panel{overflow:hidden}

/* Shared minimalist calculator UI. Keep dynamic forms on the same layout contract. */
.calculator{background:#fff;border-color:var(--border);padding:clamp(1rem,3vw,1.75rem)}
.calculator .fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:1.2rem}
.calculator .fields>:not(.field){grid-column:1/-1;min-width:0}
.calculator .field{min-width:0;align-self:start}
.calculator .field input,.calculator .field select,.calculator .field textarea{max-width:100%;color:var(--text);font:inherit;background:#fff;border:1px solid #d7cec6;border-radius:7px;min-height:46px}
.calculator .field textarea{padding:.75rem;resize:vertical}
.calculator fieldset{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;min-width:0;margin:0;padding:1rem;border:1px solid var(--border);border-radius:8px;background:#faf9f7}
.calculator fieldset legend{max-width:100%;padding:0 .4rem;color:var(--dark);line-height:1.5}
.calculator fieldset>p,.calculator fieldset>.actions,.calculator fieldset>fieldset{grid-column:1/-1}
.calculator [class$="-list"],.calculator [data-rain-list],.calculator [data-insulation-list],.calculator [data-rebar-list]{display:grid;gap:1rem;min-width:0}
.calculator fieldset+fieldset{margin-top:1rem}
.calculator .fields>div>fieldset+fieldset{margin-top:1rem}
.calculator .notice{margin:.1rem 0;padding:.85rem 1rem;background:#faf9f7;border:1px solid var(--border);border-radius:7px;font-size:.875rem;line-height:1.6}
.answer-block{margin:1.25rem 0;padding:1.1rem 1.2rem;background:var(--light);border:1px solid var(--border);border-radius:8px}
.answer-block h2{font-size:1.05rem;margin:0 0 .5rem}
.answer-block p{margin:0;font-size:.95rem}
.calculator>.answer-block{margin:0 0 1.5rem}
.calculator .actions{display:flex;flex-wrap:wrap;align-items:center;gap:.6rem;margin-top:1.2rem}
.calculator button,.calculator .button,.pillar a.button{display:inline-flex;align-items:center;justify-content:center;min-height:44px;max-width:100%;padding:.65rem 1rem;border:1px solid #d7cec6;border-radius:7px;background:#fff;color:var(--dark);font:inherit;font-size:.9rem;font-weight:650;line-height:1.35;text-align:center;cursor:pointer;box-shadow:none;text-decoration:none;white-space:normal}
.calculator button.calculate,.pillar a.button{background:var(--primary-dark);border-color:var(--primary-dark);color:#fff}
.calculator button:hover,.calculator .button:hover{background:var(--light);border-color:#bd9e87;color:var(--dark)}
.calculator button.calculate:hover,.pillar a.button:hover{background:#9a3412;border-color:#9a3412;color:#fff}
.calculator button:disabled{opacity:.5;cursor:not-allowed}
.calculator>.actions{border-top:1px solid var(--border);padding-top:1rem}
.calculator .copy-status:empty{display:none}
.calculator .copy-status{font-size:.875rem;margin:.75rem 0 0}
.calculator input[type="checkbox"],.calculator input[type="radio"]{width:18px;height:18px;min-height:0;accent-color:var(--primary-dark);flex-shrink:0}
.result{min-width:0;margin-top:1.5rem;padding:clamp(1rem,3vw,1.5rem)}
.result h3{font-size:clamp(1.2rem,3vw,1.5rem);overflow-wrap:anywhere}
.result h4{color:#fff;font-size:1.05rem;line-height:1.5}
.result dl{grid-template-columns:minmax(0,1fr) minmax(110px,.7fr);align-items:start;gap:.65rem 1.2rem}
.result dd{text-align:right;overflow-wrap:anywhere}
.result dt{color:#eadfd7}
.result .notice{background:transparent;border-color:#ffffff30;color:#f3e8dd;margin-top:1rem}
.result details{border-color:#ffffff40;margin-top:1rem}
.result summary{color:#fff}
.calculator .calc-errors:not(:empty){margin:1rem 0;padding:.8rem;border:1px solid #efc5be;border-radius:7px;background:#fff5f3}
.tool-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}
.card{background:#fff;transition:border-color .15s ease,background-color .15s ease;min-width:0;padding:1.1rem 1.2rem}
.card h2,.card h3{margin:0 0 .55rem;font-size:1.075rem;line-height:1.4}
.card p{margin:0;line-height:1.65}
.card strong{display:block;margin-top:.8rem;font-size:.85rem;color:var(--primary-dark)}
.card:hover{border-color:#c9ad97;background:#fffcf8;color:var(--dark)}
.hub-header{margin-bottom:1.5rem}
.hub-header h1{margin:.8rem 0}
.hub-header .intro{max-width:65ch;color:var(--muted)}
.hub-jump{display:flex;flex-wrap:wrap;gap:.5rem;margin:1.5rem 0 2rem}
.hub-jump a{padding:.45rem .75rem;border:1px solid var(--border);border-radius:6px;color:var(--text);font-size:.875rem;background:#fff}
.hub-jump a:hover{background:var(--light);border-color:#c9ad97}
.hub-group{scroll-margin-top:1.5rem;margin:2.25rem 0}
.hub-group>h2{margin:0 0 .5rem;font-size:1.3rem}
.hub-group>.section-lede{margin:.4rem 0 1rem}
.hub-group .tool-grid{margin-top:1rem;margin-bottom:0}
@media(max-width:600px){
 .calculator .fields,.calculator fieldset,.tool-grid{grid-template-columns:minmax(0,1fr)}
 .calculator{padding:1rem}
 .calculator .actions>button{flex:1 1 140px}
 .result dl{grid-template-columns:minmax(0,1fr)}
 .result dd{text-align:left;margin:0 0 .65rem}
 .card{padding:1rem}
 .hub-jump{gap:.5rem}
 .hub-jump a{flex:1 1 44%;text-align:center}
}
@media print{
 header,footer,aside,.share-tools,.actions,.menu,.calculator form,.calc-errors,.copy-status,.hub-jump{display:none!important}
 body,main,.calculator,.result{background:#fff!important;color:#111!important}
 .calculator{border:0;padding:0;break-inside:auto}
 .result{border:1px solid #aaa;break-inside:auto}
 .result h3,.result h4,.result dt,.result dd,.result p,.result summary,.result .notice{color:#111!important}
 .result dl,.result details,.result .notice{border-color:#bbb}
 .content-grid{display:block!important;max-width:none}
}
/* Breadcrumbs stay in document flow when the mobile header navigation collapses. */
nav.breadcrumbs{display:flex;flex-direction:row;justify-content:flex-start;flex-wrap:wrap;align-items:center;gap:.4rem;position:static;width:auto;background:transparent;border:0;padding:0;z-index:auto}
/* Contact discovery and restrained, reserved advertising placement. */
[hidden]{display:none!important}
.calculator-support{margin:1rem 0 0;font-size:.875rem;line-height:1.6}
.calculator-support a{text-decoration:underline;text-underline-offset:3px}
.contact-panel{scroll-margin-top:1.5rem}
.contact-panel h2{margin-top:0}
.contact-form button{min-height:46px}
.ad-placement{max-width:760px;margin:3rem auto 1rem;padding:1rem 0 0;border-top:1px solid var(--border);clear:both}
.ad-label{font-size:.75rem;color:var(--muted);text-align:center;margin:0 0 .5rem;letter-spacing:.03em}
.ad-space{width:100%;min-width:0;min-height:250px}
@media(max-width:1050px){#main-nav{display:none;position:absolute;top:70px;left:1rem;right:1rem;z-index:10;flex-direction:column;background:#fff;border:1px solid var(--border);border-radius:8px;padding:1rem}#main-nav.open{display:flex}.menu{display:block}}
@media print{.ad-placement,.calculator-support{display:none!important}}
