

:root {
  --color-terracotta: #C5653F;
  --color-teal: #5C8D89;
  --color-cream: #F4E7CF;
  --color-navy: #1D2B3A;
  --color-gold: #C2A04D;
  --color-navy-text: #1D2B3A;
  --color-cream-text: #F4E7CF;
  --color-white: #FFFFFF;

  --font-heading: "Chunk Five", serif;
  --font-body: "Nunito Sans", sans-serif;

  --text-display-size: clamp(2.75rem, 6vw, 4.5rem);
  --text-h1-size: clamp(2rem, 4.5vw, 3rem);
  --text-h2-size: clamp(1.75rem, 3.5vw, 2.25rem);
  --text-h3-size: clamp(1.4rem, 2.5vw, 1.75rem);
  --text-body-size: 1.125rem;
  --text-small-size: 0.875rem;

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

  --space-xs: 0.25rem;
  --space-sm: 0.5rem;
  --space-md: 1rem;
  --space-lg: 1.5rem;
  --space-xl: 3rem;
  --space-xxl: 6rem;

  --container-max: 75rem;
  --container-padding: var(--space-lg);

  --radius-card: 1rem;
  --radius-button: 0.5rem;
  --radius-image: 0.75rem;
  --radius-badge: 50%;

  --border-standard: 2px solid var(--color-navy);
  --border-gold: 2px solid var(--color-gold);

  --shadow-interactive: 0 4px 12px rgba(29, 43, 58, 0.18);
  --shadow-inset-pressed: inset 0 2px 4px rgba(29, 43, 58, 0.2);

  --transition-fast: 0.2s ease;

  --focus-outline: 3px solid var(--color-gold);
  --focus-outline-offset: 2px;

  --min-touch-target: 44px;
}

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

* {
  margin: 0;
}

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

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

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

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

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

a {
  color: var(--color-teal);
  text-decoration: underline;
  text-underline-offset: 3px;
  transition: color var(--transition-fast);
}

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

a:focus-visible,
button:focus-visible,
input:focus-visible,
textarea:focus-visible,
select:focus-visible,
[tabindex]:focus-visible {
  outline: var(--focus-outline);
  outline-offset: var(--focus-outline-offset);
}

h1,
h2,
h3,
h4,
h5,
h6 {
  font-family: var(--font-heading);
  font-weight: 400;
  color: var(--color-navy);
  line-height: 1.2;
  overflow-wrap: break-word;
}

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

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

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

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

p {
  margin-block-end: var(--space-md);
  overflow-wrap: break-word;
}

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

blockquote {
  margin-block-end: var(--space-md);
  padding-inline-start: var(--space-lg);
  border-inline-start: 4px solid var(--color-gold);
  color: var(--color-navy);
}

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

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

hr {
  border: none;
  border-block-start: var(--border-standard);
  margin-block: var(--space-lg);
}

table {
  width: 100%;
  border-collapse: collapse;
  margin-block-end: var(--space-md);
}

th,
td {
  text-align: start;
  padding: var(--space-sm) var(--space-md);
  border-block-end: 1px solid rgba(29, 43, 58, 0.2);
}

th {
  font-family: var(--font-heading);
  font-weight: 400;
  color: var(--color-navy);
}

label {
  display: block;
  font-weight: 400;
  margin-block-end: var(--space-xs);
}

input,
textarea,
select {
  display: block;
  width: 100%;
  padding: var(--space-sm) var(--space-md);
  border: var(--border-standard);
  border-radius: var(--radius-button);
  background-color: var(--color-white);
  color: var(--color-navy-text);
  font-size: var(--text-body-size);
  line-height: var(--text-body-leading);
  transition: border-color var(--transition-fast), box-shadow var(--transition-fast);
}

input:focus,
textarea:focus,
select:focus {
  border-color: var(--color-gold);
  box-shadow: 0 0 0 3px rgba(194, 160, 77, 0.3);
  outline: none;
}

textarea {
  min-height: 8rem;
  resize: vertical;
}

select {
  appearance: auto;
}

::placeholder {
  color: rgba(29, 43, 58, 0.55);
}

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

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

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

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

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

.section--navy {
  background-color: var(--color-navy);
  color: var(--color-cream-text);
}

.section--navy h1,
.section--navy h2,
.section--navy h3,
.section--navy h4,
.section--navy h5,
.section--navy h6 {
  color: var(--color-cream-text);
}

.section-label {
  display: inline-flex;
  align-items: center;
  gap: var(--space-sm);
  font-size: var(--text-small-size);
  line-height: var(--text-small-leading);
  text-transform: uppercase;
  letter-spacing: 0.12em;
  color: var(--color-navy);
  margin-block-end: var(--space-md);
}

.section-label::before {
  content: "";
  display: inline-block;
  width: 2rem;
  height: 2px;
  background-color: var(--color-gold);
  flex-shrink: 0;
}

.section--navy .section-label {
  color: var(--color-cream-text);
}

.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: var(--space-sm);
  min-height: var(--min-touch-target);
  padding: var(--space-sm) var(--space-lg);
  border-radius: var(--radius-button);
  font-family: var(--font-body);
  font-size: var(--text-body-size);
  line-height: 1.2;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  text-decoration: none;
  color: var(--color-cream-text);
  background-color: var(--color-terracotta);
  border: 2px solid var(--color-terracotta);
  cursor: pointer;
  transition: background-color var(--transition-fast), border-color var(--transition-fast), box-shadow var(--transition-fast), color var(--transition-fast);
}

.btn:hover {
  background-color: #A94F2C;
  border-color: #A94F2C;
  color: var(--color-cream-text);
}

.btn:active {
  box-shadow: var(--shadow-inset-pressed);
}

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

.btn--teal:hover {
  background-color: #48716D;
  border-color: #48716D;
}

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

.btn--outline:hover {
  background-color: var(--color-navy);
  border-color: var(--color-navy);
  color: var(--color-cream-text);
}

.btn--outline-light {
  background-color: transparent;
  color: var(--color-cream-text);
  border-color: var(--color-cream-text);
}

.btn--outline-light:hover {
  background-color: var(--color-cream-text);
  border-color: var(--color-cream-text);
  color: var(--color-navy);
}

.card {
  background-color: var(--color-cream);
  border: var(--border-standard);
  border-radius: var(--radius-card);
  padding: var(--space-lg);
  transition: box-shadow var(--transition-fast), transform var(--transition-fast);
}

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

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

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

.badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 2.5rem;
  min-height: 2.5rem;
  padding: var(--space-xs) var(--space-sm);
  border-radius: var(--radius-badge);
  background-color: var(--color-gold);
  color: var(--color-navy);
  font-size: var(--text-small-size);
  line-height: 1;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.06em;
}

.image-frame {
  display: block;
  border: 4px solid var(--color-gold);
  border-radius: var(--radius-image);
  overflow: hidden;
}

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

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

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

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

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

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

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

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

