/* Shared quote/contact conversion-flow enhancements. */
.quote-form .required-mark{color:var(--red);font-weight:700}
.quote-form .field-help{font-size:.72rem;line-height:1.45;color:#666;margin:0}
.quote-form input[type="file"]{padding:10px;background:#faf9f6;cursor:pointer}
.quote-form input[type="file"]::file-selector-button{font-family:var(--site-font);font-weight:700;border:0;border-radius:9px;padding:9px 12px;margin-right:10px;background:#efede8;color:#171717;cursor:pointer}
.quote-form input[type="file"]::file-selector-button:hover{background:#e4e1db}
.quote-form .hp-field{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important;opacity:0!important;pointer-events:none!important}
.quote-form .privacy-note{font-size:.72rem;line-height:1.5;color:#666;margin:10px 0 16px}
.quote-form .status{display:none;margin-top:14px;padding:12px 14px;border:1px solid transparent;border-radius:12px;font-size:.82rem;line-height:1.45;font-weight:700}
.quote-form .status.is-visible{display:block}
.quote-form .status.is-success{background:#edf8ef;border-color:#b9dfc0;color:#205b2b}
.quote-form .status.is-error{background:#fff0f0;border-color:#efb9bc;color:#8e1b21}
.quote-form .status.is-info{background:#f4f3ef;border-color:#dedbd4;color:#55514b}
.quote-form .btn[disabled]{opacity:.65;cursor:wait;transform:none}
.quote-form .file-error{color:#9d1b22;font-weight:700}
.quote-form a{color:inherit;text-decoration:underline;text-underline-offset:2px}
.quote-copy a[href^="mailto:"]{color:#fff;text-decoration:underline;text-underline-offset:3px}
.quote-copy .quote-address{color:#fff;text-decoration:underline;text-underline-offset:3px;line-height:1.55;display:inline-block;margin-top:3px}
.contact-card .contact-address{margin:4px 0 8px}
.contact-card .contact-address a{font-weight:600;line-height:1.5}
.contact-card .contact-service-area{margin-top:7px}
.contact-card .contact-hours{margin-top:14px;padding-top:12px;border-top:1px solid var(--line);display:grid;gap:4px}
.contact-card .contact-hours strong{font-size:.78rem;letter-spacing:.086em;text-transform:uppercase;color:var(--ink)}
.contact-card .contact-hours span{color:var(--muted);font-size:.9rem;line-height:1.55}










/* Standalone contact page. */
.contact-hero{padding:92px 0 46px;background:linear-gradient(180deg,var(--paper),#fff)}
.contact-hero-inner{max-width:790px}
.contact-hero h1{font-size:clamp(2.6rem,6vw,5.6rem);line-height:.96;letter-spacing:-.049em;margin:14px 0 22px}
.contact-hero p{max-width:680px;font-size:1.08rem;line-height:1.7;color:var(--muted)}
.contact-cards-section{padding:56px 0}
.contact-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.contact-card{border:1px solid var(--line);border-radius:20px;padding:25px;background:#fff;min-height:168px}
.contact-card .eyebrow{margin-bottom:12px}
.contact-card h2{font-size:1.18rem;margin:0 0 9px}
.contact-card p{color:var(--muted);font-size:.92rem;line-height:1.6;margin:0}
.contact-card a{font-weight:700;color:var(--ink);text-decoration:none}
.contact-card a:hover{color:var(--red)}
.contact-page #quote{padding-top:60px}



@media (max-width:820px){
  .contact-hero{padding:64px 0 32px}
  .contact-cards-section{padding:44px 0}
  .contact-cards{grid-template-columns:1fr}
  .contact-card{min-height:0}
  .contact-page #quote{padding-top:42px}
}

/* Shared launch/legal links */
.footer-bottom .footer-privacy{color:inherit;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px;white-space:nowrap}
.privacy-note a{color:inherit;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}











