/* ===== widgets.css inlined (was @import — removed serial CSS chain for FCP) ===== */
/* MOVA widget shell — renkli başlık bandı + yuvarlatılmış köşe (Mortgage Finder tarzı, MOVA navy/gold) */

/* Token source: css/tokens.css (kit bridge + brand). Widget vars live there. */

/* ── Base shell ── */
.mova-widget {
  border-radius: var(--mova-widget-radius);
  overflow: hidden;
  background: #fff;
  border: 1px solid var(--line);
  box-shadow: var(--mova-widget-shadow);
  display: flex;
  flex-direction: column;
}

.mova-widget__head {
  background: var(--mova-widget-head-bg);
  color: #fff;
  padding: 14px 20px;
  display: flex;
  align-items: center;
  gap: 12px;
  flex-shrink: 0;
}

.mova-widget__head h3,
.mova-widget__head .mova-widget__head-title {
  margin: 0;
  font-size: 16px;
  font-weight: 700;
  color: #fff;
  line-height: 1.3;
}

.mova-widget__head .card-icon {
  width: 36px;
  height: 36px;
  margin: 0;
  border-radius: 10px;
  background: rgba(255, 255, 255, 0.14);
  font-size: 18px;
  flex-shrink: 0;
}

.mova-widget__head--brand {
  justify-content: space-between;
  padding: 16px 20px;
}

.mova-widget__brand {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-weight: 800;
  font-size: 18px;
  letter-spacing: 0.04em;
  color: #fff;
}

.mova-widget__brand-mark {
  display: inline-grid;
  place-items: center;
  width: 32px;
  height: 32px;
  border-radius: 9px;
  background: rgba(255, 255, 255, 0.14);
  color: var(--gold);
}

.mova-widget__head--stat {
  justify-content: center;
  padding: 18px 16px;
}

.mova-widget__head--stat strong {
  font-family: var(--display);
  font-size: clamp(28px, 4vw, 38px);
  font-weight: 600;
  color: #fff;
  line-height: 1.1;
}

.mova-widget__head .step-num {
  font-family: var(--display);
  font-size: 22px;
  font-weight: 600;
  color: var(--gold-soft);
  margin: 0;
}

.mova-widget__body {
  padding: 20px 22px 22px;
  flex: 1;
  min-width: 0;
}

.mova-widget__lead-title {
  font-family: var(--display);
  font-size: clamp(22px, 3vw, 26px);
  font-weight: 600;
  color: var(--navy-900);
  margin: 0 0 8px;
  line-height: 1.2;
}

.mova-widget__lead-sub {
  color: var(--muted);
  font-size: 15px;
  line-height: 1.55;
  margin: 0 0 20px;
}

/* ── Service cards ── */
.card.mova-widget {
  padding: 0;
  border-radius: var(--mova-widget-radius);
}

.card.mova-widget .mova-widget__head h3 {
  color: #fff;
  margin-bottom: 0;
}

.card.mova-widget .mova-widget__body p {
  margin-bottom: 14px;
}

.card.mova-widget:hover {
  transform: translateY(-4px);
  box-shadow: var(--shadow);
  border-color: transparent;
}

/* ── Calculator panel ── */
.calc-panel.mova-widget,
.calc-panel-spoke.mova-widget {
  padding: 0;
  border-radius: var(--mova-widget-radius);
}

.calc-panel.mova-widget .mova-widget__body,
.calc-panel-spoke.mova-widget .mova-widget__body {
  padding-top: 22px;
}

/* ── Stats ── */
.stat.mova-widget {
  padding: 0;
  text-align: center;
  background: #fff;
}

.stat.mova-widget .mova-widget__body span {
  display: block;
  color: var(--muted);
  font-size: 14px;
  line-height: 1.45;
}

/* ── Process steps ── */
.step.mova-widget {
  padding: 0;
}

.step.mova-widget .mova-widget__body h3 {
  font-size: 17px;
  color: var(--navy-900);
  margin: 0 0 8px;
}

.step.mova-widget .mova-widget__body p {
  color: var(--muted);
  font-size: 15px;
  margin: 0;
}

/* ── Testimonials ── */
.quote.mova-widget {
  padding: 0;
  background: #fff;
}

.quote.mova-widget .mova-widget__head {
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.85);
}

.quote.mova-widget blockquote {
  font-size: 16px;
  color: var(--navy-800);
  line-height: 1.55;
  margin: 0;
}

.quote.mova-widget figcaption {
  margin-top: 14px;
  color: var(--muted);
  font-weight: 700;
  font-size: 14px;
}

/* ── About blocks ── */
.about-block.mova-widget .mova-widget__body p {
  margin: 0;
  color: var(--muted);
  font-size: 15px;
  line-height: 1.65;
}

/* ── Lead form (callback modal tarzı) ── */
.lead-form.mova-widget {
  padding: 0;
  border-radius: var(--mova-widget-radius);
  box-shadow: var(--shadow-lg);
}

.lead-form.mova-widget .lf-row {
  margin-bottom: 14px;
}

.lead-form.mova-widget label span {
  font-size: 13px;
}

.lead-form.mova-widget input,
.lead-form.mova-widget select {
  border-radius: 10px;
}

.lead-form.mova-widget input:focus,
.lead-form.mova-widget select:focus {
  border-color: var(--navy-600);
  box-shadow: 0 0 0 3px rgba(29, 61, 112, 0.12);
}

/* ── Hero rate card (cam + renkli başlık) ── */
.rate-card.mova-widget {
  padding: 0;
  border-radius: var(--mova-widget-radius);
  background: rgba(255, 255, 255, 0.12);
  border: 1px solid rgba(255, 255, 255, 0.35);
}

.rate-card.mova-widget .mova-widget__head {
  background: rgba(10, 24, 48, 0.72);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  justify-content: space-between;
  font-size: 14px;
  font-weight: 600;
}

.rate-card.mova-widget .mova-widget__body {
  padding: 20px 22px 22px;
}

.rate-card.mova-widget .rate-amount {
  margin-bottom: 16px;
}

.rate-card.mova-widget .rate-row:first-of-type {
  border-top: none;
}

/* ── Hub / partner cards (spoke — CSS başlık bandı) ── */
.hub-card,
.partner-card {
  padding: 0;
  overflow: hidden;
  border-radius: var(--mova-widget-radius);
  box-shadow: var(--mova-widget-shadow);
}

.hub-card > h3,
.partner-card > h3 {
  background: var(--mova-widget-head-bg);
  color: #fff;
  margin: 0;
  padding: 14px 18px;
  font-size: 16px;
  font-weight: 700;
}

.hub-card > p,
.partner-card > p {
  padding: 16px 18px 0;
  margin-bottom: 12px;
}

.hub-card > .card-link,
.partner-card > .card-link {
  display: inline-block;
  padding: 0 18px 18px;
  color: var(--gold);
  font-weight: 700;
  font-size: 14px;
}

.hub-card:hover,
.partner-card:hover {
  box-shadow: var(--shadow);
  transform: translateY(-2px);
}

.hub-card > p,
.partner-card > p {
  color: var(--muted);
  font-size: 15px;
}

/* ── FAQ — tek kaynak stil aşağıda (bkz. .faq / .faq-item bloğu) ── */

.prop-card .prop-body.mova-widget__body {
  padding-top: 16px;
}

.prop-card .mova-widget__head h3 {
  font-size: 17px;
}

/* ── About blocks ── */
.about-block.mova-widget {
  padding: 0;
}

.about-block.mova-widget .mova-widget__body p {
  margin: 0;
  color: var(--muted);
  font-size: 15px;
  line-height: 1.65;
}

.prop-card {
  border-radius: var(--mova-widget-radius, var(--radius));
}

.area-card {
  border-radius: var(--mova-widget-radius, var(--radius));
}

.area-card::after {
  background: linear-gradient(180deg, rgba(10, 24, 48, 0.08) 0%, transparent 38%);
}

.doc-item.mova-widget {
  display: flex;
  flex-direction: column;
  list-style: none;
}

.doc-item .doc-title {
  background: transparent;
  color: #fff;
  padding: 0;
  font-size: 15px;
  font-weight: 700;
}

.doc-item .doc-check {
  display: none;
}

.doc-item .mova-widget__body {
  padding-top: 14px;
  padding-bottom: 16px;
}

.doc-item .doc-desc {
  padding: 0;
  margin: 0;
}
/* ===== end inlined widgets.css ===== */

@font-face {
  font-family: "Canela Display";
  src:
    url("../assets/fonts/CanelaDisplay-Medium.woff2") format("woff2"),
    url("../assets/fonts/CanelaDisplay-Medium.otf") format("opentype");
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}

/* :root brand + kit bridge → css/tokens.css (load before this file) */

/* widgets.css imported at top of file */

* { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; scroll-padding-top: var(--mova-header-h, 100px); }
body {
  font-family: var(--font);
  color: var(--text);
  background: var(--bg);
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
}
img { max-width: 100%; display: block; }
a { color: inherit; text-decoration: none; }

.container { width: 100%; max-width: var(--maxw); margin: 0 auto; padding: 0 24px; }

