/* Photo-led contact section, shared by the homepage and contact page. */
.site-ui #contact-form.safari-contact { padding-block:clamp(4rem,7vw,7rem); }
.safari-contact__heading { display:grid;grid-template-columns:1.4fr 1fr;gap:8%;align-items:end;margin-bottom:3rem; }
.safari-contact__heading h2 { margin:0;font-size:clamp(2.5rem,4.3vw,4.6rem); }
.safari-contact__heading>p { max-width:430px;margin:0;color:var(--muted);font-size:17px; }
.safari-contact__grid { display:grid;grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);gap:clamp(2rem,5vw,5rem);align-items:start; }
.safari-contact__photo { margin:0; }
.safari-contact__photo img { width:100%;aspect-ratio:16/10;object-fit:cover;object-position:center 43%; }
.safari-contact__photo figcaption { font:italic 16px/1.6 var(--serif);padding-top:.8rem;color:var(--muted); }
.safari-contact__direct { padding-top:1.8rem; }
.safari-contact__direct>.eyebrow { margin-bottom:.7rem!important; }
.contact-route { display:grid;grid-template-columns:44px minmax(0,1fr) 20px;gap:1rem;align-items:center;padding:1rem 0;border-bottom:1px solid var(--line); }
.contact-route__icon { display:grid;place-items:center;width:44px;height:44px;border:1px solid var(--line);border-radius:50%;font-size:18px; }
.contact-route small { display:block;font-size:14px;color:var(--muted);line-height:1.5;margin-bottom:.25rem; }
.contact-route strong { display:block;font-size:17px;font-weight:500;line-height:1.6;overflow-wrap:anywhere; }
.contact-route>span:last-child { font-size:22px; }
.contact-whatsapp { padding-block:1.25rem; }
.contact-whatsapp p { margin:0;font-size:15px;color:var(--muted); }
.contact-whatsapp .text-link { font-size:16px;gap:1rem; }
.contact-socials { display:flex;flex-wrap:wrap;gap:.8rem 1rem;justify-content:space-between;font-size:14px;color:var(--muted); }
.contact-socials>div { display:flex;gap:1rem; }
.safari-contact__form-card { background:#fffdf8;border:1px solid #d5d6ca;padding:clamp(1.5rem,3vw,3rem);border-radius:4px;box-shadow:0 12px 35px #203b3205; }
.safari-contact__form-card>.eyebrow { margin-bottom:1rem!important;color:var(--olive); }
.safari-contact__form-card h3 { font-size:clamp(2rem,2.8vw,3rem);margin:0 0 1rem; }
.safari-contact__form-intro { font-size:16px;line-height:1.8;color:var(--muted);margin-bottom:1.8rem!important; }
.safari-contact__form { display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:1.25rem; }
.contact-input { min-width:0; }
.contact-input--wide { grid-column:1/-1; }
.site-ui .safari-contact .form-label { font-size:15px;line-height:1.5;margin-bottom:.6rem; }
.safari-contact .form-label>span { color:var(--muted);font-weight:400; }
.site-ui .safari-contact .form-control { background:white;border:1px solid #c9cec3;border-radius:3px;min-height:50px;padding:.7rem .9rem;font-size:16px;line-height:1.6; }
.site-ui .safari-contact .form-control:focus { border-color:var(--forest);box-shadow:0 0 0 3px #203b3210; }
.safari-contact .form-control::placeholder { color:#7c837a;opacity:1; }
.site-ui .safari-contact textarea.form-control { min-height:145px;resize:vertical; }
.safari-contact .contact-input>small { display:block;font-size:14px;line-height:1.6;margin-top:.5rem;color:var(--muted); }
.contact-submit { display:flex;flex-wrap:wrap;align-items:center;gap:1rem 1.5rem;padding-top:.3rem; }
.contact-submit button { flex:1 1 190px;max-width:100%;font-family:var(--sans);font-size:14px;cursor:pointer; }
.contact-submit p { flex:1 1 150px;font-size:14px;line-height:1.65;color:var(--muted);margin:0; }
@media(max-width:991.98px) {
    .safari-contact__heading { grid-template-columns:1fr;gap:1.5rem; }
    .safari-contact__heading>p { max-width:650px; }
    .safari-contact__grid { grid-template-columns:1fr;gap:2.5rem; }
    .safari-contact__story { display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:2rem;align-items:center; }
    .safari-contact__photo img { aspect-ratio:4/5; }
    .safari-contact__direct { padding-top:0; }
}
@media(max-width:599.98px) {
    .safari-contact__heading { margin-bottom:2rem; }
    .safari-contact__heading>p { font-size:16px; }
    .safari-contact__story { grid-template-columns:1fr;gap:1.5rem; }
    .safari-contact__photo img { aspect-ratio:16/10; }
    .safari-contact__form-card { padding:1.4rem; }
    .safari-contact__form { grid-template-columns:1fr;gap:1.2rem; }
    .contact-route { gap:.7rem;grid-template-columns:38px minmax(0,1fr) 16px; }
    .contact-route__icon { width:38px;height:38px; }
    .contact-route strong { font-size:16px; }
    .contact-submit { align-items:stretch; }
    .contact-submit button { flex-basis:100%; }
    .contact-submit p { text-align:center; }
}
