:root{--bg:#12100f;--accent:#d1a16e;--fg:#f1e6d1;--panel:#201a18}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-height:100vh;background:var(--bg);color:var(--fg);font-family:Georgia,serif}button,input{font:inherit}button{cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid var(--accent);outline-offset:3px}a{color:inherit}button{touch-action:manipulation}.brand{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1.2rem max(1.2rem,env(safe-area-inset-left));position:relative;z-index:3}.brand h1{margin:0;font-size:clamp(2.4rem,9vw,5rem);font-weight:400;letter-spacing:.07em;color:var(--accent);line-height:.85}.brand h1 span{display:block;font:600 .16em Arial,sans-serif;letter-spacing:.6em;text-align:center;margin-top:.8em}.brand-actions{display:flex;align-items:center;gap:.4rem}.sound-toggle{width:44px;height:44px;border:1px solid var(--accent);border-radius:50%;color:var(--accent);background:transparent}.sound-toggle[aria-pressed=true]{background:var(--accent);color:var(--bg)}.icon-button .saved-count{font:600 .55rem Arial,sans-serif;vertical-align:top}.compare-actions{display:flex;justify-content:center;gap:1rem}.icon-button{border:1px solid currentColor;background:transparent;color:var(--accent);width:44px;height:44px;border-radius:50%;font-size:1.4rem}.overline,.path-label{font:600 .72rem Arial,sans-serif;letter-spacing:.23em;text-transform:uppercase}.saved-trigger,.footer-button{background:transparent;border:1px solid var(--accent);color:var(--accent);padding:.7rem 1rem;border-radius:3px;font:600 .8rem Arial,sans-serif;letter-spacing:.06em}.footer-button{display:block;margin:2rem auto}.results{display:grid;gap:1rem}.result-card{position:relative;min-width:0;padding:1.2rem;border:1px solid color-mix(in srgb,var(--accent) 40%,transparent);background:var(--panel);color:var(--fg);border-radius:8px}.result-card .meta{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center;font:600 .72rem Arial,sans-serif;letter-spacing:.11em;text-transform:uppercase;color:var(--accent)}.result-card h3{font-size:clamp(1.4rem,4vw,2rem);font-weight:400;line-height:1.1;margin:.7rem 0}.result-card p{font:1rem/1.5 Arial,sans-serif;opacity:.78;margin:.5rem 0 1rem}.result-card button{border:1px solid var(--accent);background:var(--accent);color:var(--bg);min-height:44px;padding:.65rem 1.2rem;border-radius:3px;font:600 .9rem Arial,sans-serif}.result-card .service{display:block;font:.75rem Arial,sans-serif;opacity:.7;margin-top:.8rem}.empty{padding:2rem;border:1px dashed var(--accent);line-height:1.5}.active{filter:brightness(1.18)}.current-cat{color:var(--accent)}#overlay{position:fixed;inset:0;background:#000b;z-index:10;display:none;align-items:end;justify-content:center}#overlay.open{display:flex}.sheet{background:var(--bg);color:var(--fg);border:1px solid var(--accent);border-radius:18px 18px 0 0;width:min(100%,680px);max-height:92dvh;overflow:auto;padding:1.25rem 1.25rem calc(1.4rem + env(safe-area-inset-bottom));box-shadow:0 -20px 70px #0008}.sheet-head{display:flex;justify-content:space-between;align-items:center;gap:1rem}.sheet h2{font-size:clamp(2rem,8vw,3.3rem);font-weight:400;line-height:1.05;margin:.8rem 0}.sheet p,.sheet li{font:1rem/1.55 Arial,sans-serif}.sheet ol{padding-left:1.35rem}.sheet li{padding:.35rem 0}.sheet .caveat{border-left:3px solid var(--accent);padding:.7rem 1rem;background:var(--panel)}.sheet .actions{display:flex;flex-wrap:wrap;gap:.7rem}.sheet .actions a,.sheet .actions button{display:inline-flex;align-items:center;justify-content:center;min-height:44px;background:var(--accent);color:var(--bg);border:1px solid var(--accent);border-radius:4px;padding:.7rem 1rem;font:600 .9rem Arial,sans-serif;text-decoration:none}.sheet .actions button{background:transparent;color:var(--accent)}.sheet .close{background:transparent;border:0;color:var(--fg);font-size:1.7rem;min-width:44px;min-height:44px}.sheet input[type=search]{width:100%;padding:1rem;background:var(--panel);color:var(--fg);border:1px solid var(--accent);border-radius:5px;font:1rem Arial,sans-serif}.sheet .search-results{display:grid;gap:.5rem;margin-top:1rem}.sheet .search-results button{padding:1rem;text-align:left;border:1px solid var(--accent);background:var(--panel);color:var(--fg);font:1rem Arial,sans-serif}.sheet .search-results small{display:block;color:var(--accent);margin-top:.4rem}.splash{position:fixed;inset:0;background:var(--bg);z-index:20;display:grid;place-items:center;color:var(--accent);pointer-events:none;animation:depart .7s ease .35s forwards}.splash-0 span{transform-origin:bottom;animation:arrive .5s both}.splash-3 span{animation:arrive .5s both,rotate-in .7s both}.splash-9 span{animation:arrive .5s both}.splash-9{background:#dfc9aa}@keyframes rotate-in{from{transform:rotate(-90deg) scale(.6);opacity:0}to{transform:none;opacity:1}}.splash span{font-size:clamp(4rem,18vw,9rem);letter-spacing:.13em;animation:arrive .5s both}@keyframes arrive{from{opacity:0;transform:translateY(20px) scale(.9)}to{opacity:1;transform:none}}@keyframes depart{to{opacity:0;visibility:hidden}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;transition-duration:.01ms!important}.splash{display:none}}
body{background:linear-gradient(#151312,#080808)}.brand,.hall{max-width:900px;margin:auto}.hall{padding:1rem}.hall h2{text-align:center;font-size:clamp(2rem,6vw,3rem);font-weight:400}.doors{display:grid;gap:1rem}.doors button{text-align:left;display:grid;gap:.4rem;padding:1.5rem;background:linear-gradient(#27201c,#100e0d);color:var(--fg);border:1px solid #8d6548;border-radius:50% 50% 4px 4px/12% 12% 4px 4px;min-height:130px;box-shadow:inset 0 0 30px #000}.doors button.active{background:linear-gradient(#523621,#21150e);box-shadow:inset 0 0 35px #c8883a55}.doors small{color:var(--accent);letter-spacing:.2em}.doors strong{font-size:clamp(2rem,6vw,4rem);font-weight:400;line-height:1}.doors span{font:1rem Arial,sans-serif}.chamber{border:2px solid #9d6f46;background:#1c1510;padding:1rem;margin-top:1rem;box-shadow:inset 0 0 60px #000}.chamber-tabs{display:flex;gap:.4rem;overflow:auto;margin-bottom:1rem}.chamber-tab{background:transparent;color:var(--fg);border:0;border-bottom:2px solid #6f533b;padding:.7rem;white-space:nowrap}.chamber-tab span:first-child{display:none}.chamber-tab.active{border-color:var(--accent);color:var(--accent)}.chamber .results{grid-template-columns:repeat(auto-fit,minmax(min(100%,250px),1fr))}
