

:root {
  --color-shell-white: #F9F7F4;
  --color-lagoon-turquoise: #00A6A6;
  --color-lime-leaf-green: #A3C14A;
  --color-sunset-coral: #F26B5E;
  --color-deep-ink-blue: #0B1D2A;
  --color-ink-muted: #4A5568;
  --color-card-lounge-shadow: #1A2A3A;
  --color-border-light: rgba(11, 29, 42, 0.12);
  --color-border-strong: rgba(11, 29, 42, 0.2);
  --color-focus-ring: rgba(0, 166, 166, 0.4);

  --font-heading: "Fraunces", serif;
  --font-body: "Inter", sans-serif;

  --text-display-size: clamp(2.75rem, 6vw, 4.5rem);
  --text-display-leading: 1.1;
  --text-display-tracking: -0.02em;
  --text-h1-size: clamp(2.25rem, 4.5vw, 3.5rem);
  --text-h1-leading: 1.2;
  --text-h1-tracking: -0.01em;
  --text-h2-size: clamp(1.75rem, 3vw, 2.5rem);
  --text-h2-leading: 1.3;
  --text-h2-tracking: 0em;
  --text-h3-size: clamp(1.375rem, 2.25vw, 2rem);
  --text-h3-leading: 1.4;
  --text-h3-tracking: 0em;
  --text-body-large-size: 1.25rem;
  --text-body-large-leading: 1.6;
  --text-body-size: 1rem;
  --text-body-leading: 1.7;
  --text-caption-size: 0.875rem;
  --text-caption-leading: 1.5;
  --text-caption-tracking: 0.02em;

  --space-1: 0.25rem;
  --space-2: 0.5rem;
  --space-3: 1rem;
  --space-4: 1.5rem;
  --space-5: 2rem;
  --space-6: 3rem;
  --space-7: 4rem;
  --space-8: 6rem;
  --space-9: 8rem;

  --container-max: 75rem;
  --container-wide-max: 87.5rem;
  --container-narrow-max: 52rem;

  --surface-primary: var(--color-shell-white);
  --surface-dark: var(--color-deep-ink-blue);
  --surface-card: #FFFFFF;
  --surface-muted: rgba(11, 29, 42, 0.04);
  --surface-lagoon-wash: rgba(0, 166, 166, 0.08);
  --surface-coral-wash: rgba(242, 107, 94, 0.08);

  --shadow-soft: 0 1px 2px rgba(26, 42, 58, 0.04), 0 4px 12px rgba(26, 42, 58, 0.06);
  --shadow-medium: 0 2px 4px rgba(26, 42, 58, 0.05), 0 8px 24px rgba(26, 42, 58, 0.08);
  --shadow-lifted: 0 4px 8px rgba(26, 42, 58, 0.06), 0 16px 40px rgba(26, 42, 58, 0.12);
  --shadow-overlay: 0 8px 16px rgba(26, 42, 58, 0.12), 0 24px 56px rgba(26, 42, 58, 0.18);

  --radius-sharp: 0px;
  --radius-small: 4px;
  --radius-medium: 8px;
  --radius-large: 12px;
  --radius-full: 9999px;

  --border-thin: 1px solid var(--color-border-light);
  --border-strong: 1px solid var(--color-border-strong);

  --transition-fast: 150ms ease;
  --transition-base: 250ms ease;
  --transition-slow: 400ms ease;
  --transition-bounce: 350ms cubic-bezier(0.34, 1.56, 0.64, 1);

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

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

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

html {
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
  scroll-behavior: smooth;
  scroll-padding-top: 5rem;
}

body {
  min-height: 100vh;
  font-family: var(--font-body);
  font-size: var(--text-body-size);
  line-height: var(--text-body-leading);
  color: var(--color-deep-ink-blue);
  background-color: var(--surface-primary);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizeLegibility;
  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;
  min-height: var(--touch-target-min);
  min-width: var(--touch-target-min);
}

a {
  color: var(--color-lagoon-turquoise);
  text-decoration: none;
  transition: color var(--transition-fast);
}

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

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: 600;
  color: var(--color-deep-ink-blue);
  line-height: var(--text-h3-leading);
  letter-spacing: var(--text-h3-tracking);
  margin-block-end: var(--space-4);
}

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

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

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

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

p {
  margin-block-end: var(--space-4);
  line-height: var(--text-body-leading);
}

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

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

li {
  line-height: var(--text-body-leading);
}

blockquote {
  margin-block-end: var(--space-4);
  padding-inline-start: var(--space-4);
  border-inline-start: 3px solid var(--color-lagoon-turquoise);
  font-family: var(--font-heading);
  font-size: var(--text-body-large-size);
  line-height: var(--text-body-large-leading);
  color: var(--color-ink-muted);
}

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

figcaption {
  font-size: var(--text-caption-size);
  line-height: var(--text-caption-leading);
  letter-spacing: var(--text-caption-tracking);
  color: var(--color-ink-muted);
  margin-block-start: var(--space-2);
}

hr {
  border: none;
  border-top: var(--border-thin);
  margin-block: var(--space-6);
}

address {
  font-style: normal;
}

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

strong,
b {
  font-weight: 600;
}

em,
i {
  font-style: italic;
}

mark {
  background-color: var(--color-lime-leaf-green);
  color: var(--color-deep-ink-blue);
  padding-inline: 0.125em;
}

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

pre {
  margin-block-end: var(--space-4);
  padding: var(--space-3);
  background-color: var(--surface-muted);
  border: var(--border-thin);
  border-radius: var(--radius-small);
  overflow-x: auto;
}

table {
  width: 100%;
  border-collapse: collapse;
  margin-block-end: var(--space-4);
  font-size: var(--text-body-size);
  line-height: var(--text-body-leading);
}

caption {
  font-size: var(--text-caption-size);
  line-height: var(--text-caption-leading);
  letter-spacing: var(--text-caption-tracking);
  color: var(--color-ink-muted);
  text-align: start;
  margin-block-end: var(--space-2);
}

th,
td {
  padding: var(--space-2) var(--space-3);
  border-bottom: var(--border-thin);
  text-align: start;
  vertical-align: top;
}

th {
  font-weight: 600;
  color: var(--color-deep-ink-blue);
}

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

label {
  display: block;
  margin-block-end: var(--space-2);
  font-weight: 500;
  font-size: var(--text-body-size);
  line-height: var(--text-body-leading);
}

input,
textarea,
select {
  display: block;
  width: 100%;
  padding: var(--space-2) var(--space-3);
  min-height: var(--touch-target-min);
  font-size: var(--text-body-size);
  line-height: var(--text-body-leading);
  color: var(--color-deep-ink-blue);
  background-color: var(--surface-card);
  border: var(--border-strong);
  border-radius: var(--radius-small);
  transition: border-color var(--transition-fast), box-shadow var(--transition-fast);
}

input::placeholder,
textarea::placeholder {
  color: var(--color-ink-muted);
  opacity: 0.7;
}

input:hover,
textarea:hover,
select:hover {
  border-color: var(--color-lagoon-turquoise);
}

input:focus,
textarea:focus,
select:focus {
  outline: none;
  border-color: var(--color-lagoon-turquoise);
  box-shadow: 0 0 0 3px var(--color-focus-ring);
}

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

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

input[type="checkbox"],
input[type="radio"] {
  display: inline-block;
  width: auto;
  min-height: auto;
  min-width: auto;
  padding: 0;
  margin-inline-end: var(--space-2);
  vertical-align: middle;
}

input[type="checkbox"] + label,
input[type="radio"] + label {
  display: inline-block;
  margin-block-end: 0;
  font-weight: 400;
  vertical-align: middle;
}

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

input[type="search"] {
  appearance: none;
  -webkit-appearance: none;
}

fieldset {
  border: var(--border-thin);
  border-radius: var(--radius-medium);
  padding: var(--space-4);
  margin-block-end: var(--space-4);
}

legend {
  padding-inline: var(--space-2);
  font-weight: 600;
  font-family: var(--font-heading);
  font-size: var(--text-body-large-size);
}

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

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

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

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

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

.surface-card {
  background-color: var(--surface-card);
  border: var(--border-thin);
  border-radius: var(--radius-medium);
  box-shadow: var(--shadow-soft);
}

.surface-dark {
  background-color: var(--surface-dark);
  color: var(--color-shell-white);
}

.surface-dark h1,
.surface-dark h2,
.surface-dark h3,
.surface-dark h4,
.surface-dark h5,
.surface-dark h6 {
  color: var(--color-shell-white);
}

.surface-dark p,
.surface-dark li,
.surface-dark blockquote,
.surface-dark figcaption,
.surface-dark th,
.surface-dark td {
  color: rgba(249, 247, 244, 0.85);
}

.surface-dark a {
  color: var(--color-lagoon-turquoise);
}

.surface-dark a:hover,
.surface-dark a:focus-visible {
  color: var(--color-shell-white);
}

.surface-dark input,
.surface-dark textarea,
.surface-dark select {
  background-color: rgba(249, 247, 244, 0.08);
  border-color: rgba(249, 247, 244, 0.2);
  color: var(--color-shell-white);
}

.surface-dark input::placeholder,
.surface-dark textarea::placeholder {
  color: rgba(249, 247, 244, 0.5);
}

.surface-dark input:hover,
.surface-dark textarea:hover,
.surface-dark select:hover {
  border-color: var(--color-lagoon-turquoise);
}

.surface-dark input:focus,
.surface-dark textarea:focus,
.surface-dark select:focus {
  border-color: var(--color-lagoon-turquoise);
  box-shadow: 0 0 0 3px rgba(0, 166, 166, 0.3);
}

.surface-dark hr {
  border-top-color: rgba(249, 247, 244, 0.2);
}

.surface-dark th,
.surface-dark td {
  border-bottom-color: rgba(249, 247, 244, 0.2);
}

.surface-dark pre {
  background-color: rgba(249, 247, 244, 0.08);
  border-color: rgba(249, 247, 244, 0.2);
}

.surface-dark fieldset {
  border-color: rgba(249, 247, 244, 0.2);
}

.surface-dark legend {
  color: var(--color-shell-white);
}

.surface-dark mark {
  background-color: var(--color-lime-leaf-green);
  color: var(--color-deep-ink-blue);
}

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

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

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

.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: var(--space-2);
  padding: var(--space-2) var(--space-4);
  min-height: var(--touch-target-min);
  min-width: var(--touch-target-min);
  font-family: var(--font-body);
  font-size: var(--text-body-size);
  font-weight: 600;
  line-height: 1.2;
  letter-spacing: 0.01em;
  text-align: center;
  text-decoration: none;
  border: 2px solid transparent;
  border-radius: var(--radius-sharp);
  cursor: pointer;
  transition: background-color var(--transition-fast), border-color var(--transition-fast), color var(--transition-fast), box-shadow var(--transition-fast), transform var(--transition-fast);
  -webkit-user-select: none;
  user-select: none;
  white-space: nowrap;
}

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

.btn-primary {
  background-color: var(--color-sunset-coral);
  color: var(--color-shell-white);
}

.btn-primary:hover,
.btn-primary:focus-visible {
  background-color: #D9564A;
  color: var(--color-shell-white);
}

.btn-primary:active {
  background-color: #C44A3F;
  transform: translateY(1px);
}

.btn-secondary {
  background-color: var(--color-lagoon-turquoise);
  color: var(--color-shell-white);
}

.btn-secondary:hover,
.btn-secondary:focus-visible {
  background-color: #008C8C;
  color: var(--color-shell-white);
}

.btn-secondary:active {
  background-color: #007A7A;
  transform: translateY(1px);
}

.btn-outline {
  background-color: #fff;
  color: var(--color-deep-ink-blue);
  border-color: var(--color-deep-ink-blue);
}

.btn-outline:hover,
.btn-outline:focus-visible {
  background-color: var(--color-deep-ink-blue);
  color: var(--color-shell-white);
}

.btn-outline:active {
  background-color: var(--color-card-lounge-shadow);
  transform: translateY(1px);
}

.btn-ghost {
  background-color: transparent;
  color: var(--color-deep-ink-blue);
  border-color: transparent;
}

.btn-ghost:hover,
.btn-ghost:focus-visible {
  background-color: var(--surface-muted);
  color: var(--color-deep-ink-blue);
}

.btn-ghost:active {
  background-color: rgba(11, 29, 42, 0.08);
  transform: translateY(1px);
}

.btn-large {
  padding: var(--space-3) var(--space-5);
  font-size: var(--text-body-large-size);
  min-height: 3.5rem;
}

.btn-small {
  padding: var(--space-1) var(--space-3);
  font-size: var(--text-caption-size);
  min-height: 2.25rem;
  min-width: 2.25rem;
}

.btn-full {
  width: 100%;
}

.btn[disabled],
.btn[aria-disabled="true"] {
  opacity: 0.5;
  cursor: not-allowed;
  pointer-events: none;
}

.surface-dark .btn-outline {
  color: var(--color-shell-white);
  border-color: var(--color-shell-white);
}

.surface-dark .btn-outline:hover,
.surface-dark .btn-outline:focus-visible {
  background-color: var(--color-shell-white);
  color: var(--color-deep-ink-blue);
}

.surface-dark .btn-ghost {
  color: var(--color-shell-white);
}

.surface-dark .btn-ghost:hover,
.surface-dark .btn-ghost:focus-visible {
  background-color: rgba(249, 247, 244, 0.12);
  color: var(--color-shell-white);
}

.card {
  background-color: var(--surface-card);
  border: var(--border-thin);
  border-radius: var(--radius-medium);
  box-shadow: var(--shadow-soft);
  padding: var(--space-4);
  transition: box-shadow var(--transition-base), transform var(--transition-base);
}

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

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

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

.card-flat:hover {
  box-shadow: var(--shadow-soft);
  transform: none;
}

.card > :last-child,
.surface-card > :last-child,
.surface-dark > :last-child,
.surface-lagoon-wash > :last-child,
.surface-coral-wash > :last-child,
.surface-muted > :last-child,
.panel > :last-child,
section > :last-child {
  margin-block-end: 0;
}

.badge {
  display: inline-flex;
  align-items: center;
  gap: var(--space-1);
  padding: var(--space-1) var(--space-2);
  min-height: 1.75rem;
  font-size: var(--text-caption-size);
  font-weight: 600;
  line-height: 1.2;
  letter-spacing: var(--text-caption-tracking);
  border-radius: var(--radius-small);
  white-space: nowrap;
}

.badge-lagoon {
  background-color: var(--surface-lagoon-wash);
  color: #007A7A;
}

.badge-coral {
  background-color: var(--surface-coral-wash);
  color: #C44A3F;
}

.badge-lime {
  background-color: rgba(163, 193, 74, 0.16);
  color: #5E7A1E;
}

.badge-ink {
  background-color: var(--surface-muted);
  color: var(--color-deep-ink-blue);
}

.badge-shell {
  background-color: rgba(249, 247, 244, 0.16);
  color: var(--color-shell-white);
}

.surface-dark .badge-lagoon {
  background-color: rgba(0, 166, 166, 0.2);
  color: #7FE0E0;
}

.surface-dark .badge-coral {
  background-color: rgba(242, 107, 94, 0.2);
  color: #F9A89F;
}

.surface-dark .badge-lime {
  background-color: rgba(163, 193, 74, 0.2);
  color: #C6DC8A;
}

.surface-dark .badge-ink {
  background-color: rgba(249, 247, 244, 0.12);
  color: var(--color-shell-white);
}

.surface-dark .badge-shell {
  background-color: rgba(249, 247, 244, 0.16);
  color: var(--color-shell-white);
}

.divider {
  border: none;
  border-top: var(--border-thin);
  margin-block: var(--space-5);
}

.divider-strong {
  border-top: var(--border-strong);
}

.divider-spaced {
  margin-block: var(--space-7);
}

.divider-tight {
  margin-block: var(--space-3);
}

.eyebrow {
  display: inline-flex;
  align-items: center;
  gap: var(--space-2);
  font-size: var(--text-caption-size);
  font-weight: 600;
  line-height: var(--text-caption-leading);
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--color-lagoon-turquoise);
  margin-block-end: var(--space-2);
}

.eyebrow-coral {
  color: var(--color-sunset-coral);
}

.eyebrow-lime {
  color: #5E7A1E;
}

.eyebrow-ink {
  color: var(--color-ink-muted);
}

.surface-dark .eyebrow {
  color: #7FE0E0;
}

.surface-dark .eyebrow-coral {
  color: #F9A89F;
}

.surface-dark .eyebrow-lime {
  color: #C6DC8A;
}

.surface-dark .eyebrow-ink {
  color: rgba(249, 247, 244, 0.7);
}

.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-3);
  z-index: 9999;
  padding: var(--space-2) var(--space-4);
  background-color: var(--color-deep-ink-blue);
  color: var(--color-shell-white);
  font-weight: 600;
  border-radius: var(--radius-small);
  transition: top var(--transition-fast);
}

.skip-link:focus {
  top: var(--space-3);
  color: var(--color-shell-white);
}

.flow > * + * {
  margin-block-start: var(--space-4);
}

.flow-tight > * + * {
  margin-block-start: var(--space-3);
}

.flow-loose > * + * {
  margin-block-start: var(--space-5);
}

.flow > *:last-child,
.flow-tight > *:last-child,
.flow-loose > *:last-child {
  margin-block-end: 0;
}

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

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

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

.stack > *,
.stack-tight > *,
.stack-loose > * {
  margin-block-end: 0;
  min-width: 0;
}

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

.cluster > * {
  margin-block-end: 0;
  min-width: 0;
}

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

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

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

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

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

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

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

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

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

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

.switcher > * {
  flex-grow: 1;
  flex-basis: calc((var(--container-narrow-max) - 100%) * 999);
  min-width: 0;
  margin-block-end: 0;
}

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

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

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

.split > * {
  flex-grow: 1;
  flex-basis: 0;
  min-width: 0;
  margin-block-end: 0;
}

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

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

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

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

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

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

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

