.contact-layout main.contact-page { width:min(calc(100% - 32px), 680px); margin-inline:auto; padding-block:clamp(24px,5vw,60px); }
.contact-page h1 { font-size:clamp(38px,7vw,64px); letter-spacing:-.045em; margin:0; }
.contact-page form { display:grid; gap:8px; margin-top:24px;  }
.contact-page label { display:block; font-weight:600; margin-top:8px; }
.contact-page :is(input,select,textarea) { width:100%; min-width:0; min-height:46px; background:white; border:1px solid #a69780; padding:10px; font:inherit; color:var(--ink); border-radius:4px; }
.contact-page textarea { resize:vertical; }
.contact-fields { display:grid; grid-template-columns:1fr; gap:8px; }
.contact-fields label { margin-bottom:8px; }
.contact-page button { width:100%; justify-content:center; border-radius:999px; border:0; font:inherit; font-weight:600; cursor:pointer; }
.contact-page button:disabled { opacity:.7; }
.contact-page :is(p,a) { overflow-wrap:anywhere; }
#contact-note { font-size:14px; line-height:1.5; margin:4px 0 12px; }
#contact-status { margin:0; }


.contact-page h1, .contact-page > p { text-align:center; }

.contact-layout { position:relative; isolation:isolate; }
.contact-layout::before {
  content:"";
  position:absolute;
  inset:0 0 auto;
  height:clamp(450px,58vw,900px);
  z-index:-1;
  pointer-events:none;
  background:linear-gradient(#f6f2e955,#f6f2e9),url("assets/mirador-valle.jpg") right center/cover no-repeat;
}
.contact-layout main.contact-page::before { content:none; }
