:root {
  --bg-obsidian: #0d0f13;
  --bg-graphite: #13171d;
  --bg-slate: #1a2029;
  --bg-slate-elevated: #222a36;
  --bg-claret-deep: #3d1219;
  --bg-gold-tint: rgba(200, 157, 84, 0.09);
  --bg-emerald-tint: rgba(27, 138, 91, 0.14);
  --bg-danger-tint: rgba(185, 45, 58, 0.16);

  --ink-alabaster: #f4efe6;
  --ink-parchment: #ddd4c3;
  --ink-silver: #a39b8b;
  --ink-dark: #0d0f13;

  --gold-colloid: #c89d54;
  --gold-bright: #e5b869;
  --gold-burnished: #967030;
  --claret-accent: #8c2736;
  --emerald-ok: #26a66c;
  --crimson-alert: #d9434f;

  --border-graphite: #2a323f;
  --border-subtle: rgba(244, 239, 230, 0.1);
  --border-brass: rgba(200, 157, 84, 0.38);
  --border-brass-strong: #c89d54;

  --font-display: "Georgia", "Times New Roman", Times, serif;
  --font-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
  --font-mono: "SFMono-Regular", Consolas, "Liberation Mono", Menlo, monospace;

  --max-w: 1280px;
  --radius-xs: 3px;
  --radius-sm: 6px;
  --radius-md: 10px;
  --shadow-deep: 0 18px 42px rgba(0, 0, 0, 0.55);
  --shadow-brass: 0 8px 28px rgba(200, 157, 84, 0.15);
  --transition: 0.2s cubic-bezier(0.22, 1, 0.36, 1);
}

*,
*::before,
*::after {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

html {
  font-size: 16px;
  scroll-behavior: smooth;
  background-color: var(--bg-obsidian);
  color: var(--ink-alabaster);
  -webkit-text-size-adjust: 100%;
}

body {
  font-family: var(--font-sans);
  background-color: var(--bg-obsidian);
  color: var(--ink-alabaster);
  line-height: 1.68;
  min-height: 100vh;
  display: flex;
  flex-direction: column;
  overflow-x: hidden;
  -webkit-font-smoothing: antialiased;
}

body[data-lock="true"] {
  overflow: hidden;
}

img,
svg,
iframe {
  display: block;
  max-width: 100%;
}

a {
  color: var(--gold-bright);
  text-decoration: none;
  transition: color var(--transition), background-color var(--transition), border-color var(--transition), transform var(--transition);
}

a:hover,
a:focus-visible {
  color: var(--ink-alabaster);
}

ul,
ol {
  list-style: none;
}

button,
input,
select,
textarea {
  font-family: inherit;
  font-size: 1rem;
  color: inherit;
  background: none;
  border: none;
}

button {
  cursor: pointer;
}

a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible {
  outline: 2px solid var(--gold-bright);
  outline-offset: 2px;
}

[hidden] {
  display: none !important;
}

/* Container & Layout Structure */
div[data-wrap],
section[data-wrap],
header[data-wrap],
footer[data-wrap],
nav[data-wrap] {
  width: 100%;
  max-width: var(--max-w);
  margin-left: auto;
  margin-right: auto;
  padding-left: 28px;
  padding-right: 28px;
}

/* Top Regulatory & Heritage Bar */
aside[data-regulatory-bar] {
  background-color: #080a0d;
  border-bottom: 1px solid var(--border-graphite);
  font-size: 0.78rem;
  color: var(--ink-parchment);
  padding: 8px 0;
  letter-spacing: 0.02em;
}

aside[data-regulatory-bar] > div[data-wrap] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 12px;
}

div[data-reg-notice] {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 10px;
}

span[data-age-badge] {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background-color: var(--claret-accent);
  color: var(--ink-alabaster);
  border: 1px solid var(--gold-colloid);
  font-weight: 700;
  font-size: 0.72rem;
  letter-spacing: 0.08em;
  padding: 2px 8px;
  border-radius: var(--radius-xs);
  text-transform: uppercase;
}

div[data-reg-links] {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 16px;
}

div[data-reg-links] a {
  color: var(--gold-colloid);
  font-weight: 600;
  text-decoration: underline;
  text-underline-offset: 3px;
}

div[data-reg-links] a:hover {
  color: var(--ink-alabaster);
}

/* Primary Header */
header[data-site-header] {
  position: sticky;
  top: 0;
  z-index: 900;
  background-color: var(--bg-obsidian);
  border-bottom: 1px solid var(--border-brass);
}

header[data-site-header] > div[data-wrap] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  min-height: 66px;
  gap: 14px;
}

a[data-brand] {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  flex-shrink: 0;
}

a[data-brand] img {
  height: 38px;
  width: auto;
}

nav[data-main-nav] ul {
  display: flex;
  align-items: center;
  gap: 4px;
}

nav[data-main-nav] a {
  display: inline-flex;
  align-items: center;
  padding: 6px 10px;
  color: var(--ink-parchment);
  font-size: 0.78rem;
  font-weight: 600;
  letter-spacing: 0.02em;
  white-space: nowrap;
  border-radius: var(--radius-xs);
  border: 1px solid transparent;
}

nav[data-main-nav] a:hover,
nav[data-main-nav] a[aria-current="page"] {
  color: var(--gold-bright);
  background-color: var(--bg-gold-tint);
  border-color: var(--border-brass);
}

div[data-header-cta] {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-shrink: 0;
}

button[data-nav-toggle] {
  display: none;
  width: 40px;
  height: 40px;
  border: 1px solid var(--border-brass);
  border-radius: var(--radius-xs);
  background-color: var(--bg-slate);
  color: var(--gold-bright);
  align-items: center;
  justify-content: center;
  cursor: pointer;
  padding: 0;
  flex-shrink: 0;
  transition: background-color var(--transition), border-color var(--transition);
}

button[data-nav-toggle]:hover {
  background-color: var(--bg-gold-tint);
  border-color: var(--gold-bright);
}