.ratio {
  position: relative;
  width: 100%;
  overflow: hidden;
}

.ratio > img,
.ratio > video,
.ratio > picture,
.ratio > canvas,
.ratio > svg,
.ratio > iframe {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

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

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

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

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

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

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

.ratio-sharp {
  border-radius: var(--radius-sharp);
}

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

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

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

.ratio-full {
  border-radius: var(--radius-full);
}

.overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(26, 42, 58, 0.1) 0%, rgba(26, 42, 58, 0.55) 100%);
}

.overlay-light {
  background: linear-gradient(180deg, rgba(249, 247, 244, 0.1) 0%, rgba(249, 247, 244, 0.45) 100%);
}

.overlay-dark {
  background: rgba(26, 42, 58, 0.6);
}

.overlay-lagoon {
  background: linear-gradient(135deg, rgba(0, 166, 166, 0.25) 0%, rgba(26, 42, 58, 0.7) 100%);
}

.overlay-coral {
  background: linear-gradient(135deg, rgba(242, 107, 94, 0.25) 0%, rgba(26, 42, 58, 0.7) 100%);
}

.overlay-lime {
  background: linear-gradient(135deg, rgba(163, 193, 74, 0.25) 0%, rgba(26, 42, 58, 0.7) 100%);
}

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

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

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

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

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

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

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

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

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

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

.text-display {
  font-family: var(--font-heading);
  font-size: var(--text-display-size);
  line-height: var(--text-display-leading);
  letter-spacing: var(--text-display-tracking);
  font-weight: 600;
  color: var(--color-deep-ink-blue);
  margin-block-end: var(--space-5);
}

.text-h1 {
  font-family: var(--font-heading);
  font-size: var(--text-h1-size);
  line-height: var(--text-h1-leading);
  letter-spacing: var(--text-h1-tracking);
  font-weight: 600;
  color: var(--color-deep-ink-blue);
  margin-block-end: var(--space-5);
}

.text-h2 {
  font-family: var(--font-heading);
  font-size: var(--text-h2-size);
  line-height: var(--text-h2-leading);
  letter-spacing: var(--text-h2-tracking);
  font-weight: 600;
  color: var(--color-deep-ink-blue);
  margin-block-end: var(--space-4);
}

.text-h3 {
  font-family: var(--font-heading);
  font-size: var(--text-h3-size);
  line-height: var(--text-h3-leading);
  letter-spacing: var(--text-h3-tracking);
  font-weight: 600;
  color: var(--color-deep-ink-blue);
  margin-block-end: var(--space-3);
}

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

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

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

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

.text-lagoon {
  color: var(--color-lagoon-turquoise);
}

.text-coral {
  color: var(--color-sunset-coral);
}

.text-lime {
  color: #5E7A1E;
}

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

.text-shell {
  color: var(--color-shell-white);
}

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

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

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

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

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

.text-balance {
  text-wrap: balance;
}

.surface-dark .text-display,
.surface-dark .text-h1,
.surface-dark .text-h2,
.surface-dark .text-h3 {
  color: var(--color-shell-white);
}

.surface-dark .text-muted {
  color: rgba(249, 247, 244, 0.7);
}

.surface-dark .text-lagoon {
  color: #7FE0E0;
}

.surface-dark .text-coral {
  color: #F9A89F;
}

.surface-dark .text-lime {
  color: #C6DC8A;
}

.surface-dark .text-ink {
  color: var(--color-shell-white);
}

.surface-dark .text-shell {
  color: var(--color-shell-white);
}

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

.list-plain > li {
  margin-block-end: 0;
}

.list-spaced > .list-tight > .list-loose > .list-plain > li:last-child {
  margin-block-end: 0;
}

.list-inline {
  list-style: none;
  padding-inline-start: 0;
  margin-block-end: 0;
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-3);
  align-items: center;
}

.list-inline > li {
  margin-block-end: 0;
  min-width: 0;
}

.list-inline-tight {
  gap: var(--space-2);
}

.list-inline-loose {
  gap: var(--space-4);
}

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

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

.list-check > li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.35em;
  width: 1.25rem;
  height: 1.25rem;
  background-color: var(--surface-lagoon-wash);
  border-radius: var(--radius-small);
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='10' viewBox='0 0 12 10'%3E%3Cpath d='M1 5l3 3 7-7' stroke='%2300A6A6' stroke-width='2' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: center;
}

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

.surface-dark .list-check > li::before {
  background-color: rgba(0, 166, 166, 0.2);
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='10' viewBox='0 0 12 10'%3E%3Cpath d='M1 5l3 3 7-7' stroke='%237FE0E0' stroke-width='2' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
}

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

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

.list-diamond > li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.45em;
  width: 0.625rem;
  height: 0.625rem;
  background-color: var(--color-lagoon-turquoise);
  transform: rotate(45deg);
  border-radius: 1px;
}

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

.surface-dark .list-diamond > li::before {
  background-color: #7FE0E0;
}

@media (min-width: 40rem) {
  .container,
  .container-wide,
  }

@media (min-width: 64rem) {
  .container,
  .container-wide,
  .section {
    padding-block: var(--space-8);
  }

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

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

@media (min-width: 80rem) {
  .container,
  .container-wide,
  }

@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }

  *,
  *::before,
  *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    transition-delay: 0ms !important;
  }

  .card:hover {
    transform: none;
  }

  .btn:active {
    transform: none;
  }
}


.site-header {
  position: relative;
  z-index: 1000;
  background-color: var(--surface-primary);
  border-bottom: var(--border-thin);
}

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

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

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

.site-header__brand-text {
  font-family: var(--font-heading);
  font-size: 1.25rem;
  font-weight: 600;
  letter-spacing: 0.02em;
  line-height: 1.2;
  color: var(--color-deep-ink-blue);
  white-space: nowrap;
}

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

.site-header__toggle:hover {
  background-color: var(--surface-muted);
}

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

.site-header__toggle-line {
  display: block;
  width: 1.5rem;
  height: 2px;
  background-color: currentColor;
  border-radius: 1px;
  transition: transform var(--transition-base), opacity var(--transition-base);
}

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

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

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

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

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

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

.site-header__nav-list .site-header__nav-list a {
  display: inline-flex;
  align-items: center;
  min-height: var(--touch-target-min);
  padding-inline: var(--space-2);
  font-size: var(--text-body-size);
  font-weight: 500;
  line-height: 1.2;
  color: var(--color-deep-ink-blue);
  text-decoration: none;
  white-space: nowrap;
  transition: color var(--transition-fast);
}

.site-header__nav-list a:hover,
.site-header__nav-list a:focus-visible {
  color: var(--color-lagoon-turquoise);
}

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

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

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

  .site-header__nav {
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    flex-direction: column;
    align-items: stretch;
    gap: var(--space-3);
    padding: var(--space-4);
    background-color: var(--surface-primary);
    border-bottom: var(--border-thin);
    box-shadow: var(--shadow-medium);
    max-height: calc(100vh - 5rem);
    overflow-y: auto;
    display: none;
  }

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

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

  .site-header__nav-list a {
    justify-content: flex-start;
    padding: var(--space-2) var(--space-3);
    border-radius: var(--radius-small);
  }

  .site-header__nav-list a:hover {
    background-color: var(--surface-muted);
  }

  .site-header__cta {
    width: 100%;
  }
}

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

  .site-header__logo {
    width: 3.5rem;
    height: 3.5rem;
  }

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


.site-footer {
  position: relative;
  background-color: var(--surface-dark);
  color: var(--color-shell-white);
  padding-block: var(--space-8) var(--space-6);
  overflow: hidden;
}

.site-footer__map {
  position: absolute;
  inset: 0;
  pointer-events: none;
  opacity: 0.25;
  background: radial-gradient(circle at 30% 40%, rgba(0, 166, 166, 0.3), transparent 60%),
              radial-gradient(circle at 70% 60%, rgba(242, 107, 94, 0.2), transparent 50%),
              radial-gradient(circle at 50% 80%, rgba(163, 193, 74, 0.15), transparent 55%);
}

.site-footer__map-zone {
  position: absolute;
  border: 1px solid rgba(249, 247, 244, 0.2);
  border-radius: var(--radius-medium);
  background-color: rgba(249, 247, 244, 0.05);
}

.site-footer__map-zone--restaurant {
  top: 20%;
  left: 15%;
  width: 25%;
  height: 30%;
}

.site-footer__map-zone--terrace {
  top: 55%;
  left: 20%;
  width: 20%;
  height: 25%;
}

.site-footer__map-zone--garden {
  top: 30%;
  right: 15%;
  width: 25%;
  height: 30%;
}

.site-footer__map-zone--lounge {
  bottom: 15%;
  right: 20%;
  width: 20%;
  height: 25%;
  border-color: rgba(0, 166, 166, 0.5);
  background-color: rgba(0, 166, 166, 0.1);
}

.site-footer__content {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  gap: var(--space-6);
}

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

.site-footer__statement-text {
  font-family: var(--font-heading);
  font-size: var(--text-h2-size);
  line-height: var(--text-h2-leading);
  letter-spacing: var(--text-h2-tracking);
  font-weight: 600;
  color: var(--color-shell-white);
  margin: 0;
  max-width: 20ch;
  margin-inline: auto;
}

.site-footer__nav {
  margin: 0;
}

.site-footer__nav-list {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: var(--space-3) var(--space-5);
  list-style: none;
  margin: 0;
  padding: 0;
}

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

.site-footer__nav-list a {
  display: inline-flex;
  align-items: center;
  min-height: var(--touch-target-min);
  padding-inline: var(--space-2);
  font-size: var(--text-caption-size);
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--color-shell-white);
  text-decoration: none;
  transition: color var(--transition-fast);
}

.site-footer__nav-list a:hover,
.site-footer__nav-list a:focus-visible {
  color: var(--color-lagoon-turquoise);
}

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

.site-footer__contact {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  gap: var(--space-2) var(--space-3);
  font-size: var(--text-body-size);
  line-height: var(--text-body-leading);
  color: rgba(249, 247, 244, 0.85);
  text-align: center;
}

.site-footer__contact a {
  color: var(--color-shell-white);
  text-decoration: none;
  transition: color var(--transition-fast);
}

.site-footer__contact a:hover,
.site-footer__contact a:focus-visible {
  color: var(--color-lagoon-turquoise);
}

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

.site-footer__cta {
  align-self: center;
}

.site-footer__legal {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--space-3);
  padding-top: var(--space-5);
  border-top: 1px solid rgba(249, 247, 244, 0.2);
}

.site-footer__legal-list {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: var(--space-3) var(--space-5);
  list-style: none;
  margin: 0;
  padding: 0;
}

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

.site-footer__legal-list a {
  display: inline-flex;
  align-items: center;
  min-height: var(--touch-target-min);
  padding-inline: var(--space-2);
  font-size: var(--text-caption-size);
  line-height: var(--text-caption-leading);
  color: rgba(249, 247, 244, 0.7);
  text-decoration: none;
  transition: color var(--transition-fast);
}

.site-footer__legal-list a:hover,
.site-footer__legal-list a:focus-visible {
  color: var(--color-shell-white);
}

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

.site-footer__copyright {
  font-size: var(--text-caption-size);
  line-height: var(--text-caption-leading);
  color: rgba(249, 247, 244, 0.6);
  margin: 0;
  text-align: center;
}

.consent-banner {
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 1100;
  background-color: var(--surface-card);
  border-top: var(--border-thin);
  box-shadow: var(--shadow-overlay);
  padding: var(--space-4);
}

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

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

.consent-banner__text {
  flex: 1 1 20rem;
  font-size: var(--text-body-size);
  line-height: var(--text-body-leading);
  color: var(--color-deep-ink-blue);
  margin: 0;
}

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

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

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

.age-modal__overlay {
  position: absolute;
  inset: 0;
  background-color: rgba(26, 42, 58, 0.8);
  backdrop-filter: blur(2px);
}

.age-modal__dialog {
  position: relative;
  z-index: 1;
  width: 100%;
  max-width: 28rem;
  background-color: var(--surface-card);
  border: var(--border-thin);
  border-radius: var(--radius-large);
  box-shadow: var(--shadow-overlay);
  padding: var(--space-5);
  text-align: center;
}

.age-modal__title {
  font-size: var(--text-h3-size);
  line-height: var(--text-h3-leading);
  letter-spacing: var(--text-h3-tracking);
  margin-block-end: var(--space-3);
}

.age-modal__description {
  font-size: var(--text-body-size);
  line-height: var(--text-body-leading);
  color: var(--color-ink-muted);
  margin-block-end: var(--space-4);
}

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

.age-modal__actions .btn {
  flex: 1 1 auto;
  min-width: 10rem;
}

@media (min-width: 64rem) {
  .site-footer__content {
    display: grid;
    grid-template-columns: 1fr auto 1fr;
    grid-template-areas:
      "statement nav contact"
      "cta cta cta"
      "legal legal legal";
    align-items: start;
    gap: var(--space-6);
  }

  .site-footer__statement {
    grid-area: statement;
    text-align: left;
  }

  .site-footer__statement-text {
    margin-inline: 0;
  }

  .site-footer__nav {
    grid-area: nav;
  }

  .site-footer__nav-list {
    justify-content: center;
  }

  .site-footer__contact {
    grid-area: contact;
    justify-content: flex-end;
    text-align: right;
  }

  .site-footer__cta {
    grid-area: cta;
    justify-self: center;
  }

  .site-footer__legal {
    grid-area: legal;
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
    gap: var(--space-4);
  }

  .site-footer__legal-list {
    justify-content: flex-start;
  }

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


/* Privacy Policy page styles */
#privacy-policy-main {
  width: 100%;
}

.privacy-page {
  width: 100%;
  max-width: var(--container-max);
  margin-inline: auto;
  padding-inline: var(--space-4);
  padding-block: var(--space-7);
}

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

.privacy-section + .privacy-section {
  border-top: var(--border-thin);
}

.privacy-content {
  width: 100%;
  max-width: 50rem; /* 800px */
  margin-inline: auto;
}

.privacy-content-narrow {
  max-width: 43.75rem; /* 700px */
  text-align: left;
}

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

.privacy-intro h1 {
  margin-block-end: var(--space-5);
  padding-block-end: var(--space-4);
  border-bottom: 3px solid var(--color-lagoon-turquoise);
}

.privacy-lead {
  font-size: var(--text-body-large-size);
  line-height: var(--text-body-large-leading);
  color: var(--color-ink-muted);
  margin-block-end: var(--space-4);
}

.privacy-subsection {
  margin-block-end: var(--space-6);
}

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

.privacy-subsection h3 {
  margin-block-end: var(--space-3);
}

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

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

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

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

.privacy-list li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.45em;
  width: 0.625rem;
  height: 0.625rem;
  background-color: var(--color-lagoon-turquoise);
  transform: rotate(45deg);
  border-radius: 1px;
}

.privacy-list-shield li::before {
  background-color: var(--color-lime-leaf-green);
}

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

.privacy-cookie-link {
  margin-block-start: var(--space-3);
}

.privacy-effective-date {
  margin-block-start: var(--space-4);
}

.privacy-contact-card {
  background-color: var(--surface-card);
  border: var(--border-thin);
  border-top: 3px solid var(--color-lagoon-turquoise);
  border-radius: var(--radius-medium);
  box-shadow: var(--shadow-soft);
  padding: var(--space-5);
  margin-block-start: var(--space-4);
}

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

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

.privacy-contact-card a {
  color: var(--color-lagoon-turquoise);
  text-decoration: none;
  transition: color var(--transition-fast);
}

.privacy-contact-card a:hover,
.privacy-contact-card a:focus-visible {
  color: var(--color-deep-ink-blue);
}

@media (min-width: 40rem) {
  .privacy-page {
    padding-inline: var(--space-5);
  }
}

@media (min-width: 64rem) {
  .privacy-page {
    padding-inline: var(--space-6);
    padding-block: var(--space-8);
  }

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

@media (max-width: 39.999rem) {
  .privacy-page {
    padding-block: var(--space-5);
  }

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

  .privacy-content,
  .privacy-content-narrow {
    max-width: 100%;
  }

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


/* Page-owned styles for Contact page */

.contact-hero {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 80vh;
  padding-block: var(--space-8);
  background-color: var(--color-deep-ink-blue);
  overflow: hidden;
}

.contact-hero__overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(249, 247, 244, 0.05) 0%, rgba(26, 42, 58, 0.65) 100%);
}

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

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

.contact-hero__title {
  margin-block-end: 0;
  font-size: clamp(2.5rem, 7vw, 4.5rem);
  line-height: 1.1;
  letter-spacing: -0.02em;
  color: var(--color-shell-white);
  text-wrap: balance;
}

.contact-hero__lead {
  margin-block-end: 0;
  max-width: 600px;
  font-size: var(--text-body-large-size);
  line-height: var(--text-body-large-leading);
  color: rgba(249, 247, 244, 0.9);
}

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

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

.contact-details__intro .eyebrow {
  margin-block-end: var(--space-2);
}

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

.contact-details__intro-text {
  margin-block-end: 0;
  color: var(--color-ink-muted);
}

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

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

.contact-card__icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 3rem;
  height: 3rem;
  border-radius: var(--radius-full);
  background-color: var(--surface-lagoon-wash);
  color: var(--color-lagoon-turquoise);
}

.contact-card__title {
  margin-block-end: 0;
  font-size: var(--text-h3-size);
}

.contact-card__value {
  margin-block-end: 0;
  font-size: var(--text-body-large-size);
  font-weight: 600;
  color: var(--color-deep-ink-blue);
  text-decoration: none;
  overflow-wrap: anywhere;
}

.contact-card__value:hover,
.contact-card__value:focus-visible {
  color: var(--color-lagoon-turquoise);
}

.contact-card__value--address {
  font-weight: 400;
}

.contact-card__description {
  margin-block-end: 0;
  max-width: 300px;
  color: var(--color-ink-muted);
  font-size: var(--text-caption-size);
  line-height: var(--text-caption-leading);
}

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

