/* Contact page only; typography, hero, controls and FAQ use the approved shared system. */
.contact-page .contact-page-content,.contact-page .contact-benefits,.contact-page .contact-faq{padding:38px 0}
.contact-page .rich-text{margin-top:20px}
.contact-page .service-hero-copy .button,.contact-page .contact-benefits .button,.contact-page .contact-faq .button{margin-top:24px}
.contact-page .contact-info-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.contact-page .contact-info-card{min-width:0;padding:22px 12px;text-align:center;border:1px solid var(--line);border-radius:3px;background:#ffffff40}
.contact-page .contact-info-card .icon-circle{margin:0 auto 14px;width:62px;height:62px;background:#f4eadb;border:0;color:var(--gold)}
.contact-page .contact-info-card h2{font-family:var(--body);font-size:var(--font-size-question);font-weight:var(--weight-semibold);line-height:var(--line-heading)}
.contact-page .contact-info-value{font-family:var(--heading);font-size:var(--font-size-h3);font-weight:var(--weight-bold);line-height:var(--line-heading);color:var(--gold);margin-top:12px;overflow-wrap:anywhere}
.contact-page .contact-info-value a{text-decoration:none}
.contact-page .contact-info-value a:hover{text-decoration:underline}
.contact-page .contact-info-description{font-size:var(--font-size-secondary);color:var(--text-muted);line-height:var(--line-secondary);margin-top:10px;white-space:pre-line}
.contact-page .contact-content-notice{font-size:var(--font-size-hint);color:var(--text-accent-on-light);margin-top:16px}
.contact-page .contact-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:26px;align-items:start;margin-top:28px}
.contact-page .contact-form-card,.contact-page .contact-location{min-width:0}
.contact-page .contact-form-card{border:1px solid var(--line);border-radius:3px;background:#fff;padding:28px}
.contact-page .contact-request-form{display:grid;gap:18px;margin-top:24px}
.contact-page .contact-form-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.contact-page .contact-field{min-width:0}
.contact-page .contact-field label,.contact-page .contact-field-label{display:block;font-size:var(--font-size-question);font-weight:var(--weight-semibold);line-height:var(--line-secondary);margin-bottom:6px}
.contact-page .contact-field input:not([type=checkbox]),.contact-page .contact-field textarea,.contact-page .contact-field select{width:100%;min-width:0;border:1px solid var(--line);border-radius:3px;padding:11px 12px;background:#fdfcf9;color:var(--ink);font-size:var(--font-size-secondary);line-height:var(--line-secondary);min-height:46px}
.contact-page .contact-field textarea{resize:vertical;min-height:135px}
.contact-page .contact-field textarea::placeholder{color:var(--text-muted);opacity:1}
.contact-page .contact-field input[aria-invalid=true],.contact-page .contact-field textarea[aria-invalid=true],.contact-page .contact-field select[aria-invalid=true]{border-color:#9b3525}
.contact-page .contact-category{padding:12px;background:#f7efdf;font-size:var(--font-size-secondary);overflow-wrap:anywhere}
.contact-page .contact-upload{border:1px solid var(--line);border-radius:3px;padding:14px;background:#f9f8f5}
.contact-page .contact-upload label{display:flex;align-items:center;gap:12px}
.contact-page .contact-upload input{padding:8px!important;background:transparent!important;border:0!important}
.contact-page .contact-upload p,.contact-page .contact-file-names{font-size:var(--font-size-hint);color:var(--text-muted);overflow-wrap:anywhere}
.contact-page .contact-file-names{margin:8px 0 0;padding-left:20px}
.contact-page .contact-field label.contact-consent{display:flex;align-items:flex-start;gap:10px;font-size:var(--font-size-hint);font-weight:var(--weight-regular);margin:0}
.contact-page .contact-consent input{width:18px;height:18px;flex-shrink:0;accent-color:var(--gold);margin:2px 0 0}
.contact-page .contact-privacy-missing{font-size:var(--font-size-hint);color:var(--text-accent-on-light);margin-top:8px}
.contact-page .contact-submit{width:100%;margin:0}
.contact-page .contact-submit:disabled{opacity:.65;cursor:progress}
.contact-page .contact-honeypot{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
.contact-page .contact-field-error{font-size:var(--font-size-hint);color:#9b3525;margin-top:6px}
.contact-page .contact-form-status{font-size:var(--font-size-secondary);overflow-wrap:anywhere}
.contact-page .contact-form-status:empty{display:none}
.contact-page .contact-form-status[data-state=success]{border-left:3px solid #52723d;background:#edf4e9;padding:14px;color:#30472c}
.contact-page .contact-form-status[data-state=error]{border-left:3px solid #9b3525;background:#fcf0eb;padding:14px;color:#82311f}
.contact-page .contact-house-photo{aspect-ratio:1.9;overflow:hidden;border-radius:3px}
.contact-page .contact-house-photo img{width:100%;height:100%;object-fit:cover}
.contact-page .contact-location-copy{padding:24px 16px 0}
.contact-page .contact-location-copy .rich-text{margin-top:12px}
.contact-page .contact-map{margin-top:20px}
.contact-page .contact-map iframe{display:block;width:100%;max-width:100%;height:330px;border:1px solid var(--line);border-radius:3px}
.contact-page .contact-map-notice{font-size:var(--font-size-hint);color:var(--text-muted);padding:18px;border:1px solid var(--line);border-radius:3px;overflow-wrap:anywhere}
.contact-page .contact-benefits-grid{display:grid;grid-template-columns:44% 51%;gap:5%;align-items:center}
.contact-page .contact-benefits-grid>div{min-width:0}
.contact-page .contact-benefit-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:30px 24px}
.contact-page .contact-benefit-list li{display:grid;grid-template-columns:56px minmax(0,1fr);gap:16px}
.contact-page .contact-benefit-list .icon-circle{width:56px;height:56px}
.contact-page .contact-benefit-list p{font-size:var(--font-size-secondary);color:var(--text-muted-light);line-height:var(--line-secondary);margin-top:8px;overflow-wrap:anywhere}
.contact-page [hidden]{display:none!important}
@media(max-width:1023px){
 .contact-page .contact-info-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
 .contact-page .contact-form-grid,.contact-page .contact-benefits-grid{grid-template-columns:minmax(0,1fr);gap:30px}
 .contact-page .contact-location{display:grid;grid-template-columns:1fr 1fr;gap:24px}
 .contact-page .contact-house-photo{aspect-ratio:1;align-self:start}
 .contact-page .contact-location-copy{padding:0}
}
@media(max-width:767px){
 .contact-page .contact-map iframe{height:280px}
 .contact-page .contact-page-content,.contact-page .contact-benefits,.contact-page .contact-faq{padding:36px 0}
 .contact-page .contact-form-card{padding:20px}
 .contact-page .contact-location{display:block}
 .contact-page .contact-house-photo{aspect-ratio:1.9}
 .contact-page .contact-location-copy{padding:24px 0 0}
}
@media(max-width:639px){
 .contact-page .contact-info-grid,.contact-page .contact-benefit-list,.contact-page .contact-form-row{grid-template-columns:minmax(0,1fr)}
 .contact-page .contact-info-grid{gap:14px}
 .contact-page .contact-info-card{padding:22px}
}
@media(prefers-reduced-motion:reduce){.contact-page *, .contact-page *::after{animation:none!important;transition:none!important}}
