/* Shared public responsive contract. No data, prices or media bindings change. */
:root{--kicc-gutter:clamp(16px,3.2vw,64px);--kicc-nav-height:80px;--kicc-content-width:1480px;--kicc-section-space:clamp(40px,6vw,112px)}
html{scroll-padding-top:calc(var(--kicc-nav-height) + 16px)}
body:not(.admin-shell){min-width:0}
body:not(.admin-shell) #app{padding-top:var(--kicc-nav-height);perspective:none!important;transform-style:flat!important}
body:not(.admin-shell) #app:has(>.expo-video--hero){padding-top:var(--kicc-nav-height)}
body:not(.admin-shell) :is(.wrap,.wrap-wide){width:min(calc(100% - var(--kicc-gutter)*2),var(--kicc-content-width))!important;max-width:var(--kicc-content-width)!important;padding-inline:0!important;margin-inline:auto;min-width:0}
body.rail-on .ed-chapter .wrap,body:not(.admin-shell) #chapter-nation>.ed-layer.wrap{width:min(calc(100% - var(--kicc-gutter)*2),var(--kicc-content-width))!important;padding-inline:0!important}
body:not(.admin-shell) #app :is(.ed-chapter,.ed-interlude){padding-block:var(--kicc-section-space);min-height:0}
body:not(.admin-shell) #app :is(#chapter-halls,#chapter-makers){min-height:auto}
body:not(.admin-shell) #app :is(#chapter-halls,#chapter-makers) .tm-head{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:clamp(24px,4vw,64px);align-items:end}
body:not(.admin-shell) #app .tm-head>div{min-width:0;max-width:850px}
body:not(.admin-shell) #app :is(#chapter-halls,#chapter-makers) .tm-head h2{max-width:22ch;font-size:clamp(2rem,4.7vw,5.6rem)!important;line-height:1.08!important}
body:not(.admin-shell) #app .tm-head h2 br{display:block}
body:not(.admin-shell) #app .tm-head .ed-lead{max-width:60ch;font-size:clamp(1rem,1.35vw,1.3rem);line-height:1.6}
body:not(.admin-shell) #app #chapter-inside{isolation:isolate;min-height:clamp(580px,82svh,980px);display:grid;align-content:center;overflow:hidden}
body:not(.admin-shell) #app #chapter-inside .ed-grid{grid-template-columns:minmax(0,1.15fr) minmax(0,1fr)}
body:not(.admin-shell) #app #chapter-inside .ed-col-6{grid-column:1!important;max-width:760px;min-width:0}
body:not(.admin-shell) #app #chapter-inside h2{font-size:clamp(2.4rem,5vw,6.2rem)!important;line-height:1.05!important;max-width:14ch;text-wrap:balance}
body:not(.admin-shell) #app #chapter-inside h2 br{display:block}
body:not(.admin-shell) #app #chapter-inside .ed-lead{font-size:clamp(1rem,1.35vw,1.3rem);max-width:49ch;line-height:1.65}
body:not(.admin-shell) #app #chapter-inside .ed-bleed::after{background:linear-gradient(90deg,rgba(0,0,0,.82),rgba(0,0,0,.44) 60%,rgba(0,0,0,.2))!important}
body:not(.admin-shell) #app .ed-grid{grid-template-columns:repeat(12,minmax(0,1fr));gap:clamp(20px,3vw,48px)}
/* Explicit spans survive the legacy global grid-column reset. */
html[data-kicc-motion-engine] body:not(.admin-shell) #app .ed-grid>.ed-col-4{grid-column:span 4!important}
html[data-kicc-motion-engine] body:not(.admin-shell) #app .ed-grid>.ed-col-5{grid-column:span 5!important}
html[data-kicc-motion-engine] body:not(.admin-shell) #app .ed-grid>.ed-col-6{grid-column:span 6!important}
html[data-kicc-motion-engine] body:not(.admin-shell) #app .ed-grid>.ed-col-7{grid-column:span 7!important}
html[data-kicc-motion-engine] body:not(.admin-shell) #app .ed-grid>.ed-col-8{grid-column:span 8!important}
html[data-kicc-motion-engine] body:not(.admin-shell) #app .ed-grid>.ed-offset-6{grid-column:6 / span 7!important}
html[data-kicc-motion-engine] body:not(.admin-shell) #app .ed-grid>.ed-offset-4{grid-column:4 / span 6!important}
html[data-kicc-motion-engine] body:not(.admin-shell) #app .ed-grid>.ed-offset-8{grid-column:9 / span 4!important}
body:not(.admin-shell) #app :is(.grid,.ed-grid,.hierarchy-grid,.up-grid)>*{min-width:0}
body:not(.admin-shell) #app :is(.grid.g3,.grid.g4,.grid.g5,.hierarchy-grid){grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr))!important;gap:clamp(16px,2vw,28px)}
body:not(.admin-shell) #app #prodGrid{grid-template-columns:repeat(auto-fill,minmax(min(100%,260px),1fr))!important}
body:not(.admin-shell) #app :is(.section,.section-sm){padding-block:clamp(28px,4vw,72px)}
body:not(.admin-shell) #app .page-head{padding-top:clamp(24px,4vw,64px);padding-bottom:clamp(24px,3vw,48px)}
body:not(.admin-shell) #app h1:not(.expo-video__title){font-size:clamp(2.1rem,5.2vw,6.5rem)!important;line-height:1.08;overflow-wrap:break-word}
body:not(.admin-shell) #app :is(p,h2,h3,h4){overflow-wrap:break-word}
body:not(.admin-shell) #app :is(img,video,canvas,iframe){max-width:100%}
body:not(.admin-shell) #app :is(input,select,textarea){max-width:100%;min-width:0;font-size:max(16px,1em)}
html[data-kicc-motion-engine] body:not(.admin-shell) :is(button,.btn,.pill,input:not([type=hidden]),select,.expo-video__secondary){min-height:44px!important}
body:not(.admin-shell) :is(.btn,.pill){white-space:normal;display:inline-flex;align-items:center;justify-content:center;text-align:center;max-width:100%}
body:not(.admin-shell) :is(.between,.wrapflex){min-width:0;flex-wrap:wrap}
body:not(.admin-shell) :is(.tm-track,.tabs,.tbl-wrap,.mobile-filter-rail){max-width:100%;overscroll-behavior-x:contain}
body:not(.admin-shell) .nav{z-index:1000!important;transform:none!important;top:0!important;position:fixed!important;width:100%}
body:not(.admin-shell) .nav-inner{min-width:0;width:min(calc(100% - var(--kicc-gutter)*2),1720px);max-width:1720px;padding:12px 0!important;gap:clamp(8px,1vw,18px)}
body:not(.admin-shell) .nav-links{min-width:0;gap:2px}
body:not(.admin-shell) .nav-links a{min-height:44px;display:inline-flex;align-items:center;padding:9px clamp(6px,.6vw,12px);font-size:clamp(12px,.8vw,14px);white-space:nowrap}
body:not(.admin-shell) .nav-cta{gap:8px;flex-shrink:0}
body:not(.admin-shell) .logo{min-width:0;flex-shrink:0}
body:not(.admin-shell) .logo small{max-width:150px}
body:not(.admin-shell) .mobile-menu{z-index:1100!important;max-height:100dvh;overflow-y:auto;overscroll-behavior:contain;padding:24px var(--kicc-gutter) calc(24px + env(safe-area-inset-bottom));gap:4px}
body:not(.admin-shell) .mobile-menu[hidden]{display:none!important}
body:not(.admin-shell) .mobile-menu a{min-height:48px}
body:not(.admin-shell) :is(a,button,input,select,textarea):focus-visible{outline:3px solid var(--kicc-gold,#ffcd05);outline-offset:4px}
#kicc-booking-overlay{z-index:2147483000!important;max-height:100dvh;overflow-y:auto;overscroll-behavior:contain}
#kicc-booking-modal{max-width:calc(100vw - 24px)!important;max-height:calc(100dvh - 24px)!important;overflow-y:auto;transform:none!important;touch-action:pan-y}
/* Content must never depend on scroll effects to be readable. */
html[data-kicc-motion-engine] #app :is([data-reveal],[data-stagger],.ui-reveal-pending,.depth-reveal,.ed-layer){opacity:1!important;visibility:visible!important}
html[data-kicc-motion-engine] #app :is([data-reveal],[data-stagger],.ed-chapter>.wrap,.ed-chapter>.ed-layer){transform:none!important;translate:none!important}
html[data-kicc-motion-engine] #app [data-depth]{transform:none;will-change:auto}
html[data-kicc-motion-engine] .depth-graphic{display:none}
.kicc-motion-plane{pointer-events:none;position:absolute;inset:0;z-index:1;overflow:hidden;border-radius:inherit}
.kicc-motion-light{position:absolute;inset:-60%;opacity:.13;background:linear-gradient(115deg,transparent 37%,rgba(255,255,255,.7) 49%,transparent 61%);pointer-events:none;transform:translate3d(-20%,0,0)}
.kicc-motion-toggle{font-family:inherit;font-weight:500;font-size:11px;line-height:1.25;padding:8px 12px;border:1px solid var(--glass-border,rgba(127,127,127,.3));border-radius:999px;min-width:44px}
html[data-kicc-motion=off] .kicc-motion-plane,html[data-kicc-motion=reduced] .kicc-motion-plane{display:none}
@media(max-width:1500px){body:not(.admin-shell) .chapter-rail{display:none!important}body:not(.admin-shell) .nav-links{display:none!important}body:not(.admin-shell) .burger{display:block!important;min-width:44px;min-height:44px}body:not(.admin-shell) .nav-cta .hide-m{display:none!important}}
@media(max-width:900px){body:not(.admin-shell) #app .ed-grid>*{grid-column:1/-1!important}body:not(.admin-shell) #app #chapter-inside .ed-grid{grid-template-columns:1fr}body:not(.admin-shell) #app #chapter-inside .ed-col-6{grid-column:1/-1!important}body:not(.admin-shell) #app .tm-head{grid-template-columns:1fr!important}body:not(.admin-shell) #app .tm-head>.btn{justify-self:start}body:not(.admin-shell) #app .up-grid{grid-template-columns:1fr!important}body:not(.admin-shell) .footer-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){:root{--kicc-nav-height:72px}body:not(.admin-shell) .nav-inner{width:calc(100% - 24px);gap:6px}body:not(.admin-shell) .nav-cta{gap:5px}body:not(.admin-shell) .nav-cta>.btn.gold{display:none!important}body:not(.admin-shell) .logo small{display:none}body:not(.admin-shell) .logo{gap:5px;font-size:14px}body:not(.admin-shell) .theme-toggle{max-width:96px;font-size:10px;padding-inline:8px}body:not(.admin-shell) .nav-cta>.btn{font-size:10px;padding-inline:8px}body:not(.admin-shell) .kicc-motion-toggle{font-size:10px;padding-inline:7px}body:not(.admin-shell) .footer-grid{grid-template-columns:1fr}body:not(.admin-shell) #app .ed-grid>div:last-child{display:block!important}body:not(.admin-shell) #app #chapter-inside .wrapflex>.btn{width:100%}body:not(.admin-shell) #app .tm-mode{max-width:140px}body:not(.admin-shell) #app .pc-body{padding:20px}body:not(.admin-shell) #app .pc-body h3{font-size:1.25rem!important;line-height:1.25}body:not(.admin-shell) .mobile-menu a{font-size:18px}}
@media(max-width:600px){body:not(.admin-shell) .nav-cta :is(.theme-control,.theme-toggle){width:74px!important;max-width:74px!important;min-width:44px!important;font-size:10px!important;padding-inline:6px!important;white-space:normal!important}body:not(.admin-shell) .nav-cta a:is([href$="/login"],[href*="/login?"]){display:none!important}body:not(.admin-shell) .nav-cta .kicc-motion-toggle{min-width:56px;max-width:62px}body:not(.admin-shell) .nav .logo .mark{width:30px!important;height:30px!important}body:not(.admin-shell) .nav .logo .mark img{width:30px!important;height:30px!important}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}.kicc-motion-plane{display:none!important}html[data-kicc-motion-engine] #app *{animation:none!important;transition:none!important}html[data-kicc-motion-engine] #app :is(.ed-bleed img,.hero-video,.expo-video__asset img,.expo-video__asset video){transform:none!important}}
@media(max-width:340px){body:not(.admin-shell) .nav .logo>span:not(.mark){display:none}body:not(.admin-shell) .nav-cta .theme-control{width:64px!important}body:not(.admin-shell) .nav-cta{gap:4px}}
@media(max-width:900px){html[data-kicc-motion-engine] body:not(.admin-shell) #app .ed-grid>:is(.ed-col-4,.ed-col-5,.ed-col-6,.ed-col-7,.ed-col-8,.ed-offset-4,.ed-offset-6,.ed-offset-8){grid-column:1/-1!important}}
@media print{.kicc-motion-plane,.kicc-motion-toggle{display:none!important}#app [data-reveal]{opacity:1!important;transform:none!important}}

/* Shared film-first public experience. Text remains readable without a video. */
:root{--kicc-glass-ink:#fff8ef;--kicc-glass-panel:rgba(20,24,28,.82);--kicc-glass-line:rgba(255,248,239,.42)}
html[data-kicc-immersive] body:not(.admin-shell){background:#14181c}
/* Desktop nav: actions above, scrollable page links below. Mobile collapses to logo + burger — the bottom tab bar carries primary navigation. */
@media(min-width:821px){
html[data-kicc-motion-engine] body:not(.admin-shell) #nav .nav-inner{display:grid!important;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:'brand actions' 'links links';align-items:center;gap:8px 16px;width:calc(100% - 32px)!important;max-width:1720px;margin:auto;padding:10px 0!important}
html[data-kicc-motion-engine] #nav .logo{grid-area:brand;min-width:0;justify-self:start}
html[data-kicc-motion-engine] #nav .nav-cta{grid-area:actions;display:flex;align-items:center;min-width:0;gap:8px}
html[data-kicc-motion-engine] #nav .nav-links{grid-area:links;display:flex!important;gap:8px!important;overflow-x:auto;max-width:100%;scrollbar-width:thin;scrollbar-color:rgba(255,248,239,.55) transparent;padding:2px 0 6px;overscroll-behavior-x:contain;white-space:nowrap}
html[data-kicc-motion-engine] #nav .nav-links a{flex:0 0 auto;min-height:44px!important;min-width:44px;font-size:14px!important;line-height:1.2;padding:11px 16px!important;border-radius:999px;background:rgba(20,24,28,.88)!important;border:1px solid var(--kicc-glass-line)!important;color:var(--kicc-glass-ink)!important;text-decoration:none;box-shadow:inset 0 1px 0 rgba(255,255,255,.3);backdrop-filter:blur(16px);transform:none!important;animation:none!important}
html[data-kicc-motion-engine] #nav .nav-links a[aria-current=page]{background:#f4b5a6!important;color:#251a16!important;border-color:#ffded4!important;font-weight:600}
}
#nav{background:rgba(12,16,20,.78)!important;border-bottom:1px solid rgba(255,255,255,.08);backdrop-filter:blur(20px) saturate(140%);-webkit-backdrop-filter:blur(20px) saturate(140%);color:var(--kicc-glass-ink,#fff8ef)!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.06),0 8px 30px rgba(0,0,0,.28)}
html[data-kicc-motion-engine] #nav .logo,html[data-kicc-motion-engine] #nav .logo small{color:var(--kicc-glass-ink)!important}
@media(max-width:820px){html[data-kicc-motion-engine] #nav .burger{display:block!important;background:rgba(20,24,28,.88);color:var(--kicc-glass-ink);border:1px solid var(--kicc-glass-line);border-radius:50%;min-width:44px;min-height:44px}}
/* Liquid glass is a stable finish, not a distracting button animation. */
html[data-kicc-motion-engine] body:not(.admin-shell) :is(button,.btn,.pill,.exhibit-action,.expo-video__button,.expo-video__secondary,.theme-toggle,.theme-control,.orbit-open,.kicc-film-controls button){position:relative;isolation:isolate;display:inline-flex;align-items:center;justify-content:center;gap:8px;min-width:44px;min-height:44px!important;padding:11px 18px;border:1px solid var(--kicc-glass-line)!important;border-radius:999px!important;background:rgba(20,24,28,.88)!important;color:var(--kicc-glass-ink)!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.38),inset 0 -1px 0 rgba(0,0,0,.24),0 4px 18px rgba(0,0,0,.15);backdrop-filter:blur(16px) saturate(125%);-webkit-backdrop-filter:blur(16px) saturate(125%);font-family:inherit;line-height:1.3;text-decoration:none;animation:none!important;transform:none!important;transition:background-color .15s,border-color .15s!important}
html[data-kicc-motion-engine] body:not(.admin-shell) :is(.btn.gold,.expo-video__button){background:rgba(244,181,166,.97)!important;color:#251a16!important;border-color:#ffded4!important;font-weight:600}
html[data-kicc-motion-engine] body:not(.admin-shell) :is(.btn,.pill,.expo-video__button,.expo-video__secondary,.theme-toggle,.theme-control,.orbit-open):hover{border-color:#fff8ef!important;background:#303940!important}
html[data-kicc-motion-engine] body:not(.admin-shell) :is(.btn.gold,.expo-video__button):hover{background:#ffccbd!important;color:#251a16!important}
html[data-kicc-motion-engine] body:not(.admin-shell) :is(.btn,.pill,.expo-video__button,.expo-video__secondary):active{box-shadow:inset 0 2px 5px rgba(0,0,0,.38)}
html[data-kicc-motion-engine] body:not(.admin-shell) :is(a,button,input,select,textarea):focus-visible{outline:3px solid #ffdc73!important;outline-offset:3px!important}
@media(min-width:821px){html[data-kicc-motion-engine] #nav .nav-cta>.btn.gold{display:inline-flex!important;white-space:nowrap}}
html[data-kicc-motion-engine] #nav :is(a,button){transform:none!important;animation:none!important}
.kicc-scene-bg{position:absolute;inset:0;z-index:0;pointer-events:none;overflow:hidden;background:#14181c;border-radius:inherit}
.kicc-scene-bg video{width:100%;height:100%;max-width:none!important;object-fit:cover;transform:scale(1.035);display:block;background:transparent}
.kicc-scene-bg::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(14,20,24,.12),rgba(14,20,24,.08) 65%,rgba(14,20,24,.28));pointer-events:none}
.kicc-scene-bg--fixed{position:fixed;top:var(--kicc-nav-height);height:calc(100dvh - var(--kicc-nav-height));bottom:auto;z-index:-1}
#app.kicc-immersive-section{isolation:isolate;background:transparent!important}
.kicc-immersive-section{position:relative;isolation:isolate}
html[data-kicc-immersive] #app :is(.ed-chapter,.ed-interlude,.section,.section-sm,.page-head,.ex-hero,.hierarchy-section,.sx-hero){background:transparent!important}
html[data-kicc-immersive] #app .ed-bridge{display:none!important}
html[data-kicc-immersive] #app .kicc-immersive-section>.ed-bleed{display:none!important}
html[data-kicc-immersive] #app .ed-layer,html[data-kicc-immersive] #app .ed-chapter>.wrap,html[data-kicc-immersive] #app .ed-interlude>.wrap{position:relative;z-index:2}
/* Local reading surfaces: the rest of each section remains real film, not a solid dark block. */
html[data-kicc-immersive] #app :is(.tm-head,.ed-layer>.ed-grid,.ed-interlude .ed-grid,.page-head>.wrap,.ex-hero>.wrap,.section>h1,.section>h2,.section>p,.section>.eyebrow,.section>.wrapflex,.reference-empty){background:var(--kicc-glass-panel)!important;color:var(--kicc-glass-ink)!important;border:1px solid rgba(255,248,239,.25);border-radius:22px;padding:clamp(18px,2.6vw,36px);backdrop-filter:blur(14px)}
html[data-kicc-immersive] #app :is(.tm-head,.ed-layer>.ed-grid,.ed-interlude .ed-grid) :is(h1,h2,h3,p,small,.ed-chapter-num,.ed-figure){color:var(--kicc-glass-ink)!important;opacity:1!important}
html[data-kicc-immersive] #app :is(.glass-card,.exhibit-card,.up-card,.hierarchy-tile__body,.pc-body,.county-layout-card .tile-body){background:var(--kicc-glass-panel)!important;color:var(--kicc-glass-ink)!important;border-color:rgba(255,248,239,.3)!important;backdrop-filter:blur(14px)}
html[data-kicc-immersive] #app :is(.glass-card,.exhibit-card,.up-card,.hierarchy-tile__body,.pc-body,.county-layout-card .tile-body) :is(h1,h2,h3,h4,p,.muted,.muted-xs,.price){color:var(--kicc-glass-ink)!important}
html[data-kicc-immersive] #app .exhibit-wrap{background:transparent!important}
.kicc-film-controls{position:relative;z-index:3;display:flex;align-items:center;justify-content:flex-end;gap:12px;padding:14px var(--kicc-gutter);flex-wrap:wrap}
.kicc-film-controls>span{font:500 12px/1.5 sans-serif;padding:8px 12px;border-radius:999px;background:rgba(20,24,28,.88);color:#fff8ef;max-width:100%;overflow-wrap:anywhere}
#app>.kicc-film-controls{position:sticky;bottom:12px;pointer-events:none}
#app>.kicc-film-controls>*{pointer-events:auto}
@media(max-width:900px){html[data-kicc-motion-engine] #nav .logo small{display:none!important}html[data-kicc-motion-engine] #nav .nav-inner{width:calc(100% - 24px)!important;gap:5px 8px}html[data-kicc-motion-engine] #nav .nav-cta{gap:5px}html[data-kicc-motion-engine] #nav .nav-links a{font-size:13px!important;padding:10px 14px!important}html[data-kicc-motion-engine] #nav .nav-cta>.btn{padding:10px 12px!important;font-size:12px!important}html[data-kicc-immersive] #app .ed-layer>.ed-grid{margin-top:0}.kicc-film-controls{justify-content:flex-start}}
@media(max-width:600px){html[data-kicc-motion-engine] #nav .nav-cta :is(.theme-control,.theme-toggle){display:none!important}html[data-kicc-motion-engine] #nav .logo{font-size:12px;gap:4px}html[data-kicc-motion-engine] #nav .nav-cta>.btn.gold{font-size:11px!important;padding-inline:11px!important}html[data-kicc-motion-engine] #nav .nav-cta>.btn.ghost{font-size:11px!important;padding-inline:10px!important}html[data-kicc-immersive] #app .tm-head{padding:20px;gap:20px}.kicc-film-controls{padding-inline:12px}}
@media(prefers-reduced-motion:reduce){.kicc-scene-bg video{transform:none!important}html[data-kicc-motion-engine] :is(.btn,.pill,.nav-links a){transition:none!important}}
@media(prefers-reduced-transparency:reduce){:root{--kicc-glass-panel:#14181c}html[data-kicc-motion-engine] :is(.btn,.pill,.nav-links a){backdrop-filter:none!important}}
@media(forced-colors:active){html[data-kicc-motion-engine] :is(.btn,.pill,.nav-links a){border:1px solid ButtonText!important;color:ButtonText!important;background:ButtonFace!important}.kicc-scene-bg{display:none}}

html[data-kicc-motion-engine] #nav .logo{min-height:44px;display:inline-flex;align-items:center}
@media(min-width:901px){html[data-kicc-motion-engine] #nav .nav-links{flex-wrap:wrap;overflow-x:visible;justify-content:center}}
html[data-kicc-immersive] #app .exhibit-wrap>:is(h1,h2,p){background:var(--kicc-glass-panel);color:#fff8ef;border-radius:18px;padding:18px 22px;backdrop-filter:blur(14px)}
html[data-kicc-immersive] #app .exhibit-note{background:var(--kicc-glass-panel);color:#fff8ef;border-color:#f4b5a6}
html[data-kicc-immersive] #app .exhibit-action{background:#f4b5a6!important;color:#251a16!important;font-weight:600}
html[data-kicc-immersive] #app .exhibit-meta{opacity:1!important}
html[data-kicc-motion-engine][data-kicc-immersive] body:not(.admin-shell) #app.kicc-immersive-section{background:transparent!important}
html[data-kicc-motion-engine][data-kicc-immersive] #app>.kicc-scene-bg--fixed{z-index:0}
html[data-kicc-motion-engine][data-kicc-immersive] #app.kicc-immersive-section>:not(.kicc-scene-bg){position:relative;z-index:2}
html[data-kicc-motion-engine][data-kicc-immersive] #app>.kicc-film-controls{position:sticky;z-index:4}
html[data-kicc-motion-engine] body:not(.admin-shell) #nav .nav-links a[aria-current=page]{color:#251a16!important;background:#f4b5a6!important}
html[data-kicc-motion-engine][data-kicc-immersive] #app .tm-copy a{color:#ffcfb8!important}
html[data-kicc-motion-engine][data-kicc-immersive] #app :is(.rb-fallback,.reference-empty,.ex-empty){color:#fff8ef!important;background:#202a30!important}
html[data-kicc-motion-engine][data-kicc-immersive] #app :is(.rb-fallback,.reference-empty,.ex-empty) :is(span,strong,p){color:#fff8ef!important}
html[data-kicc-motion-engine] body:not(.admin-shell) #nav .nav-links a[aria-current=page]{-webkit-text-fill-color:#251a16!important}

/* Match text fill as well as color: the legacy palette sets both properties. */
html[data-kicc-motion-engine] body:not(.admin-shell) #nav .nav-links a{-webkit-text-fill-color:#fff8ef!important}
html[data-kicc-motion-engine] body:not(.admin-shell) #nav .nav-links a[aria-current=page]{-webkit-text-fill-color:#251a16!important}
html[data-kicc-motion-engine] body:not(.admin-shell) :is(button,.btn,.pill,.expo-video__secondary,.theme-control,.theme-toggle,.orbit-open){-webkit-text-fill-color:#fff8ef!important}
html[data-kicc-motion-engine] body:not(.admin-shell) :is(.btn.gold,.expo-video__button,.exhibit-action){-webkit-text-fill-color:#251a16!important}
@media(max-width:900px){html[data-kicc-motion-engine] body:not(.admin-shell) #app :is(#chapter-halls,#chapter-makers) .tm-head{grid-template-columns:minmax(0,1fr)!important}html[data-kicc-motion-engine] body:not(.admin-shell) #app :is(#chapter-halls,#chapter-makers) .tm-head>div{width:100%;max-width:100%}}
html[data-kicc-immersive] #app :is(.ex-page,.ex-section){background:transparent!important}
html[data-kicc-immersive] #app :is(.page-head,.county-layout-head){background:var(--kicc-glass-panel)!important;color:#fff8ef!important;border-radius:22px;padding:24px;margin-inline:var(--kicc-gutter)}
html[data-kicc-immersive] #app :is(.page-head,.county-layout-head) :is(h1,h2,p,.eyebrow){color:#fff8ef!important;-webkit-text-fill-color:#fff8ef!important}

/* Reading surfaces share one contrast-safe text treatment in both themes. */
html[data-kicc-motion-engine][data-kicc-immersive] body:not(.admin-shell) #app :is(.tm-head,.ed-layer>.ed-grid,.page-head,.county-layout-head,.glass-card,.exhibit-card,.exhibit-note,.exhibit-wrap>h1,.exhibit-wrap>h2,.exhibit-wrap>p,.hierarchy-tile__body,.pc-body,.section>h1,.section>h2,.section>p,.section>.eyebrow){color:#fff8ef!important;-webkit-text-fill-color:#fff8ef!important}
html[data-kicc-motion-engine][data-kicc-immersive] body:not(.admin-shell) #app :is(.tm-head,.ed-layer>.ed-grid,.page-head,.county-layout-head,.glass-card,.exhibit-card,.exhibit-note,.hierarchy-tile__body,.pc-body) :is(h1,h2,h3,h4,p,label,small,strong,.eyebrow,.muted,.muted-xs,.price){color:#fff8ef!important;-webkit-text-fill-color:#fff8ef!important}
html[data-kicc-motion-engine][data-kicc-immersive] body:not(.admin-shell) #app .tm-copy a{color:#251a16!important;-webkit-text-fill-color:#251a16!important;background:#ffcfb8!important;padding:10px 16px;display:inline-flex;align-items:center;min-height:44px;border-radius:999px}
html[data-kicc-motion-engine][data-kicc-immersive] body:not(.admin-shell) #app .tm-initial{color:#fff8ef!important;-webkit-text-fill-color:#fff8ef!important;background:#202a30!important}
html[data-kicc-motion-engine][data-kicc-immersive] body:not(.admin-shell) #app .exhibit-action{background:#f4b5a6!important;color:#251a16!important;-webkit-text-fill-color:#251a16!important}

/* Complete the reading contrast on chapters and numeric summary pills. */
html[data-kicc-motion-engine][data-kicc-immersive] body:not(.admin-shell) #app :is(#chapter-halls,#chapter-makers) .tm-head :is(h2,p,.ed-lead,.ed-chapter-num){color:#fff8ef!important;-webkit-text-fill-color:#fff8ef!important}
html[data-kicc-motion-engine][data-kicc-immersive] body:not(.admin-shell) #app :is(.uc-stats,.ex-stats,.ex-hero .wrapflex,.ex-hero .ex-chips,.ex-hero .chips)>:is(span,.badge){background:#202a30!important;color:#fff8ef!important;-webkit-text-fill-color:#fff8ef!important;border:1px solid #fff8ef66}
html[data-kicc-motion-engine][data-kicc-immersive] body:not(.admin-shell) #app .ex-hero .ex-stats .ex-stat{background:#202a30!important;color:#fff8ef!important;-webkit-text-fill-color:#fff8ef!important}
html[data-kicc-motion-engine][data-kicc-immersive] body:not(.admin-shell) #app .ex-hero .ex-stats .ex-stat b{color:#fff8ef!important;-webkit-text-fill-color:#fff8ef!important}

/* A chapter is a vertical sequence, not three competing horizontal flex items. */
html[data-kicc-motion-engine][data-kicc-immersive] body:not(.admin-shell) #app :is(#chapter-halls,#chapter-makers){flex-direction:column!important;align-items:stretch!important}
html[data-kicc-motion-engine][data-kicc-immersive] body:not(.admin-shell) #app :is(#chapter-halls,#chapter-makers)>.ed-layer.wrap{flex:none!important}
html[data-kicc-motion-engine][data-kicc-immersive] body:not(.admin-shell) #app :is(#chapter-halls,#chapter-makers)>.ed-handoff{width:calc(100% - var(--kicc-gutter)*2);margin:24px auto 0;background:var(--kicc-glass-panel);color:#fff8ef!important;-webkit-text-fill-color:#fff8ef!important;border-radius:16px;padding:14px}
html[data-kicc-motion-engine][data-kicc-immersive] body:not(.admin-shell) #app :is(#chapter-halls,#chapter-makers)>.kicc-film-controls{align-self:stretch;justify-content:flex-end}

/* Consolidated navigation dropdowns (desktop) + uniform product imagery */
.nav-drop{position:relative}
.nav-drop-menu{position:absolute;top:calc(100% + 8px);left:0;min-width:216px;z-index:1200;padding:8px;border:1px solid var(--ui-line,#262b31);border-radius:16px;background:var(--ui-raised,#14181c);box-shadow:0 18px 40px rgba(0,0,0,.35);opacity:0;visibility:hidden;transform:translateY(-6px);transition:opacity .16s ease,transform .16s ease,visibility .16s}
.nav-drop:hover>.nav-drop-menu,.nav-drop:focus-within>.nav-drop-menu,.nav-drop.menu-open>.nav-drop-menu{opacity:1;visibility:visible;transform:none}
.nav-drop-menu a{display:block;padding:10px 14px;border-radius:12px;font-size:13.5px;font-weight:500;color:var(--ui-muted);text-decoration:none;white-space:nowrap}
.nav-drop-menu a:hover{color:var(--text);background:color-mix(in srgb, var(--ui-raised) 6%, transparent)}
.nav-drop .nav-caret{opacity:.6;font-size:11px;margin-left:2px}
.nav-links a.active::after{content:"";position:absolute;bottom:2px;left:50%;transform:translateX(-50%);width:16px;height:2px;background:var(--kicc-gold);border-radius:2px}
.prod-card img,.prod-card .pc-media{aspect-ratio:4/3;object-fit:cover;object-position:center}
.offering-card img,.marketplace-tile img{aspect-ratio:4/3;object-fit:cover;object-position:center}


/* Marketplace sub-navigation: glass filter bar + category dropdown */
.mkt-glass{background:rgba(12,16,20,.72);border:1px solid rgba(255,255,255,.08);border-radius:18px;backdrop-filter:blur(18px) saturate(140%);-webkit-backdrop-filter:blur(18px) saturate(140%);box-shadow:inset 0 1px 0 rgba(255,255,255,.05),0 14px 40px rgba(0,0,0,.24);padding:12px 16px}
#nav .nav-drop-menu,.mkt-cat-menu{background:rgba(16,20,25,.92);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);border:1px solid rgba(255,255,255,.10)}
.mkt-cat-menu{min-width:220px;max-height:60vh;overflow:auto}
.mkt-cat-menu a{display:flex;justify-content:space-between;align-items:center;gap:12px}
.mkt-cat-menu a .cnt{margin-left:auto;font-size:11px;opacity:.55}
.mkt-cat-menu a.active{color:var(--kicc-gold,#ffcd05);background:rgba(255,205,5,.08)}
.mkt-cat-trigger{padding:10px 16px!important;border-radius:999px!important}
#navLinks a{background:transparent}

/* ── Fabric button finish ────────────────────────────────────────────
   A woven-cloth texture sits inside every button; a slow silky sheen sweeps
   across like light on fabric and a subtle wave makes it read as cloth being
   shifted. Runs on all pointer types (kept lightweight), disabled only for
   reduced-motion so assistive users keep the flat, legible finish. */
:is(button, .btn, .pill, .nav-links > a, .nav-drop-menu a, .chapter-rail a, .expo-video__button, .expo-video__secondary, .theme-toggle, .theme-control, .mkt-cat-trigger, .uc-video-control, .uc-actions .btn, .nav-cta a){
  position: relative;
  overflow: hidden;
  isolation: isolate;
}
:is(button, .btn, .pill, .nav-links > a, .nav-drop-menu a, .chapter-rail a, .expo-video__button, .expo-video__secondary, .theme-toggle, .theme-control, .mkt-cat-trigger, .uc-video-control, .uc-actions .btn)::before{
  content: "";
  position: absolute;
  inset: 0;
  border-radius: inherit;
  z-index: -1;
  pointer-events: none;
  background:
    repeating-linear-gradient(45deg,  rgba(255,255,255,.07)  0 5px, rgba(0,0,0,.03) 5px 10px),
    repeating-linear-gradient(-45deg, rgba(255,255,255,.055) 0 5px, rgba(0,0,0,.025) 5px 10px),
    linear-gradient(90deg, rgba(255,255,255,.02), rgba(0,0,0,.02));
  background-size: 10px 10px, 10px 10px, 100% 100%;
  opacity: .7;
  transition: opacity .25s ease;
}
:is(button, .btn, .pill, .nav-links > a, .nav-drop-menu a, .chapter-rail a, .expo-video__button, .expo-video__secondary, .theme-toggle, .theme-control, .mkt-cat-trigger, .uc-video-control, .uc-actions .btn)::after{
  content: "";
  position: absolute;
  inset: -55%;
  z-index: -1;
  pointer-events: none;
  background: linear-gradient(115deg, transparent 32%, rgba(255,255,255,.15) 44%, rgba(255,255,255,.32) 50%, rgba(255,255,255,.15) 56%, transparent 68%);
  transform: translateX(-60%) rotate(-2deg);
  mix-blend-mode: screen;
  animation: kiccFabricSheen 6.5s cubic-bezier(.45,0,.2,1) infinite;
}
:is(button, .btn, .pill, .nav-links > a, .nav-drop-menu a, .chapter-rail a, .expo-video__button, .expo-video__secondary, .theme-toggle, .theme-control, .mkt-cat-trigger, .uc-video-control, .uc-actions .btn):hover::before{
  opacity: .9;
}
@keyframes kiccFabricSheen{
  0%   { transform: translateX(-60%) rotate(-2deg); }
  50%  { transform: translateX(60%)  rotate(2deg); }
  100% { transform: translateX(-60%) rotate(-2deg); }
}
@media (prefers-reduced-motion: reduce){
  :is(button, .btn, .pill, .nav-links > a, .nav-drop-menu a, .chapter-rail a, .expo-video__button, .expo-video__secondary, .theme-toggle, .theme-control, .mkt-cat-trigger, .uc-video-control, .uc-actions .btn)::after{ animation: none; }
}

/* Desktop navigation: expanded by default (fine pointers). Each dropdown's
   items sit inline in the bar as compact pills; phones keep the collapsed
   burger/menu exactly as before. */
@media (hover:hover) and (pointer:fine){
  .nav-links{flex-wrap:wrap;row-gap:2px;column-gap:2px}
  .nav-drop:not(.mkt-catdrop){display:inline-flex;align-items:center;gap:2px;position:static}
  .nav-drop:not(.mkt-catdrop) .nav-caret{display:none}
  .nav-drop:not(.mkt-catdrop) > .nav-drop-menu{position:static;display:inline-flex;align-items:center;gap:2px;min-width:0;width:auto;padding:0;margin:0;border:none;background:transparent!important;backdrop-filter:none!important;box-shadow:none!important;opacity:1!important;visibility:visible!important;transform:none!important;overflow:visible}
  .nav-drop:not(.mkt-catdrop) > .nav-drop-menu a{display:inline-flex;align-items:center;padding:6px 11px;border-radius:999px;font-size:12px;font-weight:500;white-space:nowrap;color:var(--ui-muted,#9aa3ad)!important}
  .nav-drop:not(.mkt-catdrop) > .nav-drop-menu a:hover{color:var(--kicc-gold,#ffcd05)!important;background:color-mix(in srgb, var(--ui-raised) 6%, transparent)}
}

/* Marketplace categories. Touch/coarse pointers keep the compact dropdown.
   Desktop (fine pointer, >=1024px) shows a strict 5 x 3 tray: 15 cells,
   All + 14 clusters, every cell the same width so the block reads as a grid. */
.mkt-cats{display:none}
@media (hover:hover) and (pointer:fine){
  .mkt-cats{display:flex;flex-wrap:wrap;gap:8px;align-items:stretch}
  .mkt-catdrop{display:none!important}
}
@media (hover:hover) and (pointer:fine) and (min-width:1024px){
  .mkt-cats{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));grid-auto-rows:minmax(52px,auto);gap:8px;align-items:stretch}
  .mkt-cats .mkt-chip{width:100%;min-width:0;justify-content:space-between;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding:10px 12px;min-height:44px}
  .mkt-cats .mkt-chip>span:first-child{overflow:hidden;text-overflow:ellipsis}
  .mkt-cats .mkt-chip .mkt-chip-count{flex:0 0 auto;margin-left:8px;opacity:.7}
}
.mkt-chip{display:inline-flex;align-items:center;gap:6px;padding:8px 12px;border:1px solid var(--glass-border,rgba(128,128,128,.22));border-radius:12px;font-size:12.5px;font-weight:500;color:var(--ui-muted,#b3bcc6);background:color-mix(in srgb,var(--ui-raised,#fff) 5%,transparent);text-decoration:none;line-height:1.2;transition:border-color .18s,color .18s,background .18s}
.mkt-chip:hover{color:var(--text,#fff8ef);border-color:var(--kicc-gold,#ffcd05)}
.mkt-chip.active{color:#14110C;border-color:#FFCD05;background:linear-gradient(135deg,#FFE066,#FFCD05);font-weight:700;box-shadow:0 2px 10px rgba(255,205,5,.28)}
.mkt-chip .mkt-chip-count{opacity:.6;font-size:10.5px}
.mkt-chip.active .mkt-chip-count{opacity:.85}

/* Selected filter must be unmistakable. The theme-layer rule
   html[data-theme] :is(...,.pill.active) re-pointed the background to --ui-soft,
   which is the same surface as an inactive pill. These two rules land at the
   end of the cascade with !important so the gold survives every theme. */
html[data-theme] .pill.active,html[data-theme] .tabs button.on,html[data-theme] .seg button.on{
  color:#14110C!important;font-weight:700!important;
  background:linear-gradient(135deg,#FFE066,#FFCD05)!important;
  border-color:#FFCD05!important;box-shadow:inset 0 0 0 1px rgba(20,17,12,.18),0 2px 10px rgba(255,205,5,.30)!important
}
.pill.active,.tabs button.on,.seg button.on{
  color:#14110C!important;font-weight:700!important;
  background:linear-gradient(135deg,#FFE066,#FFCD05)!important;
  border-color:#FFCD05!important
}