.contact-form-panel {
  max-width: 600px;
  margin-inline: auto;
  padding: var(--space-6);
  background-color: var(--surface-card);
  border: var(--border-thin);
  border-radius: var(--radius-large);
  box-shadow: var(--shadow-soft);
}

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

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

.contact-form-panel__intro {
  margin-block-end: var(--space-5);
  color: var(--color-ink-muted);
}

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

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

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

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

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

.contact-form__field label span {
  color: var(--color-sunset-coral);
}

.contact-form__error {
  margin-block-end: 0;
  font-size: var(--text-caption-size);
  color: var(--color-sunset-coral);
}

.contact-form__submit {
  align-self: flex-start;
  margin-block-start: var(--space-2);
}

.dining-poker__intro {
  max-width: 700px;
  margin-block-end: var(--space-6);
}

.dining-poker__intro .eyebrow {
  margin-block-end: var(--space-2);
}

.dining-poker__intro h2 {
  margin-block-end: 0;
}

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

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

.dining-poker__column h3 {
  margin-block-end: 0;
}

.dining-poker__column p {
  margin-block-end: 0;
  color: var(--color-ink-muted);
}

.dining-poker__link {
  margin-block-start: var(--space-2);
  font-weight: 600;
  color: var(--color-lagoon-turquoise);
  text-decoration: none;
}

.dining-poker__link:hover,
.dining-poker__link:focus-visible {
  color: var(--color-deep-ink-blue);
}

.location__content {
  max-width: 700px;
  margin-inline: 0;
}

.location__content .eyebrow {
  margin-block-end: var(--space-2);
}

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

.location__content p {
  margin-block-end: var(--space-4);
  color: var(--color-ink-muted);
}

.location__list {
  margin-block-end: 0;
  padding-inline-start: var(--space-4);
  color: var(--color-ink-muted);
}

.location__list .hours__content {
  max-width: 500px;
  margin-inline: 0;
}

.hours__content .eyebrow {
  margin-block-end: var(--space-2);
}

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

.hours__content p {
  margin-block-end: var(--space-4);
  color: var(--color-ink-muted);
}

.hours__table-wrapper {
  margin-block-end: 0;
  overflow-x: auto;
}

.hours__table {
  margin-block-end: 0;
  min-width: 320px;
}

.hours__table th,
.hours__table td {
  padding: var(--space-3) var(--space-4);
}

.faq__intro {
  max-width: 700px;
  margin-block-end: var(--space-6);
}

.faq__intro .eyebrow {
  margin-block-end: var(--space-2);
}

.faq__intro h2 {
  margin-block-end: 0;
}

.faq__list {
  max-width: 700px;
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
}

.faq-item {
  border: var(--border-thin);
  border-radius: var(--radius-medium);
  background-color: var(--surface-card);
  overflow: hidden;
}

.faq-item__trigger {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-3);
  width: 100%;
  padding: var(--space-4);
  font-family: var(--font-body);
  font-size: var(--text-body-size);
  font-weight: 600;
  color: var(--color-deep-ink-blue);
  background-color: transparent;
  border: none;
  text-align: start;
  cursor: pointer;
  transition: background-color var(--transition-fast);
}

.faq-item__trigger:hover,
.faq-item__trigger:focus-visible {
  background-color: var(--surface-muted);
}

.faq-item__trigger[aria-expanded="true"] {
  background-color: var(--surface-lagoon-wash);
}

.faq-item__icon {
  position: relative;
  flex-shrink: 0;
  width: 1.25rem;
  height: 1.25rem;
}

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

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

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

.faq-item__panel {
  padding: 0 var(--space-4) var(--space-4);
}

.faq-item__panel p {
  margin-block-end: 0;
  color: var(--color-ink-muted);
}

.contact-cta {
  background-color: var(--surface-dark);
  color: var(--color-shell-white);
}

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

.contact-cta__content h2 {
  margin-block-end: 0;
  color: var(--color-shell-white);
  text-wrap: balance;
}

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

.contact-cta__actions .btn {
  min-width: 140px;
}

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

  .contact-details__grid .contact-card:last-child {
    grid-column: 1 / -1;
  }

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

@media (max-width: 47.9375rem) {
  .contact-hero {
    min-height: 60vh;
    padding-block: var(--space-6);
  }

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

  .contact-hero__cta {
    width: 100%;
  }

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

  .contact-details__grid .contact-card:last-child {
    grid-column: auto;
  }

  .contact-form-panel {
    padding: var(--space-4);
  }

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

  .contact-form__submit {
    width: 100%;
  }

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

  .contact-cta__actions .btn {
    width: 100%;
  }
}

@media (prefers-reduced-motion: reduce) {
  .faq-item__icon::before,
  .faq-item__icon::after {
    transition: none;
  }
}


/* Page-owned styles for Terms and Conditions */
.terms-page {
  background-color: var(--color-shell-white);
  color: var(--color-deep-ink-blue);
  padding-block: var(--space-7);
}

.terms-container {
  width: 100%;
  max-width: 50rem; /* 800px */
  margin-inline: auto;
  padding-inline: var(--space-4);
}

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

.terms-section + .terms-section {
  border-top: var(--border-thin);
}

.terms-section h2 {
  font-size: var(--text-h2-size);
  line-height: var(--text-h2-leading);
  letter-spacing: var(--text-h2-tracking);
  margin-block-end: var(--space-5);
}

.terms-section h3 {
  font-size: var(--text-h3-size);
  line-height: var(--text-h3-leading);
  margin-block-end: var(--space-3);
}

.terms-section p {
  font-size: var(--text-body-size);
  line-height: var(--text-body-leading);
  color: var(--color-ink-muted);
  margin-block-end: var(--space-4);
  /* ~65ch at 16px */
}

.terms-section ul {
  margin-block-end: var(--space-4);
  padding-inline-start: var(--space-4);
  color: var(--color-ink-muted);
  max-width: 40.625rem;
}

.terms-section li {
  line-height: var(--text-body-leading);
  margin-block-end: var(--space-2);
}

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

/* Terms Introduction */
.terms-intro__content {
  margin-block-end: var(--space-6);
}

.terms-intro__content h1 {
  font-size: var(--text-h1-size);
  line-height: var(--text-h1-leading);
  letter-spacing: var(--text-h1-tracking);
  margin-block-end: var(--space-5);
}

.terms-effective-date {
  display: flex;
  flex-direction: column;
  gap: var(--space-1);
  background-color: #F0EDE8;
  border: 1px solid rgba(11, 29, 42, 0.12);
  border-radius: var(--radius-small);
  padding: var(--space-3) var(--space-4);
  margin-block-end: var(--space-4);
  max-width: 40.625rem;
}

.terms-effective-date__label {
  font-size: var(--text-caption-size);
  line-height: var(--text-caption-leading);
  letter-spacing: var(--text-caption-tracking);
  text-transform: uppercase;
  color: var(--color-ink-muted);
  font-weight: 600;
}

.terms-effective-date__value {
  font-size: var(--text-body-large-size);
  line-height: var(--text-body-large-leading);
  font-weight: 600;
  color: var(--color-deep-ink-blue);
}

.terms-intro__scope {
  margin-block-start: var(--space-6);
}

/* Acceptance of Terms */
.terms-acceptance__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-5);
}

.terms-acceptance__unit {
  min-width: 0;
  padding-inline-start: var(--space-4);
  border-inline-start: 2px solid var(--color-lagoon-turquoise);
}

.terms-acceptance__unit h3 {
  margin-block-end: var(--space-3);
}

.terms-acceptance__unit p {
  }

/* Use of Website */
.terms-use__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-5);
}

.terms-use__unit {
  min-width: 0;
}

.terms-use__unit--wide {
  grid-column: 1 / -1;
}

.terms-use__unit p,
.terms-use__unit ul {
  max-width: 100%;
}

/* Offline Poker and Card Lounge */
.terms-poker {
  background-color: var(--surface-muted);
  border-radius: var(--radius-medium);
  padding: var(--space-5);
}

.terms-poker__header {
  display: flex;
  align-items: center;
  gap: var(--space-3);
  margin-block-end: var(--space-5);
}

.terms-poker__icon {
  display: inline-block;
  width: 1.25rem;
  height: 1.25rem;
  background-color: var(--color-lagoon-turquoise);
  transform: rotate(45deg);
  border-radius: 2px;
  flex-shrink: 0;
}

.terms-poker__header h2 {
  margin-block-end: 0;
}

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

.terms-poker__unit {
  min-width: 0;
}

.terms-poker__unit--wide {
  grid-column: 1 / -1;
}

.terms-poker__unit p,
.terms-poker__unit ul {
  max-width: 100%;
}

/* Disclaimers and Limitations of Liability */
.terms-disclaimers__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-5);
}

.terms-disclaimers__unit {
  min-width: 0;
  padding-inline-start: var(--space-4);
  border-inline-start: 2px solid var(--color-sunset-coral);
}

.terms-disclaimers__unit--wide {
  grid-column: 1 / -1;
}

.terms-disclaimers__unit p {
  }

/* User Responsibilities and Conduct */
.terms-conduct__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-5);
}

.terms-conduct__unit {
  min-width: 0;
}

.terms-conduct__unit p,
.terms-conduct__unit ul {
  max-width: 100%;
}

/* Changes to Terms and Governing Law */
.terms-changes__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-5);
}

.terms-changes__unit {
  min-width: 0;
}

.terms-changes__unit p {
  }

/* Contact Information */
.terms-contact {
  background-color: var(--surface-lagoon-wash);
  border-radius: var(--radius-medium);
  padding: var(--space-5);
}

.terms-contact__unit {
  min-width: 0;
}

.terms-contact__unit h3 {
  margin-block-end: var(--space-3);
}

.terms-contact__unit p {
  }

.terms-contact__list {
  list-style: none;
  padding-inline-start: 0;
  margin-block-end: 0;
  display: flex;
  flex-direction: column;
  gap: var(--space-2);
  max-width: 100%;
}

.terms-contact__list li {
  margin-block-end: 0;
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-1);
  align-items: baseline;
}

.terms-contact__label {
  font-weight: 600;
  color: var(--color-deep-ink-blue);
  min-width: 5.5rem;
}

.terms-contact__list a {
  color: var(--color-lagoon-turquoise);
  text-decoration: none;
  transition: color var(--transition-fast);
}

.terms-contact__list a:hover,
.terms-contact__list a:focus-visible {
  color: var(--color-deep-ink-blue);
}

/* Tablet breakpoint */
@media (min-width: 40rem) and (max-width: 63.9375rem) {
  .terms-container {
    padding-inline: var(--space-5);
  }

  .terms-acceptance__grid,
  .terms-use__grid,
  .terms-poker__grid,
  .terms-disclaimers__grid,
  .terms-conduct__grid,
  .terms-changes__grid {
    grid-template-columns: 1fr;
  }

  .terms-use__unit--wide,
  .terms-poker__unit--wide,
  .terms-disclaimers__unit--wide {
    grid-column: auto;
  }
}

/* Mobile breakpoint */
@media (max-width: 39.9375rem) {
  .terms-page {
    padding-block: var(--space-5);
  }

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

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

  .terms-section h1 {
    font-size: 2rem;
    line-height: 1.2;
  }

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

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

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

  .terms-effective-date {
    flex-direction: column;
    gap: var(--space-1);
  }

  .terms-acceptance__grid,
  .terms-use__grid,
  .terms-poker__grid,
  .terms-disclaimers__grid,
  .terms-conduct__grid,
  .terms-changes__grid {
    grid-template-columns: 1fr;
    gap: var(--space-4);
  }

  .terms-use__unit--wide,
  .terms-poker__unit--wide,
  .terms-disclaimers__unit--wide {
    grid-column: auto;
  }

  .terms-acceptance__unit,
  .terms-disclaimers__unit {
    padding-inline-start: var(--space-3);
  }

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

  .terms-poker__header {
    flex-direction: column;
    align-items: flex-start;
    gap: var(--space-2);
  }

  .terms-contact__list li {
    flex-direction: column;
    gap: 0;
  }

  .terms-contact__label {
    min-width: auto;
  }
}

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


/* Offline Poker page styles */

.offline-poker-hero {
  position: relative;
  min-height: 640px;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  background-color: var(--color-card-lounge-shadow);
}

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

.offline-poker-hero__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.offline-poker-hero__overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(26, 42, 58, 0.45) 0%, rgba(26, 42, 58, 0.75) 100%);
}

.offline-poker-hero__content {
  position: relative;
  z-index: 1;
  width: 100%;
  max-width: 800px;
  margin-inline: auto;
  padding: var(--space-6) var(--space-4);
  text-align: center;
  color: var(--color-shell-white);
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--space-4);
}

.offline-poker-hero__eyebrow {
  font-size: var(--text-caption-size);
  line-height: var(--text-caption-leading);
  letter-spacing: 0.08em;
  text-transform: uppercase;
  font-weight: 600;
  color: #7FE0E0;
  margin: 0;
}

.offline-poker-hero__content h1 {
  color: var(--color-shell-white);
  font-size: clamp(2.5rem, 7vw, 4.5rem);
  line-height: 1.1;
  letter-spacing: -0.02em;
  margin: 0;
  max-width: 720px;
  text-wrap: balance;
}

.offline-poker-hero__lead {
  font-size: var(--text-body-large-size);
  line-height: var(--text-body-large-leading);
  color: rgba(249, 247, 244, 0.92);
  max-width: 560px;
  margin: 0;
}

.offline-poker-hero__points {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: var(--space-2);
  max-width: 520px;
}

.offline-poker-hero__points li {
  font-size: var(--text-body-size);
  line-height: var(--text-body-leading);
  color: rgba(249, 247, 244, 0.85);
  margin: 0;
}

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

.offline-poker-hero__actions .btn {
  min-width: 220px;
}

.offline-poker-definition {
  background-color: var(--surface-primary);
}

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

.offline-poker-definition__main {
  min-width: 0;
}

.offline-poker-definition__main h2 {
  margin-block-end: var(--space-4);
}

.offline-poker-definition__main p {
  }

.offline-poker-definition__aside {
  min-width: 0;
  background-color: var(--surface-card);
  border: var(--border-thin);
  border-radius: var(--radius-medium);
  box-shadow: var(--shadow-soft);
  padding: var(--space-5);
}

.offline-poker-definition__aside h3 {
  margin-block-end: var(--space-3);
}

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

.offline-poker-definition__list li {
  position: relative;
  padding-inline-start: var(--space-5);
  margin: 0;
}

.offline-poker-definition__list li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.35em;
  width: 1.25rem;
  height: 1.25rem;
  background-color: var(--surface-lagoon-wash);
  border-radius: var(--radius-small);
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='10' viewBox='0 0 12 10'%3E%3Cpath d='M1 5l3 3 7-7' stroke='%2300A6A6' stroke-width='2' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: center;
}

.offline-poker-lounge {
  background-color: var(--surface-muted);
}

.offline-poker-lounge__grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: var(--space-5);
  align-items: center;
}

.offline-poker-lounge__media {
  margin: 0;
  min-width: 0;
}

.offline-poker-lounge__media img {
  width: 100%;
  height: auto;
  display: block;
  border-radius: var(--radius-sharp);
}

.offline-poker-lounge__media figcaption {
  margin-block-start: var(--space-2);
}

.offline-poker-lounge__content {
  min-width: 0;
}

.offline-poker-lounge__content h2 {
  margin-block-end: var(--space-4);
}

.offline-poker-lounge__content p {
  }

.offline-poker-social {
  background-color: var(--surface-primary);
}

.offline-poker-social__header {
  max-width: 800px;
  margin-block-end: var(--space-6);
}

.offline-poker-social__header h2 {
  margin-block-end: var(--space-3);
}

.offline-poker-social__intro {
  font-size: var(--text-body-large-size);
  line-height: var(--text-body-large-leading);
  color: var(--color-ink-muted);
  max-width: 65ch;
  margin: 0;
}

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

.offline-poker-social__card {
  min-width: 0;
  background-color: var(--surface-card);
  border: var(--border-thin);
  border-radius: var(--radius-medium);
  box-shadow: var(--shadow-soft);
  padding: var(--space-5);
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
  transition: box-shadow var(--transition-base), transform var(--transition-base);
}

.offline-poker-social__card:hover {
  box-shadow: var(--shadow-medium);
  transform: translateY(-2px);
}

.offline-poker-social__icon {
  width: 3rem;
  height: 3rem;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.75rem;
  color: var(--color-shell-white);
  border-radius: var(--radius-small);
  flex: 0 0 auto;
}

.offline-poker-social__icon--spade {
  background-color: var(--color-deep-ink-blue);
}

.offline-poker-social__icon--diamond {
  background-color: var(--color-lagoon-turquoise);
}

.offline-poker-social__icon--heart {
  background-color: var(--color-sunset-coral);
}

.offline-poker-social__card h3 {
  margin: 0;
}

.offline-poker-social__card p {
  margin: 0;
  }

.offline-poker-social__card ul {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: var(--space-2);
}

.offline-poker-social__card li {
  position: relative;
  padding-inline-start: var(--space-4);
  margin: 0;
  font-size: var(--text-caption-size);
  line-height: var(--text-caption-leading);
  color: var(--color-ink-muted);
}

.offline-poker-social__card li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.45em;
  width: 0.625rem;
  height: 0.625rem;
  background-color: var(--color-lagoon-turquoise);
  transform: rotate(45deg);
  border-radius: 1px;
}

.offline-poker-holdem {
  background-color: var(--surface-muted);
}

.offline-poker-holdem__grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: var(--space-5);
  align-items: center;
}

.offline-poker-holdem__content {
  min-width: 0;
}

.offline-poker-holdem__content h2 {
  margin-block-end: var(--space-4);
}

.offline-poker-holdem__content p {
  }

.offline-poker-holdem__media {
  margin: 0;
  min-width: 0;
}

.offline-poker-holdem__media img {
  width: 100%;
  height: auto;
  display: block;
  border-radius: var(--radius-sharp);
}

