@font-face {
  font-family: "Merriweather";
  src: url("/sites/403bforteachers.com/assets/fonts/merriweather-bold.woff2") format("woff2");
  font-style: normal;
  font-weight: 700;
  font-display: swap;
}

@font-face {
  font-family: "Lato";
  src: url("/sites/403bforteachers.com/assets/fonts/lato-regular.woff2") format("woff2");
  font-style: normal;
  font-weight: 400;
  font-display: swap;
}

@font-face {
  font-family: "Lato";
  src: url("/sites/403bforteachers.com/assets/fonts/lato-bold.woff2") format("woff2");
  font-style: normal;
  font-weight: 700;
  font-display: swap;
}

.site-403b-for-teachers {
  --tft-ink: #17324d;
  --tft-blue: #2f6690;
  --tft-coral: #d95d45;
  --tft-coral-dark: #b94732;
  --tft-notebook: #e4eff5;
  --tft-paper: #fcfaf5;
  --tft-white: #fff;
  --tft-copy: #334e68;
  --tft-muted: #5d7185;
  --tft-line: #c6d5df;
  --tft-heading: "Merriweather", Georgia, serif;
  --tft-body: "Lato", "Segoe UI", Arial, sans-serif;
  --tft-cta-height: 2.75rem;
  --tft-cta-padding-block: .625rem;
  --tft-cta-padding-inline: 1.3125rem;
  --tft-cta-radius: 999px;
  --tft-cta-font-size: 1rem;
  --font-sans: var(--tft-body);
  --font-display: var(--tft-heading);
  --tft-shell: 82rem;
  color: var(--tft-copy);
  background: var(--tft-paper);
  font-family: var(--tft-body);
  line-height: 1.65;
}

