/* source-sans-3-latin-400-normal */
@font-face {
  font-family: 'Source Sans 3';
  font-style: normal;
  font-display: swap;
  font-weight: 400;
  src: url(/_astro/source-sans-3-latin-400-normal.DQi5PRDE.woff2) format('woff2'), url(/_astro/source-sans-3-latin-400-normal.AFMiCETP.woff) format('woff');
}
/* source-sans-3-latin-600-normal */
@font-face {
  font-family: 'Source Sans 3';
  font-style: normal;
  font-display: swap;
  font-weight: 600;
  src: url(/_astro/source-sans-3-latin-600-normal.DeckBYAU.woff2) format('woff2'), url(/_astro/source-sans-3-latin-600-normal.BvDVuF-j.woff) format('woff');
}
/* source-sans-3-latin-700-normal */
@font-face {
  font-family: 'Source Sans 3';
  font-style: normal;
  font-display: swap;
  font-weight: 700;
  src: url(/_astro/source-sans-3-latin-700-normal.CkzU-mV9.woff2) format('woff2'), url(/_astro/source-sans-3-latin-700-normal.BBbVrHF_.woff) format('woff');
}
/* source-serif-4-latin-600-normal */
@font-face {
  font-family: 'Source Serif 4';
  font-style: normal;
  font-display: swap;
  font-weight: 600;
  src: url(/_astro/source-serif-4-latin-600-normal.DouSKlru.woff2) format('woff2'), url(/_astro/source-serif-4-latin-600-normal.DMD1h6_f.woff) format('woff');
}

:root {
  --paper: #f7f5ef;
  --surface: #fffefa;
  --ink: #172322;
  --muted: #5c6866;
  --line: #cfd7d3;
  --teal: #0b6f68;
  --teal-dark: #07534e;
  --blue: #165da8;
  --amber: #9a5a00;
  --amber-bg: #fff5dd;
  --danger: #9b2c2c;
  --success: #256448;
  --shadow: 0 10px 30px rgba(23, 35, 34, 0.08);
  font-family: "Source Sans 3", system-ui, sans-serif;
  color: var(--ink);
  background: var(--paper);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; min-width: 0; background: var(--paper); }
