

:root {
  --color-charcoal: #2B2B2B;
  --color-dark-timber: #3A2E2A;
  --color-warm-ivory: #F5F5DC;
  --color-deep-teal: #008080;
  --color-burgundy: #800020;
  --color-charcoal-light: #3A3A3A;
  --color-ivory-dark: #E8E8D0;
  --color-border-subtle: rgba(245, 245, 220, 0.2);
  --color-overlay-dark: rgba(0, 0, 0, 0.55);
  --color-overlay-deep: rgba(0, 0, 0, 0.75);

  --font-heading: Georgia, serif;
  --font-body: Helvetica, Arial, sans-serif;

  --text-display: clamp(2.75rem, 6vw, 4.5rem);
  --text-h1: clamp(2.25rem, 4.5vw, 3rem);
  --text-h2: clamp(1.875rem, 3.5vw, 2.25rem);
  --text-h3: clamp(1.5rem, 2.5vw, 1.75rem);
  --text-h4: 1.375rem;
  --text-body: 1.125rem;
  --text-small: 0.875rem;

  --leading-display: 1.1;
  --leading-h1: 1.2;
  --leading-h2: 1.3;
  --leading-h3: 1.4;
  --leading-h4: 1.5;
  --leading-body: 1.6;
  --leading-small: 1.5;

  --space-1: 4px;
  --space-2: 8px;
  --space-3: 16px;
  --space-4: 24px;
  --space-5: 32px;
  --space-6: 48px;
  --space-7: 64px;
  --space-8: 96px;

  --container-max: 1200px;
  --container-padding: var(--space-4);

  --surface-card: var(--color-charcoal-light);
  --surface-panel: var(--color-dark-timber);
  --surface-accent-teal: var(--color-deep-teal);
  --surface-accent-burgundy: var(--color-burgundy);

  --shadow-card: 0 4px 12px rgba(0, 0, 0, 0.3);
  --shadow-modal: 0 8px 24px rgba(0, 0, 0, 0.4);

  --radius-small: 4px;
  --radius-medium: 8px;
  --radius-large: 16px;
  --radius-pill: 24px;

  --transition-fast: 0.2s ease;
}

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

html {
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
  scroll-behavior: smooth;
}

body {
  min-height: 100vh;
  background-color: var(--color-charcoal);
  color: var(--color-warm-ivory);
  font-family: var(--font-body);
  font-size: var(--text-body);
  line-height: var(--leading-body);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  overflow-x: hidden;
}

img,
picture,
video,
canvas,
svg {
  display: block;
  max-width: 100%;
  height: auto;
}

input,
button,
textarea,
select {
  font: inherit;
  color: inherit;
}

button {
  background: none;
  border: none;
  cursor: pointer;
}

a {
  color: var(--color-deep-teal);
  text-decoration: none;
  transition: color var(--transition-fast);
}

a:hover {
  color: var(--color-warm-ivory);
}

h1,
h2,
h3,
h4,
h5,
h6 {
  font-family: var(--font-heading);
  font-weight: 400;
  letter-spacing: -0.01em;
  line-height: var(--leading-h1);
  margin-block-end: var(--space-4);
}

h1 {
  font-size: var(--text-h1);
  line-height: var(--leading-h1);
}

h2 {
  font-size: var(--text-h2);
  line-height: var(--leading-h2);
}

h3 {
  font-size: var(--text-h3);
  line-height: var(--leading-h3);
}

h4 {
  font-size: var(--text-h4);
  line-height: var(--leading-h4);
}

h5 {
  font-size: var(--text-body);
  line-height: var(--leading-body);
}

h6 {
  font-size: var(--text-small);
  line-height: var(--leading-small);
}

p {
  margin-block-end: var(--space-4);
}

ul,
ol {
  margin-block-end: var(--space-4);
  padding-inline-start: var(--space-5);
}

li {
  margin-block-end: var(--space-2);
}

li:last-child {
  margin-block-end: 0;
}

blockquote {
  margin-block-end: var(--space-4);
  padding-inline-start: var(--space-4);
  border-inline-start: 3px solid var(--color-deep-teal);
  color: var(--color-ivory-dark);
  font-style: italic;
}

figure {
  margin-block-end: var(--space-4);
}

figcaption {
  font-size: var(--text-small);
  color: var(--color-ivory-dark);
  margin-block-start: var(--space-2);
}

hr {
  border: none;
  border-block-start: 1px solid var(--color-border-subtle);
  margin-block: var(--space-6);
}

small {
  font-size: var(--text-small);
  line-height: var(--leading-small);
}

strong {
  font-weight: 700;
}

em {
  font-style: italic;
}

code,
pre {
  font-family: "Courier New", monospace;
  font-size: 0.95em;
}

pre {
  background-color: var(--color-charcoal-light);
  border: 1px solid var(--color-border-subtle);
  border-radius: var(--radius-medium);
  padding: var(--space-4);
  overflow-x: auto;
  margin-block-end: var(--space-4);
}

.container {
  max-width: var(--container-max);
  margin-inline: auto;
  padding-inline: var(--container-padding);
  width: 100%;
}

.container--narrow {
  max-width: 720px;
}

.container--wide {
  max-width: 1440px;
}

.surface-card {
  background-color: var(--surface-card);
  border: 1px solid var(--color-border-subtle);
  border-radius: var(--radius-medium);
  box-shadow: var(--shadow-card);
}

.surface-panel {
  background-color: var(--surface-panel);
  border: 1px solid var(--color-border-subtle);
  border-radius: var(--radius-medium);
}

.surface-accent-teal {
  background-color: var(--surface-accent-teal);
  color: var(--color-warm-ivory);
}

.surface-accent-burgundy {
  background-color: var(--surface-accent-burgundy);
  color: var(--color-warm-ivory);
}

.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: var(--space-2);
  padding: var(--space-3) var(--space-4);
  border-radius: var(--radius-small);
  font-family: var(--font-body);
  font-size: var(--text-body);
  font-weight: 500;
  line-height: 1.2;
  text-align: center;
  min-height: 44px;
  transition: background-color var(--transition-fast), color var(--transition-fast),
    border-color var(--transition-fast), box-shadow var(--transition-fast);
  cursor: pointer;
  border: 1px solid transparent;
}

.btn--teal {
  background-color: var(--color-deep-teal);
  color: var(--color-warm-ivory);
}

.btn--teal:hover {
  background-color: #006666;
  color: var(--color-warm-ivory);
}

.btn--burgundy {
  background-color: var(--color-burgundy);
  color: var(--color-warm-ivory);
}

.btn--burgundy:hover {
  background-color: #66001a;
  color: var(--color-warm-ivory);
}

.btn--outline {
  background-color: transparent;
  border-color: var(--color-border-subtle);
  color: var(--color-warm-ivory);
}

.btn--outline:hover {
  border-color: var(--color-deep-teal);
  color: var(--color-deep-teal);
}

.btn--ghost {
  background-color: transparent;
  color: var(--color-warm-ivory);
}

.btn--ghost:hover {
  background-color: rgba(245, 245, 220, 0.1);
  color: var(--color-warm-ivory);
}

.btn--small {
  padding: var(--space-2) var(--space-3);
  font-size: var(--text-small);
  min-height: 36px;
}

.btn--large {
  padding: var(--space-4) var(--space-5);
  font-size: var(--text-h4);
  min-height: 52px;
}

.btn:focus-visible,
a:focus-visible,
button:focus-visible,
input:focus-visible,
textarea:focus-visible,
select:focus-visible {
  outline: 2px solid var(--color-deep-teal);
  outline-offset: 2px;
}

.form-field {
  margin-block-end: var(--space-4);
}

.form-label {
  display: block;
  margin-block-end: var(--space-2);
  font-weight: 500;
  color: var(--color-warm-ivory);
}

.form-input,
.form-textarea,
.form-select {
  width: 100%;
  padding: var(--space-3);
  background-color: var(--color-charcoal);
  border: 1px solid var(--color-border-subtle);
  border-radius: var(--radius-small);
  color: var(--color-warm-ivory);
  font-family: var(--font-body);
  font-size: var(--text-body);
  line-height: var(--leading-body);
  transition: border-color var(--transition-fast), box-shadow var(--transition-fast);
  min-height: 44px;
}

.form-input::placeholder,
.form-textarea::placeholder {
  color: var(--color-ivory-dark);
  opacity: 0.7;
}

.form-input:focus,
.form-textarea:focus,
.form-select:focus {
  border-color: var(--color-deep-teal);
  box-shadow: 0 0 0 3px rgba(0, 128, 128, 0.25);
  outline: none;
}

.form-textarea {
  min-height: 120px;
  resize: vertical;
}

.form-select {
  appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%23F5F5DC' stroke-width='2' fill='none'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right var(--space-3) center;
  padding-inline-end: var(--space-6);
}

.form-hint {
  font-size: var(--text-small);
  color: var(--color-ivory-dark);
  margin-block-start: var(--space-2);
}

.form-error {
  font-size: var(--text-small);
  color: #e74c3c;
  margin-block-start: var(--space-2);
}

.flex {
  display: flex;
  gap: var(--space-4);
  min-width: 0;
}

.flex > * {
  min-width: 0;
  flex-shrink: 1;
}

.flex--wrap {
  flex-wrap: wrap;
}

.flex--nowrap {
  flex-wrap: nowrap;
}

.flex--column {
  flex-direction: column;
}

.flex--row {
  flex-direction: row;
}

.flex--align-start {
  align-items: flex-start;
}

.flex--align-center {
  align-items: center;
}

.flex--align-end {
  align-items: flex-end;
}

.flex--justify-start {
  justify-content: flex-start;
}

.flex--justify-center {
  justify-content: center;
}

.flex--justify-end {
  justify-content: flex-end;
}

.flex--justify-between {
  justify-content: space-between;
}

.flex--justify-around {
  justify-content: space-around;
}

.flex--gap-1 {
  gap: var(--space-1);
}

.flex--gap-2 {
  gap: var(--space-2);
}

.flex--gap-3 {
  gap: var(--space-3);
}

.flex--gap-4 {
  gap: var(--space-4);
}

.flex--gap-5 {
  gap: var(--space-5);
}

.flex--gap-6 {
  gap: var(--space-6);
}

.flex--gap-7 {
  gap: var(--space-7);
}

.flex--gap-8 {
  gap: var(--space-8);
}

.flex--equal > * {
  flex: 1 1 0;
}

.flex--auto > * {
  flex: 0 1 auto;
}

.flex--none > * {
  flex: 0 0 auto;
}

.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: absolute;
  top: -100%;
  left: var(--space-4);
  z-index: 9999;
  padding: var(--space-3) var(--space-4);
  background-color: var(--color-deep-teal);
  color: var(--color-warm-ivory);
  border-radius: var(--radius-small);
  transition: top var(--transition-fast);
}

.skip-link:focus {
  top: var(--space-4);
}

.text-center {
  text-align: center;
}

.text-left {
  text-align: left;
}

.text-right {
  text-align: right;
}

.text-small {
  font-size: var(--text-small);
  line-height: var(--leading-small);
}

.text-body {
  font-size: var(--text-body);
  line-height: var(--leading-body);
}

.text-h4 {
  font-size: var(--text-h4);
  line-height: var(--leading-h4);
}

.text-h3 {
  font-size: var(--text-h3);
  line-height: var(--leading-h3);
}

.text-h2 {
  font-size: var(--text-h2);
  line-height: var(--leading-h2);
}

.text-h1 {
  font-size: var(--text-h1);
  line-height: var(--leading-h1);
}

.text-display {
  font-size: var(--text-display);
  line-height: var(--leading-display);
}

.text-heading {
  font-family: var(--font-heading);
  font-weight: 400;
  letter-spacing: -0.01em;
}

.text-body-font {
  font-family: var(--font-body);
}

.text-ivory {
  color: var(--color-warm-ivory);
}

.text-ivory-dark {
  color: var(--color-ivory-dark);
}

.text-teal {
  color: var(--color-deep-teal);
}

.text-burgundy {
  color: var(--color-burgundy);
}

.text-charcoal {
  color: var(--color-charcoal);
}

.text-timber {
  color: var(--color-dark-timber);
}

.bg-charcoal {
  background-color: var(--color-charcoal);
}

.bg-timber {
  background-color: var(--color-dark-timber);
}

.bg-ivory {
  background-color: var(--color-warm-ivory);
  color: var(--color-charcoal);
}

.bg-teal {
  background-color: var(--color-deep-teal);
  color: var(--color-warm-ivory);
}

.bg-burgundy {
  background-color: var(--color-burgundy);
  color: var(--color-warm-ivory);
}

.bg-charcoal-light {
  background-color: var(--color-charcoal-light);
}

.radius-small {
  border-radius: var(--radius-small);
}

.radius-medium {
  border-radius: var(--radius-medium);
}

.radius-large {
  border-radius: var(--radius-large);
}

.radius-pill {
  border-radius: var(--radius-pill);
}

.shadow-card {
  box-shadow: var(--shadow-card);
}

.shadow-modal {
  box-shadow: var(--shadow-modal);
}

.border-subtle {
  border: 1px solid var(--color-border-subtle);
}

.border-teal {
  border: 1px solid var(--color-deep-teal);
}

.border-burgundy {
  border: 1px solid var(--color-burgundy);
}

.mt-1 { margin-block-start: var(--space-1); }
.mt-2 { margin-block-start: var(--space-2); }
.mt-3 { margin-block-start: var(--space-3); }
.mt-4 { margin-block-start: var(--space-4); }
.mt-5 { margin-block-start: var(--space-5); }
.mt-6 { margin-block-start: var(--space-6); }
.mt-7 { margin-block-start: var(--space-7); }
.mt-8 { margin-block-start: var(--space-8); }

.mb-1 { margin-block-end: var(--space-1); }
.mb-2 { margin-block-end: var(--space-2); }
.mb-3 { margin-block-end: var(--space-3); }
.mb-4 { margin-block-end: var(--space-4); }
.mb-5 { margin-block-end: var(--space-5); }
.mb-6 { margin-block-end: var(--space-6); }
.mb-7 { margin-block-end: var(--space-7); }
.mb-8 { margin-block-end: var(--space-8); }

.mx-auto {
  margin-inline: auto;
}

.p-1 { padding: var(--space-1); }
.p-2 { padding: var(--space-2); }
.p-3 { padding: var(--space-3); }
.p-4 { padding: var(--space-4); }
.p-5 { padding: var(--space-5); }
.p-6 { padding: var(--space-6); }
.p-7 { padding: var(--space-7); }
.p-8 { padding: var(--space-8); }

.px-1 { padding-inline: var(--space-1); }
.px-2 { padding-inline: var(--space-2); }
.px-3 { padding-inline: var(--space-3); }
.px-4 { padding-inline: var(--space-4); }
.px-5 { padding-inline: var(--space-5); }
.px-6 { padding-inline: var(--space-6); }
.px-7 { padding-inline: var(--space-7); }
.px-8 { padding-inline: var(--space-8); }

.py-1 { padding-block: var(--space-1); }
.py-2 { padding-block: var(--space-2); }
.py-3 { padding-block: var(--space-3); }
.py-4 { padding-block: var(--space-4); }
.py-5 { padding-block: var(--space-5); }
.py-6 { padding-block: var(--space-6); }
.py-7 { padding-block: var(--space-7); }
.py-8 { padding-block: var(--space-8); }

:where(h1, h2, h3, h4, h5, h6, p, ul, ol, blockquote, figure, pre):last-child {
  margin-block-end: 0;
}

:where(.surface-card, .surface-panel, .surface-accent-teal, .surface-accent-burgundy) > :last-child {
  margin-block-end: 0;
}

.content-list {
  list-style: none;
  padding-inline-start: 0;
}

.content-list li {
  margin-block-end: var(--space-3);
  padding-inline-start: var(--space-5);
  position: relative;
}

.content-list li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.55em;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background-color: var(--color-deep-teal);
}

.content-list li:last-child {
  margin-block-end: 0;
}

@media (max-width: 768px) {
  :root {
    --container-padding: var(--space-3);
  }

  body {
    font-size: var(--text-body);
  }

  h1 {
    font-size: 2.25rem;
  }

  h2 {
    font-size: 1.875rem;
  }

  h3 {
    font-size: 1.5rem;
  }

  h4 {
    font-size: 1.25rem;
  }

  .flex {
    gap: var(--space-3);
  }

  .flex--column-mobile {
    flex-direction: column;
  }

  .flex--row-mobile {
    flex-direction: row;
  }

  .flex--wrap-mobile {
    flex-wrap: wrap;
  }

  .flex--nowrap-mobile {
    flex-wrap: nowrap;
  }

  .flex--gap-1-mobile { gap: var(--space-1); }
  .flex--gap-2-mobile { gap: var(--space-2); }
  .flex--gap-3-mobile { gap: var(--space-3); }
  .flex--gap-4-mobile { gap: var(--space-4); }
  .flex--gap-5-mobile { gap: var(--space-5); }
  .flex--gap-6-mobile { gap: var(--space-6); }
  .flex--gap-7-mobile { gap: var(--space-7); }
  .flex--gap-8-mobile { gap: var(--space-8); }

  .flex--equal-mobile > * {
    flex: 1 1 0;
  }

  .flex--auto-mobile > * {
    flex: 0 1 auto;
  }

  .flex--none-mobile > * {
    flex: 0 0 auto;
  }

  .flex--align-start-mobile { align-items: flex-start; }
  .flex--align-center-mobile { align-items: center; }
  .flex--align-end-mobile { align-items: flex-end; }
  .flex--justify-start-mobile { justify-content: flex-start; }
  .flex--justify-center-mobile { justify-content: center; }
  .flex--justify-end-mobile { justify-content: flex-end; }
  .flex--justify-between-mobile { justify-content: space-between; }
  .flex--justify-around-mobile { justify-content: space-around; }
}

@media (max-width: 480px) {
  :root {
    --container-padding: var(--space-3);
  }

  h1 {
    font-size: 2rem;
  }

  h2 {
    font-size: 1.625rem;
  }

  h3 {
    font-size: 1.375rem;
  }

  h4 {
    font-size: 1.125rem;
  }

  .btn {
    width: 100%;
  }

  .btn--auto {
    width: auto;
  }
}