/* Buttons — MOVA pill language; min-height from tokens.css (--touch-min) */
.btn {
  display: inline-flex; align-items: center; justify-content: center; gap: 8px;
  font-weight: 700; font-size: 15px; line-height: 1;
  padding: 0 22px; border-radius: var(--radius-pill, 999px); border: 1px solid transparent;
  cursor: pointer; transition: transform .15s ease, box-shadow .2s ease, background .2s ease, color .2s ease;
  white-space: nowrap;
}
.btn:active { transform: translateY(1px); }
.btn-lg { padding: 0 28px; font-size: 16px; }
.btn-block { width: 100%; }
.btn-primary { background: var(--gold); color: #16130a; box-shadow: 0 10px 26px rgba(201,163,90,.35); }
.btn-primary:hover { background: var(--gold-bright, #d8b062); box-shadow: 0 14px 34px rgba(201,163,90,.45); }
.btn-outline { background: transparent; border-color: rgba(255,255,255,.35); color: #fff; }
.btn-outline:hover { border-color: #fff; background: rgba(255,255,255,.08); }
.btn-ghost { background: transparent; color: var(--navy-800); }
.btn-ghost:hover { background: var(--bg-soft); }

.eyebrow {
  display: inline-block; font-size: 13px; font-weight: 700; letter-spacing: .12em;
  text-transform: uppercase; color: var(--gold); background: var(--gold-tint);
  padding: 6px 12px; border-radius: 999px; margin-bottom: 16px;
}
.accent { color: var(--gold); }

/* Header */
.site-header {
  position: fixed; top: 0; left: 0; right: 0; z-index: 50;
  background: #fff;
  border-bottom: none;
  box-shadow: none;
  transition: none;
}
.site-header.scrolled { box-shadow: none; border-color: transparent; }

/* Legacy utility bar (unused — single-row header) */
.header-utility { display: none !important; }

/* Single-row navy bar: brand | primary | lang + Partner Login */
.nav-toolbar {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-left: auto;
  flex-shrink: 0;
}
.nav-toolbar .lang-btn {
  color: rgba(255, 255, 255, 0.92);
  border-color: rgba(255, 255, 255, 0.35);
  background: transparent;
  font-size: 12px;
  padding: 6px 12px;
}
.nav-toolbar .lang-btn:hover {
  background: rgba(255, 255, 255, 0.1);
  color: #fff;
}
.nav-toolbar .nav-login-btn {
  display: inline-flex;
  padding: 7px 14px;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .02em;
  color: var(--navy-900);
  background: linear-gradient(135deg, #e8c878 0%, var(--gold) 45%, #b8860b 100%);
  border: 1px solid rgba(255, 255, 255, 0.35);
  border-radius: 8px;
  box-shadow: 0 2px 10px rgba(201, 163, 90, 0.35);
  text-decoration: none;
  white-space: nowrap;
  transition: transform .15s, box-shadow .15s, filter .15s;
}
.nav-toolbar .nav-login-btn:hover {
  filter: brightness(1.05);
  box-shadow: 0 4px 14px rgba(201, 163, 90, 0.5);
  transform: translateY(-1px);
}

/* Full-bleed solid navy main bar */
.header-main {
  width: 100%;
  background: var(--navy-900);
  border-bottom: 1px solid rgba(255, 255, 255, 0.06);
}
.header-main .nav {
  background: transparent;
  border: none;
}

/* Shell nav typography — locked Manrope across home + spoke (pa-card Inter must not leak) */
.site-header,
.site-header .nav-primary,
.site-header .nav-primary a,
.site-header .nav-dd__btn,
.site-header .nav-dd__item,
.site-header .lang-btn,
.site-header .nav-login-btn,
.site-header .nav-cta,
.nav-drawer,
.nav-drawer a,
.nav-drawer .nav-acc__btn,
.nav-drawer .nav-acc__link {
  font-family: var(--font, Manrope, system-ui, sans-serif);
}

.nav-primary {
  display: none; align-items: center; gap: 2px; flex: 1; justify-content: flex-end; min-width: 0;
}
.nav--brand-left { justify-content: flex-start; }
.nav--brand-left .nav-actions { margin-left: 8px; }
.nav-primary a {
  font-size: 13px; font-weight: 700; color: rgba(255, 255, 255, 0.92);
  padding: 8px 9px; border-radius: 8px; text-decoration: none; white-space: nowrap;
  transition: background .15s, color .15s;
}
.nav-primary a:hover { background: rgba(255, 255, 255, 0.12); color: #fff; }
.nav-primary a.active { color: #fff; background: rgba(255, 255, 255, 0.14); }

/* Calculators dropdown */
.nav-dd {
  position: relative;
  display: flex;
  align-items: center;
}
.nav-dd__btn {
  appearance: none;
  border: 0;
  background: transparent;
  font: inherit;
  font-size: 13px;
  font-weight: 700;
  color: rgba(255, 255, 255, 0.92);
  padding: 8px 9px;
  border-radius: 8px;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  gap: 4px;
  white-space: nowrap;
  transition: background .15s, color .15s;
}
.nav-dd__btn:hover,
.nav-dd.is-open .nav-dd__btn,
.nav-dd.is-active .nav-dd__btn {
  background: rgba(255, 255, 255, 0.12);
  color: #fff;
}
.nav-dd__caret {
  font-size: 10px;
  opacity: 0.85;
  line-height: 1;
}
.nav-dd__panel {
  display: none;
  position: absolute;
  top: calc(100% + 6px);
  left: 0;
  min-width: 240px;
  padding: 8px;
  border-radius: 12px;
  background: #fff;
  border: 1px solid #e2e8f0;
  box-shadow: 0 12px 32px rgba(11, 31, 53, 0.18);
  z-index: 80;
}
.nav-dd.is-open .nav-dd__panel { display: flex; flex-direction: column; gap: 2px; }
.nav-dd__item {
  display: flex !important;
  align-items: center;
  gap: 10px;
  padding: 10px 12px !important;
  border-radius: 8px !important;
  color: #0b1f35 !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  background: transparent !important;
  text-decoration: none;
  white-space: nowrap;
}
.nav-dd__item:hover,
.nav-dd__item.is-active {
  background: #f1f5f9 !important;
  color: #0b1f35 !important;
}
.nav-dd__ico {
  flex-shrink: 0;
  color: #0b1f35;
  opacity: 0.75;
}
.nav-dd__item.is-active .nav-dd__ico,
.nav-dd__item:hover .nav-dd__ico {
  color: #c9a35a;
  opacity: 1;
}
.nav-dd__sep {
  height: 1px;
  margin: 6px 10px;
  background: #e2e8f0;
}
.nav-dd__item--login {
  font-weight: 800;
}
.nav-dd__item--login .nav-dd__ico {
  color: #c9a35a;
  opacity: 1;
}
.nav-dd__langs {
  padding: 8px 12px 10px;
}
.nav-dd__langs-label {
  display: block;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .04em;
  text-transform: uppercase;
  color: #64748b;
  margin-bottom: 6px;
}
.nav-dd__lang-row {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}
.nav-dd__lang {
  appearance: none;
  border: 1px solid #e2e8f0;
  background: #fff;
  color: #0b1f35;
  font: inherit;
  font-size: 12px;
  font-weight: 800;
  padding: 6px 10px;
  border-radius: 8px;
  cursor: pointer;
  min-width: 40px;
  transition: background .15s, border-color .15s, color .15s;
}
.nav-dd__lang:hover {
  border-color: #c9a35a;
  background: #faf6ee;
}
.nav-dd__lang.is-active {
  border-color: #c9a35a;
  background: rgba(201, 163, 90, 0.18);
  color: #0b1f35;
}

/* Primary CTA in nav */
.nav-primary .nav-cta {
  display: inline-flex !important;
  align-items: center;
  margin-left: 6px;
  padding: 8px 14px !important;
  border-radius: 10px !important;
  font-size: 12.5px !important;
  font-weight: 800 !important;
  letter-spacing: .01em;
  color: var(--navy-900) !important;
  background: linear-gradient(135deg, #e8c878 0%, var(--gold) 45%, #b8860b 100%) !important;
  border: 1px solid rgba(255, 255, 255, 0.35);
  box-shadow: 0 2px 10px rgba(201, 163, 90, 0.35);
  white-space: nowrap;
}
.nav-primary .nav-cta:hover {
  filter: brightness(1.05);
  background: linear-gradient(135deg, #e8c878 0%, var(--gold) 45%, #b8860b 100%) !important;
  color: var(--navy-900) !important;
}

/* Services mega-menu */
.nav-mega__panel {
  left: 0;
  right: auto;
  min-width: min(880px, calc(100vw - 40px));
  max-width: calc(100vw - 32px);
  padding: 18px !important;
  flex-direction: row !important;
  align-items: stretch;
  gap: 16px;
  box-sizing: border-box;
  overflow: hidden;
}
.nav-mega.is-open .nav-mega__panel {
  display: flex !important;
}
.nav-mega__cols {
  display: grid;
  grid-template-columns: repeat(3, minmax(160px, 1fr));
  gap: 8px 20px;
  flex: 1;
  min-width: 0;
}
.nav-mega__col {
  display: flex;
  flex-direction: column;
  gap: 2px;
  min-width: 0;
}
.nav-mega__head {
  display: block !important;
  font-size: 11px !important;
  font-weight: 800 !important;
  letter-spacing: .06em;
  text-transform: uppercase;
  color: #0b1f35 !important;
  padding: 6px 8px 10px !important;
  margin-bottom: 2px;
  border-bottom: 1px solid #e2e8f0;
  background: transparent !important;
  border-radius: 0 !important;
  text-decoration: none;
}
.nav-mega__head:hover,
.nav-mega__head.is-active {
  color: #c9a35a !important;
  background: transparent !important;
}
.nav-mega__link {
  display: block !important;
  padding: 8px 8px !important;
  border-radius: 8px !important;
  color: #334155 !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  background: transparent !important;
  text-decoration: none;
  white-space: nowrap;
}
.nav-mega__link:hover,
.nav-mega__link.is-active {
  background: #f1f5f9 !important;
  color: #0b1f35 !important;
}
.nav-mega__ext {
  margin-inline-start: 4px;
  font-size: 11px;
  opacity: 0.7;
}
.nav-mega__promo {
  width: 200px;
  flex-shrink: 0;
  padding: 14px;
  border-radius: 12px;
  background: linear-gradient(160deg, #0a1830 0%, #152a4a 100%);
  color: #fff;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  gap: 8px;
}
.nav-mega__promo-kicker {
  margin: 0;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .06em;
  text-transform: uppercase;
  color: rgba(232, 200, 120, 0.95);
}
.nav-mega__promo-title {
  margin: 0 0 4px;
  font-size: 15px;
  font-weight: 800;
  line-height: 1.3;
  color: #fff;
}
.nav-mega__promo .btn {
  align-self: flex-start;
  margin-top: 4px;
}

/* Mobile drawer accordion */
.nav-drawer .nav-drawer__top {
  color: #fff;
  font-weight: 700;
  font-size: 20px;
  padding: 14px 0;
  border-bottom: 1px solid rgba(255,255,255,.1);
  text-decoration: none;
}
.nav-acc {
  border-bottom: 1px solid rgba(255,255,255,.1);
}
.nav-acc__btn {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  appearance: none;
  border: 0;
  background: transparent;
  color: #fff;
  font: inherit;
  font-weight: 700;
  font-size: 20px;
  padding: 14px 0;
  cursor: pointer;
  text-align: start;
}
.nav-acc__btn--sub {
  font-size: 16px;
  font-weight: 700;
  color: rgba(255,255,255,.92);
}
.nav-acc__panel {
  display: none;
  flex-direction: column;
  padding: 0 0 10px 10px;
  gap: 0;
}
.nav-acc.is-open > .nav-acc__panel { display: flex; }
.nav-acc__link {
  color: rgba(255,255,255,.88) !important;
  font-size: 16px !important;
  font-weight: 600 !important;
  padding: 10px 0 !important;
  border-bottom: 0 !important;
  text-decoration: none;
}
.nav-acc__link:hover,
.nav-acc__link.active {
  color: var(--gold) !important;
  padding-left: 4px !important;
}
.nav-drawer .drawer-cta {
  margin-top: 20px;
}

@media (min-width: 1100px) {
  .nav-primary { display: flex; }
}

.site-header--layered .nav-toggle {
  border-color: rgba(255, 255, 255, 0.35);
}
.site-header--layered .nav-toggle span { background: #fff; }
.site-header--layered .nav-toggle:hover { background: rgba(255, 255, 255, 0.1); }

/* Kill scroll/theme header mutations — design is locked */
.site-header:not(.scrolled),
.site-header.scrolled,
body.home-hero-flatlay .site-header,
body.home-hero-flatlay .site-header:not(.scrolled),
body.home-hero-dark .site-header,
body.home-hero-dark .site-header:not(.scrolled) {
  background: #fff;
  -webkit-backdrop-filter: none;
  backdrop-filter: none;
  border-bottom: none;
  box-shadow: none;
}
body.home-hero-flatlay .header-main,
body.home-hero-dark .header-main,
.site-header--layered:not(.scrolled) .header-main,
.site-header--layered.scrolled .header-main {
  background: var(--navy-900);
}

.nav { display: flex; align-items: center; justify-content: space-between; height: 64px; gap: 16px; }
.brand { display: inline-flex; align-items: flex-start; gap: 10px; font-weight: 800; flex-shrink: 0; }
.brand-home {
  display: none; /* superseded 2026-07-11 by .brand-mark */
}
.brand-mark {
  display: block;
  /* +40% display width vs prior ~21.5×40 → ~30×56 */
  height: 56px;
  width: auto;
  max-width: 50px;
  object-fit: contain;
  flex-shrink: 0;
  border-radius: 2px;
  /* NBD-thin frame: 1px CSS border (PNG has no baked stroke) */
  border: 1px solid rgba(255, 255, 255, 0.92);
  box-sizing: border-box;
}
.brand:hover .brand-mark {
  outline: 1px solid var(--gold);
  outline-offset: 2px;
}
.brand-logo {
  display: block;
  height: 44px;
  width: auto;
  max-width: 160px;
  object-fit: contain;
  background: #fff;
  border-radius: 8px;
  padding: 4px 10px;
}
/* Logo wordmark — original white crop; size tuned tight above Arabic */
.brand-wordmark-img {
  display: block;
  height: 24px;
  width: auto;
  max-width: 150px;
  object-fit: contain;
  object-position: left center;
  flex-shrink: 0;
}
.brand-wordmark {
  display: none; /* reserved: Canela text wordmark when fonts shipped */
  align-items: flex-end;
  font-family: var(--brand-display);
  font-weight: 500;
  font-size: 30px;
  letter-spacing: -0.03em;
  color: #fff;
  line-height: 1;
  text-transform: uppercase;
  white-space: nowrap;
}
/* Header lockup: wordmark + Arabic below (same width as MOVA) */
.brand-lockup {
  display: inline-flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: stretch;
  height: 56px;
  width: max-content;
  box-sizing: border-box;
  padding: 0;
  /* Clear space so Arabic does not sit in MOVA PNG descender zone */
  gap: 12px;
  min-width: 0;
}
.brand-lockup .brand-wordmark-img {
  display: block;
  margin: 0;
  height: 20px;
  width: auto;
  max-width: 150px;
  object-fit: contain;
  object-position: left top;
  flex-shrink: 0;
}
.brand-lockup__name {
  display: none; /* superseded: use .brand-wordmark-img */
}
.brand-lockup__ar {
  display: block;
  width: 100%;
  box-sizing: border-box;
  font-family: "Noto Naskh Arabic", "Amiri", "Traditional Arabic", "Segoe UI", Tahoma, serif;
  font-weight: 600;
  /* Fitted to MOVA width via JS (MOVA.fitBrandArabic); CSS fallback */
  font-size: 15px;
  line-height: 1;
  letter-spacing: 0.01em;
  color: rgba(255, 255, 255, 0.92);
  white-space: nowrap;
  text-align: center;
  margin: 0;
  padding: 0;
  position: relative;
  z-index: 1;
  transform-origin: center top;
}
@supports (font-variation-settings: normal) {
  /* no-op: keep img primary until Canela files exist */
}
.brand-wordmark__a::before,
.brand-wordmark__a::after {
  content: "";
  position: absolute;
  bottom: 0;
  width: 0.12em;
  height: 100%;
  background: #fff;
  border-radius: 1px;
}
.brand-wordmark__a::before {
  left: 0.08em;
  transform: skewX(-20deg);
  transform-origin: bottom center;
}
.brand-wordmark__a::after {
  right: 0.08em;
  transform: skewX(20deg);
  transform-origin: bottom center;
}
.brand-name { font-size: 22px; letter-spacing: .04em; color: #fff; }
.nav-actions { display: flex; align-items: center; gap: 12px; margin-left: auto; flex-shrink: 0; }
.nav-actions__cluster { display: flex; align-items: center; gap: 10px; }
.nav-top-links { display: none; align-items: center; gap: 6px; margin-right: 4px; }
@media (min-width: 960px) {
  .nav-top-links { display: flex; }
}
.nav-top-link {
  font-size: 13px; font-weight: 600; color: var(--navy-800);
  padding: 7px 11px; border-radius: 8px; white-space: nowrap; text-decoration: none;
  transition: background .15s, color .15s;
}
.nav-top-link:hover { color: var(--navy-900); background: rgba(10, 24, 48, 0.06); }
.nav-login-btn {
  display: none; align-items: center; justify-content: center;
  padding: 8px 16px; border-radius: 10px; font-size: 13px; font-weight: 800;
  letter-spacing: .02em; white-space: nowrap; text-decoration: none;
  color: var(--navy-900);
  background: linear-gradient(135deg, #e8c878 0%, var(--gold) 45%, #b8860b 100%);
  border: 1px solid rgba(255, 255, 255, 0.35);
  box-shadow: 0 2px 10px rgba(201, 163, 90, 0.35);
  transition: transform .15s, box-shadow .15s, filter .15s;
}
.nav-login-btn:hover {
  filter: brightness(1.05);
  box-shadow: 0 4px 14px rgba(201, 163, 90, 0.5);
  transform: translateY(-1px);
}
.nav-toggle {
  display: flex; flex-direction: column; gap: 5px; background: none; border: 1px solid rgba(255,255,255,.35);
  border-radius: 10px; cursor: pointer; padding: 11px 10px; transition: background .15s, border-color .15s;
}
.nav-toggle:hover { background: rgba(255,255,255,.1); }
.nav-toggle span { width: 20px; height: 2px; background: #fff; border-radius: 2px; transition: .25s; }
.nav-toggle.open span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
.nav-toggle.open span:nth-child(2) { opacity: 0; }
.nav-toggle.open span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }
@media (min-width: 1100px) {
  .site-header--layered .nav-toggle,
  .site-header--layered .nav-actions { display: none; }
}

/* Content starts below fixed header (single navy bar ~64px) */
:root { --mova-header-h: 64px; }
body.home-hero-flatlay,
body.home-hero-dark,
body:has(.site-header--layered) {
  padding-top: var(--mova-header-h);
}

/* Slide-in menu drawer (all breakpoints) */
.nav-drawer {
  position: fixed; top: 0; right: 0; height: 100vh; width: min(360px, 86vw); z-index: 70;
  background: rgba(10,24,48,.72); -webkit-backdrop-filter: blur(22px) saturate(140%); backdrop-filter: blur(22px) saturate(140%);
  border-left: 1px solid rgba(255,255,255,.14); box-shadow: -30px 0 80px rgba(0,0,0,.4);
  display: flex; flex-direction: column; gap: 4px; padding: 72px 30px 30px;
  transform: translateX(105%); transition: transform .4s cubic-bezier(.2,.7,.2,1); visibility: hidden;
}
.nav-drawer.open { transform: translateX(0); visibility: visible; }
.nav-drawer a { color: #fff; font-weight: 700; font-size: 20px; padding: 14px 0; border-bottom: 1px solid rgba(255,255,255,.1); transition: color .15s, padding-left .15s; }
.nav-drawer a:hover { color: var(--gold); padding-left: 6px; }
.drawer-cta { display: flex; flex-direction: column; gap: 12px; margin-top: 24px; }
.drawer-cta .btn { width: 100%; }
.drawer-cta .btn-outline { color: #fff; border-color: rgba(255,255,255,.4); }
.nav-backdrop { position: fixed; inset: 0; z-index: 65; background: rgba(4,10,22,.5); opacity: 0; transition: opacity .3s; }
.nav-backdrop.show { opacity: 1; }

/* Hero — nearly full viewport under fixed header */
.hero {
  position: relative; color: #fff; overflow: hidden;
  min-height: calc(100vh - var(--mova-header-h, 100px));
  min-height: calc(100svh - var(--mova-header-h, 100px));
  height: calc(100vh - var(--mova-header-h, 100px));
  height: calc(100svh - var(--mova-header-h, 100px));
  max-height: none;
  display: flex; flex-direction: column;
  background: #0a1830;
}
.hero-media {
  position: absolute; inset: 0; z-index: 0; overflow: hidden;
  background: #0a1830;
}
.hero-media--flat {
  background: #0a1830;
}
.hero-slide--dark .hero-media--flat,
.hero-slide--dark .hero-media {
  background: #0a1830;
}
.hero-slide--flatlay .hero-media--flat {
  background: #0a1830;
}
.hero-media__img {
  width: 100%; height: 100%; object-fit: cover; object-position: 32% center;
}
.bg-zoom-img {
  transform: scale(1);
  will-change: transform;
  animation: movaBgZoom 22s ease-in-out infinite alternate;
}
@keyframes movaBgZoom {
  from { transform: scale(1); }
  to { transform: scale(1.06); }
}
@media (prefers-reduced-motion: reduce) {
  .bg-zoom-img { animation: none; transform: scale(1.02); }
}
.hero--flatlay { color: var(--navy-900); background: #f4f3ef; }
.hero-slide--flatlay { color: var(--navy-900); }
.hero-slide--flatlay .hero-media__img,
.hero-slide--flatlay .bg-zoom-img,
.hero--flatlay .hero-media__img,
.hero--flatlay .bg-zoom-img {
  object-position: 28% center;
}
.hero-slide--flatlay .hero-overlay,
.hero--flatlay .hero-overlay {
  background: transparent;
}
.hero-slide--flatlay .hero-copy h1,
.hero--flatlay .hero-copy h1 { color: var(--navy-900); text-shadow: none; }
.hero-slide--flatlay .hero-copy h1 .accent,
.hero--flatlay .hero-copy h1 .accent { text-shadow: none; }
.hero-slide--flatlay .lead,
.hero--flatlay .lead { color: var(--navy-700); text-shadow: none; }
.hero-slide--flatlay .lead .lead-hook,
.hero--flatlay .lead .lead-hook { color: var(--gold); }
.hero-slide--flatlay .lead strong,
.hero--flatlay .lead strong { color: var(--navy-900); }
.hero-slide--flatlay .eyebrow,
.hero--flatlay .eyebrow { color: var(--navy-800); background: rgba(201,163,90,.16); }
.hero-slide--flatlay .hero-badges strong,
.hero--flatlay .hero-badges strong { color: var(--navy-900); text-shadow: none; }
.hero-slide--flatlay .hero-badges span,
.hero--flatlay .hero-badges span { color: var(--navy-600); }
.hero-slide--flatlay .btn-outline,
.hero--flatlay .btn-outline { color: var(--navy-900); border-color: rgba(10,24,48,.28); }
.hero-slide--flatlay .btn-outline:hover,
.hero--flatlay .btn-outline:hover { background: rgba(10,24,48,.06); border-color: var(--navy-900); }
.hero-slide--flatlay .rate-card.mova-widget,
.hero--flatlay .rate-card.mova-widget {
  background: rgba(255, 255, 255, 0.42);
  -webkit-backdrop-filter: blur(22px) saturate(160%);
  backdrop-filter: blur(22px) saturate(160%);
  border: 1px solid rgba(255, 255, 255, 0.72);
  box-shadow: 0 22px 56px rgba(10, 24, 48, 0.12);
  color: var(--navy-900);
}
.hero-slide--flatlay .rate-card.mova-widget .mova-widget__head,
.hero--flatlay .rate-card.mova-widget .mova-widget__head { color: #fff; }
.hero-slide--flatlay .rate-amount,
.hero--flatlay .rate-amount { color: var(--navy-900); }
.hero-slide--flatlay .rate-amount .cur,
.hero-slide--flatlay .rate-amount .per,
.hero--flatlay .rate-amount .cur,
.hero--flatlay .rate-amount .per { color: var(--navy-600); }
.hero-slide--flatlay .rate-row,
.hero--flatlay .rate-row { border-top-color: rgba(10, 24, 48, 0.1); }
.hero-slide--flatlay .rate-row span,
.hero--flatlay .rate-row span { color: var(--navy-600); }
.hero-slide--flatlay .rate-row strong,
.hero--flatlay .rate-row strong { color: var(--navy-900); }

/* Hero slider — horizontal track */
.hero-slider { position: relative; }
.hero-slider__views {
  position: relative;
  flex: 1 1 auto;
  min-height: 0;
  overflow: hidden;
  z-index: 1;
}
.hero-slider__track {
  display: flex;
  height: 100%;
  min-height: inherit;
  will-change: transform;
  transition: transform 0.95s cubic-bezier(0.65, 0, 0.35, 1);
}
.hero-slide {
  flex: 0 0 100%;
  width: 100%;
  min-height: 100%;
  display: flex;
  flex-direction: column;
  position: relative;
}
.hero-slide > .container.hero-grid { flex: 1; }
.hero-slide--dark { color: #fff; }
.hero-slide--dark .hero-media__img,
.hero-slide--dark .bg-zoom-img { object-position: 22% center; }
.hero-slide--dark .hero-copy h1 { color: #fff; text-shadow: none; font-weight: 400; }
.hero-slide--dark .hero-copy h1 .accent { color: #fff; font-weight: 500; text-shadow: none; }
.hero-slide--dark .lead { color: rgba(255,255,255,.88); text-shadow: none; font-weight: 400; }
.hero-slide--dark .lead strong { color: #fff; font-weight: 500; }
.hero-slide--dark .lead .lead-hook { color: #fff; font-weight: 500; }
.hero-slide--dark .eyebrow {
  color: rgba(255,255,255,.92);
  background: transparent;
  border: 1px solid rgba(255,255,255,.35);
  -webkit-backdrop-filter: none;
  backdrop-filter: none;
  font-weight: 500;
  letter-spacing: .08em;
}
.hero-slide--dark .hero-badges strong { color: #fff; }
.hero-slide--dark .hero-badges span { color: rgba(255,255,255,.78); }
.hero-slide--dark .hero-badges strong { color: #fff; }
.hero-slide--dark .hero-badges span { color: rgba(255,255,255,.68); }
.hero-slide--dark .btn-outline { color: #fff; border-color: rgba(255,255,255,.42); }
.hero-slide--dark .btn-outline:hover { background: rgba(255,255,255,.1); border-color: #fff; }
.hero-slide--dark .rate-card.mova-widget,
.hero-slide--dark .hero-promo-card {
  background: rgba(255, 255, 255, 0.11);
  -webkit-backdrop-filter: blur(26px) saturate(165%);
  backdrop-filter: blur(26px) saturate(165%);
  border: 1px solid rgba(255, 255, 255, 0.32);
  box-shadow: 0 28px 80px rgba(0, 0, 0, 0.38);
  color: #fff;
}
.hero-slide--dark .rate-amount,
.hero-slide--dark .rate-row strong { color: #fff; }
.hero-slide--dark .rate-row { border-top-color: rgba(255,255,255,.18); }
.hero-slide--dark .rate-row span { color: rgba(255,255,255,.72); }
.hero-slide--dark .rate-amount .cur,
.hero-slide--dark .rate-amount .per { color: rgba(255,255,255,.72); }

.hero-slide-tag {
  display: inline-block;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .12em;
  text-transform: uppercase;
  padding: 6px 12px;
  border-radius: 999px;
  margin-bottom: 14px;
  background: rgba(10, 24, 48, 0.08);
  color: var(--navy-800);
  border: 1px solid rgba(10, 24, 48, 0.12);
}
.hero-slide--dark .hero-slide-tag {
  background: transparent;
  color: rgba(255, 255, 255, 0.92);
  border-color: rgba(255, 255, 255, 0.35);
  font-weight: 500;
}
.hero-slide-tag--gold {
  background: transparent;
  color: rgba(255, 255, 255, 0.92);
  border-color: rgba(255, 255, 255, 0.35);
  font-weight: 500;
}

.hero-slider__chrome {
  position: absolute;
  top: 14px;
  left: 0;
  right: 0;
  z-index: 4;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  pointer-events: none;
}
.hero-slider__tags {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  pointer-events: none;
  flex: 1;
  min-width: 0;
}
.hero-slider__tag {
  pointer-events: auto;
  border: 1px solid rgba(10, 24, 48, 0.14);
  background: rgba(255, 255, 255, 0.72);
  -webkit-backdrop-filter: blur(10px);
  backdrop-filter: blur(10px);
  color: var(--navy-800);
  font-size: 13px;
  font-weight: 700;
  padding: 9px 16px;
  border-radius: 999px;
  cursor: pointer;
  transition: background .25s, border-color .25s, color .25s, box-shadow .25s, transform .25s;
  transform-origin: center bottom;
}
.hero-slider__tag.is-active {
  background: var(--navy-900);
  border-color: var(--navy-900);
  color: #fff;
  box-shadow: 0 8px 24px rgba(10, 24, 48, 0.18);
  animation: heroTagPop 0.55s cubic-bezier(0.34, 1.4, 0.64, 1) both;
}
@keyframes heroTagPop {
  0% { opacity: 0.55; transform: translateY(10px) scale(0.94); }
  100% { opacity: 1; transform: translateY(0) scale(1); }
}
.hero-slider__tag:not(.is-active) {
  animation: heroTagSettle 0.4s ease both;
}
@keyframes heroTagSettle {
  from { transform: translateY(-4px); }
  to { transform: translateY(0); }
}
.hero-slider__tag:hover {
  border-color: rgba(201, 163, 90, 0.45);
  color: var(--navy-900);
}
@media (prefers-reduced-motion: reduce) {
  .hero-slider__track { transition: none; }
  .hero-slider__tag.is-active,
  .hero-slider__tag:not(.is-active) { animation: none; }
}
.hero-slider--dark .hero-slider__tag {
  background: rgba(255, 255, 255, 0.1);
  border-color: rgba(255, 255, 255, 0.22);
  color: rgba(255, 255, 255, 0.88);
}
.hero-slider--dark .hero-slider__tag.is-active {
  background: var(--gold);
  border-color: var(--gold);
  color: var(--navy-900);
}
.hero-slider--light .trust-bar--hero,
.hero-slider--dark .trust-bar--hero,
.trust-bar--hero.trust-bar--locked {
  /* Locked — never changes with slide theme */
  background: #ffffff !important;
  -webkit-backdrop-filter: none !important;
  backdrop-filter: none !important;
  border-top: 2px solid var(--navy-900) !important;
}
.hero-slider--light .trust-label,
.hero-slider--dark .trust-label,
.trust-bar--locked .trust-label {
  color: var(--navy-900) !important;
  opacity: 1 !important;
}
.hero-slider--light .marquee-track span,
.hero-slider--dark .marquee-track span { color: var(--navy-900); }

/* Count + arrows — same row as tags (top right) */
.hero-slider__controls {
  position: static;
  display: flex;
  align-items: center;
  gap: 12px;
  flex-shrink: 0;
  pointer-events: none;
  margin: 0;
  right: auto;
  bottom: auto;
  left: auto;
}
.hero-slider__count {
  margin: 0;
  font-size: 14px;
  font-weight: 700;
  letter-spacing: 0.06em;
  color: rgba(255, 255, 255, 0.92);
  font-variant-numeric: tabular-nums;
  pointer-events: none;
  white-space: nowrap;
}
.hero-slider__count-sep {
  margin: 0 4px;
  opacity: 0.55;
  font-weight: 500;
}
.hero-slider__arrows {
  display: flex;
  align-items: center;
  gap: 8px;
  pointer-events: auto;
}
.hero-slider__arrow {
  width: 40px;
  height: 40px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  border: 1px solid rgba(255, 255, 255, 0.35);
  background: rgba(10, 24, 48, 0.45);
  color: #fff;
  cursor: pointer;
  backdrop-filter: blur(6px);
  transition: background .15s, color .15s, transform .15s, border-color .15s, opacity .15s;
}
.hero-slider__arrow:hover:not(:disabled) {
  background: #fff;
  color: var(--navy-900);
  border-color: #fff;
  transform: scale(1.04);
}
.hero-slider__arrow:disabled {
  opacity: 0.35;
  cursor: default;
  transform: none;
}
.hero-slider--light .hero-slider__count { color: var(--navy-900); }
.hero-slider--light .hero-slider__arrow {
  background: rgba(255, 255, 255, 0.9);
  border-color: rgba(10, 24, 48, 0.16);
  color: var(--navy-900);
}
html[dir="rtl"] .hero-slider__chrome {
  flex-direction: row-reverse;
}
@media (max-width: 720px) {
  .hero-slider__chrome {
    top: 10px;
    gap: 10px;
    align-items: flex-start;
  }
  .hero-slider__controls { gap: 8px; }
  .hero-slider__arrow { width: 34px; height: 34px; }
  .hero-slider__count { font-size: 12px; }
}

.hero-promo-amount { font-size: 38px; line-height: 1.1; margin-bottom: 16px; }
.hero-promo-amount--sm { font-size: 30px; }

.hero-overlay {
  position: absolute; inset: 0; z-index: 1; pointer-events: none;
  background:
    linear-gradient(90deg, rgba(4,10,22,.12), transparent 55%),
    linear-gradient(0deg, rgba(4,10,22,.08), transparent 40%);
}
.hero-overlay--dark {
  background:
    linear-gradient(90deg, rgba(4,10,22,.12), transparent 55%),
    linear-gradient(0deg, rgba(4,10,22,.08), transparent 40%);
}
.hero-grid { display: grid; grid-template-columns: 1.05fr .95fr; gap: 40px; align-items: center; align-content: center; padding: 56px 0 32px; width: 100%; flex: 1; }
.hero .eyebrow {
  font-size: clamp(11px, 1.1vw, 13px); font-weight: 500; letter-spacing: .08em;
  padding: 6px 12px; margin-bottom: 14px;
}
.hero-copy h1 {
  /* ENBD banner: ~42px, white, regular weight */
  font-family: var(--display); font-weight: 400;
  font-size: clamp(34px, 3.6vw, 44px); line-height: 1.15; letter-spacing: -.01em;
  margin-bottom: 14px; text-shadow: none; color: #fff;
}
.hero-copy h1 .accent { font-weight: 500; color: #fff; text-shadow: none; }
.hero .lead {
  font-size: clamp(15px, 1.35vw, 18px); line-height: 1.5; font-weight: 400;
  color: rgba(255,255,255,.88); max-width: 540px; margin-bottom: 20px;
  text-shadow: none;
}
.hero .lead .lead-hook { font-weight: 500; color: #fff; }
.hero .lead strong { font-weight: 500; color: #fff; }
.hero .eyebrow { color: rgba(255,255,255,.92); background: transparent; border: 1px solid rgba(255,255,255,.35); }
.hero-badges strong { text-shadow: 0 2px 18px rgba(0,0,0,.45); }

/* Scroll-down cue */
.hero-scroll { position: absolute; bottom: 26px; left: 50%; transform: translateX(-50%); z-index: 2; width: 26px; height: 42px; border: 2px solid rgba(255,255,255,.6); border-radius: 14px; display: grid; place-items: start center; padding-top: 7px; }
.hero-scroll span { width: 4px; height: 8px; border-radius: 3px; background: #fff; animation: scrollcue 1.6s ease-in-out infinite; }
@keyframes scrollcue { 0% { opacity: 0; transform: translateY(-4px); } 40% { opacity: 1; } 100% { opacity: 0; transform: translateY(12px); } }
.hero-cta { display: flex; flex-wrap: wrap; gap: 12px; margin-bottom: 22px; }
.hero-badges { display: flex; gap: 24px; }
.hero-badges .hb { display: flex; flex-direction: column; }
.hero-badges strong { font-size: 22px; color: #fff; font-weight: 800; }
.hero-badges span { font-size: 13px; color: rgba(255,255,255,.65); }

.hero-visual { position: relative; }
.hero-slide .hero-media { position: absolute; inset: 0; z-index: 0; }
.hero-slide .hero-overlay { position: absolute; inset: 0; z-index: 1; }
.hero-slide .container.hero-grid { position: relative; z-index: 2; }
.hero-slider .hero-grid { padding-top: 64px; }

/* Copy on the right — card left (alternating slides) */
.hero-grid--copy-right {
  grid-template-columns: .95fr 1.05fr;
  grid-template-areas: "visual copy";
}
.hero-grid--copy-right .hero-copy {
  grid-area: copy;
  text-align: right;
}
.hero-grid--copy-right .hero-visual {
  grid-area: visual;
}
.hero-grid--copy-right .hero-slide-tag,
.hero-grid--copy-right .eyebrow {
  margin-inline-start: auto;
}
.hero-grid--copy-right .lead {
  margin-inline-start: auto;
  margin-inline-end: 0;
}
.hero-grid--copy-right .hero-cta {
  justify-content: flex-end;
}
.hero-grid--copy-right .hero-badges {
  justify-content: flex-end;
}
.hero-grid:not(.hero-grid--copy-right) {
  grid-template-areas: "copy visual";
}
.hero-grid:not(.hero-grid--copy-right) .hero-copy { grid-area: copy; }
.hero-grid:not(.hero-grid--copy-right) .hero-visual { grid-area: visual; }
.hero-slide:has(.hero-grid--copy-right) .hero-overlay {
  background:
    linear-gradient(270deg, rgba(4,10,22,.12), transparent 55%),
    linear-gradient(0deg, rgba(4,10,22,.08), transparent 40%);
}
.hero-slide:has(.hero-grid--copy-right) .hero-overlay--dark {
  background:
    linear-gradient(255deg, rgba(4, 10, 22, 0.12) 0%, transparent 55%);
}
.hero-slide:has(.hero-grid--copy-right) .hero-media__img,
.hero-slide:has(.hero-grid--copy-right) .bg-zoom-img {
  object-position: 78% center;
}

/* Frosted glass card (default hero / dark contexts) */
.rate-card {
  background: rgba(255,255,255,0.12);
  -webkit-backdrop-filter: blur(20px) saturate(140%);
  backdrop-filter: blur(20px) saturate(140%);
  color: #fff; border: 1px solid rgba(255,255,255,0.35); border-radius: 22px; padding: 26px;
  box-shadow: 0 24px 64px rgba(0,0,0,0.40); position: relative; z-index: 2;
}
.rate-card-head { display: flex; justify-content: space-between; align-items: center; color: rgba(255,255,255,0.78); font-size: 14px; margin-bottom: 12px; }
.pill { background: rgba(201,163,90,0.28); color: #f4e4c2; font-weight: 700; font-size: 12px; padding: 5px 11px; border-radius: 999px; border: 1px solid rgba(201,163,90,0.45); }
.rate-amount { font-family: var(--display); font-size: 44px; font-weight: 600; color: #fff; margin-bottom: 20px; }
.rate-amount .cur { font-size: 20px; color: rgba(255,255,255,0.72); font-family: var(--font); }
.rate-amount .per { font-size: 18px; color: rgba(255,255,255,0.72); font-family: var(--font); }
.rate-row { display: flex; justify-content: space-between; padding: 11px 0; border-top: 1px solid rgba(255,255,255,0.18); font-size: 15px; }
.rate-row span { color: rgba(255,255,255,0.72); }
.rate-row strong { color: #fff; }
.rate-card .btn { margin-top: 18px; }

/* Trust bar — generic + Why MOVA (banks moved from hero) */
.trust-bar { border-top: 1px solid rgba(255,255,255,.1); background: rgba(0,0,0,.15); padding: 22px 0; }
.trust-bar--hero {
  position: relative;
  z-index: 6;
  flex: 0 0 auto;
  margin-top: 0;
  padding: 18px 0;
  background: #fff;
  border-top: 2px solid #0a1830;
  -webkit-backdrop-filter: none;
  backdrop-filter: none;
}
.trust-bar .container,
.trust-bar--why {
  display: flex;
  align-items: center;
  gap: 20px;
  flex-wrap: wrap;
}
.trust-bar--why {
  width: 100%;
  margin: 0 0 16px;
  padding: 0 0 14px;
  background: transparent;
  border: none;
  border-bottom: 1px solid rgba(255, 255, 255, 0.12);
}
.trust-bar--why .trust-label {
  color: rgba(255, 255, 255, 0.88);
  flex: 0 0 auto;
}
.trust-bar--why .marquee {
  flex: 1 1 200px;
  min-width: 0;
}
.trust-bar--why .marquee-logo-frame {
  min-height: 48px;
  min-width: 88px;
  padding: 6px 12px;
  border-color: rgba(255, 255, 255, 0.35);
}
.trust-bar--why .marquee-logo {
  height: 28px;
  max-width: 140px;
}
.trust-label { font-size: 13px; color: var(--navy-900); text-transform: uppercase; letter-spacing: .1em; font-weight: 700; }
.trust-logos { display: flex; gap: 28px; flex-wrap: wrap; }
.trust-logos span { color: var(--navy-900); font-weight: 700; font-size: 16px; letter-spacing: .02em; }

/* Hero-altı mortgage ürün girişi (eski banka bandı slotu; snap atlamasın) */
.hero-entry {
  position: relative;
  z-index: 6;
  flex: 0 0 auto;
  background: #fff;
  border-top: 2px solid var(--navy-900);
  padding: 16px 0 18px;
}
.hero-entry__cards {
  gap: 14px;
}
/* Mobile pairs pages as scroll slides; desktop flattens into 4-col grid */
.hero-entry__page {
  display: contents;
}
.hero-entry__dots,
.hero-mobile-mast {
  display: none;
}
.home-contact-card {
  max-width: 640px;
  margin: 0 auto;
  padding: 28px 28px 32px;
  border-radius: 20px;
  background: var(--bg-card, #fff);
  border: 1px solid rgba(15, 23, 42, 0.08);
  box-shadow: 0 16px 40px rgba(15, 23, 42, 0.06);
}
.home-contact-card h2 {
  margin: 8px 0 10px;
  font-size: clamp(24px, 3vw, 32px);
}
.home-contact-card > p {
  margin: 0 0 16px;
  color: var(--muted);
  line-height: 1.55;
}
.home-contact-card__points {
  margin: 0 0 22px;
  padding: 0;
  list-style: none;
  display: grid;
  gap: 8px;
}
.home-contact-card__points li {
  position: relative;
  padding-left: 18px;
  font-size: 14px;
  font-weight: 600;
  color: var(--navy-900, #0f172a);
}
.home-contact-card__points li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.55em;
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: var(--gold, #c9a35a);
}
.home-contact-card__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
}
.home-contact-card__actions .btn {
  flex: 1 1 180px;
}
.hero-entry .about-card--lite .about-card__media { aspect-ratio: 16 / 7.5; }
.hero-entry .about-card--lite .about-card__body { padding: 12px 14px 12px; gap: 6px; }
.hero-entry .about-card--lite .about-card__body h3 { font-size: 16px; margin: 0; font-weight: 600; }
.hero-entry .about-card--lite .about-card__body p {
  font-size: 13px;
  line-height: 1.45;
  color: var(--muted);
  margin: 0;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.hero-entry .about-card__more { font-size: 13px; padding: 2px 0 0; }

/* Legacy standalone entry (unused) */
.section-entry {
  padding: 40px 0 44px;
  background: var(--bg-soft);
}

/* Sections */
.section { padding: 88px 0; }
.section-alt { background: var(--bg-soft); }
/* Site-wide section title stack — reference: What we do */
.section-head,
.areas-intro {
  max-width: 720px;
  margin: 0 auto 40px;
  text-align: center;
}
.section-head .eyebrow,
.areas-intro .eyebrow {
  display: inline-block;
  margin-bottom: 14px;
}
.section-head h2,
.areas-intro h2,
.calc-copy h2 {
  font-family: var(--display);
  font-weight: 600;
  font-size: clamp(28px, 3.6vw, 42px);
  line-height: 1.12;
  color: var(--navy-900);
  letter-spacing: -.01em;
  margin: 0;
}
.section-head--compact { margin-bottom: 16px; }
.section-head--compact h2 { font-size: clamp(26px, 3.2vw, 36px); }
.cta-copy h2 { font-family: var(--display); font-weight: 600; font-size: clamp(28px, 3.6vw, 42px); line-height: 1.12; color: #fff; letter-spacing: -.01em; }
.section-sub { color: var(--muted); font-size: 17px; margin-top: 14px; }

/* Why MOVA — bespoke dark flat-lay background */
.why-section--bespoke {
  position: relative;
  overflow: hidden;
  padding: 72px 0;
  background: #0a1830;
}
.why-section--solid {
  background: #0a1830;
}
.why-section--solid .why-section__bg { display: none; }
.why-section__overlay--solid {
  background: transparent;
}
.why-section__bg {
  position: absolute;
  inset: 0;
  z-index: 0;
  overflow: hidden;
}
.why-section__bg img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 22% center;
}
.why-section__overlay {
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  background:
    linear-gradient(105deg, rgba(4, 10, 22, 0.72) 0%, rgba(4, 10, 22, 0.48) 45%, rgba(4, 10, 22, 0.58) 100%);
}
.why-section__inner {
  position: relative;
  z-index: 2;
}
.why-section--bespoke .section-head h2 { color: #fff; }
.why-section--bespoke .section-sub { color: rgba(255, 255, 255, 0.78); }
.eyebrow--light {
  color: rgba(255, 255, 255, 0.92);
  background: rgba(201, 163, 90, 0.22);
  border: 1px solid rgba(201, 163, 90, 0.35);
}

/* Why MOVA — bento + frosted glass */
.why-bento { max-width: 1040px; margin: 0 auto; }

.why-glass {
  background: rgba(255, 255, 255, 0.1);
  -webkit-backdrop-filter: blur(18px) saturate(150%);
  backdrop-filter: blur(18px) saturate(150%);
  border: 1px solid rgba(255, 255, 255, 0.22);
  border-radius: var(--radius);
  box-shadow: 0 10px 36px rgba(0, 0, 0, 0.18);
  transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease;
}

.why-glass:hover {
  transform: translateY(-3px);
  box-shadow: 0 16px 44px rgba(0, 0, 0, 0.24);
  border-color: rgba(255, 255, 255, 0.32);
}

.why-glass--hero {
  display: flex;
  gap: 22px;
  align-items: flex-start;
  padding: clamp(28px, 4vw, 40px);
  margin-bottom: 18px;
  border-color: rgba(201, 163, 90, 0.55);
  box-shadow: 0 20px 56px rgba(201, 163, 90, 0.14), 0 12px 32px rgba(0, 0, 0, 0.22);
}

.why-glass--hero .why-glass__text h3 {
  font-size: clamp(22px, 3vw, 28px);
  margin-bottom: 10px;
}

.why-glass--hero .why-glass__text p {
  font-size: 16px;
  margin-bottom: 18px;
}

.why-glass__icon--hero {
  width: 64px;
  height: 64px;
  font-size: 32px;
  border-radius: 16px;
}

.why-glass__cta {
  display: inline-flex;
  margin-top: 4px;
}

.why-bento__featured {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 18px;
  margin-bottom: 18px;
}

.why-glass--featured {
  display: flex;
  gap: 18px;
  align-items: flex-start;
  padding: 26px 24px;
  border-color: rgba(201, 163, 90, 0.32);
}

.why-bento__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 14px;
}

.why-glass--compact {
  display: flex;
  gap: 14px;
  align-items: flex-start;
  padding: 18px 18px 20px;
}

.why-glass__icon {
  flex-shrink: 0;
  width: 44px;
  height: 44px;
  border-radius: 12px;
  background: rgba(201, 163, 90, 0.18);
  border: 1px solid rgba(201, 163, 90, 0.28);
  display: grid;
  place-items: center;
  font-size: 21px;
  line-height: 1;
}

.why-glass__icon--lg {
  width: 54px;
  height: 54px;
  font-size: 26px;
  border-radius: 14px;
}

.why-section--bespoke .why-glass__text h3 {
  font-size: 16px;
  font-weight: 700;
  color: #fff;
  margin-bottom: 6px;
  line-height: 1.3;
}

.why-glass--featured .why-glass__text h3 { font-size: 19px; margin-bottom: 8px; }

.why-section--bespoke .why-glass__text p {
  margin: 0;
  font-size: 14px;
  line-height: 1.55;
  color: rgba(255, 255, 255, 0.76);
}

@media (max-width: 960px) {
  .why-bento__featured { grid-template-columns: 1fr; }
  .why-bento__grid { grid-template-columns: repeat(2, 1fr); }
  .why-glass--hero { flex-direction: column; }
}

@media (max-width: 560px) {
  .why-bento__grid { grid-template-columns: 1fr; }
}

/* Cards */
.cards { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 22px; }
.cards--services { grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); }
.card {
  background: var(--card); border: 1px solid var(--line); border-radius: var(--radius);
  padding: 28px 24px; transition: transform .2s ease, box-shadow .2s ease, border-color .2s;
}
.card:hover { transform: translateY(-4px); box-shadow: var(--shadow); border-color: transparent; }
.card-icon { width: 52px; height: 52px; border-radius: 14px; background: var(--gold-tint); display: grid; place-items: center; font-size: 24px; margin-bottom: 18px; }
.card h3 { font-size: 19px; color: var(--navy-900); margin-bottom: 10px; }
.card.mova-widget .mova-widget__head h3 { color: #fff; margin-bottom: 0; font-size: 16px; }
.card p { color: var(--muted); font-size: 15px; margin-bottom: 16px; }
.card-link { color: var(--navy-700); font-weight: 700; font-size: 15px; }
.card-link:hover { color: var(--gold); }

/* Calculator — Holo-style shell */
#calculator.section {
  /* Tighter vertical pad so wizard can stay tall without page overflow */
  padding-top: 40px;
  padding-bottom: 40px;
}
.hf-holo-shell {
  display: grid;
  grid-template-columns: minmax(0, .95fr) minmax(0, 1.05fr);
  gap: 48px 56px;
  align-items: start;
}
.hf-holo-aside { position: sticky; top: 88px; }
.hf-holo-aside__title {
  font-family: var(--display);
  font-size: clamp(28px, 3.2vw, 40px);
  line-height: 1.15;
  color: var(--navy-900);
  margin: 0 0 10px;
}
.hf-holo-aside__sub { margin: 0 0 12px; color: var(--navy-600); font-size: 16px; line-height: 1.55; max-width: 420px; }
.hf-holo-points { margin-top: 12px; }
.hf-holo-art {
  position: relative;
  width: min(100%, 280px);
  height: 150px;
  margin: 4px 0 8px;
}
.hf-holo-art__phone {
  position: absolute;
  left: 50%; top: 50%;
  width: 100px; height: 170px;
  transform: translate(-50%, -42%) rotate(-8deg);
  border-radius: 22px;
  border: 3px solid var(--line);
  background: linear-gradient(165deg, #fff 0%, var(--bg-soft) 100%);
  box-shadow: 0 24px 48px rgba(10,24,48,.12);
}
.hf-holo-art__phone::before {
  content: "";
  position: absolute;
  inset: 14px 12px;
  border-radius: 18px;
  background: linear-gradient(180deg, rgba(201,163,90,.18), rgba(10,24,48,.06));
}
.hf-holo-art__orbit {
  position: absolute;
  inset: 0;
  border: 2px dashed rgba(201,163,90,.35);
  border-radius: 50%;
  animation: hfOrbit 18s linear infinite;
}
@keyframes hfOrbit { to { transform: rotate(360deg); } }
.hf-holo-aside.is-result .hf-holo-art { opacity: .35; }

.hf-wizard--holo {
  background: #fff;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  box-shadow: var(--shadow);
  /* Fit below header + section pads; keep tabs as tall as possible (cap ≈ Tab 2 natural) */
  --hf-progress-h: 60px;
  --hf-body-pad-y: 24px;
  --hf-actions-h: 56px;
  --hf-brandbar-h: 36px;
  --hf-fit-chrome: calc(
    var(--mova-header-h, 100px) + 40px + 40px + var(--hf-progress-h) + var(--hf-body-pad-y) + var(--hf-actions-h) + var(--hf-brandbar-h) + 12px
  );
  --hf-content-h: clamp(360px, calc(100svh - var(--hf-fit-chrome)), 580px);
  --hf-body-h: calc(var(--hf-content-h) + var(--hf-body-pad-y) + var(--hf-actions-h));
  /*
   * FROZEN 2026-07-13 — Step1 purpose layout (do not loosen):
   * 1) Title + subtitle stacked with 0 gap; subtitle Y is fixed via reserved intro height
   * 2) Fixed gap below subtitle → widgets (14px)
   * 3) Remaining content height = max size for 2×2 purpose cards (media grows)
   */
  --hf-intro-title-size: 17px;
  --hf-intro-title-lh: 1.25;
  --hf-intro-title-h: calc(var(--hf-intro-title-size) * var(--hf-intro-title-lh));
  --hf-intro-sub-size: 12px;
  --hf-intro-sub-lh: 1.3;
  --hf-intro-sub-lines: 1;
  --hf-intro-sub-h: calc(var(--hf-intro-sub-size) * var(--hf-intro-sub-lh) * var(--hf-intro-sub-lines));
  --hf-intro-gap-widgets: 6px;
  --hf-intro-block-h: calc(var(--hf-intro-title-h) + var(--hf-intro-sub-h));
}
/*
 * FROZEN 2026-07-13 — Wizard progress (segment + marker + label)
 * Done = green check on colored track; current = ring marker; upcoming = grey hollow
 */
.holo-progress {
  --hf-prog-check: #22C55E;
  display: grid;
  grid-template-columns: repeat(7, minmax(0, 1fr));
  gap: 6px;
  padding: 8px 20px 4px;
  box-sizing: border-box;
  min-height: var(--hf-progress-h);
}
.holo-progress__step {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
  min-width: 0;
  padding-top: 0;
}
.holo-progress__track {
  display: block;
  width: 100%;
  height: 6px;
  margin-top: 6px;
  border-radius: 999px;
  background: #E5E7EB;
  transition: background .25s ease;
}
.holo-progress__marker {
  position: absolute;
  top: 0;
  left: 50%;
  transform: translate(-50%, 0);
  width: 18px;
  height: 18px;
  border-radius: 50%;
  background: #fff;
  border: 2px solid #D1D5DB;
  box-sizing: border-box;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  z-index: 1;
  transition: background .2s, border-color .2s, box-shadow .2s;
}
.holo-progress__marker svg {
  width: 10px;
  height: 10px;
  opacity: 0;
}
.holo-progress__label {
  font-size: 9.5px;
  font-weight: 600;
  line-height: 1.15;
  color: var(--navy-600, #64748B);
  text-align: center;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: 100%;
}
.holo-progress__step.is-done .holo-progress__marker {
  background: var(--hf-prog-check);
  border-color: var(--hf-prog-check);
  box-shadow: 0 1px 4px rgba(34, 197, 94, 0.35);
}
.holo-progress__step.is-done .holo-progress__marker svg { opacity: 1; }
.holo-progress__step.is-active .holo-progress__marker {
  width: 18px;
  height: 18px;
  background: var(--hf-prog-check);
  border: 3px solid #fff;
  box-shadow: 0 0 0 2px var(--hf-prog-check);
}
.holo-progress__step.is-active .holo-progress__marker svg { opacity: 0; }
.holo-progress__step.is-active .holo-progress__label {
  color: var(--navy-900, #0D1B2A);
  font-weight: 700;
}
.holo-progress__step.is-done .holo-progress__label { color: var(--navy-900, #0D1B2A); }

/* Segment colors (reference rainbow → grey upcoming) */
.holo-progress__step:nth-child(1).is-done .holo-progress__track,
.holo-progress__step:nth-child(1).is-active .holo-progress__track { background: #E85D4C; }
.holo-progress__step:nth-child(2).is-done .holo-progress__track,
.holo-progress__step:nth-child(2).is-active .holo-progress__track { background: #F0A04B; }
.holo-progress__step:nth-child(3).is-done .holo-progress__track,
.holo-progress__step:nth-child(3).is-active .holo-progress__track { background: #E8C84A; }
.holo-progress__step:nth-child(4).is-done .holo-progress__track,
.holo-progress__step:nth-child(4).is-active .holo-progress__track { background: #7BC67E; }
.holo-progress__step:nth-child(5).is-done .holo-progress__track,
.holo-progress__step:nth-child(5).is-active .holo-progress__track { background: #5BBF8A; }
.holo-progress__step:nth-child(6).is-done .holo-progress__track,
.holo-progress__step:nth-child(6).is-active .holo-progress__track { background: #4CAF7A; }
.holo-progress__step:nth-child(7).is-done .holo-progress__track,
.holo-progress__step:nth-child(7).is-active .holo-progress__track { background: #3D9B6C; }

/* Legacy thin bars — keep harmless if any leftover markup */
.holo-progress__bar {
  display: block;
  height: 4px;
  border-radius: 999px;
  background: var(--line);
}
.holo-progress__bar.is-active { background: var(--gold); }
.holo-progress__bar.is-done { background: var(--navy-900); }
.hf-wizard--holo .hf-wizard__body {
  padding: 8px 28px 12px;
  height: var(--hf-body-h);
  min-height: var(--hf-body-h);
  max-height: var(--hf-body-h);
  display: flex;
  flex-direction: column;
  box-sizing: border-box;
}
/* All tabs share the same content height; overflow scrolls inside the panel */
.hf-wizard--holo .hf-panel.is-active {
  display: flex;
  flex-direction: column;
  flex: 1 1 auto;
  min-height: 0;
  height: 100%;
}
.hf-wizard--holo .hf-panel.is-active .hf-panel__content,
.hf-wizard--holo .hf-panel__content--scroll {
  height: var(--hf-content-h);
  min-height: var(--hf-content-h);
  max-height: var(--hf-content-h);
  overflow-x: hidden;
  overflow-y: auto;
  padding-right: 4px;
  box-sizing: border-box;
  flex: 0 0 var(--hf-content-h);
}
.hf-wizard--holo .hf-panel.is-active .hf-panel__content--step1,
.hf-wizard--holo .hf-panel__content--step1 {
  height: var(--hf-content-h);
  min-height: var(--hf-content-h);
  max-height: var(--hf-content-h);
  overflow-x: hidden;
  overflow-y: hidden;
  padding-right: 0;
  box-sizing: border-box;
  flex: 0 0 var(--hf-content-h);
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
}
.hf-wizard--holo .hf-panel__content .wiz-error {
  margin: 10px 0 0;
  flex-shrink: 0;
}
.wiz-date-wrap {
  position: relative;
}
.wiz-date-ph {
  position: absolute;
  left: 14px;
  right: 40px;
  top: 50%;
  transform: translateY(-50%);
  font-size: 15px;
  color: var(--navy-600);
  pointer-events: none;
  z-index: 2;
  white-space: nowrap;
  overflow: hidden;
  background: #fff;
  line-height: 1.2;
  padding: 2px 0;
}
.wiz-date-wrap:not([data-empty]) .wiz-date-ph,
.wiz-date-wrap:focus-within .wiz-date-ph,
.wiz-date-wrap.is-focused .wiz-date-ph {
  display: none;
}
.hf-wizard--holo .hf-panel--result.is-active {
  overflow-y: auto;
}
.hf-finance-bars {
  margin: 2px 0 4px;
  padding: 8px 10px 6px;
  border-radius: var(--radius-sm);
  border: 1px solid var(--line);
  background: rgba(11, 31, 53, 0.02);
}
.hf-finance-bars .wiz-field--compact { margin-bottom: 10px; }
.hf-finance-bars .wiz-field--compact:last-child { margin-bottom: 2px; }
/* Title closer to slider; keep row-to-row spacing via field margin */
.hf-finance-bars .field-top { margin-bottom: 2px; }
.hf-finance-bars .field-top label,
.hf-finance-bars .field-top output { font-size: 13px; }
.hf-finance-bars .wiz-range { height: 22px; accent-color: var(--gold, #C9A35A); }
.hf-finance-row {
  display: flex;
  align-items: flex-start;
  gap: 10px;
}
.hf-finance-row__icon {
  flex: 0 0 36px;
  width: 36px;
  height: 36px;
  margin-top: 2px;
  border-radius: 10px;
  background: #EEF2F7;
  color: #0D1B2A;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.hf-finance-row__icon svg { width: 18px; height: 18px; display: block; }
.hf-finance-row__main { flex: 1 1 auto; min-width: 0; }
.wiz-range-ends {
  display: flex;
  justify-content: space-between;
  margin-top: 2px;
  font-size: 10px;
  color: var(--navy-600, #64748B);
  line-height: 1.2;
}
.wiz-range-wrap {
  position: relative;
  display: block;
}
.wiz-range-wrap .wiz-range { width: 100%; }
/* DEPRECATED 2026-07-13: green term-cap marker removed — keep rule inert */
.wiz-range-cap { display: none !important; }
.hf-panel__content--step4 .wiz-field--compact:nth-child(1),
.hf-panel__content--step4 .wiz-field--compact:nth-child(2) {
  flex: 0 0 auto;
}
.hf-panel__content--step4 .holo-cards--choice {
  flex: 0 0 auto;
}
/* Step 5 Debts — large Yes/No cards by default; shrink when EMI rows open; never scroll */
.hf-panel__content--step5 {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: stretch;
  gap: 0;
  overflow-x: hidden;
  overflow-y: hidden !important;
}
.hf-panel__content--step5 > .wiz-field--compact:has(.holo-cards--debts) {
  flex: 1 1 0;
  min-height: 0;
  display: flex;
  flex-direction: column;
  margin-bottom: 6px;
}
.hf-panel__content--step5 .wiz-label {
  margin-bottom: 4px !important;
  flex: 0 0 auto;
}
.hf-panel__content--step5 .holo-cards--debts {
  flex: 1 1 auto;
  min-height: 0;
  gap: 10px;
  align-items: stretch;
}
.hf-panel__content--step5 .holo-cards--debts .holo-card--choice {
  height: 100%;
  display: flex;
  min-height: 0;
}
.hf-panel__content--step5 .holo-cards--debts .holo-card--choice .holo-card__body {
  flex: 1 1 auto;
  min-height: 84px;
  padding: 14px 40px 14px 14px;
  gap: 14px;
  align-items: center;
}
.hf-panel__content--step5 .holo-cards--debts .holo-card__icon {
  width: 48px;
  height: 48px;
  border-radius: 12px;
  flex-shrink: 0;
}
.hf-panel__content--step5 .holo-cards--debts .holo-card__icon svg {
  width: 24px;
  height: 24px;
}
.hf-panel__content--step5 .holo-cards--debts .holo-card__text strong {
  font-size: 16px !important;
}
.hf-panel__content--step5 .holo-cards--debts .holo-card__text small {
  font-size: 12.5px;
  line-height: 1.3;
  display: block;
}
.hf-panel__content--step5 #hfCarLoanWrap,
.hf-panel__content--step5 #hfCreditCardWrap {
  flex: 0 0 auto;
  margin-bottom: 6px;
  margin-top: -2px;
}
.hf-panel__content--step5 #hfCarLoanWrap .wiz-input,
.hf-panel__content--step5 #hfCreditCardWrap .wiz-input {
  padding: 8px 12px;
  font-size: 14px;
}
.hf-panel__content--step5 .wiz-error-slot {
  flex: 0 0 auto;
  min-height: 0;
  margin-top: 0;
  max-height: 0;
  overflow: hidden;
}
.hf-panel__content--step5 .wiz-error-slot:has(.wiz-error:not([hidden])) {
  max-height: none;
  min-height: 1.25em;
  margin-top: 2px;
}
.hf-panel__content--step5 .wiz-error-slot .wiz-error[hidden] {
  display: none !important;
}

/* 1 EMI open — medium cards */
.hf-panel__content--step5[data-debts-emi="1"] .holo-cards--debts .holo-card--choice .holo-card__body {
  min-height: 58px;
  padding: 8px 36px 8px 10px;
  gap: 10px;
}
.hf-panel__content--step5[data-debts-emi="1"] .holo-cards--debts .holo-card__icon {
  width: 36px;
  height: 36px;
  border-radius: 10px;
}
.hf-panel__content--step5[data-debts-emi="1"] .holo-cards--debts .holo-card__icon svg {
  width: 18px;
  height: 18px;
}
.hf-panel__content--step5[data-debts-emi="1"] .holo-cards--debts .holo-card__text strong {
  font-size: 14px !important;
}
.hf-panel__content--step5[data-debts-emi="1"] .holo-cards--debts .holo-card__text small {
  font-size: 11px;
  line-height: 1.2;
}

/* 2 EMI open — compact cards (text + logos smaller; no scrollbar) */
.hf-panel__content--step5[data-debts-emi="2"] > .wiz-field--compact:has(.holo-cards--debts) {
  margin-bottom: 4px;
}
.hf-panel__content--step5[data-debts-emi="2"] .wiz-label {
  margin-bottom: 2px !important;
  font-size: 13px;
}
.hf-panel__content--step5[data-debts-emi="2"] .holo-cards--debts {
  gap: 6px;
}
.hf-panel__content--step5[data-debts-emi="2"] .holo-cards--debts .holo-card--choice .holo-card__body {
  min-height: 44px;
  padding: 6px 32px 6px 8px;
  gap: 8px;
}
.hf-panel__content--step5[data-debts-emi="2"] .holo-cards--debts .holo-card__icon {
  width: 30px;
  height: 30px;
  border-radius: 8px;
}
.hf-panel__content--step5[data-debts-emi="2"] .holo-cards--debts .holo-card__icon svg {
  width: 15px;
  height: 15px;
}
.hf-panel__content--step5[data-debts-emi="2"] .holo-cards--debts .holo-card__text strong {
  font-size: 13px !important;
}
.hf-panel__content--step5[data-debts-emi="2"] .holo-cards--debts .holo-card__text small {
  display: none;
}
.hf-panel__content--step5[data-debts-emi="2"] #hfCarLoanWrap,
.hf-panel__content--step5[data-debts-emi="2"] #hfCreditCardWrap {
  margin-bottom: 4px;
}
.hf-panel__content--step5[data-debts-emi="2"] #hfCarLoanWrap .wiz-label,
.hf-panel__content--step5[data-debts-emi="2"] #hfCreditCardWrap .wiz-label {
  margin-bottom: 2px !important;
  font-size: 12px;
}
.hf-panel__content--step5[data-debts-emi="2"] #hfCarLoanWrap .wiz-input,
.hf-panel__content--step5[data-debts-emi="2"] #hfCreditCardWrap .wiz-input {
  padding: 6px 10px;
  font-size: 13px;
}
.hf-panel__content--step6 {
  display: flex;
  flex-direction: column;
  gap: 0;
  overflow-x: hidden;
  overflow-y: auto;
}
.hf-panel__content--step6 .wiz-label { margin-bottom: 4px !important; }
.hf-panel__content--step6 > .wiz-field--compact {
  margin-bottom: 4px;
}
/* Step 7 contact — icon labels, contact prefs, legal checks, no scrollbar */
.hf-panel__content--step7 {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: stretch;
  gap: 0;
  overflow-x: hidden;
  overflow-y: hidden !important;
}
.hf-panel__content--step7 .hf-contact-head {
  flex: 0 0 auto;
  margin: 0 0 8px;
}
.hf-panel__content--step7 .hf-contact-head__title {
  margin: 0 0 2px;
  font-family: var(--display, Georgia, "Times New Roman", serif);
  font-size: 22px;
  font-weight: 700;
  letter-spacing: -0.02em;
  line-height: 1.15;
  color: var(--navy-900, #0B1F35);
}
.hf-panel__content--step7 .hf-contact-head__sub {
  margin: 0;
  font-size: 12px;
  line-height: 1.3;
  color: #64748B;
}
.hf-panel__content--step7 .wiz-field,
.hf-panel__content--step7 .wiz-field--compact,
.hf-panel__content--step7 .wiz-row {
  flex: 0 0 auto;
}
.hf-panel__content--step7 .wiz-field,
.hf-panel__content--step7 .wiz-field--compact {
  margin-bottom: 7px;
}
.hf-panel__content--step7 .wiz-row--contact {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
  margin-bottom: 7px;
}
.hf-panel__content--step7 .wiz-row--contact .wiz-field,
.hf-panel__content--step7 .wiz-row--contact .wiz-field--compact {
  margin-bottom: 0;
  min-width: 0;
}
.hf-panel__content--step7 .wiz-label--ico {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  margin-bottom: 4px !important;
  font-size: 12px;
  font-weight: 600;
  color: var(--navy-800, #1E293B);
}
.hf-panel__content--step7 .wiz-label__ico {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 22px;
  height: 22px;
  border-radius: 6px;
  background: #EEF2F7;
  color: #0B1F35;
  flex-shrink: 0;
}
.hf-panel__content--step7 .wiz-label__ico svg {
  width: 12px;
  height: 12px;
  display: block;
}
.hf-panel__content--step7 .wiz-input,
.hf-panel__content--step7 select.wiz-input {
  min-height: 38px;
  padding: 8px 10px;
  font-size: 13px;
  border-radius: 9px;
}
.hf-panel__content--step7 .wiz-phone {
  min-height: 38px;
  border-radius: 9px;
}
.hf-panel__content--step7 .wiz-phone__dial {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  min-width: 4.5rem;
  padding: 0 8px;
  font-size: 12px;
}
.hf-panel__content--step7 .wiz-phone__dial-chev {
  width: 11px;
  height: 11px;
  opacity: 0.55;
  flex-shrink: 0;
}

/* Call / WhatsApp / Email preference cards */
.hf-panel__content--step7 .hf-contact-prefs {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 8px;
}
.hf-panel__content--step7 .hf-contact-pref {
  position: relative;
  margin: 0;
  cursor: pointer;
}
.hf-panel__content--step7 .hf-contact-pref input {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}
.hf-panel__content--step7 .hf-contact-pref__card {
  display: flex;
  align-items: center;
  gap: 6px;
  min-height: 38px;
  padding: 6px 8px;
  border: 1px solid #E2E8F0;
  border-radius: 10px;
  background: #fff;
  box-sizing: border-box;
  transition: border-color .15s ease, box-shadow .15s ease, background .15s ease;
}
.hf-panel__content--step7 .hf-contact-pref__tick {
  width: 14px;
  height: 14px;
  border: 1.5px solid #CBD5E1;
  border-radius: 3px;
  flex-shrink: 0;
  background: #fff;
  box-sizing: border-box;
}
.hf-panel__content--step7 .hf-contact-pref__icons {
  display: inline-flex;
  align-items: center;
  gap: 3px;
  color: #0B1F35;
}
.hf-panel__content--step7 .hf-contact-pref__icons svg {
  width: 14px;
  height: 14px;
  display: block;
}
.hf-panel__content--step7 .hf-contact-pref__icons .hf-wa-logo {
  width: 15px;
  height: 15px;
}
.hf-panel__content--step7 .hf-contact-pref__card strong {
  font-size: 12px;
  font-weight: 700;
  color: #0B1F35;
  line-height: 1.1;
}
.hf-panel__content--step7 .hf-contact-pref input:checked + .hf-contact-pref__card {
  border-color: #0B1F35;
  box-shadow: 0 0 0 1px rgba(11, 31, 53, 0.08);
  background: #F8FAFC;
}
.hf-panel__content--step7 .hf-contact-pref input:checked + .hf-contact-pref__card .hf-contact-pref__tick {
  border-color: #0B1F35;
  background: #0B1F35;
  box-shadow: inset 0 0 0 2px #fff;
}
.hf-panel__content--step7 .hf-contact-pref--wa input:checked + .hf-contact-pref__card {
  border-color: #25D366;
  box-shadow: 0 0 0 1px rgba(37, 211, 102, 0.18);
  background: #F6FDF8;
}
.hf-panel__content--step7 .hf-contact-pref--wa input:checked + .hf-contact-pref__card .hf-contact-pref__tick {
  border-color: #25D366;
  background: #25D366;
}

/* Marketing + terms */
.hf-panel__content--step7 .hf-contact-legal {
  display: flex;
  flex-direction: column;
  gap: 6px;
  margin: 2px 0 0;
}
.hf-panel__content--step7 .hf-legal-check {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  margin: 0;
  font-size: 11px;
  line-height: 1.35;
  color: #475569;
  cursor: pointer;
}
.hf-panel__content--step7 .hf-legal-check input {
  flex: 0 0 14px;
  width: 14px;
  height: 14px;
  margin-top: 1px;
  accent-color: #0B1F35;
}
.hf-panel__content--step7 .hf-legal-check a {
  color: #0B1F35;
  text-decoration: underline;
  font-weight: 600;
}
.hf-panel__content--step7 .wiz-error-slot {
  flex: 0 0 auto;
  min-height: 0;
  margin-top: 0;
  max-height: 0;
  overflow: hidden;
}
.hf-panel__content--step7 .wiz-error-slot:has(.wiz-error:not([hidden])) {
  max-height: none;
  min-height: 1.2em;
  margin-top: 2px;
}
.hf-panel__content--step7 .wiz-error-slot .wiz-error[hidden] {
  display: none !important;
}
@media (max-width: 560px) {
  .hf-panel__content--step7 .wiz-row--contact {
    grid-template-columns: 1fr;
  }
  .hf-panel__content--step7 .hf-contact-prefs {
    grid-template-columns: 1fr;
  }
  .hf-panel__content--step7 .hf-contact-head__title {
    font-size: 20px;
  }
}
/* Editbox labels: clearer gap than flush tip-era layout */
.hf-wizard label.wiz-label:has(+ .wiz-input),
.hf-wizard label.wiz-label:has(+ .wiz-input-suffix),
.hf-wizard label.wiz-label:has(+ .wiz-date-wrap),
.hf-wizard label.wiz-label:has(+ .wiz-phone),
.hf-wizard label.wiz-label:has(+ select.wiz-input) {
  margin-bottom: 6px !important;
}
.hf-info-bar,
.hf-finance-bars .hf-ltv-hint:not([hidden]),
.hf-finance-bars .hf-field-hint:not([hidden]) {
  margin-top: 4px;
  padding: 6px 8px;
  border-radius: 8px;
  background: #F1F5F9;
  border: 1px solid #E2E8F0;
  font-size: 10.5px;
  line-height: 1.3;
  color: var(--navy-700, #334155);
}
.hf-panel__content--step3 {
  display: flex;
  flex-direction: column;
  gap: 0;
  overflow-x: hidden;
  overflow-y: hidden !important;
}
.hf-panel__content--step3.hf-panel__content--scroll {
  overflow-y: hidden !important;
}
.hf-panel__content--step3 .wiz-field--compact .wiz-label {
  margin-bottom: 6px;
}
.wiz-field--compact { margin-bottom: 8px; }
.wiz-field--compact .wiz-label { margin-bottom: 6px; }
.wiz-field--compact .holo-cards { gap: 8px; }
.hf-purpose-branch .wiz-field { margin-bottom: 8px; }
.hf-purpose-branch .wiz-label { margin-bottom: 6px; }
.hf-purpose-branch .holo-card__body { padding: 10px 12px; }
.hf-purpose-branch .holo-card__body strong { font-size: 13px; }
.hf-purpose-branch .holo-card__body small { font-size: 11px; line-height: 1.3; }
.hf-purpose-branch .wiz-row { gap: 10px; }
.hf-purpose-branch .wiz-input { padding: 10px 12px; font-size: 14px; }
.hf-purpose-branch .hf-field-hint { display: none; }
.hf-purpose-branch[hidden] { display: none !important; }
.hf-value-band {
  margin-top: 4px;
  margin-bottom: 12px;
  padding: 12px 14px;
  border-radius: var(--radius-sm);
  background: rgba(201, 163, 90, 0.08);
  border: 1px solid rgba(201, 163, 90, 0.22);
}
.hf-value-band .wiz-label { font-size: 13px; margin-bottom: 10px; }
.hf-value-band__hint { font-size: 12px; color: var(--navy-600); margin: 0 0 10px; line-height: 1.45; }

/*
 * FROZEN 2026-07-13 — Calculator step1 in-card intro + purpose widgets
 * - Subtitle Y fixed (reserved title band + 0 gap under title)
 * - Intro block height reserved so widgets top edge stays stable (i18n wrap safe)
 * - Purpose grid fills ALL remaining panel height; photo media flex-grows (no scrollbar)
 * - Do NOT use .section-head here (snap-on page titles are 26–36px)
 */
.hf-panel__intro {
  flex: 0 0 var(--hf-intro-block-h);
  height: var(--hf-intro-block-h);
  min-height: var(--hf-intro-block-h);
  max-height: var(--hf-intro-block-h);
  max-width: none;
  margin: 0 0 var(--hf-intro-gap-widgets);
  padding: 0;
  text-align: left;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  overflow: hidden;
}
.hf-panel__intro h2 {
  flex: 0 0 var(--hf-intro-title-h);
  height: var(--hf-intro-title-h);
  font-family: var(--display);
  font-weight: 600;
  font-size: var(--hf-intro-title-size) !important;
  line-height: var(--hf-intro-title-lh);
  letter-spacing: -.01em;
  color: var(--navy-900);
  margin: 0 !important;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.hf-panel__intro .section-sub {
  flex: 0 0 auto;
  margin: 0 !important;
  font-size: var(--hf-intro-sub-size) !important;
  line-height: var(--hf-intro-sub-lh);
  color: var(--muted);
  max-height: var(--hf-intro-sub-h);
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 1;
  overflow: hidden;
}
.wiz-field--purpose {
  margin: 0;
  padding: 0;
  flex: 1 1 auto;
  min-height: 0;
  display: flex;
  flex-direction: column;
}
.wiz-field--purpose .holo-cards--purpose4 {
  flex: 1 1 auto;
  min-height: 0;
  width: 100%;
  height: 100%;
}

.holo-cards--purpose4 {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  grid-template-rows: 1fr 1fr;
  align-items: stretch;
  align-content: stretch;
  gap: 10px;
}
.holo-cards--purpose4 .holo-card {
  display: flex;
  flex-direction: column;
  min-height: 0;
  height: 100%;
}
.holo-cards--purpose4 .holo-card--hero:not(.holo-card--photo) .holo-card__body {
  flex: 1;
  min-height: 0;
  height: 100%;
  padding: 14px 12px 12px;
}
.holo-cards--purpose4 .holo-card__icon { width: 42px; height: 42px; margin-bottom: 6px; }
.holo-cards--purpose4 .holo-card__icon svg { width: 24px; height: 24px; }
.holo-cards--purpose4 .holo-card:not(.holo-card--photo) .holo-card__body strong { display: block; min-height: 2.6em; line-height: 1.3; }
.holo-cards--purpose4 .holo-card:not(.holo-card--photo) .holo-card__body small { display: block; min-height: 2.8em; line-height: 1.35; }

/* Purpose / residency photo cards — media flush to card frame (no inset gap) */
.holo-cards--purpose4 .holo-card--photo .holo-card__body,
.holo-card--photo .holo-card__body {
  position: relative;
  overflow: hidden;
  padding: 0 0 10px !important;
  gap: 0;
  align-items: center;
  text-align: center;
  justify-content: flex-start;
  min-height: 0 !important;
  height: 100% !important;
  flex: 1 1 auto;
}
.holo-cards--purpose4 .holo-card--photo .holo-card__media,
.holo-card--photo .holo-card__media {
  display: block;
  width: 100%;
  flex: 1 1 auto;
  min-height: 100px;
  aspect-ratio: auto;
  overflow: hidden;
  border-radius: 0;
  background: var(--navy-100, #E8EEF5);
}
.holo-card--photo .holo-card__body > strong,
.holo-card--photo .holo-card__body > small,
.holo-card--photo .holo-card__rule {
  padding-left: 8px;
  padding-right: 8px;
  box-sizing: border-box;
  width: 100%;
}
/* Calculator widget image zoom — standard (same as .about-card__media) */
.holo-card--photo .holo-card__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center center;
  display: block;
  backface-visibility: hidden;
  transform: translateZ(0);
  transition: transform 0.3s ease-in-out;
}
@media (min-width: 1025px) {
  .holo-card--photo:hover .holo-card__media img {
    transform: scale(1.04);
  }
}
@media (prefers-reduced-motion: reduce) {
  .holo-card--photo .holo-card__media img { transition: none; }
  .holo-card--photo:hover .holo-card__media img { transform: none; }
}
.holo-card--photo .holo-card__icon {
  position: relative;
  z-index: 1;
  flex-shrink: 0;
  width: 40px;
  height: 40px;
  margin: -20px 0 2px;
  border-radius: 50%;
  border: 3px solid #fff;
  box-shadow: 0 4px 14px rgba(10, 24, 48, 0.12);
  color: #fff;
}
.holo-card--photo .holo-card__icon svg { width: 18px; height: 18px; }
.holo-card--photo .holo-card__icon--navy { background: #0D1B2A; color: #fff; }
.holo-card--photo .holo-card__icon--gold { background: #D4AF37; color: #fff; }
.holo-card--photo .holo-card__rule {
  display: block;
  width: 24px;
  height: 2px;
  margin: 2px auto 3px;
  border-radius: 1px;
  background: #D4AF37;
  flex-shrink: 0;
}
.holo-card--photo .holo-card__body strong {
  flex-shrink: 0;
  padding: 0 6px;
  font-weight: 700;
  color: #0D1B2A;
  min-height: 0;
  line-height: 1.25;
}
.holo-card--photo .holo-card__body small {
  flex-shrink: 0;
  padding: 0 6px 0;
  line-height: 1.25;
  color: #64748B;
  min-height: 0;
}
.holo-card--photo.is-selected .holo-card__icon,
.holo-card--photo input:checked + .holo-card__body .holo-card__icon {
  color: #fff;
}
.holo-card--photo input:checked + .holo-card__body .holo-card__icon--navy { background: #0D1B2A; }
.holo-card--photo input:checked + .holo-card__body .holo-card__icon--gold { background: #D4AF37; }

/* Step1 error: do not steal purpose flex space when hidden */
.hf-panel__content--step1 > .wiz-error {
  flex: 0 0 auto;
  margin: 0;
}
.hf-panel__content--step1 > .wiz-error:not([hidden]) {
  margin-top: 6px;
}
.hf-panel__content { flex: 1 1 auto; }
.holo-cards--hero .holo-card__body {
  min-height: 148px;
  padding: 22px 18px 20px;
  align-items: center;
  text-align: center;
  justify-content: center;
}
.holo-card__icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 56px;
  height: 56px;
  margin-bottom: 10px;
  border-radius: 14px;
  background: rgba(201, 163, 90, 0.12);
  color: var(--gold, #C9A35A);
}
.holo-card__icon svg { width: 30px; height: 30px; }
.holo-card.is-selected .holo-card__icon,
.holo-card input:checked + .holo-card__body .holo-card__icon {
  background: rgba(201, 163, 90, 0.22);
  color: var(--navy-900, #0B1F35);
}
.hf-wizard--holo .hf-btn-next,
.hf-wizard--holo .hf-btn-back {
  min-height: 48px;
  padding: 12px 28px;
  font-size: 15px;
}

.holo-cards { display: grid; gap: 12px; }
.holo-cards--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.holo-cards--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.holo-card {
  position: relative;
  cursor: pointer;
  margin: 0;
}
.holo-card input { position: absolute; opacity: 0; pointer-events: none; }
.holo-card__body {
  display: flex;
  flex-direction: column;
  gap: 4px;
  padding: 16px 18px;
  border-radius: var(--radius-sm);
  border: 2px solid var(--line);
  background: #fff;
  transition: border-color .2s, box-shadow .2s, background .2s;
  min-height: 100%;
}
.holo-card__body strong { font-size: 15px; color: var(--navy-900); }
.holo-card__body small { font-size: 13px; color: var(--navy-600); line-height: 1.4; }
.holo-card:hover .holo-card__body { border-color: rgba(201,163,90,.5); }
.holo-card input:checked + .holo-card__body {
  border-color: var(--navy-900);
  background: rgba(10,24,48,.03);
  box-shadow: 0 8px 24px rgba(10,24,48,.08);
}

/* Calculator holo cards — single typography token set (all card types) */
.hf-wizard .holo-card__body strong,
.hf-wizard .holo-card--photo .holo-card__body strong,
.hf-wizard .holo-card--split .holo-card__text strong,
.hf-wizard .holo-card--thumb .holo-card__text strong {
  font-family: var(--font);
  font-size: 13px !important;
  font-weight: 700;
  line-height: 1.25;
  color: var(--navy-900);
}
.hf-wizard .holo-card__body small,
.hf-wizard .holo-card--photo .holo-card__body small,
.hf-wizard .holo-card--split .holo-card__text small,
.hf-wizard .holo-card--thumb .holo-card__text small {
  font-family: var(--font);
  font-size: 10px !important;
  font-weight: 500;
  line-height: 1.25;
  color: #64748B;
}

/* Photo / split / thumb: real border + media bleeds under it (no white gutter) */
.hf-wizard .holo-card--photo .holo-card__body,
.hf-wizard .holo-card--split .holo-card__body,
.hf-wizard .holo-card--thumb .holo-card__body {
  outline: none !important;
  border: 2px solid var(--line) !important;
  box-shadow: none;
  overflow: hidden;
}
.hf-wizard .holo-card--photo:hover .holo-card__body,
.hf-wizard .holo-card--split:hover .holo-card__body,
.hf-wizard .holo-card--thumb:hover .holo-card__body {
  outline: none !important;
  border-color: rgba(201,163,90,.55) !important;
  box-shadow: none;
}
.hf-wizard .holo-card--photo input:checked + .holo-card__body,
.hf-wizard .holo-card--split input:checked + .holo-card__body,
.hf-wizard .holo-card--thumb input:checked + .holo-card__body {
  outline: none !important;
  border: 2px solid var(--navy-900) !important;
  background: #fff;
  box-shadow: 0 8px 24px rgba(10,24,48,.08);
}
/* Bleed media into border box so pixels sit under the stroke */
.hf-wizard .holo-card--photo .holo-card__media {
  margin: -2px -2px 0 !important;
  width: calc(100% + 4px) !important;
  border-radius: 0 !important;
}
.hf-wizard .holo-card--split .holo-card__media--split {
  margin: -2px 0 -2px -2px !important;
  flex: 0 0 calc(42% + 2px) !important;
  width: calc(42% + 2px) !important;
  max-width: none !important;
  align-self: stretch;
  min-height: calc(100% + 4px);
  height: auto !important;
  border-radius: 0 !important;
}
.hf-wizard .holo-card--thumb .holo-card__media--thumb {
  margin: -2px 0 -2px -2px !important;
  border-radius: 0 !important;
  align-self: stretch;
}
.hf-wizard .holo-card--photo .holo-card__media img,
.hf-wizard .holo-card--split .holo-card__media--split img,
.hf-wizard .holo-card--thumb .holo-card__media--thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  border-radius: 0 !important;
}
[dir="rtl"] .hf-wizard .holo-card--split .holo-card__media--split,
[dir="rtl"] .hf-wizard .holo-card--thumb .holo-card__media--thumb {
  margin: -2px -2px -2px 0 !important;
}
.hf-wizard--holo .hf-btn-next { min-width: 160px; margin-left: auto; }
.hf-wizard--holo .hf-actions {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 16px;
  width: 100%;
  flex-shrink: 0;
  margin-top: auto;
  padding-top: 8px;
}
.hf-wizard--holo .hf-panel[data-hf-step="1"] .hf-actions {
  padding-top: 4px;
}
.hf-wizard--holo .hf-btn-back {
  color: var(--navy-900);
  border: 1px solid rgba(10, 24, 48, .28);
  background: #fff;
  min-width: 120px;
  padding: 13px 22px;
  border-radius: 999px;
  font-weight: 700;
}
.hf-wizard--holo .hf-btn-back:hover {
  border-color: var(--navy-900);
  background: rgba(10, 24, 48, .06);
}
.hf-wizard--holo .hf-panel--result .hf-actions {
  justify-content: center;
}
.hf-wizard--holo .hf-panel--result .hf-btn-back,
.hf-wizard--holo #hfRestart {
  color: var(--navy-900);
  border: 1px solid rgba(10, 24, 48, .28);
  background: #fff;
}

.wiz-phone {
  display: flex;
  align-items: stretch;
  gap: 0;
  border: 1px solid var(--line);
  border-radius: var(--radius-sm);
  background: #fff;
  overflow: hidden;
}
.wiz-phone__dial {
  display: flex;
  align-items: center;
  padding: 0 12px;
  font-size: 14px;
  font-weight: 700;
  color: var(--navy-700);
  background: rgba(11, 31, 53, 0.04);
  border-right: 1px solid var(--line);
  white-space: nowrap;
  min-width: 4.5rem;
  justify-content: center;
}
.wiz-phone .wiz-phone__input,
.wiz-phone__input.wiz-input {
  border: 0 !important;
  border-radius: 0 !important;
  flex: 1;
  min-width: 0;
  box-shadow: none !important;
}
.wiz-phone:focus-within {
  border-color: var(--navy-900);
  box-shadow: 0 0 0 3px rgba(11, 31, 53, 0.08);
}
.wiz-input-suffix { position: relative; }
.wiz-input-suffix .wiz-input { padding-right: 64px; }
.wiz-input-suffix__tag {
  position: absolute;
  right: 14px;
  top: 50%;
  transform: translateY(-50%);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .04em;
  color: var(--navy-600);
}
.wiz-input-clearable { position: relative; }
.wiz-input-clearable .wiz-input { padding-right: 40px; }
.wiz-input-suffix.wiz-input-clearable .wiz-input { padding-right: 88px; }
.wiz-input-clear {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: 12px;
  width: 28px;
  height: 28px;
  border: 0;
  border-radius: 999px;
  background: rgba(10, 24, 48, 0.08);
  color: var(--navy-700);
  font-size: 18px;
  line-height: 1;
  cursor: pointer;
  display: grid;
  place-items: center;
  padding: 0;
  z-index: 2;
}
.wiz-input-suffix.wiz-input-clearable .wiz-input-clear { right: 48px; }
.wiz-input-clear:hover { background: rgba(10, 24, 48, 0.14); color: var(--navy-900); }
.wiz-input-clear[hidden] { display: none !important; }
.holo-cards--oneline .holo-card__body {
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  min-height: 52px;
  padding: 12px 10px;
}
.holo-cards--oneline .holo-card__body strong {
  white-space: nowrap;
  font-size: 14px;
  line-height: 1.2;
}

/* Horizontal choice cards (employment + Debts) — icon + text row */
.holo-cards--choice .holo-card--choice .holo-card__body {
  flex-direction: row;
  align-items: center;
  justify-content: flex-start;
  gap: 14px;
  text-align: left;
  min-height: 76px;
  padding: 14px 44px 14px 14px;
  position: relative;
}
.holo-cards--choice .holo-card__icon {
  width: 44px;
  height: 44px;
  margin: 0;
  border-radius: 12px;
  flex-shrink: 0;
  background: #EEF2F7;
  color: #64748B;
}
.holo-cards--choice .holo-card__icon svg {
  width: 22px;
  height: 22px;
}
.holo-cards--choice .holo-card__text {
  display: flex;
  flex-direction: column;
  gap: 2px;
  min-width: 0;
}
.holo-cards--choice .holo-card__text strong {
  font-size: 15px;
  line-height: 1.25;
}
.holo-cards--choice .holo-card__text small {
  font-size: 12px;
  line-height: 1.35;
  color: var(--navy-600);
}
/* Debts step: selected = navy icon + soft blue fill (reference layout) */
.holo-cards--debts .holo-card--choice .holo-card__icon {
  background: #EEF2F7;
  color: #64748B;
}
.holo-cards--debts .holo-card--choice input:checked + .holo-card__body {
  background: #F0F5FA;
  border-color: #0D1B2A;
  box-shadow: none;
}
.holo-cards--debts .holo-card--choice input:checked + .holo-card__body .holo-card__icon,
.holo-cards--debts .holo-card.is-selected .holo-card__icon {
  background: #0D1B2A;
  color: #fff;
}
.holo-cards--debts .holo-card--choice .holo-card__text strong {
  font-size: 15px !important;
  font-weight: 700;
}
.holo-cards--debts .holo-card--choice .holo-card__text small {
  display: block;
  font-size: 12px;
  line-height: 1.35;
  color: var(--navy-600, #64748B);
}

/*
 * FROZEN 2026-07-13 — Step2 Personal (our rules)
 * - .wiz-label + .hf-field-sub (0 gap between title lines)
 * - Residency: .holo-card--icon ×3 · Employment: .holo-card--choice ×2
 * - Selected = green check ::after (#22C55E) — navy check yasak
 * - Cards fill remaining panel height; no inner scrollbar
 */
.hf-field-sub {
  margin: 0 0 10px;
  font-size: 12px;
  line-height: 1.3;
  color: var(--muted, #64748B);
}
.hf-panel__content--step2 {
  display: flex;
  flex-direction: column;
  gap: 0;
  overflow-x: hidden;
  overflow-y: hidden !important;
}
.hf-panel__content--step2 .wiz-field--compact {
  margin-bottom: 4px;
  display: flex;
  flex-direction: column;
  min-height: 0;
}
/* display:flex overrides HTML [hidden] — keep nationality (etc.) truly hidden */
.hf-panel__content--step2 .wiz-field--compact[hidden] {
  display: none !important;
}
/* Residency + employment taller (use slack below income) */
.hf-panel__content--step2 .wiz-field--compact:nth-child(1) {
  flex: 1.65 1 auto;
  min-height: 0;
}
.hf-panel__content--step2 .wiz-field--compact:nth-child(2) {
  flex: 1.05 1 auto;
  max-height: 48%;
  min-height: 0;
}
/* Nationality only when Non-resident — free height goes to residency/employment widgets */
.hf-panel__content--step2 #hfNationalityWrap {
  flex: 0 0 auto;
  margin-top: 2px;
  margin-bottom: 0;
}
.hf-panel__content--step2 #hfNationalityWrap[hidden] {
  display: none !important;
}
/* Step2: no reserved error strip — free px for taller cards; error expands only when shown */
.hf-panel__content--step2 .wiz-error-slot {
  min-height: 0 !important;
  margin-top: 0 !important;
  max-height: 0;
  overflow: hidden;
}
.hf-panel__content--step2 .wiz-error-slot:has(.wiz-error:not([hidden])) {
  max-height: none;
  min-height: 1.35em !important;
  margin-top: 4px !important;
}
.hf-panel__content--step2 .wiz-error-slot .wiz-error[hidden] {
  display: none !important;
}
/* Label → control/cards: match card title breathing room (editboxes need clear gap) */
.hf-panel__content--step2 .wiz-label {
  margin-bottom: 6px !important;
}
.hf-panel__content--step2 .wiz-row--step2 .wiz-label {
  margin-bottom: 6px !important;
}
.hf-panel__content--step2 .wiz-row--step2 {
  flex: 0 0 auto;
  margin-top: 0;
  margin-bottom: 0;
  gap: 12px;
}
.hf-info-bar--static {
  margin-top: 6px;
  display: flex;
  align-items: flex-start;
  gap: 6px;
}
.hf-info-bar__ico {
  flex: 0 0 14px;
  width: 14px;
  height: 14px;
  margin-top: 1px;
  color: var(--navy-600, #64748B);
}
.hf-info-bar__ico svg { width: 14px; height: 14px; display: block; }
.hf-panel__content--step2 #hfAgeHint:not([hidden]) {
  display: none !important;
}

/* Residency photo captions: equal band, 2-line hint (Expat visa line fully visible) */
.hf-panel__content--step2 .holo-cards--residency .holo-card--photo .holo-card__body {
  overflow: hidden;
}
.hf-panel__content--step2 .holo-cards--residency .holo-card--photo .holo-card__media {
  flex: 1 1 auto;
  min-height: 124px;
}
/* Non-resident: nationality row opens — shrink photos so titles stay visible */
.hf-panel__content--step2.is-nr-open .wiz-field--compact:nth-child(1) {
  flex: 1.1 1 auto;
}
.hf-panel__content--step2.is-nr-open .wiz-field--compact:nth-child(2) {
  flex: 0.85 1 auto;
  max-height: 40%;
}
.hf-panel__content--step2.is-nr-open .holo-cards--residency .holo-card--photo .holo-card__media {
  flex: 0 1 auto;
  min-height: 52px;
  max-height: 72px;
}
.hf-panel__content--step2.is-nr-open .holo-cards--residency .holo-card--photo .holo-card__body {
  overflow: hidden;
}
.hf-panel__content--step2.is-nr-open .holo-cards--residency .holo-card--photo .holo-card__body strong {
  flex-shrink: 0;
  min-height: 1.15em;
  font-size: 13px;
}
.hf-panel__content--step2.is-nr-open .holo-cards--residency .holo-card--photo .holo-card__body small {
  flex-shrink: 0;
  min-height: 1.25em;
  -webkit-line-clamp: 1;
  font-size: 11px;
}
.hf-panel__content--step2.is-nr-open .holo-cards--residency .holo-card--photo .holo-card__icon {
  width: 36px;
  height: 36px;
}
.hf-wizard .hf-panel__content--step2.is-nr-open .holo-cards--emp {
  max-height: 160px;
}
.hf-wizard .hf-panel__content--step2.is-nr-open .holo-cards--emp .holo-card--split,
.hf-wizard .hf-panel__content--step2.is-nr-open .holo-cards--emp .holo-card--split .holo-card__body,
.hf-wizard .hf-panel__content--step2.is-nr-open .holo-cards--emp .holo-card__media--split {
  max-height: 160px;
}
.hf-panel__content--step2 .holo-cards--residency .holo-card--photo .holo-card__icon {
  flex-shrink: 0;
}
.hf-panel__content--step2 .holo-cards--residency .holo-card--photo .holo-card__body strong {
  flex-shrink: 0;
  min-height: 1.2em;
}
.hf-panel__content--step2 .holo-cards--residency .holo-card--photo .holo-card__body small {
  flex-shrink: 0;
  min-height: 2.5em;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
  line-height: 1.25;
  color: #64748B;
}

.holo-cards--icon {
  gap: 10px;
  flex: 1 1 auto;
  min-height: 0;
  align-items: stretch;
}
.holo-card--icon {
  display: flex;
  flex-direction: column;
  height: 100%;
  min-height: 0;
}
.holo-card--icon .holo-card__body {
  flex: 1 1 auto;
  height: 100%;
  align-items: center;
  text-align: center;
  justify-content: center;
  gap: 6px;
  padding: 16px 12px 14px !important;
  min-height: 112px;
}
.holo-card--icon .holo-card__icon {
  width: 48px;
  height: 48px;
  margin: 0 0 4px;
  border-radius: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
.holo-card--icon .holo-card__icon--gold {
  background: rgba(212, 175, 55, 0.16);
  color: #6B4F1D;
}
.holo-card--icon .holo-card__icon--flag {
  background: rgba(212, 175, 55, 0.12);
  padding: 8px;
}
.holo-card--icon .holo-card__icon--flag svg {
  width: 26px;
  height: 26px;
  display: block;
  border-radius: 2px;
  overflow: hidden;
  box-shadow: 0 0 0 1px rgba(15, 23, 42, 0.08);
}
.holo-card--icon .holo-card__icon svg { width: 24px; height: 24px; }
.holo-card--icon .holo-card__body strong {
  font-size: 14px;
  line-height: 1.2;
  color: var(--navy-900);
}
.holo-card--icon .holo-card__body small {
  font-size: 11px;
  line-height: 1.3;
  color: var(--navy-600);
  display: block;
  max-width: 15em;
}
.hf-panel__content--step2 .holo-cards--choice {
  flex: 1 1 auto;
  min-height: 0;
  align-items: stretch;
}
.hf-panel__content--step2 .holo-card--choice {
  display: flex;
  flex-direction: column;
  height: 100%;
}
.hf-holo-form .holo-cards--choice .holo-card--choice .holo-card__body {
  flex: 1 1 auto;
  height: 100%;
  min-height: 76px;
  padding: 14px 36px 14px 14px;
}
/*
 * FROZEN 2026-07-13 — Step3 split / thumb cards (Property Details mock)
 * Titles = .wiz-label (our rules); green check via ::after; zoom on media
 */
.holo-cards--split { gap: 10px; }
.holo-card--split .holo-card__body {
  flex-direction: row !important;
  align-items: stretch;
  justify-content: flex-start;
  text-align: left;
  gap: 0;
  padding: 0 !important;
  min-height: 76px;
  overflow: hidden;
}
.holo-card--split .holo-card__media--split {
  flex: 0 0 34%;
  max-width: 108px;
  min-height: 76px;
  align-self: stretch;
  overflow: hidden;
  background: var(--navy-100, #E8EEF5);
  /* flush to left edge of card frame */
  margin: 0;
  border-radius: 0;
}
.holo-card--split .holo-card__media--split img {
  width: 100%;
  height: 100%;
  min-height: 100%;
  object-fit: cover;
  object-position: center top;
  display: block;
  transition: transform 0.3s ease-in-out;
}
@media (min-width: 1025px) {
  .holo-card--split:hover .holo-card__media--split img { transform: scale(1.04); }
}
@media (prefers-reduced-motion: reduce) {
  .holo-card--split .holo-card__media--split img { transition: none; }
  .holo-card--split:hover .holo-card__media--split img { transform: none; }
}
.holo-card--split .holo-card__text {
  flex: 1 1 auto;
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 4px;
  padding: 12px 36px 12px 14px;
  min-width: 0;
}
.holo-card--split .holo-card__text strong {
  line-height: 1.25;
  color: var(--navy-900);
}
.holo-card--split .holo-card__text small {
  line-height: 1.25;
  color: var(--navy-600);
}

.holo-cards--thumb {
  gap: 8px;
  align-items: stretch;
}
.holo-card--thumb {
  display: flex;
  flex-direction: column;
  height: 100%;
  min-width: 0;
}
.holo-card--thumb .holo-card__body {
  flex: 1 1 auto;
  flex-direction: row !important;
  align-items: stretch;
  justify-content: flex-start;
  text-align: left;
  gap: 0;
  padding: 0 !important;
  min-height: 64px;
  height: 100%;
  box-sizing: border-box;
  overflow: hidden;
}
.holo-card--thumb .holo-card__media--thumb {
  flex: 0 0 56px;
  width: 56px;
  align-self: stretch;
  height: auto;
  min-height: 64px;
  border-radius: 0;
  overflow: hidden;
  background: var(--navy-100, #E8EEF5);
}
.holo-card--thumb .holo-card__media--thumb img {
  width: 100%;
  height: 100%;
  min-height: 100%;
  object-fit: cover;
  display: block;
  transition: transform 0.3s ease-in-out;
}
.holo-card--thumb .holo-card__text {
  padding: 8px 30px 8px 10px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  min-width: 0;
}
@media (min-width: 1025px) {
  .holo-card--thumb:hover .holo-card__media--thumb img { transform: scale(1.04); }
}
@media (prefers-reduced-motion: reduce) {
  .holo-card--thumb .holo-card__media--thumb img { transition: none; }
  .holo-card--thumb:hover .holo-card__media--thumb img { transform: none; }
}
.holo-card--thumb .holo-card__text {
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 2px;
  min-width: 0;
  flex: 1 1 auto;
}
.holo-card--thumb .holo-card__text strong {
  font-size: 13px;
  line-height: 1.2;
}
.holo-card--thumb .holo-card__text small {
  font-size: 10.5px;
  line-height: 1.3;
  color: var(--navy-600);
}
[dir="rtl"] .holo-card--split .holo-card__text,
[dir="rtl"] .holo-card--thumb .holo-card__body {
  text-align: right;
}
[dir="rtl"] .holo-card--split .holo-card__text {
  padding: 12px 14px 12px 36px;
}
[dir="rtl"] .holo-card--thumb .holo-card__body {
  padding: 8px 8px 8px 32px !important;
}
/*
 * FROZEN 2026-07-13 — Selected widget badge (green check, top-right)
 * Source of truth = input:checked only (is-selected class can lag → sticky tick).
 */
.hf-holo-form .holo-card__body {
  position: relative;
}
.hf-holo-form .holo-card input:checked + .holo-card__body::after {
  content: "";
  position: absolute;
  top: 10px;
  right: 10px;
  width: 22px;
  height: 22px;
  border-radius: 50%;
  background: #22C55E
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4.5 12.75L10.5 18.75L19.5 5.25'/%3E%3C/svg%3E")
    center / 12px 12px no-repeat;
  box-shadow: 0 2px 6px rgba(34, 197, 94, 0.35);
  z-index: 4;
  pointer-events: none;
}
/* Salaried reference: split cards — check on text panel top-right (not over media) */
.hf-holo-form .holo-card--split input:checked + .holo-card__body::after {
  top: 10px;
  right: 10px;
}
/* Employment media is on the right — keep check on the text side */
.hf-holo-form .holo-cards--emp .holo-card input:checked + .holo-card__body::after {
  right: calc(62% + 10px);
  left: auto;
}
[dir="rtl"] .hf-holo-form .holo-cards--emp .holo-card input:checked + .holo-card__body::after {
  right: auto;
  left: calc(62% + 10px);
}
.hf-holo-form .holo-card--photo input:checked + .holo-card__body::after,
.hf-holo-form .holo-card--thumb input:checked + .holo-card__body::after,
.hf-holo-form .holo-card--choice input:checked + .holo-card__body::after,
.hf-holo-form .holo-card--hero input:checked + .holo-card__body::after {
  top: 10px;
  right: 10px;
}
[dir="rtl"] .hf-holo-form .holo-card input:checked + .holo-card__body::after {
  right: auto;
  left: 10px;
}

/* Step4 info cards (valuation / cashback) */
.hf-info-card--valuation {
  border-color: rgba(13, 27, 42, 0.14);
}
.hf-info-card--cashback {
  border-color: rgba(212, 175, 55, 0.45);
  background: linear-gradient(180deg, #fffef9 0%, #ffffff 48%);
}
.hf-info-card__head {
  display: flex;
  align-items: flex-start;
  gap: 12px;
}
.hf-info-card__icon {
  flex: 0 0 44px;
  width: 44px;
  height: 44px;
  border-radius: 12px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: rgba(13, 27, 42, 0.08);
  color: #0D1B2A;
}
.hf-info-card__icon--gold {
  background: rgba(212, 175, 55, 0.2);
  color: #8A6A2A;
}
.hf-info-card__icon svg { width: 22px; height: 22px; display: block; }
.hf-info-card__title {
  margin: 0 !important;
  flex: 1 1 auto;
  min-width: 0;
}
.hf-info-card__lead {
  margin: 0;
  font-size: 13px;
  line-height: 1.45;
  color: var(--navy-700, #334155);
}
.hf-info-card__points {
  margin: 0;
  padding: 0;
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.hf-info-card__points li {
  position: relative;
  padding-left: 22px;
  font-size: 13px;
  line-height: 1.4;
  color: var(--navy-800, #1e293b);
}
.hf-info-card__points li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.35em;
  width: 14px;
  height: 14px;
  border-radius: 50%;
  background: #22C55E
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4.5 12.75L10.5 18.75L19.5 5.25'/%3E%3C/svg%3E")
    center / 9px 9px no-repeat;
}
.hf-info-card__cta {
  margin: 4px 0 0;
  padding: 10px 12px;
  border-radius: 10px;
  background: rgba(212, 175, 55, 0.12);
  border: 1px solid rgba(212, 175, 55, 0.35);
  font-size: 13px;
  font-weight: 600;
  line-height: 1.4;
  color: #0D1B2A;
}
.hf-panel__content--step4 {
  gap: 12px;
  overflow-y: auto !important;
}
.hf-panel__content--step4 .wiz-field--compact {
  flex: 1 1 auto;
  margin-bottom: 0;
}
[dir="rtl"] .hf-info-card__points li {
  padding-left: 0;
  padding-right: 22px;
}
[dir="rtl"] .hf-info-card__points li::before {
  left: auto;
  right: 0;
}
.holo-card__check {
  position: absolute;
  top: 10px;
  right: 10px;
  width: 22px;
  height: 22px;
  border-radius: 999px;
  background: #22C55E;
  color: #fff;
  display: none;
  align-items: center;
  justify-content: center;
  box-shadow: 0 2px 6px rgba(34, 197, 94, 0.35);
  z-index: 4;
}
.holo-card__check svg {
  width: 12px;
  height: 12px;
}
/* Prefer ::after badge; hide legacy HTML checks inside hf wizard to avoid double ticks */
.hf-holo-form .holo-card__check { display: none !important; }
.holo-card.is-selected .holo-card__check,
.holo-card input:checked + .holo-card__body .holo-card__check {
  display: flex;
}
.holo-cards--choice .holo-card.is-selected .holo-card__icon,
.holo-cards--choice .holo-card input:checked + .holo-card__body .holo-card__icon {
  background: #0D1B2A;
  color: #fff;
}
.holo-cards--debts .holo-card.is-selected .holo-card__icon,
.holo-cards--debts .holo-card input:checked + .holo-card__body .holo-card__icon {
  background: #0D1B2A;
  color: #fff;
}
[dir="rtl"] .holo-cards--choice .holo-card--choice .holo-card__body {
  padding: 14px 14px 14px 44px;
  text-align: right;
}
[dir="rtl"] .holo-card__check {
  right: auto;
  left: 10px;
}

.calc-grid { display: grid; grid-template-columns: .9fr 1.1fr; gap: 56px; align-items: center; }
.calc-points { list-style: none; margin: 22px 0 28px; display: grid; gap: 12px; }
.calc-points li { position: relative; padding-left: 30px; color: var(--text); font-weight: 500; }
.calc-points li::before { content: "✓"; position: absolute; left: 0; top: 0; width: 20px; height: 20px; border-radius: 999px; background: var(--gold-tint); color: #8a6d2f; font-size: 12px; font-weight: 800; display: grid; place-items: center; }
.calc-panel { background: #fff; border: 1px solid var(--line); border-radius: var(--radius); padding: 30px; box-shadow: var(--shadow); }
.field { margin-bottom: 22px; }
.field-top { display: flex; justify-content: space-between; align-items: baseline; margin-bottom: 10px; }
.field-top label { font-weight: 700; color: var(--navy-900); font-size: 15px; }
.field-top output { color: var(--navy-700); font-weight: 700; font-size: 15px; }
input[type="range"] { -webkit-appearance: none; appearance: none; width: 100%; height: 6px; border-radius: 999px; background: var(--line); outline: none; }
input[type="range"]::-webkit-slider-thumb { -webkit-appearance: none; width: 22px; height: 22px; border-radius: 50%; background: var(--gold); border: 3px solid #fff; box-shadow: 0 2px 8px rgba(201,163,90,.5); cursor: pointer; }
input[type="range"]::-moz-range-thumb { width: 20px; height: 20px; border-radius: 50%; background: var(--gold); border: 3px solid #fff; cursor: pointer; }
.calc-result { background: var(--navy-900); color: #fff; border-radius: var(--radius-sm); padding: 22px; margin-top: 8px; }
.calc-result-main { display: flex; flex-direction: column; gap: 4px; padding-bottom: 18px; border-bottom: 1px solid rgba(255,255,255,.12); }
.calc-result-main span { color: rgba(255,255,255,.65); font-size: 14px; }
.calc-result-main strong { font-family: var(--display); font-size: 38px; font-weight: 600; }
.calc-result-main .cur { font-size: 18px; color: var(--gold-soft); font-family: var(--font); }
.calc-result-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; padding: 18px 0; }
.calc-result-grid span { display: block; color: rgba(255,255,255,.6); font-size: 12px; }
.calc-result-grid strong { font-size: 15px; }
.calc-result .btn { margin-top: 6px; }

/* Home finance wizard */
.hf-wizard { padding: 0; overflow: hidden; }
.hf-wizard__head {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  justify-content: space-between;
  gap: 20px 28px;
  padding: 24px 28px;
  border-bottom: 1px solid var(--line);
  background: linear-gradient(180deg, rgba(201,163,90,.08), transparent);
}
.hf-wizard__head h3 { margin: 0 0 6px; font-size: 20px; color: var(--navy-900); }
.hf-wizard__lead { margin: 0; font-size: 14px; color: var(--navy-600); max-width: 340px; }
.hf-steps {
  list-style: none; margin: 0; padding: 0;
  display: flex; gap: 8px; align-items: center;
}
.hf-steps__item {
  display: flex; align-items: center; gap: 8px;
  font-size: 13px; color: var(--navy-600); font-weight: 600;
}
.hf-steps__item span {
  width: 28px; height: 28px; border-radius: 999px;
  display: grid; place-items: center;
  border: 2px solid var(--line);
  background: #fff; font-weight: 800; font-size: 12px;
  transition: background .25s, border-color .25s, color .25s;
}
.hf-steps__item em { font-style: normal; display: none; }
@media (min-width: 640px) { .hf-steps__item em { display: inline; } }
.hf-steps__item.is-active span {
  background: var(--navy-900); border-color: var(--navy-900); color: #fff;
}
.hf-steps__item.is-active { color: var(--navy-900); }
.hf-steps__item.is-done span {
  background: var(--gold-tint); border-color: var(--gold); color: #8a6d2f;
}
.hf-ltv-hint { margin: 6px 0 0; font-size: 12px; color: var(--navy-600); }
.hf-field-hint { margin: 6px 0 0; font-size: 12px; color: var(--navy-600); line-height: 1.45; }
.hf-field-hint[hidden] { display: none !important; }
.hf-budget-hint {
  min-height: 2.9em;
  margin-bottom: 0;
}
.hf-step-section {
  margin: 8px 0 4px;
  padding-top: 16px;
  border-top: 1px solid rgba(15, 23, 42, 0.08);
  font-size: 13px;
  font-weight: 800;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--navy-500, #64748b);
}
[data-theme="dark"] .hf-step-section { border-top-color: rgba(255, 255, 255, 0.1); color: var(--text-secondary, #94a3b8); }
.wiz-input[type="date"] { min-height: 46px; }
.hf-panel { display: none; animation: hfFade .35s ease; }
.hf-panel.is-active { display: flex; flex-direction: column; flex: 1; min-height: 0; }
@keyframes hfFade { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: none; } }
.hf-panel__hint { margin: 0 0 22px; color: var(--navy-600); font-size: 15px; line-height: 1.5; }
.wiz-field { margin-bottom: 20px; }
.wiz-row { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.wiz-label {
  display: block;
  font-family: var(--display);
  font-weight: 600;
  font-size: var(--hf-intro-title-size, 17px);
  line-height: var(--hf-intro-title-lh, 1.25);
  letter-spacing: -.01em;
  color: var(--navy-900);
  margin-bottom: 6px;
}
.hf-holo-form .wiz-label {
  font-family: var(--display);
  font-weight: 600;
  font-size: var(--hf-intro-title-size, 17px) !important;
  line-height: var(--hf-intro-title-lh, 1.25);
  letter-spacing: -.01em;
  color: var(--navy-900);
}
.wiz-input {
  width: 100%; padding: 12px 14px; border-radius: var(--radius-sm);
  border: 1px solid var(--line); font: inherit; font-size: 15px;
  background: #fff; color: var(--navy-900);
}
.wiz-input:focus { outline: none; border-color: var(--gold); box-shadow: 0 0 0 3px rgba(201,163,90,.22); }
.wiz-range { width: 100%; accent-color: var(--gold); }
.wiz-chips { display: flex; flex-wrap: wrap; gap: 10px; }
.wiz-chip {
  cursor: pointer; margin: 0;
}
.wiz-chip input { position: absolute; opacity: 0; pointer-events: none; }
.wiz-chip span {
  display: inline-block; padding: 10px 18px; border-radius: 999px;
  border: 1px solid var(--line); background: #fff;
  font-size: 14px; font-weight: 700; color: var(--navy-800);
  transition: background .2s, border-color .2s, color .2s, box-shadow .2s;
}
.wiz-chip:hover span { border-color: rgba(201,163,90,.45); }
.wiz-chip.is-selected span,
.wiz-chip input:checked + span {
  background: var(--navy-900); border-color: var(--navy-900); color: #fff;
  box-shadow: 0 6px 18px rgba(10,24,48,.12);
}
.hf-preview {
  margin: 8px 0 20px; padding: 18px 20px; border-radius: var(--radius-sm);
  background: var(--navy-900); color: #fff;
  display: flex; flex-direction: column; gap: 4px;
}
.hf-preview span { font-size: 13px; color: rgba(255,255,255,.65); }
.hf-preview strong { font-family: var(--display); font-size: 32px; font-weight: 600; }
.hf-preview .cur { font-size: 16px; color: var(--gold-soft); font-family: var(--font); }
.hf-summary { display: flex; flex-direction: column; gap: 6px; }
.hf-summary__deal {
  text-align: center;
  min-height: 148px;
  padding: 18px 14px 16px;
  border-radius: var(--radius-sm);
  background: var(--navy-900);
  color: #fff;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
}
.hf-summary__badge {
  display: inline-block; font-size: 12px; font-weight: 800; letter-spacing: 0.06em; text-transform: uppercase;
  padding: 5px 12px; border-radius: 999px; background: rgba(201, 163, 90, 0.25); color: var(--gold-soft, #F5E6C8); margin-bottom: 10px;
}
.hf-summary__monthly-label {
  margin: 0 0 4px;
  font-size: 15px;
  font-weight: 600;
  color: rgba(255,255,255,.88);
}
.hf-summary__monthly-hero {
  margin: 0 0 8px;
  line-height: 1.05;
}
.hf-summary__monthly-hero strong {
  font-family: var(--display);
  font-size: 40px;
  font-weight: 600;
  color: #fff;
  letter-spacing: -0.02em;
}
.hf-summary__bank { display: none; }
.hf-summary__rate { margin: 0; font-size: 14px; color: rgba(255,255,255,.78); }
.hf-summary__rate strong { font-family: var(--display); font-size: 22px; color: #fff; font-weight: 600; }
.hf-summary__rate small { font-size: 12px; margin-left: 4px; }
.hf-summary__rows {
  margin: 0; padding: 0; display: flex; flex-direction: column; gap: 0;
  border: 1px solid var(--line); border-radius: var(--radius-sm); overflow: hidden;
}
.hf-summary__row {
  display: flex; justify-content: space-between; align-items: baseline; gap: 10px;
  padding: 6px 12px; border-bottom: 1px solid var(--line); background: #fff;
}
.hf-summary__row:last-child { border-bottom: none; }
.hf-summary__row dt { margin: 0; font-size: 12.5px; color: var(--navy-600); font-weight: 500; flex: 1; line-height: 1.25; }
.hf-summary__row dd { margin: 0; font-size: 13.5px; font-weight: 700; color: var(--navy-900); text-align: right; white-space: nowrap; }
.hf-summary__row--hero { background: rgba(201, 163, 90, 0.1); }
.hf-summary__row--hero dd { font-family: var(--display); font-size: 17px; color: var(--navy-900); }
.hf-summary__row--total { background: rgba(11, 31, 53, 0.04); }
.hf-summary__row--total dd { font-size: 14.5px; }
.hf-summary__row--emphasis {
  background: rgba(201, 163, 90, 0.12);
  border-top: 1px solid rgba(201, 163, 90, 0.35);
  border-bottom: 1px solid rgba(201, 163, 90, 0.35);
}
.hf-summary__row--emphasis dt,
.hf-summary__row--emphasis dd {
  font-weight: 700;
  color: var(--text-primary, #0b1f35);
}
.hf-summary__subhero {
  margin: 0.35rem 0 0;
  font-size: 0.9rem;
  color: var(--text-secondary, #475569);
}
.hf-summary__flags {
  margin: 0.75rem 0 0;
  padding: 0.65rem 0.75rem;
  font-size: 0.82rem;
  line-height: 1.4;
  color: #6b4f1d;
  background: rgba(201, 163, 90, 0.1);
  border-radius: 8px;
}
.hf-live-chip {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 0.75rem;
  margin: 0.5rem 0 0.75rem;
  padding: 0.55rem 0.85rem;
  border-radius: 10px;
  background: rgba(11, 31, 53, 0.06);
  border: 1px solid rgba(11, 31, 53, 0.08);
  font-size: 0.88rem;
}
.hf-live-chip__label { color: var(--text-secondary, #64748b); }
.hf-live-chip strong { font-size: 1.05rem; color: var(--text-primary, #0b1f35); }
.wiz-label__opt { font-weight: 400; opacity: 0.7; font-size: 0.85em; }
.hf-summary__credit { color: #0d7a4a !important; }
.hf-summary__note {
  margin: 2px 0 0;
  font-size: 10px;
  line-height: 1.28;
  color: var(--navy-600);
}
.hf-panel__content--step6 .hf-field-sub--review {
  display: none;
}
[data-theme="dark"] .hf-summary__row { background: var(--bg-card, #1e293b); border-bottom-color: rgba(255,255,255,.08); }
[data-theme="dark"] .hf-summary__row dt { color: var(--text-secondary, #94a3b8); }
[data-theme="dark"] .hf-summary__row dd { color: var(--text-primary, #f1f5f9); }
[data-theme="dark"] .hf-summary__rows { border-color: rgba(255,255,255,.1); }
.hf-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 8px; }
/*
 * FROZEN 2026-07-13 — Calculator layout stability + tip icons + media zoom
 * - .wiz-error-slot: always reserves error line height (Continue/Back don't jump)
 * - .hf-tip: pulse info beside label; hover tooltip (attr title)
 * - Image widgets: hover zoom scale(1.04) only
 */
.wiz-error-slot {
  flex-shrink: 0;
  min-height: 1.5em;
  margin-top: 8px;
  display: flex;
  align-items: flex-start;
}
.wiz-error-slot .wiz-error {
  margin: 0;
  min-height: 1.35em;
  line-height: 1.35;
}
.wiz-error-slot .wiz-error[hidden] {
  display: block !important;
  visibility: hidden;
  pointer-events: none;
  overflow: hidden;
}
.wiz-label-row {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 6px;
  flex-wrap: wrap;
}
.wiz-label-row .wiz-label {
  margin-bottom: 0 !important;
  flex: 0 1 auto;
}
.hf-tip {
  position: relative;
  flex: 0 0 auto;
  width: 22px;
  height: 22px;
  border: 0;
  padding: 0;
  border-radius: 50%;
  background: rgba(212, 175, 55, 0.18);
  color: #B8860B;
  cursor: help;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  z-index: 2;
}
.hf-tip svg {
  width: 14px;
  height: 14px;
  display: block;
}
.hf-tip--pulse {
  animation: hf-tip-pulse 1.8s ease-in-out infinite;
}
@keyframes hf-tip-pulse {
  0%, 100% { box-shadow: 0 0 0 0 rgba(212, 175, 55, 0.5); }
  55% { box-shadow: 0 0 0 7px rgba(212, 175, 55, 0); }
}
@media (prefers-reduced-motion: reduce) {
  .hf-tip--pulse { animation: none; }
}
.hf-tip::after {
  content: attr(title);
  position: absolute;
  left: 50%;
  bottom: calc(100% + 8px);
  transform: translateX(-50%);
  width: max(180px, min(280px, 70vw));
  padding: 8px 10px;
  border-radius: 8px;
  background: #0D1B2A;
  color: #fff;
  font-size: 12px;
  font-weight: 500;
  line-height: 1.35;
  text-align: left;
  white-space: normal;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity 0.15s ease;
  box-shadow: 0 8px 24px rgba(13, 27, 42, 0.25);
  z-index: 20;
}
.hf-tip:hover::after,
.hf-tip:focus-visible::after {
  opacity: 1;
  visibility: visible;
}
[dir="rtl"] .hf-tip::after { text-align: right; }
.hf-field-hint--slot {
  min-height: 1.35em;
  margin-top: 6px;
}
.hf-field-hint--slot:empty {
  visibility: hidden;
}
/* Step2 residency = photo cards (same shell as purpose); employment = full-height left media */
.hf-panel__content--step2 .holo-cards--residency {
  flex: 1 1 auto;
  min-height: 0;
  align-items: stretch;
  gap: 10px;
}
.hf-panel__content--step2 .holo-cards--residency .holo-card--photo {
  height: 100%;
  min-height: 0;
}
.hf-panel__content--step2 .holo-cards--split {
  flex: 1 1 auto;
  min-height: 0;
  align-items: stretch;
}
.hf-panel__content--step2 .holo-card--split {
  height: 100%;
  min-height: 0;
}
.hf-panel__content--step2 .holo-card--split .holo-card__body {
  min-height: 100%;
  height: 100%;
}
.hf-panel__content--step2 .holo-card--split .holo-card__media--split {
  flex: 0 0 42%;
  max-width: 148px;
  align-self: stretch;
  min-height: 100%;
}
/* Employment: taller 2-up cards (room available below residency) */
.hf-wizard .hf-panel__content--step2 .holo-cards--emp {
  flex: 1 1 auto;
  min-height: 0;
  max-height: 220px;
}
.hf-wizard .hf-panel__content--step2 .holo-cards--emp .holo-card--split {
  max-height: 220px;
}
.hf-wizard .hf-panel__content--step2 .holo-cards--emp .holo-card--split .holo-card__body {
  flex-direction: row !important;
  min-height: 0;
  max-height: 220px;
}
.hf-wizard .hf-panel__content--step2 .holo-cards--emp .holo-card__text {
  order: 1;
  flex: 0 1 38%;
  max-width: 38%;
  min-width: 0;
  padding: 8px 8px 8px 12px;
  justify-content: center;
}
.hf-wizard .hf-panel__content--step2 .holo-cards--emp .holo-card__text strong {
  font-size: 14px;
  line-height: 1.25;
}
.hf-wizard .hf-panel__content--step2 .holo-cards--emp .holo-card__media--split {
  order: 2;
  margin: -2px -2px -2px 0 !important;
  flex: 1 1 62% !important;
  width: auto !important;
  max-width: none !important;
  min-height: calc(100% + 4px) !important;
  height: auto !important;
  max-height: 220px;
  align-self: stretch;
  border-radius: 0 !important;
  overflow: hidden;
}
.hf-wizard .hf-panel__content--step2 .holo-cards--emp .holo-card__media--split img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center top;
  display: block;
  border-radius: 0 !important;
}
[dir="rtl"] .hf-wizard .hf-panel__content--step2 .holo-cards--emp .holo-card--split .holo-card__body {
  flex-direction: row-reverse !important;
}
[dir="rtl"] .hf-wizard .hf-panel__content--step2 .holo-cards--emp .holo-card__media--split {
  margin: -2px 0 -2px -2px !important;
}
[dir="rtl"] .hf-wizard .hf-panel__content--step2 .holo-cards--emp .holo-card__text {
  padding: 10px 12px 10px 8px;
}
/* Step3 Property: flush split cards + equal heights + visible captions */
.hf-panel__content--step3 .holo-cards--property {
  align-items: stretch;
}
.hf-panel__content--step3 .holo-cards--property .holo-card--split {
  height: 100%;
  display: flex;
  flex-direction: column;
}
.hf-panel__content--step3 .holo-cards--property .holo-card--split .holo-card__body {
  flex: 1 1 auto;
  min-height: 132px; /* found: +50% vs prior 88px */
}
.hf-panel__content--step3 .holo-cards--property .holo-card--split .holo-card__media--split {
  flex: 0 0 42% !important;
  width: 42% !important;
  max-width: none;
  min-height: 132px;
  align-self: stretch;
}
.hf-panel__content--step3 .holo-cards--property-type .holo-card--split .holo-card__body {
  min-height: 110px; /* equal height for Apartment / Villa / Other */
}
.hf-panel__content--step3 .holo-cards--property-type .holo-card--split .holo-card__media--split {
  flex: 0 0 40% !important;
  width: 40% !important;
  min-height: 110px;
}
.hf-panel__content--step3 .holo-cards--property .holo-card__text {
  padding: 10px 32px 10px 12px;
  gap: 4px;
  justify-content: center;
  min-height: 3.4em;
}
.hf-panel__content--step3 .holo-cards--property .holo-card__text small {
  display: block !important;
  font-size: 11px;
  line-height: 1.35;
  color: var(--navy-600, #64748B);
  min-height: 2.7em;
}
.hf-panel__content--step3 .holo-card--thumb .holo-card__media--thumb {
  flex: 0 0 72px;
  width: 72px;
  min-height: 88px;
  height: auto;
  align-self: stretch;
  border-radius: 0;
}
.hf-panel__content--step3 .holo-card--thumb .holo-card__body {
  min-height: 88px;
  padding: 0 !important;
}
.hf-panel__content--step3 .holo-card--thumb .holo-card__text {
  padding: 10px 32px 10px 12px;
}
/* PropAtlas powered bar — bottom of calculator shell */
.hf-wizard__brandbar {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  min-height: var(--hf-brandbar-h, 36px);
  padding: 0 20px;
  box-sizing: border-box;
  background: #F1F5F9;
  border-top: 1px solid #E2E8F0;
  border-radius: 0 0 var(--radius) var(--radius);
}
.hf-wizard__brandline {
  margin: 0;
  display: inline-flex;
  align-items: baseline;
  gap: 6px;
  line-height: 1;
}
.hf-wizard__powered {
  font-family: var(--font);
  font-size: 11px;
  font-weight: 500;
  letter-spacing: 0.01em;
  color: #94A3B8;
}
/* Match PropAtlas sidebar .logo-text: Prop muted + Atlas primary blue */
.hf-wizard__brand {
  display: inline-flex;
  align-items: center;
  gap: 0;
  font-family: var(--font);
  font-size: 15px;
  font-weight: 700;
  letter-spacing: -0.02em;
  line-height: 1.1;
  user-select: none;
}
.hf-wizard__brand-prop {
  color: #0F172A;
}
.hf-wizard__brand-atlas {
  color: #3B82F6;
}
[dir="rtl"] .hf-wizard__brandbar {
  justify-content: flex-start;
}
/* Step4: icon-max choice cards (no in-card small) */
.holo-cards--choice-max .holo-card--choice .holo-card__body {
  flex-direction: column !important;
  align-items: center;
  justify-content: center;
  text-align: center;
  gap: 12px;
  min-height: 118px;
  padding: 18px 14px 16px !important;
}
.holo-cards--choice-max .holo-card__icon {
  width: 56px;
  height: 56px;
  margin: 0;
}
.holo-cards--choice-max .holo-card__icon svg {
  width: 30px;
  height: 30px;
}
.holo-cards--choice-max .holo-card__text {
  align-items: center;
}
.holo-cards--choice-max .holo-card__text strong {
  font-size: 14px;
}
.holo-cards--choice-max .holo-card__text small {
  display: none;
}
.wiz-error { color: #b4232a; font-size: 14px; font-weight: 600; margin: 10px 0 0; }
.hf-panel--result { text-align: center; }
.hf-result__badge {
  display: inline-block; padding: 8px 16px; border-radius: 999px;
  background: rgba(21,115,71,.12); color: #157347; font-weight: 800; font-size: 13px;
  margin-bottom: 16px;
}
.hf-result__title { margin: 0 0 20px; font-family: var(--display); color: var(--navy-900); }
.hf-result__hero {
  background: var(--navy-900); color: #fff; border-radius: var(--radius-sm);
  padding: 24px; margin-bottom: 20px;
}
.hf-result__hero span { display: block; font-size: 14px; color: rgba(255,255,255,.65); }
.hf-result__hero strong { display: block; font-family: var(--display); font-size: 40px; margin: 6px 0; }
.hf-result__hero small { color: var(--gold-soft); font-size: 14px; }
.hf-result-grid {
  display: grid; grid-template-columns: repeat(2, 1fr); gap: 12px;
  text-align: left; margin-bottom: 20px;
}
.hf-result-grid span { display: block; font-size: 12px; color: var(--navy-600); }
.hf-result-grid strong { font-size: 16px; color: var(--navy-900); }
.hf-result__note { font-size: 14px; color: var(--navy-600); margin: 0 0 22px; line-height: 1.55; }
@media (max-width: 560px) {
  .wiz-row { grid-template-columns: 1fr; }
  .hf-wizard__head { padding: 20px; }
  .hf-wizard__body { padding: 20px; }
}

/* Stats */
.stats { display: grid; grid-template-columns: repeat(4, 1fr); gap: 22px; }
.stat { text-align: center; padding: 34px 18px; background: var(--bg-soft); border-radius: var(--radius); border: 1px solid var(--line); }
.stat strong { display: block; font-family: var(--display); font-size: 40px; font-weight: 600; color: var(--navy-900); }
.stat span { color: var(--muted); font-size: 15px; }

/* Steps */
.steps { display: grid; grid-template-columns: repeat(4, 1fr); gap: 22px; }
.step { background: #fff; border: 1px solid var(--line); border-radius: var(--radius); padding: 28px 24px; }
.step-num { font-family: var(--display); font-size: 30px; font-weight: 600; color: var(--gold); }
.step h3 { color: var(--navy-900); font-size: 18px; margin: 12px 0 8px; }
.step p { color: var(--muted); font-size: 15px; }

/* Testimonials */
.quotes { display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; }
.quote { background: var(--bg-soft); border: 1px solid var(--line); border-radius: var(--radius); padding: 28px; }
.quote blockquote { font-size: 17px; color: var(--navy-800); line-height: 1.55; }
.quote figcaption { margin-top: 16px; color: var(--muted); font-weight: 700; }

/* CTA band + lead form */
.cta-band {
  color: #fff;
  background:
    radial-gradient(700px 400px at 15% 20%, rgba(201,163,90,.16), transparent 60%),
    linear-gradient(160deg, var(--navy-800), var(--navy-900));
  padding: 80px 0;
}
.cta-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 56px; align-items: center; }
.cta-grid--solo { grid-template-columns: 1fr; max-width: 720px; }
.cta-band--page { min-height: calc(100svh - var(--mova-header-h, 100px)); display: flex; align-items: center; padding: 48px 0 64px; }
.cta-band--page h1 { font-family: var(--display); font-size: clamp(32px, 4vw, 48px); font-weight: 600; color: #fff; margin: 0; }
.cta-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 28px; }
.cta-alt { margin-top: 22px; font-size: 14px; color: rgba(255,255,255,.72); }
.cta-alt a { color: #fff; text-decoration: underline; text-underline-offset: 3px; }
.btn-on-dark { border-color: rgba(255,255,255,.45); color: #fff; background: transparent; }
.btn-on-dark:hover { border-color: #fff; background: rgba(255,255,255,.08); }
.breadcrumbs--on-dark a, .breadcrumbs--on-dark { color: rgba(255,255,255,.75); }
.breadcrumbs--on-dark a:hover { color: #fff; }
.page-preapproval .spoke-cta { display: none !important; }
.cta-copy p { color: rgba(255,255,255,.78); font-size: 17px; margin-top: 14px; }
.cta-points { list-style: none; margin-top: 24px; display: grid; gap: 12px; }
.cta-points li { position: relative; padding-left: 30px; color: rgba(255,255,255,.9); }
.cta-points li::before { content: "✓"; position: absolute; left: 0; width: 20px; height: 20px; border-radius: 999px; background: var(--gold); color: #16130a; font-size: 12px; font-weight: 800; display: grid; place-items: center; }
.lead-form { background: #fff; border-radius: var(--radius); padding: 30px; box-shadow: var(--shadow-lg); }
.lf-row { margin-bottom: 16px; }
.lf-2 { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.lead-form label { display: block; font-size: 13px; font-weight: 700; color: var(--navy-900); }
.lead-form input, .lead-form select {
  width: 100%; margin-top: 7px; padding: 12px 14px; border: 1px solid var(--line);
  border-radius: 10px; font-family: var(--font); font-size: 15px; color: var(--text); background: #fff;
  transition: border-color .15s, box-shadow .15s;
}
.lead-form input:focus, .lead-form select:focus { outline: none; border-color: var(--gold); box-shadow: 0 0 0 3px var(--gold-tint); }
.form-note { margin-top: 14px; font-size: 14px; color: rgba(255,255,255,.75); }
.page-spoke .form-note { color: var(--navy-700); }
.form-note.ok { color: #15803d; font-weight: 600; }
.lf-note { color: var(--muted); font-size: 12px; margin-top: 12px; text-align: center; }
.lf-note.ok { color: #157347; font-weight: 700; }

/* FAQ */
/* ── FAQ — lacivert başlık bandı (beyaz metin) + beyaz cevap gövdesi ── */
.faq { max-width: 800px; margin: 0 auto; display: grid; gap: 12px; }
.faq-item {
  background: #fff;
  border: 1px solid var(--line);
  border-radius: var(--mova-widget-radius, 14px);
  overflow: hidden;
  box-shadow: var(--mova-widget-shadow);
}
.faq-item summary {
  cursor: pointer;
  list-style: none;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 16px;
  background: var(--mova-widget-head-bg);
  color: #fff;
  font-weight: 700;
  font-size: 16px;
  padding: 15px 20px;
}
.faq-item summary::-webkit-details-marker { display: none; }
.faq-item summary::after { content: "+"; font-size: 22px; line-height: 1; color: var(--gold-soft, var(--gold)); font-weight: 700; flex-shrink: 0; }
.faq-item[open] summary::after { content: "−"; }
.faq-item[open] summary { border-bottom: 1px solid rgba(255, 255, 255, 0.14); }
.faq-item p { color: var(--muted); padding: 16px 20px 18px; margin: 0; font-size: 15px; line-height: 1.65; }

/* Homepage FAQ summary → link to full /faq/ page */
.faq-more { text-align: center; margin-top: 22px; }

/* Dedicated FAQ page (/mova/faq/) */
.page-faq .faq-hero { padding-bottom: 8px; }
.page-faq .faq-hero .section-sub { max-width: 640px; margin-left: auto; margin-right: auto; }
.page-faq .faq-page-section { padding-top: 8px; }
.page-faq .faq { max-width: 820px; }
.faq-page-cta {
  max-width: 820px;
  margin: 36px auto 0;
  text-align: center;
  background: var(--mova-widget-head-bg);
  color: #fff;
  border-radius: var(--mova-widget-radius, 14px);
  padding: 30px 24px;
  box-shadow: var(--mova-widget-shadow);
}
.faq-page-cta h2 { color: #fff; margin: 0 0 6px; }
.faq-page-cta p { color: rgba(255, 255, 255, 0.82); margin: 0 0 18px; }
.faq-page-cta__actions { display: flex; gap: 12px; justify-content: center; flex-wrap: wrap; }

/* About — SEO / GEO entity block */
.about-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 22px; }
.about-block { background: #fff; border: 1px solid var(--line); border-radius: var(--radius); padding: 24px 26px; }
.about-block h3 { color: var(--navy-900); font-size: 18px; margin-bottom: 10px; }
.about-block p { color: var(--muted); font-size: 15px; line-height: 1.65; }
.about-block strong { color: var(--navy-800); font-weight: 700; }

/* About — ENBD-style product cards (3 pillars) */
.about-cards {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 22px;
  align-items: stretch;
}
.about-card {
  display: flex;
  flex-direction: column;
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 14px;
  overflow: hidden;
  box-shadow: var(--shadow-sm);
}
.about-card__media {
  aspect-ratio: 16 / 10;
  overflow: hidden;
  background: var(--navy-900);
}
/* FAB CardListingNoCTA — hover image zoom inside clipped media */
.about-card__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center center;
  display: block;
  backface-visibility: hidden;
  transform: translateZ(0);
  transition: transform 0.3s ease-in-out;
}
@media (min-width: 1025px) {
  .about-card:hover .about-card__media img {
    transform: scale(1.04);
  }
}
@media (prefers-reduced-motion: reduce) {
  .about-card__media img { transition: none; }
  .about-card:hover .about-card__media img { transform: none; }
}
.about-card__body {
  display: flex;
  flex-direction: column;
  gap: 10px;
  padding: 22px 22px 20px;
  flex: 1;
}
.about-card__body h3 {
  font-family: var(--display);
  font-size: 22px;
  font-weight: 600;
  color: var(--navy-900);
  text-align: center;
  line-height: 1.25;
  margin: 0 0 4px;
}
.about-card__label {
  margin: 0;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--muted);
}
.about-card__list {
  margin: 0 0 8px;
  padding: 0 0 0 1.1em;
  color: var(--text);
  font-size: 14px;
  line-height: 1.55;
}
.about-card__list li { margin: 0 0 6px; }
.about-card__body .btn { margin-top: auto; }
.about-card__more {
  display: block;
  text-align: center;
  font-size: 14px;
  font-weight: 700;
  color: var(--navy-900);
  text-decoration: none;
  padding: 4px 0 2px;
}
.about-card__more:hover { color: var(--navy-700); }
.about-audience {
  max-width: 820px;
  margin: 28px auto 0;
  text-align: center;
  color: var(--muted);
  font-size: 15px;
  line-height: 1.6;
}
.about-audience strong { color: var(--navy-800); }

/* About-family variants — Services / Process / Reviews */
.about-cards--4 { grid-template-columns: repeat(4, 1fr); }
.about-card--lite .about-card__media { aspect-ratio: 16 / 7; }
.about-card--lite .about-card__body {
  padding: 16px 16px 14px;
  gap: 8px;
}
.about-card--lite .about-card__body h3 {
  font-size: 17px;
  text-align: center;
}
.about-card--lite .about-card__body p {
  margin: 0;
  color: var(--muted);
  font-size: 13.5px;
  line-height: 1.45;
  text-align: center;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.about-card--lite .about-card__more { margin-top: auto; }

.about-card__media--step,
.about-card__media--quote {
  aspect-ratio: 16 / 8;
  display: grid;
  place-items: center;
  background: linear-gradient(135deg, var(--navy-900) 0%, var(--navy-700) 100%);
}
.about-card__step-num {
  font-family: var(--display);
  font-size: clamp(36px, 4vw, 48px);
  font-weight: 600;
  color: var(--gold);
  letter-spacing: 0.04em;
  line-height: 1;
}
.about-card__quote-mark {
  font-family: var(--display);
  font-size: 72px;
  line-height: 0.7;
  color: var(--gold);
  opacity: 0.95;
}
.about-card--step .about-card__body h3,
.about-card--quote .about-card__body h3 {
  font-size: 18px;
}
.about-card--step .about-card__body p {
  margin: 0;
  color: var(--muted);
  font-size: 14px;
  line-height: 1.5;
  text-align: center;
}
.about-card--step .about-card__more { margin-top: auto; }
.about-card--quote .about-card__body {
  text-align: center;
}
.about-card--quote blockquote {
  margin: 0;
  font-family: var(--display);
  font-size: 16px;
  font-weight: 500;
  color: var(--navy-800);
  line-height: 1.45;
  quotes: none;
}
.about-card--quote figcaption {
  margin-top: 4px;
  color: var(--muted);
  font-weight: 700;
  font-size: 14px;
}

/* Reviews — Huspy-style cards (avatar → name → stars → quote), 3 rows */
.reviews-rows {
  display: flex;
  flex-direction: column;
  gap: 20px;
  overflow: hidden;
}
.reviews-marquee {
  overflow: hidden;
  width: 100%;
  mask-image: linear-gradient(90deg, transparent, #000 3%, #000 97%, transparent);
  -webkit-mask-image: linear-gradient(90deg, transparent, #000 3%, #000 97%, transparent);
}
.reviews-track {
  display: flex;
  gap: 18px;
  width: max-content;
  align-items: stretch;
  padding: 6px 0;
}
.reviews-track__group {
  display: flex;
  gap: 18px;
  flex-shrink: 0;
}
.reviews-track.reviews-track--marquee {
  animation: reviewsMarqueeLtr 55s linear infinite;
}
.reviews-marquee--rtl .reviews-track.reviews-track--marquee {
  animation-name: reviewsMarqueeRtl;
  animation-duration: 60s;
}
.reviews-marquee--ltr .reviews-track.reviews-track--marquee {
  animation-duration: 52s;
}
@keyframes reviewsMarqueeLtr {
  from { transform: translate3d(0, 0, 0); }
  to { transform: translate3d(-50%, 0, 0); }
}
@keyframes reviewsMarqueeRtl {
  from { transform: translate3d(-50%, 0, 0); }
  to { transform: translate3d(0, 0, 0); }
}
.reviews-card {
  width: min(320px, 80vw);
  flex: 0 0 auto;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap: 12px;
  background: #fff;
  border: 1px solid rgba(15, 23, 42, 0.06);
  border-radius: 24px;
  padding: 32px 26px 28px;
  box-shadow: 0 8px 28px rgba(15, 23, 42, 0.06);
  margin: 0;
  transition: transform 0.25s ease, box-shadow 0.25s ease;
}
.reviews-card:hover {
  transform: translateY(-4px) scale(1.02);
  box-shadow: 0 16px 40px rgba(15, 23, 42, 0.1);
}
.reviews-card__avatar {
  width: 72px;
  height: 72px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  flex-shrink: 0;
  font-size: 22px;
  font-weight: 800;
  letter-spacing: 0.04em;
  color: #0f172a;
  border: none;
  line-height: 1;
}
.reviews-card[data-tone="0"] .reviews-card__avatar { background: #f3e8d4; }
.reviews-card[data-tone="1"] .reviews-card__avatar { background: #e8eef7; }
.reviews-card[data-tone="2"] .reviews-card__avatar { background: #e9f3ec; }
.reviews-card[data-tone="3"] .reviews-card__avatar { background: #f6ebe8; }
.reviews-card[data-tone="4"] .reviews-card__avatar { background: #efeaf6; }
.reviews-card[data-tone="5"] .reviews-card__avatar { background: #eaf4f6; }
.reviews-card__name {
  font-style: normal;
  font-weight: 800;
  font-size: 18px;
  color: #0f172a;
  margin: 0;
  letter-spacing: -0.01em;
}
.reviews-card__stars {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 4px;
  line-height: 1;
}
.reviews-card__star {
  width: 18px;
  height: 18px;
  fill: #f5b301;
  display: block;
}
.reviews-card blockquote {
  margin: 0;
  font-size: 15px;
  font-weight: 500;
  line-height: 1.55;
  color: #334155;
  quotes: none;
  max-width: 28ch;
}
.reviews-card__head { display: none; }
@media (prefers-reduced-motion: reduce) {
  .reviews-track.reviews-track--marquee { animation: none; }
  .reviews-card:hover { transform: none; }
  .reviews-rows { overflow-x: auto; }
  .reviews-marquee { overflow-x: auto; mask-image: none; -webkit-mask-image: none; }
}

/* Services board (legacy row helpers) */
.svc-board {
  display: flex;
  flex-direction: column;
  gap: 18px;
}
.svc-row__label {
  margin: 0 0 10px;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--muted);
  text-align: center;
}
.svc-row__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
  align-items: stretch;
}

/* Services — selectable tabs + large About cards */
.svc-tabs {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 10px;
  margin: 0 0 28px;
}
.svc-tab {
  appearance: none;
  border: 1px solid var(--line);
  background: #fff;
  color: var(--navy-800);
  font-family: var(--font);
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  padding: 12px 18px;
  border-radius: 999px;
  cursor: pointer;
  transition: background .2s ease, border-color .2s ease, color .2s ease, box-shadow .2s ease;
}
.svc-tab:hover { border-color: var(--navy-600); }
.svc-tab.is-active {
  background: var(--navy-900);
  border-color: var(--navy-900);
  color: #fff;
  box-shadow: var(--shadow-sm);
}
.svc-panels { position: relative; }
.svc-panel {
  opacity: 1;
  transition: opacity 0.32s ease;
}
.svc-panel.is-fading { opacity: 0; }
.svc-panel[hidden] { display: none !important; }
.svc-panel .about-cards { margin-top: 0; }

@media (max-width: 1100px) {
  .about-cards--4 { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 900px) {
  .svc-row__grid { grid-template-columns: 1fr; }
  .about-cards--4 { grid-template-columns: 1fr; }
}

/* Footer */
.site-footer { background: var(--navy-900); color: rgba(255,255,255,.7); padding: 48px 0 30px; }
.footer-news-row {
  display: flex; align-items: center; gap: 18px 22px; flex-wrap: nowrap;
  padding-bottom: 28px; margin-bottom: 28px; border-bottom: 1px solid rgba(255,255,255,.12);
}
.footer-news-title {
  margin: 0; font-family: var(--display); font-weight: 600; font-size: clamp(17px, 2vw, 22px);
  color: #fff; white-space: nowrap;
}
.footer-news-sub {
  color: rgba(255,255,255,.62); font-size: 14px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
  min-width: 0; flex: 1 1 auto;
}
.footer-news-form {
  display: flex; align-items: center; gap: 10px; flex: 0 0 auto; min-width: 0;
}
.footer-news-form input {
  width: min(240px, 34vw); padding: 11px 16px; border: 1px solid rgba(255,255,255,.22);
  border-radius: 999px; font-family: var(--font); font-size: 14px; color: var(--text);
  background: rgba(255,255,255,.95);
}
.footer-news-form input:focus { outline: none; border-color: var(--gold); box-shadow: 0 0 0 3px rgba(201,163,90,.25); }
.footer-news-note { margin: 0; flex: 0 0 100%; text-align: left; color: #7dcea0; font-size: 13px; font-weight: 700; min-height: 0; }
.footer-grid { display: grid; grid-template-columns: 1.4fr 1fr 1fr 1fr; gap: 30px; padding-bottom: 40px; }
.footer-brand .brand-name { color: #fff; }
.footer-brand p { margin-top: 14px; font-size: 15px; max-width: 280px; }
.footer-col h4 { color: #fff; font-size: 15px; margin-bottom: 14px; }
.footer-col a { display: block; padding: 6px 0; font-size: 15px; color: rgba(255,255,255,.7); transition: color .15s; }
.footer-col a:hover { color: var(--gold); }
.footer-bottom { display: flex; justify-content: space-between; gap: 20px; flex-wrap: wrap; padding-top: 24px; border-top: 1px solid rgba(255,255,255,.1); font-size: 13px; color: rgba(255,255,255,.5); }

/* Cookie consent */
.mova-cookie-banner {
  position: fixed; left: 16px; right: 16px; bottom: 16px; z-index: 10050;
  max-width: 920px; margin: 0 auto;
  background: #0b1f35; color: #fff; border: 1px solid rgba(201,163,90,.45);
  border-radius: 14px; box-shadow: 0 18px 50px rgba(0,0,0,.35);
  padding: 18px 20px;
}
.mova-cookie-banner__inner { display: flex; gap: 18px; align-items: center; flex-wrap: wrap; }
.mova-cookie-banner__copy { flex: 1 1 320px; }
.mova-cookie-banner__copy strong { display: block; font-size: 16px; margin-bottom: 6px; color: #fff; }
.mova-cookie-banner__copy p { margin: 0; font-size: 13px; line-height: 1.45; color: rgba(255,255,255,.78); }
.mova-cookie-banner__actions { display: flex; gap: 10px; flex-wrap: wrap; }
.mova-cookie-btn { min-width: 120px; }
.mova-cookie-modal {
  position: fixed; inset: 0; z-index: 10060;
  background: rgba(11,31,53,.55); display: flex; align-items: center; justify-content: center; padding: 20px;
}
.mova-cookie-modal[hidden], .mova-cookie-banner[hidden] { display: none !important; }
.mova-cookie-modal__panel {
  width: min(520px, 100%); background: #fff; color: #0b1f35;
  border-radius: 14px; padding: 22px 22px 18px; box-shadow: 0 24px 60px rgba(0,0,0,.28);
}
.mova-cookie-modal__panel h3 { margin: 0 0 8px; font-size: 18px; }
.mova-cookie-modal__lead { margin: 0 0 16px; font-size: 13px; color: #64748b; line-height: 1.45; }
.mova-cookie-row {
  display: flex; align-items: flex-start; justify-content: space-between; gap: 14px;
  padding: 12px 0; border-top: 1px solid #e5e7eb;
}
.mova-cookie-row span { display: flex; flex-direction: column; gap: 4px; }
.mova-cookie-row strong { font-size: 14px; }
.mova-cookie-row small { font-size: 12px; color: #64748b; line-height: 1.4; }
.mova-cookie-row input[type="checkbox"] { width: 18px; height: 18px; margin-top: 2px; accent-color: #c9a35a; }
.mova-cookie-row--locked { opacity: .85; }
.mova-cookie-modal__actions { display: flex; justify-content: flex-end; gap: 10px; margin-top: 16px; padding-top: 12px; border-top: 1px solid #e5e7eb; }
.mova-cookie-notice-check {
  display: flex; align-items: flex-start; gap: 10px; margin-top: 12px;
  font-size: 13px; line-height: 1.4; color: rgba(255,255,255,.88);
}
.mova-cookie-notice-check input { margin-top: 2px; accent-color: #c9a35a; flex: 0 0 auto; }
.mova-cookie-notice-check--modal { color: #0b1f35; margin: 12px 0 0; padding-top: 12px; border-top: 1px solid #e5e7eb; }
.mova-cookie-link {
  appearance: none; background: none; border: 0; padding: 0; margin: 0;
  color: #c9a35a; text-decoration: underline; cursor: pointer; font: inherit;
}
.mova-cookie-notice-check--modal .mova-cookie-link { color: #8a6a2a; }
.mova-cookie-notice-hint { margin: 8px 0 0; font-size: 12px; color: #f5c6c6; font-weight: 600; }
.mova-cookie-notice-check--modal + .mova-cookie-notice-hint,
#movaCookieNoticeHintModal { color: #b42318; }
.mova-cookie-modal__panel--notice { width: min(640px, 100%); max-height: min(82vh, 720px); display: flex; flex-direction: column; }
.mova-privacy-notice__head { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 8px; }
.mova-privacy-notice__head h3 { margin: 0; font-size: 18px; padding-right: 8px; }
.mova-privacy-notice__x {
  flex: 0 0 auto;
  width: 36px; height: 36px;
  border: 1px solid #e5e7eb;
  border-radius: 10px;
  background: #fff;
  color: #0b1f35;
  font-size: 26px;
  line-height: 1;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0;
}
.mova-privacy-notice__x:hover { border-color: #c9a35a; color: #8a6a2a; }
.mova-privacy-notice__body {
  overflow: auto; padding-right: 4px; font-size: 13px; line-height: 1.5; color: #334155;
}
.mova-privacy-notice__body h3 { font-size: 16px; color: #0b1f35; margin: 0 0 10px; }
.mova-privacy-notice__body h4 { font-size: 13px; color: #0b1f35; margin: 14px 0 6px; }
.mova-privacy-notice__body p, .mova-privacy-notice__body ul { margin: 0 0 8px; }
.mova-privacy-notice__body ul { padding-left: 18px; }
.mova-privacy-notice__body .mova-notice-meta { margin-top: 14px; font-size: 12px; color: #64748b; }

/* Responsive */
@media (max-width: 960px) {
  .hf-holo-shell { grid-template-columns: 1fr; gap: 32px; }
  .hf-holo-aside { position: static; }
  .hf-holo-art { margin-inline: auto; }
  .holo-cards--2, .holo-cards--3 { grid-template-columns: 1fr; }
  .hero-grid, .calc-grid, .cta-grid { grid-template-columns: 1fr; }
  .hero-grid--copy-right,
  .hero-grid:not(.hero-grid--copy-right) {
    grid-template-areas: "copy" "visual";
  }
  .hero-grid--copy-right .hero-copy { text-align: left; }
  .hero-grid--copy-right .hero-slide-tag,
  .hero-grid--copy-right .eyebrow { margin-inline-start: 0; }
  .hero-grid--copy-right .lead { margin-inline-start: 0; }
  .hero-grid--copy-right .hero-cta { justify-content: flex-start; }
  .hero-grid--copy-right .hero-badges { justify-content: flex-start; }
  .hero-visual { max-width: 460px; }
  .footer-news-row { flex-wrap: wrap; }
  .footer-news-sub { white-space: normal; flex-basis: 100%; }
  .footer-news-form { width: 100%; }
  .footer-news-form input { width: 100%; flex: 1; }
  .cards, .stats, .steps, .about-grid, .about-cards { grid-template-columns: repeat(2, 1fr); }
  .quotes { grid-template-columns: 1fr; }
  .footer-grid { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 560px) {
  .cards, .stats, .steps, .about-grid, .about-cards, .footer-grid, .lf-2 { grid-template-columns: 1fr; }
  .hero-badges { gap: 20px; flex-wrap: wrap; }
  .section { padding: 60px 0; }
  .hero-slider__chrome { top: 10px; gap: 8px; }
  .hero-slider__tags { gap: 6px; }
  .hero-slider__tag { font-size: 12px; padding: 7px 12px; }
  .hero-slider .hero-grid { padding-top: 20px; }
}
