

@layer reset, base, primitives;

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

  html {
    -webkit-text-size-adjust: 100%;
    -moz-text-size-adjust: 100%;
    text-size-adjust: 100%;
    scroll-behavior: smooth;
    scroll-padding-top: 64px;
  }

  body {
    min-height: 100vh;
    min-height: 100dvh;
    line-height: 1.6;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    text-rendering: optimizeLegibility;
  }

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

  ul, ol {
    list-style: none;
  }

  a {
    text-decoration: none;
    color: inherit;
  }

  table {
    border-collapse: collapse;
    border-spacing: 0;
    width: 100%;
  }

  blockquote, q {
    quotes: none;
  }

  blockquote::before, blockquote::after,
  q::before, q::after {
    content: '';
    content: none;
  }

  h1, h2, h3, h4, h5, h6 {
    font-size: inherit;
    font-weight: inherit;
  }

  address {
    font-style: normal;
  }

  [hidden] {
    display: none !important;
  }
}

@layer base {
  :root {
    --color-canvas: #FCFBF9;
    --color-surface: #FFFFFF;
    --color-surface-frosted: rgba(255, 255, 255, 0.72);
    --color-platinum: #E8E6E1;
    --color-charcoal: #1E1E1E;
    --color-slate: #5A5F66;
    --color-champagne: #C9A96E;
    --color-champagne-hover: #B8945A;
    --color-emerald: #2F6B4F;
    --color-sage: #A8C3B0;
    --color-error: #B23A3A;

    --font-heading: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;
    --font-body: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;

    --text-display-size: clamp(36px, 5vw, 64px);
    --text-display-line-height: 1.1;
    --text-display-letter-spacing: -0.02em;
    --text-display-weight: 600;

    --text-h1-size: clamp(32px, 4vw, 48px);
    --text-h1-line-height: 1.15;
    --text-h1-letter-spacing: -0.01em;
    --text-h1-weight: 600;

    --text-h2-size: clamp(28px, 3.2vw, 36px);
    --text-h2-line-height: 1.2;
    --text-h2-letter-spacing: -0.01em;
    --text-h2-weight: 600;

    --text-h3-size: clamp(24px, 2.6vw, 28px);
    --text-h3-line-height: 1.25;
    --text-h3-letter-spacing: 0;
    --text-h3-weight: 600;

    --text-h4-size: clamp(20px, 2vw, 22px);
    --text-h4-line-height: 1.3;
    --text-h4-letter-spacing: 0;
    --text-h4-weight: 600;

    --text-body-large-size: 18px;
    --text-body-large-line-height: 1.6;
    --text-body-large-letter-spacing: 0;
    --text-body-large-weight: 400;

    --text-body-size: 16px;
    --text-body-line-height: 1.6;
    --text-body-letter-spacing: 0;
    --text-body-weight: 400;

    --text-small-size: 14px;
    --text-small-line-height: 1.5;
    --text-small-letter-spacing: 0;
    --text-small-weight: 400;

    --text-caption-size: 12px;
    --text-caption-line-height: 1.4;
    --text-caption-letter-spacing: 0.02em;
    --text-caption-weight: 500;

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

    --container-max-width: 1280px;
    --container-padding-mobile: 24px;
    --container-padding-desktop: 48px;

    --radius-card: 12px;
    --radius-button: 8px;
    --radius-image: 8px;
    --radius-tag: 4px;

    --border-width: 1px;
    --border-color: var(--color-platinum);

    --shadow-card: 0 2px 8px rgba(0, 0, 0, 0.04);
    --shadow-card-hover: 0 4px 16px rgba(0, 0, 0, 0.08);
    --shadow-modal: 0 8px 24px rgba(0, 0, 0, 0.08);

    --transition-fast: 200ms ease-out;
    --transition-modal: 250ms ease-out;

    --focus-outline-width: 2px;
    --focus-outline-offset: 2px;
    --focus-outline-color: var(--color-champagne);
  }

  body {
    font-family: var(--font-body);
    font-size: var(--text-body-size);
    font-weight: var(--text-body-weight);
    line-height: var(--text-body-line-height);
    letter-spacing: var(--text-body-letter-spacing);
    color: var(--color-charcoal);
    background-color: var(--color-canvas);
    overflow-x: hidden;
  }

  h1, h2, h3, h4, h5, h6 {
    font-family: var(--font-heading);
    color: var(--color-charcoal);
  }

  h1 {
    font-size: var(--text-h1-size);
    line-height: var(--text-h1-line-height);
    letter-spacing: var(--text-h1-letter-spacing);
    font-weight: var(--text-h1-weight);
    margin-block-end: var(--space-5);
  }

  h2 {
    font-size: var(--text-h2-size);
    line-height: var(--text-h2-line-height);
    letter-spacing: var(--text-h2-letter-spacing);
    font-weight: var(--text-h2-weight);
    margin-block-end: var(--space-4);
  }

  h3 {
    font-size: var(--text-h3-size);
    line-height: var(--text-h3-line-height);
    letter-spacing: var(--text-h3-letter-spacing);
    font-weight: var(--text-h3-weight);
    margin-block-end: var(--space-3);
  }

  h4 {
    font-size: var(--text-h4-size);
    line-height: var(--text-h4-line-height);
    letter-spacing: var(--text-h4-letter-spacing);
    font-weight: var(--text-h4-weight);
    margin-block-end: var(--space-3);
  }

  h5 {
    font-size: var(--text-body-size);
    line-height: var(--text-body-line-height);
    letter-spacing: 0;
    font-weight: 600;
    margin-block-end: var(--space-2);
  }

  h6 {
    font-size: var(--text-small-size);
    line-height: var(--text-small-line-height);
    letter-spacing: 0.08em;
    font-weight: 600;
    text-transform: uppercase;
    margin-block-end: var(--space-2);
  }

  p {
    font-size: var(--text-body-size);
    line-height: var(--text-body-line-height);
    letter-spacing: var(--text-body-letter-spacing);
    font-weight: var(--text-body-weight);
    margin-block-end: var(--space-4);
  }

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

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

  ul {
    list-style: disc;
  }

  ol {
    list-style: decimal;
  }

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

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

  ul:last-child, ol:last-child {
    margin-block-end: 0;
  }

  blockquote {
    margin-block-end: var(--space-4);
    padding-inline-start: var(--space-5);
    border-inline-start: 3px solid var(--color-champagne);
    color: var(--color-slate);
  }

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

  a {
    color: var(--color-charcoal);
    transition: color var(--transition-fast);
  }

  a:hover {
    color: var(--color-champagne-hover);
  }

  a:focus-visible,
  button:focus-visible,
  input:focus-visible,
  textarea:focus-visible,
  select:focus-visible {
    outline: var(--focus-outline-width) solid var(--focus-outline-color);
    outline-offset: var(--focus-outline-offset);
  }

  img {
    border-radius: var(--radius-image);
  }

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

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

  figcaption {
    font-size: var(--text-caption-size);
    line-height: var(--text-caption-line-height);
    letter-spacing: var(--text-caption-letter-spacing);
    font-weight: var(--text-caption-weight);
    color: var(--color-slate);
    margin-block-start: var(--space-2);
  }

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

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

  strong, b {
    font-weight: 600;
  }

  em, i {
    font-style: italic;
  }

  mark {
    background-color: var(--color-champagne);
    color: var(--color-charcoal);
    padding-inline: var(--space-1);
  }

  code, kbd, samp, pre {
    font-family: 'SF Mono', 'Fira Code', 'Fira Mono', Menlo, Consolas, 'Liberation Mono', monospace;
    font-size: 0.9em;
  }

  pre {
    background-color: var(--color-platinum);
    border-radius: var(--radius-card);
    padding: var(--space-4);
    overflow-x: auto;
    margin-block-end: var(--space-4);
  }

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

  abbr[title] {
    text-decoration: underline dotted;
    cursor: help;
  }

  input,
  textarea,
  select {
    font-family: var(--font-body);
    font-size: var(--text-body-size);
    line-height: var(--text-body-line-height);
    letter-spacing: var(--text-body-letter-spacing);
    font-weight: var(--text-body-weight);
    color: var(--color-charcoal);
    background-color: var(--color-surface);
    border: var(--border-width) solid var(--border-color);
    border-radius: var(--radius-button);
    padding: var(--space-3);
    width: 100%;
    transition: border-color var(--transition-fast), box-shadow var(--transition-fast);
  }

  input::placeholder,
  textarea::placeholder {
    color: var(--color-slate);
    opacity: 1;
  }

  input:focus,
  textarea:focus,
  select:focus {
    border-color: var(--color-champagne);
    outline: none;
    box-shadow: 0 0 0 var(--focus-outline-width) var(--focus-outline-color);
  }

  input[type="checkbox"],
  input[type="radio"] {
    width: auto;
    padding: 0;
  }

  input[type="color"] {
    padding: var(--space-1);
    height: 44px;
  }

  input[type="file"] {
    padding: var(--space-2);
  }

  input[type="range"] {
    padding: 0;
    border: none;
    background: transparent;
  }

  textarea {
    resize: vertical;
    min-height: 100px;
  }

  select {
    appearance: none;
    -webkit-appearance: none;
    -moz-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='%235A5F66' stroke-width='2' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right var(--space-3) center;
    padding-inline-end: var(--space-6);
    cursor: pointer;
  }

  fieldset {
    border: var(--border-width) solid var(--border-color);
    border-radius: var(--radius-card);
    padding: var(--space-5);
    margin-block-end: var(--space-4);
  }

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

  legend {
    font-size: var(--text-small-size);
    line-height: var(--text-small-line-height);
    font-weight: 600;
    padding-inline: var(--space-2);
    color: var(--color-slate);
  }

  label {
    font-size: var(--text-small-size);
    line-height: var(--text-small-line-height);
    font-weight: 500;
    color: var(--color-charcoal);
    display: inline-block;
    margin-block-end: var(--space-1);
  }

  button,
  input[type="submit"],
  input[type="reset"],
  input[type="button"] {
    font-family: var(--font-heading);
    font-size: var(--text-small-size);
    line-height: 1;
    letter-spacing: 0.08em;
    font-weight: 600;
    text-transform: uppercase;
    color: var(--color-charcoal);
    background-color: transparent;
    border: none;
    border-radius: var(--radius-button);
    padding: var(--space-4) var(--space-5);
    min-height: 44px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: var(--space-2);
    cursor: pointer;
    transition: background-color var(--transition-fast), color var(--transition-fast), border-color var(--transition-fast), transform var(--transition-fast), box-shadow var(--transition-fast);
  }

  button:active,
  input[type="submit"]:active,
  input[type="reset"]:active,
  input[type="button"]:active {
    transform: scale(0.98);
  }

  button:disabled,
  input[type="submit"]:disabled,
  input[type="reset"]:disabled,
  input[type="button"]:disabled {
    opacity: 0.5;
    cursor: not-allowed;
    transform: none;
  }

  table {
    font-size: var(--text-body-size);
    line-height: var(--text-body-line-height);
    letter-spacing: var(--text-body-letter-spacing);
    color: var(--color-charcoal);
  }

  th {
    font-size: var(--text-small-size);
    line-height: var(--text-small-line-height);
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    text-align: start;
    background-color: var(--color-platinum);
    color: var(--color-charcoal);
    padding: var(--space-4);
    border-block-end: var(--border-width) solid var(--border-color);
  }

  td {
    padding: var(--space-4);
    border-block-end: var(--border-width) solid var(--border-color);
    vertical-align: top;
  }

  tbody tr:nth-child(even) {
    background-color: var(--color-canvas);
  }

  tbody tr:last-child td {
    border-block-end: none;
  }

  caption {
    font-size: var(--text-caption-size);
    line-height: var(--text-caption-line-height);
    letter-spacing: var(--text-caption-letter-spacing);
    font-weight: var(--text-caption-weight);
    color: var(--color-slate);
    text-align: start;
    padding-block-end: var(--space-2);
  }
}

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

  @media (min-width: 768px) {
    .container {
      padding-inline: var(--container-padding-desktop);
    }
  }

  .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;
  }

  .btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: var(--space-2);
    font-family: var(--font-heading);
    font-size: var(--text-small-size);
    line-height: 1;
    letter-spacing: 0.08em;
    font-weight: 600;
    text-transform: uppercase;
    border-radius: var(--radius-button);
    padding: var(--space-4) var(--space-5);
    min-height: 44px;
    cursor: pointer;
    transition: background-color var(--transition-fast), color var(--transition-fast), border-color var(--transition-fast), transform var(--transition-fast), box-shadow var(--transition-fast);
    border: var(--border-width) solid transparent;
  }

  .btn:active {
    transform: scale(0.98);
  }

  .btn:disabled {
    opacity: 0.5;
    cursor: not-allowed;
    transform: none;
  }

  .btn--primary {
    background-color: var(--color-champagne);
    color: var(--color-charcoal);
    border-color: var(--color-champagne);
  }

  .btn--primary:hover {
    background-color: var(--color-champagne-hover);
    border-color: var(--color-champagne-hover);
    color: var(--color-charcoal);
  }

  .btn--secondary {
    background-color: transparent;
    color: var(--color-charcoal);
    border-color: var(--color-charcoal);
  }

  .btn--secondary:hover {
    background-color: var(--color-charcoal);
    border-color: var(--color-charcoal);
    color: var(--color-surface);
  }

  .btn--ghost {
    background-color: transparent;
    color: var(--color-charcoal);
    border-color: var(--border-color);
  }

  .btn--ghost:hover {
    background-color: var(--color-platinum);
    border-color: var(--border-color);
    color: var(--color-charcoal);
  }

  .btn--danger {
    background-color: var(--color-error);
    color: var(--color-surface);
    border-color: var(--color-error);
  }

  .btn--danger:hover {
    background-color: #9A2E2E;
    border-color: #9A2E2E;
    color: var(--color-surface);
  }

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

  .btn--lg {
    padding: var(--space-5) var(--space-6);
    min-height: 52px;
    font-size: var(--text-body-size);
  }

  .card {
    background-color: var(--color-surface);
    border: var(--border-width) solid var(--border-color);
    border-radius: var(--radius-card);
    padding: var(--space-5);
    box-shadow: var(--shadow-card);
    transition: box-shadow var(--transition-fast), transform var(--transition-fast);
  }

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

  .card > :last-child {
    margin-block-end: 0;
  }

  .panel {
    background-color: var(--color-surface);
    border: var(--border-width) solid var(--border-color);
    border-radius: var(--radius-card);
    padding: var(--space-5);
  }

  .panel > :last-child {
    margin-block-end: 0;
  }

  .surface-frosted {
    background-color: var(--color-surface-frosted);
    -webkit-backdrop-filter: blur(12px);
    backdrop-filter: blur(12px);
  }

  .section {
    padding-block: var(--space-8);
  }

  @media (min-width: 768px) {
    .section {
      padding-block: var(--space-9);
    }
  }

  .section--platinum {
    background-color: var(--color-platinum);
  }

  .section--canvas {
    background-color: var(--color-canvas);
  }

  .section--surface {
    background-color: var(--color-surface);
  }

  .eyebrow {
    font-family: var(--font-heading);
    font-size: var(--text-caption-size);
    line-height: var(--text-caption-line-height);
    letter-spacing: 0.08em;
    font-weight: 500;
    text-transform: uppercase;
    color: var(--color-slate);
    margin-block-end: var(--space-3);
  }

  .display {
    font-family: var(--font-heading);
    font-size: var(--text-display-size);
    line-height: var(--text-display-line-height);
    letter-spacing: var(--text-display-letter-spacing);
    font-weight: var(--text-display-weight);
    color: var(--color-charcoal);
    margin-block-end: var(--space-5);
  }

  .text-small {
    font-size: var(--text-small-size);
    line-height: var(--text-small-line-height);
    letter-spacing: var(--text-small-letter-spacing);
    font-weight: var(--text-small-weight);
  }

  .text-caption {
    font-size: var(--text-caption-size);
    line-height: var(--text-caption-line-height);
    letter-spacing: var(--text-caption-letter-spacing);
    font-weight: var(--text-caption-weight);
  }

  .text-body-large {
    font-size: var(--text-body-large-size);
    line-height: var(--text-body-large-line-height);
    letter-spacing: var(--text-body-large-letter-spacing);
    font-weight: var(--text-body-large-weight);
  }

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

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

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

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

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

  .tag {
    display: inline-flex;
    align-items: center;
    gap: var(--space-1);
    font-family: var(--font-heading);
    font-size: var(--text-caption-size);
    line-height: var(--text-caption-line-height);
    letter-spacing: 0.08em;
    font-weight: 500;
    text-transform: uppercase;
    color: var(--color-charcoal);
    background-color: var(--color-platinum);
    border-radius: var(--radius-tag);
    padding: var(--space-1) var(--space-2);
  }

  .tag--emerald {
    background-color: var(--color-emerald);
    color: var(--color-surface);
  }

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

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

  .divider {
    border: none;
    border-block-start: var(--border-width) solid var(--border-color);
    margin-block: var(--space-6);
  }

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

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

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

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

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

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

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

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

  .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--justify-evenly {
    justify-content: space-evenly;
  }

  .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--grow {
    flex-grow: 1;
  }

  .flex--no-grow {
    flex-grow: 0;
  }

  .flex--no-shrink {
    flex-shrink: 0;
  }

  .flex--shrink {
    flex-shrink: 1;
  }

  .flex--basis-auto {
    flex-basis: auto;
  }

  .flex--basis-0 {
    flex-basis: 0;
  }

  .flex--basis-full {
    flex-basis: 100%;
  }

  .flex--basis-half {
    flex-basis: calc(50% - var(--space-4));
  }

  .flex--basis-third {
    flex-basis: calc(33.333% - var(--space-4));
  }

  .flex--basis-quarter {
    flex-basis: calc(25% - var(--space-4));
  }

  @media (max-width: 767px) {
    .flex--basis-half,
    .flex--basis-third,
    .flex--basis-quarter {
      flex-basis: 100%;
    }
  }

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

  .grid > * {
    min-width: 0;
  }

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

  .grid--auto-fit {
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  }

  .grid--auto-fill {
    grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
  }

  .grid--2-col {
    grid-template-columns: 1fr;
  }

  .grid--3-col {
    grid-template-columns: 1fr;
  }

  .grid--4-col {
    grid-template-columns: 1fr;
  }

  @media (min-width: 768px) {
    .grid--2-col {
      grid-template-columns: repeat(2, 1fr);
    }

    .grid--3-col {
      grid-template-columns: repeat(3, 1fr);
    }

    .grid--4-col {
      grid-template-columns: repeat(2, 1fr);
    }
  }

  @media (min-width: 1024px) {
    .grid--4-col {
      grid-template-columns: repeat(4, 1fr);
    }
  }

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

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

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

  .grid--align-stretch {
    align-items: stretch;
  }

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

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

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

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

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

  .grid--justify-evenly {
    justify-content: space-evenly;
  }

  .aspect-ratio--16-9 {
    aspect-ratio: 16 / 9;
  }

  .aspect-ratio--4-3 {
    aspect-ratio: 4 / 3;
  }

  .aspect-ratio--1-1 {
    aspect-ratio: 1 / 1;
  }

  .aspect-ratio--3-2 {
    aspect-ratio: 3 / 2;
  }

  .aspect-ratio--21-9 {
    aspect-ratio: 21 / 9;
  }

  .object-cover {
    object-fit: cover;
    width: 100%;
    height: 100%;
  }

  .object-contain {
    object-fit: contain;
    width: 100%;
    height: 100%;
  }

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

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

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

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

  .radius-none {
    border-radius: 0;
  }

  .radius-full {
    border-radius: 9999px;
  }

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

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

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

  .shadow-none {
    box-shadow: none;
  }

  .border {
    border: var(--border-width) solid var(--border-color);
  }

  .border-top {
    border-block-start: var(--border-width) solid var(--border-color);
  }

  .border-bottom {
    border-block-end: var(--border-width) solid var(--border-color);
  }

  .border-left {
    border-inline-start: var(--border-width) solid var(--border-color);
  }

  .border-right {
    border-inline-end: var(--border-width) solid var(--border-color);
  }

  .border-none {
    border: none;
  }

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

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

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

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

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

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

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

  .bg-frosted {
    background-color: var(--color-surface-frosted);
    -webkit-backdrop-filter: blur(12px);
    backdrop-filter: blur(12px);
  }

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

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

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

  .text-uppercase {
    text-transform: uppercase;
  }

  .text-lowercase {
    text-transform: lowercase;
  }

  .text-capitalize {
    text-transform: capitalize;
  }

  .text-nowrap {
    white-space: nowrap;
  }

  .text-truncate {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  .text-break {
    overflow-wrap: break-word;
    word-break: break-word;
  }

  .fw-400 {
    font-weight: 400;
  }

  .fw-500 {
    font-weight: 500;
  }

  .fw-600 {
    font-weight: 600;
  }

  .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); }
  .mt-9 { margin-block-start: var(--space-9); }
  .mt-10 { margin-block-start: var(--space-10); }

  .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); }
  .mb-9 { margin-block-end: var(--space-9); }
  .mb-10 { margin-block-end: var(--space-10); }

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

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

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

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

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

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

  .w-full {
    width: 100%;
  }

  .w-auto {
    width: auto;
  }

  .h-full {
    height: 100%;
  }

  .h-auto {
    height: auto;
  }

  .overflow-hidden {
    overflow: hidden;
  }

  .overflow-auto {
    overflow: auto;
  }

  .overflow-x-auto {
    overflow-x: auto;
  }

  .overflow-y-auto {
    overflow-y: auto;
  }

  .position-relative {
    position: relative;
  }

  .position-absolute {
    position: absolute;
  }

  .position-fixed {
    position: fixed;
  }

  .position-sticky {
    position: sticky;
  }

  .top-0 {
    top: 0;
  }

  .bottom-0 {
    bottom: 0;
  }

  .start-0 {
    inset-inline-start: 0;
  }

  .end-0 {
    inset-inline-end: 0;
  }

  .z-0 { z-index: 0; }
  .z-10 { z-index: 10; }
  .z-20 { z-index: 20; }
  .z-30 { z-index: 30; }
  .z-40 { z-index: 40; }
  .z-50 { z-index: 50; }
  .z-100 { z-index: 100; }
  .z-999 { z-index: 999; }

  .d-none {
    display: none;
  }

  .d-block {
    display: block;
  }

  .d-inline {
    display: inline;
  }

  .d-inline-block {
    display: inline-block;
  }

  .d-flex {
    display: flex;
  }

  .d-grid {
    display: grid;
  }

  @media (max-width: 767px) {
    .d-none-mobile {
      display: none;
    }

    .d-block-mobile {
      display: block;
    }

    .d-flex-mobile {
      display: flex;
    }

    .d-grid-mobile {
      display: grid;
    }
  }

  @media (min-width: 768px) and (max-width: 1023px) {
    .d-none-tablet {
      display: none;
    }

    .d-block-tablet {
      display: block;
    }

    .d-flex-tablet {
      display: flex;
    }

    .d-grid-tablet {
      display: grid;
    }
  }

  @media (min-width: 1024px) {
    .d-none-desktop {
      display: none;
    }

    .d-block-desktop {
      display: block;
    }

    .d-flex-desktop {
      display: flex;
    }

    .d-grid-desktop {
      display: grid;
    }
  }
}