@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
}


.site-header {
  position: sticky;
  top: 0;
  z-index: 1000;
  background-color: var(--color-charcoal);
  border-bottom: 1px solid var(--color-border-subtle);
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.2);
}

.site-header__inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  min-height: 72px;
  padding-block: var(--space-3);
  gap: var(--space-4);
}

.site-header__brand {
  display: inline-flex;
  align-items: center;
  gap: var(--space-3);
  text-decoration: none;
  color: var(--color-warm-ivory);
  flex-shrink: 0;
}

.site-header__logo {
  width: 48px;
  height: 48px;
  object-fit: contain;
  display: block;
}

.site-header__brand-text {
  font-family: var(--font-heading);
  font-size: 1.5rem;
  line-height: 1.2;
  letter-spacing: -0.01em;
  white-space: nowrap;
}

.site-header__toggle {
  display: none;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 5px;
  width: 44px;
  height: 44px;
  padding: 0;
  background: transparent;
  border: none;
  cursor: pointer;
  border-radius: var(--radius-small);
  transition: background-color var(--transition-fast);
}

.site-header__toggle:hover {
  background-color: rgba(245, 245, 220, 0.1);
}

.site-header__toggle:focus-visible {
  outline: 2px solid var(--color-deep-teal);
  outline-offset: 2px;
}

.site-header__toggle-line {
  display: block;
  width: 24px;
  height: 2px;
  background-color: var(--color-warm-ivory);
  border-radius: 1px;
  transition: transform var(--transition-fast), opacity var(--transition-fast);
}

.site-header__toggle[aria-expanded="true"] .site-header__toggle-line:nth-child(1) {
  transform: translateY(7px) rotate(45deg);
}

.site-header__toggle[aria-expanded="true"] .site-header__toggle-line:nth-child(2) {
  opacity: 0;
}

.site-header__toggle[aria-expanded="true"] .site-header__toggle-line:nth-child(3) {
  transform: translateY(-7px) rotate(-45deg);
}

.site-header__nav {
  display: flex;
  align-items: center;
  gap: var(--space-5);
  margin-left: auto;
}

.site-header__nav-list {
  display: flex;
  align-items: center;
  gap: var(--space-4);
  list-style: none;
  margin: 0;
  padding: 0;
}

.site-header__nav-item {
  margin: 0;
  padding: 0;
}

.site-header__nav-link {
  display: inline-block;
  padding: var(--space-2) 0;
  color: var(--color-warm-ivory);
  text-decoration: none;
  font-size: var(--text-body);
  line-height: 1.2;
  white-space: nowrap;
  transition: color var(--transition-fast);
  position: relative;
}

.site-header__nav-link::after {
  content: '';
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 2px;
  background-color: var(--color-deep-teal);
  transform: scaleX(0);
  transform-origin: bottom right;
  transition: transform var(--transition-fast);
}

.site-header__nav-link:hover {
  color: var(--color-deep-teal);
}

.site-header__nav-link:hover::after {
  transform: scaleX(1);
  transform-origin: bottom left;
}

.site-header__nav-link:focus-visible {
  outline: 2px solid var(--color-deep-teal);
  outline-offset: 2px;
}

.site-header__cta {
  flex-shrink: 0;
}

@media (max-width: 1024px) {
  .site-header__inner {
    flex-wrap: wrap;
  }

  .site-header__toggle {
    display: flex;
  }

  .site-header__nav {
    display: none;
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    background-color: var(--color-charcoal);
    border-bottom: 1px solid var(--color-border-subtle);
    box-shadow: 0 8px 16px rgba(0, 0, 0, 0.3);
    flex-direction: column;
    align-items: stretch;
    gap: 0;
    padding: var(--space-4);
    max-height: calc(100vh - 72px);
    overflow-y: auto;
    z-index: 999;
  }

  .site-header__nav.is-open {
    display: flex;
  }

  .site-header__nav-list {
    flex-direction: column;
    align-items: stretch;
    gap: 0;
    width: 100%;
  }

  .site-header__nav-item {
    width: 100%;
  }

  .site-header__nav-link {
    display: block;
    padding: var(--space-3) var(--space-2);
    border-bottom: 1px solid var(--color-border-subtle);
    font-size: var(--text-h4);
  }

  .site-header__nav-link::after {
    display: none;
  }

  .site-header__cta {
    margin-top: var(--space-4);
    width: 100%;
    text-align: center;
  }
}

@media (max-width: 768px) {
  .site-header__inner {
    min-height: 64px;
    padding-block: var(--space-2);
  }

  .site-header__logo {
    width: 40px;
    height: 40px;
  }

  .site-header__brand-text {
    display: none;
  }

  .site-header__nav {
    top: 100%;
    max-height: calc(100vh - 64px);
  }
}


.site-footer {
  background-color: var(--color-dark-timber);
  color: var(--color-warm-ivory);
  padding-block: var(--space-7) var(--space-5);
  border-top: 1px solid var(--color-border-subtle);
  margin-top: var(--space-7);
}

.site-footer__inner {
  max-width: var(--container-max);
  margin-inline: auto;
  padding-inline: var(--container-padding);
}

.site-footer__grid {
  display: grid;
  grid-template-columns: 2fr 1fr 1fr 1fr;
  gap: var(--space-6);
  margin-bottom: var(--space-6);
}

.site-footer__brand-link {
  display: inline-flex;
  align-items: center;
  gap: var(--space-3);
  text-decoration: none;
  color: var(--color-warm-ivory);
  margin-bottom: var(--space-3);
}

.site-footer__logo {
  width: 48px;
  height: 48px;
  object-fit: contain;
}

.site-footer__brand-text {
  font-family: var(--font-heading);
  font-size: 1.5rem;
  line-height: 1.2;
}

.site-footer__description {
  font-size: var(--text-small);
  line-height: var(--leading-small);
  color: var(--color-ivory-dark);
  max-width: 40ch;
  margin-bottom: 0;
}

.site-footer__heading {
  font-size: var(--text-h4);
  margin-bottom: var(--space-3);
  color: var(--color-warm-ivory);
}

.site-footer__nav-list,
.site-footer__contact-list,
.site-footer__legal-list {
  list-style: none;
  padding: 0;
  margin: 0;
}

.site-footer__nav-list li,
.site-footer__contact-list li,
.site-footer__legal-list li {
  margin-bottom: var(--space-2);
}

.site-footer__nav-list a,
.site-footer__contact-list a,
.site-footer__legal-list a {
  color: var(--color-ivory-dark);
  text-decoration: none;
  transition: color var(--transition-fast);
  font-size: var(--text-small);
  line-height: var(--leading-small);
}

.site-footer__nav-list a:hover,
.site-footer__contact-list a:hover,
.site-footer__legal-list a:hover {
  color: var(--color-deep-teal);
}

.site-footer__contact-list li {
  font-size: var(--text-small);
  line-height: var(--leading-small);
  color: var(--color-ivory-dark);
}

.site-footer__bottom {
  border-top: 1px solid var(--color-border-subtle);
  padding-top: var(--space-4);
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
  align-items: center;
  text-align: center;
}

.site-footer__disclaimer {
  font-size: var(--text-small);
  line-height: var(--leading-small);
  color: var(--color-ivory-dark);
  max-width: 60ch;
  margin-inline: auto;
  margin-bottom: 0;
}

.site-footer__copyright {
  font-size: var(--text-small);
  line-height: var(--leading-small);
  color: var(--color-ivory-dark);
  margin-bottom: 0;
}

.consent-banner {
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 1100;
  background-color: var(--color-charcoal-light);
  border-top: 1px solid var(--color-border-subtle);
  box-shadow: 0 -4px 12px rgba(0, 0, 0, 0.3);
  padding: var(--space-4);
}

.consent-banner[hidden] {
  display: none !important;
}

.consent-banner__content {
  max-width: var(--container-max);
  margin-inline: auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-4);
  flex-wrap: wrap;
}

.consent-banner__text {
  flex: 1 1 300px;
  font-size: var(--text-small);
  line-height: var(--leading-small);
  color: var(--color-warm-ivory);
  margin: 0;
}

.consent-banner__actions {
  display: flex;
  gap: var(--space-3);
  flex-shrink: 0;
}

.consent-banner__button {
  padding: var(--space-2) var(--space-4);
  border-radius: var(--radius-small);
  font-size: var(--text-small);
  font-weight: 500;
  min-height: 36px;
  cursor: pointer;
  transition: background-color var(--transition-fast), color var(--transition-fast);
  border: 1px solid transparent;
}

.consent-banner__button--accept {
  background-color: var(--color-deep-teal);
  color: var(--color-warm-ivory);
}

.consent-banner__button--accept:hover {
  background-color: #006666;
}

.consent-banner__button--reject {
  background-color: transparent;
  border-color: var(--color-border-subtle);
  color: var(--color-warm-ivory);
}

.consent-banner__button--reject:hover {
  border-color: var(--color-deep-teal);
  color: var(--color-deep-teal);
}

.consent-banner__button:focus-visible {
  outline: 2px solid var(--color-deep-teal);
  outline-offset: 2px;
}

.age-modal {
  position: fixed;
  inset: 0;
  z-index: 1200;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: var(--space-4);
}

.age-modal[hidden] {
  display: none !important;
}

.age-modal__overlay {
  position: absolute;
  inset: 0;
  background-color: var(--color-overlay-deep);
  backdrop-filter: blur(4px);
}

.age-modal__dialog {
  position: relative;
  background-color: var(--color-charcoal-light);
  border: 1px solid var(--color-border-subtle);
  border-radius: var(--radius-large);
  box-shadow: var(--shadow-modal);
  padding: var(--space-6);
  max-width: 480px;
  width: 100%;
  max-height: calc(100vh - var(--space-8));
  overflow-y: auto;
  text-align: center;
}

.age-modal__title {
  font-size: var(--text-h2);
  margin-bottom: var(--space-4);
}

.age-modal__description {
  font-size: var(--text-body);
  margin-bottom: var(--space-5);
  color: var(--color-ivory-dark);
}

.age-modal__actions {
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
}

.age-modal__button {
  padding: var(--space-3) var(--space-4);
  border-radius: var(--radius-small);
  font-size: var(--text-body);
  font-weight: 500;
  min-height: 44px;
  cursor: pointer;
  transition: background-color var(--transition-fast), color var(--transition-fast);
  border: 1px solid transparent;
}

.age-modal__button--confirm {
  background-color: var(--color-deep-teal);
  color: var(--color-warm-ivory);
}

.age-modal__button--confirm:hover {
  background-color: #006666;
}

.age-modal__button--decline {
  background-color: transparent;
  border-color: var(--color-border-subtle);
  color: var(--color-warm-ivory);
}

.age-modal__button--decline:hover {
  border-color: var(--color-burgundy);
  color: var(--color-burgundy);
}

.age-modal__button:focus-visible {
  outline: 2px solid var(--color-deep-teal);
  outline-offset: 2px;
}

@media (max-width: 768px) {
  .site-footer__grid {
    grid-template-columns: 1fr;
    gap: var(--space-5);
  }

  .consent-banner__content {
    flex-direction: column;
    align-items: stretch;
  }

  .consent-banner__actions {
    justify-content: flex-end;
  }

  .age-modal__dialog {
    padding: var(--space-4);
  }
}


.terms-page {
  padding-block: var(--space-7) var(--space-8);
  background-color: var(--color-charcoal);
}

.terms-container {
  max-width: var(--container-max);
  margin-inline: auto;
  padding-inline: var(--container-padding);
  width: 100%;
}

.terms-section {
  margin-block-end: var(--space-7);
  padding-block-end: var(--space-7);
  border-block-end: 1px solid var(--color-border-subtle);
}

.terms-section:last-child {
  margin-block-end: 0;
  padding-block-end: 0;
  border-block-end: none;
}

.terms-title-section {
  padding-block-start: var(--space-6);
  border-block-end: 1px solid var(--color-border-subtle);
}

.terms-title-block {
  max-width: 800px;
  margin-inline: auto;
  text-align: left;
}

.terms-h1 {
  font-size: var(--text-h1);
  line-height: var(--leading-h1);
  margin-block-end: var(--space-3);
  color: var(--color-warm-ivory);
  position: relative;
  padding-block-end: var(--space-3);
}

.terms-h1::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 80px;
  height: 3px;
  background-color: var(--color-deep-teal);
  border-radius: var(--radius-small);
}

.terms-effective-date {
  font-size: var(--text-small);
  line-height: var(--leading-small);
  color: var(--color-ivory-dark);
  margin-block-end: var(--space-4);
}

.terms-intro {
  font-size: var(--text-body);
  line-height: var(--leading-body);
  color: var(--color-warm-ivory);
  max-width: 60ch;
}

.terms-text-block {
  max-width: 800px;
  margin-inline: auto;
  text-align: left;
}

.terms-acceptance-block {
  border-inline-start: 3px solid var(--color-burgundy);
  padding-inline-start: var(--space-4);
}

.terms-h2 {
  font-size: var(--text-h2);
  line-height: var(--leading-h2);
  margin-block-end: var(--space-4);
  color: var(--color-warm-ivory);
}

.terms-list {
  list-style: none;
  padding-inline-start: 0;
  margin-block-start: var(--space-4);
}

.terms-list li {
  position: relative;
  padding-inline-start: var(--space-5);
  margin-block-end: var(--space-3);
  color: var(--color-warm-ivory);
  line-height: var(--leading-body);
}

.terms-list li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.55em;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background-color: var(--color-deep-teal);
}

.terms-list li:last-child {
  margin-block-end: 0;
}

.terms-poker-rules {
  max-width: 800px;
  margin-inline: auto;
  text-align: left;
}

.terms-callout {
  padding: var(--space-5);
  border-radius: var(--radius-medium);
  margin-block-end: var(--space-5);
  border: 1px solid var(--color-border-subtle);
}

.terms-callout-text {
  font-size: var(--text-body);
  line-height: var(--leading-body);
  color: var(--color-warm-ivory);
  margin-block-end: 0;
}

.terms-contact-section {
  border-block-end: none;
}

.terms-contact-card {
  max-width: 600px;
  margin-inline: auto;
  padding: var(--space-6);
  border-radius: var(--radius-medium);
  border: 1px solid var(--color-border-subtle);
  box-shadow: var(--shadow-card);
  background-color: var(--color-dark-timber);
  text-align: left;
}

.terms-contact-card p {
  color: var(--color-warm-ivory);
  max-width: 60ch;
}

.terms-contact-card a {
  color: var(--color-deep-teal);
}

.terms-contact-card a:hover {
  color: var(--color-warm-ivory);
}

.terms-cta-group {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-4);
  margin-block-start: var(--space-5);
}

.terms-cta-group .btn {
  flex: 1 1 auto;
  min-width: 0;
}

@media (max-width: 768px) {
  .terms-page {
    padding-block: var(--space-5) var(--space-6);
  }

  .terms-section {
    margin-block-end: var(--space-5);
    padding-block-end: var(--space-5);
  }

  .terms-title-section {
    padding-block-start: var(--space-4);
  }

  .terms-title-block,
  .terms-text-block,
  .terms-poker-rules {
    max-width: 100%;
  }

  .terms-contact-card {
    padding: var(--space-5);
  }

  .terms-cta-group {
    flex-direction: column;
    gap: var(--space-3);
  }

  .terms-cta-group .btn {
    width: 100%;
  }
}

@media (max-width: 480px) {
  .terms-page {
    padding-block: var(--space-4) var(--space-5);
  }

  .terms-section {
    margin-block-end: var(--space-4);
    padding-block-end: var(--space-4);
  }

  .terms-h1 {
    font-size: 2rem;
  }

  .terms-h2 {
    font-size: 1.625rem;
  }

  .terms-callout {
    padding: var(--space-4);
  }

  .terms-contact-card {
    padding: var(--space-4);
  }
}


/* Page-owned styles for privacy page */
.privacy-main {
    padding-block: var(--space-7);
    background-color: var(--color-charcoal);
}

.privacy-page-shell {
    max-width: var(--container-max);
    margin-inline: auto;
    padding-inline: var(--container-padding);
    display: grid;
    grid-template-columns: 240px minmax(0, 1fr);
    gap: var(--space-6);
    align-items: start;
}

.privacy-toc {
    position: sticky;
    top: var(--space-4);
    align-self: start;
    background-color: var(--color-charcoal-light);
    border: 1px solid var(--color-border-subtle);
    border-radius: var(--radius-medium);
    padding: var(--space-4);
}

.privacy-toc__heading {
    font-size: var(--text-h4);
    margin-block-end: var(--space-3);
    color: var(--color-warm-ivory);
}

.privacy-toc__list {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: var(--space-2);
}

.privacy-toc__list li {
    margin: 0;
}

.privacy-toc__list a {
    display: block;
    padding: var(--space-2) var(--space-3);
    border-radius: var(--radius-small);
    color: var(--color-warm-ivory);
    font-size: var(--text-small);
    line-height: var(--leading-small);
    transition: background-color var(--transition-fast), color var(--transition-fast);
}

.privacy-toc__list a:hover {
    background-color: rgba(245, 245, 220, 0.1);
    color: var(--color-deep-teal);
}

.privacy-content {
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: var(--space-7);
}

.privacy-section {
    scroll-margin-top: var(--space-6);
}

.privacy-copy {
    max-width: 800px;
    width: 100%;
}

.privacy-copy--left {
    margin-inline: 0;
    text-align: left;
}

.privacy-h1 {
    font-size: var(--text-h1);
    line-height: var(--leading-h1);
    margin-block-end: var(--space-5);
}

.privacy-lead {
    font-size: var(--text-h4);
    line-height: var(--leading-h4);
    color: var(--color-warm-ivory);
    margin-block-end: var(--space-4);
}

.privacy-effective {
    margin-block-start: var(--space-4);
    padding: var(--space-3);
    background-color: var(--color-charcoal-light);
    border-left: 3px solid var(--color-deep-teal);
    border-radius: var(--radius-small);
}

.privacy-update-note {
    font-size: var(--text-small);
    color: var(--color-ivory-dark);
}

