/* Dose canvas: paper, ink and a little red paint. */
.public-site{--paint:#e82935;--ink:#242529;background-color:#faf9f6;background-image:radial-gradient(#dedbd32b .65px,transparent .65px);background-size:6px 6px}
.public-site .button{position:relative;border:0!important;background-color:transparent!important;background-image:url('/brush.svg')!important;background-size:100% 100%!important;background-repeat:no-repeat!important;border-radius:0!important;color:#fff!important;text-decoration:none!important;padding:16px 24px;transition:transform .2s;isolation:isolate}
.public-site .button:hover{transform:translateY(-2px) rotate(-1deg)}
.public-site .button:focus-visible,.carousel-pause:focus-visible{outline:3px solid #e82935;outline-offset:5px}
.public-site .eyebrow{color:#a92530}
.public-site .section-head h2,.public-site .page-intro h1{position:relative;display:inline-block;padding-bottom:14px}
.public-site .section-head h2:after,.public-site .page-intro h1:after{content:'';position:absolute;left:0;bottom:0;width:min(210px,70%);height:13px;background:url('/ink-line.svg') center/100% 100% no-repeat;transform:rotate(-2deg)}
/* Navigation, copy and controls sit in front of the full-bleed carousel. */
.home-canvas .header{position:absolute!important;top:var(--dose-topbar-height,36px)!important;left:0;width:100%;height:110px;z-index:20;background:transparent!important;border:0!important;box-shadow:none!important;padding:22px 5.5%}
.home-canvas .header .brand,.home-canvas .header .brand small,.home-canvas .header nav a{color:#fff!important}
.home-canvas .header .brand>span{color:#ff4c57!important}
.home-canvas .header .navigation-toggle span{background:#fff}
.home-canvas .header nav{background:transparent}
.home-canvas .hero.concise-hero{position:relative;isolation:isolate;display:flex!important;align-items:center;min-height:760px;width:100%;max-width:none!important;margin:0!important;padding:170px 5.5% 150px!important;border-radius:0;overflow:hidden}
.home-canvas .hero-copy{position:relative;z-index:3;max-width:710px;width:59%;padding:0!important;margin:0!important}
.home-canvas .hero-copy h1{font-size:clamp(48px,6.2vw,88px)!important;line-height:1.04;letter-spacing:-3px;color:white!important;margin:20px 0 28px}
.home-canvas .hero-copy h1 em{color:white!important;position:relative;display:inline-block;padding-bottom:15px}
.home-canvas .hero-copy h1 em:after{content:'';position:absolute;bottom:0;left:0;width:100%;height:15px;background:url('/ink-line.svg') center/100% 100% no-repeat}
.home-canvas .hero-copy p,.home-canvas .hero-copy .eyebrow{color:#fff!important;text-shadow:0 1px 8px #0005}
.home-canvas .hero-copy p:not(.eyebrow){max-width:560px;font-size:18px;line-height:1.7}
.home-canvas .hero-copy .deposit-caption{font-size:12px!important;margin-top:24px!important;opacity:.85}
.home-canvas .hero-image.hero-carousel{position:absolute!important;inset:0!important;z-index:0;width:100%!important;height:100%!important;min-height:0!important;margin:0!important;border-radius:0!important;transform:none!important;background:#222}
.home-canvas .hero-slides{position:absolute;inset:0;width:100%;height:100%}
.home-canvas .hero-slide{position:absolute!important;inset:0;width:100%!important;height:100%!important;object-fit:cover;object-position:center 40%;transition:opacity 1.2s ease!important}
.home-canvas .hero-image:after{content:'';position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,#11161eeb 0%,#11161e99 47%,#11161e21 100%),linear-gradient(0deg,#11161eaa,transparent 60%);pointer-events:none}
.home-canvas .hero-image .image-copy{position:absolute;inset:auto 5.5% 120px auto!important;z-index:2;padding:0!important;width:270px!important;background:none!important;max-width:28%;color:#fff}
.home-canvas .image-copy h2{font-size:31px!important;line-height:1.15;color:#fff!important;margin:14px 0}
.home-canvas .image-copy>span{font-size:10px;letter-spacing:1.7px}
.home-canvas .image-bottom{margin-top:20px;font-size:12px}
.home-canvas .carousel-controls{position:absolute!important;z-index:4;bottom:35px!important;left:auto!important;right:5.5%!important;display:flex;align-items:center;gap:18px;transform:none!important;width:auto!important}
.home-canvas .carousel-pause{width:auto!important;height:auto!important;border:1px solid #ffffff80!important;border-radius:30px!important;background:#0003!important;color:#fff!important;padding:8px 14px!important;font-size:12px;cursor:pointer}
.home-canvas .carousel-tabs{display:flex;gap:12px}
/* Four compact choices form one row, with a swipeable row on phones. */
.public-site .concise-programme .programme-grid.package-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;align-items:stretch}
.public-site .concise-programme .programme-grid.package-grid .programme-card{min-height:410px!important;padding:135px 20px 22px!important;border-radius:6px 18px 8px 18px;justify-content:flex-end;box-shadow:0 5px 0 #2425290d!important;overflow:hidden}
.public-site .concise-programme .programme-card.full:before{background-image:url('/photos/programme-full.jpg');background-position:center}
.public-site .concise-programme .programme-card.sports:before{background-image:url('/photos/programme-sports.jpg');background-position:58% center}
.public-site .concise-programme .programme-card:after{background:linear-gradient(180deg,#171b2420 0%,#171b24b8 35%,#171b24f2 100%)}
.public-site .concise-programme .programme-card h3{font-size:24px!important;letter-spacing:-.7px;line-height:1.2;margin-bottom:16px!important}
.public-site .concise-programme .programme-card h3 em{color:#ff6770!important}
.public-site .concise-programme .programme-card p{font-size:14px!important;line-height:1.6!important;flex-grow:1}
.public-site .concise-programme .programme-card a.button{align-self:stretch!important;margin-top:22px!important;font-size:12px!important;line-height:1.4;min-height:48px;display:flex;justify-content:center;text-align:center;align-items:center;padding:12px 9px!important;white-space:normal}
.public-site .concise-programme .programme-card:nth-child(2n){border-radius:18px 6px 18px 8px}
/* A lively three-step learning trail. */
.public-site .academic-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:25px;padding-top:30px;position:relative;overflow:visible}
.public-site .academic-steps .step{position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:18px;min-width:0;padding:26px 22px;background:#f3eee3;border:0;border-radius:6px 20px 8px 16px;transform:rotate(-1deg)}
.public-site .academic-steps .step:nth-child(2){transform:rotate(1.3deg);background:#efe9e8}
.public-site .academic-steps .step:nth-child(3){transform:rotate(-.5deg);background:#e9eeea}
.public-site .academic-steps .step-number{display:grid;place-items:center;width:76px;height:58px;background:url('/brush.svg') center/100% 100% no-repeat;color:#fff!important;font-size:27px;font-weight:800;transform:rotate(-6deg);border:0;border-radius:0}
.public-site .academic-steps .step h3{font-size:20px;line-height:1.3;margin:0 0 12px}
.public-site .academic-steps .step p{font-size:14px;line-height:1.7;margin:0}
.public-site .academic-steps .step:not(:last-child):after{content:'↝';position:absolute;right:-28px;top:27px;z-index:1;color:#e82935;font-size:44px;transform:rotate(-12deg)}
/* Quiet, compact registration details sit beneath the footer promise. */
.public-site footer>.footer-promise{display:block;width:auto;grid-column:auto;font-size:12px;line-height:1.7}
.public-site footer>.footer-promise p{font-size:12px;line-height:1.7;margin:0 0 10px}
.public-site footer>.footer-promise .footer-registration{margin:0;font-size:12px}
.public-site footer>.footer-promise a{font-size:inherit;min-height:0;display:inline;padding:0;text-decoration:underline}
.public-site .registration-panel{padding-top:32px;padding-bottom:32px}
.public-site .registration-panel>h2{font-size:26px;margin-bottom:16px}
.public-site .registration-panel>p{font-size:14px;max-width:800px}
.public-site .registration-panel .programmes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin-top:20px}
.public-site .registration-panel .programme{padding:16px 20px;background:#f2eee7;border:0;border-left:3px solid #e82935;border-radius:0 10px 10px 0}
.public-site .registration-panel .programme h3{font-size:17px;margin:0 0 8px}
.public-site .registration-panel .programme p{font-size:12px;line-height:1.65;margin:4px 0}
.public-site .booking-empty{font-size:15px;padding:15px 0;margin:0}
@media(min-width:761px) and (max-width:1100px){.public-site .concise-programme{padding-left:3%;padding-right:3%}.public-site .concise-programme .programme-grid.package-grid{gap:10px}.public-site .concise-programme .programme-grid.package-grid .programme-card{padding-left:14px!important;padding-right:14px!important}.public-site .concise-programme .programme-card h3{font-size:21px!important}.home-canvas .hero-image .image-copy{max-width:24%}}
@media(max-width:760px){
 .home-canvas .header{height:82px;min-height:82px;padding:12px 16px}.home-canvas .header.nav-enhanced nav{background:#242529!important}.home-canvas .header.nav-enhanced nav a{color:#fff!important}
 .home-canvas .hero.concise-hero{min-height:850px;padding:145px 22px 230px!important;align-items:flex-start}
 .home-canvas .hero-copy{width:100%;max-width:none}.home-canvas .hero-copy h1{font-size:clamp(43px,10vw,65px)!important;letter-spacing:-1.7px;margin:18px 0 25px}.home-canvas .hero-copy p:not(.eyebrow){font-size:16px}.home-canvas .hero-copy .eyebrow{font-size:10px!important}
 .home-canvas .hero-image:after{background:linear-gradient(90deg,#11161ec9,#11161e4d),linear-gradient(0deg,#11161ed9,transparent 65%)}
 .home-canvas .hero-image .image-copy{left:22px!important;right:22px!important;bottom:83px!important;width:auto!important;max-width:none}.home-canvas .image-copy h2{font-size:24px!important}.home-canvas .image-bottom{margin-top:12px}.home-canvas .image-copy>span{display:none}
 .home-canvas .carousel-controls{left:22px!important;right:auto!important;bottom:24px!important}
 .public-site .concise-programme .programme-grid.package-grid{grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:86%;gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;padding:4px 2px 18px;scrollbar-color:#e82935 #ece8df;scrollbar-width:thin}
 .public-site .concise-programme .programme-grid.package-grid .programme-card{scroll-snap-align:start;min-height:390px!important;padding:125px 22px 22px!important}
 .public-site .academic-steps{grid-template-columns:minmax(0,1fr);gap:24px;padding-top:20px}.public-site .academic-steps .step{padding:24px;flex-direction:row;gap:18px}.public-site .academic-steps .step-number{flex-shrink:0;width:58px;height:48px;font-size:22px}.public-site .academic-steps .step h3{font-size:18px}.public-site .academic-steps .step:not(:last-child):after{right:30px;top:auto;bottom:-34px;transform:rotate(80deg)}
 .public-site footer>.footer-promise{grid-column:2;text-align:right}.public-site footer>.footer-promise p,.public-site footer>.footer-promise .footer-registration{font-size:10px;line-height:1.7}.public-site .registration-panel .programmes{grid-template-columns:minmax(0,1fr);gap:12px}.public-site .registration-panel>h2{font-size:23px}
}
@media(prefers-reduced-motion:reduce){.public-site .button,.home-canvas .hero-slide{transition:none!important}.public-site .button:hover{transform:none}}
/* Torn-paper surfaces within the original neutral and red brand palette. */
.public-site{--paint:#e82935;--accent:#e82935;--paper:#f8f7f4;--charcoal:#27282c}
.public-site .button{background-image:url('/brush.svg')!important;background-color:transparent!important;background-size:100% 100%!important;background-repeat:no-repeat!important;border-radius:0!important;padding:16px 24px}
.public-site .button:hover{background-color:transparent!important;transform:translateY(-2px) rotate(-1deg)}
.public-site .eyebrow{color:#6b6b70}
.home-canvas .hero-image:after{background:linear-gradient(90deg,#242529e6 0%,#24252991 48%,#24252922 100%),linear-gradient(0deg,#24252988,transparent 65%)}
.home-canvas .carousel-controls{left:50%!important;right:auto!important;bottom:30px!important;transform:translateX(-50%)!important;justify-content:center;width:auto!important}
.home-canvas .carousel-pause{display:none!important}
.public-site .header nav[popover],.home-canvas .header.nav-enhanced nav[popover]{background:#242529!important;border:0!important;box-shadow:none!important;color:#fff!important}
.public-site .header nav[popover] a,.public-site .header nav[popover] a[aria-current=page],.public-site .header nav[popover] a:hover,.home-canvas .header nav[popover] a[aria-current=page]{background:transparent!important;color:#fff!important;box-shadow:none!important;border:0!important}
.public-site .header nav[popover]::backdrop{background:transparent!important;backdrop-filter:none!important}
.public-site .big-grade,.public-site .big-grade[class*=tone-]{background:#25262a!important;color:#fff!important;box-shadow:none!important;border:0!important}
.public-site .big-grade small{color:#fff!important}
.public-site .concise-programme .programme-grid.package-grid .programme-card{background:#f8f7f4!important;border-radius:0!important;box-shadow:none!important;padding:175px 20px 26px!important;mask:url('/torn-paper.svg') center/100% 100% no-repeat;color:#242529!important;isolation:isolate}
.public-site .concise-programme .programme-grid.package-grid .programme-card:before{inset:0 0 auto;height:160px;z-index:-2}
.public-site .concise-programme .programme-grid.package-grid .programme-card:after{inset:0;background:url('/paper-grain.svg') center/180px;opacity:.5;z-index:-1;pointer-events:none}
.public-site .concise-programme .programme-grid.package-grid .programme-card:nth-child(2){background:#f8f7f4!important}
.public-site .concise-programme .programme-grid.package-grid .programme-card:nth-child(3){background:#f8f7f4!important}
.public-site .concise-programme .programme-grid.package-grid .programme-card:nth-child(4){background:#f8f7f4!important}
.public-site .concise-programme .programme-card h3,.public-site .concise-programme .programme-card h3 em,.public-site .concise-programme .programme-card p:not(.eyebrow){color:#27282c!important}
.public-site .concise-programme .programme-card p:not(.eyebrow){font-weight:600!important}
.public-site .concise-programme .programme-card a.button{color:#fff!important;background-color:transparent!important;font-weight:700}
.public-site .academic-steps{gap:22px}
.public-site .academic-steps .step{padding:36px 25px!important;background:#f8f7f4!important;border-radius:0!important;box-shadow:none!important;border:0!important;mask:url('/torn-paper.svg') center/100% 100% no-repeat;isolation:isolate;transform:rotate(-1.1deg)}
.public-site .academic-steps .step:nth-child(2){background:#27282c!important;transform:rotate(.8deg);color:#fff!important}
.public-site .academic-steps .step:nth-child(2) h3,.public-site .academic-steps .step:nth-child(2) p{color:#fff!important}
.public-site .academic-steps .step:nth-child(3){background:#e8e8e6!important;transform:rotate(-.7deg)}
.public-site .academic-steps .step:before{content:'';position:absolute;inset:0;background:url('/paper-grain.svg') center/180px;opacity:.7;z-index:-1}
.public-site .academic-steps .step:after{display:none}
.public-site .academic-steps .step-number{background:none;color:inherit!important;width:auto;height:auto;display:block;font-size:34px;font-weight:900;letter-spacing:-2px;transform:rotate(-6deg);border:0;border-radius:0}
.public-site .academic-steps .step h3{color:#27282c;font-size:19px}.public-site .academic-steps .step p{color:#27282c;font-weight:500}
.public-site .academic-copy:before,.public-site .vyzn-story:after{content:'';position:absolute;width:130px;height:40px;background:#e5e5e2 url('/paper-grain.svg');mask:url('/torn-paper.svg') center/100% 100% no-repeat;transform:rotate(-10deg);right:18px;top:20px;pointer-events:none}
.public-site .academic-copy{position:relative}.public-site .vyzn-story{position:relative}.public-site .vyzn-story:after{background-color:#e5e5e2;top:auto;bottom:18px;width:95px;transform:rotate(8deg)}
.public-site .location-picker{border:0!important;outline:0!important;box-shadow:none!important}
.public-site .location-picker select{border:0!important;outline-offset:3px;box-shadow:none!important;background-color:#eeeeec;padding:12px;border-radius:4px}
@media(max-width:760px){.home-canvas .carousel-controls{left:50%!important;right:auto!important;bottom:24px!important}.public-site .academic-steps .step{padding:30px 24px!important;flex-direction:column}.public-site .concise-programme .programme-grid.package-grid .programme-card{padding-top:175px!important}.public-site .academic-copy:before{top:8px;right:8px;width:90px;height:30px}}
.public-site .academic-steps{border:0!important}.public-site .academic-steps .step{filter:drop-shadow(0 2px 0 #fff)}

/* Restore the ink details; keep colour focused on the brand and progress states. */
.public-site .nav-ink{color:#e82935!important}
.public-site .section-head h2:after,.public-site .page-intro h1:after,.home-canvas .hero-copy h1 em:after{background-image:url('/ink-line.svg')}
.public-site .academic-steps .step-number{color:#c32635!important;font-variant-numeric:tabular-nums}
.public-site .academic-steps .step:nth-child(2) .step-number{color:#ff737b!important}
.public-site .academic-copy:before,.public-site .vyzn-story:after{display:none}
/* The wordmark, photograph and heading are separate flow items on every screen. */
.public-site .restored-academic .academic-copy{display:flex;flex-direction:column;align-items:stretch;min-width:0}
.public-site .restored-academic .stathub-wordmark{position:static!important;display:flex;align-items:baseline;flex-wrap:wrap;gap:0 .25em;width:auto;max-width:100%;margin:0 0 18px!important;font-size:clamp(23px,2.4vw,30px)!important;line-height:1.3!important;letter-spacing:-1px;overflow-wrap:normal;white-space:normal;z-index:auto}
.public-site .restored-academic .stathub-wordmark span{color:#b53242;position:static;font-size:inherit;line-height:inherit}
.public-site .restored-academic .academy-photo{position:relative;display:block;height:auto!important;min-height:0;flex:none;margin:0 0 24px!important;overflow:hidden;border-radius:8px}
.public-site .restored-academic .academy-photo img{display:block;width:100%;height:auto!important;aspect-ratio:16/9;max-height:320px;object-fit:cover;border-radius:0}
.public-site .restored-academic .academic-copy h2{position:static;margin:0 0 24px!important}
@media(max-width:760px){.public-site .restored-academic .stathub-wordmark{font-size:24px!important;margin-bottom:16px!important}.public-site .restored-academic .academy-photo{height:auto!important;margin-bottom:22px!important}.public-site .restored-academic .academy-photo img{height:auto!important;aspect-ratio:16/10}}
/* Compact actions and softly tinted programme results. */
.public-site .button{width:fit-content;max-width:100%;padding:12px 19px}
.public-site .restored-academic .academic-copy>.button{width:fit-content!important;align-self:flex-start;margin-top:0;padding:12px 19px}
.public-site .concise-programme .programme-grid.package-grid .programme-card a.button{align-self:flex-start!important;width:fit-content!important;max-width:100%;padding:12px 16px!important;margin-top:20px!important}
.public-site .concise-programme .programme-grid.package-grid .programme-card{background:#efdfd9!important}
.public-site .concise-programme .programme-grid.package-grid .programme-card:nth-child(2){background:#e3e8e2!important}
.public-site .concise-programme .programme-grid.package-grid .programme-card:nth-child(3){background:#e2e6e8!important}
.public-site .concise-programme .programme-grid.package-grid .programme-card:nth-child(4){background:#ece4dc!important}
.public-site .concise-programme .programme-grid.package-grid .programme-card:before{height:195px;mask-image:linear-gradient(to bottom,#000 55%,transparent 100%);-webkit-mask-image:linear-gradient(to bottom,#000 55%,transparent 100%)}
.public-site .vyzn-story:after{display:block;inset:0;width:auto;height:auto;mask:none;transform:none;opacity:1;background:linear-gradient(180deg,#15171a30 0%,#15171a99 48%,#15171af5 100%);pointer-events:none}
.public-site .restored-academic .academic-copy{gap:0;justify-content:flex-start}
.public-site .restored-academic .academic-copy h2{margin:0 0 18px!important}
.public-site .restored-academic .academic-copy>p:not(.eyebrow){margin:0 0 20px!important;line-height:1.75}
@media(max-width:760px){.public-site .restored-academic .academic-copy h2{margin-bottom:16px!important}.public-site .restored-academic .academic-copy>p:not(.eyebrow){margin-bottom:18px!important}}

.public-site footer>div:not(.footer-promise){align-items:center}
.public-site footer>div:not(.footer-promise)>span{display:inline-flex;align-items:center;line-height:1.5}