button[data-nav-toggle] svg {
  display: block;
  width: 22px;
  height: 22px;
  stroke: var(--gold-bright);
}

/* Buttons */
a[data-btn="primary"],
button[data-btn="primary"] {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  background: linear-gradient(135deg, #d7ae63 0%, #b58638 100%);
  color: #0d0f13;
  font-weight: 700;
  font-size: 0.78rem;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  white-space: nowrap;
  padding: 9px 16px;
  border-radius: var(--radius-xs);
  border: 1px solid #e5b869;
  box-shadow: var(--shadow-brass);
  transition: transform var(--transition), box-shadow var(--transition), filter var(--transition);
}

a[data-btn="primary"]:hover,
button[data-btn="primary"]:hover {
  transform: translateY(-1px);
  filter: brightness(1.08);
  color: #0d0f13;
}

a[data-btn="outline"],
button[data-btn="outline"] {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  background-color: rgba(26, 32, 41, 0.75);
  color: var(--ink-alabaster);
  font-weight: 600;
  font-size: 0.78rem;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  white-space: nowrap;
  padding: 9px 16px;
  border-radius: var(--radius-xs);
  border: 1px solid var(--border-brass);
}

a[data-btn="outline"]:hover,
button[data-btn="outline"]:hover {
  background-color: var(--bg-gold-tint);
  border-color: var(--gold-bright);
  color: var(--gold-bright);
}

a[data-btn="compact"],
button[data-btn="compact"],
a[data-btn-size="compact"],
button[data-btn-size="compact"] {
  padding: 7px 13px;
  font-size: 0.73rem;
  letter-spacing: 0.04em;
  white-space: nowrap;
}

/* Hero Section */
section[data-hero] {
  position: relative;
  padding: 42px 0 48px;
  border-bottom: 1px solid var(--border-graphite);
  background-color: var(--bg-obsidian);
}

div[data-hero-grid] {
  display: grid;
  grid-template-columns: 1.05fr 0.95fr;
  gap: 32px;
  align-items: center;
}

p[data-kicker] {
  display: block;
  font-size: 0.72rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--gold-bright);
  margin-bottom: 12px;
}

h1 {
  font-family: var(--font-display);
  font-size: clamp(1.7rem, 2.5vw, 2.35rem);
  line-height: 1.16;
  font-weight: 700;
  color: var(--ink-alabaster);
  letter-spacing: -0.01em;
  margin-bottom: 14px;
}

h1 span {
  color: var(--gold-bright);
}

p[data-lead] {
  font-size: 0.94rem;
  line-height: 1.58;
  color: var(--ink-parchment);
  margin-bottom: 20px;
  max-width: 62ch;
}

div[data-cta-row] {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-bottom: 22px;
}

dl[data-metrics-row] {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 10px;
  padding-top: 18px;
  border-top: 1px solid var(--border-subtle);
}

dl[data-metrics-row] > div {
  background-color: rgba(19, 23, 29, 0.85);
  border: 1px solid var(--border-graphite);
  border-left: 3px solid var(--gold-colloid);
  padding: 9px 11px;
  border-radius: var(--radius-xs);
}

dl[data-metrics-row] dt {
  font-size: 0.66rem;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--ink-silver);
  margin-bottom: 2px;
  white-space: nowrap;
}

dl[data-metrics-row] dd {
  font-family: var(--font-display);
  font-size: 1.02rem;
  font-weight: 700;
  color: var(--gold-bright);
  white-space: nowrap;
}

/* Hero Architectural Collage Showcase */
figure[data-hero-collage] {
  background-color: var(--bg-graphite);
  border: 1px solid var(--border-brass);
  border-radius: var(--radius-md);
  padding: 12px;
  box-shadow: var(--shadow-deep);
}

div[data-collage-mosaic] {
  display: grid;
  grid-template-columns: repeat(12, 1fr);
  grid-auto-rows: 114px;
  gap: 8px;
}

div[data-mosaic-tile] {
  position: relative;
  overflow: hidden;
  border-radius: var(--radius-xs);
  border: 1px solid rgba(200, 157, 84, 0.32);
  background-color: var(--bg-slate);
}

div[data-mosaic-tile="1"] {
  grid-column: span 7;
  grid-row: span 2;
}

div[data-mosaic-tile="2"] {
  grid-column: span 5;
  grid-row: span 1;
}

div[data-mosaic-tile="3"] {
  grid-column: span 5;
  grid-row: span 1;
}

div[data-mosaic-tile="4"] {
  grid-column: span 5;
  grid-row: span 1;
}

div[data-mosaic-tile="5"] {
  grid-column: span 7;
  grid-row: span 1;
}

div[data-mosaic-tile] img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.45s ease;
}

div[data-mosaic-tile]:hover img {
  transform: scale(1.05);
}

div[data-mosaic-tile] span {
  position: absolute;
  bottom: 8px;
  left: 8px;
  background-color: rgba(13, 15, 19, 0.86);
  color: var(--gold-bright);
  border: 1px solid var(--border-brass);
  padding: 3px 9px;
  font-size: 0.72rem;
  font-weight: 600;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  border-radius: var(--radius-xs);
}

figure[data-hero-collage] figcaption {
  margin-top: 12px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 8px;
  font-size: 0.8rem;
  color: var(--ink-silver);
}

figure[data-hero-collage] figcaption strong {
  color: var(--gold-bright);
}

/* Section Generic Styling */
section[data-section] {
  padding: 80px 0;
  border-bottom: 1px solid var(--border-graphite);
}

section[data-section="alt"] {
  background-color: var(--bg-graphite);
}

