/* October 1 local map candidate. Static navigation first; JS only filters. */
:root{--wine:#66243e;--mint:#9de2cb;--paper:#f6efdd;--line:#a47c505c}
body{background:#150b23}body:before{opacity:.025}body:after{background:radial-gradient(ellipse at 65% 0,#5a2b5333,transparent 48%)}
.skip-link{top:-200px;width:max-content;max-width:calc(100% - 2rem)}.skip-link:focus-visible{top:0}
button,input{font:inherit}a,button{touch-action:manipulation}h2,h3{line-height:1.18}button:focus-visible,input:focus-visible,summary:focus-visible{outline:3px solid #e8c75a;outline-offset:4px}
.arrival-stage{position:relative;display:grid;grid-template-columns:1.08fr 1fr;align-items:center;gap:3rem;max-width:1400px;margin:auto;padding:clamp(2rem,5vw,5rem) clamp(1.2rem,4vw,4rem) 3rem;min-height:690px;isolation:isolate}
.arrival-stage:before{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(ellipse at 85% 45%,#a3444659,transparent 50%),linear-gradient(90deg,#150b23e8,#150b23c9),url('marquee-20261001.webp') center/cover;opacity:.8}
.house-mark{font:600 .68rem/1.6 var(--mono);letter-spacing:.09em;display:flex;align-items:center;gap:.55rem;text-decoration:none;color:#efe2c7;margin-bottom:2.4rem;flex-wrap:wrap}.house-mark span{color:#c5aecb;font-weight:400}.house-mark img{border-radius:50%}
.arrival-copy .gate-kicker{font:600 .65rem var(--mono);letter-spacing:.28em;color:var(--gold);margin-bottom:.7rem}.arrival-copy h1{font:400 clamp(1.4rem,2vw,1.8rem)/1.2 var(--carnival);text-shadow:none;color:#d8bdb7}
.arrival-line{font:500 clamp(3.5rem,6.8vw,6rem)/.98 var(--serif);letter-spacing:-.045em;color:var(--paper);margin:1.2rem 0}.arrival-line em{color:#e8c75a;font-weight:500}.arrival-intro{max-width:31rem;color:#d8c9d9;font-size:1.05rem;line-height:1.6}.arrival-actions{display:flex;flex-wrap:wrap;gap:1.2rem;align-items:center;margin:1.6rem 0 .8rem}.arrival-actions a{font:600 .75rem/1.6 var(--mono);padding:.8rem 0;min-height:48px;text-underline-offset:5px}.arrival-actions .map-cta{background:#e8c75a;color:#190a28;padding:.8rem 1rem;border:1px solid #f4d992;border-radius:3px;text-decoration:none;box-shadow:3px 3px 0 #7d3446}.arrival-actions a:hover{color:#fff}.arrival-actions .map-cta:hover{background:#f6df8d;color:#190a28}.admission-note{font:.68rem/1.6 var(--mono);color:#bea5c6}
.arrival-cast{display:grid;grid-template-columns:1.15fr 1fr;align-items:center;gap:1rem;padding-top:1rem}.arrival-cast figure{position:relative;border:1px solid #a78255;border-radius:100px 100px 7px 7px;overflow:hidden;box-shadow:0 16px 46px #0008}.arrival-cast img{display:block;width:100%;height:440px;object-fit:cover;object-position:center 25%}.arrival-cast .girdy-welcome{margin-top:4rem}.arrival-cast .girdy-welcome img{height:390px;object-position:center 8%}.arrival-cast figcaption{position:absolute;bottom:0;left:0;right:0;padding:4rem .8rem .9rem;background:linear-gradient(transparent,#120a21f5 75%);font:600 .78rem var(--mono);color:#f3d380}.arrival-cast figcaption span{display:block;font:italic .82rem/1.35 var(--body);color:#e2cfdb;margin-top:.3rem}
.shell{max-width:78rem}.attractions{padding-top:2rem;scroll-margin-top:4rem;border-top:1px solid #ac785c70}.attraction-heading{display:flex;gap:2rem;justify-content:space-between;align-items:flex-end;margin-bottom:1.5rem}.attraction-heading h2,.map-introduction h2{font:600 clamp(1.7rem,3vw,2.7rem)/1.15 var(--serif);letter-spacing:-.035em}.attraction-heading>p{max-width:24rem;font-size:.85rem;color:#ceb8d4}.attraction-tools{display:flex;align-items:flex-end;justify-content:space-between;gap:1rem;flex-wrap:wrap;margin:1rem 0}.attraction-tools[hidden]{display:none}.attraction-tools label{font:.7rem var(--mono);color:#d6c7db;display:flex;flex-direction:column;gap:.4rem;min-width:min(24rem,100%)}.attraction-tools input{background:#25152f;color:#f6efdd;border:1px solid #9a758f;padding:.7rem .8rem;border-radius:4px;font:.85rem var(--body);width:100%;min-height:46px}.attraction-tools input::placeholder{color:#baa4c7}.filter-buttons{display:flex;flex-wrap:wrap;gap:.4rem}.filter-buttons button{background:transparent;border:1px solid #89657f;border-radius:4px;padding:.65rem .8rem;color:#e6d6e4;font:.7rem var(--mono);min-height:44px;cursor:pointer}.filter-buttons button[aria-pressed=true]{background:#e8c75a;color:#190a28;border-color:#e8c75a}.filter-buttons button:hover:not([aria-pressed=true]){background:#442744}.results-note{font:.7rem/1.6 var(--mono);color:#c7b4ce;margin:1rem 0}.attraction-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1.05rem}.attraction-card{border:1px solid #90624f78;border-radius:8px;overflow:hidden;background:linear-gradient(150deg,#322035,#21122b);display:flex;flex-direction:column;box-shadow:0 7px 16px #0003}.attraction-card[hidden]{display:none}.attraction-card:focus-within{border-color:#e8c75a;box-shadow:0 0 0 1px #e8c75a}.attraction-art{position:relative;display:flex;align-items:center;justify-content:center;min-height:145px;background:radial-gradient(ellipse at 50% 30%,#71333c,#391828 65%,#1a1028);border-bottom:1px solid #80574d8a;color:#f0d68a;overflow:hidden}.attraction-art:before{content:"";position:absolute;inset:8px;border:1px solid #dcb2604d;border-radius:40px 40px 3px 3px;pointer-events:none}.attraction-art svg{width:130px;height:94px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.attraction-art text{stroke:none;fill:currentColor;text-anchor:middle;font:12px var(--mono)}.attraction-art span{position:absolute;bottom:8px;right:10px;font:.57rem var(--mono);letter-spacing:.02em;background:#1c112bde;color:#f0d68a;padding:.2rem .45rem;border-radius:2px}.art-orb,.art-card,.art-mirror,.art-loop{background:radial-gradient(ellipse at 50% 25%,#614183,#271233 76%)}.art-wheel,.art-tape,.art-coin,.art-arcade{background:radial-gradient(ellipse at 50% 25%,#2f6261,#172c36 76%)}.art-globe{background:radial-gradient(ellipse at 50% 25%,#5b5279,#251b39 76%)}.art-sign{background:linear-gradient(135deg,#302737,#1d1726);color:#c4b5cf}.art-illustrated{height:145px}.art-illustrated img{width:100%;height:100%;object-fit:cover;object-position:center 25%;display:block}.art-illustrated:after{content:"";position:absolute;inset:0;background:linear-gradient(transparent 65%,#150b2366)}.art-illustrated span{z-index:1}.card-copy{padding:1rem;display:flex;flex-direction:column;flex:1}.card-meta{font:.54rem/1.8 var(--mono);text-transform:uppercase;letter-spacing:.02em;color:#c7b4ce;display:flex;gap:.55rem;align-items:center;flex-wrap:wrap}.badge{border-radius:2px;padding:.1rem .3rem;border:1px solid #9cd2ba;color:#b4ebd4;background:#214b3733;white-space:nowrap}.badge-visit{border-color:#e8c75a;color:#f1d783;background:#9470381f}.badge-planned,.badge-prototype{border-color:#b3a0c6;color:#d4c4df;background:#87769b26}.card-copy h3{font:600 1.13rem/1.18 var(--serif);color:#fff0d8;margin:.6rem 0}.card-copy>p:not(.card-meta):not(.held-door){font:.85rem/1.5 var(--body);color:#d2bfd6;margin-bottom:1.1rem}.card-door{margin-top:auto;display:flex;justify-content:space-between;border-top:1px solid #a6867a55;padding:.75rem 0 .05rem;min-height:44px;color:#e8c75a;font:600 .69rem/1.7 var(--mono);text-decoration:none}.card-door:hover{text-decoration:underline;text-underline-offset:4px}.held-door{margin-top:auto;color:#c0aecb;font:.62rem/1.7 var(--mono);border-top:1px solid #a6867a55;padding-top:.7rem}.availability-note{font:.67rem/1.8 var(--mono);margin:1.5rem 0;color:#c3accb}
.map-introduction{display:grid;grid-template-columns:1fr 1fr;gap:2rem;align-items:end;margin:3.5rem 0 1.4rem;padding-top:2rem;border-top:1px solid #a47c505c;scroll-margin-top:3rem}.map-introduction p:not(.row-label){font:.9rem/1.6 var(--body);color:#d0bed6;margin-top:.7rem}.grounds-wayfinding{display:flex;gap:.5rem;flex-wrap:wrap;justify-content:flex-end}.grounds-wayfinding a{font:.65rem/1.6 var(--mono);padding:.6rem .7rem;border:1px solid #886587;border-radius:3px;text-decoration:none;min-height:44px}.grounds-wayfinding a:hover{background:#3e294b;color:#f0d68a}.map-wrap{border-color:#a47c5070;scroll-margin-top:3rem}.booth.dark{opacity:.9}.booth.dark .booth-label{fill:#cfc3df}.booth-label{font-size:15px}.dir-card{scroll-margin-top:4rem}.dir-card li a,.dir-card li button{min-height:44px}.panel-close{width:44px;height:44px}.map-icons{position:absolute;width:0;height:0;overflow:hidden}.nlp-topbar{z-index:4}
@media(max-width:1100px){.arrival-stage{gap:1.5rem}.arrival-cast img{height:370px}.arrival-cast .girdy-welcome img{height:330px}.attraction-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.arrival-line{font-size:5rem}.arrival-copy{min-width:0}}
@media(max-width:800px){.arrival-stage{grid-template-columns:1fr;min-height:0;padding-top:2rem;gap:1.3rem}.house-mark{margin-bottom:1.3rem}.arrival-line{font-size:4.8rem}.arrival-cast{max-width:560px;margin:auto;width:100%;padding-top:0}.arrival-cast img{height:300px;object-position:center 21%}.arrival-cast .girdy-welcome{margin-top:0}.arrival-cast .girdy-welcome img{height:300px;object-position:center 10%}.attraction-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.attraction-heading,.map-introduction{display:block}.attraction-heading>p{margin-top:.75rem;max-width:none}.grounds-wayfinding{justify-content:flex-start;margin-top:1rem}}
@media(max-width:480px){.arrival-line{font-size:3.6rem}.arrival-cast{gap:.65rem}.arrival-cast img,.arrival-cast .girdy-welcome img{height:260px}.arrival-cast figcaption{font-size:.64rem}.arrival-cast figcaption span{font-size:.68rem}.arrival-intro{font-size:.97rem}.attraction-grid{grid-template-columns:1fr}.attraction-card{display:grid;grid-template-columns:100px minmax(0,1fr)}.attraction-art{min-height:100%;border:0;border-right:1px solid #80574d8a}.attraction-art svg{width:94px}.attraction-art span{font-size:.48rem;left:3px;right:3px;text-align:center;bottom:7px}.attraction-art:before{inset:5px}.art-illustrated{height:auto}.art-illustrated img{position:absolute;inset:0;object-position:50% 15%}.card-copy{padding:.9rem}.card-copy h3{font-size:1.12rem}.card-copy>p:not(.card-meta):not(.held-door){font-size:.81rem}.card-meta{font-size:.5rem}.filter-buttons{width:100%}.filter-buttons button{flex:1;font-size:.62rem;padding:.55rem}.house-mark span{display:none}.map-introduction{margin-top:2rem}.shell{padding:0 1rem}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