body, button, input, select { font: inherit; }
a { color: var(--blue); text-underline-offset: 3px; }
a:hover { color: #0c467f; }
img, svg { display: block; }
button, input, select { letter-spacing: 0; }
button, a, input, select { outline-offset: 3px; }
:focus-visible { outline: 3px solid #e4a62d; }

.skip-link { position: fixed; left: 1rem; top: -4rem; z-index: 100; padding: .7rem 1rem; background: var(--ink); color: white; }
.skip-link:focus { top: 1rem; }
.container { width: min(1180px, calc(100% - 2rem)); margin-inline: auto; }
.narrow { width: min(760px, calc(100% - 2rem)); margin-inline: auto; }
.site-header { background: rgba(255,254,250,.96); border-bottom: 1px solid var(--line); position: sticky; top: 0; z-index: 30; }
.header-inner { min-height: 64px; display: flex; align-items: center; justify-content: space-between; gap: 1.25rem; }
.brand { display: inline-flex; align-items: center; gap: .65rem; color: var(--ink); text-decoration: none; font-weight: 700; white-space: nowrap; }
.brand-mark { width: 31px; height: 31px; display: grid; place-items: center; color: var(--teal); border: 1px solid var(--teal); border-radius: 50% 50% 45% 45%; }
.brand small { display: block; color: var(--muted); font-size: .7rem; font-weight: 600; line-height: 1; }
.site-nav { display: flex; align-items: center; gap: 1.1rem; font-size: .95rem; }
.site-nav a { color: var(--ink); text-decoration: none; }
.site-nav a:hover, .site-nav a[aria-current="page"] { color: var(--teal); text-decoration: underline; text-underline-offset: 6px; }

main { min-height: 65vh; }
.utility-hero { padding: clamp(2rem, 5vw, 4.5rem) 0 2.75rem; border-bottom: 1px solid var(--line); }
.hero-grid { display: grid; grid-template-columns: minmax(0, .8fr) minmax(420px, 1.2fr); gap: clamp(2rem, 5vw, 5rem); align-items: start; }
.eyebrow { color: var(--teal-dark); text-transform: uppercase; font-size: .76rem; line-height: 1.2; font-weight: 700; }
h1, h2, h3 { margin: 0; letter-spacing: 0; line-height: 1.12; }
h1, h2 { font-family: "Source Serif 4", Georgia, serif; }
h1 { font-size: clamp(2.2rem, 5vw, 4.35rem); max-width: 12ch; margin-top: .75rem; }
h2 { font-size: clamp(1.65rem, 3vw, 2.45rem); }
h3 { font-size: 1.1rem; }
.lede { color: #354441; font-size: clamp(1.05rem, 2vw, 1.25rem); line-height: 1.55; max-width: 58ch; }
.hero-links { display: flex; flex-wrap: wrap; gap: .7rem 1.1rem; margin-top: 1.4rem; }
.button { min-height: 42px; display: inline-flex; align-items: center; justify-content: center; gap: .45rem; border: 1px solid var(--teal); border-radius: 6px; padding: .62rem .9rem; background: var(--teal); color: white; text-decoration: none; font-weight: 700; cursor: pointer; }
.button:hover { background: var(--teal-dark); color: white; }
.button.secondary { background: transparent; color: var(--teal-dark); }
.button.secondary:hover { background: #e8f2ef; }
.button:disabled { opacity: .55; cursor: not-allowed; }

.calculator { background: var(--surface); border: 1px solid #bfcac6; border-radius: 8px; box-shadow: var(--shadow); }
.calculator-head { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: 1rem 1.15rem; border-bottom: 1px solid var(--line); }
.calculator-head p { margin: .25rem 0 0; color: var(--muted); font-size: .9rem; }
.calculator-body { padding: 1rem 1.15rem 1.15rem; }
.input-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .8rem; }
.field label { display: block; margin-bottom: .3rem; font-size: .88rem; font-weight: 700; }
.money-input { display: grid; grid-template-columns: 2rem 1fr; border: 1px solid #aebbb6; border-radius: 5px; background: white; overflow: hidden; }
.money-input span { display: grid; place-items: center; background: #edf1ef; border-right: 1px solid #c7d0cc; color: var(--muted); }
.money-input input, .field input, .field select { min-width: 0; width: 100%; height: 42px; border: 1px solid #aebbb6; border-radius: 5px; padding: 0 .65rem; background: white; color: var(--ink); }
.money-input input { border: 0; border-radius: 0; }
.calculator-actions { display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin-top: 1rem; }
.privacy-note { color: var(--muted); font-size: .78rem; line-height: 1.35; max-width: 32ch; }
.results { margin-top: 1rem; padding-top: 1rem; border-top: 1px solid var(--line); }
.result-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: .75rem; }
.result-item { min-width: 0; }
.result-item span { display: block; color: var(--muted); font-size: .78rem; }
.result-item strong { display: block; margin-top: .12rem; font-size: 1.2rem; overflow-wrap: anywhere; }
.warning { display: flex; gap: .7rem; margin-top: 1rem; padding: .8rem; border: 1px solid #e1bd70; border-radius: 6px; background: var(--amber-bg); color: #5f3b00; }
.warning svg { flex: 0 0 auto; margin-top: .1rem; }
.fine-print { font-size: .78rem; color: var(--muted); line-height: 1.45; }

.section { padding: clamp(2.8rem, 6vw, 5rem) 0; }
.section + .section { border-top: 1px solid var(--line); }
.section-head { display: flex; justify-content: space-between; align-items: end; gap: 1rem; margin-bottom: 1.5rem; }
.section-head p { margin: .5rem 0 0; color: var(--muted); max-width: 62ch; }
.category-grid, .provider-grid, .alternative-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; }
.category-block { padding: 1.25rem 0; border-top: 3px solid var(--teal); }
.category-block p { color: var(--muted); line-height: 1.55; }
.provider-card, .alternative-card { display: flex; flex-direction: column; min-height: 245px; padding: 1.1rem; background: var(--surface); border: 1px solid var(--line); border-radius: 7px; }
.provider-card p, .alternative-card p { color: var(--muted); line-height: 1.45; }
.provider-card footer, .alternative-card footer { margin-top: auto; padding-top: .8rem; }
.tag { display: inline-flex; width: fit-content; align-items: center; gap: .35rem; padding: .2rem .45rem; border: 1px solid var(--line); border-radius: 4px; color: var(--muted); background: #f5f7f4; font-size: .74rem; font-weight: 700; }
.tag.stale { border-color: #d9ab5e; color: var(--amber); background: var(--amber-bg); }
.tag.limited { border-color: #d9ab5e; color: var(--amber); }

.page-head { padding: 3.25rem 0 2rem; border-bottom: 1px solid var(--line); }
.page-head h1 { font-size: clamp(2.1rem, 5vw, 3.7rem); max-width: 17ch; }
.page-head .lede { margin-bottom: .4rem; }
.toolbar { display: flex; flex-wrap: wrap; align-items: end; gap: .8rem; margin-bottom: 1.25rem; }
.segmented { display: flex; border: 1px solid #aebbb6; border-radius: 6px; overflow: hidden; }
.segmented button { min-height: 40px; padding: .5rem .75rem; border: 0; border-right: 1px solid #aebbb6; background: white; color: var(--ink); cursor: pointer; }
.segmented button:last-child { border-right: 0; }
.segmented button[aria-pressed="true"] { background: var(--ink); color: white; }
.search-field { flex: 1 1 260px; }
.search-field input { width: 100%; height: 42px; padding: 0 .7rem; border: 1px solid #aebbb6; border-radius: 5px; background: white; }
.compare-check { display: flex; align-items: center; gap: .5rem; padding-top: .8rem; border-top: 1px solid var(--line); font-weight: 600; }
.compare-check input { width: 18px; height: 18px; accent-color: var(--teal); }
.compare-tray { position: sticky; bottom: 1rem; z-index: 20; display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin-top: 1rem; padding: .8rem 1rem; color: white; background: var(--ink); border-radius: 7px; box-shadow: var(--shadow); }
.compare-tray p { margin: 0; }
.empty { padding: 2rem; border: 1px dashed #9baaa5; text-align: center; color: var(--muted); }
.table-wrap { overflow-x: auto; margin-top: 1.5rem; border: 1px solid var(--line); border-radius: 7px; background: white; }
table { width: 100%; border-collapse: collapse; min-width: 680px; }
th, td { padding: .8rem; border-bottom: 1px solid var(--line); text-align: left; vertical-align: top; line-height: 1.45; }
th { background: #edf1ef; }
th:first-child { width: 145px; }
tr:last-child th, tr:last-child td { border-bottom: 0; }

.content-grid { display: grid; grid-template-columns: minmax(0, 1fr) 300px; gap: 3rem; align-items: start; }
.content-grid > * { min-width: 0; }
.prose { font-size: 1.04rem; line-height: 1.7; }
.prose h2 { margin: 2.3rem 0 .75rem; font-size: 1.65rem; }
.prose h3 { margin: 1.5rem 0 .5rem; }
.prose ul, .prose ol { padding-left: 1.25rem; }
.prose li + li { margin-top: .4rem; }
.aside { position: sticky; top: 88px; padding-left: 1.2rem; border-left: 3px solid var(--teal); }
.aside h2 { font-family: inherit; font-size: 1rem; }
.definition-list { margin: 0; }
.definition-list div { padding: .85rem 0; border-bottom: 1px solid var(--line); }
.definition-list dt { color: var(--muted); font-size: .8rem; font-weight: 700; text-transform: uppercase; }
.definition-list dd { margin: .2rem 0 0; line-height: 1.5; }
.source-list { padding: 0; list-style: none; counter-reset: source; }
.source-list li { position: relative; padding: .8rem 0 .8rem 2rem; border-bottom: 1px solid var(--line); }
.source-list li::before { counter-increment: source; content: counter(source); position: absolute; left: 0; top: .85rem; width: 1.35rem; height: 1.35rem; display: grid; place-items: center; border-radius: 50%; background: var(--ink); color: white; font-size: .7rem; }
.source-meta { display: block; color: var(--muted); font-size: .8rem; }

.waitlist-box { max-width: 640px; padding: 1.25rem; border: 1px solid var(--line); border-radius: 7px; background: var(--surface); }
.waitlist-form { display: grid; gap: .8rem; }
.signup-disclosure { margin: 0; color: var(--muted); font-size: .8rem; line-height: 1.45; }
.form-status { min-height: 1.5rem; margin: 0; font-weight: 600; }
.form-status.error { color: var(--danger); }
.form-status.success { color: var(--success); }
.honeypot { position: absolute !important; width: 1px !important; height: 1px !important; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }

.site-footer { padding: 2.5rem 0; background: #e9ece7; border-top: 1px solid var(--line); }
.footer-grid { display: grid; grid-template-columns: 1fr 2fr; gap: 2rem; }
.footer-links { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1rem; }
.footer-links h2 { font-family: inherit; font-size: .78rem; text-transform: uppercase; color: var(--muted); }
.footer-links a { display: block; margin-top: .45rem; color: var(--ink); }
.footer-note { margin-top: 2rem; padding-top: 1rem; border-top: 1px solid #bdc7c2; color: var(--muted); font-size: .78rem; line-height: 1.5; }

@media (max-width: 900px) {
  .hero-grid, .content-grid { grid-template-columns: 1fr; }
  .hero-grid { gap: 2rem; }
  .aside { position: static; }
  .provider-grid, .alternative-grid { grid-template-columns: repeat(2, 1fr); }
  .category-grid { grid-template-columns: 1fr; }
  .footer-grid { grid-template-columns: 1fr; }
}

@media (max-width: 680px) {
  .header-inner { align-items: flex-start; padding-block: .7rem; }
  .site-nav { justify-content: flex-end; flex-wrap: wrap; gap: .45rem .8rem; font-size: .86rem; }
  .site-nav a:nth-child(3) { display: none; }
  .nav-cta { padding: .28rem .5rem; }
  .brand small { display: none; }
  h1 { font-size: 2.35rem; }
  .input-grid, .result-grid, .provider-grid, .alternative-grid, .footer-links { grid-template-columns: 1fr; }
  .result-grid { gap: .55rem; }
  .result-item { display: flex; justify-content: space-between; gap: 1rem; align-items: baseline; }
  .calculator-actions, .section-head, .compare-tray { align-items: stretch; flex-direction: column; }
  .toolbar { align-items: stretch; }
  .segmented { width: 100%; }
  .segmented button { flex: 1; padding-inline: .4rem; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; }
}

/* Accepted sandbox design system, adapted to the Astro application. */
:root {
  --paper: #fffdf6;
  --surface: #fffef8;
  --ink: #05262d;
  --muted: #365862;
  --line: #b6d2ce;
  --line-dark: #6a9794;
  --teal: #0b5868;
  --teal-dark: #063b47;
  --aqua: #9ee0d5;
  --mint: #d5f2ec;
  --yellow: #ffe34b;
  --yellow-soft: #f5f1a0;
  --olive: #948544;
  --lavender: #eeecfa;
  --danger: #7a332e;
  --success: #246348;
  --shadow: 0 22px 50px rgba(2, 37, 43, .14);
  background: var(--paper);
}

body {
  color: var(--ink);
  background-color: var(--paper);
  background-image: url("/texture-noise.svg");
  background-size: 180px 180px;
  letter-spacing: 0;
}

h1, h2, h3 { font-family: "Source Sans 3", system-ui, sans-serif; font-weight: 700; }
h1 { max-width: 13ch; }
.sr-only { position: absolute !important; width: 1px !important; height: 1px !important; padding: 0 !important; margin: -1px !important; overflow: hidden !important; clip: rect(0, 0, 0, 0) !important; white-space: nowrap !important; border: 0 !important; }

.site-header {
  position: fixed;
  top: 10px;
  right: 0;
  left: 0;
  z-index: 80;
  border: 0;
  background: transparent;
}

.header-inner {
  min-height: 58px;
  padding: 7px 12px;
  border: 1px solid rgba(11, 88, 104, .38);
  border-radius: 8px;
  background: rgba(245, 241, 160, .88);
  box-shadow: 0 16px 38px rgba(2, 37, 43, .16);
  backdrop-filter: blur(14px);
}

.brand-mark {
  width: 38px;
  height: 38px;
  overflow: hidden;
  border: 1px solid rgba(11, 88, 104, .38);
  border-radius: 50%;
  background: #fff6b9;
  animation: character-float 4.5s ease-in-out infinite;
}
.brand-mark img { width: 120%; height: 120%; object-fit: contain; transform: translate(-9%, -5%); }
.brand small { color: var(--teal); font-size: .58rem; letter-spacing: .12em; }
.site-nav { gap: clamp(.55rem, 2vw, 1.5rem); font-size: .86rem; font-weight: 700; }
.site-nav a:hover, .site-nav a[aria-current="page"] { color: var(--teal); text-decoration: none; border-bottom: 2px solid currentColor; }
.header-action { display: flex; align-items: center; gap: .55rem; font-size: .72rem; font-weight: 700; }
.header-waitlist { position: relative; display: grid; grid-template-columns: auto minmax(140px, 175px) auto; gap: 6px; align-items: center; }
.header-waitlist-label { white-space: nowrap; }
.header-email-field input { width: 100%; min-width: 0; height: 34px; padding: 0 8px; border: 1px solid var(--line-dark); border-radius: 4px; background: rgba(255,255,255,.78); color: var(--ink); font-size: .72rem; }
.header-submit { height: 34px; padding: 0 9px; border: 1px solid var(--teal); border-radius: 4px; background: var(--teal); color: white; font-size: .7rem; font-weight: 700; white-space: nowrap; cursor: pointer; }
.header-submit:hover { background: var(--teal-dark); }
.header-submit:disabled { opacity: .58; cursor: not-allowed; }
.header-submit-short { display: none; }
.header-form-status { position: absolute; top: calc(100% + 10px); right: 0; width: min(310px, calc(100vw - 28px)); min-height: 0; padding: 8px 10px; border: 1px solid var(--line-dark); border-radius: 4px; background: var(--surface); box-shadow: var(--shadow); color: var(--ink); font-size: .72rem; line-height: 1.35; }
.header-form-status:empty { display: none; }
.header-newsletter-link, .mobile-impact-preview, .mobile-swipe-hint, .mobile-provider-rail { display: none; }

.button { border-radius: 5px; background: var(--teal); }
.button.secondary { border-color: var(--teal); background: transparent; color: var(--teal-dark); }
.eyebrow { color: var(--teal); font-size: .72rem; letter-spacing: .08em; }

.cycle-hero {
  position: relative;
  display: grid;
  height: calc(100svh - 140px);
  min-height: 580px;
  max-height: 720px;
  padding: 0;
  border-bottom: 0;
  background: var(--ink);
  color: var(--surface);
  overflow: hidden;
}
.cycle-hero::before { position: absolute; z-index: 1; inset: 0 auto 0 0; width: 58%; background: rgba(5, 38, 45, .82); content: ""; }
.cycle-hero-grid { position: relative; z-index: 2; display: flex; height: 100%; min-height: 0; align-items: center; }
.cycle-copy { display: flex; width: min(58%, 690px); flex-direction: column; justify-content: center; padding: clamp(2rem, 5vw, 4.5rem) clamp(1rem, 4vw, 3.5rem) clamp(2rem, 4vw, 3.5rem) 24px; border-left: 3px solid var(--yellow); }
.cycle-copy .eyebrow { color: var(--yellow); }
.cycle-copy h1 { margin-top: .8rem; color: var(--surface); font-size: clamp(3rem, 6vw, 5rem); line-height: 1.02; }
.cycle-copy p { max-width: 52ch; color: var(--aqua); font-size: 1.13rem; line-height: 1.55; }
.cycle-actions { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; max-width: 620px; margin-top: 16px; }
.cycle-actions a { display: inline-flex; min-height: 44px; align-items: center; justify-content: space-between; gap: 20px; min-width: 155px; padding: 10px 14px; border: 1px solid var(--yellow); border-radius: 5px; background: var(--yellow); color: var(--ink); font-weight: 700; text-decoration: none; }
.cycle-actions a:hover { background: var(--yellow-soft); color: var(--ink); transform: translateY(-2px); }
.hero-media { position: absolute; z-index: 0; inset: 0; min-width: 0; overflow: hidden; background: #123e44; }
.hero-media video { width: 100%; height: 100%; object-fit: cover; object-position: center; }

.calculator-section { padding: clamp(3.5rem, 7vw, 6.5rem) 0; border-bottom: 6px solid var(--olive); background-color: var(--aqua); }
.calculator-lab { display: grid; grid-template-columns: minmax(0, 1fr) minmax(460px, .9fr); gap: clamp(2rem, 5vw, 5rem); align-items: start; }
.calculator-lab[data-ready="false"] .control-panel, .comparison-explorer[data-ready="false"] { pointer-events: none; }
.cost-title-row { position: relative; min-height: 210px; display: flex; align-items: flex-end; justify-content: space-between; gap: 24px; }
.cost-title-row h2 { margin: .45rem 0 1rem; font-size: clamp(3.4rem, 6vw, 5.2rem); }
.cost-title-row p { max-width: 35ch; color: var(--muted); font-size: 1.15rem; line-height: 1.45; }
.cost-title-row img { width: min(230px, 36%); align-self: flex-end; filter: drop-shadow(0 18px 22px rgba(2, 37, 43, .14)); animation: character-float 4.6s ease-in-out infinite; }

@keyframes character-float { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-8px); } }

.result-stage { position: relative; padding: 28px; border-radius: 6px; background: var(--ink); color: var(--surface); box-shadow: var(--shadow); }
.result-stage.is-shortfall { background: var(--danger); }
.result-heading { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); border-bottom: 1px solid rgba(255,255,255,.26); }
.result-heading > div { min-width: 0; padding: 0 22px 18px 0; }
.result-heading > div + div { padding-left: 22px; border-left: 1px solid rgba(255,255,255,.28); }
.result-heading span, .result-heading small { display: block; color: #dce8e3; font-size: .78rem; font-weight: 600; }
.result-heading strong { display: block; margin: .2rem 0; font-size: clamp(2rem, 4vw, 3rem); overflow-wrap: anywhere; }
.combined-summary { margin: 18px 0; color: #dce8e3; font-size: .78rem; font-weight: 600; }
.allocation-bar { display: flex; width: 100%; height: 14px; overflow: hidden; border: 1px solid rgba(255,255,255,.32); border-radius: 3px; background: rgba(255,255,255,.12); }
.allocation-bar span { display: block; height: 100%; }
.bills-segment, .bills-swatch { background: #eab64f; }
.repayment-segment, .repayment-swatch { background: #7ba1ef; }
.remaining-segment, .remaining-swatch { background: #9bd37d; }
.shortfall-segment, .shortfall-swatch { background: #ff827b; }
.allocation-legend { display: flex; flex-wrap: wrap; gap: 8px 18px; margin-top: 11px; color: #dce8e3; font-size: .75rem; }
.allocation-legend i { display: inline-block; width: 9px; height: 9px; margin-right: 6px; border-radius: 1px; }
.result-metrics { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); margin-top: 24px; }
.result-metrics > div { padding: 5px 14px; border-left: 1px solid rgba(255,255,255,.28); }
.result-metrics > div:first-child { padding-left: 0; border-left: 0; }
.result-metrics span { display: block; color: #dce8e3; font-size: .72rem; }
.result-metrics strong { display: block; margin-top: 4px; font-size: 1.1rem; }
.result-note { margin: 22px 0 0; color: #dce8e3; font-size: .78rem; line-height: 1.5; }
.fico-context { display: grid; grid-template-columns: .9fr 1.1fr; gap: 18px; margin-top: 18px; padding-top: 16px; border-top: 1px solid rgba(255,255,255,.24); }
.fico-context label, .fico-context > div { display: grid; gap: 5px; }
.fico-context span { color: #d6e6de; font-size: .72rem; font-weight: 700; }
.fico-context select { width: 100%; min-height: 38px; border: 1px solid rgba(255,255,255,.42); border-radius: 4px; background: var(--surface); color: var(--ink); font-weight: 700; }
.fico-context strong { font-size: 1.1rem; }
.fico-context small { color: #dce8e3; line-height: 1.35; }
.calculator-source { color: var(--muted); font-size: .68rem; line-height: 1.5; }
.calculator-source a { color: #0b5265; font-weight: 700; }

.control-panel { padding: 26px; border: 1px solid rgba(11,88,104,.25); border-radius: 7px; background: var(--surface); box-shadow: var(--shadow); }
.panel-heading { display: flex; align-items: start; justify-content: space-between; gap: 16px; padding-bottom: 18px; border-bottom: 1px solid var(--line); }
.panel-heading h2 { margin-top: .3rem; font-size: 1.65rem; }
.local-note { display: inline-flex; align-items: center; gap: 5px; padding: 5px 7px; border: 1px solid var(--line-dark); border-radius: 4px; background: var(--aqua); font-size: .68rem; font-weight: 700; white-space: nowrap; }
.control-columns { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 22px; padding-top: 18px; }
.control-group { min-width: 0; padding: 0; border: 0; }
.control-group legend { margin-bottom: 14px; font-size: .8rem; font-weight: 700; }
.provider-label { display: grid; gap: 4px; margin-bottom: 15px; font-size: .72rem; font-weight: 700; }
.provider-label input { width: 100%; min-width: 0; height: 38px; padding: 0 9px; border: 1px solid var(--line-dark); border-radius: 4px; background: #fff; }
.range-control { margin-bottom: 14px; }
.range-heading { display: flex; align-items: center; justify-content: space-between; gap: 8px; margin-bottom: 6px; font-size: .72rem; font-weight: 700; }
.range-row { display: grid; grid-template-columns: 38px minmax(58px, 1fr) 38px; align-items: center; gap: 8px; }
.step-button { display: grid; width: 38px; height: 38px; place-items: center; padding: 0; border: 1px solid var(--line-dark); border-radius: 4px; background: var(--surface); color: var(--ink); cursor: pointer; }
.range-row input[type="range"] { width: 100%; height: 18px; margin: 0; appearance: none; background: transparent; accent-color: var(--teal); }
.range-row input[type="range"]::-webkit-slider-runnable-track { height: 5px; border-radius: 3px; background: var(--yellow-soft); }
.range-row input[type="range"]::-webkit-slider-thumb { width: 16px; height: 16px; margin-top: -5.5px; appearance: none; border: 2px solid #fff; border-radius: 50%; background: var(--teal); box-shadow: 0 0 0 1px var(--teal); }
.add-advance { width: 100%; margin-top: 3px; }
.advance-archive { display: grid; gap: 4px; margin-top: 20px; padding-top: 16px; border-top: 1px solid var(--line); }
.advance-card-stack { display: grid; min-height: 78px; margin-top: 14px; padding: 8px 12px 22px 14px; perspective: 900px; }
.advance-snapshot { position: relative; z-index: calc(var(--stack-index) + 1); display: grid; width: 100%; min-height: 78px; grid-template-columns: minmax(0, 1fr) 30px; margin-left: var(--fan-x); border: 1px solid var(--line-dark); border-left: 4px solid var(--teal); border-radius: 4px; background: var(--yellow-soft); box-shadow: 0 8px 16px rgba(2,37,43,.12); transform: translate3d(0, var(--fan-y), 0) rotate(var(--fan-angle)); transform-origin: 28% 100%; transition: transform 180ms ease, box-shadow 180ms ease, margin-left 180ms ease; }
.advance-snapshot + .advance-snapshot { margin-top: -40px; }
.advance-snapshot:nth-child(2n) { background: #dff2ed; }
.advance-snapshot:nth-child(3n) { background: #ebe8fb; }
.advance-snapshot:nth-child(4n) { background: #fff0b8; }
.advance-snapshot:hover, .advance-snapshot:focus-within { z-index: 20; margin-left: 0; border-color: var(--teal); box-shadow: 0 16px 26px rgba(2,37,43,.2); transform: translate3d(-8px, -16px, 18px) rotate(0); }
.snapshot-select { display: grid; width: 100%; min-height: 78px; grid-template-columns: 1fr auto; gap: 3px 8px; padding: 9px; border: 0; background: transparent; color: var(--ink); text-align: left; cursor: pointer; }
.snapshot-select small { grid-column: 1 / -1; color: var(--muted); }
.snapshot-remove { display: grid; width: 30px; min-height: 78px; place-items: start center; padding: 10px 0; border: 0; background: transparent; color: var(--ink); cursor: pointer; }
.advance-archive-empty { margin: 10px 0 0; color: var(--muted); font-size: .72rem; }
.panel-footer { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-top: 18px; padding-top: 16px; border-top: 1px solid var(--line); color: var(--muted); font-size: .72rem; }

.learn-section, .compare-section { padding: clamp(4rem, 8vw, 7rem) 0; background: rgba(255,253,246,.94); }
.compare-section { border-top: 6px solid var(--olive); }
.section-intro { display: grid; grid-template-columns: 1.1fr .8fr 130px; gap: 36px; align-items: center; margin-bottom: 44px; padding-bottom: 28px; border-bottom: 1px solid var(--line); }
.section-intro h2 { margin-top: .5rem; font-size: clamp(2.3rem, 4vw, 3.6rem); }
.section-intro p { color: var(--muted); font-size: 1.05rem; line-height: 1.5; }
.section-intro img { width: 125px; filter: drop-shadow(0 16px 15px rgba(2,37,43,.13)); animation: character-float 4.4s ease-in-out infinite; }
.payday-example { display: grid; grid-template-columns: .9fr 1.1fr; overflow: hidden; margin-bottom: 32px; border: 1px solid var(--line); border-radius: 7px; background: var(--surface); }
.payday-example > article { padding: 30px; background: var(--yellow-soft); }
.payday-example h3 { margin: .5rem 0; font-size: 1.8rem; }
.payday-example p { color: var(--muted); line-height: 1.5; }
.payday-calendar { padding: 30px; }
.payday-calendar header, .payday-calendar footer { display: flex; justify-content: space-between; gap: 12px; }
.calendar-week, .calendar-grid { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); }
.calendar-week { margin-top: 20px; text-align: center; color: var(--muted); font-size: .68rem; }
.calendar-grid span { min-height: 58px; padding: 6px; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); font-size: .7rem; }
.calendar-grid span:nth-child(7n+1) { border-left: 1px solid var(--line); }
.calendar-grid span:nth-child(-n+7) { border-top: 1px solid var(--line); }
.calendar-grid small { display: block; margin-top: 12px; font-weight: 700; }
.calendar-grid .cash-now { background: var(--aqua); }
.calendar-grid .payday { background: var(--yellow); }
.payday-calendar footer { margin-top: 12px; color: var(--muted); font-size: .65rem; }

.cashflow-disclosure { border-radius: 7px; background: var(--ink); color: var(--surface); box-shadow: var(--shadow); }
.cashflow-disclosure summary { display: grid; gap: 7px; padding: 32px; cursor: pointer; list-style: none; }
.cashflow-disclosure summary::-webkit-details-marker { display: none; }
.cashflow-disclosure summary > .eyebrow, .expand-label { color: var(--yellow); }
.cashflow-disclosure summary > strong { font-size: clamp(2.4rem, 5vw, 4rem); }
.cashflow-disclosure summary > small { color: var(--aqua); }
.driver-strip { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; margin-top: 22px; }
.driver-strip > span { display: grid; grid-template-columns: 30px 1fr; gap: 2px 8px; align-items: center; padding: 12px; border: 1px solid rgba(158,224,213,.34); border-radius: 5px; }
.driver-strip svg { grid-row: 1 / 3; color: var(--yellow); }
.driver-strip b { color: var(--yellow); font-size: .68rem; text-transform: uppercase; }
.driver-strip small { color: #dce8e3; font-size: .7rem; }
.expand-label { display: flex; align-items: center; justify-content: space-between; margin-top: 14px; padding-top: 16px; border-top: 1px solid rgba(255,255,255,.25); font-size: .78rem; font-weight: 700; }
.expand-label b { display: grid; width: 26px; height: 26px; place-items: center; border: 1px solid currentColor; border-radius: 50%; }
.cashflow-paths { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); border-top: 1px solid var(--aqua); }
.cashflow-paths a { display: grid; gap: 8px; min-height: 170px; padding: 24px; border-right: 1px solid rgba(158,224,213,.35); background: #07313a; color: var(--surface); text-decoration: none; }
.cashflow-paths a:nth-child(2) { background: #0d6471; }
.cashflow-paths a:last-child { border-right: 0; background: #164d55; }
.cashflow-paths span { color: var(--aqua); font-size: .68rem; text-transform: uppercase; }
.cashflow-paths strong { color: var(--surface); font-size: 1.5rem; }
.cashflow-paths small { color: #dce8e3; }

.comparison-explorer { border-top: 3px solid var(--teal); background: rgba(255,255,255,.42); }
.explorer-toolbar { display: grid; grid-template-columns: 1fr auto auto; align-items: center; gap: 18px; padding: 16px; border-bottom: 1px solid var(--line); }
.explorer-toolbar > div:first-child { display: grid; gap: 3px; }
.explorer-toolbar strong span { margin-left: 5px; color: var(--teal); font-size: .68rem; text-transform: uppercase; }
.explorer-toolbar small { color: var(--muted); }
.explorer-actions { display: grid; gap: 5px; }
.explorer-actions button { display: inline-flex; min-height: 32px; align-items: center; justify-content: center; gap: 5px; padding: 5px 9px; border: 1px solid var(--line-dark); border-radius: 4px; background: var(--surface); color: var(--teal-dark); font-size: .7rem; font-weight: 700; cursor: pointer; }
.explorer-actions button:first-child { background: var(--aqua); }
.custom-provider-form { display: grid; grid-template-columns: minmax(220px, 1fr) auto auto minmax(220px, .7fr); align-items: end; gap: 10px; padding: 16px; border-bottom: 1px solid var(--line); }
.custom-provider-form label { display: grid; gap: 4px; font-size: .72rem; font-weight: 700; }
.custom-provider-form input { height: 42px; padding: 0 10px; border: 1px solid var(--line-dark); border-radius: 4px; }
.custom-provider-form p { margin: 0; color: var(--muted); font-size: .72rem; }
.provider-filter { display: flex; align-items: center; gap: 8px; padding: 12px 16px 0; }
.provider-filter input { width: min(320px, 100%); height: 38px; padding: 0 9px; border: 1px solid var(--line-dark); border-radius: 4px; background: var(--surface); }
.provider-picker-shell { position: relative; }
.provider-picker { display: flex; gap: 8px; overflow-x: auto; padding: 12px 16px 16px; border-bottom: 1px solid var(--line); scrollbar-color: var(--line-dark) transparent; }
.provider-chip { display: inline-flex; flex: 0 0 auto; min-height: 46px; align-items: center; gap: 8px; padding: 5px 12px 5px 6px; border: 1px solid var(--line-dark); border-radius: 5px; background: var(--surface); color: var(--ink); font-weight: 700; cursor: pointer; }
.provider-chip[aria-pressed="true"] { border-color: var(--teal); background: var(--aqua); box-shadow: 0 0 0 2px rgba(11,88,104,.12); }
.provider-chip:disabled { opacity: .45; cursor: not-allowed; }
.provider-chip-logo { width: 52px; height: 32px; object-fit: contain; border: 1px solid var(--line); border-radius: 3px; background: #fff; }
.provider-monogram { display: grid; place-items: center; background: var(--ink); color: var(--surface); font-size: .68rem; }
.comparison-scroll { overflow: auto; max-width: 100%; border-bottom: 1px solid var(--line); }
.comparison-table { min-width: 820px; table-layout: fixed; background: transparent; }
.comparison-table th, .comparison-table td { padding: 13px; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); background: #fffbea; }
.comparison-table th:first-child { position: sticky; left: 0; z-index: 6; width: 165px; background: #f8f8f2; }
.comparison-table tr > :nth-child(3) { background: #e1f3f0; }
.comparison-table tr > :nth-child(4) { background: #faf4c4; }
.comparison-table thead th { vertical-align: top; }
.provider-title-row { display: grid; grid-template-columns: 52px 1fr 30px; gap: 9px; align-items: start; }
.comparison-logo { display: grid; width: 52px; height: 38px; place-items: center; object-fit: contain; border: 1px solid var(--line); border-radius: 3px; background: white; }
.provider-name-line { display: flex; align-items: center; gap: 5px; }
.provider-name-line > a:first-child { color: var(--ink); font-size: 1.15rem; text-decoration: none; }
.provider-name-line > strong { color: var(--ink); font-size: 1.15rem; }
.provider-site-link { color: var(--teal); }
.provider-title-row small { display: block; margin-top: 3px; color: var(--muted); font-size: .67rem; font-weight: 400; line-height: 1.3; }
.provider-title-row > button { display: grid; width: 30px; height: 30px; place-items: center; padding: 0; border: 1px solid var(--line-dark); border-radius: 4px; background: rgba(255,255,255,.7); cursor: pointer; }
.provider-apr { margin-top: 12px; padding: 10px; border: 1px solid var(--line); border-radius: 4px; background: rgba(255,255,255,.72); }
.provider-apr > div:first-child { display: flex; justify-content: space-between; gap: 8px; font-size: .68rem; text-transform: uppercase; }
.provider-apr-inputs { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 5px; margin-top: 8px; }
.provider-apr-inputs label { min-width: 0; font-size: .58rem; }
.provider-apr-inputs input { width: 100%; min-width: 0; height: 30px; margin-top: 3px; padding: 0 5px; border: 1px solid var(--line-dark); border-radius: 3px; }
.provider-meta { display: flex; flex-wrap: wrap; gap: 4px; margin-top: 10px; }
.provider-meta span, .provider-meta a { display: inline-flex; align-items: center; gap: 3px; padding: 3px 5px; border: 1px solid var(--line-dark); border-radius: 3px; color: var(--muted); background: rgba(255,255,255,.55); font-size: .58rem; text-decoration: none; }
.comparison-group th, .comparison-group td { padding: 0; }
.comparison-group th button { display: flex; width: 100%; min-height: 54px; align-items: center; justify-content: space-between; padding: 10px 13px; border: 0; background: transparent; color: var(--ink); font-weight: 700; text-transform: uppercase; cursor: pointer; }
.comparison-group td { padding: 14px 18px; color: var(--muted); font-size: .78rem; font-weight: 700; }
.group-access th, .group-access td { background: #d9f2ed !important; }
.group-costs th, .group-costs td { background: #f8f3c5 !important; }
.group-repayment th, .group-repayment td { background: var(--lavender) !important; }
.comparison-table tbody tr:not(.comparison-group) th { padding-left: 28px; font-size: .72rem; }
.comparison-table tbody td { color: var(--muted); font-size: .82rem; line-height: 1.45; }
.comparison-fact { display: grid; gap: 4px; }
.comparison-fact strong { color: var(--ink); }
.comparison-fact small { color: var(--muted); line-height: 1.45; }
.comparison-facts { display: grid; gap: 10px; margin: 0; padding: 0; list-style: none; }
.comparison-facts li { display: grid; gap: 2px; }
.comparison-facts strong { color: var(--ink); }
.comparison-facts small { color: var(--teal); }
.evidence-note { margin: 22px 0; padding: 18px 18px 18px 52px; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); color: var(--muted); font-size: .78rem; line-height: 1.5; }
.evidence-note::before { position: absolute; margin-left: -38px; color: var(--olive); content: "“"; font-size: 3rem; font-weight: 700; line-height: .8; }
.employer-directory { display: grid; grid-template-columns: .65fr 1.35fr; gap: 25px; padding: 26px; border: 1px solid var(--line); background: var(--mint); }
.employer-directory h3 { margin: .4rem 0; font-size: 1.5rem; }
.employer-directory p { color: var(--muted); }
.employer-directory > div:last-child { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 8px; }
.employer-directory a { display: grid; gap: 4px; padding: 12px; border: 1px solid var(--line-dark); border-radius: 4px; background: rgba(255,255,255,.58); color: var(--ink); text-decoration: none; }
.employer-directory small { color: var(--muted); }

.dialog-backdrop { position: fixed; inset: 0; z-index: 100; display: grid; place-items: center; padding: 16px; background: rgba(5,38,45,.72); }
.feedback-dialog { width: min(600px, 100%); max-height: calc(100vh - 32px); overflow: auto; padding: 24px; border-radius: 7px; background: var(--surface); box-shadow: var(--shadow); }
.feedback-dialog header { display: flex; align-items: start; justify-content: space-between; gap: 15px; padding-bottom: 16px; border-bottom: 1px solid var(--line); }
.feedback-dialog header h2 { margin-top: .4rem; }
.feedback-dialog header button { display: grid; width: 38px; height: 38px; place-items: center; border: 1px solid var(--line-dark); border-radius: 4px; background: transparent; }
.feedback-dialog form { display: grid; gap: 13px; padding-top: 16px; }
.feedback-dialog label { display: grid; gap: 5px; font-weight: 700; }
.feedback-dialog input, .feedback-dialog select, .feedback-dialog textarea { width: 100%; padding: 10px; border: 1px solid var(--line-dark); border-radius: 4px; background: white; color: var(--ink); }

.alternatives-band { padding: 42px 0; background: var(--yellow-soft); }
.alternatives-inner { display: grid; grid-template-columns: auto 1fr auto; gap: 24px; align-items: center; }
.alternatives-inner h2 { margin: .35rem 0; }
.alternatives-inner p { margin: 0; color: var(--muted); }
.newsletter-section { padding: 52px 0; background: var(--yellow); }
.newsletter-grid { display: grid; grid-template-columns: .9fr 1.1fr; gap: clamp(2rem, 6vw, 6rem); align-items: center; }
.newsletter-grid > * { min-width: 0; }
.newsletter-copy { position: relative; padding-right: 130px; }
.newsletter-copy h2 { margin: .55rem 0; font-size: clamp(2.5rem, 5vw, 4.4rem); line-height: .95; }
.newsletter-copy p { color: var(--muted); line-height: 1.5; }
.newsletter-copy img { position: absolute; right: 0; bottom: -14px; width: 120px; animation: character-float 4.6s ease-in-out infinite; }
.newsletter-form { padding: 24px; border: 1px solid rgba(5,38,45,.24); border-radius: 7px; background: rgba(255,255,255,.42); }

.page-head { padding: 8.5rem 0 3rem; border-bottom: 6px solid var(--olive); background: var(--yellow-soft); }
.page-head h1 { margin-top: .7rem; font-size: clamp(2.8rem, 6vw, 5rem); }
.page-head-grid { display: grid; grid-template-columns: minmax(0, 1fr) 180px; gap: clamp(1.5rem, 5vw, 5rem); align-items: end; }
.page-head-grid > div { min-width: 0; }
.page-head-character { width: 180px; max-height: 190px; object-fit: contain; justify-self: end; filter: drop-shadow(0 16px 18px rgba(2,37,43,.15)); animation: character-float 4.4s ease-in-out infinite; }
.section { background: rgba(255,253,246,.94); }
.waitlist-box, .provider-card, .alternative-card { background: var(--surface); }
.site-footer { padding: 28px 0; background: var(--ink); color: #dce8e3; }
.site-footer .footer-grid { grid-template-columns: 1fr 2fr 1fr; align-items: start; }
.site-footer nav { display: flex; flex-wrap: wrap; justify-content: center; gap: 9px 18px; }
.site-footer a { color: var(--aqua); }
.site-footer p { margin: .45rem 0 0; color: #b8ccc8; font-size: .72rem; }

@media (max-width: 980px) {
  .calculator-lab { grid-template-columns: 1fr; }
  .calculator-lab { gap: 40px; }
  .cost-title-row { min-height: 170px; }
  .section-intro { grid-template-columns: 1fr .8fr 100px; }
  .section-intro img { width: 96px; }
  .explorer-toolbar { grid-template-columns: 1fr auto; }
  .explorer-actions { grid-column: 1 / -1; grid-template-columns: repeat(2, minmax(0,1fr)); }
  .custom-provider-form { grid-template-columns: 1fr auto auto; }
  .custom-provider-form p { grid-column: 1 / -1; }
  .employer-directory { grid-template-columns: 1fr; }
  .site-footer .footer-grid { grid-template-columns: 1fr; }
  .site-footer nav { justify-content: flex-start; }
}

@media (max-width: 680px) {
  .container { width: min(100% - 28px, 1180px); }
  .site-header { top: 6px; }
  .header-inner { display: grid; min-height: 78px; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 5px 10px; padding: 5px 7px; }
  .brand { gap: 5px; font-size: .78rem; }
  .brand-mark { width: 32px; height: 32px; }
  .site-nav { display: grid; width: 100%; grid-column: 1 / -1; grid-row: 2; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 2px; padding-top: 5px; border-top: 1px solid rgba(11,88,104,.22); font-size: .71rem; text-align: center; }
  .site-nav a { padding: 2px; white-space: nowrap; }
  .site-nav a:nth-child(3) { display: inline; }
  .header-action { grid-column: 2; grid-row: 1; margin-left: auto; }
  .header-waitlist { grid-template-columns: minmax(105px, 126px) auto; gap: 4px; }
  .header-waitlist-label { display: none; }
  .header-email-field input { height: 32px; font-size: .66rem; }
  .header-submit { height: 32px; padding-inline: 8px; font-size: .66rem; }
  .header-submit-full { display: none; }
  .header-submit-short { display: inline; }
  .site-header.is-mobile-scrolled .header-inner { min-height: 48px; grid-template-columns: 34px minmax(0, 1fr) auto; gap: 4px 7px; padding: 4px 6px; }
  .site-header.is-mobile-scrolled .brand { width: 32px; overflow: hidden; }
  .site-header.is-mobile-scrolled .brand > span:last-child { display: none; }
  .site-header.is-mobile-scrolled .site-nav { grid-column: 2; grid-row: 1; grid-template-columns: repeat(3, minmax(0, 1fr)); padding: 0; border-top: 0; }
  .site-header.is-mobile-scrolled .site-nav a:first-child { display: none; }
  .site-header.is-mobile-scrolled .header-action { grid-column: 3; }
  .site-header.is-mobile-scrolled .header-waitlist { display: none; }
  .site-header.is-mobile-scrolled .header-newsletter-link { display: inline-flex; min-height: 32px; align-items: center; padding: 0 8px; border: 1px solid var(--teal); border-radius: 4px; background: var(--teal); color: white; font-size: .68rem; text-decoration: none; }
  .calculator-lab .control-panel { order: 1; }
  .calculator-lab .cost-story { order: 2; }
  .cycle-hero { height: min(570px, calc(100svh - 84px)); min-height: 520px; max-height: 570px; padding: 0; }
  .cycle-hero::before { inset: 0; width: 100%; background: rgba(5, 38, 45, .68); }
  .cycle-hero-grid { height: 100%; align-items: start; }
  .cycle-copy { width: 100%; justify-content: flex-start; padding: 94px 0 24px 15px; }
  .cycle-copy h1 { font-size: clamp(2.4rem, 12vw, 3.25rem); }
  .cycle-copy p { font-size: .94rem; line-height: 1.45; }
  .cycle-actions { display: grid; grid-template-columns: 1fr; }
  .cycle-actions a { min-width: 0; }
  .hero-media, .hero-media video { height: 100%; min-height: 0; max-height: none; }
  .hero-media video { object-position: 66% center; }
  .calculator-section { padding-block: 48px; }
  .cost-title-row { min-height: 150px; align-items: end; }
  .cost-title-row h2 { font-size: 3.4rem; }
  .cost-title-row p { font-size: 1rem; }
  .cost-title-row img { width: 145px; margin-left: -28px; }
  .result-stage { padding: 20px 16px; }
  .result-heading { gap: 0; }
  .result-heading > div { padding-right: 10px; }
  .result-heading > div + div { padding-left: 10px; }
  .result-heading strong { font-size: 1.75rem; }
  .result-metrics { grid-template-columns: repeat(2, 1fr); gap: 15px 0; }
  .result-metrics > div:nth-child(3) { padding-left: 0; border-left: 0; }
  .fico-context { grid-template-columns: 1fr; }
  .control-panel { padding: 18px 14px; }
  .panel-heading { align-items: start; }
  .panel-heading h2 { font-size: 1.35rem; }
  .mobile-impact-preview { position: sticky; top: 60px; z-index: 16; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)) auto; gap: 8px; align-items: center; margin: 12px -6px 2px; padding: 9px 10px; border: 1px solid rgba(158,224,213,.65); border-radius: 5px; background: var(--ink); box-shadow: 0 10px 22px rgba(2,37,43,.18); color: white; text-decoration: none; }
  .mobile-impact-preview.is-shortfall { background: var(--danger); }
  .mobile-impact-preview span { display: grid; gap: 1px; min-width: 0; }
  .mobile-impact-preview small { color: #dce8e3; font-size: .62rem; font-weight: 600; }
  .mobile-impact-preview strong { font-size: .92rem; }
  .mobile-impact-preview b { color: var(--yellow); font-size: .68rem; white-space: nowrap; }
  .control-columns { grid-template-columns: 1fr; gap: 24px; }
  .advance-card-stack { min-height: 90px; }
  .panel-footer { align-items: stretch; flex-direction: column; }
  .section-intro { grid-template-columns: 1fr 86px; gap: 15px; margin-bottom: 28px; }
  .section-intro > div { grid-column: 1; }
  .section-intro p { grid-column: 1; }
  .section-intro img { grid-column: 2; grid-row: 1 / 3; width: 86px; align-self: end; }
  .section-intro h2 { font-size: 2.5rem; }
  .payday-example { grid-template-columns: 1fr; }
  .payday-example > article, .payday-calendar { padding: 20px 16px; }
  .calendar-grid span { min-height: 48px; padding: 4px; }
  .calendar-grid small { margin-top: 8px; font-size: .55rem; }
  .cashflow-disclosure summary { padding: 22px 16px; }
  .driver-strip { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .cashflow-paths { grid-template-columns: 1fr; }
  .cashflow-paths a { min-height: 130px; border-right: 0; border-bottom: 1px solid rgba(158,224,213,.3); }
  .explorer-toolbar { grid-template-columns: 1fr; align-items: start; }
  .explorer-actions { grid-column: auto; grid-template-columns: 1fr; }
  .custom-provider-form { grid-template-columns: 1fr; }
  .provider-filter input { width: 100%; }
  .provider-picker-shell::after { position: absolute; z-index: 2; top: 6px; right: 0; bottom: 7px; width: 8px; border-right: 3px solid var(--teal); background: rgba(255,253,246,.86); box-shadow: -8px 0 12px rgba(5,38,45,.1); content: ""; pointer-events: none; }
  .provider-picker { scroll-snap-type: inline proximity; overscroll-behavior-inline: contain; touch-action: pan-x; }
  .provider-chip { font-size: .8rem; }
  .provider-chip { scroll-snap-align: start; }
  .mobile-swipe-hint { display: flex; align-items: center; gap: 7px; margin: 0; padding: 9px 16px; border-bottom: 1px solid var(--line); color: var(--muted); font-size: .72rem; font-weight: 700; }
  .mobile-provider-rail { position: sticky; top: 60px; z-index: 17; display: grid; grid-template-columns: auto 1fr; gap: 8px; align-items: center; padding: 8px 10px; border-bottom: 1px solid var(--line-dark); background: rgba(255,253,246,.96); box-shadow: 0 8px 15px rgba(2,37,43,.08); backdrop-filter: blur(10px); }
  .mobile-provider-rail > span { color: var(--muted); font-size: .65rem; font-weight: 700; text-transform: uppercase; }
  .mobile-provider-rail > div { display: flex; gap: 5px; min-width: 0; overflow-x: auto; }
  .mobile-provider-rail button { min-height: 32px; flex: 0 0 auto; padding: 4px 9px; border: 1px solid var(--line-dark); border-radius: 4px; background: var(--surface); color: var(--ink); font-size: .7rem; font-weight: 700; }
  .mobile-provider-rail button[aria-pressed="true"] { border-color: var(--teal); background: var(--aqua); }
  .comparison-scroll { scroll-snap-type: inline proximity; scroll-padding-left: 128px; overscroll-behavior-inline: contain; touch-action: pan-x pan-y; }
  .comparison-table { min-width: 750px; }
  .comparison-table th:first-child { width: 128px; }
  .comparison-table th, .comparison-table td { padding: 10px; }
  .comparison-table thead th:not(:first-child) { scroll-snap-align: start; }
  .provider-title-row { grid-template-columns: 42px 1fr 28px; }
  .comparison-logo { width: 42px; height: 34px; }
  .employer-directory > div:last-child { grid-template-columns: 1fr; }
  .alternatives-inner { grid-template-columns: auto 1fr; }
  .alternatives-inner .button { grid-column: 1 / -1; }
  .newsletter-grid { grid-template-columns: 1fr; }
  .newsletter-copy { padding-right: 85px; }
  .newsletter-copy h2 { font-size: 3rem; }
  .newsletter-copy img { width: 90px; }
  .newsletter-form { padding: 16px; }
  .page-head { padding-top: 8rem; }
  .page-head-grid { grid-template-columns: minmax(0, 1fr) 86px; gap: 14px; }
  .page-head-character { width: 86px; max-height: 110px; }
}

@media (max-width: 360px) {
  .brand > span:last-child { font-size: .72rem; }
  .cycle-copy h1 { font-size: 2.35rem; }
  .result-heading { grid-template-columns: 1fr; }
  .result-heading > div + div { margin-top: 12px; padding: 12px 0 0; border-top: 1px solid rgba(255,255,255,.25); border-left: 0; }
  .cost-title-row img { width: 120px; }
  .driver-strip { grid-template-columns: 1fr; }
  .section-intro { grid-template-columns: 1fr 72px; }
  .section-intro img { width: 72px; }
  .comparison-table { min-width: 700px; }
  .header-waitlist { grid-template-columns: 105px auto; }
}