.visually-hidden {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.skip-link {
  position: absolute;
  top: -100%;
  left: var(--space-md);
  z-index: 1000;
  padding: var(--space-sm) var(--space-lg);
  background-color: var(--color-navy);
  color: var(--color-cream-text);
  border-radius: var(--radius-button);
  text-decoration: none;
  transition: top var(--transition-fast);
}

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

@media (max-width: 48rem) {
  :root {
    --container-padding: var(--space-md);
  }

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

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

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

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


.site-header {
  background-color: var(--color-navy);
  color: var(--color-cream-text);
  position: relative;
  z-index: 100;
}

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

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

.site-header__brand:hover {
  color: var(--color-cream-text);
}

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

.site-header__brand-text {
  font-family: var(--font-heading);
  font-size: 1.5rem;
  line-height: 1.2;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

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

.site-header__toggle:hover {
  background-color: rgba(244, 231, 207, 0.1);
}

.site-header__toggle:focus-visible {
  outline: var(--focus-outline);
  outline-offset: var(--focus-outline-offset);
}

.site-header__toggle-line {
  display: block;
  width: 22px;
  height: 2px;
  background-color: var(--color-cream-text);
  transition: transform var(--transition-fast), opacity var(--transition-fast);
}

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

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

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

.site-header__nav {
  display: block;
}

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

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

.site-header__nav-list a {
  display: inline-flex;
  align-items: center;
  min-height: var(--min-touch-target);
  padding: var(--space-xs) var(--space-sm);
  color: var(--color-cream-text);
  text-decoration: none;
  font-weight: 700;
  letter-spacing: 0.04em;
  white-space: nowrap;
  transition: color var(--transition-fast), background-color var(--transition-fast);
  border-radius: var(--radius-button);
}

.site-header__nav-list a:hover {
  color: var(--color-gold);
  background-color: rgba(244, 231, 207, 0.08);
}

.site-header__nav-list a:focus-visible {
  outline: var(--focus-outline);
  outline-offset: var(--focus-outline-offset);
}

@media (max-width: 64rem) {
  .site-header__toggle {
    display: flex;
  }

  .site-header__nav {
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    background-color: var(--color-navy);
    border-top: 2px solid var(--color-gold);
    max-height: calc(100vh - 72px);
    overflow-y: auto;
    display: none;
    z-index: 99;
  }

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

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

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

  .site-header__nav-list a {
    display: flex;
    justify-content: center;
    width: 100%;
    padding: var(--space-sm) var(--space-md);
    border-radius: var(--radius-button);
  }
}

@media (max-width: 48rem) {
  .site-header__inner {
    min-height: 64px;
  }

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

  .site-header__brand-text {
    font-size: 1.25rem;
  }

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


.site-footer {
  background-color: var(--color-navy);
  color: var(--color-cream-text);
  padding-block: var(--space-xl);
  margin-top: var(--space-xxl);
}

.site-footer__inner {
  max-width: var(--container-max);
  margin-inline: auto;
  padding-inline: var(--container-padding);
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--space-lg);
}

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

.site-footer__brand-link {
  display: inline-flex;
  align-items: center;
  gap: var(--space-sm);
  text-decoration: none;
  color: var(--color-cream-text);
}

.site-footer__brand-link:hover {
  color: var(--color-gold);
}

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

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

.site-footer__tagline {
  margin: 0;
  max-width: 30ch;
  color: rgba(244, 231, 207, 0.85);
}

.site-footer__nav {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  gap: var(--space-lg);
}

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

.site-footer__heading {
  font-family: var(--font-heading);
  font-size: 1.25rem;
  line-height: 1.3;
  color: var(--color-cream-text);
  margin: 0;
}

.site-footer__list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: var(--space-xs);
}

.site-footer__list a {
  color: var(--color-cream-text);
  text-decoration: none;
  transition: color var(--transition-fast);
}

.site-footer__list a:hover {
  color: var(--color-gold);
}

.site-footer__contact-list li {
  color: rgba(244, 231, 207, 0.85);
}

.site-footer__social {
  display: flex;
  gap: var(--space-md);
  flex-wrap: wrap;
}

.site-footer__social a {
  display: inline-flex;
  align-items: center;
  min-height: var(--min-touch-target);
  padding: var(--space-xs) var(--space-sm);
  color: var(--color-cream-text);
  text-decoration: none;
  border: 2px solid var(--color-cream-text);
  border-radius: var(--radius-button);
  transition: background-color var(--transition-fast), color var(--transition-fast), border-color var(--transition-fast);
}

.site-footer__social a:hover {
  background-color: var(--color-cream-text);
  color: var(--color-navy);
  border-color: var(--color-cream-text);
}

.site-footer__bottom {
  border-top: 2px solid rgba(244, 231, 207, 0.2);
  padding-top: var(--space-md);
  text-align: center;
}

.site-footer__copyright {
  margin: 0;
  font-size: var(--text-small-size);
  line-height: var(--text-small-leading);
  color: rgba(244, 231, 207, 0.7);
}

.consent-banner {
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 1000;
  background-color: var(--color-navy);
  color: var(--color-cream-text);
  border-top: 2px solid var(--color-gold);
  padding: var(--space-md);
  box-shadow: 0 -4px 12px rgba(0, 0, 0, 0.2);
}

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

.consent-banner__content {
  max-width: var(--container-max);
  margin-inline: auto;
  display: flex;
  flex-direction: column;
  gap: var(--space-md);
  align-items: center;
  text-align: center;
}

.consent-banner__text {
  margin: 0;
  max-width: 60ch;
}

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

.consent-banner__button {
  min-height: var(--min-touch-target);
  padding: var(--space-sm) var(--space-lg);
  border-radius: var(--radius-button);
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  cursor: pointer;
  transition: background-color var(--transition-fast), border-color var(--transition-fast), color var(--transition-fast);
  border: 2px solid transparent;
}

.consent-banner__button--accept {
  background-color: var(--color-terracotta);
  color: var(--color-cream-text);
  border-color: var(--color-terracotta);
}

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

.consent-banner__button--reject {
  background-color: transparent;
  color: var(--color-cream-text);
  border-color: var(--color-cream-text);
}

.consent-banner__button--reject:hover {
  background-color: var(--color-cream-text);
  color: var(--color-navy);
}

.consent-banner__button:focus-visible {
  outline: var(--focus-outline);
  outline-offset: var(--focus-outline-offset);
}

.age-modal {
  position: fixed;
  inset: 0;
  z-index: 2000;
  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(29, 43, 58, 0.8);
}

.age-modal__dialog {
  position: relative;
  background-color: var(--color-cream);
  color: var(--color-navy-text);
  border: var(--border-standard);
  border-radius: var(--radius-card);
  padding: var(--space-lg);
  max-width: 28rem;
  width: 100%;
  max-height: calc(100vh - 2 * var(--space-md));
  overflow-y: auto;
  box-shadow: var(--shadow-interactive);
}

.age-modal__title {
  font-family: var(--font-heading);
  font-size: 1.75rem;
  line-height: 1.3;
  color: var(--color-navy);
  margin: 0 0 var(--space-sm);
}

.age-modal__description {
  margin: 0 0 var(--space-lg);
}

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

.age-modal__button {
  min-height: var(--min-touch-target);
  padding: var(--space-sm) var(--space-lg);
  border-radius: var(--radius-button);
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  cursor: pointer;
  transition: background-color var(--transition-fast), border-color var(--transition-fast), color var(--transition-fast);
  border: 2px solid transparent;
}

.age-modal__button--confirm {
  background-color: var(--color-terracotta);
  color: var(--color-cream-text);
  border-color: var(--color-terracotta);
}

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

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

.age-modal__button--decline:hover {
  background-color: var(--color-navy);
  color: var(--color-cream-text);
}

.age-modal__button:focus-visible {
  outline: var(--focus-outline);
  outline-offset: var(--focus-outline-offset);
}

@media (max-width: 48rem) {
  .site-footer__inner {
    gap: var(--space-md);
  }

  .site-footer__nav {
    grid-template-columns: 1fr;
    gap: var(--space-md);
  }

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

  .consent-banner__actions {
    width: 100%;
    flex-direction: column;
  }

  .consent-banner__button {
    width: 100%;
  }
}


/* Cookie Policy page styles */

.cookie-policy-hero {
  background-color: var(--color-navy);
  color: var(--color-cream-text);
  padding-block: var(--space-xl);
}

.cookie-policy-hero__inner {
  max-width: 720px;
  margin-inline: auto;
  padding-inline: var(--container-padding);
  display: flex;
  flex-direction: column;
  gap: var(--space-sm);
}

.cookie-policy-hero__label {
  color: var(--color-cream-text);
  margin-block-end: 0;
}

.cookie-policy-hero h1 {
  color: var(--color-cream-text);
  margin-block-end: 0;
}

.cookie-policy-hero__intro {
  font-size: var(--text-small-size);
  line-height: var(--text-small-leading);
  color: var(--color-cream-text);
  margin-block-end: 0;
}

.cookie-policy-section {
  padding-block: var(--space-xxl);
}

.cookie-policy-section--cream {
  background-color: var(--color-cream);
}

.cookie-policy-section--white {
  background-color: var(--color-white);
}

.cookie-policy-section__inner {
  max-width: 720px;
  margin-inline: auto;
  padding-inline: var(--container-padding);
  display: flex;
  flex-direction: column;
  gap: var(--space-lg);
}

.cookie-policy-section__inner h2 {
  margin-block-end: 0;
}

.cookie-policy-copy {
  display: flex;
  flex-direction: column;
  gap: var(--space-md);
}

.cookie-policy-copy p {
  margin-block-end: 0;
}

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

.cookie-policy-copy--70 {
  max-width: 70ch;
}

.cookie-policy-card-list {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: var(--space-lg);
}

.cookie-policy-card {
  background-color: var(--color-cream);
  border: var(--border-standard);
  border-radius: var(--radius-card);
  padding: var(--space-lg);
  display: flex;
  flex-direction: column;
  gap: var(--space-md);
}

.cookie-policy-card h3 {
  margin-block-end: 0;
}

.cookie-policy-card__list {
  margin-block-end: 0;
  padding-inline-start: 1.5rem;
  display: flex;
  flex-direction: column;
  gap: var(--space-sm);
  max-width: 70ch;
}

.cookie-policy-card__list li {
  overflow-wrap: break-word;
}

.cookie-policy-disclosure {
  border-inline-start: 4px solid var(--color-gold);
  padding-inline-start: var(--space-lg);
  max-width: 70ch;
}

.cookie-policy-disclosure p {
  margin-block-end: 0;
}

.cookie-policy-manage {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: var(--space-lg);
}

.cookie-policy-manage__text,
.cookie-policy-manage__action {
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: var(--space-md);
}

.cookie-policy-manage__text h3,
.cookie-policy-manage__action h3 {
  margin-block-end: 0;
}

.cookie-policy-manage__text p,
.cookie-policy-manage__action p {
  margin-block-end: 0;
  }

.cookie-policy-manage__steps {
  margin-block-end: 0;
  padding-inline-start: 1.5rem;
  display: flex;
  flex-direction: column;
  gap: var(--space-sm);
  max-width: 70ch;
}

.cookie-policy-settings-btn {
  align-self: flex-start;
}

.cookie-policy-contact {
  border-inline-start: 4px solid var(--color-gold);
  padding-inline-start: var(--space-lg);
  display: flex;
  flex-direction: column;
  gap: var(--space-md);
  max-width: 70ch;
}

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

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

@media (min-width: 48rem) {
  .cookie-policy-manage {
    grid-template-columns: minmax(0, 3fr) minmax(0, 2fr);
    align-items: start;
  }
}

@media (max-width: 47.999rem) {
  .cookie-policy-hero {
    padding-block: var(--space-lg);
  }

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

  .cookie-policy-card {
    padding: var(--space-md);
  }

  .cookie-policy-settings-btn {
    width: 100%;
    justify-content: center;
  }
}


/* Privacy Policy page styles */

.privacy-policy-page {
  background-color: var(--color-cream);
  padding-block: var(--space-xl);
}

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

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

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

.privacy-policy-section__content {
  max-width: 800px;
  margin-inline: auto;
  width: 100%;
}

.privacy-policy-section__eyebrow {
  display: inline-flex;
  align-items: center;
  gap: var(--space-sm);
  font-size: var(--text-small-size);
  line-height: var(--text-small-leading);
  text-transform: uppercase;
  letter-spacing: 0.12em;
  color: var(--color-navy);
  margin-block-end: var(--space-md);
}

.privacy-policy-section__eyebrow::before {
  content: "";
  display: inline-block;
  width: 2rem;
  height: 2px;
  background-color: var(--color-gold);
  flex-shrink: 0;
}

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

.privacy-policy-section__lead {
  font-size: var(--text-h3-size);
  line-height: var(--text-h3-leading);
  color: var(--color-navy);
  margin-block-end: var(--space-md);
}

.privacy-policy-section__effective-date {
  font-size: var(--text-small-size);
  line-height: var(--text-small-leading);
  color: var(--color-navy);
  margin-block-start: var(--space-md);
  font-style: italic;
}

.privacy-policy-section__contact-strip {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-sm) var(--space-lg);
  background-color: var(--color-white);
  border: var(--border-standard);
  border-radius: var(--radius-card);
  padding: var(--space-md) var(--space-lg);
  margin-block: var(--space-md);
}

.privacy-policy-section__contact-item {
  font-size: var(--text-small-size);
  line-height: var(--text-small-leading);
  color: var(--color-navy-text);
  min-width: 0;
}

.privacy-policy-section__contact-item a {
  color: var(--color-teal);
  text-decoration: underline;
  text-underline-offset: 3px;
}

.privacy-policy-section__contact-item a:hover {
  color: var(--color-terracotta);
}

.privacy-policy-card {
  background-color: var(--color-white);
  border: var(--border-standard);
  border-radius: var(--radius-card);
  padding: var(--space-lg);
  margin-block-end: var(--space-lg);
}

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

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

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

.privacy-policy-card__list {
  margin-block-end: var(--space-md);
  padding-inline-start: 1.5rem;
}

.privacy-policy-card__note {
  font-size: var(--text-small-size);
  line-height: var(--text-small-leading);
  color: var(--color-navy);
  background-color: var(--color-cream);
  border-inline-start: 4px solid var(--color-gold);
  padding: var(--space-sm) var(--space-md);
  margin-block-start: var(--space-md);
  margin-block-end: 0;
}

.privacy-policy-highlight {
  background-color: var(--color-white);
  border: var(--border-gold);
  border-radius: var(--radius-card);
  padding: var(--space-lg);
  margin-block-start: var(--space-md);
}

.privacy-policy-highlight p {
  margin-block-end: 0;
}

.privacy-policy-columns {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-lg);
  margin-block-start: var(--space-md);
}

.privacy-policy-column {
  background-color: var(--color-white);
  border: var(--border-standard);
  border-radius: var(--radius-card);
  padding: var(--space-lg);
  min-width: 0;
}

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

.privacy-policy-column__list {
  margin-block-end: var(--space-md);
  padding-inline-start: 1.5rem;
}

.privacy-policy-column__note {
  font-size: var(--text-small-size);
  line-height: var(--text-small-leading);
  color: var(--color-navy);
  background-color: var(--color-cream);
  border-inline-start: 4px solid var(--color-gold);
  padding: var(--space-sm) var(--space-md);
  margin-block-start: var(--space-md);
  margin-block-end: 0;
}

.privacy-policy-contact-card {
  background-color: var(--color-white);
  border: var(--border-gold);
  border-radius: var(--radius-card);
  padding: var(--space-lg);
  margin-block-start: var(--space-lg);
}

.privacy-policy-contact-card__heading {
  margin-block-end: var(--space-sm);
}

.privacy-policy-contact-card__message {
  margin-block-end: var(--space-md);
}

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

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

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

@media (max-width: 64rem) {
  .privacy-policy-section__content {
    max-width: 720px;
  }
}

@media (max-width: 48rem) {
  .privacy-policy-page {
    padding-block: var(--space-lg);
  }

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

  .privacy-policy-section__content {
    max-width: 100%;
  }

  .privacy-policy-section__heading {
    font-size: clamp(1.75rem, 6vw, 2.25rem);
  }

  .privacy-policy-section__lead {
    font-size: clamp(1.25rem, 4vw, 1.5rem);
  }

  .privacy-policy-section__contact-strip {
    flex-direction: column;
    gap: var(--space-sm);
    padding: var(--space-md);
  }

  .privacy-policy-card {
    padding: var(--space-md);
  }

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

  .privacy-policy-column {
    padding: var(--space-md);
  }

  .privacy-policy-contact-card {
    padding: var(--space-md);
  }
}


/* Page-owned styles for Contact page */

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

.contact-hero__heading-block {
  width: 100%;
}

.contact-hero__intro {
  max-width: 60ch;
}

.contact-hero__support {
  max-width: 60ch;
}

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

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

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

.contact-hero__card-title {
  margin-block-end: 0;
}

.contact-hero__card-text {
  margin-block-end: 0;
}

.contact-hero__link {
  font-weight: 700;
  color: var(--color-teal);
  text-decoration: underline;
  text-underline-offset: 3px;
  margin-block-start: auto;
}

.contact-hero__address {
  font-style: normal;
  margin-block-start: auto;
}

.reservation-cta__container {
  display: flex;
  justify-content: center;
}

.reservation-cta__content {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--space-md);
  max-width: 600px;
  text-align: center;
}

.reservation-cta__content p {
  margin-inline: auto;
  margin-block-end: 0;
}

.reservation-cta__button {
  margin-block-start: var(--space-sm);
}

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

.contact-details__heading {
  width: 100%;
}

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

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

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

.contact-details__card h3 {
  margin-block-end: 0;
}

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

.contact-details__link {
  font-weight: 700;
  color: var(--color-teal);
  text-decoration: underline;
  text-underline-offset: 3px;
  margin-block-start: auto;
}

.contact-details__address {
  font-style: normal;
  margin-block-start: auto;
}

.contact-details__hours {
  margin-block-end: 0;
  padding-inline-start: 1.25rem;
}

.reservation-form-section__container {
  display: flex;
  justify-content: center;
}

.reservation-form-section__card {
  width: 100%;
  max-width: 700px;
  display: flex;
  flex-direction: column;
  gap: var(--space-lg);
}

.reservation-form-section__heading {
  display: flex;
  flex-direction: column;
  gap: var(--space-sm);
}