.privacy-list {
    list-style: none;
    padding: 0;
    margin-block-end: var(--space-4);
    display: flex;
    flex-direction: column;
    gap: var(--space-3);
}

.privacy-list li {
    margin: 0;
    padding-inline-start: var(--space-5);
    position: relative;
}

.privacy-list li::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0.55em;
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background-color: var(--color-deep-teal);
}

.privacy-callout {
    max-width: 800px;
    width: 100%;
    margin-inline: 0;
    background-color: var(--color-deep-teal);
    color: var(--color-warm-ivory);
    border-radius: var(--radius-large);
    padding: var(--space-6);
    box-shadow: var(--shadow-card);
}

.privacy-callout h2 {
    color: var(--color-warm-ivory);
    margin-block-end: var(--space-4);
}

.privacy-callout p {
    margin-block-end: var(--space-3);
}

.privacy-callout p:last-child {
    margin-block-end: 0;
}

.privacy-contact-list {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: var(--space-3);
}

.privacy-contact-list li {
    margin: 0;
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-2);
    align-items: baseline;
}

.privacy-contact-label {
    font-weight: 700;
    min-width: 80px;
    color: var(--color-warm-ivory);
}

.privacy-cta-btn {
    margin-block-start: var(--space-4);
    display: inline-flex;
}

@media (max-width: 1024px) {
    .privacy-page-shell {
        grid-template-columns: 1fr;
        gap: var(--space-5);
    }

    .privacy-toc {
        position: static;
        width: 100%;
    }

    .privacy-toc__list {
        flex-direction: row;
        flex-wrap: wrap;
        gap: var(--space-2);
    }

    .privacy-toc__list a {
        padding: var(--space-2) var(--space-3);
    }
}

@media (max-width: 768px) {
    .privacy-main {
        padding-block: var(--space-5);
    }

    .privacy-page-shell {
        padding-inline: var(--space-3);
    }

    .privacy-content {
        gap: var(--space-5);
    }

    .privacy-copy,
    .privacy-callout {
        max-width: 100%;
    }

    .privacy-h1 {
        font-size: 2.25rem;
    }

    .privacy-lead {
        font-size: 1.25rem;
    }

    .privacy-callout {
        padding: var(--space-5);
    }

    .privacy-cta-btn {
        width: 100%;
        justify-content: center;
    }
}

@media (max-width: 480px) {
    .privacy-main {
        padding-block: var(--space-4);
    }

    .privacy-toc {
        padding: var(--space-3);
    }

    .privacy-h1 {
        font-size: 2rem;
    }

    .privacy-lead {
        font-size: 1.125rem;
    }

    .privacy-contact-list li {
        flex-direction: column;
        gap: 0;
    }

    .privacy-contact-label {
        min-width: auto;
    }
}


/* Page-owned styles for contact page */
.contact-page {
  display: flex;
  flex-direction: column;
  gap: var(--space-7);
  padding-block: var(--space-7) var(--space-8);
}

/* Contact Hero */
.contact-hero {
  background-color: var(--color-charcoal);
  padding-block: var(--space-7);
}

.contact-hero__inner {
  display: flex;
  flex-direction: column;
  align-items: center;
}

.contact-hero__text {
  max-width: 800px;
  width: 100%;
  text-align: center;
  display: flex;
  flex-direction: column;
  gap: var(--space-4);
}

.contact-hero__lead {
  font-size: var(--text-h4);
  line-height: var(--leading-h4);
  color: var(--color-warm-ivory);
  margin-block-end: 0;
}

.contact-hero__summary {
  display: flex;
  flex-direction: column;
  gap: var(--space-2);
  color: var(--color-ivory-dark);
}

.contact-hero__summary p {
  margin-block-end: 0;
}

.contact-hero__summary a {
  color: var(--color-deep-teal);
  font-weight: 500;
}

.contact-hero__summary a:hover {
  color: var(--color-warm-ivory);
}

.contact-hero__actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: var(--space-3);
  margin-block-start: var(--space-4);
}

.contact-hero__btn {
  min-width: 200px;
}

/* Contact Details */
.contact-details {
  padding-block: var(--space-6);
}

.contact-details__heading {
  text-align: center;
  margin-block-end: var(--space-6);
}

.contact-details__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--space-4);
}

.contact-card {
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
  padding: var(--space-4);
  min-width: 0;
}

.contact-card__icon {
  font-size: 2rem;
  line-height: 1;
  color: var(--color-deep-teal);
}

.contact-card__title {
  margin-block-end: 0;
}

.contact-card__text {
  margin-block-end: 0;
}

.contact-card__detail {
  font-size: var(--text-h4);
  font-family: var(--font-heading);
  color: var(--color-warm-ivory);
  margin-block-end: 0;
  word-break: break-word;
}

.contact-card__link {
  color: var(--color-deep-teal);
}

.contact-card__link:hover {
  color: var(--color-warm-ivory);
}

.contact-card__note {
  color: var(--color-ivory-dark);
  font-size: var(--text-small);
  line-height: var(--leading-small);
  margin-block-end: 0;
}

/* Inquiry Form */
.inquiry-form {
  background-color: var(--color-charcoal);
  padding-block: var(--space-7);
}

.inquiry-form__inner {
  display: grid;
  grid-template-columns: 2fr 3fr;
  gap: var(--space-6);
  align-items: start;
}

.inquiry-form__intro {
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
  min-width: 0;
}

.inquiry-form__intro h2 {
  margin-block-end: 0;
}

.inquiry-form__intro p {
  margin-block-end: 0;
}

.inquiry-form__lead {
  font-size: var(--text-body);
  line-height: var(--leading-body);
  color: var(--color-ivory-dark);
}

.inquiry-form__form {
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
  min-width: 0;
}

.inquiry-form__form .form-field {
  margin-block-end: 0;
}

.inquiry-form__submit {
  align-self: flex-start;
  min-width: 180px;
}

.inquiry-form__success {
  color: var(--color-deep-teal);
  font-weight: 500;
  margin-block-end: 0;
}

/* Map and Directions */
.map-directions {
  padding-block: var(--space-6);
}

.map-directions h2 {
  margin-block-end: var(--space-5);
}

.map-directions__layout {
  display: grid;
  grid-template-columns: 2fr 1fr;
  gap: var(--space-5);
  align-items: start;
}

.map-directions__map-wrap {
  width: 100%;
  max-width: 100%;
  overflow: hidden;
  aspect-ratio: 16 / 9;
  border: 1px solid var(--color-border-subtle);
  border-radius: var(--radius-medium);
  background-color: var(--color-charcoal-light);
  min-width: 0;
}

.map-directions__iframe {
  display: block;
  width: 100%;
  height: 100%;
  border: 0;
}

.map-directions__text {
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
  min-width: 0;
}

.map-directions__text p {
  margin-block-end: 0;
}

.map-directions__text .content-list {
  margin-block-end: 0;
}

/* Offline Notice */
.offline-notice {
  padding-block: var(--space-6);
}

.offline-notice__panel {
  display: flex;
  gap: var(--space-4);
  background-color: var(--color-dark-timber);
  border-inline-start: 4px solid var(--color-burgundy);
  border-radius: var(--radius-medium);
  padding: var(--space-5);
  box-shadow: var(--shadow-card);
  min-width: 0;
}

.offline-notice__icon {
  font-size: 2.5rem;
  line-height: 1;
  color: var(--color-burgundy);
  flex-shrink: 0;
}

.offline-notice__content {
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
  min-width: 0;
}

.offline-notice__content h2 {
  margin-block-end: 0;
}

.offline-notice__content p {
  margin-block-end: 0;
}

.offline-notice__list {
  margin-block-end: 0;
}

/* Poker Lounge CTA */
.poker-cta {
  background-color: var(--color-charcoal);
  padding-block: var(--space-7);
}

.poker-cta__inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap: var(--space-3);
  max-width: 600px;
  margin-inline: auto;
}

.poker-cta__inner h2 {
  margin-block-end: 0;
}

.poker-cta__text {
  margin-block-end: 0;
  color: var(--color-warm-ivory);
}

.poker-cta__support {
  margin-block-end: 0;
  color: var(--color-ivory-dark);
}

.poker-cta__btn {
  margin-block-start: var(--space-3);
  min-width: 200px;
}

/* Top 10 Teaser */
.top10-teaser {
  padding-block: var(--space-6);
}

.top10-teaser__inner {
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
  max-width: 600px;
}

.top10-teaser__inner h2 {
  margin-block-end: 0;
}

.top10-teaser__inner p {
  margin-block-end: 0;
}

.top10-teaser__link {
  color: var(--color-deep-teal);
  font-weight: 500;
  text-decoration: underline;
  text-underline-offset: 4px;
  align-self: flex-start;
}

.top10-teaser__link:hover {
  color: var(--color-warm-ivory);
}

/* Responsive */
@media (max-width: 1024px) {
  .contact-details__grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: var(--space-3);
  }

  .inquiry-form__inner {
    grid-template-columns: 1fr 1fr;
    gap: var(--space-4);
  }

  .map-directions__layout {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 768px) {
  .contact-page {
    gap: var(--space-6);
    padding-block: var(--space-5) var(--space-7);
  }

  .contact-hero {
    padding-block: var(--space-5);
  }

  .contact-hero__text {
    max-width: 100%;
  }

  .contact-hero__actions {
    flex-direction: column;
    align-items: stretch;
    width: 100%;
  }

  .contact-hero__btn {
    width: 100%;
    min-width: 0;
  }

  .contact-details__grid {
    grid-template-columns: 1fr;
    gap: var(--space-3);
  }

  .inquiry-form__inner {
    grid-template-columns: 1fr;
    gap: var(--space-4);
  }

  .inquiry-form__submit {
    width: 100%;
    align-self: stretch;
  }

  .offline-notice__panel {
    flex-direction: column;
    gap: var(--space-3);
    padding: var(--space-4);
  }

  .poker-cta__btn {
    width: 100%;
    min-width: 0;
  }
}

@media (max-width: 480px) {
  .contact-page {
    gap: var(--space-5);
    padding-block: var(--space-4) var(--space-6);
  }

  .contact-hero {
    padding-block: var(--space-4);
  }

  .contact-hero__text {
    gap: var(--space-3);
  }

  .contact-hero__lead {
    font-size: var(--text-body);
    line-height: var(--leading-body);
  }

  .contact-details {
    padding-block: var(--space-4);
  }

  .contact-details__heading {
    margin-block-end: var(--space-4);
  }

  .contact-card {
    padding: var(--space-3);
  }

  .inquiry-form {
    padding-block: var(--space-5);
  }

  .map-directions {
    padding-block: var(--space-4);
  }

  .map-directions__map-wrap {
    aspect-ratio: 4 / 3;
  }

  .offline-notice {
    padding-block: var(--space-4);
  }

  .offline-notice__panel {
    padding: var(--space-3);
  }

  .poker-cta {
    padding-block: var(--space-5);
  }

  .top10-teaser {
    padding-block: var(--space-4);
  }
}


/* Cookie Policy Page Styles */

.cookie-page {
  padding-block: var(--space-7) var(--space-8);
}

.cookie-page__container {
  max-width: 800px;
  margin-inline: auto;
  padding-inline: var(--container-padding);
  width: 100%;
}

.cookie-section {
  margin-block-end: var(--space-7);
}

.cookie-section:last-child {
  margin-block-end: 0;
}

/* Section 1: Introduction */
.cookie-intro {
  padding-block-start: var(--space-6);
}

.cookie-intro__content {
  max-width: 65ch;
  margin-inline: auto;
  text-align: left;
}

.cookie-intro__heading {
  margin-block-end: var(--space-4);
  color: var(--color-warm-ivory);
}

.cookie-intro__lead {
  margin-block-end: var(--space-4);
  color: var(--color-warm-ivory);
}

.cookie-intro__note {
  background-color: var(--color-charcoal-light);
  border-inline-start: 3px solid var(--color-deep-teal);
  padding: var(--space-4);
  border-radius: var(--radius-small);
  margin-block-end: var(--space-4);
}

.cookie-intro__note-text {
  margin-block-end: 0;
  color: var(--color-ivory-dark);
}

.cookie-intro__link {
  color: var(--color-deep-teal);
  text-decoration: underline;
}

.cookie-intro__link:hover {
  color: var(--color-warm-ivory);
}

.cookie-intro__supporting {
  color: var(--color-ivory-dark);
}

/* Section 2: Effective Date */
.cookie-date {
  text-align: center;
}

.cookie-date__content {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--space-3);
}

.cookie-date__heading {
  margin-block-end: 0;
}

.cookie-date__badge {
  display: inline-block;
  background-color: var(--color-deep-teal);
  color: var(--color-warm-ivory);
  padding: var(--space-2) var(--space-4);
  border-radius: var(--radius-pill);
  font-weight: 500;
  margin-block-end: 0;
}

.cookie-date__note {
  font-size: var(--text-small);
  color: var(--color-ivory-dark);
  margin-block-end: 0;
}

/* Section 3: What Are Cookies? */
.cookie-what__card {
  padding: var(--space-5);
}

.cookie-what__heading {
  margin-block-end: var(--space-4);
}

.cookie-what__paragraph {
  max-width: 70ch;
  margin-block-end: var(--space-3);
}

.cookie-what__subheading {
  margin-block-start: var(--space-4);
  margin-block-end: var(--space-3);
}

.cookie-what__list {
  max-width: 75ch;
}

/* Section 4: How We Use Cookies */
.cookie-usage__heading {
  margin-block-end: var(--space-3);
}

.cookie-usage__intro {
  max-width: 70ch;
  margin-block-end: var(--space-5);
}

.cookie-usage__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-4);
}

.cookie-usage__card {
  background-color: var(--surface-card);
  border: 1px solid var(--color-border-subtle);
  border-radius: var(--radius-medium);
  padding: var(--space-4);
  box-shadow: var(--shadow-card);
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
}

.cookie-usage__card--essential {
  border-block-start: 3px solid var(--color-deep-teal);
}

.cookie-usage__card--analytics {
  border-block-start: 3px solid var(--color-deep-teal);
}

.cookie-usage__card--functional {
  border-block-start: 3px solid var(--color-burgundy);
}

.cookie-usage__card--targeting {
  border-block-start: 3px solid var(--color-burgundy);
}

.cookie-usage__card-heading {
  margin-block-end: 0;
  color: var(--color-warm-ivory);
}

.cookie-usage__card-text {
  margin-block-end: 0;
  color: var(--color-warm-ivory);
  max-width: 60ch;
}

.cookie-usage__card-detail {
  margin-block-end: 0;
  color: var(--color-ivory-dark);
  font-size: var(--text-small);
  max-width: 60ch;
}

/* Section 5: Managing Cookie Preferences */
.cookie-manage__heading {
  margin-block-end: var(--space-3);
}

.cookie-manage__intro {
  max-width: 70ch;
  margin-block-end: var(--space-4);
}

.cookie-manage__steps {
  list-style: none;
  padding-inline-start: 0;
  margin-block-end: var(--space-4);
  counter-reset: cookie-step;
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
}

.cookie-manage__step {
  counter-increment: cookie-step;
  position: relative;
  padding-inline-start: var(--space-6);
  max-width: 70ch;
  margin-block-end: 0;
}

.cookie-manage__step::before {
  content: counter(cookie-step);
  position: absolute;
  left: 0;
  top: 0;
  width: 28px;
  height: 28px;
  background-color: var(--color-deep-teal);
  color: var(--color-warm-ivory);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 700;
  font-size: var(--text-small);
}

.cookie-manage__note {
  max-width: 70ch;
  color: var(--color-ivory-dark);
  font-size: var(--text-small);
  margin-block-end: 0;
}

/* Section 6: Cookie Consent Banner */
.cookie-consent__heading {
  margin-block-end: var(--space-3);
}

.cookie-consent__text {
  max-width: 70ch;
  margin-block-end: var(--space-3);
}

.cookie-consent__detail {
  max-width: 70ch;
  margin-block-end: var(--space-4);
  color: var(--color-ivory-dark);
}

.cookie-consent__button {
  min-width: 220px;
}

/* Section 7: Third-Party Cookies */
.cookie-third-party__heading {
  margin-block-end: var(--space-3);
}

.cookie-third-party__note {
  border-inline-start: 3px solid var(--color-deep-teal);
  padding-inline-start: var(--space-4);
  max-width: 70ch;
}

.cookie-third-party__text {
  margin-block-end: var(--space-3);
}

.cookie-third-party__detail {
  color: var(--color-ivory-dark);
  margin-block-end: 0;
}

/* Section 8: Changes to This Cookie Policy */
.cookie-changes__heading {
  margin-block-end: var(--space-3);
}

.cookie-changes__text {
  max-width: 70ch;
  margin-block-end: var(--space-3);
}

.cookie-changes__detail {
  max-width: 70ch;
  color: var(--color-ivory-dark);
  margin-block-end: 0;
}

/* Section 9: Contact Us About Cookies */
.cookie-contact__heading {
  margin-block-end: var(--space-3);
}

.cookie-contact__card {
  padding: var(--space-5);
}

.cookie-contact__text {
  max-width: 70ch;
  margin-block-end: var(--space-3);
}

.cookie-contact__link {
  color: var(--color-deep-teal);
  text-decoration: underline;
}

.cookie-contact__link:hover {
  color: var(--color-warm-ivory);
}

.cookie-contact__detail {
  max-width: 70ch;
  color: var(--color-ivory-dark);
  margin-block-end: 0;
}

/* Section 10: Explore Our Offline Poker Lounge */
.cookie-cta {
  text-align: center;
  padding-block: var(--space-6);
  background-color: var(--color-dark-timber);
  border-radius: var(--radius-large);
  padding-inline: var(--space-5);
}

.cookie-cta__heading {
  margin-block-end: var(--space-3);
  color: var(--color-warm-ivory);
}

.cookie-cta__text {
  max-width: 70ch;
  margin-inline: auto;
  margin-block-end: var(--space-5);
  color: var(--color-ivory-dark);
}

.cookie-cta__actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: var(--space-4);
}

.cookie-cta__button {
  min-width: 200px;
}