.offline-poker-holdem__media figcaption {
  margin-block-start: var(--space-2);
}

.offline-poker-nights {
  background-color: var(--surface-primary);
}

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

.offline-poker-nights__main {
  min-width: 0;
}

.offline-poker-nights__main h2 {
  margin-block-end: var(--space-4);
}

.offline-poker-nights__main p {
  }

.offline-poker-nights__aside {
  min-width: 0;
  background-color: var(--surface-card);
  border: var(--border-thin);
  border-radius: var(--radius-medium);
  box-shadow: var(--shadow-soft);
  padding: var(--space-5);
}

.offline-poker-nights__aside h3 {
  margin-block-end: var(--space-3);
}

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

.offline-poker-nights__list li {
  position: relative;
  padding-inline-start: var(--space-5);
  margin: 0;
}

.offline-poker-nights__list li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.35em;
  width: 1.25rem;
  height: 1.25rem;
  background-color: var(--surface-lagoon-wash);
  border-radius: var(--radius-small);
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='10' viewBox='0 0 12 10'%3E%3Cpath d='M1 5l3 3 7-7' stroke='%2300A6A6' stroke-width='2' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: center;
}

.offline-poker-dining {
  background: linear-gradient(180deg, var(--surface-primary) 0%, var(--surface-lagoon-wash) 100%);
}

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

.offline-poker-dining__content h2 {
  margin: 0;
}

.offline-poker-dining__content p {
  margin: 0;
  }

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

.offline-poker-dining__actions .btn {
  min-width: 200px;
}

.offline-poker-visit {
  background-color: var(--surface-dark);
  color: var(--color-shell-white);
}

.offline-poker-visit__grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: var(--space-6);
  align-items: center;
}

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

.offline-poker-visit__info .eyebrow {
  color: #7FE0E0;
}

.offline-poker-visit__info h2 {
  color: var(--color-shell-white);
  margin-block-end: var(--space-4);
}

.offline-poker-visit__info p {
  color: rgba(249, 247, 244, 0.85);
  }

.offline-poker-visit__address {
  display: flex;
  flex-direction: column;
  gap: var(--space-2);
  margin-block-start: var(--space-4);
  font-style: normal;
}

.offline-poker-visit__address span,
.offline-poker-visit__address a {
  color: rgba(249, 247, 244, 0.85);
  text-decoration: none;
}

.offline-poker-visit__address a:hover,
.offline-poker-visit__address a:focus-visible {
  color: var(--color-shell-white);
}

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

.offline-poker-visit__actions .btn {
  width: 100%;
}

@media (min-width: 40rem) and (max-width: 63.99rem) {
  .offline-poker-social__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

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

  .offline-poker-definition__grid,
  .offline-poker-nights__grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .offline-poker-lounge__grid,
  .offline-poker-holdem__grid,
  .offline-poker-visit__grid {
    grid-template-columns: minmax(0, 1fr);
  }
}

@media (max-width: 39.99rem) {
  .offline-poker-hero {
    min-height: 560px;
  }

  .offline-poker-hero__content {
    padding: var(--space-5) var(--space-4);
    text-align: left;
    align-items: flex-start;
  }

  .offline-poker-hero__content h1 {
    font-size: clamp(2rem, 10vw, 3rem);
    max-width: 100%;
  }

  .offline-poker-hero__lead {
    font-size: var(--text-body-size);
    line-height: var(--text-body-leading);
    max-width: 100%;
  }

  .offline-poker-hero__points {
    max-width: 100%;
  }

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

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

  .offline-poker-definition__grid,
  .offline-poker-lounge__grid,
  .offline-poker-social__grid,
  .offline-poker-holdem__grid,
  .offline-poker-nights__grid,
  .offline-poker-visit__grid {
    grid-template-columns: minmax(0, 1fr);
  }

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

  .offline-poker-dining__content {
    text-align: left;
    align-items: flex-start;
  }

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

  .offline-poker-dining__actions .btn {
    width: 100%;
    min-width: 0;
  }

  .offline-poker-visit__actions {
    width: 100%;
  }
}

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

  .offline-poker-social__card:hover {
    transform: none;
  }
}


/* Cookie Policy page styles */

.cookie-policy-intro {
  padding-block: var(--space-8) var(--space-7);
  background-color: var(--surface-primary);
}

.cookie-policy-intro__inner {
  max-width: 50rem;
  margin-inline: auto;
  padding-inline: var(--space-4);
  text-align: center;
}

.cookie-policy-intro__heading {
  font-size: var(--text-h1-size);
  line-height: var(--text-h1-leading);
  letter-spacing: var(--text-h1-tracking);
  margin-block-end: var(--space-5);
  text-align: center;
}

.cookie-policy-intro__lead {
  max-width: 65ch;
  margin-inline: auto;
  margin-block-end: var(--space-4);
  font-size: var(--text-body-large-size);
  line-height: var(--text-body-large-leading);
  color: var(--color-ink-muted);
  text-align: left;
}

.cookie-policy-intro__highlight {
  text-decoration: underline;
  text-decoration-color: var(--color-lagoon-turquoise);
  text-decoration-thickness: 2px;
  text-underline-offset: 4px;
}

.cookie-policy-intro__supporting {
  max-width: 65ch;
  margin-inline: auto;
  margin-block-end: var(--space-5);
  text-align: left;
}

.cookie-policy-intro__date {
  display: inline-flex;
  align-items: center;
  gap: var(--space-2);
  font-size: var(--text-caption-size);
  line-height: var(--text-caption-leading);
  letter-spacing: var(--text-caption-tracking);
  color: var(--color-ink-muted);
  margin-block-end: 0;
}

.cookie-policy-intro__date-icon {
  display: inline-block;
  width: 1rem;
  height: 1rem;
  background-color: var(--color-lagoon-turquoise);
  border-radius: var(--radius-small);
  position: relative;
}

.cookie-policy-intro__date-icon::after {
  content: "";
  position: absolute;
  inset: 0;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath d='M2 1h8v2H2zM1 4h10v7H1z' fill='none' stroke='%23F9F7F4' stroke-width='1.2'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: center;
  background-size: 0.75rem;
}

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

.cookie-policy-section__inner {
  max-width: 50rem;
  margin-inline: auto;
  padding-inline: var(--space-4);
}

.cookie-policy-section__heading {
  font-size: var(--text-h2-size);
  line-height: var(--text-h2-leading);
  letter-spacing: var(--text-h2-tracking);
  margin-block-end: var(--space-4);
}

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

.cookie-policy-section__list {
  max-width: 70ch;
  margin-block-end: var(--space-4);
  padding-inline-start: var(--space-4);
}

.cookie-policy-what-are {
  background-color: var(--surface-card);
  border-block: var(--border-thin);
}

.cookie-policy-what-are .cookie-policy-section__inner {
  border: var(--border-thin);
  border-radius: var(--radius-medium);
  padding: var(--space-5);
  background-color: var(--surface-card);
  box-shadow: var(--shadow-soft);
}

.cookie-policy-how-we-use {
  background-color: var(--surface-primary);
}

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

.cookie-policy-cookie-card {
  background-color: var(--surface-card);
  border: var(--border-thin);
  border-radius: var(--radius-medium);
  box-shadow: var(--shadow-soft);
  padding: var(--space-4);
  min-width: 0;
  transition: box-shadow var(--transition-base), transform var(--transition-base);
}

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

.cookie-policy-cookie-card__icon {
  width: 2rem;
  height: 2rem;
  margin-block-end: var(--space-3);
  background-color: var(--surface-lagoon-wash);
  border-radius: var(--radius-small);
  position: relative;
}

.cookie-policy-cookie-card__icon--lock::after {
  content: "";
  position: absolute;
  inset: 0;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16'%3E%3Crect x='3' y='7' width='10' height='7' rx='1' fill='none' stroke='%2300A6A6' stroke-width='1.5'/%3E%3Cpath d='M5 7V5a3 3 0 016 0v2' fill='none' stroke='%2300A6A6' stroke-width='1.5'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: center;
  background-size: 1.25rem;
}

.cookie-policy-cookie-card__icon--chart::after {
  content: "";
  position: absolute;
  inset: 0;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16'%3E%3Cpath d='M2 2v12h12' fill='none' stroke='%2300A6A6' stroke-width='1.5'/%3E%3Crect x='4' y='8' width='3' height='4' fill='%2300A6A6'/%3E%3Crect x='9' y='5' width='3' height='7' fill='%2300A6A6'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: center;
  background-size: 1.25rem;
}

.cookie-policy-cookie-card__icon--gear::after {
  content: "";
  position: absolute;
  inset: 0;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16'%3E%3Ccircle cx='8' cy='8' r='2' fill='none' stroke='%2300A6A6' stroke-width='1.5'/%3E%3Cpath d='M8 1v2M8 13v2M1 8h2M13 8h2M3.5 3.5l1.4 1.4M11.1 11.1l1.4 1.4M12.5 3.5l-1.4 1.4M4.9 11.1l-1.4 1.4' fill='none' stroke='%2300A6A6' stroke-width='1.5'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: center;
  background-size: 1.25rem;
}

.cookie-policy-cookie-card__icon--bullseye::after {
  content: "";
  position: absolute;
  inset: 0;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16'%3E%3Ccircle cx='8' cy='8' r='6' fill='none' stroke='%2300A6A6' stroke-width='1.5'/%3E%3Ccircle cx='8' cy='8' r='3' fill='none' stroke='%2300A6A6' stroke-width='1.5'/%3E%3Ccircle cx='8' cy='8' r='0.5' fill='%2300A6A6'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: center;
  background-size: 1.25rem;
}

.cookie-policy-cookie-card__heading {
  font-size: var(--text-h3-size);
  line-height: var(--text-h3-leading);
  letter-spacing: var(--text-h3-tracking);
  margin-block-end: var(--space-2);
}

.cookie-policy-cookie-card__body {
  max-width: 55ch;
  font-size: var(--text-body-size);
  line-height: var(--text-body-leading);
  margin-block-end: 0;
}

.cookie-policy-cookies-we-use {
  background-color: var(--surface-primary);
}

.cookie-policy-table-wrapper {
  overflow-x: auto;
  margin-block-end: var(--space-4);
}

.cookie-policy-table {
  width: 100%;
  border-collapse: collapse;
  font-size: var(--text-body-size);
  line-height: var(--text-body-leading);
  background-color: var(--surface-card);
  border: var(--border-thin);
  border-radius: var(--radius-medium);
  overflow: hidden;
  box-shadow: var(--shadow-soft);
}

.cookie-policy-table th,
.cookie-policy-table td {
  padding: var(--space-3) var(--space-4);
  border-bottom: var(--border-thin);
  text-align: left;
  vertical-align: top;
}

.cookie-policy-table th {
  background-color: var(--surface-muted);
  font-weight: 600;
  color: var(--color-deep-ink-blue);
}

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

.cookie-policy-table tbody tr:last-child td {
  border-bottom: none;
}

.cookie-policy-managing {
  background-color: var(--surface-lagoon-wash);
}

.cookie-policy-managing__inner {
  background-color: var(--surface-lagoon-wash);
  border-radius: var(--radius-medium);
  padding: var(--space-5);
}

.cookie-policy-managing__subheading {
  font-size: var(--text-h3-size);
  line-height: var(--text-h3-leading);
  letter-spacing: var(--text-h3-tracking);
  margin-block-end: var(--space-2);
}

.cookie-policy-third-party {
  background-color: var(--surface-primary);
  border-top: var(--border-thin);
}

.cookie-policy-changes {
  background-color: var(--surface-primary);
}

.cookie-policy-changes__inner {
  border-left: 2px solid var(--color-sunset-coral);
  padding-left: var(--space-4);
}

.cookie-policy-contact {
  background-color: var(--surface-primary);
}

.cookie-policy-contact-card {
  background-color: var(--surface-card);
  border: var(--border-thin);
  border-radius: var(--radius-medium);
  box-shadow: var(--shadow-soft);
  padding: var(--space-5);
  display: flex;
  flex-direction: column;
  gap: var(--space-4);
}

.cookie-policy-contact-card__body {
  max-width: 65ch;
  margin-block-end: 0;
}

.cookie-policy-contact-card__button {
  align-self: flex-start;
}

.cookie-policy-related {
  background-color: var(--surface-primary);
  padding-block-end: var(--space-8);
}

.cookie-policy-related__inner {
  text-align: center;
}

.cookie-policy-related__body {
  max-width: 40ch;
  margin-inline: auto;
  margin-block-end: var(--space-4);
}

.cookie-policy-related__links {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: var(--space-3);
}

.cookie-policy-related__links .btn {
  min-width: 0;
}

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

/* Mobile breakpoint */
@media (max-width: 40rem) {
  .cookie-policy-intro {
    padding-block: var(--space-6) var(--space-6);
  }

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

  .cookie-policy-intro__heading {
    font-size: 2rem;
    line-height: 1.2;
  }

  .cookie-policy-intro__lead,
  .cookie-policy-intro__supporting {
    max-width: 100%;
  }

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

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

  .cookie-policy-what-are .cookie-policy-section__inner {
    border: none;
    border-radius: 0;
    padding: var(--space-4);
    box-shadow: none;
  }

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

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

  .cookie-policy-cookie-card__body {
    max-width: 100%;
  }

  .cookie-policy-table-wrapper {
    margin-inline: calc(-1 * var(--space-3));
    padding-inline: var(--space-3);
  }

  .cookie-policy-table {
    font-size: var(--text-caption-size);
    line-height: var(--text-caption-leading);
  }

  .cookie-policy-table thead {
    display: none;
  }

  .cookie-policy-table,
  .cookie-policy-table tbody,
  .cookie-policy-table tr,
  .cookie-policy-table td {
    display: block;
    width: 100%;
  }

  .cookie-policy-table tr {
    margin-block-end: var(--space-3);
    border: var(--border-thin);
    border-radius: var(--radius-medium);
    background-color: var(--surface-card);
    box-shadow: var(--shadow-soft);
    overflow: hidden;
  }

  .cookie-policy-table td {
    border-bottom: var(--border-thin);
    padding: var(--space-2) var(--space-3);
    text-align: left;
  }

  .cookie-policy-table td:last-child {
    border-bottom: none;
  }

  .cookie-policy-table td::before {
    content: attr(data-label);
    display: block;
    font-weight: 600;
    color: var(--color-ink-muted);
    margin-block-end: var(--space-1);
    font-size: var(--text-caption-size);
    letter-spacing: var(--text-caption-tracking);
  }

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

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

  .cookie-policy-contact-card__button {
    align-self: stretch;
  }

  .cookie-policy-related__links {
    flex-direction: column;
    align-items: stretch;
  }

  .cookie-policy-related__links .btn {
    width: 100%;
  }
}

@media (prefers-reduced-motion: reduce) {
  .cookie-policy-cookie-card:hover {
    transform: none;
  }
}


/* Menu page styles */

.menu-hero {
  position: relative;
  min-height: 100svh;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  background-color: var(--color-card-lounge-shadow);
}

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

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

.menu-hero__overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(26, 42, 58, 0.35) 0%, rgba(26, 42, 58, 0.75) 100%);
}

.menu-hero__content {
  position: relative;
  z-index: 1;
  max-width: 50rem;
  margin-inline: auto;
  padding-inline: var(--space-4);
  padding-block: var(--space-8);
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--space-5);
}

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

.menu-hero__title {
  color: var(--color-shell-white);
  font-size: clamp(2rem, 5vw, 3.5rem);
  line-height: 1.15;
  letter-spacing: -0.01em;
  margin-block-end: 0;
  text-wrap: balance;
}

.menu-hero__lead {
  color: rgba(249, 247, 244, 0.9);
  font-size: var(--text-body-large-size);
  line-height: var(--text-body-large-leading);
  max-width: 38rem;
  margin-block-end: 0;
  text-wrap: pretty;
}

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

.menu-hero__actions .btn {
  min-width: 12rem;
}

.culinary-philosophy {
  background-color: var(--surface-primary);
}

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

.culinary-philosophy__intro,
.culinary-philosophy__connection {
  min-width: 0;
}

.culinary-philosophy__intro p:last-child,
.culinary-philosophy__connection p:last-child {
  margin-block-end: 0;
}

.culinary-philosophy__intro p,
.culinary-philosophy__connection p {
  }

.signature-dishes {
  background-color: var(--surface-primary);
}

.signature-dishes__heading {
  margin-block-end: var(--space-6);
}

.signature-dishes__heading h2 {
  margin-block-end: var(--space-3);
}

.signature-dishes__intro {
  max-width: 44rem;
  margin-block-end: 0;
}

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

.dish-card {
  min-width: 0;
  display: flex;
  flex-direction: column;
  background-color: var(--surface-card);
  border: var(--border-thin);
  border-radius: var(--radius-medium);
  box-shadow: var(--shadow-soft);
  overflow: hidden;
  transition: box-shadow var(--transition-base), transform var(--transition-base);
}

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

.dish-card__media {
  aspect-ratio: 4 / 3;
  overflow: hidden;
}

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

.dish-card__body {
  padding: var(--space-4);
  display: flex;
  flex-direction: column;
  gap: var(--space-2);
}

.dish-card__body h3 {
  margin-block-end: 0;
}

.dish-card__body p {
  margin-block-end: 0;
  }

.seafood-selection {
  background-color: var(--surface-dark);
}

.seafood-selection__grid {
  display: grid;
  grid-template-columns: 30% 70%;
  gap: var(--space-6);
  align-items: start;
}

.seafood-selection__heading {
  min-width: 0;
}

.seafood-selection__heading h2 {
  color: var(--color-shell-white);
  margin-block-end: var(--space-3);
}

.seafood-selection__heading p:last-child {
  color: rgba(249, 247, 244, 0.85);
  margin-block-end: 0;
  max-width: 22rem;
}

.seafood-selection__list {
  list-style: none;
  padding-inline-start: 0;
  margin-block-end: 0;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-5) var(--space-6);
}

