/* ============================================================
   FinAdvantage — Contact / Get In Touch page
   ============================================================ */

/* ─── HERO ─────────────────────────────────────────────────── */
.ct-hero {
  background: var(--midnight);
  background-image:
    radial-gradient(ellipse 70% 60% at 80% 40%, rgba(102,23,255,0.2) 0%, transparent 65%),
    radial-gradient(ellipse 40% 40% at 10% 80%, rgba(26,109,255,0.1) 0%, transparent 60%);
  padding: 80px 64px 72px;
  position: relative;
  overflow: hidden;
}
.ct-hero::before {
  content: '';
  position: absolute;
  inset: 0;
  background-image: url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='%236617FF' fill-opacity='0.04'%3E%3Cpath d='M36 34v-4h-2v4h-4v2h4v4h2v-4h4v-2h-4zm0-30V0h-2v4h-4v2h4v4h2V6h4V4h-4zM6 34v-4H4v4H0v2h4v4h2v-4h4v-2H6zM6 4V0H4v4H0v2h4v4h2V6h4V4H6z'/%3E%3C/g%3E%3C/svg%3E");
  pointer-events: none;
}
.ct-hero-inner {
  max-width: 760px;
  position: relative;
  z-index: 1;
}

.ct-breadcrumb {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 13px;
  color: rgba(255,255,255,0.3);
  margin-bottom: 28px;
}
.ct-breadcrumb a { color: rgba(255,255,255,0.45); text-decoration: none; transition: color .2s; }
.ct-breadcrumb a:hover { color: var(--gold); }

.ct-eyebrow {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 13px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--gold);
  margin-bottom: 18px;
}
.ct-ey-line {
  width: 28px;
  height: 1.5px;
  background: var(--gold);
  border-radius: 2px;
  flex-shrink: 0;
}

.ct-hero-h {
  font-family: 'Archivo', sans-serif;
  font-size: clamp(34px, 4.5vw, 52px);
  font-weight: 700;
  color: var(--white);
  line-height: 1.12;
  margin-bottom: 18px;
}
.ct-hero-h em { font-style: normal; color: var(--gold); }

.ct-hero-sub {
  font-size: 17px;
  color: rgba(255,255,255,0.55);
  line-height: 1.8;
  max-width: 540px;
  margin-bottom: 36px;
}

.ct-hero-pills { display: flex; flex-wrap: wrap; gap: 10px; }
.ct-pill {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 8px 16px;
  border: 1px solid rgba(255,255,255,0.1);
  border-radius: 100px;
  font-size: 14px;
  color: rgba(255,255,255,0.6);
  background: rgba(255,255,255,0.04);
  transition: border-color .2s, color .2s;
}
.ct-pill svg { color: var(--gold); flex-shrink: 0; }
.ct-pill:hover, .ct-email-link:hover { border-color: rgba(255,187,78,0.4); color: rgba(255,255,255,0.9); }
.ct-email-link {text-decoration: none; color:rgba(255,255,255,0.6)}
/* ─── INTRO STRIP ───────────────────────────────────────────── */
.ct-strip {
  background: #fff;
  border-bottom: 1px solid #eee;
  padding: 36px 64px;
}
.ct-strip-inner { max-width: 1100px; margin: 0 auto; }

.ct-strip-line {
  font-family: 'Archivo', sans-serif;
  font-size: clamp(18px, 2vw, 22px);
  color: var(--charcoal);
  line-height: 1.5;
  margin-bottom: 28px;
  padding-bottom: 28px;
  border-bottom: 1px solid #f0f0f0;
}
.ct-strip-line strong { color: var(--indigo); }

