/* ============================================
   Kovo Credit — Score Dial Design System (Cobalt Trust base + Score Dial theme)
   ============================================ */

:root {
  --brand: #1a4fde;
  --brand-dark: #0a1a3f;
  --brand-light: #e8efff;
  --accent: #4ecdc4;
  --accent-warm: #ffd166;
  --ink: #0e1527;
  --ink-soft: #475169;
  --bg: #ffffff;
  --bg-alt: #f6f8fc;
  --bg-mint: #effaf8;
  --border: #e4e9f2;
  --success: #0a9f6a;
  --warn: #d97706;
  --danger: #d64545;
  --shadow-sm: 0 1px 2px rgba(10, 26, 63, 0.06);
  --shadow-md: 0 4px 18px rgba(10, 26, 63, 0.08);
  --shadow-lg: 0 20px 50px rgba(10, 26, 63, 0.12);
  --radius: 12px;
  --radius-lg: 20px;
  --maxw: 1180px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  color: var(--ink);
  background: var(--bg);
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
}

h1, h2, h3, h4, h5 {
  font-family: 'Space Grotesk', 'Inter', sans-serif;
  color: var(--brand-dark);
  font-weight: 700;
  letter-spacing: -0.02em;
  line-height: 1.2;
  margin: 0 0 0.75em;
}
h1 { font-size: clamp(2rem, 4vw + 1rem, 3.4rem); }
h2 { font-size: clamp(1.6rem, 2vw + 1rem, 2.4rem); }
h3 { font-size: 1.25rem; }
h4 { font-size: 1rem; margin-bottom: 0.5em; }

p { margin: 0 0 1em; color: var(--ink-soft); }

a { color: var(--brand); text-decoration: none; transition: color 0.15s; }
a:hover { color: var(--brand-dark); }

.container { max-width: var(--maxw); margin: 0 auto; padding: 0 24px; }

/* ===== Trust bar ===== */
.trustbar {
  background: var(--brand-dark);
  color: #d9e2fb;
  font-size: 0.825rem;
  padding: 8px 0;
}
.trustbar__row { display: flex; gap: 12px; justify-content: center; flex-wrap: wrap; }
.trustbar__sep { opacity: 0.4; }

/* ===== Header ===== */
.site-header {
  background: #fff;
  border-bottom: 1px solid var(--border);
}
.header__row {
  display: flex;
  align-items: center;
  gap: 32px;
  padding: 16px 24px;
}
.brand {
  display: flex;
  align-items: center;
  gap: 10px;
  color: var(--brand-dark);
  font-family: 'Space Grotesk', sans-serif;
  text-decoration: none;
}
.brand__text { display: flex; flex-direction: column; line-height: 1.1; }
.brand__name { font-weight: 700; font-size: 1.1rem; }
.brand__tag { font-size: 0.72rem; color: var(--ink-soft); font-weight: 500; }
.nav {
  display: flex;
  gap: 22px;
  margin-left: auto;
  align-items: center;
}
.nav a {
  color: var(--ink);
  font-weight: 500;
  font-size: 0.94rem;
  padding: 6px 2px;
  border-bottom: 2px solid transparent;
}
.nav a:hover { color: var(--brand); border-bottom-color: var(--brand); }
.header__cta { margin-left: 8px; }