.site-403b-for-teachers *,
.site-403b-for-teachers *::before,
.site-403b-for-teachers *::after { box-sizing: border-box; }
.site-403b-for-teachers button,
.site-403b-for-teachers input,
.site-403b-for-teachers select,
.site-403b-for-teachers textarea { font: inherit; }
.site-403b-for-teachers h1,
.site-403b-for-teachers h2,
.site-403b-for-teachers h3,
.site-403b-for-teachers h4 { color: var(--tft-ink); font-family: var(--tft-heading); font-weight: 700; }
.site-403b-for-teachers h1 { margin: 0; font-size: clamp(2.5rem, 5vw, 5.2rem); line-height: 1.06; letter-spacing: -.025em; }
.site-403b-for-teachers h2 { margin: 0; font-size: clamp(2rem, 3.5vw, 3.65rem); line-height: 1.14; letter-spacing: -.018em; }
.site-403b-for-teachers h3 { font-size: clamp(1.1rem, 1.7vw, 1.4rem); line-height: 1.3; }
.site-403b-for-teachers p { color: var(--tft-copy); }
.site-403b-for-teachers a { color: var(--tft-blue); text-underline-offset: .22em; }
.site-403b-for-teachers :focus-visible { outline: 3px solid var(--tft-coral); outline-offset: 3px; }
.site-403b-for-teachers .container,
.site-403b-for-teachers .tft-shell { width: min(calc(100% - 3rem), var(--tft-shell)); margin-inline: auto; }
.tft-eyebrow,
.site-403b-for-teachers .eyebrow { margin: 0 0 1rem; color: var(--tft-blue); font-size: .75rem; font-weight: 700; letter-spacing: .16em; line-height: 1.35; text-transform: uppercase; }
.tft-lead { max-width: 42rem; margin: 1.5rem 0 0; font-size: clamp(1.05rem, 1.5vw, 1.28rem); line-height: 1.7; }
.tft-prose { max-width: 42rem; }
.tft-prose > :first-child { margin-top: 0; }
.tft-prose > :last-child { margin-bottom: 0; }
.tft-prose p { font-size: 1.03rem; }
.tft-prose h3 { margin: 2rem 0 .5rem; }
.tft-button { display: inline-flex; min-height: var(--tft-cta-height); align-items: center; justify-content: center; padding: var(--tft-cta-padding-block) var(--tft-cta-padding-inline); color: var(--tft-paper); background: var(--tft-coral); border: 2px solid var(--tft-coral); border-radius: var(--tft-cta-radius); font-family: var(--tft-body); font-size: var(--tft-cta-font-size); font-weight: 700; line-height: 1.15; text-decoration: none; transition: background-color .18s ease, border-color .18s ease, transform .18s ease; }
.site-403b-for-teachers .button { display: inline-flex; min-height: 3.15rem; align-items: center; justify-content: center; padding: .8rem 1.35rem; color: #fff; background: var(--tft-coral); border: 2px solid var(--tft-coral); border-radius: .35rem; font-size: 1.1875rem; font-weight: 700; line-height: 1.15; text-decoration: none; transition: background-color .18s ease, border-color .18s ease, transform .18s ease; }
.site-403b-for-teachers .desktop-nav .button,
.site-403b-for-teachers .mobile-nav .button { min-height: var(--tft-cta-height); padding: var(--tft-cta-padding-block) var(--tft-cta-padding-inline); border-radius: var(--tft-cta-radius); font-family: var(--tft-body); font-size: var(--tft-cta-font-size); font-weight: 700; line-height: 1.15; }
.site-403b-for-teachers a.tft-button { color: var(--tft-paper); }
.tft-button:hover { color: var(--tft-paper); background: var(--tft-coral-dark); border-color: var(--tft-coral-dark); transform: translateY(-1px); }
.site-403b-for-teachers .button:hover { color: #fff; background: var(--tft-coral-dark); border-color: var(--tft-coral-dark); transform: translateY(-1px); }
.tft-button--light { color: var(--tft-paper); background: var(--tft-coral); border-color: var(--tft-coral); }
.site-403b-for-teachers a.tft-button--light { color: var(--tft-paper); }
.tft-button--light:hover { color: var(--tft-paper); background: var(--tft-coral-dark); border-color: var(--tft-coral-dark); }
.tft-text-link { display: inline-flex; align-items: center; gap: .45rem; margin-top: 1rem; color: var(--tft-blue); font-weight: 700; }

/* Header and footer */
.site-403b-for-teachers .site-header { position: sticky; top: 0; z-index: 100; padding: 0; background: rgba(252,250,245,.97); border-bottom: 1px solid var(--tft-line); backdrop-filter: blur(10px); }
.site-403b-for-teachers .site-header::before { display: none; content: none; }
.site-403b-for-teachers .header__inner { min-height: 5.5rem; gap: 2rem; }
.site-403b-for-teachers .header__brand { flex: 0 1 15rem; min-width: 11rem; text-decoration: none; }
.site-403b-for-teachers .site-header .brand__logo { display: block; width: clamp(11rem, 16vw, 14.5rem); height: auto; max-height: 3.4rem; object-fit: contain; object-position: left center; }
.site-403b-for-teachers .desktop-nav { gap: clamp(.75rem, 1.3vw, 1.4rem); }
.site-403b-for-teachers .desktop-nav ul { gap: clamp(.65rem, 1vw, 1.15rem); }
.site-403b-for-teachers .desktop-nav a:not(.button) { padding: .35rem 0; color: var(--tft-ink); font-size: .78rem; font-weight: 700; text-decoration: none; }
.site-403b-for-teachers .desktop-nav a:not(.button):hover,
.site-403b-for-teachers .desktop-nav a[aria-current="page"] { color: var(--tft-blue); }
.site-403b-for-teachers .desktop-nav a[aria-current="page"] { box-shadow: inset 0 -2px var(--tft-coral); }
.site-403b-for-teachers .button--small { min-height: 2.75rem; padding: .65rem 1rem; font-size: 1.1875rem; }

@media (min-width: 1101px) {
  .site-403b-for-teachers .desktop-nav .button { min-height: 2.5rem; padding: .5rem 1.125rem; font-size: .9375rem; }
}

.site-403b-for-teachers .footer { padding: 0 0 1rem; color: var(--tft-ink); background: var(--tft-notebook); border-top: 4px solid var(--tft-coral); }
.site-403b-for-teachers .footer__main { grid-template-columns: 2.1fr 1fr 1.25fr 1fr; gap: 2.5rem; padding-top: 3rem; padding-bottom: 2rem; border-color: var(--tft-line); }
.site-403b-for-teachers .footer p,
.site-403b-for-teachers .footer h2 { color: var(--tft-ink); }
.site-403b-for-teachers .footer h2 { color: var(--tft-ink); font-family: var(--tft-body); font-size: .72rem; letter-spacing: .12em; text-transform: uppercase; }
.site-403b-for-teachers .footer a { color: var(--tft-ink); }
.site-403b-for-teachers .footer a:hover { color: var(--tft-blue); }
.site-403b-for-teachers .dro-footer-brand-lockup { display: block; }
.site-403b-for-teachers .dro-footer-brand-lockup img { display: block; width: min(17rem, 100%); height: auto; filter: drop-shadow(0 3px 8px rgba(0,0,0,.12)); }
.site-403b-for-teachers .dro-footer-brand-lockup > span { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.site-403b-for-teachers .footer__bottom { grid-template-columns: minmax(0,1fr) auto; gap: 2rem; padding-top: 1.2rem; border-color: var(--tft-line); }
.site-403b-for-teachers .footer__bottom p { font-size: .72rem; }

/* Shared editorial structures */
.tft-section { padding: clamp(4.5rem, 8vw, 8rem) 0; background: var(--tft-paper); }
.tft-section--notebook { background: var(--tft-notebook); }
.tft-editorial-split { display: grid; grid-template-columns: minmax(0, .9fr) minmax(20rem, .72fr); gap: clamp(3rem, 8vw, 8rem); align-items: start; }
.tft-section-heading { max-width: 52rem; margin-bottom: 3.5rem; }
.tft-section-heading > p:last-child { max-width: 42rem; font-size: 1.05rem; }

/* Homepage */
.tft-home-hero { padding: clamp(1.25rem, 2.4vw, 2.75rem) 0; overflow: hidden; background: var(--tft-paper); }
.tft-home-hero__grid { position: relative; isolation: isolate; display: grid; width: calc(100% - clamp(2rem, 5vw, 7rem)); max-width: none; min-height: clamp(38rem, 46vw, 52rem); grid-template-columns: repeat(12, minmax(0, 1fr)); align-items: center; overflow: hidden; background: var(--tft-notebook); border-radius: .6rem; box-shadow: 0 22px 65px rgba(23,50,77,.12); }
.site-403b-for-teachers .tft-home-hero__grid { width: calc(100% - clamp(2rem, 5vw, 7rem)); max-width: none; }
.tft-home-hero__copy { z-index: 2; grid-column: 1 / span 6; align-self: center; width: min(100%, 44rem); margin-left: clamp(1.5rem, 4vw, 5.5rem); padding: clamp(2rem, 3.6vw, 4rem); background: rgba(252,250,245,.8); border-top: 4px solid var(--tft-coral); box-shadow: 0 24px 65px rgba(23,50,77,.22); backdrop-filter: blur(2px); -webkit-backdrop-filter: blur(2px); }
.tft-home-hero__copy h1 { max-width: 14ch; font-size: clamp(2.55rem, 3.8vw, 4.7rem); }
.tft-home-hero__copy .tft-lead { max-width: 36rem; }
.tft-home-hero__copy .tft-button { display: flex; width: max-content; max-width: 100%; margin: 2rem 0 0; }
.tft-home-hero__media { position: absolute; z-index: 0; inset: 0; overflow: hidden; }
.tft-home-hero__media img { display: block; width: 100%; height: 100%; opacity: 1; object-fit: cover; object-position: center top; filter: contrast(1.09) saturate(1.05); }
.tft-home-story { padding: clamp(5rem, 8vw, 8rem) 0; overflow: hidden; background: var(--tft-paper); }
.tft-home-story__grid { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(20rem, .8fr); gap: clamp(3rem, 7vw, 7rem); align-items: center; }
.tft-home-story__visual { position: relative; isolation: isolate; width: 100%; min-width: 0; }
.tft-home-story__visual::before { position: absolute; z-index: -1; background: var(--tft-coral); border-radius: .45rem; content: ""; }
.tft-home-story__visual--pension { padding: 0 clamp(1.75rem, 3vw, 3rem) clamp(1.75rem, 3vw, 3rem) 0; }
.tft-home-story__visual--pension::before { inset: clamp(2.25rem, 4vw, 4rem) 0 0 clamp(2.25rem, 4vw, 4rem); }
.tft-home-story__visual--loans { padding: 0 0 clamp(1.75rem, 3vw, 3rem) clamp(1.75rem, 3vw, 3rem); }
.tft-home-story__visual--loans::before { inset: clamp(2.25rem, 4vw, 4rem) clamp(2.25rem, 4vw, 4rem) 0 0; }
.tft-home-story__media { display: block; width: 100%; min-width: 0; min-height: 26rem; overflow: hidden; border-radius: .45rem; box-shadow: 0 22px 58px rgba(23,50,77,.13); }
.tft-home-story__media img { display: block; width: 100%; height: 100%; min-height: inherit; object-fit: cover; }
.tft-home-story--pension .tft-home-story__media { aspect-ratio: 16 / 10; }
.tft-home-story--pension .tft-home-story__media img { object-position: center; }
.tft-home-story--loans { background: #f4f7f8; }
.tft-home-story--loans .tft-home-story__grid { grid-template-columns: minmax(20rem, .8fr) minmax(0, 1.05fr); }
.tft-home-story--loans .tft-home-story__media { aspect-ratio: 16 / 10; }
.tft-home-story--loans .tft-home-story__media img { object-position: 62% center; }
.tft-home-story__content { max-width: 40rem; }
.tft-home-story__content h2 { font-size: clamp(2rem, 3.2vw, 3.45rem); }
.tft-home-story__content > p:not(.tft-eyebrow) { margin: 1.5rem 0 0; font-size: 1.06rem; }
.tft-home-story__content .tft-text-link { margin-top: 1.65rem; }
.tft-home-growth { padding: clamp(5rem, 9vw, 9rem) 0; overflow: hidden; background: var(--tft-notebook); }
.tft-home-growth__grid { display: grid; grid-template-columns: minmax(20rem, .75fr) minmax(0, 1.15fr); gap: clamp(3rem, 8vw, 8rem); align-items: center; }
.tft-home-growth__content { max-width: 41rem; }
.tft-home-growth__content h2 { font-size: clamp(2rem, 3.2vw, 3.45rem); }
.tft-home-growth__content > p:not(.tft-eyebrow) { margin: 1.5rem 0 0; font-size: 1.06rem; }
.tft-home-growth__content .tft-text-link { margin-top: 1.65rem; }
.tft-home-growth__visual { position: relative; isolation: isolate; padding: 0 0 clamp(2rem, 4vw, 4rem) clamp(1.5rem, 4vw, 4rem); }
.tft-home-growth__visual::before { position: absolute; z-index: -1; inset: clamp(2rem, 4vw, 4rem) clamp(1.5rem, 3vw, 3rem) 0 0; background: var(--tft-ink); border-radius: .45rem; content: ""; }
.tft-home-growth__media { display: block; width: 100%; min-width: 0; aspect-ratio: 16 / 10; overflow: hidden; border-radius: .45rem; box-shadow: 0 24px 58px rgba(23,50,77,.2); }
.tft-home-growth__media img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: 58% center; }
.tft-home-growth__steps { position: absolute; right: 0; bottom: 0; display: flex; height: clamp(5.5rem, 8vw, 8rem); align-items: flex-end; gap: .55rem; padding: .8rem 1rem; background: rgba(252,250,245,.94); border-top: 3px solid var(--tft-coral); box-shadow: 0 14px 36px rgba(23,50,77,.2); }
.tft-home-growth__steps span { display: block; width: clamp(.7rem, 1.1vw, 1rem); background: var(--tft-blue); border-radius: 999px 999px 0 0; }
.tft-home-growth__steps span:nth-child(1) { height: 32%; }
.tft-home-growth__steps span:nth-child(2) { height: 50%; }
.tft-home-growth__steps span:nth-child(3) { height: 72%; }
.tft-home-growth__steps span:nth-child(4) { height: 100%; background: var(--tft-coral); }
.tft-home-closing .tft-closing-cta__grid { align-items: center; }
.tft-home-closing h2 { max-width: 18ch; }
.tft-home-closing .tft-closing-cta__action { max-width: 37rem; }
.tft-home-closing .tft-closing-cta__action .tft-button { width: max-content; }
.tft-review-band,
.tft-closing,
.tft-authority { color: #fff; background: var(--tft-ink); }
.tft-review-band h2,
.tft-closing h2,
.tft-authority h2 { color: #fff; }
.tft-review-band p,
.tft-closing p,
.tft-authority p { color: #dce7ee; }
.tft-review-band .tft-eyebrow,
.tft-closing .tft-eyebrow,
.tft-authority .tft-eyebrow { color: #f3a493; }
.tft-closing { padding: clamp(4rem, 7vw, 6.5rem) 0; }
.tft-closing__inner { display: flex; align-items: center; justify-content: space-between; gap: 3rem; }
.tft-closing h2 { max-width: 17ch; }

.site-403b-for-teachers .tft-closing--starting .tft-closing__inner {
  width: min(calc(100% - 2rem), 92rem);
  display: grid;
  grid-template-columns: minmax(0, .9fr) minmax(20rem, 1.1fr);
  align-items: start;
  gap: clamp(3rem, 8vw, 8rem);
}
.tft-closing--starting .tft-closing__content { max-width: 44rem; }
.tft-closing--starting .tft-closing__action { max-width: 42rem; justify-self: end; }
.tft-closing--starting h2 { max-width: 22ch; }
.tft-closing--starting .tft-closing__copy { margin: 0; font-size: 1rem; line-height: 1.65; }
.tft-closing--starting .tft-closing__action .tft-button { margin-top: 1.5rem; }

/* Interior heroes */
.tft-image-hero { padding: clamp(1.25rem, 2.4vw, 2.75rem) 0; overflow: hidden; background: var(--tft-paper); }
.tft-image-hero__grid { position: relative; isolation: isolate; display: grid; width: calc(100% - clamp(2rem, 5vw, 7rem)); max-width: none; min-height: clamp(34rem, 39vw, 43rem); grid-template-columns: repeat(12, minmax(0, 1fr)); align-items: center; overflow: hidden; background: var(--tft-notebook); border-radius: .6rem; box-shadow: 0 20px 58px rgba(23,50,77,.11); }
.site-403b-for-teachers .tft-image-hero__grid { width: calc(100% - clamp(2rem, 5vw, 7rem)); max-width: none; }
.tft-image-hero__copy { z-index: 2; grid-column: 1 / span 5; align-self: center; width: min(100%, 40rem); margin-left: clamp(1.5rem, 4vw, 5.5rem); padding: clamp(2rem, 3.3vw, 3.7rem); background: rgba(252,250,245,.77); border-top: 4px solid var(--tft-coral); box-shadow: 0 22px 60px rgba(23,50,77,.2); backdrop-filter: blur(2px); -webkit-backdrop-filter: blur(2px); }
.tft-image-hero__copy h1 { max-width: 14ch; font-size: clamp(2.35rem, 3.8vw, 4.45rem); }
.tft-image-hero--starting .tft-image-hero__copy,
.tft-image-hero--student-loans .tft-image-hero__copy { grid-column: 8 / 13; justify-self: end; margin-right: clamp(1.5rem, 4vw, 5.5rem); margin-left: 0; }
.tft-image-hero--starting .tft-image-hero__copy .tft-button { display: flex; width: max-content; margin: 2rem 0 0 auto; }
.tft-image-hero--contributions .tft-image-hero__copy .tft-button { display: flex; width: max-content; margin: 2rem 0 0 auto; }
.tft-image-hero--student-loans .tft-image-hero__grid { min-height: clamp(40rem, 42vw, 48rem); }
.tft-image-hero--student-loans .tft-image-hero__copy { padding: clamp(2rem, 2.6vw, 2.75rem); background: rgba(252,250,245,.8); }
.tft-image-hero--student-loans .tft-image-hero__copy h1 { font-size: clamp(2.15rem, 2.9vw, 3.55rem); }
.tft-image-hero__media { position: absolute; z-index: 0; inset: 0; overflow: hidden; }
.tft-image-hero__media img { display: block; width: 100%; height: 100%; opacity: 1; object-fit: cover; object-position: center top; filter: contrast(1.09) saturate(1.05); }
.tft-reviewed { display: block; width: max-content; margin: 1.5rem 0 0 auto; padding: .45rem .7rem; color: var(--tft-ink); background: var(--tft-paper); border-left: 3px solid var(--tft-coral); font-size: .82rem; }
.tft-simple-hero { padding: clamp(5rem, 9vw, 9rem) 0; background: var(--tft-notebook); }
.tft-simple-hero h1 { max-width: 13ch; }

/* Starting process */
.tft-process { margin: 0; padding: 0; border-top: 1px solid var(--tft-ink); list-style: none; }
.tft-process li { display: grid; grid-template-columns: 5rem minmax(0,1fr); gap: 1.5rem; padding: 2rem 0; border-bottom: 1px solid var(--tft-line); }
.tft-process li > span { color: var(--tft-coral); font-family: var(--tft-heading); font-size: 1.35rem; }
.tft-process h3 { margin: 0 0 .55rem; }
.tft-process p { max-width: 49rem; margin: 0; }

/* Why a 403(b) matters sticky feature */
.tft-sticky-feature { padding-bottom: 0; background: #f1f6f8; }
.tft-sticky-feature__intro { max-width: 82rem; }
.tft-sticky-feature__intro > h2 { max-width: 17ch; }
.tft-sticky-feature__intro > p:last-child { max-width: 48rem; margin: 1.5rem 0 0; font-size: 1.05rem; }
.tft-sticky-feature__scroll { position: relative; }
.tft-sticky-feature__panel { padding-block: clamp(3rem, 7vw, 6rem); }
.tft-sticky-feature__items { display: grid; gap: 3rem; }
.tft-feature-item { display: grid; grid-template-columns: minmax(0, .82fr) minmax(20rem, 1fr); gap: clamp(2rem, 6vw, 6rem); align-items: center; scroll-margin-top: 6.5rem; }
.tft-feature-item__text { min-width: 0; }
.tft-feature-item__number { margin: 0 0 .65rem; color: var(--tft-coral); font-family: var(--tft-heading); font-size: 1rem; font-weight: 700; }
.tft-feature-item h3 { margin: 0; font-size: clamp(1.55rem, 2.4vw, 2.35rem); }
.site-403b-for-teachers .tft-feature-item__link { display: block; color: inherit; text-decoration: none; }
.site-403b-for-teachers .tft-feature-item__link:hover { color: var(--tft-ink); text-decoration: underline; text-decoration-color: var(--tft-coral); text-decoration-thickness: 2px; }
.tft-feature-item__copy { margin-top: 1rem; }
.tft-feature-item__copy p { margin: .75rem 0 0; }
.tft-feature-item__copy p:first-child { margin-top: 0; }
.tft-feature-item__visual { position: relative; min-width: 0; }
.tft-feature-item__media { display: block; aspect-ratio: 16 / 9; overflow: hidden; background: var(--tft-notebook); box-shadow: 0 22px 60px rgba(23,50,77,.14); }
.tft-feature-item__media img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: center; }
.tft-feature-item__overlay { display: none; }
.tft-sticky-feature__triggers { display: none; }

@media (min-width: 1100px) {
  .tft-sticky-feature.is-enhanced .tft-sticky-feature__scroll { min-height: 500vh; }
  .tft-sticky-feature.is-enhanced .tft-sticky-feature__panel { position: sticky; z-index: 1; top: 6.5rem; display: flex; min-height: calc(100vh - 6.5rem); align-items: center; padding-block: 2rem; }
  .tft-sticky-feature.is-enhanced .tft-sticky-feature__items { position: relative; display: block; width: 100%; min-height: min(44rem, calc(100vh - 10rem)); }
  .tft-sticky-feature.is-enhanced .tft-sticky-feature__items::before { position: absolute; z-index: 2; inset: 0 auto 0 0; width: 38%; background: rgba(252,250,245,.84); box-shadow: 18px 0 34px rgba(23,50,77,.08); backdrop-filter: blur(2px); -webkit-backdrop-filter: blur(2px); content: ""; }
  .tft-sticky-feature.is-enhanced .tft-feature-item { display: block; width: 38%; padding: .8rem 1.25rem .8rem 0; border-top: 1px solid rgba(93,113,133,.3); }
  .tft-sticky-feature.is-enhanced .tft-feature-item:last-child { border-bottom: 1px solid var(--tft-line); }
  .tft-sticky-feature.is-enhanced .tft-feature-item__text { position: relative; z-index: 3; min-height: 3.5rem; padding: .25rem .5rem .25rem 3.5rem; border-left: 0 solid transparent; transition: border-width .2s ease, padding-left .2s ease; }
  .tft-sticky-feature.is-enhanced .tft-feature-item__number { position: absolute; top: .35rem; left: .35rem; color: var(--tft-copy); transition: color .25s ease; }
  .tft-sticky-feature.is-enhanced .tft-feature-item h3 { color: var(--tft-copy); font-family: var(--tft-body); font-size: clamp(.96rem, 1.05vw, 1.13rem); line-height: 1.32; transition: color .25s ease, font-family .25s ease; }
  .tft-sticky-feature.is-enhanced .tft-feature-item__copy { display: none; }
  .tft-sticky-feature.is-enhanced .tft-feature-item.is-active { padding-block: 1rem; }
  .tft-sticky-feature.is-enhanced .tft-feature-item.is-active .tft-feature-item__text { padding-left: 3.75rem; border-left: 4px solid var(--tft-coral); }
  .tft-sticky-feature.is-enhanced .tft-feature-item.is-active .tft-feature-item__number { color: var(--tft-coral); }
  .tft-sticky-feature.is-enhanced .tft-feature-item.is-active h3 { color: var(--tft-ink); font-family: var(--tft-heading); }
  .tft-sticky-feature.is-enhanced .tft-feature-item__visual { position: absolute; z-index: 0; top: 0; right: 0; left: 14%; width: auto; height: 100%; opacity: 0; pointer-events: none; transition: opacity .4s ease; }
  .tft-sticky-feature.is-enhanced .tft-feature-item__media { width: 100%; height: 100%; aspect-ratio: auto; }
  .tft-sticky-feature.is-enhanced .tft-feature-item:nth-child(4) .tft-feature-item__media img,
  .tft-sticky-feature.is-enhanced .tft-feature-item:nth-child(5) .tft-feature-item__media img { object-position: left center; }
  .tft-sticky-feature.is-enhanced .tft-feature-item__overlay { position: absolute; bottom: clamp(1.5rem, 3vw, 3rem); display: block; visibility: hidden; width: min(60%, 35rem); padding: clamp(1.5rem, 2.25vw, 2.35rem); background: rgba(252,250,245,.8); border-top: 4px solid var(--tft-coral); box-shadow: 0 20px 55px rgba(23,50,77,.22); backdrop-filter: blur(2px); -webkit-backdrop-filter: blur(2px); }
  .tft-sticky-feature.is-enhanced .tft-feature-item__overlay--left { left: clamp(1.5rem, 3vw, 3rem); }
  .tft-sticky-feature.is-enhanced .tft-feature-item__overlay--center { left: 31%; }
  .tft-sticky-feature.is-enhanced .tft-feature-item__overlay--right { right: clamp(1.5rem, 3vw, 3rem); }
  .tft-sticky-feature.is-enhanced .tft-feature-item__overlay-number { margin: 0 0 .55rem; color: var(--tft-coral); font-family: var(--tft-heading); font-size: .9rem; font-weight: 700; }
  .tft-sticky-feature.is-enhanced .tft-feature-item__overlay-title { margin: 0; color: var(--tft-ink); font-family: var(--tft-heading); font-size: clamp(1.35rem, 1.65vw, 1.85rem); font-weight: 700; line-height: 1.28; }
  .tft-sticky-feature.is-enhanced .tft-feature-item__overlay-copy { margin-top: .85rem; }
  .tft-sticky-feature.is-enhanced .tft-feature-item__overlay-copy p { margin: .55rem 0 0; color: var(--tft-copy); font-size: clamp(.88rem, .85vw, .98rem); line-height: 1.55; }
  .tft-sticky-feature.is-enhanced .tft-feature-item__overlay-copy p:first-child { margin-top: 0; }
  .tft-sticky-feature.is-enhanced .tft-feature-item.is-active .tft-feature-item__visual { z-index: 1; opacity: 1; }
  .tft-sticky-feature.is-enhanced .tft-feature-item.is-active .tft-feature-item__overlay { visibility: visible; }
  .tft-sticky-feature.is-enhanced .tft-sticky-feature__triggers { position: absolute; inset: 0; display: grid; grid-template-rows: repeat(5, 1fr); pointer-events: none; }
}

/* Retirement-readiness editorial statistics */
.tft-statistics { overflow: hidden; background: var(--tft-paper); }
.tft-statistics__heading { max-width: 56rem; }
.tft-statistics__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(1.5rem, 2.5vw, 2.75rem); align-items: start; }
.tft-stat-tile { min-width: 0; }
.tft-stat-tile__media { display: block; width: 86%; aspect-ratio: 4 / 3; overflow: hidden; background: var(--tft-notebook); }
.tft-stat-tile__media img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: center; }
.tft-stat-tile__panel { position: relative; z-index: 1; display: flex; width: 86%; min-height: 23rem; margin: -2.5rem 0 0 14%; padding: clamp(1.5rem, 2.25vw, 2.15rem); flex-direction: column; background: rgba(252,250,245,.82); border-top: 3px solid var(--tft-coral); box-shadow: 0 16px 38px rgba(23,50,77,.13); backdrop-filter: blur(2px); -webkit-backdrop-filter: blur(2px); }
.tft-stat-tile__value { margin: 0 0 .8rem; color: var(--tft-ink); font-family: var(--tft-heading); font-size: clamp(2.8rem, 4.2vw, 4.15rem); font-weight: 700; letter-spacing: -.035em; line-height: 1; }
.tft-stat-tile__value--long { max-width: 12ch; font-size: clamp(2.25rem, 3.3vw, 3.2rem); line-height: 1.08; }
.tft-stat-tile h3 { margin: 0 0 .85rem; }
.tft-stat-tile__copy { margin: 0; }
.tft-stat-tile__source { margin: auto 0 0; padding-top: 1.5rem; color: var(--tft-muted); font-size: .78rem; line-height: 1.45; }
.tft-stat-tile__source a { color: var(--tft-blue); font-weight: 700; }
.tft-statistics__disclosure { max-width: 64rem; margin: 2.75rem auto 0; padding-top: 1.25rem; color: var(--tft-muted); border-top: 1px solid var(--tft-line); font-size: .82rem; text-align: center; }

/* Contributions, tax deferral, and account review */
.tft-prose--large > p { font-size: clamp(1.02rem, 1.25vw, 1.15rem); }
.tft-emphasis { padding-left: 1.25rem; color: var(--tft-ink); border-left: 4px solid var(--tft-coral); font-weight: 700; }
.tft-financial-heading { max-width: 59rem; }
.tft-financial-heading h2 { max-width: 22ch; }
.tft-financial-heading > p:last-child { max-width: 49rem; }
.tft-tax-deferral-intro { padding-bottom: clamp(3.5rem, 6vw, 6rem); }

.tft-chart-layout { display: grid; grid-template-columns: minmax(0, 1fr) minmax(16rem, .35fr); gap: clamp(2rem, 4vw, 4rem); align-items: start; }
.tft-chart-card { margin: 0; padding: clamp(1rem, 2.3vw, 2rem); overflow: hidden; background: rgba(252,250,245,.9); border-top: 4px solid var(--tft-coral); box-shadow: 0 22px 58px rgba(23,50,77,.12); }
.tft-chart-card figcaption { display: grid; gap: .25rem; margin-bottom: 1rem; }
.tft-chart-card figcaption strong { color: var(--tft-ink); font-family: var(--tft-heading); font-size: 1.05rem; }
.tft-chart-card figcaption span { color: var(--tft-muted); font-size: .78rem; line-height: 1.45; }
.tft-chart-card svg { display: block; width: 100%; height: auto; overflow: visible; }
.tft-chart-grid path { fill: none; stroke: rgba(93,113,133,.25); stroke-width: 1; }
.tft-chart-axis-labels text { fill: var(--tft-muted); font-family: var(--tft-body); font-size: 15px; }
.tft-chart-line { fill: none; stroke-linecap: round; stroke-linejoin: round; }
.tft-chart-line--contributions { stroke: var(--tft-coral); stroke-width: 5; }
.tft-chart-line--total { stroke: var(--tft-ink); stroke-width: 7; }
.tft-chart-growth-area { fill: rgba(47,102,144,.22); }
.tft-chart-endpoint circle { fill: var(--tft-coral); stroke: var(--tft-paper); stroke-width: 3; }
.tft-chart-endpoint text { fill: var(--tft-ink); font-family: var(--tft-heading); font-size: 20px; font-weight: 700; }
.tft-chart-legend { display: flex; flex-wrap: wrap; gap: .7rem 1.4rem; margin-top: 1rem; color: var(--tft-copy); font-size: .76rem; }
.tft-chart-legend span { display: inline-flex; align-items: center; gap: .45rem; }
.tft-chart-legend span::before { width: .8rem; height: .3rem; background: var(--tft-ink); content: ""; }
.tft-chart-legend .is-contribution::before,
.tft-chart-legend .is-review::before { background: var(--tft-coral); }
.tft-chart-legend .is-growth::before { background: rgba(47,102,144,.35); }
.tft-chart-legend .is-increase::before { background: var(--tft-ink); }
.tft-chart-legend .is-remain::before { background: var(--tft-blue); }
.tft-chart-story-scroll { position: relative; }
.tft-chart-stage-targets { position: absolute; inset: 0; pointer-events: none; }
.tft-chart-stage-targets [data-story-target] { position: absolute; left: 0; width: 1px; height: 1px; scroll-margin-top: 7rem; }
.tft-chart-stage-targets [data-story-target="1"] { top: 0; }
[data-stage-count="4"] .tft-chart-stage-targets [data-story-target="2"] { top: 27.333%; }
[data-stage-count="4"] .tft-chart-stage-targets [data-story-target="3"] { top: 54.667%; }
[data-stage-count="4"] .tft-chart-stage-targets [data-story-target="4"] { top: 82%; }
[data-stage-count="5"] .tft-chart-stage-targets [data-story-target="2"] { top: 20.5%; }
[data-stage-count="5"] .tft-chart-stage-targets [data-story-target="3"] { top: 41%; }
[data-stage-count="5"] .tft-chart-stage-targets [data-story-target="4"] { top: 61.5%; }
[data-stage-count="5"] .tft-chart-stage-targets [data-story-target="5"] { top: 82%; }
.tft-chart-story,
.tft-review-story { display: grid; gap: .75rem; align-content: center; }
.tft-chart-stage { display: grid; gap: .35rem; padding: .9rem 1rem; color: var(--tft-copy); background: rgba(252,250,245,.62); border-left: 4px solid var(--tft-line); box-shadow: 0 8px 24px rgba(23,50,77,.035); opacity: .74; text-decoration: none; transition: opacity .22s ease, border-color .22s ease, background-color .22s ease, box-shadow .22s ease, transform .22s ease; }
.tft-chart-stage:hover { color: var(--tft-ink); background: rgba(252,250,245,.82); opacity: .92; }
.tft-chart-stage[aria-current="step"] { color: var(--tft-ink); background: rgba(252,250,245,.96); border-left-color: var(--tft-coral); box-shadow: 0 16px 38px rgba(23,50,77,.13); opacity: 1; transform: translateX(-.35rem); }
.tft-chart-stage__number { color: var(--tft-blue); font-size: .7rem; font-weight: 800; letter-spacing: .13em; text-transform: uppercase; }
.tft-chart-stage[aria-current="step"] .tft-chart-stage__number { color: var(--tft-coral); }
.tft-chart-stage__copy { color: inherit; font-weight: 700; line-height: 1.42; }
.tft-chart-stage--final { gap: .55rem; }
.tft-chart-totals { margin: 0; padding: 1rem 1.2rem; background: var(--tft-ink); }
.tft-chart-totals div { display: flex; justify-content: space-between; gap: 1rem; padding: .75rem 0; border-bottom: 1px solid rgba(255,255,255,.18); }
.tft-chart-totals div:last-child { border-bottom: 0; }
.tft-chart-totals dt { color: #dce7ee; font-size: .8rem; }
.tft-chart-totals dd { margin: 0; color: #fff; font-family: var(--tft-heading); font-weight: 700; }
.tft-milestones { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); margin-top: 2rem; border-top: 1px solid var(--tft-line); border-bottom: 1px solid var(--tft-line); }
.tft-milestones > div { display: grid; gap: .25rem; padding: 1.25rem; border-right: 1px solid var(--tft-line); }
.tft-milestones > div:last-child { border-right: 0; }
.tft-milestones span { color: var(--tft-blue); font-size: .75rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.tft-milestones strong { color: var(--tft-ink); font-family: var(--tft-heading); font-size: 1.6rem; }
.tft-milestones small { color: var(--tft-muted); line-height: 1.45; }
.tft-context-callout { display: grid; grid-template-columns: minmax(0,.75fr) minmax(20rem,1fr); gap: clamp(2rem,6vw,5rem); margin-top: 2.5rem; padding: clamp(1.5rem,3vw,2.5rem); background: var(--tft-paper); border-left: 4px solid var(--tft-coral); }
.tft-context-callout h3 { margin: 0; font-size: clamp(1.25rem,2vw,1.7rem); }
.tft-context-callout p { margin-top: 0; }
.tft-illustration-disclosure { max-width: 72rem; margin: 1.5rem 0 0; color: var(--tft-muted); font-size: .78rem; line-height: 1.55; }
.tft-scroll-chart.is-enhanced .tft-chart-line { stroke-dasharray: 1; stroke-dashoffset: calc(1 - var(--chart-progress, 1)); }
.tft-scroll-chart.is-enhanced .tft-chart-growth-area { clip-path: inset(0 calc((1 - var(--chart-progress, 1)) * 100%) 0 0); }
.tft-scroll-chart.is-enhanced .tft-chart-endpoint { opacity: 0; }
.tft-scroll-chart.is-enhanced .tft-chart-totals { opacity: .38; }
.tft-scroll-chart[data-stage="4"] .tft-chart-endpoint,
.tft-scroll-chart[data-stage="4"] .tft-chart-totals { opacity: 1; }

.tft-tax-band { padding-bottom: clamp(5rem, 9vw, 8rem); }
.tft-tax-comparison { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 1.5rem; }
.tft-tax-comparison article { padding: clamp(1.75rem,3vw,3rem); background: var(--tft-paper); border: 1px solid var(--tft-line); border-top: 4px solid var(--tft-blue); box-shadow: 0 18px 46px rgba(23,50,77,.08); }
.tft-tax-comparison article:first-child { border-top-color: var(--tft-coral); }
.tft-tax-comparison h3 { margin: .4rem 0 .45rem; font-size: clamp(1.5rem,2.4vw,2.2rem); }
.tft-tax-comparison__label { margin: 0; color: var(--tft-blue); font-size: .72rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.tft-tax-comparison__subhead { margin: 0 0 1.25rem; color: var(--tft-ink); font-weight: 700; }
.tft-editorial-bridge { max-width: 55rem; margin: 2.5rem auto 0; color: var(--tft-ink); font-family: var(--tft-heading); font-size: clamp(1.25rem,2vw,1.7rem); text-align: center; }
.tft-deferral-visual { margin-top: clamp(5rem,8vw,8rem); padding-top: clamp(4rem,7vw,6rem); border-top: 1px solid var(--tft-line); }
.tft-bar-chart-layout { display: grid; grid-template-columns: minmax(0,1fr) minmax(16rem,.4fr); gap: clamp(2rem,5vw,5rem); align-items: center; }
.tft-bar-axis { fill: none; stroke: var(--tft-ink); stroke-width: 2; }
.tft-bar-group text { fill: var(--tft-copy); font-family: var(--tft-body); font-size: 15px; }
.tft-bar-group .tft-bar-value { fill: var(--tft-ink); font-family: var(--tft-heading); font-size: 27px; font-weight: 700; }
.tft-bar-group rect { transform-box: fill-box; transform-origin: bottom; }
.tft-bar-group--traditional rect { fill: var(--tft-ink); }
.tft-bar-group--taxable rect { fill: rgba(47,102,144,.58); }
.tft-bar-difference { color: var(--tft-coral); }
.tft-bar-difference path { fill: none; stroke: currentColor; stroke-width: 4; }
.tft-bar-difference text { fill: currentColor; font-family: var(--tft-body); font-size: 14px; font-weight: 700; }
.tft-deferral-visual.is-enhanced .tft-bar-group rect { transform: scaleY(var(--chart-progress, 1)); }
.tft-deferral-visual.is-enhanced .tft-bar-group > text { opacity: var(--chart-progress, 1); }
.tft-deferral-visual.is-enhanced .tft-bar-difference { opacity: 0; }
.tft-deferral-visual[data-stage="4"] .tft-bar-difference { opacity: 1; }
.tft-deferral-summary .tft-emphasis { font-size: 1.15rem; }
.tft-assumptions { margin: 2rem 0 0; }
.tft-assumptions div { display: flex; justify-content: space-between; gap: 1rem; padding: .8rem 0; border-bottom: 1px solid var(--tft-line); }
.tft-assumptions dt { color: var(--tft-muted); }
.tft-assumptions dd { margin: 0; color: var(--tft-ink); font-weight: 700; }
.tft-assumptions--inline { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 0 2rem; margin: 2rem 0 0; }

.tft-review-path__intro { margin-bottom: clamp(3rem,6vw,5rem); }
.tft-review-chart-wrap { display: grid; grid-template-columns: minmax(0,1fr) minmax(15rem,.34fr); gap: clamp(2rem,5vw,4rem); align-items: center; }
.tft-review-chart__shared { stroke: var(--tft-ink); stroke-width: 7; }
.tft-review-chart__remain { stroke: var(--tft-blue); stroke-width: 5; }
.tft-review-chart__increase { stroke: var(--tft-ink); stroke-width: 7; }
.tft-review-marker path { fill: none; stroke: var(--tft-coral); stroke-dasharray: 7 6; stroke-width: 3; }
.tft-review-marker circle { fill: var(--tft-coral); stroke: var(--tft-paper); stroke-width: 3; }
.tft-review-marker text,
.tft-review-end-labels text { fill: var(--tft-ink); font-family: var(--tft-body); font-size: 16px; font-weight: 700; }
.tft-review-path.is-enhanced .tft-review-chart__shared { stroke-dasharray: 1; stroke-dashoffset: calc(1 - var(--review-shared-progress, 1)); }
.tft-review-path.is-enhanced .tft-review-chart__remain,
.tft-review-path.is-enhanced .tft-review-chart__increase { stroke-dasharray: 1; stroke-dashoffset: calc(1 - var(--review-branch-progress, 1)); }
.tft-review-path.is-enhanced .tft-review-marker { opacity: var(--review-marker-progress, 1); }
.tft-review-path.is-enhanced .tft-review-end-labels { opacity: var(--review-end-progress, 1); }
.tft-review-difference { color: var(--tft-coral); font-family: var(--tft-heading); font-size: clamp(1.7rem,2.6vw,2.6rem); line-height: 1; }
.tft-review-difference span { display: block; margin-top: .4rem; color: var(--tft-copy); font-family: var(--tft-body); font-size: .7rem; letter-spacing: .12em; text-transform: uppercase; }
.tft-path-values { margin: 0; }
.tft-path-values > div { padding: 1rem 0; border-top: 1px solid var(--tft-line); }
.tft-path-values dt { color: var(--tft-ink); font-weight: 700; }
.tft-path-values dd { display: grid; gap: .15rem; margin: .4rem 0 0; color: var(--tft-muted); font-size: .78rem; }
.tft-path-values dd strong { color: var(--tft-ink); font-family: var(--tft-heading); font-size: 1.35rem; }
.tft-review-story .tft-chart-stage--final .tft-path-values { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: .75rem; }
.tft-review-story .tft-chart-stage--final .tft-path-values > div { padding: .65rem 0; }
.tft-review-story .tft-chart-stage--final .tft-path-values dd { font-size: .7rem; }
.tft-review-story .tft-chart-stage--final .tft-path-values dd strong { font-size: 1.15rem; }
.tft-review-takeaway { display: grid; grid-template-columns: minmax(16rem,.6fr) repeat(2,minmax(0,1fr)); gap: clamp(1.5rem,4vw,4rem); margin-top: 2.5rem; padding-top: 2rem; border-top: 1px solid var(--tft-line); }
.tft-review-takeaway h3,
.tft-review-takeaway p { margin: 0; }

.tft-review-gallery { overflow: hidden; }
.tft-review-gallery__items { display: grid; gap: clamp(2rem,4vw,3.5rem); }
.tft-review-card { position: relative; min-height: clamp(29rem,43vw,34rem); overflow: hidden; border-radius: .45rem; box-shadow: 0 22px 58px rgba(23,50,77,.12); }
.tft-review-card__media { position: absolute; inset: 0; display: block; background: var(--tft-notebook); }
.tft-review-card__media img { display: block; width: 100%; height: 100%; object-fit: cover; }
.tft-review-card--right:nth-child(1) .tft-review-card__media img { object-position: center center; }
.tft-review-card--left:nth-child(2) .tft-review-card__media img { object-position: center center; }
.tft-review-card--right:nth-child(3) .tft-review-card__media img { object-position: center center; }
.tft-review-card--left:nth-child(4) .tft-review-card__media img { object-position: center center; }
.tft-review-card__panel { position: absolute; z-index: 1; top: 50%; width: min(42%, 31rem); padding: clamp(1.5rem,3vw,2.6rem); background: rgba(252,250,245,.86); border-top: 4px solid var(--tft-coral); box-shadow: 0 20px 48px rgba(23,50,77,.2); backdrop-filter: blur(2px); -webkit-backdrop-filter: blur(2px); transform: translateY(-50%); }
.tft-review-card--right .tft-review-card__panel { right: clamp(1.5rem,4vw,4rem); }
.tft-review-card--left .tft-review-card__panel { left: clamp(1.5rem,4vw,4rem); }
.tft-review-card__number { margin: 0 0 .4rem; color: var(--tft-coral); font-family: var(--tft-heading); font-weight: 700; }
.tft-review-card h3 { margin: 0 0 1rem; font-size: clamp(1.5rem,2.4vw,2.25rem); }
.tft-review-card ul { display: grid; gap: .7rem; margin: 0; padding: 0; list-style: none; }
.tft-review-card li { position: relative; padding-left: 1.15rem; }
.tft-review-card li::before { position: absolute; top: .65em; left: 0; width: .42rem; height: .42rem; background: var(--tft-coral); border-radius: 50%; content: ""; }

@media (min-width: 768px) and (max-width: 1279px) {
  .tft-review-gallery__items { grid-template-columns: repeat(2,minmax(0,1fr)); gap: clamp(1.5rem,2.5vw,2.25rem); }
  .tft-review-card { min-height: clamp(30rem,47vw,33rem); margin-bottom: 12rem; overflow: visible; }
  .tft-review-card__media { overflow: hidden; border-radius: inherit; }
  .tft-review-card__panel { top: auto; right: clamp(.75rem,1vw,1rem) !important; bottom: -12rem; left: auto !important; display: flex; width: min(calc(100% - 2.25rem),25rem); height: 18.25rem; flex-direction: column; padding: clamp(1.25rem,2vw,1.8rem); transform: none; }
  .tft-review-card h3 { font-size: clamp(1.25rem,2.2vw,1.75rem); }
  .tft-review-card--right:nth-child(1) .tft-review-card__media img { object-position: 30% center; }
  .tft-review-card--left:nth-child(2) .tft-review-card__media img { object-position: 68% center; }
  .tft-review-card--right:nth-child(3) .tft-review-card__media img { object-position: 72% center; }
  .tft-review-card--left:nth-child(4) .tft-review-card__media img { object-position: 72% center; }
}

@media (min-width: 1280px) {
  .tft-review-gallery > .tft-shell { width: min(calc(100% - 3rem),100rem); }
  .tft-review-end-labels text:first-child { transform: translate(-1rem,.25rem); }
  .tft-review-end-labels text:last-child { transform: translate(-1.75rem,.05rem); }
  .tft-review-gallery__items { grid-template-columns: repeat(4,minmax(0,1fr)); gap: clamp(1rem,1.5vw,1.5rem); }
  .tft-review-card { min-height: clamp(28rem,32vw,31.5rem); margin-bottom: 10.75rem; overflow: visible; }
  .tft-review-card__media { overflow: hidden; border-radius: inherit; }
  .tft-review-card__panel { top: auto; right: .5rem !important; bottom: -10.75rem; left: 1.5rem !important; display: flex; width: auto; height: 15.5rem; flex-direction: column; padding: 1.05rem 1.1rem 1.15rem; transform: none; }
  .tft-review-card__number { margin-bottom: .25rem; font-size: .82rem; }
  .tft-review-card h3 { margin-bottom: .7rem; font-size: clamp(1.1rem,1.25vw,1.35rem); line-height: 1.25; }
  .tft-review-card ul { gap: .45rem; }
  .tft-review-card li { padding-left: 1rem; font-size: .92rem; line-height: 1.4; }
  .tft-review-card li::before { top: .55em; width: .36rem; height: .36rem; }
  .tft-review-card--right:nth-child(1) .tft-review-card__media img { object-position: 28% center; }
  .tft-review-card--left:nth-child(2) .tft-review-card__media img { object-position: 68% center; }
  .tft-review-card--right:nth-child(3) .tft-review-card__media img { object-position: 72% center; }
  .tft-review-card--left:nth-child(4) .tft-review-card__media img { object-position: 72% center; }
}

.tft-factors { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 0 2rem; margin: 3rem 0; padding: 0; border-top: 1px solid var(--tft-ink); list-style: none; }
.tft-factors li { position: relative; padding: 1rem .25rem 1rem 1.5rem; border-bottom: 1px solid var(--tft-line); }
.tft-factors li::before { position: absolute; top: 1.48rem; left: .25rem; width: .45rem; height: .45rem; background: var(--tft-coral); border-radius: 50%; content: ""; }

/* Student-loan page */
.tft-student-loans-page { overflow: hidden; }
.tft-loan-heading { max-width: 64rem; }
.tft-loan-heading > p:last-child { max-width: 53rem; }
.tft-loan-same-person { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); margin-bottom: 2rem; background: var(--tft-ink); border-top: 4px solid var(--tft-coral); }
.tft-loan-same-person p { margin: 0; padding: 1.4rem clamp(1rem,2vw,1.6rem); border-right: 1px solid rgba(255,255,255,.2); }
.tft-loan-same-person p:last-child { border-right: 0; }
.tft-loan-same-person span { display: block; margin-bottom: .35rem; color: #b9ccd9; font-size: .72rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.tft-loan-same-person strong { display: block; color: var(--tft-white); line-height: 1.35; }
.tft-loan-paths { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: clamp(1.5rem,3vw,2.5rem); }
.tft-loan-path { min-width: 0; overflow: hidden; background: var(--tft-white); border: 1px solid var(--tft-line); box-shadow: 0 18px 46px rgba(23,50,77,.1); }
.tft-loan-path--b { border-color: #9dbdce; }
.tft-loan-path__heading { padding: clamp(1.5rem,3vw,2.5rem); background: var(--tft-paper); border-top: 4px solid var(--tft-coral); }
.tft-loan-path--b .tft-loan-path__heading { background: var(--tft-notebook); }
.tft-loan-path__heading h3 { margin: 0 0 .5rem; font-size: clamp(1.55rem,2.4vw,2.25rem); }
.tft-loan-path__heading > p:last-child { margin: 0; color: var(--tft-ink); }
.tft-loan-steps { margin: 0; padding: .5rem clamp(1.5rem,3vw,2.5rem) 1.5rem; }
.tft-loan-steps > div { position: relative; display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 1.5rem; align-items: center; padding: 1.15rem 0; border-bottom: 1px solid var(--tft-line); }
.tft-loan-steps > div:not(:last-child)::after { position: absolute; bottom: -.62rem; left: 50%; z-index: 1; width: 1.15rem; height: 1.15rem; color: var(--tft-coral); background: var(--tft-white); font-size: .8rem; line-height: 1.15rem; text-align: center; content: "↓"; transform: translateX(-50%); }
.tft-loan-steps dt { color: var(--tft-copy); }
.tft-loan-steps dd { margin: 0; color: var(--tft-ink); font-family: var(--tft-heading); font-size: clamp(1.05rem,1.7vw,1.35rem); text-align: right; }
.tft-loan-steps dd small { display: block; max-width: 18rem; margin-top: .4rem; color: var(--tft-copy); font-family: var(--tft-body); font-size: .72rem; font-weight: 400; line-height: 1.4; }
.tft-loan-path--b .tft-loan-steps__retirement { margin-top: .4rem; padding: 1.35rem 1rem; background: var(--tft-notebook); border-left: 4px solid var(--tft-coral); }
.tft-loan-path--b .tft-loan-steps__retirement dd { color: var(--tft-coral-dark); font-size: clamp(1.3rem,2vw,1.7rem); }
.tft-loan-steps__result { grid-template-columns: minmax(0,.9fr) minmax(0,1.1fr) !important; align-items: start !important; margin-top: .4rem; padding: 1.35rem 1rem !important; background: var(--tft-notebook); border-bottom: 0 !important; }
.tft-loan-steps__result dd small { margin-left: auto; text-align: right; }
.tft-loan-takeaway-intro { max-width: 62rem; margin: 2.5rem auto 0; padding: clamp(1.5rem,3vw,2.5rem); background: var(--tft-ink); border-top: 4px solid var(--tft-coral); }
.tft-loan-takeaway-intro h3 { margin: 0 0 1rem; color: var(--tft-white); font-size: clamp(1.5rem,2.5vw,2.25rem); }
.tft-loan-takeaway-intro p { color: #dce7ee; }
.tft-loan-takeaway-intro p:last-child { margin-bottom: 0; }
.tft-loan-takeaway-intro strong { color: var(--tft-white); }
.tft-loan-takeaway { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 1px; margin-top: 2.5rem; background: var(--tft-line); border: 1px solid var(--tft-line); }
.tft-loan-takeaway p { margin: 0; padding: 1.35rem; background: var(--tft-paper); }
.tft-loan-takeaway span { display: block; min-height: 3.2em; margin-bottom: .6rem; color: var(--tft-muted); font-size: .8rem; line-height: 1.45; }
.tft-loan-takeaway strong { color: var(--tft-ink); font-family: var(--tft-heading); font-size: 1.2rem; line-height: 1.3; }
.tft-loan-pslf-note { margin: 2rem 0 0; padding: 1.25rem 1.5rem; color: var(--tft-ink); background: var(--tft-notebook); border-left: 4px solid var(--tft-coral); font-weight: 700; }
.tft-disclosure { margin: 1.5rem 0 0; color: var(--tft-muted); font-size: .78rem; line-height: 1.55; }
.tft-loan-tax-cards { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: clamp(1.5rem,3vw,2.5rem); }
.tft-loan-tax-cards article { padding: clamp(1.6rem,3vw,2.6rem); background: var(--tft-paper); border-top: 4px solid var(--tft-coral); box-shadow: 0 18px 46px rgba(23,50,77,.08); }
.tft-card-number { margin: 0 0 .5rem; color: var(--tft-coral); font-family: var(--tft-heading); font-weight: 700; }
.tft-loan-tax-cards h3 { margin: 0 0 .65rem; font-size: clamp(1.5rem,2.25vw,2.1rem); }
.tft-loan-tax-cards h4 { margin: 0 0 1rem; color: var(--tft-blue); font-family: var(--tft-body); font-size: 1rem; line-height: 1.45; }
.tft-loan-tax-cards article > p:last-child { margin-bottom: 0; }
.tft-loan-why { max-width: 64rem; margin: 2rem auto; padding: 1.3rem 1.5rem; color: var(--tft-ink); background: rgba(252,250,245,.72); border-left: 4px solid var(--tft-coral); }
.tft-loan-flow { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 2rem; margin: 2.5rem 0 0; padding: 0; list-style: none; counter-reset: loan-flow; }
.tft-loan-flow li { position: relative; display: grid; min-height: 7rem; place-items: center; padding: 1.2rem; color: var(--tft-ink); background: var(--tft-paper); border: 1px solid var(--tft-line); font-weight: 700; line-height: 1.4; text-align: center; }
.tft-loan-flow li:not(:last-child)::after { position: absolute; top: 50%; right: -1.55rem; color: var(--tft-coral); font-size: 1.4rem; content: "→"; transform: translateY(-50%); }
.tft-loan-pslf-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: clamp(1.25rem,2.5vw,2.25rem); }
.tft-loan-pslf-card { position: relative; min-width: 0; margin-bottom: 15rem; }
.tft-loan-pslf-card__media { display: block; width: 92%; aspect-ratio: 4 / 3; overflow: hidden; background: var(--tft-notebook); border: 1px solid var(--tft-line); border-radius: .45rem; box-shadow: 0 18px 48px rgba(23,50,77,.1); }
.tft-loan-pslf-card__media img { display: block; width: 100%; height: 100%; object-fit: cover; }
.tft-loan-pslf-card:nth-child(1) .tft-loan-pslf-card__media img { object-position: 50% 40%; }
.tft-loan-pslf-card:nth-child(2) .tft-loan-pslf-card__media img { object-position: 50% 57%; }
.tft-loan-pslf-card:nth-child(3) .tft-loan-pslf-card__media img { object-position: 50% 42%; }
.tft-loan-pslf-card__panel { position: absolute; top: calc(100% - 3rem); right: 0; display: flex; width: 92%; min-height: 18rem; flex-direction: column; padding: clamp(1.25rem,2vw,1.8rem); background: rgba(252,250,245,.9); border-top: 4px solid var(--tft-coral); box-shadow: 0 20px 48px rgba(23,50,77,.18); backdrop-filter: blur(2px); -webkit-backdrop-filter: blur(2px); }
.tft-loan-pslf-card__panel h3 { margin: 0 0 1rem; font-size: clamp(1.25rem,1.8vw,1.65rem); }
.tft-loan-pslf-card__panel ul { display: grid; gap: .65rem; margin: 0; padding: 0; list-style: none; }
.tft-loan-pslf-card__panel li { position: relative; padding-left: 1.05rem; font-size: .94rem; line-height: 1.45; }
.tft-loan-pslf-card__panel li::before { position: absolute; top: .55em; left: 0; width: .38rem; height: .38rem; background: var(--tft-coral); border-radius: 50%; content: ""; }
.tft-loan-bridge { display: grid; grid-template-columns: minmax(0,.75fr) minmax(0,1fr); gap: clamp(2rem,6vw,6rem); margin-top: 3rem; padding: clamp(2rem,4vw,4rem); background: var(--tft-ink); border-top: 4px solid var(--tft-coral); }
.tft-loan-bridge h3 { margin: 0; color: var(--tft-white); font-size: clamp(1.8rem,3vw,3rem); }
.tft-loan-bridge p { margin-top: 0; color: #dce7ee; }
.tft-loan-bridge p:last-child { margin-bottom: 0; color: var(--tft-white); }
.tft-loan-bridge .tft-eyebrow { color: #f3a493; }
.tft-loan-questions { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 1rem; margin: 0; padding: 0; list-style: none; }
.tft-loan-questions li { min-width: 0; padding: 1.4rem; background: var(--tft-paper); border-top: 4px solid var(--tft-coral); box-shadow: 0 14px 35px rgba(23,50,77,.08); }
.tft-loan-questions span { display: block; margin-bottom: .8rem; color: var(--tft-coral); font-family: var(--tft-heading); }
.tft-loan-questions strong { display: block; color: var(--tft-ink); line-height: 1.45; }
.tft-loan-resource { max-width: 64rem; margin: 2.25rem 0 0; color: var(--tft-muted); font-size: .88rem; }
.tft-loan-resource a { font-weight: 700; }
.tft-closing-cta { padding: clamp(4rem,7vw,6.5rem) 0; background: var(--tft-ink); }
.tft-closing-cta__grid { display: grid; grid-template-columns: minmax(0,.95fr) minmax(20rem,.8fr); gap: clamp(3rem,8vw,8rem); align-items: start; }
.tft-closing-cta h2 { max-width: 19ch; color: var(--tft-white); }
.tft-closing-cta p { color: #dce7ee; }
.tft-closing-cta .tft-eyebrow { color: #f3a493; }
.tft-closing-cta__action { max-width: 42rem; justify-self: end; }
.tft-closing-cta__action > p { margin-top: 0; }
.tft-closing-cta__action .tft-button { margin-top: 1.25rem; }

/* Scheduler and shared legal pages */
.site-403b-for-teachers .scheduler-hero,
.site-403b-for-teachers .privacy-hero,
.site-403b-for-teachers .disclosures-hero,
.site-403b-for-teachers .accessibility-hero,
.site-403b-for-teachers .terms-hero,
.site-403b-for-teachers .about-hero { background: var(--tft-notebook); }
.site-403b-for-teachers .scheduler-hero h1,
.site-403b-for-teachers .privacy-hero h1,
.site-403b-for-teachers .disclosures-hero h1,
.site-403b-for-teachers .accessibility-hero h1,
.site-403b-for-teachers .terms-hero h1 { font-size: clamp(2.4rem,4.5vw,4.6rem); }
.site-403b-for-teachers .scheduler-workflow { background: var(--tft-paper); }
.site-403b-for-teachers .appointment-summary h2,
.site-403b-for-teachers .appointment-summary__type,
.site-403b-for-teachers .appointment-summary dd { color: #fff; }
.site-403b-for-teachers .appointment-summary h2 { margin: .7rem 0 1.5rem; font-size: clamp(2rem,3vw,2.6rem); line-height: 1.06; letter-spacing: -.04em; }
.site-403b-for-teachers .appointment-summary__type { margin-bottom: 1.5rem; font-size: 1.18rem; line-height: 1.35; }
.site-403b-for-teachers .appointment-summary .eyebrow { color: #f3a493; }
.site-403b-for-teachers .appointment-summary__hint,
.site-403b-for-teachers .appointment-summary__acknowledgement { color: rgba(255,255,255,.74); }
.site-403b-for-teachers .appointment-summary__acknowledgement a { color: #fff; }
.site-403b-for-teachers .scheduler-progress li[data-state="current"] span:first-child,
.site-403b-for-teachers .scheduler-progress li[data-state="complete"] span:first-child,
.site-403b-for-teachers .time-slot.is-selected,
.site-403b-for-teachers .calendar__day.is-selected { color: #fff; background: var(--tft-coral); border-color: var(--tft-coral); }
.site-403b-for-teachers .privacy-policy,
.site-403b-for-teachers .disclosures-content,
.site-403b-for-teachers .accessibility-content,
.site-403b-for-teachers .terms-content { font-family: var(--tft-body); }
.site-403b-for-teachers .disclosures-questions,
.site-403b-for-teachers .terms-contact { padding: clamp(3.25rem,5vw,4.5rem) 0; color: var(--tft-paper); background: var(--tft-ink); }
.site-403b-for-teachers .disclosures-questions h2,
.site-403b-for-teachers .terms-contact h2,
.site-403b-for-teachers .terms-contact address strong { color: var(--tft-paper); }
.site-403b-for-teachers .disclosures-questions p,
.site-403b-for-teachers .terms-contact p,
.site-403b-for-teachers .terms-contact address { color: rgba(252,250,245,.84); }
.site-403b-for-teachers .disclosures-questions .support-contact-email a,
.site-403b-for-teachers .disclosures-questions .support-secondary a,
.site-403b-for-teachers .terms-contact .support-contact-email a,
.site-403b-for-teachers .terms-contact .support-secondary a { color: var(--tft-paper); text-decoration-color: var(--tft-coral); text-decoration-thickness: 2px; }
.site-403b-for-teachers .disclosures-questions a:not(.button):hover,
.site-403b-for-teachers .terms-contact a:not(.button):hover { color: var(--tft-paper); text-decoration-color: #f3a493; }
.site-403b-for-teachers .disclosures-questions .button,
.site-403b-for-teachers .terms-contact .button { min-height: var(--tft-cta-height); width: max-content; padding: var(--tft-cta-padding-block) var(--tft-cta-padding-inline); color: var(--tft-paper); background: var(--tft-coral); border-color: var(--tft-coral); border-radius: var(--tft-cta-radius); font-family: var(--tft-body); font-size: var(--tft-cta-font-size); font-weight: 700; }
.site-403b-for-teachers .disclosures-questions .button:hover,
.site-403b-for-teachers .terms-contact .button:hover { color: var(--tft-paper); background: var(--tft-coral-dark); border-color: var(--tft-coral-dark); }

@media (max-width: 1100px) {
  .site-403b-for-teachers .desktop-nav { display: none; }
  .site-403b-for-teachers .mobile-nav { position: relative; display: block; }
  .site-403b-for-teachers .mobile-nav > summary { display: grid; width: 2.8rem; height: 2.8rem; place-content: center; gap: .28rem; cursor: pointer; list-style: none; border: 1px solid var(--tft-line); border-radius: .3rem; }
  .site-403b-for-teachers .mobile-nav > summary::-webkit-details-marker { display: none; }
  .site-403b-for-teachers .mobile-nav > summary span { display: block; width: 1.1rem; height: 2px; background: var(--tft-ink); }
  .site-403b-for-teachers .mobile-nav > nav { position: absolute; top: calc(100% + .7rem); right: 0; left: auto; display: grid; width: min(25rem,calc(100vw - 2rem)); padding: 1rem; background: var(--tft-paper); border: 1px solid var(--tft-line); box-shadow: 0 20px 50px rgba(23,50,77,.16); }
  .site-403b-for-teachers .mobile-nav > nav > a:not(.button) { padding: .85rem .4rem; color: var(--tft-ink); border-bottom: 1px solid var(--tft-line); font-weight: 700; text-decoration: none; }
  .site-403b-for-teachers .mobile-nav .button { width: max-content; margin-top: .8rem; justify-self: start; }
  .site-403b-for-teachers .footer__main { grid-template-columns: 1.5fr 1fr 1fr; }
  .site-403b-for-teachers .footer__main nav:last-child { grid-column: 2; }

  .tft-home-hero,
  .tft-image-hero { padding-bottom: 0; overflow: visible; }
  .tft-home-hero__grid,
  .tft-image-hero__grid { display: grid; width: min(calc(100% - 3rem), 68rem); min-height: 0; grid-template: auto auto / minmax(0, 1fr); overflow: visible; background: transparent; border-radius: 0; box-shadow: none; }
  .tft-image-hero--student-loans .tft-image-hero__grid { min-height: 0; }
  .site-403b-for-teachers .tft-home-hero__grid,
  .site-403b-for-teachers .tft-image-hero__grid { width: min(calc(100% - 3rem), 68rem); max-width: 68rem; }
  .tft-home-hero__media,
  .tft-image-hero__media { position: relative; z-index: 1; grid-area: 1 / 1; height: clamp(27rem, 58vw, 38rem); overflow: hidden; border-radius: .5rem; }
  .tft-home-hero__copy,
  .tft-image-hero__copy,
  .tft-image-hero--starting .tft-image-hero__copy,
  .tft-image-hero--student-loans .tft-image-hero__copy { grid-area: 2 / 1; justify-self: start; width: min(calc(100% - 3rem), 42rem); margin: -6rem 0 0 1.5rem; padding: clamp(2rem, 5vw, 3.5rem); background: rgba(252,250,245,.87); backdrop-filter: blur(2px); -webkit-backdrop-filter: blur(2px); }
  .tft-image-hero--starting .tft-image-hero__copy,
  .tft-image-hero--student-loans .tft-image-hero__copy { justify-self: end; margin-right: 1.5rem; margin-left: 0; }

  .tft-statistics__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .tft-stat-tile:last-child { grid-column: 1 / -1; width: calc((100% - clamp(1.5rem, 2.5vw, 2.75rem)) / 2); justify-self: center; }
  .tft-stat-tile__media { width: 90%; }
  .tft-stat-tile__panel { width: 90%; min-height: 21.5rem; margin-left: 10%; background: rgba(252,250,245,.9); }
  .tft-loan-same-person,
  .tft-loan-takeaway,
  .tft-loan-questions { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .tft-loan-same-person p:nth-child(2) { border-right: 0; }
  .tft-loan-same-person p:nth-child(-n+2) { border-bottom: 1px solid rgba(255,255,255,.2); }
  .tft-loan-pslf-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .tft-loan-pslf-card:last-child { grid-column: 1 / -1; width: calc((100% - clamp(1.25rem,2.5vw,2.25rem)) / 2); justify-self: center; }
}

@media (min-width: 1100px) {
  .tft-chart-story-scroll.is-enhanced { min-height: 360vh; }
  .tft-chart-story-scroll--review.is-enhanced { min-height: 410vh; }
  .tft-chart-story-scroll.is-enhanced .tft-chart-layout,
  .tft-chart-story-scroll.is-enhanced .tft-review-chart-wrap { min-height: inherit; align-items: stretch; }
  .tft-chart-story-scroll.is-enhanced .tft-chart-card { position: sticky; top: 7rem; align-self: start; }
  .tft-chart-story-scroll.is-enhanced .tft-chart-story,
  .tft-chart-story-scroll.is-enhanced .tft-review-story { position: sticky; top: 7rem; align-self: start; max-height: calc(100vh - 8.5rem); }
  .tft-statistics__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .tft-stat-tile:last-child { grid-column: auto; width: auto; }
  .tft-stat-tile__media { width: 86%; }
  .tft-stat-tile__panel { width: 86%; min-height: 23rem; margin-left: 14%; background: rgba(252,250,245,.82); }
}

@media (min-width: 1100px) and (max-height: 780px) {
  .tft-chart-story-scroll.is-enhanced .tft-chart-layout,
  .tft-chart-story-scroll.is-enhanced .tft-review-chart-wrap { grid-template-columns: minmax(0,.82fr) minmax(20rem,.48fr); gap: 1.5rem; }
  .tft-chart-story-scroll.is-enhanced .tft-chart-story,
  .tft-chart-story-scroll.is-enhanced .tft-review-story { gap: .4rem; }
  .tft-chart-stage { gap: .2rem; padding: .55rem .75rem; }
  .tft-chart-stage__copy { font-size: .85rem; line-height: 1.32; }
  .tft-chart-totals { padding: .45rem .7rem; }
  .tft-chart-totals div { padding: .4rem 0; }
  .tft-review-story .tft-chart-stage--final .tft-path-values > div { padding: .35rem 0; }
  .tft-review-difference { font-size: 1.65rem; }
}

@media (max-width: 900px) {
  .tft-editorial-split,
  .tft-illustration-grid,
  .tft-example-grid { grid-template-columns: 1fr; gap: 2.5rem; }
  .tft-home-story__grid,
  .tft-home-story--loans .tft-home-story__grid,
  .tft-home-growth__grid { grid-template-columns: minmax(0, 1fr); gap: 2.75rem; }
  .tft-home-story__content,
  .tft-home-growth__content { max-width: 46rem; }
  .tft-home-story--loans .tft-home-story__visual { grid-row: 1; }
  .tft-home-story__visual,
  .tft-home-growth__visual { width: min(100%, 52rem); }
  .tft-feature-item { grid-template-columns: 1fr; gap: 1.5rem; }
  .tft-feature-item__visual { grid-row: 1; }
  .tft-chart-layout,
  .tft-bar-chart-layout,
  .tft-review-chart-wrap { grid-template-columns: 1fr; }
  .tft-chart-story,
  .tft-review-story { gap: 1rem; }
  .tft-chart-stage { min-height: 44px; opacity: 1; }
  .tft-chart-stage[aria-current="step"] { transform: none; }
  .tft-review-takeaway { grid-template-columns: 1fr; }
  .tft-context-callout { grid-template-columns: 1fr; gap: 1.25rem; }
  .tft-loan-paths,
  .tft-loan-tax-cards,
  .tft-loan-bridge,
  .tft-closing-cta__grid { grid-template-columns: 1fr; }
  .tft-closing-cta__action { justify-self: start; }
  .tft-loan-flow { grid-template-columns: 1fr; gap: 1rem; }
  .tft-loan-flow li { min-height: 4.5rem; text-align: left; }
  .tft-loan-flow li:not(:last-child)::after { top: auto; right: 50%; bottom: -1.25rem; transform: translateX(50%); content: "↓"; }
}

@media (max-width: 767px) {
  .tft-review-card { min-height: 0; overflow: visible; border-radius: 0; box-shadow: none; }
  .tft-review-card__media { position: relative; aspect-ratio: 16 / 9; overflow: hidden; border-radius: .35rem; box-shadow: 0 16px 38px rgba(23,50,77,.12); }
  .tft-review-card__panel { position: relative; top: auto; right: auto !important; left: auto !important; display: block; width: calc(100% - 1rem); height: auto; margin: -1.75rem 0 0 1rem; padding: 1.4rem; background: rgba(252,250,245,.98); backdrop-filter: none; -webkit-backdrop-filter: none; transform: none; }
}

@media (max-width: 700px) {
  .site-403b-for-teachers .container,
  .site-403b-for-teachers .tft-shell { width: min(calc(100% - 2rem), var(--tft-shell)); }
  .site-403b-for-teachers .header__inner { min-height: 4.8rem; }
  .site-403b-for-teachers .site-header .brand__logo { width: min(11.25rem,calc(100vw - 6rem)); }
  .tft-home-hero,
  .tft-image-hero { padding-top: 1rem; }
  .tft-home-hero__grid,
  .tft-image-hero__grid { width: 100%; }
  .site-403b-for-teachers .tft-home-hero__grid,
  .site-403b-for-teachers .tft-image-hero__grid { width: 100%; max-width: none; }
  .tft-home-hero__media,
  .tft-image-hero__media { height: clamp(24rem, 105vw, 32rem); border-radius: 0; }
  .tft-home-hero__copy,
  .tft-image-hero__copy,
  .tft-image-hero--starting .tft-image-hero__copy,
  .tft-image-hero--student-loans .tft-image-hero__copy { justify-self: center; width: calc(100% - 2rem); margin: -2.75rem 0 0; padding: 1.6rem; background: rgba(252,250,245,.98); backdrop-filter: none; -webkit-backdrop-filter: none; }
  .tft-home-hero__copy h1 { font-size: clamp(2.2rem, 11vw, 3.2rem); }
  .tft-image-hero__copy h1 { font-size: clamp(2.15rem, 10vw, 3rem); }
  .tft-image-hero--student-loans .tft-image-hero__copy h1 { font-size: clamp(2rem, 8.7vw, 2.7rem); }
  .tft-home-hero__copy .tft-button { margin-top: 1.5rem; }
  .tft-image-hero__copy .tft-button { margin-top: 1.5rem; }
  .tft-home-hero__copy .tft-button,
  .tft-image-hero--student-loans .tft-reviewed { margin-right: auto; margin-left: 0; }
  .tft-home-hero__copy .tft-button { width: 100%; }
  .tft-home-story,
  .tft-home-growth { padding: 4.5rem 0; }
  .tft-home-story__grid,
  .tft-home-story--loans .tft-home-story__grid,
  .tft-home-growth__grid { gap: 2rem; }
  .tft-home-story__media { min-height: 0; aspect-ratio: 4 / 3 !important; }
  .tft-home-story__visual--pension { padding: 0 1rem 1rem 0; }
  .tft-home-story__visual--pension::before { inset: 1.5rem 0 0 1.5rem; }
  .tft-home-story__visual--loans { padding: 0 0 1rem 1rem; }
  .tft-home-story__visual--loans::before { inset: 1.5rem 1.5rem 0 0; }
  .tft-home-story__content h2,
  .tft-home-growth__content h2 { font-size: clamp(1.85rem, 8.2vw, 2.55rem); }
  .tft-home-growth__visual { padding: 0 0 2rem 1rem; }
  .tft-home-growth__visual::before { inset: 1.5rem 1rem 0 0; }
  .tft-home-growth__media { aspect-ratio: 4 / 3; }
  .tft-home-growth__steps { height: 5.5rem; padding: .7rem .85rem; }
  .tft-image-hero--starting .tft-image-hero__copy .tft-button,
  .tft-image-hero--contributions .tft-image-hero__copy .tft-button { margin-right: auto; margin-left: 0; }
  .tft-section { padding: 4rem 0; }
  .tft-sticky-feature { padding-bottom: 0; }
  .tft-sticky-feature__panel { padding-block: 3rem; }
  .tft-sticky-feature__items { gap: 3.5rem; }
  .tft-feature-item h3 { font-size: clamp(1.5rem, 7vw, 2rem); }
  .tft-closing__inner { align-items: flex-start; flex-direction: column; }
  .site-403b-for-teachers .tft-closing--starting .tft-closing__inner { grid-template-columns: minmax(0, 1fr); gap: 2rem; }
  .tft-closing--starting .tft-closing__action { justify-self: start; }
  .tft-process li { grid-template-columns: 3rem minmax(0,1fr); gap: .8rem; }
  .tft-statistics__grid { grid-template-columns: 1fr; gap: 2.75rem; }
  .tft-stat-tile:last-child { grid-column: auto; width: auto; }
  .tft-stat-tile__media { width: 100%; }
  .tft-stat-tile__panel { width: 96%; min-height: 0; margin: -2rem 0 0 4%; padding: 1.5rem; background: rgba(252,250,245,.98); backdrop-filter: none; -webkit-backdrop-filter: none; }
  .tft-stat-tile__source { margin-top: 1.5rem; }
  .tft-tax-comparison,
  .tft-milestones,
  .tft-assumptions--inline,
  .tft-factors { grid-template-columns: 1fr; }
  .tft-milestones > div { border-right: 0; border-bottom: 1px solid var(--tft-line); }
  .tft-milestones > div:last-child { border-bottom: 0; }
  .tft-chart-card { padding: 1rem; }
  .tft-chart-axis-labels text { font-size: 26px; }
  .tft-chart-endpoint text { font-size: 30px; }
  .tft-bar-group text { font-size: 24px; }
  .tft-bar-group .tft-bar-value { font-size: 35px; }
  .tft-bar-difference text { font-size: 21px; }
  .tft-review-marker text,
  .tft-review-end-labels text { font-size: 24px; }
  .tft-chart-story > p { opacity: 1; }
  .tft-review-card { min-height: 0; overflow: visible; border-radius: 0; box-shadow: none; }
  .tft-review-card__media { position: relative; aspect-ratio: 16 / 9; overflow: hidden; border-radius: .35rem; box-shadow: 0 16px 38px rgba(23,50,77,.12); }
  .tft-review-card__panel { position: relative; top: auto; right: auto !important; left: auto !important; width: calc(100% - 1rem); margin: -1.75rem 0 0 1rem; padding: 1.4rem; background: rgba(252,250,245,.98); backdrop-filter: none; -webkit-backdrop-filter: none; transform: none; }
  .tft-example-math { padding: .75rem 1rem; }
  .tft-example-math p { align-items: flex-start; flex-direction: column; gap: .25rem; }
  .tft-example-math strong { text-align: left; }
  .tft-loan-same-person,
  .tft-loan-takeaway,
  .tft-loan-questions,
  .tft-loan-pslf-grid { grid-template-columns: 1fr; }
  .tft-loan-same-person p { border-right: 0; border-bottom: 1px solid rgba(255,255,255,.2); }
  .tft-loan-same-person p:last-child { border-bottom: 0; }
  .tft-loan-takeaway span { min-height: 0; }
  .tft-loan-steps > div { grid-template-columns: 1fr; gap: .3rem; }
  .tft-loan-steps__result { grid-template-columns: 1fr !important; }
  .tft-loan-steps__result dd,
  .tft-loan-steps__result dd small { margin-left: 0; text-align: left; }
  .tft-loan-steps dd { text-align: left; }
  .tft-loan-pslf-card,
  .tft-loan-pslf-card:last-child { grid-column: auto; width: auto; margin-bottom: 0; }
  .tft-loan-pslf-card + .tft-loan-pslf-card { margin-top: 2.5rem; }
  .tft-loan-pslf-card__media { width: 100%; }
  .tft-loan-pslf-card__panel { position: relative; top: auto; width: calc(100% - 1rem); min-height: 0; margin: -2rem 0 0 1rem; padding: 1.4rem; background: rgba(252,250,245,.98); backdrop-filter: none; -webkit-backdrop-filter: none; }
  .site-403b-for-teachers .disclosures-questions,
  .site-403b-for-teachers .terms-contact { padding: 3rem 0; }
  .site-403b-for-teachers .footer__main,
  .site-403b-for-teachers .footer__bottom { grid-template-columns: 1fr; }
  .site-403b-for-teachers .footer__main nav:last-child { grid-column: auto; }
}

@media (prefers-reduced-motion: reduce) {
  .site-403b-for-teachers *,
  .site-403b-for-teachers *::before,
  .site-403b-for-teachers *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; }
  .tft-sticky-feature.is-enhanced .tft-feature-item__copy,
  .tft-sticky-feature.is-enhanced .tft-feature-item__visual,
  .tft-sticky-feature.is-enhanced .tft-feature-item h3,
  .tft-sticky-feature.is-enhanced .tft-feature-item__number,
  .tft-sticky-feature.is-enhanced .tft-feature-item__text { transition: none !important; }
  .tft-contributions-page [data-financial-illustration] { --chart-progress: 1 !important; }
}
