

@layer reset, base, primitives;

@layer reset {
  *, *::before, *::after {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
    border: 0;
    font: inherit;
    vertical-align: baseline;
  }

  html {
    -webkit-text-size-adjust: 100%;
    text-size-adjust: 100%;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    scroll-behavior: smooth;
  }

  body {
    min-height: 100vh;
    line-height: 1;
    -webkit-tap-highlight-color: transparent;
  }

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

  input, button, textarea, select {
    font: inherit;
    color: inherit;
    background: none;
    border: none;
    border-radius: 0;
    outline: none;
    appearance: none;
    -webkit-appearance: none;
  }

  button {
    cursor: pointer;
    background: transparent;
  }

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

  ul, ol {
    list-style: none;
  }

  blockquote, q {
    quotes: none;
  }

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

  table {
    border-collapse: collapse;
    border-spacing: 0;
  }

  hr {
    border: none;
    height: 1px;
    background: currentColor;
  }

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

@layer base {
  :root {
    --color-paper: #F5F0E6;
    --color-oat: #E8DFD0;
    --color-forest: #2C4A3B;
    --color-terracotta: #B85C4A;
    --color-olive: #7A8B5A;
    --color-ink: #1E2A22;
    --color-paper-light: #FCF9F2;
    --color-terracotta-dark: #9E4A3A;

    --font-heading: "Cormorant Garamond", Georgia, "Times New Roman", serif;
    --font-body: "Source Serif Pro", Georgia, "Times New Roman", serif;

    --text-xs: 0.75rem;
    --text-sm: 0.875rem;
    --text-base: 1rem;
    --text-md: 1.125rem;
    --text-lg: 1.5rem;
    --text-xl: 2rem;
    --text-2xl: 2.75rem;
    --text-3xl: 3.5rem;
    --text-4xl: 4.5rem;

    --leading-xs: 1.2;
    --leading-sm: 1.4;
    --leading-base: 1.6;
    --leading-md: 1.5;
    --leading-lg: 1.3;
    --leading-xl: 1.2;
    --leading-2xl: 1.15;
    --leading-3xl: 1.1;
    --leading-4xl: 1.05;

    --space-3xs: 0.25rem;
    --space-2xs: 0.5rem;
    --space-xs: 0.75rem;
    --space-sm: 1rem;
    --space-md: 1.5rem;
    --space-lg: 2rem;
    --space-xl: 3rem;
    --space-2xl: 4rem;
    --space-3xl: 6rem;
    --space-4xl: 8rem;

    --container-standard: 1200px;
    --container-wide: 1440px;
    --gutter-mobile: 1.5rem;
    --gutter-tablet: 2rem;
    --gutter-desktop: 3rem;

    --radius-2xs: 2px;
    --radius-xs: 4px;
    --radius-sm: 6px;
    --radius-md: 8px;
    --radius-lg: 12px;
    --radius-xl: 16px;

    --border-forest-20: color-mix(in srgb, var(--color-forest) 20%, transparent);
    --border-forest-15: color-mix(in srgb, var(--color-forest) 15%, transparent);
    --border-forest-30: color-mix(in srgb, var(--color-forest) 30%, transparent);
    --border-ink-20: color-mix(in srgb, var(--color-ink) 20%, transparent);
    --border-ink-30: color-mix(in srgb, var(--color-ink) 30%, transparent);

    --shadow-card: 0 1px 2px rgba(30, 42, 34, 0.05);
    --shadow-modal: 0 2px 8px rgba(30, 42, 34, 0.08);
    --shadow-framed-image: 4px 4px 0 rgba(30, 42, 34, 0.1);

    --transition-color: 200ms ease-out;
    --transition-transform: 300ms ease-out;

    --focus-ring: 2px solid var(--color-terracotta);
    --focus-ring-offset: 2px;
  }

  html {
    font-size: 100%;
    background-color: var(--color-paper);
  }

  body {
    font-family: var(--font-body);
    font-size: var(--text-base);
    line-height: var(--leading-base);
    color: var(--color-forest);
    background-color: var(--color-paper);
    background-image:
      repeating-linear-gradient(
        0deg,
        rgba(30, 42, 34, 0.012) 0px,
        rgba(30, 42, 34, 0.012) 1px,
        transparent 1px,
        transparent 3px
      ),
      repeating-linear-gradient(
        90deg,
        rgba(30, 42, 34, 0.01) 0px,
        rgba(30, 42, 34, 0.01) 1px,
        transparent 1px,
        transparent 3px
      );
    overflow-x: hidden;
    width: 100%;
    max-width: 100%;
  }

  h1, h2, h3, h4, h5, h6 {
    font-family: var(--font-heading);
    color: var(--color-forest);
    letter-spacing: 0.02em;
    font-weight: 600;
    line-height: var(--leading-lg);
    margin-block-end: var(--space-md);
  }

  h1 {
    font-size: clamp(var(--text-2xl), 4vw + 1rem, var(--text-4xl));
    line-height: var(--leading-2xl);
    margin-block-end: var(--space-lg);
  }

  h2 {
    font-size: clamp(var(--text-xl), 2.5vw + 0.75rem, var(--text-3xl));
    line-height: var(--leading-xl);
    margin-block-end: var(--space-md);
  }

  h3 {
    font-size: clamp(var(--text-lg), 1.5vw + 0.75rem, var(--text-2xl));
    line-height: var(--leading-lg);
    margin-block-end: var(--space-md);
  }

  h4 {
    font-size: var(--text-lg);
    line-height: var(--leading-lg);
    margin-block-end: var(--space-sm);
  }

  h5 {
    font-size: var(--text-md);
    line-height: var(--leading-md);
    margin-block-end: var(--space-sm);
  }

  h6 {
    font-size: var(--text-base);
    line-height: var(--leading-base);
    margin-block-end: var(--space-sm);
  }

  p {
    font-size: var(--text-base);
    line-height: var(--leading-base);
    color: var(--color-forest);
    margin-block-end: var(--space-md);
  }

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

  a {
    color: var(--color-forest);
    text-decoration: underline;
    text-decoration-color: var(--color-terracotta);
    text-decoration-thickness: 1px;
    text-underline-offset: 3px;
    transition: color var(--transition-color), text-decoration-color var(--transition-color);
  }

  a:hover {
    color: var(--color-terracotta-dark);
    text-decoration-color: var(--color-terracotta-dark);
  }

  a:focus-visible {
    outline: var(--focus-ring);
    outline-offset: var(--focus-ring-offset);
    border-radius: var(--radius-2xs);
  }

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

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

  ul {
    list-style-type: disc;
  }

  ol {
    list-style-type: decimal;
  }

  li {
    margin-block-end: var(--space-2xs);
    line-height: var(--leading-base);
  }

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

  blockquote {
    font-family: var(--font-heading);
    font-style: italic;
    font-size: var(--text-lg);
    line-height: var(--leading-lg);
    color: var(--color-forest);
    margin-block-end: var(--space-md);
    padding-inline-start: var(--space-md);
    border-inline-start: 2px solid var(--color-olive);
  }

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

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

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

  figcaption {
    font-size: var(--text-sm);
    line-height: var(--leading-sm);
    color: var(--color-forest);
    margin-block-start: var(--space-2xs);
  }

  hr {
    height: 1px;
    background-color: var(--border-forest-15);
    margin-block: var(--space-lg);
    border: none;
  }

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

  strong {
    font-weight: 700;
    color: var(--color-ink);
  }

  em {
    font-style: italic;
  }

  code, kbd, samp, pre {
    font-family: "SFMono-Regular", Consolas, "Liberation Mono", Menlo, monospace;
    font-size: 0.9em;
  }

  pre {
    background-color: var(--color-oat);
    padding: var(--space-sm);
    border-radius: var(--radius-xs);
    border: 1px solid var(--border-forest-20);
    overflow-x: auto;
    margin-block-end: var(--space-md);
    line-height: var(--leading-base);
  }

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

  img {
    max-width: 100%;
    height: auto;
    border-radius: var(--radius-sm);
  }

  img[data-framed="true"],
  .framed-image img {
    border: 1px solid var(--border-forest-20);
    box-shadow: var(--shadow-framed-image);
  }

  @media (max-width: 767px) {
    img[data-framed="true"],
    .framed-image img {
      box-shadow: none;
    }
  }

  label {
    display: block;
    font-size: var(--text-sm);
    font-weight: 600;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: var(--color-forest);
    margin-block-end: var(--space-2xs);
  }

  input,
  textarea,
  select {
    width: 100%;
    background-color: var(--color-paper-light);
    border: 1px solid var(--border-forest-30);
    border-radius: var(--radius-xs);
    padding: var(--space-xs) var(--space-sm);
    font-family: var(--font-body);
    font-size: var(--text-base);
    line-height: var(--leading-base);
    color: var(--color-forest);
    transition: border-color var(--transition-color), box-shadow var(--transition-color);
  }

  input::placeholder,
  textarea::placeholder {
    color: color-mix(in srgb, var(--color-forest) 50%, transparent);
  }

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

  input:focus-visible,
  textarea:focus-visible,
  select:focus-visible {
    outline: var(--focus-ring);
    outline-offset: var(--focus-ring-offset);
  }

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

  select {
    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='%232C4A3B' stroke-width='1.5' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right var(--space-sm) center;
    padding-inline-end: var(--space-lg);
    cursor: pointer;
  }

  fieldset {
    border: 1px solid var(--border-forest-20);
    border-radius: var(--radius-sm);
    padding: var(--space-md);
    margin-block-end: var(--space-md);
  }

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

  legend {
    font-family: var(--font-heading);
    font-size: var(--text-md);
    color: var(--color-forest);
    padding-inline: var(--space-2xs);
  }

  button:focus-visible,
  [role="button"]:focus-visible {
    outline: var(--focus-ring);
    outline-offset: var(--focus-ring-offset);
    border-radius: var(--radius-xs);
  }

  ::selection {
    background-color: color-mix(in srgb, var(--color-terracotta) 25%, transparent);
    color: var(--color-ink);
  }

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

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

  .container--wide {
    max-width: var(--container-wide);
  }

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

  @media (min-width: 1024px) {
    .container {
      padding-inline: var(--gutter-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-2xs);
    font-family: var(--font-body);
    font-size: var(--text-sm);
    font-weight: 600;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    text-decoration: none;
    line-height: 1.2;
    padding: var(--space-xs) var(--space-md);
    border-radius: var(--radius-xs);
    border: 1px solid transparent;
    min-height: 44px;
    cursor: pointer;
    transition: background-color var(--transition-color), border-color var(--transition-color), color var(--transition-color), transform var(--transition-transform);
    user-select: none;
    -webkit-user-select: none;
  }

  .btn:active {
    transform: translateY(1px);
  }

  .btn--primary {
    background-color: var(--color-terracotta);
    border-color: var(--color-terracotta);
    color: var(--color-paper);
  }

  .btn--primary:hover {
    background-color: var(--color-terracotta-dark);
    border-color: var(--color-terracotta-dark);
    color: var(--color-paper);
  }

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

  .btn--secondary:hover {
    background-color: color-mix(in srgb, var(--color-forest) 8%, transparent);
    border-color: var(--color-forest);
    color: var(--color-forest);
  }

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

  .btn--olive:hover {
    background-color: color-mix(in srgb, var(--color-olive) 12%, transparent);
    border-color: var(--color-olive);
    color: var(--color-olive);
  }

  .tag {
    display: inline-block;
    font-size: var(--text-xs);
    font-weight: 600;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: var(--color-forest);
    background-color: var(--color-oat);
    border: 1px solid var(--color-olive);
    border-radius: var(--radius-2xs);
    padding: var(--space-3xs) var(--space-2xs);
    line-height: var(--leading-xs);
  }

  .card {
    background-color: var(--color-oat);
    border: 1px solid var(--border-forest-20);
    border-radius: var(--radius-md);
    padding: var(--space-md);
    box-shadow: var(--shadow-card);
  }

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

  .card--elevated {
    background-color: var(--color-paper-light);
    box-shadow: var(--shadow-modal);
  }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  .font-heading {
    font-family: var(--font-heading);
  }

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

  .italic {
    font-style: italic;
  }

  .uppercase {
    text-transform: uppercase;
    letter-spacing: 0.1em;
  }

  .letter-spacing-heading {
    letter-spacing: 0.02em;
  }

  .letter-spacing-label {
    letter-spacing: 0.1em;
  }

  .border-forest-20 {
    border-color: var(--border-forest-20);
  }

  .border-forest-15 {
    border-color: var(--border-forest-15);
  }

  .border-forest-30 {
    border-color: var(--border-forest-30);
  }

  .border-ink-20 {
    border-color: var(--border-ink-20);
  }

  .border-ink-30 {
    border-color: var(--border-ink-30);
  }

  .radius-2xs {
    border-radius: var(--radius-2xs);
  }

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

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

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

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

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

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

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

  .shadow-framed-image {
    box-shadow: var(--shadow-framed-image);
  }

  @media (max-width: 767px) {
    .shadow-framed-image {
      box-shadow: none;
    }
  }

  .flex {
    display: flex;
  }

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

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

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

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

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

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

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

  .flex--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--gap-3xs {
    gap: var(--space-3xs);
  }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  .flex--basis-half {
    flex-basis: 50%;
  }

  .flex--basis-third {
    flex-basis: 33.333%;
  }

  .flex--basis-quarter {
    flex-basis: 25%;
  }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  .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-items: start;
  }

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

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

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

  @media (max-width: 1023px) {
    .grid--4-col {
      grid-template-columns: repeat(2, minmax(0, 1fr));
    }

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

    .grid--12-col {
      grid-template-columns: repeat(6, minmax(0, 1fr));
    }
  }

  @media (max-width: 767px) {
    .grid--2-col,
    .grid--3-col,
    .grid--4-col,
    .grid--6-col,
    .grid--12-col {
      grid-template-columns: 1fr;
    }
  }

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

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

  @media (min-width: 1024px) {
    .section {
      padding-block: var(--space-3xl);
    }
  }

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

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

  @media (min-width: 1024px) {
    .section--tight {
      padding-block: var(--space-xl);
    }
  }

  .section--flush {
    padding-block: 0;
  }

  .full-bleed {
    width: 100vw;
    margin-inline-start: 50%;
    transform: translateX(-50%);
    position: relative;
    left: 0;
  }

  .divider {
    display: flex;
    align-items: center;
    gap: var(--space-sm);
    color: var(--border-forest-15);
    margin-block: var(--space-lg);
  }

  .divider::before,
  .divider::after {
    content: '';
    flex: 1;
    height: 1px;
    background-color: var(--border-forest-15);
  }

  .divider--diamond::before {
    content: '';
    flex: 1;
    height: 1px;
    background-color: var(--border-forest-15);
  }

  .divider--diamond::after {
    content: '';
    flex: 1;
    height: 1px;
    background-color: var(--border-forest-15);
  }

  .divider__mark {
    flex-shrink: 0;
    width: 8px;
    height: 8px;
    background-color: var(--color-terracotta);
    transform: rotate(45deg);
    border-radius: 1px;
  }

  .divider__mark--olive {
    background-color: var(--color-olive);
  }

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

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

  .image-frame {
    overflow: hidden;
    border-radius: var(--radius-sm);
    border: 1px solid var(--border-forest-20);
  }

  .image-frame img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
  }

  .image-frame--archival {
    border: 1px solid var(--border-forest-20);
    box-shadow: var(--shadow-framed-image);
    position: relative;
  }

  .image-frame--archival::after {
    content: '';
    position: absolute;
    inset: 0;
    background-color: var(--color-paper);
    mix-blend-mode: multiply;
    opacity: 0.1;
    pointer-events: none;
    border-radius: inherit;
  }

  @media (max-width: 767px) {
    .image-frame--archival {
      box-shadow: none;
    }
  }

  .content-list {
    list-style: none;
    padding-inline-start: 0;
    margin-block-end: var(--space-md);
  }

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

  .content-list > li {
    margin-block-end: var(--space-sm);
    padding-inline-start: var(--space-md);
    position: relative;
    line-height: var(--leading-base);
  }

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

  .content-list > li::before {
    content: '';
    position: absolute;
    left: 0;
    top: 0.55em;
    width: 6px;
    height: 6px;
    background-color: var(--color-olive);
    transform: rotate(45deg);
    border-radius: 1px;
  }

  .content-list--terracotta > li::before {
    background-color: var(--color-terracotta);
  }

  .content-list--forest > li::before {
    background-color: var(--color-forest);
  }

  .age-gate {
    position: fixed;
    inset: 0;
    z-index: 1000;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: var(--color-paper);
    padding: var(--space-md);
  }

  .age-gate__content {
    max-width: 480px;
    width: 100%;
    text-align: center;
    background-color: var(--color-paper-light);
    border: 1px solid var(--border-forest-20);
    border-radius: var(--radius-md);
    padding: var(--space-lg);
    box-shadow: var(--shadow-modal);
  }

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

  .age-gate__heading {
    font-size: var(--text-2xl);
    line-height: var(--leading-2xl);
    margin-block-end: var(--space-md);
  }

  .age-gate__actions {
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-sm);
    justify-content: center;
    margin-block-start: var(--space-md);
  }

  .age-gate__actions .btn {
    min-width: 140px;
  }
}


/* Header component styles */
.site-header {
  position: relative;
  z-index: 100;
  background-color: var(--color-paper);
  border-bottom: 1px solid var(--border-forest-15);
}

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

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

.site-header__logo {
  width: 48px;
  height: 48px;
  object-fit: contain;
  flex-shrink: 0;
}

.site-header__name {
  font-family: var(--font-heading);
  font-size: var(--text-lg);
  font-weight: 600;
  letter-spacing: 0.02em;
  line-height: 1.2;
  white-space: nowrap;
}

.site-header__nav {
  flex: 1;
  display: flex;
  justify-content: center;
}

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

.site-header__nav-list li {
  margin: 0;
  padding: 0;
}

.site-header__nav-list a {
  display: inline-block;
  font-family: var(--font-body);
  font-size: var(--text-sm);
  font-weight: 600;
  letter-spacing: 0.02em;
  color: var(--color-forest);
  text-decoration: none;
  padding-block: var(--space-2xs);
  padding-inline: var(--space-2xs);
  border-bottom: 1px solid transparent;
  transition: color var(--transition-color), border-color var(--transition-color);
  white-space: nowrap;
}

.site-header__nav-list a:hover {
  color: var(--color-terracotta-dark);
  border-bottom-color: var(--color-terracotta);
}

.site-header__nav-list a[aria-current="page"] {
  color: var(--color-terracotta-dark);
  border-bottom-color: var(--color-terracotta);
  position: relative;
}

.site-header__nav-list a[aria-current="page"]::before {
  content: '';
  position: absolute;
  left: -0.5em;
  top: 50%;
  transform: translateY(-50%);
  width: 4px;
  height: 4px;
  background-color: var(--color-terracotta);
  border-radius: 50%;
}