.seafood-item {
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: var(--space-2);
}

.seafood-item h3 {
  color: var(--color-shell-white);
  margin-block-end: 0;
}

.seafood-item p {
  color: rgba(249, 247, 244, 0.85);
  margin-block-end: 0;
  }

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

.desserts__heading {
  margin-block-end: var(--space-6);
}

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

.desserts__intro {
  max-width: 44rem;
  margin-block-end: 0;
}

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

.dessert-card {
  min-width: 0;
  display: flex;
  flex-direction: column;
  background-color: var(--surface-card);
  border: var(--border-thin);
  border-radius: var(--radius-medium);
  box-shadow: var(--shadow-soft);
  overflow: hidden;
  transition: box-shadow var(--transition-base), transform var(--transition-base);
}

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

.dessert-card__media {
  aspect-ratio: 4 / 3;
  overflow: hidden;
}

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

.dessert-card__body {
  padding: var(--space-4);
  display: flex;
  flex-direction: column;
  gap: var(--space-2);
}

.dessert-card__body h3 {
  margin-block-end: 0;
}

.dessert-card__body p {
  margin-block-end: 0;
  }

.cocktails {
  background-color: var(--surface-lagoon-wash);
}

.cocktails__grid {
  display: grid;
  grid-template-columns: 60% 40%;
  gap: var(--space-6);
  align-items: center;
}

.cocktails__content {
  min-width: 0;
}

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

.cocktails__intro {
  max-width: 40rem;
  margin-block-end: var(--space-5);
}

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

.cocktail-item {
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: var(--space-2);
}

.cocktail-item h3 {
  margin-block-end: 0;
}

.cocktail-item p {
  margin-block-end: 0;
  }

.cocktails__media {
  min-width: 0;
  aspect-ratio: 4 / 5;
  overflow: hidden;
  border-radius: var(--radius-medium);
  box-shadow: var(--shadow-soft);
}

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

.dining-poker-connection {
  position: relative;
  min-height: 34rem;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  background-color: var(--color-card-lounge-shadow);
}

.dining-poker-connection__media {
  position: absolute;
  inset: 0;
  z-index: 0;
}

.dining-poker-connection__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

.dining-poker-connection__overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(26, 42, 58, 0.55) 0%, rgba(26, 42, 58, 0.85) 100%);
}

.dining-poker-connection__content {
  position: relative;
  z-index: 1;
  max-width: 44rem;
  margin-inline: auto;
  padding-inline: var(--space-4);
  padding-block: var(--space-7);
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--space-4);
}

.dining-poker-connection__content h2 {
  color: var(--color-shell-white);
  margin-block-end: 0;
}

.dining-poker-connection__content p {
  color: rgba(249, 247, 244, 0.9);
  margin-block-end: 0;
  }

.dining-poker-connection__content .btn {
  margin-block-start: var(--space-3);
}

.reservation-cta {
  background-color: var(--surface-primary);
}

.reservation-cta__container {
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--space-4);
}

.reservation-cta__container h2 {
  margin-block-end: 0;
}

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

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

.reservation-cta__actions .btn {
  min-width: 12rem;
}

/* Fade-in animation for sections */
.menu-hero__content,
.culinary-philosophy__grid,
.signature-dishes__heading,
.signature-dishes__grid,
.seafood-selection__grid,
.desserts__heading,
.desserts__grid,
.cocktails__grid,
.dining-poker-connection__content,
.reservation-cta__container {
  opacity: 0;
  transform: translateY(1.25rem);
  transition: opacity 600ms ease, transform 600ms ease;
}

.menu-hero__content.is-visible,
.culinary-philosophy__grid.is-visible,
.signature-dishes__heading.is-visible,
.signature-dishes__grid.is-visible,
.seafood-selection__grid.is-visible,
.desserts__heading.is-visible,
.desserts__grid.is-visible,
.cocktails__grid.is-visible,
.dining-poker-connection__content.is-visible,
.reservation-cta__container.is-visible {
  opacity: 1;
  transform: translateY(0);
}

/* Tablet breakpoint */
@media (max-width: 64rem) {
  .culinary-philosophy__grid {
    grid-template-columns: 1fr;
    gap: var(--space-5);
  }

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

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

  .seafood-selection__heading p:last-child {
    max-width: 36rem;
  }

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

  .cocktails__media {
    max-width: 28rem;
    width: 100%;
  }

  .dining-poker-connection {
    min-height: 30rem;
  }
}

/* Mobile breakpoint */
@media (max-width: 40rem) {
  .menu-hero {
    min-height: 100svh;
  }

  .menu-hero__content {
    padding-block: var(--space-6);
    gap: var(--space-4);
  }

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

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

  .menu-hero__actions {
    flex-direction: column;
    width: 100%;
    max-width: 20rem;
  }

  .menu-hero__actions .btn {
    width: 100%;
    min-width: 0;
  }

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

  .signature-dishes__grid,
  .desserts__grid {
    grid-template-columns: 1fr;
    gap: var(--space-4);
  }

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

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

  .cocktails__media {
    max-width: 100%;
  }

  .dining-poker-connection {
    min-height: 26rem;
  }

  .dining-poker-connection__content {
    padding-block: var(--space-6);
    gap: var(--space-3);
  }

  .reservation-cta__actions {
    flex-direction: column;
    width: 100%;
    max-width: 20rem;
  }

  .reservation-cta__actions .btn {
    width: 100%;
    min-width: 0;
  }
}

@media (prefers-reduced-motion: reduce) {
  .menu-hero__content,
  .culinary-philosophy__grid,
  .signature-dishes__heading,
  .signature-dishes__grid,
  .seafood-selection__grid,
  .desserts__heading,
  .desserts__grid,
  .cocktails__grid,
  .dining-poker-connection__content,
  .reservation-cta__container {
    opacity: 1;
    transform: none;
    transition: none;
  }
}


/* Texas Hold’em page styles */

.th-hero {
  position: relative;
  min-height: 80vh;
  display: flex;
  align-items: flex-end;
  background-color: var(--color-card-lounge-shadow);
}

.th-hero__media {
  position: absolute;
  inset: 0;
  overflow: hidden;
}

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

.th-hero__overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(11, 29, 42, 0.55) 0%, rgba(11, 29, 42, 0.75) 100%);
}

.th-hero__content {
  position: relative;
  z-index: 1;
  width: 100%;
  max-width: 600px;
  padding: var(--space-6) var(--space-4);
  color: var(--color-shell-white);
}

.th-hero__content .eyebrow {
  color: #F9A89F;
}

.th-hero__content h1 {
  color: var(--color-shell-white);
  font-size: clamp(2.25rem, 5vw, 3.5rem);
  line-height: 1.2;
  letter-spacing: -0.01em;
  max-width: 12ch;
}

.th-hero__lead {
  color: rgba(249, 247, 244, 0.9);
  font-size: var(--text-body-large-size);
  line-height: var(--text-body-large-leading);
  max-width: 55ch;
}

.th-hero__content .btn {
  margin-top: var(--space-4);
}

.th-intro {
  background-color: var(--surface-primary);
}

.th-intro__header {
  max-width: 800px;
  margin-bottom: var(--space-6);
}

.th-intro__lead {
  font-size: var(--text-body-large-size);
  line-height: var(--text-body-large-leading);
  color: var(--color-ink-muted);
  max-width: 70ch;
}

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

.th-intro-card {
  background-color: var(--surface-card);
  border: var(--border-thin);
  border-radius: var(--radius-medium);
  box-shadow: var(--shadow-soft);
  padding: var(--space-5);
  transition: box-shadow var(--transition-base), transform var(--transition-base);
  min-width: 0;
}

.th-intro-card:hover {
  box-shadow: var(--shadow-medium);
  transform: translateY(-4px);
}

.th-intro-card__icon {
  font-size: 2rem;
  color: var(--color-lagoon-turquoise);
  margin-bottom: var(--space-3);
  line-height: 1;
}

.th-intro-card h3 {
  margin-bottom: var(--space-3);
}

.th-intro-card p {
  margin-bottom: 0;
  }

.th-lounge {
  background-color: var(--surface-muted);
}

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

.th-lounge__content {
  min-width: 0;
}

.th-lounge__content p {
  }

.th-lounge__media {
  min-width: 0;
  overflow: hidden;
  border-radius: var(--radius-medium);
  box-shadow: var(--shadow-soft);
}

.th-lounge__media img {
  width: 100%;
  height: auto;
  display: block;
  transition: transform var(--transition-slow);
}

.th-lounge__media:hover img {
  transform: scale(1.03);
}

.th-hand {
  background-color: var(--surface-primary);
}

.th-hand__header {
  max-width: 800px;
  margin-bottom: var(--space-6);
}

.th-hand__header p:last-child {
  color: var(--color-ink-muted);
  max-width: 70ch;
}

.th-hand__steps {
  list-style: none;
  padding: 0;
  margin: 0;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: var(--space-4);
  position: relative;
}

.th-hand__steps::before {
  content: "";
  position: absolute;
  top: 1.25rem;
  left: 2.5rem;
  right: 2.5rem;
  height: 2px;
  background-color: var(--color-border-light);
  z-index: 0;
}

.th-hand-step {
  position: relative;
  z-index: 1;
  background-color: var(--surface-card);
  border: var(--border-thin);
  border-radius: var(--radius-medium);
  box-shadow: var(--shadow-soft);
  padding: var(--space-4);
  min-width: 0;
  transition: box-shadow var(--transition-base), transform var(--transition-base);
}

.th-hand-step:hover {
  box-shadow: var(--shadow-medium);
  transform: translateY(-4px);
}

.th-hand-step__number {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 2.5rem;
  height: 2.5rem;
  border-radius: var(--radius-full);
  background-color: var(--color-lagoon-turquoise);
  color: var(--color-shell-white);
  font-weight: 600;
  font-size: var(--text-body-large-size);
  margin-bottom: var(--space-3);
}

.th-hand-step h3 {
  margin-bottom: var(--space-2);
}

.th-hand-step p {
  margin-bottom: 0;
  }

.th-concepts {
  background-color: var(--surface-muted);
}

.th-concepts__header {
  max-width: 800px;
  margin-bottom: var(--space-6);
}

.th-concepts__header p:last-child {
  color: var(--color-ink-muted);
  max-width: 70ch;
}

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

.th-concept-card {
  background-color: var(--surface-card);
  border: var(--border-thin);
  border-radius: var(--radius-medium);
  box-shadow: var(--shadow-soft);
  padding: var(--space-5);
  min-width: 0;
  transition: box-shadow var(--transition-base), transform var(--transition-base);
}

.th-concept-card:hover {
  box-shadow: var(--shadow-medium);
  transform: translateY(-4px);
}

.th-concept-card__icon {
  font-size: 2rem;
  color: var(--color-sunset-coral);
  margin-bottom: var(--space-3);
  line-height: 1;
}

.th-concept-card h3 {
  margin-bottom: var(--space-3);
}

.th-concept-card p {
  margin-bottom: 0;
  }

.th-nights {
  background-color: var(--surface-dark);
  color: var(--color-shell-white);
}

.th-nights__content {
  max-width: 800px;
  margin-inline: auto;
  text-align: center;
}

.th-nights__content h2 {
  color: var(--color-shell-white);
}

.th-nights__content p {
  color: rgba(249, 247, 244, 0.85);
  margin-inline: auto;
}

.th-nights__content .btn {
  margin-top: var(--space-4);
}

.th-why {
  background-color: var(--surface-primary);
}

.th-why__header {
  max-width: 800px;
  margin-bottom: var(--space-6);
}

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

.th-why-card {
  background-color: var(--surface-card);
  border: var(--border-thin);
  border-radius: var(--radius-medium);
  box-shadow: var(--shadow-soft);
  padding: var(--space-5);
  min-width: 0;
  transition: box-shadow var(--transition-base), transform var(--transition-base);
}

.th-why-card:hover {
  box-shadow: var(--shadow-medium);
  transform: translateY(-4px);
}

.th-why-card__icon {
  font-size: 2rem;
  color: var(--color-lagoon-turquoise);
  margin-bottom: var(--space-3);
  line-height: 1;
}

.th-why-card h3 {
  margin-bottom: var(--space-3);
}

.th-why-card p {
  margin-bottom: 0;
  }

.th-faq {
  background-color: var(--surface-muted);
}

.th-faq__header {
  max-width: 800px;
  margin-inline: auto;
  margin-bottom: var(--space-6);
}

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

.th-faq-item {
  background-color: var(--surface-card);
  border: var(--border-thin);
  border-radius: var(--radius-medium);
  overflow: hidden;
}

.th-faq-item h3 {
  margin: 0;
}

.th-faq-item__trigger {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-3);
  width: 100%;
  padding: var(--space-4) var(--space-5);
  font-family: var(--font-heading);
  font-size: var(--text-h3-size);
  line-height: var(--text-h3-leading);
  font-weight: 600;
  color: var(--color-deep-ink-blue);
  text-align: left;
  background: none;
  border: none;
  cursor: pointer;
  min-height: var(--touch-target-min);
}

.th-faq-item__trigger:hover {
  color: var(--color-lagoon-turquoise);
}

.th-faq-item__icon {
  position: relative;
  flex-shrink: 0;
  width: 1rem;
  height: 1rem;
}

.th-faq-item__icon::before,
.th-faq-item__icon::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 100%;
  height: 2px;
  background-color: currentColor;
  transform: translate(-50%, -50%);
  transition: transform var(--transition-base);
}

.th-faq-item__icon::after {
  transform: translate(-50%, -50%) rotate(90deg);
}

.th-faq-item__trigger[aria-expanded="true"] .th-faq-item__icon::after {
  transform: translate(-50%, -50%) rotate(0deg);
}

.th-faq-item__panel {
  padding: 0 var(--space-5) var(--space-4);
}

.th-faq-item__panel[hidden] {
  display: none;
}

.th-faq-item__panel p {
  margin: 0;
  color: var(--color-ink-muted);
}

.th-cta {
  background-color: var(--surface-dark);
  color: var(--color-shell-white);
}

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

.th-cta__content h2 {
  color: var(--color-shell-white);
}

.th-cta__content p {
  color: rgba(249, 247, 244, 0.85);
  margin-inline: auto;
}

.th-cta__actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: var(--space-3);
  margin-top: var(--space-5);
}

.th-cta__actions .btn {
  min-width: 0;
}

.th-cta__email {
  margin-top: var(--space-4);
  margin-bottom: 0;
}

.th-cta__email a {
  color: var(--color-lagoon-turquoise);
}

.th-cta__email a:hover,
.th-cta__email a:focus-visible {
  color: var(--color-shell-white);
}

@keyframes th-pulse {
  0%, 100% {
    box-shadow: 0 0 0 0 rgba(242, 107, 94, 0.5);
  }
  50% {
    box-shadow: 0 0 0 8px rgba(242, 107, 94, 0);
  }
}

.th-cta .btn-primary,
.th-nights .btn-primary {
  animation: th-pulse 2.5s ease-in-out infinite;
}

@media (prefers-reduced-motion: reduce) {
  .th-cta .btn-primary,
  .th-nights .btn-primary {
    animation: none;
  }
}

@media (min-width: 48rem) {
  .th-hero__content {
    padding: var(--space-7) var(--space-6);
  }
}

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

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

  .th-hand__steps::before {
    display: none;
  }

  .th-lounge__grid {
    grid-template-columns: 1fr;
  }

  .th-lounge__media {
    order: -1;
  }
}

@media (max-width: 40rem) {
  .th-hero {
    min-height: 70vh;
  }

  .th-hero__content {
    max-width: none;
    text-align: center;
    padding: var(--space-5) var(--space-4);
  }

  .th-hero__content h1 {
    margin-inline: auto;
  }

  .th-hero__lead {
    margin-inline: auto;
  }

  .th-intro__grid,
  .th-why__grid,
  .th-concepts__grid,
  .th-hand__steps {
    grid-template-columns: 1fr;
  }

  .th-nights__content,
  .th-cta__content {
    text-align: left;
  }

  .th-nights__content p,
  .th-cta__content p {
    margin-inline: 0;
  }

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

  .th-faq-item__trigger {
    padding: var(--space-3) var(--space-4);
  }

  .th-faq-item__panel {
    padding: 0 var(--space-4) var(--space-3);
  }
}


/* Card Lounge page styles */

.cl-hero {
  position: relative;
  min-height: 80vh;
  display: flex;
  align-items: flex-end;
  overflow: hidden;
  background-color: var(--color-deep-ink-blue);
}

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

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

.cl-hero__overlay {
  position: absolute;
  inset: 0;
  z-index: 1;
  background: linear-gradient(180deg, rgba(26, 42, 58, 0.35) 0%, rgba(26, 42, 58, 0.75) 100%);
}

.cl-hero__content {
  position: relative;
  z-index: 2;
  width: 100%;
  max-width: var(--container-max);
  margin-inline: auto;
  padding: var(--space-8) var(--space-4) var(--space-7);
  display: flex;
  justify-content: flex-start;
}

.cl-hero__text {
  max-width: 560px;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-4);
  color: var(--color-shell-white);
}

.cl-hero__text h1 {
  color: var(--color-shell-white);
  font-size: var(--text-display-size);
  line-height: var(--text-display-leading);
  letter-spacing: var(--text-display-tracking);
  margin-block-end: 0;
}

.cl-hero__text .eyebrow {
  color: var(--color-sunset-coral);
  margin-block-end: 0;
}

.cl-hero__lead {
  font-size: var(--text-body-large-size);
  line-height: var(--text-body-large-leading);
  color: rgba(249, 247, 244, 0.9);
  max-width: 55ch;
  margin-block-end: 0;
}

.cl-hero__facts {
  list-style: none;
  padding-inline-start: 0;
  margin-block-end: 0;
  display: flex;
  flex-direction: column;
  gap: var(--space-2);
  color: rgba(249, 247, 244, 0.85);
}

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

