/* Fred Chilton / neutral shared theme.
   Load after the existing shared/content/calculator/guide styles, then load
   modern-home.css. Add modern-site to body. Layout and behavior stay in the
   existing stylesheets; this file does not compose the homepage hero. */

html:has(body.modern-site) { background: #fafaf7; color-scheme: light; }
body.modern-site {
  --modern-white: #fff;
  --modern-warm: #fafaf7;
  --modern-stone: #ecede8;
  --modern-charcoal: #181a18;
  --modern-gray: #676d66;
  --modern-sage: #82917d;
  --modern-rule: #d9ddd5;
  --modern-control: #949c90;
  --modern-error: #9b3028;
  --modern-error-bg: #fbede9;
  --ink: var(--modern-charcoal);
  --ink-2: #2b302b;
  --panel: var(--modern-white);
  --cream: var(--modern-warm);
  --cream-2: var(--modern-stone);
  --paper: var(--modern-white);
  /* Legacy gold tokens are mapped to accessible neutral ink. */
  --gold: var(--modern-charcoal);
  --gold-light: var(--modern-charcoal);
  --line-dark: var(--modern-rule);
  --line-light: var(--modern-rule);
  --muted: var(--modern-gray);
  --text: var(--modern-charcoal);
  --sans: "Manrope", system-ui, sans-serif;
  --serif: var(--sans);
  background: var(--modern-warm);
  color: var(--modern-charcoal);
  font-family: var(--sans);
  font-size: 16px;
  line-height: 1.65;
  color-scheme: light;
}
body.modern-site :is(button, input, select, textarea) { font-family: var(--sans); }
body.modern-site :is(h1, h2, h3, h4, blockquote) { font-family: var(--sans); }
body.modern-site :is(h1, h2, h3, h4) em {
  color: inherit;
  font-family: var(--sans);
  font-style: normal;
  font-weight: inherit;
  letter-spacing: inherit;
}
body.modern-site ::selection { background: #dbe2d6; color: var(--modern-charcoal); }
body.modern-site :is(a, button, input, select, textarea, summary):focus-visible {
  outline: 3px solid var(--modern-charcoal);
  outline-offset: 4px;
  box-shadow: 0 0 0 6px var(--modern-white);
}
body.modern-site :where(h1, h2, h3, [data-focus-target], .section-focus-target)[tabindex="-1"]:focus-visible {
  --section-focus-color: var(--modern-charcoal);
  outline: 0;
  box-shadow: -4px 0 0 var(--modern-charcoal);
}
body.modern-site .skip-link { background: var(--modern-charcoal); color: white; border-radius: 999px; }
body.modern-site :is(.eyebrow, .eyebrow.dark, .content-kicker, .panel-kicker, .guide-kicker) {
  color: var(--modern-gray);
  font-family: var(--sans);
  font-weight: 700;
  letter-spacing: .12em;
}

/* Shared navigation. The homepage may override its unscrolled appearance. */
body.modern-site .site-header {
  color: var(--modern-charcoal);
  background: rgba(250, 250, 247, .97);
  border-bottom-color: var(--modern-rule);
}
body.modern-site .site-header.is-scrolled {
  background: rgba(250, 250, 247, .97);
  border-color: var(--modern-rule);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
}
body.modern-site .site-header .brand { color: var(--modern-charcoal); }
body.modern-site .brand-mark {
  font-family: var(--sans);
  font-weight: 650;
  color: var(--modern-charcoal);
  border-color: var(--modern-rule);
  border-radius: 50%;
}
body.modern-site .brand strong { font-weight: 650; letter-spacing: -.03em; }
body.modern-site .brand small { color: var(--modern-gray); letter-spacing: .1em; }
body.modern-site .primary-nav > a:not(.nav-cta) { color: var(--modern-charcoal); font-weight: 600; }
body.modern-site .primary-nav > a:not(.nav-cta):hover { color: #4c5747; }
body.modern-site .primary-nav > a[aria-current="page"] { text-decoration: underline; text-underline-offset: 7px; text-decoration-thickness: 1px; }
body.modern-site .nav-cta {
  color: white;
  background: var(--modern-charcoal);
  border-color: var(--modern-charcoal);
  border-radius: 999px;
  font-weight: 600;
}
body.modern-site .nav-cta:hover { background: #343a31; border-color: #343a31; }
body.modern-site .menu-toggle { color: var(--modern-charcoal); }
body.modern-site .menu-toggle span:not(.sr-only) { background: currentColor; }

/* Buttons. Circle arrows use the existing decorative span or an opt-in class. */
body.modern-site .button {
  min-height: 54px;
  border: 1px solid transparent;
  border-radius: 999px;
  font-size: 15px;
  font-weight: 650;
  letter-spacing: -.02em;
  transition: color .2s, background-color .2s, border-color .2s, transform .2s;
}
body.modern-site :is(.button-gold, .button-dark) { background: var(--modern-charcoal); color: white; border-color: var(--modern-charcoal); }
body.modern-site :is(.button-gold, .button-dark):hover { background: #343a31; border-color: #343a31; }
body.modern-site :is(.button-light, .button-ghost) { background: white; color: var(--modern-charcoal); border-color: var(--modern-rule); }
body.modern-site :is(.button-light, .button-ghost):hover { background: var(--modern-stone); border-color: var(--modern-control); }
body.modern-site .button-ghost span { color: inherit; }
body.modern-site .button > :is(span[aria-hidden="true"], .button-arrow, [data-button-arrow]) {
  display: inline-grid;
  flex: 0 0 30px;
  width: 30px;
  height: 30px;
  place-items: center;
  border-radius: 50%;
  background: var(--modern-charcoal);
  color: white;
  font-size: 17px;
  line-height: 1;
}
body.modern-site :is(.button-gold, .button-dark) > :is(span[aria-hidden="true"], .button-arrow, [data-button-arrow]) { background: white; color: var(--modern-charcoal); }
body.modern-site :is(.text-button, .dark-link, .review-link.dark-link) { color: var(--modern-charcoal); }
body.modern-site :is(.dark-link:hover, .review-link.dark-link:hover) { color: #4c5747; }

/* Content pages: surface and typography only, preserving existing grids. */
body.modern-site.content-page :is(.content-hero, .content-section, .page-cta) {
  color: var(--modern-charcoal);
  background: var(--modern-warm);
}
body.modern-site.content-page .content-hero { border-bottom: 1px solid var(--modern-rule); }
body.modern-site.content-page .content-hero::after { background: none; }
body.modern-site.content-page :is(.content-section.paper, .page-cta) { background: white; }
body.modern-site.content-page .content-section.ink { background: var(--modern-stone); }
body.modern-site.content-page :is(.content-hero h1, .section-heading h2, .content-copy h2, .page-cta h2) { font-weight: 550; line-height: 1.06; }
body.modern-site :is(.breadcrumbs, .breadcrumbs span[aria-hidden="true"], .content-lede, .content-proof-strip) { color: var(--modern-gray); }
body.modern-site :is(.breadcrumbs a:hover, .content-proof-strip a:hover) { color: var(--modern-charcoal); }
body.modern-site .content-proof-strip > * { border-color: var(--modern-rule); }
body.modern-site :is(.hero-aside, .aside-card, .ink .aside-card, .decision-card, .path-card, .link-card, .contact-card, .ink .decision-card, .ink .path-card, .ink .link-card) {
  color: var(--modern-charcoal);
  background: white;
  border-color: var(--modern-rule);
  border-radius: 16px;
  box-shadow: 0 10px 32px rgba(24, 26, 24, .035);
}
body.modern-site :is(.hero-aside strong, .aside-card h2, .aside-card h3) { font-family: var(--sans); font-weight: 600; letter-spacing: -.035em; }
body.modern-site :is(.hero-aside > span, .decision-card > span, .path-card > span, .link-card > span, .contact-card > span) { color: var(--modern-gray); }
body.modern-site .step::before { color: var(--modern-gray); }
body.modern-site :is(.hero-aside p, .hero-aside li, .aside-card p, .aside-card li, .decision-card p, .path-card p, .link-card p, .contact-card p, .step p, .content-copy p, .content-copy li, .section-heading > p:last-child, .page-cta p) {
  color: var(--modern-gray);
  font-size: 16px;
  line-height: 1.75;
}
body.modern-site :is(.content-copy a:not(.button), .decision-card a, .path-card a, .link-card a, .contact-card a) { color: var(--modern-charcoal); }
body.modern-site :is(.decision-card a, .path-card a, .link-card a) { font-size: 15px; }
body.modern-site .callout { border-color: var(--modern-sage); background: var(--modern-stone); }
body.modern-site .callout strong { color: var(--modern-charcoal); }
body.modern-site :is(.source-note, .legal-note, .ink .source-note, .ink .legal-note, .profile-photo p) { color: var(--modern-gray); font-size: 13px; }
body.modern-site .profile-photo { background: white; border-color: var(--modern-rule); border-radius: 16px; }
body.modern-site .profile-photo img { border-radius: 8px; }
body.modern-site :is(.content-faq, .content-faq details, .steps, .step) { border-color: var(--modern-rule); }
body.modern-site .content-faq summary { font-weight: 600; }
body.modern-site .content-faq summary::after { color: var(--modern-charcoal); font-family: var(--sans); }
body.modern-site .content-faq details p { color: var(--modern-gray); font-size: 16px; line-height: 1.75; }
body.modern-site .comparison-wrap { color: var(--modern-charcoal); background: white; border-color: var(--modern-rule); border-radius: 12px; }
body.modern-site .comparison-table :is(th, td) { border-color: var(--modern-rule); }
body.modern-site .comparison-table th { color: var(--modern-gray); background: #f2f3ef; font-size: 12px; }
body.modern-site .comparison-table td { color: var(--modern-charcoal); font-size: 16px; }
body.modern-site .comparison-table a { color: var(--modern-charcoal); text-decoration: underline; text-underline-offset: 3px; }
body.modern-site .not-found { color: var(--modern-charcoal); background: var(--modern-warm); }
body.modern-site .not-found strong { color: var(--modern-charcoal); font-family: var(--sans); font-weight: 600; }
body.modern-site .not-found p { color: var(--modern-gray); }

/* Shared contact/snapshot forms. Display and step state remain untouched. */
body.modern-site .snapshot-card { color: var(--modern-charcoal); background: white; border-color: var(--modern-rule); border-radius: 18px; box-shadow: 0 16px 50px rgba(24, 26, 24, .06); }
body.modern-site .form-topline { color: var(--modern-gray); }
body.modern-site .form-progress { background: var(--modern-stone); }
body.modern-site .form-progress span { background: var(--modern-charcoal); }
body.modern-site .form-step h3 { color: var(--modern-charcoal); font-family: var(--sans); font-weight: 550; line-height: 1.12; letter-spacing: -.04em; }
body.modern-site .form-intro { color: var(--modern-gray); font-size: 16px; }
body.modern-site .choice { background: var(--modern-warm); color: var(--modern-charcoal); border-color: var(--modern-rule); border-radius: 12px; }
body.modern-site .choice:is(:hover, :focus-visible, [aria-pressed="true"]) { background: var(--modern-stone); border-color: var(--modern-control); }
body.modern-site .choice-icon { background: white; color: var(--modern-charcoal); border-color: var(--modern-rule); }
body.modern-site .choice strong { color: var(--modern-charcoal); font-size: 16px; }
body.modern-site .choice small { color: var(--modern-gray); font-size: 14px; }
body.modern-site .choice i { color: var(--modern-charcoal); }
body.modern-site :is(.privacy-note, .field-grid .field-help, .contact-help, .marketing-check, .consent) { color: var(--modern-gray); font-size: 14px; }
body.modern-site :is(.field-grid label > span, .contact-preference legend) { color: var(--modern-charcoal); font-size: 15px; }
body.modern-site .field-grid :is(input, select) { background: white; color: var(--modern-charcoal); border-color: var(--modern-control); border-radius: 8px; font-size: 16px; }
body.modern-site .field-grid :is(input, select):focus { border-color: var(--modern-charcoal); box-shadow: 0 0 0 3px #e1e6dc; }
body.modern-site :is(input, textarea)::placeholder { color: var(--modern-gray); opacity: 1; }
body.modern-site .money-field i { color: var(--modern-gray); }
body.modern-site .marketing-check input { accent-color: var(--modern-charcoal); }
body.modern-site .consent { border-color: var(--modern-rule); }
body.modern-site .imported-scenario { color: var(--modern-gray); background: var(--modern-stone); border-color: var(--modern-sage); }
body.modern-site .imported-scenario strong { color: var(--modern-charcoal); }
body.modern-site .contact-preference span { color: var(--modern-charcoal); background: white; border-color: var(--modern-control); border-radius: 999px; }
body.modern-site .contact-preference input:checked + span { background: var(--modern-charcoal); border-color: var(--modern-charcoal); color: white; }
body.modern-site .contact-preference input:focus-visible + span { outline: 3px solid var(--modern-charcoal); outline-offset: 3px; }
body.modern-site .form-message { color: var(--modern-error); background: var(--modern-error-bg); border-color: var(--modern-error); font-size: 14px; }
body.modern-site .success-mark { color: var(--modern-charcoal); border-color: var(--modern-sage); background: var(--modern-stone); }
body.modern-site .success-step p:not(.eyebrow) { color: var(--modern-gray); font-size: 16px; }

/* Calculators retain their existing grids, sticky panels, table scrolling,
   source disclosures, form controls, and responsive result bars. */
body.modern-site.calculator-body { background: var(--modern-warm); color: var(--modern-charcoal); }
body.modern-site .calculator-intro { background: var(--modern-warm); color: var(--modern-charcoal); border-bottom: 1px solid var(--modern-rule); }
body.modern-site .calculator-intro h1 { font-weight: 550; line-height: 1.04; }
body.modern-site .calculator-intro p:not(.eyebrow) { color: var(--modern-gray); font-size: 17px; }
body.modern-site .calculator-privacy { border-color: var(--modern-sage); background: transparent; }
body.modern-site .calculator-privacy strong { color: var(--modern-charcoal); }
body.modern-site .calculator-privacy span { color: var(--modern-gray); font-size: 15px; }
body.modern-site .calculator-switcher a { color: var(--modern-charcoal); background: white; border-color: var(--modern-rule); border-radius: 999px; font-weight: 600; }
body.modern-site .calculator-switcher a.is-active { color: white; background: var(--modern-charcoal); border-color: var(--modern-charcoal); }
body.modern-site :is(.calculator-panel, .comparison-amortization) { background: white; color: var(--modern-charcoal); border-color: var(--modern-rule); border-radius: 16px; box-shadow: 0 14px 40px rgba(24, 26, 24, .045); }
body.modern-site .calculator-results { background: var(--modern-stone); box-shadow: none; }
body.modern-site .calculator-results .panel-heading h2 { color: var(--modern-charcoal); font-family: var(--sans); font-size: clamp(2.5rem, 4.1vw, 3.85rem); font-weight: 600; line-height: 1.05; letter-spacing: -.05em; }
body.modern-site .calculator-results .panel-kicker { color: var(--modern-gray); }
body.modern-site .calculator-reset { color: var(--modern-charcoal); background: white; border-color: var(--modern-control); border-radius: 999px; }
body.modern-site :is(.segmented-fieldset legend, .calculator-subfieldset legend, .calculator-field > span:first-child) { color: var(--modern-charcoal); font-size: 15px; }
body.modern-site .segmented-options span { color: var(--modern-charcoal); background: white; border-color: var(--modern-control); border-radius: 10px; font-size: 14px; }
body.modern-site .segmented-options input:checked + span { color: white; background: var(--modern-charcoal); border-color: var(--modern-charcoal); }
body.modern-site .segmented-options input:focus-visible + span { outline-color: var(--modern-charcoal); }
body.modern-site .calculator-field > span:first-child em { color: var(--modern-gray); }
body.modern-site .input-shell { background: white; border-color: var(--modern-control); border-radius: 8px; }
body.modern-site .input-shell:focus-within { border-color: var(--modern-charcoal); box-shadow: 0 0 0 3px #e1e6dc; }
body.modern-site .input-shell :is(input, select) { color: var(--modern-charcoal); background: transparent; border-radius: 8px; }
body.modern-site .input-shell i { color: var(--modern-gray); }
body.modern-site :is(.calculator-field small, .calculator-check small, .calculator-subfieldset > p, .comparison-purpose-help, .calculator-optional-body > p) { color: var(--modern-gray); font-size: 14px; line-height: 1.6; }
body.modern-site .calculator-field small.is-error { color: var(--modern-error); }
body.modern-site :is(.calculator-program-options, .calculator-subfieldset, .calculator-optional-body) { border-color: var(--modern-rule); }
body.modern-site :is(.calculator-check, .calculator-optional, .comparison-option) { background: var(--modern-warm); border-color: var(--modern-rule); border-radius: 12px; }
body.modern-site .calculator-check strong { color: var(--modern-charcoal); font-size: 15px; }
body.modern-site .calculator-check input { accent-color: var(--modern-charcoal); }
body.modern-site .calculator-optional summary { color: var(--modern-charcoal); }
body.modern-site .calculator-optional summary::after { color: var(--modern-charcoal); }
body.modern-site .calculator-optional summary > small { color: var(--modern-gray); }
body.modern-site .result-status { color: var(--modern-charcoal); background: white; border-color: var(--modern-control); border-radius: 999px; }
body.modern-site .result-status.is-error { color: var(--modern-error); border-color: var(--modern-error); }
body.modern-site :is(.result-context, .calculator-disclosure, .calculator-sources, .calculator-sources summary, .comparison-amortization-heading > p) { color: var(--modern-gray); font-size: 14px; }
body.modern-site :is(.result-completeness, .calculator-warnings) { color: var(--modern-charcoal); background: #f6f7f3; border-color: var(--modern-sage); font-size: 14px; }
body.modern-site .calculator-errors { color: var(--modern-error); background: var(--modern-error-bg); border-color: var(--modern-error); font-size: 14px; }
body.modern-site .payment-breakdown dt { color: var(--modern-gray); font-size: 15px; }
body.modern-site .payment-breakdown dd { color: var(--modern-charcoal); font-size: 16px; }
body.modern-site :is(.loan-summary, .amortization-totals, .comparison-payment-pair) { background: var(--modern-rule); }
body.modern-site :is(.loan-summary div, .amortization-totals div, .comparison-payment-pair div) { background: white; }
body.modern-site :is(.loan-summary span, .amortization-totals span, .comparison-payment-pair span, .comparison-metrics dt) { color: var(--modern-gray); font-size: 12px; }
body.modern-site :is(.loan-summary strong, .amortization-totals strong, .comparison-payment-pair strong, .comparison-metrics dd) { color: var(--modern-charcoal); font-family: var(--sans); }
body.modern-site .calculator-sources a { color: var(--modern-charcoal); }
body.modern-site .amortization-details { color: var(--modern-charcoal); background: white; border-color: var(--modern-rule); border-radius: 10px; }
body.modern-site .amortization-details summary { color: var(--modern-charcoal); }
body.modern-site .amortization-details summary::after { color: var(--modern-charcoal); }
body.modern-site .amortization-details summary small { color: var(--modern-gray); }
body.modern-site .amortization-body { border-color: var(--modern-rule); }
body.modern-site :is(.amortization-table-wrap, .buydown-table-wrap) { background: white; border-color: var(--modern-rule); scrollbar-color: var(--modern-control) var(--modern-stone); }
body.modern-site :is(.amortization-table, .buydown-table) :is(th, td) { border-color: var(--modern-rule); }
body.modern-site :is(.amortization-table, .buydown-table) th { color: var(--modern-gray); background: #f2f3ef; font-size: 11px; }
body.modern-site :is(.amortization-table, .buydown-table) td { color: var(--modern-charcoal); font-size: 14px; }
body.modern-site .buydown-table th:first-child { background: #f2f3ef; }
body.modern-site .buydown-table td:first-child { background: white; }
body.modern-site .buydown-scroll-hint { color: var(--modern-gray); }
body.modern-site .comparison-option-a { border-top-color: #a7ada3; }
body.modern-site .comparison-option-b { border-top-color: var(--modern-charcoal); }
body.modern-site .comparison-option legend { color: var(--modern-charcoal); }
body.modern-site .comparison-option legend span { font-family: var(--sans); font-weight: 600; line-height: 1.15; }
body.modern-site .comparison-option legend small { color: var(--modern-gray); }
body.modern-site .input-shell.is-locked { background: var(--modern-stone); border-color: var(--modern-rule); }
body.modern-site .input-shell.is-locked input { color: var(--modern-gray); }
body.modern-site .comparison-metrics dd.is-favorable { color: #3e573c; }
body.modern-site .comparison-metrics dd.is-unavailable { color: var(--modern-error); }
body.modern-site .comparison-amortization-heading h2 { color: var(--modern-charcoal); font-weight: 550; line-height: 1.08; }
body.modern-site .comparison-amortization-table thead tr:first-child th { color: var(--modern-charcoal); }
body.modern-site .comparison-amortization-table :is(th:first-child, td:first-child, tbody th[scope="row"]) { background: #f2f3ef; color: var(--modern-charcoal); }
body.modern-site .comparison-amortization-table td:last-child { color: #3e573c; }
body.modern-site .comparison-amortization-table tr.is-paid-off td { color: var(--modern-gray); }
body.modern-site .calculator-explainer { color: var(--modern-charcoal); background: var(--modern-warm); border-color: var(--modern-rule); }
body.modern-site :is(.explainer-list, .explainer-list p) { border-color: var(--modern-rule); }
body.modern-site .explainer-list strong { color: var(--modern-charcoal); font-size: 16px; }
body.modern-site .explainer-list span { color: var(--modern-gray); font-size: 16px; }

/* Shared footer and mobile contact actions. */
body.modern-site .site-footer {
  --gold: #fff;
  --gold-light: #fff;
  --line-dark: #3a4037;
  color: white;
  background: var(--modern-charcoal);
  border-color: #3a4037;
}
body.modern-site .site-footer :is(.footer-brand, .brand-mark) { color: white; border-color: #626b5d; }
body.modern-site .site-footer .brand small { color: #bcc4b6; }
body.modern-site .footer-main h3 { color: #bcc4b6; font-size: 12px; font-weight: 650; }
body.modern-site .footer-main p { color: #c8cec4; font-size: 16px; }
body.modern-site .footer-main div:not(:first-child) :is(a, span) { color: #f4f5f1; font-size: 15px; }
body.modern-site .footer-main a:hover { color: white; text-decoration: underline; text-underline-offset: 4px; }
body.modern-site .footer-legal { color: #bdc5b7; border-color: #3a4037; font-size: 13px; line-height: 1.8; }
body.modern-site .footer-legal a { color: #f4f5f1; }
body.modern-site .mobile-action-bar { background: rgba(250, 250, 247, .97); border-color: var(--modern-rule); box-shadow: 0 -6px 28px rgba(24, 26, 24, .08); }
body.modern-site .mobile-action-bar a { color: var(--modern-charcoal); background: white; border-color: var(--modern-control); border-radius: 999px; }
body.modern-site .mobile-action-bar :is(.mobile-action-bar__primary, a:last-child) { color: white; background: var(--modern-charcoal); border-color: var(--modern-charcoal); }

@media (max-width: 900px) {
  body.modern-site .site-header.menu-active,
  body.modern-site .site-header.menu-active::before { color: var(--modern-charcoal); background: var(--modern-warm); border-color: var(--modern-rule); }
  body.modern-site .primary-nav { background: var(--modern-warm); }
  body.modern-site .primary-nav::before { color: var(--modern-gray); }
  body.modern-site .primary-nav > a { border-color: var(--modern-rule); }
  body.modern-site .primary-nav > a:not(.nav-cta)::after { color: var(--modern-charcoal); }
  body.modern-site .primary-nav .nav-cta { color: white; background: var(--modern-charcoal); border-color: var(--modern-charcoal); }
  body.modern-site .primary-nav :is(.nav-contact, .mobile-nav-contact) { border-color: var(--modern-rule); }
  body.modern-site :is(.nav-contact, .mobile-nav-contact) > span { color: var(--modern-gray); }
  body.modern-site :is(.nav-contact, .mobile-nav-contact) a { color: var(--modern-charcoal); border-color: var(--modern-control); border-radius: 999px; }
}
@media (max-width: 650px) {
  body.modern-site :is(.calculator-mobile-result, .mobile-result-bar) { color: var(--modern-charcoal); background: rgba(250, 250, 247, .98); border-color: var(--modern-rule); box-shadow: 0 8px 24px rgba(24, 26, 24, .07); }
  body.modern-site .calculator-mobile-result small,
  body.modern-site .mobile-result-bar span { color: var(--modern-gray); }
  body.modern-site .calculator-mobile-result strong,
  body.modern-site .mobile-result-bar strong { color: var(--modern-charcoal); font-family: var(--sans); font-weight: 650; line-height: 1.15; }
  body.modern-site .calculator-mobile-result .calculator-mobile-result__action,
  body.modern-site .mobile-result-bar i { color: var(--modern-charcoal); }
  body.modern-site .calculator-intro p:not(.eyebrow) { font-size: 16px; }
  body.modern-site .calculator-privacy { background: var(--modern-stone); }
  body.modern-site .calculator-privacy :is(strong, span) { font-size: 14px; }
  body.modern-site :is(.calculator-field > span:first-child, .segmented-fieldset legend, .calculator-subfieldset legend, .calculator-check strong) { font-size: 15px; }
  body.modern-site :is(.calculator-field small, .calculator-check small, .calculator-subfieldset > p) { font-size: 14px; }
  body.modern-site :is(.buydown-table-wrap, .comparison-table-wrap, .comparison-wrap) { box-shadow: inset -18px 0 20px -24px rgba(24, 26, 24, .5); }
  body.modern-site .comparison-results .panel-heading h2 { font-size: clamp(2.4rem, 10.5vw, 3.3rem); line-height: 1.06; }
  body.modern-site .calculator-results .panel-heading h2 { line-height: 1.06; }
  body.modern-site .result-actions .button { font-size: 14px; }
}
@media (max-width: 600px) {
  body.modern-site .form-actions .button { font-size: 14px; }
  body.modern-site :is(.marketing-check, .consent, .contact-help, .privacy-note) { font-size: 14px; }
  body.modern-site .footer-main p { font-size: 16px; }
  body.modern-site .footer-legal { font-size: 13px; }
  body.modern-site .comparison-scroll-hint strong { color: var(--modern-charcoal); }
}

body.modern-site .content-proof-strip a small{display:block;margin-top:5px;font-size:10px;line-height:1.6;font-weight:400;text-transform:none;color:#60675c}
@media(max-width:360px){body.modern-site .mobile-action-bar{grid-template-columns:minmax(0,.6fr) minmax(0,1.4fr)}body.modern-site .mobile-action-bar a{font-size:11px}}
