/* Scheme A exhibition surfaces. The homepage hero keeps its own geometry and artwork. */
:root {
 --exhibit-wall: #ecdbc9;
 --exhibit-stone: image-set(url('/assets/below-fold/marble-1.webp') 1x, url('/assets/below-fold/marble-2.webp') 2x);
 --exhibit-ink: #312119;
 --exhibit-copy: #594337;
 --exhibit-meta: #795732;
 --exhibit-rule: #b28c61;
 --exhibit-input: #f8ecdf;
 --exhibit-head: clamp(32px, calc(27px + 1.3vw), 52px);
 --exhibit-card-title: clamp(24px, calc(21px + .45vw), 29px);
 --exhibit-body: clamp(16px, calc(15px + .16vw), 18px);
 --exhibit-label: clamp(14px, calc(13px + .11vw), 15px);
 --exhibit-serif: 'Songti SC', 'Noto Serif SC', 'SimSun', serif;
 --exhibit-sans: 'PingFang SC', 'Microsoft YaHei', sans-serif;
}
:root[data-theme=dark] {
 --exhibit-wall: #29241f;
 --exhibit-stone: var(--gallery-wall-texture, none);
 --exhibit-ink: #f6e7cf;
 --exhibit-copy: #eadac3;
 --exhibit-meta: #e4bc86;
 --exhibit-rule: #977047;
 --exhibit-input: #342b23;
}
:root :is(.exhibit-floor,.exhibit-footer) {
 color: var(--exhibit-ink);
 background: var(--exhibit-wall) var(--exhibit-stone) center top / max(100%, 1200px) auto repeat-y;
 font: 400 var(--exhibit-body)/1.55 var(--exhibit-sans);
}
:root[data-theme=light] body[data-scene=grok-a] main:has(>.exhibit-floor) {background:none}
.exhibit-wrap {width:min(83%,1536px);margin-inline:auto}
html:root:root[data-theme] :is(.exhibit-floor,.exhibit-footer) :is(h1,h2,h3,p) {margin:0}
html:root:root[data-theme] .exhibit-floor :is(h1,h2,h3) {
 color:var(--exhibit-ink);font:700 var(--exhibit-head)/1.22 var(--exhibit-serif)!important;
 letter-spacing:0;
}
html:root:root[data-theme] .exhibit-floor h3 {font-size:var(--exhibit-card-title)!important}
html:root:root[data-theme] .exhibit-floor :is(p,dd) {font-size:var(--exhibit-body)!important;color:var(--exhibit-copy)}
html:root:root[data-theme] .exhibit-floor :is(.exhibit-kicker,.catalog-month,.form-notice,.field-error) {
 font-size:var(--exhibit-label)!important;color:var(--exhibit-meta)
}
html:root:root[data-theme] .exhibit-floor .exhibit-cta {
 display:inline-flex;align-items:center;justify-content:center;min-height:48px;height:auto;
 width:fit-content;padding:10px 24px;gap:10px;border:1px solid #a37749;border-radius:6px;
 background:#d5ad7c;color:#312119;box-shadow:none;font:500 17px/1.35 var(--exhibit-sans)!important;
}
.exhibit-cta::before {display:none}
.exhibit-floor :focus-visible,.exhibit-footer :focus-visible {outline:3px solid var(--exhibit-meta);outline-offset:3px}
.exhibit-floor :is(#versions,#about,#application) {scroll-margin-top:84px}

.exhibit-view {position:relative;isolation:isolate}
.exhibit-card-frame {position:relative}
.exhibit-shell {position:absolute;z-index:1;inset:0;width:100%;height:100%;max-width:none;pointer-events:none;object-fit:fill}
.exhibit-port {position:absolute;left:var(--port-left);top:var(--port-top);width:var(--port-width);height:var(--port-height);overflow:hidden;mask:var(--port-mask,none) center / 100% 100% no-repeat}
.exhibit-port :is(img,video) {width:100%;height:100%;max-width:none;object-fit:cover;display:block}
.exhibit-catalog {padding:58px 0 56px;text-align:center}
/* Only the new floor blends in. The hero keeps its own canvas and fade. */
:root[data-theme=light] #home + .exhibit-floor {
 background-image:linear-gradient(var(--paper), transparent 108px),var(--exhibit-stone);
 background-size:100% 110px,max(100%,1200px) auto;
 background-repeat:no-repeat,repeat-y;
}
:root[data-theme=dark] #home + .exhibit-floor {
 background-image:linear-gradient(#1c120a, transparent 108px),var(--exhibit-stone);
 background-size:100% 110px,max(100%,1200px) auto;
 background-repeat:no-repeat,repeat-y;
}
.exhibit-catalog-heading {display:flex;align-items:center;gap:24px}
.exhibit-catalog-heading::before,.exhibit-catalog-heading::after {
 content:'';flex:1;border-top:1px solid color-mix(in srgb,var(--exhibit-rule) 65%,transparent);
}
html:root:root[data-theme] .exhibit-catalog .catalog-month {margin:8px 0 27px}
.exhibit-featured-title {display:flex;align-items:baseline;gap:10px;max-width:calc(100% - 54px)}
.exhibit-featured-title h3 {min-width:0;max-width:100%}
.exhibit-featured-title span {flex:none;color:var(--exhibit-meta);font-size:var(--exhibit-label)}