/* ===== Buttons ===== */
.btn {
  display: inline-block;
  padding: 12px 22px;
  border-radius: 999px;
  font-weight: 600;
  font-size: 0.94rem;
  text-align: center;
  transition: transform 0.15s, box-shadow 0.15s, background 0.15s;
  cursor: pointer;
  border: 2px solid transparent;
  font-family: inherit;
}
.btn--primary {
  background: var(--brand);
  color: #fff;
  box-shadow: 0 6px 18px rgba(26, 79, 222, 0.3);
}
.btn--primary:hover {
  background: var(--brand-dark);
  color: #fff;
  transform: translateY(-1px);
  box-shadow: 0 10px 26px rgba(10, 26, 63, 0.35);
}
.btn--ghost {
  background: transparent;
  color: var(--brand-dark);
  border-color: var(--brand-dark);
}
.btn--ghost:hover { background: var(--brand-dark); color: #fff; }
.btn--lg { padding: 15px 30px; font-size: 1rem; }
.btn--block { display: block; width: 100%; }

/* ===== Hero ===== */
.hero {
  background:
    radial-gradient(circle at 10% 10%, #e8efff 0%, transparent 45%),
    radial-gradient(circle at 95% 90%, #effaf8 0%, transparent 55%),
    linear-gradient(180deg, #fff 0%, #f6f8fc 100%);
  padding: 56px 0 72px;
}
.hero__wrap {
  display: grid;
  grid-template-columns: 1.1fr 0.9fr;
  gap: 48px;
  align-items: center;
}
.eyebrow {
  display: inline-block;
  font-size: 0.78rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: var(--brand);
  background: var(--brand-light);
  padding: 6px 14px;
  border-radius: 999px;
  margin-bottom: 18px;
}
.hero__content h1 { margin-bottom: 20px; }
.hl { color: var(--brand); position: relative; display: inline; }
.hl::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 3px;
  height: 10px;
  background: var(--accent);
  opacity: 0.3;
  z-index: -1;
  border-radius: 4px;
}
.hero__lead { font-size: 1.08rem; color: var(--ink-soft); margin-bottom: 24px; }
.hero__points { list-style: none; padding: 0; margin: 0 0 28px; }
.hero__points li { padding: 6px 0; font-weight: 500; color: var(--ink); }
.hero__ctas { display: flex; gap: 12px; flex-wrap: wrap; margin-bottom: 24px; }
.hero__badges {
  display: flex;
  gap: 16px;
  flex-wrap: wrap;
  font-size: 0.82rem;
  color: var(--ink-soft);
}

.hero__card {
  background: #fff;
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow-lg);
  overflow: hidden;
  border: 1px solid var(--border);
}
.hero__card-head {
  background: var(--brand-dark);
  color: #fff;
  padding: 18px 24px;
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  flex-wrap: wrap;
  gap: 6px;
}
.hero__card-head strong { font-family: 'Space Grotesk', sans-serif; font-size: 1.1rem; }
.hero__card-head span { font-size: 0.8rem; color: #a3b4e0; }
.hero__card-body { padding: 24px; }
.formrow { margin-bottom: 18px; }
.formrow label { display: block; font-weight: 600; font-size: 0.9rem; margin-bottom: 10px; color: var(--brand-dark); }
.chipgroup { display: flex; gap: 8px; flex-wrap: wrap; }
.chip {
  padding: 8px 14px;
  border-radius: 999px;
  background: var(--bg-alt);
  color: var(--ink);
  font-size: 0.88rem;
  font-weight: 500;
  cursor: pointer;
  border: 1.5px solid var(--border);
  transition: all 0.15s;
}
.chip:hover { border-color: var(--brand); }
.chip--on { background: var(--brand); color: #fff; border-color: var(--brand); }
.form-placeholder {
  background: var(--bg-mint);
  border: 1.5px dashed var(--accent);
  border-radius: var(--radius);
  padding: 18px;
  text-align: center;
  margin: 18px 0;
  font-size: 0.88rem;
  color: var(--ink-soft);
}
.form-placeholder p { margin: 0; }
.fineprint { font-size: 0.72rem; color: var(--ink-soft); margin-top: 12px; text-align: center; }

/* ===== Logos ===== */
.logos {
  background: #fff;
  padding: 36px 0;
  border-top: 1px solid var(--border);
  border-bottom: 1px solid var(--border);
}
.logos__title {
  text-align: center;
  font-size: 0.82rem;
  text-transform: uppercase;
  letter-spacing: 0.12em;
  color: var(--ink-soft);
  margin-bottom: 20px;
}
.logos__row {
  display: flex;
  justify-content: center;
  gap: 48px;
  flex-wrap: wrap;
}
.logos__row span {
  font-family: 'Space Grotesk', sans-serif;
  font-weight: 600;
  color: var(--brand-dark);
  font-size: 1.1rem;
}

/* ===== Section defaults ===== */
.section { padding: 72px 0; }
.section--alt { background: var(--bg-alt); }
.section__head { text-align: center; max-width: 760px; margin: 0 auto 48px; }
.section__head .eyebrow { background: #fff; border: 1px solid var(--border); }

/* ===== Two column ===== */
.twocol {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 56px;
  align-items: start;
}
.checklist { list-style: none; padding: 0; margin: 20px 0; }
.checklist li {
  padding: 10px 0 10px 32px;
  position: relative;
  color: var(--ink);
}
.checklist li::before {
  content: "✓";
  position: absolute;
  left: 0;
  top: 10px;
  color: var(--accent);
  font-weight: 700;
  background: var(--bg-mint);
  width: 22px; height: 22px;
  border-radius: 50%;
  text-align: center;
  line-height: 22px;
  font-size: 0.8rem;
}
.note {
  background: #fff8e5;
  border-left: 4px solid var(--accent-warm);
  padding: 14px 18px;
  border-radius: 0 var(--radius) var(--radius) 0;
  font-size: 0.92rem;
}

.statcard-wrap {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
}
.statcard {
  background: linear-gradient(135deg, #fff 0%, var(--bg-alt) 100%);
  border: 1px solid var(--border);
  border-radius: var(--radius-lg);
  padding: 28px 22px;
  text-align: center;
}
.statcard__num {
  font-family: 'Space Grotesk', sans-serif;
  font-weight: 700;
  font-size: 1.8rem;
  color: var(--brand);
  margin-bottom: 4px;
}
.statcard__label {
  font-size: 0.85rem;
  color: var(--ink-soft);
}

/* ===== Services grid ===== */
.svc-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: 24px;
}
.svc {
  background: #fff;
  border: 1px solid var(--border);
  border-radius: var(--radius-lg);
  padding: 28px;
  transition: transform 0.2s, box-shadow 0.2s;
}
.svc:hover { transform: translateY(-4px); box-shadow: var(--shadow-md); }
.svc__icon {
  width: 52px; height: 52px;
  background: var(--brand-light);
  border-radius: var(--radius);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.5rem;
  margin-bottom: 16px;
}
.svc h3 { margin-bottom: 10px; }
.link {
  font-weight: 600;
  color: var(--brand);
  display: inline-block;
  margin-top: 8px;
}
.link:hover { color: var(--brand-dark); }

/* ===== Steps ===== */
.steps {
  list-style: none;
  padding: 0;
  margin: 0 0 40px;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  gap: 24px;
  counter-reset: steps;
}
.steps li {
  background: #fff;
  border: 1px solid var(--border);
  border-radius: var(--radius-lg);
  padding: 28px;
  position: relative;
}
.steps__num {
  width: 44px; height: 44px;
  background: var(--brand);
  color: #fff;
  border-radius: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-family: 'Space Grotesk', sans-serif;
  font-weight: 700;
  font-size: 1.2rem;
  margin-bottom: 16px;
}
.steps h3 { margin-bottom: 8px; }
.center { text-align: center; }

/* ===== Rates ===== */
.rates {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 16px;
}
.rate {
  background: #fff;
  border: 1px solid var(--border);
  border-radius: var(--radius-lg);
  padding: 24px;
  text-align: center;
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.rate--featured {
  background: linear-gradient(135deg, var(--brand) 0%, var(--brand-dark) 100%);
  color: #fff;
  border: none;
  transform: scale(1.02);
}
.rate--featured .rate__amt,
.rate--featured .rate__label,
.rate--featured .rate__pay { color: #fff; }
.rate--featured .rate__apr { color: #a3b4e0; }
.rate__amt {
  font-family: 'Space Grotesk', sans-serif;
  font-weight: 700;
  font-size: 2rem;
  color: var(--brand-dark);
}
.rate__label { font-weight: 600; color: var(--ink); font-size: 0.9rem; }
.rate__pay { font-weight: 600; color: var(--brand); font-size: 1.1rem; margin-top: 8px; }
.rate__apr { font-size: 0.8rem; color: var(--ink-soft); }
.disclaimer {
  background: var(--bg-alt);
  border-radius: var(--radius);
  padding: 18px 22px;
  margin-top: 28px;
  font-size: 0.88rem;
  color: var(--ink-soft);
  text-align: center;
}

/* ===== Eligibility ===== */
.elig-card {
  background: linear-gradient(135deg, var(--bg-mint) 0%, #fff 100%);
  border: 1px solid var(--border);
  border-radius: var(--radius-lg);
  padding: 32px;
}
.elig-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
  margin: 16px 0;
}
.elig-grid span {
  background: #fff;
  padding: 12px 14px;
  border-radius: var(--radius);
  font-weight: 500;
  font-size: 0.92rem;
  border: 1px solid var(--border);
}
.small { font-size: 0.82rem; color: var(--ink-soft); }

/* ===== Reviews ===== */
.reviews {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: 20px;
  margin-bottom: 32px;
}
.review {
  background: #fff;
  border: 1px solid var(--border);
  border-radius: var(--radius-lg);
  padding: 24px;
}
.stars { color: var(--accent-warm); font-size: 1.05rem; margin-bottom: 10px; }
.review p { font-style: italic; color: var(--ink); margin-bottom: 12px; }
.review footer { font-size: 0.88rem; color: var(--ink-soft); font-weight: 600; }
.review footer span { font-weight: 400; }

/* ===== FAQ ===== */
.faq {
  max-width: 820px;
  margin: 0 auto;
}
.faq details {
  background: #fff;
  border: 1px solid var(--border);
  border-radius: var(--radius);
  padding: 18px 22px;
  margin-bottom: 10px;
}
.faq summary {
  font-weight: 600;
  color: var(--brand-dark);
  cursor: pointer;
  list-style: none;
  position: relative;
  padding-right: 32px;
  font-family: 'Space Grotesk', sans-serif;
}
.faq summary::after {
  content: "+";
  position: absolute;
  right: 0;
  top: -2px;
  font-size: 1.5rem;
  color: var(--brand);
  font-weight: 400;
  transition: transform 0.2s;
}
.faq details[open] summary::after { transform: rotate(45deg); }
.faq details p { margin: 12px 0 0; }

/* ===== Final CTA ===== */
.finalcta {
  background: linear-gradient(135deg, var(--brand-dark) 0%, var(--brand) 100%);
  color: #fff;
  padding: 72px 0;
  text-align: center;
}
.finalcta h2 { color: #fff; margin-bottom: 12px; }
.finalcta p { color: #d9e2fb; font-size: 1.1rem; margin-bottom: 28px; }

/* ===== Footer ===== */
.site-footer {
  background: #06112d;
  color: #a3b4e0;
  padding: 56px 0 24px;
}
.footer__grid {
  display: grid;
  grid-template-columns: 1.5fr 1fr 1fr 1fr;
  gap: 36px;
  margin-bottom: 36px;
}
.brand--footer .brand__name { color: #fff; }
.footer__blurb { font-size: 0.9rem; color: #a3b4e0; margin-top: 14px; }
.site-footer h4 {
  color: #fff;
  font-size: 0.95rem;
  margin-bottom: 14px;
  text-transform: uppercase;
  letter-spacing: 0.08em;
}
.site-footer ul { list-style: none; padding: 0; margin: 0; }
.site-footer li { padding: 4px 0; }
.site-footer a { color: #a3b4e0; font-size: 0.9rem; }
.site-footer a:hover { color: var(--accent); }
.footer__legal {
  border-top: 1px solid #1d2a52;
  padding-top: 24px;
  font-size: 0.78rem;
  color: #7a8bb8;
  line-height: 1.6;
}
.footer__legal p { color: #7a8bb8; margin-bottom: 10px; }

/* ===== Inner page content ===== */
.pagehead {
  background: linear-gradient(180deg, var(--brand-light) 0%, #fff 100%);
  padding: 56px 0 40px;
  text-align: center;
}
.pagehead .eyebrow { background: #fff; }
.pagehead h1 { margin-bottom: 12px; }
.pagehead p { font-size: 1.08rem; max-width: 680px; margin: 0 auto; }

.breadcrumb {
  font-size: 0.85rem;
  color: var(--ink-soft);
  margin-bottom: 18px;
}
.breadcrumb a { color: var(--ink-soft); }
.breadcrumb a:hover { color: var(--brand); }

.article {
  max-width: 820px;
  margin: 0 auto;
}
.article h2 { margin-top: 36px; }
.article h3 { margin-top: 28px; font-size: 1.15rem; color: var(--brand-dark); }
.article ul, .article ol { padding-left: 24px; color: var(--ink-soft); margin-bottom: 1em; }
.article li { margin-bottom: 6px; }
.article blockquote {
  border-left: 4px solid var(--brand);
  padding: 12px 18px;
  margin: 20px 0;
  background: var(--brand-light);
  border-radius: 0 var(--radius) var(--radius) 0;
  font-style: italic;
  color: var(--brand-dark);
}
.article table {
  width: 100%;
  border-collapse: collapse;
  margin: 20px 0;
  font-size: 0.92rem;
}
.article th, .article td {
  padding: 12px;
  text-align: left;
  border-bottom: 1px solid var(--border);
}
.article th { background: var(--bg-alt); color: var(--brand-dark); font-weight: 600; }

.author-card {
  background: var(--bg-alt);
  border-radius: var(--radius-lg);
  padding: 24px;
  margin: 32px 0;
  display: flex;
  gap: 18px;
  align-items: center;
}
.author-card__avatar {
  width: 64px; height: 64px;
  border-radius: 50%;
  background: linear-gradient(135deg, var(--brand) 0%, var(--accent) 100%);
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: 'Space Grotesk', sans-serif;
  font-weight: 700;
  font-size: 1.4rem;
  flex-shrink: 0;
}
.author-card__meta strong { color: var(--brand-dark); display: block; margin-bottom: 2px; }
.author-card__meta span { font-size: 0.85rem; color: var(--ink-soft); }

.toc {
  background: var(--bg-alt);
  border-radius: var(--radius);
  padding: 20px 24px;
  margin: 24px 0;
  border-left: 4px solid var(--accent);
}
.toc h4 { margin-bottom: 8px; color: var(--brand-dark); }
.toc ul { list-style: none; padding: 0; margin: 0; }
.toc li { padding: 4px 0; }
.toc a { color: var(--brand); font-weight: 500; font-size: 0.92rem; }

/* ===== Blog grid ===== */
.blog-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 24px;
}
.post-card {
  background: #fff;
  border: 1px solid var(--border);
  border-radius: var(--radius-lg);
  overflow: hidden;
  transition: transform 0.2s, box-shadow 0.2s;
  display: flex;
  flex-direction: column;
}
.post-card:hover { transform: translateY(-4px); box-shadow: var(--shadow-md); }
.post-card__img {
  height: 160px;
  background: linear-gradient(135deg, var(--brand) 0%, var(--accent) 100%);
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  font-size: 2.5rem;
}
.post-card__body { padding: 22px; flex: 1; display: flex; flex-direction: column; }
.post-card h3 { margin-bottom: 8px; font-size: 1.1rem; }
.post-card p { font-size: 0.92rem; flex: 1; }
.post-card__meta { font-size: 0.8rem; color: var(--ink-soft); margin-bottom: 10px; text-transform: uppercase; letter-spacing: 0.06em; }

/* ===== Contact ===== */
.contact-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 36px;
  margin-top: 32px;
}
.contact-card {
  background: #fff;
  border: 1px solid var(--border);
  border-radius: var(--radius-lg);
  padding: 28px;
}
.contact-card h3 { margin-bottom: 10px; }
.contact-list { list-style: none; padding: 0; }
.contact-list li { padding: 10px 0; border-bottom: 1px solid var(--border); }
.contact-list li:last-child { border-bottom: none; }

/* ===== Responsive ===== */
@media (max-width: 960px) {
  .hero__wrap, .twocol, .footer__grid, .contact-grid { grid-template-columns: 1fr; gap: 32px; }
  .nav { display: none; }
  .header__cta { margin-left: auto; }
  .brand__tag { display: none; }
  .steps { grid-template-columns: 1fr; }
  .rate--featured { transform: none; }
  .footer__grid { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 560px) {
  .section { padding: 48px 0; }
  .hero { padding: 32px 0 48px; }
  .logos__row { gap: 20px; }
  .footer__grid { grid-template-columns: 1fr; }
  .statcard-wrap, .elig-grid { grid-template-columns: 1fr; }
}

/* ============ LOAN CALCULATOR ============ */
.calc{display:grid;grid-template-columns:1.3fr 1fr;gap:30px;background:#fff;border:1px solid var(--border);border-radius:20px;padding:36px;box-shadow:0 10px 40px rgba(26,79,222,.08)}
.calc__inputs{display:flex;flex-direction:column;gap:28px}
.calc__field label{display:block;font-weight:600;font-size:14px;color:var(--brand-dark);margin-bottom:8px}
.calc__row{display:flex;align-items:center;gap:18px}
.calc__row input[type=range]{flex:1;-webkit-appearance:none;appearance:none;background:transparent;cursor:pointer;height:28px}
.calc__row input[type=range]::-webkit-slider-runnable-track{height:6px;background:linear-gradient(to right,var(--brand),var(--accent));border-radius:3px}
.calc__row input[type=range]::-moz-range-track{height:6px;background:linear-gradient(to right,var(--brand),var(--accent));border-radius:3px}
.calc__row input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:22px;height:22px;background:var(--brand);border-radius:50%;border:3px solid #fff;box-shadow:0 2px 8px rgba(26,79,222,.4);margin-top:-8px}
.calc__row input[type=range]::-moz-range-thumb{width:22px;height:22px;background:var(--brand);border-radius:50%;border:3px solid #fff;box-shadow:0 2px 8px rgba(26,79,222,.4)}
.calc__row output{min-width:110px;text-align:right;font-weight:700;color:var(--brand);font-size:18px;font-family:'Space Grotesk',sans-serif}
.calc__hint{font-size:12px;color:var(--muted);margin-top:6px}
.calc__results{background:var(--bg-mint);border-radius:14px;padding:24px;display:flex;flex-direction:column;gap:16px}
.calc__result{display:flex;justify-content:space-between;align-items:center;padding:14px 16px;background:#fff;border-radius:10px;border:1px solid rgba(78,205,196,.3)}
.calc__label{font-size:13px;color:var(--muted);font-weight:500}
.calc__result strong{font-family:'Space Grotesk',sans-serif;font-size:20px;color:var(--brand-dark)}
.calc__result:first-of-type strong{color:var(--brand);font-size:26px}
.calc__disclaimer{font-size:12px;color:var(--muted);text-align:center;margin:4px 0 0}
@media (max-width:860px){.calc{grid-template-columns:1fr;padding:24px}}

/* =====================================================
   THEME: SCORE DIAL (Design 2) — overrides Cobalt Trust
   Indigo #1B1464 + Dial Yellow #FFC93C
   Fonts: Sora (headings) + Source Sans 3 (body)
   ===================================================== */
:root {
  --brand: #2B1FA8;
  --brand-dark: #1B1464;
  --brand-deeper: #120D47;
  --brand-light: #ECEAFB;
  --accent: #FFC93C;
  --accent-ink: #1B1464;
  --ink: #1A1840;
  --ink-soft: #4A4775;
  --bg-alt: #F4F3FB;
  --bg-mint: #FFF8E4;
  --border: #E1DEF5;
  --shadow-md: 0 8px 24px rgba(27, 20, 100, 0.08);
  --shadow-lg: 0 24px 60px rgba(27, 20, 100, 0.18);
  --radius: 18px;
  --radius-lg: 28px;
}
body { font-family: 'Source Sans 3', -apple-system, 'Segoe UI', sans-serif; font-size: 1.06rem; }
h1, h2, h3, h4, h5 { font-family: 'Sora', 'Source Sans 3', sans-serif; letter-spacing: -0.025em; }
h1 { font-size: clamp(2.2rem, 4vw + 1rem, 3.6rem); line-height: 1.06; }

/* Eyebrow: quieter, sentence case */
.eyebrow { text-transform: none; letter-spacing: 0; font-size: 0.9rem; background: var(--brand-light); color: var(--brand); }

/* Trust bar + header */
.trustbar { background: var(--brand-deeper); color: #CFCBF3; }
.site-header { background: var(--brand-dark); border-bottom: 0; }
.site-header .brand__name, .site-header .brand__text { color: #fff; }
.site-header .brand__tag { color: #A8A2E6; }
.site-header .nav a { color: #DCD9F5; }
.site-header .nav a:hover { color: var(--accent); }

/* Buttons */
.btn--primary { background: var(--accent); color: var(--accent-ink); box-shadow: 0 8px 22px rgba(255, 201, 60, 0.35); font-weight: 700; }
.btn--primary:hover { background: #FFD766; color: var(--accent-ink); box-shadow: 0 10px 28px rgba(255, 201, 60, 0.45); }
.btn--ghost { color: var(--brand-dark); border-color: var(--brand-dark); }
.btn--ghost:hover { background: var(--brand-dark); color: #fff; }

/* Hero: indigo field */
.hero { background: var(--brand-dark); color: #fff; padding: 64px 0 96px; }
.hero .eyebrow { background: rgba(255, 255, 255, 0.1); color: var(--accent); }
.hero h1 { color: #fff; }
.hero .hl { color: var(--accent); }
.hero .hl::after { display: none; }
.hero__lead { color: #DCD9F5; }
.hero__points li { color: #fff; }
.hero__badges { color: #A8A2E6; }
.hero .btn--ghost { color: #fff; border-color: #5B52C9; }
.hero .btn--ghost:hover { background: #fff; color: var(--brand-dark); border-color: #fff; }
.hero__card { border: 0; border-radius: var(--radius-lg); }
.hero__card-head { background: var(--accent); color: var(--accent-ink); }
.hero__card-head span { color: #4A3B00; }
.hero__card-head strong { font-family: 'Sora', sans-serif; }
.chip--on { background: var(--brand-dark); border-color: var(--brand-dark); }
.form-placeholder { background: var(--bg-mint); border-color: #E9B52C; }

/* Score dial in hero */
.dial { display: flex; align-items: center; gap: 20px; background: rgba(255, 255, 255, 0.06); border: 1px solid rgba(255, 255, 255, 0.12); border-radius: var(--radius); padding: 16px 20px; margin: 0 0 28px; max-width: 520px; }
.dial svg { width: 150px; flex: none; }
.dial__text strong { display: block; font-family: 'Sora', sans-serif; font-size: 1.1rem; color: #fff; }
.dial__text span { color: #A8A2E6; font-size: 0.95rem; }

/* Bureau strip */
.logos { background: var(--brand-deeper); border: 0; }
.logos__title { color: #A8A2E6; text-transform: none; letter-spacing: 0; font-size: 0.95rem; }
.logos__row span { color: #fff; font-family: 'Sora', sans-serif; font-size: 1.5rem; font-weight: 700; }
.logos__row span:last-child { color: var(--accent); }

/* Sections + cards */
.section--alt { background: var(--bg-alt); }
.svc, .review, .elig-card, .post-card, .contact-card, .statcard { border-radius: 24px; border-color: var(--border); }
.svc__icon { background: var(--brand-light); border-radius: 16px; }
.steps__num { background: var(--accent); color: var(--accent-ink); }
.rate--featured { background: var(--brand-dark); }
.rate--featured .rate__apr { color: var(--accent); }
.link { color: var(--brand); font-weight: 700; }
.faq details { border-radius: 18px; }
.author-card__avatar { background: var(--brand-dark); color: var(--accent); }

/* Calculator */
.calc { border-radius: var(--radius-lg); border-color: var(--border); box-shadow: var(--shadow-lg); }
.calc__results { background: var(--brand-dark); }
.calc__result { border-color: transparent; }
.calc__result:first-of-type strong { color: var(--brand); }
.calc__results .calc__disclaimer { color: #A8A2E6; }
.calc__row output { color: var(--brand); font-family: 'Sora', sans-serif; }
.calc__row input[type=range]::-webkit-slider-runnable-track { background: linear-gradient(to right, var(--brand), var(--accent)); }
.calc__row input[type=range]::-moz-range-track { background: linear-gradient(to right, var(--brand), var(--accent)); }
.calc__row input[type=range]::-webkit-slider-thumb { background: var(--brand-dark); }
.calc__row input[type=range]::-moz-range-thumb { background: var(--brand-dark); }

/* Inner page header */
.pagehead { background: var(--brand-dark); color: #fff; }
.pagehead h1 { color: #fff; }
.pagehead p { color: #DCD9F5; }
.pagehead .eyebrow { background: rgba(255, 255, 255, 0.1); color: var(--accent); }
.breadcrumb, .breadcrumb a { color: var(--ink-soft); }
.pagehead .breadcrumb, .pagehead .breadcrumb a { color: #A8A2E6; }
.breadcrumb a:hover { color: var(--brand); }

/* Final CTA + footer */
.finalcta { background: var(--accent); color: var(--accent-ink); }
.finalcta h2 { color: var(--accent-ink); }
.finalcta p { color: #3D3200; }
.finalcta .btn--primary { background: var(--brand-dark); color: #fff; box-shadow: none; }
.finalcta .btn--primary:hover { background: var(--brand-deeper); color: #fff; }
.site-footer { background: var(--brand-deeper); }
.site-footer a:hover { color: var(--accent); }
@media (max-width:520px){.dial{flex-direction:column;align-items:flex-start}}

/* Lead form (apidiamond) in hero */
#apply { scroll-margin-top: 24px; }
.leadform { min-height: 420px; }
.leadform #_lg_form_ { width: 100%; }

/* Eligibility with member photo */
.elig-wrap { display: grid; grid-template-columns: 0.85fr 1.15fr; gap: 56px; align-items: start; }
.elig-photo { margin: 0; position: sticky; top: 24px; isolation: isolate; }
.elig-photo img { display: block; width: 100%; height: auto; aspect-ratio: 4 / 5; object-fit: cover; border-radius: var(--radius-lg); box-shadow: var(--shadow-lg); }
.elig-photo::before { content: ""; position: absolute; inset: 18px -18px -18px 18px; border-radius: var(--radius-lg); background: var(--brand-dark); z-index: -1; }
.elig-photo__badge { position: absolute; left: -20px; bottom: 32px; background: var(--accent); color: var(--accent-ink); border-radius: 18px; padding: 14px 18px; box-shadow: var(--shadow-md); display: flex; flex-direction: column; line-height: 1.25; }
.elig-photo__badge strong { font-family: 'Sora', sans-serif; font-size: 1.05rem; }
.elig-photo__badge span { font-size: 0.88rem; }
.elig-body .elig-card { margin-top: 28px; }
@media (max-width: 960px) {
  .elig-wrap { grid-template-columns: 1fr; gap: 40px; }
  .elig-photo { position: relative; top: 0; max-width: 420px; margin: 0 auto; }
  .elig-photo__badge { left: 12px; }
}
.checklist li::before { background: var(--brand-dark); color: var(--accent); }

/* Hero background photo (portrait, placed behind the gap between copy and form) */
.hero--photo { position: relative; overflow: hidden; isolation: isolate; }
.hero__bg { position: absolute; top: 0; bottom: 0; left: 50%; transform: translateX(-62%); z-index: -2; height: 100%; }
.hero__bg img { height: 100%; width: auto; max-width: none; display: block;
  -webkit-mask-image: linear-gradient(90deg, transparent 0%, #000 22%, #000 78%, transparent 100%);
          mask-image: linear-gradient(90deg, transparent 0%, #000 22%, #000 78%, transparent 100%); }
.hero--photo::before { content: ""; position: absolute; inset: 0; z-index: -1;
  background: linear-gradient(90deg, rgba(27,20,100,0.96) 0%, rgba(27,20,100,0.90) 30%, rgba(27,20,100,0.52) 46%, rgba(27,20,100,0.52) 56%, rgba(27,20,100,0.90) 70%); }
@media (max-width: 960px) {
  .hero__bg { left: 50%; transform: translateX(-50%); height: 620px; }
  .hero--photo::before { background: linear-gradient(180deg, rgba(27,20,100,0.62) 0%, rgba(27,20,100,0.92) 420px, #1B1464 620px); }
}

/* Bureau strip — compact version of the original */
.logos { padding: 20px 0; }
.logos__title { font-size: 0.85rem; margin-bottom: 8px; }
.logos__row { gap: 12px 36px; }
.logos__row span { font-size: 1.12rem; }
@media (max-width: 560px) { .logos__row { gap: 6px 22px; } .logos__row span { font-size: 1rem; } }

/* Services — zigzag rows + mini cards (option 3) */
.svcz__row { display: grid; grid-template-columns: 1fr 1fr; gap: 56px; align-items: center; margin-bottom: 56px; }
.svcz__row--rev .svcz__media { order: 2; }
.svcz__media { margin: 0; }
.svcz__media img { display: block; width: 100%; height: auto; border-radius: var(--radius-lg); box-shadow: var(--shadow-lg); }
.svcz__tag { display: inline-block; background: var(--accent); color: var(--accent-ink); font-weight: 700; font-size: 0.85rem; border-radius: 999px; padding: 4px 12px; margin-bottom: 12px; }
.svcz__text h3 { font-size: clamp(1.4rem, 1.2vw + 1rem, 1.8rem); margin-bottom: 12px; }
.svcz__text .checklist { margin: 0 0 18px; }
.svcz__minis { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }
.svcz__mini { background: #fff; border: 1px solid var(--border); border-radius: 24px; padding: 24px; display: grid; grid-template-columns: 104px 1fr; gap: 20px; align-items: center; }
.svcz__mini img { width: 104px; height: 104px; border-radius: 20px; display: block; }
.svcz__mini h3 { font-size: 1.15rem; margin-bottom: 6px; }
.svcz__mini p { font-size: 0.97rem; margin-bottom: 8px; }
@media (max-width: 900px) {
  .svcz__row { grid-template-columns: 1fr; gap: 24px; margin-bottom: 44px; }
  .svcz__row--rev .svcz__media { order: 0; }
  .svcz__minis { grid-template-columns: 1fr; }
}
@media (max-width: 480px) { .svcz__mini { grid-template-columns: 1fr; } .svcz__mini img { width: 80px; height: 80px; } }

/* Credit Builder deep dive — dotted timeline (option 1) */
.cbx__intro { max-width: 820px; }
.cbx__h3 { font-size: 1.3rem; margin: 44px 0 22px; }
.cbx__tl { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 20px; position: relative; }
.cbx__tl::before { content: ""; position: absolute; top: 21px; left: 6%; right: 6%; height: 3px; background: repeating-linear-gradient(90deg, var(--accent) 0 10px, transparent 10px 18px); }
.cbx__tl li { position: relative; display: flex; flex-direction: column; gap: 12px; }
.cbx__n { width: 44px; height: 44px; flex: none; border-radius: 50%; background: var(--brand-dark); color: var(--accent); display: grid; place-items: center; font-family: 'Sora', sans-serif; font-weight: 800; box-shadow: 0 0 0 6px #fff; position: relative; }
.cbx__tl h4 { font-size: 1.02rem; margin: 0 0 6px; }
.cbx__tl p { font-size: 0.95rem; margin: 0; }
.cbx__cols { display: grid; grid-template-columns: 1.1fr 0.9fr; gap: 56px; }
.cbx__sp { margin-bottom: 22px; }
.cbx__sp-top { display: flex; justify-content: space-between; align-items: center; gap: 10px; margin-bottom: 8px; }
.cbx__sp-top strong { color: var(--ink); }
.cbx__sp-top span { background: var(--brand-light); color: var(--brand); font-weight: 700; font-size: 0.82rem; border-radius: 999px; padding: 2px 10px; white-space: nowrap; }
.cbx__bar { height: 8px; border-radius: 999px; background: var(--brand-light); overflow: hidden; margin-bottom: 8px; }
.cbx__bar i { display: block; height: 100%; border-radius: 999px; background: linear-gradient(90deg, var(--brand), var(--accent)); }
.cbx__sp p { font-size: 0.97rem; margin: 0; }
.cbx__note { margin-top: 36px; }
.cbx__more { margin: 22px 0 0; }
@media (max-width: 900px) {
  .cbx__tl { grid-template-columns: 1fr; gap: 24px; }
  .cbx__tl::before { top: 0; bottom: 0; left: 21px; right: auto; width: 3px; height: auto; background: repeating-linear-gradient(180deg, var(--accent) 0 10px, transparent 10px 18px); }
  .cbx__tl li { flex-direction: row; gap: 16px; }
  .cbx__cols { grid-template-columns: 1fr; gap: 0; }
}

/* Personal loans deep dive — amount ladder (option 2) */
.plx__intro { max-width: 820px; }
.plx__h3 { font-size: 1.3rem; margin: 44px 0 18px; }
.plx__sub { margin: -8px 0 20px; }
.plx__ladder { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 12px; align-items: end; min-height: 340px; }
.plx__step { height: var(--h); min-height: 190px; background: #fff; border: 1px solid var(--border); border-top: 6px solid var(--brand); border-radius: 22px 22px 14px 14px; padding: 18px 14px; display: flex; flex-direction: column; justify-content: flex-end; gap: 4px; }
.plx__step--hl { background: var(--brand-dark); border-color: var(--brand-dark); border-top-color: var(--accent); }
.plx__amt { font-family: 'Sora', sans-serif; font-weight: 800; font-size: 1.4rem; color: var(--brand-dark); }
.plx__term { font-size: 0.88rem; color: var(--ink-soft); }
.plx__mo { font-family: 'Sora', sans-serif; font-weight: 700; font-size: 1.15rem; color: var(--brand); margin-top: 8px; }
.plx__mo small { font-size: 0.75rem; font-weight: 600; }
.plx__tot { font-size: 0.8rem; color: var(--ink-soft); line-height: 1.45; }
.plx__step--hl .plx__amt, .plx__step--hl .plx__term, .plx__step--hl .plx__tot { color: #fff; }
.plx__step--hl .plx__mo { color: var(--accent); }
.plx__chips { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 10px; }
.plx__chip { display: inline-flex; align-items: center; gap: 8px; background: #fff; border: 1px solid var(--border); border-radius: 999px; padding: 9px 16px 9px 12px; font-weight: 600; color: var(--ink); }
.plx__chip svg { width: 20px; height: 20px; color: var(--brand); flex: none; }
.plx__whys { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; }
.plx__why { background: #fff; border: 1px solid var(--border); border-radius: 22px; padding: 22px; }
.plx__wn { display: inline-block; font-family: 'Sora', sans-serif; font-weight: 800; font-size: 0.9rem; color: var(--accent); background: var(--brand-dark); border-radius: 10px; padding: 2px 9px; }
.plx__why h4 { margin: 14px 0 6px; font-size: 1.05rem; }
.plx__why p { font-size: 0.96rem; margin: 0; }
.plx__elig { margin-top: 44px; background: var(--brand-dark); border-radius: 26px; padding: 30px; }
.plx__elig h3 { color: #fff; font-size: 1.25rem; margin-bottom: 18px; }
.plx__elig .checklist { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px 24px; margin: 0; }
.plx__elig .checklist li { color: #fff; }
.plx__elig .checklist li::before { background: var(--accent); color: var(--brand-dark); }
.plx__more { margin: 28px 0 0; }
@media (max-width: 1000px) {
  .plx__ladder { grid-template-columns: repeat(3, 1fr); min-height: 0; }
  .plx__step { height: auto; }
  .plx__whys { grid-template-columns: 1fr 1fr; }
  .plx__elig .checklist { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 560px) {
  .plx__ladder { grid-template-columns: 1fr 1fr; }
  .plx__whys, .plx__elig .checklist { grid-template-columns: 1fr; }
}

/* How it works — score dial path (option 4) */
.hiw { background: var(--brand-dark); }
.hiw .section__head h2 { color: #fff; }
.hiw .section__head p { color: #DCD9F5; }
.hiw .eyebrow { background: rgba(255, 255, 255, 0.1); color: var(--accent); }
.hiw__gauge { max-width: 720px; margin: 0 auto 36px; }
.hiw__gauge svg { width: 100%; height: auto; display: block; }
.hiw__row { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; }
.hiw__row li { background: #fff; border-radius: 22px; padding: 22px; display: flex; flex-direction: column; gap: 8px; }
.hiw__n { width: 36px; height: 36px; border-radius: 50%; background: var(--brand-dark); color: var(--accent); display: grid; place-items: center; font-family: 'Sora', sans-serif; font-weight: 800; }
.hiw__row li:last-child .hiw__n { background: var(--accent); color: var(--brand-dark); }
.hiw__row h3 { font-size: 1.1rem; margin: 0; }
.hiw__row p { font-size: 0.97rem; margin: 0; }
.hiw__cta { margin-top: 40px; }
@media (max-width: 1000px) { .hiw__row { grid-template-columns: 1fr 1fr; } }
@media (max-width: 560px) { .hiw__row { grid-template-columns: 1fr; } .hiw__gauge { margin-bottom: 24px; } }

/* Rates & fees — APR spectrum (option 1) */
.aprx__spec { background: #fff; border: 1px solid var(--border); border-radius: 26px; padding: 60px 32px 24px; }
.aprx__bar { position: relative; height: 16px; border-radius: 999px; background: linear-gradient(90deg, #3FBF8A 0%, var(--accent) 55%, #F08A5D 100%); }
.aprx__mark { position: absolute; top: -50px; transform: translateX(-50%); display: flex; flex-direction: column; align-items: center; background: var(--brand-dark); color: #fff; border-radius: 12px; padding: 4px 12px; line-height: 1.25; white-space: nowrap; }
.aprx__mark::after { content: ""; position: absolute; bottom: -8px; left: 50%; transform: translateX(-50%); border: 8px solid transparent; border-top-color: var(--brand-dark); border-bottom: 0; }
.aprx__mark b { font-family: 'Sora', sans-serif; }
.aprx__mark small { font-size: 0.72rem; color: #CFCBF3; }
.aprx__ends { display: flex; justify-content: space-between; gap: 12px; margin-top: 10px; font-size: 0.92rem; color: var(--ink-soft); }
.aprx__ends b { color: var(--ink); }
.aprx__facts { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; margin: 16px 0; }
.aprx__facts div { background: var(--brand-dark); border-radius: 20px; padding: 18px; text-align: center; }
.aprx__facts b { display: block; font-family: 'Sora', sans-serif; font-size: 1.8rem; color: var(--accent); line-height: 1.2; }
.aprx__facts span { color: #DCD9F5; font-size: 0.92rem; }
.aprx__rows { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; }
.aprx__ex { background: #fff; border: 1px solid var(--border); border-radius: 18px; padding: 18px; display: flex; flex-direction: column; gap: 2px; }
.aprx__ex--hl { border: 2px solid var(--accent); background: var(--bg-mint); }
.aprx__amt { font-family: 'Sora', sans-serif; font-weight: 700; font-size: 1.35rem; color: var(--brand-dark); }
.aprx__term { font-size: 0.9rem; color: var(--ink-soft); }
.aprx__pay { font-weight: 700; color: var(--brand); margin-top: 6px; }
.aprx__apr { font-size: 0.78rem; color: var(--ink-soft); }
.aprx .disclaimer { text-align: center; margin-top: 24px; }
@media (max-width: 800px) {
  .aprx__rows { grid-template-columns: 1fr 1fr; }
  .aprx__facts { gap: 8px; }
  .aprx__facts div { padding: 14px 6px; border-radius: 16px; }
  .aprx__facts b { font-size: 1.35rem; }
  .aprx__facts span { font-size: 0.8rem; display: block; line-height: 1.3; }
  .aprx__spec { padding: 60px 20px 20px; }
}
.plx__note { font-size: 0.88rem; margin: 12px 0 0; }

/* What is Kovo Credit — brand card (option 3) */
.wik__grid { display: grid; grid-template-columns: 0.85fr 1.15fr; gap: 56px; align-items: center; }
.wik__card { background: var(--brand-dark); border-radius: 30px; padding: 30px; box-shadow: var(--shadow-lg); }
.wik__logo { display: flex; align-items: center; gap: 10px; color: #fff; font-family: 'Sora', sans-serif; font-weight: 700; font-size: 1.2rem; }
.wik__logo span { width: 34px; height: 34px; border-radius: 10px; background: var(--accent); color: var(--brand-dark); display: grid; place-items: center; font-weight: 800; }
.wik__dial { width: 70%; display: block; margin: 22px auto 18px; }
.wik__stats { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin: 0; }
.wik__stats div { background: rgba(255, 255, 255, 0.07); border-radius: 16px; padding: 14px; display: flex; flex-direction: column-reverse; }
.wik__stats dd { margin: 0; font-family: 'Sora', sans-serif; font-weight: 700; color: var(--accent); font-size: 1.35rem; line-height: 1.25; }
.wik__stats dt { font-size: 0.85rem; color: #CFCBF3; }
.wik__ideas { list-style: none; margin: 20px 0 26px; padding: 0; display: flex; flex-direction: column; gap: 12px; }
.wik__ideas li { display: flex; gap: 14px; background: #fff; border: 1px solid var(--border); border-radius: 18px; padding: 16px; color: var(--ink-soft); }
.wik__ideas strong { color: var(--ink); }
.wik__n { width: 32px; height: 32px; flex: none; border-radius: 50%; background: var(--accent); color: var(--brand-dark); display: grid; place-items: center; font-family: 'Sora', sans-serif; font-weight: 800; }
.wik .eyebrow { background: #fff; }
@media (max-width: 900px) { .wik__grid { grid-template-columns: 1fr; gap: 36px; } .wik__card { order: 2; } }

/* Experts — dark band, ring portraits (option 3) */
.exp { background: var(--brand-dark); }
.exp .section__head h2 { color: #fff; }
.exp .section__head p { color: #DCD9F5; }
.exp .eyebrow { background: rgba(255, 255, 255, 0.1); color: var(--accent); }
.exp__row { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 28px; text-align: center; }
.exp__p { display: flex; flex-direction: column; align-items: center; gap: 4px; }
.exp__ring { width: 136px; height: 136px; border-radius: 50%; padding: 6px; margin-bottom: 14px; background: conic-gradient(var(--accent) 0 75%, rgba(255, 255, 255, 0.15) 75% 100%); }
.exp__ring img { display: block; width: 100%; height: 100%; border-radius: 50%; object-fit: cover; border: 4px solid var(--brand-dark); background: var(--brand-deeper); }
.exp__p h3 { color: #fff; font-size: 1.08rem; margin: 0; }
.exp__role { color: var(--accent); font-weight: 600; font-size: 0.95rem; }
.exp__yrs { color: #A8A2E6; font-size: 0.88rem; }
.exp__p p { color: #CFCBF3; font-size: 0.95rem; margin: 8px 0 0; }
.exp__cta { margin-top: 40px; }
.exp__btn { border: 2px solid var(--accent); color: var(--accent); background: transparent; }
.exp__btn:hover { background: var(--accent); color: var(--brand-dark); }
@media (max-width: 900px) { .exp__row { grid-template-columns: 1fr 1fr; } }
@media (max-width: 520px) { .exp__row { grid-template-columns: 1fr; } }
.exp__ring picture { display: block; width: 100%; height: 100%; }

/* Bureaus — reporting network (option 1) */
.bnx__hub { position: relative; height: 300px; margin-bottom: 32px; }
.bnx__lines { position: absolute; inset: 0; width: 100%; height: 100%; }
.bnx__lines path { fill: none; stroke: #CFCBEE; stroke-width: 3; stroke-dasharray: 6 8; vector-effect: non-scaling-stroke; }
.bnx__lines .bnx__line-hi { stroke: var(--accent); stroke-width: 4; }
.bnx__node { position: absolute; transform: translate(-50%, -50%); background: #fff; border: 2px solid var(--border); border-radius: 18px; padding: 12px 20px; font-family: 'Sora', sans-serif; font-weight: 700; color: var(--brand-dark); text-align: center; display: flex; flex-direction: column; align-items: center; white-space: nowrap; }
.bnx__node small { font-family: 'Source Sans 3', sans-serif; font-weight: 600; font-size: 0.75rem; color: var(--ink-soft); }
.bnx__node--k { left: 50%; top: 50%; background: var(--brand-dark); border-color: var(--brand-dark); color: #fff; padding: 18px 26px; font-size: 1.1rem; box-shadow: var(--shadow-lg); }
.bnx__node--k span { width: 36px; height: 36px; border-radius: 10px; background: var(--accent); color: var(--brand-dark); display: grid; place-items: center; margin-bottom: 6px; }
.bnx__node--k small { color: #CFCBF3; }
.bnx__n1 { left: 13%; top: 20%; } .bnx__n2 { left: 13%; top: 80%; } .bnx__n3 { left: 87%; top: 20%; } .bnx__n4 { left: 87%; top: 80%; }
.bnx__node--hi { background: var(--accent); border-color: var(--accent); }
.bnx__node--hi small { color: #5A4500; }
.bnx__grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; }
.bnx__card { background: var(--bg-alt); border-radius: 20px; padding: 20px; display: flex; flex-direction: column; gap: 6px; }
.bnx__card--hi { background: var(--bg-mint); border: 2px solid var(--accent); }
.bnx__card h3 { font-size: 1.1rem; margin: 0; }
.bnx__card p { font-size: 0.95rem; margin: 0; }
.bnx__loc { display: inline-flex; align-items: center; gap: 5px; font-size: 0.85rem; font-weight: 600; color: var(--brand); }
.bnx__loc svg { width: 15px; height: 15px; }
.bnx__end { max-width: 780px; margin: 32px auto 0; text-align: center; background: var(--bg-mint); border-radius: 16px; padding: 16px 22px; color: var(--ink); }
@media (max-width: 900px) {
  .bnx__grid { grid-template-columns: 1fr 1fr; }
  .bnx__hub { height: 240px; }
  .bnx__node { padding: 8px 12px; font-size: 0.85rem; }
  .bnx__node--k { padding: 12px 16px; font-size: 0.95rem; }
}
@media (max-width: 560px) {
  .bnx__grid { grid-template-columns: 1fr; }
  .bnx__hub { height: 220px; }
  .bnx__n1, .bnx__n2 { left: 22%; } .bnx__n3, .bnx__n4 { left: 78%; }
  .bnx__n1, .bnx__n3 { top: 12%; } .bnx__n2, .bnx__n4 { top: 88%; }
  .bnx__node { font-size: 0.78rem; padding: 6px 10px; }
  .bnx__node small { display: none; }
}

/* Reviews — review-ready layout (section stays hidden until real reviews are added) */
.rvw[hidden] { display: none; }
.rvw__sum { display: grid; grid-template-columns: auto 1fr auto; gap: 28px; align-items: center; background: #fff; border: 1px solid var(--border); border-radius: 22px; padding: 22px 28px; margin-bottom: 20px; }
.rvw__sum strong { display: block; font-family: 'Sora', sans-serif; font-size: 2rem; color: var(--brand-dark); line-height: 1.1; }
.rvw__sum span { color: var(--ink-soft); font-size: 0.9rem; }
.rvw__bars { display: flex; flex-direction: column; gap: 4px; }
.rvw__bars span { display: grid; grid-template-columns: 28px 1fr; gap: 8px; align-items: center; font-size: 0.78rem; }
.rvw__bars i { display: block; height: 8px; border-radius: 999px; background: var(--accent); }
.rvw__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.rvw__card { background: #fff; border: 1px solid var(--border); border-radius: 22px; padding: 22px; display: flex; flex-direction: column; gap: 12px; }
.rvw__stars { color: var(--accent); letter-spacing: 2px; font-size: 1.1rem; }
.rvw__text { color: var(--ink); font-size: 0.98rem; margin: 0; }
.rvw__who { display: flex; gap: 12px; align-items: center; margin-top: auto; }
.rvw__av { width: 40px; height: 40px; border-radius: 50%; background: var(--brand-dark); color: var(--accent); display: grid; place-items: center; font-weight: 800; font-size: 0.85rem; flex: none; }
.rvw__who strong { display: block; font-size: 0.92rem; color: var(--ink); }
.rvw__who span { font-size: 0.82rem; color: var(--ink-soft); }
.rvw__src { font-size: 0.78rem; color: var(--ink-soft); border-top: 1px solid var(--border); padding-top: 8px; }
.rvw__cta { margin-top: 32px; }
@media (max-width: 900px) { .rvw__grid { grid-template-columns: 1fr 1fr; } .rvw__sum { grid-template-columns: 1fr; } }
@media (max-width: 560px) { .rvw__grid { grid-template-columns: 1fr; } }
.rvw__bars span { background: linear-gradient(var(--brand-light), var(--brand-light)) no-repeat 36px 50% / calc(100% - 36px) 8px; border-radius: 999px; }

/* Hero reviewed line + footer contact */
.hero__reviewed { margin: 14px 0 0; font-size: 0.88rem; color: #A8A2E6; }
.hero__reviewed a { color: #fff; text-decoration: underline; text-underline-offset: 3px; }
.footer__contact { font-style: normal; font-size: 0.88rem; line-height: 1.7; margin-top: 14px; opacity: 0.85; }
.footer__contact a { color: inherit; }

/* Logo — dial badge (option 1) */
.brand { gap: 12px; }
.brand__mark { flex: none; display: block; }
.brand__name { font-family: 'Sora', sans-serif; font-weight: 500; font-size: 1.4rem; letter-spacing: -0.03em; line-height: 1; white-space: nowrap; }
.brand__name b { font-weight: 800; }
.site-header .brand__name { color: #fff; }
.brand--footer { display: flex; align-items: center; gap: 12px; }
.brand--footer .brand__name { font-size: 1.3rem; }
@media (max-width: 560px) { .site-header .brand__mark { width: 34px; height: 34px; } .site-header .brand__name { font-size: 1.2rem; } }
.wik__logo .brand__name { color: #fff; font-size: 1.2rem; }
.bnx__node--k svg { margin-bottom: 6px; }
.wik__logo .brand__name { width: auto; height: auto; background: none; border-radius: 0; display: inline; }

/* Page headers with illustration (footer pages) */
.pagehead--art { text-align: left; padding: 48px 0 40px; overflow: hidden; }
.pagehead__grid { display: grid; grid-template-columns: 1.2fr 0.8fr; gap: 40px; align-items: center; }
.pagehead--art p { margin: 0; max-width: 620px; }
.pagehead__art img { display: block; width: 100%; max-width: 420px; height: auto; margin-left: auto; }
@media (max-width: 860px) {
  .pagehead__grid { grid-template-columns: 1fr; gap: 20px; }
  .pagehead__art img { max-width: 300px; margin: 0 auto; }
  .pagehead--art { text-align: center; }
  .pagehead--art p { margin: 0 auto; }
}

/* Header — yellow navigation bar */
.site-header { background: #FFC93C; border-bottom: 0; }
.site-header .brand__name { color: #1B1464; }
.site-header .brand__mark rect { fill: #1B1464; }
.site-header .brand__mark path, .site-header .brand__mark circle { stroke: #FFC93C; }
.site-header .brand__mark circle { fill: #FFC93C; }
.site-header .nav a { color: #1B1464; font-weight: 500; white-space: nowrap; }
.site-header .nav a:hover { color: #2B1FA8; }
.site-header .btn--primary { background: #1B1464; color: #fff; box-shadow: none; white-space: nowrap; }
.site-header .btn--primary:hover { background: #120D47; color: #fff; }
.author-card__meta a[rel="author"] { color: inherit; text-decoration: underline; text-underline-offset: 3px; }
.sources { padding-left: 20px; }
.sources li { margin-bottom: 6px; }