section[data-section="claret"] {
  background: linear-gradient(135deg, #1b1116 0%, #12161c 100%);
}

header[data-section-head] {
  max-width: 780px;
  margin-bottom: 44px;
}

header[data-section-head="center"] {
  max-width: 820px;
  margin-left: auto;
  margin-right: auto;
  text-align: center;
  margin-bottom: 48px;
}

h2 {
  font-family: var(--font-display);
  font-size: clamp(1.75rem, 3vw, 2.55rem);
  line-height: 1.2;
  color: var(--ink-alabaster);
  margin-bottom: 14px;
}

h2 span {
  color: var(--gold-bright);
}

h3 {
  font-family: var(--font-display);
  font-size: 1.32rem;
  line-height: 1.3;
  color: var(--ink-alabaster);
  margin-bottom: 10px;
}

header[data-section-head] p,
header[data-section-head="center"] p {
  color: var(--ink-parchment);
  font-size: 1.02rem;
}

/* Brand & Chromatic Heritage Section */
div[data-heritage-split] {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 40px;
  align-items: start;
}

article[data-prose-card] {
  background-color: var(--bg-slate);
  border: 1px solid var(--border-brass);
  border-radius: var(--radius-md);
  padding: 32px;
  box-shadow: var(--shadow-deep);
}

article[data-prose-card] p + p {
  margin-top: 16px;
}

div[data-palette-grid] {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 16px;
}

article[data-swatch-card] {
  background-color: var(--bg-slate);
  border: 1px solid var(--border-brass);
  border-radius: var(--radius-sm);
  padding: 16px;
  display: flex;
  flex-direction: column;
  gap: 8px;
}

div[data-swatch-bar] {
  height: 112px;
  border-radius: var(--radius-xs);
  border: 1px solid rgba(200, 157, 84, 0.28);
  overflow: hidden;
  background-color: var(--bg-obsidian);
}

div[data-swatch-bar] img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

article[data-swatch-card] code {
  font-family: var(--font-sans);
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  font-size: 0.72rem;
  color: var(--gold-bright);
}

article[data-swatch-card] p {
  font-size: 0.88rem;
  color: var(--ink-parchment);
}

/* Hotel Multi-Frame Collages Section */
div[data-collage-triptych] {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 26px;
  margin-bottom: 44px;
}

article[data-collage-card] {
  background-color: var(--bg-slate);
  border: 1px solid var(--border-brass);
  border-radius: var(--radius-md);
  overflow: hidden;
  display: flex;
  flex-direction: column;
  box-shadow: var(--shadow-deep);
}

figure[data-collage-media] {
  position: relative;
  aspect-ratio: 16 / 11;
  background-color: var(--bg-obsidian);
  border-bottom: 1px solid var(--border-brass);
  overflow: hidden;
}

figure[data-collage-media] img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.5s ease;
}

article[data-collage-card]:hover figure[data-collage-media] img {
  transform: scale(1.04);
}

span[data-collage-tag] {
  position: absolute;
  top: 12px;
  left: 12px;
  background-color: rgba(13, 15, 19, 0.9);
  color: var(--gold-bright);
  border: 1px solid var(--gold-colloid);
  padding: 4px 10px;
  font-size: 0.72rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  border-radius: var(--radius-xs);
}

div[data-collage-body] {
  padding: 24px;
  display: flex;
  flex-direction: column;
  flex-grow: 1;
  gap: 12px;
}

div[data-collage-body] p {
  color: var(--ink-parchment);
  font-size: 0.93rem;
}

ul[data-spec-pills] {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: auto;
  padding-top: 12px;
}

ul[data-spec-pills] li {
  font-size: 0.75rem;
  font-weight: 600;
  color: var(--gold-bright);
  background-color: var(--bg-gold-tint);
  border: 1px solid var(--border-brass);
  padding: 4px 10px;
  border-radius: var(--radius-xs);
}

/* Interactive Architectural Bento Grid */
div[data-bento-wall] {
  display: grid;
  grid-template-columns: repeat(12, 1fr);
  grid-auto-rows: 220px;
  gap: 16px;
}

figure[data-bento-item] {
  position: relative;
  border-radius: var(--radius-sm);
  overflow: hidden;
  border: 1px solid var(--border-graphite);
  background-color: var(--bg-slate);
}

figure[data-bento-item="wide"] {
  grid-column: span 6;
  grid-row: span 2;
}

figure[data-bento-item="medium"] {
  grid-column: span 6;
  grid-row: span 1;
}

figure[data-bento-item="third"] {
  grid-column: span 4;
  grid-row: span 1;
}

figure[data-bento-item] img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.45s ease;
}

figure[data-bento-item]:hover img {
  transform: scale(1.05);
}

figure[data-bento-item] figcaption {
  position: absolute;
  inset: auto 0 0 0;
  padding: 18px 20px;
  background: linear-gradient(180deg, transparent 0%, rgba(13, 15, 19, 0.95) 85%);
  color: var(--ink-alabaster);
}

figure[data-bento-item] figcaption strong {
  display: block;
  font-family: var(--font-display);
  font-size: 1.08rem;
  color: var(--gold-bright);
}

figure[data-bento-item] figcaption span {
  font-size: 0.82rem;
  color: var(--ink-parchment);
}

/* Restaurant Heliot Steak House Section */
div[data-dining-grid] {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
  margin-bottom: 40px;
}

article[data-dish-card] {
  background-color: var(--bg-slate);
  border: 1px solid var(--border-graphite);
  border-radius: var(--radius-md);
  overflow: hidden;
  display: flex;
  flex-direction: column;
  transition: border-color var(--transition), transform var(--transition);
}

article[data-dish-card]:hover {
  border-color: var(--gold-colloid);
  transform: translateY(-3px);
}

article[data-dish-card] > figure {
  aspect-ratio: 16 / 10;
  overflow: hidden;
  border-bottom: 1px solid var(--border-graphite);
}

article[data-dish-card] > figure img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

div[data-dish-content] {
  padding: 24px;
  display: flex;
  flex-direction: column;
  gap: 10px;
  flex-grow: 1;
}

div[data-dish-header] {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 12px;
  border-bottom: 1px dashed var(--border-brass);
  padding-bottom: 10px;
}

