/* ===================== CONTACT (ct) ===================== */
/* Two columns: dark info panel (left) + form card (right) */
.ct-layout { display: grid; grid-template-columns: .92fr 1.08fr; gap: clamp(2rem, 4vw, 3.5rem); align-items: stretch; }
@media (max-width: 880px) { .ct-layout { grid-template-columns: 1fr; } }

/* LEFT — premium dark info panel */
.ct-info { position: relative; overflow: hidden; color: #fff; border-radius: var(--r-lg);
  padding: clamp(1.75rem, 3vw, 2.75rem); box-shadow: var(--shadow-lg);
  background: radial-gradient(120% 130% at 100% 0%, rgba(78,91,234,.35), transparent 55%),
              linear-gradient(155deg, #081042 0%, #0C1A5E 60%, #14237A 100%); }
.ct-info::after { content: ""; position: absolute; right: -70px; bottom: -70px; width: 240px; height: 240px;
  border-radius: 50%; background: radial-gradient(circle, rgba(78,91,234,.28), transparent 70%); pointer-events: none; }
.ct-info > * { position: relative; z-index: 1; }
.ct-info h2 { color: #fff; }
.ct-info__lead { color: var(--c-on-dark); margin-top: var(--sp-3); margin-bottom: var(--sp-6); max-width: 36ch; }
/* Office blocks inside the info panel */
.ct-info__office { margin-top: var(--sp-5); padding-top: var(--sp-5); border-top: 1px solid rgba(255,255,255,.12); }
.ct-info__office:first-of-type { margin-top: var(--sp-5); padding-top: 0; border-top: 0; }
.ct-info__office-head { display: flex; align-items: center; gap: var(--sp-3); margin-bottom: var(--sp-3); }
.ct-info__icon-sm { flex: none; display: grid; place-items: center; width: 40px; height: 40px;
  border-radius: var(--r-sm); background: rgba(255,255,255,.10); }
.ct-info__icon-sm img { width: 18px; height: 18px; display: block; }
.ct-info__eyebrow { display: block; font-family: var(--font-head); font-size: var(--fs-xs); font-weight: 600;
  letter-spacing: .07em; text-transform: uppercase; color: var(--c-accent-300); }
.ct-info__office-head strong { font-family: var(--font-head); font-weight: 600; font-size: var(--fs-base); color: #fff; }
.ct-info__office p { font-size: var(--fs-sm); color: var(--c-on-dark-mute); line-height: 1.6; margin-top: var(--sp-2); }
.ct-info__name { font-family: var(--font-head); font-weight: 600; color: #fff; }
.ct-info__line { display: flex; gap: .65rem; align-items: flex-start; }
.ct-info__line-icon { flex: none; display: grid; place-items: center; width: 32px; height: 32px;
  border-radius: var(--r-sm); background: rgba(255,255,255,.10); }
.ct-info__line-icon img { width: 15px; height: 15px; display: block; }
.ct-info__line > span:last-child { line-height: 1.7; padding-top: 4px; }
.ct-info__office a { color: #fff; }
.ct-info__office a:hover { color: var(--c-accent-300); }
.ct-info__social { display: flex; gap: var(--sp-3); margin-top: var(--sp-7); }
.ct-info__social a { display: grid; place-items: center; width: 38px; height: 38px; border-radius: var(--r-sm);
  background: rgba(255,255,255,.10); transition: background var(--dur) var(--ease); }
.ct-info__social a:hover { background: var(--c-accent-500); }
.ct-info__social img { width: 20px; height: 20px; display: block; }

/* Form fills its column height so the two columns stay balanced */
.ct-form-card { display: flex; flex-direction: column; }
.ct-form-card .wpcf7 { display: flex; flex-direction: column; flex: 1; }
.ct-form-card form { display: flex; flex-direction: column; flex: 1; }
.ct-form-card form .field:has(.textarea) { display: flex; flex-direction: column; flex: 1; }
/* CF7 wraps controls in a span — let it grow so the textarea fills the card (no white space below the button) */
.ct-form-card form .field:has(.textarea) .wpcf7-form-control-wrap { display: flex; flex-direction: column; flex: 1; }
.ct-form-card form .field:has(.textarea) .textarea { flex: 1; min-height: 160px; }

/* RIGHT — form card */
.ct-form-card { position: relative; overflow: hidden; background: var(--c-bg-0); border: 1px solid var(--c-line);
  border-radius: var(--r-lg); box-shadow: var(--shadow-md); padding: clamp(1.75rem, 3vw, 2.75rem); }
.ct-form-card::before { content: ""; position: absolute; inset: 0 0 auto 0; height: 5px;
  background: linear-gradient(90deg, var(--c-accent-500), var(--c-accent-400)); }
.ct-form-card .section-head { margin-bottom: var(--sp-5); }
.ct-form-row { display: grid; grid-template-columns: 1fr 1fr; gap: var(--sp-4); }
@media (max-width: 520px) { .ct-form-row { grid-template-columns: 1fr; gap: 0; } }

/* Map */
.ct-map-embed { border-radius: var(--r-lg); overflow: hidden; box-shadow: var(--shadow-md); }
.ct-map-embed iframe { display: block; width: 100%; border: 0; }

.ct-mega-h3-mt { margin-top: 1rem; }
.ct-btn-mt1 { margin-top: 1rem; }
.ct-footer-bar { display: flex; flex-wrap: wrap; gap: 1rem; justify-content: space-between; width: 100%; }