.cl-hero__facts li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.45em;
  width: 0.625rem;
  height: 0.625rem;
  background-color: var(--color-lagoon-turquoise);
  transform: rotate(45deg);
  border-radius: 1px;
}

.cl-hero__text .btn {
  margin-block-start: var(--space-2);
}

/* Transition section */
.cl-transition {
  background-color: var(--surface-primary);
}

.cl-transition__grid {
  display: grid;
  grid-template-columns: 40% 60%;
  gap: var(--space-6);
  align-items: center;
}

.cl-transition__text {
  min-width: 0;
}

.cl-transition__text p {
  }

.cl-transition__media {
  min-width: 0;
  overflow: hidden;
  border-radius: var(--radius-sharp);
  box-shadow: var(--shadow-medium);
}

.cl-transition__media img {
  width: 100%;
  height: auto;
  display: block;
  transition: transform var(--transition-slow);
}

.cl-transition__media:hover img {
  transform: scale(1.03);
}

/* Inside section */
.cl-inside {
  background-color: var(--surface-muted);
}

.cl-inside__header {
  max-width: 720px;
  margin-block-end: var(--space-6);
}

.cl-inside__header p {
  }

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

.cl-feature-card {
  background-color: var(--surface-card);
  border: var(--border-thin);
  border-radius: var(--radius-medium);
  box-shadow: var(--shadow-soft);
  padding: var(--space-5);
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
  min-width: 0;
  transition: box-shadow var(--transition-base), transform var(--transition-base);
}

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

.cl-feature-card__icon {
  font-size: 2rem;
  line-height: 1;
  color: var(--color-lagoon-turquoise);
}

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

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

/* Tables section */
.cl-tables {
  background-color: var(--surface-primary);
}

.cl-tables__grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--space-6);
  align-items: center;
}

.cl-tables__media {
  min-width: 0;
  overflow: hidden;
  border-radius: var(--radius-sharp);
  box-shadow: var(--shadow-medium);
}

.cl-tables__media img {
  width: 100%;
  height: auto;
  display: block;
  transition: transform var(--transition-slow);
}

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

.cl-tables__text {
  min-width: 0;
}

.cl-tables__text p {
  }

/* Live section */
.cl-live {
  background-color: var(--surface-dark);
}

.cl-live__header {
  max-width: 720px;
  margin-block-end: var(--space-6);
}

.cl-live__grid {
  display: grid;
  grid-template-columns: 30% 40% 30%;
  gap: var(--space-5);
}

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

.cl-live__column h3 {
  color: var(--color-shell-white);
  margin-block-end: 0;
}

.cl-live__column p {
  color: rgba(249, 247, 244, 0.85);
  margin-block-end: 0;
  }

/* Sessions section */
.cl-sessions {
  background-color: var(--surface-primary);
}

.cl-sessions__header {
  max-width: 720px;
  margin-block-end: var(--space-6);
}

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

.cl-session-card {
  background-color: var(--surface-card);
  border: var(--border-thin);
  border-radius: var(--radius-medium);
  box-shadow: var(--shadow-soft);
  padding: var(--space-5);
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
  min-width: 0;
  transition: box-shadow var(--transition-base), transform var(--transition-base);
}

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

.cl-session-card__icon {
  font-size: 2rem;
  line-height: 1;
  color: var(--color-sunset-coral);
}

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

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

.cl-session-card .list-check {
  margin-block-end: 0;
}

/* Holdem section */
.cl-holdem {
  background-color: var(--surface-lagoon-wash);
}

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

.cl-holdem__container p {
  margin-block-end: 0;
}

.cl-holdem__container .btn {
  margin-block-start: var(--space-2);
}

/* Bar section */
.cl-bar {
  background-color: var(--surface-primary);
}

.cl-bar__grid {
  display: grid;
  grid-template-columns: 60% 40%;
  gap: var(--space-6);
  align-items: start;
}

.cl-bar__text {
  min-width: 0;
}

.cl-bar__text p {
  }

.cl-bar__list {
  min-width: 0;
  background-color: var(--surface-card);
  border: var(--border-thin);
  border-radius: var(--radius-medium);
  box-shadow: var(--shadow-soft);
  padding: var(--space-5);
}

.cl-bar__list h3 {
  margin-block-end: var(--space-3);
}

.cl-bar__list .list-diamond {
  margin-block-end: 0;
}

.cl-bar__list li {
  transition: color var(--transition-fast);
}

.cl-bar__list li:hover {
  color: var(--color-lagoon-turquoise);
}

/* Expect section */
.cl-expect {
  background-color: var(--surface-muted);
}

.cl-expect__container {
  max-width: 800px;
}

.cl-expect__container > p {
  }

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

.cl-expect__steps li {
  counter-increment: step;
  position: relative;
  padding-inline-start: var(--space-7);
  min-height: var(--touch-target-min);
  display: flex;
  align-items: flex-start;
}

.cl-expect__steps li::before {
  content: counter(step);
  position: absolute;
  left: 0;
  top: 0;
  width: 2.5rem;
  height: 2.5rem;
  background-color: var(--color-lagoon-turquoise);
  color: var(--color-shell-white);
  font-weight: 600;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: var(--radius-small);
}

/* Book section */
.cl-book {
  background-color: var(--surface-dark);
}

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

.cl-book__container h2 {
  color: var(--color-shell-white);
  margin-block-end: 0;
}

.cl-book__container p {
  color: rgba(249, 247, 244, 0.85);
  margin-block-end: 0;
}

.cl-book__details {
  list-style: none;
  padding-inline-start: 0;
  margin-block-end: 0;
  display: flex;
  flex-direction: column;
  gap: var(--space-2);
  color: rgba(249, 247, 244, 0.85);
}

.cl-book__details li {
  position: relative;
  padding-inline-start: var(--space-5);
  text-align: start;
}

.cl-book__details li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.45em;
  width: 0.625rem;
  height: 0.625rem;
  background-color: var(--color-lagoon-turquoise);
  transform: rotate(45deg);
  border-radius: 1px;
}

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

.cl-book__cta {
  animation: cl-pulse 2.4s ease-in-out infinite;
}

@keyframes cl-pulse {
  0%, 100% {
    box-shadow: 0 0 0 0 rgba(242, 107, 94, 0.45);
  }
  50% {
    box-shadow: 0 0 0 8px rgba(242, 107, 94, 0);
  }
}

/* Animations */
[data-animate] {
  opacity: 0;
  transform: translateY(16px);
  transition: opacity 500ms ease, transform 500ms ease;
}

[data-animate].is-visible {
  opacity: 1;
  transform: translateY(0);
}

/* Tablet */
@media (max-width: 64rem) {
  .cl-transition__grid,
  .cl-tables__grid,
  .cl-bar__grid {
    grid-template-columns: 1fr;
    gap: var(--space-5);
  }

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

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

  .cl-sessions__grid {
    grid-template-columns: 1fr;
  }

  .cl-hero {
    min-height: 70vh;
  }

  .cl-hero__content {
    justify-content: center;
  }

  .cl-hero__text {
    align-items: center;
    text-align: center;
    max-width: 600px;
  }

  .cl-hero__facts {
    align-items: flex-start;
    text-align: start;
  }
}

/* Mobile */
@media (max-width: 40rem) {
  .cl-hero {
    min-height: 70vh;
  }

  .cl-hero__content {
    padding: var(--space-6) var(--space-4) var(--space-6);
  }

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

  .cl-hero__text h1 {
    font-size: var(--text-h1-size);
  }

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

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

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

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

@media (prefers-reduced-motion: reduce) {
  .cl-book__cta {
    animation: none;
  }

  [data-animate] {
    opacity: 1;
    transform: none;
    transition: none;
  }
}


/* Poker Tables page styles */

.pt-hero {
  position: relative;
  min-height: 100vh;
  display: flex;
  align-items: center;
  overflow: hidden;
  background-color: var(--color-card-lounge-shadow);
}

.pt-hero-media {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  z-index: 0;
}

.pt-hero-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

.pt-hero-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, rgba(26, 42, 58, 0.82) 0%, rgba(26, 42, 58, 0.55) 55%, rgba(26, 42, 58, 0.35) 100%);
}

.pt-hero-content {
  position: relative;
  z-index: 1;
  width: 100%;
  max-width: var(--container-max);
  margin-inline: auto;
  padding-inline: var(--space-4);
  padding-block: var(--space-9);
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-5);
}

.pt-hero-copy {
  width: 50%;
  max-width: 100%;
  display: flex;
  flex-direction: column;
  gap: var(--space-4);
}

.pt-hero-copy h1 {
  color: var(--color-shell-white);
  font-size: clamp(2.5rem, 5vw, 4.5rem);
  line-height: var(--text-display-leading);
  letter-spacing: var(--text-display-tracking);
  margin-block-end: 0;
  text-wrap: balance;
}

.pt-hero-copy p {
  color: rgba(249, 247, 244, 0.9);
  font-size: var(--text-body-large-size);
  line-height: var(--text-body-large-leading);
  margin-block-end: 0;
}

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

.pt-hero-list li {
  color: rgba(249, 247, 244, 0.85);
  font-size: var(--text-body-size);
  line-height: var(--text-body-leading);
  max-width: 60ch;
}

.pt-hero-cta {
  align-self: flex-start;
}

/* Intro section */
.pt-intro {
  background-color: var(--surface-primary);
}

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

.pt-intro-left,
.pt-intro-right {
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: var(--space-4);
}

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

.pt-intro-left p,
.pt-intro-right p {
  margin-block-end: 0;
}

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

.pt-intro-list li {
  max-width: 60ch;
  position: relative;
  padding-inline-start: var(--space-5);
}

.pt-intro-list li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.35em;
  width: 1.25rem;
  height: 1.25rem;
  background-color: var(--surface-lagoon-wash);
  border-radius: var(--radius-small);
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='10' viewBox='0 0 12 10'%3E%3Cpath d='M1 5l3 3 7-7' stroke='%2300A6A6' stroke-width='2' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: center;
}

/* Craft section */
.pt-craft {
  background-color: var(--surface-primary);
}

.pt-craft h2 {
  margin-block-end: var(--space-6);
}

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

.pt-craft-card {
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
  background-color: var(--surface-card);
  border: var(--border-thin);
  border-radius: var(--radius-medium);
  box-shadow: var(--shadow-soft);
  padding: var(--space-4);
}

.pt-craft-media {
  width: 100%;
  aspect-ratio: 1 / 1;
  overflow: hidden;
  border-radius: var(--radius-sharp);
  background-color: var(--surface-muted);
}

.pt-craft-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform var(--transition-base);
}

.pt-craft-card:hover .pt-craft-media img {
  transform: scale(1.04);
}

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

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

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

.pt-craft-list li {
  max-width: 55ch;
  position: relative;
  padding-inline-start: var(--space-5);
}

.pt-craft-list li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.45em;
  width: 0.625rem;
  height: 0.625rem;
  background-color: var(--color-lagoon-turquoise);
  transform: rotate(45deg);
  border-radius: 1px;
}

/* Config section */
.pt-config {
  background-color: var(--surface-lagoon-wash);
}

.pt-config h2 {
  margin-block-end: var(--space-6);
}

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

.pt-config-card {
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
  background-color: var(--surface-card);
  border: var(--border-thin);
  border-radius: var(--radius-medium);
  box-shadow: var(--shadow-soft);
  padding: var(--space-5);
}

.pt-config-diagram {
  width: 100%;
  max-width: 160px;
  margin-inline: auto;
  color: var(--color-deep-ink-blue);
}

.pt-config-diagram svg {
  width: 100%;
  height: auto;
}

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

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

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

.pt-config-list li {
  max-width: 65ch;
  position: relative;
  padding-inline-start: var(--space-5);
}

.pt-config-list li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.45em;
  width: 0.625rem;
  height: 0.625rem;
  background-color: var(--color-lagoon-turquoise);
  transform: rotate(45deg);
  border-radius: 1px;
}

/* Atmosphere section */
.pt-atmosphere {
  background-color: var(--surface-dark);
}

.pt-atmosphere h2 {
  color: var(--color-shell-white);
  margin-block-end: var(--space-6);
}

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

.pt-atmosphere-card {
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
  background-color: rgba(249, 247, 244, 0.04);
  border: 1px solid rgba(249, 247, 244, 0.12);
  border-radius: var(--radius-medium);
  padding: var(--space-4);
}

.pt-atmosphere-media {
  width: 100%;
  aspect-ratio: 4 / 3;
  overflow: hidden;
  border-radius: var(--radius-sharp);
  background-color: rgba(249, 247, 244, 0.08);
}

.pt-atmosphere-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.pt-atmosphere-card h3 {
  color: var(--color-shell-white);
  margin-block-end: 0;
}

.pt-atmosphere-card p {
  color: rgba(249, 247, 244, 0.85);
  margin-block-end: 0;
}

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

.pt-atmosphere-list li {
  color: rgba(249, 247, 244, 0.85);
  max-width: 65ch;
  position: relative;
  padding-inline-start: var(--space-5);
}

.pt-atmosphere-list li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.45em;
  width: 0.625rem;
  height: 0.625rem;
  background-color: #7FE0E0;
  transform: rotate(45deg);
  border-radius: 1px;
}

/* Experience section */
.pt-experience {
  background-color: var(--surface-primary);
}

.pt-experience h2 {
  margin-block-end: var(--space-6);
}

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

.pt-experience-card {
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
  background-color: var(--surface-card);
  border: var(--border-thin);
  border-radius: var(--radius-medium);
  box-shadow: var(--shadow-soft);
  padding: var(--space-4);
}

.pt-experience-media {
  width: 100%;
  aspect-ratio: 1 / 1;
  overflow: hidden;
  border-radius: var(--radius-sharp);
  background-color: var(--surface-muted);
}

.pt-experience-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

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

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

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

.pt-experience-list li {
  max-width: 55ch;
  position: relative;
  padding-inline-start: var(--space-5);
}

.pt-experience-list li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.45em;
  width: 0.625rem;
  height: 0.625rem;
  background-color: var(--color-lagoon-turquoise);
  transform: rotate(45deg);
  border-radius: 1px;
}

/* Offerings section */
.pt-offerings {
  background-color: var(--surface-coral-wash);
}

.pt-offerings h2 {
  margin-block-end: var(--space-6);
}

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

.pt-offerings-card {
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
  background-color: var(--surface-card);
  border: var(--border-thin);
  border-radius: var(--radius-medium);
  box-shadow: var(--shadow-soft);
  padding: var(--space-5);
}

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

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

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

.pt-offerings-list li {
  max-width: 65ch;
  position: relative;
  padding-inline-start: var(--space-5);
}

.pt-offerings-list li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.45em;
  width: 0.625rem;
  height: 0.625rem;
  background-color: var(--color-sunset-coral);
  transform: rotate(45deg);
  border-radius: 1px;
}

.pt-offerings-link {
  align-self: flex-start;
  font-weight: 600;
  color: var(--color-lagoon-turquoise);
  text-decoration: underline;
  text-underline-offset: 0.2em;
  transition: color var(--transition-fast);
}

.pt-offerings-link:hover,
.pt-offerings-link:focus-visible {
  color: var(--color-deep-ink-blue);
}

/* Book section */
.pt-book {
  background-color: var(--surface-dark);
  text-align: center;
}

.pt-book-container {
  max-width: 60%;
  margin-inline: auto;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--space-4);
}

.pt-book h2 {
  color: var(--color-shell-white);
  margin-block-end: 0;
}

.pt-book p {
  color: rgba(249, 247, 244, 0.85);
  margin-inline: auto;
  margin-block-end: 0;
}

.pt-book-list {
  list-style: none;
  padding-inline-start: 0;
  margin-block-end: 0;
  display: flex;
  flex-direction: column;
  gap: var(--space-2);
  align-items: center;
}

.pt-book-list li {
  color: rgba(249, 247, 244, 0.85);
  max-width: 60ch;
  position: relative;
  padding-inline-start: var(--space-5);
  text-align: start;
}

.pt-book-list li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.45em;
  width: 0.625rem;
  height: 0.625rem;
  background-color: #7FE0E0;
  transform: rotate(45deg);
  border-radius: 1px;
}

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

/* Visit section */
.pt-visit {
  background-color: var(--surface-primary);
}

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

.pt-visit-copy {
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: var(--space-4);
}

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

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

.pt-visit-address {
  font-style: normal;
  max-width: 65ch;
  color: var(--color-ink-muted);
}

.pt-visit-note {
  max-width: 65ch;
  color: var(--color-ink-muted);
}

.pt-visit-map {
  min-width: 0;
  width: 100%;
  overflow: hidden;
  aspect-ratio: 4 / 3;
  border-radius: var(--radius-medium);
  box-shadow: var(--shadow-soft);
  background-color: var(--surface-muted);
}

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

/* Tablet breakpoint */
@media (max-width: 64rem) {
  .pt-hero-copy {
    width: 65%;
  }

  .pt-intro-grid,
  .pt-visit-grid {
    grid-template-columns: 1fr;
    gap: var(--space-5);
  }

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

  .pt-craft-card:last-child,
  .pt-experience-card:last-child {
    grid-column: span 2;
  }

  .pt-book-container {
    max-width: 75%;
  }
}

/* Mobile breakpoint */
@media (max-width: 48rem) {
  .pt-hero {
    min-height: 80vh;
  }

  .pt-hero-content {
    align-items: center;
    text-align: center;
    padding-block: var(--space-7);
  }

  .pt-hero-copy {
    width: 100%;
    align-items: center;
  }

  .pt-hero-copy h1 {
    font-size: clamp(2rem, 8vw, 3rem);
  }

  .pt-hero-copy p,
  .pt-hero-list li {
    max-width: 100%;
  }

  .pt-hero-list {
    align-items: center;
  }

  .pt-hero-cta {
    align-self: center;
  }

  .pt-craft-grid,
  .pt-config-grid,
  .pt-atmosphere-grid,
  .pt-experience-grid,
  .pt-offerings-grid {
    grid-template-columns: 1fr;
  }

  .pt-craft-card:last-child,
  .pt-experience-card:last-child {
    grid-column: auto;
  }

  .pt-book-container {
    max-width: 90%;
  }

  .pt-visit-map {
    aspect-ratio: 16 / 9;
  }
}

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

  .pt-craft-card:hover .pt-craft-media img {
    transform: none;
  }
}


