.contact-hero{background-image:linear-gradient(#0008,#0008),url('/images/contact-hero.webp');background-position:center}
.contact-content{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);align-items:start;gap:48px;padding-block:80px}
.contact-details h2,#contact-form h2{font-size:clamp(26px,2.4vw,30px);line-height:1.2;margin-bottom:18px}.contact-details p{font-size:16px;line-height:1.9}.contact-details a{color:inherit}.contact-details strong{font-weight:600}.contact-map{display:block;width:100%;height:300px;border:1px solid #e5dfd8;border-radius:14px;margin-top:28px;background:#f5f3ef}
#contact-form{padding:32px;border:1px solid #e5dfd8;border-radius:18px;background:#fff;box-shadow:0 8px 30px #231f2007;min-width:0}#contact-form h2{margin-bottom:10px}.form-intro{color:#615b57;font-size:16px;line-height:1.6}.form-required{font-size:13px;color:#615b57;margin:12px 0 26px;line-height:1.5}
.form-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 16px}.field{grid-column:1/-1;min-width:0}.field.half{grid-column:auto}.field label{display:block;font-size:14px;font-weight:500;margin-bottom:8px;line-height:1.5}.field input,.field textarea{width:100%;border:1px solid #d9d2c9;border-radius:9px;background:#fcfbf9;padding:13px 14px;color:var(--ink);font-weight:400;font-family:inherit;font-size:16px;line-height:1.5;transition:border-color 180ms,background-color 180ms,box-shadow 180ms}.field input::placeholder,.field textarea::placeholder{color:#76706b;opacity:1}.field textarea{min-height:145px;resize:vertical}.field input:focus,.field textarea:focus{outline:2px solid var(--gold);outline-offset:2px;border-color:var(--gold);background:white}.contact-submit{width:auto;min-width:180px;min-height:50px;border:0;border-radius:9px;padding:12px 24px;margin-top:26px;cursor:pointer}.contact-submit:disabled{opacity:.65;cursor:wait}#form-status{font-size:16px;line-height:1.6;margin-top:18px}#form-status:empty{display:none}#form-status[data-state="error"]{color:var(--red)}
.sr-only,.form-trap{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(min-width:600px) and (max-width:1100px){.contact-content{grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:24px;padding-block:60px}.contact-map{height:280px;margin-top:24px}#contact-form{padding:24px 18px}.field.half{grid-column:1/-1}}
@media(max-width:599px){.contact-content{grid-template-columns:1fr;padding-block:35px;gap:28px}.field.half{grid-column:1/-1}.contact-map{display:none}.contact-details p{font-size:16px}#contact-form{padding:24px 18px;border-radius:14px}.contact-submit{width:100%}}
@media(prefers-reduced-motion:reduce){.field input,.field textarea{transition:none}}@media(max-width:767px){.contact-hero{background-image:linear-gradient(#0008,#0008),url('/images/contact-hero-800w.webp')}}#form-status[data-state="success"]{position:relative;padding:14px 16px 14px 52px;border:1px solid #e3d3a0;border-left:4px solid var(--gold);border-radius:8px;background:#fbf7ea;color:var(--ink)}#form-status[data-state="success"]::before{content:'\2713';position:absolute;left:16px;top:15px;width:24px;height:24px;border-radius:50%;background:#927100;color:#fff;font:700 14px/24px Arial,sans-serif;text-align:center}#form-status[data-state="success"] strong{font-weight:600}#form-status:focus{outline:none}#form-status[data-state="error"]{position:relative;padding:14px 16px 14px 52px;border:1px solid #e3b5b0;border-left:4px solid var(--red);border-radius:8px;background:#fbefed;color:var(--red);font-weight:500}#form-status[data-state="error"]::before{content:'!';position:absolute;left:16px;top:15px;width:24px;height:24px;border-radius:50%;background:var(--red);color:#fff;font:700 15px/24px Arial,sans-serif;text-align:center}.sent-dialog{width:min(440px,calc(100vw - 32px));padding:36px 28px 28px;border:0;border-top:6px solid var(--gold);border-radius:14px;text-align:center;color:var(--ink);box-shadow:0 20px 60px #0005}.sent-dialog::backdrop{background:#0009}.sent-check{width:64px;height:64px;margin:0 auto 16px;border-radius:50%;background:#927100;color:#fff;font:700 34px/64px Arial,sans-serif}.sent-dialog h2{font-size:clamp(22px,4vw,26px);font-weight:600;line-height:1.3;margin:0 0 10px}.sent-dialog p{font-size:16px;line-height:1.6;margin:0 0 24px}.sent-dialog .sent-ok{min-width:140px;border:0;border-radius:8px}
