/* Program pages use the site's existing palette, type and controls. */
.program-page main { color: var(--odx-ink); }
.program-page main h1 { margin:0; font-size:clamp(44px,5.2vw,74px); line-height:1.04; letter-spacing:-.045em; text-wrap:balance; }
.program-page main h1 span { color:var(--odx-accent); }
.program-page main h2 { margin:0 0 20px; font-size:clamp(32px,3.3vw,46px); line-height:1.12; letter-spacing:-.035em; text-wrap:balance; }
.program-page main h3 { margin:0 0 12px; font-size:24px; line-height:1.25; letter-spacing:-.025em; }
.program-page main p,.program-page main li,.program-page main dd { font-size:16px; line-height:1.75; color:var(--odx-muted); }
.program-page main p { margin:0 0 18px; }
.program-page main p:last-child { margin-bottom:0; }
.program-page main .program-kicker { color:var(--odx-accent); font-size:12px; font-weight:750; letter-spacing:.06em; margin-bottom:20px; }
.program-page main .program-lead { font-size:19px; line-height:1.65; max-width:620px; }
.program-page main a:focus-visible,.program-page summary:focus-visible { outline:3px solid var(--odx-focus); outline-offset:5px; }
.program-page .program-link { display:inline-flex; align-items:center; gap:12px; min-height:44px; color:var(--odx-accent); font-size:14px; font-weight:750; text-underline-offset:5px; }
.program-page .program-link:hover { text-decoration:underline; }
.program-actions { display:flex; align-items:center; flex-wrap:wrap; gap:12px 26px; margin-top:26px; }
.program-actions .btn { white-space:normal; text-align:center; }
.program-hero { padding:66px 0 0; }
.program-hero__grid { display:grid; grid-template-columns:1.15fr 1fr; align-items:center; gap:70px; }
.program-hero__intro { margin-top:28px !important; }
.program-brief { padding:30px 34px; border-top:3px solid var(--odx-brand); background:var(--odx-soft); }
.program-brief dl { margin:0; }
.program-brief dl>div { padding:19px 0; border-top:1px solid var(--odx-border); }
.program-brief dl>div:last-child { padding-bottom:0; }
.program-brief dt { font-size:21px; line-height:1.3; font-weight:750; margin-bottom:8px; }
.program-brief dd { margin:0; font-size:15px !important; }
.program-topic-nav { display:flex; flex-wrap:wrap; gap:8px 32px; padding:18px 0; margin-top:42px; border-block:1px solid var(--odx-border); }
.program-topic-nav a { display:inline-flex; align-items:center; gap:12px; min-height:44px; color:var(--odx-ink); font-size:14px; font-weight:650; text-underline-offset:5px; }
.program-topic-nav a:hover { color:var(--odx-accent); text-decoration:underline; }
.program-topic-nav a span { color:var(--odx-accent); font-size:12px; }
.program-section { padding-block:56px; }
.program-section--soft { background:var(--odx-soft); }
.program-heading { max-width:800px; margin-bottom:32px; }
.program-split { display:grid; grid-template-columns:1fr 1fr; align-items:start; gap:60px; }
.program-columns { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:32px; }
.program-columns>article { padding-top:24px; border-top:1px solid var(--odx-border); }
.program-number { display:block; color:var(--odx-accent); font-size:13px; font-weight:750; margin-bottom:18px; }
.program-note { display:flex; align-items:baseline; gap:24px; margin-top:28px; padding:22px 0; border-top:1px solid var(--odx-border); }
.program-note strong { flex:0 0 195px; font-size:16px; line-height:1.5; }
.program-note p { margin:0 !important; font-size:14px !important; }
.program-exchange { display:grid; grid-template-columns:1fr 1fr; gap:0 60px; }
.program-exchange>div { padding:22px 0; border-top:1px solid var(--odx-border); }
.program-exchange h3 { font-size:22px !important; }
.program-commitments { display:grid; grid-template-columns:1fr 1fr; gap:24px; }
.program-commitment { border-top:3px solid var(--odx-brand); padding-top:22px; }
.program-page main .program-term { color:var(--odx-ink); font-size:clamp(50px,5vw,70px); font-weight:750; line-height:1; letter-spacing:-.05em; margin:0 0 18px; }
.program-term span { font-size:20px; letter-spacing:-.02em; font-weight:650; }
.program-steps { list-style:none; padding:0; margin:0; display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:28px; }
.program-steps li { padding-top:20px; border-top:1px solid var(--odx-border); }
.program-steps h3 { font-size:21px !important; }
.program-steps p { font-size:15px !important; }
.program-questions { max-width:850px; }
.program-questions details { border-bottom:1px solid var(--odx-border); }
.program-questions details:first-child { border-top:1px solid var(--odx-border); }
.program-questions summary { display:flex; align-items:center; justify-content:space-between; gap:22px; padding:20px 0; cursor:pointer; font-size:18px; line-height:1.5; font-weight:650; list-style:none; }
.program-questions summary::-webkit-details-marker { display:none; }
.program-questions summary::after { content:'+'; color:var(--odx-accent); font-size:24px; font-weight:500; }
.program-questions details[open] summary::after { content:'−'; }
.program-questions details>p { padding:0 24px 22px 0; }
.program-close { padding:34px 38px; background:var(--odx-brand); display:grid; grid-template-columns:1.2fr 1fr; align-items:center; gap:32px; }
.program-page main .program-close h2 { color:#180b04; font-size:clamp(30px,3vw,42px); margin:0; }
.program-page main .program-close p { color:#30180e; }
.program-close .btn { background:#180b04; border-color:#180b04; color:#fff; }
.program-close .btn:hover { background:#362015; border-color:#362015; color:#fff; }
.program-switch { display:flex; align-items:center; justify-content:space-between; gap:20px 40px; flex-wrap:wrap; padding-top:26px; }
.program-switch p { margin:0 !important; max-width:740px; font-size:15px !important; }
.affiliate-hero__reward { font-size:clamp(34px,3.3vw,44px) !important; color:var(--odx-ink) !important; font-weight:750; letter-spacing:-.035em; line-height:1.12 !important; margin-bottom:14px !important; }
.affiliate-hero__reward span { color:var(--odx-accent); }
.affiliate-channels { display:flex; flex-wrap:wrap; gap:8px 20px; padding-top:20px; margin-top:22px; border-top:1px solid var(--odx-border); font-size:13px; color:var(--odx-muted); }
.affiliate-tiers { width:100%; border-collapse:collapse; }
.affiliate-tiers caption { text-align:left; font-size:13px; color:var(--odx-muted); margin-bottom:16px; }
.affiliate-tiers th,.affiliate-tiers td { text-align:left; border-bottom:1px solid var(--odx-border); padding:20px 28px 20px 0; }
.affiliate-tiers thead th { color:var(--odx-muted); font-size:13px; font-weight:600; padding-top:0; }
.affiliate-tiers tbody th { font-size:22px; font-weight:700; }
.affiliate-tiers td { font-size:18px; }
.affiliate-tiers .affiliate-rate { color:var(--odx-accent); font-size:40px; line-height:1.1; font-weight:750; letter-spacing:-.04em; }
.affiliate-tiers td:last-child,.affiliate-tiers th:last-child { padding-right:0; }
.affiliate-earnings-notes { display:grid; grid-template-columns:1fr 1fr; gap:32px; margin-top:30px; }
.affiliate-earnings-notes h3 { font-size:20px !important; }
.affiliate-earnings-notes p { font-size:14px !important; }
.program-qualification { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:26px 40px; }
.program-qualification article { padding:24px 0; border-top:1px solid var(--odx-border); }
.program-qualification article p { max-width:600px; }
@media(max-width:1000px) {
  .program-hero__grid,.program-split,.program-exchange { gap:34px; }
  .program-hero__grid { grid-template-columns:1.1fr 1fr; }
  .program-brief { padding:26px; }
  .program-steps { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media(max-width:760px) {
  .program-hero { padding-top:42px; }
  .program-hero__grid,.program-split,.program-exchange,.program-close { grid-template-columns:1fr; }
  .program-hero__grid { gap:30px; }
  .program-columns { grid-template-columns:1fr; gap:22px; }
  .program-section { padding-block:40px; }
  .program-exchange { gap:0; }
  .program-page main h1 { font-size:clamp(39px,7.6vw,58px); }
  .program-page main .program-lead { font-size:18px; }
  .program-topic-nav { margin-top:28px; gap:4px 22px; }
  .program-heading { margin-bottom:26px; }
  .program-note { display:block; }
  .program-note strong { display:block; margin-bottom:10px; }
  .program-close { padding:28px 24px; gap:22px; }
  .affiliate-earnings-notes { grid-template-columns:1fr; gap:22px; }
  .program-qualification { grid-template-columns:1fr; gap:0; }
}
@media(max-width:480px) {
  .program-page main h2 { font-size:31px; }
  .program-page main h3 { font-size:23px; }
  .program-steps { grid-template-columns:1fr; gap:24px; }
  .program-steps li { display:grid; grid-template-columns:28px 1fr; gap:0 12px; }
  .program-steps li .program-number { padding-top:4px; grid-row:span 2; }
  .program-steps li p { grid-column:2; }
  .program-page main .program-term { font-size:50px; }
  .program-term span { display:block; margin-top:8px; font-size:17px; }
  .program-commitments { gap:18px; }
  .program-commitment p:not(.program-term) { font-size:14px !important; }
  .program-brief { padding:24px; }
  .affiliate-tiers th,.affiliate-tiers td { padding:18px 12px 18px 0; }
  .affiliate-tiers thead th { font-size:12px; }
  .affiliate-tiers tbody th { font-size:17px; }
  .affiliate-tiers td { font-size:15px; }
  .affiliate-tiers .affiliate-rate { font-size:31px; }
}
