/* Contact us */

/* ── PAGE BAND ── */
#contact-hero { background:var(--ink); padding:9vh 8vw 7vh; border-top:1px solid var(--ink); }
#contact-hero .badge { display:flex; align-items:center; gap:8px; margin-bottom:1.6rem; }
#contact-hero .dot { width:8px; height:8px; border-radius:50%; background:#09b150; flex-shrink:0; animation:cDot 1.4s ease-in-out infinite; }
@keyframes cDot { 0%,100%{opacity:1} 50%{opacity:.25} }
@media (prefers-reduced-motion: reduce){ #contact-hero .dot{animation:none} }
#contact-hero .badge-text { font-family:var(--font-body); font-size:var(--eyebrow-size); font-weight:600; letter-spacing:.2em; text-transform:uppercase; color:rgba(255,255,255,.5); }
#contact-hero h1 { font-family:var(--font-display); font-weight:700; font-size:var(--fs-title); line-height:1.08; letter-spacing:-0.012em; color:#ffffff; margin:0 0 1rem; }
#contact-hero .crumb { font-family:var(--font-body); font-size:.72rem; letter-spacing:.1em; color:rgba(255,255,255,.4); }
#contact-hero .crumb a { color:rgba(255,255,255,.65); text-decoration:none; }
#contact-hero .crumb a:hover { color:#ffffff; }

/* ── TWO-COL GRID ── */
#contact-grid { display:grid; grid-template-columns:1fr 1px 1fr; background:#ffffff; }
#contact-divider { background:var(--line); }
#contact-info { padding:8vh 6vw; display:flex; flex-direction:column; justify-content:center; }
#contact-form-col { padding:8vh 6vw; display:flex; flex-direction:column; justify-content:center; }

.ci-eyebrow { font-family:var(--font-body); font-size:var(--eyebrow-size); letter-spacing:.25em; text-transform:uppercase; color:var(--ink); margin-bottom:1.6rem; }
.ci-block { padding:1.6rem 0; border-bottom:1px solid var(--line); }
.ci-block:first-of-type { padding-top:0; }
.ci-block:last-of-type { border-bottom:none; }
.ci-label { font-family:var(--font-body); font-size:var(--eyebrow-size); letter-spacing:.14em; text-transform:uppercase; color:var(--text-3); margin-bottom:.5rem; }
.ci-value { font-family:var(--font-display); font-size:clamp(1.03rem,1.62vw,1.35rem); font-weight:600; color:var(--ink); line-height:1.4; }
.ci-value a { color:var(--ink); text-decoration:none; border-bottom:1px solid transparent; transition:border-color .2s; }
.ci-value a:hover { border-bottom-color:var(--ink); }

#contact-form-col h2 { font-family:var(--font-display); font-weight:600; font-size:clamp(1.62rem,2.88vw,2.34rem); letter-spacing:-0.012em; color:var(--ink); margin:0 0 1rem; line-height:1.15; }
#contact-form-col .lead { font-family:var(--font-body); font-size:15px; line-height:1.8; color:var(--text-2); font-weight:400; margin:0 0 2.2rem; max-width:520px; }

.cf-row { display:flex; gap:15px; margin-bottom:15px; }
.cf-row fieldset, .cf-full { border:none; padding:0; margin:0; width:100%; }
#contact-form-col input, #contact-form-col textarea {
width:100%; border:1px solid var(--line); background:#fff; padding:14px 16px;
font-family:var(--font-body); font-size:.85rem; color:var(--ink);
outline:none; box-sizing:border-box; border-radius:0; transition:border-color .2s;
}
#contact-form-col input:focus, #contact-form-col textarea:focus { border-color:var(--ink); }
#contact-form-col textarea { resize:vertical; min-height:130px; }
.cf-full { margin-bottom:15px; }
.cf-recaptcha { margin-bottom:20px; }
.cf-submit {
display:inline-flex; align-items:center; gap:10px;
background:var(--ink); color:#ffffff; border:2px solid var(--ink);
font-family:var(--font-body); font-size:.75rem; font-weight:700;
letter-spacing:.14em; text-transform:uppercase; padding:1rem 2.4rem;
cursor:pointer; transition:background .25s,color .25s;
}
.cf-submit:hover { background:transparent; color:var(--ink); }

/* ══════════════════════════════════════════
 MOBILE
══════════════════════════════════════════ */
@media(max-width:1024px) {
#contact-info, #contact-form-col { padding:6vh 5vw; }
}
@media(max-width:768px) {
#contact-hero { padding:6vh 6vw 4.5vh; }
#contact-grid { grid-template-columns:1fr ; }
#contact-divider { display:none ; }
#contact-info { padding:5vh 6vw ; border-bottom:1px solid var(--line); }
#contact-form-col { padding:5vh 6vw ; }
.cf-row { flex-direction:column; gap:15px; }
}

/* form messages */
.cf-alert { padding: 12px 16px; margin: 0 0 1.5rem; font-size:15px; line-height: 1.6; border:1px solid; }
.cf-alert.ok  { border-color:#b7dfc0; background:#effaf1; color:#1e6b31; }
.cf-alert.err { border-color:#f1c0bb; background:#fdf0ef; color:#9a2b20; }
.hp-field { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