/* ============================================
   Dining Page Styles — Lucky Pavilion
   Scoped to #dining-main and page-owned components
   ============================================ */

#dining-main {
    --dining-container-padding: var(--space-4);
    --dining-section-gap: var(--space-6);
    --dining-card-radius: var(--radius-medium);
    --dining-card-border: var(--border-thin);
    --dining-card-shadow: var(--shadow-soft);
    --dining-card-shadow-hover: var(--shadow-medium);
    --dining-transition: var(--transition-base);
    --dining-heading-color: var(--color-deep-ink-blue);
    --dining-text-color: var(--color-deep-ink-blue);
    --dining-muted-color: var(--color-ink-muted);
    --dining-accent-lagoon: var(--color-lagoon-turquoise);
    --dining-accent-coral: var(--color-sunset-coral);
    --dining-accent-lime: #5E7A1E;
    --dining-dark-bg: var(--color-deep-ink-blue);
    --dining-dark-text: var(--color-shell-white);
    --dining-dark-muted: rgba(249, 247, 244, 0.85);
    --dining-dark-accent: #7FE0E0;
    --dining-dark-coral: #F9A89F;
    --dining-dark-lime: #C6DC8A;
    --dining-hero-overlay: linear-gradient(180deg, rgba(26, 42, 58, 0.1) 0%, rgba(26, 42, 58, 0.55) 100%);
    --dining-poker-bg: radial-gradient(ellipse at 20% 20%, rgba(0, 166, 166, 0.12) 0%, rgba(26, 42, 58, 0.95) 70%);
}

/* ---------- Shared Section Spacing ---------- */
#dining-main .section {
    padding-block: var(--space-7);
}

@media (min-width: 64rem) {
    #dining-main .section {
        padding-block: var(--space-8);
    }
}

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

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

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

.dining-hero__overlay {
    position: absolute;
    inset: 0;
    background: var(--dining-hero-overlay);
}

.dining-hero__content {
    position: relative;
    z-index: 1;
    width: 100%;
    max-width: var(--container-wide-max);
    margin-inline: auto;
    padding-inline: var(--dining-container-padding);
    padding-block: var(--space-7) var(--space-8);
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: var(--space-4);
    color: var(--dining-dark-text);
}

.dining-hero__eyebrow {
    color: var(--dining-dark-coral);
    margin-block-end: 0;
}

.dining-hero__title {
    font-size: clamp(2.5rem, 6vw, 4.5rem);
    line-height: 1.1;
    letter-spacing: -0.02em;
    color: var(--dining-dark-text);
    max-width: 12ch;
    margin-block-end: 0;
    text-wrap: balance;
}

.dining-hero__lead {
    font-size: var(--text-body-large-size);
    line-height: var(--text-body-large-leading);
    color: rgba(249, 247, 244, 0.9);
    max-width: 38rem;
    margin-block-end: 0;
}

.dining-hero__actions {
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-3);
    margin-block-start: var(--space-2);
}

.dining-hero__cta,
.dining-hero__secondary {
    min-width: 12.5rem;
}

.dining-hero__secondary {
    color: var(--dining-dark-text);
    border-color: rgba(249, 247, 244, 0.7);
}

.dining-hero__secondary:hover,
.dining-hero__secondary:focus-visible {
    background-color: rgba(249, 247, 244, 0.12);
    color: var(--dining-dark-text);
    border-color: var(--dining-dark-text);
}

/* ---------- Culinary Philosophy ---------- */
.dining-philosophy__grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: var(--space-6);
    align-items: start;
}

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

.dining-philosophy__heading {
    margin-block-end: 0;
    max-width: 14ch;
}

.dining-philosophy__lead {
    font-size: var(--text-body-large-size);
    line-height: var(--text-body-large-leading);
    max-width: 38rem;
    margin-block-end: 0;
}

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

.dining-philosophy__list {
    margin-block-end: 0;
    max-width: 34rem;
}

.dining-philosophy__secondary {
    max-width: 34rem;
    margin-block-end: 0;
}

/* ---------- Signature Dishes ---------- */
.dining-signature__header {
    display: flex;
    flex-direction: column;
    gap: var(--space-2);
    margin-block-end: var(--space-5);
}

.dining-signature__heading {
    margin-block-end: 0;
    max-width: 18ch;
}

.dining-signature__grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: var(--space-4);
}

.dining-dish-card {
    background-color: var(--surface-card);
    border: var(--dining-card-border);
    border-radius: var(--dining-card-radius);
    box-shadow: var(--dining-card-shadow);
    padding: var(--space-4);
    display: flex;
    flex-direction: column;
    gap: var(--space-3);
    min-width: 0;
    transition: box-shadow var(--dining-transition), transform var(--dining-transition);
}

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

.dining-dish-card__accent {
    width: 3rem;
    height: 0.25rem;
    background-color: var(--dining-accent-coral);
    border-radius: var(--radius-small);
}

.dining-dish-card__accent--lagoon {
    background-color: var(--dining-accent-lagoon);
}

.dining-dish-card__accent--lime {
    background-color: var(--dining-accent-lime);
}

.dining-dish-card__title {
    font-size: var(--text-h3-size);
    line-height: var(--text-h3-leading);
    margin-block-end: 0;
    color: var(--dining-heading-color);
}

.dining-dish-card__description {
    margin-block-end: 0;
    color: var(--dining-text-color);
    max-width: 34rem;
}

.dining-dish-card__ingredients {
    margin-block-end: 0;
    color: var(--dining-muted-color);
}

/* ---------- Seafood & Coast ---------- */
.dining-seafood__grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: var(--space-6);
    align-items: center;
}

.dining-seafood__media {
    min-width: 0;
    overflow: hidden;
    border-radius: var(--radius-sharp);
    box-shadow: var(--shadow-soft);
}

.dining-seafood__image {
    width: 100%;
    height: auto;
    display: block;
    aspect-ratio: 4 / 3;
    object-fit: cover;
    transition: transform 0.5s ease;
}

.dining-seafood__media:hover .dining-seafood__image {
    transform: scale(1.03);
}

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

.dining-seafood__heading {
    margin-block-end: 0;
    max-width: 16ch;
}

.dining-seafood__lead {
    font-size: var(--text-body-large-size);
    line-height: var(--text-body-large-leading);
    margin-block-end: 0;
    max-width: 38rem;
}

.dining-seafood__list {
    margin-block-end: 0;
    max-width: 34rem;
}

.dining-seafood__highlights {
    margin-block-end: 0;
    max-width: 34rem;
}

/* ---------- Desserts & Cocktails ---------- */
.dining-desserts__header {
    display: flex;
    flex-direction: column;
    gap: var(--space-2);
    margin-block-end: var(--space-5);
}

.dining-desserts__heading {
    margin-block-end: 0;
    color: var(--dining-dark-text);
    max-width: 18ch;
}

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

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

.dining-desserts__subheading {
    color: var(--dining-dark-text);
    margin-block-end: 0;
}

.dining-desserts__text {
    color: var(--dining-dark-muted);
    margin-block-end: 0;
    max-width: 34rem;
}

.dining-desserts__list {
    margin-block-end: 0;
    max-width: 34rem;
}

.dining-desserts__list li {
    color: var(--dining-dark-muted);
}

.dining-desserts__list li::before {
    background-color: var(--dining-dark-accent);
}

/* ---------- Interiors & Open-Air ---------- */
.dining-interiors__grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: var(--space-6);
    align-items: center;
}

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

.dining-interiors__heading {
    margin-block-end: 0;
    max-width: 16ch;
}

.dining-interiors__lead {
    font-size: var(--text-body-large-size);
    line-height: var(--text-body-large-leading);
    margin-block-end: 0;
    max-width: 38rem;
}

.dining-interiors__list {
    margin-block-end: 0;
    max-width: 34rem;
}

.dining-interiors__secondary {
    margin-block-end: 0;
    max-width: 34rem;
}

.dining-interiors__media {
    min-width: 0;
    overflow: hidden;
    border-radius: var(--radius-sharp);
    box-shadow: var(--shadow-soft);
}

.dining-interiors__image {
    width: 100%;
    height: auto;
    display: block;
    aspect-ratio: 16 / 9;
    object-fit: cover;
    transition: transform 0.5s ease;
}

.dining-interiors__media:hover .dining-interiors__image {
    transform: scale(1.03);
}

/* ---------- Meet the Chefs ---------- */
.dining-chefs__header {
    display: flex;
    flex-direction: column;
    gap: var(--space-2);
    margin-block-end: var(--space-5);
}

.dining-chefs__heading {
    margin-block-end: 0;
    max-width: 18ch;
}

.dining-chefs__grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: var(--space-4);
}

.dining-chef-card {
    background-color: var(--surface-card);
    border: var(--dining-card-border);
    border-radius: var(--dining-card-radius);
    box-shadow: var(--dining-card-shadow);
    padding: var(--space-4);
    display: flex;
    flex-direction: column;
    gap: var(--space-3);
    min-width: 0;
    transition: box-shadow var(--dining-transition), transform var(--dining-transition);
}

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

.dining-chef-card__initial {
    width: 3.5rem;
    height: 3.5rem;
    border-radius: var(--radius-full);
    background-color: var(--dining-accent-coral);
    color: var(--dining-dark-text);
    font-family: var(--font-heading);
    font-size: 1.25rem;
    font-weight: 600;
    display: flex;
    align-items: center;
    justify-content: center;
    letter-spacing: 0.02em;
}

.dining-chef-card__initial--lagoon {
    background-color: var(--dining-accent-lagoon);
}

.dining-chef-card__name {
    font-size: var(--text-h3-size);
    line-height: var(--text-h3-leading);
    margin-block-end: 0;
    color: var(--dining-heading-color);
}

.dining-chef-card__bio {
    margin-block-end: 0;
    color: var(--dining-text-color);
    max-width: 34rem;
}

.dining-chef-card__details {
    margin-block-end: 0;
    max-width: 34rem;
}

/* ---------- From Dinner to Offline Poker ---------- */
.dining-poker {
    background-color: var(--dining-dark-bg);
    background-image: var(--dining-poker-bg);
    color: var(--dining-dark-text);
}

.dining-poker__inner {
    max-width: 50rem;
    margin-inline: auto;
    display: flex;
    flex-direction: column;
    gap: var(--space-4);
    align-items: flex-start;
}

.dining-poker__heading {
    color: var(--dining-dark-text);
    margin-block-end: 0;
}

.dining-poker__lead {
    font-size: var(--text-body-large-size);
    line-height: var(--text-body-large-leading);
    color: var(--dining-dark-muted);
    margin-block-end: 0;
    max-width: 38rem;
}

.dining-poker__list {
    margin-block-end: 0;
    max-width: 34rem;
}

.dining-poker__list li {
    color: var(--dining-dark-muted);
}

.dining-poker__list li::before {
    background-color: var(--dining-dark-accent);
}

.dining-poker__secondary {
    color: var(--dining-dark-muted);
    margin-block-end: 0;
    max-width: 38rem;
}

.dining-poker__actions {
    margin-block-start: var(--space-2);
}

.dining-poker__cta {
    min-width: 12.5rem;
}

/* ---------- Plan Your Visit ---------- */
.dining-visit__header {
    display: flex;
    flex-direction: column;
    gap: var(--space-2);
    margin-block-end: var(--space-5);
}

.dining-visit__heading {
    margin-block-end: 0;
    max-width: 18ch;
}

.dining-visit__grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: var(--space-4);
}

.dining-visit__column {
    background-color: var(--surface-card);
    border: var(--dining-card-border);
    border-radius: var(--dining-card-radius);
    box-shadow: var(--dining-card-shadow);
    padding: var(--space-4);
    display: flex;
    flex-direction: column;
    gap: var(--space-3);
    min-width: 0;
}

.dining-visit__subheading {
    margin-block-end: 0;
    color: var(--dining-heading-color);
}

.dining-visit__text {
    margin-block-end: 0;
    color: var(--dining-text-color);
    max-width: 34rem;
}

.dining-visit__list {
    margin-block-end: 0;
    display: flex;
    flex-direction: column;
    gap: var(--space-2);
}

.dining-visit__link {
    color: var(--dining-accent-lagoon);
    text-decoration: none;
    font-weight: 500;
    transition: color var(--transition-fast);
}

.dining-visit__link:hover,
.dining-visit__link:focus-visible {
    color: var(--dining-heading-color);
    text-decoration: underline;
}

.dining-visit__btn {
    align-self: flex-start;
    margin-block-start: var(--space-1);
}

/* ---------- Tablet (min-width: 48rem) ---------- */
@media (min-width: 48rem) {
    #dining-main {
        --dining-container-padding: var(--space-5);
    }

    .dining-philosophy__grid {
        grid-template-columns: minmax(0, 2fr) minmax(0, 3fr);
        gap: var(--space-6);
    }

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

    .dining-desserts__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: var(--space-6);
    }

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

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

/* ---------- Desktop (min-width: 64rem) ---------- */
@media (min-width: 64rem) {
    #dining-main {
        --dining-container-padding: var(--space-6);
    }

    .dining-hero__content {
        padding-block: var(--space-8) var(--space-9);
    }

    .dining-seafood__grid {
        grid-template-columns: minmax(0, 11fr) minmax(0, 9fr);
        gap: var(--space-6);
    }

    .dining-interiors__grid {
        grid-template-columns: minmax(0, 9fr) minmax(0, 11fr);
        gap: var(--space-6);
    }

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

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

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

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

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

/* ---------- Reduced Motion ---------- */
@media (prefers-reduced-motion: reduce) {
    .dining-hero__image,
    .dining-seafood__image,
    .dining-interiors__image {
        transition: none;
    }

    .dining-dish-card,
    .dining-chef-card {
        transition: none;
    }

    .dining-dish-card:hover,
    .dining-chef-card:hover {
        transform: none;
    }
}


/* Page-owned styles for Lucky Pavilion home page */

.hero {
  position: relative;
  min-height: 80vh;
  display: flex;
  align-items: flex-end;
  overflow: hidden;
  background-color: var(--color-deep-ink-blue);
}

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

.hero__overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(26, 42, 58, 0.05) 0%, rgba(26, 42, 58, 0.35) 45%, rgba(26, 42, 58, 0.82) 100%);
}

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

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

.hero__title {
  font-size: var(--text-display-size);
  line-height: var(--text-display-leading);
  letter-spacing: var(--text-display-tracking);
  font-weight: 600;
  color: var(--color-shell-white);
  margin-block-end: 0;
  text-transform: uppercase;
  max-width: 100%;
}

.hero__title-accent {
  color: var(--color-sunset-coral);
  display: block;
}

.hero__lead {
  font-size: var(--text-body-large-size);
  line-height: var(--text-body-large-leading);
  color: rgba(249, 247, 244, 0.9);
  max-width: 560px;
  margin-block-end: 0;
}

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

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

.hero__secondary {
  border-color: var(--color-shell-white);
  color: var(--color-shell-white);
}

.hero__secondary:hover,
.hero__secondary:focus-visible {
  background-color: var(--color-shell-white);
  color: var(--color-deep-ink-blue);
}

.dining__grid {
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(0, 0.9fr);
  gap: var(--space-6);
  align-items: start;
}

.dining__content {
  min-width: 0;
  padding-block-start: var(--space-5);
}

.dining__intro {
  max-width: 600px;
  margin-block-end: var(--space-4);
}

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

.dining__media {
  min-width: 0;
}

.dining__image {
  width: 100%;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  border-radius: var(--radius-sharp);
  transition: transform var(--transition-slow);
}

.dining__image:hover {
  transform: scale(1.02);
}

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

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

.menu-card {
  background-color: var(--surface-card);
  border: var(--border-thin);
  border-radius: var(--radius-sharp);
  box-shadow: var(--shadow-soft);
  padding: var(--space-4);
  min-width: 0;
  transition: box-shadow var(--transition-base), transform var(--transition-base);
}

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

.menu-card h3 {
  margin-block-end: var(--space-2);
}

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

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

.offline-poker__content {
  min-width: 0;
  padding-block: var(--space-5);
}

.offline-poker__intro {
  max-width: 600px;
  margin-block-end: var(--space-4);
}

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

.offline-poker__media {
  min-width: 0;
}

.offline-poker__image {
  width: 100%;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  border-radius: var(--radius-sharp);
}

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

.card-lounge__content {
  min-width: 0;
}

.card-lounge__intro {
  max-width: 600px;
  margin-block-end: var(--space-4);
}

.card-lounge__features {
  margin-block-end: 0;
}

.card-lounge__media {
  min-width: 0;
}

.card-lounge__image {
  width: 100%;
  aspect-ratio: 16 / 9;
  object-fit: cover;
  border-radius: var(--radius-sharp);
  transition: transform var(--transition-slow);
}

.card-lounge__image:hover {
  transform: scale(1.02);
}

.texas-holdem__grid {
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(0, 0.9fr);
  gap: var(--space-6);
  align-items: center;
}

.texas-holdem__content {
  min-width: 0;
}

.texas-holdem__intro {
  max-width: 600px;
  margin-block-end: var(--space-4);
}

.texas-holdem__details {
  margin-block-end: 0;
}

.texas-holdem__media {
  min-width: 0;
}

.texas-holdem__image {
  width: 100%;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  border-radius: var(--radius-sharp);
  transition: transform var(--transition-slow);
}

.texas-holdem__image:hover {
  transform: scale(1.02);
}

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

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

.tables-nights__card {
  background-color: rgba(249, 247, 244, 0.06);
  border: 1px solid rgba(249, 247, 244, 0.18);
  border-radius: var(--radius-sharp);
  padding: var(--space-5);
  min-width: 0;
  transition: box-shadow var(--transition-base), transform var(--transition-base);
}

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