@layer primitives {
  .site-header {
    position: sticky;
    top: 0;
    z-index: 100;
    background-color: var(--color-surface-frosted);
    -webkit-backdrop-filter: blur(12px);
    backdrop-filter: blur(12px);
    border-bottom: 1px solid var(--color-platinum);
  }

  .site-header__inner {
    max-width: var(--container-max-width);
    margin-inline: auto;
    padding-inline: var(--container-padding-mobile);
    display: flex;
    align-items: center;
    justify-content: space-between;
    min-height: 64px;
    gap: var(--space-4);
  }

  .site-header__brand {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    flex-shrink: 0;
  }

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

  .site-header__brand-text {
    font-family: var(--font-heading);
    font-size: 16px;
    line-height: 1;
    letter-spacing: 0.08em;
    font-weight: 600;
    text-transform: uppercase;
    color: var(--color-charcoal);
    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;
    flex-shrink: 0;
  }

  .site-header__toggle-line {
    display: block;
    width: 24px;
    height: 2px;
    background-color: var(--color-charcoal);
    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);
    flex-shrink: 1;
    min-width: 0;
  }

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

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

  .site-header__menu-item + .site-header__menu-item {
    margin: 0;
  }

  .site-header__link {
    display: inline-block;
    padding: var(--space-2) 0;
    font-family: var(--font-heading);
    font-size: var(--text-small-size);
    line-height: 1;
    letter-spacing: 0.08em;
    font-weight: 500;
    text-transform: uppercase;
    color: var(--color-charcoal);
    white-space: nowrap;
    transition: color var(--transition-fast);
  }

  .site-header__link:hover {
    color: var(--color-champagne-hover);
  }

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

  /*
   * The full navigation needs more than the site's 1280px content column.
   * Keep it behind the menu button until there is enough viewport space, so
   * the CTA and the final navigation items never overflow the header.
   */
  @media (max-width: 1599px) {
    .site-header__inner {
      padding-inline: var(--container-padding-mobile);
    }

    .site-header__toggle {
      display: flex;
    }

    .site-header__nav {
      position: absolute;
      top: 100%;
      left: 0;
      right: 0;
      flex-direction: column;
      align-items: stretch;
      gap: 0;
      background-color: var(--color-surface);
      border-bottom: 1px solid var(--color-platinum);
      box-shadow: var(--shadow-card);
      padding: var(--space-4) var(--container-padding-mobile);
      max-height: calc(100vh - 64px);
      overflow-y: auto;
      display: none;
    }

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

    .site-header__menu {
      flex-direction: column;
      align-items: stretch;
      gap: 0;
      width: 100%;
      overflow: visible;
    }

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

    .site-header__link {
      display: block;
      padding: var(--space-3) 0;
      border-bottom: 1px solid var(--color-platinum);
      font-size: var(--text-body-size);
      line-height: 1.4;
    }

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

  @media (min-width: 1600px) {
    .site-header__inner {
      padding-inline: var(--container-padding-desktop);
    }

    .site-header__brand-text {
      font-size: 16px;
    }

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

    .site-header__toggle {
      display: none;
    }

    .site-header__nav {
      display: flex;
      position: static;
      flex-direction: row;
      align-items: center;
      gap: var(--space-5);
      background: transparent;
      border: none;
      box-shadow: none;
      padding: 0;
      max-height: none;
      overflow: visible;
    }

    .site-header__menu {
      flex-direction: row;
      align-items: center;
      gap: var(--space-4);
      overflow: visible;
    }

    .site-header__menu-item {
      width: auto;
    }

    .site-header__link {
      display: inline-block;
      padding: var(--space-2) 0;
      border: none;
      font-size: var(--text-small-size);
      line-height: 1;
    }

    .site-header__cta {
      margin-top: 0;
      width: auto;
      justify-content: center;
    }
  }

  @media (max-width: 767px) {
    .site-header__logo {
      width: 32px;
      height: 32px;
    }

    .site-header__brand-text {
      font-size: 14px;
    }
  }
}


@layer primitives {
  .site-footer {
    background-color: var(--color-charcoal);
    color: var(--color-surface);
    padding-block: var(--space-8);
    margin-top: var(--space-9);
  }

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

  .site-footer__brand {
    margin-bottom: var(--space-6);
  }

  .site-footer__brand-link {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    margin-bottom: var(--space-4);
  }

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

  .site-footer__brand-text {
    font-family: var(--font-heading);
    font-size: 16px;
    line-height: 1;
    letter-spacing: 0.08em;
    font-weight: 600;
    text-transform: uppercase;
    color: var(--color-surface);
  }

  .site-footer__tagline {
    font-size: var(--text-small-size);
    line-height: 1.5;
    letter-spacing: 0.02em;
    color: var(--color-platinum);
    max-width: 40ch;
    margin: 0;
  }

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

  .site-footer__heading {
    font-family: var(--font-heading);
    font-size: var(--text-small-size);
    line-height: 1.4;
    letter-spacing: 0.08em;
    font-weight: 600;
    text-transform: uppercase;
    color: var(--color-champagne);
    margin: 0 0 var(--space-3);
  }

  .site-footer__list {
    list-style: none;
    margin: 0;
    padding: 0;
  }

  .site-footer__list li {
    margin: 0;
    padding: 0;
  }

  .site-footer__list .site-footer__link {
    display: inline-block;
    font-size: var(--text-small-size);
    line-height: 1.5;
    color: var(--color-platinum);
    transition: color var(--transition-fast);
  }

  .site-footer__link:hover {
    color: var(--color-champagne);
  }

  .site-footer__disclaimer {
    font-size: var(--text-caption-size);
    line-height: 1.5;
    color: var(--color-slate);
    max-width: 80ch;
    margin: 0 0 var(--space-4);
  }

  .site-footer__copyright {
    font-size: var(--text-caption-size);
    line-height: 1.5;
    color: var(--color-slate);
    margin: 0;
  }

  .site-consent {
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: 90;
    background-color: var(--color-surface);
    border-top: 1px solid var(--color-platinum);
    box-shadow: 0 -2px 8px rgba(0, 0, 0, 0.04);
    padding: var(--space-4) var(--container-padding-mobile);
    display: flex;
    flex-direction: column;
    gap: var(--space-3);
  }

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

  .site-consent__text {
    font-size: var(--text-small-size);
    line-height: 1.5;
    color: var(--color-charcoal);
    margin: 0;
  }

  .site-consent__actions {
    display: flex;
    gap: var(--space-3);
    flex-wrap: wrap;
  }

  .site-consent__button {
    font-family: var(--font-heading);
    font-size: var(--text-small-size);
    line-height: 1;
    letter-spacing: 0.08em;
    font-weight: 600;
    text-transform: uppercase;
    padding: var(--space-3) var(--space-4);
    min-height: 44px;
    border-radius: var(--radius-button);
    cursor: pointer;
    transition: background-color var(--transition-fast), color var(--transition-fast), border-color var(--transition-fast);
    border: 1px solid transparent;
  }

  .site-consent__button--accept {
    background-color: var(--color-champagne);
    color: var(--color-charcoal);
    border-color: var(--color-champagne);
  }

  .site-consent__button--accept:hover {
    background-color: var(--color-champagne-hover);
    border-color: var(--color-champagne-hover);
  }

  .site-consent__button--reject {
    background-color: transparent;
    color: var(--color-charcoal);
    border-color: var(--color-charcoal);
  }

  .site-consent__button--reject:hover {
    background-color: var(--color-charcoal);
    color: var(--color-surface);
  }

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

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

  .age-modal__backdrop {
    position: absolute;
    inset: 0;
    background-color: rgba(30, 30, 30, 0.6);
    -webkit-backdrop-filter: blur(4px);
    backdrop-filter: blur(4px);
  }

  .age-modal__dialog {
    position: relative;
    background-color: var(--color-surface);
    border-radius: var(--radius-card);
    box-shadow: var(--shadow-modal);
    padding: var(--space-6);
    max-width: 480px;
    width: 100%;
    text-align: center;
    z-index: 1;
  }

  .age-modal__title {
    font-family: var(--font-heading);
    font-size: var(--text-h3-size);
    line-height: var(--text-h3-line-height);
    letter-spacing: var(--text-h3-letter-spacing);
    font-weight: var(--text-h3-weight);
    color: var(--color-charcoal);
    margin: 0 0 var(--space-3);
  }

  .age-modal__description {
    font-size: var(--text-body-size);
    line-height: var(--text-body-line-height);
    color: var(--color-slate);
    margin: 0 0 var(--space-4);
  }

  .age-modal__question {
    font-size: var(--text-body-large-size);
    line-height: var(--text-body-large-line-height);
    font-weight: 500;
    color: var(--color-charcoal);
    margin: 0 0 var(--space-5);
  }

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

  .age-modal__button {
    font-family: var(--font-heading);
    font-size: var(--text-small-size);
    line-height: 1;
    letter-spacing: 0.08em;
    font-weight: 600;
    text-transform: uppercase;
    padding: var(--space-4) var(--space-5);
    min-height: 44px;
    border-radius: var(--radius-button);
    cursor: pointer;
    transition: background-color var(--transition-fast), color var(--transition-fast), border-color var(--transition-fast);
    border: 1px solid transparent;
    width: 100%;
  }

  .age-modal__button--confirm {
    background-color: var(--color-champagne);
    color: var(--color-charcoal);
    border-color: var(--color-champagne);
  }

  .age-modal__button--confirm:hover {
    background-color: var(--color-champagne-hover);
    border-color: var(--color-champagne-hover);
  }

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

  .age-modal__button--decline:hover {
    background-color: var(--color-charcoal);
    color: var(--color-surface);
  }

  .age-modal__microcopy {
    font-size: var(--text-caption-size);
    line-height: var(--text-caption-line-height);
    color: var(--color-slate);
    margin: 0;
  }

  @media (min-width: 768px) {
    .site-footer__inner {
      padding-inline: var(--container-padding-desktop);
    }

    .site-footer__columns {
      grid-template-columns: repeat(2, 1fr);
      gap: var(--space-7);
    }

    .site-consent {
      flex-direction: row;
      align-items: center;
      justify-content: space-between;
      padding: var(--space-4) var(--container-padding-desktop);
    }

    .site-consent__text {
      flex: 1;
      margin-right: var(--space-4);
    }

    .age-modal__actions {
      flex-direction: row;
      justify-content: center;
    }

    .age-modal__button {
      width: auto;
      min-width: 160px;
    }
  }

  @media (min-width: 1024px) {
    .site-footer__columns {
      grid-template-columns: repeat(4, 1fr);
    }
  }
}