.exhibit-catalog .library-link {display:block;text-align:right;margin:22px 0 0;font-size:17px!important;color:var(--exhibit-ink)}
html:root:root[data-theme] .exhibit-floor :is(.filter-group summary,.filter-selection,.filter-footer,.filter-group small) {font-size:var(--exhibit-label)!important}
html:root:root[data-theme] .exhibit-floor .exhibit-grid {
 display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px 26px;text-align:left;
}
html:root:root[data-theme] .exhibit-floor .exhibit-card {
 display:block;position:relative;isolation:isolate;width:100%;min-width:0;max-width:none;min-height:0;height:auto;aspect-ratio:auto;
 background:none;box-shadow:none;border:0;border-radius:0;overflow:visible;padding:0;margin:0;
}
.exhibit-card::before,.exhibit-card::after {display:none!important}
.exhibit-card-frame {aspect-ratio:1/.845}
.exhibit-card .exhibit-port {z-index:0!important;inset:auto;left:var(--port-left);top:var(--port-top);width:var(--port-width);height:var(--port-height);background:transparent;mask:var(--port-mask) center / 100% 100% no-repeat;aspect-ratio:auto}
.exhibit-card .exhibit-port video {position:absolute;inset:0}
.exhibit-caption {position:absolute;z-index:2;left:9%;right:9%;top:75.5%;pointer-events:none}
.exhibit-caption h3 {max-width:77%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.exhibit-meta {display:flex;flex-wrap:wrap;column-gap:9px;margin-top:5px;font-size:var(--exhibit-label);color:var(--exhibit-copy)}
html:root:root[data-theme] .exhibit-floor .exhibit-meta .card-meta {font-size:inherit!important;color:inherit}
.exhibit-card .exhibit-action {position:absolute;top:76%;right:7%;z-index:6;color:var(--exhibit-meta);font-size:var(--exhibit-label)!important;flex-direction:column;align-items:flex-end}
.exhibit-action .version-inquiry {color:inherit;font-size:14px!important;min-height:36px;margin:0}
.exhibit-card .card-positioning {position:static;padding:0;margin:10px 4px 0!important;line-height:1.55;text-align:left}
.exhibit-floor .card-month {font-size:14px!important;color:var(--exhibit-meta)}
.exhibit-floor .month-heading {display:flex;align-items:center;justify-content:space-between;margin:24px 0 20px}
html:root:root[data-theme] .exhibit-floor .month-heading h2 {font-size:clamp(24px,2vw,32px)!important}
.exhibit-floor .month-heading span {font-size:var(--exhibit-label)}
.exhibit-floor .month-group {margin-bottom:37px}
.exhibit-floor .library-controls {padding:12px 0;border-block:1px solid var(--exhibit-rule);max-width:none}
.exhibit-floor #library-groups {max-width:none}

.exhibit-about {text-align:center;padding:40px 0 60px}
.exhibit-about .about-intro {margin:14px 0 32px!important}
html:root:root[data-theme] .exhibit-floor .exhibit-tablets {
 display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px;max-width:none;padding:0;text-align:left;
}
html:root:root[data-theme] .exhibit-tablets article,.exhibit-application,.exhibit-process {
 position:relative;isolation:isolate;padding:clamp(24px,2.2vw,38px);
 border:0;border-radius:0;box-shadow:none;background:transparent;min-width:0;
}
.exhibit-tablets article::before,.exhibit-tablets article::after {display:none!important}
.stone-panel {
 position:absolute;inset:0;width:100%;height:100%;max-width:none;object-fit:fill;pointer-events:none;z-index:-1;
 filter:drop-shadow(0 5px 8px #6c4a2924);
}
.expertise-icon {display:block;width:85px;height:85px;object-fit:contain;object-position:left center;margin-bottom:17px}
.exhibit-about .exhibit-tablets article {min-height:290px}
.exhibit-tablets article h3 {margin-bottom:15px!important}
.exhibit-tablets article p {line-height:1.55}
.exhibit-ways {text-align:center;padding:36px 0 52px}
.exhibit-ways>.exhibit-tablets {margin:29px auto 38px}
.exhibit-ways .cooperation-cards article {min-height:412px}
.exhibit-ways dl {margin:20px 0}
.exhibit-ways dt {font-size:var(--exhibit-label);color:var(--exhibit-meta);margin:15px 0 4px}
.exhibit-ways dd {margin:0;line-height:1.5}
.exhibit-ways .text-button {color:var(--exhibit-ink)}
.exhibit-process {text-align:center;padding-block:42px 44px}
.exhibit-process .exhibit-steps {border:0;margin-top:28px;padding:0}
.exhibit-process .exhibit-steps li {border-bottom:0}

.exhibit-closing {min-height:510px;padding:48px 0 63px;border-top:1px solid var(--exhibit-rule)}
.closing-intro {display:flex;justify-content:space-between;align-items:center;gap:24px}
.exhibit-closing .exhibit-kicker {margin-bottom:14px!important}
.exhibit-closing h2+p {margin-top:15px!important}
.exhibit-steps {
 display:grid;grid-template-columns:repeat(5,minmax(0,1fr));list-style:none;
 margin:53px 0 0;padding:35px 0 20px;border-block:1px solid var(--exhibit-rule)
}
.exhibit-steps li {position:relative;text-align:center;min-width:0;overflow-wrap:anywhere}
.exhibit-steps li+li::before {content:'';position:absolute;left:0;top:12%;height:82%;border-left:1px solid var(--exhibit-rule);opacity:.63}
.exhibit-steps li span {display:block;color:var(--exhibit-ink);font:600 clamp(16px,1.3vw,20px)/1.4 var(--exhibit-serif)}
.exhibit-steps li b {font-weight:400;margin-right:3px}
.step-medal {display:block;width:68px;height:68px;object-fit:contain;margin:0 auto 10px}

.exhibit-page-head {position:relative;display:flex;align-items:flex-end;min-height:304px;padding:109px 0 32px;border-bottom:1px solid var(--exhibit-rule)}
.exhibit-page-title {position:relative;z-index:1;max-width:57%}
.exhibit-page-title .exhibit-kicker {margin-bottom:10px!important}
.exhibit-page-title h1+p {margin-top:14px!important}
.header-exhibit {position:absolute;width:min(32%,340px);height:auto;aspect-ratio:1012/629;bottom:14px;right:0}
.exhibit-application {width:min(79%,1196px);margin-top:24px;padding:32px 58px 44px}
.exhibit-application .contact-channels {margin-top:18px}
.exhibit-application #application {margin:0;padding:0;border:0;background:none;box-shadow:none}
.exhibit-application h2 {margin-bottom:22px!important}
.exhibit-application .form-grid {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 33px}
html:root:root[data-theme] .exhibit-application .form-grid label {display:block;color:var(--exhibit-ink);font-size:var(--exhibit-label)!important}
.exhibit-application :is(input:not([hidden]),select) {
 display:block;width:100%;min-width:0;height:44px;margin-top:3px;padding:0 11px;
 border:1px solid #a98463;border-radius:4px;background:var(--exhibit-input);color:var(--exhibit-ink);
 font:400 16px var(--exhibit-sans);
}
.exhibit-application input::placeholder {color:var(--exhibit-copy)}
.exhibit-application .field-error:empty,.exhibit-application #form-result:empty {display:none}
.exhibit-application .form-notice {margin:12px 0!important;line-height:1.4}
.exhibit-application .contact-channels,.exhibit-application .contact-qr-row {color:var(--exhibit-ink)}
@media(min-width:1024px) and (max-height:800px) {
 .contact-main .exhibit-page-head {min-height:223px;padding-top:80px;padding-bottom:19px}
 .contact-main .header-exhibit {width:min(25%,228px);bottom:9px}
 .exhibit-application {padding:25px 52px 34px;margin-top:18px}
 .exhibit-application h2 {margin-bottom:12px!important}
}

:root :is(.exhibit-footer) {border-top:1px solid var(--exhibit-rule);padding:40px 0 57px}
.exhibit-footer-grid {display:grid;grid-template-columns:1fr 1.5fr .9fr auto;gap:22px;align-items:start;min-height:72px}
.exhibit-footer a {color:var(--exhibit-ink)}
.exhibit-footer nav {display:flex;gap:18px;flex-wrap:wrap;font-size:16px}
.exhibit-footer .brand {font:700 26px/1.3 var(--exhibit-serif)}
html:root:root[data-theme] .exhibit-footer p {font-size:14px!important;overflow-wrap:anywhere}
.exhibit-footer .health-notice {text-align:left;margin-top:20px!important;padding-top:20px;border-top:1px solid var(--exhibit-rule);color:var(--exhibit-copy)}
:root[data-theme=light] .exhibit-stone-dark,
:root[data-theme=dark] .exhibit-stone-light {display:none}
:root[data-theme=dark] .header-exhibit .exhibit-shell {filter:sepia(.32) brightness(.32) saturate(.9)}
:root[data-theme=dark] .stone-panel {filter:drop-shadow(0 5px 8px #140a0566)}
:root[data-theme=dark] .exhibit-footer .health-notice {opacity:1}
:root[data-theme=dark] .exhibit-floor .version-inquiry {color:var(--exhibit-meta)}

html:root:root[data-theme] body:is([data-page=library],[data-page=contact]) .nav:not(.scrolled) {width:min(83%,1536px);max-width:none}
html:root:root[data-theme] body:is([data-page=library],[data-page=contact]) .nav.scrolled {padding-inline:max(8.5%,calc((100vw - 1536px)/2))}
body[data-page=library] .nav nav a[href="/#versions"] {text-decoration:underline;text-underline-offset:8px;text-decoration-color:var(--exhibit-rule)}
body[data-page=contact] .nav .nav-actions>a {text-decoration:underline;text-underline-offset:7px;text-decoration-color:var(--exhibit-rule)}
html:root:root[data-theme] :is(.site-nav,.nav) :is(nav a,.nav-actions>a) {font-size:16px!important}

@media(max-width:1023px) {
 .exhibit-wrap {width:90%}
 .header-exhibit {width:min(33%,330px)}
 html:root:root[data-theme] .exhibit-floor .exhibit-grid {grid-template-columns:repeat(2,minmax(0,1fr))}
 .exhibit-application {width:86%;padding:28px 36px 42px}
 html:root:root[data-theme] body:is([data-page=library],[data-page=contact]) .nav:not(.scrolled) {width:94%}
 html:root:root[data-theme] body:is([data-page=library],[data-page=contact]) .nav.scrolled {padding-inline:3%}
}
@media(max-width:767px) {
 .exhibit-wrap {width:calc(100% - 48px)}
 .header-exhibit {display:none}
 .exhibit-page-head {min-height:238px;padding:87px 0 23px}
 .exhibit-page-title {max-width:100%}
 html:root:root[data-theme] .exhibit-page-head h1 {font-size:40px!important}
 html:root:root[data-theme] :is(.site-nav,.nav) .nav-actions>a {font-size:14px!important}
 .exhibit-catalog {padding:29px 0 28px}
 html:root:root[data-theme] .exhibit-floor :is(.exhibit-grid,.exhibit-tablets) {grid-template-columns:minmax(0,1fr);gap:21px}
 .exhibit-caption {top:75.4%}
 .exhibit-meta {margin-top:1px}
 .exhibit-about {padding:26px 0 41px}
 html:root:root[data-theme] .exhibit-about .exhibit-tablets article {min-height:169px;padding:25px 25px 27px 84px}
 .expertise-icon {position:absolute;left:19px;top:31px;width:52px;height:52px}
 .exhibit-tablets article h3 {margin-bottom:8px!important}
 .exhibit-application {padding:26px 22px 37px}
 .exhibit-application .form-grid {grid-template-columns:1fr;gap:14px}
 .exhibit-ways {padding:34px 0 32px}
 .exhibit-ways .cooperation-cards article {min-height:0;padding-bottom:37px}
 .exhibit-process {text-align:left;padding:24px 0 0}
 .exhibit-process>.stone-panel {display:none}
 .exhibit-closing {min-height:0;padding:32px 0 39px}
 .closing-intro {flex-direction:column;align-items:flex-start;gap:16px}
 .exhibit-steps {display:block;padding:12px 0 0;margin-top:26px;border-bottom:0}
 .exhibit-steps li {display:flex;gap:17px;align-items:center;text-align:left;padding:9px 0;border-bottom:1px solid var(--exhibit-rule)}
 .exhibit-steps li+li::before {display:none}
 .exhibit-steps li span {font-size:19px}
 .step-medal {width:43px;height:43px;margin:0}
 :root .exhibit-footer {padding:28px 0 37px}
 .exhibit-footer-grid {display:flex;flex-direction:column;gap:15px}
}

html:root:root[data-theme] .hero :is(.hero-featured,.hero-video-controls button) {font-size:max(14px,var(--type-meta,14px))!important}

html:root:root[data-theme] .exhibit-floor:is(.contact-main,.library-main) {
 background:var(--exhibit-wall) var(--exhibit-stone) center top / max(100%,1200px) auto repeat-y;
}
html:root:root[data-theme] .exhibit-floor :is(.library-controls,#library-groups) {width:min(83%,1536px);max-width:none}
html:root:root[data-theme] .exhibit-floor .exhibit-library-link {width:fit-content;margin-left:auto;text-align:right}
html:root:root[data-theme] .exhibit-ways .cooperation-cards article h3 {text-align:left}
html:root:root[data-theme] .exhibit-floor .month-group .exhibit-grid {row-gap:36px;margin-bottom:0}
html:root:root[data-theme] .exhibit-floor .library-card .card-positioning {display:block;overflow:visible}
html:root:root[data-theme] .exhibit-floor #application .exhibit-cta {border-radius:6px;background:#d5ad7c;color:#312119;font-size:17px!important}
html:root:root[data-theme=dark] #home .v8-featured {font-size:max(14px,calc(var(--type-unit,var(--unit)) * .014))!important}
@media(min-width:1024px){
 .exhibit-floor .desktop-filter-host .library-filters {display:grid;grid-template-columns:repeat(3,minmax(0,1fr)) auto}
 .exhibit-floor .desktop-filter-host .filter-group {min-width:0}
}
@media(max-width:1023px){
 html:root:root[data-theme] .exhibit-floor :is(.library-controls,#library-groups) {width:90%}
 .exhibit-floor #open-filters {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;padding:0;border:0;background:none;box-shadow:none}
 .exhibit-floor #open-filters span {
  display:flex;align-items:center;justify-content:center;gap:5px;min-height:44px;
  border:1px solid var(--exhibit-rule);border-radius:4px;background:var(--exhibit-input);
  color:var(--exhibit-ink);font-size:14px;min-width:0
 }
 .exhibit-floor #open-filters b {font-weight:400;overflow:hidden;text-overflow:ellipsis}
 html:root:root[data-theme=dark] #home :is(.v8-subtitle,.v8-enter,.v8-browse,.v8-console-plane .medallion-name,.v8-current-name) {
  font-size:14px!important
 }
}
@media(max-width:767px){
 html:root:root[data-theme] .exhibit-floor :is(.library-controls,#library-groups) {width:calc(100% - 48px)}
}
html:root:root[data-theme] .exhibit-floor #library-groups .month-group,
html:root:root[data-theme] .exhibit-floor .month-group .exhibit-grid {width:100%;margin-inline:0;padding-inline:0}
html:root:root[data-theme] .exhibit-floor .exhibit-caption {top:calc(72% + 3px)}
html:root:root[data-theme] .exhibit-floor .exhibit-caption h3 {line-height:1.1!important}
.exhibit-caption .exhibit-meta {margin-top:3px;line-height:1.2}
.exhibit-footer .footer-company {grid-column:4}
@media(max-width:1023px){
 html:root:root[data-theme] body:is([data-page=library],[data-page=contact]) .nav .nav-actions .theme-toggle {
  display:grid;place-items:center;width:36px;height:44px;padding:8px
 }
 html:root:root[data-theme] body:is([data-page=library],[data-page=contact]) .nav .theme-toggle-mobile {display:none}
}
@media(max-width:767px){.exhibit-application {padding-bottom:48px}}
html:root:root[data-theme] #library-filters :is(small,output,.filter-footer button) {
 font-size:max(14px,var(--exhibit-label))!important
}