.ct-strip-stats {
  display: flex;
  align-items: center;
  gap: 0;
  flex-wrap: wrap;
}
.ct-strip-stat {
  display: flex;
  flex-direction: column;
  gap: 3px;
  padding: 0 40px 0 0;
}
.ct-strip-stat:first-child { padding-left: 0; }
.ct-strip-num {
  font-family: 'Archivo', sans-serif;
  font-size: 28px;
  font-weight: 700;
  color: var(--indigo);
  line-height: 1;
}
.ct-strip-lbl {
  font-size: 13px;
  color: #888;
  line-height: 1.4;
}
.ct-strip-divider {
  width: 1px;
  height: 36px;
  background: #e5e5e5;
  margin-right: 40px;
  flex-shrink: 0;
}

.ct-head {
  position: relative; z-index: 2;
  padding: 30px 64px;
  display: block; justify-content: center; text-align: center;
  margin-bottom:40px; 
}
.ct-eyebrow {
  font-size: 0.65rem; font-weight: 700;
  letter-spacing: 0.18em; text-transform: uppercase;
  color: var(--gold); margin-bottom: 10px; display: block;
}
.ct-title {
  font-family: 'Archivo', sans-serif;
  font-size: 48px;
  font-weight: 800; color: var(--midnight); line-height: 1.1;
}
.ct-title span { color: var(--gold); }


/* ─── SHARED SECTION HEADINGS ───────────────────────────────── */
.ct-sec-ey {
  font-size: 12px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--indigo);
  margin-bottom: 8px;
}
.ct-ey-dim { color: rgba(255,255,255,0.4); }

.ct-sec-h {
  font-family: 'Archivo', sans-serif;
  font-size: clamp(22px, 2.5vw, 30px);
  font-weight: 700;
  color: var(--charcoal);
  line-height: 1.2;
  margin-bottom: 10px;
}
.ct-sec-h em { font-style: normal; color: var(--indigo); }
.ct-sec-h-wh { color: var(--white); }
.ct-sec-h-wh em { color: var(--gold); }

.ct-sec-sub {
  font-size: 15.5px;
  color: #666;
  line-height: 1.75;
  margin-bottom: 36px;
  max-width: 480px;
}
.ct-sub-dim { color: rgba(255,255,255,0.5); }

/* ─── SPLIT LAYOUT ──────────────────────────────────────────── */
.ct-split {
  display: grid;
  grid-template-columns: 1fr 1fr;
  min-height: 500px; margin-bottom:40px;
}

/* Left — white */
.ct-split-left {
  background: #fff;
  padding: 0px 64px;
  border-right: 1px solid #ececec;
}
/* .ct-split-left-inner { max-width: 560px; } */

/* Right — dark navy */
.ct-split-right {
  background: var(--midnight);
  background-image:
    radial-gradient(ellipse 80% 60% at 110% 20%, rgba(102,23,255,0.25) 0%, transparent 60%),
    radial-gradient(ellipse 50% 50% at -10% 80%, rgba(26,109,255,0.15) 0%, transparent 60%);
  padding: 64px 64px 0px 64px; 
  position: relative;
  overflow: hidden;
}
.ct-split-right::before {
  content: '';
  position: absolute;
  inset: 0;
  background-image: url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='%236617FF' fill-opacity='0.04'%3E%3Cpath d='M36 34v-4h-2v4h-4v2h4v4h2v-4h4v-2h-4zm0-30V0h-2v4h-4v2h4v4h2V6h4V4h-4zM6 34v-4H4v4H0v2h4v4h2v-4h4v-2H6zM6 4V0H4v4H0v2h4v4h2V6h4V4H6z'/%3E%3C/g%3E%3C/svg%3E");
  pointer-events: none;
}
.ct-split-right-inner {
  position: relative;
  z-index: 1;
  max-width: 560px;margin:0 auto;
}

/* ─── FORM ──────────────────────────────────────────────────── */
.ct-form { display: flex; flex-direction: column; }

.ct-form-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
  margin-bottom: 20px;
}
.ct-field-wrap { margin-bottom: 20px; }
.ct-form-row .ct-field-wrap { margin-bottom: 0; }