/* Cookie Policy page styles */

.cookie-policy-page {
  background-color: var(--color-canvas);
  padding-block: var(--space-8);
}

.cookie-policy-container {
  max-width: 800px;
  margin-inline: auto;
  padding-inline: var(--container-padding-mobile);
  width: 100%;
  display: flex;
  flex-direction: column;
  gap: var(--space-8);
}

@media (min-width: 768px) {
  .cookie-policy-page {
    padding-block: var(--space-9);
  }

  .cookie-policy-container {
    padding-inline: var(--container-padding-desktop);
    gap: var(--space-9);
  }
}

.cookie-policy-section {
  display: flex;
  flex-direction: column;
  gap: var(--space-4);
  min-width: 0;
}

.cookie-policy-section h1,
.cookie-policy-section h2 {
  color: var(--color-charcoal);
  margin-block-end: 0;
}

.cookie-policy-section p {
  color: var(--color-slate);
  margin-block-end: 0;
  }

.cookie-policy-section strong {
  color: var(--color-charcoal);
  font-weight: 600;
}

.cookie-policy-intro h1 {
  font-size: var(--text-h1-size);
  line-height: var(--text-h1-line-height);
  letter-spacing: var(--text-h1-letter-spacing);
  font-weight: var(--text-h1-weight);
}

.cookie-policy-list {
  list-style: disc;
  padding-inline-start: var(--space-5);
  margin-block-end: 0;
  display: flex;
  flex-direction: column;
  gap: var(--space-2);
  color: var(--color-slate);
  max-width: 68ch;
}

.cookie-policy-list li {
  margin-block-end: 0;
}

.cookie-policy-table-wrapper {
  width: 100%;
  max-width: 100%;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  border: var(--border-width) solid var(--border-color);
  border-radius: var(--radius-card);
  background-color: var(--color-surface);
}

.cookie-policy-table {
  width: 100%;
  min-width: 560px;
  border-collapse: collapse;
  font-size: var(--text-body-size);
  line-height: var(--text-body-line-height);
  color: var(--color-charcoal);
}

.cookie-policy-table th,
.cookie-policy-table td {
  padding: var(--space-4);
  text-align: start;
  border-block-end: var(--border-width) solid var(--border-color);
  vertical-align: top;
}

.cookie-policy-table thead th {
  background-color: var(--color-platinum);
  font-size: var(--text-small-size);
  line-height: var(--text-small-line-height);
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--color-charcoal);
}

.cookie-policy-table tbody tr:nth-child(even) {
  background-color: var(--color-canvas);
}

.cookie-policy-table tbody tr:nth-child(odd) {
  background-color: var(--color-surface);
}

.cookie-policy-table tbody tr:last-child th,
.cookie-policy-table tbody tr:last-child td {
  border-block-end: none;
}

.cookie-policy-table tbody th {
  font-weight: 600;
  color: var(--color-charcoal);
}

.cookie-policy-contact-list {
  list-style: none;
  padding-inline-start: 0;
  margin-block-end: 0;
  display: flex;
  flex-direction: column;
  gap: var(--space-2);
  color: var(--color-slate);
  max-width: 68ch;
}

.cookie-policy-contact-list li {
  margin-block-end: 0;
}

.cookie-policy-contact-list a {
  color: var(--color-champagne);
  text-decoration: underline;
  text-underline-offset: 2px;
  transition: color var(--transition-fast);
}

.cookie-policy-contact-list a:hover {
  color: var(--color-champagne-hover);
}

.cookie-policy-effective-box {
  background-color: var(--color-platinum);
  border-radius: var(--radius-button);
  padding: var(--space-4);
  max-width: 68ch;
}

.cookie-policy-effective-box p {
  color: var(--color-charcoal);
  margin-block-end: 0;
}

@media (max-width: 767px) {
  .cookie-policy-container {
    padding-inline: var(--container-padding-mobile);
  }

  .cookie-policy-section p,
  .cookie-policy-list,
  .cookie-policy-contact-list,
  .cookie-policy-effective-box {
    max-width: 100%;
  }

  .cookie-policy-table-wrapper {
    border-radius: var(--radius-button);
  }
}


/* Privacy Policy page styles */

.privacy-policy-main {
  background-color: var(--color-canvas);
  padding-block: var(--space-8);
}

.privacy-policy-container {
  max-width: 720px;
  margin-inline: auto;
  padding-inline: var(--container-padding-mobile);
  width: 100%;
}

@media (min-width: 768px) {
  .privacy-policy-main {
    padding-block: var(--space-9);
  }

  .privacy-policy-container {
    padding-inline: var(--container-padding-desktop);
  }
}

.privacy-policy-section {
  margin-block-end: var(--space-8);
  padding-block-end: var(--space-8);
  border-block-end: 1px solid var(--border-color);
}

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

.privacy-policy-intro {
  padding-block-start: var(--space-4);
}

.privacy-policy-eyebrow {
  font-family: var(--font-heading);
  font-size: var(--text-caption-size);
  line-height: var(--text-caption-line-height);
  letter-spacing: 0.08em;
  font-weight: 500;
  text-transform: uppercase;
  color: var(--color-slate);
  margin-block-end: var(--space-3);
}

.privacy-policy-intro h1 {
  margin-block-end: var(--space-3);
}

.privacy-policy-effective {
  font-size: var(--text-small-size);
  line-height: var(--text-small-line-height);
  color: var(--color-slate);
  margin-block-end: var(--space-5);
}

.privacy-policy-copy {
  max-width: 65ch;
}

.privacy-policy-copy p {
  margin-block-end: var(--space-4);
}

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

.privacy-policy-list {
  list-style: disc;
  padding-inline-start: var(--space-5);
  margin-block-end: var(--space-4);
}

.privacy-policy-list li {
  margin-block-end: var(--space-2);
}

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

.privacy-policy-list:last-child {
  margin-block-end: 0;
}

.privacy-policy-contact-list {
  list-style: none;
  padding-inline-start: 0;
}

.privacy-policy-contact-list li {
  margin-block-end: var(--space-2);
}

.privacy-policy-contact-list li:last-child {
  margin-block-end: 0;
}

.privacy-policy-copy a {
  color: var(--color-charcoal);
  text-decoration: underline;
  text-underline-offset: 2px;
  transition: color var(--transition-fast);
}

.privacy-policy-copy a:hover {
  color: var(--color-champagne-hover);
}

@media (max-width: 767px) {
  .privacy-policy-main {
    padding-block: var(--space-7);
  }

  .privacy-policy-section {
    margin-block-end: var(--space-7);
    padding-block-end: var(--space-7);
  }

  .privacy-policy-intro h1 {
    font-size: var(--text-h1-size);
  }
}


/* Terms and Conditions page styles */
.tac-page {
  padding-block: var(--space-8);
}

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

.tac-page-header {
  margin-block-end: var(--space-8);
}

.tac-eyebrow {
  font-family: var(--font-heading);
  font-size: var(--text-caption-size);
  line-height: var(--text-caption-line-height);
  letter-spacing: 0.08em;
  font-weight: 500;
  text-transform: uppercase;
  color: var(--color-slate);
  margin-block-end: var(--space-3);
}

.tac-page-header h1 {
  font-size: var(--text-h1-size);
  line-height: var(--text-h1-line-height);
  letter-spacing: var(--text-h1-letter-spacing);
  font-weight: var(--text-h1-weight);
  color: var(--color-charcoal);
  margin-block-end: var(--space-3);
}

.tac-effective-date {
  font-size: var(--text-small-size);
  line-height: var(--text-small-line-height);
  color: var(--color-slate);
  margin-block-end: 0;
}

.tac-section {
  padding-block: var(--space-8);
  border-block-start: var(--border-width) solid var(--border-color);
}

.tac-section:first-of-type {
  border-block-start: none;
  padding-block-start: 0;
}

.tac-section--platinum {
  background-color: var(--color-platinum);
  padding-inline: var(--space-5);
  border-radius: var(--radius-card);
  margin-block-start: var(--space-6);
}

.tac-section h2 {
  font-size: var(--text-h2-size);
  line-height: var(--text-h2-line-height);
  letter-spacing: var(--text-h2-letter-spacing);
  font-weight: var(--text-h2-weight);
  color: var(--color-charcoal);
  margin-block-end: var(--space-5);
}

.tac-section h3 {
  font-size: var(--text-h3-size);
  line-height: var(--text-h3-line-height);
  letter-spacing: var(--text-h3-letter-spacing);
  font-weight: var(--text-h3-weight);
  color: var(--color-charcoal);
  margin-block-end: var(--space-3);
}

.tac-heading-emerald {
  color: var(--color-emerald);
}

.tac-copy {
  max-width: 65ch;
  text-align: start;
}

.tac-copy p {
  font-size: var(--text-body-size);
  line-height: var(--text-body-line-height);
  letter-spacing: var(--text-body-letter-spacing);
  font-weight: var(--text-body-weight);
  color: var(--color-charcoal);
  margin-block-end: var(--space-4);
}

.tac-copy p:last-child {
  margin-block-end: 0;
}

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

.tac-contact-list li {
  margin-block-end: 0;
}

.tac-contact-list a {
  color: var(--color-charcoal);
  transition: color var(--transition-fast);
}

.tac-contact-list a:hover {
  color: var(--color-champagne-hover);
}

@media (min-width: 768px) {
  .tac-page {
    padding-block: var(--space-9);
  }

  .tac-container {
    padding-inline: var(--container-padding-desktop);
  }

  .tac-section {
    padding-block: var(--space-9);
  }

  .tac-section--platinum {
    padding-inline: var(--space-7);
    margin-block-start: var(--space-7);
  }
}

@media (max-width: 767px) {
  .tac-section--platinum {
    padding-inline: var(--space-4);
    margin-inline: calc(-1 * var(--space-4));
    border-radius: 0;
  }
}


/* Contact page styles */

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

@media (min-width: 768px) {
  .contact-hero {
    padding-block: var(--space-9);
  }
}

.contact-hero__heading {
  max-width: 68ch;
  margin-block-end: var(--space-7);
}

.contact-hero__heading .eyebrow {
  margin-block-end: var(--space-3);
}

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

.contact-hero__lead {
  font-size: var(--text-body-large-size);
  line-height: var(--text-body-large-line-height);
  letter-spacing: var(--text-body-large-letter-spacing);
  font-weight: var(--text-body-large-weight);
  color: var(--color-slate);
  margin-block-end: 0;
}

.contact-hero__cards {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--space-5);
}

@media (min-width: 768px) {
  .contact-hero__cards {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: var(--space-5);
  }
}

.contact-card {
  background-color: var(--color-surface);
  border: var(--border-width) solid var(--border-color);
  border-radius: var(--radius-card);
  padding: var(--space-5);
  box-shadow: var(--shadow-card);
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap: var(--space-3);
  min-width: 0;
}

.contact-card__icon {
  width: 48px;
  height: 48px;
  border-radius: var(--radius-card);
  background-color: var(--color-platinum);
  color: var(--color-charcoal);
  display: flex;
  align-items: center;
  justify-content: center;
  margin-block-end: var(--space-2);
}

.contact-card__title {
  font-size: var(--text-h4-size);
  line-height: var(--text-h4-line-height);
  letter-spacing: var(--text-h4-letter-spacing);
  font-weight: var(--text-h4-weight);
  margin-block-end: 0;
}

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

.contact-card__text a {
  color: var(--color-charcoal);
  font-weight: 600;
  text-decoration: underline;
  text-underline-offset: 3px;
  transition: color var(--transition-fast);
}

.contact-card__text a:hover {
  color: var(--color-champagne-hover);
}

.contact-card__meta {
  font-size: var(--text-small-size);
  line-height: var(--text-small-line-height);
  letter-spacing: var(--text-small-letter-spacing);
  color: var(--color-slate);
  margin-block-end: 0;
}

.contact-form-section {
  padding-block: var(--space-8);
  background-color: var(--color-platinum);
}

@media (min-width: 768px) {
  .contact-form-section {
    padding-block: var(--space-9);
  }
}

.contact-form-section__layout {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--space-6);
  align-items: start;
}

@media (min-width: 1024px) {
  .contact-form-section__layout {
    grid-template-columns: minmax(0, 3fr) minmax(0, 2fr);
    gap: var(--space-7);
  }
}

.contact-form-panel {
  background-color: var(--color-surface);
  border: var(--border-width) solid var(--border-color);
  border-radius: var(--radius-card);
  padding: var(--space-5);
  box-shadow: var(--shadow-card);
  min-width: 0;
}

@media (min-width: 768px) {
  .contact-form-panel {
    padding: var(--space-6);
  }
}

.contact-form-panel h2 {
  margin-block-end: var(--space-3);
}

.contact-form-panel__lead {
  color: var(--color-slate);
  margin-block-end: var(--space-5);
}

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

.contact-form__field {
  display: flex;
  flex-direction: column;
  gap: var(--space-1);
  min-width: 0;
}

.contact-form__field label {
  margin-block-end: 0;
}

.contact-form__error {
  font-size: var(--text-small-size);
  line-height: var(--text-small-line-height);
  color: var(--color-error);
  margin-block-end: 0;
}

.contact-form__submit {
  align-self: flex-start;
  min-width: 160px;
}