.tables-nights__card h3 {
  color: var(--color-shell-white);
  margin-block-end: var(--space-3);
}

.tables-nights__card p {
  color: rgba(249, 247, 244, 0.85);
  margin-block-end: var(--space-4);
  }

.tables-nights__card .btn {
  margin-block-start: var(--space-2);
}

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

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

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

.gallery__item img {
  width: 100%;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  border-radius: var(--radius-sharp);
  border: var(--border-thin);
  transition: transform var(--transition-slow);
}

.gallery__item img:hover {
  transform: scale(1.02);
}

.gallery__item figcaption {
  margin-block-start: var(--space-2);
  max-width: 38ch;
}

.visit__grid {
  display: grid;
  grid-template-columns: minmax(0, 0.8fr) minmax(0, 1.2fr);
  gap: var(--space-5);
  align-items: start;
}

.visit__content {
  min-width: 0;
}

.visit__intro {
  max-width: 600px;
  margin-block-end: var(--space-3);
}

.visit__note {
  font-size: var(--text-caption-size);
  line-height: var(--text-caption-leading);
  color: var(--color-ink-muted);
  margin-block-end: 0;
}

.visit__map {
  min-width: 0;
  width: 100%;
  overflow: hidden;
  aspect-ratio: 16 / 9;
  border-radius: var(--radius-sharp);
  border: var(--border-thin);
  background-color: var(--surface-muted);
}

.visit__map iframe {
  display: block;
  width: 100%;
  height: 100%;
  border: 0;
}

.final-cta {
  background: linear-gradient(135deg, rgba(26, 42, 58, 0.95) 0%, rgba(11, 29, 42, 1) 100%);
}

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

.final-cta__copy {
  max-width: 520px;
  margin-block-end: 0;
  color: rgba(249, 247, 244, 0.85);
}

.final-cta__button {
  margin-block-start: var(--space-2);
  animation: final-cta-pulse 2.4s ease-in-out infinite;
  color:#FFFFFF!important;
}

@keyframes final-cta-pulse {
  0%, 100% {
    box-shadow: 0 0 0 0 rgba(242, 107, 94, 0.5);
  }
  50% {
    box-shadow: 0 0 0 10px rgba(242, 107, 94, 0);
  }
}

@media (min-width: 64rem) and (max-width: 79.9375rem) {
  .menu__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (min-width: 40rem) and (max-width: 63.9375rem) {
  .hero {
    min-height: 72vh;
  }

  .dining__grid,
  .offline-poker__grid,
  .card-lounge__grid,
  .texas-holdem__grid {
    grid-template-columns: 1fr;
    gap: var(--space-5);
  }

  .dining__content {
    padding-block-start: 0;
  }

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

  .tables-nights__grid {
    grid-template-columns: 1fr;
  }

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

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

@media (max-width: 39.9375rem) {
  .hero {
    min-height: 70vh;
    align-items: flex-end;
  }

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

  .hero__text {
    max-width: 100%;
    align-items: center;
    text-align: center;
    gap: var(--space-3);
  }

  .hero__title {
    font-size: clamp(2.25rem, 10vw, 3rem);
    line-height: 1.15;
  }

  .hero__lead {
    font-size: 1rem;
    line-height: 1.6;
    max-width: 100%;
  }

  .hero__actions {
    width: 100%;
    flex-direction: column;
    align-items: stretch;
    gap: var(--space-2);
  }

  .hero__actions .btn {
    width: 100%;
  }

  .dining__grid,
  .offline-poker__grid,
  .card-lounge__grid,
  .texas-holdem__grid,
  .visit__grid {
    grid-template-columns: 1fr;
    gap: var(--space-4);
  }

  .dining__content {
    padding-block-start: 0;
  }

  .menu__grid,
  .tables-nights__grid,
  .gallery__grid {
    grid-template-columns: 1fr;
    gap: var(--space-3);
  }

  .menu-card,
  .tables-nights__card {
    padding: var(--space-4);
  }

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

  .final-cta__content {
    padding-inline: var(--space-4);
  }
}

@media (prefers-reduced-motion: reduce) {
  .final-cta__button {
    animation: none;
  }

  .dining__image:hover,
  .card-lounge__image:hover,
  .texas-holdem__image:hover,
  .gallery__item img:hover {
    transform: none;
  }
}


/* Poker Nights page styles */

/* Hero */
.poker-hero {
  position: relative;
  min-height: 85vh;
  display: flex;
  align-items: flex-end;
  overflow: hidden;
  background-color: var(--color-deep-ink-blue);
}

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

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

.poker-hero__overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(11, 29, 42, 0.2) 0%, rgba(11, 29, 42, 0.8) 100%);
}

.poker-hero__container {
  position: relative;
  z-index: 1;
  padding-block: var(--space-8) var(--space-7);
}

.poker-hero__content {
  max-width: 600px;
  display: flex;
  flex-direction: column;
  gap: var(--space-4);
  animation: pokerFadeIn 800ms ease-out both;
}

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

.poker-hero__title {
  color: var(--color-shell-white);
  font-size: clamp(2.5rem, 5vw, 4rem);
  line-height: 1.1;
  letter-spacing: -0.02em;
  max-width: 70ch;
  margin-block-end: 0;
}

.poker-hero__lead {
  color: rgba(249, 247, 244, 0.9);
  font-size: var(--text-body-large-size);
  line-height: var(--text-body-large-leading);
  max-width: 55ch;
  margin-block-end: 0;
}

.poker-hero__support {
  color: rgba(249, 247, 244, 0.75);
  font-size: var(--text-body-size);
  line-height: var(--text-body-leading);
  max-width: 55ch;
  margin-block-end: 0;
}

.poker-hero__actions {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-3);
  margin-block-start: var(--space-2);
}

.poker-hero__secondary {
  border-color: var(--color-lagoon-turquoise);
  color: var(--color-shell-white);
}

.poker-hero__secondary:hover,
.poker-hero__secondary:focus-visible {
  background-color: var(--color-lagoon-turquoise);
  color: var(--color-shell-white);
}

@keyframes pokerFadeIn {
  from {
    opacity: 0;
    transform: translateY(20px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

/* Social Heart */
.poker-social__grid {
  display: grid;
  grid-template-columns: minmax(0, 45fr) minmax(0, 55fr);
  gap: var(--space-5);
  align-items: start;
}

.poker-social__media {
  margin-block-end: 0;
  overflow: hidden;
  border-radius: var(--radius-sharp);
}

.poker-social__image {
  width: 100%;
  height: auto;
  display: block;
  transition: transform var(--transition-slow);
}

.poker-social__media:hover .poker-social__image {
  transform: scale(1.03);
}

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

.poker-social__lead {
  max-width: 65ch;
  margin-block-end: 0;
}

.poker-social__list {
  margin-block-end: 0;
}

.poker-social__dinner {
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
  margin-block-start: var(--space-2);
}

.poker-social__checks {
  margin-block-end: 0;
}

.poker-social__suits {
  display: flex;
  gap: var(--space-3);
  margin-block-start: var(--space-2);
}

.poker-suit {
  font-size: 1.5rem;
  line-height: 1;
  color: var(--color-lagoon-turquoise);
}

.poker-suit--diamond {
  color: var(--color-sunset-coral);
}

.poker-suit--club {
  color: var(--color-lime-leaf-green);
}

.poker-suit--heart {
  color: var(--color-sunset-coral);
}

/* Format */
.poker-format__heading {
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
  margin-block-end: var(--space-5);
}

.poker-format__intro {
  max-width: 65ch;
  margin-block-end: 0;
}

.poker-format__cards {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--space-4);
  margin-block-end: var(--space-5);
}

.poker-format__card {
  background-color: var(--surface-card);
  border: 1px solid rgba(11, 29, 42, 0.1);
  border-radius: var(--radius-medium);
  padding: var(--space-5);
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
  min-width: 0;
  transition: box-shadow var(--transition-base), transform var(--transition-base);
}

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

.poker-format__icon {
  font-size: 2rem;
  line-height: 1;
  color: var(--color-lagoon-turquoise);
}

.poker-format__card h3 {
  margin-block-end: 0;
}

.poker-format__card p {
  margin-block-end: 0;
}

.poker-format__caption {
  font-size: var(--text-caption-size);
  line-height: var(--text-caption-leading);
  letter-spacing: var(--text-caption-tracking);
  color: var(--color-ink-muted);
}

.poker-format__callout {
  max-width: 800px;
  margin-inline: auto;
  background-color: var(--surface-card);
  border: 2px solid var(--color-lagoon-turquoise);
  border-radius: var(--radius-medium);
  padding: var(--space-5);
  display: flex;
  gap: var(--space-4);
  align-items: flex-start;
}

.poker-format__callout-icon {
  font-size: 2rem;
  line-height: 1;
  color: var(--color-sunset-coral);
  flex-shrink: 0;
}

.poker-format__callout h3 {
  margin-block-end: var(--space-2);
}

.poker-format__callout p {
  margin-block-end: var(--space-3);
}

.poker-format__callout-list {
  margin-block-end: 0;
}

/* Dining */
.poker-dining__grid {
  display: grid;
  grid-template-columns: minmax(0, 55fr) minmax(0, 45fr);
  gap: var(--space-5);
  align-items: start;
}

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

.poker-dining__lead {
  max-width: 65ch;
  margin-block-end: 0;
}

.poker-dining__menu {
  display: flex;
  flex-direction: column;
  gap: var(--space-2);
  margin-block-end: 0;
}

.poker-dining__menu-item {
  display: flex;
  align-items: baseline;
  gap: var(--space-2);
  max-width: 40ch;
}

.poker-dining__menu-dot {
  flex: 1;
  border-bottom: 1px dotted var(--color-border-strong);
  min-width: 1rem;
}

.poker-dining__pre-game {
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
  margin-block-start: var(--space-2);
}

.poker-dining__checks {
  margin-block-end: 0;
}

.poker-dining__media {
  margin-block-end: 0;
  overflow: hidden;
  border-radius: var(--radius-sharp);
}

.poker-dining__image {
  width: 100%;
  height: auto;
  display: block;
  transition: transform var(--transition-slow);
}

.poker-dining__media:hover .poker-dining__image {
  transform: scale(1.03);
}

/* Lounge Night */
.poker-lounge-night__banner {
  position: relative;
  width: 100%;
  overflow: hidden;
  margin-block-end: var(--space-6);
}

.poker-lounge-night__image {
  width: 100%;
  height: auto;
  display: block;
  aspect-ratio: 21 / 9;
  object-fit: cover;
}

.poker-lounge-night__overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(26, 42, 58, 0.1) 0%, rgba(26, 42, 58, 0.6) 100%);
}

.poker-lounge-night__caption {
  position: absolute;
  left: 50%;
  bottom: var(--space-4);
  transform: translateX(-50%);
  color: var(--color-shell-white);
  font-family: var(--font-heading);
  font-size: var(--text-body-large-size);
  line-height: var(--text-body-large-leading);
  max-width: 50ch;
  text-align: center;
  margin-block-end: 0;
  padding-inline: var(--space-4);
}

.poker-lounge-night__content {
  display: flex;
  flex-direction: column;
  gap: var(--space-5);
}

.poker-lounge-night__intro {
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
}

.poker-lounge-night__intro p:not(.eyebrow) {
  max-width: 65ch;
  margin-block-end: 0;
}

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

.poker-lounge-night__feature {
  display: flex;
  flex-direction: column;
  gap: var(--space-2);
  min-width: 0;
}

.poker-lounge-night__feature-icon {
  font-size: 1.5rem;
  line-height: 1;
  color: var(--color-lagoon-turquoise);
}

.poker-lounge-night__feature h3 {
  margin-block-end: 0;
}

.poker-lounge-night__feature p {
  margin-block-end: 0;
}

.poker-lounge-night__transform {
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
}

.poker-lounge-night__transform p {
  margin-block-end: 0;
}

.poker-lounge-night__checks {
  margin-block-end: 0;
}

/* Etiquette */
.poker-etiquette__heading {
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
  margin-block-end: var(--space-5);
}

.poker-etiquette__intro {
  max-width: 65ch;
  margin-block-end: 0;
}

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

.poker-etiquette__card {
  background-color: var(--surface-card);
  border: 1px solid rgba(11, 29, 42, 0.1);
  border-radius: var(--radius-medium);
  padding: var(--space-4);
  display: flex;
  flex-direction: column;
  gap: var(--space-2);
  min-width: 0;
}

.poker-etiquette__number {
  font-family: var(--font-heading);
  font-size: 1.5rem;
  font-weight: 600;
  color: var(--color-sunset-coral);
  line-height: 1;
}

.poker-etiquette__card h3 {
  margin-block-end: 0;
}

.poker-etiquette__card p {
  margin-block-end: 0;
}

.poker-etiquette__dress {
  display: flex;
  gap: var(--space-4);
  align-items: flex-start;
  background-color: var(--surface-card);
  border: 1px solid rgba(11, 29, 42, 0.1);
  border-radius: var(--radius-medium);
  padding: var(--space-5);
}

.poker-etiquette__dress-icon {
  font-size: 2rem;
  line-height: 1;
  color: var(--color-lagoon-turquoise);
  flex-shrink: 0;
}

.poker-etiquette__dress h3 {
  margin-block-end: var(--space-2);
}

.poker-etiquette__dress p {
  margin-block-end: var(--space-3);
}

.poker-etiquette__dress-list {
  margin-block-end: 0;
}

/* FAQ */
.poker-faq__container {
  max-width: 800px;
}

.poker-faq__list {
  display: flex;
  flex-direction: column;
  gap: 0;
}

.poker-faq__item {
  border-bottom: 1px solid var(--color-border-light);
}

.poker-faq__trigger {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-3);
  width: 100%;
  padding: var(--space-4) 0;
  background: none;
  border: none;
  cursor: pointer;
  font-family: var(--font-heading);
  font-size: var(--text-h3-size);
  line-height: var(--text-h3-leading);
  font-weight: 600;
  color: var(--color-deep-ink-blue);
  text-align: start;
  min-height: var(--touch-target-min);
}

.poker-faq__trigger:hover {
  color: var(--color-lagoon-turquoise);
}

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

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

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

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

.poker-faq__panel {
  overflow: hidden;
  padding-block-end: var(--space-4);
}

.poker-faq__panel[hidden] {
  display: none;
}

.poker-faq__panel p {
  margin-block-end: 0;
}

/* Reserve */
.poker-reserve {
  background-color: var(--color-deep-ink-blue);
  background-image: radial-gradient(circle at 20% 20%, rgba(0, 166, 166, 0.08) 0%, transparent 40%),
    radial-gradient(circle at 80% 80%, rgba(242, 107, 94, 0.08) 0%, transparent 40%);
}

.poker-reserve__container {
  display: flex;
  justify-content: center;
}

.poker-reserve__content {
  max-width: 600px;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap: var(--space-4);
}

.poker-reserve__content h2 {
  color: var(--color-shell-white);
  margin-block-end: 0;
}

.poker-reserve__lead {
  color: rgba(249, 247, 244, 0.85);
  max-width: 55ch;
  margin-block-end: 0;
}

.poker-reserve__list {
  margin-block-end: 0;
  text-align: start;
}

.poker-reserve__actions {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-3);
  justify-content: center;
}

.poker-reserve__phone {
  color: rgba(249, 247, 244, 0.85);
  margin-block-end: 0;
}

.poker-reserve__phone a {
  color: var(--color-lagoon-turquoise);
}

.poker-reserve__phone a:hover,
.poker-reserve__phone a:focus-visible {
  color: var(--color-shell-white);
}

/* Responsive */
@media (max-width: 1024px) {
  .poker-social__grid,
  .poker-dining__grid {
    grid-template-columns: 1fr;
  }

  .poker-social__media,
  .poker-dining__media {
    order: -1;
  }

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

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

@media (max-width: 768px) {
  .poker-hero {
    min-height: 70vh;
  }

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

  .poker-hero__title {
    font-size: 2.5rem;
  }

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

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

  .poker-format__cards,
  .poker-lounge-night__features {
    grid-template-columns: 1fr;
  }

  .poker-format__callout {
    flex-direction: column;
    gap: var(--space-3);
  }

  .poker-etiquette__dress {
    flex-direction: column;
    gap: var(--space-3);
  }

  .poker-lounge-night__caption {
    position: static;
    transform: none;
    text-align: start;
    color: var(--color-deep-ink-blue);
    padding-inline: 0;
    margin-block-start: var(--space-3);
  }

  .poker-lounge-night__banner {
    margin-block-end: var(--space-4);
  }

  .poker-reserve__actions {
    flex-direction: column;
    align-items: stretch;
    width: 100%;
  }

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

@media (prefers-reduced-motion: reduce) {
  .poker-hero__content {
    animation: none;
  }

  .poker-social__image,
  .poker-dining__image {
    transition: none;
  }

  .poker-social__media:hover .poker-social__image,
  .poker-dining__media:hover .poker-dining__image {
    transform: none;
  }
}


.thank-you-main {
  padding-block: var(--space-8);
  background-color: var(--surface-primary);
}

.thank-you-content {
  display: flex;
  flex-direction: column;
  gap: var(--space-4);
  text-align: center;
  max-width: 36rem;
  margin-inline: auto;
}

.thank-you-content .eyebrow {
  margin-block-end: 0;
}

.thank-you-content h1 {
  margin-block-end: 0;
}

.thank-you-content p {
  margin-block-end: 0;
}

.thank-you-message {
  font-size: var(--text-body-large-size);
  line-height: var(--text-body-large-leading);
  color: var(--color-ink-muted);
}

.thank-you-next {
  color: var(--color-ink-muted);
}

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

.thank-you-actions .btn {
  min-width: 12rem;
}

@media (min-width: 40rem) {
  .thank-you-main {
    padding-block: var(--space-9);
  }
}

@media (min-width: 64rem) {
  .thank-you-main {
    padding-block: var(--space-9);
  }
}

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