/* Contact page – /contact (mockup 21 Sep 2026) */
.hero-contact{height:72svh;min-height:520px;max-height:860px}
.hero-contact .hero-image{object-position:center 40%}
.hero-contact .hero-shade{display:none}
.hero-contact .hero-content{bottom:72px;text-shadow:0 1px 3px rgba(4,21,30,.5),0 2px 24px rgba(4,21,30,.4)}
.hero-contact .eyebrow{color:#fff;margin-bottom:18px}
.hero-contact h1{font-size:clamp(1.6rem,2.6vw,2.6rem);max-width:22ch;line-height:1.12;letter-spacing:.03em}

.contact-main{padding-block:clamp(72px,8vw,120px)}
.contact-grid{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:clamp(48px,6vw,112px);align-items:start}
.contact-copy .eyebrow{color:var(--muted);margin-bottom:20px}
.contact-copy h2{margin:0 0 24px;line-height:1.1;max-width:14ch}
.contact-copy .lead{font-size:var(--text-lg);line-height:1.55;max-width:48ch;margin:0 0 40px}
.contact-details{margin:0 0 36px;padding:0;display:grid;gap:22px;border-top:1px solid var(--border)}
.contact-details>div{display:grid;grid-template-columns:96px minmax(0,1fr);gap:16px;padding-top:22px;border-bottom:1px solid var(--border);padding-bottom:22px}
.contact-details>div:last-child{border-bottom:0}
.contact-details dt{font-size:var(--text-xs);letter-spacing:.14em;text-transform:uppercase;color:var(--muted);font-weight:500;padding-top:3px}
.contact-details dd{margin:0;font-size:var(--text-base);line-height:1.55}
.contact-details dd a{color:inherit;text-decoration:none;border-bottom:1px solid transparent;transition:border-color .2s}
.contact-details dd a:hover{border-color:var(--ink)}
.contact-details dd a span{display:block}
.contact-aside{max-width:52ch;line-height:1.7;color:var(--muted);margin:0}

.contact-form-panel{background:var(--surface,#f3f1ec);padding:clamp(28px,3.4vw,52px);position:sticky;top:132px}
.contact-form-panel h3{font-family:var(--font-display);font-weight:700;text-transform:uppercase;letter-spacing:.03em;font-size:clamp(1.5rem,2.2vw,2rem);line-height:1.1;margin:0 0 12px}
.contact-form-intro{margin:0 0 24px;color:var(--muted);line-height:1.6}
#contact-form{display:grid;gap:var(--space-5)}
#contact-form label{display:grid;gap:8px;font-size:var(--text-sm);font-weight:500}
#contact-form label.consent{grid-template-columns:auto 1fr;font-weight:400}
#contact-form .form-grid{gap:var(--space-5)}
#contact-form input,#contact-form select,#contact-form textarea{background:#fff}
#contact-form .button{justify-self:start}
#contact-form .button[disabled]{opacity:.6;cursor:progress}
#contact-form-success h3{font-family:var(--font-display);font-weight:700;text-transform:uppercase;letter-spacing:.03em;font-size:clamp(1.5rem,2.2vw,2rem);line-height:1.1;margin:12px 0 16px}
#contact-form-success p{line-height:1.65;margin:0}
#contact-form-success a{text-decoration:underline}

.contact-map{background:var(--navy);color:#fff;padding-top:clamp(64px,7vw,104px)}
.contact-map-head{padding-bottom:clamp(40px,4vw,56px);max-width:1360px}
.contact-map-head .eyebrow{color:#b7c9d0;margin-bottom:20px}
.contact-map-head h2{color:#fff;margin:0 0 20px;line-height:1.1}
.contact-map-head p{color:#c5d1d5;line-height:1.7;max-width:60ch;margin:0 0 24px}
.contact-map-head .text-link{color:#fff}
.contact-map-frame{width:100%;height:clamp(360px,48vw,560px);background:#0b2231;filter:saturate(.85)}
.contact-map-frame iframe{display:block;width:100%;height:100%;border:0}

@media(max-width:1100px){
  .contact-form-panel{position:static}
}
@media(max-width:900px){
  .hero-contact{height:auto;min-height:0;max-height:none}
  .hero-contact .hero-content{position:static;text-shadow:none}
  .hero-contact h1{font-size:clamp(1.35rem,4.2vw,1.9rem);max-width:none}
  .contact-grid{grid-template-columns:1fr;gap:48px}
  .contact-copy h2{max-width:none}
  .contact-details>div{grid-template-columns:84px minmax(0,1fr)}
}
@media(max-width:600px){
  .contact-main{padding-block:56px}
  .contact-form-panel{padding:24px 20px 28px;margin-inline:-20px}
  #contact-form .form-grid{grid-template-columns:1fr}
  .contact-details>div{grid-template-columns:1fr;gap:6px}
  .contact-map-frame{height:320px}
}