/* Responsive */
@media (max-width: 768px) {
  .cookie-page {
    padding-block: var(--space-6) var(--space-7);
  }

  .cookie-page__container {
    padding-inline: var(--space-4);
  }

  .cookie-intro {
    padding-block-start: var(--space-5);
  }

  .cookie-intro__content {
    max-width: 100%;
  }

  .cookie-what__card {
    padding: var(--space-4);
  }

  .cookie-usage__grid {
    grid-template-columns: 1fr;
    gap: var(--space-3);
  }

  .cookie-usage__card {
    padding: var(--space-4);
  }

  .cookie-consent__button {
    width: 100%;
  }

  .cookie-contact__card {
    padding: var(--space-4);
  }

  .cookie-cta {
    padding-block: var(--space-5);
    padding-inline: var(--space-4);
  }

  .cookie-cta__actions {
    flex-direction: column;
    align-items: stretch;
    gap: var(--space-3);
  }

  .cookie-cta__button {
    width: 100%;
  }
}

@media (max-width: 480px) {
  .cookie-page__container {
    padding-inline: var(--space-3);
  }

  .cookie-intro__note {
    padding: var(--space-3);
  }

  .cookie-what__card {
    padding: var(--space-3);
  }

  .cookie-usage__card {
    padding: var(--space-3);
  }

  .cookie-contact__card {
    padding: var(--space-3);
  }

  .cookie-cta {
    padding-inline: var(--space-3);
  }
}


/* Page-owned styles for top-10 page */
.top10-page {
  background-color: var(--color-charcoal);
  color: var(--color-warm-ivory);
}

/* Top 10 Introduction */
.top10-intro {
  padding-block: var(--space-7) var(--space-6);
  background: radial-gradient(ellipse at center, rgba(0, 0, 0, 0.25) 0%, rgba(0, 0, 0, 0) 70%);
}

.top10-intro__inner {
  max-width: 800px;
  margin-inline: auto;
  text-align: left;
  display: flex;
  flex-direction: column;
  gap: var(--space-4);
}

.top10-intro__title {
  font-size: var(--text-h1);
  line-height: var(--leading-h1);
  color: var(--color-warm-ivory);
  margin-block-end: 0;
}

.top10-intro__lead {
  font-size: var(--text-body);
  line-height: var(--leading-body);
  color: var(--color-ivory-dark);
  max-width: 65ch;
  margin-block-end: 0;
}

/* Top 10 List */
.top10-list-section {
  padding-block: var(--space-6) var(--space-7);
}

.top10-list-container {
  max-width: 800px;
  margin-inline: auto;
}

.top10-list-heading {
  font-size: var(--text-h2);
  line-height: var(--leading-h2);
  color: var(--color-warm-ivory);
  margin-block-end: var(--space-5);
}

.top10-list {
  list-style: none;
  padding-inline-start: 0;
  margin-block-end: 0;
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
}

.top10-card {
  display: flex;
  align-items: flex-start;
  gap: var(--space-4);
  background-color: var(--surface-card);
  border: 1px solid var(--color-border-subtle);
  border-radius: var(--radius-medium);
  box-shadow: var(--shadow-card);
  padding: var(--space-4);
  transition: transform var(--transition-fast), box-shadow var(--transition-fast), border-color var(--transition-fast);
  min-width: 0;
}

.top10-card:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 20px rgba(0, 0, 0, 0.4);
  border-color: var(--color-deep-teal);
}

.top10-card__number {
  flex: 0 0 48px;
  width: 48px;
  height: 48px;
  border-radius: 50%;
  background-color: var(--color-deep-teal);
  color: var(--color-warm-ivory);
  font-family: var(--font-heading);
  font-size: var(--text-h4);
  line-height: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 2px solid rgba(245, 245, 220, 0.35);
  transition: background-color var(--transition-fast);
}

.top10-card:hover .top10-card__number {
  background-color: var(--color-burgundy);
}

.top10-card__content {
  flex: 1 1 auto;
  min-width: 0;
}

.top10-card__title {
  font-size: var(--text-h3);
  line-height: var(--leading-h3);
  color: var(--color-warm-ivory);
  margin-block-end: var(--space-2);
}

.top10-card__description {
  font-size: var(--text-body);
  line-height: var(--leading-body);
  color: var(--color-ivory-dark);
  max-width: 70ch;
  margin-block-end: 0;
}

/* Offline Poker Assurance */
.top10-assurance {
  padding-block: var(--space-6);
  background-color: var(--color-charcoal);
}

.top10-assurance__inner {
  max-width: 800px;
  margin-inline: auto;
  background-color: var(--color-charcoal-light);
  border-inline-start: 4px solid var(--color-deep-teal);
  border-radius: var(--radius-medium);
  padding: var(--space-5);
  text-align: center;
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
}

.top10-assurance__title {
  font-size: var(--text-h2);
  line-height: var(--leading-h2);
  color: var(--color-warm-ivory);
  margin-block-end: 0;
}

.top10-assurance__text {
  font-size: var(--text-body);
  line-height: var(--leading-body);
  color: var(--color-ivory-dark);
  max-width: 65ch;
  margin-inline: auto;
  margin-block-end: 0;
}

/* Visual Gallery */
.top10-gallery {
  padding-block: var(--space-6) var(--space-7);
}

.top10-gallery__intro {
  max-width: 800px;
  margin-inline: auto;
  text-align: left;
  margin-block-end: var(--space-5);
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
}

.top10-gallery__title {
  font-size: var(--text-h2);
  line-height: var(--leading-h2);
  color: var(--color-warm-ivory);
  margin-block-end: 0;
}

.top10-gallery__lead {
  font-size: var(--text-body);
  line-height: var(--leading-body);
  color: var(--color-ivory-dark);
  max-width: 70ch;
  margin-block-end: 0;
}

.top10-gallery__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-4);
  max-width: 1000px;
  margin-inline: auto;
}

.top10-gallery__item {
  margin: 0;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: var(--space-2);
}

.top10-gallery__item--wide {
  grid-column: span 2;
}

.top10-gallery__item img {
  width: 100%;
  height: auto;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  border-radius: var(--radius-medium);
  border: 1px solid var(--color-border-subtle);
  box-shadow: var(--shadow-card);
  transition: transform var(--transition-fast), box-shadow var(--transition-fast);
  display: block;
}

.top10-gallery__item--wide img {
  aspect-ratio: 16 / 9;
}

.top10-gallery__item img:hover {
  transform: scale(1.02);
  box-shadow: 0 8px 20px rgba(0, 0, 0, 0.4);
}

.top10-gallery__item figcaption {
  font-size: var(--text-small);
  line-height: var(--leading-small);
  color: var(--color-ivory-dark);
  text-align: center;
  margin-block-start: 0;
}

/* Call to Action */
.top10-cta {
  padding-block: var(--space-7);
  background: linear-gradient(180deg, rgba(0, 0, 0, 0.15) 0%, rgba(0, 0, 0, 0.3) 100%);
}

.top10-cta__inner {
  max-width: 600px;
  margin-inline: auto;
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--space-4);
}

.top10-cta__title {
  font-size: var(--text-h2);
  line-height: var(--leading-h2);
  color: var(--color-warm-ivory);
  margin-block-end: 0;
}

.top10-cta__text {
  font-size: var(--text-body);
  line-height: var(--leading-body);
  color: var(--color-ivory-dark);
  max-width: 65ch;
  margin-inline: auto;
  margin-block-end: 0;
}

.top10-cta__button {
  min-width: 200px;
}

/* Tablet */
@media (max-width: 900px) {
  .top10-gallery__grid {
    grid-template-columns: 1fr;
  }

  .top10-gallery__item--wide {
    grid-column: span 1;
  }

  .top10-gallery__item img {
    aspect-ratio: 4 / 3;
  }

  .top10-gallery__item--wide img {
    aspect-ratio: 16 / 9;
  }
}

/* Mobile */
@media (max-width: 768px) {
  .top10-intro {
    padding-block: var(--space-6) var(--space-5);
  }

  .top10-intro__inner {
    gap: var(--space-3);
  }

  .top10-intro__title {
    font-size: 2.25rem;
  }

  .top10-list-section {
    padding-block: var(--space-5) var(--space-6);
  }

  .top10-list-heading {
    font-size: 1.875rem;
    margin-block-end: var(--space-4);
  }

  .top10-list {
    gap: var(--space-3);
  }

  .top10-card {
    flex-direction: column;
    align-items: flex-start;
    gap: var(--space-3);
    padding: var(--space-3);
  }

  .top10-card__number {
    flex: 0 0 40px;
    width: 40px;
    height: 40px;
    font-size: 1.25rem;
  }

  .top10-card__title {
    font-size: 1.5rem;
  }

  .top10-assurance {
    padding-block: var(--space-5);
  }

  .top10-assurance__inner {
    padding: var(--space-4);
    gap: var(--space-3);
  }

  .top10-assurance__title {
    font-size: 1.875rem;
  }

  .top10-gallery {
    padding-block: var(--space-5) var(--space-6);
  }

  .top10-gallery__intro {
    gap: var(--space-3);
    margin-block-end: var(--space-4);
  }

  .top10-gallery__title {
    font-size: 1.875rem;
  }

  .top10-gallery__grid {
    gap: var(--space-3);
  }

  .top10-cta {
    padding-block: var(--space-6);
  }

  .top10-cta__inner {
    gap: var(--space-3);
  }

  .top10-cta__title {
    font-size: 1.875rem;
  }

  .top10-cta__button {
    width: 100%;
    min-width: 0;
  }
}

@media (max-width: 480px) {
  .top10-intro__title {
    font-size: 2rem;
  }

  .top10-list-heading {
    font-size: 1.625rem;
  }

  .top10-card__title {
    font-size: 1.375rem;
  }

  .top10-assurance__title {
    font-size: 1.625rem;
  }

  .top10-gallery__title {
    font-size: 1.625rem;
  }

  .top10-cta__title {
    font-size: 1.625rem;
  }
}


/* Gallery page styles */
.gallery-page {
  width: 100%;
}

/* Hero */
.gallery-hero {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 80vh;
  width: 100%;
  overflow: hidden;
}

.gallery-hero__media {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}

.gallery-hero__image {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.gallery-hero__overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(0, 0, 0, 0.55) 0%, rgba(0, 0, 0, 0.75) 100%);
  z-index: 1;
}

.gallery-hero__content {
  position: relative;
  z-index: 2;
  max-width: 600px;
  margin-inline: auto;
  padding: var(--space-6) var(--space-4);
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--space-4);
}

.gallery-hero__title {
  margin-block-end: 0;
  color: var(--color-warm-ivory);
}

.gallery-hero__text {
  margin-block-end: 0;
  color: var(--color-warm-ivory);
  max-width: 600px;
}

.gallery-hero__cta {
  margin-block-start: var(--space-2);
}

/* Shared section styles */
.gallery-section {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-6);
  align-items: center;
  max-width: var(--container-max);
  margin-inline: auto;
  padding: var(--space-7) var(--container-padding);
}

.gallery-section__media {
  min-width: 0;
  width: 100%;
}

.gallery-section__image {
  width: 100%;
  height: auto;
  border-radius: var(--radius-medium);
  border: 1px solid var(--color-border-subtle);
  box-shadow: var(--shadow-card);
  display: block;
}

.gallery-section__content {
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: var(--space-4);
}

.gallery-section__title {
  margin-block-end: 0;
  max-width: 500px;
}

.gallery-section__subtitle {
  margin-block-end: 0;
  max-width: 500px;
}

.gallery-section__text {
  margin-block-end: 0;
  max-width: 500px;
}

/* Restaurant section: image left, text right */
.gallery-section--restaurant .gallery-section__media {
  order: 1;
}

.gallery-section--restaurant .gallery-section__content {
  order: 2;
}

/* Poker section: text left, image right */
.gallery-section--poker .gallery-section__content {
  order: 1;
}

.gallery-section--poker .gallery-section__media {
  order: 2;
}

/* Dishes section: image left, text right */
.gallery-section--dishes .gallery-section__media {
  order: 1;
}

.gallery-section--dishes .gallery-section__content {
  order: 2;
}

/* Gallery Grid */
.gallery-grid-section {
  max-width: var(--container-max);
  margin-inline: auto;
  padding: var(--space-7) var(--container-padding);
}

.gallery-grid-section__intro {
  max-width: 600px;
  margin-inline: auto;
  text-align: center;
  margin-block-end: var(--space-6);
}

.gallery-grid-section__title {
  margin-block-end: var(--space-3);
}

.gallery-grid-section__text {
  margin-block-end: 0;
}

.gallery-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--space-4);
  width: 100%;
}

.gallery-grid__item {
  min-width: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: var(--space-2);
}

.gallery-grid__media {
  width: 100%;
  overflow: hidden;
  border-radius: var(--radius-medium);
  border: 1px solid var(--color-border-subtle);
  box-shadow: var(--shadow-card);
}

.gallery-grid__image {
  width: 100%;
  height: auto;
  aspect-ratio: 1 / 1;
  object-fit: cover;
  display: block;
  transition: transform var(--transition-fast);
}

.gallery-grid__item:hover .gallery-grid__image {
  transform: scale(1.05);
}

.gallery-grid__caption {
  font-size: var(--text-small);
  line-height: var(--leading-small);
  color: var(--color-ivory-dark);
  text-align: center;
  max-width: 200px;
  margin-inline: auto;
  margin-block-start: 0;
}

/* Top 10 */
.top10-section {
  display: grid;
  grid-template-columns: 3fr 2fr;
  gap: var(--space-6);
  align-items: start;
  max-width: var(--container-max);
  margin-inline: auto;
  padding: var(--space-7) var(--container-padding);
}

.top10-section__content {
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: var(--space-4);
}

.top10-section__title {
  margin-block-end: 0;
  max-width: 600px;
}

.top10-section__intro {
  margin-block-end: 0;
  max-width: 600px;
}

.top10-list {
  list-style: none;
  padding-inline-start: 0;
  margin-block-end: 0;
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
  max-width: 600px;
}

.top10-list__item {
  margin-block-end: 0;
  padding-inline-start: var(--space-5);
  position: relative;
  counter-increment: top10-counter;
}

.top10-list__item::before {
  content: counter(top10-counter);
  position: absolute;
  left: 0;
  top: 0.1em;
  font-family: var(--font-heading);
  font-size: var(--text-h4);
  color: var(--color-deep-teal);
  font-weight: 400;
}

.top10-section__media {
  min-width: 0;
  width: 100%;
}

.top10-section__image {
  width: 100%;
  height: auto;
  border-radius: var(--radius-medium);
  border: 1px solid var(--color-border-subtle);
  box-shadow: var(--shadow-card);
  display: block;
}

/* CTA */
.gallery-cta {
  background-color: var(--color-dark-timber);
  padding: var(--space-7) var(--container-padding);
  width: 100%;
}

.gallery-cta__content {
  max-width: 600px;
  margin-inline: auto;
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--space-4);
}

.gallery-cta__title {
  margin-block-end: 0;
}

.gallery-cta__text {
  margin-block-end: 0;
}

.gallery-cta__actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: var(--space-3);
  margin-block-start: var(--space-2);
}

.gallery-cta__button {
  min-width: 200px;
}

/* Tablet breakpoint */
@media (max-width: 900px) {
  .gallery-section {
    grid-template-columns: 1fr;
    gap: var(--space-5);
  }

  .gallery-section--restaurant .gallery-section__media,
  .gallery-section--restaurant .gallery-section__content,
  .gallery-section--poker .gallery-section__content,
  .gallery-section--poker .gallery-section__media,
  .gallery-section--dishes .gallery-section__media,
  .gallery-section--dishes .gallery-section__content {
    order: 0;
  }

  .gallery-section__title,
  .gallery-section__subtitle,
  .gallery-section__text {
    max-width: 100%;
  }

  .gallery-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .top10-section {
    grid-template-columns: 1fr;
    gap: var(--space-5);
  }

  .top10-section__title,
  .top10-section__intro,
  .top10-list {
    max-width: 100%;
  }
}

/* Mobile breakpoint */
@media (max-width: 600px) {
  .gallery-hero {
    min-height: 70vh;
  }

  .gallery-hero__content {
    padding: var(--space-5) var(--space-3);
    gap: var(--space-3);
  }

  .gallery-section,
  .gallery-grid-section,
  .top10-section {
    padding: var(--space-5) var(--space-3);
  }

  .gallery-grid {
    grid-template-columns: 1fr;
    gap: var(--space-4);
  }

  .gallery-cta {
    padding: var(--space-5) var(--space-3);
  }

  .gallery-cta__actions {
    flex-direction: column;
    width: 100%;
  }

  .gallery-cta__button {
    width: 100%;
    min-width: 0;
  }
}

@media (max-width: 480px) {
  .gallery-hero__title {
    font-size: 2rem;
  }

  .gallery-section__title,
  .top10-section__title {
    font-size: 1.625rem;
  }
}

@media (prefers-reduced-motion: reduce) {
  .gallery-grid__image {
    transition: none;
  }
}


/* Events page styles */
#events-main {
  --events-gap: var(--space-4);
  --events-section-pad: var(--space-7);
}

/* Hero */
.events-hero {
  background-color: var(--color-charcoal);
  background-image: radial-gradient(circle at 50% 30%, rgba(245, 245, 220, 0.06), transparent 60%);
  padding-block: var(--events-section-pad);
}

.events-hero__inner {
  max-width: 800px;
  margin-inline: auto;
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--space-5);
}

.events-hero__lead {
  max-width: 70ch;
  margin-inline: auto;
}

.events-hero__points {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
  max-width: 70ch;
}

.events-hero__points li {
  position: relative;
  padding-inline-start: var(--space-5);
}

.events-hero__points li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.55em;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background-color: var(--color-burgundy);
}

.events-hero__cta {
  margin-top: var(--space-2);
}

/* Featured Event */
.featured-event {
  padding-block: var(--events-section-pad);
  background-color: var(--color-dark-timber);
}

.featured-event__grid {
  display: grid;
  grid-template-columns: minmax(0, 2fr) minmax(0, 3fr);
  gap: var(--space-5);
  align-items: start;
}

.featured-event__details {
  padding: var(--space-5);
  border-inline-start: 4px solid var(--color-burgundy);
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
  min-width: 0;
}

