:root { color-scheme: dark; }
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { font-family: Inter, system-ui, sans-serif; }
.font-display { font-family: 'Barlow Condensed', Impact, sans-serif; letter-spacing: .015em; }
.site-shell { background:
  radial-gradient(circle at 12% 8%, rgba(127, 29, 29, .08), transparent 28%),
  linear-gradient(rgba(255,255,255,.015) 1px, transparent 1px),
  #07090a; background-size:auto, 100% 42px, auto; }
.hero {
  background-image:
    linear-gradient(90deg, rgba(3,5,6,.98) 0%, rgba(3,5,6,.82) 46%, rgba(3,5,6,.35) 70%, rgba(3,5,6,.7) 100%),
    url('https://images.unsplash.com/photo-1509248961158-e54f6934749c?auto=format&fit=crop&w=2200&q=85');
  background-size: cover; background-position: center;
}
.hero::after { content:""; position:absolute; inset:0; pointer-events:none; opacity:.2; mix-blend-mode:overlay;
  background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 120 120' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.25'/%3E%3C/svg%3E"); }
.hero-overlay { position:absolute; inset:0; background: radial-gradient(circle at 82% 40%, rgba(185,28,28,.15), transparent 28%); }
.room-card { transition: transform .22s ease, border-color .22s ease; }
.room-card:hover { transform: translateY(-4px); border-color: rgba(239,68,68,.55); }
.grit-band { background:
  linear-gradient(90deg, rgba(71,8,8,.96), rgba(127,29,29,.82), rgba(38,7,7,.96)),
  url("data:image/svg+xml,%3Csvg viewBox='0 0 140 140' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='g'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.7' numOctaves='3'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23g)' opacity='.4'/%3E%3C/svg%3E"); }
.footer-texture { position:absolute; inset:0; background:
  linear-gradient(rgba(5,7,8,.78), rgba(5,7,8,.95)),
  url('https://images.unsplash.com/photo-1518709268805-4e9042af9f23?auto=format&fit=crop&w=1800&q=80'); background-size:cover; background-position:center 55%; }
::selection { background:#dc2626; color:white; }

/* Shared inner-page system */
.nav-link { position: relative; transition: color .2s ease; }
.nav-link:hover, .nav-link.active { color: #fff; }
.nav-link.active::after { content:""; position:absolute; left:0; right:0; bottom:-22px; height:2px; background:#ef4444; }
.inner-hero { position: relative; overflow:hidden; background:
  radial-gradient(circle at 85% 30%, rgba(153,27,27,.16), transparent 25%),
  linear-gradient(120deg, rgba(22,24,26,.9), rgba(5,7,8,.98)); }
.inner-hero::after { content:""; position:absolute; inset:0; pointer-events:none; opacity:.12; background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 120 120' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='3'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.35'/%3E%3C/svg%3E"); }
.section-title { font-family:'Barlow Condensed',Impact,sans-serif; font-size:2.25rem; line-height:1; text-transform:uppercase; }
.section-link { color:#f87171; font-size:.75rem; font-weight:700; letter-spacing:.08em; text-transform:uppercase; }
.section-link:hover { color:#fff; }
.chip { border:1px solid rgba(255,255,255,.15); background:rgba(0,0,0,.3); border-radius:999px; padding:.5rem 1rem; }
.chip:hover { border-color:rgba(239,68,68,.6); }
.cta-button { display:inline-block; border:1px solid rgba(239,68,68,.85); border-radius:.25rem; background:rgba(220,38,38,.82); padding:.9rem 1.35rem; color:#fff; font-size:.75rem; font-weight:800; letter-spacing:.12em; text-transform:uppercase; transition:.2s ease; }
.cta-button:hover { background:#ef4444; transform:translateY(-1px); }
.filter-control { width:100%; border:1px solid rgba(255,255,255,.12); border-radius:.25rem; background:#111416; padding:.9rem 1rem; color:#f4f4f5; outline:none; }
.filter-control:focus { border-color:rgba(239,68,68,.8); box-shadow:0 0 0 3px rgba(239,68,68,.08); }
.filter-control::placeholder { color:#71717a; }
.filter-control option { background:#111416; color:#fff; }
.tag, .tag-muted { display:inline-flex; align-items:center; border-radius:999px; padding:.4rem .7rem; font-size:.68rem; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.tag { border:1px solid rgba(239,68,68,.45); background:rgba(220,38,38,.16); color:#fca5a5; }
.tag-muted { border:1px solid rgba(255,255,255,.12); background:rgba(255,255,255,.05); color:#d4d4d8; }
.stat-card { border:1px solid rgba(255,255,255,.1); background:rgba(255,255,255,.03); padding:1rem; }
.stat-card span { display:block; font-size:.68rem; color:#71717a; letter-spacing:.08em; text-transform:uppercase; }
.stat-card strong { display:block; margin-top:.35rem; font-family:'Barlow Condensed',Impact,sans-serif; font-size:1.75rem; text-transform:uppercase; }
.empty-state { border:1px dashed rgba(255,255,255,.16); background:rgba(255,255,255,.02); padding:4rem 2rem; text-align:center; }
.mini-card { display:flex; min-height:105px; flex-direction:column; justify-content:center; border:1px solid rgba(255,255,255,.1); background:rgba(255,255,255,.025); padding:1.25rem; transition:.2s ease; }
.mini-card:hover { border-color:rgba(239,68,68,.45); background:rgba(239,68,68,.05); transform:translateY(-2px); }
.prose-dark { color:#a1a1aa; font-size:1rem; line-height:1.85; }
.prose-dark h2 { margin-top:2rem; margin-bottom:.75rem; color:#fff; font-family:'Barlow Condensed',Impact,sans-serif; font-size:2rem; line-height:1; text-transform:uppercase; }
.prose-dark p + p { margin-top:1.35rem; }
.callout { border-left:3px solid #ef4444; background:rgba(127,29,29,.12); padding:1.5rem; }
.footer-heading { margin-bottom:.8rem; font-family:'Barlow Condensed',Impact,sans-serif; font-size:1.05rem; text-transform:uppercase; letter-spacing:.06em; color:#e4e4e7; }
.footer-link { display:block; margin-top:.45rem; font-size:.82rem; color:#71717a; }
.footer-link:hover { color:#f87171; }
.form-label { font-size:.78rem; font-weight:700; color:#d4d4d8; }
.form-error { display:block; margin-top:.4rem; color:#f87171; font-weight:500; }
@media (max-width: 767px) { .nav-link.active::after { display:none; } }
.eyebrow{font-size:.7rem;font-weight:800;letter-spacing:.18em;text-transform:uppercase;color:#f87171}.verified{display:inline-flex;border:1px solid rgba(34,197,94,.3);background:rgba(22,101,52,.12);padding:.55rem .8rem;font-size:.72rem;color:#86efac}.fact{min-width:125px;border:1px solid rgba(255,255,255,.1);background:rgba(255,255,255,.025);padding:1rem}.fact span{display:block;font-size:.65rem;text-transform:uppercase;letter-spacing:.1em;color:#71717a}.fact strong{display:block;margin-top:.35rem;font-family:'Barlow Condensed',Impact,sans-serif;font-size:1.35rem}.fallback-art{min-height:190px;background:radial-gradient(circle at 70% 30%,rgba(185,28,28,.24),transparent 28%),linear-gradient(135deg,#171717,#09090b 58%,#260808);position:relative;overflow:hidden}.fallback-art:after{content:"";position:absolute;inset:0;opacity:.18;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 120 120' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.75' numOctaves='3'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}.map-placeholder{display:grid;height:230px;place-items:center;border:1px dashed rgba(255,255,255,.15);background:radial-gradient(circle,#18181b,#09090b);padding:2rem;text-align:center;font-size:.8rem;color:#71717a}.locked{border:1px solid rgba(255,255,255,.1);background:rgba(255,255,255,.025);padding:1.4rem}.locked span{font-size:.65rem;font-weight:800;letter-spacing:.15em;color:#f87171}.locked strong{display:block;margin-top:.5rem;font-family:'Barlow Condensed',Impact,sans-serif;font-size:1.5rem;text-transform:uppercase}.locked p{margin-top:.5rem;font-size:.8rem;color:#71717a}

/* v2.1 V1 design restoration */
.room-card{display:flex;flex-direction:column;height:100%}.room-card>div{display:flex;flex:1;flex-direction:column}.room-card>div>a:last-child{margin-top:1.25rem}
.room-card img{filter:saturate(.88) contrast(1.04)}
.section-title,.footer-heading{letter-spacing:.02em}
.v1-placeholder-copy{color:#a1a1aa}
/* v2.2 interaction, pagination and admin controls */
.entity-link,.inline-link{ text-decoration:underline; text-decoration-color:rgba(113,113,122,.65); text-underline-offset:4px; transition:.18s ease; }
.entity-link:hover,.inline-link:hover{color:#f87171;text-decoration-color:#ef4444}
.tag{cursor:pointer;transition:transform .18s ease,border-color .18s ease,background .18s ease,color .18s ease}.tag:hover,.tag:focus-visible{transform:translateY(-2px);border-color:#ef4444;background:rgba(127,29,29,.3);color:#fff;outline:none}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid #ef4444;outline-offset:3px}
.page-link{min-width:38px;border:1px solid rgba(255,255,255,.14);padding:.65rem .85rem;text-align:center;font-size:.75rem;font-weight:800;text-transform:uppercase;letter-spacing:.05em;color:#d4d4d8;transition:.18s ease}.page-link:hover,.page-link.active{border-color:#ef4444;background:rgba(127,29,29,.28);color:#fff}
.location-list-link{display:flex;min-height:95px;flex-direction:column;justify-content:center;border:1px solid rgba(255,255,255,.1);background:rgba(255,255,255,.025);padding:1.1rem;transition:.18s ease}.location-list-link span{margin-top:.25rem;font-size:.75rem;color:#71717a}.location-list-link:hover{transform:translateY(-2px);border-color:rgba(239,68,68,.5);background:rgba(127,29,29,.1)}
.admin-nav{display:flex;flex-wrap:wrap;gap:.5rem}.admin-nav a{border:1px solid rgba(255,255,255,.12);padding:.65rem .9rem;font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em}.admin-nav a:hover{border-color:#ef4444;color:#fff}
.admin-table{width:100%;border-collapse:collapse}.admin-table th,.admin-table td{border-bottom:1px solid rgba(255,255,255,.09);padding:.8rem;text-align:left;font-size:.8rem}.admin-table th{color:#71717a;text-transform:uppercase;letter-spacing:.06em;font-size:.68rem}
.admin-field{width:100%;border:1px solid rgba(255,255,255,.12);background:#111416;padding:.8rem;color:#fff}.admin-label{display:block;margin-bottom:.4rem;font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em;color:#a1a1aa}

/* v2.2.1 interactive-control polish */
.home-select{color:#18181b;background-color:#fff}
.home-select:hover,.home-select:focus{color:#18181b;background-color:#fafafa}
.home-select option{color:#18181b;background:#fff}
select{cursor:pointer}
select option{color:#18181b;background:#fff}

/* Legal/editorial pages */
.legal-copy{font-size:.95rem;line-height:1.8;color:#a1a1aa}
.legal-copy>p:first-child{font-size:1.05rem;color:#d4d4d8}
.legal-copy h2{margin-top:2.25rem;margin-bottom:.65rem;font-family:"Barlow Condensed",Impact,sans-serif;font-size:1.75rem;font-weight:700;text-transform:uppercase;color:#fff}
.legal-copy a{color:#f87171;text-decoration:underline;text-underline-offset:4px}
.legal-copy a:hover{color:#fca5a5}

/* EscapeFinder brand lockup */
.brand-lockup{display:flex;align-items:center;line-height:1;text-decoration:none;min-width:0}
.brand-logo{display:block;width:13.5rem;max-width:100%;height:auto}
.footer-brand{display:inline-flex;text-decoration:none}
.footer-brand-logo{display:block;width:15rem;max-width:100%;height:auto}
@media(max-width:640px){.brand-logo{width:10.5rem}}

/* Responsive mobile navigation */
.mobile-menu-toggle{position:relative;display:flex;width:2.75rem;height:2.75rem;flex:0 0 auto;align-items:center;justify-content:center;flex-direction:column;gap:.3rem;border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.035);cursor:pointer;transition:border-color .18s ease,background .18s ease}
.mobile-menu-toggle:hover,.mobile-menu-toggle:focus-visible{border-color:rgba(239,68,68,.85);background:rgba(239,68,68,.08);outline:none}
.mobile-menu-toggle span{display:block;width:1.15rem;height:2px;background:#f4f4f5;transition:transform .18s ease,opacity .18s ease}
.mobile-menu-toggle[aria-expanded="true"] span:nth-child(1){transform:translateY(.4rem) rotate(45deg)}
.mobile-menu-toggle[aria-expanded="true"] span:nth-child(2){opacity:0}
.mobile-menu-toggle[aria-expanded="true"] span:nth-child(3){transform:translateY(-.4rem) rotate(-45deg)}
.mobile-menu{border-top:1px solid rgba(255,255,255,.08);background:rgba(0,0,0,.96);box-shadow:0 18px 40px rgba(0,0,0,.45)}
.mobile-menu[hidden]{display:none}
.mobile-menu-links{display:grid;border-top:1px solid rgba(255,255,255,.08)}
.mobile-menu-links a{padding:.95rem 0;border-bottom:1px solid rgba(255,255,255,.08);font-family:"Barlow Condensed",Impact,sans-serif;font-size:1.25rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:#e4e4e7;text-decoration:none}
.mobile-menu-links a:hover,.mobile-menu-links a:focus-visible{color:#f87171;outline:none}
.mobile-menu-claim{display:block;margin-top:1rem;border:1px solid rgba(239,68,68,.8);padding:.8rem 1rem;text-align:center;font-size:.875rem;font-weight:700;color:#f87171;text-decoration:none;transition:background .18s ease,color .18s ease}
.mobile-menu-claim:hover,.mobile-menu-claim:focus-visible{background:#ef4444;color:#fff;outline:none}
@media(max-width:767px){body.mobile-menu-open{overflow:hidden}.brand-lockup{min-width:0}.brand-logo{width:8rem}}

.inner-hero{margin-bottom:20px}

/* Homepage custom dropdowns: deterministic alternative to native option UI */
.home-dropdown{position:relative;min-width:0}
.home-dropdown-toggle{display:flex;width:100%;height:100%;min-height:56px;align-items:center;justify-content:space-between;gap:1rem;border-radius:.25rem;background:#fff;padding:1rem;color:#18181b;text-align:left;cursor:pointer}
.home-dropdown-toggle:hover,.home-dropdown-toggle:focus-visible,.home-dropdown-toggle[aria-expanded="true"]{background:#fafafa;color:#18181b;outline:2px solid #ef4444;outline-offset:0}
.home-dropdown-chevron{font-size:1rem;color:#52525b;transition:transform .15s ease}
.home-dropdown-toggle[aria-expanded="true"] .home-dropdown-chevron{transform:rotate(180deg)}
.home-dropdown-menu{position:absolute;z-index:60;top:calc(100% + 6px);left:0;width:100%;max-height:280px;overflow-y:auto;border:1px solid #d4d4d8;border-radius:.25rem;background:#fff;padding:.25rem;box-shadow:0 18px 40px rgba(0,0,0,.3)}
.home-dropdown-menu[hidden]{display:none}
.home-dropdown-option{display:block;width:100%;border:0;border-radius:.2rem;background:#fff;padding:.7rem .8rem;color:#18181b;text-align:left;cursor:pointer}
.home-dropdown-option:hover,.home-dropdown-option:focus-visible{background:#e4e4e7;color:#18181b;outline:none}
.home-dropdown-option.is-selected{background:#f4f4f5;font-weight:600;color:#18181b}

