
* { box-sizing: border-box; }
html, body { margin: 0; min-height: 100svh; }
html.am-rail-on, html.am-rail-on body { overflow: hidden; }
body { background: #12110f; color: #f3efe8; font-family: Manrope, system-ui, sans-serif; }
.am-banner { margin: 0; padding: 18px 20px 8px; color: #9a9388; font-size: 13px; text-align: center; }
.am-stage { display: grid; place-items: start center; padding: 8px 16px 48px; }
.am-phone { position: relative; width: min(390px, 100%); height: 844px; border-radius: 42px; overflow: hidden; box-shadow: 0 30px 80px rgba(0,0,0,.45); }
.am-status { position: absolute; inset: 0 0 auto; z-index: 6; display: flex; justify-content: space-between; align-items: center; padding: 14px 22px 0; font-size: 12px; font-weight: 700; pointer-events: none; }
.am-status i { width: 52px; height: 10px; border-radius: 99px; background: currentColor; opacity: .28; }
.am-views { position: absolute; inset: 36px 0 72px; }
.am-view { position: absolute; inset: 0; overflow: hidden; padding: 8px 18px 14px; display: flex; flex-direction: column; gap: 10px; opacity: 0; transform: translateX(22px); pointer-events: none; visibility: hidden; z-index: 0; transition: opacity 420ms var(--ease, cubic-bezier(.23,1,.32,1)), transform 420ms var(--ease, cubic-bezier(.23,1,.32,1)); }
.am-view.is-on { opacity: 1; transform: none; pointer-events: auto; visibility: visible; z-index: 2; }
.am-view.is-leave { visibility: visible; z-index: 1; }
.am-view > p, .am-view > h1, .am-view > h2 { flex: 0 0 auto; }
.am-view > p:first-child { margin-top: 8px !important; }
.am-fill { flex: 1 1 auto; min-height: 0; margin: 0; overflow: hidden; border-radius: 18px; }
.am-fill--mid { flex: 0 0 34%; min-height: 140px; max-height: 220px; }
.am-fill img { width: 100%; height: 100% !important; object-fit: cover; display: block; }
.am-form { flex: 1 1 auto; min-height: 0; display: flex; flex-direction: column; gap: 10px; }
.am-form form { flex: 1 1 auto; }
.am-peeks { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; flex: 0 0 auto; }
.am-peek, .am-card { padding: 0; border: 0; background: color-mix(in srgb, var(--paper, #fff) 80%, #000 6%); color: inherit; text-align: left; cursor: pointer; overflow: hidden; }
.am-peek img { width: 100%; height: 78px; object-fit: cover; display: block; }
.am-peek b, .am-card span { display: block; padding: 8px; font-size: 12px; font-weight: 700; }
.am-stack { flex: 1 1 auto; min-height: 0; display: flex; flex-direction: column; gap: 8px; }
.am-card { display: grid; grid-template-rows: 1fr auto; width: 100%; min-height: 0; flex: 1 1 auto; }
.am-card img { width: 100%; height: 100%; min-height: 88px; object-fit: cover; display: block; }
.am-view.is-leave { opacity: 0; transform: translateX(-16px); }
.am-dock { position: absolute; inset: auto 0 0; z-index: 5; display: grid; grid-auto-flow: column; gap: 4px; padding: 8px 10px 16px; background: color-mix(in srgb, var(--paper, #fff) 92%, transparent); backdrop-filter: blur(12px); }
.am-dock button { border: 0; background: none; color: var(--dim, #7a746c); font: 600 10px/1.1 inherit; letter-spacing: .04em; text-transform: uppercase; padding: 8px 4px; cursor: pointer; }
.am-dock button.on { color: var(--acc, #1f6f62); }
.am-phone:has(.dn) .am-status { color:#f7f2ea; }
.am-phone:has(.dn) .am-views { inset: 0 0 86px; }
.am-phone:has(.dn) .am-dock {
  inset: auto 16px 12px;
  border-radius: 22px;
  padding: 8px 8px 10px;
  background: #16302B;
  box-shadow: 0 12px 28px rgba(22,48,43,.28);
}
.am-phone:has(.dn) .am-dock button { color: #8FA39B; }
.am-phone:has(.dn) .am-dock button.on { color: #F4E7C8; }
.am-phone:has(.mc) .am-status { color:#E8EEF2; }
.am-phone:has(.mc) .am-views { inset: 0 0 70px; }
.am-phone:has(.mc) .am-dock {
  inset: auto 0 0;
  border-radius: 0;
  padding: 8px 6px 14px;
  background: #0E2436;
  box-shadow: inset 0 2px 0 #C42B2B;
}
.am-phone:has(.mc) .am-dock button { color: #7E93A3; }
.am-phone:has(.mc) .am-dock button.on { color: #F4F7FA; }
.am-phone:has(.au) .am-status { color:#E8E4DC; }
.am-phone:has(.au) .am-views { inset: 0 0 82px; }
.am-phone:has(.au) .am-dock {
  inset: auto 12px 10px;
  border-radius: 10px;
  padding: 16px 4px 10px;
  background: #1A1C1F;
  box-shadow: inset 0 3px 0 #FF6A2A;
}
.am-phone:has(.au) .am-dock button { color: #8B8F96; }
.am-phone:has(.au) .am-dock button.on { color: #FF6A2A; }
.am-phone:has(.co) .am-status { color:#1C1F1A; }
.am-phone:has(.co) .am-views { inset: 0 0 72px; }
.am-phone:has(.co) .am-dock {
  inset: auto 0 0;
  border-radius: 0;
  padding: 10px 8px 14px;
  background: #242820;
  box-shadow: inset 8px 0 0 #9BB82E;
}
.am-phone:has(.co) .am-dock button { color: #8A9180; }
.am-phone:has(.co) .am-dock button.on { color: #D7E87A; }
.am-phone:has(.lg) .am-status { color:#1A1816; }
.am-phone:has(.lg) .am-views { inset: 0 0 78px; }
.am-phone:has(.lg) .am-dock {
  inset: auto 16px 10px;
  border-radius: 4px;
  padding: 8px 6px 10px;
  background: #F7F4EE;
  box-shadow: inset 0 2px 0 #9A1B2E;
}
.am-phone:has(.lg) .am-dock button { color: #6A6660; }
.am-phone:has(.lg) .am-dock button.on { color: #9A1B2E; }
.am-phone:has(.by) .am-status { color:#F4EDE4; }
.am-phone:has(.by) .am-views { inset: 0 0 86px; }
.am-phone:has(.by) .am-dock {
  inset: auto 14px 10px;
  gap: 4px;
  padding: 8px 6px 10px;
  border-radius: 22px;
  background: #1A1613;
  box-shadow: inset 0 0 0 1px #C9B89A;
  backdrop-filter: none;
}
.am-phone:has(.by) .am-dock button {
  width: auto;
  min-width: 0;
  height: auto;
  padding: 2px 4px 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  color: #8A8076;
}
.am-phone:has(.by) .am-dock button i {
  width: 34px;
  height: 34px;
  margin: 0 auto 5px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  box-shadow: inset 0 0 0 1.5px #C9B89A;
  font-size: 15px;
}
.am-phone:has(.by) .am-dock button.on {
  background: transparent;
  color: #F4EDE4;
  box-shadow: none;
}
.am-phone:has(.by) .am-dock button.on i {
  background: #C67B4A;
  color: #100E0C;
  box-shadow: none;
}
.am-phone:has(.ft) .am-status { color:#E8E6E1; }
.am-phone:has(.ft) .am-views { inset: 0 0 74px; }
.am-phone:has(.ft) .am-dock {
  inset: auto 0 0;
  border-radius: 0;
  padding: 8px 6px 14px;
  background: #0B0C0E;
  box-shadow: inset 0 2px 0 #3B6CFF;
}
.am-phone:has(.ft) .am-dock button { color: #6B7180; }
.am-phone:has(.ft) .am-dock button.on { color: #E8E6E1; }
.am-phone:has(.rs) .am-status { color:#1A1A1A; }
.am-phone:has(.rs) .am-views { inset: 0 0 82px; }
.am-phone:has(.rs) .am-dock {
  inset: auto 12px 10px;
  border-radius: 22px;
  padding: 8px 6px 10px;
  background: #fff;
  box-shadow: 0 10px 28px rgba(17,17,17,.12);
}
.am-phone:has(.rs) .am-dock button { color: #8A8178; }
.am-phone:has(.rs) .am-dock button.on { color: #111; }
.am-phone:has(.gv) .am-status { color:#F4EDE2; }
.am-phone:has(.gv) .am-views { inset: 0 0 74px; }
.am-phone:has(.gv) .am-dock {
  inset: auto 0 0;
  border-radius: 0;
  padding: 8px 6px 14px;
  background: #071018;
  box-shadow: inset 0 2px 0 #E0A84A;
}
.am-phone:has(.gv) .am-dock button { color: #7A8690; }
.am-phone:has(.gv) .am-dock button.on { color: #F4EDE2; }
.am-phone:has(.lw) .am-status { color:#111827; }
.am-phone:has(.lw) .am-views { inset: 0 0 84px; }
.am-phone:has(.lw) .am-dock {
  inset: auto 14px 10px;
  border-radius: 22px;
  padding: 8px 6px 10px;
  background: #fff;
  box-shadow: 0 12px 28px rgba(17,24,39,.1);
}
.am-phone:has(.lw) .am-dock button { color: #8A9098; }
.am-phone:has(.lw) .am-dock button.on { color: #1DBF73; }
.am-phone:has(.lx) .am-status { color:#12141A; }
.am-phone:has(.lx) .am-views { inset: 0 0 72px; }
.am-phone:has(.lx) .am-dock {
  inset: auto 0 0;
  border-radius: 0;
  padding: 8px 6px 14px;
  background: #12141A;
}
.am-phone:has(.lx) .am-dock button { color: #7A7E8C; }
.am-phone:has(.lx) .am-dock button.on { color: #5B4DFF; }
.am-phone:has(.mf) .am-status { color:#F3EDE4; }
.am-phone:has(.mf) .am-views { inset: 0 0 72px; }
.am-phone:has(.mf) .am-status { color: #E85D04; }
.am-phone:has(.mf) .am-views { inset: 0 0 72px; }
.am-phone:has(.mf) .am-dock { inset: auto 0 0; border-radius: 0; padding: 8px 6px 14px; background: #1C1E22; box-shadow: inset 0 2px 0 #E85D04; }
.am-phone:has(.mf) .am-dock button { color: #8A8680; }
.am-phone:has(.mf) .am-dock button.on { color: #E85D04; }
.am-phone:has(.in) .am-status { color:#2A221C; }
.am-phone:has(.in) .am-views { inset: 0 0 86px; }
.am-phone:has(.in) .am-dock { inset: auto 14px 10px; border-radius: 0; padding: 8px 6px 10px; background: #F4EDE3; box-shadow: 0 8px 0 #C9B8A4; }
.am-phone:has(.in) .am-dock button { color: #7A6E62; }
.am-phone:has(.in) .am-dock button.on { color: #B85C38; }
.am-phone:has(.rx) .am-status { color:#fff; }
.am-phone:has(.rx) .am-views { inset: 0 0 82px; }
.am-phone:has(.rx) .am-dock { inset: auto 16px 10px; border-radius: 8px; padding: 8px 6px 10px; background: #fff; box-shadow: 0 10px 20px rgba(18,36,28,.1); }
.am-phone:has(.rx) .am-dock button { color: #6A7A72; }
.am-phone:has(.rx) .am-dock button.on { color: #1B6B4A; }
.am-phone:has(.wb) .am-status { color:#7CFF9E; }
.am-phone:has(.wb) .am-views { inset: 0 0 70px; }
.am-phone:has(.wb) .am-dock { inset: auto 0 0; border-radius: 0; padding: 8px 6px 14px; background: #0C1210; box-shadow: inset 0 1px 0 #1E3A28; }
.am-phone:has(.wb) .am-dock button { color: #6A8A72; }
.am-phone:has(.wb) .am-dock button.on { color: #7CFF9E; }
.am-phone:has(.qy) .am-status { color:#2A333A; }
.am-phone:has(.qy) .am-views { inset: 0 0 78px; }
.am-phone:has(.qy) .am-dock { inset: auto 0 0; border-radius: 28px 28px 0 0; padding: 10px 6px 16px; background: #F4F7F8; }
.am-phone:has(.qy) .am-dock button { color: #7A8690; }
.am-phone:has(.qy) .am-dock button.on { color: #5A6B78; }
.am-phone:has(.nu) .am-status { color:#2A2618; }
.am-phone:has(.nu) .am-views { inset: 0 0 76px; }
.am-phone:has(.nu) .am-dock { inset: auto 0 0; border-radius: 0; padding: 8px 6px 14px; background: #F6F1E4; box-shadow: inset 0 1px 0 #D8CFB4; }
.am-phone:has(.nu) .am-dock button { color: #7A7460; }
.am-phone:has(.nu) .am-dock button.on { color: #5C6B2F; }
.am-phone:has(.ko) .am-status { color:#F6EDE4; }
.am-phone:has(.ko) .am-views { inset: 0 0 72px; }
.am-phone:has(.ko) .am-dock { inset: auto 0 0; border-radius: 0; padding: 8px 6px 14px; background: #241A14; }
.am-phone:has(.ko) .am-dock button { color: #A09080; }
.am-phone:has(.ko) .am-dock button.on { color: #E8D5B5; }
.am-phone:has(.bi) .am-status { color:#1A1814; }
.am-phone:has(.bi) .am-views { inset: 0 0 78px; }
.am-phone:has(.bi) .am-dock { inset: auto 0 0; border-radius: 0; padding: 8px 6px 14px; background: #F4E7C8; box-shadow: inset 0 3px 0 #1A1814; }
.am-phone:has(.bi) .am-dock button { color: #7A6A48; }
.am-phone:has(.bi) .am-dock button.on { color: #1A1814; }
.am-phone:has(.nx) .am-status { color:#E8F1FF; }
.am-phone:has(.nx) .am-views { inset: 0 0 72px; }
.am-phone:has(.nx) .am-dock { inset: auto 0 0; border-radius: 0; padding: 8px 6px 14px; background: #10151C; box-shadow: inset 0 1px 0 #7EB8FF; }
.am-phone:has(.nx) .am-dock button { color: #7A8694; }
.am-phone:has(.nx) .am-dock button.on { color: #7EB8FF; }
.am-phone:has(.ln) .am-status { color:#1A2228; }
.am-phone:has(.ln) .am-views { inset: 0 0 74px; }
.am-phone:has(.ln) .am-dock { inset: auto 0 0; border-radius: 0; padding: 8px 6px 14px; background: #D7DCE2; box-shadow: inset 0 4px 0 #C43B2A; }
.am-phone:has(.ln) .am-dock button { color: #5C6870; }
.am-phone:has(.ln) .am-dock button.on { color: #C43B2A; }
.am-phone:has(.ha) { --acc:#F5C518; }
.am-phone:has(.ha) .am-status { color:#f6f1e8; }
.am-phone:has(.ha) .am-dock { background:rgba(12,12,10,.94); }
.am-dock i { display: block; font-size: 18px; margin: 0 auto 4px; }
[hidden] { display: none !important; }
form { display: grid; gap: 10px; }
label { display: grid; gap: 6px; font-size: 12px; font-weight: 600; }
input, select { height: 46px; border: 0; border-bottom: 1px solid currentColor; border-radius: 0; padding: 0; background: transparent; color: inherit; font: inherit; }
input:focus, select:focus { outline: none; border-bottom-width: 2px; }
button.am-cta, form button { height: 50px; border: 0; background: var(--acc, #1f6f62); color: #fff; font: 700 12px/1 inherit; letter-spacing: .12em; text-transform: uppercase; cursor: pointer; transition: transform 240ms var(--ease, cubic-bezier(.23,1,.32,1)); }
button.am-cta:hover, form button:hover { transform: translateY(-2px); }
.am-tel { font-weight: 700; }
.fp-note { margin: 10px 18px 0; font-size: 11px; color: #9a9388; text-align: center; }
.form-note:not([hidden]) { animation: am-up 420ms var(--ease, cubic-bezier(.23,1,.32,1)) both; }
@keyframes am-up { from { opacity: 0; transform: translateY(10px); } }
@keyframes am-in { from { opacity: 0; transform: translateY(16px); } }
@media (prefers-reduced-motion: reduce) {
  .am-view, button.am-cta, form button, .form-note:not([hidden]) { transition: none !important; animation: none !important; }
}


.dn { --acc:#D4533C; --paper:#F3EFE6; --dim:#6A756E; color:#16302B; background:#F3EFE6; font-family:Geologica,sans-serif; }
.dn .am-view { padding:0; gap:0; overflow:hidden; }
.dn-home, .dn-cabinets, .dn-book { display:flex; flex-direction:column; min-height:100%; }
.dn-hero { position:relative; flex:1.2 1 0; min-height:0; overflow:hidden; }
.dn-hero img, .dn-bookhero img, .dn-room img, .dn-cell img { width:100%; height:100%; object-fit:cover; display:block; }
.dn-veil { position:absolute; inset:auto 0 0; padding:56px 20px 36px; background:linear-gradient(180deg, transparent, rgba(12,28,24,.78)); color:#F7F2EA; }
.dn-veil p { margin:0 0 6px; font-size:11px; letter-spacing:.16em; text-transform:uppercase; color:#F4E7C8; }
.dn-veil h1 { margin:0; font-family:Unbounded,sans-serif; font-size:22px; line-height:1.15; font-weight:700; }
.dn-ticket { position:relative; z-index:2; margin:-34px 16px 0; padding:14px 16px 12px; background:#FFFDF8; border-radius:22px; box-shadow:0 18px 40px rgba(22,48,43,.16); animation:dn-up 640ms cubic-bezier(.23,1,.32,1) both; }
.dn-perf { position:absolute; left:0; right:0; top:54%; height:12px; pointer-events:none; background:radial-gradient(circle at 0 50%, #F3EFE6 6px, transparent 7px), radial-gradient(circle at 100% 50%, #F3EFE6 6px, transparent 7px); }
.dn-ticket__top { display:flex; justify-content:space-between; align-items:end; gap:12px; padding-bottom:10px; }
.dn-ticket__top p { margin:0; font-size:11px; letter-spacing:.12em; text-transform:uppercase; color:#6A756E; }
.dn-ticket__top strong { font-family:Unbounded,sans-serif; font-size:36px; line-height:1; }
.dn-ticket__times, .dn-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:6px; }
.dn-slot { height:34px; border:0; border-radius:10px; background:#F3EFE6; color:#16302B; font:600 12px Unbounded,sans-serif; cursor:pointer; }
.dn-slot.on { background:#16302B; color:#F4E7C8; }
.dn-week { display:grid; grid-template-columns:repeat(7,minmax(0,1fr)); gap:4px; padding:12px 16px 0; }
.dn-day { display:grid; gap:2px; padding:8px 0 7px; border:0; border-radius:14px; background:transparent; color:#16302B; cursor:pointer; }
.dn-day small { font-size:9px; letter-spacing:.08em; text-transform:uppercase; color:#6A756E; }
.dn-day b { font-family:Unbounded,sans-serif; font-size:13px; }
.dn-day.on { background:#16302B; color:#F7F2EA; }
.dn-day.on small { color:#F4E7C8; }
.dn-mosaic { flex:1 1 0; min-height:148px; display:grid; grid-template-columns:1.15fr .85fr; grid-template-rows:1fr 1fr; gap:8px; padding:10px 16px 8px; }
.dn-cell { position:relative; min-height:0; padding:0; border:0; border-radius:18px; overflow:hidden; cursor:pointer; color:#fff; }
.dn-cell::after { content:""; position:absolute; inset:auto 0 0; height:48%; background:linear-gradient(180deg, transparent, rgba(12,28,24,.72)); }
.dn-cell span, .dn-room b { position:absolute; left:10px; bottom:10px; z-index:1; font:600 13px Geologica,sans-serif; }
.dn-cabinets { background:#16302B; color:#F7F2EA; }
.dn-arch-wrap { flex:0 0 auto; padding:18px 16px 0; }
.dn-arch-wrap p { margin:0; font-size:11px; letter-spacing:.16em; text-transform:uppercase; color:#F4E7C8; }
.dn-arch { display:flex; justify-content:center; align-items:flex-end; height:78px; gap:3px; padding:8px 8px 0; }
.dn-tooth { width:30px; height:38px; padding:0; border:0; background:none; color:#8FA39B; transform:translateY(calc((1 - abs(var(--i) - 3.5) / 3.5) * 16px)); cursor:pointer; }
.dn-tooth svg { width:100%; height:100%; fill:currentColor; }
.dn-tooth.on { color:#F4E7C8; }
.dn-roomstack { flex:1 1 0; min-height:0; display:flex; flex-direction:column; gap:8px; padding:8px 16px 10px; }
.dn-room { position:relative; flex:1 1 0; min-height:0; padding:0; border:0; border-radius:20px; overflow:hidden; cursor:pointer; color:#fff; }
.dn-room::after { content:""; position:absolute; inset:auto 0 0; height:52%; background:linear-gradient(180deg, transparent, rgba(12,28,24,.7)); }
.dn-room i, .dn-room b { z-index:1; }
.dn-room i { position:absolute; top:10px; left:12px; font:700 12px Unbounded,sans-serif; color:#F4E7C8; font-style:normal; }
.dn-bookhero { position:relative; flex:0 0 30%; min-height:0; overflow:hidden; }
.dn-bookhero p { position:absolute; inset:auto 16px 18px; margin:0; color:#F7F2EA; font-size:13px; line-height:1.35; }
.dn-sheet { flex:1 1 auto; min-height:0; margin-top:-22px; padding:16px 16px 8px; overflow:auto; background:#FFFDF8; border-radius:28px 28px 0 0; display:flex; flex-direction:column; gap:8px; }
.dn-sheet h2 { margin:0; font-family:Unbounded,sans-serif; font-size:22px; }
.dn-sheet .dn-week { padding:0; }
.dn-call { font:700 16px Unbounded,sans-serif; color:#16302B; text-decoration:none; }
.dn-sheet label { color:#6A756E; }
.dn-sheet input, .dn-sheet select { color:#16302B; border-bottom-color:#C9C2B4; }
.dn-sheet form button { background:#D4533C; border-radius:16px; letter-spacing:.08em; }
@keyframes dn-up { from { opacity:0; transform:translateY(18px); } }
.mc { --acc:#C42B2B; --paper:#E8EEF2; --dim:#5C6E7A; color:#0E2436; background:#0E2436; font-family:Commissioner,sans-serif; }
.mc .am-view { padding:0; gap:0; }
.mc-home { flex-direction:row; }
.mc-lift { flex:0 0 86px; display:flex; flex-direction:column; gap:6px; padding:48px 8px 12px; background:#0E2436; }
.mc-lift p { margin:0 0 8px; font:600 10px/1 "IBM Plex Mono",monospace; letter-spacing:.16em; text-transform:uppercase; color:#7E93A3; }
.mc-fl { display:grid; gap:2px; min-height:0; flex:1 1 0; padding:8px 6px; border:0; border-radius:10px; background:#143044; color:#E8EEF2; text-align:left; cursor:pointer; }
.mc-fl small { font:600 11px "IBM Plex Mono",monospace; color:#7E93A3; }
.mc-fl span { font-size:11px; font-weight:650; line-height:1.2; }
.mc-fl.on { background:#C42B2B; }
.mc-fl.on small { color:#F8D2D2; }
.mc-stage { position:relative; flex:1 1 auto; min-width:0; min-height:0; }
.mc-stage img, .mc-stop img, .mc-win img { width:100%; height:100%; object-fit:cover; display:block; }
.mc-cap { position:absolute; inset:auto 0 0; padding:48px 16px 18px; background:linear-gradient(180deg, transparent, rgba(8,22,34,.82)); color:#F4F7FA; }
.mc-cap p { margin:0 0 4px; font:600 11px "IBM Plex Mono",monospace; letter-spacing:.14em; text-transform:uppercase; color:#F3C4C4; }
.mc-cap h1 { margin:0 0 12px; font-size:26px; line-height:1.15; font-weight:800; }
.mc-go { height:42px; padding:0 16px; border:0; background:#C42B2B; color:#fff; font:650 12px Commissioner,sans-serif; letter-spacing:.08em; text-transform:uppercase; cursor:pointer; }
.mc-hall { background:#0E2436; color:#F4F7FA; touch-action:none; }
.mc-halltop { flex:0 0 auto; padding:46px 16px 8px; }
.mc-halltop p { margin:0; font:600 11px "IBM Plex Mono",monospace; letter-spacing:.14em; text-transform:uppercase; color:#F3C4C4; }
.mc-halltop h2 { margin:6px 0 0; font-size:24px; }
.mc-rail { flex:1 1 auto; min-height:0; overflow:hidden; padding:8px 16px 12px; touch-action:none; cursor:grab; user-select:none; }
.mc-rail.is-drag { cursor:grabbing; }
.mc-track { display:flex; gap:10px; height:100%; will-change:transform; }
.mc-stop { position:relative; flex:0 0 78%; min-height:0; height:100%; padding:0; border:0; border-radius:22px; overflow:hidden; cursor:inherit; color:#fff; touch-action:none; user-select:none; -webkit-user-drag:none; }
.mc-stop img { pointer-events:none; -webkit-user-drag:none; }
.mc-stop::after { content:""; position:absolute; inset:auto 0 0; height:46%; background:linear-gradient(180deg, transparent, rgba(8,22,34,.78)); }
.mc-stop em, .mc-stop b { position:absolute; z-index:1; left:14px; font-style:normal; }
.mc-stop em { top:14px; font:600 12px "IBM Plex Mono",monospace; color:#F3C4C4; }
.mc-stop b { bottom:14px; font-size:20px; }
.mc-book { background:#E8EEF2; }
.mc-win { flex:0 0 28%; min-height:0; overflow:hidden; }
.mc-board { position:relative; flex:1 1 auto; min-height:0; margin-top:-18px; padding:28px 16px 10px; overflow:auto; background:#F4F7FA; border-radius:4px 4px 0 0; box-shadow:0 -10px 30px rgba(14,36,54,.12); }
.mc-clip { position:absolute; top:-8px; left:50%; width:72px; height:16px; margin-left:-36px; border-radius:4px; background:linear-gradient(#8A93A0, #5C6570); box-shadow:0 4px 0 #C42B2B; }
.mc-board h2 { margin:0 0 6px; font-size:26px; }
.mc-board > p { margin:0 0 10px; color:#5C6E7A; font-size:13px; }
.mc-whenrow { display:grid; grid-template-columns:1fr 1fr 1fr; gap:6px; margin-bottom:10px; }
.mc-when { height:40px; border:1px solid #C5D0D8; background:#fff; color:#0E2436; font:650 13px Commissioner,sans-serif; cursor:pointer; }
.mc-when.on { background:#0E2436; color:#fff; border-color:#0E2436; }
.mc-call { display:inline-block; margin-bottom:8px; font:600 16px "IBM Plex Mono",monospace; color:#C42B2B; text-decoration:none; }
.mc-board form button { background:#C42B2B; }
.au { --acc:#FF6A2A; --paper:#D5D0C6; --dim:#8B8F96; color:#E8E4DC; background:#1A1C1F; font-family:"Golos Text",sans-serif; }
.au .am-view { padding:0; gap:0; }
.au-pit, .au-posts, .au-order { display:flex; flex-direction:column; min-height:100%; }
.au-hero { position:relative; flex:1.15 1 0; min-height:0; overflow:hidden; }
.au-hero img, .au-lift img, .au-bayshot img { width:100%; height:100%; object-fit:cover; display:block; }
.au-stamp { position:absolute; inset:auto 0 0; padding:56px 18px 20px; background:linear-gradient(180deg, transparent, rgba(12,14,16,.88)); }
.au-stamp p { margin:0 0 6px; font:600 11px Tektur,sans-serif; letter-spacing:.16em; text-transform:uppercase; color:#FF6A2A; }
.au-stamp h1 { margin:0; font-family:Tektur,sans-serif; font-size:26px; line-height:1.1; font-weight:700; }
.au-ramp { flex:0 0 auto; padding:14px 16px 16px; background:#2C3036; }
.au-flow { display:grid; grid-template-columns:1fr 1fr 1fr; gap:8px; margin:0 0 12px; padding:0; list-style:none; }
.au-flow li { display:flex; align-items:center; gap:8px; font:600 12px Tektur,sans-serif; letter-spacing:.08em; text-transform:uppercase; color:#8B8F96; }
.au-flow i { width:10px; height:10px; border:2px solid #5A5F66; border-radius:50%; background:transparent; }
.au-flow li.on { color:#E8E4DC; }
.au-flow li.on i { border-color:#FF6A2A; background:#FF6A2A; }
.au-go { width:100%; height:46px; border:0; background:#FF6A2A; color:#141414; font:700 13px Tektur,sans-serif; letter-spacing:.12em; text-transform:uppercase; cursor:pointer; }
.au-posts { background:#1A1C1F; }
.au-posttop { flex:0 0 auto; padding:46px 16px 8px; }
.au-posttop p { margin:0; font:600 11px Tektur,sans-serif; letter-spacing:.16em; text-transform:uppercase; color:#FF6A2A; }
.au-posttop h2 { margin:6px 0 0; font-family:Tektur,sans-serif; font-size:24px; }
.au-lifts { flex:1 1 auto; min-height:0; display:flex; flex-direction:column; gap:8px; padding:8px 12px 12px; }
.au-lift { position:relative; flex:1 1 0; min-height:0; display:grid; grid-template-columns:42% 1fr; align-items:stretch; padding:0; border:0; background:#2C3036; color:#E8E4DC; text-align:left; cursor:pointer; overflow:hidden; }
.au-lift em { position:absolute; top:10px; right:12px; font:600 12px Tektur,sans-serif; color:#FF6A2A; font-style:normal; }
.au-lift b { align-self:center; padding:8px 16px 8px 14px; font:700 20px/1.15 Tektur,sans-serif; }
.au-order { background:#1A1C1F; }
.au-bayshot { flex:0 0 26%; min-height:0; overflow:hidden; }
.au-ncr { position:relative; flex:1 1 auto; min-height:0; margin-top:-22px; padding:22px 16px 10px; overflow:auto; background:#F2E06A; color:#141414; box-shadow:0 -12px 28px rgba(0,0,0,.28); }
.au-ncr::before { content:"НАРЯД"; position:absolute; right:10px; top:36px; font:700 54px Tektur,sans-serif; letter-spacing:.08em; color:rgba(20,20,20,.08); transform:rotate(-12deg); pointer-events:none; }
.au-ncr p { margin:0; font:600 11px Tektur,sans-serif; letter-spacing:.16em; text-transform:uppercase; color:#9A6A10; }
.au-ncr h2 { margin:6px 0 8px; font-family:Tektur,sans-serif; font-size:26px; }
.au-hint { letter-spacing:0 !important; text-transform:none !important; color:#4A4518 !important; font:500 13px "Golos Text",sans-serif !important; margin:0 0 10px !important; }
.au-whenrow { display:grid; grid-template-columns:1fr 1fr 1fr; gap:6px; margin-bottom:10px; }
.au-when { height:40px; border:1px solid #C4B24A; background:#FFF6B8; color:#141414; font:650 12px Tektur,sans-serif; cursor:pointer; }
.au-when.on { background:#141414; color:#F2E06A; border-color:#141414; }
.au-call { display:inline-block; margin-bottom:8px; font:700 16px Tektur,sans-serif; color:#141414; text-decoration:none; }
.au-ncr label { color:#4A4518; }
.au-ncr input, .au-ncr select { color:#141414; border-bottom-color:#8A7A28; }
.au-ncr form button { background:#141414; color:#F2E06A; }
.co { --acc:#9BB82E; --paper:#E7E4DC; --dim:#6A7064; color:#1C1F1A; background:#E7E4DC; font-family:"Source Sans 3",sans-serif; }
.co .am-view { padding:0; gap:0; }
.co-yard, .co-atlas, .co-calc { display:flex; flex-direction:column; min-height:100%; }
.co-hero { position:relative; flex:1.2 1 0; min-height:0; overflow:hidden; background:#2A2E28; }
.co-hero img, .co-shot img, .co-edge img { width:100%; height:100%; object-fit:cover; display:block; }
.co-cross { position:absolute; inset:18% 18% 28%; pointer-events:none; background:linear-gradient(#9BB82E,#9BB82E) center/2px 46% no-repeat, linear-gradient(#9BB82E,#9BB82E) center/46% 2px no-repeat; opacity:.72; }
.co-cap { position:absolute; inset:auto 0 0; padding:48px 16px 16px; background:linear-gradient(180deg, transparent, rgba(28,31,26,.82)); color:#F3F6EE; }
.co-cap p { margin:0 0 4px; font:700 11px Bitter,serif; letter-spacing:.14em; text-transform:uppercase; color:#D7E87A; }
.co-cap h1 { margin:0; font:700 26px/1.1 Bitter,serif; }
.co-mark { flex:0 0 auto; padding:12px 16px 14px; background:#E7E4DC; }
.co-mark ol { display:grid; grid-template-columns:1fr 1fr 1fr; gap:8px; margin:0 0 12px; padding:0; list-style:none; }
.co-mark li { display:flex; align-items:center; gap:8px; font:700 12px Bitter,serif; color:#6A7064; }
.co-mark i { width:9px; height:9px; border:2px solid #9BB82E; transform:rotate(45deg); background:transparent; }
.co-mark li.on { color:#1C1F1A; }
.co-mark li.on i { background:#9BB82E; }
.co-go { width:100%; height:46px; border:0; background:#1C1F1A; color:#D7E87A; font:700 13px Bitter,serif; letter-spacing:.08em; text-transform:uppercase; cursor:pointer; }
.co-atlas { background:#E7E4DC; }
.co-atop { flex:0 0 auto; padding:46px 16px 8px; }
.co-atop p { margin:0; font:700 11px Bitter,serif; letter-spacing:.14em; text-transform:uppercase; color:#6A7064; }
.co-atop h2 { margin:6px 0 0; font:700 26px Bitter,serif; }
.co-sheets { flex:1 1 auto; min-height:0; display:flex; flex-direction:column; gap:8px; padding:8px 12px 12px; }
.co-sheet { flex:1 1 0; min-height:0; display:grid; grid-template-rows:1fr auto; padding:0; border:0; background:#fff; color:#1C1F1A; text-align:left; cursor:pointer; overflow:hidden; box-shadow:0 0 0 1px #C9C4B8; }
.co-shot { min-height:0; overflow:hidden; }
.co-label { display:flex; justify-content:space-between; align-items:baseline; gap:10px; padding:8px 12px; background:#fff; }
.co-label em { font:700 11px Bitter,serif; letter-spacing:.1em; text-transform:uppercase; color:#6A7064; font-style:normal; }
.co-label b { font:700 16px Bitter,serif; }
.co-calc { background:#1C1F1A; }
.co-edge { flex:0 0 24%; min-height:0; overflow:hidden; }
.co-graph { position:relative; flex:1 1 auto; min-height:0; margin-top:-16px; padding:20px 16px 10px; overflow:auto; color:#1C1F1A; background-color:#E7E4DC; background-image:linear-gradient(rgba(155,184,46,.18) 1px, transparent 1px), linear-gradient(90deg, rgba(155,184,46,.18) 1px, transparent 1px); background-size:18px 18px; }
.co-graph p { margin:0; font:700 11px Bitter,serif; letter-spacing:.14em; text-transform:uppercase; color:#5C6238; }
.co-graph h2 { margin:6px 0 8px; font:700 26px Bitter,serif; }
.co-hint { letter-spacing:0 !important; text-transform:none !important; color:#4A4E44 !important; font:600 13px/1.35 "Source Sans 3",sans-serif !important; margin:0 0 10px !important; }
.co-meetrow { display:grid; grid-template-columns:1fr 1fr 1fr; gap:6px; margin-bottom:10px; }
.co-meet { height:40px; border:1px solid #B8B4A6; background:#F3F1EA; color:#1C1F1A; font:700 11px Bitter,serif; cursor:pointer; }
.co-meet.on { background:#1C1F1A; color:#D7E87A; border-color:#1C1F1A; }
.co-call { display:inline-block; margin-bottom:8px; font:700 16px Bitter,serif; color:#1C1F1A; text-decoration:none; }
.co-graph label { color:#4A4E44; }
.co-graph input, .co-graph select { color:#1C1F1A; border-bottom-color:#8A8678; }
.co-graph form button { background:#1C1F1A; color:#D7E87A; }
.lg { --acc:#9A1B2E; --paper:#E6E4E0; --dim:#6A6660; color:#1A1816; background:#E6E4E0; font-family:"IBM Plex Sans",sans-serif; }
.lg .am-view { padding:0; gap:0; }
.lg-case, .lg-drawer, .lg-note { display:flex; flex-direction:column; min-height:100%; }
.lg-index { flex:0 0 auto; padding:48px 18px 10px; background:#F7F4EE; }
.lg-index p { margin:0; font:700 11px "IBM Plex Sans",sans-serif; letter-spacing:.14em; text-transform:uppercase; color:#9A1B2E; }
.lg-index h1 { margin:6px 0 0; font:700 24px/1.15 Spectral,serif; }
.lg-exhibit { flex:0 0 32%; min-height:0; overflow:hidden; }
.lg-exhibit img, .lg-fold img, .lg-headshot img { width:100%; height:100%; min-height:0; object-fit:cover; display:block; }
.lg-sheet { flex:1 1 auto; min-height:0; display:flex; flex-direction:column; padding:14px 18px 16px; background:#F7F4EE; }
.lg-sheet ol { flex:1 1 auto; margin:0 0 12px; padding:0; list-style:none; display:flex; flex-direction:column; justify-content:space-evenly; gap:4px; }
.lg-sheet li { display:flex; gap:12px; align-items:baseline; font:600 18px Spectral,serif; border-bottom:1px dotted #C4BFB6; padding:10px 0; }
.lg-sheet em { font:700 12px "IBM Plex Sans",sans-serif; color:#9A1B2E; font-style:normal; }
.lg-go { flex:0 0 auto; width:100%; height:46px; border:0; background:#9A1B2E; color:#F7F4EE; font:700 12px "IBM Plex Sans",sans-serif; letter-spacing:.1em; text-transform:uppercase; cursor:pointer; }
.lg-drawer { background:#D8D4CC; }
.lg-dtop { flex:0 0 auto; padding:46px 16px 8px; }
.lg-dtop p { margin:0; font:700 11px "IBM Plex Sans",sans-serif; letter-spacing:.14em; text-transform:uppercase; color:#9A1B2E; }
.lg-dtop h2 { margin:6px 0 0; font:700 26px Spectral,serif; }
.lg-stack { flex:1 1 auto; min-height:0; display:flex; flex-direction:column; gap:10px; padding:8px 16px 12px; }
.lg-fold { position:relative; flex:1 1 0; min-height:0; display:grid; grid-template-rows:18px 1fr auto; padding:0; border:0; background:#F7F4EE; color:#1A1816; text-align:left; cursor:pointer; overflow:hidden; }
.lg-fold i { width:46%; height:18px; border-radius:7px 7px 0 0; background:#9A1B2E; }
.lg-fold:nth-child(2) i { background:#6A6660; margin-left:18%; }
.lg-fold:nth-child(3) i { background:#1A1816; margin-left:36%; }
.lg-fold b { display:block; padding:8px 12px; font:700 18px Spectral,serif; background:#F7F4EE; }
.lg-note { background:#1A1816; }
.lg-headshot { flex:0 0 24%; min-height:0; overflow:hidden; }
.lg-pad { position:relative; flex:1 1 auto; min-height:0; margin-top:-18px; padding:20px 16px 10px 22px; overflow:auto; background:#F7F4EE; box-shadow:inset 4px 0 0 #9A1B2E; }
.lg-pad p { margin:0; font:700 11px "IBM Plex Sans",sans-serif; letter-spacing:.14em; text-transform:uppercase; color:#9A1B2E; }
.lg-pad h2 { margin:6px 0 8px; font:700 26px Spectral,serif; }
.lg-hint { letter-spacing:0 !important; text-transform:none !important; color:#5C5852 !important; font:500 13px/1.4 "IBM Plex Sans",sans-serif !important; margin:0 0 10px !important; }
.lg-howrow { display:grid; grid-template-columns:1fr 1fr 1fr; gap:6px; margin-bottom:10px; }
.lg-how { height:40px; border:1px solid #C4BFB6; background:#fff; color:#1A1816; font:650 12px "IBM Plex Sans",sans-serif; cursor:pointer; }
.lg-how.on { background:#9A1B2E; color:#F7F4EE; border-color:#9A1B2E; }
.lg-call { display:inline-block; margin-bottom:8px; font:700 16px Spectral,serif; color:#9A1B2E; text-decoration:none; }
.lg-pad label { color:#5C5852; }
.lg-pad input, .lg-pad select, .lg-pad textarea { color:#1A1816; border:0; border-bottom:1px solid #C4BFB6; border-radius:0; background:transparent; font:inherit; }
.lg-pad textarea { min-height:72px; padding:8px 0; resize:none; }
.lg-pad form button { background:#9A1B2E; color:#F7F4EE; }
.by { --acc:#C67B4A; --paper:#1A1613; --dim:#8A8076; color:#F4EDE4; background:#100E0C; font-family:Jost,sans-serif; }
.by .am-view { padding:0; gap:0; }
.by-vanity, .by-wall, .by-card { display:flex; flex-direction:column; min-height:100%; }
.by-halo-wrap { flex:1 1 auto; min-height:0; display:grid; place-items:center; padding:42px 8px 6px; }
.by-halo { position:relative; width:min(94%, 340px); aspect-ratio:1; container-type:size; }
.by-glass { position:absolute; inset:22px; border-radius:50%; overflow:hidden; border:3px solid #C9B89A; box-shadow:0 0 0 8px #100E0C, 0 0 36px rgba(198,123,74,.2); }
.by-glass img, .by-hub img, .by-sat img, .by-dial img { width:100%; height:100%; object-fit:cover; display:block; }
.by-bulb { position:absolute; left:50%; top:50%; width:11px; height:11px; border-radius:50%; background:#F4EDE4; box-shadow:0 0 10px rgba(244,237,228,.75); transform:translate(-50%,-50%) rotate(calc(var(--a)*1deg)) translateY(calc(-1 * 47cqw)); animation:by-glow 2.4s ease-in-out infinite; animation-delay:calc(var(--a)*12ms); }
@keyframes by-glow { 50% { opacity:.4; } }
.by-plate { flex:0 0 auto; padding:8px 22px 18px; text-align:center; }
.by-plate p, .by-walltop p, .by-tray > p:first-child { margin:0; font:600 11px Jost,sans-serif; letter-spacing:.16em; text-transform:uppercase; color:#C67B4A; }
.by-plate h1 { margin:8px 0 16px; font:400 28px/1.1 "Poiret One",sans-serif; }
.by-go { width:100%; height:48px; border:0; border-radius:999px; background:#C67B4A; color:#100E0C; font:700 12px Jost,sans-serif; letter-spacing:.12em; text-transform:uppercase; cursor:pointer; }
.by-wall { background:#100E0C; }
.by-walltop { flex:0 0 auto; padding:46px 20px 0; text-align:center; }
.by-walltop h2 { margin:6px 0 0; font:400 28px/1.1 "Poiret One",sans-serif; }
.by-orbit { flex:1 1 auto; min-height:0; display:flex; flex-direction:column; gap:8px; padding:6px 16px 10px; }
.by-sat { position:relative; width:78%; flex:1 1 0; min-height:0; padding:0; border:2px solid #C9B89A; border-radius:50%; overflow:hidden; color:#F4EDE4; cursor:pointer; align-self:flex-start; }
.by-sat:nth-child(2) { align-self:flex-end; }
.by-sat::after { content:""; position:absolute; inset:auto 0 0; height:48%; background:linear-gradient(180deg, transparent, rgba(16,14,12,.78)); }
.by-sat b { position:absolute; inset:auto 10px 12px; z-index:1; font:700 14px/1.15 Jost,sans-serif; }
.by-card { background:#100E0C; }
.by-picktop { flex:0 0 auto; padding:46px 14px 12px; }
.by-picktop > p { margin:0 0 8px; font:600 11px Jost,sans-serif; letter-spacing:.16em; text-transform:uppercase; color:#C67B4A; }
.by-picktop > p:nth-of-type(2) { margin-top:12px; }
.by-days { display:grid; grid-template-columns:repeat(7,minmax(0,1fr)); gap:4px; }
.by-day { display:grid; gap:2px; padding:7px 0 6px; border:0; border-radius:12px; background:#1A1613; color:#F4EDE4; cursor:pointer; }
.by-day small { font:600 9px Jost,sans-serif; letter-spacing:.06em; text-transform:uppercase; color:#8A8076; }
.by-day b { font:700 14px Jost,sans-serif; }
.by-day.on { background:#C67B4A; color:#100E0C; }
.by-day.on small { color:#5A3518; }
.by-times { display:grid; grid-template-columns:repeat(3,1fr); gap:6px; }
.by-hour { height:36px; margin:0; padding:0; border:0; border-radius:999px; background:#1A1613; color:#C9B89A; font:700 12px Jost,sans-serif; cursor:pointer; }
.by-hour.on { background:#C67B4A; color:#100E0C; }
.by-tray { flex:1 1 auto; min-height:0; overflow:auto; padding:12px 16px 8px; background:#F4EDE4; color:#1A1613; border-radius:28px 28px 0 0; }
.by-tray h2 { margin:6px 0 8px; font:400 28px/1.1 "Poiret One",sans-serif; }
.by-hint, .by-addr { margin:0 0 8px !important; letter-spacing:0 !important; text-transform:none !important; color:#6A5C54 !important; font:500 13px/1.4 Jost,sans-serif !important; }
.by-staffs { display:grid; grid-template-columns:1fr 1fr 1fr; gap:8px; margin:0 0 8px; }
.by-staff { padding:0; border:0; background:transparent; color:#1A1613; cursor:pointer; text-align:center; }
.by-staff img { width:68px; height:68px; margin:0 auto; object-fit:cover; display:block; border-radius:50%; box-shadow:inset 0 0 0 2px #D2C6BA; }
.by-staff b { display:block; margin-top:4px; font:650 11px/1.2 Jost,sans-serif; }
.by-staff.on img { box-shadow:0 0 0 2px #C67B4A; }
.by-staff.on b { color:#C67B4A; }
.by-call { display:inline-block; margin:0 0 6px; font:400 22px "Poiret One",sans-serif; color:#C67B4A; text-decoration:none; }
.by-tray label { color:#6A5C54; }
.by-tray input, .by-tray select { color:#1A1613; border-bottom-color:#D2C6BA; }
.by-tray form { gap:8px; }
.by-tray form button { background:#C67B4A; color:#100E0C; border-radius:999px; height:46px; }
.by-tray input, .by-tray select { height:40px; }
.ft { --acc:#3B6CFF; --paper:#16181C; --dim:#6B7180; color:#E8E6E1; background:#0B0C0E; font-family:Rubik,sans-serif; }
.ft .am-view { padding:0; gap:0; }
.ft-bay, .ft-row, .ft-pass { display:flex; flex-direction:column; min-height:100%; }
.ft-hero { position:relative; flex:1.2 1 0; min-height:0; overflow:hidden; touch-action:pan-y; cursor:grab; }
.ft-hero img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; display:block; opacity:0; transition:opacity 480ms cubic-bezier(.23,1,.32,1); }
.ft-hero img.on { opacity:1; z-index:1; }
.ft-shot img { width:100%; height:100%; object-fit:cover; display:block; }
.ft-cap { position:absolute; inset:auto 0 0; z-index:2; padding:52px 18px 18px; background:linear-gradient(180deg, transparent, rgba(11,12,14,.88)); }
.ft-cap p { margin:0 0 6px; font:600 11px Rubik,sans-serif; letter-spacing:.16em; text-transform:uppercase; color:#3B6CFF; }
.ft-cap h1 { margin:0; font:400 26px/1.1 "Russo One",sans-serif; }
.ft-strip { flex:0 0 auto; padding:14px 16px 16px; background:#16181C; box-shadow:inset 0 2px 0 #3B6CFF; }
.ft-keys { display:flex; justify-content:center; gap:18px; margin-bottom:12px; }
.ft-keys button { width:14px; height:14px; padding:0; border-radius:50%; border:2px solid #3A3D44; background:#0B0C0E; box-shadow:inset 0 0 0 3px #16181C; cursor:pointer; }
.ft-keys button.on { background:#3B6CFF; border-color:#3B6CFF; box-shadow:none; }
.ft-go { width:100%; height:46px; border:0; background:#3B6CFF; color:#fff; font:700 12px Rubik,sans-serif; letter-spacing:.12em; text-transform:uppercase; cursor:pointer; }
.ft-row { background:#0B0C0E; }
.ft-rowtop { flex:0 0 auto; padding:46px 16px 8px; }
.ft-rowtop p { margin:0; font:600 11px Rubik,sans-serif; letter-spacing:.16em; text-transform:uppercase; color:#3B6CFF; }
.ft-rowtop h2 { margin:6px 0 0; font:400 26px/1.1 "Russo One",sans-serif; }
.ft-lockers { flex:1 1 auto; min-height:0; display:flex; flex-direction:column; gap:8px; padding:8px 16px 12px; }
.ft-locker { position:relative; flex:1 1 0; min-height:0; display:grid; grid-template-columns:16px 1fr; padding:0; border:2px solid #2A2D33; background:#16181C; color:#E8E6E1; text-align:left; cursor:pointer; overflow:hidden; }
.ft-vent { background:repeating-linear-gradient(#2A2D33 0 5px, #0B0C0E 5px 11px); }
.ft-shot { min-height:0; overflow:hidden; }
.ft-locker em { position:absolute; top:10px; left:28px; font:400 12px "Russo One",sans-serif; color:#3B6CFF; font-style:normal; }
.ft-locker b { position:absolute; left:28px; bottom:10px; font:400 18px "Russo One",sans-serif; }
.ft-pass { background:#0B0C0E; }
.ft-badge { flex:1 1 auto; min-height:0; overflow:auto; margin:46px 14px 10px; padding:16px 14px 12px; background:#16181C; border:1px solid #2A2D33; box-shadow:inset 4px 0 0 #3B6CFF; }
.ft-badge > p:first-child { margin:0; font:600 11px Rubik,sans-serif; letter-spacing:.16em; text-transform:uppercase; color:#3B6CFF; }
.ft-badge h2 { margin:6px 0 8px; font:400 26px/1.1 "Russo One",sans-serif; }
.ft-hint, .ft-addr { margin:0 0 10px; color:#6B7180; font:500 13px/1.4 Rubik,sans-serif; }
.ft-badge > p:nth-of-type(3), .ft-badge > p:nth-of-type(4) { margin:10px 0 6px; font:600 11px Rubik,sans-serif; letter-spacing:.14em; text-transform:uppercase; color:#8B9198; }
.ft-days { display:grid; grid-template-columns:repeat(4,1fr); gap:6px; margin-bottom:4px; }
.ft-day { display:grid; gap:2px; padding:8px 0 7px; border:0; background:#0B0C0E; color:#E8E6E1; cursor:pointer; }
.ft-day small { font:600 10px Rubik,sans-serif; letter-spacing:.08em; text-transform:uppercase; color:#6B7180; }
.ft-day b { font:400 16px "Russo One",sans-serif; }
.ft-day.on { background:#3B6CFF; color:#fff; }
.ft-day.on small { color:#C9D6FF; }
.ft-leds { display:grid; grid-template-columns:1fr 1fr 1fr; gap:6px; margin-bottom:10px; }
.ft-led { display:grid; gap:2px; padding:8px 6px; border:0; background:#0B0C0E; color:#E8E6E1; text-align:left; cursor:pointer; }
.ft-led small { font:600 9px Rubik,sans-serif; letter-spacing:.12em; text-transform:uppercase; color:#6B7180; }
.ft-led b { font:400 16px "Russo One",sans-serif; }
.ft-led.on { background:#3B6CFF; color:#fff; }
.ft-led.on small { color:#C9D6FF; }
.ft-call { display:inline-block; margin:0 0 6px; font:400 20px "Russo One",sans-serif; color:#3B6CFF; text-decoration:none; }
.ft-badge label { color:#6B7180; }
.ft-badge input, .ft-badge select { color:#E8E6E1; border-bottom-color:#3A3D44; }
.ft-badge form button { background:#3B6CFF; color:#fff; }
