@font-face{font-family:Manrope;src:url('assets/fonts/Manrope-Variable.ttf') format('truetype');font-weight:200 800;font-style:normal;font-display:swap}
@font-face{font-family:'Barlow Condensed';src:url('assets/fonts/BarlowCondensed-Medium.ttf') format('truetype');font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:'Barlow Condensed';src:url('assets/fonts/BarlowCondensed-Bold.ttf') format('truetype');font-weight:700;font-style:normal;font-display:swap}
:root{font-family:Manrope,Arial,sans-serif}
.stage{background:radial-gradient(ellipse at 0 30%,#164934 0,#08291f 70%)}
.masthead{top:58px;gap:40px}.masthead img{width:244px;height:75px}.place{font-size:20px;font-weight:500;letter-spacing:.07em;color:#b9cbb0}
.eyebrow{font-weight:600;letter-spacing:.11em}.footer{font-size:15px;color:#9eb69b}.footer>span{width:600px}
.cta{font-weight:500;font-size:25px}.terms{font-size:21px;line-height:1.32}

/* The campaign has one photographic field that blends into the brand colour. */
.art .photo{left:600px;right:0;top:0;bottom:216px;border-radius:0;box-shadow:none;background-position:center;mask-image:linear-gradient(90deg,transparent 0%,#000 33%,#000 100%);-webkit-mask-image:linear-gradient(90deg,transparent 0%,#000 33%,#000 100%)}
.art .photo:after{background:linear-gradient(180deg,transparent 55%,#08291f22 75%,#08291f 100%)}
.art .shade{display:block;position:absolute;inset:0 0 216px;background:linear-gradient(90deg,#08291f 0%,#08291ff5 29%,#08291f6b 48%,transparent 72%)}
.art .copy{left:94px;top:224px;width:940px}
.art .eyebrow{font-size:22px;line-height:1.3;letter-spacing:.14em;margin-bottom:30px;color:#c5e59d}
.art h1{font-family:'Barlow Condensed',Manrope,sans-serif;font-weight:700;font-size:112px;line-height:.98;letter-spacing:-.018em;margin-bottom:32px;text-wrap:initial;max-width:920px}
.art .subtitle{font-size:32px;line-height:1.35;color:#dfebd5;font-weight:500;margin-bottom:22px}
.art .highlight{font-family:'Barlow Condensed',Manrope,sans-serif;font-weight:700;font-size:76px;line-height:1.04;letter-spacing:-.015em;margin:25px 0 24px;color:#c7f276}
.art .detail{font-size:30px;line-height:1.4;color:#c6d9bc;max-width:880px}
.art .utility{border-color:#abc99240}
.art .utility-copy{max-width:1135px}
.art .cta{font-size:25px;font-weight:600;color:#e7f0dd}
.art .terms{margin-top:12px;color:#a8c19d}

/* The original autumn photograph carries the energy; the compact headline
   and oversized price establish the reading order for passing visitors. */
.art-training h1{margin-bottom:34px}
.title-line{display:block}
.art-training .title-line-1{font-size:154px;line-height:.96;font-weight:700;color:#f3f6e9}
.art-training .title-line-2{font-size:99px;line-height:1.06;font-weight:500;color:#e0eacc}
.price-block{margin-top:14px}
.price-intro{font-size:30px;line-height:1.3;font-weight:500;color:#d6e5c9}
.price-main{display:flex;align-items:baseline;gap:17px;line-height:1;margin:4px 0 0}
.price-amount{font-family:'Barlow Condensed',Manrope,sans-serif;font-weight:700;font-size:174px;letter-spacing:-.035em;line-height:1;color:#c7f276}
.price-unit{font-family:'Barlow Condensed',Manrope,sans-serif;font-size:83px;font-weight:500;color:#c7f276}
.price-cadence{font-size:24px;font-weight:500;color:#c7daba;margin-top:3px;letter-spacing:.015em}
.art-training .photo{background-position:62% center}
.art-people h1{font-size:108px}.art-people .highlight{font-size:80px}
.art-duo h1{font-size:115px}.art-duo .highlight{font-family:Manrope,Arial,sans-serif;font-size:38px;font-weight:650;letter-spacing:-.035em}
.art-seasonal h1{font-size:132px}.art-seasonal .highlight{font-family:Manrope,Arial,sans-serif;font-size:43px;font-weight:650;line-height:1.5;letter-spacing:-.03em}
.art-documentary h1{font-size:101px}.art-documentary .highlight{font-size:67px}
.art-referral h1{font-size:103px}.art-referral .highlight{font-size:67px}
.art-studio h1{font-size:132px}.art-studio .photo{background-position:65% center}

/* Information views use the same text family with more restrained headings. */
.journey h1,.journey.split h1{font-size:63px;letter-spacing:-.045em;font-weight:750}
.journey .entry-title{font-size:29px;font-weight:750}.journey.split .entry-title{font-size:33px;line-height:1.15;letter-spacing:-.025em}
.journey .entry-sub{font-size:22px}.journey.split .entry-sub{font-size:24px}
.journey.few .entry-title{font-size:45px}.journey.few .entry-sub{font-size:28px}
.journey .entry-label{font-weight:750}.journey.split .entry-label{font-size:40px}
.journey .photo{opacity:.085}
.timetable h1{font-size:56px;font-weight:750;letter-spacing:-.04em}
.timetable .photo{top:0;right:0;bottom:216px;left:1300px;border-radius:0;box-shadow:none;mask-image:linear-gradient(90deg,transparent,#000 40%);-webkit-mask-image:linear-gradient(90deg,transparent,#000 40%)}
.timetable .photo:after{background:linear-gradient(180deg,transparent 70%,#08291f)}
.timetable .entry-title{font-size:28px;font-weight:700}.timetable .entry-sub{font-size:22px}
.opening h1{font-size:70px;letter-spacing:-.045em;font-weight:750}.studio-card h2{font-size:42px;font-weight:700}
.studio-card>img{border-radius:0;mask-image:linear-gradient(180deg,#000 85%,transparent);-webkit-mask-image:linear-gradient(180deg,#000 85%,transparent)}
.hours-label{font-size:23px}.hours-time{font-size:33px;font-weight:700;letter-spacing:-.025em}

.art{background:#08291f}
.art-referral .utility-note{font-size:23px;max-width:1080px}

/* One continuous month: each date, course and team stays together. */
.journey.month-grid .copy{top:185px}
.journey.month-grid h1{font-size:63px;margin-bottom:0}
.journey.month-grid .eyebrow{font-size:24px;margin-bottom:17px}
.journey.month-grid .entries{grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-rows:184px;gap:18px 44px;margin-top:35px}
.journey.month-grid .entry{grid-template-columns:1fr;align-content:start;gap:12px;padding:16px 0 0;position:relative}
.journey.month-grid .entry-label{font-family:'Barlow Condensed',Manrope,sans-serif;font-size:42px;line-height:1;letter-spacing:0;color:#c7f276;padding:0}
.journey.month-grid .entry-title{font-size:29px;line-height:1.15;font-weight:750;letter-spacing:-.025em}
.journey.month-grid .entry-sub{font-size:22px;line-height:1.3;margin-top:8px;color:#bdd2b4}
.journey.month-grid .utility{bottom:55px;height:65px;border:0}
.journey.month-grid .utility-copy{top:9px}
.journey.month-grid .cta{font-size:25px;color:#bad3a9}
.page-marker{position:absolute;right:0;top:0;font-size:27px;font-weight:700;color:#c7f276}
.opening.no-utility .studio-grid{margin-top:44px}
.opening.no-utility .studio-card>img{height:220px;margin-bottom:26px}
.opening.no-utility .studio-hours{margin-bottom:24px}
.timetable.no-utility .photo{bottom:90px}

/* Campaign board: one complete BACK TO STRONG frame with image, prices,
   scheduled info evenings and a restrained QR card. */
.campaign .photo{left:950px;right:0;top:95px;bottom:210px;border-radius:18px;mask-image:linear-gradient(90deg,transparent 0%,#000 28%,#000 100%);-webkit-mask-image:linear-gradient(90deg,transparent 0%,#000 28%,#000 100%)}
.campaign .photo:after{background:linear-gradient(180deg,transparent 60%,#08291fdd 100%)}
.campaign .shade{display:block;position:absolute;inset:90px 0 205px;background:linear-gradient(90deg,#08291f 0%,#08291ff4 31%,#08291f75 57%,transparent 86%)}
.campaign .copy{left:94px;top:158px;width:1120px;z-index:3}
.campaign .eyebrow{font-size:19px;line-height:1.2;letter-spacing:.10em;margin:0 0 12px;color:#d2eeaa}
.campaign h1{font-size:82px;line-height:.88;margin:0 0 12px;letter-spacing:-.04em}
.campaign .title-line-1{font-family:'Barlow Condensed',Manrope,sans-serif;font-size:132px;line-height:.82;color:#f3f6e9}
.campaign .title-line-2{font-family:'Barlow Condensed',Manrope,sans-serif;font-size:90px;line-height:.94;color:#c7f276}
.campaign .subtitle{font-size:28px;line-height:1.15;margin:0 0 8px}
.campaign .highlight{font-size:25px;line-height:1.15;margin:0 0 8px;color:#c7f276;letter-spacing:-.02em}
.campaign .detail{font-size:18px;line-height:1.28;margin:0 0 10px;color:#d3e1cb}
.campaign-prices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;max-width:1010px;margin:8px 0 11px}
.campaign-price{display:grid;grid-template-columns:1fr auto;grid-template-rows:auto auto;gap:1px 12px;align-items:center;padding:10px 14px;border:1px solid #c7f27650;border-radius:8px;background:#0a2a1fe8;box-shadow:inset 0 1px #ffffff10}
.campaign-price-label{grid-column:1;font-size:11px;line-height:1.2;color:#c4d6b8;font-weight:700;letter-spacing:.075em}
.campaign-price-amount{grid-column:2;grid-row:1/3;font-family:'Barlow Condensed',Manrope,sans-serif;color:#c7f276;font-size:40px;line-height:1;white-space:nowrap}
.campaign-price-note{grid-column:1;font-size:12px;color:#dce7d5}
.campaign .entries-label{font-size:12px;letter-spacing:.1em;font-weight:800;color:#c7f276;margin:4px 0 7px}
.campaign .entries{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:0;max-width:1090px}
.campaign .entry{display:grid;grid-template-columns:58px 1fr;align-content:start;gap:4px 8px;padding:8px 9px;border:1px solid #d8e7cc25;border-left:2px solid #c7f276;border-radius:6px;background:#082219e8}
.campaign .entry-type{grid-column:1/-1;font-size:9px;letter-spacing:.12em;color:#c7f276;font-weight:800}
.campaign .entry-label{font-size:18px;line-height:1.1}
.campaign .entry-title{font-size:14px;line-height:1.18}
.campaign .entry-sub{font-size:11px;line-height:1.22;margin-top:3px;color:#b9cdb1}
.campaign .entry-empty{grid-column:1/-1;font-size:17px;color:#c8d9bd;margin:6px 0}
.qr-card{position:absolute;z-index:6;right:96px;bottom:188px;width:208px;padding:13px 13px 12px;text-align:center;border:1px solid #e4f1d466;border-radius:13px;background:linear-gradient(145deg,#c7f276,#b2d965);color:#08291f;box-shadow:0 18px 48px #0006,inset 0 1px #f5ffde;display:grid;justify-items:center;gap:7px}
.qr-card img{display:block;width:154px;height:154px;object-fit:contain;border-radius:7px;box-shadow:0 3px 10px #08291f25}
.qr-caption{font-size:11px;letter-spacing:.11em;font-weight:900}
.qr-label{font-size:10px;line-height:1.2;color:#214832}

/* All November specials fit together. Their type and date read first at TV distance. */
.journey.month-grid .photo{opacity:.18;background-position:center 40%}
.journey.month-grid .copy{top:153px;left:94px;width:1732px}
.journey.month-grid .eyebrow{font-size:22px;line-height:1.2;margin-bottom:10px;letter-spacing:.12em}
.journey.month-grid h1{font-size:57px;line-height:1.02;margin-bottom:2px}
.journey.month-grid .entries{grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-rows:148px;gap:10px 17px;margin-top:15px}
.journey.month-grid .entry{display:grid;grid-template-columns:90px 1fr;grid-template-rows:auto 1fr;align-content:start;gap:4px 9px;padding:9px 11px;border:1px solid #c7f27636;border-left:3px solid #c7f276;border-radius:7px;background:linear-gradient(130deg,#0c3024ee,#0a241bea);box-shadow:0 6px 18px #0002}
.journey.month-grid .entry-type{grid-column:1/-1;display:inline-flex;width:max-content;padding:3px 6px;border-radius:3px;background:#c7f276;color:#09271d;font-size:9px;font-weight:900;letter-spacing:.11em}
.journey.month-grid .entry-label{grid-column:1;font-family:'Barlow Condensed',Manrope,sans-serif;font-size:29px;line-height:1;color:#c7f276;letter-spacing:0}
.journey.month-grid .entry-content{grid-column:2;grid-row:2}
.journey.month-grid .entry-title{font-size:19px;line-height:1.13;font-weight:800;letter-spacing:-.02em}
.journey.month-grid .entry-sub{font-size:13px;line-height:1.25;margin-top:5px;color:#bed1b5;white-space:pre-line}
.journey.month-grid .utility{bottom:47px;height:57px;border-top:1px solid #bdd59b50}
.journey.month-grid .utility-copy{top:14px}
.journey.month-grid .cta{font-size:20px;color:#d6e5cc}

/* Advent campaign: a full-size numbered door reveals the daily website offer. */
.advent-door{background:radial-gradient(ellipse at 34% 45%,#24583c 0%,#123b2b 42%,#08291f 78%)}
.advent-layout{position:absolute;inset:0;display:grid;grid-template-columns:47% 53%;align-items:center;padding:76px 94px 92px;gap:42px;overflow:hidden;background:radial-gradient(ellipse at 27% 52%,#d2a64b1c,transparent 37%)}
.advent-backdrop{position:absolute;inset:0;background-size:cover;background-position:center;opacity:.18;filter:saturate(.82)}
.advent-layout:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#08291fdd 0%,#08291f8a 48%,#08291fee 100%);pointer-events:none}
.advent-visual,.advent-offer-card{position:relative;z-index:1}
.advent-visual{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:16px 14px 0}
.advent-intro{text-align:center;max-width:770px;margin:0 auto 20px}
.advent-kicker{margin:0 0 12px;font-size:21px;font-weight:800;letter-spacing:.15em;color:#d9efaa;text-transform:uppercase}
.advent-title{font-family:'Barlow Condensed',Manrope,sans-serif;font-size:78px;line-height:.97;letter-spacing:-.015em;margin:0;color:#f7f6eb;text-wrap:balance}
.advent-description{font-size:28px;line-height:1.32;margin:12px auto 0;color:#e3ead9;max-width:720px}
.advent-door-object{position:relative;width:370px;height:475px;margin:0 auto;perspective:1500px;filter:drop-shadow(0 26px 36px #0008)}
.advent-door-object:before{content:'';position:absolute;inset:-32px -55px;border-radius:50%;background:radial-gradient(ellipse,#e8bf6540 0%,#e8bf6513 48%,transparent 74%);filter:blur(20px);opacity:.4;transition:opacity .8s ease}
.advent-door-face{position:absolute;inset:0;display:grid;place-items:center;border:12px solid #b38c48;border-radius:8px 8px 4px 4px;background:linear-gradient(90deg,#163d2c,#1d5138 15%,#17422f 86%,#0b2e21);box-shadow:inset 0 0 0 7px #e6c56a55,inset 0 12px 32px #ffffff13,inset 0 -20px 35px #020d0990,0 0 0 5px #14261d,0 24px 30px #0005;transform-origin:left center;transform:rotateY(0);transition:transform 1s cubic-bezier(.2,.78,.2,1),box-shadow 1s ease;backface-visibility:hidden;z-index:2}
.advent-door-face:before,.advent-door-face:after{content:'';position:absolute;left:27px;right:27px;border:2px solid #d6b56188;border-radius:5px;box-shadow:inset 0 0 0 3px #ffffff0d}
.advent-door-face:before{top:27px;bottom:50%}
.advent-door-face:after{top:52%;bottom:27px}
.advent-door-number{font-family:'Barlow Condensed',Manrope,sans-serif;font-size:212px;line-height:1;font-weight:700;color:#f5f0dc;text-shadow:0 5px 18px #0007;z-index:1}
.advent-door-face:focus{outline:none}
.advent-door-object:after{content:'';position:absolute;right:-12px;top:49%;width:18px;height:18px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#fff1a9,#c79b3f 55%,#65441c);box-shadow:0 1px 6px #0008;z-index:3}
.advent-playing .advent-door-face{animation:advent-open 17s linear both}
.advent-playing .advent-door-object:before{animation:advent-glow 17s linear both}
@keyframes advent-open{0%,8%{transform:rotateY(0);box-shadow:inset 0 0 0 7px #e6c56a55,0 24px 30px #0005}16%,94%{transform:rotateY(-67deg);box-shadow:inset 0 0 0 7px #e6c56a55,30px 20px 55px #0008}100%{transform:rotateY(0)}}
@keyframes advent-glow{0%,8%{opacity:.25}16%,93%{opacity:1}100%{opacity:.25}}
.advent-offer-card{align-self:center;min-height:620px;padding:54px 58px;border:1px solid #d9c27c4d;border-radius:26px;background:linear-gradient(135deg,#0a2c21f2,#102e23f7 55%,#163526f2);box-shadow:0 24px 70px #0005,inset 0 1px #ffffff12;display:flex;flex-direction:column;justify-content:center;opacity:0;transform:translateX(34px);animation:offer-reveal 17s linear both}
@keyframes offer-reveal{0%,13%{opacity:0;transform:translateX(34px)}21%,93%{opacity:1;transform:translateX(0)}100%{opacity:0;transform:translateX(0)}}
.advent-valid{display:inline-flex;align-self:flex-start;margin:0 0 27px;padding:10px 17px;border-radius:999px;background:#c6e887;color:#153826;font-weight:900;font-size:19px;letter-spacing:.1em}
.advent-price-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-bottom:24px}
.advent-price-grid.single{grid-template-columns:1fr}
.advent-price{min-height:190px;padding:25px 26px;border:1px solid #d7e4c432;border-radius:17px;background:linear-gradient(145deg,#1b4330,#0c2c20);display:flex;flex-direction:column;justify-content:center;gap:7px}
.advent-price-label{font-size:17px;font-weight:900;letter-spacing:.11em;color:#d1e5b4}
.advent-price-amount{font-family:'Barlow Condensed',Manrope,sans-serif;font-size:76px;line-height:1;color:#d0f08b;white-space:nowrap}
.advent-price-regular{font-size:21px;color:#d0d9c8}
.advent-detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:2px 0 0}
.advent-detail{padding:19px 20px;border-left:4px solid #c9e486;border-radius:4px 12px 12px 4px;background:#dce9cc12}
.advent-detail.wide{grid-column:1/-1}
.advent-detail-label{display:block;margin-bottom:7px;color:#d8edae;font-weight:900;font-size:16px;letter-spacing:.09em;text-transform:uppercase}
.advent-detail-grid.triple .advent-detail:last-child{grid-column:1/-1}
.advent-detail-value{display:block;font-size:28px;line-height:1.25;color:#f0f3e7}
.advent-validity{margin:23px 0 0;font-size:21px;line-height:1.3;color:#cfdbbf}
.advent-week .photo{inset:0;background-position:center 43%;opacity:.55;border-radius:0;box-shadow:none}
.advent-week .photo:after{background:linear-gradient(90deg,#08291ff2 0%,#08291fc7 48%,#08291f99 100%)}
.advent-week .shade{display:block;position:absolute;inset:0;background:linear-gradient(180deg,#08291f22,#08291f88)}
.advent-week-board{position:absolute;inset:75px 94px 100px;z-index:2;display:flex;flex-direction:column;justify-content:center}
.advent-week-kicker{font-size:24px;letter-spacing:.16em;font-weight:900;color:#d2ed9b;margin:0 0 12px}
.advent-week-title{font-family:'Barlow Condensed',Manrope,sans-serif;font-size:112px;line-height:.98;margin:0;color:#f4f3e8}
.advent-week-label{font-size:32px;letter-spacing:.08em;font-weight:800;color:#e3edda;margin:14px 0 20px}
.advent-week-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 22px;max-width:1732px}
.advent-week-item{display:grid;grid-template-columns:146px 1fr;gap:20px;align-items:center;min-height:150px;padding:18px 22px;border-left:5px solid #d6bd72;border-radius:5px 13px 13px 5px;background:#08291ff5;box-shadow:0 8px 22px #0003}
.advent-week-date{font-family:'Barlow Condensed',Manrope,sans-serif;font-size:52px;font-weight:700;line-height:1;color:#d8f19a;white-space:nowrap}
.advent-week-copy{min-width:0}
.advent-week-name{display:block;font-size:37px;line-height:1.12;color:#f3f4e9}
.advent-week-sub{display:block;margin-top:7px;font-size:26px;line-height:1.2;color:#d2dfc9}

/* Website-matched 16:9 campaign compositions: hero, event rows and the calendar offer. */
.back-strong-hero,.back-strong-info{background:#192a23}
.bts-photo{position:absolute;inset:0 0 0 42%;background-size:cover;background-position:64% center}
.bts-photo:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#192a23 0%,#192a23b0 20%,#192a2320 60%,#192a2340 100%),linear-gradient(0deg,#192a23 0%,transparent 20%)}
.bts-shade{position:absolute;inset:0;background:linear-gradient(90deg,#192a23 0%,#192a23 35%,#192a2390 51%,transparent 75%)}
.bts-copy{position:absolute;z-index:2;inset:88px auto 64px 100px;width:1040px;display:flex;flex-direction:column;justify-content:center}
.back-strong-hero .bts-copy{padding-top:32px;box-sizing:border-box}
.back-strong-hero .bts-eyebrow{margin-top:32px}
.bts-eyebrow,.journey-eyebrow{font-size:22px;line-height:1.3;letter-spacing:.13em;font-weight:800;color:#ccd9a8;margin:0 0 20px}
.bts-title{font-family:'Barlow Condensed',Manrope,sans-serif;font-size:195px;letter-spacing:-.025em;line-height:.78;margin:0 0 32px;color:#f4f5ee;font-weight:700}
.bts-title span{display:block}.bts-title span+span{color:#ccd9a8}
.bts-subtitle{font-size:48px;line-height:1.1;font-weight:800;letter-spacing:-.035em;margin:0 0 18px;color:#f4f5ee}
.bts-intro{font-size:27px;line-height:1.42;max-width:925px;color:#dbe5d7;margin:0}
.bts-price-row{display:flex;gap:14px;margin-top:25px}
.bts-price{display:flex;align-items:center;gap:15px;padding:10px 17px;border-left:4px solid #ccd9a8;background:#243b30e8;min-width:345px}
.bts-price strong{font-family:'Barlow Condensed',Manrope,sans-serif;color:#ccd9a8;font-size:48px;line-height:1;white-space:nowrap}
.bts-price span{font-size:16px;line-height:1.2;font-weight:800;letter-spacing:.035em}
.bts-cta{font-size:19px;letter-spacing:.09em;font-weight:900;color:#192a23;background:#ccd9a8;border-radius:999px;padding:16px 26px;margin:26px 0 0;width:max-content}
.back-strong-info .bts-photo{inset:0 0 0 36%;background-position:68% center}
.back-strong-info .bts-photo:after{background:linear-gradient(90deg,#192a23 0%,#192a2377 50%,#192a2310 100%)}
.back-strong-info .bts-shade{background:linear-gradient(90deg,#192a23 0%,#192a23e8 37%,#192a2360 67%,transparent 100%)}
.back-strong-info .bts-copy{inset:100px 100px 76px;width:auto;justify-content:center}
.bts-info-title{font-size:76px;letter-spacing:-.045em;line-height:1;margin:0 0 16px;color:#f4f5ee}
.bts-info-lead{font-size:32px;line-height:1.2;color:#ccd9a8;font-weight:700;margin:0 0 28px}
.bts-events{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.bts-event{min-height:265px;padding:24px 22px;border-top:2px solid #ccd9a8;background:#243b30e8;display:flex;flex-direction:column;justify-content:space-between}
.bts-event-date{font-family:'Barlow Condensed',Manrope,sans-serif;color:#ccd9a8;font-size:52px;line-height:1}
.bts-event-copy{display:flex;flex-direction:column;gap:7px}.bts-event-place{font-size:17px;letter-spacing:.12em;font-weight:900;color:#b8c6b7}
.bts-event-time{font-size:33px;line-height:1.1;color:#f4f5ee}.bts-event-extra{font-size:19px;line-height:1.25;color:#b8c6b7}
.journey{background:#192a23}
.journey .photo,.journey .shade{display:none}
.journey-board{position:absolute;inset:76px 100px 82px;display:flex;flex-direction:column;justify-content:center}
.journey-eyebrow{margin:0 0 8px}.journey-title{font-size:79px;line-height:1.03;letter-spacing:-.05em;margin:0 0 24px;color:#f4f5ee}
.journey-board-grid{display:grid;grid-template-columns:1fr;gap:0}
.journey-board-event{min-height:188px;display:grid;grid-template-columns:175px 1fr;align-items:center;gap:28px;border-top:1px solid #ffffff24;padding:18px 12px}
.journey-board-date{font-family:'Barlow Condensed',Manrope,sans-serif;font-size:53px;line-height:1;color:#ccd9a8}
.journey-board-copy{display:grid;grid-template-columns:190px 1fr 1.2fr;align-items:center;gap:25px;min-width:0}
.journey-board-place{font-size:16px;line-height:1.2;letter-spacing:.1em;font-weight:900;color:#b8c6b7}
.journey-board-name{font-size:34px;line-height:1.08;color:#f4f5ee}
.journey-board-schedule{display:flex;flex-direction:column;gap:5px;min-width:0}
.journey-board-time{font-size:37px;line-height:1.06;color:#c7f276;font-weight:800;letter-spacing:-.025em}
.journey-board-host{font-size:22px;line-height:1.2;color:#b8c6b7;font-weight:650;letter-spacing:.035em}
.journey-board-date-cell{display:flex;flex-direction:column;align-items:flex-start;gap:10px}
.journey-board-event.is-next{border:1px solid #c7f276;border-left:8px solid #c7f276;border-radius:16px;background:linear-gradient(105deg,#c7f276,#b7e866);box-shadow:0 10px 30px #0002}
.journey-board-event.is-next .journey-board-date,.journey-board-event.is-next .journey-board-place,.journey-board-event.is-next .journey-board-name,.journey-board-event.is-next .journey-board-time,.journey-board-event.is-next .journey-board-host{color:#183629}
.journey-next-badge{font-size:15px;line-height:1;letter-spacing:.1em;font-weight:900;color:#eff9e5;background:#183629;border-radius:999px;padding:9px 12px;white-space:nowrap}
.black-week-bonus{display:flex;flex-direction:column;align-items:flex-start;gap:5px;width:max-content;max-width:100%;margin-top:23px;padding:18px 26px 20px;border-left:8px solid #c7f276;border-radius:4px 18px 18px 4px;background:linear-gradient(100deg,#d5f69b,#c7f276);color:#143526;box-shadow:0 12px 34px #0003}
.black-week-bonus-title{font-size:37px;line-height:1.05;letter-spacing:-.025em;font-weight:900}
.black-week-bonus-copy{font-size:25px;line-height:1.25;font-weight:700}
.journey-page{position:absolute;right:0;bottom:-24px;display:flex;align-items:center;gap:8px;padding:8px 11px;border:1px solid #c7f27644;border-radius:999px;background:#08291fdd}.journey-page-segment{display:block;width:9px;height:9px;border-radius:999px;background:#b8c6b766;transition:width .25s ease,background .25s ease,box-shadow .25s ease}.journey-page-segment.is-current{width:30px;background:#c7f276;box-shadow:0 0 12px #c7f27688}

.advent-door{background:#192a23}
.advent-layout{grid-template-columns:42% 58%;gap:36px;padding:72px 92px 74px;background:#192a23}
.advent-layout:after{background:linear-gradient(90deg,#192a2315,#192a2315)}
.advent-backdrop{display:none}
.advent-visual{padding:0;gap:28px}
.advent-intro{margin:0}.advent-kicker{font-size:23px;letter-spacing:.12em;color:#ccd9a8}
.advent-door-object{width:420px;height:590px;filter:drop-shadow(0 20px 30px #0006)}
.advent-door-face{border:10px solid #dec79a;background:#243b30;box-shadow:inset 0 0 0 2px #192a23,inset 0 0 0 5px #dec79a66,0 10px 28px #0004}
.advent-door-face:before,.advent-door-face:after{border:1px solid #dec79a70;box-shadow:none}.advent-door-face:before{top:26px;bottom:50%}.advent-door-face:after{top:52%;bottom:26px}
.advent-door-object.fir .advent-door-face{background:#243b30}.advent-door-object.berry .advent-door-face{background:#74434a}
.advent-door-number{font-family:Georgia,'Times New Roman',serif;font-size:250px;color:#f4f5ee;text-shadow:none}
.advent-door-object:after{display:none}
.advent-offer-card{min-height:0;height:100%;padding:36px 46px;border:1px solid #ffffff24;border-radius:22px;background:#243b30;box-shadow:none;opacity:1;transform:none;animation:none;justify-content:center}
.advent-valid{font-size:19px;margin:0 0 17px;background:#ccd9a8;color:#192a23}
.advent-offer-title{font-size:59px;line-height:1.02;letter-spacing:-.045em;margin:0 0 12px;color:#f4f5ee}
.advent-description{font-size:22px;line-height:1.35;margin:0 0 20px;color:#b8c6b7}
.advent-price-grid{gap:12px;margin:4px 0 17px}.advent-price{min-height:125px;padding:16px 19px;border:0;border-radius:9px;background:#192a23}
.advent-price-label{font-size:14px;color:#b8c6b7}.advent-price-amount{font-size:57px;color:#ccd9a8}.advent-price-regular{font-size:17px;color:#b8c6b7}
.advent-detail-grid{gap:9px;margin-top:0}.advent-detail{padding:12px 15px;border-left:3px solid #ccd9a8;border-radius:0 8px 8px 0;background:#192a23}
.advent-detail-label{font-size:13px;color:#ccd9a8;margin-bottom:4px}.advent-detail-value{font-size:20px;line-height:1.22;color:#f4f5ee}
.advent-validity{font-size:17px;margin:13px 0 0;color:#b8c6b7}
.advent-week .photo,.advent-week .shade{display:none}
.advent-week-board{inset:66px 100px 74px;justify-content:center}
.advent-week-kicker{font-size:21px;color:#ccd9a8}.advent-week-title{font-family:Manrope,Arial,sans-serif;font-size:75px;line-height:1.02;font-weight:800;letter-spacing:-.05em}
.advent-week-label{font-size:22px;letter-spacing:.12em;color:#b8c6b7;margin:12px 0 15px}
.advent-week-grid{max-width:none;gap:0 44px}
.advent-week-item{grid-template-columns:108px 1fr;min-height:125px;padding:14px 8px;border-left:0;border-top:1px solid #ffffff24;border-radius:0;background:transparent;box-shadow:none}
.advent-week-date{font-size:43px;color:#ccd9a8}.advent-week-name{font-size:29px}.advent-week-sub{font-size:21px;color:#b8c6b7}
@media(max-width:1200px){.bts-title{font-size:155px}.bts-copy{width:900px;left:70px}.bts-info-title{font-size:64px}.bts-event-time{font-size:26px}.advent-offer-title{font-size:48px}.advent-detail-value{font-size:18px}.journey-board-event{min-height:150px}.journey-board-name{font-size:29px}}

/* Event information sized for people walking past the studio screens. */
.journey-board-place{font-size:25px;line-height:1.2;letter-spacing:.055em;color:#ccd9a8;font-weight:850}
.journey-board-place{font-size:38px;line-height:1.06;letter-spacing:.015em}
.journey-board-copy{grid-template-columns:330px 1fr 1.05fr;gap:24px}
.advent-week-item{grid-template-columns:178px 1fr;gap:18px}
.advent-week-date{font-size:40px;letter-spacing:-.02em}
.advent-week-name{font-size:31px;line-height:1.16}
.advent-week-sub{font-size:23px;line-height:1.22}
.bts-qr{position:absolute;z-index:4;right:72px;bottom:64px;width:310px;padding:15px 16px 17px;display:grid;justify-items:center;gap:11px;background:#fff;border:4px solid #dec79a;border-radius:15px;box-shadow:0 18px 50px #0007}
.bts-action{display:flex;align-items:center;gap:20px;align-self:flex-start;width:max-content;max-width:100%;margin-top:22px;padding:12px 22px 12px 12px;border:1px solid #e4f1d466;border-radius:16px;background:linear-gradient(145deg,#c7f276,#b2d965);color:#08291f;box-shadow:0 14px 38px #0005,inset 0 1px #f5ffde}
.bts-action-frame{flex:0 0 auto;width:220px;height:220px;padding:9px;border-radius:10px;background:#fff;box-shadow:0 4px 14px #08291f32}
.bts-action-frame img{display:block;width:100%;height:100%;object-fit:contain;image-rendering:pixelated}
.bts-action-words{display:flex;flex-direction:column;gap:9px;max-width:310px}
.bts-action-title{font-size:28px;line-height:1.05;letter-spacing:.015em}
.bts-action-note{font-size:20px;line-height:1.2;font-weight:750;color:#214832}
.bts-action-scan{margin-top:3px;font-size:14px;line-height:1.15;font-weight:900;letter-spacing:.12em;color:#214832}
.advent-price-row{display:flex;align-items:baseline;gap:20px;flex-wrap:wrap}
.advent-price-label{font-size:18px;letter-spacing:.1em}
.advent-price-amount{font-size:100px;line-height:1;color:#ccd9a8}
.advent-price-regular{font-size:42px;line-height:1.15;color:#c4d1bb;text-decoration-thickness:4px;text-decoration-color:#d4a5a5;white-space:nowrap}
.advent-price-regular::before{content:'statt ';font-size:18px;color:#b8c6b7;text-decoration:none;display:inline-block;margin-right:5px}
.bts-qr img{display:block;width:268px;height:268px;object-fit:contain;image-rendering:pixelated}
.bts-qr-caption{color:#192a23;text-align:center;font-size:18px;line-height:1.15;font-weight:900;letter-spacing:.04em}
.charity{background:#192a23}
.charity-photo{position:absolute;inset:0;background-size:cover;background-position:center 45%}
.charity-shade{position:absolute;inset:0;background:linear-gradient(90deg,#192a23f5 0%,#192a23ed 33%,#192a23a3 62%,#192a2355 100%),linear-gradient(0deg,#192a23 0%,transparent 22%)}
.charity-board{position:absolute;z-index:2;inset:125px 100px 82px;display:flex;flex-direction:column;justify-content:center}
.charity-eyebrow{font-size:23px;line-height:1.2;letter-spacing:.15em;font-weight:900;color:#ccd9a8;margin:0 0 12px}
.charity-title{max-width:1550px;font-size:69px;line-height:1.04;letter-spacing:-.045em;color:#f4f5ee;margin:0}
.charity-date{font-size:35px;line-height:1.2;color:#ccd9a8;font-weight:850;margin:10px 0 25px}
.charity-programme{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.charity-programme-item{min-height:286px;padding:24px 26px;background:#243b30ed;border-top:4px solid #ccd9a8;display:flex;flex-direction:column;justify-content:flex-start}
.charity-time{min-height:41px;font-size:25px;line-height:1.2;font-weight:900;color:#ccd9a8}
.charity-class{font-size:35px;line-height:1.08;color:#f4f5ee;letter-spacing:-.025em;margin:10px 0 12px}
.charity-description{font-size:22px;line-height:1.33;color:#b8c6b7;margin:0}
.charity-signup{font-size:22px;line-height:1.3;font-weight:800;color:#f4f5ee;margin:22px 0 0}
.charity-footnote{font-size:18px;line-height:1.2;color:#ccd9a8;margin:9px 0 0}

/* Seasonal cues match the website palette while keeping the offer easy to read. */
.advent-week{background:radial-gradient(ellipse at 50% 0%,#314d3a 0%,#192a23 63%)}
.advent-week-board:before{content:'✦  ✧  ❄  ✧  ✦';position:absolute;top:3px;right:10px;color:#dec79a;font-size:28px;letter-spacing:14px;opacity:.9}
.advent-week-kicker{color:#dec79a;font-size:23px;letter-spacing:.17em}
.advent-week-title{color:#f4f5ee}
.advent-week-label{color:#ccd9a8}
.advent-week-item:nth-child(4n+1){border-top-color:#dec79a}
.advent-week-item:nth-child(4n+2){border-top-color:#9a5a5d}
.advent-week-item:nth-child(4n+3){border-top-color:#ccd9a8}
.advent-week-item:nth-child(4n){border-top-color:#9a5a5d}
.advent-week-date{font-family:Georgia,'Times New Roman',serif}
.advent-door{background:radial-gradient(ellipse at 33% 46%,#395a40 0%,#192a23 65%)}
.advent-layout{background:radial-gradient(ellipse at 23% 52%,#dec79a20 0%,transparent 42%),#192a23}
.advent-visual:after{content:'✦  ❄  ✧';position:absolute;left:9%;top:13%;font-size:27px;letter-spacing:25px;color:#dec79a;opacity:.85}
.advent-door-object:before{inset:-45px -60px;background:radial-gradient(ellipse,#fff0bc66 0%,#dec79a22 45%,transparent 72%);opacity:0;z-index:1}
.advent-reveal{position:absolute;inset:9px 8px 9px 12px;display:grid;place-items:center;border:5px solid #dec79a;border-radius:7px;background:radial-gradient(circle,#fff0b9 0%,#c69553 24%,#74434a 100%);color:#fff4d6;font-size:145px;text-shadow:0 4px 30px #fff6;box-shadow:inset 0 0 0 7px #192a23,0 0 40px #dec79a55;z-index:0}
.advent-door-object.fir .advent-reveal{background:radial-gradient(circle,#fff0b9 0%,#c69553 24%,#244a35 100%)}
.advent-door-object.berry .advent-reveal{background:radial-gradient(circle,#fff0b9 0%,#c69553 24%,#74434a 100%)}
.advent-door-face{z-index:2;transform-origin:left center}
.advent-playing .advent-door-face{animation:advent-open 17s linear both}
.advent-playing .advent-door-object:before{animation:advent-glow 17s linear both}
.advent-playing .advent-offer-card{animation:advent-offer-open 17s linear both}
@keyframes advent-open{0%,3%{transform:rotateY(0)}9%,92%{transform:rotateY(-74deg)}100%{transform:rotateY(0)}}
@keyframes advent-glow{0%,3%{opacity:0}9%,92%{opacity:1}100%{opacity:0}}
@keyframes advent-offer-open{0%,4%{opacity:0;transform:translateX(-20px)}10%,92%{opacity:1;transform:translateX(0)}100%{opacity:0;transform:translateX(0)}}
@media(prefers-reduced-motion:reduce){.advent-playing .advent-door-face,.advent-playing .advent-offer-card,.advent-playing .advent-door-object:before{animation:none!important}.advent-door-face{transform:rotateY(-74deg)!important}.advent-offer-card{opacity:1!important;transform:none!important}}
@media(prefers-reduced-motion:reduce){.advent-door-face,.advent-offer-card,.advent-door-object:before{animation:none!important;transition:none!important}.advent-door-face{transform:rotateY(-67deg)}.advent-offer-card{opacity:1;transform:none}}
