/* Programme-specific reading and decision aids. Shared site styling stays intact. */
.program-hero{grid-template-areas:'copy photo' 'decision photo';grid-template-rows:auto auto;row-gap:0;align-items:end}
.program-hero-copy{grid-area:copy;align-self:end}
.program-hero-decision{grid-area:decision;align-self:start}
.program-hero figure{grid-area:photo;align-self:center}
.program-hero .program-hero-film{width:min(100%,460px);justify-self:end;background:var(--navy);overflow:hidden}
.program-hero-film video{display:block;width:100%;height:auto;aspect-ratio:1080/1352;object-fit:contain;background:var(--navy)}
.program-hero-film figcaption{display:flex;flex-direction:column;gap:5px;padding:14px 17px 16px;color:#dce5ec;font-size:11px;line-height:1.5}
.program-hero-film figcaption strong{color:#fff;font-size:10px;letter-spacing:.12em}
.program-hero-decision>p{font-size:15px;line-height:1.7;margin-top:26px;max-width:520px}
.program-hero-actions{display:flex;align-items:center;flex-wrap:wrap;gap:14px 25px}
.program-hero-actions .text-link{font-size:12px;gap:14px}
.program-snapshot{background:var(--navy);color:#fff}
.program-snapshot-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr))}
.program-snapshot-grid>div{min-width:0;padding:23px 24px 24px;border-right:1px solid #ffffff2c}
.program-snapshot-grid>div:first-child{border-left:1px solid #ffffff2c}
.program-snapshot-grid span{display:block;color:#becbd8;font-size:9px;font-weight:700;letter-spacing:.14em;line-height:1.4}
.program-snapshot-grid strong{display:block;margin-top:9px;color:#fff;font-size:14px;font-weight:600;line-height:1.4}
.program-hours{padding-block:10px 12px;color:#cbd6e0;font-size:10px;line-height:1.6}
.program-hours strong{color:#fff;font-weight:600}
.program-packages{display:grid;grid-template-columns:minmax(210px,.72fr) minmax(0,1.28fr);gap:22px 65px;align-items:end;border-bottom:1px solid var(--line)}
.program-packages-heading .eyebrow{margin-bottom:15px}
.program-packages-heading h2{font-size:clamp(42px,4vw,64px)}
.program-packages-heading>p{font-size:13px;line-height:1.8;margin-top:18px;max-width:400px}
.package-options{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.package-option{display:flex;min-width:0;min-height:116px;flex-direction:column;justify-content:space-between;padding:16px 14px;background:#fff;border:1px solid var(--line)}
.package-option.entry{border-top:3px solid var(--gold)}
.package-option span{font-size:11px;color:var(--muted);line-height:1.4}
.package-option strong{font-family:var(--display);font-size:31px;font-weight:600;line-height:1;color:var(--navy);white-space:nowrap}
.package-footnote{grid-column:1/-1;font-size:11px;line-height:1.8;margin-top:2px}
.package-footnote a{display:inline-flex;color:var(--blue);font-weight:600;text-decoration:underline;text-underline-offset:3px}
.program-session{border-top:1px solid var(--line)}
.program-session-intro{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:end}
.program-session-intro>p{font-size:14px;line-height:1.8;max-width:430px;padding-bottom:6px}
.session-stages{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;padding:0;margin:46px 0 0;list-style:none}
.session-stages li{background:var(--navy);min-width:0;min-height:210px;padding:22px 20px;position:relative;overflow:hidden}
.session-stages li:after{content:'↗';position:absolute;right:16px;top:12px;font-size:29px;color:#ffffff35}
.session-stages li>span{font-family:var(--display);font-size:35px;color:var(--gold);line-height:1}
.session-stages h3{font-family:var(--display);font-size:30px;color:#fff;line-height:1.05;margin-top:24px}
.session-stages p{font-size:12px;color:#cbd6e0;line-height:1.7;margin-top:11px}
.program-photo-heading{margin-bottom:30px}
.program-photo-heading .eyebrow{margin-bottom:13px}
.program-photo-heading h2{font-size:clamp(44px,4vw,62px)}
.program-photo-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.program-photo-grid:has(figure:only-child){grid-template-columns:minmax(0,1fr)}
.program-photo-grid figure{min-width:0;position:relative;background:var(--navy);overflow:hidden}
.program-photo-grid img{width:100%;height:440px;object-fit:cover;object-position:center 36%}
.program-photo-grid figure:first-child img[src*="training.jpg"]{object-position:center 38%}
.program-photo-grid figure:only-child img{height:480px}
.program-photo-grid figcaption{position:absolute;bottom:0;left:0;background:var(--navy);color:#fff;padding:12px 16px;font-size:10px;letter-spacing:.08em;text-transform:uppercase}
.program-video-intro{max-width:780px;margin-bottom:32px}
.program-video-intro .eyebrow{margin-bottom:14px}
.program-video-intro h2{font-size:clamp(44px,4.5vw,68px)}
.program-video-intro>p:not(.eyebrow){font-size:14px;line-height:1.8;margin-top:18px}
.program-video-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.program-video-grid figure{background:#fff;min-width:0}
.program-video-grid video{display:block;width:100%;height:500px;object-fit:contain;background:var(--navy)}
.program-video-grid figcaption{font-size:13px;color:var(--navy);font-weight:600;padding:15px 18px}
.program-video-note{font-size:11px;line-height:1.8;margin-top:18px}
.first-gym-choice{display:grid;grid-template-columns:1.15fr .85fr;gap:clamp(32px,6vw,90px);align-items:center}
.first-gym-copy h2{font-size:clamp(48px,5vw,76px)}
.first-gym-copy>p:not(.eyebrow){font-size:15px;line-height:1.85;margin-top:25px;max-width:600px}
.first-gym-copy>p.first-gym-distinction{font-size:12px;border-left:3px solid var(--gold);padding:10px 0 10px 16px;margin-top:26px}
.first-gym-copy a:not(.text-link){font-weight:600;text-decoration:underline;text-underline-offset:3px;color:var(--blue)}
.first-gym-copy .text-link{margin-top:22px}
.first-gym-choice figure{min-width:0;position:relative}
.first-gym-choice figure img{width:100%;height:590px;object-fit:cover;object-position:center 40%}
.first-gym-choice figcaption{position:absolute;bottom:0;left:0;right:0;background:var(--navy);color:#fff;padding:12px 16px;font-size:9px;letter-spacing:.12em}
.plan-packages{margin:1px 0 26px}
.plan-packages .package-options{grid-template-columns:repeat(4,minmax(0,1fr));gap:5px}
.plan-packages .package-option{min-height:70px;padding:8px 7px;background:#f6f5f0;border:0;border-top:2px solid transparent}
.plan-packages .package-option.entry{border-top-color:var(--gold)}
.plan-packages .package-option span{font-size:9px}
.plan-packages .package-option strong{font-size:22px}
.plan.featured .plan-packages .package-option{background:#ffffff13}
.plan.featured .plan-packages .package-option span{color:#c9d5df}
.plan.featured .plan-packages .package-option strong{color:#fff}
@media(max-width:1050px){.program-packages{grid-template-columns:1fr;gap:27px}.package-options{max-width:none}.program-snapshot-grid strong{font-size:12px}.program-session-intro{gap:30px}.session-stages{gap:9px}.session-stages li{padding:18px 14px}.session-stages h3{font-size:25px}.plan-packages .package-options{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.program-hero{display:grid;grid-template-columns:1fr;grid-template-areas:'copy' 'photo' 'decision';gap:0;padding-block:28px 42px}.program-hero-copy .breadcrumb{margin-bottom:18px}.program-hero-copy h1{font-size:clamp(48px,13vw,64px)}.program-hero figure{margin-top:24px}.program-hero figure img{height:255px}.program-hero-decision>p{font-size:13px;margin-top:22px}.program-hero-actions .button{width:100%}.program-snapshot-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.program-snapshot-grid>div{border-bottom:1px solid #ffffff2c;padding:17px 13px}.program-snapshot-grid>div:nth-child(odd){border-left:1px solid #ffffff2c}.program-snapshot-grid strong{font-size:12px}.program-hours{font-size:10px}.program-packages{padding-block:58px;gap:25px}.program-packages-heading>p{font-size:12px}.package-options{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.package-option{min-height:92px}.package-option strong{font-size:29px}.program-session{padding-block:58px}.program-session-intro{grid-template-columns:1fr;gap:15px}.program-session-intro>p{font-size:12px}.session-stages{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:28px}.session-stages li{min-height:165px}.session-stages li>span{font-size:29px}.session-stages h3{font-size:23px;margin-top:17px}.session-stages p{font-size:11px}.program-photo-story{padding-block:58px}.program-photo-grid{grid-template-columns:1fr}.program-photo-grid img,.program-photo-grid figure:only-child img{height:320px}.program-photo-grid figure:first-child img[src*="training.jpg"]{object-position:center 30%}.first-gym-choice{display:flex;flex-direction:column;align-items:stretch;gap:28px;padding-block:58px}.first-gym-copy>p:not(.eyebrow){font-size:13px;margin-top:20px}.first-gym-copy>p.first-gym-distinction{font-size:12px}.first-gym-choice figure img{height:420px}.program-hero-actions{align-items:stretch}.program-hero-actions .text-link{font-size:12px}.plan-packages{margin:5px 0 24px}}
@media(max-width:700px){.program-video-story{padding-block:58px}.program-video-grid{grid-template-columns:1fr;gap:18px}.program-video-grid video{height:440px}.program-video-intro>p:not(.eyebrow){font-size:12px}.program-video-grid figcaption{font-size:12px}}
@media(max-width:700px){.program-hero .program-hero-film{width:100%;justify-self:stretch}.program-hero-film figcaption{font-size:10px;padding:11px 13px 13px}}