.reservation-form-section__heading p {
  margin-block-end: 0;
}

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

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

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

.reservation-form__actions {
  grid-column: 1 / -1;
  display: flex;
  justify-content: flex-end;
}

.what-to-expect__container {
  display: flex;
  flex-direction: column;
  gap: var(--space-xl);
}

.what-to-expect__heading {
  width: 100%;
}

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

.what-to-expect__item {
  display: flex;
  flex-direction: column;
  gap: var(--space-sm);
  min-width: 0;
}

.what-to-expect__item h3 {
  color: var(--color-cream-text);
  margin-block-end: 0;
}

.what-to-expect__item p {
  color: var(--color-cream-text);
  margin-block-end: 0;
  }

.what-to-expect__link {
  color: var(--color-gold);
  text-decoration: underline;
  text-underline-offset: 3px;
  margin-block-start: auto;
}

.what-to-expect__link:hover {
  color: var(--color-cream-text);
}

.faq-teaser__container {
  display: flex;
  flex-direction: column;
  gap: var(--space-xl);
}

.faq-teaser__heading {
  width: 100%;
}

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

.faq-teaser__card {
  display: flex;
  flex-direction: column;
  gap: var(--space-sm);
}

.faq-teaser__card h3 {
  margin-block-end: 0;
}

.faq-teaser__card p {
  margin-block-end: 0;
  }

.faq-teaser__link {
  font-weight: 700;
  color: var(--color-teal);
  text-decoration: underline;
  text-underline-offset: 3px;
  align-self: flex-start;
}

.final-cta {
  background-color: var(--color-terracotta);
  color: var(--color-cream-text);
}

.final-cta__container {
  display: flex;
  justify-content: center;
}

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

.final-cta__content h2 {
  color: var(--color-cream-text);
  margin-block-end: 0;
}

.final-cta__content p {
  margin-inline: auto;
  margin-block-end: 0;
}

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

.final-cta__button {
  min-width: 160px;
}

/* Tablet breakpoint */
@media (max-width: 64rem) {
  .contact-hero__cards {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

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

  .what-to-expect__grid {
    grid-template-columns: 1fr;
  }
}

/* Mobile breakpoint */
@media (max-width: 48rem) {
  .contact-hero__cards {
    grid-template-columns: 1fr;
  }

  .contact-details__grid {
    grid-template-columns: 1fr;
  }

  .reservation-form {
    grid-template-columns: 1fr;
  }

  .reservation-form__field--full {
    grid-column: auto;
  }

  .reservation-form__actions {
    grid-column: auto;
    justify-content: stretch;
  }

  .reservation-form__actions .btn {
    width: 100%;
  }

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

  .final-cta__button {
    width: 100%;
  }

  .contact-hero__intro,
  .contact-hero__support {
    max-width: 100%;
  }

  .what-to-expect__item p {
  }

  .faq-teaser__card p {
  }

  .final-cta__content p {
  }
}


/* Terms and Conditions page styles */

.terms-page {
  background-color: var(--color-cream);
  color: var(--color-navy-text);
}

/* Hero */
.terms-hero {
  background-color: var(--color-navy);
  color: var(--color-cream-text);
  padding-block: var(--space-xl);
}

.terms-hero__inner {
  max-width: var(--container-max);
  margin-inline: auto;
  padding-inline: var(--container-padding);
  display: flex;
  flex-direction: column;
  gap: var(--space-md);
  align-items: flex-start;
}

.terms-hero .section-label {
  color: var(--color-cream-text);
  margin-block-end: 0;
}

.terms-hero h1 {
  color: var(--color-cream-text);
  margin-block-end: 0;
  font-size: var(--text-h1-size);
  line-height: var(--text-h1-leading);
}

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

/* Layout */
.terms-layout {
  display: grid;
  grid-template-columns: minmax(220px, 280px) minmax(0, 1fr);
  gap: var(--space-xl);
  align-items: start;
  padding-block: var(--space-xl);
}

/* Table of contents */
.terms-toc {
  position: sticky;
  top: var(--space-lg);
  max-height: calc(100vh - var(--space-xl));
  overflow-y: auto;
  background-color: var(--color-white);
  border: var(--border-standard);
  border-radius: var(--radius-card);
  padding: var(--space-lg);
}

.terms-toc__toggle {
  display: none;
  width: 100%;
  justify-content: space-between;
  align-items: center;
  min-height: var(--min-touch-target);
  padding: var(--space-sm) var(--space-md);
  background-color: var(--color-cream);
  border: var(--border-standard);
  border-radius: var(--radius-button);
  font-family: var(--font-heading);
  font-size: var(--text-h3-size);
  color: var(--color-navy);
  cursor: pointer;
  transition: background-color var(--transition-fast);
}

.terms-toc__toggle:hover {
  background-color: var(--color-gold);
}

.terms-toc__toggle-icon {
  width: 12px;
  height: 12px;
  border-right: 2px solid var(--color-navy);
  border-bottom: 2px solid var(--color-navy);
  transform: rotate(45deg);
  transition: transform var(--transition-fast);
}

.terms-toc__toggle[aria-expanded="true"] .terms-toc__toggle-icon {
  transform: rotate(-135deg);
}

.terms-toc__list {
  display: flex;
  flex-direction: column;
  gap: var(--space-sm);
}

.terms-toc__list a {
  display: block;
  padding: var(--space-xs) var(--space-sm);
  color: var(--color-navy);
  text-decoration: none;
  font-size: var(--text-body-size);
  line-height: 1.4;
  border-radius: var(--radius-button);
  transition: background-color var(--transition-fast), color var(--transition-fast);
}

.terms-toc__list a:hover {
  background-color: var(--color-cream);
  color: var(--color-terracotta);
}

.terms-toc__list a:focus-visible {
  outline: var(--focus-outline);
  outline-offset: var(--focus-outline-offset);
}

/* Content */
.terms-content {
  min-width: 0;
  max-width: 800px;
  width: 100%;
  margin-inline: auto;
}

.terms-section {
  padding-block: var(--space-xl);
  border-block-end: 2px solid rgba(29, 43, 58, 0.15);
}

.terms-section:first-child {
  padding-block-start: 0;
}

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

.terms-section__inner {
  max-width: 800px;
  width: 100%;
  margin-inline: auto;
}

.terms-section h2 {
  font-size: var(--text-h2-size);
  line-height: var(--text-h2-leading);
  margin-block-end: var(--space-md);
  color: var(--color-navy);
}

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

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

.terms-section ul,
.terms-section ol {
  margin-block-end: var(--space-md);
  padding-inline-start: 1.5rem;
  max-width: 70ch;
}

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

/* Definitions */
.terms-definitions {
  margin-block-start: var(--space-md);
}

.terms-definitions__list {
  display: flex;
  flex-direction: column;
  gap: var(--space-md);
  margin-block-end: 0;
}

.terms-definitions__item {
  display: flex;
  flex-direction: column;
  gap: var(--space-xs);
}

.terms-definitions__item dt {
  font-family: var(--font-heading);
  font-size: var(--text-body-size);
  color: var(--color-terracotta);
  margin-block-end: 0;
}

.terms-definitions__item dd {
  margin-inline-start: 0;
  margin-block-end: 0;
  max-width: 70ch;
}

/* Restricted lists with gold left border */
.terms-restricted-list,
.terms-rule-list,
.terms-reservation-list,
.terms-disclaimer-list,
.terms-changes-list {
  border-inline-start: 4px solid var(--color-gold);
  padding-inline-start: var(--space-lg);
  list-style-position: outside;
}

.terms-restricted-list li,
.terms-rule-list li,
.terms-reservation-list li,
.terms-disclaimer-list li,
.terms-changes-list li {
  margin-block-end: var(--space-sm);
}

/* Venue rules card */
.terms-rules-card {
  margin-block-start: var(--space-md);
}

.terms-rules-card h3:first-child {
  margin-block-start: 0;
}

/* Navy liability section */
.terms-section--navy {
  background-color: var(--color-navy);
  color: var(--color-cream-text);
  border-radius: var(--radius-card);
  padding: var(--space-lg);
  border-block-end: none;
  margin-block: var(--space-lg);
}

.terms-section--navy .terms-section__inner {
  max-width: 100%;
}

.terms-section--navy h2,
.terms-section--navy h3 {
  color: var(--color-cream-text);
}

.terms-section--navy p,
.terms-section--navy li {
  color: var(--color-cream-text);
}

.terms-section--navy .terms-disclaimer-list {
  border-inline-start-color: var(--color-gold);
}

/* Effective date note */
.terms-effective-note {
  font-weight: 700;
  color: var(--color-terracotta);
}

/* Contact card */
.terms-contact-card {
  margin-block-start: var(--space-md);
  border-color: var(--color-gold);
}

.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-wrap: wrap;
  gap: var(--space-xs);
  align-items: baseline;
}

.terms-contact-label {
  font-weight: 700;
  color: var(--color-navy);
  min-width: 90px;
}

/* Responsive */
@media (max-width: 64rem) {
  .terms-layout {
    grid-template-columns: minmax(200px, 240px) minmax(0, 1fr);
    gap: var(--space-lg);
  }
}

@media (max-width: 48rem) {
  .terms-hero {
    padding-block: var(--space-lg);
  }

  .terms-hero h1 {
    font-size: clamp(1.75rem, 5vw, 2.25rem);
  }

  .terms-layout {
    grid-template-columns: 1fr;
    gap: var(--space-lg);
    padding-block: var(--space-lg);
  }

  .terms-toc {
    position: static;
    max-height: none;
    overflow-y: visible;
    padding: var(--space-sm);
  }

  .terms-toc__toggle {
    display: flex;
  }

  .terms-toc__list {
    display: none;
    margin-block-start: var(--space-sm);
  }

  .terms-toc__list.is-open {
    display: flex;
  }

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

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

  .terms-section--navy {
    padding: var(--space-md);
    margin-block: var(--space-md);
  }

  .terms-section p,
  .terms-section ul,
  .terms-section ol,
  .terms-definitions__item dd {
    max-width: 100%;
  }

  .terms-contact-list li {
    flex-direction: column;
    gap: var(--space-xs);
  }

  .terms-contact-label {
    min-width: 0;
  }
}

@media (max-width: 30rem) {
  .terms-hero h1 {
    font-size: 1.75rem;
  }

  .terms-section h2 {
    font-size: 1.5rem;
  }

  .terms-section h3 {
    font-size: 1.25rem;
  }

  .terms-toc__toggle {
    font-size: 1.125rem;
  }
}


/* FAQ page styles */

.faq-hero {
  background-color: var(--color-cream);
}

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

.faq-hero__spade {
  font-size: 3rem;
  line-height: 1;
  color: var(--color-gold);
}

.faq-hero__lead {
  max-width: 45ch;
  margin-inline: auto;
  text-align: center;
}

.faq-hero__support {
  max-width: 45ch;
  margin-inline: auto;
  text-align: center;
  font-size: var(--text-small-size);
  line-height: var(--text-small-leading);
  color: var(--color-navy);
}

.faq-section__header {
  max-width: 800px;
  margin-inline: auto;
  margin-block-end: var(--space-lg);
}

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

.faq-item {
  padding: 0;
  overflow: hidden;
}

.faq-item__question {
  margin: 0;
}

.faq-item__trigger {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: var(--space-md);
  width: 100%;
  min-height: var(--min-touch-target);
  padding: var(--space-md) var(--space-lg);
  background: none;
  border: none;
  text-align: left;
  font-family: var(--font-heading);
  font-size: var(--text-h3-size);
  line-height: var(--text-h3-leading);
  color: var(--color-navy);
  cursor: pointer;
  transition: color var(--transition-fast);
}

.faq-item__trigger:hover {
  color: var(--color-terracotta);
}

.faq-item__icon {
  flex-shrink: 0;
  font-size: 1.5rem;
  line-height: 1;
  color: var(--color-terracotta);
  transition: transform var(--transition-fast);
}

.faq-item[data-open="true"] .faq-item__icon {
  transform: rotate(45deg);
}

.faq-item__answer {
  display: none;
  padding: 0 var(--space-lg) var(--space-lg);
}

.faq-item[data-open="true"] .faq-item__answer {
  display: block;
}

.faq-item__answer p {
  margin: 0;
}

.faq-item__answer a {
  color: var(--color-teal);
}

.faq-poker-layout {
  display: grid;
  grid-template-columns: minmax(0, 1.5fr) minmax(0, 1fr);
  gap: var(--space-lg);
  align-items: start;
}

.faq-poker-layout__accordion {
  max-width: none;
  margin-inline: 0;
}