span[data-price] {
  font-family: var(--font-display);
  font-size: 1.25rem;
  font-weight: 700;
  color: var(--gold-bright);
  white-space: nowrap;
}

div[data-dish-content] p {
  font-size: 0.92rem;
  color: var(--ink-parchment);
}

/* Menu Table */
div[data-menu-board] {
  background-color: var(--bg-obsidian);
  border: 1px solid var(--border-brass);
  border-radius: var(--radius-md);
  padding: 32px;
}

div[data-menu-columns] {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 28px 44px;
}

div[data-menu-item] {
  border-bottom: 1px solid var(--border-subtle);
  padding-bottom: 14px;
}

div[data-menu-line] {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: 12px;
  margin-bottom: 4px;
}

div[data-menu-line] h4 {
  font-family: var(--font-display);
  font-size: 1.08rem;
  color: var(--ink-alabaster);
}

div[data-menu-item] p {
  font-size: 0.85rem;
  color: var(--ink-silver);
}

/* Slot Machines & Casino Lounge Grid (Example Style) */
div[data-filter-bar] {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-bottom: 32px;
}

button[data-slot-filter] {
  padding: 9px 18px;
  border-radius: var(--radius-xs);
  border: 1px solid var(--border-graphite);
  background-color: var(--bg-slate);
  color: var(--ink-parchment);
  font-size: 0.85rem;
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  transition: all var(--transition);
}

button[data-slot-filter]:hover,
button[data-slot-filter][aria-pressed="true"] {
  background-color: var(--gold-colloid);
  color: var(--ink-dark);
  border-color: var(--gold-bright);
}

div[data-slots-grid] {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 22px;
}

article[data-slot-card] {
  background-color: var(--bg-slate);
  border: 1px solid var(--border-graphite);
  border-radius: var(--radius-md);
  overflow: hidden;
  display: flex;
  flex-direction: column;
  transition: transform var(--transition), border-color var(--transition), box-shadow var(--transition);
}

article[data-slot-card]:hover {
  transform: translateY(-4px);
  border-color: var(--gold-colloid);
  box-shadow: var(--shadow-brass);
}

figure[data-slot-thumb] {
  position: relative;
  aspect-ratio: 16 / 10;
  overflow: hidden;
  background-color: var(--bg-obsidian);
  border-bottom: 1px solid var(--border-graphite);
}

figure[data-slot-thumb] img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.4s ease;
}

article[data-slot-card]:hover figure[data-slot-thumb] img {
  transform: scale(1.06);
}

span[data-slot-badge] {
  position: absolute;
  top: 10px;
  left: 10px;
  background-color: rgba(13, 15, 19, 0.9);
  color: var(--gold-bright);
  border: 1px solid var(--gold-colloid);
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  padding: 3px 8px;
  border-radius: var(--radius-xs);
}

span[data-slot-rtp] {
  position: absolute;
  bottom: 10px;
  right: 10px;
  background-color: rgba(61, 18, 25, 0.92);
  color: var(--ink-alabaster);
  border: 1px solid var(--border-brass);
  font-family: var(--font-sans);
  font-variant-numeric: tabular-nums;
  font-size: 0.72rem;
  font-weight: 600;
  padding: 2px 7px;
  border-radius: var(--radius-xs);
}

div[data-slot-body] {
  padding: 20px;
  display: flex;
  flex-direction: column;
  gap: 10px;
  flex-grow: 1;
}

div[data-slot-meta] {
  font-size: 0.75rem;
  text-transform: uppercase;
  letter-spacing: 0.07em;
  color: var(--gold-colloid);
  font-weight: 700;
}

div[data-slot-body] h3 {
  font-size: 1.18rem;
  margin-bottom: 2px;
}

div[data-slot-body] p {
  font-size: 0.86rem;
  color: var(--ink-parchment);
  flex-grow: 1;
}

div[data-slot-specs] {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin: 4px 0 8px;
}

div[data-slot-specs] span {
  font-size: 0.72rem;
  background-color: var(--bg-obsidian);
  border: 1px solid var(--border-graphite);
  color: var(--ink-silver);
  padding: 2px 8px;
  border-radius: var(--radius-xs);
}

button[data-select-booking],
a[data-select-booking] {
  width: 100%;
  padding: 9px 14px;
  background: linear-gradient(135deg, #d7ae63 0%, #b58638 100%);
  color: var(--ink-dark);
  font-weight: 700;
  font-size: 0.76rem;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  border-radius: var(--radius-xs);
  border: 1px solid var(--gold-bright);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  transition: filter var(--transition), transform var(--transition);
}

button[data-select-booking]:hover,
a[data-select-booking]:hover {
  filter: brightness(1.09);
  transform: translateY(-1px);
  color: var(--ink-dark);
}

/* Lead Test Forms & Concierge Reservation */
div[data-lead-split] {
  display: grid;
  grid-template-columns: 0.95fr 1.05fr;
  gap: 40px;
  align-items: start;
}

form[data-lead-form] {
  background-color: var(--bg-slate);
  border: 1px solid var(--border-brass);
  border-radius: var(--radius-md);
  padding: 34px;
  box-shadow: var(--shadow-deep);
}

div[data-form-grid] {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 18px;
  margin-bottom: 18px;
}

div[data-field] {
  display: flex;
  flex-direction: column;
  gap: 6px;
}

div[data-field="full"] {
  grid-column: span 2;
}

label {
  font-size: 0.82rem;
  font-weight: 600;
  color: var(--ink-parchment);
  letter-spacing: 0.03em;
}

input[type="text"],
input[type="email"],
input[type="tel"],
input[type="date"],
input[type="number"],
select,
textarea {
  width: 100%;
  background-color: var(--bg-obsidian);
  border: 1px solid var(--border-graphite);
  border-radius: var(--radius-xs);
  padding: 12px 14px;
  color: var(--ink-alabaster);
  transition: border-color var(--transition);
}

input:focus,
select:focus,
textarea:focus {
  border-color: var(--gold-bright);
}

label[data-checkbox] {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  font-size: 0.84rem;
  color: var(--ink-parchment);
  cursor: pointer;
  margin: 14px 0 20px;
}

label[data-checkbox] input {
  margin-top: 4px;
  accent-color: var(--gold-colloid);
  width: 17px;
  height: 17px;
  flex-shrink: 0;
}

div[data-form-feedback] {
  margin-top: 16px;
  padding: 16px 18px;
  border-radius: var(--radius-xs);
  font-size: 0.9rem;
  font-weight: 600;
}

div[data-form-feedback="success"] {
  background-color: var(--bg-emerald-tint);
  border: 1px solid var(--emerald-ok);
  color: #8bf0bf;
}

div[data-form-feedback="error"] {
  background-color: var(--bg-danger-tint);
  border: 1px solid var(--crimson-alert);
  color: #ff9da5;
}

/* Info Cards & Address Box */
aside[data-venue-dossier] {
  background-color: var(--bg-slate);
  border: 1px solid var(--border-graphite);
  border-radius: var(--radius-md);
  padding: 32px;
  display: flex;
  flex-direction: column;
  gap: 20px;
}

dl[data-dossier-list] {
  display: flex;
  flex-direction: column;
  gap: 14px;
}

dl[data-dossier-list] > div {
  padding-bottom: 12px;
  border-bottom: 1px solid var(--border-subtle);
}

dl[data-dossier-list] dt {
  font-size: 0.75rem;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--gold-colloid);
  font-weight: 700;
  margin-bottom: 3px;
}

