/* Amy DeBusk Home Loans. Sage, Adamina, Poppins, her photography, loanDepot wordmark. */

*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; }
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: 0.01ms !important; transition-duration: 0.01ms !important; }
}

body {
  margin: 0;
  font-family: var(--font-body);
  font-size: 17px;
  line-height: 1.65;
  color: var(--ink);
  background: var(--paper);
}

img { max-width: 100%; height: auto; display: block; }
a { color: var(--clay-dark); text-underline-offset: 3px; }
a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible {
  outline: 3px solid var(--clay);
  outline-offset: 3px;
}

.container { width: min(1120px, calc(100% - 40px)); margin-inline: auto; }
.skip-link {
  position: absolute; left: -9999px; top: 0; z-index: 200;
  padding: 12px 18px; background: var(--sage-deep); color: #fff; font-weight: 700; text-decoration: none;
}
.skip-link:focus { left: 0; }
.visually-hidden {
  position: absolute !important; width: 1px; height: 1px; margin: -1px; overflow: hidden; clip: rect(0 0 0 0);
}

.site-btn {
  display: inline-flex; align-items: center; justify-content: center;
  min-height: 48px; padding: 12px 20px; border: 1px solid transparent;
  font-family: var(--font-body); font-weight: 600; font-size: 0.95rem;
  text-decoration: none; cursor: pointer; border-radius: var(--radius);
}
.site-btn--primary { background: var(--clay); color: #fff; }
.site-btn--primary:hover { background: var(--clay-dark); color: #fff; }
.site-btn--ghost, .site-btn--secondary { background: transparent; color: var(--ink); border-color: var(--ink); }
.site-btn--ghost:hover, .site-btn--secondary:hover { background: var(--ink); color: var(--cream); }
.site-hero .site-btn--ghost, .site-hero .site-btn--secondary,
.site-page-hero .site-btn--ghost, .site-page-hero .site-btn--secondary {
  color: #fffdf8; border-color: #fffdf8;
}
.site-hero .site-btn--ghost:hover, .site-hero .site-btn--secondary:hover,
.site-page-hero .site-btn--ghost:hover, .site-page-hero .site-btn--secondary:hover {
  background: #fffdf8; color: var(--sage-deep);
}
.site-hero__actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 22px; }
.hero-cta { margin-top: 32px; }
.hero-cta__primary {
  display: inline-flex; align-items: center; gap: 14px;
  padding: 0 0 8px;
  background: transparent; color: #fffdf8;
  font-family: var(--font-display);
  font-size: clamp(1.35rem, 2.5vw, 1.7rem);
  font-weight: 400; letter-spacing: 0.01em; line-height: 1.15;
  text-decoration: none;
  border-bottom: 1px solid rgba(255, 253, 248, 0.42);
}
.hero-cta__primary svg { display: block; flex: 0 0 auto; width: 30px; height: 9px; }
.hero-cta__primary:hover { background: transparent; color: #fff; border-bottom-color: #fff; }
.hero-cta__line {
  display: flex; flex-wrap: wrap; align-items: baseline; gap: 8px 12px;
  margin: 16px 0 0; font-size: 0.95rem; color: #f7f1e6;
}
.hero-cta__line a {
  color: #fffdf8; text-decoration: none;
  border-bottom: 1px solid rgba(255, 253, 248, 0.38); padding-bottom: 1px;
}
.hero-cta__line a:hover { border-bottom-color: #fffdf8; }
.hero-cta__line a[href^="tel"] {
  color: #fffdf8; border-bottom-color: rgba(255, 253, 248, 0.5);
  font-size: 1.05rem; letter-spacing: 0.02em;
}
.hero-cta__sep {
  width: 3px; height: 3px; border-radius: 50%; background: #f7f1e6; flex: 0 0 auto;
}
.hero-legal {
  margin: 28px 0 0; max-width: 46ch;
  font-size: 0.68rem; letter-spacing: 0.08em; text-transform: uppercase;
  line-height: 1.55; color: #efe8dc;
}

.site-util { background: var(--sage-deep); color: #efe8dc; font-size: 0.82rem; }
.site-util > .container,
.site-header > .container {
  width: 100%;
  max-width: none;
  padding-inline: 28px;
}
.site-util__inner { display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 8px 18px; padding: 8px 0; }
.site-util a { color: #efe8dc; text-decoration: none; }
.site-util a:hover { text-decoration: underline; }

.site-header {
  position: sticky; top: 0; z-index: 40;
  background: rgba(248, 245, 239, 0.96);
  border-bottom: 1px solid var(--rule);
  backdrop-filter: blur(12px);
}
.site-header__inner {
  display: flex; align-items: stretch; gap: 20px; padding-block: 0;
  min-height: 88px;
}
.site-header__brand {
  display: flex; align-items: center; align-self: stretch; gap: 16px;
  padding: 12px 0;
  text-decoration: none; color: var(--ink); flex: 0 0 auto;
}
.site-header__wordmark {
  font-family: var(--font-display); font-size: 1.12rem; line-height: 1.15; font-weight: 400;
}
.site-header .site-header__wordmark {
  font-size: 1.32rem; line-height: 1.12; white-space: nowrap;
}
.site-header__wordmark em {
  display: block; font-style: normal; font-family: var(--font-body);
  font-size: 0.68rem; letter-spacing: 0.16em; text-transform: uppercase; font-weight: 600; color: var(--sage-deep);
}
.site-header .site-header__wordmark em { font-size: 0.74rem; }
.site-header__ld {
  height: 40px; width: auto; max-width: none;
  padding-left: 16px; margin-left: 4px;
  border-left: 1px solid var(--rule);
}
.site-header__ctas { display: flex; align-self: center; gap: 8px; margin-left: 0; flex: 0 0 auto; }
.nav-toggle {
  display: none; margin-left: auto; min-height: 42px; padding: 8px 12px;
  border: 1px solid var(--ink); background: transparent; font-weight: 600;
}

.site-nav { display: flex; align-items: stretch; flex: 1 1 auto; min-width: 0; justify-content: flex-end; }
.site-nav > ul {
  display: flex; align-items: stretch; flex-wrap: nowrap; gap: 2px;
  list-style: none; margin: 0 0 0 auto; padding: 0; height: 100%;
}
.site-nav > ul > li { display: flex; align-items: stretch; flex: 0 0 auto; }
.site-nav > ul > li > a,
.site-nav > ul > li > button {
  display: inline-flex; align-items: center; white-space: nowrap;
  min-height: 42px; padding: 8px 11px;
  border: 0; background: none; color: var(--ink); font: 600 0.92rem/1 var(--font-body);
  text-decoration: none; cursor: pointer;
}
.nav-dropdown { position: relative; }
.site-nav .nav-dropdown__menu {
  display: none;
  position: absolute; top: 100%; left: 0; z-index: 50; min-width: 280px;
  margin: 0; padding: 10px; list-style: none;
  background: var(--paper); border: 1px solid var(--rule); box-shadow: var(--shadow);
}
.site-nav .nav-item--open > .nav-dropdown__menu { display: block; }
@media (min-width: 1200px) {
  .site-nav .nav-dropdown:hover > .nav-dropdown__menu,
  .site-nav .nav-dropdown:focus-within > .nav-dropdown__menu { display: block; }
}
.nav-dropdown__menu a {
  display: block; padding: 9px 10px; color: var(--ink); text-decoration: none; font-size: 0.92rem;
}
.nav-dropdown__menu a:hover { background: var(--sand); }

.nav-dropdown--mega { position: static; }
.nav-mega {
  display: none;
  position: absolute;
  top: calc(100% - 1px);
  left: 50%;
  transform: translateX(-50%);
  z-index: 60;
  width: min(1040px, calc(100vw - 32px));
  padding: 22px 24px 26px;
  background: var(--paper);
  border: 1px solid var(--rule);
  box-shadow: var(--shadow);
  border-radius: var(--radius);
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px 32px;
}
.nav-mega--2 {
  width: min(680px, calc(100vw - 32px));
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.nav-mega::before {
  content: "";
  position: absolute;
  left: 50%;
  bottom: 100%;
  width: 100vw;
  height: 18px;
  transform: translateX(-50%);
}
.site-nav .nav-item--open > .nav-mega { display: grid; }
@media (min-width: 1200px) {
  .site-nav .nav-dropdown--mega:hover > .nav-mega,
  .site-nav .nav-dropdown--mega:focus-within > .nav-mega { display: grid; }
}
.nav-mega__col { min-width: 0; }
.nav-mega__col > p {
  margin: 0 0 8px;
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--sage-deep);
}
.nav-mega__col ul { list-style: none; margin: 0; padding: 0; }
.nav-mega__col a {
  display: block;
  padding: 7px 0;
  color: var(--ink);
  text-decoration: none;
  font-size: 0.92rem;
  font-weight: 600;
  border-bottom: 1px solid transparent;
}
.nav-mega__col a:hover { color: var(--sage-deep); }
.nav-mega__col a span {
  display: block;
  font-size: 0.78rem;
  font-weight: 400;
  color: var(--ink-muted);
}

@media (min-width: 1200px) and (max-width: 1399px) {
  .site-header > .container { padding-inline: 20px; }
  .site-header__inner { gap: 10px; }
  .site-header .site-header__wordmark { font-size: 1.18rem; }
  .site-header__ld { height: 34px; padding-left: 12px; }
  .site-nav > ul > li > a,
  .site-nav > ul > li > button { padding-inline: 7px; font-size: 0.88rem; }
}
@media (min-width: 1400px) {
  :root { --site-chrome-top: 136px; }
  .site-header__inner { min-height: 96px; }
  .site-header .site-header__wordmark { font-size: 1.48rem; }
  .site-header__ld { height: 46px; }
}
@media (max-width: 1199px) {
  .nav-toggle { display: inline-flex; }
  .site-header__inner { align-items: center; min-height: 72px; }
  .site-header__ctas { display: none; }
  .site-header .site-header__wordmark { font-size: 1.18rem; }
  .site-header__ld { height: 32px; }
  .site-nav {
    display: none; position: absolute; left: 0; right: 0; top: 100%;
    background: var(--paper); border-bottom: 1px solid var(--rule); padding: 12px 20px 24px;
  }
  .site-nav.is-open { display: block; }
  .site-nav > ul { flex-direction: column; flex-wrap: wrap; margin-left: 0; }
  .site-nav > ul > li { flex-direction: column; align-items: stretch; }
  .site-nav .nav-dropdown__menu {
    position: static; box-shadow: none; border: 0; padding-left: 12px;
  }
  .site-nav .nav-item--open > .nav-dropdown__menu { display: block; }
  .nav-mega {
    position: static;
    transform: none;
    width: auto;
    padding: 8px 0 4px 12px;
    border: 0;
    box-shadow: none;
    border-radius: 0;
    grid-template-columns: 1fr;
    gap: 16px;
  }
  .nav-mega--2 { width: auto; grid-template-columns: 1fr; }
  .nav-mega::before { content: none; }
  .site-nav .nav-item--open > .nav-mega { display: grid; }
}

.section { padding: 64px 0; }
.section--paper, .section--white { background: var(--paper); }
.section--bone, .section--ivory { background: var(--sand); }
.section h2, .site-content h2, .meet-amy h2, .split-band h2, .home-band h2 {
  font-family: var(--font-display); font-weight: 600; font-size: clamp(1.6rem, 3vw, 2.15rem);
  line-height: 1.2; margin: 3rem 0 14px; color: var(--sage-deep);
}
.site-content > h2:first-child,
.section > .container > h2:first-child,
.section > h2:first-child { margin-top: 0; }
.blog-card-grid + h2,
.blog-archive + h2,
.path-grid + h2 { margin-top: 3.25rem; }
.lead { font-size: 1.15rem; color: var(--ink-soft); }

.site-hero, .site-page-hero {
  position: relative; min-height: 520px; padding: 72px 0 64px; overflow: hidden;
  background: var(--sage-deep) center/cover no-repeat; color: #f7f1e6;
}
.site-page-hero { min-height: 380px; padding: 56px 0 48px; }
.site-hero__lcp, .site-page-hero__lcp {
  position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; z-index: 0;
}
.site-hero::before, .site-page-hero::before {
  content: ""; position: absolute; inset: 0; z-index: 1;
  background: linear-gradient(90deg, rgba(26, 22, 18, 0.78) 0%, rgba(26, 22, 18, 0.28) 70%);
}
.site-hero > .container, .site-page-hero > .container { position: relative; z-index: 2; }
.home-stage { display: flex; flex-direction: column; }
.site-hero--split-photo {
  display: grid;
  grid-template-columns: minmax(300px, 0.92fr) minmax(280px, 1.08fr);
  min-height: 0;
  padding: 0;
  background: var(--sage-deep);
}
.site-hero--split-photo::before { content: none; }
.site-hero--split-photo .site-hero__copy {
  display: flex; align-items: center; padding: 64px 0 56px; z-index: 2;
}
.site-hero--split-photo .site-hero__copy .container { width: min(560px, calc(100% - 40px)); margin-left: auto; margin-right: 24px; }
.site-hero__brand {
  display: flex; align-items: center; gap: 16px; flex-wrap: wrap; margin: 0 0 18px;
}
.site-hero__mme {
  margin: 0; font-family: var(--font-display); font-size: 1.05rem;
  color: #fffdf8; letter-spacing: 0.02em;
}
.site-hero__ld { display: block; height: 28px; width: auto; margin: 0; }
.home-stage .home-hero__official-title {
  margin: 6px 0 0; font-size: 0.875rem; line-height: 1.5;
}
.site-hero__chips {
  display: flex; flex-wrap: wrap; gap: 8px; list-style: none;
  margin: 26px 0 0; padding: 0;
}
.site-hero__chips li {
  margin: 0; padding: 6px 10px;
  border: 1px solid rgba(255, 253, 248, 0.32);
  font-size: 0.7rem; letter-spacing: 0.08em; text-transform: uppercase;
  color: #efe6d6;
}
.site-hero--split-photo h1 { max-width: 22ch; }
.site-hero--split-photo .site-hero__copy p { color: #efe6d6; max-width: 62ch; }
.site-hero--split-photo .site-hero__welcome {
  font-size: 1.18rem;
  color: #fffdf8;
  margin: 0 0 14px;
}
.site-hero--split-photo .site-hero__copy .container { width: min(640px, calc(100% - 40px)); }
.home-reviews {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: 22px;
  margin: 28px 0 22px;
}
.home-review {
  margin: 0;
  background: var(--white);
  border: 1px solid var(--rule);
  border-radius: 10px;
  padding: 22px 22px 20px;
}
.home-review p { margin: 0 0 12px; }
.home-review--artwork { padding: 0; overflow: hidden; align-self: start; }
.home-review__artwork-link { display: block; }
.home-review__artwork-link img { display: block; width: 100%; height: auto; }
.home-review__transcript { padding: 16px 20px; }
.home-review__transcript summary { cursor: pointer; font-weight: 600; }
.home-review__transcript blockquote { margin: 16px 0 0; }
.home-review footer {
  font-weight: 700;
  font-size: 0.92rem;
}
.refi-example {
  background: var(--white);
  border: 1px solid var(--rule);
  border-radius: 10px;
  padding: 22px;
  margin: 20px 0;
}
.refi-example h3 { margin-top: 0; }
.site-hero--split-photo .site-hero__chips { margin-top: 18px; margin-bottom: 8px; }
.site-hero--split-photo .site-hero__photo { position: relative; align-self: stretch; overflow: hidden; }
.site-hero--split-photo .site-hero__lcp { z-index: 0; }
.trust-bar {
  background: var(--sand);
  color: var(--ink);
  border-top: 1px solid rgba(26, 26, 26, 0.08);
}
.trust-bar ul {
  list-style: none;
  margin: 0 auto;
  padding: 18px 20px;
  width: min(1400px, calc(100% - 40px));
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 8px 28px;
}
.trust-bar li {
  margin: 0;
  padding: 2px 0 2px 16px;
  border-left: 2px solid var(--sage-deep);
  font-family: var(--font-display);
  font-size: 1.02rem;
  font-weight: 400;
  line-height: 1.25;
  color: var(--ink);
}
.trust-bar li span {
  display: block;
  font-family: var(--font-body);
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--sage-deep);
  margin-bottom: 4px;
}
@media (min-width: 901px) {
  .home-stage {
    min-height: calc(100svh - var(--site-chrome-top));
  }
  .home-stage .site-hero--split-photo,
  .home-stage .serve-hero {
    flex: 1 1 auto;
    min-height: 680px;
  }
}
@media (max-width: 900px) {
  .site-hero--split-photo { grid-template-columns: 1fr; min-height: 0; }
  .site-hero--split-photo .site-hero__photo { min-height: 280px; order: -1; }
  .site-hero--split-photo .site-hero__copy .container { margin-inline: auto; }
  .trust-bar ul { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 560px) {
  .trust-bar ul { grid-template-columns: 1fr; }
}
.meet-amy__ld { height: 36px; width: auto; margin: 18px 0 8px; }

.home-kicker {
  margin: 0 0 10px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  font-size: 0.78rem;
  font-weight: 700;
  color: var(--sage-deep);
}
.split-band {
  display: grid;
  grid-template-columns: 1fr 1fr;
  min-height: 580px;
}
.split-band--wide-photo { grid-template-columns: 1.18fr 0.82fr; }
.split-band--wide-copy { grid-template-columns: 0.86fr 1.14fr; }
.split-band--flip .split__media { order: 2; }
.split-band--flip .split__copy { order: 1; }
.split__media {
  position: relative;
  min-height: 580px;
  overflow: hidden;
  background: var(--sage-deep);
}
.split__media img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.split__media--face img { object-position: 50% 18%; }
.split__media--office img { object-position: 50% 8%; }
.split__copy {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: clamp(48px, 7vw, 88px) clamp(28px, 6vw, 80px);
}
.split__copy h2 { max-width: 18ch; }
.split__copy p { max-width: 48ch; }
.split-band--white .split__copy { background: var(--paper); }
.split-band--sand .split__copy { background: var(--sand); }
.split-band--lavender-soft .split__copy { background: var(--lavender-soft); color: var(--coffee); }
.split-band--lavender-soft .home-kicker,
.split-band--lavender-soft h1,
.split-band--lavender-soft h2 { color: var(--coffee); }
.split-band--lavender-soft a { color: var(--lavender); }
.split-band--lavender-soft .site-btn--secondary {
  color: var(--coffee);
  border-color: var(--coffee);
}
.split-band--lavender-soft .site-btn--secondary:hover {
  background: var(--coffee);
  color: #fffdf8;
}
.split-band--sage .split__copy { background: var(--sage-deep); color: #efe8dc; }
.split-band--sage .home-kicker,
.split-band--sage h2 { color: #fffdf8; }
.split-band--sage a { color: #fffdf8; }
.split-band--sage .site-btn--secondary {
  color: #fffdf8;
  border-color: #fffdf8;
}
.split-band--sage .site-btn--secondary:hover {
  background: #fffdf8;
  color: var(--sage-deep);
}
.split-band--sage .site-viz {
  background: rgba(255, 253, 248, 0.08);
  border-color: rgba(255, 253, 248, 0.2);
}
.split-band--sage .site-viz__title { color: #fffdf8; }
.split-band--sage .site-viz__track { background: rgba(255, 253, 248, 0.16); }
.split-band--sage .site-viz__track span { background: #d7e4d8; }
.split-band--sage .site-faq details { border-color: rgba(255, 253, 248, 0.2); }
.split-band--sage .site-faq summary { color: #fffdf8; }
.home-places {
  list-style: none;
  margin: 18px 0 0;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  gap: 10px 18px;
}
.home-places a { font-weight: 600; }
.home-band { padding: 80px 0; }
.home-band--sage {
  background: var(--sage-deep);
  color: #efe8dc;
}
.home-band--sage .home-kicker,
.home-band--sage h2 { color: #fffdf8; }
.home-band--sage a { color: #fffdf8; }
.home-band--sage a:hover { color: #fff; }
.home-band--sage p { max-width: 70ch; }
.home-band--sage .path-card {
  background: rgba(255, 253, 248, 0.08);
  border-color: rgba(255, 253, 248, 0.2);
  color: #efe8dc;
}
.home-band--sage .path-card h3 { color: #fffdf8; }
.home-band--sage .path-card__cta { color: #fffdf8; }
.home-band--sage .path-card:hover { border-color: #fffdf8; }
.home-band--sand { background: var(--sand); }
.home-band--sand h2 { margin-top: 0; }
.home-band--ivory { background: var(--paper); }
.home-band--ivory h2 { margin-top: 0; }
.home-band--ivory .serve-grid { margin-top: 28px; }
.home-band--sand .site-compare { background: var(--white); }
.home-band--sage h2 { margin-top: 0; }
.home-band--sage .site-faq details { border-color: rgba(255, 253, 248, 0.2); }
.home-band--sage .site-faq summary { color: #fffdf8; }
.home-band--sage .site-faq__a { color: #efe8dc; }
@media (max-width: 900px) {
  .split-band,
  .split-band--wide-photo,
  .split-band--wide-copy,
  .split-band--flip { grid-template-columns: 1fr; }
  .split-band--flip .split__media { order: 0; }
  .split-band--flip .split__copy { order: 1; }
  .split__media,
  .split__media img { min-height: 280px; }
  .split__copy { padding: 40px 22px 52px; }
  .home-band { padding: 56px 0; }
}
.site-sidebar__portrait {
  width: 100%; height: auto; object-fit: cover; margin: 0 0 14px;
}
.site-footer .site-header__wordmark { color: #fffdf8; }
.site-footer .site-header__wordmark em { color: #d7e4d8; }
.site-footer__powered { display: flex; align-items: center; gap: 12px; margin-top: 14px; }
.site-footer__powered img { height: 28px; width: auto; background: #fff; padding: 6px 10px; }
.about-split {
  display: grid; grid-template-columns: 0.9fr 1.1fr; gap: 28px; align-items: center; margin: 28px 0;
}
@media (max-width: 800px) { .about-split { grid-template-columns: 1fr; } }
.about-split img { width: 100%; height: auto; }
.about-split figcaption, .about-photos figcaption {
  margin-top: 8px; font-size: 0.88rem; color: var(--ink-soft);
}
.about-photos {
  display: grid; grid-template-columns: 1fr 1fr; gap: 18px; margin: 8px 0 32px;
}
@media (max-width: 800px) { .about-photos { grid-template-columns: 1fr; } }
.about-photos figure { margin: 0; }
.about-photos img { width: 100%; height: auto; }
.site-hero__eyebrow, .site-page-hero .site-hero__eyebrow {
  letter-spacing: 0.14em; text-transform: uppercase; font-size: 0.78rem; font-weight: 700; color: #fffdf8;
}
.site-hero h1, .site-page-hero h1 {
  font-family: var(--font-display); font-size: clamp(2.1rem, 5vw, 3.6rem);
  line-height: 1.08; margin: 10px 0 16px; max-width: 16ch; color: #fffdf8;
}
.site-hero__lead, .site-page-hero .lead { max-width: 62ch; color: #efe6d6; }
.site-hero__rail { display: flex; flex-wrap: wrap; gap: 18px; padding: 0; margin: 28px 0 0; list-style: none; }
.site-hero__rail span { display: block; font-size: 0.72rem; letter-spacing: 0.08em; text-transform: uppercase; color: #f7f1e6; }
.site-hero__fine { margin-top: 22px; font-size: 0.82rem; color: #f7f1e6; max-width: 70ch; }
.site-hero--split { display: grid; grid-template-columns: 1.2fr 0.8fr; gap: 40px; align-items: end; }
@media (max-width: 800px) { .site-hero--split { grid-template-columns: 1fr; } }

.site-breadcrumbs { display: flex; flex-wrap: wrap; gap: 8px; list-style: none; padding: 0; margin: 0 0 16px; font-size: 0.85rem; }
.site-breadcrumbs a { color: #fffdf8; }
.site-breadcrumbs li:not(:last-child)::after { content: "/"; margin-left: 8px; opacity: 0.6; }

.path-grid, .site-card-grid {
  display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 16px; margin-top: 24px;
}
.path-card, .site-card {
  display: block; padding: 22px; background: var(--white); border: 1px solid var(--rule);
  border-radius: 12px; text-decoration: none; color: inherit;
}
.path-card h3, .site-card h3 { font-family: var(--font-display); margin: 0 0 8px; color: var(--sage-deep); }
.path-card__cta { display: inline-block; margin-top: 12px; font-weight: 600; color: var(--clay-dark); }
.path-card:hover, .site-card:hover { border-color: var(--clay); }

.site-places { display: flex; flex-wrap: wrap; gap: 10px 20px; list-style: none; padding: 0; margin: 18px 0 0; }
.site-places a { font-weight: 600; }

.site-layout { display: grid; grid-template-columns: minmax(0, 1fr) 280px; gap: 40px; }
@media (max-width: 860px) { .site-layout { grid-template-columns: 1fr; } }
.site-content p { margin: 0 0 1em; }
.site-callout { padding: 18px 20px; background: var(--sand); border-left: 4px solid var(--clay); margin: 24px 0; border-radius: var(--radius); }
.site-sidebar { padding: 20px; background: var(--sage-deep); color: #efe8dc; }
.site-sidebar a { color: #fffdf8; }
.site-sidebar__kicker { letter-spacing: 0.12em; text-transform: uppercase; font-size: 0.72rem; }
.site-sidebar__fine { font-size: 0.8rem; color: #d7c4ae; }

.site-compare {
  width: 100%;
  border-collapse: collapse;
  margin: 8px 0 16px;
  font-size: 1.08rem;
  line-height: 1.55;
  background: var(--white);
  color: var(--ink);
}
.site-compare caption {
  caption-side: top;
  text-align: left;
  font-family: var(--font-display);
  font-size: clamp(1.55rem, 2.8vw, 2.15rem);
  line-height: 1.22;
  letter-spacing: 0.02em;
  word-spacing: 0.18em;
  color: var(--sage-deep);
  padding: 0 2px 22px;
  background: transparent;
}
.site-compare th,
.site-compare td {
  border: 0;
  border-bottom: 1px solid var(--rule);
  padding: 18px 20px;
  text-align: left;
  vertical-align: top;
  word-spacing: 0.16em;
}
.site-compare th {
  background: var(--sage-deep);
  color: #fffdf8;
  font-size: 0.8rem;
  font-weight: 600;
  letter-spacing: 0.1em;
  word-spacing: 0.24em;
  text-transform: uppercase;
  line-height: 1.35;
}
.site-compare td {
  color: var(--ink);
  background: var(--white);
}
.site-compare tbody tr:nth-child(even) td { background: var(--paper); }
.site-compare tbody tr:last-child td { border-bottom: 0; }
.site-compare tbody th,
.site-compare th[scope="row"] {
  background: var(--paper);
  color: var(--sage-deep);
  text-transform: none;
  letter-spacing: 0.01em;
  word-spacing: 0.14em;
  font-size: 1rem;
  font-weight: 600;
}
.site-compare__note {
  font-size: 0.92rem;
  line-height: 1.5;
  color: var(--ink-muted);
  max-width: 70ch;
  word-spacing: 0.12em;
}
.home-band--sage .site-compare {
  background: transparent;
  color: #efe8dc;
}
.home-band--sage .site-compare caption {
  color: #fffdf8;
  background: transparent;
}
.home-band--sage .site-compare th {
  background: rgba(255, 253, 248, 0.1);
  color: #fffdf8;
  border-bottom-color: rgba(255, 253, 248, 0.28);
}
.home-band--sage .site-compare td {
  color: #efe8dc;
  background: transparent;
  border-bottom-color: rgba(255, 253, 248, 0.14);
}
.home-band--sage .site-compare tbody tr:nth-child(even) td {
  background: rgba(255, 253, 248, 0.06);
}
.home-band--sage .site-compare tbody th,
.home-band--sage .site-compare th[scope="row"] {
  background: rgba(255, 253, 248, 0.1);
  color: #fffdf8;
}
.home-band--sage .site-compare a,
.home-band--sage .site-compare a:hover {
  color: #fffdf8;
  text-decoration: underline;
}
.home-band--sage .site-compare__note { color: #efe8dc; }

.site-viz { margin: 24px 0; padding: 20px; background: var(--white); border: 1px solid var(--rule); }
.site-viz__title { font-family: var(--font-display); margin: 0 0 12px; }
.site-viz__bars { list-style: none; margin: 0; padding: 0; display: grid; gap: 12px; }
.site-viz__label { display: flex; justify-content: space-between; font-size: 0.88rem; }
.site-viz__track { display: block; height: 10px; background: var(--sand); }
.site-viz__track span { display: block; height: 100%; background: var(--clay); }
.site-viz__note { font-size: 0.82rem; color: var(--ink-muted); }

.site-faq details { border-bottom: 1px solid var(--rule); padding: 12px 0; }
.site-faq summary { cursor: pointer; font-weight: 600; }

.site-calc { background: var(--white); border: 1px solid var(--rule); }
.site-calc__tabs { display: flex; flex-wrap: wrap; background: var(--sage-deep); }
.site-calc__tab {
  flex: 1; min-height: 52px; border: 0; background: transparent; color: #d7c4ae;
  font: 600 0.95rem/1 var(--font-body); cursor: pointer;
}
.site-calc__tab.is-active { background: var(--white); color: var(--sage-deep); }
.site-calc__panel { display: none; padding: 28px; }
.site-calc__panel.is-active { display: block; }
.site-calc__board { display: grid; grid-template-columns: 1fr 0.9fr; gap: 28px; }
@media (max-width: 800px) { .site-calc__board { grid-template-columns: 1fr; } }
.site-calc__kicker { letter-spacing: 0.12em; text-transform: uppercase; font-size: 0.75rem; color: var(--clay); }
.site-calc-field { margin: 0 0 16px; }
.site-calc-field label { display: block; font-weight: 600; margin-bottom: 6px; }
.site-calc-field__control { display: flex; align-items: center; border: 1px solid var(--rule); background: var(--cream); }
.site-calc-field__affix { padding: 0 10px; color: var(--ink-muted); }
.site-calc-field input[type="number"], .site-calc-field select {
  width: 100%; border: 0; background: transparent; padding: 10px; font: inherit;
}
.site-calc-field__range { width: 100%; margin-top: 8px; accent-color: var(--clay); }
.site-calc-field__hint { font-size: 0.82rem; color: var(--ink-muted); margin: 6px 0 0; }
.site-calc__result { padding: 20px; background: var(--paper); }
.site-calc__total { font-family: var(--font-display); font-size: 2.2rem; margin: 0; color: var(--sage-deep); }
.site-calc__bar { display: flex; height: 14px; background: var(--sand); margin: 16px 0; }
.site-calc__bar span:first-child { background: var(--clay); }
.site-calc__bar span:last-child { background: var(--sage); }
.site-calc__year { display: flex; align-items: flex-end; gap: 4px; height: 80px; margin-top: 12px; }
.site-calc__year span { flex: 1; background: var(--clay); opacity: 0.85; }

.site-cta-band { padding: 56px 0; background: var(--sage-deep); color: #efe8dc; }
.site-cta-band h2 { color: #fffdf8; font-family: var(--font-display); }
.site-cta-band .site-btn--ghost { color: #fffdf8; border-color: #fffdf8; }
.site-cta-band .site-btn--ghost:hover { background: #fffdf8; color: var(--sage-deep); }

.site-footer { background: #1a1612; color: #d7c4ae; padding: 48px 0 28px; }
.site-footer__main { display: grid; grid-template-columns: 1.25fr 0.9fr 1fr 0.9fr 1.1fr; gap: 28px; }
.site-footer h2 { color: #fffdf8; font-size: 0.95rem; letter-spacing: 0.08em; text-transform: uppercase; }
.site-footer a { color: #f0c9a8; }
.site-footer ul { list-style: none; margin: 0; padding: 0; }
.site-footer li { margin: 0 0 8px; }
.site-footer__legal { margin-top: 32px; padding-top: 18px; border-top: 1px solid rgba(255,255,255,0.08); font-size: 0.82rem; }
@media (max-width: 860px) { .site-footer__main { grid-template-columns: 1fr 1fr; } }

.site-form { display: grid; gap: 12px; max-width: 520px; }
.site-form label { font-weight: 600; font-size: 0.92rem; }
.site-form input, .site-form textarea, .site-form select {
  width: 100%; padding: 10px 12px; border: 1px solid var(--rule); background: var(--white); font: inherit;
}
.site-form textarea { min-height: 110px; resize: vertical; }
.site-form .site-btn { justify-self: start; margin-top: 4px; }
.contact-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 32px; }
@media (max-width: 800px) { .contact-grid { grid-template-columns: 1fr; } }

/* Blog: preserve Amy's sage card language as images, not CSS backgrounds. */
.site-page-hero--blog { min-height:0; padding:42px 0 40px; background:#fbf6ec; color:#344638; border-bottom:2px solid #c5a267; }
.site-page-hero--blog::before { content:none; }
.site-page-hero--blog h1 { color:#294c3a; max-width:32ch; font-size:clamp(2rem,4.2vw,3.3rem); line-height:1.15; }
.site-page-hero--blog .site-hero__lead { color:#485747; max-width:70ch; line-height:1.7; }
.site-page-hero--blog .site-breadcrumbs,.site-page-hero--blog .site-breadcrumbs a { color:#596650; }
.site-page-hero--blog .blog-kicker,.site-page-hero--blog .site-hero__eyebrow { color:#756181; }
@media(max-width:600px){.site-page-hero--blog{padding:28px 0 30px;}}
.blog-kicker { letter-spacing: 0.12em; text-transform: uppercase; font-size: 0.75rem; color: var(--sage); margin: 0 0 10px; }
.blog-kicker a { color: inherit; text-decoration: none; }
.blog-cover { margin: 0 0 28px; }
.blog-cover img { width: 100%; height: auto; border-radius: 8px; box-shadow: var(--shadow); }
.blog-article .site-content img { border-radius: 6px; margin: 16px 0; }
.blog-back { margin-top: 36px; padding-top: 18px; border-top: 1px solid var(--rule); }
.blog-card-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 22px; }
.blog-archive {
  columns: 2;
  column-gap: 32px;
  margin: 16px 0 28px;
  padding: 0;
  list-style: none;
}
.blog-archive li { break-inside: avoid; margin: 0 0 8px; }
.blog-archive a { color: var(--sage-deep); }
@media (max-width: 700px) { .blog-archive { columns: 1; } }
.blog-card {
  display: flex; flex-direction: column; gap: 10px;
  text-decoration: none; color: inherit;
  background: var(--white); border: 1px solid var(--rule); border-radius: 10px;
  overflow: hidden; box-shadow: var(--shadow);
}
.blog-card img { width: 100%; height: auto; display: block; background: var(--sand); }
.blog-card--topic img { aspect-ratio: 16 / 9; object-fit: cover; }
.blog-card h3 { margin: 0; padding: 0 16px; font-size: 1.05rem; }
.blog-card p { margin: 0 0 16px; padding: 0 16px; color: var(--ink-muted); font-size: 0.92rem; }
.blog-elementor img { width: 100%; height: auto; border-radius: 8px; margin: 10px 0; }
.blog-elementor .elementor-widget-container { margin: 0 0 12px; }
.blog-elementor .e-con { max-width: 1100px; margin-inline: auto; }
.blog-elementor h2, .blog-elementor h3 { font-family: var(--font-display); color: var(--sage-deep); }

/* Amy's Mortgage Made Easy classroom landings.
   Her designed graphics already contain type and CTAs. Show them in full.
   Do not crop. Do not squeeze widescreen cards into three skinny columns. */
.classroom-top { background: var(--cream); padding: 18px 0 0; }
.classroom-top .site-breadcrumbs { color: var(--ink-muted); margin: 0; }
.classroom-top .site-breadcrumbs a { color: var(--sage-deep); }
.classroom { background: var(--cream); color: var(--ink); padding: 0 0 80px; }
.classroom img { max-width: 100%; height: auto; }
.classroom-hero { margin: 0; padding:20px 20px 0; background:var(--cream); }
.classroom-hero img {
  display: block;
  width: 100%;
  height: auto;
  max-height: 520px;
  object-fit: contain;
  object-position: center;
  margin-inline: auto;
}
.classroom-body { padding-top: 48px; max-width: 1120px; margin-inline: auto; }
.classroom-intro { max-width: 42rem; margin: 0 auto 8px; text-align: center; }
.classroom-intro h1,
.classroom-block h2,
.classroom-block h3,
.classroom-meet h2,
.classroom-meet h3,
.classroom-meet h4 {
  font-family: var(--font-display);
  color: var(--sage-deep);
  text-align: center;
  line-height: 1.2;
  font-weight: 400;
}
.classroom-intro h1 { margin: 0 0 16px; font-size: clamp(2rem, 3.6vw, 2.75rem); }
.classroom-kicker {
  font-family: var(--font-display);
  font-size: clamp(1.15rem, 2vw, 1.35rem);
  color: var(--sage-deep);
  margin: 0 0 12px;
}
.classroom-standfirst { font-weight: 600; margin: 0 0 22px; font-size: 1.05rem; }
.classroom-intro .classroom-copy,
.classroom-intro > p,
.classroom-meet .classroom-copy { text-align: center; }
.classroom-copy p { margin: 0 0 14px; line-height: 1.7; color: var(--ink-soft); }
.classroom-intro > p { margin: 0 0 14px; line-height: 1.7; color: var(--ink-soft); }
.classroom-q {
  list-style: none;
  margin: 28px auto;
  padding: 8px 0;
  max-width: 28rem;
}
.classroom-q li {
  font-weight: 700;
  color: var(--sage-deep);
  line-height: 1.85;
  margin: 0;
}
.classroom-callout {
  font-weight: 700;
  color: var(--sage-deep);
  margin: 22px 0 28px;
  font-size: 1.05rem;
}
.classroom-photo { margin: 28px auto; text-align: center; }
.classroom-photo img {
  width: 100%;
  max-width: 720px;
  height: auto;
}
.classroom-photo--tall img { max-width: 100%; }
.classroom-block {
  margin-top: 72px;
  padding-top: 8px;
  border-top: 1px solid var(--sand);
}
.classroom-block > h2 { margin: 28px 0 14px; font-size: clamp(1.55rem, 2.4vw, 1.95rem); }
.classroom-block > h3 { margin: 32px 0 12px; font-size: 1.3rem; }
.classroom-lead {
  max-width: 42rem;
  margin: 0 auto 14px;
  text-align: center;
  color: var(--ink-soft);
  line-height: 1.7;
}
.classroom-cards {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 28px;
  margin: 32px 0 8px;
}
.classroom-card {
  flex: 1 1 420px;
  max-width: 520px;
  background: var(--white);
  border: 1px solid var(--sand);
  overflow: hidden;
  box-shadow: 0 12px 32px rgba(26, 26, 26, 0.06);
  display: flex;
  flex-direction: column;
  min-width: 0;
  text-align: center;
}
.classroom-card > img {
  width: 100%;
  height: auto;
  display: block;
  background: var(--sand);
}
.classroom-card__body {
  display: flex;
  flex-direction: column;
  flex: 1;
  padding: 20px 22px 8px;
}
.classroom-card h3 {
  font-family: var(--font-display);
  color: var(--sage-deep);
  font-size: 1.08rem;
  line-height: 1.3;
  margin: 0 0 10px;
}
.classroom-card p {
  color: var(--ink-muted);
  font-size: 0.92rem;
  line-height: 1.55;
  margin: 0 0 14px;
}
.classroom-card--plain,
.classroom-card--plain { padding-top: 8px; max-width: none; flex: 1 1 auto; }
.classroom-btn {
  display: inline-block;
  background: var(--sage);
  color: #fff !important;
  padding: 11px 18px;
  border-radius: 3px;
  text-decoration: none;
  font-weight: 600;
  font-size: 0.88rem;
  letter-spacing: 0.01em;
  margin: auto auto 20px;
}
.classroom-btn:hover { background: var(--sage-deep); }
.classroom-center { text-align: center; margin: 28px 0 0; }
.classroom-split {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 28px;
  align-items: start;
  margin: 28px 0 0;
}
.classroom-split--inspire { grid-template-columns: 1fr 1fr; }
.classroom-stack { display: flex; flex-direction: column; gap: 18px; }
.classroom-stack .classroom-card { height: auto; max-width: none; }
.classroom-myths,
.classroom-points {
  list-style: none;
  padding: 0;
  margin: 20px auto 0;
  max-width: 44rem;
  text-align: left;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px 32px;
}
.classroom-myths li,
.classroom-points li { margin: 0; line-height: 1.55; color: var(--ink-soft); }
.classroom-meet { text-align: center; }
.classroom-meet .classroom-copy { max-width: 42rem; margin: 0 auto; }
.classroom-meet .classroom-photo img { max-width: 640px; }
.classroom-review { color: var(--sage-deep); font-weight: 600; }

/* Imported Elementor classroom landings. Do not force every nested
   container to 100% width or the FAQ and resource grids collapse into
   one giant column after the intro. */
.classroom .e-con { min-width: 0; max-width: 100%; }
.classroom .e-con.e-parent,
.classroom .e-con-boxed { width: 100%; }
.classroom .e-flex:not(.e-grid) {
  display: flex;
  flex-direction: column;
  gap: 16px;
}
.classroom .e-con.e-parent {
  margin-top: 72px;
  padding-top: 24px;
  border-top: 1px solid var(--sand);
}
.classroom .e-con-boxed > .e-con-inner { width: 100%; }
.classroom .e-grid,
.classroom .e-con.e-grid,
.classroom .e-grid > .e-con-inner {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: stretch;
  gap: 28px;
  width: 100%;
}
.classroom .e-grid { margin: 28px 0 8px; }
.classroom .e-grid > .e-con,
.classroom .e-grid > .e-con-inner > .e-con {
  flex: 1 1 420px;
  width: auto;
}
.classroom .e-grid:has(> .e-con:nth-child(2)) > .e-con,
.classroom .e-grid > .e-con-inner:has(> .e-con:nth-child(2)) > .e-con {
  max-width: 520px;
  background: var(--white);
  border: 1px solid var(--sand);
  overflow: hidden;
  box-shadow: 0 12px 32px rgba(26, 26, 26, 0.06);
  padding: 0 0 16px;
}
.classroom .elementor-widget__width-initial {
  width: 100% !important;
  max-width: 100%;
}
.classroom .elementor-heading-title {
  font-family: var(--font-display);
  color: var(--sage-deep);
  font-weight: 400;
  line-height: 1.2;
  margin: 0 0 16px;
}
.classroom h1.elementor-heading-title {
  font-size: clamp(2rem, 3.6vw, 2.75rem);
  text-align: center;
}
.classroom h2.elementor-heading-title,
.classroom h3.elementor-heading-title {
  font-size: clamp(1.55rem, 2.4vw, 1.95rem);
  text-align: center;
}
.classroom h4.elementor-heading-title {
  font-size: 1.15rem;
  text-align: center;
}
.classroom .elementor-widget-text-editor p { margin: 0 0 14px; line-height: 1.7; color: var(--ink-soft); }
.classroom-body > .elementor-widget-text-editor {
  max-width: 42rem;
  margin-inline: auto;
}
.classroom .elementor-image-box-wrapper { margin: 0; }
.classroom .elementor-image-box-img img {
  width: 100%;
  height: auto;
  display: block;
}
.classroom .elementor-image-box-content { padding: 16px 22px 0; }
.classroom .elementor-image-box-title {
  font-family: var(--font-display);
  color: var(--sage-deep);
  font-size: 1.08rem;
  line-height: 1.3;
  margin: 0 0 10px;
  text-align: center;
}
.classroom .elementor-image-box-description {
  color: var(--ink-muted);
  font-size: 0.92rem;
  line-height: 1.55;
  margin: 0 0 8px;
  text-align: center;
}
.classroom .elementor-widget-button { text-align: center; margin: 8px 12px 0; }
.classroom .elementor-button {
  display: inline-block;
  background: var(--sage);
  color: #fff !important;
  padding: 11px 18px;
  border-radius: 3px;
  text-decoration: none;
  font-weight: 600;
  font-size: 0.88rem;
  letter-spacing: 0.01em;
}
.classroom .elementor-button:hover { background: var(--sage-deep); }
.classroom .elementor-icon,
.classroom .elementor-icon-box-icon,
.classroom .elementor-icon-list-icon { display: none; }
.classroom .elementor-icon-box-title {
  font-family: var(--font-display);
  color: var(--sage-deep);
  font-size: 1.15rem;
  text-align: center;
  margin: 16px 12px 0;
}
.classroom .elementor-icon-list-items {
  list-style: none;
  margin: 16px auto 0;
  padding: 0;
  max-width: 44rem;
}
.classroom .elementor-icon-list-item { margin: 0 0 8px; line-height: 1.55; color: var(--ink-soft); }
.classroom .elementor-widget-theme-site-logo,
.classroom .elementor-widget-nav-menu,
.classroom .elementor-nav-menu,
.classroom .elementor-menu-toggle,
.classroom .elementor-widget-search-form,
.classroom .elementor-search-form,
.classroom .elementor-widget-social-icons { display: none !important; }
@media (max-width: 800px) {
  .classroom-split,
  .classroom-split--inspire,
  .classroom-myths,
  .classroom-points { grid-template-columns: 1fr; }
  .classroom-card,
  .classroom .e-grid > .e-con,
  .classroom .e-grid > .e-con-inner > .e-con { flex-basis: 100%; max-width: none; }
}

/* Who we serve: avatar hub and household landings.
   Pillar colors from Amy's Sept 2026 brand palette. */
.serve-hero .site-breadcrumbs { color: #efe8dc; margin-bottom: 18px; }
.serve-hero .site-breadcrumbs a { color: #fffdf8; }
.serve-hero h1 {
  font-family: var(--font-display);
  font-weight: 600;
  font-size: clamp(1.8rem, 3.4vw, 2.6rem);
  line-height: 1.15;
  color: #fffdf8;
  max-width: 16ch;
  margin: 0 0 16px;
}
.serve-hero--wide h1 { max-width: 28ch; }
.serve-hero .serve-chapter {
  font-family: var(--font-display);
  font-size: 1.15rem;
  color: #fffdf8;
  max-width: 36ch;
}
.serve-hero .split__copy p { color: #efe8dc; }
.serve-hero .site-btn--primary {
  background: #fffdf8;
  color: var(--sage-deep);
  border-color: #fffdf8;
}
.serve-hero .site-btn--primary:hover { background: #fff; color: var(--ink); }
.serve-hero .site-btn--secondary {
  color: #fffdf8;
  border-color: #fffdf8;
}
.serve-hero .site-btn--secondary:hover {
  background: #fffdf8;
  color: var(--sage-deep);
}
.split-band--lavender .split__copy { background: var(--lavender); color: #f7f1fb; }
.split-band--lavender .home-kicker,
.split-band--lavender h1,
.split-band--lavender h2,
.split-band--lavender .serve-chapter { color: #fffdf8; }
.split-band--lavender a { color: #fffdf8; }
.split-band--coffee .split__copy { background: var(--coffee); color: #efe8dc; }
.split-band--coffee .home-kicker,
.split-band--coffee h1,
.split-band--coffee h2,
.split-band--coffee .serve-chapter { color: #fffdf8; }
.split-band--coffee a { color: #fffdf8; }
.split-band--gold .split__copy { background: #8a6a24; color: #fff8e8; }
.split-band--gold .home-kicker,
.split-band--gold h1,
.split-band--gold h2,
.split-band--gold .serve-chapter { color: #fffdf8; }
.split-band--gold a { color: #fffdf8; }
.split-band--gold .site-btn--primary {
  background: #fffdf8;
  color: #8a6a24;
  border-color: #fffdf8;
}
.split-band--gold .site-btn--primary:hover { background: #fff; color: var(--ink); }
.split-band--gold .site-btn--secondary {
  color: #fffdf8;
  border-color: #fffdf8;
}
.split-band--gold .site-btn--secondary:hover {
  background: #fffdf8;
  color: #8a6a24;
}
.split-band--blush .split__copy { background: #8a5e62; color: #f8ecec; }
.split-band--blush .home-kicker,
.split-band--blush h1,
.split-band--blush h2,
.split-band--blush .serve-chapter { color: #fffdf8; }
.split-band--blush a { color: #fffdf8; }
.split-band--coral .split__copy { background: #9a3d52; color: #fdecef; }
.split-band--coral .home-kicker,
.split-band--coral h1,
.split-band--coral h2,
.split-band--coral .serve-chapter { color: #fffdf8; }
.split-band--coral a { color: #fffdf8; }
.serve-group { margin: 0 0 48px; }
.serve-group > h2 { margin-top: 0; padding-top: 8px; border-top: 3px solid var(--gold); }
.serve-group--first > h2 { border-color: var(--sage); }
.serve-group--va > h2 { border-color: var(--gold); }
.serve-group--self > h2 { border-color: var(--lavender); }
.serve-group--investor > h2 { border-color: var(--gold); }
.serve-group--refi > h2 { border-color: var(--coffee); }
.serve-group--reno > h2 { border-color: var(--blush); }
.serve-group--move > h2 { border-color: var(--warm-yellow); }
.serve-group--family > h2 { border-color: var(--coral); }
.serve-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: 22px;
  margin: 18px 0 0;
}
.serve-card {
  display: flex;
  flex-direction: column;
  text-decoration: none;
  color: inherit;
  background: var(--white);
  border: 1px solid var(--rule);
  border-radius: 12px;
  overflow: hidden;
  box-shadow: var(--shadow);
}
.serve-card img {
  width: 100%;
  aspect-ratio: 16 / 9;
  object-fit: cover;
  display: block;
  background: var(--sand);
}
.serve-card__body { padding: 16px 16px 20px; }
.home-chapters { grid-template-columns: minmax(0, 1fr); }
.home-chapters .serve-card__body { display: flex; flex-direction: column; flex: 1; }
.home-chapters .serve-card__cta { margin-top: auto; padding-top: 16px; }
#home-chapters-h { scroll-margin-top: 120px; }
@media (min-width: 640px) {
  .home-chapters { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (min-width: 1280px) {
  .home-band--sand:has(.home-chapters) > .container { width: min(1440px, calc(100% - 64px)); }
  .home-chapters { grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 20px; }
}
.serve-card h3 {
  font-family: var(--font-display);
  font-size: 1.2rem;
  margin: 0 0 6px;
  color: var(--sage-deep);
}
.serve-card p { margin: 0; color: var(--ink-muted); font-size: 0.92rem; }
.serve-card:hover { border-color: var(--gold); }
.serve-card__cta {
  display: inline-block;
  margin-top: 12px;
  font-weight: 600;
  color: var(--sage-deep);
}
.serve-related {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 14px;
  margin: 18px 0 28px;
  padding: 0;
  list-style: none;
}
.serve-related a { font-weight: 600; color: var(--sage-deep); }
.split__copy h2.is-long { max-width: 28ch; }
.home-band h2.is-long { max-width: 28ch; }
#why-refinance,
#equity,
#compare-options,
#does-it-make-sense { scroll-margin-top: 120px; }
.refi-review {
  margin: 8px 0 22px;
  padding-left: 1.25em;
}
.refi-review li { margin: 0 0 8px; }
.split-band--sage .refi-review,
.split-band--gold .refi-review { color: #efe8dc; }
.split-band--sage h1 { color: #fffdf8; }
.refi-loan-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: 22px;
  margin: 0;
}
.refi-loan {
  display: block;
  background: var(--white);
  border: 1px solid var(--rule);
  border-radius: var(--radius);
  padding: 22px 22px 24px;
  box-shadow: var(--shadow);
  text-decoration: none;
  color: inherit;
}
a.refi-loan:hover { border-color: var(--gold); }
.refi-loan h3 {
  font-family: var(--font-display);
  font-size: 1.2rem;
  margin: 0 0 10px;
  color: var(--sage-deep);
}
.refi-loan p { margin: 0; color: var(--ink-muted); }
.home-band--sand .site-hero__actions { margin-top: 8px; }
.page-ai .site-page-hero,
.page-ai .site-btn--primary { --sage-deep: var(--lavender); }

.homebot-embed {
  max-width: 760px;
  margin: 0 auto;
  min-height: 560px;
}
.homebot-embed #homebot_homeowner { min-height: 540px; }
.homebot-embed iframe {
  width: 100% !important;
  min-height: 540px;
  border: 0;
}
.doc-list {
  list-style: none;
  margin: 18px 0 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: 12px;
}
.doc-list a {
  display: block;
  padding: 16px 18px;
  background: var(--white);
  border: 1px solid var(--rule);
  border-radius: var(--radius);
  box-shadow: var(--shadow);
  color: var(--ink);
  text-decoration: none;
  font-weight: 600;
}
.doc-list a:hover { border-color: var(--sage-deep); }
.doc-list span {
  display: block;
  margin-top: 4px;
  font-weight: 400;
  font-size: 0.88rem;
  color: var(--ink-muted);
}

/* First-time buyer hub: comfortable reading and full-width mobile choices. */
.first-buyer-hub [id] { scroll-margin-top: 110px; }
.first-buyer-hub .first-buyer-reading { max-width: 1040px; }
.first-buyer-stages { display: grid; grid-template-columns: 1fr; gap: 22px; margin: 28px 0; }
.first-buyer-stages .site-callout { margin: 0; }
.first-buyer-hub .serve-card { display: flex; flex-direction: column; }
.first-buyer-hub .serve-card__body { display: flex; flex-direction: column; flex: 1; }
.first-buyer-hub .serve-card__cta { margin-top: auto; padding-top: 14px; }
.first-buyer-hub .serve-grid { grid-template-columns: 1fr; }
.first-buyer-roadmap { padding-left: 1.7em; margin: 30px 0; }
.first-buyer-roadmap li { padding: 0 0 20px 12px; margin-bottom: 24px; border-bottom: 1px solid var(--rule); }
.first-buyer-roadmap li::marker { color: var(--sage-deep); font-weight: 700; font-size: 1.2rem; }
.first-buyer-roadmap h3 { margin-top: 0; }
.first-buyer-hub .first-buyer-sources { font-size: 0.9rem; margin-top: 28px; }
@media (min-width: 640px) {
  .first-buyer-hub .serve-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (min-width: 1000px) {
  .first-buyer-stages, .first-buyer-hub .serve-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
/* A responsive, expandable journey used only by the first-time buyer hub. */
.first-buyer-hub .home-road-section { background: linear-gradient(150deg, #f2eee6, #faf8f3 50%, #efebf4); }
.home-road__intro { max-width: 720px; margin: 0 auto 40px; text-align: center; }
.home-road__hint, .home-road__note { font-size: .92rem; color: var(--ink-muted); }
.home-road { list-style: none; padding: 0; margin: 0; }
.home-road__stop { position: relative; padding: 0 0 26px 58px; }
.home-road__stop::before { content: ''; position: absolute; left: 17px; top: 0; bottom: 0; width: 12px; background: repeating-linear-gradient(to bottom, #fff9ed 0 8px, transparent 8px 18px) center / 2px 100% no-repeat, #a7bba0; }
.home-road__number { position: absolute; top: 22px; left: 0; width: 46px; height: 46px; display: grid; place-items: center; background: #37674e; color: white; border: 4px solid #faf8f3; border-radius: 50%; font-weight: 700; z-index: 1; box-shadow: 0 0 0 1px #bac9b9; }
.home-road__stop:nth-child(even) .home-road__number { background: #786487; box-shadow: 0 0 0 1px #cdc0d5; }
.home-road__card { background: #fffdf9; border: 1px solid #d7dfd3; border-top: 4px solid #819c80; border-radius: 16px; padding: 22px; box-shadow: 0 7px 22px #263b2710; }
.home-road__stop:nth-child(even) .home-road__card { border-top-color: #b3a0c0; }
.home-road__card .home-road__eyebrow { font-size: .72rem; font-weight: 700; letter-spacing: .13em; text-transform: uppercase; color: #536b51; margin: 0 0 8px; }
.home-road__card h3 { font-family: var(--font-display); color: var(--sage-deep); font-size: 1.45rem; line-height: 1.2; margin: 0 0 12px; }
.home-road__card p { margin: 0 0 16px; }
.home-road__card summary { cursor: pointer; padding: 14px 0 4px; border-top: 1px solid #e2e5dc; color: #37674e; font-size: .94rem; font-weight: 600; min-height: 44px; }
.home-road__card summary:hover { color: #654d75; }
.home-road__card summary:focus-visible { outline: 3px solid #786487; outline-offset: 5px; border-radius: 3px; }
.home-road__detail { padding-top: 14px; }
.home-road__detail h4 { margin: 18px 0 8px; font-size: 1rem; color: #37674e; }
.home-road__detail p { font-size: .95rem; }
.home-road__welcome { position: relative; text-align: center; padding: 32px 24px; background: #e0e9dd; border: 1px solid #b8cab2; border-radius: 18px; margin: 8px 0 24px; color: #315f46; }
.home-road__welcome svg { margin: 0 auto 12px; }
.home-road__welcome h3 { font-family: var(--font-display); font-size: 1.8rem; line-height: 1.2; margin: 0 0 14px; }
.home-road__welcome .site-btn { white-space: normal; }
@media (min-width: 800px) {
 .home-road__stop { display: grid; grid-template-columns: minmax(0, 1fr) 120px minmax(0, 1fr); padding: 0 0 24px; }
 .home-road__card { grid-column: 1; }
 .home-road__stop:nth-child(even) .home-road__card { grid-column: 3; }
 .home-road__number { left: calc(50% - 23px); }
 .home-road__stop::before { left: calc(50% - 60px); width: 120px; background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100' preserveAspectRatio='none'%3E%3Cpath d='M50 0 C50 25 90 30 90 50 S50 80 50 100' fill='none' stroke='%23a7bba0' stroke-width='20'/%3E%3Cpath d='M50 0 C50 25 90 30 90 50 S50 80 50 100' fill='none' stroke='%23faf8f3' stroke-width='2' stroke-dasharray='3 4'/%3E%3C/svg%3E") center/100% 100% no-repeat; }
 .home-road__stop:nth-child(even)::before { transform: scaleX(-1); }
 .home-road__card { padding: 26px; }
}
@media print {
 .home-road__card details > .home-road__detail { display: block !important; }
 .home-road__stop { break-inside: avoid; }
}

.home-road__welcome .home-road__house { display: block; width: min(320px, 100%); height: auto; margin: -4px auto 20px; }
.home-road__welcome { background: linear-gradient(160deg, #edf1e6, #e0e9dd); }
.home-road__number { font-size: 1.05rem; }
@media (min-width: 800px) {
 .home-road__number { width: 54px; height: 54px; left: calc(50% - 27px); }
}
.first-buyer-hub .first-buyer-loan-highlight { background: #edf1e6; color: #315f46; border-radius: 8px; padding: 10px 12px; font-weight: 600; font-size: .92rem; margin: 0 0 16px; }
.first-buyer-loan-options .serve-card > img { aspect-ratio: 16 / 7; height: auto; object-fit: cover; }
@media (min-width: 640px) { .first-buyer-hub .first-buyer-loan-options { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.first-buyer-loan-options .loan-photo { display: block; aspect-ratio: 16 / 8; overflow: hidden; border-radius: var(--radius) var(--radius) 0 0; }
.first-buyer-loan-options .loan-photo img { display: block; width: 100%; height: 100%; object-fit: cover; }
.first-buyer-loan-options .loan-photo--solar img { width: 200%; max-width: none; height: auto; transform: translateY(-15%); }

/* First-time buyer palette: ivory and sage, with restrained gold details. */
.first-buyer-hub { --ink: #333333; --site-charcoal: #333333; }
.first-buyer-hub #first-home-preapproval .split__copy { background: #E0E2D5; color: #333333; }
.first-buyer-hub #first-home-preapproval h2,
.first-buyer-hub #first-home-preapproval .home-kicker { color: var(--sage-deep); }
.first-buyer-hub .site-btn--primary { background: var(--sage-deep); color: #fff; }
.first-buyer-hub .site-btn--primary:hover { background: #245239; color: #fff; }
.first-buyer-hub .site-btn:focus-visible { outline: 3px solid var(--sage-deep); outline-offset: 4px; }
.first-buyer-hub .split__copy h2::after,
.first-buyer-hub .home-band > .container > h2::after,
.first-buyer-hub .home-road__intro h2::after {
 content: ''; display: block; width: 54px; height: 3px;
 background: var(--gold); border-radius: 2px; margin: 18px 0 0;
}
.first-buyer-hub .home-road__intro h2::after { margin-inline: auto; }
.first-buyer-hub .first-buyer-stages .serve-card { border-top: 3px solid var(--gold); }
.first-buyer-hub .home-road-section { background: linear-gradient(150deg, #F8F5EF, #faf8f3 55%, #eef2e9); }
.first-buyer-hub .home-road__stop:last-child .home-road__card { border-top-color: var(--gold); }
.first-buyer-hub .home-road__stop:last-child .home-road__number { box-shadow: 0 0 0 2px var(--gold); }
.first-buyer-hub .home-road__welcome { border-top: 3px solid var(--gold); }

.first-buyer-hub #first-home-preapproval .site-btn { white-space: normal; text-align: center; }
.first-buyer-hub .home-road__learn-more { margin: 18px 0 0; font-size: .95rem; }
.first-buyer-hub .home-road__learn-more a { color: var(--sage-deep); text-decoration: underline; text-underline-offset: 3px; }

/* FHA guide: page-specific readability and brand accents. */
.fha-guide .site-btn { white-space: normal; text-align: center; }
.fha-guide .site-btn--primary { background: var(--sage-deep); color: #fff; }
.fha-guide .site-btn--primary:hover { background: #245239; color: #fff; }
.fha-guide .site-content h2 { color: var(--sage-deep); }
.fha-guide .site-content h2::after { content: ''; display: block; width: 48px; height: 3px; background: var(--gold); margin-top: 14px; }
.fha-guide [id] { scroll-margin-top: 120px; }
.fha-guide .fha-guide__sources { font-size: .85rem; margin-top: 28px; }
@media (max-width: 480px) {
 body:has(.fha-guide) .site-header > .container { padding-inline: 12px; }
 body:has(.fha-guide) .site-header__inner { gap: 8px; }
 body:has(.fha-guide) .site-header__brand { gap: 8px; }
 body:has(.fha-guide) .site-header .site-header__wordmark { font-size: 1rem; }
 body:has(.fha-guide) .site-header .site-header__wordmark em { font-size: .6rem; }
 body:has(.fha-guide) .site-header__ld { height: 25px; padding-left: 8px; margin-left: 0; }
 body:has(.fha-guide) .nav-toggle { padding-inline: 8px; }
}

/* DPA guide: match the FHA page typography and mobile fit. */
/* FHA guide: page-specific readability and brand accents. */
.dpa-guide .site-btn { white-space: normal; text-align: center; }
.dpa-guide .site-btn--primary { background: var(--sage-deep); color: #fff; }
.dpa-guide .site-btn--primary:hover { background: #245239; color: #fff; }
.dpa-guide .site-content h2 { color: var(--sage-deep); }
.dpa-guide .site-content h2::after { content: ''; display: block; width: 48px; height: 3px; background: var(--gold); margin-top: 14px; }
.dpa-guide [id] { scroll-margin-top: 120px; }
.dpa-guide .dpa-guide__sources { font-size: .85rem; margin-top: 28px; }
@media (max-width: 480px) {
 body:has(.dpa-guide) .site-header > .container { padding-inline: 12px; }
 body:has(.dpa-guide) .site-header__inner { gap: 8px; }
 body:has(.dpa-guide) .site-header__brand { gap: 8px; }
 body:has(.dpa-guide) .site-header .site-header__wordmark { font-size: 1rem; }
 body:has(.dpa-guide) .site-header .site-header__wordmark em { font-size: .6rem; }
 body:has(.dpa-guide) .site-header__ld { height: 25px; padding-left: 8px; margin-left: 0; }
 body:has(.dpa-guide) .nav-toggle { padding-inline: 8px; }
}

.dpa-guide [id] { scroll-margin-top: 120px; }
.dpa-guide .dpa-guide__note { font-size: .9rem; margin-top: 28px; }

/* Sunlit DPA porch: warm copy area with an unobscured doorway. */
.dpa-guide .site-page-hero { background-position: center 28%; color: #293c30; }
.dpa-guide .site-page-hero::before { background: linear-gradient(90deg, rgba(255,248,235,.98) 0%, rgba(255,248,235,.94) 30%, rgba(255,248,235,.75) 44%, rgba(255,248,235,0) 62%); }
.dpa-guide .site-page-hero h1 { color: #293c30; max-width: 15ch; }
.dpa-guide .site-page-hero .lead { color: #344638; max-width: 46ch; }
.dpa-guide .site-page-hero .site-hero__eyebrow,
.dpa-guide .site-page-hero .site-breadcrumbs,
.dpa-guide .site-page-hero .site-breadcrumbs a { color: #344638; }
.dpa-guide .site-page-hero .site-hero__actions { max-width: 510px; }
.dpa-guide .site-page-hero .site-btn--ghost { color: #293c30; border-color: #293c30; background: #fff8eb; }
.dpa-guide .site-page-hero .site-btn--ghost:hover { background: #293c30; color: #fff8eb; }
@media (max-width: 760px) {
 .dpa-guide .site-page-hero { padding-top: 310px; background-color: #fff8eb; background-size: auto 280px; background-position: 80% top; }
 .dpa-guide .site-page-hero::before { background: none; }
 .dpa-guide .site-page-hero h1 { max-width: 22ch; }
 .dpa-guide .site-page-hero .lead { max-width: none; }
}

/* DPA photos and the linked CalHFA story. */
.dpa-guide .dpa-photo { margin: 32px 0; }
.dpa-guide .dpa-photo img { display: block; width: 100%; height: auto; border-radius: 12px; }
.dpa-guide .dpa-photo--solar { margin: 20px 0 24px; }
.dpa-guide .dpa-story { display: grid; grid-template-columns: 1.15fr 1fr; overflow: hidden; border: 1px solid var(--rule); border-radius: 12px; margin: 24px 0 32px; background: #f8f2e7; color: #293c30; text-decoration: none; }
.dpa-guide .dpa-story > img { display: block; width: 100%; height: auto; align-self: center; }
.dpa-guide .dpa-story__copy { display: flex; flex-direction: column; justify-content: center; gap: 14px; padding: 24px; font-size: .95rem; }
.dpa-guide .dpa-story__eyebrow { font-size: .7rem; text-transform: uppercase; letter-spacing: .12em; font-weight: 700; }
.dpa-guide .dpa-story__copy strong { font-family: var(--font-display); font-size: 1.65rem; line-height: 1.2; }
.dpa-guide .dpa-story__link { text-decoration: underline; text-underline-offset: 4px; font-weight: 700; }
.dpa-guide .dpa-story:hover { background: #efe6d6; }
.dpa-guide .dpa-story:focus-visible { outline: 3px solid var(--sage-deep); outline-offset: 4px; }
@media (max-width: 600px) {
 .dpa-guide .dpa-story { grid-template-columns: 1fr; }
 .dpa-guide .dpa-story__copy { padding: 22px; }
}

/* First-time buyer navigation: grouped links and room for the full label. */
@media (min-width: 1200px) {
 .site-header__inner { flex-wrap: wrap; align-items: center; column-gap: 20px; row-gap: 0; }
 .site-header__brand { order: 0; }
 .site-header__ctas { order: 1; margin-left: auto; }
 .site-nav { order: 2; flex: 0 0 100%; justify-content: center; border-top: 1px solid var(--rule); }
 .site-nav > ul { margin: 0; justify-content: center; height: auto; }
 .site-nav > ul > li > a, .site-nav > ul > li > button { padding: 15px 10px; font-size: .88rem; }
 .nav-mega--first-buyers { width: min(1160px, calc(100vw - 32px)); grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 24px; max-height: calc(100dvh - 200px); overflow-y: auto; }
 .nav-mega--first-buyers .nav-mega__col a { padding: 9px 0; line-height: 1.3; }
}
@media (max-width: 1199px) {
 .site-nav { max-height: calc(100dvh - 110px); overflow-y: auto; overscroll-behavior: contain; }
 .nav-first-buyers > button { white-space: normal; text-align: left; line-height: 1.4; }
}

/* Next steps after the down payment assistance guide. */
.dpa-next-steps { background: #f8f2e7; }
.dpa-next-steps > .container > p { max-width: 68ch; margin-bottom: 28px; }
.dpa-resource-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; }
.dpa-resource-card { display: flex; flex-direction: column; align-items: flex-start; padding: 32px; border: 1px solid #d8dfd4; border-top: 4px solid var(--sage-deep); border-radius: 12px; background: #fffdf8; color: #293c30; text-decoration: none; }
.dpa-resource-card__eyebrow { font-size: .72rem; font-weight: 700; text-transform: uppercase; letter-spacing: .12em; }
.dpa-resource-card h3 { margin: 14px 0; font-family: var(--font-display); font-size: clamp(1.5rem, 2.3vw, 2rem); line-height: 1.2; color: var(--sage-deep); }
.dpa-resource-card p { margin: 0 0 24px; }
.dpa-resource-card__link { margin-top: auto; font-weight: 700; text-decoration: underline; text-underline-offset: 4px; }
.dpa-resource-card:hover { background: #eef2e9; border-color: var(--sage-deep); }
.dpa-resource-card:focus-visible { outline: 3px solid var(--sage-deep); outline-offset: 4px; }
@media (max-width: 640px) {
 .dpa-resource-grid { grid-template-columns: 1fr; }
 .dpa-resource-card { padding: 24px; }
}

/* Match each resource card to its destination hero. */
.dpa-resource-card { padding: 0; overflow: hidden; align-items: stretch; }
.dpa-resource-card__image { display: block; width: 100%; aspect-ratio: 3 / 2; height: auto; object-fit: cover; }
.dpa-resource-card__body { display: flex; flex: 1; flex-direction: column; align-items: flex-start; padding: 28px 32px 32px; }
@media (max-width: 640px) { .dpa-resource-card__body { padding: 24px; } }

/* Bright conventional-loan porch hero; retain full-height people and dog. */
.conventional-sunlit-hero { background-color: #fff8eb; background-size: auto 100%; background-position: right center; background-repeat: no-repeat; color: #293c30; min-height: 620px; display: flex; align-items: center; }
.conventional-sunlit-hero::before { background: linear-gradient(90deg, #fff8eb 0%, rgba(255,248,235,.97) 28%, rgba(255,248,235,.88) 41%, rgba(255,248,235,0) 65%); }
.conventional-sunlit-hero h1 { color: #293c30; max-width: 14ch; }
.conventional-sunlit-hero .lead { color: #344638; max-width: 45ch; }
.conventional-sunlit-hero .site-hero__eyebrow,
.conventional-sunlit-hero .site-breadcrumbs,
.conventional-sunlit-hero .site-breadcrumbs a { color: #344638; }
.conventional-sunlit-hero .site-hero__actions { max-width: 520px; }
.conventional-sunlit-hero .site-btn--ghost { color: #293c30; border-color: #293c30; background: #fff8eb; }
.conventional-sunlit-hero .site-btn--ghost:hover { color: #fff8eb; background: #293c30; }
@media (max-width: 900px) {
 .conventional-sunlit-hero { display: block; min-height: 0; padding-top: 310px; background-size: auto 280px; background-position: right top; }
 .conventional-sunlit-hero::before { background: none; }
 .conventional-sunlit-hero h1, .conventional-sunlit-hero .lead { max-width: none; }
}

/* Sunny FHA family hero. */
.fha-sunlit-hero { background-color: #fff8eb; background-size: auto 100%; background-position: right center; background-repeat: no-repeat; color: #293c30; min-height: 680px; display: flex; align-items: center; }
.fha-sunlit-hero::before { background: linear-gradient(90deg, #fff8eb 0%, rgba(255,248,235,.97) 28%, rgba(255,248,235,.88) 41%, rgba(255,248,235,0) 65%); }
.fha-sunlit-hero h1 { color: #293c30; max-width: 19ch; }
.fha-sunlit-hero .lead { color: #344638; max-width: 45ch; }
.fha-sunlit-hero .site-hero__eyebrow,
.fha-sunlit-hero .site-breadcrumbs,
.fha-sunlit-hero .site-breadcrumbs a { color: #344638; }
.fha-sunlit-hero .site-hero__actions { max-width: 520px; }
.fha-sunlit-hero .site-btn--ghost { color: #293c30; border-color: #293c30; background: #fff8eb; }
.fha-sunlit-hero .site-btn--ghost:hover { color: #fff8eb; background: #293c30; }
@media (max-width: 900px) {
 .fha-sunlit-hero { display: block; min-height: 0; padding-top: 310px; background-size: auto 280px; background-position: right top; }
 .fha-sunlit-hero::before { background: none; }
 .fha-sunlit-hero h1, .fha-sunlit-hero .lead { max-width: none; }
}

/* FHA visual breaks and contextual reading cards. */
.fha-guide .fha-life-photo { margin: 36px 0; overflow: hidden; border-radius: 16px; background: #fff8eb; }
.fha-guide .fha-life-photo img { display: block; width: 100%; height: auto; }
.fha-guide .fha-life-photo figcaption { padding: 15px 20px; color: #344638; font-size: .95rem; line-height: 1.6; }
.fha-guide .fha-article-card { display: grid; grid-template-columns: 1fr 1fr; align-items: center; gap: 0; margin: 32px 0; border: 1px solid #d9dfd1; border-radius: 16px; overflow: hidden; background: #fff8eb; box-shadow: 0 6px 22px rgba(41,60,48,.05); }
.fha-guide .fha-article-card__image { display: block; background: #fff; }
.fha-guide .fha-article-card__image img { display: block; width: 100%; height: auto; margin: 0; border-radius: 0; }
.fha-guide .fha-article-card__body { padding: 24px; }
.fha-guide .fha-article-card__eyebrow { margin: 0 0 10px; color: #42664b; font-size: .72rem; font-weight: 700; letter-spacing: .07em; text-transform: uppercase; }
.fha-guide .fha-article-card h3 { margin: 0 0 12px; font-size: 1.4rem; line-height: 1.2; }
.fha-guide .fha-article-card h3 a { color: #293c30; text-decoration: none; }
.fha-guide .fha-article-card__body > p:not(.fha-article-card__eyebrow) { font-size: .95rem; line-height: 1.6; margin-bottom: 16px; }
.fha-guide .fha-article-card__link { font-weight: 700; color: #2d6648; }
.fha-guide .fha-article-card a:focus-visible { outline: 3px solid #8d6832; outline-offset: 3px; }
@media (max-width: 640px) {
 .fha-guide .fha-article-card { grid-template-columns: 1fr; }
 .fha-guide .fha-article-card__body { padding: 22px; }
}

.fha-guide .site-sidebar { align-self: start; }

/* Keep the updated loan-page hero photos and guide artwork uncropped. */
.first-buyer-loan-options .loan-photo--page-hero { aspect-ratio: 3 / 2; background: #fff8eb; }
.first-buyer-loan-options .loan-photo--page-hero img { object-fit: contain; }

/* CalHFA assistance overview, two clearly separated program sections. */
.calhfa-intro { padding: 48px 0; background: #fff8eb; color: #293c30; }
.calhfa-intro__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 42px; align-items: center; }
.calhfa-intro h1 { color: #293c30; font-size: clamp(2.3rem, 4vw, 3.8rem); line-height: 1.08; margin: 20px 0; }
.calhfa-intro img { display: block; width: 100%; height: auto; border-radius: 20px; }
.calhfa-intro .site-breadcrumbs, .calhfa-intro .site-breadcrumbs a { color: #344638; }
.calhfa-content { max-width: 960px; padding-top: 40px; padding-bottom: 40px; }
.calhfa-program { padding: 38px 0; border-top: 1px solid #cbd7c9; margin-top: 32px; scroll-margin-top: 155px; }
.calhfa-program h2 { color: #2d6648; }
.calhfa-program__photo { display: block; width: 100%; height: auto; border-radius: 16px; margin: 24px 0; }
.calhfa-note { font-size: .85rem; margin-top: 22px; }
@media (max-width: 760px) { .calhfa-intro__grid { grid-template-columns: 1fr; gap: 24px; } .calhfa-intro { padding: 30px 0; } }

/* CalHFA reading cards and lifestyle moments. */
.calhfa-blog-card { display: grid; grid-template-columns: 1fr 1fr; align-items: center; margin: 32px 0; border: 1px solid #d9dfd1; border-radius: 18px; overflow: hidden; background: #fff8eb; }
.calhfa-blog-card > a { display: block; }
.calhfa-blog-card img { display: block; width: 100%; height: auto; }
.calhfa-blog-card > div { padding: 28px; }
.calhfa-blog-card h3 { margin-top: 0; }
.calhfa-blog-card h3 a { color: #293c30; text-decoration: none; }
.calhfa-blog-card__link { font-weight: 700; }
.calhfa-life-photo { margin: 34px 0; border-radius: 18px; overflow: hidden; background: #fff8eb; }
.calhfa-life-photo img { display: block; width: 100%; height: auto; }
.calhfa-life-photo figcaption { padding: 16px 22px; color: #344638; }
@media (max-width: 640px) { .calhfa-blog-card { grid-template-columns: 1fr; } .calhfa-blog-card > div { padding: 22px; } }

/* Arcasa solar assistance overview. */
.arcasa-intro { padding: 48px 0; background: #fff8eb; color: #293c30; }
.arcasa-intro__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 42px; align-items: center; }
.arcasa-intro h1 { color: #293c30; font-size: clamp(2.3rem,4vw,3.8rem); line-height: 1.08; margin: 20px 0; }
.arcasa-intro img { display: block; width: 100%; height: auto; border-radius: 18px; }
.arcasa-intro .site-breadcrumbs, .arcasa-intro .site-breadcrumbs a { color: #344638; }
.arcasa-content { max-width: 960px; padding-top: 40px; padding-bottom: 40px; }
.arcasa-content h2 { color: #2d6648; }
.arcasa-content [id] { scroll-margin-top: 150px; }
.arcasa-note { font-size: .85rem; margin-top: 24px; }
@media (max-width: 760px) { .arcasa-intro__grid { grid-template-columns: 1fr; gap: 24px; } .arcasa-intro { padding: 30px 0; } }

/* Give the recently updated product heroes more room for photography. */
.arcasa-intro__grid, .calhfa-intro__grid { grid-template-columns: 1fr; gap: 34px; }
.arcasa-intro__grid > div, .calhfa-intro__grid > div { max-width: 880px; }
.arcasa-intro__grid > img, .calhfa-intro__grid > img { width: 100%; height: auto; }
@media (min-width: 901px) {
 .conventional-sunlit-hero, .fha-sunlit-hero { min-height: 760px; }
}
@media (max-width: 900px) {
 .conventional-sunlit-hero, .fha-sunlit-hero { padding-top: 370px; background-size: auto 340px; }
}

.solar-life-photo { margin: 36px 0; overflow: hidden; border-radius: 18px; background: #fff8eb; }
.solar-life-photo img { display: block; width: 100%; height: auto; }
.solar-life-photo figcaption { padding: 16px 22px; color: #344638; }
.solar-blog-card { display: grid; grid-template-columns: 1fr 1fr; align-items: center; margin: 36px 0; border: 1px solid #d9dfd1; border-radius: 18px; overflow: hidden; background: #fff8eb; }
.solar-blog-card img { display: block; width: 100%; height: auto; }
.solar-blog-card > div { padding: 28px; }
.solar-blog-card h3 { margin-top: 0; }
.solar-blog-card h3 a { color: #293c30; text-decoration: none; }
@media (max-width: 640px) { .solar-blog-card { grid-template-columns: 1fr; } .solar-blog-card > div { padding: 22px; } }

/* VA product guide */
.va-intro { background: #fff8eb; color: #293c30; padding: 44px 0 48px; }
.va-intro__copy { max-width: 940px; }
.va-intro .site-hero__lead { color: #344638; max-width: 860px; }
.va-intro h1 { color: #293c30; font-size: clamp(2.3rem,4.2vw,3.9rem); line-height: 1.08; margin: 20px 0; }
.va-intro .site-breadcrumbs, .va-intro .site-breadcrumbs a { color: #344638; }
.va-intro__photo { display: block; width: 100%; height: auto; border-radius: 20px; margin-top: 34px; }
.va-content { max-width: 980px; padding-top: 42px; padding-bottom: 42px; }
.va-content > section { margin: 0 0 48px; }
.va-content h2 { color: #2d6648; }
.va-page [id] { scroll-margin-top: 155px; }
.va-options { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 16px; margin: 30px 0 52px; }
.va-options a { display: block; padding: 23px; border: 1px solid #ced9cd; background: #f2f6ed; border-radius: 14px; color: #293c30; text-decoration: none; }
.va-options a:hover, .va-options a:focus-visible { background: #e5eedc; text-decoration: underline; }
.va-options strong, .va-options span { display: block; }
.va-options span { margin-top: 8px; font-size: .95rem; }
.va-blog-card { display: grid; grid-template-columns: 1fr 1fr; align-items: center; margin: 32px 0; border: 1px solid #d9dfd1; border-radius: 18px; overflow: hidden; background: #fff8eb; }
.va-blog-card > a { display: block; }
.va-blog-card img { display: block; width: 100%; height: auto; }
.va-blog-card > div { padding: 28px; }
.va-blog-card h3 { margin-top: 0; }
.va-blog-card h3 a { color: #293c30; text-decoration: none; }
.va-disclosure { font-size: .9rem; }
@media (max-width: 560px) {
 body:has(.va-page) .site-header__inner { gap: 8px; }
 body:has(.va-page) .site-header__brand { gap: 8px; }
 body:has(.va-page) .site-header .site-header__wordmark { font-size: 1rem; }
 body:has(.va-page) .site-header .site-header__wordmark em { font-size: .6rem; }
 body:has(.va-page) .site-header__ld { height: 25px; padding-left: 8px; margin-left: 0; }
 body:has(.va-page) .nav-toggle { padding-inline: 8px; }
}
@media (max-width: 760px) { .va-options { grid-template-columns: repeat(2,minmax(0,1fr)); } .va-intro { padding-top: 28px; } }
@media (max-width: 560px) { .va-options, .va-blog-card { grid-template-columns: 1fr; } .va-blog-card > div { padding: 22px; } .va-intro__photo { border-radius: 12px; } }

/* VA educational videos */
.va-video-jump { margin: -28px 0 42px; }
.va-video-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 24px; margin: 28px 0; }
.va-video-card { min-width: 0; overflow: hidden; background: #fff; border: 1px solid #d9dfd1; border-radius: 16px; margin: 26px 0; }
.va-video-grid .va-video-card { margin: 0; }
.va-video-grid .va-video-card:first-child { grid-column: 1 / -1; }
.va-video-frame { aspect-ratio: 16 / 9; background: #edf2e8; }
.va-video-frame iframe { display: block; width: 100%; height: 100%; border: 0; }
.va-video-copy { padding: 24px; }
.va-video-copy h3 { margin-top: 0; color: #293c30; }
.va-video-copy p { margin-bottom: 12px; }
.va-playlist { padding: 28px; margin: 26px 0; border-radius: 16px; background: #eaf1e3; }
.va-playlist h3 { margin-top: 0; }
@media (max-width: 640px) { .va-video-grid { grid-template-columns: 1fr; } .va-video-copy, .va-playlist { padding: 20px; } }

/* Downloadable VA field guide */
.va-guide-download { display: grid; grid-template-columns: minmax(180px, .7fr) minmax(0, 1.3fr); gap: 34px; align-items: center; padding: 32px; background: #edf2e6; border: 1px solid #d1dcc9; border-radius: 18px; }
.va-guide-download img { width: 100%; height: auto; display: block; box-shadow: 0 8px 24px #293c3026; border-radius: 5px; }
.va-guide-download h2 { margin-top: 12px; }
.va-guide-download .site-hero__actions { align-items: center; }
@media (max-width: 640px) { .va-guide-download { grid-template-columns: 1fr; padding: 24px; gap: 24px; } .va-guide-download > a { max-width: 250px; margin: auto; } }

/* First-time buyer videos and downloadable guides */
#first-home-video, #first-home-guides { scroll-margin-top: 150px; }
.buyer-story-video { aspect-ratio: 16 / 9; overflow: hidden; border-radius: 16px; background: #e7ecdf; margin: 28px 0 16px; }
.buyer-story-video iframe { display: block; border: 0; width: 100%; height: 100%; }
.buyer-playlist { padding: 28px; border-radius: 16px; background: #edf2e6; margin-top: 28px; }
.buyer-playlist h3 { margin-top: 0; }
.buyer-guide-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 28px; margin: 32px 0; }
.buyer-guide-card { min-width: 0; padding: 28px; border: 1px solid #d4ddcd; border-radius: 18px; background: #fff8eb; display: flex; flex-direction: column; }
.buyer-guide-card > a { display: block; width: 100%; max-width: 270px; margin: 0 auto 24px; }
.buyer-guide-card img { display: block; width: 100%; height: auto; border-radius: 5px; box-shadow: 0 8px 24px #293c3026; }
.buyer-guide-card h3 { color: #293c30; margin-top: 0; }
.buyer-guide-card .site-btn { white-space: normal; }
@media (max-width: 700px) { .buyer-guide-grid { grid-template-columns: 1fr; } .buyer-guide-card, .buyer-playlist { padding: 22px; } }

/* Educational videos for buyers and CalHFA */
.buyer-learning-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 24px; margin: 26px 0; }
.buyer-learning-card { min-width: 0; border: 1px solid #d4ddcd; border-radius: 16px; overflow: hidden; background: #fff8eb; }
.buyer-learning-card .buyer-story-video { border-radius: 0; margin: 0; }
.buyer-learning-copy { padding: 24px; }
.buyer-learning-copy h3 { margin-top: 0; color: #293c30; }
.buyer-learning-grid .buyer-learning-card:last-child { grid-column: 1 / -1; }
.buyer-guide-card img { aspect-ratio: auto; object-fit: contain; }
@media (max-width: 640px) { .buyer-learning-grid { grid-template-columns: 1fr; } }

/* Visible video previews also work when embedded players are unavailable. */
.buyer-video-preview {display:block;position:relative;width:100%;height:100%;background:#294e3d;color:#fff;overflow:hidden;}
.buyer-video-preview img {display:block;width:100%;height:100%;object-fit:cover;}
.buyer-video-preview:hover .buyer-video-preview:focus-visible {outline:4px solid #6f8e6b;outline-offset:-4px;}

.buyer-video-watch {display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:8px 14px;border:1px solid #6f8e6b;border-radius:6px;background:transparent;color:#254c3e;font-size:14px;font-weight:600;line-height:1.3;text-decoration:none;}
.buyer-video-watch:hover {background:#edf2e6;}
.buyer-video-watch:focus-visible {outline:3px solid #6f8e6b;outline-offset:3px;}

/* GSFA program comparisons */
.gsfa-jumps {display:flex;flex-wrap:wrap;gap:12px 24px;margin:28px 0;}
.gsfa-option-grid {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin:28px 0;}
.gsfa-option-grid article {padding:24px;background:#fff8eb;border:1px solid #cbd7c9;border-radius:16px;min-width:0;}
.gsfa-option-grid h3 {margin-top:0;color:#2d6648;}
.gsfa-related {padding:24px;margin-top:24px;margin-bottom:24px;border-left:4px solid #6f8e6b;background:#edf2e6;}
.gsfa-related p {margin-bottom:0;}
.gsfa-source-note {font-size:.875rem;}
@media(max-width:760px){.gsfa-option-grid{grid-template-columns:1fr;}.gsfa-related{max-width:calc(100% - 32px);}}

/* Section 184 homebuyer hub */
.tribal-two-col {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px;}
.tribal-two-col article {padding:24px;border:1px solid #cbd7c9;border-radius:16px;background:#fff8eb;}
.tribal-two-col h3 {margin-top:0;}
.tribal-guide {display:grid;grid-template-columns:minmax(180px,280px) 1fr;gap:36px;align-items:center;}
.tribal-guide img {display:block;width:100%;height:auto;box-shadow:0 8px 24px #293c3020;}
.tribal-guide-note {font-size:.9rem;}
.tribal-guide .site-btn {white-space:normal;}
@media(max-width:700px){.tribal-two-col,.tribal-guide{grid-template-columns:1fr;}.tribal-guide> a{max-width:260px;margin:auto;}}

/* USDA comparison */
.usda-table-wrap{overflow-x:auto;margin:24px 0;border:1px solid #cbd7c9;border-radius:14px;}
.usda-comparison{width:100%;border-collapse:collapse;min-width:540px;font-size:1rem;}
.usda-comparison caption{text-align:left;padding:18px;font-weight:700;background:#f7f3e8;}
.usda-comparison th,.usda-comparison td{padding:18px;text-align:left;vertical-align:top;border-bottom:1px solid #dce3d8;}
.usda-comparison thead{background:#e5ede2;color:#293c30;}
.usda-comparison th{width:30%;}
.usda-source-note{font-size:.9rem;color:#52604f;line-height:1.65;}
@media(max-width:600px){body:has(.usda-page) .site-header > .container{padding-inline:12px;}body:has(.usda-page) .site-header__inner{gap:8px;}body:has(.usda-page) .site-header__brand{gap:8px;}body:has(.usda-page) .site-header .site-header__wordmark{font-size:1rem;}body:has(.usda-page) .site-header .site-header__wordmark em{font-size:.6rem;}body:has(.usda-page) .site-header__ld{height:25px;width:auto;padding-left:8px;margin-left:0;}body:has(.usda-page) .nav-toggle{padding-inline:8px;}}

@media(max-width:600px){body:has(.eem-page) .site-header > .container{padding-inline:12px;}body:has(.eem-page) .site-header__inner{gap:8px;}body:has(.eem-page) .site-header__brand{gap:8px;}body:has(.eem-page) .site-header .site-header__wordmark{font-size:1rem;}body:has(.eem-page) .site-header .site-header__wordmark em{font-size:.6rem;}body:has(.eem-page) .site-header__ld{height:25px;width:auto;padding-left:8px;margin-left:0;}body:has(.eem-page) .nav-toggle{padding-inline:8px;}}

.guide-library-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin:32px 0;}
.guide-library-card{background:#fffdf8;border:1px solid #d5dfd1;border-radius:16px;overflow:hidden;}
.guide-library-card>a{display:block;padding:22px;background:#edf1e8;}
.guide-library-card img{display:block;width:auto;height:280px;max-width:100%;object-fit:contain;margin:auto;}
.guide-library-card>div{padding:22px;}
.guide-library-card h2{font-size:1.2rem;line-height:1.4;margin-top:0;}
@media(max-width:1000px){.guide-library-grid{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media(max-width:640px){.guide-library-grid{grid-template-columns:1fr;}}

/* Audience directories in the existing Who we serve menu. */
.nav-audience-group > summary { cursor: pointer; color: var(--sage-deep); font-weight: 700; font-size: 1rem; padding: 10px 0; border-bottom: 1px solid var(--rule); margin-bottom: 8px; }
.nav-audience-group > summary:focus-visible { outline: 2px solid var(--sage-deep); outline-offset: 3px; }
.nav-mega--audiences .nav-mega__col a { padding: 8px 0; line-height: 1.35; }
@media (min-width: 1200px) { .nav-mega--audiences { max-height: calc(100dvh - 165px); overflow-y: auto; overscroll-behavior: contain; } }
@media (max-width: 1199px) { .site-nav.is-open { max-height: calc(100dvh - 125px); overflow-y: auto; overscroll-behavior: contain; } .nav-mega--audiences { gap: 4px; } .nav-audience-group > summary { padding: 14px 0; } }
@media(max-width:600px){.site-header > .container{padding-inline:12px;}.site-header__inner{gap:8px;}.site-header__brand{gap:8px;}.site-header .site-header__wordmark{font-size:1rem;}.site-header .site-header__wordmark em{font-size:.6rem;}.site-header .site-header__ld{height:25px;width:auto;padding-left:8px;margin-left:0;}.nav-toggle{padding-inline:8px;}}

.nav-mega--audiences { align-items: start; }

/* Complete program photos and compact HomeReady card. */
.first-buyer-loan-options .homeready-card { align-self: start; }
.first-buyer-hub .homeready-card .serve-card__body { flex: none; padding: 16px; }
.first-buyer-hub .homeready-card .serve-card__cta { margin-top: 10px; padding-top: 0; }
.homeready-card .loan-photo { display: block; aspect-ratio: 3 / 2; }
.homeready-card .loan-photo img { width: 100%; height: auto; aspect-ratio: 3 / 2; object-fit: contain; }
.product-loan-options { align-items: start; }
.product-loan-options .loan-photo { display: block; aspect-ratio: auto; overflow: hidden; }
.product-loan-options .serve-card img { display: block; width: 100%; height: auto; aspect-ratio: auto; object-fit: contain; }
.product-loan-options .serve-card__body { padding: 16px; }
.product-loan-options .first-buyer-loan-highlight { font-weight: 600; color: var(--sage-deep); margin-bottom: 8px; }
.homeready-hero .split__media img { object-fit: contain; background: var(--sand); }

/* Category-based mortgage program library. */
.loan-library .library-hero .split__media img { object-fit: contain; height: auto; background: var(--sand); }
.loan-library .library-hero .split__media { display: flex; align-items: center; background: var(--sand); }
.library-category-nav { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 12px; margin-top: 26px; }
.library-category-nav a { display: flex; justify-content: space-between; gap: 12px; align-items: center; padding: 16px 18px; border: 1px solid var(--sage); border-radius: 10px; color: var(--purple); background: var(--sand); font-weight: 650; text-decoration: none; }
.library-category-nav a:hover { background: var(--sage); }
.loan-library section[id] { scroll-margin-top: 120px; }
.library-section { background: #faf9f6; }
.library-section:nth-of-type(odd) { background: #fff; }
.library-section__heading { display: flex; align-items: center; justify-content: space-between; gap: 24px; }
.library-section__heading h2 { margin-top: 0; }
.library-back { flex-shrink: 0; font-size: .9rem; }
.library-intro { max-width: 850px; margin-bottom: 28px; }
.library-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 24px; align-items: start; }
.loan-library .library-card { height: auto; min-width: 0; text-decoration: none; }
.loan-library .library-card > img { display: block; width: 100%; height: auto; aspect-ratio: auto; object-fit: contain; }
.loan-library .library-card .serve-card__body { padding: 20px; flex: none; }
.loan-library .library-card .library-card__label { color: var(--sage-deep); font-size: .8rem; font-weight: 700; line-height: 1.4; margin: 0 0 8px; }
.loan-library .library-card h3 { font-size: 1.3rem; line-height: 1.25; margin: 0 0 12px; }
.loan-library .library-card .serve-card__cta { display: block; margin-top: 16px; padding-top: 0; font-size: .9rem; }
.library-hub-link { margin: 26px 0 0; font-weight: 650; }
.library-related { margin-top: 12px; }
.library-note { font-size: .85rem; margin-top: 28px; }
@media(max-width: 1000px) { .library-grid { grid-template-columns: repeat(2,minmax(0,1fr)); } .library-category-nav { grid-template-columns: repeat(2,minmax(0,1fr)); } }
@media(max-width: 600px) { .library-grid,.library-category-nav { grid-template-columns: 1fr; } .library-section__heading { display: block; } .library-back { display: inline-block; margin-bottom: 16px; } .loan-library .library-card .serve-card__body { padding: 18px; } }
.loan-library .library-hero .split__copy { padding: 36px 42px; }
.loan-library .library-hero h1 { font-size: clamp(2rem,3vw,2.65rem); line-height: 1.12; margin-bottom: 20px; }
.loan-library .library-hero .split__copy > p:not(.home-kicker) { font-size: 1rem; line-height: 1.6; margin: 16px 0; }
.loan-library .library-hero .site-hero__actions { margin-top: 22px; }
@media(max-width: 600px) { .loan-library .library-hero .split__copy { padding: 28px 22px; } }
.loan-library .library-hero { min-height: 0; }
.loan-library .library-hero .split__media { min-height: 500px; }
.loan-library .library-hero .split__media img { height: 100%; object-fit: cover; object-position: 42% center; }
@media(max-width: 900px) { .loan-library .library-hero .split__media { min-height: 0; aspect-ratio: 3 / 2; } }

/* Personal guidance alongside the loan program library. */
.library-advisor { background: var(--paper); }
.library-advisor__layout { display: grid; grid-template-columns: minmax(250px,340px) minmax(0,1fr); gap: clamp(28px,5vw,68px); align-items: center; }
.library-advisor__portrait { margin: 0; border-radius: 12px; overflow: hidden; background: white; box-shadow: var(--shadow); }
.library-advisor__portrait img { display: block; width: 100%; height: auto; }
.library-advisor__portrait figcaption { padding: 18px 20px; border-top: 3px solid var(--gold); }
.library-advisor__portrait strong { display: block; color: var(--ld-purple); font-size: 1.15rem; }
.library-advisor__portrait figcaption span { display: block; margin-top: 4px; font-size: .82rem; color: var(--ink-soft); }
.library-advisor__copy h2 { color: var(--ld-purple); margin: 10px 0 20px; font-size: clamp(1.8rem,2.7vw,2.4rem); line-height: 1.25; }
.library-advisor__copy > p { line-height: 1.7; }
.library-advisor__steps { list-style: none; padding: 0; margin: 22px 0; }
.library-advisor__steps li { padding: 0 0 0 16px; margin: 15px 0; border-left: 3px solid var(--sage); line-height: 1.65; }
.library-advisor__steps strong { color: var(--sage-deep); }
.library-advisor__copy .site-hero__actions { align-items: center; gap: 20px; }
.library-advisor__about { color: var(--ld-purple); font-weight: 600; }
@media(max-width: 760px) {
 .library-advisor__layout { grid-template-columns: 1fr; gap: 30px; }
 .library-advisor__portrait { width: min(100%,340px); justify-self: center; }
}

/* Compact loan program library and combined advisor hero. */

.program-hero{display:grid;grid-template-columns:35% 65%;background:#F8F5EF;max-width:1440px;margin:auto;}
.program-photo{position:relative;min-height:425px;overflow:hidden;}
.program-photo>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:38% center;}
.program-copy{padding:24px 36px;align-self:center;}
.program-copy .home-kicker{margin:0 0 12px;color:#2F6B4A;font-size:11px;letter-spacing:1.5px;}
.program-copy h1{font-family:var(--font-display);font-size:clamp(28px,3vw,40px);line-height:1.17;color:#4d286f;margin:0 0 15px;}
.program-copy>p{font-size:14px;line-height:1.65;margin:0 0 18px;max-width:520px;}
.program-advisor{display:grid;grid-template-columns:170px 1fr;gap:16px;align-items:center;border-top:1px solid #d8d1c7;padding-top:17px;margin-top:18px;}
.program-advisor img{width:170px;height:218px;object-fit:cover;object-position:top;border-radius:7px;border-bottom:3px solid #C89B3C;}
.program-advisor strong{display:block;color:#4d286f;font-size:21px;}
.program-advisor span{display:block;font-size:11px;margin:3px 0 7px;color:#59534f;}
.program-advisor p{font-size:14px;line-height:1.6;margin:0;}
.program-copy .site-hero__actions{margin:20px 0 0;gap:16px;align-items:center;}
.program-copy .site-btn{font-size:12px;padding:12px 18px;}
.program-copy .talk-link{font-size:12px;color:#4d286f;font-weight:600;}
@media(max-width:760px){.program-hero{grid-template-columns:1fr;}.program-photo{min-height:220px;}.program-copy{padding:25px;}.program-copy h1{font-size:29px;}}
@media(max-width:480px){.program-advisor{grid-template-columns:130px 1fr;gap:12px;}.program-advisor img{width:130px;height:167px;}.program-advisor p{font-size:12px;}}

.program-catalog { padding-top: 28px; }
.program-catalog h2 { margin-top: 0; font-size: 1.8rem; }
.program-catalog > .container > p { font-size: .9rem; }
.program-filters { display: flex; flex-wrap: wrap; gap: 8px; margin: 20px 0 16px; }
.program-filters[hidden],.program-card[hidden] { display: none; }
.program-filters button { cursor: pointer; font: inherit; font-size: .78rem; border: 1px solid #b6c4b2; background: white; color: var(--ink); padding: 9px 14px; border-radius: 24px; }
.program-filters button[aria-pressed="true"] { background: var(--sage-deep); color: white; border-color: var(--sage-deep); }
.program-filters button:focus-visible,.program-card:focus-visible { outline: 3px solid var(--ld-purple); outline-offset: 3px; }
.program-context { min-height: 2.8em; max-width: 980px; line-height: 1.55; }
.program-count { color: var(--sage-deep); font-weight: 600; margin: 12px 0; }
.program-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 18px; align-items: start; }
.program-card { display: block; border: 1px solid var(--rule); border-radius: 10px; overflow: hidden; background: white; color: var(--ink); text-decoration: none; transition: box-shadow .15s; }
.program-card:hover { box-shadow: var(--shadow); }
.program-card > img { display: block; width: 100%; height: auto; aspect-ratio: 3 / 2; object-fit: contain; background: var(--sand); }
.program-card__copy { padding: 14px; }
.program-card__copy h3 { font-size: 1.12rem; line-height: 1.3; margin: 5px 0 10px; color: var(--ld-purple); }
.program-card__copy p { font-size: .8rem; line-height: 1.6; margin: 0 0 12px; }
.program-card__copy .program-card__label { font-size: .65rem; color: var(--sage-deep); font-weight: 600; margin: 0; }
.program-card__copy > span { color: var(--sage-deep); font-size: .75rem; font-weight: 650; }
.program-library-help { padding: 30px; background: var(--sand); border-radius: 12px; margin-top: 35px; }
.program-library-help > a { margin-right: 20px; }
.program-disclosure { font-size: .75rem !important; color: var(--ink-muted); margin-top: 20px; }
#browse-loan-programs { scroll-margin-top: 120px; }
@media(max-width:1000px){.program-grid{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media(max-width:540px){.program-grid{grid-template-columns:1fr;}.program-library-help{padding:22px;}.program-library-help > a{display:inline-block;margin-bottom:12px;}}

/* Small program group headings keep the catalog easy to scan. */
.program-section { margin-top: 32px; scroll-margin-top: 125px; }
.program-section[hidden] { display: none; }
.program-catalog .program-section__title { font-family: var(--font-body); font-size: 1.12rem; font-weight: 650; line-height: 1.4; color: var(--sage-deep); padding-bottom: 12px; margin: 0 0 16px; border-bottom: 1px solid var(--rule); }
.program-section__intro { font-size: .82rem; line-height: 1.6; max-width: 940px; margin: 0 0 18px; }

.investor-image-hero .split__media { background: var(--sand); display: flex; align-items: center; }
.investor-image-hero .split__media img { position: static; width: 100%; height: auto; min-height: 0; object-fit: contain; }
.investor-image-hero .split__copy { padding: 38px; }
.investor-image-hero h1 { font-size: clamp(1.9rem,3vw,2.7rem); }
@media(max-width:900px){.investor-image-hero .split__media{min-height:0;}.investor-image-hero .split__copy{padding:30px 22px;}}

#no-seasoning-dscr,#foreign-national-dscr,#interest-only-dscr,#forty-year-dscr,#ground-up-investor-construction { scroll-margin-top: 130px; }

/* Warm, audience-led footer */
.site-footer.footer-warm { background: var(--cream); color: var(--ink); padding: 0 0 28px; border-top: 3px solid var(--gold); }
.footer-warm a { color: var(--sage-deep); text-decoration: none; }
.footer-warm a:hover { text-decoration: underline; text-underline-offset: 4px; }
.footer-warm a:focus-visible, .footer-group summary:focus-visible { outline: 3px solid var(--ld-purple); outline-offset: 4px; }
.footer-welcome { display:flex; justify-content:space-between; align-items:center; gap:30px; padding:38px 0; border-bottom:1px solid var(--rule); }
.footer-warm .footer-welcome h2 { font-family:var(--font-display); font-size:clamp(1.5rem,2.4vw,2rem); color:var(--ld-purple); letter-spacing:0; text-transform:none; margin:8px 0 12px; }
.footer-eyebrow { color:var(--sage-deep); font-size:.75rem; letter-spacing:.12em; text-transform:uppercase; font-weight:600; margin:0; }
.footer-welcome p:last-child { margin:0; font-size:.9rem; }
.footer-warm .footer-welcome .site-btn { background:var(--sage-deep); color:white; white-space:nowrap; }
.footer-links { display:grid; grid-template-columns:2fr 1fr 1fr 1fr; gap:30px; padding:36px 0; }
.footer-group summary { font-size:1rem; font-weight:650; color:var(--ld-purple); list-style:none; margin-bottom:18px; cursor:pointer; }
.footer-group summary::-webkit-details-marker { display:none; }
.footer-group--audiences ul { display:grid; grid-template-columns:1fr 1fr; gap:0 22px; }
.footer-warm .footer-group li { font-size:.8rem; line-height:1.6; margin-bottom:10px; }
.footer-social { border:1px solid #cbd6c7; background:#edf1e8; border-radius:12px; padding:24px; }
.footer-warm .footer-social h2 { color:var(--ld-purple); text-transform:none; letter-spacing:0; font-family:var(--font-display); font-size:1.4rem; margin:0 0 8px; }
.footer-social p { font-size:.85rem; margin:0 0 18px; }
.footer-social__links { display:flex; gap:12px; flex-wrap:wrap; }
.footer-social__links a { display:flex; align-items:center; gap:9px; background:var(--cream); border:1px solid #cbd6c7; border-radius:7px; padding:12px 16px; color:var(--ld-purple); font-size:.85rem; font-weight:600; }
.footer-social__links svg { flex-shrink:0; }
.footer-identity { display:grid; grid-template-columns:1.5fr 1fr; gap:40px; padding:30px 0 4px; }
.footer-warm .site-header__wordmark, .footer-warm .site-header__wordmark em { color:var(--ld-purple); }
.footer-identity p, .footer-identity address { font-size:.82rem; line-height:1.8; }
.footer-identity address { font-style:normal; align-self:center; overflow-wrap:anywhere; }
.footer-warm .site-footer__legal { border-top:1px solid var(--rule); color:var(--ink-muted); margin-top:24px; font-size:.72rem; }
.footer-warm .site-footer__legal nav { display:flex; flex-wrap:wrap; gap:10px 20px; }
@media(max-width:1000px) { .footer-links { grid-template-columns:2fr 1fr; } }
@media(max-width:640px) { .footer-welcome { display:block; padding:28px 0; } .footer-welcome .site-btn { margin-top:20px; } .footer-links { display:block; padding:16px 0; } .footer-group { padding:16px 0; border-bottom:1px solid var(--rule); } .footer-group summary { margin:0; display:flex; justify-content:space-between; gap:16px; } .footer-group summary::after { content:'+'; } .footer-group[open] summary::after { content:'−'; } .footer-group ul { padding-top:16px; } .footer-group--audiences ul { display:block; } .footer-social { padding:20px 16px; } .footer-social__links { display:grid; grid-template-columns:1fr 1fr; gap:8px; } .footer-social__links a { padding:12px 10px; font-size:.75rem; } .footer-social__links a:last-child { grid-column:1/-1; } .footer-identity { grid-template-columns:1fr; gap:12px; } }

/* Approved muted gold and lavender footer palette. */
.footer-warm .footer-welcome h2,.footer-group summary,.footer-warm .footer-social h2,.footer-warm .site-header__wordmark,.footer-warm .site-header__wordmark em {color:#2F6B4A}.footer-social {background:#f1ecf4;border-color:#ded4e3;border-top:3px solid #bc9954}.footer-social__links a {color:#375b43;border-color:#ddd3c0;background:#fdfaf5}.footer-social__links svg {color:#7c688c}.footer-group summary {border-bottom:2px solid #c5a267;padding-bottom:12px}.footer-warm a:focus-visible,.footer-group summary:focus-visible {outline-color:#7c688c}.footer-warm .site-footer__legal {border-top-color:#d9c7a0}.footer-welcome {border-bottom-color:#d9c7a0}
.footer-identity .footer-experience { color:var(--sage-deep); font-weight:650; margin:10px 0 4px; } .footer-identity .footer-purpose { margin:0 0 12px; font-style:italic; }

/* Consistent six-button social panel used throughout the preview site. */
.footer-social__links { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; }
.footer-social__links a,
.footer-social__links .footer-social__google { align-items:center; justify-content:center; margin:0; min-height:52px; padding:.7rem .6rem; width:100%; }
.footer-social__links a:hover,
.footer-social__links a:focus-visible { background:#2f4b3e; border-color:#2f4b3e; color:#fff; }
.footer-social__links a:hover svg,
.footer-social__links a:focus-visible svg { color:#fff; }
@media(max-width:640px) { .footer-social__links { grid-template-columns:repeat(2,minmax(0,1fr)); } .footer-social__links a:last-child { grid-column:auto; } }

/* Roseville hub cards carry the same warm hero imagery as their destination pages. */
.roseville-financing-cards article { display:flex; flex-direction:column; overflow:hidden; padding:0; }
.roseville-financing-cards article > img { height:190px; object-fit:cover; width:100%; }
.roseville-financing-cards article > :not(img) { margin-left:26px; margin-right:26px; }
.roseville-financing-cards article > img + h3 { margin-top:22px; }
.roseville-financing-cards article > a:last-child { margin-bottom:26px; }

/* Personal, welcoming contact page. */
.contact-intro { background:var(--cream); padding:48px 0; border-bottom:3px solid var(--gold); }
.contact-intro__grid { display:grid; grid-template-columns:1.35fr .8fr; gap:70px; align-items:center; }
.contact-intro h1 { font-family:var(--font-display); color:var(--sage-deep); font-size:clamp(2rem,3.4vw,3.2rem); line-height:1.2; }
.contact-lead { font-size:1.15rem; line-height:1.8; }
.contact-intro figure { margin:0; max-width:400px; justify-self:center; }
.contact-intro figure img { width:100%; height:auto; display:block; border-radius:16px; }
.contact-intro figcaption { font-size:.78rem; text-align:center; padding-top:14px; color:var(--sage-deep); }
.contact-experience { font-size:.85rem; margin-top:24px; line-height:1.8; }
.contact-methods { display:grid; grid-template-columns:repeat(4,1fr); gap:20px; margin-top:28px; }
.contact-methods article { background:var(--cream); padding:24px; border:1px solid var(--rule); border-top:3px solid var(--gold); border-radius:10px; }
.contact-page h2,.contact-page h3 { color:var(--sage-deep); }
.contact-methods h3 { margin-top:0; }
.contact-methods a { display:block; margin-top:12px; overflow-wrap:anywhere; font-weight:600; font-size:.9rem; }
.contact-visit { display:grid; grid-template-columns:1fr 1.2fr; gap:70px; }
.contact-visit address { font-style:normal; font-weight:600; }
@media(max-width:1000px) { .contact-methods {grid-template-columns:1fr 1fr;} .contact-intro__grid {gap:32px;} }
@media(max-width:800px) { .contact-intro__grid,.contact-visit {grid-template-columns:1fr;gap:30px;} .contact-intro figure {max-width:330px;} }
@media(max-width:540px) { .contact-methods {grid-template-columns:1fr;} }

.nav-mega--gpts { grid-template-columns:1fr 1fr 1.25fr; max-height:calc(100vh - 160px); overflow-y:auto; } @media(max-width:900px) { .nav-mega--gpts {grid-template-columns:1fr; max-height:none;} }

.afford-guide {display:grid;grid-template-columns:220px 1fr;gap:36px;align-items:center;} .afford-guide img {width:100%;height:auto;border-radius:10px;} #housing-gap-form input {display:block;width:100%;padding:12px;border:1px solid var(--sage);border-radius:6px;margin-top:10px;} #housing-gap-form label {font-weight:600;} #housing-gap-result {display:block;margin-top:18px;font-weight:600;color:var(--sage-deep);} @media(max-width:640px){.afford-guide{grid-template-columns:1fr}.afford-guide img{max-width:220px;}}
.saving-ideas-video { display:block; width:100%; max-width:900px; max-height:650px; margin:24px auto; background:var(--sand); border:1px solid var(--rule); border-radius:12px; object-fit:contain; }
.saving-ideas-video { max-width:400px; height:auto; } #saving-ideas-video { scroll-margin-top:170px; }
.saving-ideas-video { max-width:280px; max-height:500px; margin:18px auto; }

#afford-guides .afford-guide + .afford-guide {margin-top:40px;padding-top:40px;border-top:1px solid var(--rule);} #start-here,#housing-gap,#bridge-the-gap,#practice-payment,#afford-guides {scroll-margin-top:170px;}

#start-here .afford-guide, #bridge-the-gap .afford-guide {margin-top:36px;padding-top:28px;border-top:1px solid var(--rule);} #bridge-gap-guide {scroll-margin-top:170px;}

#side-hustle-savings {scroll-margin-top:170px;} #side-hustle-savings .afford-guide {margin-top:36px;padding-top:28px;border-top:1px solid var(--rule);}

.afford-hero-grid {display:grid;grid-template-columns:1fr 1.25fr;gap:40px;align-items:center;} .afford-hero-photo {margin:0;} .afford-hero-photo img {display:block;width:100%;height:auto;border-radius:16px;} .afford-start .site-callout {margin:0;} .afford-start ol {display:grid;grid-template-columns:repeat(4,1fr);gap:28px;padding-left:24px;} @media(max-width:900px){.afford-hero-grid{grid-template-columns:1fr;gap:28px;}.afford-start ol{grid-template-columns:1fr 1fr;}} @media(max-width:540px){.afford-start ol{grid-template-columns:1fr;gap:12px;}}

.afford-section-photo {max-width:720px;margin:28px auto;} .afford-section-photo img {display:block;width:100%;height:auto;border-radius:14px;} .afford-encouragement {color:var(--sage-deep);font-weight:600;}

.blog-video {width:100%;max-width:800px;margin:28px auto;clear:both;}
.blog-video__play {display:block;position:relative;width:100%;aspect-ratio:16/9;border:0;padding:0;overflow:hidden;border-radius:12px;background:#f4efe7;cursor:pointer;}
.blog-video__play img {display:block;width:100%;height:100%;object-fit:cover;}
.blog-video__play span {position:absolute;bottom:16px;left:16px;background:#392a46;color:white;padding:10px 18px;border-radius:8px;font:600 16px sans-serif;}
.blog-video__play:focus-visible {outline:3px solid #af8a42;outline-offset:4px;}
.blog-video iframe {display:block;width:100%;aspect-ratio:16/9;height:auto;border:0;border-radius:12px;}
.blog-video__fallback {margin:8px 0 0;font-size:14px;}

.article-resources {min-width:0;align-self:start;display:grid;gap:22px;}
.article-resource-card {background:#f8f5ed;border:1px solid #e5dcc8;border-top:3px solid #b39553;border-radius:12px;padding:20px;color:#314237;}
.article-resource-card h2 {font-size:1.35rem;line-height:1.25;color:#203d32;margin:12px 0;}
.article-resource-card p {font-size:.94rem;line-height:1.6;}
.article-resource-card a {color:#38543e;}
.article-resource-card .site-btn {color:#fff;white-space:normal;text-align:center;font-size:.9rem;line-height:1.45;}
.article-resource-kicker {text-transform:uppercase;letter-spacing:.08em;font-size:.7rem!important;color:#596d56;}
.article-author__photo {display:block;width:100%;max-width:190px;height:auto;margin:0 auto 16px;border-radius:10px;}
.article-author__license {font-size:.72rem!important;}
.article-guide-cover {display:block;max-width:150px;width:100%;height:auto;margin:18px auto;box-shadow:0 5px 14px #24392a15;}
.article-resource-card ul {list-style:none;padding:0;margin:0;}
.article-resource-card li {border-top:1px solid #e5dcc8;padding:12px 0;}
.article-related-grid {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;}
.article-related-card {background:#fff;border:1px solid #e5dcc8;border-radius:10px;overflow:hidden;color:#203d32;text-decoration:none;}
.article-related-card img {display:block;width:100%;height:180px;object-fit:contain;background:#f8f5ed;}
.article-related-card span {display:block;padding:18px;font-weight:600;line-height:1.5;}
.article-booking {margin-top:38px;padding-top:28px;border-top:1px solid #b39553;text-align:center;}
@media(max-width:860px){.article-resources{grid-template-columns:repeat(2,minmax(0,1fr));}.article-author{grid-column:1/-1;}.article-author__photo{max-width:150px;}}
@media(max-width:560px){.article-resources,.article-related-grid{grid-template-columns:1fr;}.article-booking .site-btn{white-space:normal;}}

/* Approved cream resource cards with colored icon panels. */
.article-resource-card .article-resource-links {display:grid;gap:12px;}
.article-resource-card .article-resource-links li {padding:0;border:0;min-width:0;}
.article-resource-link {--resource-accent:#49654a;display:grid;grid-template-columns:42px minmax(0,1fr) 22px;gap:9px;align-items:center;min-height:100px;padding:0 9px 0 0;background:#fff8e9;border:1px solid #e5d8bc;border-radius:10px;overflow:hidden;text-decoration:none;box-shadow:0 3px 8px #283e3010;transition:transform .18s,box-shadow .18s;}
.article-resource-links li:nth-child(2) .article-resource-link {--resource-accent:#816226;}
.article-resource-links li:nth-child(3) .article-resource-link {--resource-accent:#675074;}
.article-resource-links li:nth-child(4) .article-resource-link {--resource-accent:#315e49;}
.article-resource-link {--resource-panel:#e0e8d9;}
.article-resource-links li:nth-child(2) .article-resource-link {--resource-panel:#f1e5c8;}
.article-resource-links li:nth-child(3) .article-resource-link {--resource-panel:#e9e0ef;}
.article-resource-links li:nth-child(4) .article-resource-link {--resource-panel:#dce9df;}
.article-resource-icon {align-self:stretch;display:grid;place-items:center;background:var(--resource-panel);color:var(--resource-accent);}
.article-resource-icon svg {width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;}
.article-resource-copy {padding:13px 0;min-width:0;}
.article-link-kicker {display:block;color:var(--resource-accent);font-size:8px;letter-spacing:.07em;text-transform:uppercase;line-height:1.4;margin-bottom:5px;}
.article-link-title {display:block;color:var(--resource-accent);font:600 16px/1.2 Georgia,serif;overflow-wrap:break-word;}
.article-link-description {display:block;color:#4b584d;font-size:11px;line-height:1.4;margin-top:5px;}
.article-resource-arrow {display:grid;place-items:center;width:22px;height:22px;background:#ebdbb3;color:#4c4024;border-radius:50%;font-size:17px;}
.article-resource-link:hover {transform:translateY(-2px);box-shadow:0 7px 16px #283e301a;}
.article-resource-link:focus-visible {outline:3px solid #b59b5c;outline-offset:3px;}
@media(prefers-reduced-motion:reduce){.article-resource-link{transition:none}.article-resource-link:hover{transform:none}}

/* First-time homebuyer article quiz and course image cards. */
.article-first-home-tool img {display:block;width:100%;height:auto;border-radius:8px;margin:16px 0;}.article-first-home-tool .site-btn {display:flex;justify-content:center;width:100%;box-sizing:border-box;}
/* Blog article library: cream image cards with accessible browsing controls. */
.blog-library {margin-top:56px;scroll-margin-top:180px;}
.blog-library-grid {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;}
.blog-library-card {background:#fff8ed;border:1px solid #e2d9c5;border-radius:12px;overflow:hidden;box-shadow:0 4px 14px #263c3010;}
.blog-library-card a {display:flex;flex-direction:column;height:100%;color:#294c3a;text-decoration:none;}
.blog-library-card img {width:100%;aspect-ratio:16/9;height:auto;object-fit:contain;background:#f1ede4;display:block;}
.blog-library-card__copy {padding:20px;display:flex;flex-direction:column;flex:1;}
.blog-library-card .blog-library-card__category {font-size:.73rem;font-weight:600;color:#6d577c;margin:0 0 12px;}
.blog-library-card h3 {font-size:1.16rem;line-height:1.4;margin:0 0 20px;}
.blog-library-card__read {margin-top:auto;align-self:flex-start;background:#e0e8d9;border:1px solid #c7d3bf;border-radius:6px;padding:8px 13px;font-weight:600;font-size:.85rem;}
.blog-library-card a:hover {background:#fbf3e2;}
.blog-library-card a:focus-visible {outline:3px solid #9c7f42;outline-offset:-3px;}
.blog-library-controls {display:grid;grid-template-columns:auto minmax(180px,1fr) auto minmax(180px,1fr);gap:12px;align-items:center;margin:24px 0 14px;}
.blog-library-controls label {font-weight:600;font-size:.85rem;}
.blog-library-controls select,.blog-library-controls input {min-width:0;width:100%;box-sizing:border-box;padding:12px;border:1px solid #a8b49e;border-radius:7px;background:#fffdf8;font:inherit;color:#294c3a;}
.blog-library-pagination {display:flex;justify-content:center;align-items:center;gap:22px;margin:30px 0;}
.blog-library-pagination button {padding:12px 20px;border:1px solid #9ba991;border-radius:7px;background:#e0e8d9;color:#294c3a;font:600 .9rem inherit;cursor:pointer;}
.blog-library-pagination button:disabled {opacity:.45;cursor:default;}
.blog-library [hidden] {display:none!important;}
#article-library-title {scroll-margin-top:180px;}
@media(max-width:1000px){.blog-library-controls{grid-template-columns:1fr 1fr;}.blog-library-controls label{grid-row:1;}.blog-library-controls select,.blog-library-controls input{grid-row:2;}}
@media(max-width:700px){.blog-library-grid{grid-template-columns:1fr;}.blog-library-controls{display:flex;flex-direction:column;align-items:stretch;}.blog-library-pagination{gap:12px;}}

/* Warm editorial header for the main blog library. */
.site-page-hero.blog-library-hero {background:#fbf6ec;color:#344638;min-height:0;padding:42px 0 44px;border-bottom:2px solid #c5a267;}
.site-page-hero.blog-library-hero::before {content:none;}
.blog-library-hero h1 {color:#294c3a;max-width:25ch;font-size:clamp(2rem,4.2vw,3.3rem);line-height:1.15;}
.site-page-hero.blog-library-hero .site-hero__eyebrow {color:#756181;}
.blog-library-hero .site-hero__lead {color:#485747;max-width:70ch;line-height:1.7;}
.blog-library-hero .site-breadcrumbs,.blog-library-hero .site-breadcrumbs a {color:#596650;}
.blog-library-hero .site-btn--secondary {color:#294c3a;background:#f1e5c8;border-color:#c5a267;}
.blog-library-hero .site-btn--primary {background:#49654a;color:#fffdf8;border-color:#49654a;}
@media(max-width:600px){.site-page-hero.blog-library-hero{padding:28px 0 32px;}}

/* Inspiration Hub: original guides, videos and podcast resources. */
.inspiration-hub {color:#344638;}
.inspiration-hub h1,.inspiration-hub h2,.inspiration-hub h3 {color:#294c3a;}
.inspiration-hub p {line-height:1.75;}
.inspiration-hero {background:#fbf6ec;padding:44px 0 50px;border-bottom:2px solid #c5a267;}
.inspiration-hero h1 {font-family:var(--font-display);font-size:clamp(2rem,4vw,3.4rem);line-height:1.15;}
.inspiration-hero .site-breadcrumbs a {color:#49654a;}
.inspiration-split {display:grid;grid-template-columns:1.15fr 1fr;gap:42px;align-items:center;}
.inspiration-split>img {display:block;width:100%;height:auto;border-radius:16px;}
.inspiration-lead {font-size:1.15rem;}
.inspiration-eyebrow {font-size:.78rem;letter-spacing:.1em;text-transform:uppercase;color:#756181;font-weight:600;}
.inspiration-tint {background:#f4f0e7;}
.inspiration-jumps {display:flex;flex-wrap:wrap;gap:12px;margin:0 0 34px;}
.inspiration-jumps a {padding:12px 18px;background:#e0e8d9;border:1px solid #c8d1be;border-radius:8px;color:#294c3a;text-decoration:none;}
.inspiration-guides {display:grid;grid-template-columns:1fr 1fr;gap:26px;margin:30px 0;}
.inspiration-guide {display:grid;grid-template-columns:150px 1fr;gap:22px;align-items:start;padding:24px;background:#fffaf0;border:1px solid #e1d5bc;border-radius:12px;}
.inspiration-guide img {width:100%;height:210px;object-fit:contain;display:block;}
.inspiration-guide h3 {margin-top:0;}
.inspiration-hub .site-btn {white-space:normal;text-align:center;}
.inspiration-guide .site-btn--secondary {background:#e8dfed;border-color:#cfc1d7;color:#51415d;}
.inspiration-videos,.inspiration-stories {display:grid;grid-template-columns:1fr 1fr;gap:32px;}
.inspiration-videos .blog-video {margin:20px 0;}
.inspiration-meditation {display:grid;grid-template-columns:260px 1fr;gap:44px;align-items:center;}
.inspiration-meditation img {width:100%;height:auto;display:block;border-radius:14px;}
.inspiration-stories>a {display:block;background:#fffaf0;border:1px solid #e1d5bc;border-radius:12px;overflow:hidden;color:#344638;text-decoration:none;}
.inspiration-stories img {display:block;width:100%;height:230px;object-fit:contain;background:#f4f0e7;}
.inspiration-stories>a>div {padding:26px;}
.inspiration-stories span {font-weight:650;text-decoration:underline;}
.inspiration-split>.inspiration-amy {max-width:280px;justify-self:center;}
.inspiration-bottom {background:#fff8e9;border:1px solid #d9c7a0;border-left:5px solid #b39553;padding:28px;border-radius:12px;margin-bottom:40px;}
.inspiration-hub [id] {scroll-margin-top:175px;}
@media(max-width:1000px){.inspiration-guides{grid-template-columns:1fr;}}
@media(max-width:760px){.inspiration-split,.inspiration-videos,.inspiration-stories,.inspiration-meditation{grid-template-columns:1fr;gap:26px;}.inspiration-meditation>a{max-width:240px;}.inspiration-guide{grid-template-columns:110px 1fr;padding:18px;gap:16px;}.inspiration-guide img{height:165px;}}
@media(max-width:420px){.inspiration-guide{grid-template-columns:1fr;}.inspiration-guide>a{max-width:170px;margin:auto;}.inspiration-guide img{height:auto;}}

/* Soft brand pastels, scoped to the Inspiration Hub. */
.inspiration-hub .site-btn {background:#e1e9da;border-color:#c0cdb7;color:#304b36;box-shadow:0 3px 10px #5b4d3820;}
.inspiration-hero .site-btn,.inspiration-guide:nth-child(3) .site-btn,.inspiration-bottom .site-btn {background:#f1e3bf;border-color:#d7c292;color:#65502b;}
.inspiration-guide:nth-child(2) .site-btn,#inspiration-meditations .site-btn {background:#e9dfee;border-color:#cdbbd6;color:#594468;}
.inspiration-guide:nth-child(4) .site-btn {background:#e0ebe3;border-color:#bdd0c3;color:#315942;}
.inspiration-jumps a:nth-child(3n+2) {background:#e9dfee;border-color:#cdbbd6;color:#594468;}
.inspiration-jumps a:nth-child(3n) {background:#f1e3bf;border-color:#d7c292;color:#65502b;}
.inspiration-hub .blog-video__play span {background:#e9dfee;color:#594468;}
.inspiration-hub .site-btn:hover,.inspiration-jumps a:hover {filter:brightness(.96);}
.inspiration-hub .site-btn:focus-visible,.inspiration-jumps a:focus-visible {outline:3px solid #756181;outline-offset:3px;}

/* Veterans hub: preserve the full approved family portrait. */
.veterans-sunny-hero .split__media { display: flex; align-items: center; min-height: 0; background: var(--cream); }
.veterans-sunny-hero .split__media img { position: static; display: block; width: 100%; height: auto; min-height: 0; object-fit: contain; }

/* Shared VA hub: visible local video previews and intact article artwork. */
.va-video-card .va-video-preview { margin: 0; max-width: none; }
.va-video-preview .blog-video__play { border-radius: 0; }
.va-video-preview .blog-video__play img { object-fit: contain; background: #f8f5ed; }
.va-blog-card > a { min-width: 0; }
.va-blog-card img { aspect-ratio: 4 / 3; object-fit: contain; background: #f8f5ed; }

/* FLEX income options */
.flex-content > section, .flex-related { margin: 38px 0; }
.flex-content { max-width: 1100px; margin-inline: auto; }
.flex-story { display: grid; grid-template-columns: minmax(180px,.7fr) minmax(0,1.3fr); gap: 28px; padding: 28px; margin: 38px 0; border: 1px solid #ded7c7; border-radius: 20px; background: #f8f2e7; align-items: center; }
.flex-story img { display: block; width: 100%; max-height: 390px; object-fit: contain; border-radius: 12px; }
.flex-story h2 { margin-top: 8px; }
.flex-next { padding: 28px; background: #eaf1e3; border-radius: 18px; }
.flex-review-note { font-size: .9rem; }
.flex-related ul { display: flex; gap: 12px 24px; flex-wrap: wrap; padding-left: 22px; }
@media(max-width:640px) { .flex-story { grid-template-columns: 1fr; padding:20px; } .flex-next {padding:20px;} }

/* Self-employed audience hub: soft lavender, cream, and sage. */
.se-hub { background:#fbf8f1; color:#35312e; }
.se-hub h1,.se-hub h2,.se-hub h3 { color:#45364e; }
.se-hub h1 {font-size:clamp(2rem,3.1vw,3.1rem);line-height:1.1;margin:16px 0;}
.se-hub h2 {font-size:clamp(1.65rem,2.5vw,2.4rem);line-height:1.2;}
.se-hub p {line-height:1.65;}
.se-hero {display:grid;grid-template-columns:1.15fr 1fr;background:#eee7f1;align-items:center;}
.se-hero__image img {display:block;width:100%;height:auto;}
.se-hero__copy {padding:clamp(24px,4vw,56px);}
.se-hero .site-breadcrumbs,.se-hero .site-breadcrumbs a {color:#55465b;}
.se-hub .home-kicker {color:#4d6752;}
.se-hub .site-btn--primary {background:#506b54;color:#fff;border-color:#506b54;}
.se-hub .site-btn--primary:hover {background:#3a553e;}
.se-hub .site-btn--secondary {background:#fffaf0;color:#49394e;border-color:#b9a7bf;}
.se-small {font-size:.875rem;}
.se-jump {display:flex;flex-wrap:wrap;justify-content:center;gap:12px;padding:24px;background:#f8f3e9;}
.se-jump a {padding:10px 18px;border-radius:30px;background:#e8e0ed;color:#49394e;text-decoration:none;font-weight:600;}
.se-jump a:nth-child(2n) {background:#e7edde;color:#36543d;}
.se-jump a:nth-child(3n) {background:#f0e3c7;color:#584722;}
.se-section {padding:40px 0;scroll-margin-top:145px;}
.se-hub #sylvia-story {scroll-margin-top:145px;}
.se-steps,.se-resource-grid {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-top:28px;}
.se-steps article {padding:24px;border-radius:16px;background:#f0eaf2;}
.se-steps article:nth-child(2) {background:#eaf0e4;}
.se-steps article:nth-child(3) {background:#f5ead4;}
.se-steps span {font-size:1.2rem;color:#705831;font-weight:700;}
.se-options {display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin-top:26px;}
.se-option {padding:22px;background:#fffdf7;border:1px solid #ded4c4;border-top:4px solid #bba6c6;border-radius:16px;text-decoration:none;color:inherit;}
.se-option:nth-child(3n+2) {border-top-color:#99ad91;}
.se-option:nth-child(3n) {border-top-color:#c4a66e;}
.se-option h3 {font-size:1.2rem;margin:0 0 12px;}
.se-option p {font-size:.95rem;}
.se-option span,.se-resource span,.se-article span {font-weight:700;color:#4e6753;}
.se-option:hover,.se-resource:hover,.se-article:hover {box-shadow:0 5px 18px #45364e15;}
.se-prep {padding:30px;background:#efe9f1;border-radius:20px;}
.se-prep__grid,.se-articles {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:26px;}
.se-prep li {margin-bottom:12px;}
.se-guide {display:grid;grid-template-columns:200px 1fr;gap:32px;align-items:center;background:#f3ead8;border-radius:18px;padding:28px;}
.se-guide img {display:block;width:100%;max-height:290px;object-fit:contain;}
.se-resource {padding:24px;border:1px solid #ddd3e0;border-radius:16px;background:#eee7f1;color:inherit;text-decoration:none;}
.se-resource:nth-child(2) {background:#eaf0e4;}
.se-resource:nth-child(3) {background:#f5ead4;}
.se-article {display:block;background:#fffdf7;border:1px solid #ded4c4;border-radius:18px;overflow:hidden;color:inherit;text-decoration:none;}
.se-article img {display:block;width:100%;height:240px;object-fit:contain;background:#f4efe5;}
.se-article > div {padding:24px;}
.se-advisor {display:grid;grid-template-columns:minmax(180px,.7fr) minmax(0,1.5fr);gap:38px;align-items:center;padding:32px;background:#eee7f1;border-radius:22px;margin:24px 0 60px;}
.se-advisor img {width:100%;max-height:420px;object-fit:contain;border-radius:16px;}
.se-hub a:focus-visible {outline:3px solid #92702f;outline-offset:4px;}
@media(max-width:1050px){.se-options{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media(max-width:850px){.se-hero{grid-template-columns:1fr;}.se-hero__copy{padding:28px;}.se-steps,.se-resource-grid{grid-template-columns:1fr;}.se-advisor{grid-template-columns:1fr;}.se-advisor img{max-height:300px;}}
@media(max-width:540px){.se-options,.se-prep__grid,.se-articles,.se-guide{grid-template-columns:1fr;}.se-guide img{max-height:260px;}.se-guide,.se-prep,.se-advisor{padding:22px;}.se-jump{justify-content:flex-start;}.se-section{padding-top:28px;padding-bottom:28px;}.se-option{padding:20px;}}

/* Jessica and Mike: verified self-employed homeowner review. */
.se-review{display:grid;grid-template-columns:1fr 1fr;gap:36px;align-items:center;}
.se-review__art{display:block;border-radius:20px;overflow:hidden;box-shadow:0 10px 30px #45364e12;}
.se-review__art img{display:block;width:100%;height:auto;}
.se-review blockquote{margin:24px 0;padding:22px;background:#eee7f1;border-left:4px solid #b79a57;border-radius:0 14px 14px 0;}
.se-review blockquote p{font-size:1.15rem;line-height:1.6;color:#45364e;}
.se-review blockquote footer{font-weight:600;color:#506b54;}
@media(max-width:760px){.se-review{grid-template-columns:1fr;gap:24px;}.se-review__art{max-width:600px;}}

.heloc-reading{display:grid;grid-template-columns:1fr 1.2fr;gap:28px;align-items:center;background:#f4efe7;padding:24px;border-radius:18px;margin:36px 0;}.heloc-reading img{width:100%;height:auto;border-radius:12px;display:block;}@media(max-width:700px){.heloc-reading{grid-template-columns:1fr;}}

/* Retirement hub lifestyle imagery */
.retirement-moment{max-width:1200px;margin:32px auto;display:grid;grid-template-columns:1fr 1fr;align-items:center;background:#f3ead8;border-radius:18px;overflow:hidden;}.retirement-moment>img{display:block;width:100%;height:auto;}.retirement-moment>div{padding:clamp(24px,4vw,48px);}.retirement-moment h2{font-size:clamp(1.5rem,2.5vw,2rem);line-height:1.25;}.retirement-moment--lavender{background:#eee7f1;}@media(max-width:700px){.retirement-moment{grid-template-columns:1fr;margin:24px 16px;}}

/* Dream Homebuyer Hub: warm luxury, full image, readable product guidance. */
.dream-hub .dream-hero{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);background:#f8f3e9;align-items:center}
.dream-hero__copy{padding:clamp(28px,4vw,68px)}
.dream-hero__copy h1{font-size:clamp(2rem,3.1vw,3.4rem);line-height:1.12;margin:14px 0 22px;color:#403747}
.dream-hero__image img{display:block;width:100%;height:auto}
.dream-note{font-size:.88rem;color:#625b5c;margin-top:15px}
.dream-hub h2{color:#44384c}.dream-hub .se-jump{padding-top:22px;padding-bottom:22px}
.dream-reading{max-width:940px}.dream-reading p,.dream-reading li{line-height:1.8}
.dream-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;margin-top:28px}
.dream-options .program-card img,.dream-articles .program-card img{object-fit:cover}
.dream-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin:28px 0}
.dream-steps>div{background:#fffdf8;border:1px solid #ded5c6;padding:22px;border-radius:14px}.dream-steps h3{font-size:1.15rem}
.dream-feature{display:grid;grid-template-columns:1fr 1fr;gap:36px;align-items:center;margin-bottom:36px}.dream-feature>img{width:100%;height:auto;border-radius:20px}
.dream-articles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;margin:28px 0}
.dream-video{aspect-ratio:16/9;border-radius:18px;overflow:hidden;background:#ece7f0}.dream-video iframe{display:block;width:100%;height:100%;border:0}
@media(max-width:850px){.dream-hub .dream-hero,.dream-feature{grid-template-columns:1fr}.dream-options{grid-template-columns:repeat(2,minmax(0,1fr))}.dream-steps,.dream-articles{grid-template-columns:1fr}.dream-hero__copy{padding:30px 24px}}
@media(max-width:540px){.dream-options{grid-template-columns:1fr}}

.dream-hero .breadcrumbs a,.dream-hero [aria-label="Breadcrumb"] a{color:#4a6253;text-decoration:underline}

/* Dream hub: lifestyle and planning before financing. */
.dream-journey-intro{max-width:880px;margin:0 auto 30px;text-align:center}
.dream-stage-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.dream-stage{padding:28px;border-radius:18px;background:#f8f2e5;border:1px solid #e5dac8}
.dream-stage:nth-child(2){background:#edf1e9}.dream-stage:nth-child(3){background:#f0eaf3}
.dream-stage h3{font-size:1.5rem;line-height:1.25;color:#44384c}.dream-stage a{font-weight:650;color:#385746}
.dream-lifestyle{display:grid;grid-template-columns:1.15fr 1fr;gap:34px;align-items:center;margin-top:42px}
.dream-lifestyle img{display:block;width:100%;height:auto;border-radius:18px}.dream-lifestyle h3{font-size:1.9rem;line-height:1.2;color:#44384c}
.dream-section-photo{display:block;width:100%;height:auto;max-height:490px;object-fit:cover;border-radius:18px;margin:0 0 32px}
@media(max-width:850px){.dream-stage-grid,.dream-lifestyle{grid-template-columns:1fr}.dream-journey-intro{text-align:left}}

.dream-buy-path{padding:28px 0;border-top:1px solid #d9cfbe;margin-top:28px;scroll-margin-top:130px}.dream-buy-path h3{font-size:clamp(1.4rem,2.3vw,1.9rem);line-height:1.25;color:#44384c}

.construction-pros{grid-template-columns:repeat(2,minmax(0,1fr))}.construction-hub .dream-options{grid-template-columns:repeat(2,minmax(0,1fr))}@media(max-width:650px){.construction-pros,.construction-hub .dream-options{grid-template-columns:1fr}}

/* Family hub: warm cream and muted gold, scoped to its hero. */
.family-gold-hero .split__copy{background:#f7efdf;color:#403344;border-bottom:5px solid #b99b5b}
.family-gold-hero h1,.family-gold-hero .serve-chapter,.family-gold-hero .split__copy p{color:#403344}
.family-gold-hero .home-kicker{color:#735820}
.family-gold-hero .site-breadcrumbs,.family-gold-hero .site-breadcrumbs a{color:#55425d}
.family-gold-hero .site-btn--primary{background:#dfc58c;color:#352a3d;border:1px solid #a78846}
.family-gold-hero .site-btn--primary:hover{background:#ceb06e;color:#352a3d}
.family-gold-hero .site-btn--secondary{background:#fffaf1;color:#49345d;border:1px solid #b8a4c6}
.family-gold-hero .site-btn--secondary:hover{background:#e9dff0;color:#352a3d}

.family-gold-hero .split__media{display:flex;align-items:center;background:#f7efdf}
.family-gold-hero .split__media img{position:static;display:block;width:100%;height:auto;min-height:0;object-fit:contain}
#family-space .dream-feature>img{height:auto;object-fit:contain}

/* Self-employed hub: matching product-library image cards. */
.se-hub .se-option{padding:0;overflow:hidden;display:flex;flex-direction:column;}
.se-hub .se-option>img{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;}
.se-hub .se-option__copy{padding:20px;display:flex;flex-direction:column;flex:1;}
.se-hub .se-option__copy>span{margin-top:auto;}

/* Homepage: a warm open-door welcome, scoped to this page. */
.home-welcome{background:#fffaf2;color:#443c39}.home-welcome h1,.home-welcome h2,.home-welcome h3{color:#493552}.welcome-hero{display:grid;grid-template-columns:42% 58%;align-items:center;background:#faf3e8}.welcome-copy{padding:54px clamp(24px,4vw,70px)}.welcome-copy h1{font-size:clamp(34px,3.5vw,58px);line-height:1.08;margin:18px 0 24px}.welcome-lead{font-size:22px;line-height:1.45}.welcome-photo img{display:block;width:100%;height:auto}.welcome-note{font-size:14px}.welcome-signature{display:flex;align-items:center;gap:15px;margin-top:24px;text-decoration:none;color:#493552}.welcome-signature img{width:72px;height:85px;object-fit:cover;border-radius:36px 36px 12px 12px}.welcome-signature small{font-size:13px}.welcome-trust{text-align:center;padding:20px;background:#eee5d8;font-size:14px}.welcome-trust span{margin:0 15px}.home-welcome .site-btn--primary{background:#e1c38c;color:#342838;border:1px solid #c5a363}.home-welcome .site-btn--primary:hover{background:#d4b074}.home-welcome .site-btn--secondary{background:#eee5f2;color:#493552;border:1px solid #cabbcf}.home-welcome .home-band{background:#fffaf2;padding:65px 0}.home-welcome .serve-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.home-welcome .serve-card{background:#fffdf8;border:1px solid #e6daca;border-radius:16px;overflow:hidden;box-shadow:0 4px 15px #59473008}.home-welcome .serve-card img{width:100%;height:190px;object-fit:cover}.home-welcome .serve-card__body{padding:23px}.home-welcome .serve-card__body p{font-size:16px}.home-welcome .serve-card__cta{color:#62486c}.welcome-plan{background:#f0e9f2;padding:65px 0}.welcome-three{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin-top:30px}.welcome-three>article,.welcome-three>a{padding:28px;border-radius:16px;background:#fffaf3;color:#443c39;text-decoration:none}.welcome-three>a{border:1px solid #deceb7;background:#f6eddc}.welcome-three>a:nth-child(2){background:#eee7f2}.welcome-three>a:nth-child(3){background:#edf0e7}.welcome-three span{color:#75567f;font-weight:600}.welcome-close{text-align:center;padding:70px 24px;background:#f3e9d8}.welcome-close .container{max-width:850px}.home-welcome a:focus-visible{outline:3px solid #725481;outline-offset:4px}@media(max-width:1000px){.welcome-hero{grid-template-columns:1fr}.welcome-copy{padding:35px 24px}.welcome-photo{grid-row:1}.welcome-photo img{max-height:580px;object-fit:contain}.home-welcome .serve-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:600px){.home-welcome .serve-grid,.welcome-three{grid-template-columns:1fr}.welcome-trust span{margin:0 4px}.welcome-trust{font-size:12px}.home-welcome .home-band,.welcome-plan{padding:42px 0}.welcome-copy h1{font-size:38px}}

/* Distinct homepage opening and full introduction to Amy. */
.home-welcome .welcome-hero--editorial{position:relative;grid-template-columns:40% 60%;padding:38px 0 48px;align-items:center;background:#f8f0e3;isolation:isolate}.welcome-hero--editorial .welcome-copy{position:relative;z-index:1;padding:35px 32px 35px max(24px,4vw);margin-right:-55px;background:#fff8ec;border-radius:0 20px 20px 0;box-shadow:16px 18px 45px #50361b0d}.welcome-hero--editorial .welcome-copy h1{font-family:Georgia,'Times New Roman',serif;font-size:clamp(44px,4.5vw,76px);font-weight:400;letter-spacing:-.035em;line-height:1.04;margin:20px 0}.welcome-hero--editorial h1 em{display:block;font-weight:400;color:#74577a}.welcome-hero--editorial .welcome-photo{padding-right:22px}.welcome-hero--editorial .welcome-photo img{border-radius:18px;width:100%;height:auto}.welcome-description{font-size:14px;font-weight:600;letter-spacing:.04em;color:#6e563d;max-width:390px}.welcome-hero--editorial .welcome-lead{font-family:Georgia,serif;font-size:25px;margin-top:24px}.home-meet-amy{display:grid;grid-template-columns:40% 60%;max-width:1250px;margin:0 auto;padding:80px 32px;gap:0;align-items:center;scroll-margin-top:150px}.home-amy-portrait{padding-right:48px}.home-amy-portrait img{display:block;width:100%;height:auto;border-radius:160px 160px 16px 16px}.home-amy-portrait>p{text-align:center;background:#e9d4ae;color:#493552;padding:14px;margin:0 15px;border-radius:0 0 14px 14px;font-weight:600}.home-amy-copy h2{font-family:Georgia,serif;font-size:clamp(34px,3.5vw,52px);font-weight:400;line-height:1.15;margin-bottom:12px}.home-amy-title{color:#765b7b;font-weight:600}.home-amy-title small{font-size:13px;font-weight:400}.home-amy-copy h3{font-size:25px;margin-top:28px}.home-amy-slogan{font-family:Georgia,serif;font-style:italic;font-size:24px;color:#765b7b;border-left:3px solid #c9a15c;padding-left:20px}@media(max-width:900px){.home-welcome .welcome-hero--editorial{display:flex;flex-direction:column;padding:20px 18px 30px}.welcome-hero--editorial .welcome-photo{order:0;padding:0;width:100%}.welcome-hero--editorial .welcome-copy{order:1;margin:-20px 12px 0;padding:28px;border-radius:15px}.welcome-hero--editorial .welcome-copy h1{font-size:48px}.home-meet-amy{grid-template-columns:38% 62%;padding:48px 24px}.home-amy-portrait{padding-right:24px}}@media(max-width:600px){.home-meet-amy{grid-template-columns:1fr;gap:30px}.home-amy-portrait{padding:0;max-width:350px;margin:auto}.welcome-hero--editorial .welcome-copy{margin:-12px 4px 0;padding:24px}.welcome-hero--editorial .welcome-copy h1{font-size:43px}.home-amy-copy h2{font-size:38px}}

/* Homepage finishing touches: coordinated actions and prominent contact links. */
body:has(.home-welcome) .site-header__ctas .site-btn--primary{background:#28513e;color:#fffaf2;border-color:#28513e}body:has(.home-welcome) .site-header__ctas .site-btn--primary:hover{background:#1e4030;color:#fffaf2}body:has(.home-welcome) .site-btn{border-radius:14px}body:has(.home-welcome) .site-util__inner>a{font-size:15px;font-weight:700;color:#fffaf2;padding-block:8px}.home-welcome .welcome-contact{font-size:15px;color:#493552}.home-welcome .welcome-contact a{font-weight:700;color:#28513e;text-underline-offset:3px}@media(max-width:600px){body:has(.home-welcome) .site-util__inner{flex-wrap:wrap;gap:4px 14px}body:has(.home-welcome) .site-util__inner>a{display:inline-block;font-size:15px;min-height:40px;align-content:center}.home-welcome .welcome-contact a{display:inline-block;padding-block:6px}}

/* About Amy: personal story, professional history and publication links. */
.amy-about{background:#fffaf2;color:#443c39}.amy-about h1,.amy-about h2,.amy-about h3{color:#493552}.amy-about-hero{max-width:1240px;margin:auto;display:grid;grid-template-columns:58% 42%;gap:0;padding:55px 32px;align-items:center}.amy-about-hero>div{padding-right:55px}.amy-about-hero>img{width:100%;height:auto;border-radius:160px 160px 20px 20px}.amy-about h1{font-family:Georgia,serif;font-size:clamp(36px,4vw,60px);font-weight:400;line-height:1.12}.amy-about-role{color:#765b7b;font-weight:600}.amy-about-proof{display:flex;justify-content:center;gap:70px;padding:25px;background:#eee5f2;text-align:center}.amy-about-proof>span,.amy-about-proof>a{display:block;color:#493552;text-decoration:none}.amy-about-proof strong{display:block;font-family:Georgia,serif;font-size:28px}.amy-about-section{max-width:1120px;margin:auto;padding:58px 30px}.amy-about-section h2,.amy-about-education h2{font-family:Georgia,serif;font-size:36px;font-weight:400;line-height:1.2}.amy-about-education{max-width:1120px;margin:auto;display:grid;grid-template-columns:70% 30%;align-items:center;padding:35px 30px;background:#f5ecdd;border-radius:22px}.amy-about-education figure{margin:0 0 0 30px}.amy-about-education img{width:100%;height:auto;border-radius:14px}.amy-about-education figcaption{font-size:13px;margin-top:12px;color:#765b7b}.amy-about-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.amy-about-grid article{padding:25px;background:#fffaf2;border-radius:16px}.amy-about-recognition{background:#eee5f2}.amy-about-links{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.amy-about-links a{background:#f1e8d8;padding:17px;border-radius:12px;color:#493552}.amy-about .site-btn{border-radius:14px}.amy-about .site-btn--primary{background:#e1c38c;color:#342838}.amy-about .site-btn--secondary{background:#eee5f2;color:#493552;border-color:#cabbcf}.amy-about-close{border-top:1px solid #deceb7}@media(max-width:750px){.amy-about-hero{grid-template-columns:1fr;padding:30px 24px;gap:28px}.amy-about-hero>div{padding:0}.amy-about-hero>img{max-width:380px;margin:auto}.amy-about-proof{gap:20px;flex-wrap:wrap}.amy-about-proof strong{font-size:23px}.amy-about-grid,.amy-about-education{grid-template-columns:1fr}.amy-about-education figure{max-width:240px;margin:20px auto 0}.amy-about-section{padding:38px 24px}.amy-about-links{grid-template-columns:1fr}}

.welcome-sophie-note{font-size:13px;color:#6e563d;text-align:right;padding:10px 8px 0;margin:0}.amy-about-sophie{background:#f0e8f3;border-radius:14px;padding:20px 24px;color:#493552}@media(max-width:900px){.welcome-sophie-note{text-align:center;padding-bottom:24px}}

.amy-family-photo{margin:34px 0;width:100%}.amy-family-photo img{display:block;width:100%;height:auto;border-radius:20px}.amy-family-photo figcaption{padding:14px 8px;text-align:center;color:#765b7b;font-size:16px}

.amy-about-hero.growing-family-hero{max-width:1500px;grid-template-columns:40% 60%}.amy-about-hero.growing-family-hero>img{border-radius:20px;max-width:none;width:100%;height:auto}@media(max-width:900px){.amy-about-hero.growing-family-hero{grid-template-columns:1fr;gap:28px}.growing-family-hero>div{padding-right:0}}

/* Calculator welcome: lifestyle first, existing calculator retained. */
.calc-welcome {background:var(--cream);color:var(--ink)}
.calc-welcome-hero {padding:40px 0 0;text-align:center;background:radial-gradient(ellipse at top,#f0e5f5 0, var(--cream) 65%)}
.calc-welcome-hero h1 {font-family:var(--font-body);font-size:clamp(1.05rem,2vw,1.45rem);letter-spacing:.02em;margin:24px 0 16px;color:var(--ink-soft)}
.calc-welcome-title {font-family:var(--font-display);font-size:clamp(2.2rem,4.4vw,4.2rem);line-height:1.2;max-width:1000px;margin:0 auto 26px;color:var(--coffee)}
.calc-welcome-hero p:not(.calc-welcome-title) {max-width:810px;margin-left:auto;margin-right:auto}
.calc-welcome .site-hero__actions {display:flex;flex-wrap:wrap;gap:14px;justify-content:center;margin:26px 0}
.calc-welcome .site-btn {border-radius:999px}
.calc-welcome-hero figure {margin:40px 0 0}
.calc-welcome-hero figure img {display:block;width:100%;height:auto;border-radius:28px;box-shadow:var(--shadow)}
.calc-welcome-purpose {text-align:center}.calc-welcome-purpose .container,.calc-welcome-reading {max-width:850px}
.calc-welcome h2 {font-size:clamp(1.8rem,3vw,2.8rem);line-height:1.25}.calc-welcome p {line-height:1.8}
.calc-welcome-intro {max-width:850px;margin:0 0 28px}.calc-welcome-note {font-size:.88rem;color:var(--ink-muted);margin-top:24px}
.calc-welcome-cards {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;margin-top:30px}
.calc-welcome-cards article {padding:28px;border:1px solid var(--rule);border-radius:22px;background:white}
.calc-welcome-cards article:nth-child(2) {background:#f0e8f5}.calc-welcome-cards article:nth-child(3) {background:#f5eedc}
.calc-welcome-cards span {font-size:.8rem;text-transform:uppercase;letter-spacing:.06em;color:var(--coffee)}
.calc-welcome-cards h3 {margin:15px 0}.calc-welcome a:not(.site-btn) {text-underline-offset:4px}
.calc-welcome-guide {display:grid;grid-template-columns:minmax(150px,280px) 1fr;gap:42px;align-items:center;background:white;border-radius:28px;padding:36px;margin:32px 0}
.calc-welcome-guide img {width:100%;height:auto;display:block;box-shadow:var(--shadow)}
.calc-welcome-contact {text-align:center;background:#eee4f4}.calc-welcome-contact .container {max-width:900px}
#explore-calculator,#ask-amy {scroll-margin-top:160px}
@media(max-width:760px){.calc-welcome-cards,.calc-welcome-guide{grid-template-columns:1fr}.calc-welcome-guide{padding:24px;gap:24px}.calc-welcome-guide img{max-width:240px;margin:auto}.calc-welcome-hero{padding-top:20px}.calc-welcome-hero figure img{border-radius:18px}}

/* Calculator first: compact entry before lifestyle content. */
.calc-first-title {padding:24px 0 12px;background:var(--cream)}
.calc-first-title h1 {font-size:clamp(1.6rem,3vw,2.5rem);line-height:1.2;margin:0 0 8px}
.calc-first-title p {margin:0;font-size:.95rem}
.calc-welcome #explore-calculator {padding-top:12px;padding-bottom:36px}
.calc-welcome h2.calc-welcome-title {font-size:clamp(2.2rem,4.4vw,4.2rem);line-height:1.2}
@media(max-width:600px){.calc-first-title{padding-top:16px}.calc-first-title p{font-size:.86rem}.calc-welcome #explore-calculator{padding-top:8px}.calc-welcome .site-calc__tabs{gap:4px;flex-wrap:wrap}}

/* Boost Your Credit resource page. */
.credit-welcome{background:var(--cream);color:var(--ink)}.credit-welcome-hero{background:linear-gradient(125deg,var(--cream),#eee5f3)}.credit-welcome-split{display:grid;grid-template-columns:1.2fr 1fr;gap:54px;align-items:center}.credit-welcome-hero h1{font-size:clamp(2.6rem,5vw,4.5rem);line-height:1.15}.credit-welcome p{line-height:1.8}.credit-welcome figure{margin:0}.credit-welcome figure img{width:100%;max-height:560px;object-fit:contain;border-radius:24px}.credit-welcome figcaption{font-size:.85rem;text-align:center;margin-top:14px}.credit-welcome-reading{max-width:860px}.credit-welcome-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-top:30px}.credit-welcome-grid article{padding:28px;background:white;border:1px solid var(--rule);border-radius:22px}.credit-welcome-grid span{font-family:var(--font-display);font-size:1.8rem;color:var(--coffee)}.credit-welcome-grid article:nth-child(2n){background:#f0e9f5}.credit-welcome-download{background:#eee5f3;scroll-margin-top:150px}.credit-welcome-cover{display:block;width:100%;height:auto;max-width:360px;margin:auto;box-shadow:var(--shadow);border-radius:12px}.credit-welcome-note{font-size:.85rem;color:var(--ink-muted)}.credit-welcome .site-btn{border-radius:999px}.credit-welcome .site-hero__actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:24px}.credit-welcome-contact{background:#f1e7d0}.credit-welcome a{text-underline-offset:4px}@media(max-width:780px){.credit-welcome-split,.credit-welcome-grid{grid-template-columns:1fr}.credit-welcome-split{gap:30px}.credit-welcome-hero figure img{max-height:400px}}

.credit-featured-article{border:1px solid var(--rule);border-radius:22px;overflow:hidden;background:var(--cream)}.credit-featured-article>a{display:block;text-decoration:none;color:inherit}.credit-featured-article img{display:block;width:100%;height:auto}.credit-featured-article a>div{padding:28px}.credit-featured-article span{text-decoration:underline;text-underline-offset:4px;font-weight:600}.credit-welcome-links{grid-template-columns:repeat(2,minmax(0,1fr))}@media(max-width:780px){.credit-welcome-links{grid-template-columns:1fr}}

/* Credit preparation imagery and linked resource cards */
.credit-planning-photo{margin:0}.credit-planning-photo img{display:block;width:100%;height:auto;border-radius:24px}.credit-planning-photo figcaption{font-size:.95rem;margin-top:12px;color:#5b5260}
.credit-welcome .credit-resource-card{padding:0;overflow:hidden;background:#fff;display:flex}
.credit-resource-card>a{display:flex;flex-direction:column;width:100%;color:inherit;text-decoration:none}
.credit-resource-image{height:320px;background:#f5eee4;overflow:hidden}.credit-resource-image img{display:block;width:100%;height:100%;object-fit:cover}
.credit-resource-image--cover{padding:16px;background:#eee7f2}.credit-resource-image--cover img{object-fit:contain}
.credit-resource-copy{padding:26px;display:flex;flex-direction:column;flex:1}.credit-resource-copy h3{margin-top:0}.credit-resource-action{margin-top:auto;padding-top:12px;color:#59406d;font-weight:700}
.credit-resource-card>a:hover .credit-resource-action{text-decoration:underline}.credit-resource-card>a:focus-visible{outline:3px solid #77578a;outline-offset:-4px}
@media(max-width:600px){.credit-resource-image{height:290px}.credit-resource-copy{padding:22px}}

/* Warm, informational credit tips: distinct from linked resource cards. */
.credit-habits{background:linear-gradient(145deg,#fcf8ef 0%,#f2eaf6 65%,#f6eedc 100%)}
.credit-habits-intro{max-width:720px}.credit-habits-intro h2{margin-bottom:16px}
.credit-welcome .credit-tip-grid article{display:flex;flex-direction:column;background:#fffcf5;border-color:#e4d6b9;box-shadow:0 8px 24px rgba(63,43,67,.04)}
.credit-welcome .credit-tip-grid article:nth-child(3n+2){background:#eee5f4;border-color:#d9cbe3}
.credit-welcome .credit-tip-grid article:nth-child(3n){background:#edf1e8;border-color:#d3decb}
.credit-tip-icon{display:flex;align-items:center;justify-content:center;width:62px;height:62px;border-radius:19px;background:#f1dfb4;color:#695021;margin-bottom:20px}.credit-tip-icon svg{width:36px;height:36px}
.credit-tip-grid article:nth-child(3n+2) .credit-tip-icon{background:#ddcde9;color:#674680}.credit-tip-grid article:nth-child(3n) .credit-tip-icon{background:#d6e2ca;color:#40553d}
.credit-tip-grid h3{margin-top:0;font-size:1.25rem;line-height:1.4}.credit-tip-grid p{font-size:.98rem}
.credit-tip-step{margin-top:auto;padding-top:20px;border-top:1px solid rgba(94,73,83,.17)}.credit-tip-step strong{color:#5e426d;font-size:.85rem;letter-spacing:.04em}.credit-tip-step p{margin:6px 0 0;line-height:1.6}
.credit-welcome .credit-score-grid article{background:#faf6ec;border-top:4px solid #bea365}.credit-welcome .credit-score-grid article:nth-child(2n){background:#f2ecf6;border-top-color:#ac91bc}
.credit-score-highlight{display:block;color:#59406d;font-family:var(--font-display);font-size:1.3rem;line-height:1.45;margin:14px 0}
#credit-analysis{background:linear-gradient(110deg,#e9def1,#fbf5e9)}
@media(min-width:781px) and (max-width:1050px){.credit-tip-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}

.credit-monitor-card{display:grid;grid-template-columns:220px 1fr;gap:32px;align-items:center;margin-top:28px;padding:32px;background:#fffcf5;border:1px solid #d6dece;border-radius:24px}.credit-monitor-brand{text-align:center;color:#36523d}.credit-monitor-brand>strong{font-size:1.5rem}.credit-monitor-icon{width:78px;height:78px;margin:0 auto 16px;padding:16px;background:#dfe9d4;border-radius:22px}.credit-monitor-icon svg{width:100%;height:100%}.credit-monitor-card h3{margin-top:0}@media(max-width:780px){.credit-monitor-card{grid-template-columns:1fr;padding:24px;gap:16px}}

.credit-monitor-icon--official{background:#fff;padding:8px;display:flex;align-items:center;justify-content:center}.credit-monitor-icon--official img{width:59px;height:45px;object-fit:contain}

.va-amy-guidance{padding:28px;border:1px solid #ded3e5;border-radius:22px;background:linear-gradient(115deg,#f4eef7,#faf6ec);margin:28px 0;color:var(--ink)}.va-amy-guidance h2{margin-top:0}.va-guidance-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;margin:28px 0}.va-guidance-grid article{padding:26px;background:#f4f0e6;border:1px solid #ddd4bd;border-radius:22px}.va-guidance-grid article:nth-child(2){background:#eee7f3}.va-guidance-grid article:nth-child(3){background:#ecf0e7}.va-guidance-grid h3{margin-top:0}@media(max-width:850px){.va-guidance-grid{grid-template-columns:1fr}}

.va-hub-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:26px;margin:26px 0}.va-hub-cards article{border:1px solid #ddd2e4;border-radius:24px;overflow:hidden;background:#f5f0e7}.va-hub-cards article:nth-child(2){background:#efe7f4}.va-hub-cards a{display:block;height:100%;color:inherit;text-decoration:none}.va-hub-cards img{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:cover}.va-hub-cards a>div{padding:26px}.va-hub-cards h3{margin-top:8px}.va-hub-cards a:hover strong{text-decoration:underline}.va-hub-cards a:focus-visible{outline:3px solid #745883;outline-offset:-4px}#va-eligibility,#use-va-again{scroll-margin-top:140px}@media(max-width:780px){.va-hub-cards{grid-template-columns:1fr}}

/* Compact affordability journey; keep the four planning steps together. */
.afford-page>.section{padding-top:46px;padding-bottom:46px}.afford-page>.afford-start{padding-top:18px;padding-bottom:18px}.afford-roadmap{padding:22px 28px;background:#eee8f2;border-radius:20px}.afford-roadmap .home-kicker{margin-top:0}.afford-start .afford-roadmap ol{margin-bottom:0;gap:24px}.afford-roadmap a{font-weight:600;text-underline-offset:4px}
.afford-page .afford-guide{grid-template-columns:150px minmax(0,1fr);gap:26px}.afford-page .afford-guide img{max-height:235px;object-fit:contain}.afford-page .afford-section-photo{float:right;width:40%;margin:0 0 22px 30px}.afford-page .afford-guide,.afford-guide-pair{clear:both}.afford-page #bridge-the-gap h2:not(:first-of-type){clear:both;padding-top:14px}.afford-page #side-hustle-savings h3:first-of-type{clear:both;padding-top:12px}
.afford-guide-pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;padding-top:22px}.afford-page #bridge-the-gap .afford-guide-pair .afford-guide{display:flex;flex-direction:column;align-items:flex-start;margin:0;padding:24px;border:1px solid #dfd5e4;border-radius:20px;background:#f4eef7}.afford-guide-pair .afford-guide img{align-self:center;width:auto;max-width:100%;height:200px}.afford-guide-pair h3{font-size:1.25rem}
.afford-page #saving-ideas-video{padding-top:16px;padding-bottom:24px}.afford-pinterest{display:grid;grid-template-columns:180px minmax(0,1fr);gap:28px;align-items:center;padding:24px 30px;background:#f5efdf;border:1px solid #e2d5b9;border-radius:22px;max-width:880px;margin:auto}.afford-pinterest .saving-ideas-video{display:block;width:100%;height:220px;max-height:220px;object-fit:contain;margin:0;background:#ede7de;border-radius:12px}.afford-pinterest h2{font-size:1.65rem;margin-top:0}.afford-pinterest p{margin-bottom:16px}
@media(max-width:700px){.afford-page>.section{padding-top:32px;padding-bottom:32px}.afford-page .afford-section-photo{float:none;width:100%;max-width:480px;margin:20px auto}.afford-guide-pair{grid-template-columns:1fr}.afford-page .afford-guide{grid-template-columns:1fr}.afford-page .afford-guide>img{max-width:160px;margin:auto}.afford-pinterest{grid-template-columns:1fr;padding:22px;gap:18px}.afford-pinterest .saving-ideas-video{max-width:180px;margin:auto}.afford-roadmap{padding:20px}}

.resource-welcome{background:#f8f3e9;padding-bottom:44px}.resource-welcome-photo{display:block;width:100%;height:clamp(300px,46vw,570px);object-fit:cover;object-position:center 55%}.resource-welcome-copy{position:relative;max-width:960px;background:#fffaf0;margin-top:-88px;padding:38px 46px;border-radius:26px;border:1px solid #e5dac5;box-shadow:0 18px 45px rgba(72,54,34,.1)}.resource-welcome-copy h1{font-size:clamp(2.2rem,4.5vw,3.7rem);line-height:1.12;color:#344b3a;margin:16px 0 22px}.resource-welcome-copy p{line-height:1.75;max-width:76ch}.resource-welcome .site-hero__actions{display:flex;gap:12px;flex-wrap:wrap}.resource-welcome .site-btn,.resource-invitation .site-btn{border-radius:999px}#resource-centers{scroll-margin-top:150px}.resource-featured{padding:44px 0;margin-top:30px;border-top:1px solid #ddd3e2}.resource-feature-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.resource-feature-grid article{border:1px solid #ded4e5;border-radius:22px;overflow:hidden;background:#f2ebf6}.resource-feature-grid a{display:block;height:100%;text-decoration:none;color:inherit}.resource-feature-grid img{width:100%;height:auto;aspect-ratio:16/9;object-fit:contain;background:#faf6ed;display:block}.resource-feature-grid a>div{padding:24px}.resource-feature-grid h3{margin-top:0;font-size:1.35rem}.resource-feature-grid a:hover strong{text-decoration:underline}.resource-feature-grid a:focus-visible{outline:3px solid #765888;outline-offset:-4px}.resource-invitation{margin-top:44px;padding:32px;background:#f3ecde;border-radius:22px}.resource-invitation h2{margin-top:0}@media(max-width:780px){.resource-welcome-copy{margin-top:-38px;padding:25px}.resource-feature-grid{grid-template-columns:1fr}.resource-welcome-photo{height:320px}.resource-welcome{padding-bottom:28px}}

.buyer-checklist-page .site-hero__actions{display:flex;flex-wrap:wrap;gap:12px}.buyer-checklist-page .site-btn{border-radius:999px}.buyer-step-nav{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.buyer-step-nav a{padding:18px;background:#efe7f3;border-radius:14px;color:#514060;font-weight:600}.buyer-stage{scroll-margin-top:140px;background:#faf6ed}.buyer-stage:nth-of-type(2n){background:#f0eaf4}.buyer-stage-layout{display:grid;grid-template-columns:1.7fr 1fr;gap:30px;align-items:start}.buyer-checks{padding:0;list-style:none;margin:0}.buyer-checks li{padding:18px 0;border-bottom:1px solid #ddd3df}.buyer-checks label{display:flex;gap:15px;cursor:pointer;line-height:1.75}.buyer-checks input{width:22px;height:22px;flex:0 0 22px;margin-top:5px;accent-color:#6c547d}.buyer-checks strong{display:block}.buyer-checks input:checked+span{color:#4b6547}.buyer-amy-note{padding:28px;background:#e5ebdd;border:1px solid #cfdac4;border-radius:22px;line-height:1.75}.buyer-amy-note h3{margin-top:0}#buyer-steps{scroll-margin-top:140px}@media(max-width:800px){.buyer-stage-layout{grid-template-columns:1fr}.buyer-step-nav{grid-template-columns:1fr 1fr}}@media(max-width:480px){.buyer-step-nav{grid-template-columns:1fr}}

.buyer-pro-tips{background:#f6efdc}.buyer-pro-grid,.buyer-resource-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;margin:28px 0}.buyer-pro-grid article{padding:25px;border-radius:20px;background:#fffaf1;border:1px solid #e0d3b8}.buyer-pro-grid article:nth-child(2n){background:#eee6f3}.buyer-pro-grid h3{margin-top:0}.buyer-pro-grid p{line-height:1.75}.buyer-estimate-note{font-size:.9rem;line-height:1.75;max-width:95ch}.buyer-resource-grid article{border:1px solid #ddd3e3;border-radius:20px;overflow:hidden;background:#f8f3e9}.buyer-resource-grid a{display:block;text-decoration:none;color:inherit;height:100%}.buyer-resource-grid img{display:block;width:100%;height:250px;object-fit:contain;padding:16px;background:#eee8f3}.buyer-resource-grid a>div{padding:24px}.buyer-resource-grid h3{margin-top:0}.buyer-resource-grid a:hover strong{text-decoration:underline}.buyer-resource-grid a:focus-visible{outline:3px solid #72547b;outline-offset:-4px}@media(max-width:850px){.buyer-pro-grid{grid-template-columns:1fr 1fr}.buyer-resource-grid{grid-template-columns:1fr}}@media(max-width:550px){.buyer-pro-grid{grid-template-columns:1fr}}

.buyer-question-note{padding:24px 0;background:#eee8f2}.buyer-question-note h2{font-size:1.3rem;margin:0 0 10px}.buyer-question-note p{max-width:80ch;line-height:1.75;margin:0}.buyer-checklist-page .afford-hero-grid h2{font-size:clamp(1.3rem,2.1vw,1.75rem);line-height:1.4}

.buyer-stage-layout--single{grid-template-columns:1fr;gap:16px;max-width:940px}.buyer-stage-followup{margin:0;line-height:1.8;max-width:85ch}

/* Compact invitations beside the client guidance. */
.amy-conversation{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;margin:1.75rem 0;padding:1.4rem 1.6rem;background:#f8f4eb;border:1px solid #d9d5c8;border-left:4px solid #a9b99e;border-radius:18px;color:#263d31;text-align:left;clear:both}
.amy-conversation h3{margin:0 0 .55rem;font-size:1.25rem;color:#263d31}
.amy-conversation p{margin:.55rem 0;max-width:70ch}
.amy-conversation .amy-conversation__identity{font-size:.88rem;line-height:1.65;margin-top:.85rem;color:#4d514c}
.amy-conversation__action{flex:0 0 auto;text-align:center}
.amy-conversation__action p{font-size:.9rem;margin:.5rem 0}
.amy-conversation__action>a:last-child{font-size:.9rem;color:#544367;text-decoration:underline}
@media(max-width:700px){.amy-conversation{display:block;padding:1.2rem}.amy-conversation__action{text-align:left;margin-top:1rem}.amy-conversation__action .site-btn{white-space:normal}}

/* A short welcome, then a manageable set of calculator choices. */
.calc-welcome .calc-first-title{padding:28px 0 12px;background:#f8f4eb;text-align:center}
.calc-welcome .calc-first-title h1{font-family:var(--font-display);font-size:clamp(2rem,3.5vw,3.4rem);line-height:1.13;max-width:1000px;margin:10px auto 14px;color:#294b39}
.calc-first-title p:not(.home-kicker){max-width:820px;margin:0 auto;line-height:1.6}
.calc-welcome #explore-calculator{padding:22px 0 32px}
#explore-numbers-title{font-size:1.65rem;margin:0 0 8px}
.calc-explore-intro{margin:0 0 18px;max-width:850px}
.calc-core-inputs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 18px}
.calc-core-inputs .site-calc-field{margin:0}
.calc-welcome .site-calc__board{align-items:start}
.calc-welcome .site-calc-field__control,.calc-welcome .site-calc-field select{border-radius:10px;overflow:hidden}
.calc-assumptions{margin:18px 0 0;border-top:1px solid #d8d7cd;padding-top:12px}
.calc-assumptions summary{cursor:pointer;font-weight:650;color:#34533e;list-style:none;padding:8px 0}
.calc-assumptions summary::-webkit-details-marker{display:none}
.calc-assumptions summary:before{content:'+';display:inline-block;width:1.3em}
.calc-assumptions[open]>summary:before{content:'−'}
.calc-assumptions summary:focus-visible{outline:2px solid #77608f;outline-offset:4px}
.calc-assumptions__fields{padding-top:14px}
.calc-result-note{font-size:.85rem;line-height:1.6}
.calc-welcome .site-calc__result{border-radius:16px;padding:22px}
.calc-welcome .calc-welcome-hero .calc-welcome-title{font-size:clamp(1.7rem,2.8vw,2.6rem)}
@media(max-width:540px){.calc-core-inputs{gap:12px}.calc-core-inputs label{font-size:.86rem}.calc-welcome .calc-first-title{padding-top:20px}.calc-welcome .site-calc__tabs{display:flex;flex-wrap:wrap}.calc-welcome .site-calc__tab{flex:1;padding:10px 8px}.calc-welcome .site-calc__board{gap:16px}}
/* Homebuying plan introduction and quiz card. */
.home-plan-page{color:var(--ink)}
.home-plan-intro .container{max-width:1000px}
.home-plan-intro h1{font-family:var(--font-display);font-size:clamp(2.4rem,4.5vw,4rem);line-height:1.12;color:#294b39;max-width:850px}
.home-plan-intro p{max-width:780px}
.home-plan-lead{font-size:1.3rem;font-weight:600}
.home-plan-page .site-btn{border-radius:999px}
.home-plan-start{display:grid;grid-template-columns:1.1fr 1fr;border-radius:22px;overflow:hidden;background:#f3edf6;box-shadow:0 10px 28px #28392e10}
.home-plan-start__image{display:block;min-width:0}
.home-plan-start__image img{display:block;width:100%;height:100%;object-fit:cover;min-height:360px}
.home-plan-start__copy{padding:clamp(24px,3vw,44px);align-self:center}
.home-plan-start__copy h2{margin-top:10px;color:#294b39}
.home-plan-small{font-size:.85rem;line-height:1.6;margin-top:14px}
.home-plan-personal{max-width:880px;margin:32px auto 0;border-left:3px solid #a8b798;padding:0 0 0 24px}
.home-plan-personal p:last-of-type{font-size:.9rem}
.home-plan-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;margin-top:30px}
.home-plan-steps article{padding:24px;background:#fffdf8;border-radius:18px}
.home-plan-number{display:grid;place-items:center;width:40px;height:40px;border-radius:50%;background:#dde6d7;color:#294b39;font-weight:bold}
.home-plan-language{display:grid;grid-template-columns:1.3fr 1fr;gap:44px;align-items:center}
.home-plan-learning{background:#eef2e9;border:1px solid #d5ddca;border-radius:20px;padding:36px;transform:rotate(1deg)}
.home-plan-learning>span{font-family:var(--font-display);font-size:3rem;color:#78618e}
.home-plan-close{max-width:900px}
@media(max-width:800px){.home-plan-start,.home-plan-steps,.home-plan-language{grid-template-columns:1fr}.home-plan-start__image img{min-height:0;height:auto;aspect-ratio:3/2}.home-plan-learning{transform:none}.home-plan-intro h1{font-size:2.5rem}}

.home-plan-intro .home-plan-hero-grid{max-width:1400px;display:grid;grid-template-columns:1fr 1.1fr;align-items:center;gap:38px}
.home-plan-hero-grid h1{font-size:clamp(2.4rem,3.6vw,3.6rem)}
.home-plan-hero-grid h1 em{color:#78618e}
.home-plan-hero-image{margin:0;align-self:stretch;min-height:460px}
.home-plan-hero-image img{width:100%;height:100%;object-fit:cover;object-position:67% center;border-radius:24px;display:block}
@media(max-width:900px){.home-plan-intro .home-plan-hero-grid{grid-template-columns:1fr;gap:24px}.home-plan-hero-image{min-height:0}.home-plan-hero-image img{height:auto;aspect-ratio:3/2}}

.home-plan-learning .home-plan-owl{display:block;width:150px;height:auto;margin:0 auto 16px;object-fit:contain}

.course-amy{display:grid;grid-template-columns:220px 1fr;gap:40px;align-items:center}.course-amy>img{width:100%;height:auto;border-radius:22px}.readiness-course .home-plan-hero-image img{object-position:35% center}@media(max-width:700px){.course-amy{grid-template-columns:1fr;gap:22px}.course-amy>img{max-width:190px}}

.course-hero-details{display:flex;align-items:center;gap:16px;margin:20px 0}.course-hero-details .course-hero-owl{width:90px;height:auto;flex:0 0 90px}.course-hero-details p{margin:0}@media(max-width:480px){.course-hero-details{gap:12px}.course-hero-details .course-hero-owl{width:72px;flex-basis:72px}}

.savebot-hero{display:grid;grid-template-columns:1.1fr 1fr;gap:44px;align-items:center}.savebot-hero h1{font-family:var(--font-display);font-size:clamp(2.7rem,4.7vw,4.5rem);line-height:1.12;color:#294b39}.savebot-hero h1 em{color:#806196}.savebot-hero-art{display:block}.savebot-hero-art img{display:block;width:100%;height:auto;max-height:660px;object-fit:contain;border-radius:26px}.savebot-story{max-width:900px}.savebot-play-section{background:#f0eaf6}.savebot-symbol{font-size:2rem}.savebot-landing .home-plan-steps{margin-bottom:26px}@media(max-width:800px){.savebot-hero{grid-template-columns:1fr;gap:22px}.savebot-hero-art img{max-height:520px}}

.savebot-hero.savebot-hero--wide{display:block}.savebot-hero--wide h1{font-size:clamp(2.4rem,4vw,3.7rem);margin-bottom:24px}.savebot-hero--wide .savebot-hero-art img{max-height:none;object-fit:contain;border-radius:22px}.savebot-hero-invitation{max-width:850px;margin:28px auto 0;text-align:center}

/* Small game accents on the SaveBot landing page. */
.savebot-story{display:flow-root}.savebot-story-accent{float:right;width:230px;max-width:36%;height:auto;margin:0 0 18px 28px}.savebot-goal-accent{display:block;width:180px;max-width:60%;height:auto;margin:0 auto 18px}@media(max-width:600px){.savebot-story-accent{float:none;display:block;width:190px;max-width:65%;margin:0 auto 20px}.savebot-goal-accent{width:145px}}

/* Tighter homepage section spacing; existing layouts retained. */
.home-welcome .home-band{padding-block:40px}.home-welcome .home-meet-amy{padding-block:48px}.home-welcome .welcome-close{padding-block:44px}@media(max-width:600px){.home-welcome .home-band{padding-block:28px}.home-welcome .home-meet-amy{padding-block:32px}.home-welcome .welcome-close{padding-block:32px}}

/* Consistent supporting photography for the four homepage article categories. */
.home-resource-categories .home-resource-category-image{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:cover;object-position:center;border-radius:8px;margin:0 0 16px}

/* Sacramento neighborhood and move-in guide. */
.sacramento-welcome {background:#fbf6ec;padding:42px 0;border-bottom:3px solid #b69b60;color:#344638;}
.sacramento-welcome__grid {display:grid;grid-template-columns:1fr 1fr;gap:42px;align-items:center;}
.sacramento-welcome h1 {font-family:var(--font-display);font-size:clamp(2rem,3.5vw,3.1rem);line-height:1.15;color:#294c3a;}
.sacramento-welcome img {display:block;width:100%;height:auto;border-radius:16px;}
.sacramento-welcome .site-breadcrumbs a,.sacramento-welcome .home-kicker {color:#675675;}
.sacramento-page section {margin-top:54px;scroll-margin-top:170px;}
.sacramento-page h2,.sacramento-page h3,.sacramento-page h4 {color:#294c3a;}
.sacramento-page h2 {font-family:var(--font-display);font-size:clamp(1.7rem,2.8vw,2.3rem);line-height:1.25;}
.sacramento-intro {display:grid;grid-template-columns:250px 1fr;gap:42px;align-items:center;}
.sacramento-intro img {width:100%;height:auto;border-radius:14px;}
.sacramento-cards {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;}
.sacramento-cards article,.sacramento-directory article {background:#fff9ee;border:1px solid #e0d6bf;border-top:3px solid #b69b60;border-radius:12px;padding:24px;}
.sacramento-cards article:nth-child(2),.sacramento-cards article:nth-child(3) {background:#f1edf4;}
.sacramento-highlight {background:#f1edf4;border:1px solid #ded3e4;border-radius:16px;padding:32px;}
.sacramento-directory {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;}
.sacramento-directory h4 {font-size:1.12rem;margin:0 0 12px;}
.sacramento-directory p {font-size:.94rem;}
.sacramento-directory a {display:block;margin-top:10px;overflow-wrap:anywhere;}
.sacramento-area-note {background:#e8eddf;padding:22px;border-radius:10px;}
.sacramento-directory-date {font-size:.8rem;color:#56604f;}
.sacramento-page .site-btn,.sacramento-welcome .site-btn {white-space:normal;}
@media(max-width:900px){.sacramento-welcome__grid{grid-template-columns:1fr;}.sacramento-directory{grid-template-columns:1fr 1fr;}}
@media(max-width:600px){.sacramento-intro,.sacramento-cards,.sacramento-directory{grid-template-columns:1fr;}.sacramento-intro img{max-width:230px;margin:auto;}.sacramento-highlight{padding:22px;}}

/* Sacramento editorial hero: large photograph with an overlapping cream panel. */
.sacramento-welcome {padding:38px 0 54px;}
.sacramento-welcome__grid {grid-template-columns:repeat(12,minmax(0,1fr));gap:0;align-items:start;isolation:isolate;}
.sacramento-welcome__grid > img {grid-column:4/-1;grid-row:1;width:100%;height:600px;object-fit:cover;object-position:center;border-radius:26px;box-shadow:0 16px 40px #30413216;}
.sacramento-welcome__copy {grid-column:1/8;grid-row:1;z-index:1;margin-top:160px;background:#fff9ee;padding:32px 36px;border:1px solid #e4d8bf;border-top:4px solid #b69b60;border-radius:20px;box-shadow:0 14px 40px #30413214;}
.sacramento-welcome h1 {font-size:clamp(2rem,3.3vw,3rem);margin:16px 0;}
.sacramento-welcome__copy p {font-size:1rem;line-height:1.65;}
.sacramento-welcome__copy .home-kicker {font-size:.73rem;}
.sacramento-welcome__copy .site-breadcrumbs {font-size:.76rem;}
.sacramento-welcome__copy .site-hero__actions {gap:10px;}
.sacramento-welcome__copy .site-btn {font-size:.82rem;padding:12px 16px;}
@media(max-width:900px){
 .sacramento-welcome__grid {grid-template-columns:1fr;gap:20px;}
 .sacramento-welcome__grid > img {grid-column:1;grid-row:1;height:auto;border-radius:20px;}
 .sacramento-welcome__copy {grid-column:1;grid-row:2;margin-top:0;padding:26px;border-radius:16px;}
 .sacramento-welcome {padding:24px 0 32px;}
}

/* Reveal more of Sacramento; overlap only the lower edge of the full photo. */
.sacramento-welcome__grid {grid-template-rows:auto auto;}
.sacramento-welcome__grid > img {grid-column:1/-1;grid-row:1;height:auto;aspect-ratio:1600/1067;object-fit:contain;}
.sacramento-welcome__copy {grid-column:1/9;grid-row:2;margin-top:-105px;margin-left:28px;}
@media(max-width:900px){.sacramento-welcome__copy{grid-column:1;grid-row:2;margin-top:0;margin-left:0;}.sacramento-welcome__grid > img{grid-column:1;}}
.sacramento-welcome__grid > img {aspect-ratio:auto;}
/* More pronounced rounded corners on the Sacramento hero photograph. */
.sacramento-welcome__grid > img {border-radius:44px;}
@media(max-width:600px){.sacramento-welcome__grid > img{border-radius:28px;}}

/* Sacramento knee-up advisor portrait, without a frame. */
.sacramento-intro{grid-template-columns:minmax(280px,360px) minmax(0,1fr);align-items:center;scroll-margin-top:180px}
.sacramento-intro__portrait{position:relative;height:560px;overflow:hidden;background:none;border:0;padding:0;box-shadow:none}
.sacramento-intro__portrait img{position:absolute;top:0;left:50%;transform:translateX(-50%);display:block;width:160%;height:auto;max-height:none;max-width:none;margin:0;border-radius:0}
.sacramento-intro>div:last-child>h2:first-child{margin-top:0}
@media(max-width:600px){.sacramento-intro{grid-template-columns:1fr;gap:24px}.sacramento-intro__portrait{max-width:300px;width:100%;height:465px;margin:0 auto}.sacramento-intro__portrait img{max-width:none;max-height:none;margin:0}}

.sacramento-schools{scroll-margin-top:180px}.sacramento-school-cards article{display:flex;flex-direction:column}.sacramento-school-cards article>.site-btn{margin-top:auto;align-self:flex-start;white-space:normal}.sacramento-school-cards h3{margin-top:0}

/* Rocklin uses the approved Sacramento city-guide layout. */
#rocklin-neighborhoods,#rocklin-schools,#rocklin-connections{scroll-margin-top:180px}
.rocklin-photo-credit{font-size:.72rem;color:#655e55;margin-top:18px}
.rocklin-school-list{margin:24px 0;padding:20px 24px;background:#fff9ee;border:1px solid #ded4bf;border-radius:14px}
.rocklin-school-list summary{font-weight:600;color:#28583f;cursor:pointer}

#folsom-neighborhoods,#folsom-schools,#folsom-connections{scroll-margin-top:180px}
#folsom-bay-area{scroll-margin-top:180px}
.folsom-relocation__photo{margin:28px 0}
.folsom-relocation__photo img{display:block;width:100%;height:auto;border-radius:28px}
.folsom-relocation__photo figcaption{font-size:.85rem;color:#655e55;margin-top:10px}
.folsom-relocation__companies{list-style:none;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:24px 0}
.folsom-relocation__companies li{padding:20px;background:#f0f3ec;border:1px solid #d6decd;border-radius:16px}
.folsom-relocation__companies a{font-weight:700;color:#385840}
.folsom-relocation__companies span{display:block;margin-top:8px;font-size:.9rem}
.folsom-relocation__source{font-size:.85rem}
@media(max-width:700px){.folsom-relocation__companies{grid-template-columns:1fr}.folsom-relocation__photo img{border-radius:20px}}

/* Roseville follows the shared editorial city-guide layout. */
#roseville-neighborhoods,#roseville-schools,#roseville-school-lookups,#local-favorites{scroll-margin-top:180px}
.roseville-editorial-note{font-size:.72rem!important;color:#655e55;margin-bottom:0}
#auburn-neighborhoods,#auburn-schools,#auburn-school-resources,#auburn-connections{scroll-margin-top:180px}.auburn-editorial-note{font-size:.72rem!important;color:#655e55;margin-bottom:0}

/* Lincoln city guide */
#lincoln-neighborhoods,#lincoln-schools,#lincoln-connections,#lincoln-home-costs,#lincoln-usda,#lincoln-first-home{scroll-margin-top:180px}
.lincoln-editorial-note{font-size:.72rem!important;color:#655e55;margin-bottom:0}

.nav-mega__ad {
  display: flex;
  flex-direction: column;
  gap: 8px;
  min-width: 0;
  border-radius: 12px;
  overflow: hidden;
  background: var(--sand);
  color: var(--sage-deep);
  text-decoration: none;
  align-self: start;
}
.nav-mega__ad img {
  width: 100%;
  height: 168px;
  object-fit: cover;
  display: block;
}
.nav-mega__ad strong,
.nav-mega__ad span { padding: 0 12px; }
.nav-mega__ad strong {
  font-family: var(--font-display);
  font-size: 1.15rem;
  font-weight: 600;
  line-height: 1.2;
}
.nav-mega__ad span {
  padding-bottom: 14px;
  font-size: 0.82rem;
  font-weight: 400;
  color: var(--ink);
  line-height: 1.35;
}
.nav-mega__ad:hover { background: #efe6d6; }
.nav-mega__ad:focus-visible { outline: 3px solid var(--sage-deep); outline-offset: 3px; }
@media (min-width: 1200px) {
  .nav-mega { grid-template-columns: repeat(3, minmax(0, 1fr)) 200px; width: min(1240px, calc(100vw - 32px)); }
  .nav-mega--first-buyers { grid-template-columns: repeat(4, minmax(0, 1fr)) 200px; width: min(1360px, calc(100vw - 24px)); }
  .nav-mega--audiences { grid-template-columns: minmax(0, 1fr) 210px; width: min(1240px, calc(100vw - 32px)); align-items: start; }
  .nav-mega--audiences .nav-mega__ad { grid-row: auto; }
  .nav-mega--gpts { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) minmax(0, 1.2fr) 200px; }
  .nav-mega__ad { grid-column: -2 / -1; grid-row: 1 / -1; }
}
@media (max-width: 1199px) {
  .nav-mega__ad img { height: 140px; }
}

.afford-guide {display:grid;grid-template-columns:220px 1fr;gap:36px;align-items:center;} .afford-guide img {width:100%;height:auto;border-radius:10px;} #housing-gap-form input {display:block;width:100%;padding:12px;border:1px solid var(--sage);border-radius:6px;margin-top:10px;} #housing-gap-form label {font-weight:600;} #housing-gap-result {display:block;margin-top:18px;font-weight:600;color:var(--sage-deep);} @media(max-width:640px){.afford-guide{grid-template-columns:1fr}.afford-guide img{max-width:220px;}}
.saving-ideas-video { display:block; width:100%; max-width:900px; max-height:650px; margin:24px auto; background:var(--sand); border:1px solid var(--rule); border-radius:12px; object-fit:contain; }
.saving-ideas-video { max-width:400px; height:auto; } #saving-ideas-video { scroll-margin-top:170px; }
.saving-ideas-video { max-width:280px; max-height:500px; margin:18px auto; }

#afford-guides .afford-guide + .afford-guide {margin-top:40px;padding-top:40px;border-top:1px solid var(--rule);} #start-here,#housing-gap,#bridge-the-gap,#practice-payment,#afford-guides {scroll-margin-top:170px;}

#start-here .afford-guide, #bridge-the-gap .afford-guide {margin-top:36px;padding-top:28px;border-top:1px solid var(--rule);} #bridge-gap-guide {scroll-margin-top:170px;}

#side-hustle-savings {scroll-margin-top:170px;} #side-hustle-savings .afford-guide {margin-top:36px;padding-top:28px;border-top:1px solid var(--rule);}

.afford-hero-grid {display:grid;grid-template-columns:1fr 1.25fr;gap:40px;align-items:center;} .afford-hero-photo {margin:0;} .afford-hero-photo img {display:block;width:100%;height:auto;border-radius:16px;} .afford-start .site-callout {margin:0;} .afford-start ol {display:grid;grid-template-columns:repeat(4,1fr);gap:28px;padding-left:24px;} @media(max-width:900px){.afford-hero-grid{grid-template-columns:1fr;gap:28px;}.afford-start ol{grid-template-columns:1fr 1fr;}} @media(max-width:540px){.afford-start ol{grid-template-columns:1fr;gap:12px;}}

.afford-section-photo {max-width:720px;margin:28px auto;} .afford-section-photo img {display:block;width:100%;height:auto;border-radius:14px;} .afford-encouragement {color:var(--sage-deep);font-weight:600;}

.blog-video {width:100%;max-width:800px;margin:28px auto;clear:both;}
.blog-video__play {display:block;position:relative;width:100%;aspect-ratio:16/9;border:0;padding:0;overflow:hidden;border-radius:12px;background:#f4efe7;cursor:pointer;}
.blog-video__play img {display:block;width:100%;height:100%;object-fit:cover;}
.blog-video__play span {position:absolute;bottom:16px;left:16px;background:#392a46;color:white;padding:10px 18px;border-radius:8px;font:600 16px sans-serif;}
.blog-video__play:focus-visible {outline:3px solid #af8a42;outline-offset:4px;}
.blog-video iframe {display:block;width:100%;aspect-ratio:16/9;height:auto;border:0;border-radius:12px;}
.blog-video__fallback {margin:8px 0 0;font-size:14px;}

.article-resources {min-width:0;align-self:start;display:grid;gap:22px;}
.article-resource-card {background:#f8f5ed;border:1px solid #e5dcc8;border-top:3px solid #b39553;border-radius:12px;padding:20px;color:#314237;}
.article-resource-card h2 {font-size:1.35rem;line-height:1.25;color:#203d32;margin:12px 0;}
.article-resource-card p {font-size:.94rem;line-height:1.6;}
.article-resource-card a {color:#38543e;}
.article-resource-card .site-btn {color:#fff;white-space:normal;text-align:center;font-size:.9rem;line-height:1.45;}
.article-resource-kicker {text-transform:uppercase;letter-spacing:.08em;font-size:.7rem!important;color:#596d56;}
.article-author__photo {display:block;width:100%;max-width:190px;height:auto;margin:0 auto 16px;border-radius:10px;}
.article-author__license {font-size:.72rem!important;}
.article-guide-cover {display:block;max-width:150px;width:100%;height:auto;margin:18px auto;box-shadow:0 5px 14px #24392a15;}
.article-resource-card ul {list-style:none;padding:0;margin:0;}
.article-resource-card li {border-top:1px solid #e5dcc8;padding:12px 0;}
.article-related-grid {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;}
.article-related-card {background:#fff;border:1px solid #e5dcc8;border-radius:10px;overflow:hidden;color:#203d32;text-decoration:none;}
.article-related-card img {display:block;width:100%;height:180px;object-fit:contain;background:#f8f5ed;}
.article-related-card span {display:block;padding:18px;font-weight:600;line-height:1.5;}
.article-booking {margin-top:38px;padding-top:28px;border-top:1px solid #b39553;text-align:center;}
@media(max-width:860px){.article-resources{grid-template-columns:repeat(2,minmax(0,1fr));}.article-author{grid-column:1/-1;}.article-author__photo{max-width:150px;}}
@media(max-width:560px){.article-resources,.article-related-grid{grid-template-columns:1fr;}.article-booking .site-btn{white-space:normal;}}

/* Approved cream resource cards with colored icon panels. */
.article-resource-card .article-resource-links {display:grid;gap:12px;}
.article-resource-card .article-resource-links li {padding:0;border:0;min-width:0;}
.article-resource-link {--resource-accent:#49654a;display:grid;grid-template-columns:42px minmax(0,1fr) 22px;gap:9px;align-items:center;min-height:100px;padding:0 9px 0 0;background:#fff8e9;border:1px solid #e5d8bc;border-radius:10px;overflow:hidden;text-decoration:none;box-shadow:0 3px 8px #283e3010;transition:transform .18s,box-shadow .18s;}
.article-resource-links li:nth-child(2) .article-resource-link {--resource-accent:#816226;}
.article-resource-links li:nth-child(3) .article-resource-link {--resource-accent:#675074;}
.article-resource-links li:nth-child(4) .article-resource-link {--resource-accent:#315e49;}
.article-resource-link {--resource-panel:#e0e8d9;}
.article-resource-links li:nth-child(2) .article-resource-link {--resource-panel:#f1e5c8;}
.article-resource-links li:nth-child(3) .article-resource-link {--resource-panel:#e9e0ef;}
.article-resource-links li:nth-child(4) .article-resource-link {--resource-panel:#dce9df;}
.article-resource-icon {align-self:stretch;display:grid;place-items:center;background:var(--resource-panel);color:var(--resource-accent);}
.article-resource-icon svg {width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;}
.article-resource-copy {padding:13px 0;min-width:0;}
.article-link-kicker {display:block;color:var(--resource-accent);font-size:8px;letter-spacing:.07em;text-transform:uppercase;line-height:1.4;margin-bottom:5px;}
.article-link-title {display:block;color:var(--resource-accent);font:600 16px/1.2 Georgia,serif;overflow-wrap:break-word;}
.article-link-description {display:block;color:#4b584d;font-size:11px;line-height:1.4;margin-top:5px;}
.article-resource-arrow {display:grid;place-items:center;width:22px;height:22px;background:#ebdbb3;color:#4c4024;border-radius:50%;font-size:17px;}
.article-resource-link:hover {transform:translateY(-2px);box-shadow:0 7px 16px #283e301a;}
.article-resource-link:focus-visible {outline:3px solid #b59b5c;outline-offset:3px;}
@media(prefers-reduced-motion:reduce){.article-resource-link{transition:none}.article-resource-link:hover{transform:none}}

/* First-time homebuyer article quiz and course image cards. */
.article-first-home-tool img {display:block;width:100%;height:auto;border-radius:8px;margin:16px 0;}.article-first-home-tool .site-btn {display:flex;justify-content:center;width:100%;box-sizing:border-box;}
/* Blog article library: cream image cards with accessible browsing controls. */
.blog-library {margin-top:56px;scroll-margin-top:180px;}
.blog-library-grid {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;}
.blog-library-card {background:#fff8ed;border:1px solid #e2d9c5;border-radius:12px;overflow:hidden;box-shadow:0 4px 14px #263c3010;}
.blog-library-card a {display:flex;flex-direction:column;height:100%;color:#294c3a;text-decoration:none;}
.blog-library-card img {width:100%;aspect-ratio:16/9;height:auto;object-fit:contain;background:#f1ede4;display:block;}
.blog-library-card__copy {padding:20px;display:flex;flex-direction:column;flex:1;}
.blog-library-card .blog-library-card__category {font-size:.73rem;font-weight:600;color:#6d577c;margin:0 0 12px;}
.blog-library-card h3 {font-size:1.16rem;line-height:1.4;margin:0 0 20px;}
.blog-library-card__read {margin-top:auto;align-self:flex-start;background:#e0e8d9;border:1px solid #c7d3bf;border-radius:6px;padding:8px 13px;font-weight:600;font-size:.85rem;}
.blog-library-card a:hover {background:#fbf3e2;}
.blog-library-card a:focus-visible {outline:3px solid #9c7f42;outline-offset:-3px;}
.blog-library-controls {display:grid;grid-template-columns:auto minmax(180px,1fr) auto minmax(180px,1fr);gap:12px;align-items:center;margin:24px 0 14px;}
.blog-library-controls label {font-weight:600;font-size:.85rem;}
.blog-library-controls select,.blog-library-controls input {min-width:0;width:100%;box-sizing:border-box;padding:12px;border:1px solid #a8b49e;border-radius:7px;background:#fffdf8;font:inherit;color:#294c3a;}
.blog-library-pagination {display:flex;justify-content:center;align-items:center;gap:22px;margin:30px 0;}
.blog-library-pagination button {padding:12px 20px;border:1px solid #9ba991;border-radius:7px;background:#e0e8d9;color:#294c3a;font:600 .9rem inherit;cursor:pointer;}
.blog-library-pagination button:disabled {opacity:.45;cursor:default;}
.blog-library [hidden] {display:none!important;}
#article-library-title {scroll-margin-top:180px;}
@media(max-width:1000px){.blog-library-controls{grid-template-columns:1fr 1fr;}.blog-library-controls label{grid-row:1;}.blog-library-controls select,.blog-library-controls input{grid-row:2;}}
@media(max-width:700px){.blog-library-grid{grid-template-columns:1fr;}.blog-library-controls{display:flex;flex-direction:column;align-items:stretch;}.blog-library-pagination{gap:12px;}}

/* Warm editorial header for the main blog library. */
.site-page-hero.blog-library-hero {background:#fbf6ec;color:#344638;min-height:0;padding:42px 0 44px;border-bottom:2px solid #c5a267;}
.site-page-hero.blog-library-hero::before {content:none;}
.blog-library-hero h1 {color:#294c3a;max-width:25ch;font-size:clamp(2rem,4.2vw,3.3rem);line-height:1.15;}
.site-page-hero.blog-library-hero .site-hero__eyebrow {color:#756181;}
.blog-library-hero .site-hero__lead {color:#485747;max-width:70ch;line-height:1.7;}
.blog-library-hero .site-breadcrumbs,.blog-library-hero .site-breadcrumbs a {color:#596650;}
.blog-library-hero .site-btn--secondary {color:#294c3a;background:#f1e5c8;border-color:#c5a267;}
.blog-library-hero .site-btn--primary {background:#49654a;color:#fffdf8;border-color:#49654a;}
@media(max-width:600px){.site-page-hero.blog-library-hero{padding:28px 0 32px;}}

/* Inspiration Hub: original guides, videos and podcast resources. */
.inspiration-hub {color:#344638;}
.inspiration-hub h1,.inspiration-hub h2,.inspiration-hub h3 {color:#294c3a;}
.inspiration-hub p {line-height:1.75;}
.inspiration-hero {background:#fbf6ec;padding:44px 0 50px;border-bottom:2px solid #c5a267;}
.inspiration-hero h1 {font-family:var(--font-display);font-size:clamp(2rem,4vw,3.4rem);line-height:1.15;}
.inspiration-hero .site-breadcrumbs a {color:#49654a;}
.inspiration-split {display:grid;grid-template-columns:1.15fr 1fr;gap:42px;align-items:center;}
.inspiration-split>img {display:block;width:100%;height:auto;border-radius:16px;}
.inspiration-lead {font-size:1.15rem;}
.inspiration-eyebrow {font-size:.78rem;letter-spacing:.1em;text-transform:uppercase;color:#756181;font-weight:600;}
.inspiration-tint {background:#f4f0e7;}
.inspiration-jumps {display:flex;flex-wrap:wrap;gap:12px;margin:0 0 34px;}
.inspiration-jumps a {padding:12px 18px;background:#e0e8d9;border:1px solid #c8d1be;border-radius:8px;color:#294c3a;text-decoration:none;}
.inspiration-guides {display:grid;grid-template-columns:1fr 1fr;gap:26px;margin:30px 0;}
.inspiration-guide {display:grid;grid-template-columns:150px 1fr;gap:22px;align-items:start;padding:24px;background:#fffaf0;border:1px solid #e1d5bc;border-radius:12px;}
.inspiration-guide img {width:100%;height:210px;object-fit:contain;display:block;}
.inspiration-guide h3 {margin-top:0;}
.inspiration-hub .site-btn {white-space:normal;text-align:center;}
.inspiration-guide .site-btn--secondary {background:#e8dfed;border-color:#cfc1d7;color:#51415d;}
.inspiration-videos,.inspiration-stories {display:grid;grid-template-columns:1fr 1fr;gap:32px;}
.inspiration-videos .blog-video {margin:20px 0;}
.inspiration-meditation {display:grid;grid-template-columns:260px 1fr;gap:44px;align-items:center;}
.inspiration-meditation img {width:100%;height:auto;display:block;border-radius:14px;}
.inspiration-stories>a {display:block;background:#fffaf0;border:1px solid #e1d5bc;border-radius:12px;overflow:hidden;color:#344638;text-decoration:none;}
.inspiration-stories img {display:block;width:100%;height:230px;object-fit:contain;background:#f4f0e7;}
.inspiration-stories>a>div {padding:26px;}
.inspiration-stories span {font-weight:650;text-decoration:underline;}
.inspiration-split>.inspiration-amy {max-width:280px;justify-self:center;}
.inspiration-bottom {background:#fff8e9;border:1px solid #d9c7a0;border-left:5px solid #b39553;padding:28px;border-radius:12px;margin-bottom:40px;}
.inspiration-hub [id] {scroll-margin-top:175px;}
@media(max-width:1000px){.inspiration-guides{grid-template-columns:1fr;}}
@media(max-width:760px){.inspiration-split,.inspiration-videos,.inspiration-stories,.inspiration-meditation{grid-template-columns:1fr;gap:26px;}.inspiration-meditation>a{max-width:240px;}.inspiration-guide{grid-template-columns:110px 1fr;padding:18px;gap:16px;}.inspiration-guide img{height:165px;}}
@media(max-width:420px){.inspiration-guide{grid-template-columns:1fr;}.inspiration-guide>a{max-width:170px;margin:auto;}.inspiration-guide img{height:auto;}}

/* Soft brand pastels, scoped to the Inspiration Hub. */
.inspiration-hub .site-btn {background:#e1e9da;border-color:#c0cdb7;color:#304b36;box-shadow:0 3px 10px #5b4d3820;}
.inspiration-hero .site-btn,.inspiration-guide:nth-child(3) .site-btn,.inspiration-bottom .site-btn {background:#f1e3bf;border-color:#d7c292;color:#65502b;}
.inspiration-guide:nth-child(2) .site-btn,#inspiration-meditations .site-btn {background:#e9dfee;border-color:#cdbbd6;color:#594468;}
.inspiration-guide:nth-child(4) .site-btn {background:#e0ebe3;border-color:#bdd0c3;color:#315942;}
.inspiration-jumps a:nth-child(3n+2) {background:#e9dfee;border-color:#cdbbd6;color:#594468;}
.inspiration-jumps a:nth-child(3n) {background:#f1e3bf;border-color:#d7c292;color:#65502b;}
.inspiration-hub .blog-video__play span {background:#e9dfee;color:#594468;}
.inspiration-hub .site-btn:hover,.inspiration-jumps a:hover {filter:brightness(.96);}
.inspiration-hub .site-btn:focus-visible,.inspiration-jumps a:focus-visible {outline:3px solid #756181;outline-offset:3px;}


/* Compact Roseville financing hub cards. */
.roseville-cards.roseville-financing-cards { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; margin: 24px 0 34px; }
.roseville-financing-cards article > img { height: 138px; }
.roseville-financing-cards article > :not(img) { margin-left: 20px; margin-right: 20px; }
.roseville-financing-cards article > img + h3 { margin-top: 16px; }
.roseville-financing-cards article h3 { font-size: 1.12rem; }
.roseville-financing-cards article p { font-size: .92rem; line-height: 1.55; }
.roseville-financing-cards article > a:last-child { margin-bottom: 20px; }
@media (max-width: 900px) { .roseville-cards.roseville-financing-cards { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 600px) { .roseville-cards.roseville-financing-cards { grid-template-columns: 1fr; } .roseville-financing-cards article > img { height: 160px; } }

.context-nav {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  margin: 0.75rem 0 0.15rem;
  font-size: 0.78rem;
  line-height: 1.4;
}
.context-nav a {
  color: inherit;
  text-decoration: none;
}
.context-nav a + a::before {
  content: "|";
  margin: 0 0.5rem;
  opacity: 0.45;
}

/* Blog subscribe form (Resource Center hero) */
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.form-honeypot{position:absolute;left:-10000px;top:auto;width:1px;height:1px;overflow:hidden}
.blog-subscribe{background:#f4eee2;border:1px solid #e1d5bc;border-radius:16px;padding:22px 24px;margin:24px 0 22px;max-width:760px}
.blog-subscribe__kicker{margin:0 0 4px;font-size:.78rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--clay-dark)}
.resource-welcome-copy .blog-subscribe h2{margin:0 0 6px;font-size:1.3rem;line-height:1.3;color:#344b3a}
.resource-welcome-copy .blog-subscribe p.blog-subscribe__lede{margin:0 0 14px;font-size:.95rem;line-height:1.6}
.blog-subscribe__form{display:flex;gap:10px;align-items:stretch}
.blog-subscribe__form input[type=text],.blog-subscribe__form input[type=email]{flex:1 1 0;min-width:0;height:48px;box-sizing:border-box;padding:0 14px;background:#fff;border:1px solid #cfd3c4;border-radius:var(--radius);font:inherit;font-size:1rem;color:var(--ink)}
.blog-subscribe__form input[type=email]{flex-grow:1.4}
.blog-subscribe__form input:focus{outline:2px solid var(--clay-dark);outline-offset:1px;border-color:var(--clay-dark)}
.blog-subscribe__form .site-btn{height:48px;white-space:nowrap;padding:0 26px;border-radius:999px}
.resource-welcome-copy .blog-subscribe p.blog-subscribe__note{margin:10px 0 0;font-size:.8rem;line-height:1.5;color:#5f584f}
.blog-subscribe__error{display:none;margin:10px 0 0;padding:10px 12px;border-radius:8px;background:#fbeaea;border:1px solid #e3b4b4;color:#7a2424;font-size:.9rem}
.blog-subscribe__error:target{display:block}
#subscribe{scroll-margin-top:150px}
@media(max-width:520px){.blog-subscribe{padding:18px 16px}.blog-subscribe__form{flex-direction:column}.blog-subscribe__form input[type=text],.blog-subscribe__form input[type=email]{flex:none;width:100%}.blog-subscribe__form .site-btn{width:100%}}

/* Ask Amy a question form (contact page) */
.ask-amy{background:#fff;border:1px solid var(--clay);border-radius:14px;max-width:760px;margin:40px auto 0;padding:30px 34px;box-sizing:border-box}
.contact-page .ask-amy h2{margin:0 0 18px;font-size:1.45rem;font-weight:700;line-height:1.3;color:var(--clay-dark)}
.ask-amy__form{display:flex;flex-direction:column;gap:16px}
.ask-amy__field label{display:block;margin:0 0 6px;font-weight:600;font-size:.95rem;color:var(--ink)}
.ask-amy__optional{font-weight:400;color:#6a625c}
.ask-amy__field input,.ask-amy__field textarea{display:block;width:100%;box-sizing:border-box;padding:12px 14px;background:var(--cream);border:1px solid #cfd3c4;border-radius:8px;font:inherit;font-size:1rem;color:var(--ink)}
.ask-amy__field input{height:48px}
.ask-amy__field textarea{min-height:130px;resize:vertical;line-height:1.5}
.ask-amy__field input:focus,.ask-amy__field textarea:focus{outline:2px solid var(--clay-dark);outline-offset:1px;border-color:var(--clay-dark)}
.ask-amy__actions{display:flex;align-items:center;gap:18px;margin-top:4px}
.ask-amy__send{flex:none;min-width:160px;height:48px;padding:0 28px;background:var(--clay-dark);color:#fff;border:0;border-radius:999px;font:inherit;font-weight:600;font-size:1rem;cursor:pointer}
.ask-amy__send:hover{background:#245a3d}
.ask-amy__send:focus-visible{outline:3px solid var(--clay);outline-offset:2px}
.ask-amy__note{margin:0;font-size:.82rem;line-height:1.5;color:#5f584f}
.ask-amy__error{display:none;margin:16px 0 0;padding:10px 12px;border-radius:8px;background:#fbeaea;border:1px solid #e3b4b4;color:#7a2424;font-size:.9rem}
.ask-amy__error:target{display:block}
#ask-amy,#ask-error{scroll-margin-top:150px}
@media(max-width:560px){.ask-amy{padding:22px 18px}.ask-amy__actions{flex-wrap:wrap}.ask-amy__send{width:100%}}

/* Solar calculator, homebuyer launchpad, home-fund guide, SaveBot privacy. */
.solar-calc-hero,.homebuyer-tools-hero,.home-fund-hero{
  display:grid;grid-template-columns:1.05fr .95fr;gap:0;min-height:min(72vh,640px);background:var(--sage-deep);color:#fffdf8;
}
.solar-calc-hero__copy,.homebuyer-tools-hero__copy,.home-fund-hero__copy{
  padding:clamp(2rem,5vw,4.5rem) clamp(1.4rem,4vw,3.5rem);display:flex;flex-direction:column;justify-content:center;
}
.solar-calc-hero__eyebrow,.homebuyer-tools-eyebrow,.home-fund-eyebrow,.solar-calc-shell__eyebrow,.legal-page__eyebrow{
  margin:0 0 .7rem;font-size:.78rem;letter-spacing:.12em;text-transform:uppercase;font-weight:600;color:#d7e2cf;
}
.homebuyer-tools-eyebrow,.home-fund-eyebrow,.solar-calc-shell__eyebrow,.legal-page__eyebrow{color:#756181}
.solar-calc-hero h1,.homebuyer-tools-hero h1,.home-fund-hero h1{
  margin:0 0 1rem;font-family:var(--font-display);font-size:clamp(2rem,4.2vw,3.35rem);line-height:1.12;color:#fffdf8;max-width:16ch;
}
.solar-calc-hero p,.homebuyer-tools-hero p,.home-fund-hero p{margin:0 0 1.4rem;max-width:46ch;line-height:1.7;color:#efe6d6}
.solar-calc-hero__actions,.homebuyer-tools-actions,.home-fund-actions,.solar-calc-amy__actions,.home-fund-amy__actions{display:flex;flex-wrap:wrap;gap:12px}
.solar-calc-hero__image,.homebuyer-tools-hero__image,.home-fund-hero__image{min-height:280px}
.solar-calc-hero__image img,.homebuyer-tools-hero__image img,.home-fund-hero__image img{display:block;width:100%;height:100%;object-fit:cover}
.solar-calc-intro,.homebuyer-tools-intro,.home-fund-intro{padding:3rem clamp(1.2rem,4vw,3rem) 1.2rem;background:#fbf6ec}
.solar-calc-intro__inner,.homebuyer-tools-intro,.home-fund-intro{max-width:760px;margin:0 auto;text-align:center}
.solar-calc-intro h2,.homebuyer-tools-intro h2,.home-fund-intro h2,.solar-calc-shell h2,.home-fund-download h2,.home-fund-steps h2,.home-fund-categories h2,.home-fund-records h2,.home-fund-amy h2,.solar-calc-amy h2,.legal-page h1,.legal-page h2{font-family:var(--font-display);color:#294c3a}
.solar-calc-shell{padding:1.5rem clamp(1.2rem,4vw,3rem) 3.5rem;background:#fbf6ec}
.solar-calc-shell__heading{max-width:760px;margin:0 auto 1.75rem;text-align:center}
.solar-calc-form{max-width:1100px;margin:0 auto 2rem}
.solar-calc-form .site-calc__board{display:grid;grid-template-columns:1.15fr .85fr;gap:0}
.solar-calc-form .calc-core-inputs{padding:28px}
.solar-calc-form__home{margin-top:1rem;font-size:.9rem;color:#596650}
.solar-calc-placeholder{display:grid;grid-template-columns:1fr 1fr;gap:18px;max-width:1100px;margin:0 auto 1.25rem}
.solar-calc-placeholder__panel{background:#fffaf0;border:1px solid #e1d5bc;border-radius:12px;padding:22px 24px}
.solar-calc-placeholder__panel--wide{grid-column:1/-1;display:flex;justify-content:space-between;gap:18px;align-items:center;flex-wrap:wrap}
.solar-calc-placeholder__number{display:inline-block;margin-bottom:.55rem;font-size:.75rem;letter-spacing:.12em;font-weight:700;color:#756181}
.solar-calc-placeholder__status{margin:0;padding:.55rem 1rem;background:#e0e8d9;border-radius:999px;color:#294c3a;font-size:.85rem;font-weight:600}
.solar-calc-note{max-width:1100px;margin:0 auto;font-size:.86rem;color:#6a625c;line-height:1.6}
.solar-calc-next{padding:2.5rem clamp(1.2rem,4vw,3rem);background:#fff}
.solar-calc-next__grid{max-width:1100px;margin:0 auto;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.solar-calc-next article{padding:8px 4px}
.solar-calc-amy,.home-fund-amy{display:grid;grid-template-columns:220px 1fr;gap:36px;align-items:center;max-width:1100px;margin:0 auto;padding:2.5rem clamp(1.2rem,4vw,3rem) 3.5rem}
.solar-calc-amy img,.home-fund-amy img{width:100%;height:auto;border-radius:14px;display:block}
.solar-calc-amy a:not(.site-btn),.home-fund-amy a:not(.site-btn){align-self:center;color:#294c3a;font-weight:600}
.launchpad-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px;max-width:1100px;margin:0 auto;padding:0 clamp(1.2rem,4vw,3rem) 3.5rem;background:#fbf6ec}
.launchpad-card{display:grid;grid-template-columns:160px 1fr;gap:18px;background:#fffaf0;border:1px solid #e1d5bc;border-radius:14px;overflow:hidden;padding:0}
.launchpad-card img{width:100%;height:100%;min-height:160px;object-fit:cover;display:block}
.launchpad-card>div{padding:20px 20px 22px 0}
.launchpad-card--feature{grid-column:1/-1;grid-template-columns:280px 1fr}
.launchpad-label{margin:0 0 .35rem;font-size:.75rem;letter-spacing:.1em;text-transform:uppercase;font-weight:650;color:#756181}
.launchpad-card h2{margin:.1rem 0 .55rem;font-family:var(--font-display);font-size:1.35rem;color:#294c3a}
.launchpad-link{display:inline-block;margin-top:.6rem;font-weight:650;color:#2f6b4a;text-decoration:none}
.home-fund-download{display:grid;grid-template-columns:240px 1fr;gap:36px;align-items:start;max-width:1100px;margin:0 auto;padding:1rem clamp(1.2rem,4vw,3rem) 2.5rem;background:#fbf6ec}
.home-fund-download__cover img{width:100%;height:auto;border-radius:12px;display:block;border:1px solid #e1d5bc;background:#fff}
.home-fund-download ul{margin:1rem 0 1.25rem;padding-left:1.15rem;line-height:1.7}
.home-fund-download__note{margin-top:1rem;font-size:.84rem;color:#6a625c}
.home-fund-steps,.home-fund-categories,.home-fund-records{padding:1.5rem clamp(1.2rem,4vw,3rem) 2.5rem;background:#fff}
.home-fund-steps__head,.home-fund-categories__head{max-width:720px;margin:0 auto 1.5rem;text-align:center}
.home-fund-steps__grid,.home-fund-categories__grid{max-width:1100px;margin:0 auto;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.home-fund-steps__grid article,.home-fund-categories__grid article{background:#fbf6ec;border:1px solid #e1d5bc;border-radius:12px;padding:22px}
.home-fund-steps__number{display:inline-block;margin-bottom:.5rem;font-size:.75rem;letter-spacing:.12em;font-weight:700;color:#756181}
.home-fund-records{background:#fbf6ec}
.home-fund-records>p,.home-fund-records>h2{max-width:760px;margin-left:auto;margin-right:auto;text-align:center}
.home-fund-records__callout{max-width:900px;margin:1.25rem auto 0;background:#fffaf0;border:1px solid #d9c7a0;border-left:5px solid #b39553;border-radius:12px;padding:22px 26px;line-height:1.7}
.legal-page{max-width:760px;margin:0 auto;padding:3rem clamp(1.2rem,4vw,2rem) 4rem}
.legal-page__intro{font-size:1.08rem;line-height:1.75;color:#485747}
.legal-page ul{line-height:1.75}
.legal-page__note{margin-top:2rem;padding:1.25rem 1.4rem;background:#f4f0e7;border:1px solid #e1d5bc;border-radius:12px}
@media(max-width:960px){
  .solar-calc-hero,.homebuyer-tools-hero,.home-fund-hero{grid-template-columns:1fr}
  .solar-calc-hero__image,.homebuyer-tools-hero__image,.home-fund-hero__image{min-height:240px;max-height:320px}
  .solar-calc-form .site-calc__board,.solar-calc-placeholder,.solar-calc-next__grid,.launchpad-grid,.home-fund-steps__grid,.home-fund-categories__grid{grid-template-columns:1fr}
  .solar-calc-placeholder__panel--wide,.launchpad-card,.launchpad-card--feature,.home-fund-download,.solar-calc-amy,.home-fund-amy{grid-template-columns:1fr}
  .launchpad-card>div,.launchpad-card--feature>div{padding:18px 20px 22px}
  .home-fund-download__cover{max-width:220px}
  .solar-calc-amy img,.home-fund-amy img{max-width:220px}
}

