/* Contact Us page (/contact). Bomar-style layout (centred title, underline fields, full-width dark submit bar)
   in the live site's palette and type. Header, footer, map and FAQ reuse main/refined/gradient-refresh styles. */
.contact-page{--c-green:#12372b;--c-green-2:#194b3b;--c-accent:#b7f763;--c-accent-2:#a3e64a;--c-text:#4d6258;--c-muted:#6e857a;--c-line:#12372b40}
.contact-page main{background:linear-gradient(180deg,#ffffff 0%,#f5faf6 100%)}
.contact-hero{text-align:center;padding:clamp(64px,8vw,110px) 0 clamp(26px,3vw,40px)}
.contact-hero .section-kicker{margin-bottom:18px}
.contact-hero h1{margin:0 auto 6px;max-width:none;font-size:clamp(40px,5vw,66px);line-height:1.08;letter-spacing:-2.6px;color:#19362d;text-transform:uppercase}
.contact-hero h1 span{color:#5d8a6c}
.contact-bar{display:block;width:60px;height:4px;border-radius:4px;background:var(--c-accent-2);margin:14px auto 24px}
.contact-lede{max-width:620px;margin:0 auto 24px;font-size:clamp(15px,1.3vw,17px);line-height:1.8;color:var(--c-text)}
.contact-lines{display:flex;flex-wrap:wrap;justify-content:center;gap:12px 30px;font-size:14.5px}
.contact-lines a{display:inline-flex;align-items:center;gap:9px;color:var(--c-green);font-weight:700;text-decoration:none;overflow-wrap:anywhere}
.contact-lines a:hover{text-decoration:underline;text-underline-offset:4px}
.contact-lines svg{flex:none;color:#3d7a52}
.contact-address{max-width:none;margin:16px auto 0;color:var(--c-muted);font-size:13.5px}
@media (min-width:860px){.contact-address{white-space:nowrap}}
.contact-form-section{padding:clamp(18px,3vw,34px) 0 clamp(70px,8vw,110px)}
.quote-form{max-width:900px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:28px 30px;background:#fff;border:1px solid #dbe7de;border-radius:16px;padding:clamp(26px,4vw,52px);box-shadow:0 25px 60px #0d2c2012}
.quote-form h2{grid-column:1/-1;text-align:center;margin:0 0 4px;font-size:clamp(22px,2.4vw,30px);letter-spacing:-.8px;color:#19362d;text-transform:uppercase}
.quote-form label,.quote-form .field-label{display:block;font-size:11px;font-weight:800;letter-spacing:1.8px;text-transform:uppercase;color:var(--c-green)}
.quote-form .full{grid-column:1/-1}
.quote-form input,.quote-form textarea,.quote-form .material-select-trigger{display:block;width:100%;margin-top:8px;font:inherit;font-size:16px;letter-spacing:0;text-transform:none;font-weight:500;color:#19362d;background:transparent;border:0;border-bottom:2px solid var(--c-line);border-radius:0;padding:10px 2px;min-height:44px;transition:border-color .3s}
.quote-form textarea{min-height:130px;resize:vertical;line-height:1.6}
.quote-form input:focus,.quote-form textarea:focus,.quote-form .material-select-trigger:focus-visible{outline:0;border-bottom-color:var(--c-green)}
.quote-form input::placeholder,.quote-form textarea::placeholder{color:#8a9b92;opacity:1}
.quote-form .material-multiselect{position:relative}
.quote-form .material-select-trigger{display:flex;justify-content:space-between;align-items:center;gap:12px;text-align:left;cursor:pointer}
.quote-form .material-options{position:absolute;z-index:20;left:0;right:0;top:calc(100% + 6px);max-height:300px;overflow:auto;background:#fff;border:1px solid #dbe7de;border-radius:12px;box-shadow:0 22px 40px #12372b26;padding:8px;display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:2px}
.quote-form .material-options[hidden],.quote-form #contact-material[hidden]{display:none!important}
.quote-form .material-option{display:flex;align-items:flex-start;gap:10px;padding:9px 10px;border-radius:8px;cursor:pointer;font-size:14px;font-weight:500;letter-spacing:0;text-transform:none;color:#19362d;line-height:1.35}
.quote-form .material-option:hover{background:#eef5ef}
.quote-form .material-option input{width:18px;height:18px;min-height:0;margin:0;padding:0;accent-color:var(--c-green);flex:none;border:0}
.quote-form .form-submit{grid-column:1/-1;width:100%;min-height:58px;justify-content:center;gap:14px;margin:4px 0 0;border:0;border-radius:8px;background:var(--c-green);color:#fff;font-size:13px;font-weight:800;letter-spacing:2px;text-transform:uppercase;cursor:pointer;transition:background .3s,transform .2s}
.quote-form .form-submit:hover{background:var(--c-green-2);transform:translateY(-2px);filter:none}
.quote-form .form-submit span{color:var(--c-accent);transition:transform .3s}
.quote-form .form-submit:hover span{transform:translateX(4px)}
.quote-form .form-note{grid-column:1/-1;text-align:center;font-size:12.5px;color:var(--c-muted);margin:-10px 0 0}
@media (max-width:700px){.quote-form{grid-template-columns:1fr;gap:24px}.contact-hero h1{letter-spacing:-1.6px}}
.contact-page .location-section{background:#eef3ec}
/* scroll reveal (js/contact.js adds .is-in); content stays visible without JS or with reduced motion */
@media (prefers-reduced-motion:no-preference){
  .js [data-reveal]{opacity:0;transform:translateY(28px);transition:opacity .8s cubic-bezier(.22,1,.36,1),transform .8s cubic-bezier(.22,1,.36,1);transition-delay:var(--d,0s)}
  .js [data-reveal].is-in{opacity:1;transform:none}
}
.contact-page .desktop-nav a[aria-current="page"]{color:#b7f763}
