/* ============================== CONTACT ============================== */

.contact-split{ display:grid; grid-template-columns: .85fr 1.15fr; min-height: 640px; border-radius: var(--radius-xl); overflow:hidden; border:1px solid var(--glass-border); margin-top: 1.5rem; }
.contact-info{ position:relative; padding: clamp(2.2rem,4vw,3.4rem); background: linear-gradient(160deg, rgba(39,39,42,.16), rgba(5,4,9,.4)); display:flex; flex-direction:column; }
.contact-info h1{ font-size: clamp(1.9rem,3.6vw,2.6rem); margin-top: .8rem; }
.contact-info > p{ color: var(--ink-dim); margin-top:1rem; max-width:38ch; }
.contact-list{ display:flex; flex-direction:column; gap:1rem; margin-top:2.2rem; }
.contact-list li{ display:flex; align-items:flex-start; gap:.9rem; padding: 1rem; border-radius: 14px; background: rgba(255,255,255,.03); border:1px solid var(--glass-border); }
.contact-list .f-icon{ width:38px; height:38px; }
.contact-list .f-icon svg{ width:18px; height:18px; }
.contact-list strong{ display:block; font-size:.86rem; }
.contact-list span{ font-size:.8rem; color: var(--ink-faint); }
.contact-map{ margin-top:2rem; height:140px; border-radius:14px; position:relative; overflow:hidden; border:1px solid var(--glass-border);
  background-image: linear-gradient(rgba(255,255,255,.05) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.05) 1px, transparent 1px);
  background-size:22px 22px; background-color: rgba(5,4,9,.5); }
.contact-map::after{ content:"◈"; position:absolute; top:50%; left:38%; transform:translate(-50%,-50%); font-size:1.6rem; color: var(--magenta); text-shadow:0 0 18px var(--magenta); }
.contact-map::before{ content:""; position:absolute; top:50%; left:38%; width:60px; height:60px; border-radius:50%; transform:translate(-50%,-50%); background: radial-gradient(circle, rgba(161,161,170,.35), transparent 70%); }
.contact-info > .ad-embed{ width:100%; }
.contact-info > .ad-embed .ad-rect{ width:100%; max-width:none; }

.contact-form-panel{ padding: clamp(2.2rem,4vw,3.4rem); display:flex; flex-direction:column; justify-content:center; }
.contact-form-panel .eyebrow{ margin-bottom:1rem; }
.form-grid{ display:grid; grid-template-columns:1fr 1fr; gap:1.1rem; margin-top:1.6rem; }
.form-field{ display:flex; flex-direction:column; gap:.5rem; }
.form-field.full{ grid-column:1/-1; }
.form-field label{ font-size:.8rem; color: var(--ink-dim); }
.form-field input, .form-field select, .form-field textarea{ padding:.85em 1em; border-radius:12px; border:1px solid var(--glass-border); background: rgba(5,4,9,.4); font-size:.9rem; transition: border-color var(--dur-fast); }
.form-field input:focus, .form-field select:focus, .form-field textarea:focus{ border-color: var(--violet); }
.form-field textarea{ resize:vertical; min-height:110px; }
.form-status{ font-size:.85rem; margin-top:1rem; min-height:1.2em; }
.form-status.is-success{ color: var(--cyan); }
.form-status.is-error{ color: var(--orange); }
.contact-form-panel .btn-gradient{ margin-top:1.6rem; align-self:flex-start; }

@media (max-width: 900px){
  .contact-split{ grid-template-columns:1fr; }
  .form-grid{ grid-template-columns:1fr; }
}

/* ---- FAQ accordion ---- */
.faq-wrap{ max-width:760px; margin: 0 auto; display:flex; flex-direction:column; gap:.9rem; }
.acc-item{ border:1px solid var(--glass-border); border-radius: var(--radius-md); overflow:hidden; background: var(--glass-bg); }
.acc-trigger{ width:100%; display:flex; align-items:center; justify-content:space-between; gap:1rem; padding:1.2rem 1.5rem; text-align:left; font-family: var(--f-display); font-weight:600; font-size:.98rem; }
.acc-trigger .plus{ flex:none; width:22px; height:22px; position:relative; }
.acc-trigger .plus::before, .acc-trigger .plus::after{ content:""; position:absolute; background: var(--ink-dim); border-radius:2px; transition: transform var(--dur-med) var(--ease-out); }
.acc-trigger .plus::before{ left:0; top:50%; width:100%; height:2px; transform:translateY(-50%); }
.acc-trigger .plus::after{ top:0; left:50%; width:2px; height:100%; transform:translateX(-50%); }
.acc-item.is-open .acc-trigger .plus::after{ transform: translateX(-50%) rotate(90deg); opacity:0; }
.acc-panel{ max-height:0; overflow:hidden; transition: max-height var(--dur-med) var(--ease-out); }
.acc-panel-inner{ padding: 0 1.5rem 1.3rem; color: var(--ink-dim); font-size:.9rem; line-height:1.6; }

/* ---- Office locations ---- */
.offices-grid{ display:grid; grid-template-columns: repeat(3,1fr); gap:1.3rem; }
.office-card{ padding:0; overflow:hidden; }
.office-photo{ height:120px; position:relative; overflow:hidden; }
.office-photo img{ width:100%; height:100%; object-fit:cover; display:block; transition: transform .6s var(--ease-out); }
.office-card:hover .office-photo img{ transform: scale(1.06); }
.office-photo::after{ content:""; position:absolute; inset:0; background: linear-gradient(0deg, var(--bg-card), transparent 60%); }
.office-body{ padding: 1.4rem 1.6rem 1.6rem; }
.office-card h4{ font-size:1rem; display:flex; align-items:center; gap:.5em; }
.office-card .flag-dot{ width:10px; height:10px; border-radius:50%; }
.office-card p{ font-size:.82rem; color: var(--ink-faint); margin-top:.6rem; line-height:1.6; }
@media (max-width: 760px){ .offices-grid{ grid-template-columns:1fr; } }