.site-header__actions {
  display: flex;
  align-items: center;
  gap: var(--space-sm);
  flex-shrink: 0;
}

.site-header__age-tag {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: var(--text-xs);
  font-weight: 700;
  letter-spacing: 0.05em;
  color: var(--color-forest);
  background-color: var(--color-oat);
  border: 1px solid var(--border-forest-20);
  border-radius: var(--radius-2xs);
  padding: var(--space-3xs) var(--space-2xs);
  line-height: 1;
  white-space: nowrap;
}

.site-header__menu-toggle {
  display: none;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  padding: 0;
  border: 1px solid var(--border-forest-20);
  border-radius: var(--radius-xs);
  background-color: transparent;
  cursor: pointer;
  transition: background-color var(--transition-color), border-color var(--transition-color);
}

.site-header__menu-toggle:hover {
  background-color: var(--color-oat);
  border-color: var(--border-forest-30);
}

.site-header__menu-toggle:focus-visible {
  outline: var(--focus-ring);
  outline-offset: var(--focus-ring-offset);
}

.site-header__menu-icon {
  position: relative;
  display: block;
  width: 20px;
  height: 2px;
  background-color: var(--color-forest);
  transition: background-color var(--transition-color);
}

.site-header__menu-icon::before,
.site-header__menu-icon::after {
  content: '';
  position: absolute;
  left: 0;
  width: 20px;
  height: 2px;
  background-color: var(--color-forest);
  transition: transform var(--transition-transform), top var(--transition-transform), bottom var(--transition-transform);
}

.site-header__menu-icon::before {
  top: -6px;
}

.site-header__menu-icon::after {
  bottom: -6px;
}

.site-header__menu-toggle[aria-expanded="true"] .site-header__menu-icon {
  background-color: transparent;
}

.site-header__menu-toggle[aria-expanded="true"] .site-header__menu-icon::before {
  top: 0;
  transform: rotate(45deg);
}

.site-header__menu-toggle[aria-expanded="true"] .site-header__menu-icon::after {
  bottom: 0;
  transform: rotate(-45deg);
}

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

  .site-header__brand {
    order: 1;
  }

  .site-header__actions {
    order: 2;
    margin-left: auto;
  }

  .site-header__menu-toggle {
    display: flex;
  }

  .site-header__nav {
    order: 3;
    flex-basis: 100%;
    display: none;
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    background-color: var(--color-paper);
    border-bottom: 1px solid var(--border-forest-15);
    box-shadow: var(--shadow-modal);
    z-index: 99;
    max-height: calc(100vh - 72px);
    overflow-y: auto;
  }

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

  .site-header__nav-list {
    flex-direction: column;
    align-items: stretch;
    gap: 0;
    padding: var(--space-sm);
  }

  .site-header__nav-list li {
    width: 100%;
  }

  .site-header__nav-list a {
    display: block;
    padding: var(--space-sm);
    font-size: var(--text-base);
    border-bottom: 1px solid var(--border-forest-15);
  }

  .site-header__nav-list a[aria-current="page"]::before {
    display: none;
  }
}

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

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

  .site-header__name {
    font-size: var(--text-md);
  }

  .site-header__age-tag {
    font-size: 0.625rem;
    padding: var(--space-3xs) var(--space-2xs);
  }

  .site-header__menu-toggle {
    width: 40px;
    height: 40px;
  }

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


/* Footer component styles */
.site-footer {
  background-color: var(--color-oat);
  border-top: 1px solid var(--border-forest-20);
  padding-block: var(--space-xl);
  margin-top: var(--space-2xl);
}

.site-footer__inner {
  display: flex;
  flex-direction: column;
  gap: var(--space-lg);
}

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

.site-footer__logo {
  width: 48px;
  height: 48px;
  margin-inline: auto;
  margin-bottom: var(--space-sm);
}

.site-footer__name {
  font-family: var(--font-heading);
  font-size: var(--text-lg);
  font-weight: 600;
  letter-spacing: 0.02em;
  color: var(--color-forest);
  margin-bottom: var(--space-2xs);
}

.site-footer__tagline {
  font-size: var(--text-sm);
  line-height: var(--leading-sm);
  color: var(--color-forest);
  max-width: 40ch;
  margin-inline: auto;
}

.site-footer__nav {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--space-lg);
}

.site-footer__heading {
  font-family: var(--font-heading);
  font-size: var(--text-md);
  font-weight: 600;
  letter-spacing: 0.02em;
  color: var(--color-forest);
  margin-bottom: var(--space-sm);
}

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

.site-footer__nav-list li {
  margin: 0;
  padding: 0;
  margin-bottom: var(--space-2xs);
}

.site-footer__nav-list li:last-child {
  margin-bottom: 0;
}

.site-footer__nav-list a {
  font-size: var(--text-sm);
  line-height: var(--leading-sm);
  color: var(--color-forest);
  text-decoration: none;
  transition: color var(--transition-color);
}

.site-footer__nav-list a:hover {
  color: var(--color-terracotta-dark);
  text-decoration: underline;
  text-decoration-color: var(--color-terracotta);
}

.site-footer__bottom {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  gap: var(--space-sm);
  border-top: 1px solid var(--border-forest-15);
  padding-top: var(--space-md);
}

.site-footer__copyright,
.site-footer__age {
  font-size: var(--text-xs);
  line-height: var(--leading-xs);
  color: var(--color-forest);
  margin: 0;
}

/* Consent banner */
.consent-banner {
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 90;
  background-color: var(--color-paper-light);
  border-top: 1px solid var(--border-forest-20);
  box-shadow: var(--shadow-modal);
  padding: var(--space-md);
}

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

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

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

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

/* Age modal */
.age-modal {
  position: fixed;
  inset: 0;
  z-index: 1000;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: var(--space-md);
}

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

.age-modal__overlay {
  position: absolute;
  inset: 0;
  background-color: rgba(30, 42, 34, 0.5);
}

.age-modal__dialog {
  position: relative;
  z-index: 1;
  width: 100%;
  max-width: 480px;
  background-color: var(--color-paper-light);
  border: 1px solid var(--border-forest-20);
  border-radius: var(--radius-md);
  padding: var(--space-lg);
  box-shadow: var(--shadow-modal);
  text-align: center;
}

.age-modal__title {
  font-family: var(--font-heading);
  font-size: var(--text-2xl);
  line-height: var(--leading-2xl);
  font-weight: 600;
  letter-spacing: 0.02em;
  color: var(--color-forest);
  margin-bottom: var(--space-md);
}

.age-modal__description {
  font-size: var(--text-base);
  line-height: var(--leading-base);
  color: var(--color-forest);
  margin-bottom: var(--space-lg);
}

.age-modal__actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: var(--space-sm);
}

.age-modal__actions .btn {
  min-width: 140px;
}

@media (max-width: 767px) {
  .site-footer__nav {
    grid-template-columns: 1fr;
    gap: var(--space-md);
  }

  .site-footer__bottom {
    flex-direction: column;
    text-align: center;
  }

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

  .consent-banner__actions {
    justify-content: center;
  }
}


/* Terms page owned styles */

.terms-main {
    width: 100%;
    max-width: 100%;
    overflow-x: hidden;
}

.terms-hero {
    padding-block: var(--space-xl) var(--space-lg);
    background-color: var(--color-paper);
    border-bottom: 1px solid var(--border-forest-15);
}

.terms-hero__inner {
    max-width: 800px;
    margin-inline: auto;
    padding-inline: var(--gutter-mobile);
    display: flex;
    flex-direction: column;
    gap: var(--space-sm);
    align-items: flex-start;
}

.terms-hero__tag {
    margin-block-end: var(--space-2xs);
}

.terms-hero__title {
    font-size: clamp(var(--text-2xl), 4vw + 1rem, var(--text-4xl));
    line-height: var(--leading-2xl);
    margin-block-end: var(--space-sm);
    color: var(--color-forest);
}

.terms-hero__lead {
    font-size: var(--text-md);
    line-height: var(--leading-md);
    color: var(--color-forest);
    max-width: 65ch;
}

.terms-toc {
    padding-block: var(--space-lg);
    background-color: var(--color-oat);
    border-bottom: 1px solid var(--border-forest-15);
}

.terms-toc__inner {
    max-width: 800px;
    margin-inline: auto;
    padding-inline: var(--gutter-mobile);
}

.terms-toc__heading {
    font-size: var(--text-lg);
    line-height: var(--leading-lg);
    margin-block-end: var(--space-sm);
    color: var(--color-forest);
}

.terms-toc__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-xs) var(--space-md);
}

.terms-toc__list li {
    margin-block-end: 0;
}

.terms-toc__list a {
    color: var(--color-forest);
    text-decoration: underline;
    text-decoration-color: var(--color-terracotta);
    text-decoration-thickness: 1px;
    text-underline-offset: 3px;
    transition: color var(--transition-color), text-decoration-color var(--transition-color);
}

.terms-toc__list a:hover {
    color: var(--color-terracotta-dark);
    text-decoration-color: var(--color-terracotta-dark);
}

.terms-content {
    padding-block: var(--space-xl);
    background-color: var(--color-paper);
}

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

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

.terms-section__inner {
    max-width: 800px;
    margin-inline: auto;
    padding-inline: var(--gutter-mobile);
}

.terms-section__heading {
    font-size: clamp(var(--text-xl), 2.5vw + 0.75rem, var(--text-3xl));
    line-height: var(--leading-xl);
    margin-block-end: var(--space-md);
    color: var(--color-forest);
    letter-spacing: 0.02em;
}

.terms-section__body {
    color: var(--color-forest);
}

.terms-section__body--measure-65 {
    max-width: 65ch;
}

.terms-section__body h3 {
    font-size: var(--text-lg);
    line-height: var(--leading-lg);
    margin-block-end: var(--space-sm);
    color: var(--color-forest);
}

.terms-section__note {
    margin-block-start: var(--space-md);
    display: flex;
    align-items: flex-start;
    gap: var(--space-xs);
    flex-wrap: wrap;
}

.terms-card {
    background-color: var(--color-oat);
    border: 1px solid var(--border-forest-20);
    border-radius: var(--radius-md);
    padding: var(--space-md);
    box-shadow: var(--shadow-card);
    margin-block-start: var(--space-md);
}

.terms-card--oat {
    background-color: var(--color-oat);
}

.terms-card--contact {
    background-color: var(--color-oat);
    border-left: 3px solid var(--color-terracotta);
}

.terms-card p {
    margin-block-end: var(--space-sm);
}

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

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

.terms-contact-list li {
    display: flex;
    flex-direction: column;
    gap: var(--space-2xs);
    margin-block-end: 0;
}

.terms-contact-list__label {
    font-size: var(--text-xs);
    font-weight: 600;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: var(--color-forest);
}

.terms-contact-list a,
.terms-contact-list span:not(.terms-contact-list__label) {
    color: var(--color-forest);
    font-size: var(--text-base);
    line-height: var(--leading-base);
}

.terms-contact-list a {
    text-decoration: underline;
    text-decoration-color: var(--color-terracotta);
    text-decoration-thickness: 1px;
    text-underline-offset: 3px;
}

.terms-contact-list a:hover {
    color: var(--color-terracotta-dark);
    text-decoration-color: var(--color-terracotta-dark);
}

.tag--olive {
    border-color: var(--color-olive);
    color: var(--color-forest);
    background-color: var(--color-oat);
}

.tag--terracotta {
    border-color: var(--color-terracotta);
    color: var(--color-terracotta);
    background-color: var(--color-oat);
}

@media (min-width: 768px) {
    .terms-hero__inner,
    .terms-toc__inner,
    .terms-section__inner {
        padding-inline: var(--gutter-tablet);
    }

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

@media (min-width: 1024px) {
    .terms-hero__inner,
    .terms-toc__inner,
    .terms-section__inner {
        padding-inline: var(--gutter-desktop);
    }

    .terms-toc__list {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (max-width: 767px) {
    .terms-toc__list {
        grid-template-columns: 1fr;
    }

    .terms-section__body--measure-65 {
        max-width: 100%;
    }

    .terms-hero__lead {
        max-width: 100%;
    }
}


/* Contact page styles */

.contact-hero {
  padding-block: var(--space-2xl);
  text-align: center;
}

.contact-hero__inner {
  max-width: 600px;
  margin-inline: auto;
  padding-inline: var(--gutter-mobile);
}

.contact-hero__title {
  font-size: clamp(var(--text-2xl), 4vw + 1rem, var(--text-4xl));
  line-height: var(--leading-2xl);
  margin-block-end: var(--space-md);
}

.contact-hero__lead {
  font-size: var(--text-md);
  line-height: var(--leading-md);
  max-width: 60ch;
  margin-inline: auto;
  margin-block-end: var(--space-md);
}

.contact-hero__notes {
  display: flex;
  flex-direction: column;
  gap: var(--space-2xs);
  font-size: var(--text-sm);
  line-height: var(--leading-sm);
  color: var(--color-forest);
}

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

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

  .contact-hero__inner {
    padding-inline: var(--gutter-tablet);
  }
}

@media (min-width: 1024px) {
  .contact-hero {
    padding-block: var(--space-4xl);
  }

  .contact-hero__inner {
    padding-inline: var(--gutter-desktop);
  }
}

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

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

.contact-card {
  background-color: var(--color-oat);
  border: 1px solid var(--border-forest-20);
  border-radius: var(--radius-md);
  padding: var(--space-md);
  box-shadow: var(--shadow-card);
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-sm);
  min-width: 0;
}

.contact-card__icon {
  color: var(--color-terracotta);
  flex-shrink: 0;
}

.contact-card__title {
  font-size: var(--text-lg);
  line-height: var(--leading-lg);
  margin-block-end: 0;
}

.contact-card__description {
  max-width: 40ch;
  margin-block-end: 0;
}

.contact-card__link {
  font-size: var(--text-md);
  font-weight: 600;
  color: var(--color-forest);
  text-decoration: underline;
  text-decoration-color: var(--color-terracotta);
  text-decoration-thickness: 1px;
  text-underline-offset: 3px;
  transition: color var(--transition-color), text-decoration-color var(--transition-color);
}

.contact-card__link:hover {
  color: var(--color-terracotta-dark);
  text-decoration-color: var(--color-terracotta-dark);
}

.contact-card__address {
  font-size: var(--text-base);
  line-height: var(--leading-base);
  margin-block-end: 0;
}

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

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

@media (max-width: 767px) {
  .contact-card {
    padding: var(--space-sm);
  }
}

.contact-form__wrapper {
  max-width: 600px;
  margin-inline: auto;
  background-color: var(--color-paper-light);
  border: 1px solid var(--border-forest-20);
  border-radius: var(--radius-md);
  padding: var(--space-lg);
  box-shadow: var(--shadow-card);
}

.contact-form__heading {
  margin-block-end: var(--space-sm);
}

.contact-form__lead {
  margin-block-end: var(--space-md);
}

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

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

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

.contact-form__submit {
  align-self: flex-start;
}

.contact-form__status {
  min-height: 1.5em;
  font-size: var(--text-sm);
  line-height: var(--leading-sm);
  color: var(--color-terracotta-dark);
  margin-block-end: 0;
}

@media (max-width: 767px) {
  .contact-form__wrapper {
    padding: var(--space-md);
  }
}

.visit-us__heading {
  margin-block-end: var(--space-md);
}

.visit-us__grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--space-lg);
  align-items: start;
}

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

.visit-us__text p {
  max-width: 70ch;
  margin-block-end: var(--space-sm);
}

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

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

.map-frame {
  width: 100%;
  max-width: 100%;
  overflow: hidden;
  border: 1px solid var(--border-forest-20);
  border-radius: var(--radius-sm);
  aspect-ratio: 4 / 3;
  background-color: var(--color-oat);
}

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

@media (min-width: 768px) {
  .visit-us__grid {
    grid-template-columns: 1fr 1fr;
    gap: var(--space-xl);
  }
}

@media (max-width: 767px) {
  .visit-us__grid {
    gap: var(--space-md);
  }
}

.opening-hours__heading {
  text-align: center;
  margin-block-end: var(--space-sm);
}

.opening-hours__lead {
  text-align: center;
  max-width: 50ch;
  margin-inline: auto;
  margin-block-end: var(--space-md);
}

.opening-hours__table-wrapper {
  max-width: 500px;
  margin-inline: auto;
}

.opening-hours__table {
  width: 100%;
  border-collapse: collapse;
}

.opening-hours__table th,
.opening-hours__table td {
  padding: var(--space-sm);
  text-align: left;
  border-bottom: 1px solid var(--border-forest-15);
  font-size: var(--text-base);
  line-height: var(--leading-base);
}

.opening-hours__table th {
  font-weight: 600;
  color: var(--color-forest);
  width: 60%;
}

.opening-hours__table td {
  color: var(--color-ink);
}

.opening-hours__table tr:last-child th,
.opening-hours__table tr:last-child td {
  border-bottom: none;
}

@media (max-width: 767px) {
  .opening-hours__table th,
  .opening-hours__table td {
    display: block;
    width: 100%;
    border-bottom: none;
    padding: var(--space-2xs) 0;
  }

  .opening-hours__table th {
    font-size: var(--text-sm);
    text-transform: uppercase;
    letter-spacing: 0.1em;
  }

  .opening-hours__table td {
    padding-bottom: var(--space-sm);
  }

  .opening-hours__table tr {
    border-bottom: 1px solid var(--border-forest-15);
  }

  .opening-hours__table tr:last-child {
    border-bottom: none;
  }
}

.faq__heading {
  text-align: center;
  margin-block-end: var(--space-lg);
}

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

.faq__item {
  background-color: var(--color-oat);
  border: 1px solid var(--border-forest-20);
  border-radius: var(--radius-sm);
  overflow: hidden;
}

.faq__question {
  margin-block-end: 0;
}

.faq__trigger {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-sm);
  width: 100%;
  padding: var(--space-sm) var(--space-md);
  font-family: var(--font-heading);
  font-size: var(--text-md);
  font-weight: 600;
  line-height: var(--leading-md);
  color: var(--color-forest);
  text-align: left;
  background: none;
  border: none;
  cursor: pointer;
  transition: background-color var(--transition-color);
  min-height: 44px;
}

.faq__trigger:hover {
  background-color: color-mix(in srgb, var(--color-forest) 5%, transparent);
}

.faq__trigger:focus-visible {
  outline: var(--focus-ring);
  outline-offset: -2px;
  border-radius: var(--radius-xs);
}

.faq__chevron {
  flex-shrink: 0;
  width: 10px;
  height: 10px;
  border-right: 2px solid var(--color-olive);
  border-bottom: 2px solid var(--color-olive);
  transform: rotate(45deg);
  transition: transform var(--transition-transform);
}

.faq__item.is-open .faq__chevron {
  transform: rotate(225deg);
}

