.contact-modal[hidden]{display:none!important}
.contact-modal{position:fixed;inset:0;z-index:1100;display:grid;grid-template-columns:44% 56%;background:#f4f3f0;opacity:0;visibility:hidden;transition:opacity .65s ease,visibility .65s ease;overflow:hidden}
.contact-modal.is-open{opacity:1;visibility:visible}
body.contact-modal-open{overflow:hidden}
.contact-modal-photo{position:relative;min-width:0;overflow:hidden;background:#1c272b;clip-path:inset(0 100% 0 0);transition:clip-path 1.15s cubic-bezier(.22,.7,.16,1) .08s}
.contact-modal.is-open .contact-modal-photo{clip-path:inset(0)}
.contact-modal-photo img{width:100%;height:100%;object-fit:cover;object-position:53% center;filter:brightness(.78) saturate(.7);transform:scale(1.09);transition:transform 1.7s cubic-bezier(.22,.7,.16,1)}
.contact-modal.is-open .contact-modal-photo img{transform:scale(1)}
.contact-modal-photo::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(13,21,25,.52),transparent 34%)}
.contact-modal-photo-label{position:absolute;z-index:1;left:clamp(28px,4vw,68px);bottom:clamp(28px,4vw,65px);font:600 clamp(1.1rem,2vw,2.1rem) var(--head);letter-spacing:.12em;color:#fff}
.contact-modal-photo-label span{display:block;font:500 .72rem var(--body);letter-spacing:.22em;margin-top:.7rem}
.contact-modal-content{position:relative;min-width:0;overflow-y:auto;overscroll-behavior:contain;padding:clamp(26px,3.5vw,58px) clamp(28px,5vw,90px);transform:translateX(4%);transition:transform .8s cubic-bezier(.22,.7,.16,1) .1s;background:#f4f3f0}
.contact-modal.is-open .contact-modal-content{transform:translateX(0)}
.contact-modal-close{position:sticky;top:0;z-index:2;display:flex;align-items:center;gap:.65rem;margin-left:auto;margin-bottom:clamp(15px,3vh,35px);padding:.65rem .1rem;border:0;background:#f4f3f0;color:#202b30;cursor:pointer;font:600 .7rem var(--body);letter-spacing:.14em;text-transform:uppercase}
.contact-modal-close svg{width:24px;height:24px;stroke-width:1.7}
.contact-modal-inner{max-width:700px;margin:auto}
.contact-modal-inner>*{opacity:0;transform:translateY(24px);transition:opacity .8s ease,transform .8s cubic-bezier(.2,.75,.18,1)}
.contact-modal.is-open .contact-modal-inner>*{opacity:1;transform:translateY(0)}
.contact-modal.is-open .contact-modal-inner>*:nth-child(1){transition-delay:.18s}
.contact-modal.is-open .contact-modal-inner>*:nth-child(2){transition-delay:.26s}
.contact-modal.is-open .contact-modal-inner>*:nth-child(3){transition-delay:.35s}
.contact-modal.is-open .contact-modal-inner>*:nth-child(4){transition-delay:.45s}
.contact-modal.is-open .contact-modal-inner>*:nth-child(5){transition-delay:.56s}
.contact-modal-eyebrow{font-size:.72rem;font-weight:700;letter-spacing:.22em;color:#67777d;margin:0 0 1rem}
.contact-modal h2{font:550 clamp(2.4rem,4vw,4.3rem)/.98 var(--head);letter-spacing:-.045em;margin:0;color:#202b30}
.contact-modal h2 em{font-style:normal;color:#7a898e}
.contact-modal-lead{max-width:570px;line-height:1.65;color:#57656a;font-size:clamp(.9rem,1vw,1.06rem);margin:1.1rem 0 1.5rem}
.contact-modal-details{display:flex;gap:1rem 2rem;flex-wrap:wrap;padding:1rem 0 1.25rem;border-top:1px solid #cbd0cf;border-bottom:1px solid #cbd0cf;margin-bottom:1.4rem}
.contact-modal-details a{display:flex;align-items:center;gap:.8rem;font-weight:600;font-size:clamp(.82rem,1vw,.98rem);white-space:nowrap}
.contact-modal-details svg{width:20px;height:20px;stroke-width:1.5;color:#68797e}
.contact-modal-details small{display:block;color:#7b888b;font-size:.62rem;text-transform:uppercase;letter-spacing:.13em;font-weight:600;margin-bottom:.2rem}
.contact-modal-fields{display:grid;grid-template-columns:1fr 1fr;gap:1rem 1.3rem}
.contact-modal-form .field{margin-bottom:.8rem;gap:.25rem}
.contact-modal-form .field label{font-size:.67rem;letter-spacing:.11em}
.contact-modal-form .field label span{text-transform:none;letter-spacing:0;font-weight:400}
.contact-modal-form .field input,.contact-modal-form .field select,.contact-modal-form .field textarea{width:100%;min-width:0;min-height:0;border:0;border-bottom:1px solid #aeb9b9;border-radius:0;background:transparent;padding:.62rem 0;color:#202b30;font:400 .92rem var(--body);outline:none}
.contact-modal-form .field input:focus,.contact-modal-form .field select:focus,.contact-modal-form .field textarea:focus{border-bottom-color:#202b30}
.contact-modal-form .field textarea{height:70px;resize:vertical}
.contact-modal-submit{display:flex;align-items:center;gap:1.2rem;margin-top:.25rem}
.contact-modal-submit .btn{white-space:nowrap}
.contact-modal-submit p{font-size:.7rem;line-height:1.5;color:#657276;margin:0;max-width:300px}
.contact-modal-submit p a{font-weight:700;text-decoration:underline;text-underline-offset:.2em}
@media(max-width:850px){.contact-modal{grid-template-columns:36% 64%}.contact-modal-content{padding:25px 30px}.contact-modal-submit{align-items:flex-start;flex-direction:column;gap:.6rem}}
@media(max-width:650px){.contact-modal{display:block;overflow-y:auto}.contact-modal-photo{height:25vh;min-height:150px;clip-path:inset(0 0 100% 0)}.contact-modal-photo img{object-position:center 47%}.contact-modal-photo-label{left:22px;bottom:18px;font-size:1.12rem}.contact-modal-photo-label span{margin-top:.35rem}.contact-modal-content{overflow:visible;padding:20px 22px 42px;transform:translateY(18px)}.contact-modal-close{position:absolute;top:-100px;right:20px;background:rgba(244,243,240,.95);padding:.7rem;border-radius:50%;margin:0}.contact-modal-close span{display:none}.contact-modal h2{font-size:clamp(2.4rem,10vw,3.5rem)}.contact-modal-details{gap:.9rem 1.5rem}.contact-modal-fields{grid-template-columns:1fr;gap:0}.contact-modal-form .field{margin-bottom:.65rem}.contact-modal-submit .btn{width:100%;justify-content:center}}
@media(prefers-reduced-motion:reduce){.contact-modal,.contact-modal-photo,.contact-modal-photo img,.contact-modal-content,.contact-modal-inner>*{transition:none!important;animation:none!important}.contact-modal-inner>*{opacity:1;transform:none}.contact-modal-photo{clip-path:none}}
/* Supporting text stays readable; contact links below use the requested 14px. */
.contact-modal-close,.contact-modal-photo-label span,.contact-modal-eyebrow,.contact-modal-lead,.contact-modal-details a,.contact-modal-details small,.contact-modal-form .field label,.contact-modal-form .field label span,.contact-modal-form .field input,.contact-modal-form .field select,.contact-modal-form .field textarea,.contact-modal-submit .btn,.contact-modal-submit p{font-size:max(16px,1rem)}
@media(max-width:650px){.contact-modal-details{flex-direction:column;gap:1rem}.contact-modal-details a{white-space:normal}.contact-modal-photo-label span{margin-top:.25rem}}
.contact-modal-details{margin-bottom:2.5rem}
.contact-modal-details a,.contact-modal-details small{font-size:14px}

.field label .required-mark,.contact-modal-form .field label .required-mark{color:#4f6970;font-weight:700;letter-spacing:0;margin-left:.12em}
.recaptcha-widget{min-height:78px;margin:1.15rem 0 .9rem;max-width:100%}
.form-feedback{margin:.9rem 0 0;color:#285747;font-size:16px;line-height:1.5}
.form-feedback:empty{display:none}
.form-feedback.is-error{color:#a13333}
button[type="submit"]:disabled{cursor:wait;opacity:.62}
@media(max-width:355px){.recaptcha-widget{transform:scale(.9);transform-origin:left top;margin-bottom:-.1rem}}