dl[data-dossier-list] dd {
  font-size: 0.95rem;
  color: var(--ink-alabaster);
}

/* FAQ Accordion */
div[data-faq-stack] {
  display: flex;
  flex-direction: column;
  gap: 14px;
  max-width: 900px;
  margin: 0 auto;
}

details[data-faq-item] {
  background-color: var(--bg-slate);
  border: 1px solid var(--border-graphite);
  border-radius: var(--radius-sm);
  padding: 18px 24px;
}

details[data-faq-item][open] {
  border-color: var(--gold-colloid);
}

details[data-faq-item] summary {
  font-family: var(--font-display);
  font-size: 1.1rem;
  font-weight: 700;
  color: var(--ink-alabaster);
  cursor: pointer;
  list-style: none;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
}

details[data-faq-item] summary::-webkit-details-marker {
  display: none;
}

details[data-faq-item] summary::after {
  content: "+";
  color: var(--gold-bright);
  font-family: var(--font-sans);
  font-weight: 700;
  font-size: 1.3rem;
}

details[data-faq-item][open] summary::after {
  content: "-";
}

details[data-faq-item] div {
  padding-top: 14px;
  margin-top: 14px;
  border-top: 1px solid var(--border-subtle);
  color: var(--ink-parchment);
  font-size: 0.95rem;
}

/* Legal & Policy Pages Layout (14+ Clauses) */
header[data-page-banner] {
  padding: 56px 0 48px;
  background-color: var(--bg-obsidian);
  border-bottom: 1px solid var(--border-brass);
}

nav[data-breadcrumbs] {
  font-size: 0.82rem;
  color: var(--ink-silver);
  margin-bottom: 14px;
}

nav[data-breadcrumbs] a {
  color: var(--gold-colloid);
}

p[data-doc-meta] {
  margin-top: 12px;
  font-size: 0.86rem;
  color: var(--ink-silver);
  display: flex;
  flex-wrap: wrap;
  gap: 18px;
}

div[data-policy-grid] {
  display: grid;
  grid-template-columns: 300px 1fr;
  gap: 36px;
  align-items: start;
}

aside[data-policy-toc] {
  position: sticky;
  top: 102px;
  background-color: var(--bg-slate);
  border: 1px solid var(--border-brass);
  border-radius: var(--radius-sm);
  padding: 22px;
  max-height: calc(100vh - 130px);
  overflow-y: auto;
}

aside[data-policy-toc] h2 {
  font-size: 1.05rem;
  margin-bottom: 12px;
  color: var(--gold-bright);
}

aside[data-policy-toc] ol {
  display: flex;
  flex-direction: column;
  gap: 7px;
}

aside[data-policy-toc] a,
aside[data-policy-toc] span {
  display: block;
  font-size: 0.8rem;
  color: var(--ink-parchment);
  padding: 5px 8px;
  border-radius: var(--radius-xs);
}

aside[data-policy-toc] a:hover,
aside[data-policy-toc] span:hover {
  background-color: var(--bg-gold-tint);
  color: var(--gold-bright);
}

article[data-policy-document] {
  background-color: var(--bg-slate);
  border: 1px solid var(--border-graphite);
  border-radius: var(--radius-md);
  padding: 40px;
  display: flex;
  flex-direction: column;
  gap: 28px;
}

section[data-clause] {
  padding-bottom: 24px;
  border-bottom: 1px solid var(--border-subtle);
}

section[data-clause]:last-child {
  border-bottom: 0;
  padding-bottom: 0;
}

section[data-clause] h2 {
  font-size: 1.38rem;
  color: var(--gold-bright);
  margin-bottom: 10px;
}

section[data-clause] p {
  color: var(--ink-parchment);
  font-size: 0.96rem;
  margin-bottom: 10px;
}

section[data-clause] ul {
  padding-left: 20px;
  list-style: disc;
  color: var(--ink-parchment);
  font-size: 0.94rem;
  display: flex;
  flex-direction: column;
  gap: 6px;
}

/* Footer & Explicit Social Brand Links */
footer[data-site-footer] {
  margin-top: auto;
  background-color: #080a0d;
  border-top: 2px solid var(--gold-colloid);
  padding: 64px 0 36px;
  color: var(--ink-parchment);
}