.contact-form__success {
  background-color: var(--color-sage);
  color: var(--color-charcoal);
  border-radius: var(--radius-button);
  padding: var(--space-3) var(--space-4);
  font-size: var(--text-small-size);
  line-height: var(--text-small-line-height);
  margin-block-end: 0;
}

.contact-form-info {
  background-color: var(--color-surface);
  border: var(--border-width) solid var(--border-color);
  border-radius: var(--radius-card);
  padding: var(--space-5);
  box-shadow: var(--shadow-card);
  min-width: 0;
}

.contact-form-info h3 {
  margin-block-end: var(--space-2);
}

.contact-form-info h3:not(:first-child) {
  margin-block-start: var(--space-5);
}

.contact-form-info p {
  color: var(--color-slate);
  margin-block-end: 0;
}

.contact-form-info a {
  color: var(--color-charcoal);
  font-weight: 600;
  text-decoration: underline;
  text-underline-offset: 3px;
  transition: color var(--transition-fast);
}

.contact-form-info a:hover {
  color: var(--color-champagne-hover);
}

.visit-info {
  padding-block: var(--space-8);
}

@media (min-width: 768px) {
  .visit-info {
    padding-block: var(--space-9);
  }
}

.visit-info h2 {
  margin-block-end: var(--space-6);
}

.visit-info__grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--space-5);
}

@media (min-width: 768px) {
  .visit-info__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--space-7);
  }
}

.visit-info__block {
  min-width: 0;
}

.visit-info__block h3 {
  margin-block-end: var(--space-3);
}

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

.visit-info__block p:last-child {
  margin-block-end: 0;
}

.visit-info__hours {
  list-style: none;
  padding: 0;
  margin: 0;
}

.visit-info__hours li {
  display: flex;
  justify-content: space-between;
  gap: var(--space-4);
  padding-block: var(--space-3);
  border-block-end: var(--border-width) solid var(--border-color);
  margin-block-end: 0;
}

.visit-info__hours li:last-child {
  border-block-end: none;
}

.visit-info__hours li span:first-child {
  font-weight: 600;
}

.visit-info__hours li span:last-child {
  color: var(--color-slate);
  text-align: end;
}

.map-section {
  padding-block: var(--space-8);
  background-color: var(--color-platinum);
}

@media (min-width: 768px) {
  .map-section {
    padding-block: var(--space-9);
  }
}

.map-section h2 {
  margin-block-end: var(--space-3);
}

.map-section__lead {
  max-width: 68ch;
  color: var(--color-slate);
  margin-block-end: var(--space-5);
}

.map-section__container {
  width: 100%;
  max-width: 100%;
  overflow: hidden;
  border-radius: var(--radius-card);
  border: var(--border-width) solid var(--border-color);
  aspect-ratio: 16 / 9;
  min-height: 300px;
}

@media (min-width: 768px) {
  .map-section__container {
    aspect-ratio: auto;
    height: 400px;
  }
}

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

.private-events-inquiry {
  padding-block: var(--space-8);
}

@media (min-width: 768px) {
  .private-events-inquiry {
    padding-block: var(--space-9);
  }
}

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

.private-events-inquiry__content h2 {
  margin-block-end: 0;
}

.private-events-inquiry__content p {
  color: var(--color-slate);
  margin-block-end: 0;
}

.final-cta {
  padding-block: var(--space-8);
  background-color: var(--color-platinum);
}

@media (min-width: 768px) {
  .final-cta {
    padding-block: var(--space-9);
  }
}

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

.final-cta__content h2 {
  margin-block-end: 0;
}

.final-cta__content p {
  color: var(--color-slate);
  margin-block-end: 0;
}

@media (max-width: 767px) {
  .contact-hero,
  .contact-form-section,
  .visit-info,
  .map-section,
  .private-events-inquiry,
  .final-cta {
    padding-block: var(--space-8);
  }
}


/* Poker Tournaments page styles */

/* Hero */
.tournament-hero {
  position: relative;
  display: grid;
  grid-template-columns: 1fr;
  background-color: var(--color-canvas);
}

.tournament-hero__media {
  position: relative;
  width: 100%;
  aspect-ratio: 4 / 3;
  overflow: hidden;
}

.tournament-hero__image {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 0;
}

.tournament-hero__panel {
  position: relative;
  z-index: 2;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-4);
  padding: var(--space-5);
  background-color: var(--color-surface-frosted);
  -webkit-backdrop-filter: blur(12px);
  backdrop-filter: blur(12px);
  border-radius: 0;
}

.tournament-hero__eyebrow {
  margin-block-end: 0;
}

.tournament-hero__title {
  font-size: clamp(36px, 8vw, 64px);
  line-height: 1.1;
  letter-spacing: -0.02em;
  font-weight: 600;
  color: var(--color-charcoal);
  margin-block-end: 0;
  max-width: 40ch;
}

.tournament-hero__lead {
  font-size: var(--text-body-large-size);
  line-height: var(--text-body-large-line-height);
  letter-spacing: var(--text-body-large-letter-spacing);
  font-weight: var(--text-body-large-weight);
  color: var(--color-charcoal);
  margin-block-end: 0;
  max-width: 40ch;
}

.tournament-hero__facts {
  list-style: none;
  padding-inline-start: 0;
  margin-block-end: 0;
  display: flex;
  flex-direction: column;
  gap: var(--space-2);
  max-width: 40ch;
}

.tournament-hero__facts li {
  position: relative;
  padding-inline-start: var(--space-5);
  font-size: var(--text-small-size);
  line-height: var(--text-small-line-height);
  color: var(--color-slate);
  margin-block-end: 0;
}

.tournament-hero__facts li::before {
  content: "";
  position: absolute;
  inset-inline-start: 0;
  top: 0.5em;
  width: 8px;
  height: 8px;
  background-color: var(--color-champagne);
  border-radius: 2px;
}

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

@media (min-width: 768px) {
  .tournament-hero {
    grid-template-columns: 1fr;
    min-height: 600px;
  }

  .tournament-hero__media {
    position: absolute;
    inset: 0;
    aspect-ratio: auto;
    height: 100%;
  }

  .tournament-hero__panel {
    position: relative;
    z-index: 2;
    width: 50%;
    max-width: 640px;
    margin-inline-start: 0;
    padding: var(--space-7);
    border-radius: var(--radius-card);
    margin: var(--space-7);
    align-self: center;
  }
}

@media (min-width: 1024px) {
  .tournament-hero__panel {
    padding: var(--space-8);
  }
}

/* Schedule */
.tournament-schedule {
  padding-block: var(--space-8);
}

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

.tournament-schedule__heading {
  text-align: center;
  max-width: 68ch;
  margin-inline: auto;
}

.tournament-schedule__heading .eyebrow {
  margin-block-end: var(--space-3);
}

.tournament-schedule__heading h2 {
  margin-block-end: var(--space-4);
}

.tournament-schedule__intro {
  margin-block-end: 0;
}

.tournament-schedule__table-wrap {
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  border: var(--border-width) solid var(--border-color);
  border-radius: var(--radius-card);
  background-color: var(--color-surface);
  box-shadow: var(--shadow-card);
}

.tournament-schedule__table {
  min-width: 600px;
  width: 100%;
  border-collapse: collapse;
  font-size: var(--text-body-size);
  line-height: var(--text-body-line-height);
}

.tournament-schedule__table th {
  background-color: var(--color-platinum);
  color: var(--color-charcoal);
  font-size: var(--text-small-size);
  line-height: var(--text-small-line-height);
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  text-align: start;
  padding: var(--space-4);
  border-block-end: var(--border-width) solid var(--border-color);
  position: sticky;
  top: 0;
  z-index: 1;
}

.tournament-schedule__table td {
  padding: var(--space-4);
  border-block-end: var(--border-width) solid var(--border-color);
  vertical-align: top;
}

.tournament-schedule__table tbody tr:nth-child(even) {
  background-color: var(--color-canvas);
}

.tournament-schedule__table tbody tr {
  transition: background-color var(--transition-fast);
}

.tournament-schedule__table tbody tr:hover {
  background-color: var(--color-sage);
}

.tournament-schedule__table tbody tr:last-child td {
  border-block-end: none;
}

.tournament-schedule__note {
  font-size: var(--text-small-size);
  line-height: var(--text-small-line-height);
  color: var(--color-slate);
  text-align: center;
  margin-block-end: 0;
}

@media (min-width: 768px) {
  .tournament-schedule {
    padding-block: var(--space-9);
  }
}

/* Structure */
.tournament-structure {
  padding-block: var(--space-8);
}

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

.tournament-structure__heading {
  text-align: center;
  max-width: 68ch;
  margin-inline: auto;
}

.tournament-structure__heading .eyebrow {
  margin-block-end: var(--space-3);
}

.tournament-structure__heading h2 {
  margin-block-end: var(--space-4);
}

.tournament-structure__intro {
  margin-block-end: 0;
}

.tournament-structure__grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--space-5);
}

.tournament-structure__card {
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
  padding: var(--space-5);
  position: relative;
  overflow: hidden;
  min-width: 0;
}

.tournament-structure__card-accent {
  position: absolute;
  top: 0;
  inset-inline-start: 0;
  width: 100%;
  height: 4px;
  background-color: var(--color-emerald);
  border-radius: 0;
}

.tournament-structure__card h3 {
  margin-block-end: 0;
  font-size: var(--text-h4-size);
  line-height: var(--text-h4-line-height);
  letter-spacing: var(--text-h4-letter-spacing);
  font-weight: var(--text-h4-weight);
}

.tournament-structure__card p {
  margin-block-end: 0;
  }

@media (min-width: 768px) {
  .tournament-structure {
    padding-block: var(--space-9);
  }

  .tournament-structure__grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: var(--space-5);
  }
}

@media (max-width: 767px) {
  .tournament-structure__grid {
    gap: var(--space-5);
  }
}

/* Atmosphere */
.tournament-atmosphere {
  padding-block: var(--space-8);
}

.tournament-atmosphere__container {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--space-5);
  align-items: center;
}

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

.tournament-atmosphere__text .eyebrow {
  margin-block-end: 0;
}

.tournament-atmosphere__text h2 {
  margin-block-end: 0;
}

.tournament-atmosphere__text p {
  margin-block-end: 0;
  }

.tournament-atmosphere__media {
  width: 100%;
  min-width: 0;
}

.tournament-atmosphere__image {
  width: 100%;
  height: auto;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  border-radius: var(--radius-image);
}

@media (min-width: 768px) {
  .tournament-atmosphere {
    padding-block: var(--space-9);
  }

  .tournament-atmosphere__container {
    grid-template-columns: 7fr 5fr;
    gap: var(--space-7);
  }

  .tournament-atmosphere__text {
    order: 1;
  }

  .tournament-atmosphere__media {
    order: 2;
  }
}

/* Private Tournaments */
.private-tournaments {
  padding-block: var(--space-8);
}

.private-tournaments__container {
  display: flex;
  justify-content: center;
}

.private-tournaments__content {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-4);
  max-width: 800px;
  width: 100%;
  text-align: left;
}

.private-tournaments__content .eyebrow {
  margin-block-end: 0;
}

.private-tournaments__content h2 {
  margin-block-end: 0;
}

.private-tournaments__content p {
  margin-block-end: 0;
  }

.private-tournaments__cta {
  margin-block-start: var(--space-2);
}

@media (min-width: 768px) {
  .private-tournaments {
    padding-block: var(--space-9);
  }
}

/* Player Expectations */
.player-expectations {
  padding-block: var(--space-8);
}

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

.player-expectations__heading {
  text-align: center;
  max-width: 68ch;
  margin-inline: auto;
}

.player-expectations__heading .eyebrow {
  margin-block-end: var(--space-3);
}

.player-expectations__heading h2 {
  margin-block-end: var(--space-4);
}

.player-expectations__heading p {
  margin-block-end: 0;
}

.player-expectations__list {
  list-style: none;
  padding-inline-start: 0;
  margin-block-end: 0;
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--space-3);
  max-width: 800px;
  width: 100%;
  margin-inline: auto;
}

.player-expectations__list li {
  position: relative;
  padding-inline-start: var(--space-6);
  font-size: var(--text-body-size);
  line-height: var(--text-body-line-height);
  color: var(--color-charcoal);
  margin-block-end: 0;
  max-width: 40ch;
}

.player-expectations__list li::before {
  content: "✓";
  position: absolute;
  inset-inline-start: 0;
  top: 0;
  color: var(--color-emerald);
  font-weight: 600;
}

@media (min-width: 768px) {
  .player-expectations {
    padding-block: var(--space-9);
  }

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

/* Dining */
.tournament-dining {
  padding-block: var(--space-8);
}

.tournament-dining__container {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--space-5);
  align-items: center;
}

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

.tournament-dining__text .eyebrow {
  margin-block-end: 0;
}

.tournament-dining__text h2 {
  margin-block-end: 0;
}

.tournament-dining__text p {
  margin-block-end: 0;
  }

.tournament-dining__media {
  width: 100%;
  min-width: 0;
}

.tournament-dining__image {
  width: 100%;
  height: auto;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  border-radius: var(--radius-image);
}

@media (min-width: 768px) {
  .tournament-dining {
    padding-block: var(--space-9);
  }

  .tournament-dining__container {
    grid-template-columns: 1fr 1fr;
    gap: var(--space-7);
  }

  .tournament-dining__text {
    order: 1;
  }

  .tournament-dining__media {
    order: 2;
  }
}

/* Reserve Seat */
.reserve-seat {
  padding-block: var(--space-8);
}

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

.reserve-seat__container .eyebrow {
  margin-block-end: 0;
}

.reserve-seat__container h2 {
  margin-block-end: 0;
}

.reserve-seat__container p {
  margin-block-end: 0;
  }

.reserve-seat__cta {
  margin-block-start: var(--space-2);
}

@media (min-width: 768px) {
  .reserve-seat {
    padding-block: var(--space-9);
  }
}


/* Page-owned styles for offline-poker page */

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

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

.op-hero__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 0;
}

.op-hero__overlay {
  position: absolute;
  inset: 0;
  z-index: 1;
  background: linear-gradient(to top, rgba(30, 30, 30, 0.72) 0%, rgba(30, 30, 30, 0.25) 55%, rgba(30, 30, 30, 0.05) 100%);
}

.op-hero__container {
  position: relative;
  z-index: 2;
  padding-block-end: var(--space-7);
}

.op-hero__panel {
  max-width: 560px;
  width: 100%;
  padding: var(--space-6);
  border-radius: var(--radius-card);
  border: 1px solid rgba(255, 255, 255, 0.5);
  box-shadow: var(--shadow-modal);
}

.op-hero__eyebrow {
  color: var(--color-slate);
  margin-block-end: var(--space-3);
}

.op-hero__title {
  font-size: clamp(30px, 3.4vw, 44px);
  line-height: 1.15;
  letter-spacing: -0.01em;
  font-weight: 600;
  color: var(--color-charcoal);
  margin-block-end: var(--space-4);
  max-width: 60ch;
}

.op-hero__lead {
  font-size: var(--text-body-large-size);
  line-height: var(--text-body-large-line-height);
  color: var(--color-charcoal);
  margin-block-end: var(--space-5);
  max-width: 60ch;
}

.op-hero__actions {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-3);
  align-items: center;
}

.op-hero__actions .btn {
  flex-shrink: 0;
}

/* Experience section */
.op-experience__grid {
  display: grid;
  grid-template-columns: minmax(0, 7fr) minmax(0, 5fr);
  gap: var(--space-7);
  align-items: start;
}

.op-experience__copy {
  min-width: 0;
}

.op-experience__copy h2 {
  margin-block-end: var(--space-4);
}

.op-experience__copy p {
  }

