/* Program reading layout. Scoped to this page to isolate legacy global overrides. */
.program-page{--program-measure:640px;--program-body:18px;--program-h1:48px;--program-h2:28px;--program-h3:21px}
.program-page main .section{width:100%!important;max-width:none!important;padding:80px 20px!important}
.program-page main .section>.split,.program-page main .section.center>*{width:min(100%,var(--program-measure))!important;max-width:var(--program-measure)!important;margin-left:auto!important;margin-right:auto!important}
.program-page main .split{display:block!important}
.program-page main .split>div{width:100%!important;max-width:none!important;margin:0!important;padding:0!important}
.program-page main .split>div+div{margin-top:32px!important}
.program-page main p:not(.kicker),.program-page main li{font-size:var(--program-body)!important;line-height:1.8!important;font-weight:500!important;white-space:normal!important;word-break:normal!important;overflow-wrap:anywhere!important;text-align:left!important}
.program-page main .split p{width:100%!important;max-width:none!important;margin:0 0 20px!important}
.program-page main h2{font-size:var(--program-h2)!important;line-height:1.5!important;font-weight:400!important;text-align:center!important;margin:0 0 20px!important}
.program-page main h3{font-size:var(--program-h3)!important;line-height:1.5!important;font-weight:400!important;text-align:center!important;margin:0!important}
.program-page main p.kicker{width:100%!important;max-width:none!important;font-size:14px!important;line-height:1.5!important;text-align:center!important;margin:0 0 16px!important}
.program-page main .page-hero-dark{padding:64px 20px!important;min-height:520px!important}
.program-page main .page-hero-dark>div{display:flex!important;flex-direction:column!important;align-items:center!important;width:min(100%,800px)!important;max-width:800px!important;margin:0 auto!important;padding:0!important}
.program-page main .page-hero-dark h1{width:100%!important;max-width:none!important;font-size:var(--program-h1)!important;line-height:1.4!important;letter-spacing:0!important;white-space:normal!important;text-align:center!important;margin:0 0 28px!important}
.program-page main .page-hero-dark>div>p:last-child{width:100%!important;max-width:none!important;margin:0!important;text-align:left!important}
.program-page main .program-flow-section>.program-flow{display:block!important;width:min(100%,var(--program-measure))!important;max-width:var(--program-measure)!important;height:auto!important;margin:24px auto 40px!important}
.program-page main .program-flow-mobile{display:none}
.program-page main .journey-detail{display:block!important;width:min(100%,var(--program-measure))!important;max-width:var(--program-measure)!important;margin:0 auto!important}
.program-page main .journey-detail article{display:flex!important;flex-direction:column!important;align-items:center!important;width:100%!important;margin:0!important;padding:48px 0!important;gap:0!important}
.program-page main .journey-detail article>span{order:0!important;font-size:13px!important;line-height:1.5!important;margin-bottom:12px!important}
.program-page main .journey-detail h2{order:1!important;margin-bottom:8px!important}
.program-page main .journey-detail h3{order:2!important}
.program-page main .journey-detail .step-image{order:3!important;width:100%!important;max-width:none!important;height:auto!important;align-self:center!important;margin:24px 0!important}
.program-page main .journey-detail article>p{order:4!important;width:100%!important;max-width:none!important;margin:0 0 16px!important}
.program-page main .journey-detail .compact-list{order:5!important;width:100%!important;max-width:none!important;columns:1!important;margin:0!important;padding-left:1.2em!important}
.program-page main .journey-detail .text-link{order:6!important;margin:24px auto 0!important;font-size:18px!important}
.program-page main .section.center>.button{width:max-content!important;max-width:100%!important;margin:28px auto 0!important;font-size:18px!important;text-align:center!important}
.program-page main .page-hero-dark{min-height:620px!important;padding:72px 20px!important}
.program-page main .page-hero-dark>img{z-index:0!important}
.program-page main .page-hero-dark>img{filter:brightness(.82)!important}
.program-page main .page-hero-dark>div{position:relative!important;z-index:1!important;width:min(100%,1000px)!important;max-width:1000px!important}
.program-page main .page-hero-dark h1{font-size:clamp(42px,3.8vw,52px)!important;line-height:1.4!important;text-shadow:0 2px 14px rgb(0 0 0 / 38%);margin:0 0 48px!important}
.program-page main .program-hero-actions{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:16px}
.program-page main .program-hero-actions .button,.program-page main .program-apply-button{display:inline-flex;align-items:center;justify-content:center;gap:14px;width:min(100%,360px);min-height:58px;padding:12px 28px;color:#fff;background:#f58220;font-size:22px;line-height:1.4;text-align:center;box-shadow:0 2px 8px rgb(0 0 0 / 20%)}
.program-page main .program-hero-actions .program-hero-secondary{display:inline-flex;align-items:center;justify-content:center;gap:10px;width:min(100%,360px);min-height:52px;padding:10px 24px;border:1px solid rgb(255 255 255 / 88%);color:#fff;background:rgb(20 38 37 / 34%);font-family:var(--font-heading);font-size:18px;line-height:1.4;text-align:center;text-decoration:none;box-shadow:0 2px 8px rgb(0 0 0 / 16%)}
.program-page main .program-hero-actions .program-hero-secondary:hover{background:rgb(255 255 255 / 16%)}
.program-page main .program-hero-actions .program-hero-secondary:focus-visible{outline:3px solid #fff;outline-offset:3px}
.program-page main .program-hero-actions .text-link{margin:0;color:#fff;font-size:17px;text-decoration-color:rgb(255 255 255 / 82%);text-underline-offset:.25em}
.program-page main .page-hero-dark .program-hero-actions>a.program-hero-secondary{display:inline-flex!important;align-items:center!important;justify-content:center!important;width:min(100%,360px)!important;min-height:52px!important;padding:10px 24px!important;border:1px solid #fff!important;border-radius:2px!important;color:#fff!important;background:rgb(20 38 37 / 72%)!important;font-size:18px!important;line-height:1.4!important;text-align:center!important;text-decoration:none!important;text-shadow:0 1px 5px rgb(0 0 0 / 45%)!important;box-shadow:0 2px 8px rgb(0 0 0 / 32%)!important}
.program-page main .page-hero-dark .program-hero-actions>a.program-hero-secondary:hover{background:rgb(20 38 37 / 88%)!important}
.program-page main .page-hero-dark .program-hero-actions>a.text-link{display:inline-block!important;margin:0!important;padding:4px 6px!important;border-bottom:1px solid rgb(255 255 255 / 90%)!important;color:#fff!important;font-size:17px!important;line-height:1.5!important;text-decoration:none!important;text-shadow:0 1px 5px rgb(0 0 0 / 75%)!important}
.program-page main .program-hero-actions .program-apply-button,.program-page main .program-apply-button{background:#24686d}
.program-page main .program-application .lead{width:min(100%,640px)!important;margin:28px auto 0!important}
.program-page main .program-application .program-apply-button{margin:12px auto 0}
@media(min-width:1101px){.program-page main .page-hero-dark>div{transform:translateY(98px)}.program-page main .page-hero-dark h1{line-height:1.45!important;margin-bottom:42px!important}}
@media(max-width:600px){
  .program-page{--program-measure:280px;--program-body:16px;--program-h1:28px;--program-h2:24px;--program-h3:20px}
  .program-page main .section{padding:48px 20px!important}
  .program-page main .page-hero-dark{min-height:0!important;padding:48px 20px!important}
  .program-page main .page-hero-dark>div{width:min(100%,var(--program-measure))!important;max-width:var(--program-measure)!important}
  .program-page main .page-hero-dark>div>p:last-child{font-size:15px!important;line-height:1.7!important}
  .program-page main .page-hero-dark h1{margin-bottom:24px!important}
  .program-page main .journey-detail article{padding:36px 0!important}
  .program-page main .split>div+div{margin-top:28px!important}
  .program-page main .section.center>.button{width:100%!important;font-size:16px!important}
  .program-page main .page-hero-dark{min-height:0!important;padding:60px 20px!important}
  .program-page main .page-hero-dark h1{font-size:24px!important;line-height:1.5!important;margin-bottom:28px!important}
  .program-page main .program-hero-actions{display:flex;flex-direction:column;gap:12px}
  .program-page main .program-hero-actions .button,.program-page main .program-apply-button{width:min(100%,280px);min-height:54px;padding:12px 14px;font-size:16px}
  .program-page main .page-hero-dark .program-hero-actions>a.program-hero-secondary{width:min(100%,280px)!important;min-height:50px!important;padding:10px 14px!important;font-size:15px!important}
  .program-page main .page-hero-dark .program-hero-actions>a.text-link{font-size:15px!important}
  .program-page main .program-application .lead{font-size:15px!important}
  .program-page main .program-flow-section>.program-flow{display:none!important}
  .program-page main .program-flow-mobile{display:grid;grid-template-columns:1fr;gap:0;width:100%;max-width:280px;margin:24px auto 28px;padding:0;list-style:none}
  .program-page main .program-flow-mobile li{display:flex;align-items:center;gap:14px;min-height:44px;border-bottom:1px solid var(--line);font-size:16px!important;line-height:1.4!important}
  .program-page main .program-flow-mobile li:first-child{border-top:1px solid var(--line)}
  .program-page main .program-flow-mobile li span{display:grid;place-items:center;width:28px;height:28px;flex:0 0 28px;border-radius:50%;background:var(--teal);color:#fff;font:600 11px/1 Arial,sans-serif}
}
/* Current Wix curriculum: one reading measure for headings, copy, lists and pictures. */
.program-page main .program-reading-rail{width:min(100%,640px)!important;max-width:640px!important;margin:0 auto!important}
.program-page main .program-reading-rail h2{margin:0 0 24px!important}
.program-page main .program-reading-rail h2:not(:first-child){margin-top:40px!important}
.program-page main .program-reading-rail p{width:100%!important;max-width:none!important;margin:0 0 24px!important}
.program-page main .program-reading-rail li{margin:0 0 10px!important}
.program-page main .program-reading-rail ul{display:block;columns:1;margin:0 0 28px;padding-left:1.4em}
.program-page main .program-source-image{display:block;width:100%!important;max-width:none!important;height:auto!important;margin:28px 0!important}
.program-page main .program-source-action{text-align:center!important}
.program-page .whitepaper-form{display:grid;gap:16px;width:min(100%,440px);margin:28px auto 0;padding:28px;background:#fff}
.program-page .whitepaper-form label{display:grid;gap:6px;font-size:15px;line-height:1.5}
.program-page .whitepaper-form input{width:100%;min-height:46px;padding:10px;border:1px solid #a8aaa7;background:#fff;font:inherit}
.program-page .whitepaper-form button{justify-self:center;margin:12px auto 0;cursor:pointer}
.program-page main .whitepaper-note{font-size:14px!important;line-height:1.7!important}
@media(max-width:600px){.program-page main .program-reading-rail{width:min(100%,280px)!important;max-width:280px!important}.program-page main .program-reading-rail h2{font-size:24px!important;line-height:1.5!important}.program-page .whitepaper-form{padding:20px 16px}}
.program-page main .section{padding-top:56px!important;padding-bottom:56px!important}
.program-page main .section.pale+.section.pale{padding-top:32px!important}
@media(max-width:600px){.program-page main .section{padding-top:44px!important;padding-bottom:44px!important}.program-page main .section.pale+.section.pale{padding-top:28px!important}}

/* Restore the original schedule page's sunset video without changing other program heroes. */
.schedule-page main .schedule-video-hero{position:relative!important;background:#263537 url("assets/schedule-hero-sunset-poster.jpg") center 48%/cover no-repeat!important;isolation:isolate}
.schedule-page main .schedule-video-hero>.schedule-hero-video{position:absolute;inset:0;z-index:0;width:100%;height:100%;object-fit:cover;filter:brightness(.72)}
.schedule-page main .schedule-video-hero>.schedule-hero-scrim{position:absolute!important;inset:0!important;z-index:1!important;display:block!important;width:auto!important;max-width:none!important;margin:0!important;padding:0!important;transform:none!important;background:linear-gradient(90deg,rgb(17 30 31 / 48%),rgb(17 30 31 / 24%) 55%,rgb(17 30 31 / 12%));pointer-events:none}
.schedule-page main .schedule-video-hero>div:not(.schedule-hero-scrim){position:relative!important;z-index:2!important}
@media(max-width:600px){.schedule-page main .schedule-video-hero>.schedule-hero-video{display:none!important}.schedule-page main .schedule-video-hero{background-position:center!important}}
@media(prefers-reduced-motion:reduce){.schedule-page main .schedule-video-hero>.schedule-hero-video{display:none!important}}

/* Source-accurate curriculum diagram with a readable mobile equivalent. */
.schedule-page main .program-flow-section .program-reading-rail{width:min(100%,1200px)!important;max-width:1200px!important}
.schedule-page main .program-flow-section .program-flow-intro,.schedule-page main .program-flow-section .program-reading-rail>p:last-child{width:min(100%,640px)!important;max-width:640px!important;margin-left:auto!important;margin-right:auto!important}
.schedule-page main .program-flow-figure{width:min(100%,1200px);max-width:1200px;margin:28px auto 30px}
.schedule-page main .program-flow-figure .program-flow{display:block!important;width:100%!important;max-width:100%!important;height:auto!important;margin:0!important;object-fit:contain!important}
.schedule-page main .program-flow-figure figcaption{width:min(100%,860px);margin:14px auto 0;color:#66716d;font-size:13px;line-height:1.7;text-align:left}
.schedule-page main .program-flow-mobile{display:none}
@media(max-width:600px){
  .schedule-page main .program-flow-section .program-reading-rail{width:100%!important;max-width:100%!important}
  .schedule-page main .program-flow-figure{display:none!important}
  .schedule-page main .program-flow-mobile{display:grid!important;grid-template-columns:1fr;gap:0;width:100%;max-width:340px;margin:24px auto 28px;padding:0;list-style:none}
  .schedule-page main .program-flow-mobile li{display:flex;align-items:center;gap:14px;min-height:50px;border-bottom:1px solid var(--line);font-size:15px!important;line-height:1.45!important}
  .schedule-page main .program-flow-mobile li:first-child{border-top:1px solid var(--line)}
  .schedule-page main .program-flow-mobile li span{display:grid;place-items:center;width:28px;height:28px;flex:0 0 28px;border-radius:50%;background:var(--teal);color:#fff;font:600 11px/1 Arial,sans-serif}
  .schedule-page main .program-flow-mobile li a{color:inherit;text-decoration:none}
  .schedule-page main .program-flow-mobile li a:focus-visible{outline:2px solid var(--teal);outline-offset:3px}
  .schedule-page main .program-flow-mobile .program-flow-interval{padding-left:10px}
  .schedule-page main .program-flow-mobile .program-flow-interval span{font-size:9px;background:#6d7772}
  .schedule-page main .program-flow-section .program-flow-intro,.schedule-page main .program-flow-section .program-reading-rail>p:last-child{width:100%!important;max-width:340px!important}
}
