/* One editorial system for groups, camps and club services. */
.variant-b .offer-dialog,.variant-b .product-dialog{width:min(1100px,calc(100vw - 40px));max-width:1100px;border:1px solid #1b5060;border-radius:14px}
.variant-b .offer-layout,.variant-b .dialog-layout{display:block}
.variant-b .offer-heading,.variant-b .dialog-summary{display:grid;grid-template-columns:1fr;padding:0;background:#092137;overflow:hidden}
.variant-b .offer-heading.has-image,.variant-b .dialog-summary.has-image{grid-template-columns:minmax(0,1.25fr) minmax(0,1fr)}
.variant-b .offer-hero-copy{padding:40px;align-self:center;min-width:0}
.variant-b #offer-kicker,.variant-b #dialog-kicker{display:block;font-size:11px;letter-spacing:.13em;font-weight:750;line-height:1.6;color:var(--turquoise)}
.variant-b .offer-heading h2,.variant-b .dialog-summary h2{font-size:clamp(32px,4vw,48px);line-height:1.06;letter-spacing:-.045em;margin:16px 0;text-transform:none}
.variant-b .offer-audience{display:block;color:var(--lime);font-size:clamp(22px,2.4vw,29px);font-weight:800;line-height:1.2;margin:0 0 23px}
.variant-b .offer-hero-copy p{font-size:16px;line-height:1.65;margin:0 0 24px;color:#c7dce7}
.variant-b #offer-price,.variant-b #dialog-price{display:block;font-size:24px;line-height:1.35;color:#fff;font-weight:800;margin:0}
.variant-b .offer-booking-status{display:block;width:fit-content;font-size:11px;font-weight:700;color:var(--turquoise);padding:6px 10px;background:#14c7c912;border:1px solid #14c7c94a;border-radius:4px;margin-top:14px}
.variant-b .offer-hero-media{min-height:390px;position:relative;background:#061a2a}
.variant-b .offer-hero-media:after{content:'';position:absolute;inset:0;pointer-events:none;box-shadow:inset 14px 0 30px -25px #06172b}
.variant-b .offer-hero-media .offer-photo,.variant-b #dialog-photo{display:block;position:absolute;inset:0;width:100%;height:100%;max-height:none;object-fit:cover;object-position:50% 35%;margin:0;border-radius:0}
.variant-b .offer-hero-media:has(.offer-photo-crest){display:flex;align-items:center;justify-content:center;background:radial-gradient(circle at 50% 50%,#0f4755,#061a2a 75%)}
.variant-b .offer-hero-media .offer-photo-crest{position:relative;width:85%;height:auto;max-width:330px;object-fit:contain;border-radius:50%}
.variant-b .offer-hero-media .offer-photo-poster{object-fit:contain}
.variant-b .offer-content,.variant-b .dialog-details{padding:30px 40px 40px;background:#0a2942}
.variant-b .offer-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:0 0 22px;padding:0;background:none;border:0;border-radius:0}
.variant-b .offer-fact-cell{margin:0;padding:18px 20px;background:#0b3647;border:1px solid #28607188;border-radius:8px;min-width:0}
.variant-b .offer-fact-cell dt{font-size:10px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:#74d8d6;margin-bottom:9px}
.variant-b .offer-fact-cell dd{margin:0;display:grid;gap:5px}
.variant-b .offer-facts .offer-fact-cell dd span{display:block;background:none;border:0;padding:0;color:#eef7fa;font-size:15px;font-weight:600;line-height:1.5;border-radius:0}
.variant-b .offer-fact-wide{grid-column:1/-1;background:#0b2e41}
.variant-b .offer-facts .offer-fact-wide dd{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px 24px}
.variant-b .offer-facts .offer-fact-wide dd span{font-size:13px;font-weight:400;color:#c4d9e3}
.variant-b .offer-facts .offer-map-link{display:inline-block;padding:0;margin-top:12px;border:0;color:var(--turquoise);font-weight:650;font-size:12px;text-decoration:underline;text-underline-offset:4px;background:none}
.variant-b .offer-content>.dialog-actions{margin:0 0 30px;display:flex;flex-wrap:wrap;gap:16px;align-items:center}
.variant-b dialog .share-link{font-size:11px;padding:8px 0;border:0;background:none;letter-spacing:.03em;text-transform:none}
.variant-b .offer-content h3,.variant-b .dialog-details h3{font-size:22px;line-height:1.25;margin:0 0 18px;text-transform:none}
.variant-b .offer-benefits{border-top:1px solid #a6d9e630;padding-top:28px}
.variant-b #offer-details{display:grid;grid-template-columns:1fr 1fr;gap:16px 30px;padding:0;list-style:none;margin:0 0 30px}
.variant-b #offer-details li{font-size:14px;line-height:1.65;margin:0;padding:16px 18px;border-left:2px solid #14c7c9;background:#0b3444}
.variant-b #offer-details .offer-subheading{grid-column:1/-1}
.variant-b .offer-practical-notes{background:#06172b70;border-left:3px solid var(--turquoise);padding:24px;margin:28px 0}
.variant-b .offer-practical-notes ul{padding-left:18px;margin:0;display:grid;gap:10px;color:var(--muted);font-size:13px;line-height:1.65}
.variant-b .dialog-details>div:has(#dialog-program),.variant-b .dialog-details>div:has(#dialog-results){margin-bottom:30px}
.variant-b #dialog-program,.variant-b #dialog-results{display:grid;grid-template-columns:1fr 1fr;gap:18px 30px;padding-left:20px;font-size:15px;line-height:1.65;color:#c7dce7}
.variant-b .dialog-price{margin:0}
.variant-b .dialog-price small{display:block;font-size:12px;margin-top:8px;color:#b7ccd9}
.variant-b .programme-audience{display:block;color:var(--lime);font-size:23px;line-height:1.25;font-weight:800;margin:0 0 16px}
.variant-b .programme-card[data-programme-theme=camp] .programme-media{height:260px;aspect-ratio:auto}
.variant-b .programme-card[data-programme-theme=camp] .programme-photo{height:100%;object-fit:cover;object-position:50% 32%}
.b-development-promise{background:#0b383f}
.b-development-promise .b-heading{margin-bottom:28px}
.b-development-promise .b-learning-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.b-development-promise article{padding:24px;background:#092731;border-top:2px solid var(--turquoise)}
.b-development-promise article h3{font-size:20px;margin:0 0 12px}
.b-development-promise article p{color:var(--muted);font-size:14px;line-height:1.65;margin:0}
.club-visit-feature{display:grid;grid-template-columns:1fr 1.1fr;background:#0b3545;border:1px solid #23596a;margin-bottom:70px;overflow:hidden}
.club-visit-photo{position:relative;min-height:500px}
.club-visit-photo img{position:absolute;width:100%;height:100%;object-fit:cover;object-position:50% 30%}
.club-visit-photo span{position:absolute;bottom:20px;left:20px;padding:10px 14px;background:#06172be8;color:#e7f3f5;font-size:10px;letter-spacing:.1em}
.club-visit-copy{padding:40px}
.variant-b .club-visit-copy h2{font-size:clamp(30px,3.5vw,45px);line-height:1.08}
.club-visit-copy p{font-size:15px;line-height:1.7;color:#c7dce7}
.club-visit-price{display:block;font-size:25px;color:var(--lime);margin-top:24px}
.club-visit-copy>small{display:block;font-size:11px;color:#acc8d3;margin:8px 0 22px}
@media(max-width:700px){
 .variant-b .offer-dialog,.variant-b .product-dialog{width:calc(100vw - 20px);max-height:94dvh}
 .variant-b .offer-heading.has-image,.variant-b .dialog-summary.has-image{grid-template-columns:1fr}
 .variant-b .offer-hero-media{min-height:0;height:260px;grid-row:1}
 .variant-b .offer-hero-media .offer-photo,.variant-b #dialog-photo{object-position:50% 28%}
 .variant-b .offer-hero-media .offer-photo-crest{height:210px;width:auto}
 .variant-b .offer-hero-copy{padding:26px 22px}
 .variant-b .offer-heading h2,.variant-b .dialog-summary h2{font-size:34px;margin:12px 0}
 .variant-b .offer-audience{font-size:25px;margin-bottom:18px}
 .variant-b #offer-price,.variant-b #dialog-price{font-size:21px}
 .variant-b .offer-content,.variant-b .dialog-details{padding:24px 20px}
 .variant-b #offer-details,.variant-b #dialog-program,.variant-b #dialog-results{grid-template-columns:1fr}
 .variant-b .offer-facts{grid-template-columns:1fr;gap:10px}
 .variant-b .offer-facts .offer-fact-wide dd{grid-template-columns:1fr}
 .variant-b .offer-fact-cell{padding:16px 18px}
 .variant-b .offer-content>.dialog-actions .button{width:100%}
 .b-development-promise .b-learning-grid{grid-template-columns:1fr}
 .club-visit-feature{grid-template-columns:1fr}
 .club-visit-photo{min-height:300px}
 .club-visit-copy{padding:26px}
}
.core-method-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:35px}
.core-method-grid article{padding:28px;background:#0b3444;border-top:2px solid #14c7c9}
.core-method-grid article>span{color:#14c7c9;font-size:12px;font-weight:800}
.core-method-grid h3{font-size:22px;margin:18px 0 12px}
.core-method-grid p{color:#c7dce7;font-size:15px;line-height:1.7;margin:0}
@media(max-width:700px){.core-method-grid{grid-template-columns:1fr}.core-method-grid article{padding:22px}}

/* Audience headings: a steady light cue in the club's two accent colours. */
.variant-b.home-page .b-category-title{
 --audience-rgb:223 255 50;
 position:relative;
 align-items:center;
 gap:18px 28px;
 margin:34px 0 24px;
 padding:24px 28px;
 border:0;
 border-left:3px solid rgb(var(--audience-rgb));
 border-radius:0 10px 10px 0;
 background:linear-gradient(105deg,rgb(var(--audience-rgb) / .10),rgb(var(--audience-rgb) / .025) 62%,transparent);
}
.variant-b.home-page .b-category-title::before{
 content:"";
 position:absolute;
 top:18px;
 bottom:18px;
 left:-3px;
 width:3px;
 background:rgb(var(--audience-rgb));
 box-shadow:0 0 16px rgb(var(--audience-rgb) / .5);
 pointer-events:none;
}
.variant-b.home-page .b-category-title h3{
 color:rgb(var(--audience-rgb));
 font-size:clamp(27px,3.2vw,38px);
 line-height:1.16;
 letter-spacing:-.035em;
 text-shadow:0 0 25px rgb(var(--audience-rgb) / .25);
}
.variant-b.home-page .b-category-title>a{
 color:#d5e5eb;
 font-size:12px;
 line-height:1.5;
 flex-shrink:0;
 text-underline-offset:5px;
}
.variant-b.home-page .b-category-title>a:hover{color:rgb(var(--audience-rgb));text-decoration:underline}
.variant-b.home-page .b-category-adults{--audience-rgb:71 229 225;margin-top:54px}
@media(max-width:700px){
 .variant-b.home-page .b-category-title{flex-direction:column;align-items:flex-start;gap:12px;margin-bottom:20px;padding:20px}
 .variant-b.home-page .b-category-title>a{max-width:none;text-align:left}
 .variant-b.home-page .b-category-adults{margin-top:42px}
}