.faq__answer {
  padding: 0 var(--space-md) var(--space-md);
  background-color: var(--color-paper-light);
}

.faq__answer p {
  max-width: 70ch;
  margin-block-end: 0;
}

.faq__answer[hidden] {
  display: none;
}

@media (max-width: 767px) {
  .faq__trigger {
    padding: var(--space-sm);
  }

  .faq__answer {
    padding: 0 var(--space-sm) var(--space-sm);
  }
}

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


/* Privacy page styles */
.privacy-page {
  padding-block: var(--space-xl);
}

@media (min-width: 768px) {
  .privacy-page {
    padding-block: var(--space-2xl);
  }
}

@media (min-width: 1024px) {
  .privacy-page {
    padding-block: var(--space-3xl);
  }
}

/* Policy Introduction */
.privacy-intro {
  padding-block: var(--space-lg);
}

.privacy-intro__inner {
  max-width: 720px;
  margin-inline: auto;
  padding-inline: var(--gutter-mobile);
  text-align: left;
}

@media (min-width: 768px) {
  .privacy-intro__inner {
    padding-inline: var(--gutter-tablet);
  }
}

@media (min-width: 1024px) {
  .privacy-intro__inner {
    padding-inline: var(--gutter-desktop);
  }
}

.privacy-intro__tag {
  margin-block-end: var(--space-sm);
}

.privacy-intro__title {
  font-size: clamp(var(--text-2xl), 4vw + 1rem, var(--text-4xl));
  line-height: var(--leading-2xl);
  margin-block-end: var(--space-md);
}

.privacy-intro__lead {
  font-size: var(--text-md);
  line-height: var(--leading-md);
  max-width: 70ch;
  margin-block-end: var(--space-md);
}

.privacy-intro__meta {
  margin-block-end: var(--space-md);
}

.privacy-intro__effective {
  background-color: var(--color-oat);
  border: 1px solid var(--color-olive);
  border-radius: var(--radius-2xs);
  padding: var(--space-3xs) var(--space-2xs);
  font-size: var(--text-xs);
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--color-forest);
}

.privacy-intro__scope {
  max-width: 70ch;
  margin-block-end: 0;
}

/* Information We Collect */
.privacy-collect {
  padding-block: var(--space-lg);
}

.privacy-collect__inner {
  max-width: 720px;
  margin-inline: auto;
  padding-inline: var(--gutter-mobile);
}

@media (min-width: 768px) {
  .privacy-collect__inner {
    padding-inline: var(--gutter-tablet);
  }
}

@media (min-width: 1024px) {
  .privacy-collect__inner {
    padding-inline: var(--gutter-desktop);
  }
}

.privacy-collect__tag {
  margin-block-end: var(--space-sm);
}

.privacy-collect__title {
  font-size: clamp(var(--text-xl), 2.5vw + 0.75rem, var(--text-3xl));
  line-height: var(--leading-xl);
  margin-block-end: var(--space-md);
}

.privacy-collect__cards {
  display: flex;
  flex-direction: column;
  gap: var(--space-md);
}

.privacy-collect__card {
  background-color: var(--color-oat);
  border: 1px solid var(--border-forest-20);
  border-radius: var(--radius-md);
  padding: var(--space-md);
  box-shadow: var(--shadow-card);
  min-width: 0;
}

.privacy-collect__card-title {
  font-size: var(--text-lg);
  line-height: var(--leading-lg);
  margin-block-end: var(--space-sm);
}

.privacy-collect__card-text {
  max-width: 65ch;
  margin-block-end: var(--space-sm);
}

.privacy-collect__list {
  list-style: none;
  padding-inline-start: 0;
  margin-block-end: 0;
}

.privacy-collect__list li {
  margin-block-end: var(--space-2xs);
  padding-inline-start: var(--space-md);
  position: relative;
  line-height: var(--leading-base);
}

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

.privacy-collect__list li::before {
  content: '';
  position: absolute;
  left: 0;
  top: 0.55em;
  width: 6px;
  height: 6px;
  background-color: var(--color-olive);
  transform: rotate(45deg);
  border-radius: 1px;
}

/* How We Use Your Information */
.privacy-use {
  padding-block: var(--space-lg);
}

.privacy-use__inner {
  max-width: 720px;
  margin-inline: auto;
  padding-inline: var(--gutter-mobile);
}

@media (min-width: 768px) {
  .privacy-use__inner {
    padding-inline: var(--gutter-tablet);
  }
}

@media (min-width: 1024px) {
  .privacy-use__inner {
    padding-inline: var(--gutter-desktop);
  }
}

.privacy-use__tag {
  margin-block-end: var(--space-sm);
}

.privacy-use__title {
  font-size: clamp(var(--text-xl), 2.5vw + 0.75rem, var(--text-3xl));
  line-height: var(--leading-xl);
  margin-block-end: var(--space-md);
}

.privacy-use__text {
  max-width: 70ch;
  margin-block-end: var(--space-md);
}

.privacy-use__list {
  list-style: decimal;
  padding-inline-start: var(--space-lg);
  margin-block-end: 0;
}

.privacy-use__list li {
  margin-block-end: var(--space-2xs);
  line-height: var(--leading-base);
}

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

/* Disclosure of Information */
.privacy-disclosure {
  padding-block: var(--space-lg);
}

.privacy-disclosure__inner {
  max-width: 720px;
  margin-inline: auto;
  padding-inline: var(--gutter-mobile);
}

@media (min-width: 768px) {
  .privacy-disclosure__inner {
    padding-inline: var(--gutter-tablet);
  }
}

@media (min-width: 1024px) {
  .privacy-disclosure__inner {
    padding-inline: var(--gutter-desktop);
  }
}

.privacy-disclosure__tag {
  margin-block-end: var(--space-sm);
}

.privacy-disclosure__title {
  font-size: clamp(var(--text-xl), 2.5vw + 0.75rem, var(--text-3xl));
  line-height: var(--leading-xl);
  margin-block-end: var(--space-md);
}

.privacy-disclosure__card {
  background-color: var(--color-oat);
  border: 1px solid var(--border-forest-20);
  border-radius: var(--radius-md);
  padding: var(--space-md);
  box-shadow: var(--shadow-card);
  min-width: 0;
}

.privacy-disclosure__text {
  max-width: 65ch;
  margin-block-end: var(--space-sm);
}

.privacy-disclosure__note {
  max-width: 65ch;
  margin-block-end: 0;
  font-style: italic;
  color: var(--color-ink);
}

/* Data Security and Retention */
.privacy-security {
  padding-block: var(--space-lg);
}

.privacy-security__inner {
  max-width: 720px;
  margin-inline: auto;
  padding-inline: var(--gutter-mobile);
}

@media (min-width: 768px) {
  .privacy-security__inner {
    padding-inline: var(--gutter-tablet);
  }
}

@media (min-width: 1024px) {
  .privacy-security__inner {
    padding-inline: var(--gutter-desktop);
  }
}

.privacy-security__tag {
  margin-block-end: var(--space-sm);
}

.privacy-security__title {
  font-size: clamp(var(--text-xl), 2.5vw + 0.75rem, var(--text-3xl));
  line-height: var(--leading-xl);
  margin-block-end: var(--space-md);
}

.privacy-security__grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--space-md);
}

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

.privacy-security__card {
  background-color: var(--color-oat);
  border: 1px solid var(--border-forest-20);
  border-radius: var(--radius-md);
  padding: var(--space-md);
  box-shadow: var(--shadow-card);
  min-width: 0;
}

.privacy-security__card-title {
  font-size: var(--text-lg);
  line-height: var(--leading-lg);
  margin-block-end: var(--space-sm);
}

.privacy-security__card-text {
  max-width: 60ch;
  margin-block-end: var(--space-sm);
}

.privacy-security__list {
  list-style: none;
  padding-inline-start: 0;
  margin-block-end: 0;
}

.privacy-security__list li {
  margin-block-end: var(--space-2xs);
  padding-inline-start: var(--space-md);
  position: relative;
  line-height: var(--leading-base);
}

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

.privacy-security__list li::before {
  content: '';
  position: absolute;
  left: 0;
  top: 0.55em;
  width: 6px;
  height: 6px;
  background-color: var(--color-olive);
  transform: rotate(45deg);
  border-radius: 1px;
}

/* Your Rights and Choices */
.privacy-rights {
  padding-block: var(--space-lg);
}

.privacy-rights__inner {
  max-width: 720px;
  margin-inline: auto;
  padding-inline: var(--gutter-mobile);
}

@media (min-width: 768px) {
  .privacy-rights__inner {
    padding-inline: var(--gutter-tablet);
  }
}

@media (min-width: 1024px) {
  .privacy-rights__inner {
    padding-inline: var(--gutter-desktop);
  }
}

.privacy-rights__tag {
  margin-block-end: var(--space-sm);
}

.privacy-rights__title {
  font-size: clamp(var(--text-xl), 2.5vw + 0.75rem, var(--text-3xl));
  line-height: var(--leading-xl);
  margin-block-end: var(--space-md);
}

.privacy-rights__block {
  margin-block-end: var(--space-md);
}

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

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

.privacy-rights__text {
  max-width: 70ch;
  margin-block-end: var(--space-sm);
}

.privacy-rights__contact {
  max-width: 70ch;
  margin-block-end: 0;
}

.privacy-rights__note {
  max-width: 70ch;
  margin-block-end: 0;
  font-size: var(--text-sm);
  color: var(--color-ink);
}

/* Contact Us */
.privacy-contact {
  padding-block: var(--space-lg);
}

.privacy-contact__inner {
  max-width: 720px;
  margin-inline: auto;
  padding-inline: var(--gutter-mobile);
}

@media (min-width: 768px) {
  .privacy-contact__inner {
    padding-inline: var(--gutter-tablet);
  }
}

@media (min-width: 1024px) {
  .privacy-contact__inner {
    padding-inline: var(--gutter-desktop);
  }
}

.privacy-contact__tag {
  margin-block-end: var(--space-sm);
}

.privacy-contact__title {
  font-size: clamp(var(--text-xl), 2.5vw + 0.75rem, var(--text-3xl));
  line-height: var(--leading-xl);
  margin-block-end: var(--space-md);
}

.privacy-contact__card {
  background-color: var(--color-oat);
  border: 1px solid var(--border-forest-20);
  border-radius: var(--radius-md);
  padding: var(--space-md);
  box-shadow: var(--shadow-card);
  min-width: 0;
}

.privacy-contact__card-title {
  font-size: var(--text-lg);
  line-height: var(--leading-lg);
  margin-block-end: var(--space-sm);
}

.privacy-contact__text {
  max-width: 65ch;
  margin-block-end: var(--space-sm);
}

.privacy-contact__list {
  list-style: none;
  padding-inline-start: 0;
  margin-block-end: 0;
}

.privacy-contact__list li {
  margin-block-end: var(--space-2xs);
  line-height: var(--leading-base);
}

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

/* Mobile adjustments */
@media (max-width: 767px) {
  .privacy-intro__inner,
  .privacy-collect__inner,
  .privacy-use__inner,
  .privacy-disclosure__inner,
  .privacy-security__inner,
  .privacy-rights__inner,
  .privacy-contact__inner {
    padding-inline: var(--gutter-mobile);
  }

  .privacy-intro__lead,
  .privacy-intro__scope,
  .privacy-use__text,
  .privacy-rights__text,
  .privacy-rights__contact,
  .privacy-rights__note {
    max-width: 100%;
  }

  .privacy-collect__card-text,
  .privacy-disclosure__text,
  .privacy-disclosure__note,
  .privacy-security__card-text,
  .privacy-contact__text {
    max-width: 100%;
  }
}


/* Cookie Policy page styles */

.cookie-page {
  width: 100%;
  max-width: 100%;
  overflow-x: hidden;
}

.cookie-page__container {
  width: 100%;
  max-width: var(--container-standard);
  margin-inline: auto;
  padding-inline: var(--gutter-mobile);
  padding-block-start: var(--space-xl);
  padding-block-end: var(--space-3xl);
}

@media (min-width: 768px) {
  .cookie-page__container {
    padding-inline: var(--gutter-tablet);
    padding-block-start: var(--space-2xl);
  }
}

@media (min-width: 1024px) {
  .cookie-page__container {
    padding-inline: var(--gutter-desktop);
    padding-block-start: var(--space-3xl);
  }
}

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

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

@media (min-width: 768px) {
  .cookie-section {
    margin-block-end: var(--space-2xl);
  }
}

@media (min-width: 1024px) {
  .cookie-section {
    margin-block-end: var(--space-3xl);
  }
}

.cookie-section__inner {
  width: 100%;
}

.cookie-section__inner--narrow {
  max-width: 720px;
  margin-inline: auto;
}

.cookie-section__tag {
  display: inline-block;
  font-size: var(--text-xs);
  font-weight: 600;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--color-terracotta);
  margin-block-end: var(--space-2xs);
}

.cookie-section__heading {
  font-size: clamp(var(--text-xl), 2.5vw + 0.75rem, var(--text-2xl));
  line-height: var(--leading-xl);
  color: var(--color-forest);
  margin-block-end: var(--space-md);
  padding-block-end: var(--space-2xs);
  border-block-end: 2px solid var(--color-terracotta);
  display: inline-block;
}

.cookie-intro__lead {
  margin-block-end: var(--space-md);
}

.cookie-intro__message {
  font-size: var(--text-md);
  line-height: var(--leading-md);
  color: var(--color-forest);
  margin-block-end: var(--space-sm);
}

.cookie-intro__supporting {
  font-size: var(--text-base);
  line-height: var(--leading-base);
  color: var(--color-forest);
  margin-block-end: 0;
}

.cookie-effective-date {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: var(--space-2xs);
  background-color: var(--color-oat);
  border: 1px solid var(--border-forest-20);
  border-radius: var(--radius-xs);
  padding: var(--space-xs) var(--space-sm);
  margin-block-end: var(--space-md);
}

.cookie-effective-date__label {
  font-size: var(--text-xs);
  font-weight: 600;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--color-forest);
}

.cookie-effective-date__value {
  font-size: var(--text-base);
  font-weight: 700;
  color: var(--color-ink);
}

.cookie-effective-date__note {
  font-size: var(--text-base);
  line-height: var(--leading-base);
  color: var(--color-forest);
}

.cookie-effective-date__note p {
  margin-block-end: 0;
}

.cookie-card {
  background-color: var(--color-oat);
  border: 1px solid var(--border-forest-20);
  border-radius: var(--radius-md);
  padding: var(--space-md);
  box-shadow: var(--shadow-card);
  margin-block-end: var(--space-md);
}

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

.cookie-card__title {
  font-size: var(--text-lg);
  line-height: var(--leading-lg);
  color: var(--color-forest);
  margin-block-end: var(--space-sm);
}

.cookie-card p {
  font-size: var(--text-base);
  line-height: var(--leading-base);
  color: var(--color-forest);
  margin-block-end: var(--space-sm);
}

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

.cookie-types__stack {
  display: flex;
  flex-direction: column;
  gap: var(--space-md);
  width: 100%;
}

.cookie-type-card {
  width: 100%;
  min-width: 0;
  background-color: var(--color-oat);
  border: 1px solid var(--border-forest-20);
  border-radius: var(--radius-md);
  padding: var(--space-md);
  box-shadow: var(--shadow-card);
}

.cookie-type-card__tag {
  display: inline-block;
  font-size: var(--text-xs);
  font-weight: 600;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--color-forest);
  background-color: var(--color-paper-light);
  border: 1px solid var(--color-olive);
  border-radius: var(--radius-2xs);
  padding: var(--space-3xs) var(--space-2xs);
  margin-block-end: var(--space-sm);
}

.cookie-type-card__title {
  font-size: var(--text-lg);
  line-height: var(--leading-lg);
  color: var(--color-forest);
  margin-block-end: var(--space-sm);
}

.cookie-type-card p {
  font-size: var(--text-base);
  line-height: var(--leading-base);
  color: var(--color-forest);
  margin-block-end: var(--space-sm);
}

.cookie-type-card__list {
  list-style: none;
  padding-inline-start: 0;
  margin-block-end: 0;
}

.cookie-type-card__list li {
  position: relative;
  padding-inline-start: var(--space-md);
  margin-block-end: var(--space-2xs);
  font-size: var(--text-base);
  line-height: var(--leading-base);
  color: var(--color-forest);
}

.cookie-type-card__list li:last-child {
  margin-block-end: 0;
}

.cookie-type-card__list li::before {
  content: '';
  position: absolute;
  left: 0;
  top: 0.55em;
  width: 6px;
  height: 6px;
  background-color: var(--color-olive);
  transform: rotate(45deg);
  border-radius: 1px;
}

.cookie-specific__intro {
  font-size: var(--text-base);
  line-height: var(--leading-base);
  color: var(--color-forest);
  margin-block-end: var(--space-md);
}

.cookie-table {
  width: 100%;
  border: 1px solid var(--border-forest-20);
  border-radius: var(--radius-sm);
  overflow: hidden;
  background-color: var(--color-paper-light);
}

.cookie-table__header {
  display: grid;
  grid-template-columns: 1fr 2fr 1fr;
  gap: var(--space-sm);
  background-color: var(--color-oat);
  padding: var(--space-sm) var(--space-md);
  border-block-end: 1px solid var(--border-forest-20);
}

.cookie-table__header span {
  font-size: var(--text-xs);
  font-weight: 600;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--color-forest);
  min-width: 0;
}

.cookie-table__row {
  display: grid;
  grid-template-columns: 1fr 2fr 1fr;
  gap: var(--space-sm);
  padding: var(--space-sm) var(--space-md);
  border-block-end: 1px solid var(--border-forest-15);
  font-size: var(--text-base);
  line-height: var(--leading-base);
  color: var(--color-forest);
}

.cookie-table__row:last-child {
  border-block-end: none;
}

.cookie-table__row span {
  min-width: 0;
  overflow-wrap: break-word;
}

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

  .cookie-table__row {
    display: flex;
    flex-direction: column;
    gap: var(--space-2xs);
    padding: var(--space-sm);
  }

  .cookie-table__row span {
    display: flex;
    flex-direction: column;
    gap: var(--space-3xs);
  }

  .cookie-table__row span::before {
    content: attr(data-label);
    font-size: var(--text-xs);
    font-weight: 600;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: var(--color-terracotta);
  }
}

.cookie-managing__block {
  margin-block-end: var(--space-md);
}

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

.cookie-managing__title {
  font-size: var(--text-lg);
  line-height: var(--leading-lg);
  color: var(--color-forest);
  margin-block-end: var(--space-sm);
}

.cookie-managing__block p {
  font-size: var(--text-base);
  line-height: var(--leading-base);
  color: var(--color-forest);
  margin-block-end: var(--space-sm);
}

.cookie-managing__list {
  list-style: none;
  padding-inline-start: 0;
  margin-block-end: 0;
}