.faq-poker-layout__image {
  min-width: 0;
}

.faq-poker-layout__image .image-frame {
  margin-block-end: 0;
}

.faq-poker-layout__image figcaption {
  text-align: left;
}

.faq-etiquette__card {
  max-width: 700px;
  margin-inline: auto;
  border: 2px solid var(--color-terracotta);
  background-color: var(--color-white);
  padding: var(--space-lg);
}

.faq-etiquette__spade {
  font-size: 2rem;
  line-height: 1;
  color: var(--color-terracotta);
  margin-block-end: var(--space-sm);
}

.faq-etiquette__card h2 {
  margin-block-end: var(--space-md);
}

.faq-etiquette__card p {
  margin-block-end: var(--space-md);
}

.faq-etiquette__list {
  max-width: 60ch;
  margin-block-end: 0;
  padding-inline-start: 1.5rem;
}

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

.faq-cta__inner h2 {
  color: var(--color-cream-text);
}

.faq-cta__inner p {
  margin-inline: auto;
  text-align: center;
  color: var(--color-cream-text);
}

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

.faq-cta__inner .btn {
  margin-block-start: var(--space-sm);
}

.faq-gallery__header {
  max-width: 800px;
  margin-inline: auto;
  margin-block-end: var(--space-lg);
  text-align: left;
}

.faq-gallery__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-lg);
}

.faq-gallery__item {
  margin: 0;
  min-width: 0;
  transition: transform var(--transition-fast), box-shadow var(--transition-fast);
}

.faq-gallery__item:hover {
  transform: translateY(-4px);
  box-shadow: var(--shadow-interactive);
}

.faq-gallery__item img {
  width: 100%;
  height: auto;
  display: block;
}

.faq-gallery__item figcaption {
  text-align: left;
}

@media (max-width: 64rem) {
  .faq-poker-layout {
    grid-template-columns: 1fr;
  }

  .faq-poker-layout__image {
    order: 2;
  }
}

@media (max-width: 48rem) {
  .faq-hero__inner {
    gap: var(--space-sm);
  }

  .faq-hero__lead,
  .faq-hero__support {
    max-width: 100%;
  }

  .faq-item__trigger {
    padding: var(--space-sm) var(--space-md);
    font-size: 1.25rem;
  }

  .faq-item__answer {
    padding: 0 var(--space-md) var(--space-md);
  }

  .faq-etiquette__card {
    padding: var(--space-md);
  }

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

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


/* Page-owned styles for Dining page */

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

.dining-hero__text {
  min-width: 0;
}

.dining-hero__text h1 {
  margin-block-end: var(--space-md);
}

.dining-hero__text p {
  margin-block-end: var(--space-md);
}

.dining-hero__address {
  font-weight: 700;
  color: var(--color-terracotta);
}

.dining-hero__cta {
  margin-block-start: var(--space-lg);
}

.dining-hero__media {
  min-width: 0;
  width: 100%;
}

.dining-hero__media img {
  width: 100%;
  height: auto;
  aspect-ratio: 4 / 3;
  object-fit: cover;
}

.dining-room__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-xl);
  align-items: center;
}

.dining-room__text {
  min-width: 0;
}

.dining-room__text p {
  }

.dining-room__media {
  min-width: 0;
  width: 100%;
}

.dining-room__media img {
  width: 100%;
  height: auto;
  aspect-ratio: 1 / 1;
  object-fit: cover;
}

.menu-highlights__image {
  margin-block-end: var(--space-xl);
}

.menu-highlights__image img {
  width: 100%;
  height: auto;
  aspect-ratio: 16 / 9;
  object-fit: cover;
}

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

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

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

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

.menu-card ul {
  margin-block-end: 0;
  padding-inline-start: 1.25rem;
}

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

.dining-poker__media {
  min-width: 0;
  width: 100%;
}

.dining-poker__media img {
  width: 100%;
  height: auto;
  aspect-ratio: 4 / 3;
  object-fit: cover;
}

.dining-poker__text {
  min-width: 0;
}

.dining-poker__text p {
  }

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

.private-dining__card {
  width: 100%;
  max-width: 50rem;
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--space-md);
}

.private-dining__card .section-label {
  justify-content: center;
}

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

.private-dining__card .btn {
  margin-block-start: var(--space-md);
}

.reservations {
  color: var(--color-cream-text);
}

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

.reservations__column {
  min-width: 0;
  background-color: rgba(244, 231, 207, 0.06);
  border: 2px solid rgba(244, 231, 207, 0.25);
  border-radius: var(--radius-card);
  padding: var(--space-lg);
}

.reservations__column h2 {
  color: var(--color-cream-text);
}

.reservations__column p {
  color: var(--color-cream-text);
}

.reservations__list {
  color: var(--color-cream-text);
  margin-block-end: 0;
}

.reservations__list a {
  color: var(--color-gold);
}

.reservations__list a:hover {
  color: var(--color-terracotta);
}

.dining-faq__container {
  max-width: 50rem;
  margin-inline: auto;
}

.dining-faq__intro {
  max-width: 42rem;
}

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

.dining-faq__item {
  padding: 0;
  overflow: hidden;
}

.dining-faq__question {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-md);
  padding: var(--space-md) var(--space-lg);
  background-color: transparent;
  border: none;
  cursor: pointer;
  font-family: var(--font-heading);
  font-size: var(--text-h3-size);
  line-height: var(--text-h3-leading);
  color: var(--color-navy);
  text-align: left;
  min-height: var(--min-touch-target);
}

.dining-faq__question:focus-visible {
  outline: var(--focus-outline);
  outline-offset: -3px;
}

.dining-faq__icon {
  flex-shrink: 0;
  width: 1.25rem;
  height: 1.25rem;
  position: relative;
  transition: transform var(--transition-fast);
}

.dining-faq__icon::before,
.dining-faq__icon::after {
  content: "";
  position: absolute;
  background-color: var(--color-terracotta);
  border-radius: 2px;
  transition: transform var(--transition-fast);
}

.dining-faq__icon::before {
  top: 50%;
  left: 0;
  width: 100%;
  height: 2px;
  transform: translateY(-50%);
}

.dining-faq__icon::after {
  top: 0;
  left: 50%;
  width: 2px;
  height: 100%;
  transform: translateX(-50%);
}

.dining-faq__item.is-open .dining-faq__icon {
  transform: rotate(45deg);
}

.dining-faq__answer {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.3s ease;
  padding-inline: var(--space-lg);
}

.dining-faq__answer p {
  margin-block: 0 var(--space-md);
}

.dining-faq__item.is-open .dining-faq__answer {
  max-height: 20rem;
}

.dining-cta {
  position: relative;
  overflow: hidden;
}

.dining-cta::before {
  content: "";
  position: absolute;
  inset: 0;
  background-image: radial-gradient(circle at 20% 30%, rgba(194, 160, 77, 0.15) 0, transparent 40%),
    radial-gradient(circle at 80% 70%, rgba(197, 101, 63, 0.18) 0, transparent 45%);
  pointer-events: none;
}

.dining-cta__container {
  position: relative;
  max-width: 50rem;
  margin-inline: auto;
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--space-md);
}

.dining-cta__container .section-label {
  justify-content: center;
  color: var(--color-cream-text);
}

.dining-cta__container h2 {
  color: var(--color-cream-text);
}

.dining-cta__container p {
  color: var(--color-cream-text);
  margin-block-end: 0;
}

.dining-cta__container a {
  color: var(--color-gold);
}

.dining-cta__container a:hover {
  color: var(--color-terracotta);
}

.dining-cta__container .btn {
  margin-block-start: var(--space-md);
}

@media (max-width: 64rem) {
  .dining-hero__grid,
  .dining-room__grid,
  .dining-poker__grid {
    grid-template-columns: 1fr;
  }

  .dining-hero__media,
  .dining-room__media,
  .dining-poker__media {
    order: -1;
  }

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

  .reservations__grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 48rem) {
  .menu-highlights__grid {
    grid-template-columns: 1fr;
  }

  .dining-hero__text p,
  .dining-room__text p,
  .dining-poker__text p,
  .dining-faq__intro,
  .private-dining__card p,
  .dining-cta__container p {
  }

  .private-dining__card,
  .reservations__column,
  .dining-faq__item {
    padding: var(--space-md);
  }

  .dining-faq__question {
    padding: var(--space-sm) var(--space-md);
  }

  .dining-faq__answer {
    padding-inline: var(--space-md);
  }
}


/* Card Parlour page styles */

/* Hero */
.card-parlour-hero {
  position: relative;
  min-height: 80vh;
  display: flex;
  align-items: center;
  overflow: hidden;
  background-color: var(--color-navy);
}

.card-parlour-hero__image {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  opacity: 0.85;
}

.card-parlour-hero__overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, rgba(29, 43, 58, 0.92) 0%, rgba(29, 43, 58, 0.72) 45%, rgba(29, 43, 58, 0.35) 100%);
}

.card-parlour-hero__container {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: minmax(0, 60%) minmax(0, 40%);
  gap: var(--space-lg);
  align-items: center;
  width: 100%;
}

.card-parlour-hero__text {
  min-width: 0;
  color: var(--color-cream-text);
  max-width: 45ch;
}

.card-parlour-hero__label {
  color: var(--color-cream-text);
  margin-block-end: var(--space-md);
}

.card-parlour-hero__text h1 {
  color: var(--color-cream-text);
  margin-block-end: var(--space-md);
  font-size: clamp(2.5rem, 5vw, 4rem);
  line-height: 1.1;
}

.card-parlour-hero__lead {
  font-size: 1.25rem;
  line-height: 1.5;
  margin-block-end: var(--space-md);
  color: var(--color-cream-text);
}

.card-parlour-hero__support {
  color: rgba(244, 231, 207, 0.85);
  margin-block-end: var(--space-lg);
}

.card-parlour-hero__cta {
  display: inline-flex;
}

.card-parlour-hero__decorative {
  display: flex;
  justify-content: center;
  align-items: center;
  min-width: 0;
}

.card-parlour-hero__decorative-card {
  width: min(100%, 280px);
  aspect-ratio: 3 / 4;
  background-color: var(--color-cream);
  border: 4px solid var(--color-gold);
  border-radius: var(--radius-card);
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-template-rows: 1fr 1fr;
  gap: var(--space-sm);
  padding: var(--space-lg);
  transform: rotate(4deg);
  box-shadow: 0 12px 24px rgba(0, 0, 0, 0.25);
}

.card-parlour-hero__decorative-suit {
  font-size: 3rem;
  color: var(--color-terracotta);
  display: flex;
  align-items: center;
  justify-content: center;
}

.card-parlour-hero__decorative-suit:nth-child(2),
.card-parlour-hero__decorative-suit:nth-child(4) {
  color: var(--color-teal);
}

/* Inside the Lounge */
.card-parlour-lounge__header {
  text-align: center;
  margin-block-end: var(--space-xl);
}

.card-parlour-lounge__header .section-label {
  justify-content: center;
}

.card-parlour-lounge__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--space-lg);
}

.card-parlour-lounge__card {
  min-width: 0;
  text-align: center;
  padding: var(--space-lg);
  display: flex;
  flex-direction: column;
  gap: var(--space-sm);
}

.card-parlour-lounge__card h3 {
  margin-block-end: var(--space-sm);
}

.card-parlour-lounge__card p {
  margin-inline: auto;
  margin-block-end: 0;
}

/* Poker Tables & Social Play */
.card-parlour-tables__container {
  display: grid;
  grid-template-columns: minmax(0, 60%) minmax(0, 40%);
  gap: var(--space-xl);
  align-items: center;
}

.card-parlour-tables__text {
  min-width: 0;
  max-width: 55ch;
}

.card-parlour-tables__text h2 {
  margin-block-end: var(--space-md);
}

.card-parlour-tables__text h3 {
  margin-block-start: var(--space-lg);
  margin-block-end: var(--space-sm);
}

.card-parlour-tables__list {
  margin-block-end: var(--space-md);
}

.card-parlour-tables__media {
  min-width: 0;
  margin-block-end: 0;
}

.card-parlour-tables__media img {
  transition: transform var(--transition-fast);
}

.card-parlour-tables__media:hover img {
  transform: scale(1.03);
}

/* The Social Atmosphere */
.card-parlour-atmosphere {
  position: relative;
  overflow: hidden;
  padding-block: var(--space-xxl);
}

.card-parlour-atmosphere__image {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

.card-parlour-atmosphere__container {
  position: relative;
  z-index: 1;
  display: flex;
  justify-content: flex-start;
}

.card-parlour-atmosphere__panel {
  background-color: var(--color-cream);
  border: var(--border-standard);
  border-radius: var(--radius-card);
  padding: var(--space-xl);
  width: 50%;
  min-width: 0;
  max-width: 40ch;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.18);
}