div[data-footer-grid] {
  display: grid;
  grid-template-columns: 1.4fr 1fr 1fr 1.3fr;
  gap: 36px;
  padding-bottom: 40px;
  border-bottom: 1px solid var(--border-graphite);
}

div[data-footer-col] h3 {
  font-size: 1rem;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--gold-bright);
  margin-bottom: 16px;
}

div[data-footer-col] ul {
  display: flex;
  flex-direction: column;
  gap: 9px;
}

div[data-footer-col] a {
  color: var(--ink-parchment);
  font-size: 0.88rem;
}

div[data-footer-col] a:hover {
  color: var(--gold-bright);
}

ul[data-social-links] li a {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-family: var(--font-mono);
  font-size: 0.82rem;
  color: var(--gold-bright);
  background-color: var(--bg-slate);
  border: 1px solid var(--border-brass);
  padding: 6px 12px;
  border-radius: var(--radius-xs);
}

ul[data-social-links] li a:hover {
  background-color: var(--gold-colloid);
  color: var(--ink-dark);
}

div[data-footer-compliance] {
  margin-top: 28px;
  padding: 22px;
  background-color: var(--bg-graphite);
  border: 1px solid var(--border-graphite);
  border-radius: var(--radius-sm);
  font-size: 0.82rem;
  color: var(--ink-silver);
  display: flex;
  flex-direction: column;
  gap: 10px;
}

div[data-footer-bottom] {
  margin-top: 24px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 12px;
  font-size: 0.8rem;
  color: var(--ink-silver);
}

div[data-footer-bottom] address,
div[data-footer-col] address {
  font-style: normal;
  font-size: 0.8rem;
  color: var(--ink-parchment);
  line-height: 1.5;
  margin-top: 4px;
}

/* 18+ Age Verification Gate Modal */
div[data-age-gate] {
  position: fixed;
  inset: 0;
  z-index: 3000;
  background-color: rgba(8, 10, 13, 0.98);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 20px;
}

div[data-age-card] {
  max-width: 520px;
  width: 100%;
  background-color: var(--bg-slate);
  border: 2px solid var(--gold-colloid);
  border-radius: var(--radius-md);
  padding: 40px 34px;
  text-align: center;
  box-shadow: var(--shadow-deep);
}

div[data-age-emblem] {
  width: 68px;
  height: 68px;
  margin: 0 auto 20px;
  border-radius: 50%;
  background-color: var(--claret-accent);
  border: 2px solid var(--gold-bright);
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: var(--font-display);
  font-size: 1.5rem;
  font-weight: 700;
  color: var(--ink-alabaster);
}

div[data-age-card] h2 {
  font-size: 1.65rem;
  margin-bottom: 12px;
}

div[data-age-card] p {
  font-size: 0.94rem;
  color: var(--ink-parchment);
  margin-bottom: 24px;
}

div[data-age-actions] {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 12px;
}

/* Cookie Consent Banner */
aside[data-cookie-banner] {
  position: fixed;
  bottom: 20px;
  left: 20px;
  right: 20px;
  max-width: 1180px;
  margin: 0 auto;
  z-index: 2500;
  background-color: rgba(19, 23, 29, 0.98);
  border: 1px solid var(--gold-colloid);
  border-radius: var(--radius-md);
  padding: 20px 26px;
  box-shadow: var(--shadow-deep);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
}

aside[data-cookie-banner] p {
  font-size: 0.88rem;
  color: var(--ink-parchment);
}

div[data-cookie-actions] {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-shrink: 0;
}

/* Automated AI Concierge Agent Simulation */
aside[data-ai-widget] {
  position: fixed;
  bottom: 24px;
  right: 24px;
  z-index: 2200;
}