.cookie-managing__list li {
  position: relative;
  padding-inline-start: var(--space-md);
  margin-block-end: var(--space-2xs);
  font-size: var(--text-base);
  line-height: var(--leading-base);
  color: var(--color-forest);
}

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

.cookie-managing__list li::before {
  content: '';
  position: absolute;
  left: 0;
  top: 0.55em;
  width: 6px;
  height: 6px;
  background-color: var(--color-olive);
  transform: rotate(45deg);
  border-radius: 1px;
}

.cookie-contact__intro {
  font-size: var(--text-base);
  line-height: var(--leading-base);
  color: var(--color-forest);
  margin-block-end: var(--space-md);
}

.cookie-contact__card {
  background-color: var(--color-oat);
  border: 1px solid var(--border-forest-20);
  border-radius: var(--radius-md);
  padding: var(--space-md);
  box-shadow: var(--shadow-card);
}

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

.cookie-contact__item {
  display: flex;
  flex-direction: column;
  gap: var(--space-3xs);
  font-size: var(--text-base);
  line-height: var(--leading-base);
  color: var(--color-forest);
}

.cookie-contact__label {
  font-size: var(--text-xs);
  font-weight: 600;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--color-terracotta);
}

.cookie-contact__link {
  color: var(--color-forest);
  text-decoration: underline;
  text-decoration-color: var(--color-terracotta);
  text-decoration-thickness: 1px;
  text-underline-offset: 3px;
  transition: color var(--transition-color), text-decoration-color var(--transition-color);
  overflow-wrap: break-word;
}

.cookie-contact__link:hover {
  color: var(--color-terracotta-dark);
  text-decoration-color: var(--color-terracotta-dark);
}

.cookie-contact__text {
  color: var(--color-forest);
}

.cookie-divider {
  display: flex;
  align-items: center;
  gap: var(--space-sm);
  color: var(--border-forest-15);
  margin-block-end: var(--space-md);
}

.cookie-divider::before,
.cookie-divider::after {
  content: '';
  flex: 1;
  height: 1px;
  background-color: var(--border-forest-15);
}

.cookie-divider__mark {
  flex-shrink: 0;
  width: 8px;
  height: 8px;
  background-color: var(--color-terracotta);
  transform: rotate(45deg);
  border-radius: 1px;
}

.cookie-changes__block {
  font-size: var(--text-base);
  line-height: var(--leading-base);
  color: var(--color-forest);
}

.cookie-changes__block p {
  margin-block-end: var(--space-sm);
}

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

.cookie-changes__effective {
  font-weight: 600;
  color: var(--color-ink);
}

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

  .cookie-section__inner--narrow {
    max-width: 100%;
  }

  .cookie-table__row {
    padding: var(--space-sm);
  }
}


/* Page-owned styles for reserve-a-table */

/* Hero */
.reserve-hero {
  position: relative;
  padding-block: var(--space-3xl);
  background-color: var(--color-paper);
  overflow: hidden;
}

.reserve-hero::before {
  content: '';
  position: absolute;
  inset: 0;
  background-image: radial-gradient(circle at 20% 30%, color-mix(in srgb, var(--color-olive) 12%, transparent) 0, transparent 40%),
                    radial-gradient(circle at 80% 70%, color-mix(in srgb, var(--color-olive) 10%, transparent) 0, transparent 35%);
  pointer-events: none;
}

.reserve-hero__inner {
  position: relative;
  max-width: 720px;
  margin-inline: auto;
  padding-inline: var(--gutter-mobile);
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--space-md);
}

.reserve-hero__tag {
  align-self: center;
}

.reserve-hero__title {
  font-size: clamp(var(--text-2xl), 5vw + 0.5rem, var(--text-4xl));
  line-height: var(--leading-2xl);
  margin-block-end: 0;
  max-width: 100%;
  min-width: 0;
}

.reserve-hero__lead {
  font-size: var(--text-md);
  line-height: var(--leading-md);
  max-width: 60ch;
  margin-block-end: 0;
  min-width: 0;
}

.reserve-hero__supporting {
  font-size: var(--text-base);
  line-height: var(--leading-base);
  max-width: 65ch;
  margin-block-end: 0;
  min-width: 0;
}

.reserve-hero__cta {
  margin-block-start: var(--space-sm);
  width: auto;
  min-width: 200px;
}

@media (max-width: 767px) {
  .reserve-hero {
    padding-block: var(--space-2xl);
  }

  .reserve-hero__inner {
    text-align: left;
    align-items: flex-start;
    gap: var(--space-sm);
  }

  .reserve-hero__title {
    font-size: var(--text-2xl);
    line-height: var(--leading-2xl);
  }

  .reserve-hero__lead,
  .reserve-hero__supporting {
    max-width: 100%;
  }

  .reserve-hero__cta {
    width: 100%;
    min-width: 0;
  }
}

/* Choose Your Table */
.reserve-tables {
  padding-block: var(--space-3xl);
}

.reserve-tables__header {
  max-width: 720px;
  margin-inline: auto;
  text-align: center;
  margin-block-end: var(--space-xl);
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--space-sm);
}

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

.reserve-tables__intro {
  max-width: 60ch;
  margin-inline: auto;
  margin-block-end: 0;
}

.reserve-tables__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--space-md);
}

.reserve-table-card {
  background-color: var(--color-oat);
  border: 1px solid var(--border-forest-20);
  border-radius: var(--radius-md);
  padding: var(--space-md);
  box-shadow: var(--shadow-card);
  display: flex;
  flex-direction: column;
  gap: var(--space-sm);
  min-width: 0;
  transition: transform var(--transition-transform), border-color var(--transition-color);
}

.reserve-table-card:hover {
  transform: translateY(-2px);
  border-color: var(--border-forest-30);
}

.reserve-table-card h3 {
  margin-block-end: 0;
  font-size: var(--text-lg);
  line-height: var(--leading-lg);
}

.reserve-table-card__body {
  margin-block-end: 0;
  max-width: 55ch;
  min-width: 0;
}

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

.reserve-table-card__list li {
  margin-block-end: 0;
  padding-inline-start: var(--space-md);
  position: relative;
  line-height: var(--leading-base);
}

.reserve-table-card__list li::before {
  content: '';
  position: absolute;
  left: 0;
  top: 0.55em;
  width: 6px;
  height: 6px;
  background-color: var(--color-olive);
  transform: rotate(45deg);
  border-radius: 1px;
}

.reserve-table-card__tag {
  align-self: flex-start;
  margin-block-start: auto;
}

@media (max-width: 1023px) {
  .reserve-tables__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 767px) {
  .reserve-tables {
    padding-block: var(--space-2xl);
  }

  .reserve-tables__header {
    text-align: left;
    align-items: flex-start;
    margin-block-end: var(--space-lg);
  }

  .reserve-tables__intro {
    margin-inline: 0;
    max-width: 100%;
  }

  .reserve-tables__grid {
    grid-template-columns: 1fr;
    gap: var(--space-sm);
  }

  .reserve-table-card {
    padding: var(--space-sm);
  }
}

/* How Reservations Work */
.reserve-steps {
  padding-block: var(--space-3xl);
}

.reserve-steps__header {
  max-width: 720px;
  margin-inline: auto;
  text-align: center;
  margin-block-end: var(--space-xl);
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--space-sm);
}

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

.reserve-steps__intro {
  max-width: 60ch;
  margin-inline: auto;
  margin-block-end: 0;
}

.reserve-steps__list {
  list-style: none;
  padding-inline-start: 0;
  margin-block-end: 0;
  max-width: 720px;
  margin-inline: auto;
  display: flex;
  flex-direction: column;
  gap: var(--space-lg);
}

.reserve-step {
  position: relative;
  padding-inline-start: var(--space-lg);
  margin-block-end: 0;
  min-width: 0;
}

.reserve-step::before {
  content: '';
  position: absolute;
  left: 0;
  top: 0.35em;
  width: 10px;
  height: 10px;
  background-color: var(--color-terracotta);
  transform: rotate(45deg);
  border-radius: 2px;
}

.reserve-step h3 {
  margin-block-end: var(--space-2xs);
  font-size: var(--text-lg);
  line-height: var(--leading-lg);
}

.reserve-step p {
  max-width: 65ch;
  margin-block-end: var(--space-2xs);
  min-width: 0;
}

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

.reserve-step__details li {
  margin-block-end: 0;
  padding-inline-start: var(--space-md);
  position: relative;
  line-height: var(--leading-base);
}

.reserve-step__details li::before {
  content: '';
  position: absolute;
  left: 0;
  top: 0.55em;
  width: 6px;
  height: 6px;
  background-color: var(--color-olive);
  transform: rotate(45deg);
  border-radius: 1px;
}

@media (max-width: 767px) {
  .reserve-steps {
    padding-block: var(--space-2xl);
  }

  .reserve-steps__header {
    text-align: left;
    align-items: flex-start;
    margin-block-end: var(--space-lg);
  }

  .reserve-steps__intro {
    margin-inline: 0;
    max-width: 100%;
  }

  .reserve-steps__list {
    gap: var(--space-md);
  }

  .reserve-step {
    padding-inline-start: var(--space-md);
  }
}

/* What to Expect */
.reserve-expect {
  padding-block: var(--space-3xl);
}

.reserve-expect__grid {
  display: grid;
  grid-template-columns: 7fr 5fr;
  gap: var(--space-lg);
  align-items: start;
}

.reserve-expect__text {
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: var(--space-sm);
}

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

.reserve-expect__text h3 {
  margin-block-end: 0;
  font-size: var(--text-lg);
  line-height: var(--leading-lg);
}

.reserve-expect__text p {
  max-width: 70ch;
  margin-block-end: 0;
  min-width: 0;
}

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

.reserve-expect__list li {
  margin-block-end: 0;
  padding-inline-start: var(--space-md);
  position: relative;
  line-height: var(--leading-base);
}

.reserve-expect__list li::before {
  content: '';
  position: absolute;
  left: 0;
  top: 0.55em;
  width: 6px;
  height: 6px;
  background-color: var(--color-olive);
  transform: rotate(45deg);
  border-radius: 1px;
}

.reserve-expect__quote {
  margin-block-end: 0;
  font-style: italic;
  color: var(--color-forest);
  border-inline-start: 2px solid var(--color-olive);
  padding-inline-start: var(--space-md);
  max-width: 70ch;
  min-width: 0;
}

.reserve-expect__media {
  min-width: 0;
}

.reserve-expect__image {
  width: 100%;
  height: auto;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  display: block;
  border-radius: var(--radius-sm);
  border: 1px solid var(--border-forest-20);
  box-shadow: var(--shadow-framed-image);
  transition: transform var(--transition-transform);
}

.reserve-expect__image:hover {
  transform: scale(1.02);
}

@media (max-width: 1023px) {
  .reserve-expect__grid {
    grid-template-columns: 1fr;
    gap: var(--space-md);
  }

  .reserve-expect__media {
    order: -1;
  }
}

@media (max-width: 767px) {
  .reserve-expect {
    padding-block: var(--space-2xl);
  }

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

/* Reservation Form */
.reserve-form-section {
  padding-block: var(--space-3xl);
}

.reserve-form-card {
  max-width: 720px;
  margin-inline: auto;
  padding: var(--space-lg);
  display: flex;
  flex-direction: column;
  gap: var(--space-md);
}

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

.reserve-form-card__intro {
  max-width: 60ch;
  margin-block-end: 0;
  min-width: 0;
}

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

.reserve-form__row {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-md);
}

.reserve-form__field {
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: var(--space-2xs);
}

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

.reserve-form__field input,
.reserve-form__field select,
.reserve-form__field textarea {
  width: 100%;
  min-width: 0;
}

.reserve-form__field--full {
  grid-column: 1 / -1;
}

.reserve-form__submit {
  align-self: flex-start;
  min-width: 200px;
}

@media (max-width: 767px) {
  .reserve-form-section {
    padding-block: var(--space-2xl);
  }

  .reserve-form-card {
    padding: var(--space-sm);
  }

  .reserve-form__row {
    grid-template-columns: 1fr;
    gap: var(--space-sm);
  }

  .reserve-form__submit {
    width: 100%;
    min-width: 0;
  }
}

/* Reservation FAQs */
.reserve-faq {
  padding-block: var(--space-3xl);
}

.reserve-faq__header {
  max-width: 720px;
  margin-inline: auto;
  text-align: center;
  margin-block-end: var(--space-xl);
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--space-sm);
}

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

.reserve-faq__list {
  max-width: 720px;
  margin-inline: auto;
  display: flex;
  flex-direction: column;
  gap: var(--space-sm);
}

.reserve-faq__item {
  border-block-end: 1px solid var(--border-forest-15);
  padding-block-end: var(--space-sm);
}

.reserve-faq__item:last-child {
  border-block-end: none;
  padding-block-end: 0;
}

.reserve-faq__question {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-sm);
  width: 100%;
  min-height: 44px;
  padding-block: var(--space-2xs);
  padding-inline: 0;
  background: none;
  border: none;
  cursor: pointer;
  font-family: var(--font-heading);
  font-size: var(--text-lg);
  line-height: var(--leading-lg);
  color: var(--color-forest);
  text-align: left;
  transition: color var(--transition-color);
}

.reserve-faq__question:hover {
  color: var(--color-terracotta-dark);
}

.reserve-faq__question:focus-visible {
  outline: var(--focus-ring);
  outline-offset: var(--focus-ring-offset);
  border-radius: var(--radius-xs);
}

.reserve-faq__chevron {
  flex-shrink: 0;
  width: 12px;
  height: 12px;
  border-inline-end: 2px solid var(--color-olive);
  border-block-end: 2px solid var(--color-olive);
  transform: rotate(45deg);
  transition: transform var(--transition-transform);
}

.reserve-faq__question[aria-expanded="true"] .reserve-faq__chevron {
  transform: rotate(225deg);
}

.reserve-faq__answer {
  padding-block-start: var(--space-sm);
}

.reserve-faq__answer p {
  max-width: 65ch;
  margin-block-end: 0;
  min-width: 0;
}

.reserve-faq__answer[hidden] {
  display: none !important;
}

@media (max-width: 767px) {
  .reserve-faq {
    padding-block: var(--space-2xl);
  }

  .reserve-faq__header {
    text-align: left;
    align-items: flex-start;
    margin-block-end: var(--space-lg);
  }

  .reserve-faq__question {
    font-size: var(--text-md);
    line-height: var(--leading-md);
  }
}

/* Visit Us */
.reserve-visit {
  padding-block: var(--space-3xl);
}

.reserve-visit__card {
  max-width: 480px;
  margin-inline: auto;
  padding: var(--space-lg);
  display: flex;
  flex-direction: column;
  gap: var(--space-sm);
}

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

.reserve-visit__card p {
  max-width: 60ch;
  margin-block-end: 0;
  min-width: 0;
}

.reserve-visit__details {
  font-size: var(--text-sm);
  line-height: var(--leading-sm);
  color: var(--color-ink);
}

@media (max-width: 767px) {
  .reserve-visit {
    padding-block: var(--space-2xl);
  }

  .reserve-visit__card {
    padding: var(--space-sm);
  }
}


/* Page-owned styles for card-lounge page */

.card-lounge-page {
    --page-gap: var(--space-md);
}

/* Hero section */
.card-lounge-hero {
    padding-block: var(--space-2xl) var(--space-xl);
    background-color: var(--color-paper);
    position: relative;
    overflow: hidden;
}

.card-lounge-hero__container {
    display: grid;
    grid-template-columns: repeat(12, minmax(0, 1fr));
    gap: var(--space-lg);
    align-items: center;
    position: relative;
    z-index: 1;
}

.card-lounge-hero__text {
    grid-column: 1 / span 8;
    display: flex;
    flex-direction: column;
    gap: var(--space-md);
    min-width: 0;
}

.card-lounge-hero__tag {
    align-self: flex-start;
    position: relative;
    padding-bottom: var(--space-2xs);
    margin-bottom: var(--space-2xs);
}

.card-lounge-hero__tag::after {
    content: '';
    position: absolute;
    left: 0;
    bottom: 0;
    width: 2rem;
    height: 2px;
    background-color: var(--color-terracotta);
}

.card-lounge-hero__title {
    font-size: clamp(var(--text-2xl), 4vw + 1rem, var(--text-3xl));
    line-height: var(--leading-2xl);
    margin-block-end: 0;
    color: var(--color-forest);
    letter-spacing: 0.02em;
}

.card-lounge-hero__lead {
    font-size: var(--text-md);
    line-height: var(--leading-md);
    color: var(--color-forest);
    margin-block-end: 0;
    max-width: 38rem;
}

.card-lounge-hero__details {
    font-size: var(--text-base);
    line-height: var(--leading-base);
    color: var(--color-forest);
    margin-block-end: 0;
    max-width: 38rem;
}

.card-lounge-hero__aside {
    grid-column: 9 / span 4;
    display: flex;
    flex-direction: column;
    gap: var(--space-lg);
    align-items: flex-start;
    min-width: 0;
}

.card-lounge-hero__cta {
    width: auto;
}

.card-lounge-hero__botanical {
    width: 100%;
    max-width: 220px;
    height: 220px;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 200'%3E%3Cg fill='none' stroke='%237A8B5A' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round' opacity='0.25'%3E%3Cpath d='M100 180 C60 150 40 110 50 70 C60 30 90 20 100 40 C110 20 140 30 150 70 C160 110 140 150 100 180Z'/%3E%3Cpath d='M100 160 C75 140 60 110 65 85'/%3E%3Cpath d='M100 160 C125 140 140 110 135 85'/%3E%3Cpath d='M100 120 L85 95 M100 120 L115 95 M100 120 L100 80'/%3E%3C/g%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center;
    opacity: 0.7;
}

/* Lounge Space section */
.lounge-space {
    background-color: var(--color-paper);
}

.lounge-space__container {
    display: grid;
    grid-template-columns: repeat(12, minmax(0, 1fr));
    gap: var(--space-lg);
    align-items: start;
}

.lounge-space__text {
    grid-column: 1 / span 6;
    display: flex;
    flex-direction: column;
    gap: var(--space-md);
    min-width: 0;
}

.lounge-space__tag,
.lounge-amenities__tag,
.poker-nights-lounge__tag,
.poker-tables__tag,
.lounge-experience__tag,
.reserve-spot__tag,
.lounge-guidelines__tag {
    align-self: flex-start;
}

.lounge-space__title,
.lounge-amenities__title,
.poker-nights-lounge__title,
.poker-tables__title,
.lounge-experience__title,
.reserve-spot__title,
.lounge-guidelines__title {
    margin-block-end: 0;
    color: var(--color-forest);
}

.lounge-space__body,
.lounge-amenities__body,
.poker-nights-lounge__body,
.reserve-spot__body,
.lounge-guidelines__body {
    margin-block-end: 0;
    color: var(--color-forest);
    max-width: 38rem;
}