.card-parlour-atmosphere__panel h2,
.card-parlour-atmosphere__panel h3 {
  color: var(--color-navy);
}

.card-parlour-atmosphere__panel p {
  margin-block-end: var(--space-md);
}

/* Gallery */
.card-parlour-gallery__intro {
  text-align: center;
  max-width: 65ch;
  margin-inline: auto;
  margin-block-end: var(--space-xl);
}

.card-parlour-gallery__intro .section-label {
  justify-content: center;
}

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

.card-parlour-gallery__item {
  min-width: 0;
  margin-block-end: 0;
}

.card-parlour-gallery__frame {
  aspect-ratio: 4 / 3;
  transition: box-shadow var(--transition-fast), transform var(--transition-fast);
}

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

.card-parlour-gallery__item figcaption {
  margin-block-start: var(--space-sm);
  text-align: left;
}

/* Poker Sessions & Events */
.card-parlour-sessions__header {
  text-align: center;
  margin-block-end: var(--space-xl);
}

.card-parlour-sessions__header .section-label {
  justify-content: center;
}

.card-parlour-sessions__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-lg);
}

.card-parlour-sessions__card {
  min-width: 0;
  padding: var(--space-lg);
  display: flex;
  flex-direction: column;
  gap: var(--space-sm);
}

.card-parlour-sessions__card h3 {
  margin-block-end: var(--space-sm);
}

.card-parlour-sessions__card p {
  margin-block-end: 0;
}

.card-parlour-sessions__list {
  margin-block-end: 0;
}

/* Visit the Card Parlour */
.card-parlour-visit__container {
  display: flex;
  justify-content: center;
}

.card-parlour-visit__card {
  background-color: var(--color-cream);
  color: var(--color-navy-text);
  border-radius: var(--radius-card);
  padding: var(--space-xl);
  max-width: 600px;
  width: 100%;
  text-align: center;
  display: flex;
  flex-direction: column;
  gap: var(--space-md);
  align-items: center;
}

.card-parlour-visit__label {
  color: var(--color-navy);
  justify-content: center;
}

.card-parlour-visit__card h2 {
  color: var(--color-navy);
  margin-block-end: 0;
}

.card-parlour-visit__card p {
  margin-block-end: 0;
}

.card-parlour-visit__contact a {
  color: var(--color-terracotta);
  font-weight: 700;
}

.card-parlour-visit__actions {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-md);
  justify-content: center;
}

.card-parlour-visit__btn {
  flex: 0 1 auto;
}

/* FAQ */
.card-parlour-faq__container {
  max-width: 800px;
  margin-inline: auto;
}

.card-parlour-faq__header {
  text-align: center;
  margin-block-end: var(--space-xl);
}

.card-parlour-faq__header .section-label {
  justify-content: center;
}

.card-parlour-faq__accordion {
  display: flex;
  flex-direction: column;
  gap: var(--space-md);
}

.card-parlour-faq__item {
  border: var(--border-standard);
  border-radius: var(--radius-card);
  background-color: var(--color-white);
  overflow: hidden;
}

.card-parlour-faq__trigger {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-md);
  width: 100%;
  min-height: var(--min-touch-target);
  padding: var(--space-md) var(--space-lg);
  font-family: var(--font-heading);
  font-size: var(--text-h3-size);
  line-height: var(--text-h3-leading);
  color: var(--color-navy);
  text-align: left;
  background-color: transparent;
  border: none;
  cursor: pointer;
}

.card-parlour-faq__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2rem;
  height: 2rem;
  border-radius: var(--radius-badge);
  background-color: var(--color-gold);
  color: var(--color-navy);
  font-size: 1.5rem;
  line-height: 1;
  flex-shrink: 0;
  transition: transform var(--transition-fast);
}

.card-parlour-faq__item.is-active .card-parlour-faq__icon {
  transform: rotate(45deg);
}

.card-parlour-faq__panel {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.3s ease;
}

.card-parlour-faq__panel p {
  padding: 0 var(--space-lg) var(--space-lg);
  margin-block-end: 0;
  }

/* Tablet */
@media (max-width: 64rem) {
  .card-parlour-hero__container {
    grid-template-columns: minmax(0, 1fr);
    gap: var(--space-xl);
  }

  .card-parlour-hero__text {
    max-width: 100%;
  }

  .card-parlour-hero__decorative {
    display: none;
  }

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

  .card-parlour-lounge__card:last-child {
    grid-column: 1 / -1;
  }

  .card-parlour-tables__container {
    grid-template-columns: minmax(0, 1fr);
    gap: var(--space-lg);
  }

  .card-parlour-tables__text {
    max-width: 100%;
  }

  .card-parlour-atmosphere__panel {
    width: 70%;
  }

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

  .card-parlour-gallery__item:last-child {
    grid-column: 1 / -1;
  }
}

/* Mobile */
@media (max-width: 48rem) {
  .card-parlour-hero {
    min-height: auto;
    padding-block: var(--space-xl);
  }

  .card-parlour-hero__container {
    gap: var(--space-lg);
  }

  .card-parlour-hero__text {
    text-align: center;
    max-width: 100%;
  }

  .card-parlour-hero__label {
    justify-content: center;
  }

  .card-parlour-hero__text h1 {
    font-size: clamp(2rem, 8vw, 2.75rem);
  }

  .card-parlour-hero__cta {
    width: 100%;
    justify-content: center;
  }

  .card-parlour-lounge__grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .card-parlour-lounge__card:last-child {
    grid-column: auto;
  }

  .card-parlour-lounge__card p {
  }

  .card-parlour-atmosphere {
    padding-block: var(--space-xl);
  }

  .card-parlour-atmosphere__container {
    justify-content: center;
  }

  .card-parlour-atmosphere__panel {
    width: 100%;
    max-width: 100%;
    padding: var(--space-lg);
  }

  .card-parlour-gallery__grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .card-parlour-gallery__item:last-child {
    grid-column: auto;
  }

  .card-parlour-sessions__grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .card-parlour-sessions__card p {
  }

  .card-parlour-visit__card {
    padding: var(--space-lg);
  }

  .card-parlour-visit__actions {
    flex-direction: column;
    width: 100%;
  }

  .card-parlour-visit__btn {
    width: 100%;
    justify-content: center;
  }

  .card-parlour-faq__trigger {
    font-size: var(--text-body-size);
    line-height: var(--text-body-leading);
    padding: var(--space-md);
  }

  .card-parlour-faq__panel p {
    padding: 0 var(--space-md) var(--space-md);
  }
}


/* Gallery page styles */

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

.gallery-hero__image {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

.gallery-hero__overlay {
  position: absolute;
  inset: 0;
  background-color: rgba(29, 43, 58, 0.65);
  z-index: 1;
}

.gallery-hero__content {
  position: relative;
  z-index: 2;
  max-width: 600px;
  margin-inline: auto;
  padding-block: var(--space-xl);
  color: var(--color-cream-text);
}

.gallery-hero__label {
  color: var(--color-cream-text);
  margin-block-end: var(--space-md);
}

.gallery-hero__title {
  color: var(--color-cream-text);
  margin-block-end: var(--space-md);
  font-size: var(--text-h1-size);
  line-height: var(--text-h1-leading);
}

.gallery-hero__text {
  color: var(--color-cream-text);
  margin-block-end: var(--space-lg);
  max-width: 600px;
}

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

.gallery-dining__intro {
  max-width: 700px;
  margin-inline: auto;
  text-align: center;
  margin-block-end: var(--space-xl);
}

.gallery-dining__intro .section-label {
  justify-content: center;
}

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

.gallery-dining__item {
  display: flex;
  flex-direction: column;
  gap: var(--space-sm);
  min-width: 0;
  margin-block-end: 0;
}

.gallery-dining__frame {
  width: 100%;
  aspect-ratio: 4 / 3;
}

.gallery-dining__frame img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform var(--transition-fast), box-shadow var(--transition-fast);
}

.gallery-dining__item:hover .gallery-dining__frame img {
  transform: scale(1.02);
  box-shadow: var(--shadow-interactive);
}

.gallery-dining__item figcaption {
  margin-block-start: 0;
  max-width: 300px;
}

.gallery-poker__intro {
  max-width: 700px;
  margin-inline: auto;
  text-align: center;
  margin-block-end: var(--space-xl);
}

.gallery-poker__intro .section-label {
  justify-content: center;
}

.gallery-poker__row {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-lg);
  align-items: center;
  margin-block-end: var(--space-xl);
}

.gallery-poker__row:last-child {
  margin-block-end: 0;
}

.gallery-poker__row--reverse .gallery-poker__media {
  order: 2;
}

.gallery-poker__row--reverse .gallery-poker__text {
  order: 1;
}

.gallery-poker__media {
  min-width: 0;
  margin-block-end: 0;
}

.gallery-poker__frame {
  width: 100%;
  aspect-ratio: 4 / 3;
}

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

.gallery-poker__text {
  min-width: 0;
  max-width: 500px;
}

.gallery-poker__text h3 {
  margin-block-end: var(--space-sm);
}

.gallery-gatherings__intro {
  max-width: 700px;
  margin-inline: auto;
  text-align: center;
  margin-block-end: var(--space-xl);
}

.gallery-gatherings__intro .section-label {
  justify-content: center;
}

.gallery-gatherings__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-lg);
}

.gallery-gatherings__item {
  display: flex;
  flex-direction: column;
  gap: var(--space-sm);
  min-width: 0;
  margin-block-end: 0;
}

.gallery-gatherings__frame {
  width: 100%;
  aspect-ratio: 4 / 3;
}

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

.gallery-gatherings__item figcaption {
  margin-block-start: 0;
  max-width: 300px;
}

.gallery-details__intro {
  max-width: 700px;
  margin-inline: auto;
  text-align: center;
  margin-block-end: var(--space-xl);
}

.gallery-details__intro .section-label {
  justify-content: center;
}

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

.gallery-details__item {
  display: flex;
  flex-direction: column;
  gap: var(--space-sm);
  min-width: 0;
  margin-block-end: 0;
}

.gallery-details__frame {
  width: 100%;
  aspect-ratio: 4 / 3;
}

.gallery-details__frame img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform var(--transition-fast);
}

.gallery-details__item:hover .gallery-details__frame img {
  transform: scale(1.02);
}

.gallery-details__item figcaption {
  margin-block-start: 0;
  max-width: 300px;
}

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

.gallery-behind__main {
  min-width: 0;
  max-width: 500px;
}

.gallery-behind__points {
  min-width: 0;
  max-width: 500px;
}

.gallery-behind__points ul {
  margin-block-end: 0;
  padding-inline-start: 1.5rem;
}

.gallery-behind__points li {
  margin-block-end: var(--space-sm);
}

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

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

.gallery-visit__label {
  color: var(--color-cream-text);
  justify-content: center;
  margin-block-end: 0;
}

.gallery-visit h2 {
  color: var(--color-cream-text);
  margin-block-end: 0;
}

.gallery-visit__text {
  color: var(--color-cream-text);
  margin-block-end: 0;
  max-width: 600px;
}

.gallery-visit__address {
  font-style: normal;
  color: var(--color-cream-text);
  margin-block-end: 0;
}

.gallery-visit__address p {
  margin-block-end: var(--space-xs);
}

.gallery-visit__address a {
  color: var(--color-cream-text);
}

.gallery-visit__address a:hover {
  color: var(--color-gold);
}

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

.gallery-visit__actions .btn {
  min-width: 200px;
}

.gallery-faq__container {
  max-width: 800px;
  margin-inline: auto;
}

.gallery-faq__container h2 {
  margin-block-end: var(--space-lg);
}

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

.gallery-faq__item {
  border: var(--border-standard);
  border-radius: var(--radius-card);
  background-color: var(--color-white);
  overflow: hidden;
}

.gallery-faq__question {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-md);
  width: 100%;
  min-height: var(--min-touch-target);
  padding: var(--space-md) var(--space-lg);
  font-family: var(--font-heading);
  font-size: var(--text-h3-size);
  line-height: var(--text-h3-leading);
  color: var(--color-navy);
  background-color: var(--color-cream);
  border: none;
  cursor: pointer;
  text-align: left;
  transition: background-color var(--transition-fast), color var(--transition-fast);
}

.gallery-faq__question:hover {
  background-color: var(--color-terracotta);
  color: var(--color-cream-text);
}

.gallery-faq__question[aria-expanded="true"] {
  background-color: var(--color-terracotta);
  color: var(--color-cream-text);
}

.gallery-faq__icon {
  position: relative;
  width: 1.25rem;
  height: 1.25rem;
  flex-shrink: 0;
}

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

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

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

