/* The same Cybernetics world, with quiet surfaces for choosing and applying. */
.galaxy-entry{display:none}
.galaxy-active .galaxy-entry{display:block;position:absolute;inset:0;z-index:3;pointer-events:none}
.galaxy-entry-surface{position:absolute;inset:0;background:var(--studio-bg);opacity:var(--entry-cover,1);mask-image:radial-gradient(circle at 50% 50%,transparent max(0px,calc(var(--entry-hole,0)*1vmax - 24px)),#000 calc(var(--entry-hole,0)*1vmax + 1px))}
.galaxy-entry-surface:after{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at 50% 45%,#0660ce5c,transparent 62%)}
.galaxy-entry-arrow{position:absolute;inset:0;width:100%;height:100%;opacity:var(--entry-arrow,1);will-change:opacity}
.galaxy-entry-arrow .sculpture-fallback{font-size:160px;transform:rotate(var(--entry-turn,-135deg)) scale(var(--entry-scale,1))}
.galaxy-portal{position:absolute;left:50%;top:50%;width:min(52vw,460px);aspect-ratio:1;border:1px solid #a0daff80;border-radius:50%;opacity:calc(var(--entry-energy,0)*.24);transform:translate(-50%,-50%) scale(var(--entry-ring-scale,.55));will-change:transform,opacity}
.galaxy-entry>p{position:absolute;bottom:17%;left:24px;right:24px;max-width:none;text-align:center;display:flex;flex-direction:column;align-items:center;gap:22px;font:12px/1.6 'Departure Mono',monospace;color:var(--studio-text);opacity:var(--entry-label,1)}
.galaxy-entry>p .icon{width:24px;height:24px;transform:rotate(var(--scroll-turn,0deg))}
@media(max-width:700px){.galaxy-entry>p{font-size:10px;bottom:19%}}
.theme-light{display:none}
body.reference-design.menu-open .site-header{backdrop-filter:none}
body.reference-design .mobile-menu{padding:100px 24px 120px;overflow:hidden}
body.reference-design .mobile-menu nav{justify-content:safe center;min-height:0;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin}
@media(max-height:500px){
 body.reference-design .mobile-menu{padding:84px 24px 84px}
 body.reference-design .mobile-menu nav{gap:4px}
 body.reference-design .mobile-menu a{font-size:24px;min-height:44px}
 body.reference-design.menu-open .studio-theme{bottom:20px;background:var(--studio-bg)}
}
html[data-theme=light] .theme-light{display:inline}
html[data-theme=light] .theme-dark{display:none}
html[data-theme=dark]{color-scheme:dark;scrollbar-color:#79bfff #071423}
html[data-theme=light]{color-scheme:light;scrollbar-color:#0660ce #EDF4FC}
body.reference-design .journey-page{
 --paper:#0c213b;--pale:#102b4b;--ink:#fff;--muted:#b4c1d2;--line:#ffffff24;
 padding-top:0;background:transparent;color:var(--studio-text)
}
html[data-theme=light] body.reference-design .journey-page{--paper:#fff;--pale:#e4eefb;--ink:#072b55;--muted:#456383;--line:#072b5529}
body.reference-design:has(.journey-page) .site-header{background:transparent;color:var(--studio-text)}
body.reference-design:has(.journey-page) .site-header.scrolled{background:var(--studio-bg)}
html[data-theme=light] body.reference-design:has(.journey-page) .site-header .brand{filter:brightness(0) saturate(100%) invert(16%) sepia(21%) saturate(2557%) hue-rotate(175deg)}
/* Reading content scrolls behind an opaque utility rail, never through labels. */
body.reference-design:has(.journey-page){padding-bottom:78px}
html:has(.journey-page){scroll-padding-bottom:98px}
body.reference-design:has(.journey-page) .studio-hud{background:var(--studio-bg);border-top:1px solid var(--studio-line);inset:auto 0 0;height:78px;padding:20px calc(var(--gutter) + 8px);pointer-events:auto}
body.reference-design:has(.journey-page) .motion-toggle{bottom:20px}
body.reference-design .journey-page .journey-heading{
 position:relative;isolation:isolate;display:grid;grid-template-columns:1.2fr 1fr;gap:34px 8vw;align-items:center;
 min-height:700px;margin:0;padding:150px calc(var(--gutter) + 8px) 30px;
 background:radial-gradient(ellipse at 52% 30%,#0660ce65,transparent 62%),radial-gradient(ellipse at 12% 88%,#0660ce70,transparent 75%),#071d49;color:var(--studio-text)
}
html[data-theme=light] body.reference-design .journey-page .journey-heading{background:radial-gradient(ellipse at 52% 30%,#0660ce26,transparent 65%),var(--studio-bg)}
.journey-heading:before{content:'';position:absolute;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(90deg,transparent 33.3%,var(--studio-line) 33.3%,var(--studio-line) calc(33.3% + 1px),transparent calc(33.3% + 1px),transparent 66.6%,var(--studio-line) 66.6%,var(--studio-line) calc(66.6% + 1px),transparent calc(66.6% + 1px))}
body.reference-design .journey-page .journey-heading:after{display:none}
body.reference-design .journey-page .journey-heading h1{font-size:clamp(52px,6.1vw,94px);line-height:1.02;color:var(--studio-text);margin:0}
.journey-heading :is(.finder-introduction,.journey-introduction)>p{font:16px/1.7 'Geist Mono',monospace;color:var(--studio-muted);max-width:44ch;margin:0}
.journey-shortcuts{display:flex;align-items:center;flex-wrap:wrap;gap:20px 28px;margin-top:28px}
body.reference-design .journey-shortcuts .text-link{color:var(--studio-text);border-color:currentColor;min-height:44px}
.journey-art{grid-column:1/-1;position:relative;height:clamp(260px,19vw,380px);pointer-events:none}
.journey-wordmark{width:100%;height:100%}
.journey-wordmark .sculpture-fallback{font:800 clamp(40px,10vw,160px)/1 'TikTok Sans',sans-serif;letter-spacing:-.035em}
.journey-art .sticker-cap{width:7%;top:0;right:4%}
.journey-art .sticker-next{width:9%;top:-4%;left:35%}
body.reference-design .journey-page :is(.programme-finder,.finder-directory,.apel-courses){background:transparent}
body.reference-design .journey-page :is(.finder-tools,.finder-result-count,.finder-help,.apel-directory-note){background:transparent;color:var(--studio-muted)}
body.reference-design .journey-page .finder-tools{padding-top:54px}
body.reference-design .journey-page .finder-modes{gap:10px 26px;border-color:var(--line)}
body.reference-design .journey-page .finder-modes button{font:14px/1.5 'TikTok Sans',sans-serif;color:var(--studio-muted)}
body.reference-design .journey-page .finder-modes button:hover,
body.reference-design .journey-page .finder-modes button[aria-pressed=true]{color:var(--studio-text);border-color:var(--pink)}
body.reference-design .journey-page .finder-modes button[aria-pressed=true] span{background:var(--pink);color:#072b55}
body.reference-design .journey-page .finder-mobile-filter label{color:var(--studio-text)}
body.reference-design .journey-page .finder-mobile-filter select{background:var(--paper);color:var(--studio-text);border-color:var(--line);font-family:inherit;border-radius:12px}
body.reference-design .journey-page .finder-list{padding:0 calc(var(--gutter) + 8px);display:grid;gap:14px}
body.reference-design .journey-page .programme-option{background:var(--paper);border:1px solid var(--line);border-radius:14px;overflow:clip}
body.reference-design .journey-page .programme-option>summary{padding:26px;gap:26px;grid-template-columns:136px minmax(0,1fr) auto}
body.reference-design .journey-page .programme-thumb{width:136px;height:96px;border-radius:9px}
body.reference-design .journey-page .programme-summary-title :is(h2,h3){font:600 clamp(24px,2.25vw,34px)/1.2 'TikTok Sans',sans-serif;letter-spacing:-.025em;color:var(--studio-text);max-width:36ch}
body.reference-design .journey-page .programme-summary-title p{color:var(--muted)}
body.reference-design .journey-page .programme-expand{color:var(--studio-text);font:12px 'Departure Mono',monospace}
body.reference-design .journey-page .course-expand-icon{background:transparent;color:var(--studio-text);border-color:var(--line)}
body.reference-design .journey-page .programme-option:not([open])>summary:hover{background:var(--pale)}
body.reference-design .journey-page .programme-option[open]{background:#0c3972;--ink:#fff;--muted:#d1dff0;--line:#ffffff33;--studio-text:#fff;color:#fff}
body.reference-design .journey-page .programme-option[open] .course-expand-icon{background:var(--pink);color:#072b55;border-color:var(--pink)}
body.reference-design .journey-page .programme-preview{padding:12px 26px 34px;gap:40px}
body.reference-design .journey-page .programme-editorial-photo img{border-radius:10px}
body.reference-design .journey-page .programme-option .programme-preview-copy :is(h3,h4){font-family:'TikTok Sans',sans-serif}
body.reference-design .journey-page .finder-help{padding-block:36px 72px}
body.reference-design .journey-page .finder-help a{color:var(--studio-text)}
body.reference-design .journey-page .apel-courses>.finder-heading{background:transparent;border-color:var(--line);padding-block:90px 45px}
body.reference-design .journey-page .apel-courses>.finder-heading h2{font-size:clamp(42px,5vw,76px);color:var(--studio-text)}
body.reference-design .journey-page .apel-courses .finder-introduction :is(p,a){color:var(--studio-muted)}
body.reference-design .journey-page .apel-courses .finder-introduction a{color:var(--studio-text)}
body.reference-design .journey-page .flexible-study{background:#0c3972;color:#fff;margin:0 calc(var(--gutter) + 8px) 80px;border-radius:14px;padding:60px 4vw}
body.reference-design .journey-page :is(.admission-process,.enquiry-section,.faq-section){background:transparent;border-top:1px solid var(--studio-line);padding:90px calc(var(--gutter) + 8px);gap:7vw}
body.reference-design .journey-page :is(.admission-process,.enquiry-section,.faq-section) h2{color:var(--studio-text);font-size:clamp(40px,5.3vw,80px);line-height:1.05}
body.reference-design .journey-page .steps li{padding-left:74px;border-color:var(--line)}
body.reference-design .journey-page .steps li:before{font:400 30px/1.2 'Departure Mono',monospace;color:var(--pink)}
html[data-theme=light] body.reference-design .journey-page .steps li:before{color:var(--blue)}
.journey-page .steps h3{font-family:'TikTok Sans',sans-serif;font-weight:600}
.journey-page .steps p,.journey-page .enquiry-section>div>p{color:var(--studio-muted);font-size:16px}
body.reference-design .journey-page :is(.steps .text-link,.contact-phone){color:var(--studio-text)}
.journey-page .enquiry-section{scroll-margin-top:var(--header-h)}
.journey-page #enquiry-form{padding:32px;background:var(--paper);border-radius:14px;border:1px solid var(--line);align-self:start}
.journey-page .field label{color:var(--studio-text);font-size:14px}
.journey-page .field :is(input,select,textarea){background:var(--paper);color:var(--studio-text);padding:14px 0;border-color:var(--line);font-family:inherit}
.journey-page .field :is(input,textarea)::placeholder{color:var(--studio-muted);opacity:1}
.journey-page .form-note{font-size:12px;color:var(--studio-muted)}
.journey-page .enquiry-result{background:var(--pale);border-radius:10px;padding:22px}
.journey-page .enquiry-result h3{color:var(--studio-text)}
.journey-page .enquiry-result .message-preview{overflow-wrap:anywhere}
.journey-page .faq{border-color:var(--line)}
.journey-page .faq summary{color:var(--studio-text);font-family:'TikTok Sans',sans-serif;font-size:21px}
.journey-page .faq summary .icon{color:var(--studio-text)}
.journey-page .faq>p{color:var(--studio-muted);font-size:16px}
@media(max-width:1024px){
 body.reference-design .journey-page .journey-heading{gap:26px 40px;min-height:650px;padding-top:130px}
 body.reference-design .journey-page .journey-heading h1{font-size:clamp(42px,6.4vw,68px)}
 .journey-heading :is(.finder-introduction,.journey-introduction)>p{font-size:14px}
 .journey-art{height:220px}
 body.reference-design .journey-page .programme-option>summary{grid-template-columns:110px minmax(0,1fr) auto;gap:20px}
 body.reference-design .journey-page .programme-thumb{width:110px;height:80px}
 body.reference-design .journey-page .programme-expand>span{display:none}
 .journey-page #enquiry-form{padding:24px}
}
@media(max-width:700px){
 body.reference-design:has(.journey-page){padding-bottom:64px}
 html:has(.journey-page){scroll-padding-bottom:84px}
 body.reference-design:has(.journey-page) .studio-hud{height:64px;padding:12px 24px}
 body.reference-design:has(.journey-page) .motion-toggle{bottom:14px}
 body.reference-design .journey-page .journey-heading{display:flex;flex-direction:column;align-items:stretch;gap:26px;min-height:0;padding:116px 24px 28px}
 body.reference-design .journey-page .journey-heading h1{font-size:clamp(40px,10.8vw,64px)}
 .journey-heading :is(.finder-introduction,.journey-introduction)>p{font-size:13px;max-width:48ch}
 .journey-shortcuts{gap:14px 20px;margin-top:22px}
 body.reference-design .journey-shortcuts .text-link{font-size:11px}
 .journey-art{height:150px;margin:0 -10px}
 .journey-art .sticker-cap{width:13%;top:0}
 .journey-art .sticker-next{width:17%;left:34%;top:1%}
 body.reference-design .journey-page .finder-tools{padding:35px 24px 0}
 body.reference-design .journey-page .finder-result-count{padding:20px 24px}
 body.reference-design .journey-page .finder-list{padding:0 24px;gap:12px}
 body.reference-design .journey-page .programme-option>summary{grid-template-columns:76px minmax(0,1fr) 28px;grid-template-areas:"image title expand";gap:14px;padding:18px 14px;align-items:center}
 body.reference-design .journey-page .programme-thumb{width:76px;height:92px}
 body.reference-design .journey-page .programme-summary-title :is(h2,h3){font-size:21px;line-height:1.2}
 body.reference-design .journey-page .programme-summary-title p{font-size:12px}
 body.reference-design .journey-page .course-expand-icon{width:28px;height:28px;padding:6px}
 body.reference-design .journey-page .programme-preview{display:block;padding:0 18px 26px}
 .journey-page .programme-preview-copy{padding-top:20px}
 body.reference-design .journey-page .programme-preview-description{font-size:16px}
 body.reference-design .journey-page .apel-courses>.finder-heading{display:block;padding:55px 24px 24px}
 body.reference-design .journey-page .apel-courses>.finder-heading h2{font-size:44px;margin-bottom:25px}
 body.reference-design .journey-page .apel-courses .finder-introduction p{font-size:14px}
 body.reference-design .journey-page .flexible-study{margin:0 24px 55px;padding:32px 22px}
 body.reference-design .journey-page :is(.admission-process,.enquiry-section,.faq-section){display:block;padding:60px 24px}
 body.reference-design .journey-page :is(.admission-process,.enquiry-section,.faq-section) h2{font-size:40px;margin-bottom:34px}
 body.reference-design .journey-page .steps li{padding-left:54px}
 .journey-page #enquiry-form{padding:22px 18px;margin-top:32px}
 .journey-page .enquiry-result{padding:16px}
 .journey-page .faq summary{font-size:19px}
 .journey-page .faq>p{font-size:15px}
}
@media(max-width:359px){
 body.reference-design .journey-page .programme-option>summary{grid-template-columns:62px minmax(0,1fr) 24px;gap:10px;padding:15px 12px}
 body.reference-design .journey-page .programme-thumb{width:62px;height:88px}
 body.reference-design .journey-page .programme-summary-title :is(h2,h3){font-size:18px}
}
@media(prefers-reduced-motion:reduce){body.reference-design .journey-page *,body.reference-design .site-header{animation:none;transition:none}}