.op-experience__list {
  display: grid;
  gap: var(--space-5);
  min-width: 0;
}

.op-experience__item {
  display: flex;
  gap: var(--space-4);
  align-items: flex-start;
  min-width: 0;
}

.op-experience__marker {
  flex-shrink: 0;
  width: 10px;
  height: 10px;
  margin-block-start: 8px;
  background-color: var(--color-champagne);
  border-radius: 2px;
}

.op-experience__item h3 {
  font-size: var(--text-h4-size);
  line-height: var(--text-h4-line-height);
  font-weight: 600;
  margin-block-end: var(--space-2);
}

.op-experience__item p {
  color: var(--color-slate);
}

/* Why section */
.op-section-heading {
  margin-block-end: var(--space-6);
  max-width: 720px;
}

.op-section-heading--center {
  margin-inline: auto;
  text-align: center;
}

.op-section-heading h2 {
  margin-block-end: 0;
}

.op-why__grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: var(--space-5);
}

.op-why__card {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-4);
  min-width: 0;
  padding: var(--space-5);
}

.op-why__icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  border-radius: var(--radius-button);
  background-color: var(--color-platinum);
  color: var(--color-charcoal);
  flex-shrink: 0;
}

.op-why__icon svg {
  width: 24px;
  height: 24px;
}

.op-why__card h3 {
  margin-block-end: 0;
}

.op-why__card p {
  color: var(--color-slate);
}

/* Offerings section */
.op-offerings__list {
  display: grid;
  gap: var(--space-4);
  max-width: 800px;
  margin-inline: auto;
}

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

.op-offerings__item:hover {
  box-shadow: var(--shadow-card-hover);
  transform: translateY(-2px);
}

.op-offerings__marker {
  flex-shrink: 0;
  width: 8px;
  height: 8px;
  margin-block-start: 8px;
  background-color: var(--color-champagne);
  border-radius: 2px;
}

.op-offerings__item h3 {
  font-size: var(--text-h4-size);
  line-height: var(--text-h4-line-height);
  font-weight: 600;
  margin-block-end: var(--space-2);
}

.op-offerings__item p {
  color: var(--color-slate);
}

/* Atmosphere section */
.op-atmosphere__grid {
  display: grid;
  grid-template-columns: minmax(0, 8fr) minmax(0, 4fr);
  gap: var(--space-7);
  align-items: center;
}

.op-atmosphere__copy {
  min-width: 0;
}

.op-atmosphere__copy h2 {
  margin-block-end: var(--space-4);
}

.op-atmosphere__copy p {
  }

.op-atmosphere__media {
  min-width: 0;
}

.op-atmosphere__media img {
  width: 100%;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  border-radius: var(--radius-image);
}

/* Management section */
.op-management__grid {
  display: grid;
  grid-template-columns: minmax(0, 4fr) minmax(0, 8fr);
  gap: var(--space-7);
  align-items: center;
}

.op-management__media {
  min-width: 0;
}

.op-management__media img {
  width: 100%;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  border-radius: var(--radius-image);
}

.op-management__copy {
  min-width: 0;
}

.op-management__copy h2 {
  margin-block-end: var(--space-4);
}

.op-management__copy p {
  }

/* Membership section */
.op-membership__content {
  max-width: 700px;
  margin-inline: auto;
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--space-4);
}

.op-membership__content h2 {
  margin-block-end: 0;
}

.op-membership__content p {
  }

.op-membership__content .btn {
  margin-block-start: var(--space-2);
}

/* Reserve section */
.op-reserve__content {
  max-width: 600px;
  margin-inline: auto;
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--space-4);
}

.op-reserve__content h2 {
  margin-block-end: 0;
}

.op-reserve__content p {
  }

.op-reserve__content .btn {
  margin-block-start: var(--space-2);
}

/* Tablet */
@media (min-width: 768px) and (max-width: 1023px) {
  .op-hero {
    min-height: 560px;
  }

  .op-hero__panel {
    max-width: 70%;
  }

  .op-experience__grid {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: var(--space-6);
  }

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

  .op-atmosphere__grid,
  .op-management__grid {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: var(--space-6);
  }
}

/* Mobile */
@media (max-width: 767px) {
  .op-hero {
    min-height: 0;
    align-items: stretch;
  }

  .op-hero__media {
    position: relative;
    aspect-ratio: 4 / 3;
    width: 100%;
  }

  .op-hero__overlay {
    display: none;
  }

  .op-hero__container {
    padding-block: var(--space-5);
  }

  .op-hero__panel {
    max-width: 100%;
    padding: var(--space-5);
  }

  .op-hero__title {
    font-size: clamp(28px, 8vw, 36px);
  }

  .op-hero__actions {
    flex-direction: column;
    align-items: stretch;
  }

  .op-hero__actions .btn {
    width: 100%;
  }

  .op-experience__grid,
  .op-atmosphere__grid,
  .op-management__grid {
    grid-template-columns: minmax(0, 1fr);
    gap: var(--space-5);
  }

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

  .op-why__grid {
    grid-template-columns: minmax(0, 1fr);
    gap: var(--space-5);
  }

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

  .op-atmosphere__media img,
  .op-management__media img {
    aspect-ratio: 4 / 3;
  }

  .op-membership__content,
  .op-reserve__content {
    align-items: stretch;
    text-align: start;
  }

  .op-membership__content .btn,
  .op-reserve__content .btn {
    width: 100%;
  }
}


/* Poker Tables page styles */

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

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

.pt-hero__image {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 0;
}

.pt-hero__panel {
  position: relative;
  z-index: 1;
  width: 100%;
  max-width: 50%;
  margin: var(--space-8) var(--container-padding-desktop);
  padding: var(--space-7);
  border-radius: var(--radius-card);
  display: flex;
  flex-direction: column;
  gap: var(--space-4);
  align-items: flex-start;
}

.pt-hero__panel .eyebrow {
  margin-block-end: 0;
}

.pt-hero__panel h1 {
  margin-block-end: 0;
  max-width: 50ch;
}

.pt-hero__lead {
  font-size: var(--text-body-large-size);
  line-height: var(--text-body-large-line-height);
  letter-spacing: var(--text-body-large-letter-spacing);
  font-weight: var(--text-body-large-weight);
  max-width: 50ch;
  margin-block-end: 0;
}

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

/* Table Specifications */
.pt-specs {
  padding-block: var(--space-9);
}

.pt-specs .container > .eyebrow {
  margin-block-end: var(--space-3);
}

.pt-specs .container > h2 {
  margin-block-end: var(--space-7);
}

.pt-specs__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--space-5);
}

.pt-spec-card {
  display: flex;
  flex-direction: column;
  gap: var(--space-4);
  align-items: flex-start;
  min-width: 0;
}

.pt-spec-card__icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 48px;
  height: 48px;
  border-radius: var(--radius-card);
  background-color: var(--color-platinum);
  flex-shrink: 0;
}

.pt-spec-card h3 {
  margin-block-end: 0;
}

.pt-spec-card p {
  margin-block-end: 0;
}

/* VIP Private Rooms */
.pt-vip {
  padding-block: var(--space-9);
}

.pt-vip__grid {
  display: grid;
  grid-template-columns: 7fr 5fr;
  gap: var(--space-7);
  align-items: center;
}

.pt-vip__content {
  min-width: 0;
}

.pt-vip__content .eyebrow {
  margin-block-end: var(--space-3);
}

.pt-vip__content h2 {
  margin-block-end: var(--space-4);
}

.pt-vip__content > p {
  margin-block-end: var(--space-5);
}

.pt-vip__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-3) var(--space-5);
}

.pt-vip__list li {
  position: relative;
  padding-inline-start: var(--space-5);
  margin-block-end: 0;
  font-size: var(--text-body-size);
  line-height: var(--text-body-line-height);
}

.pt-vip__list li::before {
  content: '';
  position: absolute;
  inset-inline-start: 0;
  top: 0.6em;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background-color: var(--color-champagne);
}

.pt-vip__media {
  min-width: 0;
}

.pt-vip__image {
  width: 100%;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  border-radius: var(--radius-image);
}

/* Buy-In Desk */
.pt-buyin {
  padding-block: var(--space-9);
}

.pt-buyin__container {
  max-width: 800px;
  margin-inline: auto;
}

.pt-buyin__container .eyebrow {
  margin-block-end: var(--space-3);
}

.pt-buyin__container h2 {
  margin-block-end: var(--space-4);
}

.pt-buyin__intro {
  max-width: 60ch;
  margin-block-end: var(--space-6);
}

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

.pt-buyin__steps li {
  display: flex;
  gap: var(--space-4);
  align-items: flex-start;
  margin-block-end: 0;
}

.pt-buyin__step-number {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background-color: var(--color-emerald);
  color: var(--color-surface);
  font-family: var(--font-heading);
  font-size: var(--text-body-size);
  font-weight: 600;
  flex-shrink: 0;
}

.pt-buyin__steps h3 {
  margin-block-end: var(--space-1);
}

.pt-buyin__steps p {
  margin-block-end: 0;
  }

/* Table Rules */
.pt-rules {
  padding-block: var(--space-9);
}

.pt-rules__container {
  max-width: 800px;
  margin-inline: auto;
}

.pt-rules__container .eyebrow {
  margin-block-end: var(--space-3);
}

.pt-rules__container h2 {
  margin-block-end: var(--space-4);
}

.pt-rules__intro {
  max-width: 60ch;
  margin-block-end: var(--space-6);
}

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

.pt-rules__list li {
  display: flex;
  align-items: center;
  gap: var(--space-3);
  margin-block-end: 0;
  padding: var(--space-3);
  background-color: var(--color-surface);
  border: var(--border-width) solid var(--border-color);
  border-radius: var(--radius-card);
}

.pt-rules__icon {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

/* Private Group Reservations */
.pt-group {
  padding-block: var(--space-9);
}

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

.pt-group__container .eyebrow {
  margin-block-end: 0;
}

.pt-group__container h2 {
  margin-block-end: 0;
}

.pt-group__text {
  max-width: 50ch;
  margin-block-end: 0;
}

.pt-group__cta {
  margin-block-start: var(--space-2);
}

/* Table Availability */
.pt-availability {
  padding-block: var(--space-9);
}

.pt-availability__container {
  max-width: 1000px;
  margin-inline: auto;
}

.pt-availability__container .eyebrow {
  margin-block-end: var(--space-3);
}

.pt-availability__container h2 {
  margin-block-end: var(--space-4);
}

.pt-availability__intro {
  max-width: 60ch;
  margin-block-end: var(--space-6);
}

.pt-availability__table-wrap {
  overflow-x: auto;
  border: var(--border-width) solid var(--border-color);
  border-radius: var(--radius-card);
}

.pt-availability__table {
  min-width: 600px;
}

.pt-availability__table th,
.pt-availability__table td {
  max-width: 40ch;
}

.pt-availability__status {
  display: inline-flex;
  align-items: center;
  gap: var(--space-2);
  font-size: var(--text-small-size);
  line-height: var(--text-small-line-height);
  font-weight: 500;
}

.pt-availability__status::before {
  content: '';
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background-color: var(--color-emerald);
}

.pt-availability__status--limited::before {
  background-color: var(--color-champagne);
}

/* Testimonial */
.pt-testimonial {
  padding-block: var(--space-9);
}

.pt-testimonial__container {
  max-width: 700px;
  margin-inline: auto;
  text-align: center;
}

.pt-testimonial__container .eyebrow {
  margin-block-end: var(--space-3);
}

.pt-testimonial__quote {
  position: relative;
  border-inline-start: none;
  padding-inline-start: 0;
  margin-block-end: 0;
  color: var(--color-charcoal);
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--space-4);
}

.pt-testimonial__mark {
  font-family: var(--font-heading);
  font-size: 64px;
  line-height: 1;
  color: var(--color-champagne);
  font-weight: 600;
}

.pt-testimonial__quote p {
  font-size: var(--text-h3-size);
  line-height: var(--text-h3-line-height);
  letter-spacing: var(--text-h3-letter-spacing);
  font-weight: 500;
  margin-block-end: 0;
}

.pt-testimonial__author {
  font-size: var(--text-body-size);
  line-height: var(--text-body-line-height);
  color: var(--color-slate);
  font-weight: 500;
}

/* Reservation CTA */
.pt-reserve {
  padding-block: var(--space-9);
}

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

.pt-reserve__container .eyebrow {
  margin-block-end: 0;
}

.pt-reserve__container h2 {
  margin-block-end: 0;
}

.pt-reserve__text {
  max-width: 50ch;
  margin-block-end: 0;
}

.pt-reserve__actions {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-4);
  justify-content: center;
  margin-block-start: var(--space-2);
}

.pt-reserve__contact {
  margin-block-end: 0;
}

/* Responsive */
@media (max-width: 1023px) {
  .pt-hero__panel {
    max-width: 60%;
    margin: var(--space-7) var(--space-5);
    padding: var(--space-6);
  }

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

  .pt-vip__grid {
    grid-template-columns: 1fr;
    gap: var(--space-6);
  }

  .pt-vip__media {
    order: -1;
  }

  .pt-vip__list {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 767px) {
  .pt-hero {
    min-height: auto;
    flex-direction: column;
    align-items: stretch;
  }

  .pt-hero__media {
    position: relative;
    height: 50vh;
    min-height: 320px;
  }

  .pt-hero__panel {
    max-width: 100%;
    margin: 0;
    border-radius: 0;
    padding: var(--space-6) var(--container-padding-mobile);
  }

  .pt-hero__panel h1 {
    font-size: clamp(32px, 8vw, 40px);
  }

  .pt-specs__grid {
    grid-template-columns: 1fr;
  }

  .pt-buyin__steps li {
    flex-direction: column;
    gap: var(--space-2);
  }

  .pt-reserve__actions {
    flex-direction: column;
    width: 100%;
  }

  .pt-reserve__actions .btn {
    width: 100%;
  }

  .pt-availability__table-wrap {
    margin-inline: calc(-1 * var(--container-padding-mobile));
    border-radius: 0;
    border-inline: none;
  }
}


/* Card Lounge page styles */

.cl-section {
  padding-block: 64px;
}

.cl-section--platinum {
  background-color: var(--color-platinum);
}

.cl-section--canvas {
  background-color: var(--color-canvas);
}

/* Hero */
.cl-hero {
  position: relative;
  min-height: 640px;
  display: flex;
  align-items: flex-end;
  overflow: hidden;
  background-color: var(--color-platinum);
}

.cl-hero__image {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 0;
}

.cl-hero__overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(to bottom, rgba(30, 30, 30, 0) 55%, rgba(30, 30, 30, 0.4) 100%);
}

.cl-hero__panel {
  position: relative;
  z-index: 1;
  width: 100%;
  max-width: 640px;
  margin-inline: auto;
  padding: 32px 24px;
  border-radius: 12px;
  display: flex;
  flex-direction: column;
  gap: 16px;
  align-items: flex-start;
}

.cl-hero__eyebrow {
  margin-block-end: 0;
  color: var(--color-charcoal);
}

.cl-hero__title {
  font-size: clamp(36px, 5vw, 48px);
  line-height: 1.15;
  letter-spacing: -0.01em;
  font-weight: 600;
  color: var(--color-charcoal);
  margin-block-end: 0;
}

.cl-hero__text {
  color: var(--color-charcoal);
  max-width: 560px;
}

.cl-hero__cta {
  margin-block-start: 8px;
}

/* Experience */
.cl-experience__container {
  max-width: 680px;
  margin-inline: auto;
  text-align: center;
  display: flex;
  flex-direction: column;
  gap: 16px;
  align-items: center;
}

.cl-experience__eyebrow {
  margin-block-end: 0;
}

