/* ── Hero Banner (contact) ──────────────── */
.hero-banner--contact{position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center;min-height:240px;padding:2.5rem 1.5rem;text-align:center;background:linear-gradient(135deg,var(--navy-deep),var(--royal-blue));}
.hero-banner--contact .hero-banner__overlay{position:absolute;inset:0;background:repeating-linear-gradient(115deg,rgba(255,255,255,.03) 0 2px,transparent 2px 48px);pointer-events:none;}
.hero-banner--contact .hero-banner__content{position:relative;z-index:2;max-width:600px;}
.hero-banner--contact .hero-banner__title{font-family:var(--font-serif);font-size:clamp(1.4rem,2.8vw,2.2rem);color:#fff;margin-bottom:.5rem;}
.hero-banner--contact .hero-banner__subtitle{font-size:.85rem;color:rgba(255,255,255,.7);line-height:1.5;}

/* ── Contact Section ────────────────────── */
.contact-section{padding:40px 0;}
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:36px;align-items:start;}
.section-title{font-family:var(--font-serif);font-size:1.2rem;margin-bottom:20px;padding-bottom:8px;border-bottom:1px solid var(--line);text-transform:uppercase;letter-spacing:.04em;}
.dark .section-title{border-color:var(--line);}

/* ── Contact Cards ──────────────────────── */
.contact-cards{display:grid;grid-template-columns:1fr 1fr;gap:12px;}
.contact-card{background:var(--bg-panel);border:1px solid var(--line);border-radius:var(--radius);padding:14px;transition:box-shadow .3s;}
.contact-card:hover{box-shadow:var(--shadow-md);}
.dark .contact-card{border-color:var(--line-dark);}
.contact-card__icon{width:36px;height:36px;border-radius:50%;background:rgba(227,189,116,.12);color:var(--gold);display:flex;align-items:center;justify-content:center;font-size:.95rem;margin-bottom:8px;}
.contact-card__title{font-size:.78rem;font-weight:600;margin-bottom:3px;color:var(--ink);}
.contact-card__text{font-size:.75rem;color:var(--ink-soft);line-height:1.4;}

/* ── Contact Form ───────────────────────── */
.contact-form-wrapper .form-group{margin-bottom:14px;}
.contact-form-wrapper .form-group label{font-size:.75rem;font-weight:600;color:var(--ink);margin-bottom:3px;display:block;}
.dark .contact-form-wrapper .form-group label{color:#ccc;}
.contact-form-wrapper .form-input{padding:.5rem .75rem;border-radius:var(--radius-sm);width:100%;font-size:.82rem;}
.contact-form-wrapper .form-textarea{min-height:100px;resize:vertical;}

/* ── Map ────────────────────────────────── */
.map-section{margin-top:32px;}
.map-section iframe{width:100%;height:240px;border-radius:var(--radius);display:block;}

/* ── Responsive ─────────────────────────── */
@media(max-width:980px){
  .contact-grid{grid-template-columns:1fr;gap:28px;}
  .contact-cards{grid-template-columns:1fr 1fr;}
}
@media(max-width:640px){
  .contact-section{padding:28px 0;}
  .hero-banner--contact{min-height:180px;padding:2rem 1.25rem;}
  .contact-cards{grid-template-columns:1fr;}
}
