/* Contact page: centered, compact, single-column layout */
.contact-page-section{padding:145px 20px 88px;background:#f2f0e9}
.contact-page-layout{display:flex!important;flex-direction:column;align-items:center;gap:28px!important;max-width:850px!important;margin-inline:auto}
.contact-page-intro{text-align:center;width:100%;max-width:720px}
.contact-page-intro .eyebrow{color:#315c42!important;font-weight:800;letter-spacing:.13em;text-transform:uppercase;margin-bottom:12px}
.contact-page-intro h1,.contact-page-intro h2{font-size:clamp(34px,5vw,54px);line-height:1.08;margin:0 auto 15px;max-width:680px}
.contact-page-intro>p:not(.contact-detail){margin:0 auto 18px;max-width:610px;font-size:16px;line-height:1.6}
.contact-page-intro .contact-detail{display:inline-block;margin:4px 15px;font-size:15px;line-height:1.5;text-align:center}
.contact-page-intro .contact-detail a{color:#244c37}
.contact-page-form{width:100%;max-width:760px;padding:clamp(20px,4vw,36px)!important;border-radius:18px;background:#dedbd2}
.contact-page-form .form-grid{gap:14px}
.contact-page-form .field label{font-size:15px}
.contact-page-form .service-checklist-help{margin-bottom:12px!important}
.contact-page-form .contact-service-group{border:1px solid #c9d4c5;background:#fff;border-radius:12px;margin-bottom:9px;overflow:hidden}
.contact-page-form .contact-service-group summary{list-style:none;cursor:pointer;padding:15px 18px;font-weight:800;color:#244c37;display:flex;align-items:center;justify-content:space-between;gap:12px}
.contact-page-form .contact-service-group summary::-webkit-details-marker{display:none}
.contact-page-form .contact-service-group summary:after{content:'+';font-size:23px;font-weight:500;line-height:1}
.contact-page-form .contact-service-group[open] summary:after{content:'−'}
.contact-page-form .contact-service-group[open] summary{border-bottom:1px solid #e4e9df}
.contact-page-form .contact-service-group .service-checklist-options{padding:13px;gap:8px}
.contact-page-form .service-checklist-option{font-size:13px;padding:9px}
.contact-page-form textarea{min-height:110px;height:110px}
.contact-page-form button[type=submit]{width:100%;max-width:260px;justify-self:center}
@media(max-width:650px){.contact-page-section{padding:112px 14px 60px}.contact-page-layout{gap:22px!important}.contact-page-form{padding:18px!important}.contact-page-intro .contact-detail{margin:6px 9px}.contact-page-form .contact-service-group .service-checklist-options{grid-template-columns:1fr}}

/* All service groups are permanently visible; no dropdown interactions. */
.contact-page-form .contact-service-group .contact-service-group-title{margin:0;padding:14px 18px;font-size:17px;line-height:1.3;font-weight:800;color:#244c37;border-bottom:1px solid #e4e9df}
.contact-page-form .contact-service-group .service-checklist-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));padding:12px;gap:7px}
@media(max-width:650px){.contact-page-form .contact-service-group .service-checklist-options{grid-template-columns:1fr}}

/* Contact-page photographic treatment: image remains visible while form is opaque. */
.contact-page-section{
  position:relative;
  isolation:isolate;
  background:#18231f url('assets/contact-bathroom-background.webp') center center / cover no-repeat;
  padding-top:145px;
  padding-bottom:88px;
}
.contact-page-section::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  background:rgba(16,25,21,.63);
}
.contact-page-intro .eyebrow,
.contact-page-intro .eyebrow[style]{color:#b8d56a!important}
.contact-page-intro h1,
.contact-page-intro h2,
.contact-page-intro>p,
.contact-page-intro .contact-detail,
.contact-page-intro .contact-detail strong{color:#fff}
.contact-page-intro .contact-detail a{color:#e2f1bd}
.contact-page-form{
  background:rgba(242,240,233,.97)!important;
  box-shadow:0 20px 65px rgba(0,0,0,.25);
  backdrop-filter:none;
}
.contact-page-form .contact-service-group{background:#faf9f5}
.contact-page-form .contact-free-quote-note{text-align:center}
@media(max-width:650px){
 .contact-page-section{background-position:58% center;padding-top:112px;padding-bottom:60px}
 .contact-page-section::before{background:rgba(16,25,21,.7)}
}