.cl-experience__title {
  margin-block-end: 0;
}

.cl-experience__text {
  margin-block-end: 0;
  max-width: 68ch;
}

/* Specs */
.cl-specs__container {
  display: flex;
  flex-direction: column;
  gap: 24px;
  align-items: flex-start;
}

.cl-specs__eyebrow {
  margin-block-end: 0;
}

.cl-specs__title {
  margin-block-end: 0;
}

.cl-specs__intro {
  max-width: 68ch;
  margin-block-end: 0;
}

.cl-specs__table-wrapper {
  width: 100%;
  overflow-x: auto;
}

.cl-specs__table {
  min-width: 640px;
  width: 100%;
}

.cl-specs__table tbody tr {
  transition: background-color var(--transition-fast);
}

.cl-specs__table tbody tr:hover {
  background-color: var(--color-sage);
}

.cl-specs__text {
  max-width: 68ch;
  margin-block-end: 0;
}

/* VIP */
.cl-vip__container {
  display: flex;
  flex-direction: column;
  gap: 24px;
  align-items: flex-start;
}

.cl-vip__eyebrow {
  margin-block-end: 0;
}

.cl-vip__title {
  margin-block-end: 0;
}

.cl-vip__grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 24px;
  width: 100%;
}

.cl-vip__card {
  display: flex;
  flex-direction: column;
  gap: 16px;
  align-items: flex-start;
  min-width: 0;
}

.cl-vip__card-title {
  margin-block-end: 0;
}

.cl-vip__card-text {
  margin-block-end: 0;
  max-width: 360px;
}

.cl-vip__list {
  margin-block-end: 0;
  padding-inline-start: 20px;
}

.cl-vip__list--contact {
  list-style: none;
  padding-inline-start: 0;
}

/* Buy-In */
.cl-buyin__container {
  display: flex;
  flex-direction: column;
  gap: 24px;
  align-items: flex-start;
}

.cl-buyin__eyebrow {
  margin-block-end: 0;
}

.cl-buyin__title {
  margin-block-end: 0;
}

.cl-buyin__grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 24px;
  width: 100%;
}

.cl-buyin__column {
  display: flex;
  flex-direction: column;
  gap: 16px;
  align-items: flex-start;
  min-width: 0;
}

.cl-buyin__column-title {
  margin-block-end: 0;
}

.cl-buyin__text {
  margin-block-end: 0;
  max-width: 68ch;
}

.cl-buyin__list {
  margin-block-end: 0;
  padding-inline-start: 20px;
}

/* Rules */
.cl-rules__container {
  display: flex;
  flex-direction: column;
  gap: 24px;
  align-items: flex-start;
}

.cl-rules__eyebrow {
  margin-block-end: 0;
}

.cl-rules__title {
  margin-block-end: 0;
}

.cl-rules__content {
  max-width: 680px;
  display: flex;
  flex-direction: column;
  gap: 16px;
  align-items: flex-start;
}

.cl-rules__subtitle {
  margin-block-end: 0;
  margin-block-start: 16px;
}

.cl-rules__text {
  margin-block-end: 0;
  max-width: 68ch;
}

.cl-rules__list {
  margin-block-end: 0;
  padding-inline-start: 24px;
}

.cl-rules__list--etiquette {
  list-style: disc;
}

/* Groups */
.cl-groups__container {
  display: flex;
  flex-direction: column;
  gap: 24px;
  align-items: flex-start;
}

.cl-groups__eyebrow {
  margin-block-end: 0;
}

.cl-groups__title {
  margin-block-end: 0;
}

.cl-groups__grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 24px;
  width: 100%;
}

.cl-groups__card {
  display: flex;
  flex-direction: column;
  gap: 16px;
  align-items: flex-start;
  min-width: 0;
}

.cl-groups__card-title {
  margin-block-end: 0;
}

.cl-groups__card-text {
  margin-block-end: 0;
  max-width: 360px;
}

.cl-groups__list {
  margin-block-end: 0;
  padding-inline-start: 20px;
}

.cl-groups__list--contact {
  list-style: none;
  padding-inline-start: 0;
}

/* Dining */
.cl-dining__container {
  display: flex;
  flex-direction: column;
  gap: 24px;
  align-items: flex-start;
}

.cl-dining__eyebrow {
  margin-block-end: 0;
}

.cl-dining__title {
  margin-block-end: 0;
}

.cl-dining__grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 24px;
  width: 100%;
}

.cl-dining__column {
  display: flex;
  flex-direction: column;
  gap: 16px;
  align-items: flex-start;
  min-width: 0;
}

.cl-dining__column-title {
  margin-block-end: 0;
}

.cl-dining__text {
  margin-block-end: 0;
  max-width: 68ch;
}

.cl-dining__list {
  margin-block-end: 0;
  padding-inline-start: 20px;
}

/* Reserve */
.cl-reserve__container {
  max-width: 560px;
  margin-inline: auto;
  text-align: center;
  display: flex;
  flex-direction: column;
  gap: 16px;
  align-items: center;
}

.cl-reserve__eyebrow {
  margin-block-end: 0;
}

.cl-reserve__title {
  margin-block-end: 0;
}

.cl-reserve__text {
  margin-block-end: 0;
  max-width: 560px;
}

.cl-reserve__cta {
  margin-block-start: 8px;
}

.cl-reserve__contact {
  margin-block-end: 0;
}

/* Tablet */
@media (min-width: 768px) {
  .cl-section {
    padding-block: 96px;
  }

  .cl-hero {
    min-height: 720px;
    align-items: center;
  }

  .cl-hero__panel {
    width: 50%;
    max-width: 640px;
    margin-inline: 0;
    margin-inline-start: 48px;
    padding: 48px;
  }

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

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

/* Desktop */
@media (min-width: 1024px) {
  .cl-vip__grid,
  .cl-groups__grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

/* Mobile adjustments */
@media (max-width: 767px) {
  .cl-hero {
    min-height: 0;
    padding-block-start: 56vw;
    align-items: flex-end;
  }

  .cl-hero__panel {
    width: 100%;
    max-width: none;
    margin-inline: 0;
    padding: 24px;
    border-radius: 12px 12px 0 0;
  }

  .cl-hero__title {
    font-size: 36px;
  }

  .cl-hero__cta {
    width: 100%;
  }

  .cl-experience__container,
  .cl-reserve__container {
    text-align: left;
    align-items: flex-start;
  }
}


/* Home page scoped styles */
.home-main {
  overflow: clip;
}

/* Hero */
.hero-section {
  position: relative;
  min-height: 640px;
  display: flex;
  align-items: center;
  background-color: var(--color-platinum);
}

.hero-media {
  position: absolute;
  inset: 0;
  z-index: 0;
}

.hero-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 0;
}

.hero-panel {
  position: relative;
  z-index: 1;
  width: 50%;
  max-width: 680px;
  margin-inline-start: var(--container-padding-desktop);
  padding: var(--space-7);
  border-radius: var(--radius-card);
  border: 1px solid rgba(255, 255, 255, 0.6);
  box-shadow: var(--shadow-card);
}

.hero-eyebrow {
  margin-block-end: var(--space-3);
}

.hero-title {
  font-size: var(--text-h1-size);
  line-height: var(--text-h1-line-height);
  letter-spacing: var(--text-h1-letter-spacing);
  font-weight: var(--text-h1-weight);
  color: var(--color-charcoal);
  margin-block-end: var(--space-4);
  max-width: 45ch;
}

.hero-subtitle {
  font-size: var(--text-body-large-size);
  line-height: var(--text-body-large-line-height);
  letter-spacing: var(--text-body-large-letter-spacing);
  font-weight: var(--text-body-large-weight);
  color: var(--color-slate);
  margin-block-end: var(--space-5);
  max-width: 45ch;
}

.hero-actions {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-4);
}

.hero-actions .btn {
  min-width: 0;
}

/* Offline Venue */
.offline-venue-section {
  padding-block: var(--space-9);
}

.offline-venue-grid {
  display: grid;
  grid-template-columns: minmax(0, 7fr) minmax(0, 5fr);
  gap: var(--space-8);
  align-items: start;
}

.offline-venue-copy {
  min-width: 0;
}

.offline-venue-lead {
  font-size: var(--text-body-large-size);
  line-height: var(--text-body-large-line-height);
  letter-spacing: var(--text-body-large-letter-spacing);
  font-weight: var(--text-body-large-weight);
  color: var(--color-charcoal);
  margin-block-end: var(--space-5);
  max-width: 68ch;
}

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

.offline-venue-list li {
  position: relative;
  padding-inline-start: var(--space-6);
  font-size: var(--text-body-size);
  line-height: var(--text-body-line-height);
  color: var(--color-charcoal);
  max-width: 60ch;
}

.offline-venue-list li::before {
  content: "✓";
  position: absolute;
  inset-inline-start: 0;
  color: var(--color-champagne);
  font-weight: 600;
}

/* Experience */
.experience-section {
  padding-block: var(--space-9);
}

.experience-heading {
  margin-block-end: var(--space-7);
}

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

.experience-card {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap: var(--space-3);
  min-width: 0;
}

.experience-icon {
  font-size: 32px;
  line-height: 1;
  color: var(--color-emerald);
  margin-block-end: var(--space-2);
}

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

.experience-card p {
  margin-block-end: 0;
  color: var(--color-slate);
}

/* Offline Advantage */
.offline-advantage-section {
  padding-block: var(--space-9);
}

.offline-advantage-heading {
  margin-block-end: var(--space-7);
}

.offline-advantage-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--space-6);
}

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

.advantage-icon {
  font-size: 28px;
  line-height: 1;
  color: var(--color-champagne);
  margin-block-end: var(--space-2);
}

.advantage-block h3 {
  margin-block-end: 0;
  font-size: var(--text-h4-size);
}

.advantage-block p {
  margin-block-end: 0;
  color: var(--color-slate);
}

/* Hardware */
.hardware-section {
  padding-block: var(--space-9);
}

.hardware-grid {
  display: grid;
  grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
  gap: var(--space-8);
  align-items: center;
}

.hardware-copy {
  min-width: 0;
}

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

.hardware-list li {
  position: relative;
  padding-inline-start: var(--space-6);
  font-size: var(--text-body-size);
  line-height: var(--text-body-line-height);
  color: var(--color-charcoal);
  max-width: 60ch;
}

.hardware-list li::before {
  content: "✓";
  position: absolute;
  inset-inline-start: 0;
  color: var(--color-champagne);
  font-weight: 600;
}

.hardware-media {
  min-width: 0;
}

.hardware-media img {
  width: 100%;
  height: auto;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  border-radius: var(--radius-image);
}

/* Restaurant */
.restaurant-section {
  padding-block: var(--space-9);
}

.restaurant-grid {
  display: grid;
  grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
  gap: var(--space-8);
  align-items: center;
}

.restaurant-copy {
  min-width: 0;
}

.restaurant-description {
  font-size: var(--text-body-large-size);
  line-height: var(--text-body-large-line-height);
  letter-spacing: var(--text-body-large-letter-spacing);
  font-weight: var(--text-body-large-weight);
  color: var(--color-charcoal);
  margin-block-end: 0;
  max-width: 68ch;
}

.restaurant-media {
  min-width: 0;
}

.restaurant-media img {
  width: 100%;
  height: auto;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  border-radius: var(--radius-image);
}

/* Mid CTA */
.mid-cta-section {
  padding-block: var(--space-9);
  background-color: var(--color-platinum);
}

.mid-cta-container {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap: var(--space-5);
  max-width: 600px;
  margin-inline: auto;
}

.mid-cta-container h2 {
  margin-block-end: 0;
  max-width: 30ch;
  margin-inline: auto;
}

/* FAQ */
.faq-section {
  padding-block: var(--space-9);
}

.faq-grid {
  display: grid;
  grid-template-columns: minmax(0, 4fr) minmax(0, 8fr);
  gap: var(--space-8);
  align-items: start;
}

.faq-heading-column {
  min-width: 0;
}

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

.faq-item {
  border: 1px solid var(--color-platinum);
  border-radius: var(--radius-card);
  background-color: var(--color-surface);
  overflow: hidden;
}

.faq-question {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-4);
  padding: var(--space-4) var(--space-5);
  background: none;
  border: none;
  cursor: pointer;
  text-align: start;
  font-size: var(--text-body-size);
  line-height: var(--text-body-line-height);
  font-weight: 600;
  color: var(--color-charcoal);
  min-height: 44px;
}

.faq-question span:first-child {
  max-width: 60ch;
}

.faq-icon {
  font-size: 24px;
  line-height: 1;
  color: var(--color-champagne);
  transition: transform var(--transition-fast);
  flex-shrink: 0;
}

.faq-item.active .faq-icon {
  transform: rotate(45deg);
}

.faq-answer {
  max-height: 0;
  overflow: hidden;
  transition: max-height var(--transition-fast);
}

.faq-answer p {
  padding: 0 var(--space-5) var(--space-4);
  margin-block-end: 0;
  color: var(--color-slate);
  }

/* Final CTA */
.final-cta-section {
  padding-block: var(--space-9);
  background-color: var(--color-emerald);
}

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

.final-cta-container h2 {
  color: var(--color-surface);
  margin-block-end: 0;
  max-width: 40ch;
  margin-inline: auto;
}

.final-cta-subheading {
  font-size: var(--text-body-large-size);
  line-height: var(--text-body-large-line-height);
  letter-spacing: var(--text-body-large-letter-spacing);
  font-weight: var(--text-body-large-weight);
  color: var(--color-surface);
  margin-block-end: 0;
  max-width: 60ch;
  margin-inline: auto;
}

.final-cta-actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: var(--space-4);
}

.final-cta-actions .btn--secondary {
  border-color: var(--color-surface);
  color: var(--color-surface);
}

.final-cta-actions .btn--secondary:hover {
  background-color: var(--color-surface);
  color: var(--color-charcoal);
  border-color: var(--color-surface);
}

/* Responsive */
@media (max-width: 1023px) {
  .hero-panel {
    width: 60%;
    margin-inline-start: var(--container-padding-desktop);
  }

  .offline-venue-grid,
  .hardware-grid,
  .restaurant-grid,
  .faq-grid {
    grid-template-columns: 1fr;
    gap: var(--space-6);
  }

  .experience-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--space-5);
  }

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

@media (max-width: 767px) {
  .hero-section {
    min-height: auto;
    flex-direction: column;
    align-items: stretch;
  }

  .hero-media {
    position: relative;
    aspect-ratio: 4 / 3;
  }

  .hero-media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }

  .hero-panel {
    width: 100%;
    max-width: none;
    margin-inline-start: 0;
    padding: var(--space-5);
    border-radius: 0;
    border: none;
    box-shadow: none;
  }

  .hero-title {
    font-size: 36px;
  }

  .hero-actions {
    flex-direction: column;
    align-items: stretch;
  }

  .hero-actions .btn {
    width: 100%;
  }

  .offline-venue-section,
  .experience-section,
  .offline-advantage-section,
  .hardware-section,
  .restaurant-section,
  .mid-cta-section,
  .faq-section,
  .final-cta-section {
    padding-block: var(--space-8);
  }

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

  .offline-advantage-grid {
    grid-template-columns: 1fr;
  }

  .hero-panel {
    order: 2;
  }

  .hero-media {
    order: 1;
  }

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

  .final-cta-actions {
    flex-direction: column;
    align-items: stretch;
    width: 100%;
  }

  .final-cta-actions .btn {
    width: 100%;
  }
}

@media (max-width: 479px) {
  .hero-panel {
    padding: var(--space-4);
  }

  .hero-title {
    font-size: 32px;
  }

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

  .offline-venue-lead,
  .restaurant-description,
  .final-cta-subheading {
    font-size: var(--text-body-size);
  }
}


