/* Hub states use the same type, ink, paper and accent contract as every page. */
.hub-loader{position:fixed;inset:0;z-index:100;background:var(--paper);color:var(--ink);display:grid;place-content:center;justify-items:center;gap:20px;visibility:hidden;pointer-events:none}
html.hub-loading .hub-loader{visibility:visible;pointer-events:auto}
.hub-loader img,.hiw-loading img{width:54px;height:54px;object-fit:contain}
.hub-loading-label{font:500 14px/1.5 var(--sans);margin:0}
.hub-loading-track{width:90px;height:2px;background:var(--line);overflow:hidden}
.hub-loading-track::after{content:'';display:block;width:40%;height:100%;background:var(--accent);animation:hub-travel 1.2s ease-in-out infinite alternate}
@keyframes hub-travel{to{transform:translateX(150%)}}
.hub-connection{position:fixed;bottom:18px;left:50%;transform:translateX(-50%);z-index:101;background:var(--paper);color:var(--ink);border:1px solid var(--line);border-radius:var(--radius-sm);box-shadow:0 8px 24px color-mix(in srgb,var(--ink) 12%,transparent);padding:14px 18px;display:flex;align-items:center;gap:18px;width:max-content;max-width:calc(100vw - 32px);font:14px/1.5 var(--sans)}
.hub-connection[hidden]{display:none}.hub-connection button{font:inherit;background:none;border:0;color:var(--ink);text-decoration:underline;text-underline-offset:4px;cursor:pointer;min-height:44px;white-space:nowrap}
.hub-error{min-height:calc(85svh - var(--hub-header-height,82px));display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:8vw;padding-block:70px}
.hub-error-code{font:500 clamp(110px,20vw,280px)/.9 var(--sans);letter-spacing:-.08em;color:var(--ink);position:relative;margin:0}
.hub-error-code::after{content:'';display:block;width:60px;height:5px;background:var(--accent);margin-top:30px}
.hub-error h1{font:550 clamp(34px,4vw,56px)/1.08 var(--sans);letter-spacing:-.035em;margin:0 0 22px}.hub-error p{color:var(--ink-soft);font-size:18px;line-height:1.6;max-width:38ch}.hub-error-actions{display:flex;align-items:center;flex-wrap:wrap;gap:24px;margin-top:28px}.hub-error .button{color:var(--paper);background:var(--ink)}
@media(max-width:700px){.hub-error{grid-template-columns:1fr;gap:44px;padding-block:48px}.hub-error-code{font-size:120px}.hub-error p{font-size:16px}}
@media(prefers-reduced-motion:reduce){.hub-loading-track::after{animation:none;width:65%}}
/* The room continues under the sticky header, as on the program heroes. */
@media(prefers-reduced-motion:no-preference){body[data-route=how] .hiw-root{margin-top:calc(-1 * var(--hub-header-height,82px))}html.hiw-immersive .site-header{background:linear-gradient(color-mix(in srgb,var(--sidebar-blue) 88%,transparent),color-mix(in srgb,var(--sidebar-blue) 55%,transparent));border-color:transparent;backdrop-filter:none;color:var(--hiw-header-ink)}html.hiw-immersive{--hiw-header-ink:var(--paper)}html[data-theme=dark].hiw-immersive{--hiw-header-ink:var(--ink)}html.hiw-immersive .site-header :is(a,button){color:var(--hiw-header-ink)}html.hiw-immersive .site-header .header-app{background:var(--hiw-header-ink);color:var(--sidebar-blue)}html.hiw-immersive .site-header .nav-links a[aria-current=page]::after{background:currentColor}html.hiw-immersive #main-nav.is-open{background:var(--sidebar-blue);color:var(--hiw-header-ink)}}
.hiw-root .hiw-stage header{top:calc(var(--hub-header-height,82px) / var(--fit,1) + 20px)}
.hiw-loading{display:none;height:100svh;position:relative;background:var(--sidebar-blue) var(--hiw-poster) center/cover no-repeat;color:var(--hiw-paper);place-content:center;justify-items:center;gap:20px}
.hiw-loading::before{content:'';position:absolute;inset:0;background:color-mix(in srgb,var(--sidebar-blue) 35%,transparent)}.hiw-loading>*{position:relative}
html.hub-js .hiw-root:not(.hiw-ready):not(.hiw-failed) .hiw-loading{display:grid}html.hub-js .hiw-root:not(.hiw-ready):not(.hiw-failed) .hiw-still-story{display:none}
@media(prefers-reduced-motion:reduce){html.hub-js .hiw-root:not(.hiw-ready):not(.hiw-failed) .hiw-loading{display:none}html.hub-js .hiw-root:not(.hiw-ready) .hiw-still-story{display:block}}
.hub-program-preview{position:relative;grid-column:1/-1;min-width:0}.hub-program-preview .program-card{display:block}.hub-program-preview figure{position:relative;height:310px;overflow:hidden}
html.hiw-immersive .site-header{border-bottom:0!important;box-shadow:none!important}
.ce-tool-nav{display:flex;gap:24px;overflow-x:auto;flex-wrap:nowrap}.ce-tool-nav button{min-height:44px;white-space:nowrap;flex-shrink:0}
.ce-tools .hub-casper-tour{grid-template-columns:minmax(240px,.72fr) minmax(0,1.4fr);gap:48px;align-items:center}.hub-casper-tour .product-screen{min-width:0;margin:0}.hub-casper-tour .product-screen img{width:100%;height:auto;aspect-ratio:1.44;object-fit:contain}.hub-casper-steps{display:flex;flex-wrap:wrap;gap:8px;margin:24px 0}.hub-casper-steps button{font:500 13px/1.4 var(--sans);padding:10px 14px;min-height:44px;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--paper);color:var(--ink);cursor:pointer}.hub-casper-steps button[aria-pressed=true]{background:var(--ink);color:var(--paper);border-color:var(--ink)}
@media(max-width:700px){.ce-tools .hub-casper-tour{grid-template-columns:1fr;gap:24px}.ce-tool-nav{gap:20px}.hub-casper-tour .product-copy{order:0}.hub-casper-tour .product-screen{order:1}}

/* The high-rise footage is brighter than the previous actuarial still. */
html[data-program-editorial=actuarial] .pe-stage::after{display:block;inset:0;background:linear-gradient(180deg,color-mix(in srgb,var(--world-bg) 80%,transparent),color-mix(in srgb,var(--world-bg) 62%,transparent) 40%,transparent 72%)}
@media(max-width:700px){.hiw-root .hiw-stage>header{display:none}}