button[data-ai-trigger] {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  background: linear-gradient(135deg, #d7ae63 0%, #b58638 100%);
  color: #0d0f13;
  font-weight: 700;
  font-size: 0.82rem;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  padding: 11px 18px;
  border-radius: var(--radius-sm);
  border: 1px solid #e5b869;
  box-shadow: var(--shadow-deep);
  cursor: pointer;
  transition: transform var(--transition), filter var(--transition);
}

button[data-ai-trigger]:hover {
  transform: translateY(-2px);
  filter: brightness(1.08);
}

button[data-ai-trigger] svg {
  width: 18px;
  height: 18px;
  stroke: #0d0f13;
}

div[data-ai-panel] {
  position: fixed;
  bottom: 84px;
  right: 24px;
  width: 370px;
  max-width: calc(100vw - 32px);
  height: 520px;
  max-height: calc(100vh - 120px);
  background-color: var(--bg-slate);
  border: 1px solid var(--border-brass);
  border-radius: var(--radius-md);
  box-shadow: var(--shadow-deep);
  display: flex;
  flex-direction: column;
  overflow: hidden;
  z-index: 2250;
}

header[data-ai-header] {
  background-color: #0a0c10;
  border-bottom: 1px solid var(--border-brass);
  padding: 14px 16px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}

div[data-ai-brand] {
  display: flex;
  flex-direction: column;
  gap: 2px;
}

div[data-ai-brand] strong {
  font-size: 0.86rem;
  color: var(--gold-bright);
}

div[data-ai-brand] span {
  font-size: 0.72rem;
  color: #8bf0bf;
  display: inline-flex;
  align-items: center;
  gap: 5px;
}

button[data-ai-close] {
  background: transparent;
  border: 1px solid var(--border-subtle);
  border-radius: var(--radius-xs);
  color: var(--ink-silver);
  font-size: 1.1rem;
  width: 30px;
  height: 30px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
}

button[data-ai-close]:hover {
  color: var(--gold-bright);
  border-color: var(--gold-bright);
}

div[data-ai-messages] {
  flex-grow: 1;
  overflow-y: auto;
  padding: 16px;
  display: flex;
  flex-direction: column;
  gap: 12px;
  background-color: var(--bg-obsidian);
}

div[data-ai-msg] {
  max-width: 86%;
  padding: 10px 14px;
  border-radius: var(--radius-sm);
  font-size: 0.85rem;
  line-height: 1.45;
  word-break: break-word;
}

div[data-ai-msg="bot"] {
  align-self: flex-start;
  background-color: var(--bg-slate);
  color: var(--ink-alabaster);
  border: 1px solid var(--border-graphite);
  border-left: 3px solid var(--gold-colloid);
}

div[data-ai-msg="user"] {
  align-self: flex-end;
  background-color: var(--bg-gold-tint);
  color: var(--gold-bright);
  border: 1px solid var(--border-brass);
}

div[data-ai-typing] {
  font-size: 0.76rem;
  font-style: italic;
  color: var(--ink-silver);
  align-self: flex-start;
  padding: 4px 8px;
}

div[data-ai-suggestions] {
  padding: 10px 14px;
  background-color: #0c0e12;
  border-top: 1px solid var(--border-subtle);
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}

button[data-ai-chip] {
  background-color: var(--bg-slate);
  color: var(--ink-parchment);
  border: 1px solid var(--border-graphite);
  border-radius: var(--radius-xs);
  padding: 4px 10px;
  font-size: 0.72rem;
  font-weight: 600;
  cursor: pointer;
  transition: border-color var(--transition), color var(--transition);
}

button[data-ai-chip]:hover {
  border-color: var(--gold-bright);
  color: var(--gold-bright);
}

form[data-ai-form] {
  padding: 12px 14px;
  background-color: var(--bg-slate);
  border-top: 1px solid var(--border-brass);
  display: flex;
  gap: 8px;
  align-items: center;
}

input[data-ai-input] {
  flex-grow: 1;
  background-color: var(--bg-obsidian);
  border: 1px solid var(--border-graphite);
  border-radius: var(--radius-xs);
  padding: 9px 12px;
  font-size: 0.84rem;
  color: var(--ink-alabaster);
}

input[data-ai-input]:focus {
  border-color: var(--gold-bright);
  outline: none;
}

button[data-ai-send] {
  background: linear-gradient(135deg, #d7ae63 0%, #b58638 100%);
  color: #0d0f13;
  font-weight: 700;
  font-size: 0.76rem;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  padding: 9px 14px;
  border-radius: var(--radius-xs);
  border: 1px solid #e5b869;
  cursor: pointer;
  flex-shrink: 0;
}

/* Responsive Adaptive Design (Desktop, Tablet & Mobile) */
@media (max-width: 1150px) {
  /* Header burger menu appearance starting at 1150px */
  header[data-site-header] {
    width: 100%;
  }

  header[data-site-header] > div[data-wrap] {
    width: 100%;
    max-width: 100%;
    min-height: 62px;
    padding-left: 16px;
    padding-right: 16px;
    gap: 10px;
  }

  a[data-brand] {
    flex: 1 1 auto;
    min-width: 0;
  }

  a[data-brand] img {
    height: 34px;
    max-width: 175px;
  }

  button[data-nav-toggle] {
    display: inline-flex;
    width: 38px;
    height: 38px;
    flex-shrink: 0;
  }

  div[data-header-cta] {
    flex-shrink: 0;
  }

  div[data-header-cta] a {
    padding: 6px 12px;
    font-size: 0.72rem;
    white-space: nowrap;
  }

  nav[data-main-nav] {
    display: none;
    position: absolute;
    top: 62px;
    left: 0;
    right: 0;
    background-color: var(--bg-obsidian);
    border-bottom: 1px solid var(--gold-colloid);
    padding: 16px 20px;
    box-shadow: var(--shadow-deep);
  }

  nav[data-main-nav][data-open="true"] {
    display: block;
  }

  nav[data-main-nav] ul {
    flex-direction: column;
    align-items: stretch;
    gap: 6px;
  }

  nav[data-main-nav] a {
    padding: 9px 14px;
    font-size: 0.88rem;
  }

  div[data-hero-grid],
  div[data-heritage-split],
  div[data-lead-split] {
    grid-template-columns: 1fr;
  }

  div[data-slots-grid] {
    grid-template-columns: repeat(2, 1fr);
  }

  div[data-collage-triptych],
  div[data-dining-grid] {
    grid-template-columns: repeat(2, 1fr);
  }

  div[data-policy-grid] {
    grid-template-columns: 1fr;
  }

  aside[data-policy-toc] {
    position: static;
    max-height: none;
  }

  div[data-footer-grid] {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 820px) {
  /* Container paddings reduced on tablets/mobile */
  div[data-wrap],
  section[data-wrap],
  header[data-wrap],
  footer[data-wrap],
  nav[data-wrap] {
    padding-left: 16px;
    padding-right: 16px;
  }

  /* Section vertical paddings reduced from 80px */
  section[data-section] {
    padding: 42px 0;
  }

  section[data-hero] {
    padding: 30px 0 34px;
  }

  section[data-policy-hero] {
    padding: 34px 0 26px;
  }

  header[data-section-head],
  header[data-section-head="center"] {
    margin-bottom: 24px;
  }

  /* Card and container paddings */
  article[data-prose-card],
  aside[data-venue-dossier] {
    padding: 18px 16px;
  }

  div[data-form-card] {
    padding: 20px 16px;
  }

  header[data-site-header] > div[data-wrap] {
    min-height: 60px;
    padding-left: 12px;
    padding-right: 12px;
    gap: 8px;
  }

  a[data-brand] img {
    height: 32px;
    max-width: 170px;
  }

  nav[data-main-nav] {
    top: 60px;
  }

  dl[data-metrics-row],
  div[data-menu-columns],
  div[data-form-grid] {
    grid-template-columns: 1fr;
  }

  div[data-field="full"] {
    grid-column: span 1;
  }

  div[data-bento-wall] {
    grid-template-columns: 1fr;
    grid-auto-rows: 220px;
  }

  figure[data-bento-item="wide"],
  figure[data-bento-item="medium"],
  figure[data-bento-item="third"] {
    grid-column: span 1;
    grid-row: span 1;
  }

  aside[data-cookie-banner] {
    flex-direction: column;
    align-items: stretch;
    padding: 16px;
    margin: 12px auto;
  }

  /* Compact Regulatory bar on tablets */
  aside[data-regulatory-bar] {
    padding: 4px 0;
    font-size: 0.68rem;
    line-height: 1.32;
  }

  aside[data-regulatory-bar] > div[data-wrap] {
    gap: 4px;
    justify-content: center;
    text-align: center;
  }

  div[data-reg-notice] {
    gap: 6px;
    justify-content: center;
    font-size: 0.66rem;
  }

  span[data-age-badge] {
    font-size: 0.58rem;
    padding: 1px 4px;
    letter-spacing: 0.04em;
  }

  div[data-reg-links] {
    gap: 8px;
    justify-content: center;
    font-size: 0.65rem;
  }
}

@media (max-width: 600px) {
  /* Ultra-compact regulatory bar on mobile */
  aside[data-regulatory-bar] {
    padding: 3px 0;
    font-size: 0.64rem;
    line-height: 1.25;
  }

  aside[data-regulatory-bar] > div[data-wrap] {
    gap: 3px;
  }

  div[data-reg-notice] {
    gap: 4px;
    font-size: 0.62rem;
  }

  div[data-reg-notice] span:not([data-age-badge]) {
    font-size: 0.62rem;
  }

  div[data-reg-links] {
    gap: 6px;
    font-size: 0.62rem;
  }

  div[data-reg-links] span {
    display: none;
  }

  /* Mobile container paddings strictly 12-14px */
  div[data-wrap],
  section[data-wrap],
  header[data-wrap],
  footer[data-wrap],
  nav[data-wrap] {
    padding-left: 14px;
    padding-right: 14px;
  }

  header[data-site-header] > div[data-wrap] {
    padding-left: 10px;
    padding-right: 10px;
    min-height: 56px;
    gap: 6px;
  }

  a[data-brand] img {
    height: 26px;
    max-width: 140px;
  }

  button[data-nav-toggle] {
    width: 34px;
    height: 34px;
  }

  button[data-nav-toggle] svg {
    width: 19px;
    height: 19px;
  }

  div[data-header-cta] a {
    padding: 5px 8px;
    font-size: 0.67rem;
  }

  nav[data-main-nav] {
    top: 56px;
    padding: 14px;
  }

  /* Section vertical paddings reduced to 28-32px */
  section[data-section] {
    padding: 30px 0;
  }

  section[data-hero] {
    padding: 24px 0 28px;
  }

  section[data-policy-hero] {
    padding: 26px 0 20px;
  }

  header[data-section-head],
  header[data-section-head="center"] {
    margin-bottom: 16px;
  }

  /* Card inner paddings strictly 10-16px */
  article[data-prose-card],
  article[data-suite-card],
  article[data-dish-card],
  article[data-slot-item],
  article[data-faq-item],
  article[data-swatch-card],
  article[data-spec-card],
  aside[data-venue-dossier],
  aside[data-policy-toc] {
    padding: 12px 14px;
  }

  article[data-collage-card] div[data-collage-body] {
    padding: 14px 12px;
  }

  div[data-form-card] {
    padding: 14px 12px;
  }

  article[data-policy-document] {
    padding: 14px 12px;
  }

  /* Block gaps reduced to 10-14px */
  div[data-hero-grid],
  div[data-heritage-split],
  div[data-lead-split],
  div[data-policy-grid],
  div[data-footer-grid],
  div[data-form-grid],
  div[data-palette-grid],
  div[data-slots-grid],
  div[data-collage-triptych],
  div[data-dining-grid] {
    grid-template-columns: 1fr;
    gap: 12px;
  }

  dl[data-metrics-row] {
    gap: 8px;
    padding-top: 12px;
    margin-top: 12px;
  }

  dl[data-metrics-row] > div {
    padding: 8px 10px;
  }

  /* CTA buttons full width on small screens */
  div[data-cta-row] {
    flex-direction: column;
    gap: 8px;
    margin-bottom: 16px;
  }

  div[data-cta-row] a,
  div[data-cta-row] button {
    width: 100%;
    text-align: center;
    padding: 10px 14px;
    font-size: 0.78rem;
  }

  div[data-collage-mosaic] {
    grid-template-columns: 1fr;
    grid-auto-rows: 160px;
    gap: 8px;
  }

  div[data-mosaic-tile="1"],
  div[data-mosaic-tile="2"],
  div[data-mosaic-tile="3"],
  div[data-mosaic-tile="4"],
  div[data-mosaic-tile="5"] {
    grid-column: span 1;
    grid-row: span 1;
  }

  div[data-mosaic-tile] span {
    font-size: 0.65rem;
    padding: 2px 6px;
    bottom: 6px;
    left: 6px;
  }

  /* Policy Document sections margin */
  section[data-policy-section] {
    margin-bottom: 16px;
    padding-bottom: 14px;
  }

  /* Modals: Age verification and Cookie banner on mobile */
  div[data-age-card] {
    padding: 16px 14px;
    margin: 12px;
  }

  aside[data-cookie-banner] {
    padding: 12px 14px;
    margin: 8px auto;
    gap: 10px;
  }

  div[data-cookie-actions] {
    flex-direction: column;
    width: 100%;
    gap: 8px;
  }

  div[data-cookie-actions] button {
    width: 100%;
    text-align: center;
  }

  /* AI Concierge Widget on mobile */
  aside[data-ai-widget] {
    bottom: 16px;
    right: 16px;
  }

  button[data-ai-trigger] {
    padding: 10px 14px;
    font-size: 0.74rem;
  }

  div[data-ai-panel] {
    bottom: 68px;
    right: 12px;
    left: 12px;
    width: auto;
    max-width: calc(100vw - 24px);
    height: 460px;
  }
}
