@font-face{font-family:Poppins;src:url('assets/poppins-regular.woff2') format('woff2');font-weight:400;font-display:swap}@font-face{font-family:Poppins;src:url('assets/poppins-600.woff2') format('woff2');font-weight:600 800;font-display:swap}
:root{--red:#c9051d;--ink:#181818;--muted:#555;--line:#dedbd9;--paper:#f6f5f3}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0;color:var(--ink);background:white;font:400 15px/1.75 Poppins,Arial,sans-serif}a{color:inherit;text-underline-offset:4px}button,input{font:inherit}button,a,summary{-webkit-tap-highlight-color:transparent}:focus-visible{outline:3px solid #1961ae;outline-offset:5px}h1,h2,h3,p,figure{margin:0}h1,h2,h3{font-weight:600;line-height:1.22;letter-spacing:-.035em}h1{font-size:clamp(30px,3.45vw,48px);max-width:660px}h2{font-size:clamp(28px,3vw,38px)}h3{font-size:21px}.container{width:min(1180px,calc(100% - 80px));margin:auto}.header{border-bottom:1px solid #eee}.header-inner{height:90px;display:flex;align-items:center;justify-content:space-between;gap:24px}.header img{display:block;object-fit:contain}.header span{font-size:13px;color:var(--muted)}.hero{display:grid;grid-template-columns:1.06fr 1fr;gap:54px;align-items:center;padding-block:48px 60px}.hero-copy{grid-column:1;grid-row:1}.hero-photo{grid-column:2;grid-row:1;align-self:center;background:var(--paper)}.hero-photo img{display:block;width:100%;height:auto}.hero-photo figcaption{padding:13px 18px;font-size:12px;color:#444;border-bottom:3px solid var(--red)}.eyebrow{font-size:11px;line-height:1.6;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--red);margin-bottom:19px}.hero-support{font-size:18px;margin-top:23px}.offer{margin-top:22px;font-size:16px;line-height:1.65}.offer strong{font-size:21px;color:var(--red)}.actions{display:flex;gap:12px;margin-top:24px}.button{display:inline-flex;align-items:center;justify-content:center;gap:28px;min-height:52px;border:1px solid var(--red);padding:12px 24px;font-size:14px;font-weight:600;text-decoration:none;border-radius:3px;cursor:pointer;line-height:1.4}.primary{background:var(--red);color:white}.primary:hover{background:#a70418}.secondary{background:white;color:var(--red)}.secondary:hover{background:#fff1f3}.hero-detail{margin-top:20px;font-size:12px;color:var(--muted)}.programme{background:var(--paper);padding-block:64px}.programme-grid{display:grid;grid-template-columns:1fr 1fr;gap:90px}.programme-grid>div>p:not(.eyebrow){margin-top:22px;max-width:500px}.benefits{list-style:none;padding:0;margin:24px 0 0}.benefits li{position:relative;padding-left:26px;margin-top:9px}.benefits li:before{content:'✓';color:var(--red);position:absolute;left:0;font-weight:600}.session-info{padding:28px 32px;background:white;border-top:3px solid var(--red)}dl{margin:18px 0 0}dl>div{display:grid;grid-template-columns:96px 1fr;gap:12px;padding:10px 0;border-bottom:1px solid #eee;font-size:13px}dt{color:#666}dd{margin:0}dd strong{font-weight:600}.small{font-size:11px;line-height:1.7;color:var(--muted)}.info-note{margin-top:16px!important}.faq{display:grid;grid-template-columns:.8fr 1.2fr;gap:90px;padding-block:72px}.faq-intro p:last-child{color:var(--muted);margin-top:22px}.faq-list{border-top:1px solid var(--line)}details{border-bottom:1px solid var(--line)}summary{list-style:none;font-size:14px;font-weight:600;line-height:1.6;cursor:pointer;padding:19px 34px 19px 0;position:relative}summary::-webkit-details-marker{display:none}summary:after{content:'+';position:absolute;right:4px;top:15px;color:var(--red);font-size:24px;font-weight:400}details[open] summary:after{content:'−'}details p{font-size:13px;line-height:1.8;color:var(--muted);padding:0 26px 20px 0}.booking{background:var(--paper);padding-block:56px}.booking-intro{text-align:center;max-width:680px;margin:auto}.booking-intro>p:last-child{margin-top:18px}.booking-embed{margin:30px auto 0;max-width:900px;background:white}.booking-embed iframe{display:block;border:0;width:100%;height:900px}.booking-link{text-align:center;font-size:13px;margin-top:20px}.booking-link a{color:var(--red);font-weight:600}footer{padding-block:26px}.footer-inner{display:flex;align-items:center;justify-content:space-between;gap:20px;font-size:10px;color:var(--muted)}.footer-inner>div{display:flex;gap:24px;flex-wrap:wrap}.footer-inner button{border:0;background:none;padding:0;color:inherit;cursor:pointer;text-decoration:underline;text-underline-offset:4px}.skip-link{position:absolute;top:-100px;background:white;padding:10px;z-index:10}.skip-link:focus{top:10px}
@media(min-width:1450px){.hero{padding-block:60px 72px}}@media(max-width:1000px){.container{width:calc(100% - 48px)}.hero{gap:32px}.programme-grid,.faq{gap:40px}.session-info{padding:24px}.actions .button{padding-inline:18px;gap:18px}h1{font-size:34px}.hero-support{font-size:16px}.offer strong{font-size:19px}}@media(max-width:680px){.container{width:calc(100% - 36px)}.header-inner{height:72px;gap:14px}.header img{width:147px;height:auto}.header span{font-size:10px;max-width:110px;text-align:right;line-height:1.5}.hero{display:flex;flex-direction:column;gap:25px;padding-block:22px 38px;align-items:stretch}.hero-photo{align-self:center;width:min(100%,320px)}.hero-photo img{width:100%;height:auto}.hero-photo figcaption{font-size:10px;padding:8px 10px}.hero-copy .eyebrow{margin-bottom:12px;font-size:10px;letter-spacing:.08em}h1{font-size:30px;line-height:1.25;letter-spacing:-.04em}.hero-support{margin-top:17px;font-size:15px}.offer{margin-top:16px;font-size:14px}.offer strong{font-size:19px}.actions{margin-top:19px;gap:10px}.actions .button{flex:1;padding-inline:14px;gap:14px}.hero-detail{font-size:11px;margin-top:16px}.programme{padding-block:40px}.programme-grid,.faq{grid-template-columns:1fr;gap:30px}.programme-grid>div>p:not(.eyebrow){font-size:14px}.benefits{font-size:13px}.session-info{padding:22px 20px}dl>div{grid-template-columns:80px 1fr;font-size:12px}.faq{padding-block:42px}.faq-intro{max-width:440px}.faq-intro p:last-child{font-size:13px;margin-top:16px}summary{font-size:13px;padding-block:17px}.booking{padding-block:40px}.booking-intro>p:last-child{font-size:13px}.booking-link{font-size:12px}.footer-inner{align-items:start;flex-direction:column;gap:14px}.footer-inner>div{gap:20px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}


.session-cta{margin-top:20px;width:100%}

.cookie-panel{position:fixed;z-index:100;right:20px;bottom:20px;width:420px;max-width:calc(100% - 32px);max-height:calc(100dvh - 32px);overflow:auto;background:#fff;border:1px solid var(--line);border-radius:5px;box-shadow:0 5px 28px #0002;padding:18px 20px;color:var(--ink)}
.cookie-panel[hidden]{display:none}
.cookie-header{display:flex;align-items:center;justify-content:space-between;gap:12px}
.cookie-header h2{font-size:18px;letter-spacing:-.02em}
.cookie-header button{display:grid;place-items:center;width:32px;height:32px;flex-shrink:0;border:0;background:none;cursor:pointer;font-size:26px;line-height:1;color:#555}
.cookie-panel>p{font-size:12px;line-height:1.6;margin-top:8px}
.cookie-option{display:flex;align-items:center;gap:10px;font-size:13px;margin-top:12px;min-height:28px;cursor:pointer}
.cookie-option input{width:19px;height:19px;margin:0;accent-color:var(--red)}
.cookie-actions{display:flex;flex-direction:column;gap:7px;margin-top:12px}
.cookie-actions .button{width:100%;min-height:40px;padding:9px 16px;font-size:12px}
.cookie-panel>.cookie-note{font-size:10px;line-height:1.6;margin-top:12px;color:var(--muted)}
body.cookie-panel-open{padding-bottom:360px}
@media(max-width:680px){.cookie-panel{left:12px;right:12px;bottom:max(12px,env(safe-area-inset-bottom));width:auto;max-width:none;max-height:55dvh;padding:10px 16px}.cookie-header h2{font-size:17px}.cookie-panel>p{font-size:11px;margin-top:5px}.cookie-option{margin-top:8px;font-size:12px}.cookie-actions{margin-top:8px;gap:5px}.cookie-panel>.cookie-note{margin-top:6px}}

@media(max-width:680px){.cookie-header button{width:28px;height:28px}}

.cookie-panel:has(#marketing-consent:checked) #save-cookies{background:var(--red);color:#fff}
.cookie-panel:has(#marketing-consent:checked) #save-cookies:hover{background:#a70418}

.arrow-icon{display:inline-block;flex:none;vertical-align:middle}.session-info{scroll-margin-top:24px}
