/* Shared layout, navigation and feedback safeguards. */
html,body{max-width:100%;overflow-x:clip}
img,video{max-width:100%}
picture{display:contents}
:where(main,footer,.section-shell,.header-inner)>*{min-width:0}
:where(h1,h2,h3,p,a,label){overflow-wrap:break-word}
a[href^="mailto:"],.footer-column{overflow-wrap:anywhere}
[hidden]{display:none!important}
.menu-toggle{min-height:44px;min-width:44px;cursor:pointer;padding:10px 0}
.primary-nav{max-height:calc(100dvh - 64px);overflow-y:auto;overscroll-behavior:contain}
.site-feedback{font:12px/1.6 var(--mono);min-height:1.6em;overflow-wrap:anywhere}
.site-feedback[data-state=error],.field-error{color:#b62c0b}
.site-feedback[data-state=success]{color:#21643c}
.contact-tools{display:flex;align-items:center;gap:16px;flex-wrap:wrap}
.contact-tools button{min-height:44px;border:1px solid #aaa;background:transparent;padding:10px 16px;cursor:pointer;font:12px var(--mono)}
.inquiry-builder{padding-block:70px;border-top:1px solid var(--line)}
.inquiry-builder h2{font-size:clamp(2.4rem,6vw,4.5rem);line-height:1;letter-spacing:-.075em;margin:18px 0}
.inquiry-builder>p{max-width:660px;color:#626266}
.inquiry-fields{display:grid;grid-template-columns:1fr 1fr;gap:20px;max-width:860px;margin-top:28px}
.inquiry-field{display:flex;flex-direction:column;gap:8px;font-size:13px;min-width:0}
.inquiry-field input,.inquiry-field select,.inquiry-field textarea{width:100%;min-width:0;max-width:100%;border:1px solid #aaa;background:#fff;padding:13px;font:inherit;border-radius:0;color:var(--ink)}
.inquiry-field textarea{resize:vertical;min-height:150px}
.inquiry-field-wide{grid-column:1/-1}
.inquiry-field [aria-invalid=true]{border-color:#b62c0b}
.field-error{font-size:12px}
.inquiry-actions{margin-top:20px;display:flex;flex-wrap:wrap;gap:12px}
.inquiry-actions button{cursor:pointer}
.inquiry-ready{max-width:860px;border:1px solid #aaa;padding:20px;margin-top:20px}
.inquiry-ready pre{white-space:pre-wrap;overflow-wrap:anywhere;font:13px/1.6 var(--mono)}
.not-found{min-height:65svh;padding-block:90px}
.not-found h1{font-size:clamp(3rem,9vw,7rem);line-height:1;letter-spacing:-.08em;max-width:900px;margin:22px 0}
.not-found p{max-width:580px}
.not-found-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:30px}
.rate-table-wrap{overflow:visible}
.rate-table{width:100%;table-layout:fixed}
.rate-table th,.rate-table td{overflow-wrap:anywhere}
@media(max-width:980px){
 .header-inner{gap:12px;flex-wrap:nowrap}
 .wordmark{flex-shrink:0}
 .menu-toggle{flex-shrink:0}
 .primary-nav{top:100%;max-height:calc(100dvh - 64px);z-index:60}
 .primary-nav a{min-height:44px}
 .footer-column a{padding-block:7px;min-height:38px}
}
@media(max-width:650px){
 .section-shell{min-width:0}
 .page-hero h1{font-size:clamp(3rem,14vw,5.5rem)}
 .page-hero-meta{gap:12px;flex-wrap:wrap}
 .page-hero-meta span{max-width:100%}
 .button{max-width:100%;white-space:normal;text-align:left;gap:14px;padding:12px 16px;line-height:1.4}
 .button span{flex-shrink:0}
 .inquiry-card{min-width:0;padding:22px 18px}
 .inquiry-card h2{font-size:clamp(2.2rem,10.2vw,2.8rem)}
 .inquiry-fields{grid-template-columns:1fr}
 .inquiry-builder{padding-block:48px}
 .inquiry-field input,.inquiry-field select,.inquiry-field textarea,.calc-field input,.calc-field select,.calc-field textarea{font-size:16px}
 .inquiry-actions>*{width:100%}
 .footer-main{column-gap:14px}
 .footer-bottom{gap:16px}
 .worksheet-nav{display:flex;flex-wrap:wrap;overflow:visible;gap:5px}
 .worksheet-nav a{white-space:normal;padding:10px 8px;min-height:44px}
 .calc-formula{flex-wrap:wrap;gap:7px}
 .calc-section-heading,.row-top,.row-cost>div{gap:10px}
 .row-cost b,.summary-line b,.summary-item b,.tax-item b{white-space:normal;overflow-wrap:anywhere}
 .calc-field-grid,.calc-field-grid.three{grid-template-columns:1fr}
 .rate-table{font-size:11px}
 .rate-table td,.rate-table th{padding:9px 5px}
 .not-found{padding-block:55px}
}
@media(max-width:360px){
 .header-inner{gap:8px}
 .wordmark{font-size:15px;gap:7px}
 .motion-toggle{padding-inline:7px;font-size:8px}
 .menu-toggle{font-size:9px;gap:6px}
}
