/* Preserve the original 2016 art direction, adding progressive enhancement and access. */
html { scroll-behavior:smooth; }
a:focus-visible,button:focus-visible,summary:focus-visible { outline:3px solid #00d2ff; outline-offset:5px; }
.archive-skip { position:fixed;top:8px;left:8px;z-index:10001;padding:12px 18px;background:#00d2ff;color:#000;transform:translateY(-150%); }
.archive-skip:focus { transform:none; }
[hidden] { display:none !important; }
#header .logo:empty,.loader { display:none; }
.menuBar.show { display:block; }
.menuBar.show li { transition:none; }
.overlay.visible { display:block; }
.menuBar li a { transition:none; }
.cover-link { position:absolute;inset:0;z-index:10; }
.cover-link:focus-visible { outline-offset:-6px; }
.portfolioBar .isotope { display:flex;flex-wrap:wrap; }
.portfolioBar .element-item { position:relative;float:none; }
.portfolioBar .element-item:hover:before,.portfolioBar .element-item:focus-within:before { opacity:.6; }
.resultBar .repeat,.calenderBar .repeat,.reviewBar .repeat { display:block; }
.section-toggle { display:block;width:100%;text-align:inherit;background:transparent;color:inherit;font:inherit;line-height:inherit;border:0;cursor:inherit; }
.section-toggle:disabled { color:inherit;opacity:1; }
.gallerySlider .slides > li { display:block;float:none;width:100%; }
.gallery-controls { display:flex;align-items:center;justify-content:center;gap:20px;margin-top:14px; }
.gallery-controls button { background:#111;border:1px solid #666;color:#00d2ff;min-width:48px;min-height:44px;font-size:24px;cursor:pointer; }
.gallery-controls span { font-size:14px; }
.social-profile { display:block;margin-top:20px; }
#footer p { max-width:none;font-size:13px;line-height:1.7; }
.unavailable-video { display:inline-block;color:#aaa;font-size:11px;line-height:1.5;max-width:140px;vertical-align:middle; }
.season-video { margin:auto;width:min(960px,calc(100vw - 32px));max-height:90svh;padding:20px;border:1px solid #555;background:#111;color:#fff;box-sizing:border-box; }
.season-video::backdrop { background:rgba(0,0,0,.85); }
.season-video-heading { display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:16px; }
.season-video-heading h2 { font-size:20px;line-height:1.3; }
.season-video-close { flex-shrink:0;white-space:nowrap;padding:10px 14px;min-height:44px;border:1px solid #777;background:#111;color:#fff;font:inherit;cursor:pointer; }
.season-video video { display:block;width:100%;max-height:70svh;aspect-ratio:16/9;background:#000; }
.season-video-status { margin-top:16px;line-height:1.5; }
.season-video-status a { color:#00d2ff; }
.infographic-transcript { max-width:850px;margin:35px auto;padding:20px;border:1px solid #555; }
.infographic-transcript summary { cursor:pointer;color:#00d2ff;font-size:17px; }
.infographic-transcript div { padding-top:20px; }
.infographic-transcript p { font-size:16px;line-height:1.65; }
.risingBar .repeat img { margin-inline:auto;height:auto; }
@media (min-width:768px) {
 body.home #layout { min-height:850px;height:100svh;overflow:hidden; }
 .home .infoBar aside { height:max(790px,calc(100svh - 60px)); }
 .home .infoBar aside.two,.home .infoBar aside.three { height:max(1040px,calc(100svh + 190px)); }
 .home .textBar { pointer-events:none; }
 .home .textBar a,.home .textBar .text { pointer-events:auto; }
 .reviewBar li:nth-of-type(7) { display:block; }
 .reviewBar li:nth-of-type(7) a { font-size:13px; }
}
@media (max-width:767px) {
 .section-toggle { padding-right:80px;min-height:60px; }
 .resultBar h2,.reviewBar h2,.calenderBar h2 { padding-right:20px;height:auto; }
 .menuBar li { opacity:1;transform:none; }
 .menuBar { top:0; }
 body.home #layout { overflow:hidden; }
 .home .textBar .text .bottom { display:block;border:0;margin:14px 0 0;padding:0; }
 .home .textBar .text .bottom a.name { display:none; }
 .controlBar { display:flex;justify-content:center; }
 .controlBar a { width:calc((100% - 68px)/2); }
 .reviewBar .repeat span { font-size:13px; }
 .infographic-transcript { margin-inline:20px; }
}
@media (prefers-reduced-motion:reduce) {
 html { scroll-behavior:auto; }
 *,*:before,*:after { animation:none !important;transition:none !important; }
}

/* Brief control feedback; keyboard and reduced-motion actions remain immediate. */
:root{--ease-out:cubic-bezier(0.23,1,0.32,1)}
.gallery-controls button,.section-toggle,.portfolioBar .button-group button,.season-video-close{transition:transform 160ms var(--ease-out)}
.gallery-controls button:not(:disabled):not(:focus-visible):active,.section-toggle:not(:disabled):not(:focus-visible):active,.portfolioBar .button-group button:not(:disabled):not(:focus-visible):active,.season-video-close:not(:disabled):not(:focus-visible):active{transform:scale(.97)}
:root[data-input="keyboard"]{scroll-behavior:auto}
:root[data-input="keyboard"] *, :root[data-input="keyboard"] *::before, :root[data-input="keyboard"] *::after{transition:none!important}
/* Native dialog transitions preserve focus trapping and immediate playback pause. */
.season-video{opacity:0;transform:scale(.97);transition:opacity 200ms var(--ease-out),transform 200ms var(--ease-out),display 200ms allow-discrete,overlay 200ms allow-discrete}
.season-video[open]{opacity:1;transform:none}
.season-video::backdrop{opacity:0;transition:opacity 200ms var(--ease-out),display 200ms allow-discrete,overlay 200ms allow-discrete}
.season-video[open]::backdrop{opacity:1}
.season-video[data-instant],.season-video[data-instant]::backdrop{transition:none!important}
@starting-style{.season-video[open]{opacity:0;transform:scale(.97)}.season-video[open]::backdrop{opacity:0}}
@media (hover:hover) and (pointer:fine){.gallery-controls button:not(:disabled):hover{opacity:.8}}
@media (hover:none){.portfolioBar .element-item:hover:before{opacity:0}}
@media (prefers-reduced-motion:reduce){.season-video[open]{transform:none}@starting-style{.season-video[open]{transform:none;opacity:1}}}
