/* The regular-course page answers registration questions in more detail. */
.program-hero{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(320px,1fr);gap:clamp(40px,6vw,88px);align-items:center;padding-block:70px}
.program-hero h1{font-size:clamp(36px,4.4vw,62px);line-height:1.22;letter-spacing:-.045em;word-break:keep-all;margin:22px 0}
.program-hero>div>p:not(.eyebrow){color:var(--muted);line-height:1.85;font-size:16px}
.program-hero>div>p.program-lead{font-size:clamp(18px,1.7vw,22px);color:var(--ink);margin-bottom:18px}
.program-hero .actions{margin-top:30px}
.program-facts{padding:32px;border:1px solid #dfE7ed;border-radius:24px;background:linear-gradient(135deg,#f2f8fc,#fff8fb)}
.program-facts h2{font-size:26px;margin:16px 0 24px;letter-spacing:-.03em}
.program-facts dl{margin:0}
.program-facts dl>div{display:grid;grid-template-columns:105px minmax(0,1fr);gap:12px;padding:16px 0;border-top:1px solid #dce5ec;line-height:1.6}
.program-facts dt{font-size:14px;color:var(--muted)}
.program-facts dd{font-size:16px;font-weight:700;margin:0;word-break:keep-all}
.program-facts>p:last-child{font-size:13px;color:var(--muted);line-height:1.8;margin:18px 0 0}
.program-heading{margin-bottom:38px;max-width:880px}
.program-heading h2{font-size:clamp(30px,3.5vw,48px);line-height:1.3;letter-spacing:-.04em;margin:20px 0}
.program-heading>p:last-child{font-size:17px;line-height:1.9;color:var(--muted);word-break:keep-all}
.program-heading strong{color:var(--ink)}
.program-flow-layout{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.2fr);gap:clamp(32px,5vw,72px);align-items:start}
.program-flow-steps{list-style:none;padding:0;margin:0}
.program-flow-steps li{display:flex;gap:18px;padding:24px 0;border-top:1px solid var(--line)}
.program-step-number{font-size:13px;font-weight:800;color:var(--purple);flex:none;padding-top:7px}
.program-flow-steps h3{font-size:26px;margin:0 0 12px}
.program-flow-steps strong{font-size:17px;font-weight:650}
.program-flow-steps p{font-size:15px;line-height:1.85;color:var(--muted);margin:10px 0 0;word-break:keep-all}
.program-classroom{min-width:0;padding-top:24px}
.program-classroom>.text-link{display:inline-block;margin-top:20px;font-size:15px}
.program-project{background:var(--soft)}
.program-project-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(32px,5vw,70px);align-items:center}
.program-shirt{margin:0;padding:24px;background:#fff;border:1px solid var(--line);border-radius:24px;min-width:0}
.program-shirt img{width:100%;height:360px;object-fit:contain;display:block}
.program-shirt figcaption{border-top:1px solid var(--line);padding-top:20px;margin-top:18px;line-height:1.7}
.program-shirt figcaption strong,.program-shirt figcaption span{display:block}
.program-shirt figcaption strong{font-size:14px;color:var(--purple)}
.program-shirt figcaption span{font-size:14px;color:var(--muted);margin-top:6px}
.program-process-label{font-size:14px;color:var(--purple);font-weight:700}
.program-process ol{list-style:none;margin:20px 0 26px;padding:0}
.program-process li{display:flex;gap:18px;padding:20px 0;border-top:1px solid #dce6ed}
.program-process li>span{color:var(--purple);font-size:13px;font-weight:800;padding-top:5px;flex:none}
.program-process h3{font-size:23px;margin:0 0 12px;line-height:1.4}
.program-process li p{font-size:16px;line-height:1.85;margin:0;color:var(--muted);word-break:keep-all}
.program-process>.text-link{font-size:15px}
.program-next-heading{margin:64px 0 28px}
.program-next-heading h3{font-size:26px;line-height:1.5;letter-spacing:-.03em;margin-bottom:14px;word-break:keep-all}
.program-next-heading p{font-size:16px;color:var(--muted);line-height:1.85}
.program-examples{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.program-examples article{border:1px solid var(--line);border-radius:20px;overflow:hidden;background:#fff;min-width:0}
.program-example-image{padding:20px;background:#fff;aspect-ratio:4/3;border-bottom:1px solid var(--line)}
.program-example-image img{width:100%;height:100%;display:block;object-fit:contain}
.program-example-copy{padding:24px}
.program-example-copy .work-author{font-size:12px;margin:0}
.program-example-copy h4{font-size:23px;line-height:1.4;margin:12px 0}
.program-example-copy p{font-size:15px;color:var(--muted);line-height:1.8;margin:0;word-break:keep-all}
.program-project .actions{margin-top:28px}
.program-growth{border-top:1px solid var(--line)}
.program-growth-list{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;list-style:none;padding:0;margin:0}
.program-growth-list li{padding:26px 22px;border:1px solid var(--line);border-radius:16px;background:#f8fafb;min-width:0}
.program-growth-list .is-current{background:#fff3f8;border-color:#e7bed4}
.program-growth-status{font-size:12px;color:var(--muted);font-weight:700}
.is-current .program-growth-status{color:#8d4d70}
.program-growth-list h3{font-size:22px;margin:18px 0 12px;word-break:keep-all}
.program-growth-list p{font-size:14px;color:var(--muted);line-height:1.8;margin:0;word-break:keep-all}
@media(max-width:1000px){.program-hero{grid-template-columns:1fr 1fr;gap:30px}.program-facts{padding:26px}.program-facts dl>div{grid-template-columns:90px minmax(0,1fr)}.program-flow-layout{grid-template-columns:1fr 1fr;gap:32px}.program-example-copy{padding:20px}.program-growth-list{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.program-hero{grid-template-columns:1fr;padding-block:45px}.program-hero h1{font-size:40px}.program-facts{padding:24px}.program-facts dl>div{grid-template-columns:105px minmax(0,1fr)}.program-flow-layout,.program-project-layout{grid-template-columns:1fr}.program-classroom{padding-top:0}.program-flow-steps li{padding:22px 0}.program-heading>p:last-child br,.program-hero>div>p br{display:none}.program-examples{grid-template-columns:1fr;gap:20px}.program-examples article{display:grid;grid-template-columns:38% minmax(0,1fr);align-items:center}.program-example-image{aspect-ratio:1;border-bottom:0;padding:12px}.program-example-copy h4{font-size:21px}.program-example-copy p{font-size:14px}.program-next-heading{margin-top:40px}.program-shirt img{height:300px}.program-flow-steps h3{font-size:24px}}
@media(max-width:400px){.program-hero h1{font-size:34px}.program-facts dl>div{grid-template-columns:90px minmax(0,1fr)}.program-facts dd{font-size:15px}.program-growth-list{gap:12px}.program-growth-list li{padding:20px 16px}.program-growth-list h3{font-size:19px}.program-example-copy{padding:18px 14px}.program-example-copy h4{font-size:19px}}

/* Show tangible student work before asking parents to read the course details. */
.program-first-look{min-width:0;padding:24px;border-radius:28px;background:#f2edf9;border:1px solid #e5ddef}
.program-first-look>p{margin:0 0 18px;font-size:15px;font-weight:750;color:#57436b;line-height:1.6;word-break:keep-all}
.program-first-look>div{display:grid;grid-template-columns:1.15fr 1fr;gap:12px}
.program-first-look figure{margin:0;padding:12px;background:#fff;border-radius:17px;min-width:0}
.program-first-look figure.is-featured{grid-row:span 2;display:flex;flex-direction:column;justify-content:center}
.program-first-look img{width:100%;height:115px;display:block;object-fit:contain}
.program-first-look .is-featured img{height:280px}
.program-first-look figcaption{padding:12px 3px 4px;line-height:1.5}
.program-first-look figcaption strong,.program-first-look figcaption span{display:block}
.program-first-look figcaption strong{font-size:15px;color:var(--ink);word-break:keep-all}
.program-first-look figcaption span{margin-top:4px;font-size:11px;color:var(--muted)}
.program-first-look>.text-link{display:inline-block;margin:20px 0 0;font-size:13px;line-height:1.5}
.program-at-a-glance{padding-top:0;padding-bottom:48px}
.program-at-a-glance .program-facts{padding:24px 30px;background:#f8fafc}
.program-at-a-glance .program-facts h2{font-size:20px;margin:0 0 20px}
.program-at-a-glance .program-facts dl{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}
.program-at-a-glance .program-facts dl>div{display:block;padding:16px 0 0}
.program-at-a-glance .program-facts dt{margin-bottom:8px}
.program-at-a-glance .program-facts dd{font-size:16px}
.program-at-a-glance .program-facts>p:last-child{margin-top:20px}
@media(max-width:1000px){.program-hero{grid-template-columns:1fr 1fr}.program-first-look{padding:18px}.program-first-look .is-featured img{height:220px}.program-first-look img{height:100px}.program-first-look figcaption strong{font-size:14px}.program-at-a-glance .program-facts dl{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.program-hero{grid-template-columns:1fr;gap:28px}.program-first-look{padding:18px}.program-first-look .is-featured img{height:230px}.program-first-look img{height:100px}.program-at-a-glance{padding-bottom:28px}.program-at-a-glance .program-facts{padding:24px}.program-at-a-glance .program-facts dl{gap:16px}.program-at-a-glance .program-facts dd{font-size:15px}.program-flow-steps strong{font-size:18px}}
@media(max-width:400px){.program-first-look{padding:14px}.program-first-look figure{padding:8px}.program-first-look .is-featured img{height:200px}.program-first-look img{height:86px}.program-first-look figcaption strong{font-size:13px}.program-first-look figcaption span{font-size:10px}.program-at-a-glance .program-facts{padding:20px}}
@media(max-width:700px){
  .program-hero{display:flex;flex-direction:column;align-items:stretch;gap:18px;padding-block:32px}
  .program-hero>div:first-child{display:contents}
  .program-hero>div:first-child>.eyebrow{order:0;margin:0}
  .program-hero h1{order:1;font-size:clamp(32px,8.7vw,42px);line-height:1.25;margin:0}
  .program-hero>.program-first-look{order:2;width:100%;padding:14px;border-radius:20px}
  .program-first-look>p{font-size:14px;margin-bottom:12px}
  .program-first-look>div{gap:8px}
  .program-first-look>.text-link{margin-top:14px}
  .program-hero>div:first-child>.program-lead{order:3;margin:4px 0 0;font-size:18px;line-height:1.7}
  .program-hero>div:first-child>p:not(.eyebrow):not(.program-lead){order:4;margin:0;font-size:15px;line-height:1.8}
  .program-hero>div:first-child>.actions{order:5;margin:0}
}
