/* A quiet, compact contact section following the calculator. */
.contact.section { display:block; padding:48px 5% 40px; background:#fffdf8; border:0; }
.contact-layout { display:block; max-width:780px; margin:0 auto; }
.contact .contact-intro { display:block; padding:0; margin:0 auto 22px; background:none; color:var(--ink); border:0; text-align:center; max-width:660px; }
.contact .contact-intro .eyebrow { color:var(--gold-dark); margin:0 0 12px; font-size:10px; letter-spacing:2px; }
.contact .contact-intro h2 { font-size:clamp(32px,3vw,44px); line-height:1.18; letter-spacing:-1px; max-width:none; }
.contact .contact-intro h2 em { color:var(--gold-dark); }
.contact .contact-description { margin:12px auto 0; color:var(--muted); font-size:15px; line-height:1.7; max-width:560px; }
.contact .contact-form { min-width:0; margin:0; padding:0; border:0; background:none; max-width:none; }
.contact-visually-hidden { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
.contact-form-intro { font-size:12px; color:var(--muted); margin-bottom:12px; text-align:right; }
.contact .contact-options { display:flex; align-items:center; justify-content:center; gap:56px; border-top:1px solid var(--line); margin-top:24px; padding-top:18px; }
.contact .contact-options > a { display:block; padding:0; border:0; color:var(--ink); }
.contact .contact-options > a:hover { color:var(--gold-dark); }
.contact .contact-label { font-size:9px; letter-spacing:1.6px; color:var(--muted); margin-bottom:3px; }
.contact .contact-value { font:400 17px/1.5 var(--sans); display:block; white-space:normal; overflow-wrap:anywhere; }
.contact-form-grid { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:18px 22px; }
.contact-field { min-width:0; }
.contact-field-wide { grid-column:1/-1; }
.contact-field label { display:block; font-size:13px; font-weight:600; margin-bottom:8px; }
.contact-field label span { font-weight:400; color:var(--muted); }
.contact-field input,.contact-field select,.contact-field textarea { width:100%; min-height:50px; border:1px solid #b8c0b6; background:#fff; border-radius:0; padding:12px 14px; font:16px/1.5 var(--sans); color:var(--ink); }
.contact-field textarea { display:block; min-height:138px; resize:vertical; }
.contact-field :is(input,select,textarea):focus-visible { outline:2px solid var(--gold-dark); outline-offset:3px; }
.contact-field [aria-invalid=true] { border-color:#a33426; }
.contact-field-error { display:block; font-size:12px; color:#922d20; margin-top:4px; }
.contact-field-error:empty { display:none; }
.contact-field #contact-message-help { margin:10px 0 0; font-size:12px; line-height:1.6; }
.contact-privacy { font-size:12px; color:var(--muted); margin-top:24px; line-height:1.7; }
.contact-privacy a { text-decoration:underline; text-underline-offset:3px; }
.contact .contact-submit { width:100%; margin-top:24px; min-height:54px; padding:14px 20px; border:1px solid var(--green); background:var(--green); color:var(--cream); font-size:14px; }
.contact .contact-submit:hover { background:var(--deep); color:#fff; transform:none; }
.contact-submit:disabled { opacity:.7; cursor:wait; }
.contact-status { margin-top:18px; padding:13px 15px; border:1px solid var(--line); font-size:14px; line-height:1.6; scroll-margin-top:110px; }
.contact-status[data-state=success] { background:#e2eddf; border-color:#7a9a75; color:#173c25; }
.contact-status[data-state=error] { background:#fff0e9; border-color:#b96751; color:#7e291b; }
.contact-honeypot { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
.contact-status[hidden] { display:none; }
.contact-field textarea { min-height:120px; }
.contact-field #contact-message-help { text-align:left; }
.contact .contact-submit { width:auto; min-width:220px; }
@media(max-width:600px) {
  .contact.section { padding:40px 6% 36px; }
  .contact .contact-intro { margin-bottom:24px; text-align:left; }
  .contact .contact-description { font-size:14px; }
  .contact-form-grid { grid-template-columns:1fr; gap:18px; }
  .contact .contact-options { justify-content:flex-start; gap:24px; flex-wrap:wrap; margin-top:28px; padding-top:22px; }
  .contact .contact-submit { width:100%; }
  body:has(#contact-form:focus-within) .whatsapp-button { visibility:hidden; }
}
@media(prefers-reduced-motion:reduce) { .contact-submit { transition:none; } }
@media print { .contact-form { display:none; } }