.featured-event__details h2 {
  margin: 0;
}

.featured-event__details p {
  margin: 0;
}

.featured-event__date {
  color: var(--color-burgundy);
  font-weight: 700;
}

.featured-event__description {
  display: flex;
  flex-direction: column;
  gap: var(--space-4);
  min-width: 0;
}

.featured-event__description p {
  margin: 0;
  max-width: 75ch;
}

.featured-event__media-wrap {
  border-radius: var(--radius-medium);
  overflow: hidden;
  border: 1px solid var(--color-border-subtle);
  aspect-ratio: 16 / 9;
}

.featured-event__image {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

/* Upcoming Events */
.upcoming-events {
  padding-block: var(--events-section-pad);
  background-color: var(--color-charcoal);
}

.upcoming-events__filters {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-3);
  margin-block-end: var(--space-5);
}

.upcoming-events__filter {
  padding: var(--space-2) var(--space-4);
  border-radius: var(--radius-pill);
  border: 1px solid var(--color-border-subtle);
  background-color: transparent;
  color: var(--color-warm-ivory);
  font-size: var(--text-small);
  min-height: 44px;
  transition: background-color var(--transition-fast), color var(--transition-fast), border-color var(--transition-fast);
  cursor: pointer;
}

.upcoming-events__filter:hover {
  background-color: var(--color-burgundy);
  border-color: var(--color-burgundy);
  color: var(--color-warm-ivory);
}

.upcoming-events__filter.is-active {
  background-color: var(--color-deep-teal);
  border-color: var(--color-deep-teal);
  color: var(--color-warm-ivory);
}

.upcoming-events__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--space-4);
}

.event-card {
  padding: var(--space-5);
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
  min-width: 0;
  transition: transform var(--transition-fast), box-shadow var(--transition-fast);
}

.event-card:hover {
  transform: translateY(-4px);
  box-shadow: var(--shadow-modal);
}

.event-card h3 {
  margin: 0;
  font-size: var(--text-h4);
}

.event-card p {
  margin: 0;
  max-width: 65ch;
}

.event-card__date {
  color: var(--color-burgundy);
  font-weight: 700;
}

.event-card__format {
  color: var(--color-ivory-dark);
  font-size: var(--text-small);
}

/* Private Hosting */
.private-hosting {
  padding-block: var(--events-section-pad);
  background-color: var(--color-dark-timber);
}

.private-hosting__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-5);
  align-items: start;
}

.private-hosting__steps,
.private-hosting__description {
  min-width: 0;
}

.private-hosting__steps {
  display: flex;
  flex-direction: column;
  gap: var(--space-4);
}

.private-hosting__steps h2 {
  margin: 0;
}

.private-hosting__list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: var(--space-4);
}

.private-hosting__list li {
  display: flex;
  align-items: flex-start;
  gap: var(--space-3);
  max-width: 70ch;
}

.private-hosting__step-number {
  flex-shrink: 0;
  width: 32px;
  height: 32px;
  border-radius: 50%;
  background-color: var(--color-deep-teal);
  color: var(--color-warm-ivory);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-weight: 700;
  transition: background-color var(--transition-fast);
}

.private-hosting__step-number:hover {
  background-color: #006666;
}

.private-hosting__policy {
  margin: 0;
  color: var(--color-burgundy);
  font-weight: 700;
  max-width: 70ch;
}

.private-hosting__description {
  display: flex;
  flex-direction: column;
  gap: var(--space-4);
}

.private-hosting__description p {
  margin: 0;
  max-width: 75ch;
}

.private-hosting__media-wrap {
  border-radius: var(--radius-medium);
  overflow: hidden;
  border: 1px solid var(--color-border-subtle);
  aspect-ratio: 4 / 3;
}

.private-hosting__image {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

/* Offline Policy */
.offline-policy {
  padding-block: var(--events-section-pad);
  background-color: var(--color-charcoal);
}

.offline-policy__inner {
  max-width: 800px;
  margin-inline: auto;
  text-align: center;
  display: flex;
  flex-direction: column;
  gap: var(--space-4);
  padding: var(--space-6);
  border: 1px solid var(--color-border-subtle);
  border-inline-start: 4px solid var(--color-burgundy);
  border-radius: var(--radius-medium);
}

.offline-policy__inner h2 {
  margin: 0;
}

.offline-policy__inner p {
  margin: 0;
  max-width: 70ch;
  margin-inline: auto;
}

.offline-policy__points {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
  max-width: 70ch;
  margin-inline: auto;
}

.offline-policy__points li {
  position: relative;
  padding-inline-start: var(--space-5);
}

.offline-policy__points li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.55em;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background-color: var(--color-deep-teal);
}

/* Atmosphere Gallery */
.atmosphere-gallery {
  padding-block: var(--events-section-pad);
  background-color: var(--color-dark-timber);
}

.atmosphere-gallery__lead {
  max-width: 70ch;
  margin-block-end: var(--space-5);
}

.atmosphere-gallery__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--space-4);
  align-items: stretch;
}

.atmosphere-gallery__item {
  margin: 0;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: var(--space-2);
}

.atmosphere-gallery__image {
  width: 100%;
  aspect-ratio: 1 / 1;
  object-fit: cover;
  border-radius: var(--radius-medium);
  border: 1px solid var(--color-border-subtle);
  transition: transform var(--transition-fast);
}

.atmosphere-gallery__item:hover .atmosphere-gallery__image {
  transform: scale(1.03);
}

.atmosphere-gallery__item figcaption {
  font-size: var(--text-small);
  color: var(--color-ivory-dark);
  margin: 0;
}

.atmosphere-gallery__text {
  padding: var(--space-5);
  display: flex;
  align-items: center;
  min-width: 0;
}

.atmosphere-gallery__text p {
  margin: 0;
  max-width: 65ch;
}

/* CTA */
.events-cta {
  padding-block: var(--events-section-pad);
  background-color: var(--color-burgundy);
  color: var(--color-warm-ivory);
}

.events-cta__inner {
  max-width: 800px;
  margin-inline: auto;
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--space-4);
}

.events-cta__inner h2 {
  margin: 0;
}

.events-cta__inner p {
  margin: 0;
  max-width: 70ch;
}

.events-cta__contact {
  display: flex;
  flex-direction: column;
  gap: var(--space-2);
}

.events-cta__contact p {
  margin: 0;
}

.events-cta__contact a {
  color: var(--color-warm-ivory);
  text-decoration: underline;
}

.events-cta__contact a:hover {
  color: var(--color-charcoal);
}

.events-cta__buttons {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-4);
  justify-content: center;
}

.btn--charcoal {
  background-color: var(--color-charcoal);
  color: var(--color-warm-ivory);
}

.btn--charcoal:hover {
  background-color: #1f1f1f;
  color: var(--color-warm-ivory);
}

/* Top 10 Teaser */
.top10-teaser {
  padding-block: var(--events-section-pad);
  background-color: var(--color-dark-timber);
}

.top10-teaser__inner {
  max-width: 600px;
  margin-inline: auto;
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--space-4);
  padding: var(--space-5);
  border: 1px solid var(--color-border-subtle);
  border-radius: var(--radius-medium);
}

.top10-teaser__inner h2 {
  margin: 0;
}

.top10-teaser__inner p {
  margin: 0;
  max-width: 70ch;
}

.top10-teaser__link {
  color: var(--color-deep-teal);
  font-weight: 700;
  text-decoration: underline;
  transition: color var(--transition-fast);
}

.top10-teaser__link:hover {
  color: var(--color-warm-ivory);
}

/* Tablet */
@media (max-width: 900px) {
  .featured-event__grid {
    grid-template-columns: 1fr;
  }

  .upcoming-events__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .atmosphere-gallery__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .atmosphere-gallery__text {
    grid-column: span 2;
  }
}

/* Mobile */
@media (max-width: 768px) {
  #events-main {
    --events-section-pad: var(--space-6);
  }

  .private-hosting__grid {
    grid-template-columns: 1fr;
  }

  .upcoming-events__filters {
    flex-wrap: nowrap;
    overflow-x: auto;
    padding-block-end: var(--space-2);
    -webkit-overflow-scrolling: touch;
  }

  .upcoming-events__filter {
    flex-shrink: 0;
  }

  .upcoming-events__grid {
    grid-template-columns: 1fr;
  }

  .atmosphere-gallery__grid {
    grid-template-columns: 1fr;
  }

  .atmosphere-gallery__text {
    grid-column: auto;
  }

  .events-cta__buttons {
    flex-direction: column;
    width: 100%;
    align-items: stretch;
  }

  .events-cta__buttons .btn {
    width: 100%;
  }
}

@media (max-width: 480px) {
  #events-main {
    --events-section-pad: var(--space-5);
  }

  .featured-event__details,
  .event-card,
  .offline-policy__inner,
  .top10-teaser__inner {
    padding: var(--space-4);
  }

  .events-hero__inner,
  .events-cta__inner {
    gap: var(--space-4);
  }
}


/* Page-owned styles for /menu/ */

.menu-hero {
  position: relative;
  display: flex;
  align-items: center;
  min-height: 520px;
  overflow: hidden;
  background-color: var(--color-charcoal);
}

.menu-hero__media {
  position: absolute;
  inset: 0;
  z-index: 0;
}

.menu-hero__image {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  display: block;
}

.menu-hero__overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, rgba(0, 0, 0, 0.75) 0%, rgba(0, 0, 0, 0.45) 55%, rgba(0, 0, 0, 0.25) 100%);
}

.menu-hero__content {
  position: relative;
  z-index: 1;
  width: 100%;
  padding-block: var(--space-7);
}

.menu-hero__text {
  max-width: 600px;
  display: flex;
  flex-direction: column;
  gap: var(--space-4);
  align-items: flex-start;
}

.menu-hero__heading {
  font-size: var(--text-h1);
  line-height: var(--leading-h1);
  color: var(--color-warm-ivory);
  margin-block-end: 0;
  max-width: 12ch;
}

.menu-hero__intro {
  font-size: var(--text-body);
  line-height: var(--leading-body);
  color: var(--color-warm-ivory);
  margin-block-end: 0;
  max-width: 600px;
}

.menu-hero__cta {
  margin-block-start: var(--space-2);
}

.menu-section {
  padding-block: var(--space-7);
  background-color: var(--color-charcoal);
}

.menu-section--starters {
  background-color: var(--color-charcoal);
}

.menu-section--mains {
  background-color: var(--color-dark-timber);
}

.menu-section--desserts {
  background-color: var(--color-charcoal);
}

.menu-section__inner {
  max-width: 800px;
  margin-inline: auto;
  display: flex;
  flex-direction: column;
  gap: var(--space-6);
}

.menu-section__header {
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
}

.menu-section__heading {
  color: var(--color-warm-ivory);
  margin-block-end: 0;
}

.menu-section__description {
  color: var(--color-ivory-dark);
  margin-block-end: 0;
  max-width: 600px;
}

.menu-accordion {
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
}

.menu-accordion__item {
  background-color: var(--color-charcoal-light);
  border: 1px solid var(--color-border-subtle);
  border-radius: var(--radius-medium);
  overflow: hidden;
}

.menu-accordion__trigger {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-3);
  width: 100%;
  padding: var(--space-4);
  background: none;
  border: none;
  color: var(--color-warm-ivory);
  font-family: var(--font-heading);
  font-size: var(--text-h4);
  line-height: var(--leading-h4);
  text-align: left;
  cursor: pointer;
  min-height: 44px;
  transition: background-color var(--transition-fast), color var(--transition-fast);
}

.menu-accordion__trigger:hover {
  background-color: rgba(245, 245, 220, 0.05);
  color: var(--color-deep-teal);
}

.menu-accordion__trigger[aria-expanded="true"] {
  color: var(--color-deep-teal);
}

.menu-accordion__title {
  flex: 1 1 auto;
  min-width: 0;
}

.menu-accordion__icon {
  flex: 0 0 auto;
  width: 12px;
  height: 12px;
  position: relative;
}

.menu-accordion__icon::before,
.menu-accordion__icon::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 12px;
  height: 2px;
  background-color: currentColor;
  transform: translate(-50%, -50%);
  transition: transform var(--transition-fast);
}

.menu-accordion__icon::after {
  transform: translate(-50%, -50%) rotate(90deg);
}

.menu-accordion__trigger[aria-expanded="true"] .menu-accordion__icon::after {
  transform: translate(-50%, -50%) rotate(0deg);
}

.menu-accordion__panel {
  padding: 0 var(--space-4) var(--space-4);
  color: var(--color-ivory-dark);
}

.menu-accordion__panel[hidden] {
  display: none;
}

.menu-accordion__text {
  margin-block-end: 0;
  max-width: 600px;
}

.menu-chef {
  padding-block: var(--space-7);
  background-color: var(--color-charcoal);
}

.menu-chef__inner {
  display: flex;
  flex-direction: column;
  gap: var(--space-6);
}

.menu-chef__header {
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
  max-width: 800px;
}

.menu-chef__heading {
  color: var(--color-warm-ivory);
  margin-block-end: 0;
}

.menu-chef__intro {
  color: var(--color-ivory-dark);
  margin-block-end: 0;
  max-width: 600px;
}

.menu-chef__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--space-4);
}

.menu-chef-card {
  display: flex;
  flex-direction: column;
  background-color: var(--color-charcoal-light);
  border: 1px solid var(--color-border-subtle);
  border-radius: var(--radius-medium);
  box-shadow: var(--shadow-card);
  overflow: hidden;
  min-width: 0;
  transition: transform var(--transition-fast), box-shadow var(--transition-fast);
}

.menu-chef-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 8px 20px rgba(0, 0, 0, 0.4);
}

.menu-chef-card__media {
  width: 100%;
  aspect-ratio: 4 / 3;
  overflow: hidden;
  background-color: var(--color-dark-timber);
}

.menu-chef-card__image {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  display: block;
}

.menu-chef-card__body {
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
  padding: var(--space-4);
  flex: 1 1 auto;
  min-width: 0;
}

.menu-chef-card--no-image .menu-chef-card__body {
  justify-content: center;
}

.menu-chef-card__title {
  color: var(--color-warm-ivory);
  margin-block-end: 0;
}

.menu-chef-card__text {
  color: var(--color-ivory-dark);
  margin-block-end: 0;
}

.menu-connection {
  padding-block: var(--space-7);
  background-color: var(--color-dark-timber);
}

.menu-connection__inner {
  display: grid;
  grid-template-columns: 3fr 2fr;
  gap: var(--space-6);
  align-items: start;
}

.menu-connection__text {
  display: flex;
  flex-direction: column;
  gap: var(--space-4);
  min-width: 0;
}

.menu-connection__heading {
  color: var(--color-warm-ivory);
  margin-block-end: 0;
}

.menu-connection__paragraph {
  color: var(--color-ivory-dark);
  margin-block-end: 0;
  max-width: 600px;
}

.menu-connection__benefits {
  background-color: var(--color-charcoal-light);
  border: 1px solid var(--color-border-subtle);
  border-radius: var(--radius-medium);
  padding: var(--space-4);
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
  min-width: 0;
}

.menu-connection__benefits-title {
  color: var(--color-warm-ivory);
  margin-block-end: 0;
}

.menu-connection__list {
  list-style: none;
  padding-inline-start: 0;
  margin-block-end: 0;
  display: flex;
  flex-direction: column;
  gap: var(--space-2);
}

.menu-connection__list-item {
  color: var(--color-ivory-dark);
  padding-inline-start: var(--space-5);
  position: relative;
  margin-block-end: 0;
}

.menu-connection__list-item::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.55em;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background-color: var(--color-deep-teal);
}

.menu-top10 {
  padding-block: var(--space-7);
  background-color: var(--color-charcoal);
}

.menu-top10__inner {
  max-width: 800px;
  margin-inline: auto;
  display: flex;
  flex-direction: column;
  gap: var(--space-6);
}

.menu-top10__header {
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
}

.menu-top10__heading {
  color: var(--color-warm-ivory);
  margin-block-end: 0;
}

.menu-top10__intro {
  color: var(--color-ivory-dark);
  margin-block-end: 0;
  max-width: 600px;
}

.menu-top10__list {
  list-style: none;
  padding-inline-start: 0;
  margin-block-end: 0;
  counter-reset: top10;
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
}

.menu-top10__item {
  counter-increment: top10;
  position: relative;
  padding-inline-start: var(--space-6);
  color: var(--color-ivory-dark);
  margin-block-end: 0;
  transition: color var(--transition-fast);
}

.menu-top10__item::before {
  content: counter(top10);
  position: absolute;
  left: 0;
  top: 0;
  font-family: var(--font-heading);
  font-size: var(--text-h4);
  color: var(--color-deep-teal);
  line-height: 1.2;
}

.menu-top10__item:hover {
  color: var(--color-warm-ivory);
}

.menu-offline {
  padding-block: var(--space-7);
  background-color: var(--color-charcoal);
}

.menu-offline__inner {
  max-width: 800px;
  margin-inline: auto;
}

.menu-offline__box {
  border: 1px solid var(--color-burgundy);
  border-radius: var(--radius-large);
  padding: var(--space-6);
  background-color: var(--color-charcoal-light);
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
  text-align: center;
  align-items: center;
}

.menu-offline__heading {
  color: var(--color-warm-ivory);
  margin-block-end: 0;
}

.menu-offline__text {
  color: var(--color-ivory-dark);
  margin-block-end: 0;
  max-width: 600px;
  margin-inline: auto;
}

.menu-cta {
  padding-block: var(--space-8);
  background-color: var(--color-dark-timber);
}

.menu-cta__inner {
  max-width: 600px;
  margin-inline: auto;
  display: flex;
  flex-direction: column;
  gap: var(--space-4);
  align-items: center;
  text-align: center;
}

.menu-cta__heading {
  color: var(--color-warm-ivory);
  margin-block-end: 0;
}

.menu-cta__button {
  margin-block-start: var(--space-2);
}