.gallery-faq__answer {
  padding: var(--space-md) var(--space-lg);
  background-color: var(--color-white);
  border-block-start: var(--border-standard);
}

.gallery-faq__answer p {
  margin-block-end: 0;
}

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

.gallery-final__container {
  max-width: 500px;
  margin-inline: auto;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--space-md);
}

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

.gallery-final p {
  margin-block-end: 0;
}

.gallery-final .btn {
  min-width: 200px;
}

@media (max-width: 64rem) {
  .gallery-dining__grid,
  .gallery-details__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .gallery-dining__item:last-child,
  .gallery-details__item:last-child {
    grid-column: span 2;
  }

  .gallery-dining__item:last-child figcaption,
  .gallery-details__item:last-child figcaption {
    max-width: 400px;
  }
}

@media (max-width: 48rem) {
  .gallery-hero {
    min-height: 400px;
  }

  .gallery-hero__content {
    max-width: 100%;
    padding-block: var(--space-lg);
  }

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

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

  .gallery-poker__row--reverse .gallery-poker__media {
    order: 1;
  }

  .gallery-poker__row--reverse .gallery-poker__text {
    order: 2;
  }

  .gallery-poker__text {
    max-width: 100%;
  }

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

  .gallery-behind__main,
  .gallery-behind__points {
    max-width: 100%;
  }

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

  .gallery-visit__actions .btn {
    width: 100%;
  }
}

@media (max-width: 30rem) {
  .gallery-dining__grid,
  .gallery-gatherings__grid,
  .gallery-details__grid {
    grid-template-columns: 1fr;
  }

  .gallery-dining__item:last-child,
  .gallery-details__item:last-child {
    grid-column: auto;
  }

  .gallery-dining__item figcaption,
  .gallery-gatherings__item figcaption,
  .gallery-details__item figcaption {
    max-width: 100%;
  }

  .gallery-faq__question {
    padding: var(--space-sm) var(--space-md);
    font-size: var(--text-body-size);
    line-height: var(--text-body-leading);
  }

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


/* Poker Sessions page styles */

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

.poker-hero__text {
  min-width: 0;
  text-align: left;
}

.poker-hero__lead {
  max-width: 34rem;
  margin-block-end: var(--space-lg);
}

.poker-hero__points {
  list-style: none;
  padding: 0;
  margin-block-end: var(--space-lg);
  display: flex;
  flex-direction: column;
  gap: var(--space-sm);
}

.poker-hero__points li {
  position: relative;
  padding-inline-start: 1.5rem;
}

.poker-hero__points li::before {
  content: "◆";
  position: absolute;
  left: 0;
  color: var(--color-terracotta);
  font-size: 0.8rem;
  line-height: 1.6;
}

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

.poker-hero__actions .btn {
  flex: 0 1 auto;
}

.poker-hero__media {
  min-width: 0;
  position: relative;
}

.poker-hero__figure {
  margin: 0;
  border-width: 4px;
}

.poker-hero__figure img {
  aspect-ratio: 4 / 3;
  object-fit: cover;
  width: 100%;
  height: auto;
}

.poker-hero__badge {
  position: absolute;
  bottom: var(--space-md);
  right: var(--space-md);
  transform: rotate(-6deg);
  box-shadow: var(--shadow-interactive);
}

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

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

.poker-expectation-card__badge {
  align-self: flex-start;
}

.poker-expectation-card h3 {
  margin: 0;
}

.poker-expectation-card p {
  margin: 0;
  }

.poker-expectation-card ul {
  margin: 0;
  padding-inline-start: 1.25rem;
  display: flex;
  flex-direction: column;
  gap: var(--space-xs);
}

.poker-formats {
  display: flex;
  flex-direction: column;
  gap: var(--space-xl);
  margin-block-start: var(--space-lg);
}

.poker-format-block {
  min-width: 0;
}

.poker-format-block h3 {
  margin-block-start: var(--space-sm);
  margin-block-end: var(--space-md);
}

.poker-format-block p {
  margin-block-end: var(--space-md);
}

.poker-format-block ul {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: var(--space-sm);
}

.poker-format-block li {
  position: relative;
  padding-inline-start: 1.5rem;
}

.poker-format-block li::before {
  content: "◆";
  position: absolute;
  left: 0;
  color: var(--color-terracotta);
  font-size: 0.8rem;
  line-height: 1.6;
}

.poker-steps {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: var(--space-lg);
  margin-block-start: var(--space-lg);
}

.poker-step {
  display: flex;
  gap: var(--space-lg);
  align-items: flex-start;
  min-width: 0;
  padding: var(--space-md);
  border-inline-start: 4px solid var(--color-terracotta);
  background-color: var(--color-white);
  border-radius: var(--radius-card);
  transition: box-shadow var(--transition-fast), transform var(--transition-fast);
}

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

.poker-step__number {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 3rem;
  height: 3rem;
  border-radius: var(--radius-badge);
  background-color: var(--color-gold);
  color: var(--color-navy);
  font-family: var(--font-heading);
  font-size: 1.5rem;
  line-height: 1;
}

.poker-step__content {
  min-width: 0;
  flex: 1 1 auto;
}

.poker-step__content h3 {
  margin: 0 0 var(--space-sm);
}

.poker-step__content p {
  margin: 0 0 var(--space-sm);
  }

.poker-step__content ul {
  margin: 0 0 var(--space-sm);
  padding-inline-start: 1.25rem;
  display: flex;
  flex-direction: column;
  gap: var(--space-xs);
}

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

.poker-join-cta {
  display: flex;
  justify-content: center;
  margin-block-start: var(--space-xl);
}

.poker-etiquette__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-lg);
  margin-block-start: var(--space-lg);
}

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

.poker-etiquette-card__badge {
  align-self: flex-start;
}

.poker-etiquette-card h3 {
  margin: 0;
}

.poker-etiquette-card p {
  margin: 0;
  }

.poker-etiquette-card ul {
  margin: 0;
  padding-inline-start: 1.25rem;
  display: flex;
  flex-direction: column;
  gap: var(--space-xs);
}

.poker-faq__container {
  max-width: 50rem;
  margin-inline: auto;
}

.poker-faq {
  display: flex;
  flex-direction: column;
  gap: var(--space-md);
  margin-block-start: var(--space-lg);
}

.poker-faq-item {
  border: var(--border-standard);
  border-radius: var(--radius-card);
  background-color: var(--color-white);
  overflow: hidden;
  transition: border-color var(--transition-fast);
}

.poker-faq-item:hover {
  border-color: var(--color-terracotta);
}

.poker-faq-item__trigger {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-md);
  width: 100%;
  min-height: var(--min-touch-target);
  padding: var(--space-md) var(--space-lg);
  background: none;
  border: none;
  cursor: pointer;
  font-family: var(--font-heading);
  font-size: var(--text-h3-size);
  line-height: var(--text-h3-leading);
  color: var(--color-navy);
  text-align: left;
}

.poker-faq-item__icon {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2rem;
  height: 2rem;
  border-radius: var(--radius-badge);
  background-color: var(--color-gold);
  color: var(--color-navy);
  font-size: 1.5rem;
  line-height: 1;
  transition: transform var(--transition-fast);
}

.poker-faq-item.is-open .poker-faq-item__icon {
  transform: rotate(45deg);
}

.poker-faq-item__answer {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.3s ease, padding 0.3s ease;
  background-color: var(--color-cream);
}

.poker-faq-item.is-open .poker-faq-item__answer {
  max-height: 20rem;
}

.poker-faq-item__answer p {
  margin: 0;
  padding: 0 var(--space-lg) var(--space-md);
  }

.poker-faq-item__answer ul {
  margin: 0;
  padding: 0 var(--space-lg) var(--space-md) 2.5rem;
  display: flex;
  flex-direction: column;
  gap: var(--space-xs);
}

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

.poker-visit__info {
  min-width: 0;
}

.poker-visit__info h3 {
  margin-block-end: var(--space-md);
}

.poker-visit__info p {
  margin-block-end: var(--space-md);
}

.poker-visit__info ul {
  margin-block-end: var(--space-md);
  padding-inline-start: 1.25rem;
  display: flex;
  flex-direction: column;
  gap: var(--space-xs);
}

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

.poker-visit__map {
  min-width: 0;
}

.poker-map-placeholder {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: var(--space-md);
  min-height: 16rem;
  border: 2px dashed var(--color-navy);
  border-radius: var(--radius-card);
  background-color: var(--color-white);
  padding: var(--space-lg);
  text-align: center;
}

.poker-map-placeholder__pin {
  font-size: 3rem;
  line-height: 1;
}

.poker-map-placeholder p {
  margin: 0;
  }

.poker-book {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap: var(--space-md);
  max-width: 44rem;
  margin-inline: auto;
}

.poker-book h2 {
  margin: 0;
}

.poker-book__lead {
  margin: 0;
  max-width: 32rem;
}

.poker-book__points {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: var(--space-xs);
}

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

.poker-book__actions .btn {
  flex: 0 1 auto;
}

@media (max-width: 56.25rem) {
  .poker-hero__grid {
    grid-template-columns: 1fr;
    gap: var(--space-lg);
  }

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

  .poker-hero__lead,
  .poker-hero__points,
  .poker-hero__actions {
    margin-inline: auto;
  }

  .poker-hero__points {
    align-items: flex-start;
    text-align: left;
    max-width: 34rem;
  }

  .poker-hero__actions {
    justify-content: center;
  }

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

  .poker-etiquette__grid {
    grid-template-columns: 1fr;
  }

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

@media (max-width: 48rem) {
  .poker-expectations__grid {
    grid-template-columns: 1fr;
  }

  .poker-step {
    flex-direction: column;
    gap: var(--space-md);
  }

  .poker-faq-item__trigger {
    font-size: 1.25rem;
    padding: var(--space-sm) var(--space-md);
  }

  .poker-faq-item__answer p,
  .poker-faq-item__answer ul {
    padding-inline: var(--space-md);
  }

  .poker-faq-item__answer ul {
    padding-inline-start: 2rem;
  }

  .poker-book__actions {
    flex-direction: column;
    width: 100%;
  }

  .poker-book__actions .btn {
    width: 100%;
  }
}

@media (max-width: 30rem) {
  .poker-hero__lead {
    max-width: 100%;
  }

  .poker-hero__actions {
    flex-direction: column;
    width: 100%;
  }

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

  .poker-format-block p {
  }

  .poker-step__content p {
  }

  .poker-visit__info p {
  }

  .poker-book__lead {
    max-width: 100%;
  }
}


/* Private Gatherings page styles */

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

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

.pg-hero__text .section-label {
  margin-block-end: 0;
}

.pg-hero__text h1 {
  max-width: 18ch;
  margin-block-end: 0;
  font-size: clamp(2.5rem, 5vw, 3.75rem);
  line-height: 1.1;
}

.pg-hero__lead {
  max-width: 55ch;
  margin-block-end: 0;
}

.pg-hero__actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--space-md);
  margin-block-start: var(--space-sm);
}

.pg-hero__text-link {
  font-weight: 700;
  text-decoration: underline;
  text-underline-offset: 3px;
  color: var(--color-teal);
  transition: color var(--transition-fast);
}

.pg-hero__text-link:hover {
  color: var(--color-terracotta);
}

.pg-hero__media {
  min-width: 0;
}

.pg-hero__image-link,
.pg-venue__image-link,
.pg-food__image-link,
.pg-poker__image-link {
  display: block;
  border-radius: var(--radius-image);
  overflow: hidden;
  border: 4px solid var(--color-gold);
  transition: transform var(--transition-fast), box-shadow var(--transition-fast);
}

.pg-hero__image-link:hover,
.pg-venue__image-link:hover,
.pg-food__image-link:hover,
.pg-poker__image-link:hover {
  transform: scale(1.015);
  box-shadow: var(--shadow-interactive);
}

.pg-hero__image-link img,
.pg-venue__image-link img,
.pg-food__image-link img,
.pg-poker__image-link img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  aspect-ratio: 4 / 3;
  display: block;
}

.pg-offer__heading,
.pg-steps__heading,
.pg-booking__heading,
.pg-faq__heading {
  text-align: center;
  max-width: 800px;
  margin-inline: auto;
  margin-block-end: var(--space-xl);
}

.pg-offer__heading .section-label,
.pg-steps__heading .section-label,
.pg-booking__heading .section-label,
.pg-faq__heading .section-label {
  justify-content: center;
}

.pg-offer__intro,
.pg-steps__intro {
  max-width: 60ch;
  margin-inline: auto;
  margin-block-start: var(--space-md);
}

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

