/* Shared interactions load after each immutable theme renderer. */
/* These reading roles bind ink to its actual surface, independent of theme hue. */
body[data-theme][data-renderer] :is(.card-link,.text-link) { color:var(--reading-link) !important; }
body[data-theme][data-renderer] :is(.cookie-notice a,.contact-panel .eyebrow,.contact-list a,.rich-text a) { color:var(--reading-link); }
/* A fade that exposes the artwork also fades text, so scrollable rows stay unmasked. */
body[data-theme][data-renderer] [data-row-track] { mask-image:none !important; }
body[data-theme][data-renderer] .hero-slide--with-copy .hero-copy {
    background:rgb(0 0 0 / .72); padding:1rem 1.25rem; border-radius:0;
}
body[data-theme][data-renderer] .hero-slide--with-copy .hero-copy :is(h2,p) { color:#fff; opacity:1; }
body[data-theme][data-renderer] :is(.content-section,.content-card,.group-card,.staff-card,.gallery-card,.related-content,.contact-panel,.page-lead,[class$="-staff-card"],[class$="-panel"]) {
    color:var(--reading-text);
}
body[data-theme][data-renderer] :is(.content-card__body p,.group-card__summary,.staff-card__copy p,[class$="-staff-card"] p) { color:var(--reading-muted); }
body[data-theme][data-renderer] :is(
    .page-hero h1,.page-hero .eyebrow,.content-section > h1,.content-section > h2,.related-content > h2,.related-content > h3,
    .staff-role-group__heading h2,.staff-role-group__heading h3,.section-heading h2,.group-card__name,.gallery-card__copy strong,
    .content-card__body h3,.content-card__body h3 a,.document-card__title,.staff-card h3,.staff-card h4,[class$="-staff-card"] h3,
    [class$="-panel__head"] h2,[class$="-section__heading"] h2,[class$="-quicklink"]
) { color:var(--reading-heading); }
body[data-theme][data-renderer] :is(.card-date,.card-meta time,.breadcrumbs [aria-current="page"],.book-bar__page) {
    background:var(--secondary); color:var(--on-secondary);
}
body[data-theme][data-renderer] :is(.card-date,.card-meta time) > * { color:inherit; }
body[data-theme][data-renderer] :is(.button,[class*="-button--"],[class$="-chip-link"]) {
    background:var(--surface); color:var(--reading-surface-ink); opacity:1;
    transition-property:transform,box-shadow;
}
body[data-theme][data-renderer] :is(.button--primary,[class$="-button--primary"]) {
    background:var(--primary); color:var(--on-primary);
}
body[data-theme][data-renderer] :is(.button,[class*="-button--"],[class$="-chip-link"]):is(:hover,:focus-visible) {
    background:var(--secondary); color:var(--on-secondary); filter:none;
}
body[data-theme][data-renderer] .site-footer,
body[data-theme][data-renderer] .site-footer :is(a,p,h2,span,small,nav,address) { color:var(--reading-footer-ink); opacity:1; transition-property:transform,box-shadow; }
body[data-theme][data-renderer] .site-footer { background-image:linear-gradient(var(--reading-footer),var(--reading-footer)); }
body[data-theme][data-renderer] .site-footer [class$="-footer__wave-body"] { fill:var(--reading-footer); }
body[data-theme][data-renderer] .site-footer :is([class*="-footer__shell"],[class*="-footer__legal"],[class*="-footer__credit"]) {
    background-color:var(--reading-footer);
    transition-property:transform,box-shadow;
}
body[data-theme][data-renderer] .nav-submenu { background:var(--surface); }
body[data-theme][data-renderer] .nav-submenu a { color:var(--reading-surface-ink); transition-property:transform,box-shadow; }
body[data-theme][data-renderer] .nav-submenu a:is(:hover,:focus-visible,[aria-current="page"]) { background:var(--primary); color:var(--on-primary); }
body[data-theme][data-renderer][data-menu-colors="single"] .primary-nav__item > :is(a,.nav-group) {
    background:var(--surface); color:var(--reading-menu-ink);
}
body[data-theme][data-renderer][data-menu-colors="single"] .primary-nav__item > .nav-group > :is(a,button) {
    background:transparent; color:inherit;
}
body[data-theme][data-renderer][data-menu-colors="single"] .primary-nav__item:is(.is-current-trail,:hover,:focus-within) > :is(a,.nav-group) {
    background:var(--primary); color:var(--on-primary);
}
/* A single shape family applies to text commands, navigation and icon controls. */
body[data-button-shape] { --action-radius:14px; }
body:is([data-button-shape="soft"],[data-button-shape="leaf"],[data-button-shape="wing"],[data-button-shape="cloud"],[data-button-shape="arch"],[data-button-shape="superellipse"],[data-button-shape="petal"],[data-button-shape="paint-blob"]) { --action-radius:8px; }
body:is([data-button-shape="pill"],[data-button-shape="capsule"],[data-button-shape="candy"],[data-button-shape="ticket"],[data-button-shape="bookmark"]) { --action-radius:999px; }
body[data-theme][data-renderer][data-button-shape] :is(
    .button,button:not(.slider-dot),[class$="-button"],[class*="-button--"],[class$="-chip-link"],
    .primary-nav__item > a,.nav-group,.nav-submenu a,.breadcrumbs a,.breadcrumbs [aria-current="page"]
) { border-radius:var(--action-radius) !important; clip-path:none !important; }
body[data-theme][data-renderer] .nav-group > :is(a,button) { border-radius:0 !important; }
body[data-theme][data-renderer] .nav-group { overflow:visible; }
/* Selection must not reserve space for a missing motif or move adjacent links. */
body[data-theme][data-renderer] .primary-nav__item > a {
    padding-inline: .75rem !important;
}
body[data-theme][data-renderer] .nav-parent-link { padding-inline: .75rem .25rem; }
body[data-theme][data-renderer] .primary-nav__item > a::before {
    content: none !important;
    display: none !important;
}
body[data-theme][data-renderer] .primary-nav__item > a,
body[data-theme][data-renderer] .nav-parent-link {
    font-size: .875rem;
    letter-spacing: 0;
}
@media (min-width: 68.001rem) {
    body[data-theme][data-renderer] .site-header > :is(.shell,.site-header__inner):has(> .brand) {
        display: flex;
        flex-wrap: wrap;
        gap: .5rem 1rem;
    }
    body[data-theme][data-renderer] .site-header .brand { flex: 0 0 auto; }
    body[data-theme][data-renderer] .site-header .primary-nav { flex: 1 1 max-content; max-width: 100%; }
    body[data-theme][data-renderer] .primary-nav__list { flex-wrap: wrap; }
}
body[data-menu-colors="multi-accessible"] .primary-nav__item:nth-child(6n+1) { --nav-color:var(--menu-color-1); --nav-ink:var(--menu-ink-1); }
body[data-menu-colors="multi-accessible"] .primary-nav__item:nth-child(6n+2) { --nav-color:var(--menu-color-2); --nav-ink:var(--menu-ink-2); }
body[data-menu-colors="multi-accessible"] .primary-nav__item:nth-child(6n+3) { --nav-color:var(--menu-color-3); --nav-ink:var(--menu-ink-3); }
body[data-menu-colors="multi-accessible"] .primary-nav__item:nth-child(6n+4) { --nav-color:var(--menu-color-4); --nav-ink:var(--menu-ink-4); }
body[data-menu-colors="multi-accessible"] .primary-nav__item:nth-child(6n+5) { --nav-color:var(--menu-color-5); --nav-ink:var(--menu-ink-5); }
body[data-menu-colors="multi-accessible"] .primary-nav__item:nth-child(6n+6) { --nav-color:var(--menu-color-6); --nav-ink:var(--menu-ink-6); }
body[data-menu-colors="multi-accessible"] .primary-nav__item > :is(a,.nav-group) {
    background:var(--nav-color) !important; color:var(--nav-ink) !important; filter:none !important;
}
body[data-menu-colors="multi-accessible"] .primary-nav__item > .nav-group > :is(a,button) {
    background:transparent !important; color:var(--nav-ink) !important; filter:none !important;
}
/* An expanded mobile group is a layout container, not one tall capsule. */
@media (max-width:68rem) {
    body[data-theme][data-renderer] .primary-nav__item > .nav-group {
        --group-background:var(--surface); --group-ink:var(--reading-menu-ink);
        background:transparent !important;
    }
    body[data-theme][data-renderer][data-menu-colors="single"] .primary-nav__item:is(.is-current-trail,:hover,:focus-within) > .nav-group {
        --group-background:var(--primary); --group-ink:var(--on-primary);
    }
    body[data-theme][data-renderer][data-menu-colors="multi-accessible"] .primary-nav__item > .nav-group {
        --group-background:var(--nav-color); --group-ink:var(--nav-ink);
    }
    body[data-theme][data-renderer] .primary-nav__item > .nav-group > :is(a,button) {
        background:var(--group-background) !important; color:var(--group-ink) !important;
        align-self:stretch; height:auto; min-height:3rem;
    }
    body[data-theme][data-renderer] .primary-nav__item > .nav-group > .nav-parent-link {
        border-radius:var(--action-radius) 0 0 var(--action-radius) !important;
    }
    body[data-theme][data-renderer] .primary-nav__item > .nav-group > .nav-disclosure {
        border-radius:0 var(--action-radius) var(--action-radius) 0 !important;
    }
}
body[data-motion-ready][data-theme][data-card-animation] [data-motion-card]:is(:hover,:focus-within,*) {
    transform:none; translate:none; rotate:none; scale:none; transition:box-shadow .3s ease; will-change:auto;
}
body[data-motion-ready][data-theme][data-card-animation] [data-motion-card] :is(img,.card-media,[class$="__photo"],[class$="__art"]) {
    transform:none !important; scale:none !important; rotate:none !important;
}
body[data-motion-ready] [data-motion-card] { transform-origin:center; }
body[data-motion-ready] [data-motion-card][data-motion-active] { position:relative; z-index:4; }
.slider-motion-canvas { position:absolute; pointer-events:none; z-index:4; border-radius:inherit; }
body [data-slider-root][data-motion-effect] .hero-slide.is-leaving { z-index:5; }
body [data-slider-root][data-motion-effect] .hero-slide.is-entering { z-index:6; }
body [data-slider-root][data-motion-effect] .hero-slide__media { background:transparent !important; box-shadow:none; border-color:transparent; }
body [data-slider-root][data-motion-effect] .hero-slide__media :is(picture,.hero-slide__art) { visibility:hidden; }
body [data-slider-root][data-motion-effect] .slider-controls { z-index:9; }

.card-glow-surface { position:absolute; inset:0; z-index:2; overflow:hidden; border-radius:inherit; pointer-events:none; box-shadow:inset 0 0 0 3px color-mix(in srgb,var(--secondary) 75%,#fff); }
.card-glow-surface > i { position:absolute; inset:0 auto 0 0; width:60%; background:linear-gradient(105deg,transparent 15%,rgb(255 255 255 / .65) 48%,color-mix(in srgb,var(--secondary) 25%,transparent) 65%,transparent 85%); }
body [data-slider-root] { box-shadow:0 14px 36px rgb(0 0 0 / .32),0 3px 10px rgb(0 0 0 / .24); }
body [data-slider-root] .hero-slider__viewport { border-radius:inherit; }
body [data-slider-root] .slider-frame { position:absolute; inset:3px; z-index:8; pointer-events:none; border-radius:inherit; box-sizing:border-box; color:#fff; opacity:.8; }
body [data-slider-frame="none"] .slider-frame { display:none; }
body [data-slider-frame="solid"] .slider-frame,
body [data-slider-frame="dashed"] .slider-frame { border:6px solid currentColor; }
body [data-slider-frame="dashed"] .slider-frame { border-style:dashed; }
.slider-frame > i { display:none; position:absolute; width:56px; height:56px; border:0 solid currentColor; }
body [data-slider-frame="corners"] .slider-frame > i,
body [data-slider-frame="two-corners"] .slider-frame > i { display:block; }
.slider-frame [data-corner="top-left"] { top:0; left:0; border-width:7px 0 0 7px; border-top-left-radius:12px; }
.slider-frame [data-corner="top-right"] { top:0; right:0; border-width:7px 7px 0 0; border-top-right-radius:12px; }
.slider-frame [data-corner="bottom-left"] { bottom:0; left:0; border-width:0 0 7px 7px; border-bottom-left-radius:12px; }
.slider-frame [data-corner="bottom-right"] { bottom:0; right:0; border-width:0 7px 7px 0; border-bottom-right-radius:12px; }
body [data-slider-frame="two-corners"] .slider-frame > [data-corner="top-right"],
body [data-slider-frame="two-corners"] .slider-frame > [data-corner="bottom-left"] { display:none; }
body [data-slider-root] .slider-controls { z-index:9; }
body [data-slider-root] :is([data-slider-previous], [data-slider-next]) { opacity:.5; }
body [data-slider-root] .slider-arrow {
    display:grid; place-items:center; width:54px; min-width:54px; height:54px; min-height:54px;
    padding:0; border:2px solid #fff; color:#17202a; background:#fff;
    box-shadow:0 2px 12px #0006,0 0 0 1px #17202a66;
    transition:transform .2s ease,box-shadow .2s ease;
}
body [data-slider-root] .slider-arrow img { display:block; width:28px; height:28px; }
body [data-slider-root] .slider-arrow:hover { transform:translateY(-50%) scale(1.06); box-shadow:0 3px 16px #0008,0 0 0 2px var(--primary); }
body [data-slider-root] .slider-arrow:focus-visible { outline:3px solid #17202a; outline-offset:3px; }
body [data-slider-root] .slider-sound { position:absolute; top:12px; right:12px; z-index:9; display:grid; place-items:center; width:44px; height:44px; padding:0; background:#fff; color:#17202a; border:1px solid #17202a33; border-radius:50%; box-shadow:0 2px 8px #0004; cursor:pointer; }
body [data-slider-root] .slider-sound img { width:22px; height:22px; }
body [data-slider-root] .slider-sound[hidden],body [data-slider-root] .slider-sound img[hidden] { display:none; }
body [data-slider-root] .slider-sound:focus-visible { outline:3px solid #17202a; outline-offset:3px; }
@media(max-width:56rem) {
    body [data-slider-root] .slider-arrow { top:auto; bottom:12px; transform:none; width:48px; min-width:48px; height:48px; min-height:48px; }
    body [data-slider-root] .slider-arrow:hover { transform:scale(1.06); }
    body [data-slider-root] .hero-slide__content.shell { padding-bottom:4.75rem; }
    body [data-slider-root] .slider-dots { bottom:24px; }
}
@media(prefers-reduced-motion:reduce) {
    body [data-slider-root] .slider-arrow { transition:none; }
    body [data-slider-root] .slider-arrow:hover { transform:translateY(-50%); }
}
@media(prefers-reduced-motion:reduce) and (max-width:56rem) {
    body [data-slider-root] .slider-arrow:hover { transform:none; }
}
body [data-slider-root] .hero-slide.is-entering,
body [data-slider-root] .hero-slide.is-leaving,
body [data-slider-root] .hero-slide.is-entering .hero-slide__content {
    animation:none !important; transform:none !important;
}
body [data-slider-root] .hero-slide.is-entering .hero-copy { animation:none !important; }
body [data-slider-root] .hero-slide.is-entering { z-index:2; }
body [data-slider-root] .hero-slide.is-leaving { z-index:1; }
/* Shared sizes preserve each renderer's own motif artwork. */
body[data-theme][data-renderer] :is([class$="-panel__head"], [class$="-section__heading"]) h2::before,
body[data-theme][data-renderer] .page-hero h1::before {
    width:56px; height:48px; flex:0 0 56px;
    margin-inline-end:10px; background-size:contain;
}
body[data-theme][data-renderer] :is(
    .content-section > h1, .content-section > h2, .related-content > h2, .related-content > h3,
    .staff-role-group__heading > h2, .staff-role-group__heading > h3, .contact-panel > h2
)::before {
    width:48px; height:40px; margin-inline-end:10px; vertical-align:middle; background-size:contain;
}
body[data-theme][data-renderer] :is(
    .content-card__copy h3, .group-card__name, .gallery-card__copy strong, .document-card__title,
    .staff-card__copy h2, .staff-card__copy h3, .staff-card__copy h4, [class$="-staff-card"] h3, .book-thumb__title
)::before {
    width:40px; height:32px; margin-inline-end:7px; vertical-align:middle; background-size:contain;
}
body[data-theme][data-renderer] [class*="-quicklink__art"]::after {
    width:48px; height:40px; right:-8px; bottom:-4px; background-size:contain;
}
body[data-theme][data-renderer] .card-date.card-date--full {
    width:56px; min-height:64px; height:auto; gap:2px; padding:6px 4px; line-height:1.1;
}
body[data-theme][data-renderer] .card-date.card-date--full .card-date__year {
    font-size:12px; font-weight:700; line-height:1.2;
}
@media (prefers-reduced-motion:reduce) {
    [data-motion-card], [data-motion-card] > * { animation:none !important; transition:none !important; }
    .slider-motion-canvas { display:none; }
}
/* Video posters remain available to the shared transition compositor. */
.hero-slide-video { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; visibility: hidden; }
.hero-slide-video.is-playing { visibility: visible; }
.is-entering .hero-slide-video, .is-leaving .hero-slide-video { visibility: hidden; }
[data-slider-video-toggle]:focus-visible { outline: 3px solid #fff; outline-offset: -5px; }
body[data-theme] [data-slider-root] .hero-slide__media,
body[data-theme] .theme-atmosphere,
body[data-theme] img[src*="/themes/"],
body[data-theme] video { -webkit-touch-callout: none; -webkit-user-drag: none; user-select: none; }
body[data-theme] [data-slider-root] .hero-slide__media img,
body[data-theme] [data-slider-root] video { pointer-events: none; }
body[data-theme] [data-slider-root] .hero-slide__content { pointer-events: none; }
body[data-theme] [data-slider-root] .hero-copy { pointer-events: auto; }