@media (max-width: 992px) {
  .menu-chef__grid {
    grid-template-columns: 1fr;
  }

  .menu-connection__inner {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 768px) {
  .menu-hero {
    min-height: 440px;
  }

  .menu-hero__heading {
    font-size: 2.25rem;
  }

  .menu-section,
  .menu-chef,
  .menu-connection,
  .menu-top10,
  .menu-offline,
  .menu-cta {
    padding-block: var(--space-6);
  }

  .menu-section__inner,
  .menu-top10__inner,
  .menu-offline__inner,
  .menu-cta__inner {
    max-width: 100%;
  }
}

@media (max-width: 480px) {
  .menu-hero {
    min-height: 380px;
  }

  .menu-hero__text {
    width: 100%;
  }

  .menu-hero__heading {
    font-size: 2rem;
  }

  .menu-section__heading,
  .menu-chef__heading,
  .menu-connection__heading,
  .menu-top10__heading,
  .menu-offline__heading,
  .menu-cta__heading {
    font-size: 1.625rem;
  }

  .menu-accordion__trigger {
    padding: var(--space-3);
    font-size: 1.25rem;
  }

  .menu-accordion__panel {
    padding: 0 var(--space-3) var(--space-3);
  }

  .menu-chef-card__body {
    padding: var(--space-3);
  }

  .menu-connection__benefits {
    padding: var(--space-3);
  }

  .menu-offline__box {
    padding: var(--space-4);
  }
}


#about-main {
  display: block;
}

/* Hero */
.about-hero {
  position: relative;
  min-height: 70vh;
  display: flex;
  align-items: center;
  overflow: hidden;
  background-color: var(--color-charcoal);
}

.about-hero__media {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}

.about-hero__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

.about-hero__overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, rgba(0, 0, 0, 0.85) 0%, rgba(0, 0, 0, 0.55) 55%, rgba(0, 0, 0, 0.35) 100%);
}

.about-hero .container {
  position: relative;
  z-index: 1;
  width: 100%;
}

.about-hero__content {
  max-width: 50%;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-4);
  padding-block: var(--space-8);
}

.about-hero__title {
  font-size: var(--text-h1);
  line-height: var(--leading-h1);
  color: var(--color-warm-ivory);
  margin-block-end: 0;
  max-width: 100%;
}

.about-hero__lead {
  font-size: var(--text-body);
  line-height: var(--leading-body);
  color: var(--color-warm-ivory);
  max-width: 65ch;
  margin-block-end: 0;
}

.about-hero__points {
  list-style: none;
  padding-inline-start: 0;
  margin-block-end: 0;
  display: flex;
  flex-direction: column;
  gap: var(--space-2);
  color: var(--color-ivory-dark);
  font-size: var(--text-small);
  line-height: var(--leading-small);
}

.about-hero__points li {
  margin-block-end: 0;
  padding-inline-start: var(--space-4);
  position: relative;
}

.about-hero__points li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.55em;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background-color: var(--color-deep-teal);
}

.about-hero__cta {
  margin-block-start: var(--space-2);
}

/* Story */
.about-story {
  padding-block: var(--space-8);
  background-color: var(--color-charcoal);
}

.about-story__title {
  font-size: var(--text-h2);
  line-height: var(--leading-h2);
  color: var(--color-warm-ivory);
  margin-block-end: var(--space-6);
}

.about-story__grid {
  display: grid;
  grid-template-columns: minmax(0, 3fr) minmax(0, 2fr);
  gap: var(--space-6);
  align-items: start;
}

.about-story__text {
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: var(--space-4);
}

.about-story__subtitle {
  font-size: var(--text-h3);
  line-height: var(--leading-h3);
  color: var(--color-warm-ivory);
  margin-block-end: 0;
}

.about-story__text p {
  max-width: 65ch;
  margin-block-end: 0;
}

.about-story__quote {
  background-color: var(--color-charcoal-light);
  border-inline-start: 4px solid var(--color-burgundy);
  border-radius: var(--radius-medium);
  padding: var(--space-5);
  margin-block-end: 0;
  color: var(--color-warm-ivory);
  font-style: italic;
  font-family: var(--font-heading);
  font-size: var(--text-h3);
  line-height: var(--leading-h3);
  min-width: 0;
}

.about-story__quote p {
  margin-block-end: var(--space-3);
}

.about-story__quote cite {
  display: block;
  font-family: var(--font-body);
  font-size: var(--text-small);
  font-style: normal;
  color: var(--color-ivory-dark);
}

/* Philosophy */
.about-philosophy {
  padding-block: var(--space-8);
  background-color: var(--color-dark-timber);
}

.about-philosophy__title {
  font-size: var(--text-h2);
  line-height: var(--leading-h2);
  color: var(--color-warm-ivory);
  margin-block-end: var(--space-6);
  text-align: center;
}

.about-philosophy__statement {
  max-width: 720px;
  margin-inline: auto;
  text-align: center;
  margin-block-end: var(--space-6);
}

.about-philosophy__subtitle {
  font-size: var(--text-h3);
  line-height: var(--leading-h3);
  color: var(--color-warm-ivory);
  margin-block-end: var(--space-3);
}

.about-philosophy__statement p {
  max-width: 65ch;
  margin-inline: auto;
  margin-block-end: 0;
}

.about-philosophy__media {
  max-width: 50%;
  margin-inline: auto;
  margin-block-end: var(--space-6);
}

.about-philosophy__media img {
  width: 100%;
  height: auto;
  border-radius: var(--radius-medium);
  border: 1px solid var(--color-border-subtle);
  box-shadow: var(--shadow-card);
}

.about-philosophy__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-6);
}

.about-philosophy__panel {
  background-color: var(--color-charcoal);
  border: 1px solid var(--color-burgundy);
  border-radius: var(--radius-medium);
  padding: var(--space-5);
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
}

.about-philosophy__panel p {
  max-width: 60ch;
  margin-block-end: 0;
}

.about-philosophy__list {
  list-style: none;
  padding-inline-start: 0;
  margin-block-end: 0;
  display: flex;
  flex-direction: column;
  gap: var(--space-2);
  color: var(--color-ivory-dark);
  font-size: var(--text-small);
  line-height: var(--leading-small);
}

.about-philosophy__list li {
  margin-block-end: 0;
  padding-inline-start: var(--space-4);
  position: relative;
}

.about-philosophy__list li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.55em;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background-color: var(--color-deep-teal);
}

/* Venue */
.about-venue {
  padding-block: var(--space-8);
  background-color: var(--color-charcoal);
}

.about-venue__title {
  font-size: var(--text-h2);
  line-height: var(--leading-h2);
  color: var(--color-warm-ivory);
  margin-block-end: var(--space-6);
}

.about-venue__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--space-6);
}

.about-venue__item {
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: var(--space-4);
}

.about-venue__subtitle {
  font-size: var(--text-h3);
  line-height: var(--leading-h3);
  color: var(--color-warm-ivory);
  margin-block-end: 0;
}

.about-venue__item p {
  max-width: 55ch;
  margin-block-end: 0;
}

.about-venue__item img {
  width: 100%;
  height: auto;
  border-radius: var(--radius-medium);
  border: 1px solid var(--color-border-subtle);
  box-shadow: var(--shadow-card);
  margin-block-start: auto;
}

.about-venue__item--text {
  justify-content: flex-start;
}

/* Team */
.about-team {
  padding-block: var(--space-8);
  background-color: var(--color-dark-timber);
}

.about-team__title {
  font-size: var(--text-h2);
  line-height: var(--leading-h2);
  color: var(--color-warm-ivory);
  margin-block-end: var(--space-6);
  text-align: center;
}

.about-team__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--space-6);
}

.about-team__card {
  background-color: var(--color-charcoal-light);
  border: 1px solid var(--color-border-subtle);
  border-radius: var(--radius-medium);
  box-shadow: var(--shadow-card);
  padding: var(--space-5);
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
  transition: transform var(--transition-fast), box-shadow var(--transition-fast);
}

.about-team__card:hover {
  transform: translateY(-4px);
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.4);
}

.about-team__name {
  font-size: var(--text-h4);
  line-height: var(--leading-h4);
  color: var(--color-warm-ivory);
  margin-block-end: 0;
}

.about-team__role {
  font-size: var(--text-small);
  line-height: var(--leading-small);
  color: var(--color-deep-teal);
  margin-block-end: 0;
  font-weight: 500;
}

.about-team__bio {
  max-width: 55ch;
  margin-block-end: 0;
}

/* Top 10 */
.about-top10 {
  padding-block: var(--space-8);
  background-color: var(--color-charcoal);
}

.about-top10__title {
  font-size: var(--text-h2);
  line-height: var(--leading-h2);
  color: var(--color-warm-ivory);
  margin-block-end: var(--space-4);
}

.about-top10__intro {
  max-width: 65ch;
  margin-block-end: var(--space-6);
}

.about-top10__list {
  list-style: none;
  padding-inline-start: 0;
  margin-block-end: 0;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-4) var(--space-6);
  counter-reset: top10;
}

.about-top10__list li {
  counter-increment: top10;
  position: relative;
  padding-inline-start: var(--space-6);
  margin-block-end: 0;
  min-width: 0;
  display: flex;
  align-items: flex-start;
  gap: var(--space-3);
}

.about-top10__list li::before {
  content: counter(top10);
  position: absolute;
  left: 0;
  top: 0;
  font-family: var(--font-heading);
  font-size: var(--text-h4);
  color: var(--color-burgundy);
  line-height: 1;
}

/* CTA */
.about-cta {
  padding-block: var(--space-8);
  background-color: var(--color-dark-timber);
  background-image: radial-gradient(circle at 50% 0%, rgba(0, 128, 128, 0.15), transparent 60%);
}

.about-cta__content {
  max-width: 720px;
  margin-inline: auto;
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--space-4);
}

.about-cta__title {
  font-size: var(--text-h2);
  line-height: var(--leading-h2);
  color: var(--color-warm-ivory);
  margin-block-end: 0;
}

.about-cta__text {
  max-width: 65ch;
  margin-inline: auto;
  margin-block-end: 0;
}

.about-cta__actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: var(--space-4);
  margin-block-start: var(--space-2);
}

/* Commitment */
.about-commitment {
  padding-block: var(--space-8);
  background-color: var(--color-charcoal);
}

.about-commitment__panel {
  max-width: 80%;
  margin-inline: auto;
  text-align: center;
  background-color: var(--color-charcoal-light);
  border: 1px solid var(--color-deep-teal);
  border-radius: var(--radius-large);
  padding: var(--space-6);
  display: flex;
  flex-direction: column;
  gap: var(--space-4);
}

.about-commitment__title {
  font-size: var(--text-h3);
  line-height: var(--leading-h3);
  color: var(--color-warm-ivory);
  margin-block-end: 0;
}

.about-commitment__text {
  max-width: 65ch;
  margin-inline: auto;
  margin-block-end: 0;
}

/* Tablet */
@media (max-width: 900px) {
  .about-hero__content {
    max-width: 70%;
  }

  .about-story__grid {
    grid-template-columns: 1fr;
    gap: var(--space-5);
  }

  .about-story__quote {
    max-width: 100%;
  }

  .about-venue__grid {
    grid-template-columns: 1fr;
    gap: var(--space-6);
  }

  .about-venue__item img {
    margin-block-start: 0;
  }

  .about-team__grid {
    grid-template-columns: 1fr;
    gap: var(--space-5);
  }

  .about-top10__list {
    grid-template-columns: 1fr;
    gap: var(--space-4);
  }

  .about-commitment__panel {
    max-width: 100%;
  }
}

/* Mobile */
@media (max-width: 640px) {
  .about-hero {
    min-height: 60vh;
  }

  .about-hero__overlay {
    background: linear-gradient(180deg, rgba(0, 0, 0, 0.85) 0%, rgba(0, 0, 0, 0.55) 55%, rgba(0, 0, 0, 0.35) 100%);
  }

  .about-hero__content {
    max-width: 100%;
    padding-block: var(--space-6);
    gap: var(--space-3);
  }

  .about-hero__title {
    font-size: 2.25rem;
  }

  .about-hero__lead {
    font-size: 1rem;
    max-width: 100%;
  }

  .about-hero__cta {
    width: 100%;
  }

  .about-story,
  .about-philosophy,
  .about-venue,
  .about-team,
  .about-top10,
  .about-cta,
  .about-commitment {
    padding-block: var(--space-6);
  }

  .about-story__title,
  .about-philosophy__title,
  .about-venue__title,
  .about-team__title,
  .about-top10__title,
  .about-cta__title {
    font-size: 1.875rem;
  }

  .about-philosophy__media {
    max-width: 100%;
  }

  .about-philosophy__grid {
    grid-template-columns: 1fr;
    gap: var(--space-5);
  }

  .about-philosophy__panel {
    padding: var(--space-4);
  }

  .about-team__card {
    padding: var(--space-4);
  }

  .about-cta__actions {
    flex-direction: column;
    width: 100%;
  }

  .about-cta__actions .btn {
    width: 100%;
  }

  .about-commitment__panel {
    padding: var(--space-4);
  }
}

@media (prefers-reduced-motion: reduce) {
  .about-team__card {
    transition: none;
  }

  .about-team__card:hover {
    transform: none;
  }
}


/* Poker Lounge page styles */

.poker-lounge-page {
  background-color: var(--color-charcoal);
  color: var(--color-warm-ivory);
}

/* Hero */
.pl-hero {
  position: relative;
  min-height: 85vh;
  display: flex;
  align-items: center;
  overflow: hidden;
  background-color: var(--color-charcoal);
}

.pl-hero__image {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  z-index: 0;
}

.pl-hero__overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, rgba(0, 0, 0, 0.75) 0%, rgba(0, 0, 0, 0.45) 50%, rgba(0, 0, 0, 0.2) 100%);
  z-index: 1;
}

.pl-hero__content {
  position: relative;
  z-index: 2;
  display: flex;
  justify-content: flex-start;
  align-items: center;
  width: 100%;
  padding-block: var(--space-7);
}

.pl-hero__text {
  max-width: 600px;
  display: flex;
  flex-direction: column;
  gap: var(--space-4);
  align-items: flex-start;
}

.pl-hero__heading {
  font-size: var(--text-h1);
  line-height: var(--leading-h1);
  color: var(--color-warm-ivory);
  margin-block-end: 0;
  text-shadow: 0 2px 8px rgba(0, 0, 0, 0.5);
}

.pl-hero__lead {
  font-size: var(--text-body);
  line-height: var(--leading-body);
  color: var(--color-warm-ivory);
  max-width: 45ch;
  margin-block-end: 0;
  text-shadow: 0 1px 4px rgba(0, 0, 0, 0.5);
}

.pl-hero__support {
  font-size: var(--text-small);
  line-height: var(--leading-small);
  color: var(--color-ivory-dark);
  max-width: 45ch;
  margin-block-end: 0;
  text-shadow: 0 1px 3px rgba(0, 0, 0, 0.5);
}

.pl-hero__cta {
  margin-block-start: var(--space-2);
}

/* Card Room */
.pl-card-room {
  padding-block: var(--space-7);
}

.pl-card-room__grid {
  display: grid;
  grid-template-columns: 3fr 2fr;
  gap: var(--space-6);
  align-items: center;
}

.pl-card-room__text {
  display: flex;
  flex-direction: column;
  gap: var(--space-4);
  min-width: 0;
}

.pl-card-room__heading {
  margin-block-end: 0;
  color: var(--color-warm-ivory);
}

.pl-card-room__subheading {
  margin-block-end: 0;
  color: var(--color-deep-teal);
}

.pl-card-room__paragraph {
  max-width: 65ch;
  margin-block-end: 0;
  color: var(--color-warm-ivory);
}

.pl-card-room__figure {
  margin-block-end: 0;
  min-width: 0;
}

.pl-card-room__image {
  width: 100%;
  height: auto;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  border-radius: var(--radius-medium);
  border: 1px solid var(--color-border-subtle);
  box-shadow: var(--shadow-card);
}

.pl-card-room__caption {
  margin-block-start: var(--space-2);
  color: var(--color-ivory-dark);
  font-size: var(--text-small);
}

/* Games */
.pl-games {
  padding-block: var(--space-7);
  background-color: var(--color-dark-timber);
}

.pl-games__heading {
  margin-block-end: var(--space-6);
  color: var(--color-warm-ivory);
}

.pl-games__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--space-4);
}

.pl-game-card {
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
  padding: var(--space-5);
  text-align: center;
  align-items: center;
  min-width: 0;
}

.pl-game-card__icon {
  font-size: 2.5rem;
  line-height: 1;
  color: var(--color-deep-teal);
}

.pl-game-card__title {
  margin-block-end: 0;
  color: var(--color-warm-ivory);
}

.pl-game-card__text {
  max-width: 50ch;
  margin-block-end: 0;
  color: var(--color-warm-ivory);
  font-size: var(--text-body);
  line-height: var(--leading-body);
}

/* Events */
.pl-events {
  padding-block: var(--space-7);
}

.pl-events__container {
  max-width: 800px;
  margin-inline: auto;
  display: flex;
  flex-direction: column;
  gap: var(--space-5);
}

.pl-events__heading {
  margin-block-end: 0;
  color: var(--color-warm-ivory);
  text-align: center;
}

.pl-events__list {
  display: flex;
  flex-direction: column;
  gap: var(--space-4);
}

.pl-event {
  display: grid;
  grid-template-columns: 180px 1fr;
  gap: var(--space-4);
  padding: var(--space-4);
  background-color: var(--color-charcoal-light);
  border: 1px solid var(--color-border-subtle);
  border-radius: var(--radius-medium);
  box-shadow: var(--shadow-card);
  min-width: 0;
}

.pl-event__meta {
  display: flex;
  align-items: flex-start;
  min-width: 0;
}

.pl-event__date {
  font-family: var(--font-heading);
  font-size: var(--text-h4);
  line-height: var(--leading-h4);
  color: var(--color-deep-teal);
  padding-block-start: var(--space-1);
}

.pl-event__body {
  display: flex;
  flex-direction: column;
  gap: var(--space-2);
  min-width: 0;
}

.pl-event__title {
  margin-block-end: 0;
  color: var(--color-warm-ivory);
}

.pl-event__text {
  max-width: 70ch;
  margin-block-end: 0;
  color: var(--color-warm-ivory);
}

.pl-event__text a {
  color: var(--color-deep-teal);
  text-decoration: underline;
}