.lounge-space__figure,
.lounge-amenities__figure,
.poker-nights-lounge__figure {
    grid-column: 8 / span 4;
    margin-block-end: 0;
    min-width: 0;
}

.lounge-space__figure img,
.lounge-amenities__figure img,
.poker-nights-lounge__figure img {
    width: 100%;
    aspect-ratio: 4 / 3;
    object-fit: cover;
    display: block;
}

.lounge-space__figure figcaption,
.lounge-amenities__figure figcaption,
.poker-nights-lounge__figure figcaption {
    margin-block-start: var(--space-2xs);
    font-size: var(--text-sm);
    line-height: var(--leading-sm);
    color: var(--color-forest);
}

/* Poker Tables section */
.poker-tables {
    background-color: var(--color-oat);
}

.poker-tables__container {
    display: flex;
    flex-direction: column;
    gap: var(--space-lg);
}

.poker-tables__header {
    display: flex;
    flex-direction: column;
    gap: var(--space-sm);
    max-width: 800px;
}

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

.poker-tables__card {
    display: flex;
    flex-direction: column;
    gap: var(--space-sm);
    min-width: 0;
    background-color: var(--color-oat);
    border: 1px solid var(--border-forest-20);
    border-radius: var(--radius-md);
    padding: var(--space-md);
    box-shadow: var(--shadow-card);
    transition: background-color var(--transition-color), border-color var(--transition-color);
}

.poker-tables__card:hover {
    background-color: color-mix(in srgb, var(--color-oat) 90%, var(--color-forest) 10%);
    border-color: var(--border-forest-30);
}

.poker-tables__card-tag {
    align-self: flex-start;
}

.poker-tables__card-title {
    margin-block-end: 0;
    font-size: var(--text-lg);
    line-height: var(--leading-lg);
    color: var(--color-forest);
}

.poker-tables__card-body {
    margin-block-end: 0;
    font-size: var(--text-base);
    line-height: var(--leading-base);
    color: var(--color-forest);
}

/* Lounge Amenities section */
.lounge-amenities {
    background-color: var(--color-paper);
}

.lounge-amenities__container {
    display: grid;
    grid-template-columns: repeat(12, minmax(0, 1fr));
    gap: var(--space-lg);
    align-items: start;
}

.lounge-amenities__text {
    grid-column: 1 / span 6;
    display: flex;
    flex-direction: column;
    gap: var(--space-md);
    min-width: 0;
}

.lounge-amenities__list {
    margin-block-end: 0;
    padding-inline-start: 0;
    list-style: none;
}

.lounge-amenities__list li {
    margin-block-end: var(--space-sm);
    padding-inline-start: var(--space-md);
    position: relative;
    line-height: var(--leading-base);
    color: var(--color-forest);
}

.lounge-amenities__list li::before {
    content: '';
    position: absolute;
    left: 0;
    top: 0.55em;
    width: 6px;
    height: 6px;
    background-color: var(--color-olive);
    transform: rotate(45deg);
    border-radius: 1px;
}

/* Lounge Experience section */
.lounge-experience {
    background-color: var(--color-paper);
}

.lounge-experience__container {
    display: flex;
    flex-direction: column;
    gap: var(--space-lg);
}

.lounge-experience__header {
    display: flex;
    flex-direction: column;
    gap: var(--space-sm);
    max-width: 800px;
}

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

.lounge-experience__step {
    display: grid;
    grid-template-columns: 3rem 1fr;
    gap: var(--space-md);
    align-items: start;
    min-width: 0;
}

.lounge-experience__number {
    font-family: var(--font-heading);
    font-size: var(--text-xl);
    line-height: 1;
    color: var(--color-terracotta);
    display: flex;
    align-items: center;
    justify-content: center;
    width: 3rem;
    height: 3rem;
    border: 1px solid var(--border-forest-20);
    border-radius: 50%;
    background-color: var(--color-oat);
}

.lounge-experience__step-text {
    display: flex;
    flex-direction: column;
    gap: var(--space-sm);
    min-width: 0;
}

.lounge-experience__step-title {
    margin-block-end: 0;
    font-size: var(--text-lg);
    line-height: var(--leading-lg);
    color: var(--color-forest);
}

.lounge-experience__step-body {
    margin-block-end: 0;
    font-size: var(--text-base);
    line-height: var(--leading-base);
    color: var(--color-forest);
}

/* Poker Nights in the Lounge section */
.poker-nights-lounge {
    background-color: var(--color-paper);
}

.poker-nights-lounge__container {
    display: grid;
    grid-template-columns: repeat(12, minmax(0, 1fr));
    gap: var(--space-lg);
    align-items: start;
}

.poker-nights-lounge__text {
    grid-column: 1 / span 6;
    display: flex;
    flex-direction: column;
    gap: var(--space-md);
    min-width: 0;
}

/* Reserve Spot section */
.reserve-spot {
    background-color: var(--color-paper);
}

.reserve-spot__container {
    display: flex;
    justify-content: center;
}

.reserve-spot__card {
    width: 100%;
    max-width: 800px;
    display: flex;
    flex-direction: column;
    gap: var(--space-md);
    align-items: center;
    text-align: center;
    background-color: var(--color-oat);
    border: 1px solid var(--border-forest-20);
    border-radius: var(--radius-md);
    padding: var(--space-lg);
    box-shadow: var(--shadow-card);
}

.reserve-spot__tag {
    align-self: center;
}

.reserve-spot__title {
    margin-block-end: 0;
    color: var(--color-forest);
}

.reserve-spot__body {
    margin-block-end: 0;
    max-width: 36rem;
    margin-inline: auto;
    color: var(--color-forest);
}

.reserve-spot__actions {
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-sm);
    justify-content: center;
    margin-block-start: var(--space-sm);
}

/* Lounge Guidelines section */
.lounge-guidelines__divider {
    max-width: 800px;
    margin-inline: auto;
    margin-block: 0 var(--space-xl);
}

.lounge-guidelines {
    background-color: var(--color-paper);
    padding-block-start: 0;
}

.lounge-guidelines__container {
    display: flex;
    flex-direction: column;
    gap: var(--space-md);
    max-width: 800px;
    margin-inline: auto;
}

.lounge-guidelines__list {
    margin-block-end: 0;
    padding-inline-start: 0;
    list-style: none;
}

.lounge-guidelines__list li {
    margin-block-end: var(--space-sm);
    padding-inline-start: var(--space-md);
    position: relative;
    line-height: var(--leading-base);
    color: var(--color-forest);
}

.lounge-guidelines__list li::before {
    content: '';
    position: absolute;
    left: 0;
    top: 0.55em;
    width: 6px;
    height: 6px;
    background-color: var(--color-olive);
    transform: rotate(45deg);
    border-radius: 1px;
}

/* Responsive adjustments */
@media (max-width: 1023px) {
    .card-lounge-hero__container {
        grid-template-columns: repeat(6, minmax(0, 1fr));
    }

    .card-lounge-hero__text {
        grid-column: 1 / span 6;
    }

    .card-lounge-hero__aside {
        grid-column: 1 / span 6;
        flex-direction: row;
        flex-wrap: wrap;
        align-items: center;
        gap: var(--space-md);
    }

    .card-lounge-hero__botanical {
        max-width: 160px;
        height: 160px;
    }

    .lounge-space__container,
    .lounge-amenities__container,
    .poker-nights-lounge__container {
        grid-template-columns: repeat(6, minmax(0, 1fr));
    }

    .lounge-space__text,
    .lounge-amenities__text,
    .poker-nights-lounge__text {
        grid-column: 1 / span 6;
    }

    .lounge-space__figure,
    .lounge-amenities__figure,
    .poker-nights-lounge__figure {
        grid-column: 1 / span 6;
    }

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

    .poker-tables__card:last-child {
        grid-column: 1 / -1;
    }
}

@media (max-width: 767px) {
    .card-lounge-hero {
        padding-block: var(--space-xl) var(--space-lg);
    }

    .card-lounge-hero__container {
        grid-template-columns: 1fr;
        gap: var(--space-lg);
    }

    .card-lounge-hero__text,
    .card-lounge-hero__aside {
        grid-column: 1;
    }

    .card-lounge-hero__aside {
        flex-direction: column;
        align-items: flex-start;
        gap: var(--space-md);
    }

    .card-lounge-hero__botanical {
        max-width: 120px;
        height: 120px;
        align-self: flex-start;
    }

    .lounge-space__container,
    .lounge-amenities__container,
    .poker-nights-lounge__container {
        grid-template-columns: 1fr;
        gap: var(--space-md);
    }

    .lounge-space__text,
    .lounge-amenities__text,
    .poker-nights-lounge__text,
    .lounge-space__figure,
    .lounge-amenities__figure,
    .poker-nights-lounge__figure {
        grid-column: 1;
    }

    .lounge-space__figure,
    .lounge-amenities__figure,
    .poker-nights-lounge__figure {
        box-shadow: none;
    }

    .poker-tables__cards {
        grid-template-columns: 1fr;
        gap: var(--space-sm);
    }

    .poker-tables__card:last-child {
        grid-column: auto;
    }

    .lounge-experience__step {
        grid-template-columns: 1fr;
        gap: var(--space-sm);
    }

    .lounge-experience__number {
        width: 2.5rem;
        height: 2.5rem;
        font-size: var(--text-lg);
    }

    .reserve-spot__card {
        padding: var(--space-sm);
    }

    .reserve-spot__actions {
        flex-direction: column;
        align-items: stretch;
        width: 100%;
    }

    .reserve-spot__actions .btn {
        width: 100%;
    }

    .lounge-guidelines__divider {
        margin-block: 0 var(--space-lg);
    }
}

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


/* Poker Room page styles */

.poker-room-main {
  overflow-x: hidden;
  width: 100%;
}

/* Hero */
.poker-room-hero {
  position: relative;
  padding-block: var(--space-2xl) var(--space-xl);
  background-color: var(--color-paper);
  overflow: hidden;
}

.poker-room-hero__inner {
  display: grid;
  grid-template-columns: minmax(0, 3fr) minmax(0, 2fr);
  gap: var(--space-xl);
  align-items: center;
}

.poker-room-hero__text {
  display: flex;
  flex-direction: column;
  gap: var(--space-md);
  align-items: flex-start;
  min-width: 0;
}

.poker-room-hero__headline {
  font-size: clamp(var(--text-2xl), 5vw + 1rem, var(--text-3xl));
  line-height: var(--leading-2xl);
  letter-spacing: 0.02em;
  max-width: 18ch;
  margin-block-end: 0;
}

.poker-room-hero__tagline {
  font-size: var(--text-md);
  line-height: var(--leading-md);
  max-width: 42ch;
  margin-block-end: 0;
}

.poker-room-hero__cta {
  margin-block-start: var(--space-sm);
}

.poker-room-hero__decorative {
  position: relative;
  min-width: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  aspect-ratio: 4 / 3;
  background-color: var(--color-oat);
  border: 1px solid var(--border-forest-20);
  border-radius: var(--radius-sm);
  box-shadow: var(--shadow-framed-image);
  overflow: hidden;
}

.poker-room-hero__botanical-mark {
  width: 60%;
  height: 60%;
  background:
    radial-gradient(circle at 30% 30%, transparent 18%, var(--color-olive) 19%, transparent 20%),
    radial-gradient(circle at 70% 70%, transparent 18%, var(--color-olive) 19%, transparent 20%),
    linear-gradient(135deg, transparent 48%, var(--color-olive) 49%, var(--color-olive) 51%, transparent 52%),
    linear-gradient(45deg, transparent 48%, var(--color-olive) 49%, var(--color-olive) 51%, transparent 52%);
  opacity: 0.35;
  transform: rotate(0deg);
  transition: opacity var(--transition-color), transform var(--transition-transform);
}

.poker-room-hero__botanical-mark.is-visible {
  opacity: 0.7;
  transform: rotate(8deg);
}

/* The Space */
.poker-room-space {
  background-color: var(--color-oat);
  border-block: 1px solid var(--border-forest-20);
}

.poker-room-space__inner {
  display: grid;
  grid-template-columns: minmax(0, 3fr) minmax(0, 2fr);
  gap: var(--space-xl);
  align-items: center;
}

.poker-room-space__text {
  display: flex;
  flex-direction: column;
  gap: var(--space-md);
  min-width: 0;
}

.poker-room-space__tag {
  align-self: flex-start;
}

.poker-room-space__heading {
  font-size: var(--text-xl);
  line-height: var(--leading-xl);
  margin-block-end: 0;
  border-bottom: 2px solid var(--color-terracotta);
  padding-bottom: var(--space-2xs);
  align-self: flex-start;
}

.poker-room-space__paragraph {
  max-width: 70ch;
  margin-block-end: 0;
}

.poker-room-space__figure {
  min-width: 0;
  aspect-ratio: 4 / 3;
  margin-block-end: 0;
}

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

/* The Tables */
.poker-room-tables {
  background-color: var(--color-paper);
}

.poker-room-tables__heading-wrap {
  display: flex;
  flex-direction: column;
  gap: var(--space-sm);
  margin-block-end: var(--space-xl);
}

.poker-room-tables__tag {
  align-self: flex-start;
}

.poker-room-tables__heading {
  font-size: var(--text-xl);
  line-height: var(--leading-xl);
  margin-block-end: 0;
  border-bottom: 2px solid var(--color-terracotta);
  padding-bottom: var(--space-2xs);
  align-self: flex-start;
}

.poker-room-tables__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--space-lg);
}

.poker-room-table-card {
  display: flex;
  flex-direction: column;
  gap: var(--space-sm);
  min-width: 0;
  transition: transform var(--transition-transform), box-shadow var(--transition-color);
}

.poker-room-table-card:hover {
  transform: translateY(-2px);
  box-shadow: 0 2px 6px rgba(30, 42, 34, 0.08);
}

.poker-room-table-card__title {
  font-size: var(--text-lg);
  line-height: var(--leading-lg);
  margin-block-end: 0;
}

.poker-room-table-card__text {
  max-width: 55ch;
  margin-block-end: 0;
}

/* The Card Lounge */
.poker-room-lounge {
  background-color: var(--color-paper-light);
  border-block: 1px solid var(--border-forest-20);
}

.poker-room-lounge__inner {
  display: grid;
  grid-template-columns: minmax(0, 7fr) minmax(0, 3fr);
  gap: var(--space-xl);
  align-items: center;
}

.poker-room-lounge__text {
  display: flex;
  flex-direction: column;
  gap: var(--space-md);
  min-width: 0;
}

.poker-room-lounge__tag {
  align-self: flex-start;
}

.poker-room-lounge__heading {
  font-size: var(--text-xl);
  line-height: var(--leading-xl);
  margin-block-end: 0;
  border-bottom: 2px solid var(--color-olive);
  padding-bottom: var(--space-2xs);
  align-self: flex-start;
}

.poker-room-lounge__paragraph {
  max-width: 70ch;
  margin-block-end: 0;
}

.poker-room-lounge__quote {
  font-family: var(--font-heading);
  font-style: italic;
  font-size: var(--text-lg);
  line-height: var(--leading-lg);
  color: var(--color-forest);
  margin-block-end: 0;
  padding-inline-start: 0;
  border-inline-start: none;
  text-decoration: underline;
  text-decoration-color: var(--color-olive);
  text-decoration-thickness: 1px;
  text-underline-offset: 6px;
  max-width: 22ch;
}

/* The Experience */
.poker-room-experience {
  background-color: var(--color-paper);
  background-image:
    repeating-linear-gradient(
      0deg,
      rgba(30, 42, 34, 0.015) 0px,
      rgba(30, 42, 34, 0.015) 1px,
      transparent 1px,
      transparent 4px
    ),
    repeating-linear-gradient(
      90deg,
      rgba(30, 42, 34, 0.012) 0px,
      rgba(30, 42, 34, 0.012) 1px,
      transparent 1px,
      transparent 4px
    );
}

.poker-room-experience__inner {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: var(--space-xl);
  align-items: start;
}

.poker-room-experience__text {
  display: flex;
  flex-direction: column;
  gap: var(--space-md);
  min-width: 0;
}

.poker-room-experience__tag {
  align-self: flex-start;
}

.poker-room-experience__heading {
  font-size: var(--text-xl);
  line-height: var(--leading-xl);
  margin-block-end: 0;
  border-bottom: 2px solid var(--color-terracotta);
  padding-bottom: var(--space-2xs);
  align-self: flex-start;
}

.poker-room-experience__paragraph {
  max-width: 70ch;
  margin-block-end: 0;
}

.poker-room-experience__list {
  margin-block-end: 0;
  padding-inline-start: 0;
  display: flex;
  flex-direction: column;
  gap: var(--space-sm);
  min-width: 0;
}

.poker-room-experience__list > li {
  max-width: 55ch;
  margin-block-end: 0;
}

/* Poker Nights */
.poker-room-nights {
  background-color: var(--color-oat);
  border-block: 1px solid var(--border-forest-20);
}

.poker-room-nights__inner {
  display: flex;
  flex-direction: column;
  gap: var(--space-md);
  max-width: 800px;
  margin-inline: auto;
  align-items: flex-start;
}

.poker-room-nights__tag {
  align-self: flex-start;
}

.poker-room-nights__heading {
  font-size: var(--text-xl);
  line-height: var(--leading-xl);
  margin-block-end: 0;
  border-bottom: 2px solid var(--color-olive);
  padding-bottom: var(--space-2xs);
  align-self: flex-start;
}

.poker-room-nights__paragraph {
  max-width: 70ch;
  margin-block-end: 0;
}

.poker-room-nights__link {
  font-weight: 600;
  text-decoration: underline;
  text-decoration-color: var(--color-terracotta);
  text-decoration-thickness: 1px;
  text-underline-offset: 3px;
  transition: color var(--transition-color), text-decoration-color var(--transition-color);
}

.poker-room-nights__link:hover {
  color: var(--color-terracotta-dark);
  text-decoration-color: var(--color-terracotta-dark);
}

/* Reserve Your Table */
.poker-room-reserve {
  background-color: var(--color-paper-light);
  border-block: 1px solid var(--border-forest-20);
}

.poker-room-reserve__inner {
  display: flex;
  flex-direction: column;
  gap: var(--space-md);
  max-width: 700px;
  margin-inline: auto;
  align-items: center;
  text-align: center;
}

.poker-room-reserve__heading {
  font-size: var(--text-xl);
  line-height: var(--leading-xl);
  margin-block-end: 0;
  border-bottom: 2px solid var(--color-terracotta);
  padding-bottom: var(--space-2xs);
}

.poker-room-reserve__paragraph {
  max-width: 60ch;
  margin-block-end: 0;
}

.poker-room-reserve__cta {
  margin-block-start: var(--space-sm);
}

/* Venue Guide */
.poker-room-guide {
  background-color: var(--color-oat);
}