/* Page-owned styles for Poker Room */

.poker-room-hero {
  position: relative;
  min-height: 80vh;
  display: flex;
  align-items: flex-end;
  overflow: hidden;
  background-color: var(--color-platinum);
}

.poker-room-hero__background {
  position: absolute;
  inset: 0;
  z-index: 0;
}

.poker-room-hero__image {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 0;
}

.poker-room-hero__overlay {
  position: absolute;
  inset: 0;
  z-index: 1;
  background: linear-gradient(to bottom, rgba(30, 30, 30, 0.05) 0%, rgba(30, 30, 30, 0.4) 100%);
}

.poker-room-hero__container {
  position: relative;
  z-index: 2;
  padding-block-end: var(--space-8);
  width: 100%;
}

.poker-room-hero__panel {
  max-width: 600px;
  padding: var(--space-7);
  border-radius: var(--radius-card);
  box-shadow: var(--shadow-card);
  animation: poker-room-hero-fade-in 600ms ease-out both;
}

@keyframes poker-room-hero-fade-in {
  from {
    opacity: 0;
    transform: translateY(16px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.poker-room-hero__eyebrow {
  margin-block-end: var(--space-3);
}

.poker-room-hero__heading {
  font-size: var(--text-h1-size);
  line-height: var(--text-h1-line-height);
  letter-spacing: var(--text-h1-letter-spacing);
  font-weight: var(--text-h1-weight);
  color: var(--color-charcoal);
  margin-block-end: var(--space-4);
  max-width: 50ch;
}

.poker-room-hero__text {
  font-size: var(--text-body-size);
  line-height: var(--text-body-line-height);
  letter-spacing: var(--text-body-letter-spacing);
  font-weight: var(--text-body-weight);
  color: var(--color-charcoal);
  margin-block-end: var(--space-5);
  max-width: 50ch;
}

.poker-room-hero__cta {
  min-width: 200px;
}

@media (max-width: 767px) {
  .poker-room-hero {
    min-height: auto;
    align-items: flex-end;
  }

  .poker-room-hero__container {
    padding-block-end: 0;
  }

  .poker-room-hero__panel {
    max-width: 100%;
    width: 100%;
    padding: var(--space-5);
    border-radius: 0;
    box-shadow: none;
  }

  .poker-room-hero__heading {
    font-size: 36px;
    line-height: 1.15;
  }

  .poker-room-hero__text {
    font-size: var(--text-body-size);
  }

  .poker-room-hero__cta {
    width: 100%;
    justify-content: center;
  }
}

.poker-room-intro__container {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--space-6);
  align-items: start;
}

.poker-room-intro__text {
  min-width: 0;
}

.poker-room-intro__lead {
  max-width: 68ch;
}

.poker-room-intro__card {
  min-width: 0;
  padding: var(--space-5);
}

.poker-room-intro__card-heading {
  margin-block-end: var(--space-4);
}

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

.poker-room-intro__list-item {
  display: flex;
  align-items: flex-start;
  gap: var(--space-3);
  margin: 0;
  max-width: 60ch;
}

.poker-room-intro__check {
  flex-shrink: 0;
  color: var(--color-champagne);
  font-weight: 600;
  font-size: var(--text-body-large-size);
  line-height: 1.4;
}

@media (min-width: 768px) {
  .poker-room-intro__container {
    grid-template-columns: minmax(0, 7fr) minmax(0, 5fr);
    gap: var(--space-7);
  }
}

.poker-room-atmosphere__container {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--space-6);
  align-items: center;
}

.poker-room-atmosphere__text {
  min-width: 0;
}

.poker-room-atmosphere__lead {
  max-width: 68ch;
}

.poker-room-atmosphere__figure {
  margin: 0;
  min-width: 0;
  overflow: hidden;
  border-radius: var(--radius-image);
  box-shadow: var(--shadow-card);
}

.poker-room-atmosphere__image {
  width: 100%;
  height: auto;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  border-radius: var(--radius-image);
  transition: transform var(--transition-fast);
}

.poker-room-atmosphere__figure:hover .poker-room-atmosphere__image {
  transform: scale(1.02);
}

@media (min-width: 768px) {
  .poker-room-atmosphere__container {
    grid-template-columns: minmax(0, 7fr) minmax(0, 5fr);
    gap: var(--space-7);
  }
}

.poker-room-games__container {
  display: flex;
  flex-direction: column;
  gap: var(--space-6);
}

.poker-room-games__header {
  min-width: 0;
}

.poker-room-games__cards {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--space-5);
}

.poker-room-games__card {
  min-width: 0;
  padding: var(--space-5);
}

.poker-room-games__list {
  list-style: disc;
  padding-inline-start: var(--space-5);
  margin-block-start: var(--space-3);
  margin-block-end: 0;
}

.poker-room-games__schedule {
  min-width: 0;
}

.poker-room-games__schedule-heading {
  margin-block-end: var(--space-4);
}

.poker-room-games__table-wrapper {
  overflow-x: auto;
  border: var(--border-width) solid var(--border-color);
  border-radius: var(--radius-card);
  background-color: var(--color-surface);
}

.poker-room-games__table {
  min-width: 600px;
  width: 100%;
  border-collapse: collapse;
}

.poker-room-games__table th,
.poker-room-games__table td {
  padding: var(--space-4);
  text-align: start;
  border-block-end: var(--border-width) solid var(--border-color);
}

.poker-room-games__table th {
  background-color: var(--color-platinum);
  font-size: var(--text-small-size);
  line-height: var(--text-small-line-height);
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.08em;
}

.poker-room-games__table tbody tr:nth-child(even) {
  background-color: var(--color-canvas);
}

.poker-room-games__table tbody tr:hover {
  background-color: var(--color-sage);
}

.poker-room-games__schedule-note {
  margin-block-start: var(--space-4);
  max-width: 60ch;
}

@media (min-width: 768px) {
  .poker-room-games__cards {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 767px) {
  .poker-room-games__table-wrapper {
    border: none;
    border-radius: 0;
    background: transparent;
  }

  .poker-room-games__table {
    min-width: 0;
  }

  .poker-room-games__table thead {
    display: none;
  }

  .poker-room-games__table tbody {
    display: flex;
    flex-direction: column;
    gap: var(--space-4);
  }

  .poker-room-games__table tr {
    display: block;
    background-color: var(--color-surface);
    border: var(--border-width) solid var(--border-color);
    border-radius: var(--radius-card);
    padding: var(--space-4);
    box-shadow: var(--shadow-card);
  }

  .poker-room-games__table td {
    display: block;
    padding: var(--space-2) 0;
    border: none;
  }

  .poker-room-games__table td::before {
    content: attr(data-label);
    display: block;
    font-size: var(--text-caption-size);
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: var(--color-slate);
    margin-block-end: var(--space-1);
  }

  .poker-room-games__table tbody tr:nth-child(even) {
    background-color: var(--color-surface);
  }
}

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

.poker-room-private__text {
  max-width: 60ch;
  margin-inline: auto;
  margin-block-end: 0;
}

.poker-room-private__cta {
  margin-block-start: var(--space-2);
}

.poker-room-faq__container {
  max-width: 800px;
  margin-inline: auto;
}

.poker-room-faq__accordion {
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
  margin-block-start: var(--space-5);
}

.poker-room-faq__item {
  border: var(--border-width) solid var(--border-color);
  border-radius: var(--radius-button);
  background-color: var(--color-surface);
  overflow: hidden;
}

.poker-room-faq__question {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-4);
  padding: var(--space-4);
  background: none;
  border: none;
  text-align: start;
  cursor: pointer;
  min-height: 44px;
  font-family: var(--font-heading);
  font-size: var(--text-body-size);
  line-height: var(--text-body-line-height);
  font-weight: 600;
  color: var(--color-charcoal);
  transition: background-color var(--transition-fast);
}

.poker-room-faq__question:hover {
  background-color: var(--color-platinum);
}

.poker-room-faq__question:focus-visible {
  outline: var(--focus-outline-width) solid var(--focus-outline-color);
  outline-offset: var(--focus-outline-offset);
}

.poker-room-faq__icon {
  flex-shrink: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 24px;
  height: 24px;
  font-size: 20px;
  line-height: 1;
  color: var(--color-champagne);
  transition: transform var(--transition-fast);
}

.poker-room-faq__item.is-open .poker-room-faq__icon {
  transform: rotate(45deg);
}

.poker-room-faq__answer {
  max-height: 0;
  overflow: hidden;
  transition: max-height 200ms ease-out;
}

.poker-room-faq__answer p {
  padding: 0 var(--space-4) var(--space-4);
  margin: 0;
  }

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

.poker-room-final__text {
  max-width: 60ch;
  margin-inline: auto;
  margin-block-end: 0;
}

.poker-room-final__cta {
  margin-block-start: var(--space-2);
}

.poker-room-final__text a {
  color: var(--color-charcoal);
  text-decoration: underline;
  text-underline-offset: 2px;
}

.poker-room-final__text a:hover {
  color: var(--color-champagne-hover);
}

@media (max-width: 767px) {
  .poker-room-hero__panel {
    padding: var(--space-5);
  }

  .poker-room-intro__container,
  .poker-room-atmosphere__container {
    gap: var(--space-5);
  }

  .poker-room-private__container,
  .poker-room-final__container {
    padding-inline: var(--space-5);
  }
}


/* Restaurant & Bar page styles */
.rb-hero {
  position: relative;
  min-height: 520px;
  display: flex;
  align-items: flex-end;
  overflow: hidden;
  background-color: var(--color-platinum);
}

.rb-hero__image {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 0;
  z-index: 0;
}

.rb-hero::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(to bottom, transparent 40%, rgba(30, 30, 30, 0.4) 100%);
  z-index: 1;
}

.rb-hero__panel {
  position: relative;
  z-index: 2;
  width: 100%;
  max-width: 50%;
  margin: var(--space-8) 0;
  margin-inline-start: var(--container-padding-mobile);
  padding: var(--space-6);
  border-radius: var(--radius-card);
  border: var(--border-width) solid var(--border-color);
  box-shadow: var(--shadow-card);
  display: flex;
  flex-direction: column;
  gap: var(--space-4);
  align-items: flex-start;
}

.rb-hero__panel .eyebrow {
  margin-block-end: 0;
}

.rb-hero__panel h1 {
  margin-block-end: 0;
  max-width: 50ch;
}

.rb-hero__lead {
  max-width: 50ch;
  margin-block-end: 0;
  color: var(--color-charcoal);
}

.rb-hero__details {
  list-style: none;
  padding-inline-start: 0;
  margin-block-end: 0;
  display: flex;
  flex-direction: column;
  gap: var(--space-2);
  max-width: 50ch;
}

.rb-hero__details li {
  margin-block-end: 0;
  padding-inline-start: var(--space-5);
  position: relative;
  font-size: var(--text-small-size);
  color: var(--color-slate);
}

.rb-hero__details li::before {
  content: '•';
  position: absolute;
  inset-inline-start: 0;
  color: var(--color-champagne);
  font-weight: 600;
}

.rb-philosophy {
  background-color: var(--color-platinum);
}

.rb-philosophy__grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--space-6);
  align-items: center;
}

.rb-philosophy__content {
  min-width: 0;
}

.rb-philosophy__content .eyebrow {
  margin-block-end: var(--space-3);
}

.rb-philosophy__content h2 {
  margin-block-end: var(--space-4);
}

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

.rb-philosophy__content p:last-child {
  margin-block-end: 0;
}

.rb-philosophy__media {
  margin-block-end: 0;
  min-width: 0;
}

.rb-philosophy__image {
  width: 100%;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  border-radius: var(--radius-image);
}

.rb-section-heading {
  margin-block-end: var(--space-6);
}

.rb-section-heading .eyebrow {
  margin-block-end: var(--space-3);
}

.rb-section-heading h2 {
  margin-block-end: 0;
}

.rb-highlights__grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--space-5);
}

.rb-highlight-card {
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: var(--space-4);
  padding: 0;
  overflow: hidden;
}

.rb-highlight-card__image {
  width: 100%;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  border-radius: 0;
}

.rb-highlight-card__body {
  padding: var(--space-5);
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
  text-align: center;
  align-items: center;
}

.rb-highlight-card__body h3 {
  margin-block-end: 0;
}

.rb-highlight-card__body p {
  margin-block-end: 0;
}

.rb-menu {
  background-color: var(--color-platinum);
}

.rb-menu__grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--space-6);
  align-items: start;
}

.rb-menu__food {
  min-width: 0;
}

.rb-menu__food .eyebrow {
  margin-block-end: var(--space-3);
}

.rb-menu__food h2 {
  margin-block-end: var(--space-5);
}

.rb-menu-category {
  margin-block-end: var(--space-5);
}

.rb-menu-category:last-child {
  margin-block-end: 0;
}

.rb-menu-category h3,
.rb-menu-category h4 {
  margin-block-end: var(--space-3);
}

.rb-menu-category p {
  margin-block-end: var(--space-3);
}

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

.rb-menu-list li {
  margin-block-end: 0;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: var(--space-2);
  padding-block: var(--space-2);
  border-block-end: var(--border-width) solid var(--border-color);
}

.rb-menu-list li:last-child {
  border-block-end: none;
}

.rb-menu-list li span:first-child {
  font-weight: 600;
  min-width: 0;
}

.rb-menu-list li span:last-child {
  color: var(--color-slate);
  font-size: var(--text-small-size);
  text-align: end;
  min-width: 0;
}

.rb-menu__drinks {
  min-width: 0;
  background-color: var(--color-surface);
  border: var(--border-width) solid var(--border-color);
  border-radius: var(--radius-card);
  padding: var(--space-5);
}

.rb-menu__drinks h3 {
  margin-block-end: var(--space-4);
}

.rb-bar__grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--space-6);
  align-items: center;
}

.rb-bar__content {
  min-width: 0;
}

.rb-bar__content .eyebrow {
  margin-block-end: var(--space-3);
}

.rb-bar__content h2 {
  margin-block-end: var(--space-4);
}

.rb-bar__content h3 {
  margin-block-end: var(--space-3);
  margin-block-start: var(--space-4);
}

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

.rb-bar__content p:last-child {
  margin-block-end: 0;
}

.rb-bar__media {
  margin-block-end: 0;
  min-width: 0;
}

.rb-bar__image {
  width: 100%;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  border-radius: var(--radius-image);
}

.rb-private {
  background-color: var(--color-platinum);
}

.rb-private__grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--space-5);
}

.rb-private-card {
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
  align-items: flex-start;
}

.rb-private-card h3 {
  margin-block-end: 0;
}

.rb-private-card p {
  margin-block-end: 0;
}

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

.rb-private-list li {
  margin-block-end: 0;
  padding-inline-start: var(--space-5);
  position: relative;
  font-size: var(--text-small-size);
  color: var(--color-slate);
}

.rb-private-list li::before {
  content: '•';
  position: absolute;
  inset-inline-start: 0;
  color: var(--color-champagne);
  font-weight: 600;
}

.rb-tableside__grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--space-6);
  align-items: center;
}

.rb-tableside__content {
  min-width: 0;
}

.rb-tableside__content .eyebrow {
  margin-block-end: var(--space-3);
}

.rb-tableside__content h2 {
  margin-block-end: var(--space-4);
}

.rb-tableside__content h3 {
  margin-block-end: var(--space-3);
  margin-block-start: var(--space-4);
}

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

.rb-tableside__content p:last-child {
  margin-block-end: 0;
}

.rb-tableside__icon {
  min-width: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: var(--space-3);
  background-color: var(--color-emerald);
  color: var(--color-surface);
  border-radius: var(--radius-card);
  padding: var(--space-6);
  text-align: center;
}

