/* Pages change inside one browser document; Candy's live canvas stays mounted. */
/* Incoming legacy styles load before Turbo replaces the outgoing body. Keep
   both the document canvas and page surface ink throughout that handoff. */
html,body.qp-site{background:#08080b!important}
.turbo-progress-bar{height:2px;background:#ab9ac7;opacity:.55;box-shadow:none}
html[aria-busy=true] .site-header{cursor:progress}

/* The outgoing page stays visible until replacement. Only incoming content
   fades; shared navigation, the ink background and Candy stay steady. */
@media(prefers-reduced-motion:no-preference){
 body[data-qp-arriving]>#main,body[data-qp-arriving]>.site-footer{animation:qp-content-arrive 240ms ease-out both}
}
@keyframes qp-content-arrive{from{opacity:0}to{opacity:1}}

/* The primary actions share Candy's soft pink/lavender/cyan send gradient. */
:root{--qp-cta-gradient:linear-gradient(115deg,#e9addf,#b8abed 70%,#a3eefc);--qp-cta-ink:#1b1625}
.button-primary,.button-primary:hover{background:var(--qp-cta-gradient);background-origin:border-box;background-repeat:no-repeat;color:var(--qp-cta-ink);box-shadow:0 5px 24px #b8abed24}
.button-primary:hover{box-shadow:0 7px 28px #b8abed38}

/* Native scrolling, with the same ink track and aurora accent as the logo. */
html,body{color-scheme:dark;scrollbar-width:thin;scrollbar-color:#b58bdc #0e0c14}
@supports selector(::-webkit-scrollbar){
 html,body{scrollbar-width:auto;scrollbar-color:auto}
 html::-webkit-scrollbar,body::-webkit-scrollbar{width:12px;height:12px}
 html::-webkit-scrollbar-track,body::-webkit-scrollbar-track{background:#0e0c14}
 html::-webkit-scrollbar-thumb,body::-webkit-scrollbar-thumb,html::-webkit-scrollbar-thumb:window-inactive,body::-webkit-scrollbar-thumb:window-inactive{min-height:54px;border:3px solid #0e0c14;border-radius:99px;background:linear-gradient(180deg,#e678d0,#b48aff 52%,#9ce5f0);background-clip:padding-box}
 html::-webkit-scrollbar-thumb:hover,body::-webkit-scrollbar-thumb:hover{background:linear-gradient(180deg,#fa98e4,#c7a9ff 52%,#b1f4fc);background-clip:padding-box}
 html::-webkit-scrollbar-corner,body::-webkit-scrollbar-corner{background:#0e0c14}
 html::-webkit-scrollbar-button,body::-webkit-scrollbar-button{display:none}
}
@media(forced-colors:active){html,body{scrollbar-color:auto}}
/* Shared, click-to-open navigation; a second click follows the All page. */
:root{--program-grad:117 221 162;--program-portrait:245 213 120;--program-service:188 150 245;--program-social:129 180 255;--program-sports:241 138 145}
[data-program=grad]{--program-color:var(--program-grad)}[data-program=portrait]{--program-color:var(--program-portrait)}[data-program=service]{--program-color:var(--program-service)}[data-program=social]{--program-color:var(--program-social)}[data-program=sports]{--program-color:var(--program-sports)}
.nav-disclosure{position:relative;flex:none}
.site-header .nav-disclosure-link{display:flex;align-items:center;gap:6px;color:#d9d4e0;text-decoration:none;font:500 17px/1.65 'Schibsted Grotesk',sans-serif;white-space:nowrap}
.nav-disclosure-link svg{width:12px;height:12px;transition:transform .16s ease}
.site-header .nav-disclosure-link:is(:hover,[aria-expanded=true],[aria-current=page]){color:#a3eefc}
.nav-disclosure-link[aria-expanded=true] svg{transform:rotate(180deg)}
.site-header .nav-submenu{position:absolute;top:calc(100% + 22px);left:-22px;min-width:265px;width:max-content;max-width:min(340px,calc(100vw - 50px));margin:0;padding:10px;list-style:none;border:1px solid #c8b9df38;border-radius:16px;background:linear-gradient(145deg,#211a2bf9,#13121afc);box-shadow:0 18px 50px #0007;z-index:55}
.site-header .nav-submenu[hidden]{display:none}
.site-header .nav-submenu li{margin:0;padding:0;list-style:none}
.site-header .nav-submenu a{display:flex;align-items:center;gap:10px;min-height:44px;padding:10px 13px;border-radius:9px;text-decoration:none;color:#e2d9eb;font:500 15px/1.5 'Schibsted Grotesk',sans-serif;white-space:nowrap}
.site-header .nav-submenu a[data-program]:before{content:'';width:8px;height:8px;flex:none;border-radius:50%;background:rgb(var(--program-color));box-shadow:0 0 15px rgb(var(--program-color)/.15)}
.site-header .nav-submenu a:hover{background:#c7a6e012;color:#fff}
.site-header .nav-submenu .nav-view-all{margin-top:7px;padding-top:14px;border-top:1px solid #d4bcdf26;border-radius:0 0 8px 8px;color:#b3e5ee}
.site-header .nav-submenu .nav-view-all:after{content:'↗';margin-left:auto}
.site-header .nav-disclosure a:focus-visible{outline:2px solid var(--qp-focus,#BA94C1);outline-offset:2px}
@media(max-width:1050px){.site-header .nav-disclosure-link{font-size:19px;min-height:48px;padding:13px 12px;justify-content:space-between}.site-header .nav-submenu{position:static;min-width:0;width:100%;max-width:none;box-shadow:none;margin:0 0 10px;background:#0e0d14b8;border-radius:12px;padding:6px}.site-header .nav-submenu a{font-size:15px;min-height:44px;padding:10px 13px}.site-header .main-nav{max-height:calc(100dvh - 110px);overflow-y:auto;overscroll-behavior:contain}}
@media(prefers-reduced-motion:reduce){.nav-disclosure-link svg{transition:none}}

/* Shared footer: centered brand, four link groups, social film, then one legal row. */
.site-footer .footer-main{display:flex;flex-direction:column;align-items:center;gap:38px}
.site-footer .footer-brand{display:flex;flex-direction:column;align-items:center;grid-column:auto;width:100%;text-align:center}
.site-footer .footer-brand>a{display:block;width:260px;max-width:100%}
.site-footer .footer-brand .footer-logo{display:block;width:100%;height:auto;max-width:none;margin:0}
.site-footer .footer-brand p{margin:16px 0 0;font-size:17px}
.site-footer .footer-navigation{width:100%;max-width:1000px;grid-template-columns:repeat(4,minmax(0,1fr));gap:32px}
.site-footer .footer-navigation h3{min-height:0;line-height:1.3}
.site-footer .social-film{width:100%;max-width:1000px;margin:38px auto 0}
.site-footer .footer-bottom{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:12px 28px;margin-top:28px;padding:0;text-align:center}
.site-footer .footer-bottom .copyright{margin:0;padding:0;border:0;font-size:15px;line-height:1.65;color:var(--muted)}
.site-footer .footer-bottom .qp-legal-links{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:10px 24px;margin:0;padding:0;font-size:15px;line-height:1.65}
.site-footer .qp-legal-links a{color:var(--muted);text-decoration:none;white-space:nowrap}
.site-footer .qp-legal-links a:hover{color:var(--blue);text-decoration:underline;text-underline-offset:4px}
@media(max-width:900px){.site-footer .footer-navigation{grid-template-columns:repeat(2,minmax(0,1fr));gap:30px 24px}}
@media(max-width:760px){.site-footer .footer-main{gap:32px}.site-footer .footer-brand>a{width:235px}.site-footer .social-film{margin-top:32px}.site-footer .footer-bottom{gap:12px;margin-top:24px}.site-footer .footer-bottom .copyright{flex-basis:100%}.site-footer .footer-bottom .qp-legal-links{gap:10px 20px}}

.site-footer .footer-navigation .footer-column{width:max-content;max-width:100%;justify-self:center}
@media(max-width:900px){.site-footer .footer-navigation .footer-column{width:auto;justify-self:start}}