.pg-offer__card {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-md);
  min-width: 0;
  padding: var(--space-lg);
}

.pg-offer__card h3 {
  margin-block-end: 0;
}

.pg-offer__card p {
  margin-block-end: 0;
}

.pg-offer__icon {
  width: 3rem;
  height: 3rem;
  border-radius: var(--radius-badge);
  background-color: var(--color-cream);
  border: 2px solid var(--color-navy);
  position: relative;
  flex-shrink: 0;
}

.pg-offer__icon--fork::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(135deg, transparent 45%, var(--color-terracotta) 45%, var(--color-terracotta) 55%, transparent 55%),
              linear-gradient(45deg, transparent 45%, var(--color-terracotta) 45%, var(--color-terracotta) 55%, transparent 55%);
  border-radius: inherit;
  opacity: 0.7;
}

.pg-offer__icon--spade::before {
  content: "";
  position: absolute;
  inset: 25%;
  background-color: var(--color-teal);
  clip-path: polygon(50% 0%, 100% 50%, 50% 100%, 0% 50%);
}

.pg-offer__icon--combined::before {
  content: "";
  position: absolute;
  inset: 20%;
  background: linear-gradient(135deg, var(--color-terracotta) 0 45%, var(--color-teal) 45% 100%);
  clip-path: polygon(50% 0%, 100% 50%, 50% 100%, 0% 50%);
}

.pg-venue__grid {
  display: grid;
  grid-template-columns: minmax(0, 11fr) minmax(0, 9fr);
  gap: var(--space-xl);
  align-items: center;
}

.pg-venue__text {
  min-width: 0;
}

.pg-venue__text p {
  }

.pg-venue__list,
.pg-food__list {
  list-style: none;
  padding-inline-start: 0;
  margin-block-start: var(--space-md);
  display: grid;
  gap: var(--space-sm);
}

.pg-venue__list li,
.pg-food__list li {
  display: flex;
  align-items: flex-start;
  gap: var(--space-sm);
  padding-inline-start: 1.25rem;
  position: relative;
}

.pg-venue__list li::before,
.pg-food__list li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.55em;
  width: 0.5rem;
  height: 0.5rem;
  background-color: var(--color-gold);
  transform: rotate(45deg);
  flex-shrink: 0;
}

.pg-venue__media,
.pg-food__media,
.pg-poker__media {
  min-width: 0;
}

.pg-steps__list {
  list-style: none;
  padding-inline-start: 0;
  margin-block-end: 0;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--space-xl);
  position: relative;
}

.pg-steps__list::before {
  content: "";
  position: absolute;
  top: 2rem;
  left: 10%;
  right: 10%;
  height: 2px;
  background-color: var(--color-gold);
  opacity: 0.6;
}

.pg-steps__item {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--space-md);
  min-width: 0;
  text-align: center;
  position: relative;
  z-index: 1;
}

.pg-steps__number {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 4rem;
  height: 4rem;
  border-radius: var(--radius-badge);
  background-color: var(--color-terracotta);
  color: var(--color-cream-text);
  font-family: var(--font-heading);
  font-size: 2rem;
  line-height: 1;
  flex-shrink: 0;
}

.pg-steps__content {
  min-width: 0;
}

.pg-steps__content h3 {
  margin-block-end: var(--space-sm);
}

.pg-steps__content p {
  margin-inline: auto;
  margin-block-end: 0;
}

.pg-food__grid {
  display: grid;
  grid-template-columns: minmax(0, 9fr) minmax(0, 11fr);
  gap: var(--space-xl);
  align-items: center;
}

.pg-food__text {
  min-width: 0;
}

.pg-food__text p {
  }

.pg-poker__grid {
  display: grid;
  grid-template-columns: minmax(0, 11fr) minmax(0, 9fr);
  gap: var(--space-xl);
  align-items: center;
}

.pg-poker__text {
  min-width: 0;
}

.pg-poker__text p {
  }

.pg-booking__container {
  max-width: 600px;
  margin-inline: auto;
}

.pg-booking__form {
  background-color: var(--color-white);
  border: var(--border-standard);
  border-radius: var(--radius-card);
  padding: var(--space-xl);
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-lg);
}

.pg-booking__field {
  min-width: 0;
}

.pg-booking__field--full {
  grid-column: 1 / -1;
}

.pg-booking__field label {
  margin-block-end: var(--space-xs);
}

.pg-booking__submit {
  grid-column: 1 / -1;
  display: flex;
  justify-content: flex-end;
}

.pg-booking__success {
  grid-column: 1 / -1;
  margin-block-end: 0;
  padding: var(--space-md);
  background-color: var(--color-cream);
  border: 2px solid var(--color-teal);
  border-radius: var(--radius-button);
  color: var(--color-navy);
  font-weight: 700;
}

.pg-booking__alt {
  text-align: center;
  margin-block-start: var(--space-lg);
}

.pg-booking__alt p {
  margin-block-end: 0;
}

.pg-faq__container {
  max-width: 800px;
  margin-inline: auto;
}

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

.pg-faq__item {
  background-color: var(--color-cream);
  border: var(--border-standard);
  border-radius: var(--radius-card);
  overflow: hidden;
}

.pg-faq__item h3 {
  margin-block-end: 0;
}

.pg-faq__question {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-md);
  width: 100%;
  min-height: var(--min-touch-target);
  padding: var(--space-md) var(--space-lg);
  font-family: var(--font-heading);
  font-size: 1.25rem;
  line-height: 1.3;
  color: var(--color-navy);
  text-align: left;
  background-color: transparent;
  border: none;
  cursor: pointer;
  transition: color var(--transition-fast), background-color var(--transition-fast);
}

.pg-faq__question:hover {
  color: var(--color-terracotta);
  background-color: rgba(197, 101, 63, 0.06);
}

.pg-faq__icon {
  position: relative;
  width: 1.25rem;
  height: 1.25rem;
  flex-shrink: 0;
  transition: transform var(--transition-fast);
}

.pg-faq__icon::before,
.pg-faq__icon::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 100%;
  height: 2px;
  background-color: var(--color-gold);
  transform: translate(-50%, -50%);
  transition: transform var(--transition-fast);
}

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

.pg-faq__question[aria-expanded="true"] .pg-faq__icon {
  transform: rotate(45deg);
}

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

.pg-faq__answer p {
  margin-block-end: 0;
}

.pg-final__container {
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--space-md);
}

.pg-final__container h2 {
  color: var(--color-cream-text);
  margin-block-end: 0;
}

.pg-final__container p {
  margin-inline: auto;
  margin-block-end: 0;
  color: var(--color-cream-text);
}

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

@media (max-width: 64rem) {
  .pg-hero__grid {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: var(--space-lg);
  }

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

  .pg-venue__grid,
  .pg-food__grid,
  .pg-poker__grid {
    gap: var(--space-lg);
  }
}

@media (max-width: 56.25rem) {
  .pg-hero__grid {
    grid-template-columns: 1fr;
    gap: var(--space-lg);
  }

  .pg-hero__text {
    align-items: center;
    text-align: center;
  }

  .pg-hero__text h1,
  .pg-hero__lead {
    margin-inline: auto;
  }

  .pg-hero__actions {
    justify-content: center;
  }

  .pg-offer__grid {
    grid-template-columns: 1fr;
    gap: var(--space-lg);
  }

  .pg-offer__card {
    align-items: center;
    text-align: center;
  }

  .pg-offer__card p {
    margin-inline: auto;
  }

  .pg-venue__grid,
  .pg-food__grid,
  .pg-poker__grid {
    grid-template-columns: 1fr;
    gap: var(--space-lg);
  }

  .pg-venue__media,
  .pg-food__media,
  .pg-poker__media {
    order: -1;
  }

  .pg-steps__list {
    grid-template-columns: 1fr;
    gap: var(--space-lg);
  }

  .pg-steps__list::before {
    display: none;
  }

  .pg-steps__item {
    flex-direction: row;
    align-items: flex-start;
    text-align: left;
    gap: var(--space-md);
  }

  .pg-steps__content p {
    margin-inline: 0;
  }
}

@media (max-width: 48rem) {
  .pg-hero__text h1 {
    font-size: 2.25rem;
  }

  .pg-hero__actions {
    flex-direction: column;
    width: 100%;
  }

  .pg-hero__actions .btn,
  .pg-hero__actions .pg-hero__text-link {
    width: 100%;
    justify-content: center;
    text-align: center;
  }

  .pg-booking__form {
    grid-template-columns: 1fr;
    padding: var(--space-md);
  }

  .pg-booking__submit {
    justify-content: stretch;
  }

  .pg-booking__submit .btn {
    width: 100%;
  }

  .pg-faq__question {
    padding: var(--space-sm) var(--space-md);
    font-size: 1.125rem;
  }

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

  .pg-final__actions {
    flex-direction: column;
    width: 100%;
  }

  .pg-final__actions .btn {
    width: 100%;
  }
}

@media (prefers-reduced-motion: reduce) {
  .pg-hero__image-link,
  .pg-venue__image-link,
  .pg-food__image-link,
  .pg-poker__image-link,
  .pg-faq__icon,
  .pg-faq__question {
    transition: none;
  }
}


/* Home page scoped styles */

.home-hero {
  position: relative;
  min-height: 80vh;
  display: flex;
  align-items: center;
  background-image: url('/src/media/hero-poker-table.webp');
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  color: var(--color-cream-text);
  overflow: hidden;
}

.home-hero__overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, rgba(29, 43, 58, 0.85) 0%, rgba(29, 43, 58, 0.55) 60%, rgba(29, 43, 58, 0.35) 100%);
  z-index: 1;
}

.home-hero__container {
  position: relative;
  z-index: 2;
  width: 100%;
}

.home-hero__content {
  max-width: 600px;
  display: flex;
  flex-direction: column;
  gap: var(--space-lg);
  align-items: flex-start;
  text-align: left;
}

.home-hero__kicker {
  display: inline-flex;
  align-items: center;
  gap: var(--space-sm);
  font-size: var(--text-small-size);
  line-height: var(--text-small-leading);
  text-transform: uppercase;
  letter-spacing: 0.12em;
  color: var(--color-gold);
}

.home-hero__kicker::before {
  content: "";
  display: inline-block;
  width: 2rem;
  height: 2px;
  background-color: var(--color-gold);
  flex-shrink: 0;
}

.home-hero__title {
  font-size: clamp(2.25rem, 5vw, 3.75rem);
  line-height: 1.1;
  color: var(--color-cream-text);
  margin: 0;
  max-width: 20ch;
}

.home-hero__lead {
  font-size: var(--text-body-size);
  line-height: var(--text-body-leading);
  color: var(--color-cream-text);
  max-width: 600px;
  margin: 0;
}

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

.home-hero__cta {
  min-width: 180px;
}

.home-hero__secondary-link {
  color: var(--color-cream-text);
  font-weight: 700;
  text-decoration: underline;
  text-underline-offset: 3px;
  min-height: var(--min-touch-target);
  display: inline-flex;
  align-items: center;
}

.home-hero__secondary-link:hover {
  color: var(--color-gold);
}

/* Introduction */
.home-intro {
  position: relative;
}

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

.home-intro__title {
  margin: 0;
}

.home-intro__divider {
  width: 80px;
  height: 2px;
  background-color: var(--color-gold);
  position: relative;
}

.home-intro__divider::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%) rotate(45deg);
  width: 10px;
  height: 10px;
  background-color: var(--color-gold);
}

.home-intro__text {
  max-width: 700px;
  display: flex;
  flex-direction: column;
  gap: var(--space-md);
}

.home-intro__text p {
  margin: 0;
}

.home-intro__philosophy {
  max-width: 700px;
  margin: 0;
  text-align: left;
  border-inline-start: 4px solid var(--color-gold);
  padding-inline-start: var(--space-lg);
  font-style: italic;
}

.home-intro__philosophy p {
  margin: 0;
}

/* Dining Highlights */
.home-dining {
  text-align: center;
}

.home-dining__title {
  margin-block-end: var(--space-md);
}

.home-dining__lead {
  max-width: 700px;
  margin-inline: auto;
  margin-block-end: var(--space-xl);
}

.home-dining__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--space-lg);
  margin-block-end: var(--space-xl);
}

.home-dining__card {
  display: flex;
  flex-direction: column;
  gap: var(--space-md);
  text-align: left;
  min-width: 0;
}

.home-dining__card h3 {
  margin: 0;
}

.home-dining__card p {
  margin: 0;
  }

.home-dining__icon {
  font-size: 2rem;
  line-height: 1;
  color: var(--color-gold);
}

.home-dining__cta {
  display: flex;
  justify-content: center;
}

