/* Harvest festival: ochre ink, wheat gold and warm rice paper. */
.estate-shell,.exhibit{--ink:#422b17;--paper:#f1dfb5;--muted:#795532;--gold:#a26724;--line:#875a3040;color:var(--ink);background:radial-gradient(ellipse at 10% 0,#efd18277,transparent 60%),linear-gradient(125deg,#f6e6bf,#e4c48c)}
.estate-shell .topbar,.exhibit .topbar{background:#9b622bf5;color:#ffe8b2;border-color:#6f3c1b55;margin:0 -12px;padding:0 12px}
.exhibit .topbar{margin:0 -18px;padding:0 18px}
.estate-shell .brand,.exhibit .brand,.estate-shell .topbar .text-button,.estate-shell .topbar .outline-button,.exhibit .topbar .text-button,.exhibit .topbar .outline-button{color:#ffedc2}
.estate-shell .map-heading h1{color:#4b2c13;font-size:20px}.estate-shell .map-heading .wallet{color:#71491e}.estate-shell .map-heading .wallet small{color:#805a35}
.estate-shell .estate-map{border:2px solid #ad783a;box-shadow:0 8px 20px #68401f33;background:#ae7a38}
.estate-shell .map-bg{filter:sepia(.25) saturate(.8)}
.estate-shell .map-tag{background:linear-gradient(110deg,#f5e2b2f7,#e9c77ff7);border-color:#986225;color:#4f2c11;box-shadow:0 5px 12px #5d351c44,inset 0 0 0 3px #fff2cd50}
.estate-shell .map-tag em{color:#9a5127;border-color:#aa713b55}.estate-shell .map-tag small{color:#79532d}
.estate-shell .map-watermark{color:#fff0c1;text-shadow:0 2px 5px #74461d}
.estate-shell .map-footer,.estate-shell .map-footer>small{color:#79542c}.estate-shell .map-footer b{color:#59330f}
.estate-shell .map-building{animation:map-rise .65s both}.estate-shell .map-building.research{animation-delay:.1s}.estate-shell .map-building.cellar{animation-delay:.2s}
.estate-shell .map-building:hover .map-tag{background:#ffe5a2;box-shadow:0 5px 22px #62320b55}
.exhibit .exhibit-hero{padding:20px 0 17px}.exhibit .hero-copy>.eyebrow{font-size:8px;color:#986029;letter-spacing:1.6px}.exhibit .exhibit-number{color:#986029}
.exhibit .hero-kicker{font-size:12px;letter-spacing:1px;margin-top:12px;color:#70451e}
.exhibit .hero-copy h1{font-size:25px;line-height:1.35;letter-spacing:1px;color:#432913;margin:7px 0 9px}
.exhibit .hero-copy h1 br{display:none}
.exhibit .hero-desc{font-size:11px;color:#765332;line-height:1.8}
.exhibit .hero-foot{margin:11px 0 17px;font-size:9px;color:#8a5527;gap:10px}
.exhibit .small-seal{color:#9b4528;border-color:#a44c2c;font-size:14px}
.exhibit-gallery{min-width:0}.gallery-main{position:relative;height:213px;padding:5px;background:#fff0cd;border:1px solid #ad793d;box-shadow:0 7px 15px #6d432225;overflow:hidden;isolation:isolate}
.gallery-photo{width:100%;height:100%;object-fit:cover;animation:photo-develop .65s ease-out both}
.gallery-main::after{content:"";position:absolute;inset:40% 5px 5px;background:linear-gradient(transparent,#3e2811d9);pointer-events:none}
.gallery-main figcaption{position:absolute;bottom:17px;left:17px;right:17px;z-index:2;display:flex;justify-content:space-between;align-items:end;color:#fff1cb;font-size:12px;pointer-events:none}
.gallery-main figcaption small{display:block;font:8px var(--sans);letter-spacing:2px;margin-bottom:5px;color:#f6d69a}.gallery-main figcaption b{font-size:24px;font-weight:normal}
.gallery-picker{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin-top:9px}
.gallery-picker button{position:relative;text-align:left;padding:3px;background:#e0bb7c;border:1px solid transparent;border-radius:2px;min-width:0}
.gallery-picker img{width:100%;height:43px;object-fit:cover;filter:saturate(.75);opacity:.8}
.gallery-picker span{display:block;font-size:9px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding:5px 2px;color:#65421d}
.gallery-picker button.active{border-color:#914921;background:#fff0c6;box-shadow:0 2px 5px #69401c22}.gallery-picker button.active img{opacity:1;filter:none}.gallery-picker button:hover{transform:translateY(-2px)}
.exhibit .stat-strip{background:#9d652c;color:#ffebbe;border-color:#bd8740;box-shadow:inset 0 0 0 4px #dfae6033;padding:14px 13px 10px;gap:8px}
.exhibit .stat{border-color:#f4d19455}.exhibit .stat strong{font-size:30px;color:#ffe1a0}.exhibit .stat span{color:#fff0ce;font-size:10px}.exhibit .stat-strip>p,.exhibit .stat-strip small{color:#efd5a8;font-size:8px}
.exhibit .chapter-heading{color:#89602f}.exhibit .exhibit-body{padding-top:21px}.exhibit .chapter-heading{margin-bottom:13px}
.exhibit .topic-nav{gap:5px;border:none;margin-bottom:18px}.exhibit .topic-nav>button{background:#dcb47666;color:#744c26;border:1px solid #ae793b55;border-radius:3px;min-height:43px;font-size:12px}
.exhibit .topic-nav>button.active,.exhibit .topic-nav>button:hover{color:#ffebbb;background:#9a582c;border-color:#8c4a20}.exhibit .topic-nav>button>span{color:inherit;opacity:.75}
.exhibit .story-heading>.eyebrow{color:#99612b}.exhibit .story-heading h2{font-size:22px;color:#563016}.exhibit .story-heading>p,.exhibit #detail-copy p{color:#765436;font-size:12px}
.exhibit .interactive-panel{border-color:#b17b3e88;background:#f9ecca;box-shadow:0 7px 22px #70471c1a;border-radius:3px}
.exhibit .art-area{border-color:#b9874955;background:#dbb772;height:255px!important;min-height:255px!important}
.exhibit .premium-exhibit-art{object-position:center 54%}.exhibit .art-caption{color:#4a301c;text-shadow:0 1px 5px #ffefd6}
.exhibit .detail-area{padding:18px}.exhibit .detail-tabs button{background:#eed5a2;color:#704722;border-color:#ac733d77}
.exhibit .detail-tabs button.active{background:linear-gradient(135deg,#ba7935,#8c481e);color:#fff1c5;border-color:#8c481e;box-shadow:0 3px 8px #713b2222}
.exhibit .detail-tabs button>small{color:inherit;opacity:.7}.exhibit .detail-index{color:#a2622518}
.exhibit #detail-copy{animation:story-unfold .4s both}.exhibit #detail-copy h3{color:#593317}
.exhibit .detail-pagination>span,.exhibit .source-note,.exhibit .exhibit-footer,.exhibit .exhibit-footer>.text-button{color:#805831}
.exhibit .source-note>span{color:#9b5126;border-color:#a8713e77}.exhibit .round-button{color:#814f22;border-color:#ad763d77}.exhibit .round-button:hover{color:#fff0c6;background:#9b622b}
body:has(.page-map) dialog,body:has(.exhibit) dialog{background:#f2dfb6;color:#503017;border-color:#9c662c}
body:has(.exhibit) .dialog-content>p,body:has(.exhibit) .dialog-content>small,body:has(.exhibit) .dialog-close{color:#78512d}.photo-credit{font-size:12px;text-decoration:underline;color:#9b5126}
/* Results keep the hall's jade frame, with an explicit type hierarchy. */
.result-card{padding:31px 24px 22px;overflow:hidden}
.result-card .eyebrow{font-size:10px;letter-spacing:2px}
.result-level{margin:22px 0 6px;color:#d5bd84;font-size:12px;letter-spacing:4px}.result-level b{font:24px Georgia,serif;color:#f4d69a}
.result-card h2{font-size:33px;letter-spacing:4px;line-height:1.35;white-space:nowrap;margin-bottom:8px}
.result-stamp{display:inline-block;border:1px solid #d2af64;padding:4px 12px;color:#f0d293;font:14px var(--serif);letter-spacing:4px;transform:rotate(-6deg);animation:stamp-arrive .6s .15s both}
.result-scores{display:grid;grid-template-columns:1fr 1fr;margin:23px 0 15px;padding:16px 0;border-top:1px solid #c0a46655;border-bottom:1px solid #c0a46655}.result-scores>div+div{border-left:1px solid #c0a46655}.result-scores span{display:block;font-size:11px;color:#c9c7a7}.result-scores strong{display:block;font:32px Georgia,serif;color:#ffe0a0;margin-top:7px}.result-scores small{font:11px var(--sans);color:#e0d4b4}
.result-rewards{display:flex;justify-content:space-between;align-items:center;font-size:11px;gap:7px;color:#e7ce95}.result-rewards>span{color:#bbbfa1}.result-rewards b{font-weight:500;background:#dbc38916;padding:7px 9px;border-radius:3px}
.result-card p.result-note{font-size:11px;line-height:1.9;margin:17px 0 21px;color:#c1c6ac}.result-card .primary-button{width:100%;font-size:14px;padding:13px 9px}.result-card .text-button{font-size:11px}
@keyframes stamp-arrive{from{opacity:0;transform:scale(1.7) rotate(-18deg)}to{opacity:1;transform:scale(1) rotate(-6deg)}}
@keyframes photo-develop{from{opacity:.25;transform:scale(1.035);filter:sepia(.8)}to{opacity:1;transform:scale(1);filter:sepia(0)}}
@keyframes story-unfold{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
@keyframes map-rise{from{opacity:0;translate:0 12px}to{opacity:1;translate:0 0}}
@media(prefers-reduced-motion:reduce){.result-stamp,.gallery-photo,.estate-shell .map-building,.exhibit #detail-copy{animation:none}}
body:has(.page-map),body:has(.page-research),body:has(.page-cellar){background:radial-gradient(ellipse at 50% 35%,#75502d,#342115 75%)}
/* Fine paper grain and translucent ink washes stay behind all content. */
.estate-shell,.exhibit{position:relative;isolation:isolate;background:radial-gradient(ellipse at 0 20%,#fff4d9b0,transparent 42%),radial-gradient(ellipse at 100% 70%,#b9782930,transparent 48%),linear-gradient(145deg,#f6e6bf,#e8cd9a 48%,#f5e6c4)}
.estate-shell::before,.exhibit::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;opacity:.25;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='paper'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.68' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Cpath fill='%23896335' filter='url(%23paper)' opacity='.65' d='M0 0h180v180H0z'/%3E%3C/svg%3E");background-size:150px 150px}
.estate-shell::after,.exhibit::after{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:repeating-linear-gradient(105deg,transparent 0 67px,#87501d04 68px,transparent 69px 135px),radial-gradient(ellipse at 105% 3%,#ab68261c,transparent 36%)}
.exhibit .exhibit-hero{padding-top:8px}.exhibit .hero-copy>.eyebrow{font-size:7px;line-height:13px;letter-spacing:1.2px;min-height:13px}.exhibit .hero-copy>.eyebrow .tiny-diamond{font-size:11px}.exhibit .exhibit-number{font-size:6px;letter-spacing:1px}.exhibit .hero-kicker{margin-top:8px}
.exhibit .interactive-panel{margin-top:12px;background:linear-gradient(140deg,#fff4d8d9,#f1d9a5d9)}
.exhibit .art-area{height:195px!important;min-height:195px!important}.exhibit .premium-exhibit-art{object-position:center 58%}
.exhibit .stat-strip{background:linear-gradient(110deg,#a36c31,#8b5228)}
.estate-shell .map-tag{background:linear-gradient(115deg,#fff0cdf5,#e8c682ed);backdrop-filter:blur(7px)}
.estate-shell .estate-map::after{content:"";position:absolute;inset:0;pointer-events:none;box-shadow:inset 0 0 25px #8e541e35;border:3px solid #ffebbf33;z-index:5}


/* Keep the lake signature in the clear water beside the cellar entrance. */
.estate-shell .map-watermark{display:flex;gap:9px;writing-mode:horizontal-tb;right:16px;bottom:26px;font-size:20px;line-height:1.3;letter-spacing:4px;pointer-events:none;text-shadow:0 2px 5px #593b1d,0 0 10px #543d2388}.estate-shell .map-watermark>span{writing-mode:vertical-rl}.estate-shell .map-watermark>span:last-child{padding-top:21px}
/* Persistent audio control stays available on every screen and result card. */
#audio-toggle{position:absolute;z-index:50;bottom:4px;right:5px;min-width:28px;height:28px;padding:0 5px;border:1px solid #c6a86b88;border-radius:50%;color:#f4d99f;background:#25362af2;font:16px Georgia,serif;box-shadow:0 2px 7px #0003}
#audio-toggle[aria-pressed="false"]{opacity:.7;font-size:12px}
.hall-footer,.map-footer>small,.production-footer>small{padding-right:30px}
.result-card:has(.next-level-cta){padding-top:24px;padding-bottom:16px}.result-card:has(.next-level-cta) .result-level{margin-top:12px}.result-card:has(.next-level-cta) .result-scores{margin-top:15px;padding:12px 0}.result-card:has(.next-level-cta) p.result-note{margin:10px 0 12px}
.next-level-cta{display:block;position:relative;overflow:hidden;width:100%;margin:0 0 12px;padding:11px 12px;background:linear-gradient(115deg,#ffd98a,#ffebad 50%,#e5ac4d);border:1px solid #fff0bf;border-radius:4px;color:#66320f;box-shadow:0 0 0 3px #e7b55e22,0 6px 17px #0004}
.next-level-cta span{display:block;font-size:10px;letter-spacing:3px;margin-bottom:4px}.next-level-cta strong{display:block;font:21px var(--serif);letter-spacing:2px}
.next-level-cta::after{content:"";position:absolute;inset:0;background:linear-gradient(100deg,transparent 25%,#fff9dc99,transparent 75%);transform:translateX(-140%);animation:next-level-glint 4s 1s infinite;pointer-events:none}
@keyframes next-level-glint{0%,60%{transform:translateX(-140%)}100%{transform:translateX(140%)}}
@media(prefers-reduced-motion:reduce){.next-level-cta::after{animation:none}}

/* The cellar remains unobscured; any interacting building rises above its peers. */
.estate-shell .map-building.cellar{z-index:4}
.estate-shell .map-building:is(:hover,:focus-visible,:active){z-index:10}
.exhibit .art-caption small{display:block;font-size:8px;writing-mode:horizontal-tb}.exhibit .art-caption{writing-mode:horizontal-tb;left:10px;right:auto;bottom:9px;background:#f8e6c6cf;padding:5px 7px;text-shadow:none;font-size:7px}