.poker-room-guide__inner {
  display: grid;
  grid-template-columns: minmax(0, 3fr) minmax(0, 2fr);
  gap: var(--space-xl);
  align-items: start;
}

.poker-room-guide__text {
  display: flex;
  flex-direction: column;
  gap: var(--space-md);
  min-width: 0;
}

.poker-room-guide__tag {
  align-self: flex-start;
}

.poker-room-guide__heading {
  font-size: var(--text-xl);
  line-height: var(--leading-xl);
  margin-block-end: 0;
  border-bottom: 2px solid var(--color-olive);
  padding-bottom: var(--space-2xs);
  align-self: flex-start;
}

.poker-room-guide__paragraph {
  max-width: 70ch;
  margin-block-end: 0;
}

.poker-room-guide__map {
  width: 100%;
  max-width: 100%;
  overflow: hidden;
  aspect-ratio: 4 / 3;
  border: 1px solid var(--border-forest-20);
  border-radius: var(--radius-sm);
  box-shadow: var(--shadow-card);
  min-width: 0;
}

.poker-room-guide__map iframe {
  display: block;
  width: 100%;
  height: 100%;
  border: 0;
}

/* Tablet */
@media (max-width: 1023px) {
  .poker-room-hero__inner,
  .poker-room-space__inner,
  .poker-room-lounge__inner,
  .poker-room-experience__inner,
  .poker-room-guide__inner {
    grid-template-columns: 1fr;
    gap: var(--space-lg);
  }

  .poker-room-hero__decorative {
    order: 2;
    max-width: 480px;
    margin-inline: auto;
  }

  .poker-room-hero__text {
    align-items: center;
    text-align: center;
  }

  .poker-room-hero__headline,
  .poker-room-hero__tagline {
    max-width: 100%;
  }

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

  .poker-room-lounge__quote {
    max-width: 100%;
  }
}

/* Mobile */
@media (max-width: 767px) {
  .poker-room-hero {
    padding-block: var(--space-xl) var(--space-lg);
  }

  .poker-room-hero__inner {
    gap: var(--space-md);
  }

  .poker-room-hero__headline {
    font-size: var(--text-2xl);
    line-height: var(--leading-2xl);
  }

  .poker-room-hero__tagline {
    font-size: var(--text-base);
    line-height: var(--leading-base);
  }

  .poker-room-hero__decorative {
    display: none;
  }

  .poker-room-space__inner,
  .poker-room-lounge__inner,
  .poker-room-experience__inner,
  .poker-room-guide__inner {
    gap: var(--space-md);
  }

  .poker-room-tables__grid {
    grid-template-columns: 1fr;
    gap: var(--space-md);
  }

  .poker-room-guide__map {
    aspect-ratio: 16 / 9;
  }
}

@media (prefers-reduced-motion: reduce) {
  .poker-room-hero__botanical-mark,
  .poker-room-table-card {
    transition: none;
  }
}


/* Page-owned styles for Restaurant Dining */
.restaurant-dining-page {
  overflow-x: hidden;
}

/* Hero */
.rd-hero {
  background-color: var(--color-paper);
  position: relative;
  padding-block: var(--space-xl) var(--space-2xl);
}

.rd-hero::before {
  content: '';
  position: absolute;
  inset: 0;
  background-image:
    repeating-linear-gradient(
      0deg,
      rgba(30, 42, 34, 0.012) 0px,
      rgba(30, 42, 34, 0.012) 1px,
      transparent 1px,
      transparent 3px
    ),
    repeating-linear-gradient(
      90deg,
      rgba(30, 42, 34, 0.01) 0px,
      rgba(30, 42, 34, 0.01) 1px,
      transparent 1px,
      transparent 3px
    );
  pointer-events: none;
}

.rd-hero__inner {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 3fr) minmax(0, 2fr);
  gap: var(--space-xl);
  align-items: center;
}

.rd-hero__text {
  min-width: 0;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-md);
}

.rd-hero__text h1 {
  font-size: clamp(var(--text-2xl), 4vw + 1rem, var(--text-4xl));
  line-height: var(--leading-2xl);
  margin-block-end: 0;
}

.rd-hero__lead {
  font-size: var(--text-md);
  line-height: var(--leading-md);
  max-width: 65ch;
  margin-block-end: 0;
}

.rd-hero__support {
  max-width: 65ch;
  margin-block-end: 0;
}

.rd-hero__facts {
  font-size: var(--text-sm);
  line-height: var(--leading-sm);
  color: var(--color-ink);
  max-width: 65ch;
  margin-block-end: 0;
}

.rd-hero__cta {
  margin-block-start: var(--space-sm);
}

.rd-hero__media {
  min-width: 0;
}

.rd-framed-image {
  margin: 0;
  border: 1px solid var(--border-forest-20);
  border-radius: var(--radius-sm);
  box-shadow: var(--shadow-framed-image);
  overflow: hidden;
  position: relative;
}

.rd-framed-image::after {
  content: '';
  position: absolute;
  inset: 0;
  background-color: var(--color-paper);
  mix-blend-mode: multiply;
  opacity: 0.1;
  pointer-events: none;
}

.rd-framed-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  aspect-ratio: 4 / 3;
  display: block;
  border-radius: 0;
}

/* Tag */
.rd-tag {
  display: inline-block;
  font-size: var(--text-xs);
  font-weight: 600;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--color-forest);
  background-color: var(--color-oat);
  border: 1px solid var(--color-olive);
  border-radius: var(--radius-2xs);
  padding: var(--space-3xs) var(--space-2xs);
  line-height: var(--leading-xs);
  position: relative;
}

.rd-tag::after {
  content: '';
  position: absolute;
  left: 0;
  bottom: -4px;
  width: 100%;
  height: 2px;
  background-color: var(--color-terracotta);
}

/* Philosophy */
.rd-philosophy {
  background-color: var(--color-paper);
}

.rd-philosophy .container {
  display: flex;
  flex-direction: column;
  gap: var(--space-lg);
}

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

.rd-philosophy__main {
  min-width: 0;
}

.rd-philosophy__main p {
  max-width: 70ch;
}

.rd-philosophy__quote {
  font-family: var(--font-heading);
  font-style: italic;
  font-size: var(--text-lg);
  line-height: var(--leading-lg);
  color: var(--color-forest);
  border-inline-start: 2px solid var(--color-olive);
  padding-inline-start: var(--space-md);
  margin-block-end: 0;
}

.rd-philosophy__quote p {
  margin-block-end: 0;
}

.rd-philosophy__secondary {
  max-width: 70ch;
}

.rd-philosophy__secondary h3 {
  margin-block-end: var(--space-sm);
}

/* Menu Overview */
.rd-menu {
  background-color: var(--color-oat);
}

.rd-section-heading--center {
  text-align: center;
  margin-inline: auto;
  margin-block-end: var(--space-xl);
}

.rd-menu__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--space-md);
}

.rd-menu-card {
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: var(--space-sm);
  transition: background-color var(--transition-color), transform var(--transition-transform);
}

.rd-menu-card:hover {
  background-color: color-mix(in srgb, var(--color-oat) 85%, var(--color-forest) 15%);
  transform: translateY(-2px);
}

.rd-menu-card h3 {
  margin-block-end: 0;
}

.rd-menu-card p {
  max-width: 55ch;
  margin-block-end: 0;
}

/* Signature Dishes */
.rd-signature {
  background-color: var(--color-paper);
}

.rd-signature__list {
  display: flex;
  flex-direction: column;
  gap: var(--space-2xl);
}

.rd-signature-item {
  display: grid;
  grid-template-columns: minmax(0, 2fr) minmax(0, 3fr);
  gap: var(--space-xl);
  align-items: center;
}

.rd-signature-item--image-right {
  grid-template-columns: minmax(0, 3fr) minmax(0, 2fr);
}

.rd-signature-item--image-right .rd-signature-item__media {
  order: 2;
}

.rd-signature-item--image-right .rd-signature-item__text {
  order: 1;
}

.rd-signature-item__media {
  min-width: 0;
}

.rd-signature-item__text {
  min-width: 0;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-sm);
}

.rd-signature-item__text h3 {
  margin-block-end: 0;
}

.rd-signature-item__text p {
  max-width: 60ch;
  margin-block-end: 0;
}

/* Atmosphere */
.rd-atmosphere {
  background-color: var(--color-oat);
}

.rd-atmosphere .container {
  display: flex;
  flex-direction: column;
  gap: var(--space-lg);
}

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

.rd-atmosphere__main {
  min-width: 0;
}

.rd-atmosphere__main p {
  max-width: 70ch;
}

.rd-atmosphere__features {
  min-width: 0;
}

.rd-atmosphere__features h3 {
  margin-block-end: var(--space-sm);
}

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

.rd-feature-list li {
  padding-inline-start: var(--space-md);
  position: relative;
  line-height: var(--leading-base);
  margin-block-end: 0;
}

.rd-feature-list li::before {
  content: '';
  position: absolute;
  left: 0;
  top: 0.55em;
  width: 6px;
  height: 6px;
  background-color: var(--color-olive);
  transform: rotate(45deg);
  border-radius: 1px;
}

/* Practical Details */
.rd-practical {
  background-color: var(--color-paper);
}

.rd-practical__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--space-md);
}

.rd-practical-card {
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: var(--space-sm);
  transition: background-color var(--transition-color), transform var(--transition-transform);
}

.rd-practical-card:hover {
  background-color: color-mix(in srgb, var(--color-oat) 85%, var(--color-forest) 15%);
  transform: translateY(-2px);
}

.rd-practical-card h3 {
  margin-block-end: 0;
}

.rd-practical-card p {
  max-width: 55ch;
  margin-block-end: 0;
}

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

.rd-detail-list li {
  padding-inline-start: var(--space-md);
  position: relative;
  line-height: var(--leading-base);
  margin-block-end: 0;
}

.rd-detail-list li::before {
  content: '';
  position: absolute;
  left: 0;
  top: 0.55em;
  width: 6px;
  height: 6px;
  background-color: var(--color-terracotta);
  transform: rotate(45deg);
  border-radius: 1px;
}

.rd-card-note {
  font-size: var(--text-sm);
  line-height: var(--leading-sm);
  color: var(--color-ink);
}

/* CTA */
.rd-cta {
  background-color: var(--color-paper);
  text-align: center;
}

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

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

.rd-cta__inner p {
  max-width: 60ch;
  margin-inline: auto;
  margin-block-end: 0;
}

.rd-cta__support {
  font-size: var(--text-sm);
  line-height: var(--leading-sm);
  color: var(--color-ink);
}

.rd-cta__button {
  margin-block-start: var(--space-sm);
}

/* Responsive */
@media (max-width: 1023px) {
  .rd-hero__inner {
    grid-template-columns: 1fr;
    gap: var(--space-lg);
  }

  .rd-hero__text {
    align-items: center;
    text-align: center;
  }

  .rd-hero__lead,
  .rd-hero__support,
  .rd-hero__facts {
    max-width: 100%;
  }

  .rd-philosophy__layout {
    grid-template-columns: 1fr;
    gap: var(--space-lg);
  }

  .rd-philosophy__quote {
    max-width: 100%;
  }

  .rd-menu__grid,
  .rd-practical__grid {
    grid-template-columns: 1fr;
    gap: var(--space-md);
  }

  .rd-signature-item,
  .rd-signature-item--image-right {
    grid-template-columns: 1fr;
    gap: var(--space-md);
  }

  .rd-signature-item--image-right .rd-signature-item__media {
    order: 0;
  }

  .rd-signature-item--image-right .rd-signature-item__text {
    order: 0;
  }

  .rd-atmosphere__layout {
    grid-template-columns: 1fr;
    gap: var(--space-lg);
  }
}

@media (max-width: 767px) {
  .rd-hero {
    padding-block: var(--space-xl);
  }

  .rd-hero__inner {
    gap: var(--space-md);
  }

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

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

  .rd-framed-image {
    box-shadow: none;
  }

  .rd-framed-image img {
    aspect-ratio: 4 / 3;
  }

  .rd-menu__grid,
  .rd-practical__grid {
    gap: var(--space-sm);
  }

  .rd-menu-card,
  .rd-practical-card {
    padding: var(--space-sm);
  }

  .rd-signature__list {
    gap: var(--space-xl);
  }

  .rd-signature-item,
  .rd-signature-item--image-right {
    gap: var(--space-sm);
  }

  .rd-signature-item__text {
    align-items: flex-start;
  }

  .rd-signature-item__text p {
    max-width: 100%;
  }

  .rd-atmosphere__features {
    padding: var(--space-sm);
  }

  .rd-cta__inner {
    padding-inline: var(--gutter-mobile);
  }
}

@media (prefers-reduced-motion: reduce) {
  .rd-menu-card,
  .rd-practical-card {
    transition: none;
  }

  .rd-menu-card:hover,
  .rd-practical-card:hover {
    transform: none;
  }
}


/* Venue Guide page-owned styles */

.venue-guide {
  overflow-x: hidden;
  width: 100%;
  max-width: 100%;
}

/* Hero */
.vg-hero {
  padding-block: var(--space-2xl) var(--space-xl);
  background-color: var(--color-paper);
  border-block-end: 1px solid var(--border-forest-15);
}

.vg-hero__inner {
  display: flex;
  flex-direction: column;
  gap: var(--space-md);
  align-items: flex-start;
  max-width: 800px;
}

.vg-eyebrow {
  font-size: var(--text-xs);
  font-weight: 600;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--color-terracotta);
  margin-block-end: 0;
}

.vg-hero h1 {
  font-size: clamp(var(--text-2xl), 4vw + 1rem, var(--text-4xl));
  line-height: var(--leading-2xl);
  margin-block-end: 0;
  max-width: 18ch;
}

.vg-hero__lead {
  font-size: var(--text-md);
  line-height: var(--leading-md);
  color: var(--color-forest);
  max-width: 60ch;
  margin-block-end: 0;
}

/* Section shared */
.vg-section {
  padding-block: var(--space-xl);
}

.vg-section__header {
  display: flex;
  flex-direction: column;
  gap: var(--space-xs);
  margin-block-end: var(--space-lg);
}

.vg-section__tag {
  font-size: var(--text-xs);
  font-weight: 600;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--color-terracotta);
  margin-block-end: 0;
}

.vg-section__header h2 {
  font-size: clamp(var(--text-xl), 2.5vw + 0.75rem, var(--text-3xl));
  line-height: var(--leading-xl);
  margin-block-end: 0;
  max-width: 20ch;
}

.vg-lead {
  font-size: var(--text-md);
  line-height: var(--leading-md);
  color: var(--color-forest);
  max-width: 65ch;
  margin-block-end: var(--space-md);
}

/* Arrival */
.vg-section--arrival {
  background-color: var(--color-paper);
}

.vg-arrival__grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: var(--space-lg);
  align-items: start;
}

.vg-arrival__text {
  min-width: 0;
}

.vg-arrival__details {
  margin-block-end: var(--space-md);
}

.vg-arrival__address {
  font-size: var(--text-sm);
  line-height: var(--leading-sm);
  color: var(--color-ink);
  margin-block-end: 0;
}

.vg-arrival__media {
  min-width: 0;
}

.vg-arrival__scent {
  margin-block-start: var(--space-lg);
  padding: var(--space-md);
  background-color: var(--color-oat);
  border: 1px solid var(--border-forest-20);
  border-radius: var(--radius-md);
  box-shadow: var(--shadow-card);
  display: flex;
  flex-direction: column;
  gap: var(--space-sm);
}

.vg-arrival__scent p {
  margin-block-end: 0;
  max-width: 70ch;
}

.vg-arrival__scent-note {
  font-size: var(--text-sm);
  line-height: var(--leading-sm);
  color: var(--color-ink);
}

.vg-leaf {
  display: inline-block;
  width: 10px;
  height: 10px;
  background-color: var(--color-olive);
  border-radius: 50% 0 50% 0;
  margin-inline-end: var(--space-2xs);
  vertical-align: middle;
}

/* Navigating */
.vg-section--navigating {
  background-color: var(--color-paper);
  border-block-start: 1px solid var(--border-forest-15);
}

.vg-navigating__intro {
  max-width: 75ch;
  margin-block-end: var(--space-lg);
}

.vg-navigating__areas {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--space-md);
  margin-block-end: var(--space-lg);
}

.vg-area-card {
  background-color: var(--color-oat);
  border: 1px solid var(--border-forest-20);
  border-radius: var(--radius-md);
  padding: var(--space-md);
  box-shadow: var(--shadow-card);
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: var(--space-xs);
}

.vg-area-card h3 {
  font-size: var(--text-lg);
  line-height: var(--leading-lg);
  margin-block-end: 0;
}

.vg-area-card p {
  font-size: var(--text-base);
  line-height: var(--leading-base);
  margin-block-end: 0;
}

.vg-navigating__wayfinding {
  max-width: 70ch;
  margin-block-end: var(--space-sm);
}

.vg-navigating__wayfinding-note {
  max-width: 70ch;
  font-size: var(--text-sm);
  line-height: var(--leading-sm);
  color: var(--color-ink);
  margin-block-end: 0;
}

/* Poker room */
.vg-section--poker-room {
  background-color: var(--color-paper);
  border-block-start: 1px solid var(--border-forest-15);
}

.vg-poker-room__grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: var(--space-lg);
  align-items: start;
  margin-block-end: var(--space-lg);
}

.vg-poker-room__text {
  min-width: 0;
}

.vg-poker-room__details {
  margin-block-end: 0;
}

.vg-poker-room__media {
  min-width: 0;
}

.vg-poker-room__etiquette {
  background-color: var(--color-oat);
  border: 1px solid var(--border-forest-20);
  border-radius: var(--radius-md);
  padding: var(--space-md);
  box-shadow: var(--shadow-card);
  display: flex;
  flex-direction: column;
  gap: var(--space-sm);
}

.vg-poker-room__etiquette h3 {
  font-size: var(--text-lg);
  line-height: var(--leading-lg);
  margin-block-end: 0;
}

.vg-poker-room__etiquette p {
  margin-block-end: 0;
  max-width: 70ch;
}

.vg-etiquette-list {
  margin-block-end: 0;
}

/* Card lounge */
.vg-section--card-lounge {
  background-color: var(--color-paper);
  border-block-start: 1px solid var(--border-forest-15);
}

.vg-card-lounge__grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: var(--space-lg);
  align-items: start;
}

.vg-card-lounge__media {
  min-width: 0;
}

.vg-card-lounge__text {
  min-width: 0;
}

.vg-card-lounge__details {
  margin-block-end: var(--space-md);
}

.vg-card-lounge__text h3 {
  font-size: var(--text-lg);
  line-height: var(--leading-lg);
  margin-block-end: var(--space-xs);
}

.vg-card-lounge__text p {
  max-width: 70ch;
  margin-block-end: var(--space-sm);
}

.vg-card-lounge__features {
  margin-block-end: 0;
}

