
* { 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; }
}


.wb { --acc:#7CFF9E; --paper:#0C1210; --dim:#6A8A72; color:#7CFF9E; background:#070A08; font-family:"IBM Plex Mono",monospace; }
.wb .am-view { padding:0; gap:0; }
.wb-home, .wb-list, .wb-book { display:flex; flex-direction:column; min-height:100%; }
.wb-screen { flex:1.2 1 0; min-height:0; padding:0; border:0; overflow:hidden; cursor:pointer; background:#0C1210; }
.wb-screen img { width:100%; height:100%; object-fit:cover; display:block; filter:saturate(.55) contrast(1.08); }
.wb-termstrip { flex:0 0 auto; padding:10px 14px 8px; background:#070A08; box-shadow:inset 0 1px 0 #1E3A28; }
.wb-prompt { margin:0 0 6px; font:700 12px "IBM Plex Mono",monospace; color:#C8F5A8; }
.wb-list .wb-prompt { margin:48px 16px 8px; }
.wb-ls { display:flex; flex-direction:column; gap:2px; }
.wb-file { display:grid; grid-template-columns:96px 1fr; gap:10px; align-items:baseline; width:100%; padding:4px 0; border:0; background:transparent; color:#7CFF9E; text-align:left; cursor:pointer; }
.wb-file em { font:600 11px "IBM Plex Mono",monospace; color:#6A8A72; font-style:normal; }
.wb-file b { font:700 15px "IBM Plex Mono",monospace; }
.wb-logs { flex:1 1 auto; min-height:0; display:flex; flex-direction:column; gap:8px; padding:0 12px 10px; }
.wb-log { position:relative; flex:1 1 0; min-height:0; display:block; width:100%; padding:0; border:0; overflow:hidden; background:#0C1210; color:#7CFF9E; text-align:left; cursor:pointer; }
.wb-log img { width:100%; height:100%; object-fit:cover; display:block; filter:saturate(.55) contrast(1.08); }
.wb-log span { position:absolute; left:0; right:0; bottom:0; z-index:1; padding:10px 12px; background:linear-gradient(180deg, transparent, rgba(7,10,8,.92)); }
.wb-log em { display:block; font:600 11px "IBM Plex Mono",monospace; color:#6A8A72; font-style:normal; }
.wb-log b { display:block; font:700 16px "IBM Plex Mono",monospace; }
.wb-foot { margin:6px 0 0; font:600 11px "IBM Plex Mono",monospace; color:#6A8A72; }
.wb-book { background:#050705; }
.wb-term { flex:1 1 auto; min-height:0; overflow:auto; margin:40px 10px 6px; padding:14px; background:#0C1210; box-shadow:inset 0 0 0 1px #1E3A28; }
.wb-term > p:first-of-type { margin:0; color:#C8F5A8; font:700 12px "IBM Plex Mono",monospace; }
.wb-term h2 { margin:8px 0 0; font:700 22px "IBM Plex Mono",monospace; color:#7CFF9E; }
.wb-hint, .wb-addr { margin:8px 0; color:#6A8A72; font:500 12px/1.4 "IBM Plex Mono",monospace; }
.wb-term > p:nth-of-type(3), .wb-term > p:nth-of-type(4) { margin:10px 0 4px; color:#6A8A72; font:700 11px "IBM Plex Mono",monospace; letter-spacing:.08em; text-transform:uppercase; }
.wb-pills { display:grid; grid-template-columns:1fr 1fr 1fr; gap:6px; }
.wb-pill { height:34px; border:1px solid #1E3A28; background:#070A08; color:#7CFF9E; font:700 11px "IBM Plex Mono",monospace; cursor:pointer; }
.wb-pill.on { background:#7CFF9E; color:#070A08; }
.wb-call { display:inline-block; margin:8px 0 2px; color:#C8F5A8; font:700 16px "IBM Plex Mono",monospace; text-decoration:none; }
.wb-term label { color:#6A8A72; gap:2px; }
.wb-term form { gap:6px; }
.wb-term input, .wb-term select { height:36px; color:#7CFF9E; border-bottom-color:#1E3A28; background:transparent; }
.wb-term form button { height:44px; background:#7CFF9E; color:#070A08; }

.qy { --acc:#5A6B78; --paper:#F4F7F8; --dim:#8A949C; color:#2A3238; background:#E8EEF0; font-family:Figtree,sans-serif; }
.qy .am-view { padding:0; gap:0; }
.qy-home, .qy-list, .qy-book { display:flex; flex-direction:column; min-height:100%; }
.qy-diptych { flex:1 1 auto; min-height:0; display:grid; grid-template-columns:1fr 36px 1fr; }
.qy-chair { padding:0; border:0; overflow:hidden; cursor:pointer; background:#C9D4D8; }
.qy-chair img { width:100%; height:100%; object-fit:cover; display:block; }
.qy-spine { margin:0; writing-mode:vertical-rl; transform:rotate(180deg); display:grid; place-items:center; font:400 18px/1 Instrument Serif,serif; letter-spacing:.12em; background:#2A3238; color:#F4F7F8; }
.qy-city { flex:0 0 auto; margin:0; padding:10px 16px 8px; font:700 12px Figtree,sans-serif; color:#5A6B78; }
.qy-lab { margin:46px 16px 8px; font:700 11px Figtree,sans-serif; letter-spacing:.14em; text-transform:uppercase; color:#5A6B78; }
.qy-steps { flex:1 1 auto; min-height:0; display:flex; flex-direction:column; gap:8px; padding:0 12px 10px; }
.qy-step { position:relative; flex:1 1 0; min-height:0; display:block; width:100%; padding:0; border:0; overflow:hidden; background:#C9D4D8; color:#F4F7F8; text-align:left; cursor:pointer; }
.qy-step img { width:100%; height:100%; object-fit:cover; display:block; }
.qy-step::after { content:""; position:absolute; inset:auto 0 0; height:50%; background:linear-gradient(180deg, transparent, rgba(42,50,56,.86)); }
.qy-step i { position:absolute; left:12px; top:12px; z-index:1; font:700 14px Instrument Serif,serif; font-style:normal; color:#F4F7F8; }
.qy-step b { position:absolute; left:12px; right:12px; bottom:12px; z-index:1; font:400 22px Instrument Serif,serif; }
.qy-book { background:#D8E0E4; }
.qy-env { position:relative; flex:1 1 auto; min-height:0; overflow:auto; margin:48px 14px 8px; padding:28px 16px 10px; background:#F4F7F8; }
.qy-env > i { position:absolute; left:50%; top:-10px; width:22px; height:22px; margin-left:-11px; border-radius:50%; background:#C9D4D8; box-shadow:inset 0 0 0 3px #F4F7F8; }
.qy-env > p:first-of-type { margin:0; color:#5A6B78; font:700 11px Figtree,sans-serif; letter-spacing:.12em; text-transform:uppercase; }
.qy-env h2 { margin:6px 0 0; font:400 26px Instrument Serif,serif; }
.qy-hint, .qy-addr { margin:8px 0; color:#8A949C; font:500 13px/1.4 Figtree,sans-serif; }
.qy-env > p:nth-of-type(3), .qy-env > p:nth-of-type(4) { margin:10px 0 4px; color:#8A949C; font:700 11px Figtree,sans-serif; letter-spacing:.08em; text-transform:uppercase; }
.qy-pills { display:grid; grid-template-columns:1fr 1fr 1fr; gap:6px; }
.qy-pill { height:34px; border:0; background:#E8EEF0; color:#2A3238; font:700 12px Figtree,sans-serif; cursor:pointer; }
.qy-pill.on { background:#5A6B78; color:#F4F7F8; }
.qy-call { display:inline-block; margin:8px 0 2px; color:#2A3238; font:400 18px Instrument Serif,serif; text-decoration:none; }
.qy-env label { color:#8A949C; gap:2px; }
.qy-env form { gap:6px; }
.qy-env input, .qy-env select { height:36px; color:#2A3238; border-bottom-color:#C9D4D8; }
.qy-env form button { height:44px; background:#5A6B78; color:#F4F7F8; }

.nu { --acc:#5C6B2F; --paper:#F6F1E4; --dim:#7A7460; color:#2C2818; background:#E8E2D0; font-family:"Nunito Sans",sans-serif; }
.nu .am-view { padding:0; gap:0; }
.nu-home, .nu-list, .nu-book { display:flex; flex-direction:column; min-height:100%; }
.nu-city { margin:52px 0 0; text-align:center; font:700 11px "Nunito Sans",sans-serif; letter-spacing:.14em; text-transform:uppercase; color:#5C6B2F; }
.nu-dial { width:min(62%, 220px); aspect-ratio:1; margin:8px auto 0; }
.nu-plate { width:100%; height:100%; padding:0; border:0; border-radius:50%; overflow:hidden; cursor:pointer; box-shadow:0 0 0 10px #F6F1E4, 0 0 0 14px #C4B48A; }
.nu-plate img, .nu-rim img { width:100%; height:100%; object-fit:cover; display:block; }
.nu-home h1 { margin:10px 18px 0; text-align:center; font:700 22px/1.1 "Playfair Display",serif; }
.nu-sub { margin:2px 18px 8px; text-align:center; color:#7A7460; font:600 12px "Nunito Sans",sans-serif; }
.nu-rims { flex:1 1 auto; min-height:0; display:grid; grid-template-columns:1fr 1fr 1fr; gap:8px; padding:0 12px 10px; }
.nu-rim { display:grid; grid-template-rows:1fr auto; min-height:0; padding:0; border:0; background:transparent; color:#2C2818; cursor:pointer; }
.nu-rim img { min-height:0; }
.nu-rim b { padding:6px 0 0; font:700 11px/1.15 "Nunito Sans",sans-serif; }
.nu-lab { margin:46px 16px 8px; font:700 11px "Nunito Sans",sans-serif; letter-spacing:.12em; text-transform:uppercase; color:#5C6B2F; }
.nu-cards { flex:1 1 auto; min-height:0; display:flex; flex-direction:column; gap:8px; padding:0 12px 10px; }
.nu-card { position:relative; flex:1 1 0; min-height:0; display:block; padding:0; border:0; overflow:hidden; background:#F6F1E4; color:#F6F1E4; text-align:left; cursor:pointer; }
.nu-card img { width:100%; height:100%; object-fit:cover; display:block; }
.nu-card::after { content:""; position:absolute; inset:auto 0 0; height:50%; background:linear-gradient(180deg, transparent, rgba(44,40,24,.86)); }
.nu-card em { position:absolute; left:12px; top:10px; z-index:1; font:700 14px "Playfair Display",serif; font-style:normal; color:#F6F1E4; }
.nu-card b { position:absolute; left:12px; right:12px; bottom:10px; z-index:1; font:700 20px "Playfair Display",serif; }
.nu-book { background:#5C6B2F; }
.nu-index { --row:32px; flex:1 1 auto; min-height:0; overflow:auto; margin:40px 12px 8px; padding:0 14px; color:#2C2818; background-color:#F6F1E4; background-image:repeating-linear-gradient(#F6F1E4 0 calc(var(--row) - 1px), #D8CFB4 calc(var(--row) - 1px) var(--row)); line-height:var(--row); }
.nu-leaf { display:block; width:calc(100% + 28px); max-width:none; height:calc(var(--row) * 4); margin:0 -14px; object-fit:cover; }
.nu-index > p:first-of-type { margin:0; color:#5C6B2F; font:700 11px/var(--row) "Nunito Sans",sans-serif; letter-spacing:.12em; text-transform:uppercase; }
.nu-index h2 { margin:0; font:700 24px/var(--row) "Playfair Display",serif; }
.nu-hint, .nu-addr { margin:0; color:#7A7460; font:600 13px/var(--row) "Nunito Sans",sans-serif; }
.nu-index > p:nth-of-type(3), .nu-index > p:nth-of-type(4) { margin:0; color:#7A7460; font:700 11px/var(--row) "Nunito Sans",sans-serif; letter-spacing:.08em; text-transform:uppercase; }
.nu-pills { display:grid; grid-template-columns:1fr 1fr 1fr; gap:0; height:var(--row); }
.nu-pill { height:var(--row); border:0; background:transparent; color:#2C2818; font:700 12px/var(--row) "Nunito Sans",sans-serif; cursor:pointer; }
.nu-pill.on { background:#5C6B2F; color:#F6F1E4; }
.nu-call { display:block; margin:0; color:#2C2818; font:700 18px/var(--row) "Playfair Display",serif; text-decoration:none; }
.nu-index label { color:#7A7460; gap:0; line-height:var(--row); }
.nu-index form { gap:0; }
.nu-index input, .nu-index select { height:var(--row); padding:0; color:#2C2818; border-bottom-color:transparent; }
.nu-index form button { height:calc(var(--row) * 2); margin:0; background:#5C6B2F; color:#F6F1E4; }

.ko { --acc:#E8D5B5; --paper:#241A14; --dim:#A09080; color:#F4E8D4; background:#1A120E; font-family:"Work Sans",sans-serif; }
.ko .am-view { padding:0; gap:0; }
.ko-home, .ko-list, .ko-book { display:flex; flex-direction:column; min-height:100%; }
.ko-table { flex:1 1 auto; min-height:0; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:14px; padding:48px 16px 12px; background:radial-gradient(circle at 50% 42%, #3A2A20, #1A120E 68%); }
.ko-cup { width:min(78%, 280px); aspect-ratio:1; padding:0; border:0; border-radius:50%; overflow:hidden; cursor:pointer; box-shadow:0 0 0 18px #E8D5B5, 0 0 0 22px #241A14, 0 18px 40px rgba(0,0,0,.35); }
.ko-cup img { width:100%; height:100%; object-fit:cover; display:block; }
.ko-saucer { text-align:center; }
.ko-saucer p { margin:0; font:700 11px "Work Sans",sans-serif; letter-spacing:.16em; text-transform:uppercase; color:#E8D5B5; }
.ko-saucer h1 { margin:6px 0 0; font:700 24px/1.15 "Libre Baskerville",serif; }
.ko-lab { margin:46px 16px 8px; font:700 11px "Work Sans",sans-serif; letter-spacing:.14em; text-transform:uppercase; color:#E8D5B5; }
.ko-shots { flex:1 1 auto; min-height:0; display:grid; grid-template-columns:1fr 1fr 1fr; gap:8px; padding:0 16px 10px; }
.ko-shot { display:grid; grid-template-rows:1fr auto; min-height:0; padding:0; border:0; background:transparent; color:#F4E8D4; cursor:pointer; }
.ko-shot img { width:100%; height:100%; min-height:0; object-fit:cover; display:block; }
.ko-shot b { padding:8px 0 0; font:700 13px "Libre Baskerville",serif; }
.ko-book { background:#3A2A20; }
.ko-stub { flex:1 1 auto; min-height:0; overflow:auto; margin:44px 28px 8px; padding:16px 14px 8px; background:#F4E8D4; color:#241A14; box-shadow:0 12px 0 repeating-linear-gradient(90deg,#241A14 0 8px,transparent 8px 16px); }
.ko-stub > p:first-of-type { margin:0; color:#8A6A40; font:700 11px "Work Sans",sans-serif; letter-spacing:.14em; text-transform:uppercase; }
.ko-stub h2 { margin:6px 0 0; font:700 22px "Libre Baskerville",serif; }
.ko-hint, .ko-addr { margin:8px 0; color:#8A6A40; font:600 13px/1.4 "Work Sans",sans-serif; }
.ko-stub > p:nth-of-type(3), .ko-stub > p:nth-of-type(4) { margin:10px 0 4px; color:#8A6A40; font:700 11px "Work Sans",sans-serif; letter-spacing:.08em; text-transform:uppercase; }
.ko-pills { display:grid; grid-template-columns:1fr 1fr 1fr; gap:6px; }
.ko-pill { height:34px; border:0; background:#E8D5B5; color:#241A14; font:700 12px "Work Sans",sans-serif; cursor:pointer; }
.ko-pill.on { background:#241A14; color:#F4E8D4; }
.ko-call { display:inline-block; margin:8px 0 2px; color:#241A14; font:700 18px "Libre Baskerville",serif; text-decoration:none; }
.ko-stub label { color:#8A6A40; gap:2px; }
.ko-stub form { gap:6px; }
.ko-stub input, .ko-stub select { height:36px; color:#241A14; border-bottom-color:#C9B89A; }
.ko-stub form button { height:44px; background:#241A14; color:#F4E8D4; }

.bi { --acc:#1A1814; --paper:#F4E7C8; --dim:#7A6A48; color:#1A1814; background:#E8D7B0; font-family:"Source Sans 3",sans-serif; }
.bi .am-view { padding:0; gap:0; }
.bi-home, .bi-list, .bi-book { display:flex; flex-direction:column; min-height:100%; }
.bi-mast { flex:0 0 auto; padding:48px 14px 10px; border-bottom:3px double #1A1814; text-align:center; background:#F4E7C8; }
.bi-mast p { margin:0; font:700 11px "Source Sans 3",sans-serif; letter-spacing:.18em; text-transform:uppercase; }
.bi-mast h1 { margin:4px 0 0; font:400 26px/1 Young Serif,serif; }
.bi-spread { flex:1 1 auto; min-height:0; display:grid; grid-template-columns:1fr 1.15fr; }
.bi-cols { display:flex; flex-direction:column; min-height:0; border-right:1px solid #1A1814; }
.bi-col { position:relative; flex:1 1 0; min-height:0; padding:0; border:0; border-bottom:1px solid #1A1814; overflow:hidden; cursor:pointer; color:#F4E7C8; text-align:left; }
.bi-col:last-child { border-bottom:0; }
.bi-col img, .bi-right img, .bi-win img { width:100%; height:100%; object-fit:cover; display:block; }
.bi-col b { position:absolute; left:8px; right:8px; bottom:8px; z-index:1; font:400 16px Young Serif,serif; text-shadow:0 1px 8px #1A1814; }
.bi-right { padding:0; border:0; overflow:hidden; cursor:pointer; }
.bi-lab { margin:46px 16px 8px; font:700 11px "Source Sans 3",sans-serif; letter-spacing:.14em; text-transform:uppercase; }
.bi-ads { flex:1 1 auto; min-height:0; display:flex; flex-direction:column; gap:8px; padding:0 12px 10px; }
.bi-ad { position:relative; flex:1 1 0; min-height:0; display:block; padding:0; border:0; overflow:hidden; color:#F4E7C8; text-align:left; cursor:pointer; }
.bi-ad img { width:100%; height:100%; object-fit:cover; display:block; }
.bi-ad span { position:absolute; left:0; right:0; bottom:0; z-index:1; padding:10px 12px; background:linear-gradient(180deg, transparent, rgba(26,24,20,.88)); }
.bi-ad small { display:block; font:700 11px "Source Sans 3",sans-serif; letter-spacing:.1em; text-transform:uppercase; color:#E8D7B0; }
.bi-ad b { display:block; font:400 22px Young Serif,serif; }
.bi-book { background:#1A1814; }
.bi-win { flex:0 0 28%; min-height:0; overflow:hidden; }
.bi-card { flex:1 1 auto; min-height:0; overflow:auto; margin:-18px 0 0; padding:16px 16px 8px; background:#F4E7C8; }
.bi-card > p:first-of-type { margin:0; font:700 11px "Source Sans 3",sans-serif; letter-spacing:.14em; text-transform:uppercase; }
.bi-card h2 { margin:4px 0 0; font:400 24px Young Serif,serif; }
.bi-hint, .bi-addr { margin:6px 0 8px; color:#7A6A48; font:600 13px/1.35 "Source Sans 3",sans-serif; }
.bi-card > p:nth-of-type(3), .bi-card > p:nth-of-type(4) { margin:8px 0 4px; font:700 11px "Source Sans 3",sans-serif; letter-spacing:.08em; text-transform:uppercase; }
.bi-pills { display:grid; grid-template-columns:1fr 1fr 1fr; gap:6px; }
.bi-pill { height:36px; border:0; background:#E8D7B0; color:#1A1814; font:700 12px "Source Sans 3",sans-serif; cursor:pointer; }
.bi-pill.on { background:#1A1814; color:#F4E7C8; }
.bi-call { display:inline-block; margin:8px 0 2px; color:#1A1814; font:400 18px Young Serif,serif; text-decoration:none; }
.bi-card label { color:#7A6A48; gap:2px; }
.bi-card form { gap:6px; }
.bi-card input, .bi-card select { height:36px; color:#1A1814; border-bottom-color:#C9B89A; background:transparent; }
.bi-card form button { height:44px; background:#1A1814; color:#F4E7C8; }

.nx { --acc:#7EB8FF; --paper:#10151C; --dim:#7A8694; color:#E8EEF4; background:#0A0E14; font-family:"IBM Plex Sans",sans-serif; }
.nx .am-view { padding:0; gap:0; }
.nx-home, .nx-list, .nx-book { display:flex; flex-direction:column; min-height:100%; }
.nx-lab { margin:56px 16px 0; font:700 11px "IBM Plex Sans",sans-serif; letter-spacing:.16em; text-transform:uppercase; color:#7EB8FF; }
.nx-home h1 { margin:6px 16px 10px; font:800 34px/1 Alumni Sans,sans-serif; }
.nx-shelf { flex:1 1 auto; min-height:0; overflow:hidden; padding:0 16px 12px; touch-action:none; cursor:grab; user-select:none; }
.nx-shelf.is-drag { cursor:grabbing; }
.nx-track { display:flex; gap:12px; height:100%; will-change:transform; }
.nx-bot { position:relative; flex:0 0 42%; min-height:0; height:100%; padding:0; border:0; background:#10151C; color:#E8EEF4; cursor:inherit; overflow:hidden; }
.nx-bot img { width:100%; height:100%; object-fit:cover; display:block; pointer-events:none; }
.nx-bot::after { content:""; position:absolute; inset:auto 0 0; height:42%; background:linear-gradient(180deg, transparent, rgba(10,14,20,.88)); }
.nx-bot em, .nx-bot b { position:absolute; z-index:1; left:10px; font-style:normal; }
.nx-bot em { top:10px; font:700 12px "IBM Plex Sans",sans-serif; color:#7EB8FF; }
.nx-bot b { bottom:12px; font:800 22px Alumni Sans,sans-serif; }
.nx-glows { flex:1 1 auto; min-height:0; display:flex; flex-direction:column; gap:8px; padding:8px 16px 10px; }
.nx-glow { position:relative; flex:1 1 0; min-height:0; padding:0; border:0; overflow:hidden; cursor:pointer; color:#E8EEF4; text-align:left; }
.nx-glow img { width:100%; height:100%; object-fit:cover; display:block; }
.nx-glow b { position:absolute; left:12px; bottom:10px; font:800 22px Alumni Sans,sans-serif; }
.nx-book { background:#7EB8FF; }
.nx-napkin { flex:1 1 auto; min-height:0; overflow:auto; margin:48px 18px 10px; padding:16px 14px 8px; background:#F4F7FA; color:#10151C; transform:rotate(-1.4deg); }
.nx-napkin > p:first-of-type { margin:0; color:#7EB8FF; font:700 11px "IBM Plex Sans",sans-serif; letter-spacing:.14em; text-transform:uppercase; }
.nx-napkin h2 { margin:6px 0 0; font:800 28px Alumni Sans,sans-serif; }
.nx-hint, .nx-addr { margin:8px 0; color:#7A8694; font:500 13px/1.4 "IBM Plex Sans",sans-serif; }
.nx-napkin > p:nth-of-type(3), .nx-napkin > p:nth-of-type(4) { margin:10px 0 4px; color:#7A8694; font:700 11px "IBM Plex Sans",sans-serif; letter-spacing:.08em; text-transform:uppercase; }
.nx-pills { display:grid; grid-template-columns:1fr 1fr 1fr; gap:6px; }
.nx-pill { height:34px; border:0; background:#E8EEF4; color:#10151C; font:700 12px "IBM Plex Sans",sans-serif; cursor:pointer; }
.nx-pill.on { background:#10151C; color:#7EB8FF; }
.nx-call { display:inline-block; margin:8px 0 2px; color:#10151C; font:800 20px Alumni Sans,sans-serif; text-decoration:none; }
.nx-napkin label { color:#7A8694; gap:2px; }
.nx-napkin form { gap:6px; }
.nx-napkin input, .nx-napkin select { height:36px; color:#10151C; border-bottom-color:#C9D4DC; }
.nx-napkin form button { height:44px; background:#10151C; color:#7EB8FF; }

.ln { --acc:#C43B2A; --paper:#D7DCE2; --dim:#5C6870; color:#1A2228; background:#C9D0D6; font-family:"Golos Text",sans-serif; }
.ln .am-view { padding:0; gap:0; }
.ln-home, .ln-list, .ln-book { display:flex; flex-direction:column; min-height:100%; }
.ln-lab { margin:52px 16px 8px; font:700 11px "Golos Text",sans-serif; letter-spacing:.16em; text-transform:uppercase; color:#C43B2A; }
.ln-hero { position:relative; flex:1.2 1 0; min-height:0; margin:0 12px; padding:0; border:0; overflow:hidden; cursor:pointer; color:#F4E24A; text-align:left; }
.ln-hero img { width:100%; height:100%; object-fit:cover; display:block; }
.ln-hero::after { content:""; position:absolute; inset:auto 0 0; height:48%; background:linear-gradient(180deg, transparent, rgba(26,34,40,.88)); }
.ln-hero span { position:absolute; left:12px; right:12px; bottom:10px; z-index:1; }
.ln-hero small { display:block; font:700 11px "Golos Text",sans-serif; letter-spacing:.12em; text-transform:uppercase; color:#C43B2A; }
.ln-hero b { display:block; font:800 22px Onest,sans-serif; }
.ln-steam { flex:0 0 132px; display:grid; grid-template-columns:1fr 1fr 1fr; gap:6px; padding:8px 12px 10px; }
.ln-peek { display:grid; grid-template-rows:1fr auto; min-height:0; padding:0; border:0; background:transparent; color:#1A2228; cursor:pointer; }
.ln-peek img { width:100%; height:100%; min-height:0; object-fit:cover; display:block; }
.ln-peek b { padding:4px 0 0; font:700 11px/1.15 "Golos Text",sans-serif; }
.ln-board { flex:1 1 auto; min-height:0; display:flex; flex-direction:column; gap:6px; margin:8px 12px 10px; padding:6px; background:#1A2228; }
.ln-row { position:relative; flex:1 1 0; min-height:0; display:block; width:100%; padding:0; border:0; overflow:hidden; background:#10151A; color:#F4E24A; text-align:left; cursor:pointer; }
.ln-row img { width:100%; height:100%; object-fit:cover; display:block; }
.ln-row::after { content:""; position:absolute; inset:auto 0 0; height:52%; background:linear-gradient(180deg, transparent, rgba(26,34,40,.9)); }
.ln-row em { position:absolute; left:10px; top:10px; z-index:1; font:800 14px Onest,sans-serif; font-style:normal; color:#C43B2A; }
.ln-row b { position:absolute; left:10px; right:10px; bottom:10px; z-index:1; font:700 20px Onest,sans-serif; }
.ln-book { background:#C43B2A; }
.ln-stub { flex:1 1 auto; min-height:0; overflow:auto; margin:44px 16px 8px; padding:16px 14px 8px; background:#F4E24A; color:#1A2228; }
.ln-stub > p:first-of-type { margin:0; font:700 11px "Golos Text",sans-serif; letter-spacing:.14em; text-transform:uppercase; color:#C43B2A; }
.ln-stub h2 { margin:6px 0 0; font:800 24px Onest,sans-serif; }
.ln-hint, .ln-addr { margin:8px 0; color:#5C6870; font:600 13px/1.4 "Golos Text",sans-serif; }
.ln-stub > p:nth-of-type(3), .ln-stub > p:nth-of-type(4) { margin:10px 0 4px; font:700 11px "Golos Text",sans-serif; letter-spacing:.08em; text-transform:uppercase; }
.ln-pills { display:grid; grid-template-columns:1fr 1fr 1fr; gap:6px; }
.ln-pill { height:34px; border:0; background:#1A2228; color:#F4E24A; font:700 12px "Golos Text",sans-serif; cursor:pointer; }
.ln-pill.on { background:#C43B2A; color:#F4E24A; }
.ln-call { display:inline-block; margin:8px 0 2px; color:#1A2228; font:800 18px Onest,sans-serif; text-decoration:none; }
.ln-stub label { color:#5C6870; gap:2px; }
.ln-stub form { gap:6px; }
.ln-stub input, .ln-stub select { height:36px; color:#1A2228; border-bottom-color:#C43B2A; background:transparent; }
.ln-stub form button { height:44px; background:#1A2228; color:#F4E24A; }