/* Card Parlour Experience */
.home-parlour__container {
  display: grid;
  grid-template-columns: 60% 40%;
  gap: var(--space-xl);
  align-items: start;
}

.home-parlour__text {
  display: flex;
  flex-direction: column;
  gap: var(--space-md);
  min-width: 0;
}

.home-parlour__text p {
  margin: 0;
  }

.home-parlour__text h2 {
  margin: 0;
}

.home-parlour__text h3 {
  margin-block-start: var(--space-lg);
  margin-block-end: var(--space-sm);
}

.home-parlour__game-list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: var(--space-sm);
  max-width: 500px;
}

.home-parlour__game-list li {
  position: relative;
  padding-inline-start: var(--space-lg);
}

.home-parlour__game-list li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.5em;
  width: 10px;
  height: 10px;
  background-color: var(--color-gold);
  transform: rotate(45deg);
}

.home-parlour__media {
  margin: 0;
  min-width: 0;
}

.home-parlour__image-frame {
  width: 100%;
  aspect-ratio: 4 / 3;
}

.home-parlour__image-frame img {
  transition: transform var(--transition-fast);
}

.home-parlour__image-frame:hover img {
  transform: scale(1.03);
}

.home-parlour__media figcaption {
  margin-block-start: var(--space-sm);
  text-align: center;
}

/* Poker Sessions */
.home-poker__container {
  display: flex;
  flex-direction: column;
  gap: var(--space-xl);
}

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

.home-poker__heading .section-label {
  color: var(--color-cream-text);
}

.home-poker__title {
  color: var(--color-cream-text);
  margin-block-end: var(--space-md);
}

.home-poker__lead {
  color: var(--color-cream-text);
  margin: 0;
}

.home-poker__content {
  display: grid;
  grid-template-columns: 40% 60%;
  gap: var(--space-lg);
  align-items: start;
}

.home-poker__schedule {
  min-width: 0;
}

.home-poker__schedule h3 {
  margin-block-end: var(--space-md);
}

.home-poker__table {
  margin: 0;
  width: 100%;
}

.home-poker__table th,
.home-poker__table td {
  border-block-end: 1px solid rgba(29, 43, 58, 0.2);
}

.home-poker__table th {
  color: var(--color-navy);
}

.home-poker__table td {
  color: var(--color-navy-text);
}

.home-poker__side {
  display: flex;
  flex-direction: column;
  gap: var(--space-lg);
  min-width: 0;
}

.home-poker__beginner-card {
  display: flex;
  flex-direction: column;
  gap: var(--space-md);
  min-width: 0;
}

.home-poker__beginner-card h3 {
  margin: 0;
}

.home-poker__beginner-card p {
  margin: 0;
}

.home-poker__schedule,
.home-poker__schedule h3,
.home-poker__beginner-card,
.home-poker__beginner-card h3,
.home-poker__beginner-card p {
  color: var(--color-navy-text);
}

.home-poker__reserve {
  display: flex;
  flex-direction: column;
  gap: var(--space-md);
  align-items: flex-start;
}

.home-poker__reserve h3 {
  color: var(--color-cream-text);
  margin: 0;
}

.home-poker__reserve p {
  color: var(--color-cream-text);
  margin: 0;
}

.home-poker__reserve a {
  color: var(--color-gold);
}

.home-poker__cta {
  min-width: 220px;
}

/* Social Evenings */
.home-social {
  text-align: center;
}

.home-social__title {
  margin-block-end: var(--space-md);
}

.home-social__lead {
  max-width: 700px;
  margin-inline: auto;
  margin-block-end: var(--space-xl);
}

.home-social__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--space-lg);
  margin-block-end: var(--space-xl);
}

.home-social__card {
  display: flex;
  flex-direction: column;
  gap: var(--space-md);
  text-align: left;
  min-width: 0;
}

.home-social__card h3 {
  margin: 0;
}

.home-social__card p {
  margin: 0;
  }

.home-social__icon {
  font-size: 2rem;
  line-height: 1;
  color: var(--color-gold);
}

.home-social__cta {
  display: flex;
  justify-content: center;
}

/* Private Gatherings */
.home-private__container {
  display: grid;
  grid-template-columns: 40% 60%;
  gap: var(--space-xl);
  align-items: start;
}

.home-private__media {
  margin: 0;
  min-width: 0;
}

.home-private__image-frame {
  width: 100%;
  aspect-ratio: 4 / 3;
}

.home-private__media figcaption {
  margin-block-start: var(--space-sm);
  text-align: center;
}

.home-private__text {
  display: flex;
  flex-direction: column;
  gap: var(--space-md);
  min-width: 0;
}

.home-private__text p {
  margin: 0;
  }

.home-private__text h2 {
  margin: 0;
}

.home-private__text h3 {
  margin-block-start: var(--space-lg);
  margin-block-end: var(--space-sm);
}

.home-private__inclusions {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: var(--space-sm);
  max-width: 500px;
}

.home-private__inclusions li {
  position: relative;
  padding-inline-start: var(--space-lg);
}

.home-private__inclusions li::before {
  content: "✓";
  position: absolute;
  left: 0;
  top: 0;
  color: var(--color-gold);
  font-weight: 700;
}

.home-private__cta {
  margin-block-start: var(--space-md);
}

.home-private__cta-button {
  min-width: 260px;
}

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

/* Gallery Preview */
.home-gallery {
  text-align: center;
}

.home-gallery__container {
  display: flex;
  flex-direction: column;
  gap: var(--space-lg);
  align-items: center;
}

.home-gallery__title {
  margin: 0;
}

.home-gallery__lead {
  max-width: 600px;
  margin: 0;
}

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

.home-gallery__item {
  display: block;
  min-width: 0;
  text-decoration: none;
}

.home-gallery__frame {
  width: 100%;
  aspect-ratio: 4 / 3;
}

.home-gallery__frame img {
  filter: sepia(0.1) saturate(1.1) grayscale(1);
  transition: filter var(--transition-fast);
}

.home-gallery__item:hover .home-gallery__frame img,
.home-gallery__item:focus-visible .home-gallery__frame img {
  filter: sepia(0.1) saturate(1.1) grayscale(0);
}

.home-gallery__cta {
  display: flex;
  justify-content: center;
}

/* FAQ */
.home-faq__container {
  max-width: 800px;
  margin-inline: auto;
  display: flex;
  flex-direction: column;
  gap: var(--space-lg);
  align-items: center;
  text-align: center;
}

.home-faq__title {
  margin: 0;
}

.home-faq__accordion {
  width: 100%;
  display: flex;
  flex-direction: column;
  gap: var(--space-md);
  text-align: left;
}

.home-faq__item {
  border: var(--border-standard);
  border-radius: var(--radius-card);
  background-color: var(--color-white);
  overflow: hidden;
}

.home-faq__question {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-md);
  padding: var(--space-lg);
  font-family: var(--font-heading);
  font-size: var(--text-h3-size);
  line-height: var(--text-h3-leading);
  color: var(--color-navy);
  text-align: left;
  min-height: var(--min-touch-target);
  transition: background-color var(--transition-fast);
}

.home-faq__question:hover {
  background-color: rgba(194, 160, 77, 0.1);
}

.home-faq__icon {
  position: relative;
  width: 20px;
  height: 20px;
  flex-shrink: 0;
}

.home-faq__icon::before,
.home-faq__icon::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  background-color: var(--color-gold);
  transition: transform var(--transition-fast);
}

.home-faq__icon::before {
  width: 16px;
  height: 2px;
}

.home-faq__icon::after {
  width: 2px;
  height: 16px;
}

.home-faq__item.is-open .home-faq__icon::after {
  transform: translate(-50%, -50%) scaleY(0);
}

.home-faq__answer {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.3s ease;
}

.home-faq__answer p {
  margin: 0;
  padding: 0 var(--space-lg) var(--space-lg);
  }

/* Visit & Contact */
.home-visit__container {
  display: flex;
  flex-direction: column;
  gap: var(--space-xl);
}

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

.home-visit__heading .section-label {
  color: var(--color-cream-text);
}

.home-visit__title {
  color: var(--color-cream-text);
  margin-block-end: var(--space-md);
}

.home-visit__lead {
  color: var(--color-cream-text);
  margin: 0;
}

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

.home-visit__card {
  display: flex;
  flex-direction: column;
  gap: var(--space-md);
  min-width: 0;
}

.home-visit__card h3 {
  margin: 0;
}

.home-visit__card p {
  margin: 0;
}

.home-visit__card,
.home-visit__card h3,
.home-visit__card p,
.home-visit__card ul,
.home-visit__card li,
.home-visit__card span,
.home-visit__note {
  color: var(--color-navy-text);
}

.home-visit__hours {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: var(--space-sm);
}

.home-visit__hours li {
  display: flex;
  justify-content: space-between;
  gap: var(--space-sm);
}

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

.home-visit__actions {
  display: flex;
  flex-direction: column;
  gap: var(--space-sm);
  align-items: flex-start;
}

.home-visit__cta,
.home-visit__email {
  width: 100%;
  justify-content: center;
}

/* Responsive */
@media (max-width: 64rem) {
  .home-hero {
    min-height: 70vh;
  }

  .home-hero__content {
    max-width: 80%;
  }

  .home-dining__grid,
  .home-social__grid,
  .home-gallery__grid,
  .home-visit__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .home-dining__card:last-child,
  .home-social__card:last-child,
  .home-gallery__item:last-child,
  .home-visit__card:last-child {
    grid-column: span 2;
  }
}

@media (max-width: 56.25rem) {
  .home-parlour__container,
  .home-private__container {
    grid-template-columns: 1fr;
    gap: var(--space-lg);
  }

  .home-parlour__media,
  .home-private__media {
    order: -1;
  }

  .home-poker__content {
    grid-template-columns: 1fr;
    gap: var(--space-lg);
  }

  .home-poker__side {
    width: 100%;
  }
}

@media (max-width: 48rem) {
  .home-hero {
    min-height: 60vh;
  }

  .home-hero__content {
    max-width: 100%;
    align-items: center;
    text-align: center;
  }

  .home-hero__title {
    font-size: clamp(2rem, 8vw, 2.5rem);
  }

  .home-hero__lead {
    font-size: 1rem;
  }

  .home-hero__actions {
    flex-direction: column;
    width: 100%;
  }

  .home-hero__cta,
  .home-hero__secondary-link {
    width: 100%;
    justify-content: center;
  }

  .home-intro__container {
    text-align: left;
    align-items: flex-start;
  }

  .home-intro__divider {
    align-self: center;
  }

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

  .home-dining__grid,
  .home-social__grid,
  .home-gallery__grid,
  .home-visit__grid {
    grid-template-columns: 1fr;
  }

  .home-dining__card:last-child,
  .home-social__card:last-child,
  .home-gallery__item:last-child,
  .home-visit__card:last-child {
    grid-column: auto;
  }

  .home-dining__card p,
  .home-social__card p {
  }

  .home-parlour__text p,
  .home-private__text p {
  }

  .home-parlour__game-list,
  .home-private__inclusions {
    max-width: none;
  }

  .home-poker__heading,
  .home-visit__heading {
    text-align: left;
  }

  .home-poker__reserve {
    align-items: stretch;
  }

  .home-poker__cta,
  .home-private__cta-button {
    width: 100%;
    justify-content: center;
  }

  .home-faq__container {
    text-align: left;
    align-items: flex-start;
  }

  .home-faq__question {
    font-size: 1.25rem;
    padding: var(--space-md);
  }

  .home-faq__answer p {
    padding: 0 var(--space-md) var(--space-md);
  }

  .home-visit__actions {
    width: 100%;
  }
}

@media (max-width: 30rem) {
  .home-hero__title {
    font-size: 2rem;
  }

  .home-hero__lead {
    font-size: 0.9375rem;
  }

  .home-dining__lead,
  .home-social__lead,
  .home-gallery__lead {
    text-align: left;
  }
}


.thank-you {
  display: flex;
  justify-content: center;
  align-items: center;
  min-height: 60vh;
  padding-block: var(--space-xl);
  padding-inline: var(--container-padding);
}

.thank-you__content {
  max-width: 36rem;
  width: 100%;
  text-align: center;
  display: flex;
  flex-direction: column;
  gap: var(--space-md);
  margin-inline: auto;
}

.thank-you__title {
  margin-block-end: 0;
}

.thank-you__message,
.thank-you__next {
  margin-block-end: 0;
}

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

@media (max-width: 48rem) {
  .thank-you {
    min-height: 50vh;
    padding-block: var(--space-lg);
  }

  .thank-you__actions {
    flex-direction: column;
    align-items: stretch;
  }

  .thank-you__actions .btn {
    width: 100%;
  }
}