/* Dining */
.vg-section--dining {
  background-color: var(--color-paper);
  border-block-start: 1px solid var(--border-forest-15);
}

.vg-dining__grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: var(--space-lg);
  align-items: start;
  margin-block-end: var(--space-lg);
}

.vg-dining__text {
  min-width: 0;
}

.vg-dining__details {
  margin-block-end: 0;
}

.vg-dining__media {
  min-width: 0;
}

.vg-dining__highlights {
  background-color: var(--color-oat);
  border: 1px solid var(--border-forest-20);
  border-radius: var(--radius-md);
  padding: var(--space-md);
  box-shadow: var(--shadow-card);
  display: flex;
  flex-direction: column;
  gap: var(--space-sm);
}

.vg-dining__highlights h3 {
  font-size: var(--text-lg);
  line-height: var(--leading-lg);
  margin-block-end: 0;
}

.vg-dining__highlights p {
  margin-block-end: 0;
  max-width: 70ch;
}

.vg-dining__highlight-list {
  margin-block-end: 0;
}

/* House rules */
.vg-section--house-rules {
  background-color: var(--color-paper);
  border-block-start: 1px solid var(--border-forest-15);
}

.vg-house-rules__intro {
  max-width: 75ch;
  margin-block-end: var(--space-lg);
}

.vg-house-rules__grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: var(--space-md);
  margin-block-end: var(--space-lg);
}

.vg-house-rules__list {
  margin-block-end: 0;
  columns: 1;
  column-gap: var(--space-lg);
}

.vg-house-rules__responsible {
  max-width: 75ch;
}

.vg-house-rules__responsible h3 {
  font-size: var(--text-lg);
  line-height: var(--leading-lg);
  margin-block-end: var(--space-xs);
}

.vg-house-rules__responsible p {
  margin-block-end: 0;
}

/* Practical */
.vg-section--practical {
  background-color: var(--color-paper);
  border-block-start: 1px solid var(--border-forest-15);
}

.vg-practical__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--space-md);
}

.vg-practical-card {
  background-color: var(--color-oat);
  border: 1px solid var(--border-forest-20);
  border-radius: var(--radius-md);
  padding: var(--space-md);
  box-shadow: var(--shadow-card);
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: var(--space-sm);
}

.vg-practical-card h3 {
  font-size: var(--text-lg);
  line-height: var(--leading-lg);
  margin-block-end: 0;
}

.vg-practical-card p {
  margin-block-end: 0;
}

.vg-practical-card__list {
  margin-block-end: 0;
}

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

.vg-hours-list li {
  padding-inline-start: var(--space-md);
  position: relative;
}

.vg-hours-list li::before {
  content: '';
  position: absolute;
  left: 0;
  top: 0.55em;
  width: 6px;
  height: 6px;
  background-color: var(--color-olive);
  transform: rotate(45deg);
  border-radius: 1px;
}

/* Final */
.vg-section--final {
  background-color: var(--color-paper);
  border-block-start: 1px solid var(--border-forest-15);
  text-align: center;
}

.vg-final__inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--space-md);
  max-width: 700px;
  margin-inline: auto;
}

.vg-final__tag {
  margin-block-end: 0;
}

.vg-final__inner h2 {
  font-size: clamp(var(--text-xl), 2.5vw + 0.75rem, var(--text-3xl));
  line-height: var(--leading-xl);
  margin-block-end: 0;
  max-width: 18ch;
}

.vg-final__message {
  font-size: var(--text-md);
  line-height: var(--leading-md);
  max-width: 60ch;
  margin-block-end: 0;
}

.vg-final__note {
  font-size: var(--text-sm);
  line-height: var(--leading-sm);
  color: var(--color-ink);
  max-width: 60ch;
  margin-block-end: 0;
}

.vg-final__cta {
  min-width: 220px;
}

/* Figures */
.vg-figure {
  margin-block-end: 0;
  overflow: hidden;
  border-radius: var(--radius-sm);
  border: 1px solid var(--border-forest-20);
  box-shadow: var(--shadow-framed-image);
  position: relative;
}

.vg-figure img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.vg-figure--4x3 {
  aspect-ratio: 4 / 3;
}

.vg-figure--3x2 {
  aspect-ratio: 3 / 2;
}

.vg-figure--archival::after {
  content: '';
  position: absolute;
  inset: 0;
  background-color: var(--color-paper);
  mix-blend-mode: multiply;
  opacity: 0.1;
  pointer-events: none;
  border-radius: inherit;
}

.vg-figure figcaption {
  font-size: var(--text-sm);
  line-height: var(--leading-sm);
  color: var(--color-forest);
  padding: var(--space-2xs) var(--space-sm);
  background-color: var(--color-oat);
  border-block-start: 1px solid var(--border-forest-20);
  margin-block-start: 0;
}

/* Divider */
.vg-divider {
  display: flex;
  align-items: center;
  gap: var(--space-sm);
  color: var(--border-forest-15);
  margin-block: var(--space-lg);
}

.vg-divider::before,
.vg-divider::after {
  content: '';
  flex: 1;
  height: 1px;
  background-color: var(--border-forest-15);
}

.vg-divider__mark {
  flex-shrink: 0;
  width: 8px;
  height: 8px;
  background-color: var(--color-terracotta);
  transform: rotate(45deg);
  border-radius: 1px;
}

.vg-divider__mark--olive {
  background-color: var(--color-olive);
}

/* Sway animation */
.vg-sway {
  transition: transform var(--transition-transform), box-shadow var(--transition-color);
}

.vg-sway.is-visible {
  animation: vg-sway 300ms ease-out;
}

@keyframes vg-sway {
  0% {
    transform: translateY(4px) rotate(0.5deg);
  }
  100% {
    transform: translateY(0) rotate(0);
  }
}

/* Zoom image */
.vg-zoom-image {
  transition: transform 600ms ease-out;
}

.vg-zoom-image.is-zoomed {
  transform: scale(1.03);
}

@media (prefers-reduced-motion: reduce) {
  .vg-sway.is-visible,
  .vg-zoom-image.is-zoomed {
    animation: none;
    transform: none;
  }
}

/* Tablet */
@media (min-width: 768px) {
  .vg-section {
    padding-block: var(--space-2xl);
  }

  .vg-arrival__grid {
    grid-template-columns: minmax(0, 3fr) minmax(0, 2fr);
    gap: var(--space-xl);
  }

  .vg-poker-room__grid {
    grid-template-columns: minmax(0, 11fr) minmax(0, 9fr);
    gap: var(--space-xl);
  }

  .vg-card-lounge__grid {
    grid-template-columns: minmax(0, 2fr) minmax(0, 3fr);
    gap: var(--space-xl);
  }

  .vg-dining__grid {
    grid-template-columns: minmax(0, 11fr) minmax(0, 9fr);
    gap: var(--space-xl);
  }

  .vg-house-rules__grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .vg-house-rules__list {
    columns: 2;
  }
}

/* Desktop */
@media (min-width: 1024px) {
  .vg-section {
    padding-block: var(--space-3xl);
  }

  .vg-hero {
    padding-block: var(--space-3xl) var(--space-2xl);
  }

  .vg-navigating__areas {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: var(--space-lg);
  }

  .vg-practical__grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: var(--space-lg);
  }

  .vg-house-rules__list {
    columns: 2;
  }
}

/* Mobile adjustments */
@media (max-width: 767px) {
  .vg-hero {
    padding-block: var(--space-xl) var(--space-lg);
  }

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

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

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

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

  .vg-lead {
    font-size: var(--text-base);
    line-height: var(--leading-base);
  }

  .vg-arrival__grid,
  .vg-poker-room__grid,
  .vg-card-lounge__grid,
  .vg-dining__grid {
    grid-template-columns: minmax(0, 1fr);
    gap: var(--space-md);
  }

  .vg-arrival__media,
  .vg-poker-room__media,
  .vg-card-lounge__media,
  .vg-dining__media {
    order: 2;
  }

  .vg-arrival__text,
  .vg-poker-room__text,
  .vg-card-lounge__text,
  .vg-dining__text {
    order: 1;
  }

  .vg-card-lounge__media {
    order: 1;
  }

  .vg-card-lounge__text {
    order: 2;
  }

  .vg-navigating__areas,
  .vg-practical__grid {
    grid-template-columns: minmax(0, 1fr);
    gap: var(--space-md);
  }

  .vg-house-rules__list {
    columns: 1;
  }

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

  .vg-final__cta {
    width: 100%;
    max-width: 100%;
  }

  .vg-final__inner {
    max-width: 100%;
  }
}

@media (max-width: 390px) {
  .vg-hero h1 {
    font-size: var(--text-xl);
    line-height: var(--leading-xl);
  }

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

  .vg-area-card h3,
  .vg-practical-card h3,
  .vg-poker-room__etiquette h3,
  .vg-dining__highlights h3,
  .vg-house-rules__responsible h3,
  .vg-card-lounge__text h3 {
    font-size: var(--text-md);
    line-height: var(--leading-md);
  }
}


/* Poker Nights page styles */

.poker-nights-page {
  width: 100%;
  max-width: 100%;
  overflow-x: hidden;
}

/* Section base spacing */
.poker-nights-page .section {
  padding-block: var(--space-xl);
}

@media (min-width: 768px) {
  .poker-nights-page .section {
    padding-block: var(--space-2xl);
  }
}

@media (min-width: 1024px) {
  .poker-nights-page .section {
    padding-block: var(--space-3xl);
  }
}

/* Section titles */
.pn-section-title {
  font-size: clamp(var(--text-xl), 2.5vw + 0.75rem, var(--text-3xl));
  line-height: var(--leading-xl);
  margin-block-end: var(--space-md);
  color: var(--color-forest);
}

.pn-section-title--center {
  text-align: center;
}

/* Hero */
.pn-hero {
  padding-block: var(--space-xl) var(--space-lg);
  position: relative;
  overflow: hidden;
  background-color: var(--color-paper);
}

@media (min-width: 768px) {
  .pn-hero {
    padding-block: var(--space-4xl) var(--space-3xl);
  }
}

.pn-hero__inner {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--space-lg);
  align-items: center;
  position: relative;
  z-index: 1;
}

@media (min-width: 1024px) {
  .pn-hero__inner {
    grid-template-columns: minmax(0, 7fr) minmax(0, 5fr);
    gap: var(--space-xl);
  }
}

.pn-hero__text {
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: var(--space-md);
  align-items: flex-start;
}

.pn-hero__tag {
  margin-block-end: 0;
}

.pn-hero__title {
  font-size: clamp(var(--text-2xl), 4vw + 1rem, var(--text-4xl));
  line-height: var(--leading-2xl);
  margin-block-end: 0;
  color: var(--color-forest);
  max-width: 20ch;
}

.pn-hero__lead {
  font-size: var(--text-md);
  line-height: var(--leading-md);
  color: var(--color-forest);
  max-width: 65ch;
  margin-block-end: 0;
}

.pn-hero__support {
  font-size: var(--text-base);
  line-height: var(--leading-base);
  color: var(--color-forest);
  max-width: 65ch;
  margin-block-end: 0;
}

.pn-hero__botanical {
  display: none;
  justify-content: center;
  align-items: center;
  min-width: 0;
}

.pn-hero__botanical svg {
  width: 100%;
  max-width: 280px;
  height: auto;
  opacity: 0.7;
}

@media (min-width: 1024px) {
  .pn-hero__botanical {
    display: flex;
  }
}

/* What to Expect */
.pn-expect__card {
  padding: var(--space-lg);
  margin-block-start: var(--space-md);
}

.pn-expect__grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--space-lg);
}

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

.pn-expect__item {
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: var(--space-sm);
  align-items: flex-start;
  padding: var(--space-sm);
  background-color: var(--color-paper-light);
  border: 1px solid var(--border-forest-15);
  border-radius: var(--radius-sm);
}

.pn-expect__icon {
  flex-shrink: 0;
  width: 28px;
  height: 28px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.pn-expect__heading {
  font-size: var(--text-lg);
  line-height: var(--leading-lg);
  margin-block-end: 0;
  color: var(--color-forest);
}

.pn-expect__text {
  font-size: var(--text-base);
  line-height: var(--leading-base);
  color: var(--color-forest);
  max-width: 55ch;
  margin-block-end: 0;
}

.pn-expect__list {
  margin-block-end: 0;
  padding-inline-start: 0;
}

/* Weekly Schedule */
.pn-schedule__intro {
  max-width: 65ch;
  margin-block-end: var(--space-md);
}

.pn-schedule__table-wrap {
  width: 100%;
  max-width: 800px;
  margin-inline: auto;
  overflow-x: auto;
  border: 1px solid var(--border-forest-20);
  border-radius: var(--radius-sm);
  box-shadow: var(--shadow-card);
  background-color: var(--color-paper);
}

.pn-schedule__table {
  width: 100%;
  border-collapse: collapse;
  font-size: var(--text-base);
  line-height: var(--leading-base);
  color: var(--color-forest);
  min-width: 520px;
}

.pn-schedule__table th,
.pn-schedule__table td {
  padding: var(--space-sm) var(--space-md);
  text-align: left;
  border-bottom: 1px solid var(--border-forest-15);
  max-width: 40ch;
}

.pn-schedule__table thead th {
  background-color: var(--color-oat);
  font-weight: 600;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  font-size: var(--text-sm);
  color: var(--color-forest);
}

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

.pn-schedule__table tbody tr:nth-child(odd) {
  background-color: var(--color-paper);
}

.pn-schedule__table tbody th {
  font-weight: 600;
  color: var(--color-ink);
}

.pn-schedule__note {
  max-width: 65ch;
  margin-block-start: var(--space-md);
  font-size: var(--text-sm);
  line-height: var(--leading-sm);
  color: var(--color-forest);
}

/* Card Lounge */
.pn-lounge__grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--space-lg);
  align-items: center;
}

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

.pn-lounge__text {
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: var(--space-md);
  align-items: flex-start;
}

.pn-lounge__tag {
  margin-block-end: 0;
}

.pn-lounge__lead {
  font-size: var(--text-md);
  line-height: var(--leading-md);
  max-width: 60ch;
  margin-block-end: 0;
}

.pn-lounge__list {
  margin-block-end: 0;
  padding-inline-start: 0;
  max-width: 60ch;
}

.pn-lounge__image {
  min-width: 0;
  width: 100%;
  aspect-ratio: 4 / 3;
  border-radius: var(--radius-sm);
  overflow: hidden;
  border: 1px solid var(--border-forest-20);
  box-shadow: var(--shadow-framed-image);
  position: relative;
}

.pn-lounge__image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

@media (max-width: 767px) {
  .pn-lounge__image {
    box-shadow: none;
  }
}

/* Poker Table Details */
.pn-tables__card {
  padding: var(--space-lg);
  display: flex;
  flex-direction: column;
  gap: var(--space-md);
  align-items: center;
  text-align: center;
  max-width: 800px;
  margin-inline: auto;
}

.pn-tables__botanical {
  flex-shrink: 0;
}

.pn-tables__text {
  max-width: 65ch;
  margin-inline: auto;
  margin-block-end: 0;
}

.pn-tables__list {
  margin-block-end: 0;
  padding-inline-start: 0;
  text-align: left;
  max-width: 65ch;
  margin-inline: auto;
}

/* Dining During Poker Nights */
.pn-dining__grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--space-lg);
  align-items: center;
}

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

.pn-dining__image {
  min-width: 0;
  width: 100%;
  aspect-ratio: 4 / 3;
  border-radius: var(--radius-sm);
  overflow: hidden;
  border: 1px solid var(--border-forest-20);
  box-shadow: var(--shadow-framed-image);
  position: relative;
  order: 1;
}

.pn-dining__image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

@media (max-width: 767px) {
  .pn-dining__image {
    box-shadow: none;
  }
}

.pn-dining__text {
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: var(--space-md);
  align-items: flex-start;
  order: 2;
}

@media (min-width: 768px) {
  .pn-dining__image {
    order: 1;
  }
  .pn-dining__text {
    order: 2;
  }
}

.pn-dining__tag {
  margin-block-end: 0;
}

.pn-dining__lead {
  font-size: var(--text-md);
  line-height: var(--leading-md);
  max-width: 60ch;
  margin-block-end: 0;
}

.pn-dining__list {
  margin-block-end: 0;
  padding-inline-start: 0;
  max-width: 60ch;
}

/* Rules and Etiquette */
.pn-rules__card {
  padding: var(--space-lg);
  margin-block-start: var(--space-md);
}

.pn-rules__grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--space-lg);
}

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

.pn-rules__item {
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: var(--space-sm);
  align-items: flex-start;
  padding: var(--space-sm);
  background-color: var(--color-paper-light);
  border: 1px solid var(--border-forest-15);
  border-radius: var(--radius-sm);
}

