.programme-hero {
 display: grid;
 grid-template-columns: 1.25fr .75fr;
 align-items: center;
 gap: clamp(30px, 6vw, 95px);
 margin-block: 36px 70px;
 padding: clamp(28px, 5vw, 72px);
 border-radius: 18px;
 background: linear-gradient(120deg, #d8f3ff, #effaf1 67%, #fff0c9);
}
.programme-hero h1 {font-size:clamp(45px, 5.8vw, 86px); line-height:1.02}
.programme-hero .lead {margin-top:25px; color:#244a53}
.programme-jumps {display:flex; flex-wrap:wrap; gap:10px; margin-top:30px}
.programme-jumps a {padding:10px 15px; border:1px solid #9cc5c8; border-radius:100px; background:#fff8; font-size:13px; font-weight:650}
.programme-film {margin:0; min-width:0; justify-self:stretch}
.programme-film .live-film {width:100%; height:clamp(360px, 37vw, 560px); aspect-ratio:auto; border:4px solid white; box-shadow:0 16px 40px #143c4926}
.programme-film video {width:100%; height:100%; object-fit:cover; object-position:center}
.programme-film figcaption {font-size:12px; color:#365d62; margin-top:11px}
.programme-scene {
 display:grid;
 grid-template-columns:.95fr 1.05fr;
 align-items:center;
 overflow:hidden;
 margin-block:24px;
 border-radius:15px;
 background:#e2f4fb;
}
.programme-scene figure {margin:0; height:100%; min-height:410px; position:relative}
.programme-scene img {position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:center 43%}
.programme-scene>div {padding:clamp(26px, 4.8vw, 66px)}
.programme-scene h2 {font-size:clamp(33px, 4vw, 60px); margin-bottom:22px}
.programme-scene p:not(.eyebrow) {font-size:16px; line-height:1.8; color:#31545c}
.programme-scene ul {display:flex; flex-wrap:wrap; gap:8px; list-style:none; padding:0; margin:22px 0}
.programme-scene li {border:1px solid #64888e5e; border-radius:999px; padding:6px 12px; font-size:12px}
.programme-pool {background:#dff3e8}
.programme-pool figure {grid-column:2; grid-row:1}
.programme-pool>div {grid-column:1; grid-row:1}
.programme-land {background:#fff0d3}
.programme-gallery {background:#123b45; color:white; padding-block:50px 60px; margin-block:60px}
.programme-gallery h2 {margin-bottom:28px}
.programme-archive {display:grid; grid-template-columns:1.3fr .85fr .85fr; gap:16px}
.programme-archive .archive-frame {height:360px}
.programme-archive figcaption {font-size:22px}
.programme-trips {margin-block:65px}
.programme-trips>h2 {margin-bottom:30px}
.aquapark-feature {
 padding:clamp(30px, 5vw, 70px);
 border-radius:16px;
 background:radial-gradient(ellipse at 85% 22%,#fff9db 0 10%,transparent 52%), linear-gradient(135deg,#ffc975,#ffad8f 59%,#c0e8fd);
 color:#233943;
}
.aquapark-feature h3 {font-size:clamp(34px, 4.4vw, 64px); max-width:750px; margin-bottom:20px}
.aquapark-feature p:not(.eyebrow) {font-size:16px; line-height:1.85; color:#3a4c53; max-width:650px}
.programme-trip-grid {display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; margin-top:16px}
.programme-trip-grid article {padding:27px; border-radius:11px; background:#e8f2ee}
.programme-trip-grid article:nth-child(2) {background:#ebedf9}
.programme-trip-grid article:nth-child(3) {background:#f9ecdc}
.programme-trip-grid h3 {font-size:25px; margin-bottom:13px}
.programme-trip-grid p {font-size:14px; line-height:1.75}
.programme-trips>.subtle-note {margin-top:20px}
.programme-cta {display:flex; align-items:center; justify-content:space-between; gap:24px; padding-block:52px 70px}
.session-grid.session-scenes {grid-template-columns:minmax(0,1fr); gap:30px}
.session-scenes .session-card.shift {display:grid; grid-template-columns:1.05fr .95fr; padding:0; overflow:hidden; border-radius:14px; scroll-margin-top:100px}
.session-scene-photo {position:relative; margin:0; min-height:430px}
.session-scene-photo img {position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:center 42%}
.session-scene-copy {min-width:0; padding:clamp(25px, 4vw, 55px)}
.session-scenes .session-card:nth-child(even) .session-scene-photo {grid-column:2; grid-row:1}
.session-scenes .session-card:nth-child(even) .session-scene-copy {grid-column:1; grid-row:1}
.session-scenes .session-card:nth-child(2) {background:#eef6f4}
.session-scenes .session-card:nth-child(3) {background:#eff6e9}
.session-scenes .session-card:nth-child(4) {background:#fff5e7}
.session-scene-price {font-size:13px; margin-bottom:20px; color:#5d6e60}
.session-scene-price strong {font-size:26px; color:#16453d; letter-spacing:-.02em}
.session-scene-copy>.button {width:100%; margin-top:6px}
.learn-teaser {display:flex; align-items:center; justify-content:space-between; gap:30px; padding:38px; margin-block:32px 46px; border-radius:13px; background:#dff3ff}
.learn-teaser h2 {font-size:clamp(30px,3.6vw,47px); margin-bottom:15px}
.learn-teaser p {font-size:15px; line-height:1.7; color:#315563; max-width:600px}
.learn-teaser .button {flex-shrink:0}
.learn-page {display:grid; grid-template-columns:1fr 1fr; align-items:start; gap:52px; padding-bottom:75px}
.learn-page figure {margin:0; overflow:hidden; border-radius:12px}
.learn-page img {width:100%; max-height:560px; object-fit:cover; object-position:center 42%}
.learn-steps {padding-left:22px; margin-top:0}
.learn-steps li {padding-left:10px; margin-bottom:22px}
.learn-steps li::marker {color:#2b7d86; font-weight:700}
.learn-steps h3 {font-size:26px; margin-bottom:9px}
.learn-steps p,.learn-safety {font-size:15px; line-height:1.85}
.learn-safety {background:#edf6f4; padding:18px; border-radius:8px; margin:20px 0}
.beginner-form-note {font-size:13px; line-height:1.7; margin:0 0 22px; padding:13px 15px; background:#e1f1f5; border-radius:6px}
.beginner-form-note a {text-decoration:underline; text-underline-offset:3px}
.form-price .text-link {align-self:flex-start; font-size:12px; padding:6px 0}
.day-price-card .price-unit {margin-bottom:30px}

@media(max-width:950px) {
 .programme-hero {gap:30px}
 .programme-trip-grid article {padding:21px}
 .learn-teaser {align-items:flex-start; flex-direction:column}
}
@media(max-width:760px) {
 .programme-hero {grid-template-columns:1fr; margin-block:22px 35px; padding:25px; gap:25px; border-radius:12px}
 .programme-hero h1 {font-size:clamp(37px, 9.9vw, 60px)}
 .programme-hero .lead {font-size:15px; margin-top:20px}
 .programme-jumps {gap:7px; margin-top:22px}
 .programme-jumps a {font-size:12px; padding:8px 11px}
 .programme-film .live-film {height:clamp(300px, 105vw, 470px)}
 .programme-scene {display:flex; flex-direction:column; align-items:stretch; margin-block:20px}
 .programme-scene figure {height:260px; min-height:0}
 .programme-scene>div {padding:24px}
 .programme-scene p:not(.eyebrow) {font-size:14px}
 .programme-scene .eyebrow {margin-bottom:13px}
 .programme-gallery {margin-block:38px; padding-block:35px}
 .programme-archive {grid-template-columns:1fr 1fr; gap:12px}
 .programme-archive .archive-frame:first-child {grid-column:1/-1}
 .programme-archive .archive-frame {height:235px}
 .programme-archive figcaption {font-size:17px}
 .programme-trips {margin-block:38px}
 .programme-trip-grid {grid-template-columns:1fr; gap:12px}
 .aquapark-feature p:not(.eyebrow) {font-size:14px}
 .programme-cta {align-items:flex-start; flex-direction:column; padding-block:30px 45px}
 .session-scenes .session-card.shift {display:flex; flex-direction:column}
 .session-scene-photo {height:215px; min-height:0}
 .session-scene-copy {padding:23px}
 .learn-teaser {padding:25px; margin-block:24px 33px; gap:20px}
 .learn-teaser .button {width:100%; white-space:normal}
 .learn-page {grid-template-columns:1fr; gap:26px; padding-bottom:45px}
 .learn-page img {max-height:330px}
}
.pricing-grid {grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px}
.price-card {padding:clamp(22px, 2.6vw, 36px)}
.price-card h2 {font-size:clamp(25px, 2.6vw, 34px)}
.price-card .price-amount {font-size:clamp(35px, 4.2vw, 63px)}
.flight-price-card {background:#e0f1f9; border-color:#ccdee8}
.flight-price-card .price-amount {font-size:clamp(27px, 3.15vw, 44px)}
.pricing-terms .flight-rate {font-size:13px; padding:14px 17px; background:#edf5f5; border-radius:7px; margin-bottom:34px}
.flight-rate a {text-decoration:underline; text-underline-offset:3px}
.form-pair>label {min-width:0}
@media(max-width:900px) {
 .pricing-grid {grid-template-columns:1fr}
 .price-card .price-amount {font-size:47px}
 .flight-price-card .price-amount {font-size:38px}
}
.aquapark-feature{padding:0;display:grid;grid-template-columns:1fr 1fr;overflow:hidden;background:#ffdf95}.aquapark-copy{padding:clamp(28px,4vw,58px);align-self:center}.aquapark-feature h3{font-size:clamp(32px,3.7vw,53px)}.aquapark-photos{margin:0;background:#0e485c;min-width:0}.aquapark-photos img{display:block;width:100%;height:100%;object-fit:cover}.aquapark-photos>.aquapark-main-photo{height:300px}.aquapark-photos>div{display:grid;grid-template-columns:1fr 1fr;gap:5px;margin-top:5px;height:170px}.aquapark-photos figcaption{padding:10px 16px;font-size:10px;color:#d8eef1}.aquapark-photos figcaption a{display:inline-flex;gap:8px;align-items:center}.aquapark-photos figcaption .arrow{width:12px;height:12px}
@media(max-width:760px){.aquapark-feature{grid-template-columns:1fr}.aquapark-copy{padding:27px}.aquapark-photos>.aquapark-main-photo{height:240px}.aquapark-photos>div{height:140px}.aquapark-photos figcaption{font-size:9px}.session-scenes .session-card:nth-child(4) .session-scene-photo img{object-position:center center}}
