@charset "UTF-8";

/* Shared values, followed by desktop, tablet, and mobile layouts. */
:root {
  --green:#204b34; --green-dark:#0c1c16; --green-soft:#316344;
  --cream:#f3f0e6; --paper:#fffdf6; --ink:#203b2c; --muted:#63715f;
  --line:#d9dccd; --gold:#e4c78a; --sidebar:236px; --topbar:56px;
  --wall:#0c1c16; --cream-text:#f6f0e2;
  --font:"Pretendard","Noto Sans KR","Apple SD Gothic Neo","Malgun Gothic",sans-serif;
}
* { box-sizing:border-box; }
html { scroll-padding-top:calc(var(--topbar) + 20px); }
body { margin:0; background:var(--wall); color:var(--cream-text); font:14px/1.6 var(--font); -webkit-font-smoothing:antialiased; }
body.is-home { background:#07140c url("/coffee/assets/bg/hall.jpg") var(--sidebar) center / calc(100% - var(--sidebar)) auto no-repeat fixed; }
main { background:none; }
button,input { font:inherit; }
button { color:inherit; border:0; background:none; cursor:pointer; }
button,a { -webkit-tap-highlight-color:transparent; }
button:disabled,input:disabled { cursor:not-allowed; }
a { color:inherit; text-decoration:none; }
h1,h2,h3,p { margin:0; }
img { display:block; max-width:100%; }
svg { width:20px; height:20px; flex-shrink:0; vertical-align:middle; stroke:currentColor; stroke-width:1.65; fill:none; stroke-linecap:round; stroke-linejoin:round; }
svg.icon-solid { fill:currentColor; stroke:none; }
[hidden] { display:none!important; }
button:focus-visible,a:focus-visible,input:focus-visible { outline:3px solid #a57932; outline-offset:4px; }
.sidebar :focus-visible,.hero[data-tone="green"] :focus-visible { outline-color:#f1d390; }
::selection { background:#dbe6cf; color:var(--green-dark); }
.sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.skip-link { position:fixed; top:-80px; left:16px; z-index:200; padding:12px 18px; background:var(--paper); color:var(--green); }
.skip-link:focus { top:12px; }
.icon-button { display:inline-flex; align-items:center; justify-content:center; width:44px; height:44px; flex-shrink:0; border-radius:6px; }
.icon-button:hover { background:#ffffff14; }
dialog .icon-button:hover { background:#e9ede3; }
.button { display:inline-flex; align-items:center; justify-content:center; gap:10px; min-height:44px; padding:10px 18px; border:1px solid transparent; border-radius:6px; font-size:14px; line-height:1.5; font-weight:600; white-space:nowrap; }
.button-small { padding-inline:16px; font-size:13px; }
.button-green { background:var(--green); color:#fffdf4; }
.button-green:hover { background:var(--green-soft); }
.button-cream { background:#f5eedc; color:var(--green); }
.button-cream:hover { background:#fffaf0; }
.button-outline { border-color:#e4c78a99; color:var(--cream-text); }
.button-outline:hover { background:#f3e2b414; }
.button:disabled { opacity:.55; }
.text-button { display:inline-flex; align-items:center; justify-content:center; min-height:44px; font-size:13px; font-weight:600; padding:8px 4px; white-space:nowrap; }
.text-button:hover { text-decoration:underline; text-underline-offset:4px; }

/* Coffee-shop architecture: fluted green, cream paper, restrained brass. */
.sidebar { position:fixed; inset:0 auto 0 0; z-index:60; display:flex; flex-direction:column; width:var(--sidebar); padding:22px 18px 28px; background:repeating-linear-gradient(90deg,#ffffff08 0 1px,transparent 1px 8px),var(--wall); color:#eeeedd; border-right:1px solid #e4c78a33; overflow-y:auto; overscroll-behavior:contain; scrollbar-width:thin; scrollbar-color:#587763 transparent; }
.brand { display:flex; align-items:center; justify-content:center; flex-shrink:0; margin:0 0 17px; padding:0 0 23px; border-bottom:1px solid #bba16c75; position:relative; }
.brand::after { content:""; position:absolute; bottom:-3px; left:calc(50% - 3px); width:5px; height:5px; background:#c7ac75; transform:rotate(45deg); }
.brand-logo { width:200px; height:150px; object-fit:contain; object-position:center; filter:drop-shadow(0 5px 8px #041c2055); }
.nav-eyebrow,.nav-label { padding:0 13px 9px; color:#b4c5b5; font-size:11px; font-weight:600; letter-spacing:1px; }
.nav-main,.nav-service { display:flex; flex-direction:column; flex-shrink:0; gap:4px; }
.nav-link { position:relative; display:flex; align-items:center; gap:12px; min-height:46px; padding:10px 13px; border:1px solid transparent; border-radius:6px; color:#e1e8d9; font-size:14px; font-weight:500; transition:background .18s,color .18s; }
.nav-link svg { width:19px; height:19px; color:#b9c9ae; }
.nav-link:hover { background:#ffffff0a; border-color:#d4bd7c30; }
.nav-link.active { background:#f4edd9; color:#204b34; border-color:#f4edd9; font-weight:750; box-shadow:0 3px 10px #051b241a; }
.nav-link.active::after { content:""; width:5px; height:5px; margin-left:auto; background:#9c814e; border-radius:50%; }
.nav-link.active svg { color:inherit; }
.nav-label { margin-top:22px; padding-top:20px; border-top:1px solid #bba16c40; }
.nav-service { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:4px; }
.nav-service .nav-link { grid-column:1/-1; min-height:39px; padding-block:7px; font-size:13px; }
.nav-service .nav-link:nth-child(-n+2) { grid-column:auto; justify-content:center; min-height:46px; margin-bottom:8px; padding-inline:7px; border-color:#bba16c55; background:#ffffff05; color:#f4e5be; gap:8px; }
.nav-service .nav-link:nth-child(-n+2) svg { color:#d3bd85; width:17px; }
.sidebar-banners { display:flex; flex-direction:column; gap:10px; margin:16px -8px 0; width:calc(100% + 16px); flex-shrink:0; }
.sidebar-banners img { display:block; width:100%; max-width:none; height:auto; border:1px solid #e4c78a99; border-radius:10px; }
.sidebar-close,.mobile-menu,.mobile-brand { display:none; }
.page-shell { margin-left:var(--sidebar); min-width:0; }
.topbar { position:sticky; top:0; z-index:40; display:flex; align-items:center; justify-content:space-between; gap:16px; min-height:var(--topbar); padding:0 28px; border-bottom:1px solid #e4c78a33; background:var(--wall); color:var(--cream-text); }
.topbar-left { display:flex; align-items:center; min-width:0; gap:22px; }
.desktop-brand { display:flex; align-items:center; white-space:nowrap; font-weight:800; font-size:16px; letter-spacing:-.6px; color:#f6f0e2; }
.header-links { display:flex; align-items:center; gap:18px; padding:0; border:0; color:#e7dcc4; font-size:13px; font-weight:600; }
.header-links a,.header-links button { display:inline-flex; align-items:center; gap:6px; min-height:32px; padding:0; color:inherit; white-space:nowrap; }
.header-links svg { width:15px; height:15px; }
.header-links a:hover,.header-links button:hover { color:#e4c78a; text-decoration:none; }
/* Account controls and popup retain the restored V6 appearance. */
.account-actions,.account-dialog { --green:#153d2e; --green-soft:#28533f; --ink:#20372b; --paper:#fffefa; }
.account-actions { display:flex; flex-shrink:0; align-items:center; gap:8px; }
.account-actions .button,.account-actions .text-button { font-family:var(--font); font-weight:700; letter-spacing:0; font-size:13px; min-height:34px; height:34px; line-height:1; }
.account-actions .button { padding:0 16px; border-radius:999px; gap:0; }
.account-actions>.text-button { margin:0; padding:0 4px; color:#cbb992; font-size:12px; font-weight:600; white-space:nowrap; }
.account-actions .button-green { background:#e4c78a; color:#10281c; border-color:#e4c78a; }
.account-actions .button-green:hover { background:#f3e2b4; }
.account-actions .button-outline { background:transparent; color:#f6f0e2; border-color:#d7c29a; }
.account-actions .button-outline:hover { border-color:#f3e2b4; color:#fff8e8; background:transparent; }

/* Masthead and frequently used services. */
.lobby-top { padding:12px 28px 0; background:transparent; border-bottom:0; }
.hero { position:relative; isolation:isolate; overflow:hidden; background:#123c2c; color:#fff6de; touch-action:pan-y; border:1px solid #e2c88745; border-radius:10px; max-width:1428px; margin:auto; }
.hero-deck { display:grid; }
.hero-slide { grid-area:1/1; position:relative; isolation:isolate; min-height:366px; opacity:0; pointer-events:none; transition:opacity .45s ease; overflow:hidden; }
.hero-slide.is-active { opacity:1; pointer-events:auto; z-index:1; }
.hero-art { position:absolute; inset:0; z-index:-1; }
.hero-image { width:100%; height:100%; object-fit:cover; object-position:center; }
.hero-copy { width:52%; max-width:650px; padding:35px 40px 86px; }
.hero-kicker { display:inline-flex; align-items:center; gap:8px; padding-bottom:10px; border-bottom:1px solid #f0dba04d; color:#e1cd9d; font-size:12px; font-weight:600; letter-spacing:1px; }
.hero-kicker svg { width:16px; height:16px; }
.hero-title { margin-top:17px; font-size:clamp(34px,3.1vw,54px); font-weight:800; line-height:1.18; letter-spacing:-1.8px; word-break:keep-all; }
.hero-brand-title { font-size:clamp(46px,4.5vw,76px); font-weight:900; letter-spacing:-3px; }
.hero-title em { font-style:normal; color:#e6cf98; }
.hero-brand-title em { display:block; margin-top:9px; font-size:.49em; font-weight:650; letter-spacing:-1px; }
.hero-copy>p { margin-top:14px; color:#e0e5d3; font-size:14px; word-break:keep-all; }
.hero-copy>.button,.hero-actions { margin-top:24px; }
.hero-actions { display:flex; align-items:center; flex-wrap:wrap; gap:10px 18px; }
.hero .button { min-height:46px; padding-inline:18px; font-size:13px; border-radius:5px; box-shadow:0 2px 0 #b4965e; }
.hero .button svg { width:16px; }
.hero-text-link { display:inline-flex; align-items:center; gap:9px; min-height:44px; font-size:12px; color:#fff5dd; }
.hero-text-link svg { width:15px; }
.hero-text-link:hover { text-decoration:underline; text-underline-offset:5px; }
.hero-slide[data-tone="cream"] { background:#f7ecd6; color:var(--green); }
.hero-slide[data-tone="cream"] .hero-kicker { color:#496640; border-color:#4c6b4140; }
.hero-slide[data-tone="cream"] .hero-title em { color:#526c45; }
.hero-slide[data-tone="cream"] .hero-copy>p { color:#445d3b; }
.hero-controls { position:absolute; bottom:15px; left:36px; z-index:3; display:flex; align-items:center; gap:0; color:#f3e2b5; }
.slide-control { display:inline-flex; align-items:center; justify-content:center; width:40px; height:44px; padding:0; color:inherit; border-radius:4px; }
.slide-control:hover { background:#ffffff12; }
.slide-control svg { width:15px; height:15px; }
[data-carousel-prev] svg { transform:rotate(180deg); }
.slide-number,.slide-total { font-size:11px; font-variant-numeric:tabular-nums; margin:0 6px; }
.slide-total { opacity:.6; }
.slide-dot { width:28px; height:44px; padding:0 2px; color:inherit; }
.slide-dot::after { content:""; display:block; height:2px; background:currentColor; opacity:.35; }
.slide-dot.active::after { opacity:1; }
.control-divider { width:1px; height:12px; background:currentColor; opacity:.3; margin:0 3px; }
.hero[data-tone="cream"] .hero-controls { color:#365538; }
.hero[data-tone="cream"] .slide-control:hover { background:#315c2410; }
.quick-actions { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); max-width:1428px; margin:0 auto; padding:0; gap:0; border-top:1px solid #e4c78a2e; border-bottom:1px solid #e4c78a2e; }
.quick-actions>button { display:flex; align-items:center; justify-content:center; gap:10px; min-width:0; min-height:52px; padding:0 12px; color:#f6f0e2; text-align:left; border:0; border-radius:0; background:transparent; }
.quick-actions>button + button { box-shadow:inset 1px 0 0 #e4c78a2e; }
.quick-actions>button:first-child { padding-left:12px; }
.quick-actions>button:hover { background:#ffffff0c; }
.quick-icon { display:grid; place-items:center; width:22px; height:22px; flex-shrink:0; border:0; border-radius:0; background:transparent; color:#e4c78a; }
.quick-icon svg { width:20px; height:20px; }
.quick-actions>button:hover .quick-icon { background:transparent; color:#fff6df; }
.quick-actions strong { display:block; font-size:14px; font-weight:650; }
.quick-actions small { display:block; color:#c9b98a; font-size:11px; margin-top:1px; font-weight:500; }
.quick-actions>button>svg { display:none; }
.mobile-game-tabs,.mobile-dock { display:none; }
.mobile-game-tab { position:relative; display:flex; align-items:center; justify-content:center; gap:8px; min-height:44px; border:0; border-radius:0; background:transparent; color:#f6f0e2; font-size:13px; font-weight:650; }
.mobile-game-tab svg { width:16px; height:16px; color:#f3e2b4; }
.mobile-game-tab:hover { background:#ffffff0a; }
.mobile-game-tab.active { background:transparent; color:#f3e2b4; }
.mobile-game-tab.active svg { color:#f3e2b4; background:transparent; }
.mobile-game-tab.active::after { content:""; position:absolute; left:16px; right:16px; bottom:0; height:2px; background:#e4c78a; border-radius:2px; }
.notice-strip { display:flex; align-items:center; gap:14px; min-height:36px; padding:0 16px; background:rgba(7,20,12,.78); color:#f6f0e2; border:0; }
.notice-note { display:inline-flex; align-items:center; gap:6px; flex-shrink:0; color:#f3e2b4; font-size:12px; font-weight:700; white-space:nowrap; }
.notice-note svg { width:14px; height:14px; color:#e4c78a; }
.notice-strip>button { min-width:0; min-height:36px; flex:1; padding:0; border-left:1px solid #e4c78a33; padding-left:14px; text-align:left; color:#f6f0e2; font-size:13px; font-weight:650; line-height:1.3; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.notice-strip>button:hover { color:#fff8e8; }
.notice-strip>a { display:flex; justify-content:center; align-items:center; width:32px; height:32px; flex-shrink:0; color:#f3e2b4; }
.notice-strip>a svg { width:15px; height:15px; }

/* Game menu: dark casino room, light slot menu. */
.content { max-width:1500px; margin:0 auto; padding:34px 32px 0; }
.page-heading { display:flex; justify-content:space-between; align-items:center; gap:20px; margin-bottom:20px; }
.page-eyebrow { color:#e4c78a; font-size:11px; font-weight:600; letter-spacing:1px; margin-bottom:4px; }
.page-heading h1 { font-size:27px; font-weight:800; line-height:1.35; letter-spacing:-.8px; scroll-margin-top:95px; }
.provider-search { display:flex; align-items:center; gap:10px; width:242px; height:43px; padding:0 4px 0 13px; background:#fffdf6; border:1px solid #cfd5c2; border-radius:6px; }
.provider-search:focus-within { outline:2px solid #aa9059; outline-offset:2px; }
.provider-search>svg { width:17px; height:17px; color:#6d7d61; }
.provider-search input { min-width:0; width:100%; border:0; outline:0; background:none; font-size:12px; color:#234532; padding:8px 0; }
.provider-search input:focus-visible { outline:0; }
.provider-search input::placeholder { color:#718069; }
.provider-search input::-webkit-search-cancel-button { -webkit-appearance:none; }
#clear-search { width:36px; height:38px; flex-shrink:0; display:grid; place-items:center; }
#clear-search svg { width:15px; height:15px; }
.category-bar { display:flex; flex-wrap:wrap; gap:6px; padding-bottom:12px; margin-bottom:18px; border-bottom:1px solid #e4c78a33; }
.category { position:relative; display:inline-flex; align-items:center; justify-content:center; gap:8px; min-height:44px; padding:10px 17px; border-radius:5px; font-size:13px; color:#e7dcc4; white-space:nowrap; transition:background .18s; }
.category svg { width:17px; height:17px; }
.category:hover { background:#ffffff10; }
.category.active { color:#143028; background:#f3e2b4; font-weight:750; box-shadow:none; }
.search-status { margin:-3px 0 20px; padding:12px 16px; border-left:3px solid #e4c78a; background:#13281f; color:var(--cream-text); font-size:13px; }
.collection { margin-bottom:34px; }
.section-heading { display:flex; align-items:center; justify-content:space-between; gap:14px; min-height:44px; margin-bottom:19px; }
.section-title { display:flex; align-items:center; gap:13px; min-width:0; }
.section-mark { display:grid; place-items:center; width:40px; height:40px; flex-shrink:0; border:1px solid #e4c78a88; border-radius:8px; background:transparent; color:#e4c78a; }
.section-mark svg { width:25px; height:25px; stroke-width:1.4; }
.section-eyebrow { color:#e4c78a; font:600 9px/1.2 var(--font); letter-spacing:1.8px; margin-bottom:5px; }
.section-heading h2 { display:flex; align-items:center; flex-wrap:wrap; gap:9px; font-size:25px; font-weight:800; line-height:1.3; letter-spacing:-.7px; }
.count { display:inline-grid; place-items:center; min-width:24px; height:22px; padding:0 5px; border:1px solid #f3e2b4; border-radius:4px; color:#143028; background:#f3e2b4; font-size:11px; font-weight:750; font-variant-numeric:tabular-nums; letter-spacing:0; }
.section-link { display:inline-flex; align-items:center; gap:8px; min-height:44px; flex-shrink:0; font-size:12px; }
.section-link svg { width:14px; }
.section-link:hover { text-decoration:underline; text-underline-offset:5px; }
.casino-collection { padding:0; border:0; border-radius:0; background:transparent; color:inherit; box-shadow:none; }
.casino-collection :focus-visible { outline-color:#e4c582; }
.slot-collection { padding:0; }
.section-link { color:#f3e2b4; }
.provider-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:15px; }
.provider-card { --provider-accent:#e4c78a; container-type:inline-size; position:relative; display:block; padding:0; min-width:0; width:100%; aspect-ratio:16/9; text-align:center; background:#06140f; border:1px solid #e4c78a88; border-radius:8px; overflow:hidden; box-shadow:0 8px 16px #00000040; transition:border-color .2s,box-shadow .2s,transform .2s; }
.provider-card:hover { border-color:var(--provider-accent); box-shadow:0 8px 18px #091f2636; transform:translateY(-3px); }
.provider-art { position:absolute; inset:0; overflow:hidden; }
.provider-art>img { display:block; width:100%; height:100%; object-fit:cover; transition:transform .3s; }
.provider-card:hover .provider-art>img { transform:scale(1.035); }
.provider-art::after { content:""; position:absolute; inset:5px; border:1px solid var(--provider-accent); opacity:.45; border-radius:3px; pointer-events:none; }
.provider-kind { position:absolute; top:12px; left:-24px; width:104px; padding:5px 0; transform:rotate(-38deg); color:#faf2dd; background:#0a0d0c; border-block:1px solid #e4c78a; font-size:9px; font-weight:800; line-height:1; letter-spacing:.8px; }
.provider-brand { position:absolute; top:10px; right:10px; padding:5px 7px; color:#f6f0e2; background:#0a0d0ce6; border:1px solid #e4c78a; border-radius:4px; font-size:11px; font-weight:800; line-height:1; letter-spacing:-.4px; }
.provider-bottom { position:absolute; inset:auto 0 0; width:100%; pointer-events:none; }
.provider-bottom h3 { margin:0; padding:0 8px 5px; color:#fff8e9; font-size:24px; font-size:clamp(15px,9cqi,31px); line-height:1.13; font-weight:900; letter-spacing:-.055em; text-shadow:0 2px 0 #000,0 4px 10px #000; word-break:keep-all; overflow-wrap:anywhere; }
.provider-bottom p { margin:0; padding:5px 7px; color:#f3e2b4; background:#0a0d0c; border-top:1px solid #e4c78a; font-size:10px; font-size:clamp(8px,3.5cqi,11px); line-height:1.1; font-weight:800; letter-spacing:1.1px; }
.lobby-guide { position:relative; display:flex; flex-direction:column; justify-content:center; align-items:flex-start; gap:5px; padding:20px; min-width:0; aspect-ratio:16/9; border:1px solid #c7ae7466; border-radius:8px; background:#eee5ca0a; color:#efe2bb; text-align:left; overflow:hidden; }
.lobby-guide>svg:first-child { position:absolute; right:17px; top:17px; width:54px; height:54px; color:#c8b075; opacity:.18; }
.lobby-guide small { font-size:10px; color:#bdcbae; }
.lobby-guide strong { font-size:clamp(13px,1.2vw,19px); letter-spacing:-.5px; font-weight:700; }
.lobby-guide>svg:last-child { width:18px; height:18px; margin-top:4px; }
.lobby-guide:hover { background:#eee5ca15; border-color:#c7ae74; }
.grid-empty { grid-column:1/-1; padding:40px 16px; font-size:13px; text-align:center; color:inherit; opacity:.85; }
.show-more { display:flex; align-items:center; justify-content:center; gap:9px; width:100%; min-height:48px; margin-top:17px; padding:10px 16px; border:1px solid #f3e2b4; border-radius:6px; background:#f3e2b4; font-size:12px; font-weight:750; color:#143028; }
.show-more:hover { background:#fff6df; }
.show-more svg { width:15px; height:15px; }
.show-more[aria-expanded="true"] svg { transform:rotate(45deg); }

/* Cafe loyalty stamps and cinema ticket details. */
.feature-row { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; margin:40px 0 32px; }
.feature-ticket { position:relative; isolation:isolate; min-width:0; display:flex; align-items:center; justify-content:space-between; gap:20px; min-height:157px; padding:26px 28px; border:1px solid #e4c78a55; border-radius:9px; text-align:left; background:#10261d; color:#f6f0e2; overflow:hidden; transition:border-color .2s; }
.feature-ticket::before,.feature-ticket::after { content:""; position:absolute; top:calc(50% - 9px); width:18px; height:18px; border:1px solid #e4c78a55; border-radius:50%; background:var(--wall); }
.feature-ticket::before { left:-10px; }
.feature-ticket::after { right:-10px; }
.ticket-copy { position:relative; z-index:1; }
.ticket-copy>small { display:block; font-size:10px; font-weight:600; letter-spacing:.3px; margin-bottom:7px; }
.ticket-copy>strong { display:block; font-size:23px; letter-spacing:-.8px; line-height:1.35; }
.ticket-copy>span { display:flex; align-items:center; gap:8px; margin-top:13px; font-size:11px; }
.ticket-copy>span svg { width:14px; height:14px; }
.stamp-card { flex-shrink:0; display:grid; grid-template-columns:repeat(4,34px); gap:8px; padding:14px 12px; border-radius:8px; background:linear-gradient(180deg,#f7f1e4,#e7dcc4); box-shadow:inset 0 0 0 1px #c6ae78,0 8px 16px #00000030; }
.stamp-card span { width:34px; height:34px; border:1.5px solid #b0894844; border-radius:50%; background:radial-gradient(circle at 50% 45%,#fbf7ee,#e6d8bc); box-shadow:inset 0 1px 2px #fff8,inset 0 -1px 2px #c4a56a55; }
.stamp-card .is-ink { display:grid; place-items:center; border:1.5px solid #8d3b2c; background:radial-gradient(circle at 50% 45%,#f6e7dc,#e4c3b2); color:#8d3b2c; transform:rotate(-8deg); }
.stamp-card .is-ink svg { width:58%; height:58%; fill:none; stroke:currentColor; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; }
.event-poster { flex-shrink:0; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:6px; width:112px; height:132px; padding:10px 8px; border-radius:8px; background:linear-gradient(180deg,#f7f1e4,#e7dcc4); box-shadow:inset 0 0 0 1px #c6ae78,0 8px 16px #00000030; color:#3d2a16; text-align:center; }
.event-poster span { font-size:10px; letter-spacing:1.6px; font-weight:700; color:#8a6a3b; }
.event-poster strong { font-size:18px; letter-spacing:-.6px; line-height:1.15; }
.event-poster small { font-size:11px; letter-spacing:-.2px; color:#6d5434; }
.feature-ticket:hover { border-color:#9c854e; }
.community-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; margin:0 0 24px; }
.community-section { padding:22px 25px 12px; border:1px solid #e4c78a33; border-top:3px solid #e4c78a; border-radius:8px; background:#10261d; color:#f6f0e2; }
.community-section .section-heading { margin-bottom:6px; }
.community-section .section-heading h2 { font-size:19px; font-weight:750; gap:9px; letter-spacing:-.5px; }
.community-section .section-heading h2 svg { width:18px; color:#e4c78a; }
.community-section .icon-button { width:36px; height:36px; }
.community-section .icon-button svg { width:17px; }
.community-grid.single-column { grid-template-columns:1fr; margin-top:0; }
.news-item { display:flex; align-items:center; gap:12px; width:100%; min-height:52px; padding:14px 0; text-align:left; border-bottom:1px solid #e4c78a22; }
.news-item:last-child { border:0; }
.news-index { font-size:10px; font-variant-numeric:tabular-nums; color:#c6b48a; flex-shrink:0; }
.news-item>span:not(.news-index) { flex:1; font-size:12px; line-height:1.6; word-break:keep-all; overflow-wrap:anywhere; }
.news-item svg { width:14px; height:14px; color:#e4c78a; }
.news-item:hover>span:not(.news-index) { text-decoration:underline; text-underline-offset:4px; }
.help-bar { display:flex; align-items:center; gap:17px; padding:24px 26px; border:1px solid #e4c78a33; border-radius:8px; background:#10261d; }
.help-icon { display:grid; place-items:center; width:45px; height:45px; flex-shrink:0; border:1px solid #e4c78a; border-radius:50%; color:#e4c78a; }
.help-icon svg { width:22px; height:22px; }
.help-bar h2 { font-size:17px; }
.help-bar p { color:#e7dcc4; font-size:12px; margin-top:3px; }
.help-bar>.button { margin-left:auto; background:transparent; border-color:#e4c78a; color:#f6f0e2; font-size:12px; }
.footer { display:flex; align-items:center; justify-content:space-between; gap:20px; padding:25px 32px; color:#d9cbaa; }
.footer>div { display:flex; align-items:center; flex-wrap:wrap; gap:16px; }
.footer-brand { font-size:16px; font-weight:800; color:#f6f0e2; }
.footer small { font-size:11px; color:#c6b48a; }
.back-to-top { display:flex; align-items:center; gap:8px; flex-shrink:0; min-height:44px; font-size:11px; }
.back-to-top svg { width:14px; transform:rotate(-90deg); }
.extra-section { margin-bottom:32px; }
.empty-state { padding:55px 24px; border:1px solid #e4c78a33; border-radius:8px; background:#10261d; text-align:center; color:#f6f0e2; }
.empty-state>svg { width:34px; height:34px; color:#e4c78a; margin-bottom:16px; }
.empty-state h2 { font-size:20px; }
.empty-state p { margin-top:10px; color:#e7dcc4; line-height:1.8; }
.empty-state .button { margin-top:22px; }
.event-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; }
.event-card { padding:0; text-align:left; background:#10261d; border:1px solid #e4c78a33; border-radius:8px; overflow:hidden; color:#f6f0e2; }
.event-card:hover { border-color:#e4c78a; }
.event-card-art { display:flex; align-items:center; justify-content:center; height:140px; background:#163024; color:#e4c78a; border-bottom:1px solid #e4c78a55; }
.event-card-art svg { width:70px; height:70px; padding:15px; border:1px solid #e4c78a88; border-radius:50%; outline:1px solid #e4c78a33; outline-offset:6px; stroke-width:1.2; }
.event-card:nth-child(even) .event-card-art { background:#10261d; color:#f3e2b4; }
.event-card h3 { padding:20px; font-size:15px; line-height:1.6; word-break:keep-all; overflow-wrap:anywhere; }

/* Dialogs */
dialog { width:440px; padding:0; max-width:calc(100vw - 32px); max-height:calc(100dvh - 32px); border:1px solid #d6ddce; border-radius:10px; background:var(--paper); color:var(--ink); box-shadow:0 18px 60px #102f2433; overflow-y:auto; }
dialog::backdrop { background:#09241bbb; }
.account-dialog { width:800px; max-height:calc(100dvh - 40px); border-radius:20px; background:#fdfcf7; }
.account-dialog[open] { display:grid; grid-template-columns:43% 57%; overflow-y:auto; }
.dialog-visual { position:relative; isolation:isolate; overflow:hidden; min-height:500px; background:#153d2e; border-radius:20px 0 0 20px; color:#f7efdc; }
.dialog-visual>img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:64% center; z-index:-2; }
.dialog-content { position:relative; min-width:0; padding:51px 42px 33px; }
.dialog-close { position:absolute; top:8px; right:8px; z-index:1; }
.dialog-content h2 { margin:13px 0 5px; padding-right:30px; font:700 29px/1.35 var(--font); letter-spacing:0; overflow-wrap:anywhere; }
.dialog-description { margin:0 0 24px; color:#596b52; font-size:13px; line-height:1.7; }
#account-fields { display:grid; gap:13px; }
#account-fields>input[type="hidden"] { display:none; }
.account-field { min-width:0; }
.account-field[hidden] { display:none!important; }
.dialog-content label { display:block; font-size:13px; font-weight:600; margin:0 0 6px; color:#435d39; }
.dialog-content input { width:100%; height:48px; border:1px solid #d7e0cb; border-radius:9px; background:#f5f6ef; color:#5b6d53; padding:0 13px; font-size:14px; opacity:1; -webkit-text-fill-color:#5b6d53; }
.dialog-content input::placeholder { color:#5b6d53; opacity:1; }
.dialog-content input:disabled { cursor:default; }
#account-fields .captcha-row { margin-top:7px; }
#account-fields .turnstile-row,
#account-fields > .cf-turnstile {
  display:block !important;
  width:100% !important;
  min-height:102px !important;
  margin:5px 0 2px !important;
  padding-top:8px !important;
  box-sizing:border-box !important;
  clear:both !important;
  overflow:visible !important;
}
#account-fields .turnstile-row .cf-turnstile {
  display:block !important;
  width:100% !important;
  min-height:70px !important;
  margin:0 !important;
  overflow:visible !important;
}
#account-fields .turnstile-row .cf-turnstile > div,
#account-fields > .cf-turnstile > div {
  display:block !important;
  margin:0 !important;
}
.password-field { position:relative; }
.password-field>svg { position:absolute; right:12px; top:50%; transform:translateY(-50%); width:15px; height:15px; color:#5a714c; }
.password-field input { padding-right:38px; }
.dialog-submit { width:100%; min-height:46px; padding:0 23px; margin-top:13px; border-radius:12px; font:600 15px/1.4 var(--font); }
.preview-note,.form-status { color:#596b52; font-size:13px; line-height:1.7; }
.preview-note { margin-top:12px; }
.form-status { margin-top:10px; }
.form-status:empty { display:none; }
.dialog-join { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:8px; margin-top:18px; padding-top:16px; border-top:1px solid #e1e6d7; }
.dialog-join>span { color:#596b52; font-size:13px; line-height:1.7; }
.dialog-join .text-button { font:600 13px/1.4 var(--font); gap:9px; }
.dialog-join .text-button svg { width:16px; height:16px; }
.article-dialog { position:fixed; width:540px; padding:38px 32px 28px; }
.article-dialog h2 { padding-right:30px; font-size:25px; line-height:1.45; letter-spacing:-.5px; overflow-wrap:anywhere; }
.dialog-category { margin-bottom:10px; color:var(--muted); font-size:12px; }
.article-body { margin-top:20px; padding:20px 0 24px; border-top:1px solid var(--line); font-size:14px; line-height:1.8; color:var(--muted); }
.article-body p+p { margin-top:12px; }
.noscript-note { padding:16px; margin-left:var(--sidebar); }

@media (min-width:761px) {
  body.is-home .page-heading,
  body.is-home .content>.category-bar { display:none; }
  body.is-home .content { max-width:none; padding:8px 16px 0; }
  body.is-home .collection,
  body.is-home .feature-row,
  body.is-home .community-grid,
  body.is-home .help-bar { max-width:none; margin-left:0; margin-right:0; }
  body.is-home .section-eyebrow { display:none; }
  body.is-home .section-heading { min-height:0; margin-bottom:8px; }
  body.is-home .collection .section-heading { min-height:40px; margin-bottom:8px; padding:0 12px; background:rgba(7,20,12,.82); }
  body.is-home .collection { margin-bottom:16px; }
  body.is-home .provider-grid { gap:8px; }
  body.is-home .lobby-top { padding-top:6px; }
  body.is-home .notice-strip { min-height:36px; padding:0 16px; }
}


/* Responsive composition. The popup layout below is preserved from V6/V7. */
@media (min-width:1700px) {
  .hero-slide { min-height:415px; }
  .hero-copy { padding:45px 56px 96px; }
  .hero-controls { left:52px; bottom:23px; }
}
@media (max-width:1300px) {
  .header-links { padding:0; border:0; }
  .hero-copy { padding-left:30px; width:57%; }
  .hero-controls { left:26px; }
  .hero-actions { gap:5px 13px; }
  .quick-actions>button { padding-inline:14px; }
  .quick-actions>button>svg { display:none; }
  .stamp-card { grid-template-columns:repeat(4,28px); gap:6px; padding:10px; }
  .stamp-card span { width:28px; height:28px; }
  .event-poster { width:92px; height:110px; }
}
@media (max-width:1200px) {
  :root { --sidebar:216px; }
  .sidebar { padding-inline:14px; }
  .sidebar-banners { margin-left:-4px; margin-right:-4px; width:calc(100% + 8px); }
  .brand-logo { width:188px; height:141px; }
  .topbar { padding-inline:24px; }
  .header-links { gap:17px; }
  .content { padding-inline:24px; }
  .lobby-top { padding:20px 20px 0; }
  .hero-brand-title { font-size:54px; }
  .provider-grid { grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; }
  .casino-collection { padding:22px; }
  body.is-home .casino-collection { padding:0; }
  .lobby-guide { aspect-ratio:auto; min-height:100%; }
  .notice-strip,.footer { padding-inline:24px; }
  .feature-ticket { padding:23px; gap:10px; }
  .ticket-copy>strong { font-size:20px; }
  .community-section { padding-inline:20px; }
}
@media (max-width:1080px) and (min-width:761px) {
  .hero-slide { min-height:440px; }
  .hero-copy { padding-top:28px; }
  .hero-title { font-size:36px; }
  .hero-brand-title { font-size:50px; }
  .hero-art { left:20%; }
  .hero-image { object-position:61% center; }
  .hero-art::after { content:""; position:absolute; inset:0; background:linear-gradient(90deg,#123c2c,transparent 60%); }
  .hero-slide[data-tone="cream"] .hero-art::after { background:linear-gradient(90deg,#f7ecd6,transparent 60%); }
  .hero-actions { flex-direction:column; align-items:flex-start; gap:3px; }
  .hero-controls { bottom:21px; }
  .quick-actions>button { padding-inline:8px; gap:8px; }
  .quick-actions small { display:none; }
  .quick-icon { width:18px; height:18px; border:0; }
  .quick-icon svg { width:16px; height:16px; }
  .quick-actions strong { font-size:13px; }
  .category { padding-inline:12px; font-size:12px; }
  .category svg { display:none; }
  .feature-row { grid-template-columns:1fr; }
  .feature-ticket { min-height:135px; }
  .community-grid { grid-template-columns:1fr; }
}
@media (max-width:980px) and (min-width:761px) {
  .header-links { gap:12px; font-size:12px; }
  .header-links a:nth-child(2) { display:none; }
  .topbar { gap:8px; padding-inline:18px; }
  .account-actions { gap:5px; }
  .button-small { padding-inline:11px; }
  .provider-grid,.event-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .provider-search { width:205px; }
  .section-heading h2 { font-size:22px; }
  .section-mark { width:39px; height:47px; }
  .lobby-guide { aspect-ratio:16/9; }
  .help-bar { flex-wrap:wrap; }
}
@media (max-width:760px) {
  :root { --sidebar:260px; --topbar:56px; }
  body { background:var(--wall); color:var(--cream-text); }
  main { background:transparent; }
  body.is-home { background-attachment:scroll; background-position:center top; background-size:100% auto; }
  .sidebar { width:min(280px,86vw); z-index:110; transform:translateX(-100%); transition:transform .2s ease; padding:max(44px,env(safe-area-inset-top)) 20px max(24px,env(safe-area-inset-bottom)); }
  .sidebar-banners { margin-left:-10px; margin-right:-10px; width:calc(100% + 20px); }
  .sidebar.open { transform:translateX(0); }
  .sidebar-close { display:inline-flex; position:absolute; top:6px; right:8px; color:#f0f2e6; }
  .sidebar-close:hover { background:#ffffff16; }
  .sidebar-scrim { position:fixed; inset:0; z-index:100; background:#09271b9c; }
  .brand-logo { width:200px; height:150px; }
  .nav-link,.nav-service .nav-link { min-height:44px; font-size:14px; }
  .page-shell { margin-left:0; }
  .topbar { padding:0 12px; gap:8px; background:var(--wall); border-bottom:1px solid #e4c78a33; color:var(--cream-text); }
  .topbar-left { gap:6px; }
  .mobile-menu { display:inline-flex; width:40px; height:40px; }
  .mobile-menu:hover { background:#ffffff14; }
  .desktop-brand { display:none; }
  .mobile-brand { display:block; white-space:nowrap; font-size:16px; font-weight:800; letter-spacing:-.6px; }
  .header-links { display:none; }
  .account-actions { gap:6px; }
  .account-actions .button,.account-actions .text-button { font-size:12px; min-height:32px; height:32px; }
  .account-actions .button { padding-inline:12px; border-radius:999px; }
  .account-actions>.text-button { padding:0 2px; margin:0; }
  .account-actions .button-outline { color:#f6f0e2; border-color:#e4c78a; background:transparent; }
  .account-actions .text-button { color:#f3e2b4; }
  .lobby-top { padding:8px 10px 0; background:transparent; border-bottom:0; }
  .notice-note { font-size:11px; }
  .hero { border-radius:10px; border-color:#e0c47e75; box-shadow:0 10px 24px #08271d36; }
  .hero-slide { display:flex; flex-direction:column; min-height:455px; padding-bottom:55px; background:#123c2c; }
  .hero-copy { width:100%; max-width:none; padding:22px 23px 15px; }
  .hero-kicker { font-size:10px; padding-bottom:7px; }
  .hero-title { font-size:33px; margin-top:13px; letter-spacing:-1px; }
  .hero-brand-title { font-size:48px; letter-spacing:-2px; }
  .hero-brand-title em { font-size:23px; margin-top:7px; }
  .hero-copy>p { font-size:12px; margin-top:12px; }
  .hero-copy>.button,.hero-actions { margin-top:17px; }
  .hero-actions { flex-wrap:nowrap; gap:13px; }
  .hero .button { min-height:42px; padding:9px 12px; font-size:12px; gap:9px; }
  .hero-text-link { font-size:11px; gap:6px; }
  .hero-art { position:relative; order:1; inset:auto; min-height:215px; flex:1; width:100%; }
  .hero-image { position:absolute; inset:0; object-position:88% center; }
  .hero-slide[data-tone="cream"] { background:#f7ecd6; }
  .hero-controls { left:18px; bottom:5px; }
  body { padding-bottom:calc(72px + env(safe-area-inset-bottom)); }
  body.is-game-lobby .mobile-game-tabs { display:flex; gap:6px; margin:8px 10px 0; padding:0; border:0; overflow-x:auto; scrollbar-width:none; }
  body.is-game-lobby .mobile-game-tabs::-webkit-scrollbar { display:none; }
  .mobile-game-tab { flex:1 0 auto; flex-direction:row; gap:4px; min-height:34px; padding:0 8px; border:1px solid #e4c78a55; border-radius:999px; background:rgba(7,20,12,.82); color:#f6f0e2; box-shadow:none; font-size:12px; font-weight:700; letter-spacing:-.3px; }
  .mobile-game-tab svg { width:14px; height:14px; padding:0; border-radius:0; color:#e4c78a; background:transparent; }
  .mobile-game-tab.active { color:#10281c; border-color:#e4c78a; background:#e4c78a; box-shadow:none; }
  .mobile-game-tab.active svg { color:#10281c; background:transparent; }
  .mobile-game-tab.active::after { display:none; }
  body.is-home .collection .section-heading,
  body.is-home #slot-section { display:none; }
  .mobile-dock { position:fixed; left:0; right:0; bottom:0; z-index:45; display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); align-items:end; height:calc(62px + env(safe-area-inset-bottom)); padding:0 2px env(safe-area-inset-bottom); background:#0c1c16; border-top:1px solid #e4c78a33; }
  .mobile-dock a { display:flex; flex-direction:column; align-items:center; justify-content:center; gap:2px; min-height:52px; color:#d9cbb0; font-size:10px; font-weight:700; }
  .mobile-dock svg { width:18px; height:18px; }
  .mobile-dock a.active { color:#e4c78a; }
  .dock-home { position:relative; top:-12px; }
  .dock-mark { display:grid; place-items:center; width:44px; height:44px; border-radius:50%; background:#e4c78a; color:#10281c; }
  .dock-home.active .dock-mark { background:#f3e2b4; }
  .quick-actions { gap:0; padding:0; margin:0; border-top:1px solid #e4c78a2e; border-bottom:1px solid #e4c78a2e; }
  .quick-actions>button { flex-direction:column; justify-content:center; gap:3px; min-height:52px; padding:0 4px; border:0; border-radius:0; background:transparent; color:#f6f0e2; }
  .quick-actions>button:first-child { padding-left:4px; }
  .quick-icon { width:20px; height:20px; border:0; border-radius:0; background:transparent; color:#e4c78a; }
  .quick-icon svg { width:18px; height:18px; }
  .quick-actions strong { font-size:11px; font-weight:700; color:#f6f0e2; }
  .quick-actions small { display:none; }
  .quick-actions>button>svg { display:none; }
  .notice-strip { min-height:36px; padding:0 12px; gap:10px; background:rgba(7,20,12,.82); color:#f6f0e2; border:0; }
  .notice-strip>button { font-size:12px; padding-left:10px; }
  .content { padding:12px 10px 0; background:transparent; }
  body.is-home .page-heading,
  body.is-home .content>.category-bar,
  body.is-home .section-eyebrow { display:none; }
  .page-heading { gap:15px; margin-bottom:17px; }
  .page-heading h1 { font-size:24px; }
  .page-eyebrow { font-size:10px; }
  .provider-search { width:188px; height:41px; }
  .category-bar { display:none; }
  body.is-game-lobby .page-heading h1,
  body.is-game-lobby .page-eyebrow { display:none; }
  .category-bar::-webkit-scrollbar { display:none; }
  .category { padding:9px 13px; min-height:42px; font-size:12px; flex-shrink:0; gap:6px; }
  .category svg { width:15px; height:15px; }
  .collection { margin-bottom:14px; }
  .casino-collection,.slot-collection { padding:0; margin-inline:0; border:0; border-radius:0; background:transparent; box-shadow:none; }
  body.is-home .collection .section-heading { min-height:36px; margin:0 0 8px; padding:0 10px; border:0; background:rgba(7,20,12,.82); box-shadow:none; }
  body.is-home .section-mark { width:28px; height:28px; }
  body.is-home .section-heading h2 { font-size:16px; letter-spacing:-.4px; }
  .section-heading { margin-bottom:16px; gap:8px; }
  .section-title { gap:9px; }
  .section-mark { width:34px; height:43px; }
  .section-mark svg { width:21px; height:21px; }
  .section-eyebrow { font-size:8px; letter-spacing:1.2px; margin-bottom:4px; }
  .section-heading h2 { font-size:21px; gap:7px; letter-spacing:-.7px; }
  .count { min-width:20px; height:19px; font-size:10px; }
  .section-link { font-size:11px; gap:4px; }
  .section-link svg { width:13px; }
  .provider-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; }
  .provider-card { border-radius:8px; border-color:#d6b76e; background:#111714; box-shadow:0 7px 14px #0000002f,0 0 0 1px #ffffff08 inset; }
  .provider-card::before { content:""; position:absolute; inset:0; z-index:1; pointer-events:none; background:linear-gradient(180deg,#fff0bd12 0%,transparent 36%,#062d2130 100%); }
  .provider-card:active { transform:scale(.985); }
  .provider-art::after { inset:4px; }
  .provider-kind { top:9px; left:-29px; font-size:8px; padding-block:4px; background:#111714; border-color:#f5d88f; }
  .provider-brand { top:8px; right:8px; padding:4px 5px; font-size:9px; background:#111714e8; border-color:#f5d88f9c; }
  .provider-bottom h3 { font-size:clamp(15px,9.2cqi,28px); color:#fff9e8; text-shadow:0 2px 0 #000,0 4px 9px #000; }
  .provider-bottom p { background:#0a0d0c; border-top-color:#e4c78a; color:#f3e2b4; font-weight:800; }
  .lobby-guide { padding:13px; aspect-ratio:16/9; gap:3px; border-radius:6px; }
  .lobby-guide>svg:first-child { width:38px; height:38px; right:9px; top:9px; }
  .lobby-guide strong { font-size:14px; }
  .lobby-guide small { font-size:9px; }
  .lobby-guide>svg:last-child { width:15px; margin-top:0; }
  .show-more { min-height:46px; margin-top:14px; }
  .feature-row { grid-template-columns:1fr; margin:28px 0 24px; gap:14px; }
  .feature-ticket { min-height:138px; padding:22px 25px; }
  .ticket-copy>strong { font-size:23px; }
  .stamp-card { grid-template-columns:repeat(4,26px); gap:6px; }
  .stamp-card span { width:26px; height:26px; }
  .event-poster { width:84px; height:100px; margin-right:0; }
  .community-grid { grid-template-columns:1fr; gap:18px; margin-bottom:20px; }
  .community-section { padding:16px 19px 8px; }
  .news-item { min-height:50px; gap:11px; }
  .news-item>span:not(.news-index) { font-size:12px; }
  .help-bar { display:grid; grid-template-columns:39px minmax(0,1fr); gap:8px 12px; padding:22px 19px; }
  .help-icon { width:39px; height:39px; }
  .help-bar>.button { grid-column:2; margin:4px 0 0; justify-self:start; }
  .help-bar p { font-size:11px; word-break:keep-all; }
  .footer { padding:20px 17px max(24px,env(safe-area-inset-bottom)); }
  .footer>div { flex-direction:column; align-items:flex-start; gap:4px; }
  .footer small { font-size:10px; }
  .event-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
  .event-card h3 { padding:14px; font-size:14px; }
  .event-card-art { height:110px; }
  .account-dialog { width:410px; max-width:calc(100vw - 20px); max-height:calc(100dvh - 18px); overflow:hidden; border-radius:19px; }
  .account-dialog[open] { display:block; overflow:hidden; }
  .dialog-visual { display:none; }
  .dialog-content { max-height:calc(100dvh - 18px); overflow:auto; padding:38px 24px 23px; scrollbar-width:thin; }
  .dialog-close { top:11px; right:11px; width:36px; height:36px; }
  .dialog-content h2 { margin-top:17px; font-size:27px; line-height:1.25; }
  .dialog-description { margin-bottom:18px; font-size:13px; }
  #account-fields { gap:12px; }
  .dialog-content label { font-size:13px; margin-bottom:6px; }
  .dialog-content input { height:46px; border-radius:8px; font-size:16px; }
  #account-fields .turnstile-row,
  #account-fields > .cf-turnstile { min-height:86px!important; margin:3px 0 0!important; padding-top:4px!important; }
  #account-fields .turnstile-row .cf-turnstile { min-height:66px!important; }
  .preview-note { margin-top:10px; font-size:12px; }
  .dialog-submit { min-height:47px; margin-top:12px; border-radius:11px; font-size:15px; }
  .dialog-join { gap:4px; }
  .dialog-join .text-button { margin-left:auto; }
  .article-dialog { padding:38px 24px 24px; }
  .noscript-note { margin-left:0; }
}
@media (max-width:480px) {
  :root { --topbar:56px; }
  .topbar { flex-wrap:nowrap; gap:6px; padding-block:0; }
  .topbar-left { width:auto; flex:0 1 auto; }
  .mobile-brand { font-size:15px; }
  .account-actions { width:auto; flex:1 1 auto; justify-content:flex-end; flex-wrap:nowrap; gap:4px; }
  .account-actions .button { padding-inline:10px; }
  .account-actions .text-button { width:auto; justify-content:flex-start; border:0; border-radius:0; font-size:11px; }
  .coffee-session { gap:6px; }
  .coffee-session strong,.coffee-session a,.coffee-session span { font-size:11px; }
  .provider-bottom h3 { padding-bottom:4px; }
  .provider-search { width:165px; }
  .hero-art { min-height:190px; }
  .hero-slide { min-height:440px; }
}
@media (max-width:360px) {
  .hero-copy { padding-inline:17px; }
  .hero-brand-title { font-size:43px; }
  .hero-actions { gap:10px; }
  .hero-text-link svg { display:none; }
  .page-heading { flex-wrap:wrap; }
  .provider-search { width:100%; }
  .section-heading h2 { font-size:18px; }
  .section-mark { display:none; }
  .section-link { font-size:10px; }
  .provider-brand { font-size:8px; top:7px; right:6px; }
  .provider-bottom h3 { font-size:clamp(13px,9cqi,31px); }
  .provider-bottom p { font-size:7px; letter-spacing:.7px; }
  .lobby-guide strong { font-size:12px; }
  .stamp-card { grid-template-columns:repeat(4,22px); gap:5px; padding:8px; }
  .stamp-card span { width:22px; height:22px; }
  .ticket-copy>strong { font-size:21px; }
}
@media (hover:none) { .provider-card:hover { box-shadow:none; transform:none; } .provider-card:hover .provider-art>img { transform:none; } }
@media (prefers-reduced-motion:reduce) { *,*::before,*::after { animation:none!important; transition:none!important; scroll-behavior:auto!important; } }