.pn-rules__icon {
  flex-shrink: 0;
  width: 28px;
  height: 28px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.pn-rules__heading {
  font-size: var(--text-lg);
  line-height: var(--leading-lg);
  margin-block-end: 0;
  color: var(--color-forest);
}

.pn-rules__text {
  font-size: var(--text-base);
  line-height: var(--leading-base);
  color: var(--color-forest);
  max-width: 55ch;
  margin-block-end: 0;
}

.pn-rules__list {
  margin-block-end: 0;
  padding-inline-start: 0;
}

/* How to Prepare */
.pn-prepare__inner {
  display: flex;
  flex-direction: column;
  gap: var(--space-md);
  align-items: center;
  text-align: center;
  max-width: 800px;
  margin-inline: auto;
}

.pn-prepare__botanical {
  flex-shrink: 0;
}

.pn-prepare__subheading {
  font-size: var(--text-lg);
  line-height: var(--leading-lg);
  margin-block-end: 0;
  color: var(--color-forest);
}

.pn-prepare__text {
  max-width: 65ch;
  margin-inline: auto;
  margin-block-end: 0;
}

.pn-prepare__list {
  margin-block-end: 0;
  padding-inline-start: 0;
  text-align: left;
  max-width: 65ch;
  margin-inline: auto;
}

/* Reserve Your Seat */
.pn-reserve__card {
  padding: var(--space-lg);
  display: flex;
  flex-direction: column;
  gap: var(--space-md);
  align-items: center;
  text-align: center;
  max-width: 600px;
  margin-inline: auto;
}

.pn-reserve__subheading {
  font-size: var(--text-lg);
  line-height: var(--leading-lg);
  margin-block-end: 0;
  color: var(--color-forest);
}

.pn-reserve__text {
  max-width: 60ch;
  margin-inline: auto;
  margin-block-end: 0;
}

.pn-reserve__list {
  margin-block-end: 0;
  padding-inline-start: 0;
  text-align: left;
  max-width: 60ch;
  margin-inline: auto;
}

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

/* Visit Us */
.pn-visit__inner {
  display: flex;
  flex-direction: column;
  gap: var(--space-md);
  align-items: center;
  text-align: center;
  max-width: 800px;
  margin-inline: auto;
}

.pn-visit__botanical {
  flex-shrink: 0;
}

.pn-visit__subheading {
  font-size: var(--text-lg);
  line-height: var(--leading-lg);
  margin-block-end: 0;
  color: var(--color-forest);
}

.pn-visit__text {
  max-width: 65ch;
  margin-inline: auto;
  margin-block-end: 0;
}

.pn-visit__list {
  margin-block-end: 0;
  padding-inline-start: 0;
  text-align: left;
  max-width: 65ch;
  margin-inline: auto;
}

.pn-visit__note {
  max-width: 65ch;
  margin-inline: auto;
  margin-block-end: 0;
  font-size: var(--text-sm);
  line-height: var(--leading-sm);
  color: var(--color-forest);
}

/* Scroll animation initial states */
.pn-hero__botanical,
.pn-expect__item,
.pn-lounge__image,
.pn-tables__card,
.pn-dining__image,
.pn-rules__item,
.pn-prepare__botanical,
.pn-visit__botanical {
  opacity: 0;
  transform: translateY(12px);
  transition: opacity 300ms ease-out, transform 300ms ease-out;
}

.pn-hero__botanical.pn-is-visible,
.pn-expect__item.pn-is-visible,
.pn-lounge__image.pn-is-visible,
.pn-tables__card.pn-is-visible,
.pn-dining__image.pn-is-visible,
.pn-rules__item.pn-is-visible,
.pn-prepare__botanical.pn-is-visible,
.pn-visit__botanical.pn-is-visible {
  opacity: 1;
  transform: translateY(0);
}

@media (prefers-reduced-motion: reduce) {
  .pn-hero__botanical,
  .pn-expect__item,
  .pn-lounge__image,
  .pn-tables__card,
  .pn-dining__image,
  .pn-rules__item,
  .pn-prepare__botanical,
  .pn-visit__botanical {
    opacity: 1;
    transform: none;
    transition: none;
  }
}


/* Home page styles */

.home-hero {
  position: relative;
  padding-block: var(--space-xl) var(--space-2xl);
  overflow: hidden;
}

.home-hero__image-wrap {
  width: 100%;
  max-width: 1000px;
  margin-inline: auto;
  position: relative;
  border-radius: 50% 50% 0 0 / 30% 30% 0 0;
  overflow: hidden;
  aspect-ratio: 4 / 3;
  border: 1px solid var(--border-forest-20);
  box-shadow: var(--shadow-framed-image);
}

.home-hero__image {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transform: scale(1.01);
  transition: transform 1.2s ease-out;
}

.home-hero__label {
  position: relative;
  width: min(70%, 600px);
  margin-inline: auto;
  margin-block-start: calc(-1 * var(--space-xl));
  background-color: var(--color-paper-light);
  border: 1px solid var(--border-forest-20);
  border-radius: var(--radius-lg);
  padding: var(--space-lg);
  box-shadow: var(--shadow-modal);
  display: flex;
  flex-direction: column;
  gap: var(--space-md);
  z-index: 2;
}

.home-hero__descriptor {
  font-size: var(--text-xs);
  font-weight: 600;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--color-forest);
  border-bottom: 2px solid var(--color-terracotta);
  padding-bottom: var(--space-2xs);
  margin: 0;
  align-self: flex-start;
}

.home-hero__heading {
  font-size: clamp(var(--text-2xl), 5vw + 1rem, var(--text-4xl));
  line-height: var(--leading-2xl);
  letter-spacing: 0.02em;
  color: var(--color-forest);
  margin: 0;
  max-width: 60ch;
}

.home-hero__subheading {
  font-size: var(--text-md);
  line-height: var(--leading-md);
  color: var(--color-forest);
  margin: 0;
  max-width: 60ch;
}

.home-hero__actions {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-sm);
  margin-block-start: var(--space-sm);
}

.home-hero__note {
  position: relative;
  width: min(200px, 100%);
  margin-inline-start: auto;
  margin-inline-end: auto;
  margin-block-start: var(--space-md);
  background-color: var(--color-oat);
  border: 1px solid var(--border-forest-20);
  border-radius: var(--radius-sm);
  padding: var(--space-sm);
  box-shadow: var(--shadow-card);
  z-index: 1;
}

.home-hero__note p {
  font-family: var(--font-heading);
  font-style: italic;
  font-size: var(--text-base);
  line-height: var(--leading-base);
  color: var(--color-forest);
  margin: 0;
}

@media (min-width: 768px) {
  .home-hero {
    padding-block: var(--space-2xl) var(--space-3xl);
  }

  .home-hero__label {
    position: absolute;
    left: 50%;
    bottom: var(--space-2xl);
    transform: translateX(-50%);
    width: min(70%, 600px);
    margin: 0;
  }

  .home-hero__note {
    position: absolute;
    right: max(calc((100% - 1000px) / 2 + var(--space-md)), var(--space-md));
    bottom: var(--space-xl);
    width: 200px;
    margin: 0;
  }
}

@media (max-width: 767px) {
  .home-hero__image-wrap {
    aspect-ratio: 16 / 9;
    border-radius: 40% 40% 0 0 / 20% 20% 0 0;
  }

  .home-hero__label {
    width: 100%;
    margin-block-start: var(--space-sm);
    padding: var(--space-md);
  }

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

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

  .home-hero__note {
    width: 100%;
    margin-block-start: var(--space-sm);
  }
}

/* The Poker Room */
.home-poker-room__intro {
  text-align: center;
  margin-block-end: var(--space-xl);
}

.home-poker-room__heading {
  font-size: var(--text-xl);
  line-height: var(--leading-xl);
  color: var(--color-forest);
  margin-block-end: var(--space-md);
}

.home-poker-room__lead {
  font-size: var(--text-md);
  line-height: var(--leading-md);
  color: var(--color-forest);
  max-width: 65ch;
  margin-inline: auto;
  margin-block-end: 0;
}

.home-poker-room__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--space-md);
}

.home-feature-card {
  background-color: var(--color-oat);
  border: 1px solid var(--border-forest-20);
  border-radius: var(--radius-md);
  padding: var(--space-md);
  box-shadow: var(--shadow-card);
  display: flex;
  flex-direction: column;
  gap: var(--space-sm);
  min-width: 0;
}

.home-feature-card__title {
  font-size: var(--text-lg);
  line-height: var(--leading-lg);
  color: var(--color-forest);
  margin: 0;
}

.home-feature-card__body {
  font-size: var(--text-base);
  line-height: var(--leading-base);
  color: var(--color-forest);
  margin: 0;
  max-width: 35ch;
}

@media (max-width: 1023px) {
  .home-poker-room__grid {
    grid-template-columns: 1fr;
    gap: var(--space-sm);
  }

  .home-feature-card__body {
    max-width: none;
  }
}

/* The Card Lounge */
.home-card-lounge__grid {
  display: grid;
  grid-template-columns: 55% 45%;
  gap: var(--space-xl);
  align-items: start;
}

.home-card-lounge__text {
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: var(--space-md);
}

.home-card-lounge__heading {
  font-size: var(--text-xl);
  line-height: var(--leading-xl);
  color: var(--color-forest);
  margin: 0;
}

.home-card-lounge__lead {
  font-size: var(--text-md);
  line-height: var(--leading-md);
  color: var(--color-forest);
  margin: 0;
  max-width: 60ch;
}

.home-card-lounge__paragraph {
  font-size: var(--text-base);
  line-height: var(--leading-base);
  color: var(--color-forest);
  margin: 0;
  max-width: 60ch;
}

.home-card-lounge__figure {
  margin: 0;
  min-width: 0;
}

.home-card-lounge__image-wrap {
  border-radius: var(--radius-sm);
  overflow: hidden;
  border: 1px solid var(--border-forest-20);
  box-shadow: var(--shadow-framed-image);
  aspect-ratio: 4 / 3;
}

.home-card-lounge__image {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.home-card-lounge__caption {
  font-size: var(--text-sm);
  line-height: var(--leading-sm);
  font-style: italic;
  color: var(--color-forest);
  margin-block-start: var(--space-2xs);
}

@media (max-width: 1023px) {
  .home-card-lounge__grid {
    grid-template-columns: 1fr;
    gap: var(--space-md);
  }

  .home-card-lounge__image-wrap {
    box-shadow: none;
  }
}

/* Restaurant Dining */
.home-restaurant__intro {
  text-align: center;
  margin-block-end: var(--space-xl);
}

.home-restaurant__heading {
  font-size: var(--text-xl);
  line-height: var(--leading-xl);
  color: var(--color-forest);
  margin-block-end: var(--space-md);
}

.home-restaurant__lead {
  font-size: var(--text-md);
  line-height: var(--leading-md);
  color: var(--color-forest);
  max-width: 65ch;
  margin-inline: auto;
  margin-block-end: 0;
}

.home-restaurant__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-md);
}

.home-restaurant-card {
  background-color: var(--color-oat);
  border: 1px solid var(--border-forest-20);
  border-radius: var(--radius-md);
  overflow: hidden;
  box-shadow: var(--shadow-card);
  display: flex;
  flex-direction: column;
  min-width: 0;
}

.home-restaurant-card__image-wrap {
  aspect-ratio: 16 / 9;
  overflow: hidden;
  border-bottom: 1px solid var(--border-forest-20);
}

.home-restaurant-card__image {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.home-restaurant-card__content {
  padding: var(--space-md);
  display: flex;
  flex-direction: column;
  gap: var(--space-sm);
}

.home-restaurant-card--no-image .home-restaurant-card__content {
  padding-block-start: var(--space-lg);
}

.home-restaurant-card__title {
  font-size: var(--text-lg);
  line-height: var(--leading-lg);
  color: var(--color-forest);
  margin: 0;
}

.home-restaurant-card__body {
  font-size: var(--text-base);
  line-height: var(--leading-base);
  color: var(--color-forest);
  margin: 0;
  max-width: 40ch;
}

@media (max-width: 1023px) {
  .home-restaurant__grid {
    grid-template-columns: 1fr;
    gap: var(--space-sm);
  }

  .home-restaurant-card__body {
    max-width: none;
  }
}

/* Poker Nights */
.home-poker-nights__content {
  max-width: 800px;
  margin-inline: auto;
  display: flex;
  flex-direction: column;
  gap: var(--space-md);
}

.home-poker-nights__heading {
  font-size: var(--text-xl);
  line-height: var(--leading-xl);
  color: var(--color-forest);
  margin: 0;
}

.home-poker-nights__lead {
  font-size: var(--text-md);
  line-height: var(--leading-md);
  color: var(--color-forest);
  margin: 0;
  max-width: 60ch;
}

.home-poker-nights__schedule {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: var(--space-sm);
  max-width: 40ch;
}

.home-poker-nights__schedule li {
  position: relative;
  padding-inline-start: var(--space-md);
  line-height: var(--leading-base);
  color: var(--color-forest);
}

.home-poker-nights__schedule li::before {
  content: '';
  position: absolute;
  left: 0;
  top: 0.55em;
  width: 6px;
  height: 6px;
  background-color: var(--color-olive);
  transform: rotate(45deg);
  border-radius: 1px;
}

.home-poker-nights__note {
  font-size: var(--text-base);
  line-height: var(--leading-base);
  font-style: italic;
  color: var(--color-terracotta);
  margin: 0;
}

/* The Venue Atmosphere */
.home-atmosphere__grid {
  display: grid;
  grid-template-columns: 45% 55%;
  gap: var(--space-xl);
  align-items: start;
}

.home-atmosphere__figure {
  margin: 0;
  min-width: 0;
}

.home-atmosphere__image-wrap {
  border-radius: var(--radius-sm);
  overflow: hidden;
  border: 1px solid var(--border-forest-20);
  box-shadow: var(--shadow-framed-image);
  aspect-ratio: 4 / 3;
}

.home-atmosphere__image {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.home-atmosphere__caption {
  font-size: var(--text-sm);
  line-height: var(--leading-sm);
  font-style: italic;
  color: var(--color-forest);
  margin-block-start: var(--space-2xs);
}

.home-atmosphere__text {
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: var(--space-md);
  text-align: right;
}

.home-atmosphere__heading {
  font-size: var(--text-xl);
  line-height: var(--leading-xl);
  color: var(--color-forest);
  margin: 0;
}

.home-atmosphere__lead,
.home-atmosphere__paragraph {
  font-size: var(--text-base);
  line-height: var(--leading-base);
  color: var(--color-forest);
  margin: 0;
  max-width: 60ch;
  margin-inline-start: auto;
}

.home-atmosphere__lead {
  font-size: var(--text-md);
  line-height: var(--leading-md);
}

@media (max-width: 1023px) {
  .home-atmosphere__grid {
    grid-template-columns: 1fr;
    gap: var(--space-md);
  }

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

  .home-atmosphere__lead,
  .home-atmosphere__paragraph {
    margin-inline-start: 0;
  }

  .home-atmosphere__image-wrap {
    box-shadow: none;
  }
}

/* Location and Getting Here */
.home-location__content {
  max-width: 800px;
  margin-inline: auto;
  text-align: center;
  display: flex;
  flex-direction: column;
  gap: var(--space-md);
}

.home-location__heading {
  font-size: var(--text-xl);
  line-height: var(--leading-xl);
  color: var(--color-forest);
  margin: 0;
}

.home-location__address {
  font-size: var(--text-base);
  line-height: var(--leading-base);
  color: var(--color-forest);
  margin: 0;
}

.home-location__directions {
  font-size: var(--text-base);
  line-height: var(--leading-base);
  color: var(--color-forest);
  margin: 0;
  max-width: 50ch;
  margin-inline: auto;
}

.home-location__map-wrap {
  width: 100%;
  max-width: 100%;
  overflow: hidden;
  border-radius: var(--radius-md);
  border: 1px solid var(--border-forest-20);
  aspect-ratio: 16 / 9;
  background-color: var(--color-paper-light);
}

.home-location__map-wrap iframe {
  display: block;
  width: 100%;
  height: 100%;
  border: 0;
}

@media (max-width: 767px) {
  .home-location__map-wrap {
    aspect-ratio: 4 / 3;
  }
}

/* Reserve Your Table */
.home-reserve__content {
  max-width: 700px;
  margin-inline: auto;
  text-align: center;
  display: flex;
  flex-direction: column;
  gap: var(--space-md);
}

.home-reserve__heading {
  font-size: var(--text-xl);
  line-height: var(--leading-xl);
  color: var(--color-forest);
  margin: 0;
}

.home-reserve__lead {
  font-size: var(--text-md);
  line-height: var(--leading-md);
  color: var(--color-forest);
  margin: 0;
  max-width: 60ch;
  margin-inline: auto;
}

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

@media (max-width: 767px) {
  .home-reserve__actions {
    flex-direction: column;
    align-items: stretch;
  }

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

/* A Note on Offline Play */
.home-offline-note__grid {
  display: grid;
  grid-template-columns: 60% 40%;
  gap: var(--space-xl);
  align-items: center;
}

.home-offline-note__text {
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: var(--space-md);
}

.home-offline-note__heading {
  font-size: var(--text-xl);
  line-height: var(--leading-xl);
  color: var(--color-forest);
  margin: 0;
}

.home-offline-note__paragraph {
  font-size: var(--text-base);
  line-height: var(--leading-base);
  color: var(--color-forest);
  margin: 0;
  max-width: 60ch;
}

.home-offline-note__quote {
  font-family: var(--font-heading);
  font-style: italic;
  font-size: var(--text-lg);
  line-height: var(--leading-lg);
  color: var(--color-forest);
  margin: 0;
  padding: 0;
  border: none;
  text-align: right;
  max-width: 30ch;
  justify-self: end;
  position: relative;
}

.home-offline-note__quote::after {
  content: '';
  display: block;
  width: 60%;
  height: 2px;
  background-color: var(--color-olive);
  margin-block-start: var(--space-2xs);
  margin-inline-start: auto;
  transform: rotate(-2deg);
}

.home-offline-note__quote p {
  margin: 0;
  font: inherit;
  color: inherit;
}

@media (max-width: 1023px) {
  .home-offline-note__grid {
    grid-template-columns: 1fr;
    gap: var(--space-md);
  }

  .home-offline-note__quote {
    text-align: center;
    justify-self: center;
    max-width: none;
  }

  .home-offline-note__quote::after {
    margin-inline: auto;
  }
}

/* Visit Us */
.home-visit__content {
  max-width: 700px;
  margin-inline: auto;
  text-align: center;
  display: flex;
  flex-direction: column;
  gap: var(--space-md);
}

.home-visit__heading {
  font-size: var(--text-xl);
  line-height: var(--leading-xl);
  color: var(--color-forest);
  margin: 0;
}

.home-visit__contact {
  font-size: var(--text-base);
  line-height: var(--leading-base);
  color: var(--color-forest);
  margin: 0;
  max-width: 50ch;
  margin-inline: auto;
}

.home-visit__contact a {
  color: var(--color-forest);
  text-decoration: underline;
  text-decoration-color: var(--color-terracotta);
  text-decoration-thickness: 1px;
  text-underline-offset: 3px;
}

.home-visit__contact a:hover {
  color: var(--color-terracotta-dark);
  text-decoration-color: var(--color-terracotta-dark);
}

.home-visit__age-note {
  font-size: var(--text-sm);
  line-height: var(--leading-sm);
  color: var(--color-terracotta);
  margin: 0;
}

@media (max-width: 767px) {
  .home-visit__contact {
    display: flex;
    flex-direction: column;
    gap: var(--space-2xs);
    align-items: center;
  }
}

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


@layer thank-you {
  .thank-you {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: calc(100vh - 160px);
    padding-block: var(--space-xl);
    padding-inline: var(--gutter-mobile);
    background-color: var(--color-paper);
  }

  .thank-you__content {
    max-width: 640px;
    width: 100%;
    text-align: center;
    margin-inline: auto;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: var(--space-md);
  }

  .thank-you__tag {
    font-size: var(--text-xs);
    font-weight: 600;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: var(--color-terracotta);
    margin-block-end: 0;
  }

  .thank-you__heading {
    font-size: clamp(var(--text-2xl), 5vw + 0.5rem, var(--text-4xl));
    line-height: var(--leading-2xl);
    margin-block-end: 0;
  }

  .thank-you__message,
  .thank-you__next {
    font-size: var(--text-md);
    line-height: var(--leading-md);
    color: var(--color-forest);
    max-width: 480px;
    margin-inline: auto;
    margin-block-end: 0;
  }

  .thank-you__actions {
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-sm);
    justify-content: center;
    margin-block-start: var(--space-sm);
  }

  @media (min-width: 768px) {
    .thank-you {
      padding-inline: var(--gutter-tablet);
    }
  }

  @media (min-width: 1024px) {
    .thank-you {
      padding-inline: var(--gutter-desktop);
    }
  }
}