.rb-tableside__icon-mark {
  font-size: 64px;
  line-height: 1;
  font-weight: 600;
  color: var(--color-champagne);
}

.rb-tableside__icon-text {
  font-family: var(--font-heading);
  font-size: var(--text-body-large-size);
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  line-height: 1.4;
}

.rb-cta {
  background-color: var(--color-champagne);
}

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

.rb-cta__block h2 {
  margin-block-end: 0;
  color: var(--color-charcoal);
}

.rb-cta__block p {
  margin-block-end: 0;
  color: var(--color-charcoal);
}

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

.rb-cta__contacts li {
  margin-block-end: 0;
}

.rb-cta__contacts a {
  color: var(--color-charcoal);
  text-decoration: underline;
}

.rb-cta__contacts a:hover {
  color: var(--color-surface);
}

@media (min-width: 768px) {
  .rb-hero {
    min-height: 600px;
  }

  .rb-hero__panel {
    max-width: 50%;
    margin-inline-start: var(--container-padding-desktop);
    padding: var(--space-7);
  }

  .rb-philosophy__grid {
    grid-template-columns: 3fr 2fr;
    gap: var(--space-7);
  }

  .rb-highlights__grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: var(--space-5);
  }

  .rb-menu__grid {
    grid-template-columns: 3fr 2fr;
    gap: var(--space-7);
  }

  .rb-bar__grid {
    grid-template-columns: 1fr 1fr;
    gap: var(--space-7);
  }

  .rb-private__grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: var(--space-5);
  }

  .rb-tableside__grid {
    grid-template-columns: 3fr 2fr;
    gap: var(--space-7);
  }
}

@media (max-width: 767px) {
  .rb-hero {
    align-items: flex-end;
  }

  .rb-hero__panel {
    max-width: 100%;
    margin: var(--space-4);
    margin-block-start: auto;
    padding: var(--space-5);
  }

  .rb-hero__panel h1 {
    font-size: var(--text-h2-size);
  }

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

  .rb-hero__details li {
    font-size: var(--text-small-size);
  }

  .rb-menu-list li {
    flex-direction: column;
    gap: var(--space-1);
  }

  .rb-menu-list li span:last-child {
    text-align: start;
  }

  .rb-tableside__icon {
    padding: var(--space-5);
  }

  .rb-tableside__icon-mark {
    font-size: 48px;
  }

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

@media (min-width: 1024px) {
  .rb-hero {
    min-height: 680px;
  }

  .rb-hero__panel {
    padding: var(--space-8);
  }
}


/* Private Poker Events page styles */

#private-poker-events {
  --ppe-hero-height: 80vh;
  --ppe-hero-height-mobile: 60vh;
}

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

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

.ppe-hero__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 0;
}

.ppe-hero__media::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(to right, rgba(30, 30, 30, 0.05) 0%, rgba(30, 30, 30, 0.4) 100%);
}

.ppe-hero__panel {
  position: relative;
  z-index: 1;
  width: 100%;
  max-width: 50%;
  margin: 0;
  padding: var(--space-7);
  border-radius: 0 var(--radius-card) 0 0;
  display: flex;
  flex-direction: column;
  gap: var(--space-4);
  align-items: flex-start;
}

.ppe-hero__panel .eyebrow {
  color: var(--color-slate);
  margin-block-end: 0;
}

.ppe-hero__panel h1 {
  font-size: var(--text-h1-size);
  line-height: var(--text-h1-line-height);
  letter-spacing: var(--text-h1-letter-spacing);
  font-weight: var(--text-h1-weight);
  color: var(--color-charcoal);
  max-width: 45ch;
  margin-block-end: 0;
}

.ppe-hero__lead {
  font-size: var(--text-body-large-size);
  line-height: var(--text-body-large-line-height);
  color: var(--color-slate);
  max-width: 45ch;
  margin-block-end: 0;
}

.ppe-hero__actions {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-4);
  margin-block-start: var(--space-2);
}

.ppe-hero__actions .btn {
  flex-shrink: 0;
}

/* Section heading pattern */
.ppe-section-heading {
  max-width: 68ch;
  margin-block-end: var(--space-7);
}

.ppe-section-heading .eyebrow {
  margin-block-end: var(--space-3);
}

.ppe-section-heading h2 {
  margin-block-end: var(--space-4);
}

.ppe-section-intro {
  font-size: var(--text-body-large-size);
  line-height: var(--text-body-large-line-height);
  color: var(--color-slate);
  margin-block-end: 0;
}

/* Event Types Overview */
.ppe-event-types__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--space-5);
}

.ppe-event-card {
  background-color: var(--color-surface);
  border: var(--border-width) solid var(--border-color);
  border-radius: var(--radius-card);
  padding: var(--space-5);
  box-shadow: var(--shadow-card);
  transition: box-shadow var(--transition-fast), transform var(--transition-fast);
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
  min-width: 0;
  position: relative;
  overflow: hidden;
}

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

.ppe-event-card__accent {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 4px;
  background-color: var(--color-emerald);
}

.ppe-event-card h3 {
  margin-block-end: 0;
  max-width: 35ch;
}

.ppe-event-card p {
  margin-block-end: 0;
}

.ppe-event-card ul {
  padding-inline-start: var(--space-5);
  margin-block-end: 0;
  max-width: 35ch;
}

.ppe-event-card__note {
  font-size: var(--text-small-size);
  line-height: var(--text-small-line-height);
  color: var(--color-slate);
  margin-block-start: auto;
  padding-block-start: var(--space-3);
  border-block-start: var(--border-width) solid var(--border-color);
}

/* The Pokerden Back Difference */
.ppe-difference__layout {
  display: grid;
  grid-template-columns: minmax(0, 7fr) minmax(0, 5fr);
  gap: var(--space-7);
  align-items: start;
}

.ppe-difference__content {
  min-width: 0;
}

.ppe-difference__content .ppe-section-intro {
  max-width: 55ch;
  margin-block-end: var(--space-6);
}

.ppe-difference__features {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-5);
}

.ppe-difference__feature {
  min-width: 0;
  padding-inline-start: var(--space-4);
  border-inline-start: 3px solid var(--color-emerald);
}

.ppe-difference__feature h4 {
  margin-block-end: var(--space-2);
  max-width: 30ch;
}

.ppe-difference__feature p {
  margin-block-end: 0;
}

.ppe-difference__media {
  min-width: 0;
}

.ppe-difference__media img {
  width: 100%;
  height: auto;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  border-radius: var(--radius-image);
}

/* Event Customization Options */
.ppe-customization__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--space-5);
  background-color: var(--color-platinum);
  padding: var(--space-6);
  border-radius: var(--radius-card);
}

.ppe-customization__column {
  min-width: 0;
}

.ppe-customization__column h3 {
  margin-block-end: var(--space-4);
  max-width: 40ch;
}

.ppe-customization__column ul {
  padding-inline-start: var(--space-5);
  margin-block-end: 0;
  max-width: 40ch;
}

/* Sample Event Formats */
.ppe-formats__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-5);
}

.ppe-format-card {
  background-color: var(--color-surface);
  border: var(--border-width) solid var(--color-champagne);
  border-radius: var(--radius-card);
  padding: var(--space-6);
  display: flex;
  flex-direction: column;
  gap: var(--space-4);
  min-width: 0;
}

.ppe-format-card h3 {
  margin-block-end: 0;
  max-width: 45ch;
}

.ppe-format-card p {
  margin-block-end: 0;
}

.ppe-format-card ul {
  padding-inline-start: var(--space-5);
  margin-block-end: 0;
  max-width: 45ch;
}

.ppe-format-card__meta {
  font-size: var(--text-small-size);
  line-height: var(--text-small-line-height);
  color: var(--color-slate);
  margin-block-start: auto;
  padding-block-start: var(--space-3);
  border-block-start: var(--border-width) solid var(--border-color);
}

/* The Venue Experience */
.ppe-venue__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-5);
}

.ppe-venue__figure {
  min-width: 0;
  margin-block-end: 0;
}

.ppe-venue__figure img {
  width: 100%;
  height: auto;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  border-radius: var(--radius-image);
}

.ppe-venue__figure figcaption {
  max-width: 30ch;
  margin-block-start: var(--space-3);
}

/* Booking Process */
.ppe-booking__steps {
  list-style: none;
  padding-inline-start: 0;
  margin-block-end: 0;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: var(--space-5);
  position: relative;
  counter-reset: ppe-step;
}

.ppe-booking__steps::before {
  content: '';
  position: absolute;
  top: 24px;
  left: 12.5%;
  right: 12.5%;
  height: 2px;
  background-color: var(--color-platinum);
  z-index: 0;
}

.ppe-booking__step {
  min-width: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap: var(--space-3);
  position: relative;
  z-index: 1;
}

.ppe-booking__number {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 48px;
  height: 48px;
  border-radius: 50%;
  background-color: var(--color-champagne);
  color: var(--color-charcoal);
  font-family: var(--font-heading);
  font-size: var(--text-h4-size);
  font-weight: 600;
  line-height: 1;
  flex-shrink: 0;
}

.ppe-booking__step h3 {
  margin-block-end: 0;
  max-width: 25ch;
}

.ppe-booking__step p {
  margin-block-end: 0;
  color: var(--color-slate);
}

/* Testimonials */
.ppe-testimonials__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-5);
}

.ppe-testimonial-card {
  background-color: var(--color-surface);
  border: var(--border-width) solid var(--color-champagne);
  border-radius: var(--radius-card);
  padding: var(--space-6);
  margin-block-end: 0;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: var(--space-4);
}

.ppe-testimonial-card p {
  margin-block-end: 0;
  font-size: var(--text-body-large-size);
  line-height: var(--text-body-large-line-height);
}

.ppe-testimonial-card footer {
  font-size: var(--text-small-size);
  line-height: var(--text-small-line-height);
  color: var(--color-slate);
  margin-block-start: auto;
}

/* FAQ */
.ppe-faq__container {
  max-width: 800px;
}

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

.ppe-faq__item {
  background-color: var(--color-surface);
  border: var(--border-width) solid var(--border-color);
  border-radius: var(--radius-card);
  overflow: hidden;
}

.ppe-faq__question {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-4);
  padding: var(--space-4) var(--space-5);
  font-family: var(--font-heading);
  font-size: var(--text-body-size);
  line-height: var(--text-body-line-height);
  font-weight: 600;
  color: var(--color-charcoal);
  text-transform: none;
  letter-spacing: 0;
  text-align: start;
  background-color: transparent;
  border: none;
  border-radius: 0;
  min-height: 44px;
}

.ppe-faq__question:hover {
  background-color: var(--color-canvas);
}

.ppe-faq__icon {
  position: relative;
  width: 16px;
  height: 16px;
  flex-shrink: 0;
}

.ppe-faq__icon::before,
.ppe-faq__icon::after {
  content: '';
  position: absolute;
  background-color: var(--color-charcoal);
  transition: transform var(--transition-fast);
}

.ppe-faq__icon::before {
  top: 50%;
  left: 0;
  width: 100%;
  height: 2px;
  transform: translateY(-50%);
}

.ppe-faq__icon::after {
  top: 0;
  left: 50%;
  width: 2px;
  height: 100%;
  transform: translateX(-50%);
}

.ppe-faq__item.is-active .ppe-faq__icon::after {
  transform: translateX(-50%) scaleY(0);
}

.ppe-faq__answer {
  max-height: 0;
  overflow: hidden;
  transition: max-height var(--transition-fast);
}

.ppe-faq__answer p {
  padding: 0 var(--space-5) var(--space-5);
  margin-block-end: 0;
  color: var(--color-slate);
}

/* Inquiry Form */
.ppe-inquiry__container {
  max-width: 600px;
}

.ppe-inquiry__form {
  background-color: var(--color-surface);
  border: var(--border-width) solid var(--border-color);
  border-radius: var(--radius-card);
  padding: var(--space-7);
  box-shadow: var(--shadow-card);
  display: flex;
  flex-direction: column;
  gap: var(--space-5);
}

.ppe-form__row {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-5);
}

.ppe-form__field {
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: var(--space-2);
}

.ppe-form__field label {
  margin-block-end: 0;
}

.ppe-form__field input,
.ppe-form__field select,
.ppe-form__field textarea {
  width: 100%;
  max-width: 100%;
}

.ppe-form__consent {
  display: flex;
  align-items: flex-start;
  gap: var(--space-3);
}

.ppe-form__consent input {
  margin-block-start: 4px;
  flex-shrink: 0;
}

.ppe-form__consent label {
  margin-block-end: 0;
  font-weight: 400;
}

.ppe-form__privacy {
  font-size: var(--text-small-size);
  line-height: var(--text-small-line-height);
  color: var(--color-slate);
  margin-block-end: 0;
}

.ppe-form__submit {
  align-self: flex-start;
}

.ppe-form__success {
  background-color: var(--color-sage);
  color: var(--color-charcoal);
  padding: var(--space-4);
  border-radius: var(--radius-button);
  margin-block-end: 0;
}

/* Responsive */
@media (max-width: 1023px) {
  .ppe-hero__panel {
    max-width: 60%;
  }

  .ppe-difference__layout {
    grid-template-columns: 1fr;
    gap: var(--space-6);
  }

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

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

  .ppe-booking__steps::before {
    display: none;
  }

  .ppe-booking__step {
    align-items: flex-start;
    text-align: start;
  }
}

@media (max-width: 767px) {
  #private-poker-events {
    --ppe-hero-height: var(--ppe-hero-height-mobile);
  }

  .ppe-hero {
    min-height: var(--ppe-hero-height-mobile);
    align-items: flex-end;
  }

  .ppe-hero__media::after {
    background: linear-gradient(to top, rgba(30, 30, 30, 0.05) 0%, rgba(30, 30, 30, 0.4) 100%);
  }

  .ppe-hero__panel {
    max-width: 100%;
    width: 100%;
    padding: var(--space-5);
    border-radius: var(--radius-card) var(--radius-card) 0 0;
  }

  .ppe-hero__panel h1 {
    font-size: 36px;
    max-width: 100%;
  }

  .ppe-hero__lead {
    max-width: 100%;
  }

  .ppe-hero__actions {
    flex-direction: column;
    width: 100%;
  }

  .ppe-hero__actions .btn {
    width: 100%;
  }

  .ppe-event-types__grid,
  .ppe-customization__grid,
  .ppe-formats__grid,
  .ppe-venue__grid,
  .ppe-testimonials__grid {
    grid-template-columns: 1fr;
  }

  .ppe-customization__grid {
    padding: var(--space-5);
  }

  .ppe-difference__features {
    grid-template-columns: 1fr;
  }

  .ppe-booking__steps {
    grid-template-columns: 1fr;
  }

  .ppe-booking__step {
    align-items: flex-start;
    text-align: start;
    flex-direction: row;
    gap: var(--space-4);
  }

  .ppe-booking__number {
    width: 40px;
    height: 40px;
    font-size: var(--text-h4-size);
  }

  .ppe-form__row {
    grid-template-columns: 1fr;
  }

  .ppe-inquiry__form {
    padding: var(--space-5);
  }

  .ppe-form__submit {
    width: 100%;
  }
}

@media (max-width: 479px) {
  .ppe-hero__panel h1 {
    font-size: 32px;
  }

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


@layer thank-you {
  .thank-you {
    padding-block: var(--space-8);
  }

  @media (min-width: 768px) {
    .thank-you {
      padding-block: var(--space-9);
    }
  }

  .thank-you__content {
    max-width: 640px;
    margin-inline: auto;
    text-align: center;
  }

  .thank-you__message {
    margin-block-end: var(--space-4);
  }

  .thank-you__next {
    margin-block-end: var(--space-6);
    color: var(--color-slate);
  }

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