.ct-label {
  display: block;
  font-size: 13px;
  font-weight: 500;
  color: #555;
  margin-bottom: 7px;
  letter-spacing: 0.03em;
}
.ct-req { color: var(--indigo); }

.ct-input {
  width: 100%;
  padding: 12px 15px;
  background: #faf9ff;
  border: 1.5px solid #e6e1ff;
  border-radius: 10px;
  font-family: 'Roboto', sans-serif;
  font-size: 15px;
  color: var(--charcoal);
  outline: none;
  appearance: none;
  transition: border-color .2s, box-shadow .2s, background .2s;
}
.ct-input::placeholder { color: #c0b8e0; }
.ct-input:focus {
  border-color: var(--indigo);
  background: #fff;
  box-shadow: 0 0 0 3px rgba(102,23,255,0.1);
}

.ct-textarea { resize: vertical; min-height: 120px; line-height: 1.65; }

.ct-select-wrap { position: relative; }
.ct-select { padding-right: 36px; cursor: pointer; }
.ct-select-icon {
  position: absolute;
  right: 12px;
  top: 50%;
  transform: translateY(-50%);
  pointer-events: none;
  color: #aaa;
}

/* Custom checkbox */
.ct-checkbox-wrap { margin-bottom: 28px; }
.ct-checkbox-label { display: flex; align-items: flex-start; gap: 10px; cursor: pointer; }
.ct-checkbox-label input[type="checkbox"] { display: none; }
.ct-checkmark {
  width: 18px;
  height: 18px;
  border: 1.5px solid #d0c9f0;
  border-radius: 5px;
  background: #faf9ff;
  flex-shrink: 0;
  margin-top: 1px;
  transition: border-color .2s, background .2s;
  position: relative;
}
.ct-checkbox-label input:checked + .ct-checkmark { background: var(--indigo); border-color: var(--indigo); }
.ct-checkbox-label input:checked + .ct-checkmark::after {
  content: '';
  position: absolute;
  left: 4px; top: 1px;
  width: 6px; height: 10px;
  border: 2px solid #fff;
  border-top: none; border-left: none;
  transform: rotate(45deg);
}
.ct-checkbox-text { font-size: 13.5px; color: #888; line-height: 1.6; }

/* Submit */
.ct-submit {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  width: 100%;
  padding: 15px 28px;
  background: var(--indigo);
  color: var(--white);
  font-family: 'Archivo', sans-serif;
  font-size: 16px;
  font-weight: 600;
  border: none;
  border-radius: 10px;
  cursor: pointer;
  letter-spacing: 0.01em;
  box-shadow: 0 4px 20px rgba(102,23,255,0.3);
  transition: background .2s, transform .15s, box-shadow .2s;
}
.ct-submit:hover { background: #5410e0; transform: translateY(-2px); box-shadow: 0 6px 28px rgba(102,23,255,0.4); }
.ct-submit:active { transform: translateY(0); }
.ct-submit:disabled { opacity: .6; cursor: not-allowed; transform: none; box-shadow: none; }

.ct-form-msg {
  margin-top: 16px;
  padding: 12px 16px;
  border-radius: 10px;
  font-size: 15px;
  line-height: 1.5;
  display: none;
}
.ct-form-msg:not(:empty) { display: block; }
.ct-form-success { background: #efffee; border: 1px solid #b0e8b0; color: #1a6c1a; }
.ct-form-error   { background: #fff3f3; border: 1px solid #f5b8b8; color: #c0392b; }

/* ─── CALENDLY ──────────────────────────────────────────────── */
.ct-calendly-wrap {
  border-radius: 14px;
  overflow: hidden;
  border: 1px solid rgba(255,255,255,0.08);
  margin-bottom: 32px;
  background: rgba(255,255,255,0.03);
}

.calendly-inline-widget{ height:601px !important;}

/* ─── CONTACT ROWS ──────────────────────────────────────────── */
.ct-contact-rows {
  display: flex;
  flex-direction: column;
  gap: 2px;
  border-top: 1px solid rgba(255,255,255,0.07);
  padding-top: 24px;
}
.ct-contact-row {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 12px 16px;
  border-radius: 10px;
  text-decoration: none;
  transition: background .2s;
}
.ct-contact-row:hover { background: rgba(255,255,255,0.05); }

.ct-contact-icon {
  width: 36px;
  height: 36px;
  border-radius: 9px;
  background: rgba(102,23,255,0.25);
  border: 1px solid rgba(102,23,255,0.3);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  color: var(--indigo-t2);
}
.ct-contact-text { display: flex; flex-direction: column; gap: 1px; }
.ct-contact-lbl  { font-size: 12px; letter-spacing: 0.1em; text-transform: uppercase; color: rgba(255,255,255,0.35); }
.ct-contact-val  { font-size: 15px; font-weight: 500; color: rgba(255,255,255,0.8); }

/* ─── OFFICES ───────────────────────────────────────────────── */
.ct-offices {
  background: var(--midnight);
  background-image: radial-gradient(ellipse 70% 50% at 50% 110%, rgba(102,23,255,0.18) 0%, transparent 65%);
  padding: 72px 64px;
  border-top: 1px solid rgba(255,255,255,0.06);
}
.ct-offices-inner { max-width: 1100px; margin: 0 auto; }
.ct-offices-header { margin-bottom: 44px; }

.ct-offices-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
  gap: 14px;
}
.ct-office-card {
  background: rgba(255,255,255,0.03);
  border: 1px solid rgba(255,255,255,0.07);
  border-radius: 16px;
  padding: 24px 22px;
  transition: background .2s, border-color .2s, transform .2s;
}
.ct-office-card:hover {
  background: rgba(102,23,255,0.1);
  border-color: rgba(102,23,255,0.3);
  transform: translateY(-3px);
}
.ct-office-flag  { font-size: 28px; margin-bottom: 12px; line-height: 1; }
.ct-office-city  { font-family: 'Archivo', sans-serif; font-size: 16px; font-weight: 700; color: #fff; margin-bottom: 6px; }
.ct-office-addr  { font-size: 13.5px; color: rgba(255,255,255,0.4); line-height: 1.6; margin-bottom: 16px; min-height: 34px; }
.ct-office-map {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  font-size: 13px;
  font-weight: 500;
  color: var(--gold);
  text-decoration: none;
  transition: gap .2s;
}
.ct-office-map:hover { gap: 8px; }

/* ─── RESPONSIVE ────────────────────────────────────────────── */
@media (max-width: 1024px) {
  .ct-split { grid-template-columns: 1fr; }
  .ct-split-left, .ct-split-right { padding: 52px 40px; }
  .ct-split-left-inner, .ct-split-right-inner { max-width: 100%; }
  .ct-split-right { border-top: 1px solid rgba(255,255,255,0.06); }
}

@media (max-width: 768px) {
  .ct-hero    { padding: 56px 24px 48px; }
  .ct-strip   { padding: 28px 24px; }
  .ct-strip-divider { display: none; }
  .ct-strip-stats { gap: 24px; flex-wrap: wrap; }
  .ct-strip-stat  { padding: 0; }
  .ct-offices { padding: 48px 24px; }
  .ct-split-left, .ct-split-right { padding: 40px 24px; }
  /* Section heading — reduce side padding and font size */
  .ct-head { padding: 28px 24px; }
  .ct-title { font-size: 32px; }
}

@media (max-width: 560px) {
  .ct-form-row { grid-template-columns: 1fr; }
  .ct-hero-pills { flex-direction: column; gap: 8px; }
  .ct-offices-grid { grid-template-columns: 1fr 1fr; }
}

@media (max-width: 380px) {
  .ct-offices-grid { grid-template-columns: 1fr; }
}
