.fgprogram__header { grid-template-columns: minmax(240px,1fr) auto minmax(190px,1fr); }
.fgprogram__hero { background: var(--fgh-cream); display: grid; grid-template-columns: 1.1fr .9fr; min-height: calc(100vh - 92px); }
.fgprogram__hero-copy { display: flex; flex-direction: column; justify-content: center; padding: 90px clamp(32px,6.5vw,112px); }
.fgprogram__hero-copy h1 { font-size: clamp(58px,6.2vw,98px); }
.fgprogram__reassurance { color: var(--fgh-muted); font-size: 11px; margin: 20px 0 0; }
.fgprogram__hero-number { background: var(--fgh-terra); color: white; display: flex; flex-direction: column; justify-content: center; padding: 65px clamp(38px,6vw,90px); }
.fgprogram__hero-number > span { font-family: Georgia,serif; font-size: clamp(170px,20vw,310px); letter-spacing: -.08em; line-height: .72; }
.fgprogram__hero-number > p { border-bottom: 1px solid rgba(255,255,255,.35); font-family: Georgia,serif; font-size: clamp(25px,2.5vw,39px); line-height: 1.15; margin: 45px 0 28px; padding-bottom: 30px; }
.fgprogram__hero-number ol { display: grid; gap: 10px; grid-template-columns: 1fr 1fr; list-style: none; margin: 0; padding: 0; }
.fgprogram__hero-number li { font-size: 11px; font-weight: 800; letter-spacing: .09em; text-transform: uppercase; }
.fgprogram__hero-number li:before { content: "✓"; margin-right: 8px; }
.fgprogram__video { align-items: center; display: grid; gap: clamp(50px,7vw,110px); grid-template-columns: .7fr 1.3fr; }
.fgprogram__video-copy h2 { font-size: clamp(40px,4vw,62px); }
.fgprogram__video-time { align-items: center; color: var(--fgh-muted); display: flex; font-size: 12px; gap: 12px; margin-top: 28px; }
.fgprogram__video-time span { align-items: center; border: 1px solid var(--fgh-terra); border-radius: 50%; color: var(--fgh-terra); display: inline-flex; font-size: 10px; font-weight: 800; height: 48px; justify-content: center; width: 48px; }
.fgprogram__video-frame { background: var(--fgh-deep); box-shadow: 0 28px 70px rgba(16,46,39,.18); overflow: hidden; position: relative; }
.fgprogram__video-frame:before { content: ""; display: block; padding-top: 56.25%; }
.fgprogram__video-frame iframe { border: 0; height: 100%; inset: 0; position: absolute; width: 100%; }
.fgprogram__fit-grid { display: grid; grid-template-columns: repeat(4,1fr); }
.fgprogram__fit-grid article { border: 1px solid var(--fgh-line); min-height: 300px; padding: 28px; }
.fgprogram__fit-grid article + article { border-left: 0; }
.fgprogram__fit-grid span, .fgprogram__included-grid b { color: var(--fgh-terra); font-size: 11px; letter-spacing: .15em; }
.fgprogram__fit-grid h3 { font-size: 27px; margin: 105px 0 15px; }
.fgprogram__fit-grid p { color: var(--fgh-muted); font-size: 13px; line-height: 1.65; }
.fgprogram__quiz-link { align-items: center; border-top: 1px solid var(--fgh-line); display: flex; justify-content: space-between; margin-top: 35px; padding-top: 24px; }
.fgprogram__quiz-link p { color: var(--fgh-muted); font-size: 13px; margin: 0; }
.fgprogram__quiz-link a { font-size: 13px; font-weight: 800; }
.fgprogram__journey { background: var(--fgh-deep); color: white; display: grid; gap: clamp(60px,8vw,130px); grid-template-columns: .9fr 1.1fr; }
.fgprogram__journey .fghome__lead { color: rgba(255,255,255,.62); }
.fgprogram__timeline { list-style: none; margin: 0; padding: 0; }
.fgprogram__timeline li { border-top: 1px solid rgba(255,255,255,.18); display: grid; gap: 24px; grid-template-columns: 70px 1fr; padding: 28px 0; }
.fgprogram__timeline li > span { color: #efad8f; font-size: 11px; font-weight: 800; letter-spacing: .1em; }
.fgprogram__timeline strong { display: block; font-family: Georgia,serif; font-size: 25px; font-weight: 400; margin-bottom: 8px; }
.fgprogram__timeline p { color: rgba(255,255,255,.58); font-size: 13px; line-height: 1.65; margin: 0; }
.fgprogram__included { background: var(--fgh-cream); }
.fgprogram__included > div:first-child { max-width: 850px; }
.fgprogram__included-grid { display: grid; grid-template-columns: repeat(4,1fr); margin-top: 55px; }
.fgprogram__included-grid article { border-left: 1px solid #d2cdbf; padding: 15px 28px 10px; }
.fgprogram__included-grid article:first-child { border-left: 0; padding-left: 0; }
.fgprogram__included-grid h3 { font-size: 25px; margin: 62px 0 14px; }
.fgprogram__included-grid p { color: var(--fgh-muted); font-size: 13px; line-height: 1.65; }
.fgprogram__human { align-items: center; display: grid; gap: clamp(60px,9vw,150px); grid-template-columns: .9fr 1.1fr; }
.fgprogram__human > div:first-child { background: var(--fgh-cream); padding: 20px; }
.fgprogram__human img { aspect-ratio: 4/5; object-fit: cover; object-position: top center; }
.fgprogram__human blockquote { border-left: 2px solid var(--fgh-terra); color: var(--fgh-forest); font-family: Georgia,serif; font-size: clamp(25px,2.7vw,40px); font-style: italic; line-height: 1.25; margin: 35px 0; padding-left: 28px; }
.fgprogram__faq { display: grid; gap: clamp(60px,8vw,130px); grid-template-columns: .75fr 1.25fr; }
.fgprogram__faq > div:first-child { position: sticky; top: 130px; align-self: start; }
.fgprogram__faq > div:first-child > p:last-child { color: var(--fgh-muted); line-height: 1.7; }
.fgprogram__faq-list details { border-top: 1px solid var(--fgh-line); }
.fgprogram__faq-list details:last-child { border-bottom: 1px solid var(--fgh-line); }
.fgprogram__faq-list summary { cursor: pointer; font-family: Georgia,serif; font-size: 24px; list-style: none; padding: 24px 44px 24px 0; position: relative; }
.fgprogram__faq-list summary:after { color: var(--fgh-terra); content: "+"; font-family: Arial,sans-serif; position: absolute; right: 4px; }
.fgprogram__faq-list details[open] summary:after { content: "−"; }
.fgprogram__faq-list details p { color: var(--fgh-muted); font-size: 14px; line-height: 1.75; margin: 0; max-width: 720px; padding: 0 40px 26px 0; }
.fgprogram__final { align-items: center; background: var(--fgh-forest); color: white; display: flex; flex-direction: column; min-height: 620px; text-align: center; }
.fgprogram__final h2 { font-size: clamp(50px,6vw,86px); max-width: 1000px; }
.fgprogram__final > p:not(.fghome__eyebrow) { color: rgba(255,255,255,.68); line-height: 1.7; max-width: 650px; }
.fgprogram__final .fghome__button { margin-top: 24px; }
.fgprogram__final small { color: rgba(255,255,255,.45); margin-top: 18px; }

@media (max-width: 1080px) {
  .fgprogram__header { grid-template-columns: 1fr auto; }
  .fgprogram__fit-grid, .fgprogram__included-grid { grid-template-columns: repeat(2,1fr); }
  .fgprogram__fit-grid article:nth-child(3) { border-left: 1px solid var(--fgh-line); }
  .fgprogram__fit-grid article:nth-child(n+3) { border-top: 0; }
  .fgprogram__included-grid article:nth-child(3) { border-left: 0; padding-left: 0; }
}

@media (max-width: 760px) {
  .fgprogram__hero, .fgprogram__video, .fgprogram__journey, .fgprogram__human, .fgprogram__faq { grid-template-columns: 1fr; }
  .fgprogram__hero-copy { padding: 72px 24px 60px; }
  .fgprogram__hero-copy h1 { font-size: 54px; }
  .fgprogram__hero-number { min-height: 560px; padding: 60px 28px; }
  .fgprogram__hero-number > span { font-size: 190px; }
  .fgprogram__fit-grid, .fgprogram__included-grid { grid-template-columns: 1fr; }
  .fgprogram__fit-grid article, .fgprogram__fit-grid article + article, .fgprogram__fit-grid article:nth-child(3) { border-left: 1px solid var(--fgh-line); border-top: 0; min-height: 250px; }
  .fgprogram__fit-grid article:first-child { border-top: 1px solid var(--fgh-line); }
  .fgprogram__fit-grid h3 { margin-top: 75px; }
  .fgprogram__quiz-link { align-items: flex-start; flex-direction: column; gap: 12px; }
  .fgprogram__timeline li { grid-template-columns: 55px 1fr; }
  .fgprogram__included-grid article, .fgprogram__included-grid article:first-child, .fgprogram__included-grid article:nth-child(3) { border-left: 0; border-top: 1px solid #d2cdbf; padding: 25px 0; }
  .fgprogram__included-grid h3 { margin-top: 40px; }
  .fgprogram__human > div:first-child { grid-row: 1; }
  .fgprogram__faq > div:first-child { position: static; }
  .fgprogram__faq-list summary { font-size: 21px; }
}