.pl-event__text a:hover {
  color: var(--color-warm-ivory);
}

/* Policy */
.pl-policy {
  padding-block: var(--space-7);
  background-color: var(--color-dark-timber);
}

.pl-policy__container {
  display: flex;
  justify-content: center;
}

.pl-policy__box {
  max-width: 700px;
  width: 100%;
  background-color: var(--color-warm-ivory);
  color: var(--color-charcoal);
  border: 3px solid var(--color-burgundy);
  border-radius: var(--radius-large);
  padding: var(--space-6);
  text-align: center;
  display: flex;
  flex-direction: column;
  gap: var(--space-4);
  box-shadow: var(--shadow-card);
}

.pl-policy__heading {
  margin-block-end: 0;
  color: var(--color-charcoal);
}

.pl-policy__text {
  max-width: 60ch;
  margin-inline: auto;
  margin-block-end: 0;
  color: var(--color-charcoal);
  font-weight: 500;
}

/* Tables */
.pl-tables {
  padding-block: var(--space-7);
}

.pl-tables__grid {
  display: grid;
  grid-template-columns: 2fr 3fr;
  gap: var(--space-6);
  align-items: center;
}

.pl-tables__figure {
  margin-block-end: 0;
  min-width: 0;
}

.pl-tables__image {
  width: 100%;
  height: auto;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  border-radius: var(--radius-medium);
  border: 1px solid var(--color-border-subtle);
  box-shadow: var(--shadow-card);
}

.pl-tables__caption {
  margin-block-start: var(--space-2);
  color: var(--color-ivory-dark);
  font-size: var(--text-small);
}

.pl-tables__text {
  display: flex;
  flex-direction: column;
  gap: var(--space-4);
  min-width: 0;
}

.pl-tables__heading {
  margin-block-end: 0;
  color: var(--color-warm-ivory);
}

.pl-tables__subheading {
  margin-block-end: 0;
  color: var(--color-deep-teal);
}

.pl-tables__paragraph {
  max-width: 65ch;
  margin-block-end: 0;
  color: var(--color-warm-ivory);
}

/* Gallery */
.pl-gallery {
  padding-block: var(--space-7);
  background-color: var(--color-dark-timber);
}

.pl-gallery__heading {
  margin-block-end: var(--space-3);
  color: var(--color-warm-ivory);
}

.pl-gallery__intro {
  max-width: 70ch;
  margin-inline: auto;
  margin-block-end: var(--space-6);
  color: var(--color-warm-ivory);
}

.pl-gallery__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--space-4);
}

.pl-gallery__item {
  display: block;
  padding: 0;
  border: none;
  background: none;
  cursor: pointer;
  border-radius: var(--radius-medium);
  overflow: hidden;
  min-width: 0;
  transition: transform var(--transition-fast), box-shadow var(--transition-fast);
}

.pl-gallery__item:hover {
  transform: translateY(-4px);
  box-shadow: var(--shadow-card);
}

.pl-gallery__item:focus-visible {
  outline: 2px solid var(--color-deep-teal);
  outline-offset: 2px;
}

.pl-gallery__image {
  width: 100%;
  height: auto;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  display: block;
  border-radius: var(--radius-medium);
  border: 1px solid var(--color-border-subtle);
}

/* Top 10 */
.pl-top10 {
  padding-block: var(--space-7);
}

.pl-top10__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-6);
}

.pl-top10__column {
  display: flex;
  flex-direction: column;
  gap: var(--space-4);
  align-items: flex-start;
  min-width: 0;
}

.pl-top10__heading {
  margin-block-end: 0;
  color: var(--color-warm-ivory);
}

.pl-top10__intro {
  max-width: 60ch;
  margin-block-end: 0;
  color: var(--color-warm-ivory);
}

.pl-top10__link {
  margin-block-start: var(--space-2);
}

/* Booking */
.pl-booking {
  padding-block: var(--space-8);
  background-color: var(--color-dark-timber);
}

.pl-booking__container {
  max-width: 600px;
  margin-inline: auto;
  display: flex;
  flex-direction: column;
  gap: var(--space-4);
  align-items: center;
  text-align: center;
}

.pl-booking__heading {
  margin-block-end: 0;
  color: var(--color-warm-ivory);
}

.pl-booking__text {
  max-width: 60ch;
  margin-block-end: 0;
  color: var(--color-warm-ivory);
}

.pl-booking__actions {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-3);
  justify-content: center;
  margin-block-start: var(--space-2);
}

.pl-booking__cta {
  flex: 0 0 auto;
}

/* Lightbox */
.pl-lightbox {
  position: fixed;
  inset: 0;
  z-index: 10000;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: var(--space-4);
  background-color: var(--color-overlay-deep);
  opacity: 0;
  pointer-events: none;
  transition: opacity var(--transition-fast);
}

.pl-lightbox.is-open {
  opacity: 1;
  pointer-events: auto;
}

.pl-lightbox__dialog {
  position: relative;
  max-width: 1000px;
  width: 100%;
  max-height: 90vh;
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: var(--color-charcoal);
  border-radius: var(--radius-large);
  box-shadow: var(--shadow-modal);
  overflow: hidden;
}

.pl-lightbox__image {
  display: block;
  width: 100%;
  height: auto;
  max-height: 90vh;
  object-fit: contain;
}

.pl-lightbox__close {
  position: absolute;
  top: var(--space-3);
  right: var(--space-3);
  width: 44px;
  height: 44px;
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: var(--color-charcoal-light);
  color: var(--color-warm-ivory);
  border: 1px solid var(--color-border-subtle);
  border-radius: var(--radius-small);
  font-size: 1.5rem;
  line-height: 1;
  cursor: pointer;
  transition: background-color var(--transition-fast), color var(--transition-fast);
  z-index: 2;
}

.pl-lightbox__close:hover {
  background-color: var(--color-burgundy);
  color: var(--color-warm-ivory);
}

.pl-lightbox__close:focus-visible {
  outline: 2px solid var(--color-deep-teal);
  outline-offset: 2px;
}

/* Tablet */
@media (max-width: 900px) {
  .pl-hero {
    min-height: 70vh;
  }

  .pl-hero__text {
    max-width: 520px;
  }

  .pl-card-room__grid,
  .pl-tables__grid {
    grid-template-columns: 1fr;
    gap: var(--space-5);
  }

  .pl-card-room__text,
  .pl-tables__text {
    max-width: 65ch;
  }

  .pl-card-room__figure,
  .pl-tables__figure {
    order: -1;
  }

  .pl-games__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .pl-game-card:last-child {
    grid-column: 1 / -1;
    max-width: 500px;
    width: 100%;
    margin-inline: auto;
  }

  .pl-event {
    grid-template-columns: 1fr;
    gap: var(--space-2);
  }

  .pl-event__date {
    font-size: var(--text-h4);
  }

  .pl-gallery__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .pl-gallery__item:last-child {
    grid-column: 1 / -1;
    max-width: 500px;
    width: 100%;
    margin-inline: auto;
  }

  .pl-top10__grid {
    grid-template-columns: 1fr;
    gap: var(--space-5);
  }
}

/* Mobile */
@media (max-width: 768px) {
  .pl-hero {
    min-height: 80vh;
    align-items: flex-end;
  }

  .pl-hero__overlay {
    background: linear-gradient(180deg, rgba(0, 0, 0, 0.5) 0%, rgba(0, 0, 0, 0.8) 100%);
  }

  .pl-hero__content {
    padding-block: var(--space-6);
  }

  .pl-hero__text {
    max-width: 100%;
    gap: var(--space-3);
  }

  .pl-hero__heading {
    font-size: 2.25rem;
    line-height: 1.2;
  }

  .pl-hero__lead {
    font-size: 1rem;
    line-height: 1.6;
    max-width: 100%;
  }

  .pl-hero__support {
    max-width: 100%;
  }

  .pl-hero__cta {
    width: 100%;
    justify-content: center;
  }

  .pl-card-room,
  .pl-games,
  .pl-events,
  .pl-policy,
  .pl-tables,
  .pl-gallery,
  .pl-top10,
  .pl-booking {
    padding-block: var(--space-6);
  }

  .pl-card-room__grid,
  .pl-tables__grid {
    grid-template-columns: 1fr;
    gap: var(--space-4);
  }

  .pl-card-room__figure,
  .pl-tables__figure {
    order: -1;
  }

  .pl-games__grid {
    grid-template-columns: 1fr;
    gap: var(--space-4);
  }

  .pl-game-card:last-child {
    grid-column: auto;
    max-width: none;
    width: 100%;
    margin-inline: 0;
  }

  .pl-game-card {
    padding: var(--space-4);
  }

  .pl-event {
    padding: var(--space-3);
  }

  .pl-policy__box {
    padding: var(--space-4);
  }

  .pl-gallery__grid {
    grid-template-columns: 1fr;
    gap: var(--space-3);
  }

  .pl-gallery__item:last-child {
    grid-column: auto;
    max-width: none;
    width: 100%;
    margin-inline: 0;
  }

  .pl-booking__actions {
    flex-direction: column;
    width: 100%;
  }

  .pl-booking__cta {
    width: 100%;
    justify-content: center;
  }

  .pl-lightbox {
    padding: var(--space-3);
  }

  .pl-lightbox__dialog {
    max-height: 80vh;
  }

  .pl-lightbox__image {
    max-height: 80vh;
  }
}

@media (max-width: 480px) {
  .pl-hero {
    min-height: 85vh;
  }

  .pl-hero__heading {
    font-size: 2rem;
  }

  .pl-hero__lead {
    font-size: 0.9375rem;
  }

  .pl-card-room__image,
  .pl-tables__image,
  .pl-gallery__image {
    aspect-ratio: 4 / 3;
  }

  .pl-event__date {
    font-size: var(--text-h4);
  }

  .pl-policy__box {
    border-radius: var(--radius-medium);
  }
}

@media (prefers-reduced-motion: reduce) {
  .pl-gallery__item {
    transition: none;
  }

  .pl-gallery__item:hover {
    transform: none;
    box-shadow: none;
  }
}


/* Page-owned styles for private-dining page */
.private-dining-page {
  display: block;
  width: 100%;
  overflow-x: hidden;
}

.private-dining-page .section {
  padding-block: var(--space-7);
}

.private-dining-page .section__heading {
  text-align: center;
  margin-bottom: var(--space-6);
}

/* Hero */
.private-dining-hero {
  position: relative;
  min-height: 80vh;
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: var(--color-charcoal);
  overflow: hidden;
}

.private-dining-hero__media {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}

.private-dining-hero__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  display: block;
}

.private-dining-hero__overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(0, 0, 0, 0.55) 0%, rgba(0, 0, 0, 0.75) 100%);
}

.private-dining-hero__content {
  position: relative;
  z-index: 1;
  max-width: 800px;
  margin-inline: auto;
  padding: var(--space-6) var(--space-4);
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--space-4);
}

.private-dining-hero__content h1 {
  font-size: var(--text-h1);
  line-height: var(--leading-h1);
  color: var(--color-warm-ivory);
  margin: 0;
}

.private-dining-hero__content p {
  font-size: var(--text-body);
  line-height: var(--leading-body);
  color: var(--color-warm-ivory);
  max-width: 620px;
  margin: 0;
}

.private-dining-hero__cta {
  margin-top: var(--space-2);
}

/* Private Dining Experience */
.private-dining-experience__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--space-5);
}

.private-dining-experience__card {
  display: flex;
  flex-direction: column;
  min-width: 0;
  overflow: hidden;
  transition: transform var(--transition-fast), border-color var(--transition-fast), box-shadow var(--transition-fast);
}

.private-dining-experience__card:hover {
  transform: translateY(-4px);
  border-color: var(--color-deep-teal);
  box-shadow: var(--shadow-modal);
}

.private-dining-experience__image {
  width: 100%;
  aspect-ratio: 4 / 3;
  overflow: hidden;
  background-color: var(--color-charcoal-light);
}

.private-dining-experience__image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  display: block;
}

.private-dining-experience__body {
  padding: var(--space-4);
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
}

.private-dining-experience__body h3 {
  margin: 0;
  color: var(--color-warm-ivory);
}

.private-dining-experience__body p {
  margin: 0;
  color: var(--color-ivory-dark);
  max-width: 60ch;
}

/* Poker Lounge */
.private-dining-poker__container {
  display: grid;
  grid-template-columns: 60% 40%;
  gap: var(--space-6);
  align-items: start;
}

.private-dining-poker__content {
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: var(--space-5);
}

.private-dining-poker__content h2 {
  margin: 0;
}

.private-dining-poker__unit {
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
}

.private-dining-poker__unit h3 {
  margin: 0;
}

.private-dining-poker__unit p {
  margin: 0;
  max-width: 70ch;
}

.private-dining-poker__unit ul {
  margin: 0;
}

.private-dining-poker__media {
  min-width: 0;
  border-radius: var(--radius-medium);
  overflow: hidden;
  border: 1px solid var(--color-border-subtle);
  box-shadow: var(--shadow-card);
}

.private-dining-poker__media img {
  width: 100%;
  height: auto;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  object-position: center;
  display: block;
  transition: transform var(--transition-fast);
}

.private-dining-poker__media:hover img {
  transform: scale(1.03);
}

/* Culinary Excellence */
.private-dining-culinary__container {
  max-width: 800px;
  margin-inline: auto;
}

.private-dining-culinary__list {
  display: flex;
  flex-direction: column;
  gap: var(--space-4);
}

.private-dining-culinary__item {
  display: flex;
  gap: var(--space-4);
  align-items: flex-start;
  padding: var(--space-4);
  background-color: var(--color-charcoal-light);
  border: 1px solid var(--color-border-subtle);
  border-radius: var(--radius-medium);
  min-width: 0;
}

.private-dining-culinary__marker {
  flex: 0 0 auto;
  width: 24px;
  height: 24px;
  margin-top: 0.25em;
  display: flex;
  align-items: center;
  justify-content: center;
}

.private-dining-culinary__marker span {
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background-color: var(--color-deep-teal);
  display: block;
}

.private-dining-culinary__text {
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: var(--space-2);
}

.private-dining-culinary__text h3 {
  margin: 0;
}

.private-dining-culinary__text p {
  margin: 0;
  max-width: 65ch;
}

/* Booking */
.private-dining-booking__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--space-5);
}

.private-dining-booking__step {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap: var(--space-3);
  padding: var(--space-4);
  border: 1px solid var(--color-border-subtle);
  border-radius: var(--radius-medium);
  background-color: var(--color-charcoal-light);
  min-width: 0;
}

.private-dining-booking__number {
  width: 44px;
  height: 44px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background-color: var(--color-deep-teal);
  color: var(--color-warm-ivory);
  font-family: var(--font-heading);
  font-size: var(--text-h4);
  line-height: 1;
}

.private-dining-booking__step h3 {
  margin: 0;
}

.private-dining-booking__step p {
  margin: 0;
  max-width: 50ch;
}

.private-dining-booking__contact {
  font-size: var(--text-small);
  color: var(--color-ivory-dark);
}

.private-dining-booking__contact a {
  color: var(--color-deep-teal);
}

.private-dining-booking__contact a:hover {
  color: var(--color-warm-ivory);
}

/* Testimonials */
.private-dining-testimonials__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--space-4);
}

.private-dining-testimonial {
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
  padding: var(--space-4);
  min-width: 0;
  transition: transform var(--transition-fast), box-shadow var(--transition-fast);
}

.private-dining-testimonial:hover {
  transform: translateY(-4px);
  box-shadow: var(--shadow-modal);
}

.private-dining-testimonial blockquote {
  margin: 0;
  padding: 0;
  border: none;
  color: var(--color-warm-ivory);
  font-style: italic;
  font-size: var(--text-body);
  line-height: var(--leading-body);
  max-width: 65ch;
}

.private-dining-testimonial__author {
  margin: 0;
  font-weight: 700;
  color: var(--color-burgundy);
}

.private-dining-testimonial__event {
  margin: 0;
  font-size: var(--text-small);
  color: var(--color-ivory-dark);
}

/* FAQ */
.private-dining-faq__container {
  max-width: 800px;
  margin-inline: auto;
}

.private-dining-faq__list {
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
}

.private-dining-faq__item {
  border: 1px solid var(--color-border-subtle);
  border-radius: var(--radius-medium);
  background-color: var(--color-charcoal-light);
  overflow: hidden;
}

.private-dining-faq__question {
  width: 100%;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: var(--space-3);
  padding: var(--space-4);
  background: none;
  border: none;
  color: var(--color-warm-ivory);
  font-family: var(--font-heading);
  font-size: var(--text-h4);
  line-height: var(--leading-h4);
  text-align: left;
  cursor: pointer;
  min-height: 44px;
  transition: background-color var(--transition-fast), color var(--transition-fast);
}

.private-dining-faq__question:hover {
  background-color: rgba(0, 128, 128, 0.15);
  color: var(--color-deep-teal);
}

.private-dining-faq__question:focus-visible {
  outline: 2px solid var(--color-deep-teal);
  outline-offset: -2px;
}

.private-dining-faq__icon {
  flex: 0 0 auto;
  width: 16px;
  height: 16px;
  position: relative;
}

.private-dining-faq__icon::before,
.private-dining-faq__icon::after {
  content: "";
  position: absolute;
  background-color: currentColor;
  transition: transform var(--transition-fast);
}

.private-dining-faq__icon::before {
  top: 50%;
  left: 0;
  width: 100%;
  height: 2px;
  transform: translateY(-50%);
}

.private-dining-faq__icon::after {
  left: 50%;
  top: 0;
  width: 2px;
  height: 100%;
  transform: translateX(-50%);
}

.private-dining-faq__question[aria-expanded="true"] .private-dining-faq__icon::after {
  transform: translateX(-50%) scaleY(0);
}

.private-dining-faq__answer {
  padding: 0 var(--space-4) var(--space-4);
  color: var(--color-ivory-dark);
}

.private-dining-faq__answer p {
  margin: 0;
  max-width: 65ch;
}

/* Top 10 */
.private-dining-top10__container {
  max-width: 1000px;
  margin-inline: auto;
}

.private-dining-top10__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-5);
}

