body{background:#fff}
.contact-page{max-width:1400px;margin:0 auto;padding:88px 6% 90px;color:#292925}
.contact-heading{padding-bottom:54px;border-bottom:1px solid #292925}
.contact-heading .eyebrow{font-size:12px;color:#696961;letter-spacing:2px}
.contact-heading h1{font-size:clamp(34px,4.8vw,64px);font-weight:400;letter-spacing:-2px;margin:25px 0 20px;word-break:keep-all}
.contact-heading>p{font-size:17px;line-height:1.9;color:#60605a;margin:0;word-break:keep-all}
.inquiry-layout{display:grid;grid-template-columns:minmax(220px,.8fr) minmax(0,1.8fr);gap:7%;padding-top:58px}
.inquiry-guide h2{font-weight:400;font-size:25px;line-height:1.6;letter-spacing:-.7px;margin:0 0 22px;word-break:keep-all}
.inquiry-guide>p{font-size:15px;line-height:1.95;color:#65655c;word-break:keep-all}
.inquiry-guide dl{margin:44px 0 30px}.inquiry-guide dt{font-size:12px;letter-spacing:1.5px;color:#727269;margin:24px 0 9px}.inquiry-guide dd{margin:0;font-size:15px;line-height:1.9;overflow-wrap:anywhere}
.contact-social{display:inline-block;font-size:14px;color:#55564c;margin-right:20px;padding:8px 0}
.inquiry-sheet{min-width:0}.sheet-heading{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:32px}.sheet-heading h2{font-size:21px;font-weight:400;margin:0;word-break:keep-all}.sheet-heading>span{font-size:13px;color:#626259;white-space:nowrap}
.estimate-form{display:grid;gap:32px}.estimate-form [hidden]{display:none!important}
.estimate-form label{display:block;font-size:16px;line-height:1.7;color:#35362e}
.estimate-form label>span,.estimate-form legend>span{color:#77786d;font-size:14px}
.estimate-form input:not([type=radio]):not([type=checkbox]):not([type=file]),.estimate-form textarea{display:block;width:100%;min-height:52px;margin-top:10px;padding:13px 15px;border:1px solid #aaa99f;border-radius:3px;background:#fff;color:#292925;font:inherit;font-size:16px;line-height:1.6;outline-offset:3px}
.estimate-form input::placeholder,.estimate-form textarea::placeholder{color:#77786d;font-size:15px}
.estimate-form input:focus-visible,.estimate-form textarea:focus-visible{outline:2px solid #6e7461}
.form-pair{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:22px}
.estimate-form fieldset{padding:0;margin:0;border:0;min-width:0}.estimate-form legend{font-size:17px;font-weight:500;margin-bottom:15px;line-height:1.6}
.estimate-form .choice-row{display:flex;flex-wrap:wrap;gap:10px}
.estimate-form .choice-row label{display:block;position:relative;cursor:pointer}
.estimate-form .choice-row input[type=radio],.estimate-form .choice-row input[type=checkbox]{position:absolute;opacity:0;width:1px;height:1px;margin:0;padding:0;pointer-events:none}
.estimate-form .choice-row label>span{display:flex;align-items:center;justify-content:center;min-height:52px;padding:12px 20px;border:1.5px solid #9b9c90;border-radius:3px;font-size:16px;line-height:1.5;color:#484b40;background:#fff;transition:background .15s,color .15s,border-color .15s}
.estimate-form .choice-row input:checked+span{background:#33382d;border-color:#33382d;color:#fff;box-shadow:inset 0 0 0 1px #33382d}
.estimate-form .choice-row label:hover>span{border-color:#454c3c}
.estimate-form .choice-row input:focus-visible+span{outline:2px solid #6e7461;outline-offset:3px}
.choice-help{font-size:14px;color:#74756b;margin:-5px 0 13px;line-height:1.7}
.estimate-form .region-other{margin-top:18px}.estimate-form textarea{resize:vertical;min-height:170px;line-height:1.9}
.plan-upload{border-top:1px solid #c6c7bd!important;padding-top:24px!important}.upload-help{font-size:14px;line-height:1.8;color:#66685e;margin:0 0 10px}.upload-slots{display:grid;gap:12px;margin-top:18px}.upload-slot{position:relative;min-width:0;border:1px solid #a9aa9e;border-radius:3px;padding:14px;background:#fafaf7}.estimate-form .upload-slot label{font-size:14px;padding-right:60px;margin-bottom:10px}.estimate-form input[type=file]{display:block;width:100%;max-width:100%;padding:0;border:0;background:transparent;color:#5d6054;font:inherit;font-size:14px;line-height:1.8;overflow:hidden}.estimate-form input[type=file]::file-selector-button{font:inherit;border:1px solid #8d9182;border-radius:3px;padding:10px 13px;background:#fff;color:#34392d;margin-right:12px;cursor:pointer}.file-remove{position:absolute;right:12px;top:8px;border:0;background:transparent;color:#64695c;text-decoration:underline;font-size:14px;min-height:36px;padding:4px 10px}.upload-help[data-state=error]{color:#994333}
.privacy-consent{padding-top:24px;border-top:1px solid #c6c7bd}.estimate-form .consent-label{display:flex;align-items:flex-start;gap:12px;cursor:pointer}.estimate-form .consent-label input[type=checkbox]{position:static;display:block;flex:0 0 22px;width:22px;height:22px;margin:4px 0 0;padding:0;opacity:1;accent-color:#33382d}.estimate-form .consent-label>span{font-size:16px;color:#30362b;line-height:1.9}.consent-label small{font-size:14px;color:#696e60}.privacy-policy{margin-top:15px;border:1px solid #b4b7a9;border-radius:3px;background:#fafaf7}.privacy-policy>summary{cursor:pointer;padding:16px 18px;font-size:15px;line-height:1.6;color:#42483a}.privacy-body{padding:0 20px 22px;color:#555d4d;font-size:14px;line-height:1.9;word-break:keep-all}.privacy-body h3{font-size:18px;font-weight:500;margin:5px 0 18px}.privacy-body h4{font-size:15px;font-weight:600;margin:22px 0 8px}.privacy-body p{margin:8px 0}.privacy-body a{text-decoration:underline;text-underline-offset:3px}.privacy-body .policy-date{margin-top:24px;color:#72786b}
.send-note{padding:20px 22px;background:#f5f6f0}.send-note strong{font-size:15px;font-weight:500}.send-note p{font-size:14px;line-height:1.8;color:#676d5e;margin:8px 0 0}.estimate-submit{display:flex;justify-content:space-between;align-items:center;min-height:60px;padding:18px 24px;background:#33382d;color:#fff;border:1px solid #33382d;font-size:17px}.estimate-submit:hover{background:#454c3c}.estimate-submit span{font-size:22px}.estimate-submit:disabled{opacity:.6;cursor:wait}.estimate-form #status{font-size:15px;line-height:1.8;margin:0}.estimate-form .inquiry-send-help{font-size:14px;line-height:1.8;color:#686d60}
.contact-steps{border-top:1px solid #b9bdb0;margin-top:100px;padding-top:36px}.steps-title h2{font-size:28px;font-weight:400;margin:14px 0 35px;letter-spacing:-.7px}.steps-title .eyebrow{color:#747a69;font-size:12px}.contact-steps ol{padding:0;margin:0;list-style:none;display:grid;grid-template-columns:repeat(4,1fr);gap:25px}.contact-steps li{border-top:1px solid #b9bdb0;padding-top:20px}.contact-steps li>span{color:#737a67;font-size:13px}.contact-steps h3{font-size:17px;font-weight:400;margin:20px 0 12px}.contact-steps li p{font-size:14px;color:#707664;line-height:1.9;margin:0}
@media(max-width:800px){.contact-page{padding:50px 6% 60px}.contact-heading{padding-bottom:35px}.contact-heading h1{letter-spacing:-1.2px}.contact-heading>p{font-size:16px}.inquiry-layout{grid-template-columns:minmax(0,1fr);gap:42px;padding-top:35px}.inquiry-guide h2{font-size:24px}.inquiry-guide dl{margin:25px 0 18px}.inquiry-guide dt{margin-top:16px}.sheet-heading{margin-bottom:26px}.form-pair{gap:18px}.estimate-form{gap:29px}.contact-steps{margin-top:60px}.contact-steps ol{grid-template-columns:1fr 1fr;gap:28px 20px}.estimate-form .choice-row{gap:9px}.estimate-form .choice-row label>span{padding:12px 17px}.privacy-body{padding:0 16px 18px}}
@media(max-width:480px){.form-pair{grid-template-columns:minmax(0,1fr);gap:26px}.sheet-heading h2{font-size:19px}.sheet-heading>span{font-size:12px}.estimate-form .choice-row label>span{font-size:16px;padding:12px 15px}.privacy-body{word-break:normal}}
@media(prefers-reduced-motion:reduce){.estimate-form .choice-row label>span{transition:none}}

/* Contact panels on a plain background. */
.contact-page{position:relative}
.contact-heading{padding-top:30px;padding-bottom:75px;border-bottom-color:#858779}.contact-heading>p{max-width:680px;color:#4d5548;text-shadow:0 1px 8px #fff8}
.inquiry-guide{align-self:start;padding:26px 24px;background:rgba(250,249,245,.3);border:1px solid rgba(115,120,102,.08);border-radius:4px}
.inquiry-sheet{padding:34px;background:rgba(250,249,245,.38);border:1px solid rgba(115,120,102,.1);border-radius:4px;box-shadow:none}
.contact-steps{position:relative;padding:34px 30px;background:rgba(250,249,245,.32);border:1px solid rgba(115,120,102,.08);border-radius:4px}
@media(max-width:800px){.contact-heading{padding-top:18px;padding-bottom:48px}.inquiry-guide{padding:24px}.inquiry-sheet{padding:28px 22px}.contact-steps{padding:28px 22px}}
@media(max-width:480px){.inquiry-sheet{padding:26px 18px}.inquiry-guide{padding:22px}.contact-heading>p{font-size:16px}.contact-steps{padding:26px 20px}}
