.city-world{--world-ink: #f3ecdc;--world-muted: #c8c6ba;--world-gold: #e0c197;--world-edge: rgba(224, 193, 151, .24);width:min(calc(100% - clamp(28px,5vw,72px)),1440px);margin:clamp(48px,7vw,96px) auto;color:var(--world-ink)}.city-world__header{display:flex;align-items:end;justify-content:space-between;gap:16px;margin-block-end:clamp(16px,2.1vw,28px)}.city-world__header h2{color:var(--world-ink);font-family:Playfair Display,Georgia,serif;font-size:clamp(2rem,4.5vw,4.3rem);font-weight:400;line-height:1.03;letter-spacing:-.045em;margin:0}.city-world__header p{color:var(--world-muted);font-size:clamp(.875rem,1.2vw,1rem);margin:9px 0 0}.city-world button{font-family:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent}.city-world button:focus-visible,.city-world a:focus-visible,.city-world input:focus-visible,.city-world canvas:focus-visible{outline:2px solid var(--world-gold);outline-offset:3px}.city-world__primary,.city-world__street{display:inline-flex;min-height:44px;align-items:center;justify-content:center;gap:9px;flex-shrink:0;border-radius:5px;font-size:.875rem;font-weight:650;padding:8px 14px;white-space:nowrap}.city-world__primary{background:var(--world-gold);color:#222218;border:1px solid transparent}.city-world__primary:hover{background:#f1d4aa}.city-world__stage{position:relative;width:100%;isolation:isolate;overflow:hidden;background:#10242a;border-radius:7px;box-shadow:0 0 0 1px var(--world-edge),0 16px 55px #0003}.city-world__poster,.city-world__stage canvas{display:block;position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%}.city-world__poster{object-fit:contain}.city-world__stage canvas{opacity:0;pointer-events:none;transition:opacity .23s ease}.city-world__stage canvas[data-ready=true]{opacity:1;pointer-events:auto}.city-world__stage canvas:focus-visible{outline-offset:-3px}.city-world__pin{position:absolute;display:grid;place-items:center;width:44px;height:44px;transform:translate(-50%,-50%);background:transparent;border:0;border-radius:50%}.city-world__pin span{width:14px;height:14px;border-radius:50%;background:#234650;border:2px solid #f6e2bf;box-shadow:0 1px 4px #1b2426,0 0 0 3px #1b242659;transition:transform .16s ease}.city-world__pin[aria-pressed=true] span,.city-world__pin:hover span{background:#9d553c;transform:scale(1.25)}.city-world__pin[aria-pressed=true]{z-index:1}.city-world__message,.city-world__loading{position:absolute;color:var(--world-ink);font-size:.92rem}.city-world__message{top:0;right:0;bottom:0;left:0;display:flex;flex-wrap:wrap;place-content:center;align-items:center;gap:7px;padding:16px}.city-world__message button{color:var(--world-gold);text-decoration:underline;background:transparent;border:0}.city-world__loading{top:50%;left:50%;transform:translate(-50%,-50%);border-radius:5px;padding:10px 16px;background:#0e2023f0}.city-world__zoom{position:absolute;inset:auto 12px 12px auto;display:flex;gap:2px;border:1px solid rgba(244,238,221,.3);border-radius:5px;background:#122527f0}.city-world__zoom button{width:43px;height:43px;display:grid;place-items:center;color:var(--world-ink);background:transparent;border:0;border-radius:4px}.city-world__zoom button:hover{background:#f3ecdc1f}.city-world__controls,.city-world__route{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px 14px;margin-top:16px}.city-world__stops{display:flex;flex-wrap:wrap;gap:4px 12px}.city-world__stops button{color:var(--world-muted);background:none;border:0;border-bottom:1px solid transparent;min-height:43px;padding:5px 2px;font-size:.88rem}.city-world__stops button[aria-pressed=true],.city-world__stops button:hover{color:var(--world-ink);border-bottom-color:var(--world-gold)}.city-world__stops button:disabled{opacity:.55;cursor:default}.city-world__street{background:#182d30;color:var(--world-ink);border:1px solid var(--world-edge)}.city-world__street:hover{border-color:var(--world-gold)}.city-world__route input{flex:1 1 150px;min-width:0;min-height:34px;accent-color:var(--world-gold)}.city-world__story{margin-top:18px;padding:clamp(16px,2vw,24px);border-left:2px solid var(--world-gold);background:#14262a}.city-world__story h3{font-family:Playfair Display,Georgia,serif;font-weight:400;font-size:clamp(1.25rem,2vw,1.7rem);margin:0 0 7px}.city-world__story p{color:var(--world-muted);margin:0;max-width:64ch}.city-world__story>div{display:flex;flex-wrap:wrap;gap:8px 18px}.city-world__story a{display:inline-flex;align-items:center;gap:4px;color:var(--world-gold);font-size:.83rem;margin-top:9px}.city-world__credits{display:flex;flex-wrap:wrap;gap:4px 14px;margin-top:16px;font-size:.77rem}.city-world__credits a{color:var(--world-muted);text-decoration:underline;text-underline-offset:3px}.city-world__notice{color:var(--world-muted);font-size:.86rem}@media(max-width:580px){.city-world__header{flex-wrap:wrap}.city-world__controls{margin-top:11px}.city-world__zoom{inset:auto 8px 8px auto}}@media(prefers-reduced-motion:reduce){.city-world__stage canvas,.city-world__pin span{transition:none}}:root{color-scheme:light;font-family:"Source Sans 3",system-ui,sans-serif;color:#26342a;background:#f5eedf;--ink: #26342a;--paper: #f5eedf;--muted: #575848;--line: #d6c9b2;--rust: #934635;--forest: #1c3027;--serif: "Playfair Display", Georgia, serif}*,*:before,*:after{box-sizing:border-box}body{margin:0}a{color:inherit}a:focus-visible{outline:2px solid currentColor;outline-offset:4px}#map,#visit{scroll-margin-top:20px}.visit-shell{width:min(100% - clamp(32px,7vw,112px),1296px);margin-inline:auto}.skip-link{position:fixed;z-index:3;top:12px;left:12px;padding:10px 16px;background:var(--paper);transform:translateY(-150%)}.skip-link:focus{transform:translateY(0)}.visit-header{border-bottom:1px solid var(--line)}.visit-header-inner{display:flex;min-height:70px;align-items:center;justify-content:space-between;gap:16px}.visit-brand{font:1.5rem/1.1 var(--serif);text-decoration:none;white-space:nowrap}.visit-brand span{color:var(--rust);font-size:.72em}.visit-header nav{display:flex;align-items:center;gap:clamp(14px,3vw,35px)}.visit-header nav a{display:inline-flex;min-height:44px;align-items:center;font-size:.9rem;text-decoration:none}.visit-header nav a:hover,.visit-text-link:hover{color:var(--rust)}.visit-hero{display:grid;grid-template-columns:.9fr 1.2fr;align-items:center;gap:clamp(28px,5vw,78px);padding-block:clamp(34px,6vw,86px)}.visit-location{margin:0 0 13px;color:var(--rust);font-size:.79rem;font-weight:700;letter-spacing:.09em;text-transform:uppercase}.visit-intro h1,.visit-shop h2{margin:0;font-family:var(--serif);font-weight:400;letter-spacing:-.06em}.visit-intro h1{max-width:10ch;font-size:clamp(3.15rem,6.1vw,6.6rem);line-height:.99}.visit-intro>p:not(.visit-location),.visit-shop p:not(.visit-location){color:var(--muted);font-size:clamp(1rem,1.55vw,1.2rem);line-height:1.55}.visit-intro>p:not(.visit-location){max-width:37ch;margin:23px 0}.visit-button{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:48px;padding:10px 17px;border-radius:4px;background:var(--forest);color:#fff4dd;font-size:.94rem;font-weight:650;text-decoration:none}.visit-button:hover{background:#30493a}.visit-hero-art{margin:0;background:#ebdec7;padding:clamp(6px,1vw,11px);border:1px solid #d3c3aa}.visit-hero-art img{display:block;width:100%;height:auto}.visit-hero-art figcaption{display:flex;flex-wrap:wrap;justify-content:space-between;gap:4px 16px;padding:9px 2px 2px;color:var(--ink);font-size:.82rem}.visit-hero-art figcaption span{color:var(--muted)}.visit-map{display:flow-root;background:var(--forest)}.visit-map .city-world{--world-ink: #f7eedc;--world-muted: #e0d4bc;--world-gold: #e7c493;width:min(100% - clamp(32px,7vw,112px),1296px);margin-block:clamp(36px,6vw,84px)}.visit-shop{display:grid;grid-template-columns:1.1fr 1fr;gap:clamp(24px,7vw,100px);padding-block:clamp(46px,7vw,100px)}.visit-shop h2{font-size:clamp(2.25rem,4.5vw,4.5rem);line-height:1.02}.visit-shop p:not(.visit-location){margin:0 0 12px}.visit-shop address{font-style:normal;line-height:1.5}.visit-shop-actions{display:flex;flex-wrap:wrap;gap:12px 22px;margin-top:18px}.visit-text-link{display:inline-flex;min-height:44px;align-items:center;gap:7px;text-underline-offset:3px}.visit-footer{border-top:1px solid var(--line);color:var(--muted);font-size:.85rem}.visit-footer-inner,.visit-footer-inner div{display:flex;flex-wrap:wrap;gap:10px 22px}.visit-footer-inner{justify-content:space-between;padding-block:24px}.visit-footer a{text-underline-offset:3px}@media(max-width:760px){.visit-hero,.visit-shop{grid-template-columns:1fr}.visit-hero{gap:28px}.visit-header-inner{min-height:58px}.visit-brand{font-size:1.25rem}.visit-intro h1{max-width:12ch}}@media(max-width:360px){.visit-header nav{gap:10px}.visit-header nav a{font-size:.8rem}.visit-intro h1{font-size:2.8rem}}