.private-dining-top10__column {
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
  padding: var(--space-4);
  background-color: var(--color-charcoal-light);
  border: 1px solid var(--color-border-subtle);
  border-radius: var(--radius-medium);
  min-width: 0;
}

.private-dining-top10__column h3 {
  margin: 0;
}

.private-dining-top10__column p {
  margin: 0;
  max-width: 65ch;
}

.private-dining-top10__column .btn {
  align-self: flex-start;
  margin-top: var(--space-2);
}

/* CTA */
.private-dining-cta {
  background-color: var(--color-dark-timber);
  border-block: 1px solid var(--color-border-subtle);
}

.private-dining-cta__container {
  max-width: 600px;
  margin-inline: auto;
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--space-4);
}

.private-dining-cta__container h2 {
  margin: 0;
}

.private-dining-cta__container p {
  margin: 0;
  max-width: 50ch;
}

.private-dining-cta__actions {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-3);
  justify-content: center;
  margin-top: var(--space-2);
}

/* Disclaimer */
.private-dining-disclaimer__container {
  max-width: 800px;
  margin-inline: auto;
  padding: var(--space-4);
  border: 1px solid var(--color-border-subtle);
  border-radius: var(--radius-medium);
  background-color: var(--color-charcoal-light);
}

.private-dining-disclaimer__container p {
  margin: 0;
  font-size: var(--text-small);
  line-height: var(--leading-small);
  color: var(--color-ivory-dark);
  font-style: italic;
  max-width: 65ch;
}

/* Tablet breakpoint */
@media (max-width: 900px) {
  .private-dining-experience__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .private-dining-poker__container {
    grid-template-columns: 1fr;
    gap: var(--space-5);
  }

  .private-dining-poker__media {
    order: -1;
  }

  .private-dining-booking__grid {
    grid-template-columns: 1fr;
    gap: var(--space-4);
  }

  .private-dining-testimonials__grid {
    grid-template-columns: 1fr;
    gap: var(--space-4);
  }

  .private-dining-top10__grid {
    grid-template-columns: 1fr;
    gap: var(--space-4);
  }

  .private-dining-hero {
    min-height: 70vh;
  }
}

/* Mobile breakpoint */
@media (max-width: 600px) {
  .private-dining-page .section {
    padding-block: var(--space-5);
  }

  .private-dining-page .section__heading {
    margin-bottom: var(--space-4);
  }

  .private-dining-hero {
    min-height: auto;
    padding-block: var(--space-6);
  }

  .private-dining-hero__content {
    padding: var(--space-4) var(--space-3);
    gap: var(--space-3);
  }

  .private-dining-hero__content h1 {
    font-size: 2.25rem;
  }

  .private-dining-hero__content p {
    font-size: 1rem;
  }

  .private-dining-experience__grid {
    grid-template-columns: 1fr;
    gap: var(--space-4);
  }

  .private-dining-experience__body {
    padding: var(--space-3);
  }

  .private-dining-poker__container {
    gap: var(--space-4);
  }

  .private-dining-culinary__item {
    flex-direction: column;
    gap: var(--space-3);
    padding: var(--space-3);
  }

  .private-dining-culinary__marker {
    margin-top: 0;
  }

  .private-dining-booking__step {
    padding: var(--space-3);
  }

  .private-dining-testimonial {
    padding: var(--space-3);
  }

  .private-dining-faq__question {
    padding: var(--space-3);
    font-size: 1.125rem;
  }

  .private-dining-faq__answer {
    padding: 0 var(--space-3) var(--space-3);
  }

  .private-dining-top10__column {
    padding: var(--space-3);
  }

  .private-dining-cta__actions {
    flex-direction: column;
    width: 100%;
  }

  .private-dining-cta__actions .btn {
    width: 100%;
  }

  .private-dining-disclaimer__container {
    padding: var(--space-3);
  }
}

@media (prefers-reduced-motion: reduce) {
  .private-dining-experience__card,
  .private-dining-poker__media img,
  .private-dining-testimonial {
    transition: none;
  }

  .private-dining-experience__card:hover,
  .private-dining-poker__media:hover img,
  .private-dining-testimonial:hover {
    transform: none;
  }
}


/* Home page scoped styles */

/* Hero */
.home-hero {
    position: relative;
    min-height: 100vh;
    display: flex;
    align-items: center;
    overflow: hidden;
    background-color: var(--color-charcoal);
}

.home-hero__media {
    position: absolute;
    inset: 0;
    z-index: 0;
}

.home-hero__image {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    will-change: transform;
}

.home-hero__overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(90deg, rgba(0,0,0,0.75) 0%, rgba(0,0,0,0.45) 50%, rgba(0,0,0,0.25) 100%);
}

.home-hero__container {
    position: relative;
    z-index: 1;
    width: 100%;
}

.home-hero__content {
    max-width: 800px;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: var(--space-5);
    padding-block: var(--space-8);
}

.home-hero__title {
    font-size: var(--text-display);
    line-height: var(--leading-display);
    color: var(--color-warm-ivory);
    margin-block-end: 0;
    max-width: 800px;
    text-wrap: balance;
}

.home-hero__subtext {
    font-size: var(--text-body);
    line-height: var(--leading-body);
    color: var(--color-warm-ivory);
    max-width: 600px;
    margin-block-end: 0;
    text-wrap: pretty;
}

.home-hero__actions {
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-4);
    margin-block-start: var(--space-2);
}

.home-hero__cta {
    min-width: 200px;
}

/* Introduction */
.home-intro {
    background-color: var(--color-charcoal);
    padding-block: var(--space-8);
}

.home-intro__container {
    display: grid;
    grid-template-columns: minmax(0, 1.5fr) minmax(0, 1fr);
    gap: var(--space-6);
    align-items: center;
}

.home-intro__text {
    display: flex;
    flex-direction: column;
    gap: var(--space-4);
    min-width: 0;
}

.home-intro__heading {
    margin-block-end: 0;
    color: var(--color-warm-ivory);
    max-width: 700px;
}

.home-intro__paragraph {
    max-width: 700px;
    margin-block-end: 0;
    color: var(--color-warm-ivory);
}

.home-intro__callout {
    background-color: var(--color-charcoal-light);
    border-inline-start: 4px solid var(--color-burgundy);
    border-radius: var(--radius-medium);
    padding: var(--space-4);
    margin-block-start: var(--space-2);
    max-width: 700px;
}

.home-intro__callout-title {
    color: var(--color-burgundy);
    margin-block-end: var(--space-2);
}

.home-intro__callout-text {
    margin-block-end: 0;
    color: var(--color-warm-ivory);
}

.home-intro__media {
    min-width: 0;
}

.home-intro__image {
    width: 100%;
    height: auto;
    border-radius: var(--radius-medium);
    border: 1px solid var(--color-border-subtle);
    box-shadow: var(--shadow-card);
    object-fit: cover;
    aspect-ratio: 4 / 3;
}

/* Restaurant and Poker feature sections */
.home-restaurant,
.home-poker {
    padding-block: var(--space-8);
}

.home-restaurant {
    background-color: var(--color-dark-timber);
}

.home-poker {
    background-color: var(--color-charcoal);
}

.home-restaurant__heading,
.home-poker__heading {
    text-align: center;
    color: var(--color-warm-ivory);
    margin-block-end: var(--space-3);
}

.home-restaurant__lead,
.home-poker__lead {
    text-align: center;
    max-width: 700px;
    margin-inline: auto;
    margin-block-end: var(--space-6);
    color: var(--color-warm-ivory);
}

.home-restaurant__grid,
.home-poker__grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: var(--space-4);
}

.home-feature-card {
    background-color: var(--surface-card);
    border: 1px solid var(--color-border-subtle);
    border-radius: var(--radius-medium);
    box-shadow: var(--shadow-card);
    overflow: hidden;
    display: flex;
    flex-direction: column;
    min-width: 0;
    transition: transform var(--transition-fast), box-shadow var(--transition-fast);
}

.home-feature-card:hover {
    transform: translateY(-4px);
    box-shadow: var(--shadow-modal);
}

.home-feature-card__media {
    width: 100%;
    aspect-ratio: 4 / 3;
    overflow: hidden;
    background-color: var(--color-charcoal);
}

.home-feature-card__image {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    display: block;
    transition: transform var(--transition-fast);
}

.home-feature-card:hover .home-feature-card__image {
    transform: scale(1.03);
}

.home-feature-card__body {
    padding: var(--space-4);
    display: flex;
    flex-direction: column;
    gap: var(--space-3);
    flex: 1;
}

.home-feature-card__title {
    color: var(--color-deep-teal);
    margin-block-end: 0;
}

.home-feature-card__text {
    margin-block-end: 0;
    color: var(--color-warm-ivory);
    max-width: 60ch;
}

/* Top 10 */
.home-top10 {
    background-color: var(--color-dark-timber);
    padding-block: var(--space-8);
    border-block: 1px solid var(--color-border-subtle);
}

.home-top10__header {
    max-width: 800px;
    margin-inline: auto;
    text-align: center;
    margin-block-end: var(--space-6);
}

.home-top10__heading {
    color: var(--color-warm-ivory);
    margin-block-end: var(--space-3);
}

.home-top10__lead {
    color: var(--color-warm-ivory);
    margin-block-end: 0;
}

.home-top10__list {
    list-style: none;
    padding-inline-start: 0;
    margin-block-end: var(--space-6);
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--space-3) var(--space-6);
    counter-reset: top10;
}

.home-top10__item {
    counter-increment: top10;
    position: relative;
    padding-inline-start: var(--space-6);
    color: var(--color-warm-ivory);
    margin-block-end: 0;
    min-width: 0;
}

.home-top10__item::before {
    content: counter(top10);
    position: absolute;
    left: 0;
    top: 0;
    font-family: var(--font-heading);
    font-size: var(--text-h4);
    color: var(--color-deep-teal);
    line-height: 1.2;
}

.home-top10__action {
    display: flex;
    justify-content: center;
}

.home-top10__link {
    min-width: 220px;
}

/* Offline Statement Callout */
.home-offline {
    background-color: var(--color-charcoal);
    padding-block: var(--space-7);
}

.home-offline__container {
    display: flex;
    justify-content: center;
}

.home-offline__box {
    background-color: var(--color-burgundy);
    color: var(--color-warm-ivory);
    border-radius: var(--radius-large);
    padding: var(--space-6);
    max-width: 800px;
    width: 100%;
    text-align: center;
    box-shadow: var(--shadow-card);
}

.home-offline__title {
    color: var(--color-warm-ivory);
    margin-block-end: var(--space-4);
}

.home-offline__text {
    margin-block-end: 0;
    max-width: 65ch;
    margin-inline: auto;
}

/* Gallery Preview */
.home-gallery {
    background-color: var(--color-charcoal);
    padding-block: var(--space-8);
}

.home-gallery__header {
    text-align: center;
    max-width: 700px;
    margin-inline: auto;
    margin-block-end: var(--space-6);
}

.home-gallery__heading {
    color: var(--color-warm-ivory);
    margin-block-end: var(--space-3);
}

.home-gallery__lead {
    color: var(--color-warm-ivory);
    margin-block-end: 0;
}

.home-gallery__slider {
    position: relative;
    max-width: 900px;
    margin-inline: auto;
    overflow: hidden;
    border-radius: var(--radius-medium);
    border: 1px solid var(--color-border-subtle);
    box-shadow: var(--shadow-card);
    background-color: var(--color-charcoal-light);
}

.home-gallery__track {
    display: flex;
    transition: transform 0.4s ease;
    will-change: transform;
}

.home-gallery__slide {
    flex: 0 0 100%;
    min-width: 0;
    aspect-ratio: 16 / 9;
}

.home-gallery__image {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.home-gallery__control {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 44px;
    height: 44px;
    border-radius: 50%;
    background-color: rgba(0,0,0,0.55);
    color: var(--color-warm-ivory);
    font-size: 2rem;
    line-height: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 1px solid var(--color-border-subtle);
    transition: background-color var(--transition-fast), color var(--transition-fast);
    z-index: 2;
}

.home-gallery__control:hover {
    background-color: var(--color-deep-teal);
    color: var(--color-warm-ivory);
}

.home-gallery__control--prev {
    left: var(--space-3);
}

.home-gallery__control--next {
    right: var(--space-3);
}

.home-gallery__dots {
    position: absolute;
    bottom: var(--space-3);
    left: 50%;
    transform: translateX(-50%);
    display: flex;
    gap: var(--space-2);
    z-index: 2;
}

.home-gallery__dot {
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background-color: rgba(245,245,220,0.4);
    border: none;
    cursor: pointer;
    transition: background-color var(--transition-fast);
}

.home-gallery__dot--active {
    background-color: var(--color-deep-teal);
}

.home-gallery__action {
    display: flex;
    justify-content: center;
    margin-block-start: var(--space-5);
}

.home-gallery__link {
    min-width: 180px;
}

/* Testimonials */
.home-testimonials {
    background-color: var(--color-dark-timber);
    padding-block: var(--space-8);
}

.home-testimonials__heading {
    text-align: center;
    color: var(--color-warm-ivory);
    margin-block-end: var(--space-3);
}

.home-testimonials__lead {
    text-align: center;
    max-width: 600px;
    margin-inline: auto;
    margin-block-end: var(--space-6);
    color: var(--color-warm-ivory);
}

.home-testimonials__grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: var(--space-4);
}

.home-testimonial-card {
    background-color: var(--surface-card);
    border: 1px solid var(--color-border-subtle);
    border-radius: var(--radius-medium);
    padding: var(--space-5);
    box-shadow: var(--shadow-card);
    margin-block-end: 0;
    display: flex;
    flex-direction: column;
    gap: var(--space-3);
    min-width: 0;
}

.home-testimonial-card__quote {
    margin-block-end: 0;
    color: var(--color-warm-ivory);
    font-style: italic;
}

.home-testimonial-card__author {
    margin-block-start: auto;
    color: var(--color-deep-teal);
    font-style: normal;
    font-weight: 500;
}

/* Call to Action */
.home-cta {
    background-color: var(--color-deep-teal);
    padding-block: var(--space-8);
}

.home-cta__container {
    display: flex;
    justify-content: center;
}

.home-cta__content {
    max-width: 800px;
    width: 100%;
    text-align: center;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: var(--space-4);
}

.home-cta__heading {
    color: var(--color-warm-ivory);
    margin-block-end: 0;
}

.home-cta__text {
    color: var(--color-warm-ivory);
    margin-block-end: 0;
    max-width: 65ch;
}

.home-cta__actions {
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-4);
    justify-content: center;
}

.home-cta__button {
    min-width: 180px;
}

/* Location and Hours */
.home-location {
    background-color: var(--color-charcoal);
    padding-block: var(--space-8);
}

.home-location__container {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--space-6);
    align-items: start;
}

.home-location__text {
    display: flex;
    flex-direction: column;
    gap: var(--space-3);
    min-width: 0;
}

.home-location__heading {
    color: var(--color-warm-ivory);
    margin-block-end: 0;
}

.home-location__paragraph,
.home-location__address,
.home-location__hours,
.home-location__phone {
    color: var(--color-warm-ivory);
    margin-block-end: 0;
    font-style: normal;
}

.home-location__address {
    font-weight: 500;
}

.home-location__phone a {
    color: var(--color-deep-teal);
}

.home-location__phone a:hover {
    color: var(--color-warm-ivory);
}

.home-location__map {
    width: 100%;
    max-width: 100%;
    overflow: hidden;
    border-radius: var(--radius-medium);
    border: 1px solid var(--color-border-subtle);
    box-shadow: var(--shadow-card);
    aspect-ratio: 4 / 3;
    background-color: var(--color-charcoal-light);
}

.home-location__map iframe {
    display: block;
    width: 100%;
    height: 100%;
    border: 0;
}

/* Responsive */
@media (max-width: 1024px) {
    .home-intro__container {
        grid-template-columns: 1fr;
        gap: var(--space-5);
    }

    .home-restaurant__grid,
    .home-poker__grid,
    .home-testimonials__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .home-top10__list {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 768px) {
    .home-hero {
        min-height: 70vh;
    }

    .home-hero__content {
        padding-block: var(--space-6);
        gap: var(--space-4);
    }

    .home-hero__title {
        font-size: var(--text-h1);
        line-height: var(--leading-h1);
    }

    .home-hero__actions {
        flex-direction: column;
        width: 100%;
    }

    .home-hero__cta {
        width: 100%;
        min-width: 0;
    }

    .home-restaurant__grid,
    .home-poker__grid,
    .home-testimonials__grid {
        grid-template-columns: 1fr;
    }

    .home-location__container {
        grid-template-columns: 1fr;
    }

    .home-gallery__control {
        width: 40px;
        height: 40px;
        font-size: 1.5rem;
    }
}

@media (max-width: 480px) {
    .home-hero {
        min-height: 70vh;
    }

    .home-hero__title {
        font-size: 2rem;
        line-height: 1.2;
    }

    .home-hero__subtext {
        font-size: var(--text-small);
        line-height: var(--leading-small);
    }

    .home-offline__box {
        padding: var(--space-4);
    }

    .home-cta__actions {
        flex-direction: column;
        width: 100%;
    }

    .home-cta__button {
        width: 100%;
        min-width: 0;
    }

    .home-top10__item {
        padding-inline-start: var(--space-5);
    }

    .home-location__map {
        aspect-ratio: 4 / 3;
    }
}

@media (prefers-reduced-motion: reduce) {
    .home-hero__image {
        will-change: auto;
    }

    .home-gallery__track {
        transition: none;
    }
}


/* Thank-you page scoped styles */
.thank-you {
  padding-block: var(--space-7);
}

.thank-you__content {
  max-width: 640px;
  margin-inline: auto;
  text-align: center;
}

.thank-you__heading {
  margin-block-end: var(--space-4);
}

.thank-you__message,
.thank-you__next {
  margin-block-end: var(--space-4);
}

.thank-you__actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: var(--space-3);
  margin-block-start: var(--space-5);
}

@media (max-width: 480px) {
  .thank-you__actions {
    flex-direction: column;
    align-items: stretch;
  }

  .thank-you__actions .btn {
    width: 100%;
  }
}