/* Approved Programs presentation; all rules scoped to its main landmark. */
.programs-shell>*{margin-block-start:0}

.programs-shell .programs-hero{min-height:clamp(430px,58svh,680px);display:grid;grid-template-columns:1.15fr .85fr;gap:clamp(3rem,8vw,8rem);align-items:end;padding:clamp(6rem,10vw,10rem) max(32px,calc((100vw - 1240px)/2));background:var(--midnight);color:var(--warm)}
.programs-shell .programs-hero h1{max-width:8ch;margin:0;font-size:clamp(4rem,8.5vw,8.5rem);letter-spacing:-.055em}
.programs-shell .programs-hero h1 em{display:block;color:var(--gold);font-style:normal}
.programs-shell .programs-hero-copy{max-width:31rem;padding-bottom:.8rem}
.programs-shell .programs-hero-copy>p{margin-bottom:2rem;color:rgba(250,248,245,.78);font-family:var(--serif);font-size:clamp(1.25rem,2vw,1.75rem);line-height:1.45}
.programs-shell .program-directory{background:var(--warm)}
.programs-shell .program-directory>.eyebrow,.programs-shell .program:not(.program-navy)>.program-heading .eyebrow{color:#735b19}
.programs-shell .age-range{white-space:nowrap}
.programs-shell .program-directory ol{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 4rem;margin:0;padding:0;border-top:1px solid var(--line);list-style:none}
.programs-shell .program-directory li{border-bottom:1px solid var(--line)}
.programs-shell .program-directory a{display:grid;grid-template-columns:42px 1fr;gap:1rem;align-items:center;min-height:88px;text-decoration:none;font-family:var(--serif);font-size:clamp(1rem,1.7vw,1.35rem)}
.programs-shell .program-directory a:hover{color:#735b19}
.programs-shell .program-directory a span{color:#735b19;font-family:var(--sans);font-size:.68rem;letter-spacing:.12em}
.programs-shell .program{display:grid;grid-template-columns:.72fr 1.28fr;gap:clamp(3rem,8vw,8rem)}
.programs-shell .program-heading{align-self:start}
.programs-shell .program-heading h2{max-width:11ch;margin-bottom:1.2rem}
.programs-shell .program-number{margin-bottom:3rem;color:#735b19;font-family:var(--serif);font-size:.8rem}
.programs-shell .program-subtitle{max-width:27rem;color:#536075;font-family:var(--serif);font-size:1.15rem;line-height:1.5}
.programs-shell .program-content{min-width:0}
.programs-shell .program-content>h3,.programs-shell .program-variants h3,.programs-shell .outline-content h3{font-size:clamp(1.45rem,2.4vw,2rem)}
.programs-shell .topic-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0;margin:0 0 2.5rem;padding:0;border-top:1px solid var(--line);list-style:none}
.programs-shell .topic-list li{position:relative;padding:1rem 1.5rem 1rem 1.35rem;border-bottom:1px solid var(--line)}
.programs-shell .topic-list li:before{position:absolute;top:1.56rem;left:0;width:5px;height:5px;border-radius:50%;background:var(--gold);content:""}
.programs-shell .program-format{max-width:42rem;margin-bottom:2rem;font-family:var(--serif);font-size:1.12rem;line-height:1.6}
.programs-shell .program-fee{display:grid;grid-template-columns:auto 1fr;gap:.15rem 1.3rem;align-items:center;max-width:42rem;padding:1.6rem;border-left:4px solid var(--gold);background:#fff;box-shadow:0 12px 36px rgba(15,30,56,.07)}
.programs-shell .program-fee span{grid-row:1/3;color:#735b19;font-size:.68rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase;writing-mode:vertical-rl}
.programs-shell .program-fee strong{color:var(--navy);font-family:var(--serif);font-size:clamp(2.2rem,4vw,3.6rem);font-weight:500;line-height:1}
.programs-shell .program-fee p{margin:0;color:#536075;font-size:.95rem}
.programs-shell .program-navy{background:var(--navy);color:var(--warm)}
.programs-shell .program-navy .program-number,.programs-shell .program-navy .eyebrow{color:var(--gold)}
.programs-shell .program-navy .topic-list,.programs-shell .program-navy .topic-list li{border-color:rgba(250,248,245,.22)}
.programs-shell .program-navy .program-fee{background:var(--midnight)}
.programs-shell .program-navy .program-fee span{color:var(--champagne)}
.programs-shell .program-navy .program-fee strong{color:var(--champagne)}
.programs-shell .program-navy .program-fee p{color:rgba(250,248,245,.7)}
.programs-shell .program-variants{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(2rem,4vw,4rem)}
.programs-shell .program-variants>article{min-width:0}
.programs-shell .program-variants .topic-list{grid-template-columns:1fr}
.programs-shell .program-champagne{background:var(--champagne)}
.programs-shell .program-champagne .eyebrow{color:var(--navy)}
.programs-shell .outline-content{display:grid;gap:0}
.programs-shell .outline-content>article,.programs-shell .program-description{position:relative;padding:2.5rem 0;border-top:1px solid rgba(15,30,56,.25)}
.programs-shell .outline-content>article:last-of-type{border-bottom:1px solid rgba(15,30,56,.25)}
.programs-shell .outline-content h3{padding-right:8rem}
.programs-shell .outline-content ul{columns:2;column-gap:3rem;margin:0 0 1.25rem;padding-left:1.2rem}
.programs-shell .outline-content li{margin-bottom:.45rem;break-inside:avoid}
.programs-shell .compact-program{align-items:center}
.programs-shell .compact-program .program-heading h2{margin-bottom:0}
.programs-shell .programs-cta{text-align:center;background:var(--midnight);color:var(--warm)}
.programs-shell .programs-cta h2{margin-inline:auto}
.programs-shell .programs-cta>p:not(.eyebrow){max-width:34rem;margin:0 auto 2rem;color:rgba(250,248,245,.72)}


@media(max-width:900px){
.programs-shell .programs-hero{min-height:500px;grid-template-columns:1fr;gap:2rem;align-content:end;padding:5rem 32px}
.programs-shell .programs-hero h1{font-size:clamp(3.7rem,15vw,6.5rem)}
.programs-shell .programs-hero-copy{padding:0}
.programs-shell .program-directory ol{grid-template-columns:1fr}
.programs-shell .program{grid-template-columns:1fr}
.programs-shell .program-heading h2{max-width:14ch}
.programs-shell .program-number{margin-bottom:1.5rem}
.programs-shell .program-variants{grid-template-columns:1fr}
}

@media(max-width:600px){
.programs-shell .programs-hero{min-height:440px;padding:4rem 20px}
.programs-shell .programs-hero h1{font-size:clamp(3.35rem,19vw,5rem)}
.programs-shell .programs-hero-copy>p{font-size:1.15rem}
.programs-shell .program-directory a{min-height:78px;font-size:1rem}
.programs-shell .topic-list{grid-template-columns:1fr}
.programs-shell .program-fee{grid-template-columns:auto 1fr;padding:1.25rem}
.programs-shell .outline-content h3{padding-right:0}
.programs-shell .outline-content ul{columns:1}
}

/* Keep the existing compound duration intact with the intended font metrics. */
.programs-shell .no-break{white-space:nowrap}

/* Native paragraph wrappers preserve the approved fee grid and typography. */
.programs-shell .program-fee > .fee-label{grid-row:1/3;color:#735b19;font-size:.68rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase;writing-mode:vertical-rl}
.programs-shell .program-fee > .fee-price{color:var(--navy);font-family:var(--serif);font-size:clamp(2.2rem,4vw,3.6rem);font-weight:500;line-height:1}
.programs-shell .program-navy .program-fee > .fee-price{color:var(--champagne)}
.programs-shell .program-fee > .fee-price strong{color:inherit;font:inherit}
.programs-shell .program-navy .program-fee > .fee-label{color:var(--champagne)}
.programs-shell .program-fee > *{margin-block-start:0}
