
:root{--ink:#111;--orange:#fc9418;--blue:#087fb7;--yellow:var(--orange);--cyan:var(--blue);--soft:#f4f4f4;--muted:#555;--line:#dedede;--max:1180px;--radius:20px;--shadow:0 8px 28px #151b2310;--edge:#e8e8eb;color:var(--ink);background:#fff;font-family:Roboto,Arial,sans-serif;font-synthesis:none}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:140px}
body{margin:0;font-size:18px;line-height:1.65}
body.modal-open{overflow:hidden}
[hidden]{display:none!important}
img{max-width:100%;height:auto}
a{color:inherit;text-underline-offset:5px;text-decoration-thickness:1px}
a:hover{text-decoration-thickness:2px}
button,select{font:inherit}
button,a,select{-webkit-tap-highlight-color:transparent}
button{cursor:pointer}
button:disabled{cursor:default}
:focus-visible{outline:3px solid #087fb7;outline-offset:5px}
h1,h2,h3{font-weight:900;line-height:1.12;letter-spacing:-.035em;margin:0 0 24px}
h1{font-size:clamp(2.6rem,5.3vw,4.6rem)}
h2{font-size:clamp(2rem,3.5vw,3.1rem)}
h3{font-size:1.5rem}
p{margin:0 0 24px}
p:last-child{margin-bottom:0}
strong{font-weight:800}
.wrap{width:min(var(--max),calc(100% - 64px));margin-inline:auto}
.narrow{max-width:960px}
.relative{position:relative;z-index:1}
.section{padding:80px 0}
.soft{background:var(--soft)}
.muted{color:var(--muted)}
.lead{font-size:1.25rem;line-height:1.7;max-width:860px}
.strong{font-weight:700}
.small{font-size:1rem}
.eyebrow{font-size:.9rem;font-weight:800;letter-spacing:.12em;line-height:1.4;margin-bottom:25px;text-transform:uppercase}
.tag{display:inline-block;padding:10px 20px;background:var(--orange);color:var(--ink);font-size:.95rem;font-weight:900;letter-spacing:.04em;line-height:1.35;transform:rotate(-1deg);border-radius:8px;margin-bottom:30px}
.headline-tag{display:inline;background:none;color:inherit}
.yellow-text{color:var(--orange)}
.headline-accent{color:var(--ink);background:var(--orange);border-radius:8px;padding:0 .08em;box-decoration-break:clone;-webkit-box-decoration-break:clone}
.yellow-bg{background:var(--orange)!important}
.underline{width:70px;height:5px;border-radius:10px;background:var(--orange);margin:0 0 28px}
.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.skip{position:fixed;left:16px;top:-100px;z-index:1000;padding:12px 20px;background:#fff;color:var(--ink)}
.skip:focus{top:16px}

/* The supplied primary logo is used directly, retaining its transparency. */
.site-header{background:rgba(255,255,255,.97);position:sticky;top:0;z-index:30;border-bottom:1px solid #ededed;box-shadow:0 3px 20px #11111106;backdrop-filter:blur(16px)}
.header-row{min-height:112px;display:flex;align-items:center;justify-content:space-between;gap:24px;padding-block:12px}
.header-row>a{display:block;line-height:0}
.brand{display:block;width:200px;height:auto}
#menu-button{display:flex;align-items:center;gap:16px;border:1px solid #d9d9dd;border-radius:14px;background:#fff;color:var(--ink);padding:11px 20px;font-weight:900;line-height:1.3;box-shadow:0 3px 0 var(--orange),0 6px 16px #1111110d;transition:background .15s,box-shadow .15s}
#menu-button:hover,#menu-button[aria-expanded=true]{background:var(--orange);box-shadow:0 3px 0 #ce7310,0 6px 18px #11111112}
.menu-icon{display:flex;flex-direction:column;justify-content:center;gap:5px;width:23px;height:26px}
.menu-icon i{height:3px;background:currentColor;width:100%;transition:transform .15s,opacity .15s}
.menu-icon i:nth-child(2){width:75%}
[aria-expanded=true] .menu-icon i:first-child{transform:translateY(8px) rotate(45deg)}
[aria-expanded=true] .menu-icon i:nth-child(2){opacity:0}
[aria-expanded=true] .menu-icon i:last-child{transform:translateY(-8px) rotate(-45deg)}
.menu{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;padding-bottom:24px;max-height:calc(100dvh - 112px);overflow:auto}
.menu a{display:flex;align-items:center;min-height:55px;padding:14px 18px;border:1px solid #e8e8eb;border-left:4px solid var(--orange);border-radius:12px;background:linear-gradient(120deg,#fff,#f5f5f6);font-weight:800;text-decoration:none}
.menu a:hover{color:#fff;background:var(--ink)}

.button{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:50px;padding:13px 24px;border:1px solid transparent;border-radius:12px;font-size:1rem;font-weight:800;line-height:1.4;text-decoration:none;transition:background .15s,transform .15s}
.button:hover{transform:translateY(-2px);text-decoration:none}
.button.yellow{background:linear-gradient(135deg,#ffac42,var(--orange));color:var(--ink);box-shadow:0 4px 12px #fc941826}
.button.yellow:hover{background:#ffad40}
.button.cyan{background:linear-gradient(135deg,#087fb7,#066b9a);color:#fff;box-shadow:0 4px 12px #066b9a1a}
.button.cyan:hover{background:#05577c}
.button.white,.button.outline{background:#fff;color:var(--ink);border-color:#d7d7dc;box-shadow:0 3px 10px #11111108}
.button.white:hover,.button.outline:hover{background:#eee}
.button.ink{background:var(--ink);color:#fff}
.button.ink:hover{background:#333}
.actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:30px}
.dark{position:relative;background:radial-gradient(ellipse at 100% 0,#49301955,transparent 65%),linear-gradient(130deg,#101114,#26292e);color:#fff}
.dark .eyebrow{color:var(--orange)}
.dark .muted{color:#d2d2d2}
.dark .yellow-text{color:var(--orange)}
.page-hero{padding:60px 0 64px;border-bottom:4px solid var(--orange);border-radius:0 0 32px 32px;box-shadow:0 10px 26px #1111110a}
.page-hero h1{max-width:1040px}
.page-hero .lead{color:#eee}
.page-hero .tag{margin-bottom:34px}
.back{display:block;font-size:1rem;margin-bottom:22px}

/* A white editorial hero with an angled image, as in the supplied reference. */
.home-hero{background:#fff;color:var(--ink);overflow:hidden}
.home-hero>.wrap{display:grid;grid-template-columns:1fr 1.05fr;align-items:center;gap:28px;padding-block:58px 66px}
.hero-copy{padding-block:15px;position:relative;z-index:2}
.home-hero .eyebrow{color:#555}
.home-hero h1{font-size:clamp(2.5rem,4.3vw,3.85rem);margin-bottom:28px}
.home-hero .lead{font-size:1.13rem;color:#555;max-width:530px}
.image-window{position:relative;display:block;overflow:hidden}
.image-window img{position:absolute;max-width:none;height:auto}
.play-art{position:relative;margin:40px 0 0;background:var(--orange);padding:0 0 5px;border-radius:22px;overflow:hidden;box-shadow:var(--shadow)}
.play-art .image-window{display:block;width:100%}
.play-art figcaption{position:absolute;right:0;bottom:5px;border-radius:8px 0 0 0;background:rgba(0,0,0,.78);color:#fff;font-size:.75rem;padding:4px 9px}
.home-hero .play-art{width:calc(100% + 50px);margin:0;clip-path:polygon(12% 0,100% 0,100% 100%,0 100%)}
.home-hero .play-art figcaption{right:50px}
/* Four tonal orange gradients, linked by warm highlights and white gutters. */
.poster-section{background:#fff;padding:28px 0 34px}
.posters{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.poster{position:relative;display:flex;flex-direction:column;padding:22px;border:1px solid #eddec9;border-radius:18px;background:linear-gradient(135deg,#ffad42,var(--orange));box-shadow:0 5px 18px #1111110a;text-decoration:none;transition:transform .15s,box-shadow .15s}
.poster{color:#111;border-color:#edb166;box-shadow:inset 0 1px 0 #ffffffb3,0 5px 18px #1111110a}
.poster:nth-child(1){background:linear-gradient(135deg,#ffe0a8 0%,#ffb343 45%,#fc9418 100%)}
.poster:nth-child(2){background:linear-gradient(145deg,#fff4e5 0%,#ffd292 44%,#ffa52d 100%)}
.poster:nth-child(3){background:linear-gradient(135deg,#ffe9ce 0%,#ffc06b 48%,#f99a31 100%)}
.poster:nth-child(4){background:linear-gradient(145deg,#ffdda5 0%,#ffae3b 42%,#f68a16 100%)}
.poster h3{font-size:1.25rem;line-height:1.2;margin-bottom:12px}
.poster p{font-size:1rem;line-height:1.5;margin:0 0 14px}
.poster-line{display:none}
.poster-icon{display:block;width:30px;height:30px;align-self:flex-end;margin-top:auto}
.poster-icon svg{display:block;width:100%;height:100%}
.poster:hover{transform:translateY(-3px);box-shadow:0 10px 24px #11111113}
.poster:hover h3{text-decoration:underline;text-underline-offset:5px}
.outlined{background:linear-gradient(135deg,#fff,#fdfdfd);border:1px solid var(--edge);border-top:4px solid var(--orange);border-radius:var(--radius);box-shadow:var(--shadow);padding:36px;margin-bottom:32px}
.intro{max-width:960px;margin:0 auto 60px}
.intro h2{font-size:clamp(2.1rem,3.8vw,3.4rem)}
.intro .strong{font-size:1.22rem}
.page-home main>.section.soft,.page-ethos main>.section.soft{background:#fff}
.care-grid{display:grid;gap:24px;margin-bottom:55px}
.care-card{display:grid;grid-template-columns:40% 60%;grid-template-rows:auto 1fr;background:#fff;border:1px solid var(--edge);border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden;min-height:195px}
.care-card .label{grid-column:1;grid-row:1;justify-self:start;align-self:end;font-size:.875rem;line-height:1.3;font-weight:800;letter-spacing:.025em;padding:7px 11px;border-radius:8px;background:var(--orange);margin:22px 32px 15px}
.care-card h3{grid-column:1;grid-row:2;padding:0 32px 22px;margin:0;font-size:1.95rem;align-self:start}
.care-card p{grid-column:2;grid-row:1/3;display:flex;flex-direction:column;justify-content:center;background:var(--ink);color:#fff;padding:32px 36px 32px 64px;margin:0;clip-path:polygon(6% 0,100% 0,100% 100%,0 100%);font-size:1.08rem}
.care-card p a{font-weight:800;margin-top:12px;align-self:start}
.care-card:nth-child(even){grid-template-columns:60% 40%}
.care-card:nth-child(even) .label,.care-card:nth-child(even) h3{grid-column:2}
.care-card:nth-child(even) p{grid-column:1;clip-path:polygon(0 0,100% 0,94% 100%,0 100%);padding:32px 64px 32px 36px}

/* School and booking information retains its existing content and controls. */
.settings{background:radial-gradient(ellipse at 10% 0,#148cbd,transparent 65%),linear-gradient(130deg,#076c99,#064361);color:#fff;border-radius:32px 32px 0 0}
.settings>.wrap>.eyebrow{color:#fff}
.settings>.wrap>.muted{color:#fff}
.settings-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin-top:38px}
.setting-card{display:flex;flex-direction:column;width:100%;background:#fff;color:var(--ink);border:1px solid #ffffff40;border-radius:20px;overflow:hidden;padding:0;text-align:left;box-shadow:0 12px 32px #0826392e,0 1px 0 #ffffff80 inset;transition:transform .15s}
.setting-card:hover{transform:translateY(-4px)}
.card-top{display:block;width:100%;background:radial-gradient(ellipse at 100% 0,#45556480,transparent 65%),linear-gradient(125deg,#151619,#262c33);color:#fff;padding:24px 24px 21px;border-bottom:3px solid var(--orange);min-height:158px}
.card-top .relative{display:block}
.location{display:table;background:var(--orange);color:var(--ink);padding:4px 10px;border-radius:7px;font-size:.875rem;font-weight:700;margin-bottom:16px}
.card-top strong{display:block;font-size:1.65rem;line-height:1.1;margin-bottom:9px;font-weight:900;letter-spacing:-.025em}
.card-top .relative>span:last-child{font-size:1rem}
.card-bottom{display:flex;flex:1;flex-direction:column;width:100%;padding:20px;gap:17px}
.badges{display:flex;flex-wrap:wrap;gap:7px;align-items:flex-start}
.badge{display:inline-block;background:#f2f2f2;color:var(--ink);padding:5px 8px;font-size:.875rem;font-weight:600;line-height:1.35;border:1px solid #ddd;border-radius:20px}
.badge.breakfast,.badge.holiday{background:#fff0dc;border-color:#edcda4}
.badge.after{background:#e9f4fa;border-color:#c1dde9}
.card-link{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:auto;padding:12px 15px;border-radius:10px;background:linear-gradient(135deg,#ffab3e,var(--orange));color:var(--ink);font-size:.95rem;font-weight:800;text-align:center}

.holiday-page{background:#fff;color:var(--ink);padding:68px 0 75px}
.holiday-page .eyebrow{color:#555}
.holiday-page>.wrap>p{max-width:850px}
.holiday-page>.wrap>h1{max-width:1000px}
.holiday-page .play-art{max-width:1000px;margin:42px 0 30px;clip-path:polygon(6% 0,100% 0,94% 100%,0 100%)}
.holiday-page .play-art figcaption{right:7%}
.interests{display:flex;flex-wrap:wrap;gap:12px;margin:30px 0 40px}
.interests span{padding:9px 16px;background:#f5f5f6;border:1px solid #e8e8eb;border-left:4px solid var(--orange);border-radius:10px;font-size:1rem;font-weight:700}
.venue-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin:28px 0}
.venue{display:block;padding:25px;background:var(--orange);color:var(--ink);text-decoration:none;border-radius:16px;box-shadow:var(--shadow)}
.venue:nth-child(2){background:var(--ink);color:#fff}
.venue:nth-child(3){background:#066b9a;color:#fff}
.venue strong{display:block;font-size:1.25rem;line-height:1.3;margin-bottom:12px}
.venue span{font-size:.95rem}
.venue:hover span{text-decoration:underline;text-underline-offset:4px}
.holiday-guidance{border-top:1px solid var(--line);padding-top:44px;margin-top:50px;display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.dark-panel{background:var(--soft);color:var(--ink);border:1px solid var(--edge);border-top:4px solid var(--orange);border-radius:18px;box-shadow:var(--shadow);padding:28px}
.dark-panel h3{font-size:1.6rem}
.dark-panel p{font-size:1rem}
.dark-panel a{display:inline-block;margin-top:16px;font-weight:800}
.payment-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px;margin:35px 0 48px}
.payment-card{padding:38px;border-radius:22px;box-shadow:var(--shadow);overflow:hidden}
.payment-card h2{font-size:2.2rem}
.payment-card.cyan-card{background:linear-gradient(135deg,#ffac42,var(--orange));color:var(--ink)}
.steps-panel{background:#fff;padding:40px;border:1px solid var(--edge);border-top:4px solid var(--ink);border-radius:22px;box-shadow:var(--shadow)}
.steps{list-style:none;padding:0;margin:35px 0}
.steps>li{display:grid;grid-template-columns:95px minmax(0,1fr);gap:25px;padding:30px 0;border-bottom:1px solid var(--line)}
.steps>li:first-child{padding-top:0}
.steps>li:last-child{border-bottom:0;padding-bottom:0}
.step-label{background:var(--orange);color:var(--ink);padding:8px 12px;font-size:1rem;line-height:1.4;font-weight:900;align-self:start;text-align:center;border-radius:9px}
.steps>li:nth-child(even)>.step-label{background:var(--ink);color:#fff}
.steps h3{font-size:1.5rem;margin-bottom:16px}
.provider-selector{padding:24px;border:1px solid #dcdce0;border-radius:16px;box-shadow:0 4px 16px #11111108;margin-top:28px}
label{display:block;font-weight:800;margin-bottom:12px}
select{display:block;width:100%;padding:13px 38px 13px 14px;border:1px solid #a5a5ac;border-radius:10px;background:#fff;color:var(--ink);font-size:1rem}
#provider-info{position:relative;background:linear-gradient(135deg,#fff0dc,#fff8ed);border-radius:12px;padding:26px;margin-top:20px;overflow-wrap:anywhere}
.provider-label{padding-right:22px;font-weight:600}
.close-provider{position:absolute;right:9px;top:9px;background:transparent;border:0;font-size:2rem;line-height:1;width:36px;height:36px;color:var(--ink)}
#provider-info h3{font-size:1.65rem}
#provider-info .button{margin-bottom:22px}
#contact-info:not(:empty){border-top:1px solid var(--line);padding-top:25px;margin-top:30px}
.callout{background:linear-gradient(135deg,#fff0dc,#fff8ed);border:1px solid #f0dfc8;border-left:4px solid var(--orange);border-radius:14px;padding:25px}
.dsl-card{background:#fff;border:1px solid var(--edge);border-radius:22px;overflow:hidden;box-shadow:var(--shadow);margin-bottom:32px}
.dsl-top{padding:38px;border-bottom:4px solid var(--orange)}
.dsl-bottom{padding:38px}
.dsl-bottom p{color:var(--muted)}
.faqs{margin:32px 0 42px}
.faqs details{border:1px solid var(--edge);border-left:4px solid var(--orange);border-radius:14px;overflow:hidden;box-shadow:0 4px 16px #11111107;background:#fff;margin-bottom:14px}
.faqs summary{position:relative;list-style:none;padding:23px 58px 23px 25px;cursor:pointer;font-weight:800;line-height:1.4}
.faqs summary::-webkit-details-marker{display:none}
.faqs summary::after{content:'+';position:absolute;right:24px;top:17px;font-size:1.65rem}
.faqs details[open] summary::after{content:'−'}
.faqs details[open] summary{background:linear-gradient(120deg,#fff0dc,#fff8ee)}
.faqs details p{padding:24px 25px}
.policy{padding:44px;font-size:1.05rem;line-height:1.85;overflow-wrap:anywhere}
.policy h2{font-size:1.7rem;margin:42px 0 23px;background:var(--ink);color:#fff;border-left:4px solid var(--orange);border-radius:10px;padding:16px 20px;line-height:1.25}
.policy h2:first-child{margin-top:0}
.policy ul{padding-left:24px;margin-bottom:25px}
.policy li{margin:8px 0}
.policy a{font-weight:600}

footer{background:linear-gradient(180deg,#fafafa,#fff 250px);border-top:4px solid var(--orange);padding:60px 0 0;color:var(--muted)}
footer>.wrap{display:grid;grid-template-columns:1fr 1.25fr;gap:48px}
.footer-brand .brand{width:220px;margin:0 0 26px}
.footer-brand h3{color:var(--ink);font-size:1.3rem;margin-bottom:16px}
.footer-brand p{font-size:1rem}
.socials{display:flex;gap:12px;flex-wrap:wrap;margin-top:26px}
.socials .button{background:var(--ink);color:#fff;border-bottom:3px solid var(--orange);border-radius:12px;padding:11px 16px;font-size:.95rem;gap:10px}
.socials span{font-size:1.4rem;line-height:1}
.onside-family{margin-top:24px;font-size:.9rem}
.footer-links{display:grid;grid-template-columns:1fr 1fr 1fr;gap:22px;padding-top:16px}
.footer-links h3{font-size:1.1rem;color:var(--ink);margin-bottom:23px}
.footer-links a{display:block;font-size:.95rem;text-decoration:none;margin-bottom:18px;line-height:1.5}
.footer-links a:hover{text-decoration:underline}
.copyright{grid-column:1/-1;border-top:1px solid var(--line);padding:24px 0;margin:0;font-size:.8rem}

#setting-dialog{margin:auto;inset:0;width:min(780px,calc(100% - 40px));max-height:90dvh;padding:0;border:0;border-top:4px solid var(--orange)!important;border-radius:22px;box-shadow:0 20px 100px #0006;color:var(--ink);overscroll-behavior:contain}
#setting-dialog::backdrop{background:rgba(0,0,0,.65);backdrop-filter:blur(4px)}
.dialog-head{position:relative;background:var(--ink);color:#fff;padding:32px 125px 32px 32px;border-bottom:5px solid var(--orange)!important}
.dialog-head .eyebrow{color:var(--orange);margin-bottom:15px}
.dialog-head h2{font-size:2rem;margin-bottom:0}
.close-dialog{position:absolute;right:22px;top:25px;padding:10px 16px;font-weight:800;background:#fff;color:var(--ink);border:0;border-radius:10px;min-height:48px}
.dialog-body{padding:30px 32px}
.dialog-body .badges{margin-bottom:26px}
.dialog-body h3{border-top:1px solid var(--line);padding-top:25px;margin-top:25px}
.price-table{width:100%;border-collapse:collapse;font-size:1rem}
.price-table td{padding:15px 0;border-bottom:1px solid var(--line);vertical-align:top}
.price-table td:last-child{text-align:right;font-weight:800;padding-left:20px;white-space:nowrap}
.setting-extra{display:flex;gap:22px;flex-wrap:wrap;padding-top:22px;font-size:1rem}
.dialog-footer{position:sticky;bottom:0;background:rgba(255,255,255,.97);backdrop-filter:blur(12px);border-top:1px solid var(--line);padding:20px 32px}
.dialog-footer .button{width:100%;background:var(--orange);color:var(--ink)}
#toast{position:fixed;bottom:20px;left:50%;transform:translateX(-50%);z-index:60;background:var(--ink);color:#fff;padding:15px 25px}

@media(min-width:1600px){.home-hero .play-art{width:calc(100% + 90px)}.home-hero .play-art figcaption{right:90px}}
@media(max-width:1050px){
 .settings-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .home-hero>.wrap{grid-template-columns:1fr 1fr;gap:16px}
 .home-hero h1{font-size:2.8rem}
 .home-hero .lead{font-size:1rem}
 .holiday-guidance{grid-template-columns:1fr}
 .dark-panel{padding:30px}
 footer>.wrap{grid-template-columns:1fr;gap:35px}
 .footer-brand{max-width:620px}
 .footer-links{padding-top:0;max-width:920px}
 .payment-card{padding:28px}
}
@media(max-width:760px){
 body{font-size:17px}
 .wrap{width:calc(100% - 40px)}
 .header-row{min-height:90px;padding-block:12px}
 .brand{width:160px}
 #menu-button{padding:10px 15px;font-size:1rem;gap:12px}
 html{scroll-padding-top:112px}
 .menu{grid-template-columns:repeat(2,1fr);max-height:calc(100dvh - 90px)}
 .section{padding:50px 0}
 .home-hero>.wrap{grid-template-columns:1fr;padding-block:35px 0;gap:32px}
 .hero-copy{padding-block:0}
 .home-hero h1{font-size:clamp(2.55rem,8vw,3.65rem)}
 .home-hero .lead{font-size:1.1rem;max-width:600px}
 .home-hero .play-art{width:calc(100% + 40px);margin-left:-20px;clip-path:polygon(7% 0,100% 0,100% 100%,0 100%)}
 .home-hero .play-art figcaption{right:0}
 .outlined{padding:28px;margin-bottom:30px}
 .intro{margin-bottom:40px}
 .intro .strong{font-size:1.1rem}
 .care-grid{gap:25px;margin-bottom:40px}
 .care-card,.care-card:nth-child(even){display:block;min-height:0}
 .care-card .label{display:inline-block;margin:25px 25px 17px}
 .care-card h3{padding:0 25px 25px;font-size:1.85rem}
 .care-card p,.care-card:nth-child(even) p{padding:35px 25px 28px;clip-path:polygon(0 10px,100% 0,100% 100%,0 100%);font-size:1.05rem}
 .page-hero{padding:45px 0 50px}
 .page-hero .tag{margin-bottom:28px}
 h1{font-size:2.6rem}
 h2{font-size:2.1rem}
 .lead{font-size:1.15rem}
 .holiday-page{padding:45px 0 50px}
 .venue-grid{grid-template-columns:1fr;gap:16px}
 .venue{padding:23px}
 .holiday-page .play-art{clip-path:polygon(5% 0,100% 0,95% 100%,0 100%)}
 .payment-grid{grid-template-columns:1fr}
 .steps-panel{padding:28px}
 .steps>li{grid-template-columns:1fr;gap:18px}
 .step-label{justify-self:start}
 .policy{padding:25px;font-size:1rem}
 .policy h2{font-size:1.45rem;padding:14px 16px}
 .dsl-top,.dsl-bottom{padding:28px}
 footer{padding-top:40px}
}
@media(max-width:580px){
 body{font-size:16px}
 .header-row{min-height:86px}
 .brand{width:148px}
 .menu{grid-template-columns:1fr;gap:8px;max-height:calc(100dvh - 86px)}
 .menu a{min-height:47px;padding:11px 15px}
 .eyebrow{font-size:.875rem;margin-bottom:20px}
 .tag{font-size:.875rem;padding:10px 14px}
 .home-hero h1{font-size:2.5rem}
 .home-hero .lead{font-size:1.03rem}
 .actions{gap:10px}
 .button{font-size:.9rem;padding:12px 17px;min-height:48px}
 .outlined{padding:25px 21px}
 .intro h2{font-size:2rem}
 .settings-grid{grid-template-columns:1fr;gap:25px;margin-top:28px}
 .card-top{min-height:0;padding:22px 24px}
 .card-top strong{font-size:1.8rem}
 .card-bottom{padding:22px}
 .badge{font-size:.85rem}
 .payment-card{padding:27px 24px}
 .payment-card h2{font-size:1.9rem}
 .steps-panel{padding:25px 20px}
 .provider-selector{padding:18px}
 #provider-info{padding:23px 18px}
 #provider-info h3{font-size:1.4rem}
 .footer-links{grid-template-columns:1fr 1fr;gap:25px}
 .footer-links h3{font-size:1rem}
 .footer-links a{font-size:.9rem}
 .footer-brand .brand{width:210px}
 #setting-dialog{margin:auto;inset:0;width:calc(100% - 20px);max-height:92dvh}
 .dialog-head{padding:27px 94px 27px 22px}
 .dialog-head h2{font-size:1.75rem}
 .close-dialog{right:15px;top:24px;padding:9px 12px;font-size:.9rem}
 .dialog-body{padding:25px 22px}
 .dialog-footer{padding:17px 22px}
 .price-table{font-size:.95rem}
 .play-art figcaption{font-size:.75rem}
}
@media(max-width:350px){
 .wrap{width:calc(100% - 28px)}
 .brand{width:132px}
 #menu-button{padding:9px 12px;gap:9px}
 .home-hero h1{font-size:2.2rem}
 .home-hero .play-art{width:calc(100% + 28px);margin-left:-14px}
 .outlined{padding:23px 18px}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important}}

@media(max-width:1050px){.posters{gap:13px}.poster{padding:19px}.poster h3{font-size:1.15rem}}
@media(max-width:760px){
 .poster-section{padding:22px 0 26px}
 .posters{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
 .poster{padding:18px;border-radius:16px}
 .poster h3{font-size:1.2rem;margin-bottom:10px}
 .poster p{font-size:1rem;line-height:1.45;margin-bottom:12px}
 .poster-icon{width:26px;height:26px}
 .home-hero .play-art{width:100%;margin:0;clip-path:none;border-radius:22px 22px 14px 14px}
 .home-hero>.wrap{padding-bottom:12px}
 .care-card p,.care-card:nth-child(even) p{clip-path:none;padding:25px;background:linear-gradient(120deg,#141519,#2b2d32)}
 .page-hero{border-radius:0 0 24px 24px}
 .settings{border-radius:24px 24px 0 0}
}
@media(max-width:420px){.poster{padding:16px 14px}.poster h3{font-size:1.1rem}.posters{gap:12px}}

/* Venue information is visible at a glance; full details remain in the dialog. */
.card-rates{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));background:#f5f6f8;border:1px solid #e6e8eb;border-radius:13px;overflow:hidden;margin-top:auto;text-align:left}
.rate{display:flex;flex-direction:column;gap:6px;padding:14px 12px}
.rate:only-child{grid-column:1/-1}
.rate>span{font-size:.875rem;font-weight:600;color:#555e69;line-height:1.3}
.rate>strong{font-size:1.65rem;font-weight:900;line-height:1.2;letter-spacing:-.04em}
.rate small{font-size:.875rem;font-weight:500;letter-spacing:0;white-space:nowrap;color:#555e69}
.holiday-rate{background:linear-gradient(135deg,#fff0da,#fff8ee);border-left:1px solid #e9dfcf}
.card-link>span{font-size:1.3rem;font-weight:500}
.setting-card .badges{min-height:60px;align-content:flex-start}
.holiday-pricing-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin:30px 0 42px}
.holiday-price-card{display:flex;flex-direction:column;background:#fff;border:1px solid #e2e5e9;border-radius:22px;overflow:hidden;box-shadow:0 10px 30px #1111110d;color:var(--ink)}
.holiday-card-heading{padding:25px;background:linear-gradient(135deg,#151a20,#2c3640);color:#fff;border-bottom:3px solid var(--orange)}
.holiday-card-heading .location{margin-bottom:16px}
.holiday-card-heading h3{font-size:1.55rem;margin-bottom:8px}
.holiday-card-heading p{font-size:1rem;color:#e5e8ec}
.holiday-card-content{padding:24px;display:flex;flex-direction:column;flex:1}
.holiday-day-price{display:flex;align-items:center;gap:16px;padding:0 0 22px;border-bottom:1px solid #e8e9ec;margin-bottom:22px}
.holiday-day-price>strong{font-size:2.6rem;line-height:1;font-weight:900;letter-spacing:-.04em}
.holiday-day-price>span{font-size:.875rem;line-height:1.5;color:#515967}
.holiday-day-price small{display:block;font-size:.9375rem;color:var(--ink);font-weight:700}
.extras-label{font-size:.875rem;font-weight:800;letter-spacing:.03em;margin-bottom:10px}
.holiday-extras{list-style:none;padding:0;margin:0 0 24px}
.holiday-extras li{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:11px 0;border-bottom:1px solid #f0f0f2}
.holiday-extras strong{display:block;font-size:.9375rem;font-weight:600;line-height:1.4}
.holiday-extras small{display:block;font-size:.875rem;color:#59616b}
.holiday-extras b{font-size:1.1rem}
.holiday-card-content>.button{margin-top:auto;width:100%}
.dialog-holiday{padding:0 22px 22px;border:1px solid #ecdcc4;border-radius:16px;background:linear-gradient(135deg,#fffaf2,#fff);margin:28px 0 8px}
.dialog-holiday h3{border-top:0;margin-top:0;padding-top:24px}
.session-time{display:block;font-size:.9375rem;font-weight:400;color:#59616b;margin-top:3px}
@media(max-width:1050px){.holiday-pricing-grid{grid-template-columns:1fr}.holiday-card-heading{padding:24px}.holiday-day-price>strong{font-size:2.4rem}}
@media(max-width:580px){.setting-card .badges{min-height:0}.card-rates{margin-top:0}.rate{padding:14px}.dialog-holiday{padding-inline:16px}.holiday-pricing-grid{gap:24px}}

.staff-link{float:right;font-size:.8rem;color:#66717b}.latest-news{background:#f4f6f8}.news-section-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:26px}.news-section-heading h2{margin-bottom:0}.news-section-heading .eyebrow{margin-bottom:14px}.news-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.news-card{padding:28px;background:#fff;border:1px solid #e1e6eb;border-top:4px solid var(--orange);border-radius:19px;box-shadow:0 8px 25px #18263409;display:flex;flex-direction:column;overflow-wrap:anywhere;scroll-margin-top:140px}.news-meta{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:23px;font-size:.8rem;color:#64707c}.news-meta>span{background:#fff0dc;color:#754600;border-radius:20px;font-size:.875rem;font-weight:700;padding:4px 10px}.news-card h3{font-size:1.5rem;line-height:1.2;margin-bottom:16px}.news-card p{font-size:1rem;line-height:1.65;color:#4c5865;margin-bottom:25px}.news-more{font-size:.9375rem;font-weight:800;margin-top:auto;display:flex;justify-content:space-between;gap:12px}.news-filters{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:30px}.news-filters a{display:block;padding:9px 16px;background:#fff;border:1px solid #dbe1e6;border-radius:24px;font-size:.9375rem;text-decoration:none;font-weight:600}.news-filters [aria-current=page]{background:#17232e;border-color:#17232e;color:#fff}.news-empty{max-width:780px}.setting-information{margin:28px 0;padding:22px;background:#f5f7f9;border:1px solid #e5e9ed;border-radius:15px}.setting-information>div+div{border-top:1px solid #dde3e9;margin-top:17px;padding-top:17px}.setting-information dt{font-size:.875rem;color:#64707e;font-weight:700;margin-bottom:5px}.setting-information dd{margin:0;font-size:1rem;overflow-wrap:anywhere}.setting-information dd>a{display:block;margin-top:7px}.setting-news-item{background:#fff;border:1px solid #e5e9ed;border-left:4px solid var(--orange);border-radius:12px;padding:20px;margin-top:16px}.setting-news-item>span{font-size:.8rem;color:#64707e}.setting-news-item h4{font-size:1.2rem;font-weight:800;line-height:1.3;margin:10px 0}.setting-news-item p,.setting-news-item a{font-size:.9375rem}.setting-dsl-links{margin-top:28px}.page-news .news-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
@media(max-width:900px){.news-grid{grid-template-columns:1fr 1fr}.news-section-heading{flex-wrap:wrap}}
@media(max-width:580px){.news-grid,.page-news .news-grid{grid-template-columns:1fr}.news-card{padding:24px}.news-filters{flex-wrap:nowrap;overflow:auto;padding-bottom:8px}.news-filters a{white-space:nowrap}.staff-link{float:none;display:block;margin-top:12px}.setting-information{padding:18px}}

/* Saturated brand colours and bold typography give each venue a clear identity. */
.settings{background:#f2f5f7;color:#17232d;border-radius:32px 32px 0 0}
.settings>.wrap>.eyebrow{color:#a64e00}.settings>.wrap>.muted{color:#4a5a65}
.setting-card{--venue-accent:#ff951a;border:1px solid #d6dfe5;border-radius:24px;box-shadow:0 12px 26px #102e4112;transition:transform .2s,box-shadow .2s;text-align:left}
.setting-card:hover{box-shadow:0 20px 36px #102e4125;transform:translateY(-5px)}
.setting-card:focus-visible{outline:3px solid #087fb7;outline-offset:5px}
.setting-card.tone-1{--venue-accent:#0786bd}.setting-card.tone-2{--venue-accent:#182834}
.setting-card .card-top{position:relative;isolation:isolate;overflow:hidden;min-height:202px;padding:25px 26px 28px;background:linear-gradient(115deg,#ffac38,#fa8610);color:#161f26;border:0}
.setting-card.tone-1 .card-top{background:linear-gradient(115deg,#078bbe,#046993);color:#fff}
.setting-card.tone-2 .card-top{background:linear-gradient(115deg,#233c4d,#111d27);color:#fff}
.setting-card .card-top:after{content:'';position:absolute;inset:auto 0 0;height:5px;background:#151f27;z-index:1}
.setting-card.tone-1 .card-top:after,.setting-card.tone-2 .card-top:after{background:#ff9c22}
.venue-topline{display:flex;gap:9px;flex-wrap:wrap;align-items:center;margin-bottom:26px}
.venue-topline .location{margin:0;background:transparent;border:0;border-radius:0;padding:0;font-size:.8125rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:inherit;line-height:1.5}
.setting-card .card-top strong{font-size:2rem;line-height:1.04;letter-spacing:-.045em;font-weight:900;max-width:100%;margin-bottom:10px}
.venue-subtitle{font-size:1rem;font-weight:600;color:inherit}
.venue-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}
.setting-card.with-photo .card-top{background:#18212b;color:#fff;min-height:230px}
.with-photo .card-top:before{content:'';position:absolute;inset:0;background:linear-gradient(180deg,#06131b44,#06131be8);z-index:-1}
.with-photo .venue-subtitle,.with-photo .location{color:#fff}
.setting-card .card-bottom{padding:22px;gap:19px;background:#fff}
.setting-card .badges{min-height:62px;align-content:flex-start;gap:8px}
.setting-card .badge{font-size:.8125rem;font-weight:750;border:0;padding:6px 10px;border-radius:8px}
.setting-card .badge.breakfast{background:#ffe1ad;color:#6b3b00}
.setting-card .badge.after{background:#c9eafa;color:#075473}
.setting-card .badge.enrichment{background:#e5dcfa;color:#503180}
.setting-card .badge.holiday{background:#d2eee0;color:#195c43}
.setting-card .card-rates{border:0;border-radius:13px;background:#172833;color:#fff;margin-top:auto}
.setting-card .rate{padding:17px 13px;gap:9px}
.setting-card .rate>span{color:#dbe7ef;font-size:.8125rem;font-weight:650}
.setting-card .rate>strong{font-size:1.9rem;font-weight:900;letter-spacing:-.045em;color:#fff}
.setting-card .rate small{display:block;color:#c6d6e1;font-size:.8125rem;margin-top:5px;font-weight:500}
.setting-card .holiday-rate{background:#233b4b;border-left:1px solid #ffffff20}
.setting-card .holiday-rate>strong{color:#ffb143}
.setting-card .card-link{margin-top:0;padding:12px 15px;min-height:47px;display:flex;justify-content:center;align-items:center;border:1.5px solid #243845;border-radius:11px;background:#fff;color:#172833;font-size:.9375rem;font-weight:800;text-align:center;transition:background .2s,color .2s}
.setting-card:hover .card-link{background:#172833;color:#fff}
.coming-badge{display:inline-flex;align-items:center;background:#fff;color:#8b4d04;border:1px solid #edc794;border-radius:30px;padding:5px 10px;font-size:.875rem;font-weight:800;line-height:1.4}
.opening-note{display:block;font-size:1rem;line-height:1.6;color:#526271;padding:5px 0 12px}
#setting-dialog{border-top:0!important;border-radius:26px}
.dialog-head{background:linear-gradient(115deg,#ffac38,#fa8610);color:#17232d;border-bottom:0!important;padding-block:34px}
.dialog-head .eyebrow{color:#533000;font-size:.875rem}.dialog-head h2{font-weight:900;letter-spacing:-.04em;line-height:1.13}
.close-dialog{border:1px solid #e6d5bc;box-shadow:0 3px 10px #60370009}.dialog-venue-photo{width:100%;height:250px;object-fit:cover;display:block}
.venue-intro{font-size:1.05rem;line-height:1.7}.wraparound-panel{background:#f6f8fa;border:1px solid #e4e9ee;border-radius:18px;padding:0 24px 22px;margin-top:26px}.wraparound-panel h3{border-top:0;margin-top:0}.wraparound-panel .price-table tr:last-child td{border-bottom:0}.price-table td:last-child{font-size:1.15rem;color:#182c3b}.adhoc-note{margin-top:18px;color:#5e6e7a}.dialog-holiday{margin-top:24px}.dialog-holiday h3{font-weight:800}
.setting-people{display:grid;gap:16px;margin:28px 0}.person-panel{padding:26px;border-radius:18px;overflow-wrap:anywhere}.person-panel dt{font-size:.875rem;font-weight:700;margin-bottom:12px}.person-panel dd{margin:0}.person-panel dd>strong{display:block;font-family:Roboto,Arial,sans-serif;font-weight:900;font-size:1.85rem;letter-spacing:-.035em;line-height:1.15}.person-panel a{display:inline-block;font-size:1rem;font-weight:600;margin-top:15px;text-underline-offset:4px}.manager-panel{background:linear-gradient(110deg,#fc9418,#ffb34d);color:#1b2832}.safeguarding-panel{background:linear-gradient(115deg,#075e8e,#0987b6);color:#fff}.safeguarding-panel dt{color:#e5f6ff}
.venue-address,.ofsted-panel{border:1px solid #dfe6eb;border-radius:18px;padding:23px;margin:24px 0;background:#fff}.dialog-body .venue-address h3,.dialog-body .ofsted-panel h3{margin:0 0 14px;padding:0;border:0;font-size:1.4rem}.venue-address p{font-size:1rem;color:#4f616e;line-height:1.65}.map-links{display:flex;gap:10px;flex-wrap:wrap;margin-top:20px}.map-links>a{flex:1;min-width:155px;display:flex;align-items:center;justify-content:space-between;gap:14px;background:#f2f6f9;border:1px solid #dce4ea;border-radius:11px;padding:13px 16px;text-decoration:none;font-weight:750;font-size:.9375rem}.map-links>a:hover{background:#e7f2fa}.setting-socials .map-links>a{background:#fff5e5;border-color:#ecd8b9}.coming-panel{padding:24px;background:#fff7ea;border:1px solid #f0d5ae;border-radius:18px;margin:18px 0}.coming-panel p{margin:16px 0 0;font-size:1rem;line-height:1.7}
.news-cover{display:block;margin:-28px -28px 25px;aspect-ratio:16/9;overflow:hidden}.news-cover img{width:100%;height:100%;object-fit:cover}.news-card{overflow:hidden}.news-card h3 a{text-decoration:none}.news-meta{font-size:.875rem}.blog-section{background:#f5f7f9}.blog-article{max-width:820px;background:#fff;border:1px solid #e2e7ec;border-radius:24px;padding:40px}.back-news{display:inline-block;font-size:.9375rem;font-weight:700;margin-bottom:35px}.blog-article h1{font-size:clamp(2.1rem,5vw,3.3rem);line-height:1.12;letter-spacing:-.04em}.article-photo{width:100%;max-height:480px;object-fit:cover;border-radius:16px;margin:30px 0}.article-copy{font-size:1.125rem;line-height:1.85;color:#354956;overflow-wrap:anywhere;margin:30px 0}.article-copy p{margin-bottom:24px}.article-share{margin-top:40px;border-top:1px solid #dfe6eb;padding-top:25px;display:flex;gap:12px;flex-wrap:wrap;align-items:center}.article-share>strong{width:100%;font-size:1rem;margin-bottom:3px}.share-result{font-size:.9rem;color:#405d6b}
@media(max-width:580px){.setting-card .card-top{min-height:187px;padding:25px}.venue-topline{margin-bottom:24px}.setting-card .card-top strong{font-size:1.9rem}.person-panel{padding:24px 21px}.person-panel dd>strong{font-size:1.65rem}.wraparound-panel{padding-inline:17px}.venue-address,.ofsted-panel{padding:21px}.dialog-venue-photo{height:190px}.blog-article{padding:26px 22px}.news-cover{margin:-24px -24px 23px}.dialog-body{padding:25px 20px}.dialog-head{padding:28px 95px 28px 22px}.coming-badge{font-size:.8125rem}}

@media(max-width:580px){.setting-card .card-top{min-height:178px;padding:24px}.setting-card .card-top strong{font-size:2rem}.setting-card .badges{min-height:0}.setting-card .card-bottom{padding:21px}.setting-card .rate{padding:15px}.setting-card .card-rates{margin-top:0}.setting-card .rate>strong{font-size:1.85rem}.map-links>a{justify-content:center}}

/* Shorter venue headers; ad hoc prices balance settings without holiday care. */
.setting-card .card-top{min-height:0;padding:19px 24px 21px}
.setting-card .venue-topline{margin-bottom:15px}
.setting-card .card-top strong{font-size:1.8rem;line-height:1.07;margin-bottom:5px}
.setting-card .venue-subtitle{font-size:.9375rem}
.setting-card.with-photo .card-top{min-height:168px}
.setting-card .adhoc-rate{background:#233b4b;border-left:1px solid #ffffff20}
.setting-card .adhoc-rate>strong{color:#ffb143}
.booking-destination{margin:8px 0 0;text-align:center;font-size:.8125rem;color:#586b78;line-height:1.4}
.dialog-footer .button{position:relative;z-index:1;touch-action:manipulation}
@media(max-width:580px){.setting-card .card-top{min-height:0;padding:18px 22px 21px}.setting-card .venue-topline{margin-bottom:13px}.setting-card .card-top strong{font-size:1.85rem}.setting-card.with-photo .card-top{min-height:158px}.dialog-footer{padding-block:13px}}

.team-contact-card{display:flex;align-items:flex-start;gap:18px;padding:27px;margin:27px 0 0;background:linear-gradient(125deg,#067aad,#034e79);border-radius:20px;color:#fff;box-shadow:0 10px 25px #0648721a}
.contact-symbol{flex:0 0 50px;display:grid;place-items:center;height:50px;border-radius:50%;background:#ff9c24;color:#17232d}
.contact-kicker{font-size:.8125rem;font-weight:800;letter-spacing:.09em;margin-bottom:10px}
.dialog-body .team-contact-card h3,.team-contact-card h3{border:0;padding:0;margin:0 0 12px;font-size:1.8rem;letter-spacing:-.03em;color:#fff}
.team-contact-card p:not(.contact-kicker){font-size:1rem;line-height:1.6;color:#e1f1fa;margin-bottom:20px}.team-contact-card .button{font-size:.9375rem;color:#16455e;border-radius:11px}
.enquiry-panel{border:1px solid #d4dfe6;border-radius:22px;overflow:hidden;background:#fff;scroll-margin-top:115px;box-shadow:0 10px 28px #172f420c}
.enquiry-heading{padding:29px;background:linear-gradient(115deg,#ffad3c,#fc9418);color:#17232d}
.enquiry-heading h3{font-size:2rem;font-weight:900;line-height:1.13;letter-spacing:-.04em;margin-bottom:12px}.enquiry-heading p:last-child{font-size:1rem;margin:0}
.enquiry-form{padding:28px}.contact-fields{display:grid;grid-template-columns:1fr 1fr;gap:20px}.enquiry-form label{font-size:.9375rem;margin:0 0 22px;font-weight:750}.enquiry-form label>span{font-weight:400;color:#667785}.enquiry-form input,.enquiry-form textarea,.enquiry-form select{display:block;width:100%;font-family:inherit;font-size:16px;border:1px solid #bfcbd4;border-radius:10px;padding:12px;margin-top:9px;background:#fcfdfe;line-height:1.5;color:#17232d}.enquiry-form textarea{resize:vertical;min-height:140px}.enquiry-form input:focus,.enquiry-form select:focus,.enquiry-form textarea:focus{outline:2px solid #087fb7;outline-offset:2px}.contact-honey{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.contact-privacy{font-size:.875rem;color:#5c6e7b;line-height:1.6;margin-bottom:20px}.contact-delivery-note{font-size:.9375rem;line-height:1.6;color:#364e5c;background:#f2f7fa;border-radius:11px;padding:15px;margin-bottom:20px}.enquiry-send{width:100%;font-size:1rem;min-height:52px}.enquiry-send:disabled{opacity:.65}.enquiry-result:not(:empty){background:#fff4e7;border:1px solid #ebcfab;color:#654317;padding:17px;margin-top:18px;border-radius:11px;font-size:.9375rem;line-height:1.6}.enquiry-result.enquiry-success{background:#e7f4eb;border-color:#c4e1ce;color:#275a3c}.enquiry-alternatives{display:flex;flex-wrap:wrap;gap:13px;margin-top:22px;font-size:.875rem;overflow-wrap:anywhere}.enquiry-alternatives a{width:100%;font-weight:650}.enquiry-alternatives button{padding:0;background:transparent;border:0;text-decoration:underline;color:#086c96;font:inherit}.contact-setting-details{margin-top:26px;border-top:1px solid #dce4e9;padding-top:21px}.contact-setting-details summary{font-size:.9375rem;font-weight:750;cursor:pointer}.contact-unavailable{padding:25px;background:#fff3df;border-radius:16px}.contact-unavailable p{font-size:1rem;line-height:1.6}
@media(max-width:580px){.team-contact-card{padding:23px 20px;gap:13px}.contact-symbol{flex-basis:40px;height:40px}.dialog-body .team-contact-card h3{font-size:1.6rem}.enquiry-heading{padding:24px 21px}.enquiry-heading h3{font-size:1.7rem}.enquiry-form{padding:22px 18px}.contact-fields{grid-template-columns:1fr;gap:0}.page-contact .outlined:first-child{padding:24px 16px}.enquiry-alternatives{font-size:.875rem}.enquiry-panel{border-radius:17px}}

/* Keep the desktop introduction and service cards together in the first screen. */
@media(min-width:901px){
 .header-row{min-height:88px;padding-block:8px}
 .header-row .brand{width:170px}
 .home-hero>.wrap{padding-block:26px 20px;gap:24px;align-items:center}
 .hero-copy{padding-block:0}
 .home-hero h1{font-size:clamp(2.5rem,4vw,3.5rem);margin-bottom:20px}
 .home-hero .lead{line-height:1.55;margin-bottom:0}
 .home-hero .actions{margin-top:22px}
 .home-hero .play-art{width:100%;clip-path:none;border-radius:22px}
 .home-hero .play-art figcaption{right:0}
 .poster-section{padding-block:14px 26px}
 .poster{padding:20px}
 .page-home main>.section{padding-block:52px}
 .page-home .intro{margin-bottom:36px}
 .page-home .care-grid{gap:20px;margin-bottom:36px}
}

/* Compact page headings retain hierarchy without dominating the screen. */
.page-hero{padding:32px 0 36px;border-bottom-width:3px;border-radius:0 0 24px 24px}
.page-hero h1{font-size:clamp(2rem,3.6vw,3rem);line-height:1.15;margin-bottom:18px}
.page-hero .tag{font-size:.85rem;padding:8px 14px;margin-bottom:18px}
.page-hero .lead{font-size:1.1rem;line-height:1.55}
.page-hero .back{margin-bottom:14px}
.page-hero .actions{margin-top:20px}
.page-hero+.section{padding-top:40px}
@media(min-width:901px){
 .header-row{min-height:74px;padding-block:6px}
 .header-row .brand{width:144px}
 #menu-button{font-size:1rem;min-height:44px;padding:9px 16px;gap:12px;border-radius:12px;box-shadow:0 2px 0 var(--orange)}
 html{scroll-padding-top:94px}
 .menu{max-height:calc(100dvh - 74px)}
}
@media(max-width:600px){
 .page-hero{padding-block:26px 30px}
 .page-hero h1{font-size:2rem}
 .page-hero+.section{padding-top:30px}
}

/* Childcare imagery gives the compact ethos introduction a human focus. */
.ethos-hero>.wrap{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(0,1fr);align-items:center;gap:36px}
.ethos-hero .play-art{margin:0;border-radius:20px;padding-bottom:4px;box-shadow:0 8px 22px #0003}
.ethos-hero .lead{max-width:540px}
@media(max-width:900px){
 .ethos-hero>.wrap{grid-template-columns:1fr;gap:22px}
 .ethos-hero .play-art{width:100%;max-width:620px}
}
.article-copy h1,.article-copy h2,.article-copy h3{color:#1d2a32;line-height:1.25;letter-spacing:-.025em;margin:32px 0 16px}.article-copy h1{font-size:clamp(1.8rem,4vw,2.4rem)}.article-copy h2{font-size:clamp(1.55rem,3.4vw,2rem)}.article-copy h3{font-size:clamp(1.3rem,3vw,1.65rem)}.article-copy ul,.article-copy ol{padding-left:28px;margin:20px 0 26px}.article-copy ul{list-style:disc}.article-copy ol{list-style:decimal}.article-copy li{margin:8px 0}.article-copy blockquote{margin:26px 0;border-left:4px solid #fc9418;border-radius:0 12px 12px 0;background:#fff0db;padding:18px 22px}.article-copy strong{font-weight:800}.article-copy em{font-style:italic}
.setting-entry{min-width:0}.setting-entry>.setting-card{width:100%;height:100%}.setting-summary,.setting-inline{display:none}.cms-replaced-image{position:static!important;inset:auto!important;transform:none!important;width:100%!important;height:100%!important;object-fit:cover}.image-window:has(.cms-replaced-image){display:block}.image-window:has(.cms-replaced-image) .cms-replaced-image{position:absolute!important;inset:0!important}
@media(max-width:700px){
 .settings-grid{grid-template-columns:minmax(0,1fr);gap:12px}.setting-entry{border:1px solid #eadbca;border-radius:16px;background:#fff;overflow:hidden;box-shadow:0 3px 12px #28170008}.setting-entry>.setting-card{display:none}
 .setting-summary{display:block;width:100%;text-align:left;background:linear-gradient(115deg,#fff6e8,#fff);padding:16px 18px;border:0;border-left:4px solid #fc9418;color:#1e2b33}.summary-town{display:block;font-size:13px;font-weight:700;color:#765020;margin-bottom:3px}.setting-summary>strong{display:block;font-size:22px;line-height:1.25}.summary-services{display:block;font-size:14px;line-height:1.5;color:#4f5d67;margin-top:7px}.summary-action{display:flex;align-items:center;justify-content:space-between;font-size:14px;font-weight:800;margin-top:10px}.summary-action>span{font-size:24px;line-height:1}.setting-summary[aria-expanded=true]{background:#ffe4bc}.setting-summary:focus-visible{outline:3px solid #17252d;outline-offset:-4px}
 .setting-inline:not([hidden]){display:block}.setting-inline .dialog-body{padding:18px}.setting-inline .dialog-footer{position:static;padding:16px;border-top:1px solid #e4e7eb}.setting-inline .dialog-footer .button{width:100%}.setting-inline .dialog-venue-photo{width:100%;max-height:220px;object-fit:cover}.setting-inline .price-table td{font-size:15px}.setting-inline .team-contact-card{padding:20px 16px}.setting-inline h3{font-size:21px}.setting-inline .person-panel{padding:16px}.setting-inline .map-links{flex-wrap:wrap}.setting-inline .dialog-footer p{margin:8px 0 0;font-size:13px}.setting-inline .price-table{width:100%}
}
/* Compact price disclosures inside mobile setting tiles and desktop setting dialogs. */
.price-disclosure{margin:16px 0;border:1px solid #dce3e8;border-radius:15px;background:#fff;overflow:hidden}
.price-disclosure>summary{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 20px;list-style:none;cursor:pointer;background:linear-gradient(115deg,#f1f5f8,#fff);color:#1c2a34;min-height:76px}
.price-disclosure>summary::-webkit-details-marker{display:none}.price-disclosure>summary::marker{content:''}
.price-disclosure>summary strong{display:block;font-size:20px;line-height:1.3;font-weight:800}.price-disclosure>summary small{display:block;font-size:14px;line-height:1.5;font-weight:500;color:#4d5f6d;margin-top:4px}
.holiday-disclosure{border-color:#ead6b8}.holiday-disclosure>summary{background:linear-gradient(115deg,#ffe7c4,#fff8ee)}
.price-toggle{flex:0 0 32px;width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:#fff;border:1px solid #cbd4db;font-size:24px;line-height:1;font-weight:600}.price-toggle::before{content:'+'}.price-disclosure[open] .price-toggle::before{content:'−'}
.price-disclosure[open]>summary{border-bottom:1px solid #dce3e8}.price-disclosure>summary:focus-visible{outline:3px solid #087fb7;outline-offset:-4px}
.price-disclosure-body{padding:18px 20px 8px}.price-disclosure-body>p{font-size:16px;line-height:1.6;margin:0 0 14px}.price-disclosure-body .price-table{margin:0;width:100%}.price-disclosure-body .price-table td{padding:13px 0}.price-disclosure-body .price-table tr:last-child td{border-bottom:0}.price-disclosure-body .adhoc-note{margin:14px 0 10px}
@media(max-width:600px){.price-disclosure>summary{padding:16px;min-height:76px}.price-disclosure>summary strong{font-size:19px}.price-disclosure-body{padding:16px 14px 6px}.price-disclosure-body .price-table td{font-size:16px}.price-disclosure-body .session-time{font-size:15px}}

/* Compact holiday venues and a prominent, setting-aware TFC guide. */
.holiday-disclosure-card{display:block;min-width:0;align-self:start;overflow:hidden;border-radius:22px;background:#fff;color:#19232d}
.holiday-disclosure-card>summary{cursor:pointer;list-style:none;display:block;min-height:48px;padding:0;margin:0;width:100%;color:#19232d}
.holiday-disclosure-card>summary::marker{content:""}
.holiday-disclosure-card summary::-webkit-details-marker{display:none}
.holiday-disclosure-card summary:focus-visible{outline:3px solid #a65308;outline-offset:-4px}
.holiday-disclosure-card .holiday-card-heading{display:block;width:100%;box-sizing:border-box;padding:20px 24px;background:linear-gradient(120deg,#fff8ee,#f8b361);color:#19232d}
.holiday-venue-name{display:block;font-size:1.5rem;line-height:1.2;margin-top:8px;font-weight:900}
.holiday-disclosure-card .holiday-day-price{display:flex;align-items:center;flex-wrap:wrap;margin:0;padding:20px 24px;gap:12px 16px;border-bottom:0}
.holiday-disclosure-card .holiday-card-heading .location{margin-bottom:0}
.holiday-disclosure-card .holiday-venue-name{color:#19232d;overflow-wrap:anywhere}
.holiday-expand-label{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 24px;background:#fff7ed;font-weight:750;border-top:1px solid #eddcc6}
.holiday-toggle{display:grid;place-items:center;width:30px;height:30px;background:white;border:1px solid #e3bc87;border-radius:50%;flex-shrink:0}
.holiday-toggle:before{content:'+';font-size:22px}.holiday-disclosure-card[open] .holiday-toggle:before{content:'−'}
.holiday-disclosure-card .holiday-card-content{border-top:1px solid #eddcc6;padding:20px 24px}
.holiday-pricing-grid{align-items:start}
#ways-to-pay .payment-grid{grid-template-columns:minmax(0,1.6fr) minmax(0,1fr)}
#tfc.tfc-guide{padding:0;overflow:hidden;background:#fff;border:1px solid #edcfa8;border-radius:26px;box-shadow:0 12px 35px #34220e0b;scroll-margin-top:110px}
.tfc-guide-heading{padding:32px;background:linear-gradient(120deg,#ffedd4,#f6a437);color:#19232d}
.tfc-kicker{font-size:.8rem;font-weight:850;letter-spacing:.12em}
.tfc-guide-heading h2{margin:10px 0 12px;font-size:clamp(1.75rem,4vw,2.7rem)}
.tfc-guide-heading p{margin:0;max-width:700px;font-weight:550}
#tfc .steps{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;padding:28px;margin:0;list-style:none}
#tfc .steps>li{display:flex;flex-direction:column;gap:16px;padding:24px;border:1px solid #e2e5e8;border-radius:18px;background:#fafbfc;margin:0;min-width:0}
#tfc .steps>li>div{width:100%;min-width:0}
#tfc .step-label{align-self:flex-start;background:#f7a53a;color:#18222b;border-radius:9px;font-weight:850;padding:8px 14px}
#tfc .steps h3{margin:0 0 12px;font-size:1.3rem}#tfc .steps p{margin:0 0 16px}
#tfc .provider-selector{padding:16px;border:1px solid #e4c79f;border-radius:14px;box-shadow:none;background:white;margin:20px 0 0}
#tfc #provider-info{background:#fff0dc;padding:20px 16px;border-radius:12px;margin-top:14px}
#tfc #provider-info h3{font-size:1.2rem;overflow-wrap:anywhere;padding-right:20px}
#tfc select{width:100%;max-width:100%;font-size:1rem}
.tfc-setting-action{overflow-wrap:anywhere}.tfc-setting-action .button{white-space:normal;overflow-wrap:anywhere;max-width:100%;text-align:center}
#tfc .tfc-booking-note{margin:0 28px 24px;padding:20px 24px;background:#fff1dc;border-left:5px solid #ed9228;border-radius:12px;font-weight:750;color:#283440}
#tfc>p:last-child{margin:0;padding:0 28px 28px}
@media(max-width:700px){#ways-to-pay .payment-grid,#tfc .steps{grid-template-columns:1fr}#tfc .steps{padding:16px;gap:14px}#tfc .steps>li{padding:20px}.tfc-guide-heading{padding:26px 22px}#tfc .tfc-booking-note{margin:0 16px 20px}#tfc>p:last-child{padding:0 20px 24px}}

footer .staff-link{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:8px 14px;border:1px solid #d3d8dd;border-radius:10px;font-size:.875rem;font-weight:650;color:#46535e;text-decoration:none;background:#ffffff80}
footer .staff-link:hover{background:#fff4e5;border-color:#d99440;color:#19232d}
footer .staff-link:focus-visible{outline:3px solid #ba690d;outline-offset:3px}
@media(max-width:580px){footer .staff-link{display:flex;width:fit-content;margin-top:14px}}

/* One step at a time, using the same admin-editable payment guide. */
#tfc.tfc-wizard .tfc-guide-heading{padding:24px 28px}
#tfc.tfc-wizard .tfc-guide-heading h2{font-size:clamp(1.65rem,3.5vw,2.2rem);margin:8px 0 10px}
#tfc.tfc-wizard .tfc-guide-heading p{font-size:1rem;line-height:1.55}
.tfc-step-navigation{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;padding:20px 28px 0;scroll-margin-top:120px}
.tfc-step-button{display:flex;flex-direction:column;align-items:center;gap:6px;border:0;background:transparent;color:#59616a;min-height:64px;padding:4px;cursor:pointer;font:inherit}
.tfc-step-button>span{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;border:1px solid #ccd2d8;background:#fff;font-weight:850;font-size:1rem}
.tfc-step-button>strong{font-size:.875rem;line-height:1.3;font-weight:650;text-align:center}
.tfc-step-button[aria-current=step]{color:#19232d}.tfc-step-button[aria-current=step]>span{background:#f5a338;border-color:#e89022;box-shadow:0 0 0 4px #fff0db}
.tfc-step-button:focus-visible{outline:2px solid #a95e0a;border-radius:10px;outline-offset:2px}
#tfc.tfc-wizard .steps{display:block;padding:18px 28px 0}
#tfc.tfc-wizard .steps>li[hidden]{display:none}
#tfc.tfc-wizard .steps>li{padding:22px;gap:10px}
#tfc.tfc-wizard .steps .step-label{font-size:.875rem;padding:5px 10px}
#tfc.tfc-wizard .steps h3:focus{outline:none}
.tfc-step-controls{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:20px 28px 24px}
.tfc-step-controls .button{min-height:44px;padding:10px 16px;font-size:1rem;white-space:normal}
.tfc-step-controls .button:disabled{opacity:.4;cursor:default}.tfc-step-controls [hidden]{display:none}
.tfc-step-status{font-size:.875rem;font-weight:650;color:#59616a;text-align:center}
#tfc.tfc-wizard .tfc-booking-note{font-size:.9375rem;padding:15px 18px}
@media(max-width:700px){#tfc.tfc-wizard .tfc-guide-heading{padding:22px}.tfc-step-navigation{padding:18px 16px 0;gap:4px}#tfc.tfc-wizard .steps{padding:14px 16px 0}#tfc.tfc-wizard .steps>li{padding:18px}.tfc-step-controls{padding:18px 16px 22px;gap:8px}.tfc-step-controls .button{font-size:.9375rem;padding:10px 13px}.tfc-step-status{font-size:.8rem}}

/* A single compact surface keeps the transfer and the next step together. */
#tfc.tfc-wizard .tfc-guide-heading{padding:18px 22px}
#tfc.tfc-wizard .tfc-kicker{display:none}
#tfc.tfc-wizard .tfc-guide-heading h2{font-size:1.5rem;margin:0 0 4px;line-height:1.25}
#tfc.tfc-wizard .tfc-guide-heading p{font-size:1rem;line-height:1.4}
#tfc.tfc-wizard .tfc-step-navigation{padding:14px 20px 0;gap:4px}
#tfc.tfc-wizard .tfc-step-button{gap:4px;min-height:58px}
#tfc.tfc-wizard .tfc-step-button>span{height:30px;width:30px}
#tfc.tfc-wizard .steps{padding:14px 22px 0}
#tfc.tfc-wizard .steps>li{border:0;border-radius:0;background:transparent;padding:0;gap:0}
#tfc.tfc-wizard .steps .step-label{display:none}
#tfc.tfc-wizard .steps h3{font-size:1.25rem;line-height:1.3;margin:0 0 8px}
#tfc.tfc-wizard .steps p{font-size:1rem;line-height:1.45;margin:0 0 12px}
#tfc.tfc-wizard .provider-selector{padding:0;border:0;border-radius:0;background:transparent;margin:14px 0 0}
#tfc.tfc-wizard .provider-selector label{font-size:.9375rem;line-height:1.4;margin-bottom:6px}
#tfc.tfc-wizard select{min-height:46px;padding:10px 36px 10px 12px;line-height:1.4}
#tfc.tfc-wizard #provider-info{padding:12px 14px;margin:10px 0 0;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:3px 12px;align-items:center;border:1px solid #f2d5aa;background:#fff3e2}
#tfc.tfc-wizard #provider-info[hidden]{display:none}
#tfc.tfc-wizard #provider-info .provider-label{grid-column:1;margin:0;padding:0;font-size:.875rem;line-height:1.3;color:#65503a}
#tfc.tfc-wizard #provider-info h3{grid-column:1;margin:0;padding:0;font-size:1.0625rem;line-height:1.35;overflow-wrap:anywhere}
#tfc.tfc-wizard #provider-info .button{grid-column:2;grid-row:1 / 3;min-height:44px;margin:0;padding:10px 12px;font-size:.875rem;line-height:1.3;border-radius:10px;max-width:105px;white-space:normal}
#tfc.tfc-wizard #provider-info>p:not(.provider-label){grid-column:1 / -1;margin:4px 0 0}
#tfc.tfc-wizard .tfc-step-controls{padding:12px 22px;gap:8px;border-bottom:1px solid #eee3d5;position:static}
#tfc.tfc-wizard .steps{padding-bottom:18px}
#tfc.tfc-wizard .tfc-step-controls .button{font-size:.9375rem;line-height:1.3;padding:10px 12px;border-radius:12px}
#tfc.tfc-wizard .tfc-step-status{font-size:.875rem}
#tfc.tfc-wizard .tfc-booking-note{margin:0 22px 14px;padding:10px 12px;font-size:.875rem;line-height:1.45;border-left-width:3px}
#tfc.tfc-wizard>p:last-child{padding:0 22px 18px;font-size:.875rem;line-height:1.45}
@media(max-width:420px){#tfc.tfc-wizard .tfc-guide-heading{padding:16px}#tfc.tfc-wizard .tfc-step-navigation{padding:12px 12px 0}#tfc.tfc-wizard .steps{padding:12px 16px 0}#tfc.tfc-wizard .tfc-step-controls{padding:14px 16px}#tfc.tfc-wizard .tfc-booking-note{margin:0 16px 12px}#tfc.tfc-wizard>p:last-child{padding:0 16px 16px}}

/* Choose a club first; its details personalise all four payment steps. */
#tfc .tfc-club-choice{margin:16px 22px 0;padding:14px 16px;border:1px solid #edbd7b;border-left:5px solid #ed942b;border-radius:16px;background:linear-gradient(110deg,#ffe3bb,#fff9f0);box-shadow:0 4px 12px #7c4c1307}
#tfc .tfc-club-choice label{font-size:1.125rem;line-height:1.35;font-weight:850;color:#19232d;margin:0 0 10px}
#tfc .tfc-club-choice select{font:inherit;font-size:1rem;font-weight:650;min-height:48px;width:100%;border:1px solid #ca9860;border-radius:11px;padding:10px 34px 10px 12px;background:#fff;color:#19232d;box-shadow:0 2px 5px #76430e08;scroll-margin-top:150px}
#tfc .tfc-club-choice select:focus-visible{outline:3px solid #a85c13;outline-offset:3px}
#tfc.tfc-wizard .provider-selector{margin-top:0}
@media(max-width:420px){#tfc .tfc-club-choice{margin:14px 16px 0;padding:12px;border-radius:13px}}

#tfc.tfc-wizard .steps{padding-bottom:18px}

/* Use one measured header offset, rather than adding two scroll clearances. */
html:has(.page-prices){scroll-padding-top:calc(var(--tfc-header-height,90px) + 8px)}
#tfc.tfc-guide,#tfc .tfc-step-navigation{scroll-margin-top:0}
@media(max-width:700px){
 #tfc.tfc-wizard .tfc-guide-heading{padding:12px 16px}
 #tfc.tfc-wizard .tfc-guide-heading h2{margin-bottom:2px}
 #tfc .tfc-club-choice{margin:8px 16px 0;padding:10px 12px}
 #tfc .tfc-club-choice label{margin-bottom:6px}
 #tfc.tfc-wizard .tfc-step-navigation{padding:8px 12px 0;gap:2px}
 #tfc.tfc-wizard .tfc-step-button{gap:3px;padding:3px;min-height:54px}
 #tfc.tfc-wizard .tfc-step-controls{padding:8px 16px;gap:8px}
 #tfc.tfc-wizard .steps{padding:10px 16px 12px}
 #tfc.tfc-wizard .steps h3{margin-bottom:6px}
 #tfc.tfc-wizard .steps p{margin-bottom:10px}
 #tfc.tfc-wizard .tfc-setting-action .button{padding:10px 14px;min-height:44px}
 #tfc.tfc-wizard .tfc-booking-note{margin:0 16px 10px;padding:8px 12px}
 #tfc.tfc-wizard>p:last-child{padding:0 16px 12px}
}

/* Service pages share the rounded orange and white treatment. */
.poster-discover{display:block;margin-top:14px;padding-top:12px;border-top:1px solid #a4612338;font-size:.9rem;font-weight:800}
.poster:hover,.poster:focus-visible{transform:translateY(-3px);box-shadow:0 10px 24px #a85b2026}
.poster:focus-visible,.club-page-links a:focus-visible{outline:3px solid var(--blue);outline-offset:4px}
.club-hero{background:linear-gradient(125deg,#fff 30%,#fff1dc);color:var(--ink);padding-block:40px}
.club-hero-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:40px;align-items:center}
.club-hero h1{font-size:clamp(2.1rem,4vw,3.4rem);line-height:1.1}
.club-hero .eyebrow{color:#775021;margin:20px 0 14px}
.club-hero .lead{color:var(--muted);font-size:1.1rem}
.club-hero .play-art{margin:0}
.club-back{font-size:.95rem;font-weight:700;color:#555}
.club-next{border:1px solid #efd5b0;border-radius:22px;padding:28px;background:linear-gradient(125deg,#fff7e9,#fff);box-shadow:var(--shadow)}
.club-next h2{margin-bottom:12px}
.club-explore-title{margin-top:32px}
.club-page-links{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.club-page-links a{padding:16px;border:1px solid #e9d2b1;border-radius:14px;background:#fff;font-weight:800;text-decoration:none;line-height:1.4;display:flex;align-items:center}
.club-page-links a:hover,.club-page-links a[aria-current=page]{background:linear-gradient(130deg,#ffe7c1,#ffaf40)}
@media(max-width:700px){.club-hero{padding-block:24px}.club-hero-grid{grid-template-columns:1fr;gap:24px}.club-page-links{grid-template-columns:repeat(2,minmax(0,1fr))}.club-next{padding:20px}.club-page-links a{padding:14px}.club-hero .actions{gap:10px}}

/* Richer Kids Club palette. Explicit Design Studio surface choices still take precedence. */
.site-design{--orange:#ff9418;--cyan:#63b7c2;--brand-purple:#8977ad;--ink:#14212b}
.site-design .home-hero{background:radial-gradient(ellipse at 95% 10%,#63b7c224,transparent 48%),linear-gradient(115deg,#fff 38%,#fff0d8)}
.site-design .poster-section{background:#fff;padding-block:24px 32px}
.site-design .poster{background:linear-gradient(135deg,#ffd32e,#ff971a);border:1px solid #e88a14;color:#14212b;box-shadow:0 8px 0 #f4931b24,0 15px 32px #1721280c;overflow:hidden}
.site-design .poster:nth-child(2){background:linear-gradient(135deg,#a7d8dc,#75b9c5);border-color:#00aabf}
.site-design .poster:nth-child(3){background:linear-gradient(135deg,#8a79ad,#6b598e);border-color:#6b598e;color:#fff}
.site-design .poster:nth-child(4){background:linear-gradient(135deg,#ffb52b,#ff7525);border-color:#eb7625}
.site-design .poster h3,.site-design .poster p,.site-design .poster .poster-discover{color:inherit}
.site-design .poster:nth-child(3) .poster-discover{border-color:#ffffff55}
.site-design .poster:nth-child(3) .underline{background:#ffce29}
.site-design .poster-icon{background:#ffffff24;border-radius:50%;box-sizing:content-box;padding:8px}
.site-design .poster:hover{box-shadow:0 10px 0 #14212b12,0 20px 38px #14212b19}
.site-design .button.yellow{background:linear-gradient(115deg,#ffbc25,#ff9016);color:#14212b;box-shadow:0 5px 14px #e780191a}
.site-design .button.cyan{background:#63b7c2;color:#14212b}
.site-design .tag,.site-design .location{background:#ffb224;color:#14212b}
.site-design .page-hero{background:linear-gradient(115deg,#14212b,#213f49);color:#fff;border-bottom:4px solid #63b7c2}
.site-design .page-hero h1,.site-design .page-hero .lead,.site-design .page-hero p,.site-design .page-hero .back{color:#fff}
.site-design .club-hero{background:radial-gradient(ellipse at 100% 0,#63b7c228,transparent 60%),linear-gradient(120deg,#fff 30%,#ffe5b8);border-bottom:3px solid #ffad22}
.site-design .outlined{border-color:#d7e0e4;box-shadow:0 6px 0 #63b7c2,0 16px 35px #1529360b}
.site-design .care-card{border-top-color:#ffad22}.site-design .care-card:nth-child(2){border-top-color:#63b7c2}.site-design .care-card:nth-child(3){border-top-color:#8977ad}.site-design .care-card:nth-child(4){border-top-color:#ff8e20}
.site-design .care-card .label{background:#ffbb25;color:#14212b}.site-design .care-card:nth-child(2) .label{background:#63b7c2}.site-design .care-card:nth-child(3) .label{background:#8977ad;color:#fff}
.site-design .setting-card:not(.with-photo) .card-top{background:linear-gradient(120deg,#ffbb27,#ff8318);color:#14212b}
.site-design .setting-card.tone-1:not(.with-photo) .card-top{background:linear-gradient(120deg,#aad8dc,#83bcc7);color:#10232e}
.site-design .setting-card.tone-2:not(.with-photo) .card-top{background:linear-gradient(120deg,#8978a8,#63517f);color:#fff}
.site-design .setting-summary{border-left:5px solid #ff9c1a;background:linear-gradient(110deg,#fff5df,#fff 65%)}
.site-design .setting-entry:nth-child(3n + 2) .setting-summary{border-left-color:#4c9cae}.site-design .setting-entry:nth-child(3n) .setting-summary{border-left-color:#8977ad}
.site-design .holiday-card-heading{background:linear-gradient(115deg,#ffbd2b,#ff8c19);color:#14212b}
.site-design .holiday-price-card:nth-child(3n + 2) .holiday-card-heading{background:linear-gradient(115deg,#b0dadc,#84bfca)}
.site-design .holiday-price-card:nth-child(3n) .holiday-card-heading{background:linear-gradient(115deg,#8978a8,#63517f);color:#fff}
.site-design .tfc-guide-heading{background:linear-gradient(115deg,#ffd44b,#ff9418);color:#14212b}
.site-design footer{border-image:linear-gradient(90deg,#ff9a1b 0 45%,#63b7c2 45% 80%,#8977ad 80%) 1;border-top:5px solid;background:#f0f5f5}
@media(prefers-reduced-motion:no-preference){.site-design .poster{transition:transform .2s,box-shadow .2s}}

/* Consistent neutral location labels separate town from setting name. */
.site-design .setting-card .venue-topline .location,.site-design .holiday-card-heading .location{background:#ffffffec!important;color:#243540!important;padding:6px 11px;border:1px solid #ffffffaa;border-radius:9px;font-size:.78rem;line-height:1.3;letter-spacing:.04em;text-transform:uppercase;box-shadow:none}
.site-design .setting-card .card-top strong,.site-design .holiday-card-heading .holiday-venue-name{color:inherit}
.site-design .setting-card:not(.with-photo) .card-top{background:linear-gradient(115deg,#fff1d6,#ffd59b);color:#22313c}
.site-design .setting-card.tone-1:not(.with-photo) .card-top{background:linear-gradient(115deg,#e1f1f2,#bcdde0);color:#22313c}
.site-design .setting-card.tone-2:not(.with-photo) .card-top{background:linear-gradient(115deg,#eee9f5,#d8cce8);color:#22313c}
.site-design .setting-card .card-top:after{height:3px;background:#de982e}
.site-design .setting-card.tone-1 .card-top:after{background:#5b9ba6}.site-design .setting-card.tone-2 .card-top:after{background:#8977ad}

/* Kids Club character: compact graffiti mark and restrained paint accents. */
.site-design .site-header .brand{width:154px;height:95px;object-fit:contain;filter:drop-shadow(0 3px 2px #18252c14)}
.site-design .header-row{min-height:108px;padding-block:6px}
.site-design .site-header::after{content:"";display:block;height:3px;background:linear-gradient(90deg,#58b6c7 0 22%,#ffb626 22% 69%,#ef782a 69% 100%)}
.site-design .tag{border-radius:7px 3px 9px 4px;transform:rotate(-1.4deg);box-shadow:3px 3px 0 #172a3514}
.site-design .underline{height:6px;border-radius:70% 20% 65% 25%;transform:rotate(-2deg)}
.site-design .poster{position:relative}
.site-design .poster::after{content:"";position:absolute;right:-10px;top:8px;width:82px;height:70px;background:radial-gradient(circle at 60% 40%,#ffffff55 0 12px,transparent 13px),radial-gradient(circle at 30% 25%,#ffffff45 0 4px,transparent 5px),radial-gradient(circle at 80% 80%,#ffffff55 0 5px,transparent 6px),radial-gradient(circle at 20% 70%,#ffffff40 0 2px,transparent 3px);pointer-events:none}
.site-design .poster .underline{width:48px;transform:rotate(-4deg)}
.site-design .page-hero{position:relative;isolation:isolate}
.site-design .page-hero::after{content:"";position:absolute;right:0;top:0;width:min(22%,170px);height:100%;z-index:-1;opacity:.35;background:radial-gradient(circle at 90% 18%,#63b7c2 0 8px,transparent 9px),radial-gradient(circle at 72% 30%,#63b7c2 0 3px,transparent 4px),linear-gradient(110deg,transparent 45%,#63b7c226 46% 55%,transparent 56% 62%,#ffad2222 63% 70%,transparent 71%)}
@media(max-width:700px){.site-design .site-header .brand{width:124px;height:76px}.site-design .header-row{min-height:88px;padding-block:5px}.site-design .poster::after{width:56px;opacity:.7}}

/* Venue cards: actual dates first, then optional time and a clear booking destination. */
.venue-calendar{background:linear-gradient(120deg,#fff2d9,#fffaf1);border:1px solid #efd8b1;border-radius:16px;padding:17px;margin-bottom:20px}
.venue-calendar-label{font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#795019}
.venue-calendar h3{font-size:20px;line-height:1.3;margin:5px 0 14px;letter-spacing:-.02em;color:#19232d}
.venue-calendar-days{display:grid;grid-template-columns:repeat(auto-fit,minmax(62px,1fr));gap:7px;padding:0;margin:0 0 13px;list-style:none}
.venue-calendar-days time{display:flex;flex-direction:column;align-items:center;gap:3px;background:#fff;border:1px solid #ead8bc;border-radius:10px;padding:9px 4px;font-size:14px;line-height:1.3;color:#26313d}
.venue-calendar-days strong{font-size:13px;color:#765018}.venue-calendar-days span{white-space:nowrap;font-weight:800}
.venue-plan-link{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:44px;font-size:14px;font-weight:800;line-height:1.4;color:#68400b;border-top:1px solid #ead8bc;padding-top:10px}
.venue-extras-heading h3{font-size:18px;margin:0 0 5px;letter-spacing:-.01em}.venue-extras-heading p{font-size:13px;line-height:1.5;color:#59616b;margin:0 0 8px}
.venue-booking-note{font-size:12px;line-height:1.5;color:#59616b;text-align:center;margin:10px 0 0}
.venue-dates-pending{font-size:14px;line-height:1.5}
@media(max-width:700px){.holiday-disclosure-card .holiday-card-content{padding:16px}.venue-calendar{padding:13px;border-radius:13px}.venue-calendar-days{grid-template-columns:repeat(3,minmax(0,1fr))}.venue-calendar h3{font-size:19px}.holiday-extras li{padding:10px 0}.holiday-card-content>.button{padding-inline:12px;line-height:1.4}.holiday-disclosure-card .holiday-day-price{padding:16px}.holiday-expand-label{font-size:16px}body:has(.holiday-disclosure-card[open]) .ph-launch{display:none!important}}
