/* Contact page */
.contact-hero { display:grid; grid-template-columns:minmax(0,.82fr) minmax(480px,1.18fr); gap:88px; align-items:start; max-width:1200px; margin:0 auto; padding:112px 40px 120px; }
.contact-intro { position:sticky; top:150px; }
.contact-intro h1 { max-width:560px; font-size:clamp(3rem,4.5vw,4.25rem); }
.contact-intro>p:not(.eyebrow) { max-width:530px; color:#242a30; font-size:1.08rem; line-height:1.7; }
.contact-direct { display:flex; flex-direction:column; align-items:flex-start; gap:8px; margin-top:48px; padding-top:24px; border-top:1px solid #d6d2c9; }
.contact-direct span { color:#5f6b73; font-size:.72rem; font-weight:700; letter-spacing:.12em; text-transform:uppercase; }
.contact-direct a { color:#123b55; font-weight:700; }
.contact-direct a:hover { color:#5f6b73; }

.contact-form-wrap { scroll-margin-top:120px; padding:42px; border:1px solid #d6d2c9; background:#ebe8e0; }
.form-heading { margin-bottom:36px; }
.form-heading .eyebrow { margin-bottom:12px; }
.form-heading h2 { margin-bottom:10px; font-family:"Montserrat",sans-serif; font-size:2rem; line-height:1.15; letter-spacing:-.03em; }
.form-heading>p:last-child,.form-note { color:#5f6b73; font-size:.78rem; }
.form-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px 20px; }
.form-field { display:flex; flex-direction:column; gap:9px; }
.form-field--full { grid-column:1/-1; }
.form-field label { color:#123b55; font-size:.78rem; font-weight:700; letter-spacing:.04em; }
.form-field input,.form-field select,.form-field textarea { width:100%; border:1px solid #c9c5bc; border-radius:0; background:#f7f5ef; color:#0b2638; font:inherit; font-size:1rem; outline:none; transition:border-color .2s ease,box-shadow .2s ease; }
.form-field input,.form-field select { min-height:52px; padding:0 14px; }
.form-field textarea { min-height:170px; padding:14px; resize:vertical; }
.form-field input:focus,.form-field select:focus,.form-field textarea:focus { border-color:#123b55; box-shadow:0 0 0 3px rgba(18,59,85,.12); }
.contact-submit { margin-top:28px; padding:15px 24px; border:1px solid #0b2638; background:#0b2638; color:#f7f5ef; cursor:pointer; font:inherit; font-size:.85rem; font-weight:700; letter-spacing:.04em; text-transform:uppercase; transition:background-color .2s ease,transform .2s ease; }
.contact-submit:hover { background:#123b55; transform:translateY(-2px); }
.form-note { margin-top:16px; }
.form-honeypot { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); margin:-1px; padding:0; border:0; }

.contact-next { padding:112px max(40px,calc((100vw - 1200px)/2)); background:#123b55; color:#f7f5ef; }
.contact-next>div { max-width:600px; }
.contact-next h2 { font-family:"Montserrat",sans-serif; font-size:clamp(2.3rem,4vw,3.5rem); line-height:1.08; letter-spacing:-.04em; }
.contact-next ol { display:grid; grid-template-columns:repeat(3,1fr); gap:28px; margin-top:64px; padding:0; list-style:none; }
.contact-next li { padding-top:24px; border-top:1px solid rgba(247,245,239,.4); }
.contact-next li span { display:block; margin-bottom:22px; color:#9fb7c6; font-size:.74rem; font-weight:700; letter-spacing:.1em; }
.contact-next li p { color:rgba(247,245,239,.86); font-size:.95rem; line-height:1.65; }

/* Success page */
.success-page { min-height:100vh; display:grid; place-items:center; padding:40px; }
.success-message { max-width:720px; text-align:center; }
.success-logo { display:inline-block; margin-bottom:72px; }
.success-logo img { display:block; width:250px; height:auto; }
.success-message h1 { margin-right:auto; margin-left:auto; }
.success-message>p:not(.eyebrow) { max-width:560px; margin:0 auto 32px; color:#242a30; font-size:1.08rem; line-height:1.7; }

@media (max-width:768px) {
    .contact-hero { grid-template-columns:1fr; gap:56px; padding:72px 24px 80px; }
    .contact-intro { position:static; }
    .contact-intro h1 { font-size:2.65rem; }
    .contact-direct { margin-top:36px; }
    .contact-form-wrap { padding:28px 22px; }
    .form-grid { grid-template-columns:1fr; }
    .form-field--full { grid-column:auto; }
    .contact-submit { width:100%; }
    .contact-next { padding:80px 24px; }
    .contact-next ol { grid-template-columns:1fr; gap:32px; margin-top:48px; }
    .success-page { padding:24px; }
    .success-logo { margin-bottom:52px; }
    .success-logo img { width:220px; }
    .success-message h1 { font-size:2.65rem; }
}
