

:root {
  --color-ink: #17263a;
  --color-orange: #c6532d;
  --color-cream: #f4e7cb;
  --color-mustard: #d6a52c;
  --color-olive: #596247;
  --color-walnut: #6b402c;
  --color-apricot: #e8b98b;
  --color-line: #b89d78;

  --color-text: var(--color-ink);
  --color-text-inverse: var(--color-cream);
  --color-background: var(--color-cream);
  --color-surface: var(--color-cream);
  --color-surface-muted: var(--color-apricot);
  --color-border: var(--color-line);
  --color-focus: var(--color-mustard);

  --font-body: "Public Sans", Arial, sans-serif;
  --font-display: "Fraunces", Georgia, serif;

  --text-body: 1rem;
  --text-lead: clamp(1.125rem, 1.05rem + 0.3vw, 1.25rem);
  --text-small: 0.8125rem;
  --text-label: 0.6875rem;

  --text-card-title: clamp(1.375rem, 1.25rem + 0.4vw, 1.5rem);
  --text-section: clamp(1.875rem, 1.55rem + 1.25vw, 2.25rem);
  --text-display-m: clamp(2.25rem, 1.7rem + 2.4vw, 3rem);
  --text-display-l: clamp(2.75rem, 2rem + 3.5vw, 4rem);
  --text-display-xl: clamp(3.25rem, 2.2rem + 5.1vw, 5rem);

  --leading-body: 1.5;
  --leading-lead: 1.45;
  --leading-small: 1.35;
  --leading-label: 1.2;
  --leading-card-title: 1.1;
  --leading-section: 1.05;
  --leading-display-m: 1;
  --leading-display-l: 0.95;
  --leading-display-xl: 0.92;

  --tracking-display: -0.03em;
  --tracking-label: 0.12em;

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

  --container: 77.5rem;
  --container-wide: 90rem;
  --gutter: 1.25rem;
  --content-padding-block: var(--space-8);

  --radius-none: 0;
  --radius-sm: 0.375rem;
  --radius-md: 0.875rem;
  --radius-lg: 2rem;
  --radius-round: 999px;

  --border: 1px solid var(--color-border);
  --border-strong: 2px solid var(--color-ink);
  --shadow-offset: 4px 4px 0 rgb(23 38 58 / 14%);

  --transition-fast: 120ms ease-out;
  --transition-base: 180ms ease-out;
  --transition-card: 160ms ease-out;
}

@media (min-width: 48rem) {
  :root {
    --gutter: 2rem;
    --content-padding-block: var(--space-9);
  }
}

@media (min-width: 68.75rem) {
  :root {
    --content-padding-block: var(--space-10);
  }
}

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

html {
  min-width: 20rem;
  scroll-behavior: smooth;
  text-size-adjust: 100%;
}

body {
  min-width: 20rem;
  min-height: 100vh;
  margin: 0;
  overflow-x: hidden;
  background: var(--color-background);
  color: var(--color-text);
  font-family: var(--font-body);
  font-size: var(--text-body);
  font-weight: 400;
  line-height: var(--leading-body);
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

main,
header,
footer,
section,
article,
aside,
nav,
figure,
form,
fieldset {
  min-width: 0;
}

img,
picture,
svg,
canvas,
video,
iframe,
embed,
object {
  display: block;
  max-width: 100%;
}

img,
video {
  height: auto;
}

img {
  font-style: italic;
}

svg {
  fill: currentColor;
}

iframe {
  border: 0;
}

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

button,
select {
  text-transform: none;
}

button,
[type="button"],
[type="reset"],
[type="submit"] {
  cursor: pointer;
}

button:disabled,
input:disabled,
select:disabled,
textarea:disabled {
  cursor: not-allowed;
  opacity: 0.6;
}

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

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

hr {
  height: 1px;
  margin-block: var(--space-6);
  border: 0;
  background: var(--color-border);
  color: inherit;
}

a {
  color: inherit;
  text-decoration-thickness: 1px;
  text-underline-offset: 0.16em;
}

a:hover {
  text-decoration-thickness: 2px;
}

:focus-visible {
  outline: 3px solid var(--color-focus);
  outline-offset: 3px;
}

::selection {
  background: var(--color-mustard);
  color: var(--color-ink);
}

h1,
h2,
h3,
h4,
h5,
h6 {
  margin-block: 0 var(--space-4);
  color: inherit;
  font-family: var(--font-display);
  font-weight: 700;
  letter-spacing: var(--tracking-display);
  text-wrap: balance;
}

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

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

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

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

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

h6 {
  font-family: var(--font-body);
  font-size: var(--text-small);
  line-height: var(--leading-small);
  letter-spacing: 0.04em;
}

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

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

blockquote {
  margin: 0 0 var(--space-5);
  padding-inline-start: var(--space-5);
  border-inline-start: 3px solid var(--color-orange);
  font-family: var(--font-display);
  font-size: var(--text-lead);
  line-height: var(--leading-lead);
}

figure {
  margin: 0 0 var(--space-5);
}

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

pre,
code,
kbd,
samp {
  font-family: ui-monospace, "SFMono-Regular", Consolas, monospace;
}

pre {
  margin: 0 0 var(--space-5);
  padding: var(--space-4);
  overflow: auto;
  border: var(--border);
  background: var(--color-apricot);
}

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

strong,
b {
  font-weight: 700;
}

address {
  margin: 0 0 var(--space-4);
  font-style: normal;
}

details {
  margin-bottom: var(--space-4);
}

summary {
  cursor: pointer;
}

label {
  display: inline-block;
  margin-bottom: var(--space-2);
  font-size: var(--text-small);
  font-weight: 700;
  line-height: var(--leading-small);
}

input,
select,
textarea {
  width: 100%;
  border: 1px solid var(--color-line);
  border-radius: var(--radius-sm);
  background: var(--color-cream);
  padding: 0.75rem;
  line-height: 1.35;
}

input,
select {
  min-height: 2.75rem;
}

input::placeholder,
textarea::placeholder {
  color: color-mix(in srgb, var(--color-ink) 65%, transparent);
  opacity: 1;
}

input:focus,
select:focus,
textarea:focus {
  border-color: var(--color-ink);
  background: var(--color-apricot);
  outline: none;
}

fieldset {
  margin: 0 0 var(--space-5);
  padding: var(--space-4);
  border: var(--border);
}

legend {
  padding-inline: var(--space-2);
  font-weight: 700;
}

button,
.button {
  display: inline-flex;
  min-height: 2.75rem;
  align-items: center;
  justify-content: center;
  gap: var(--space-2);
  border: 1px solid var(--color-orange);
  border-radius: var(--radius-sm);
  background: var(--color-orange);
  color: var(--color-cream);
  padding: 0.625rem 1.25rem;
  font-family: var(--font-body);
  font-size: var(--text-small);
  font-weight: 700;
  line-height: 1.2;
  text-align: center;
  text-decoration: none;
  transition:
    background-color var(--transition-fast),
    border-color var(--transition-fast),
    color var(--transition-fast),
    transform var(--transition-fast);
}

button:hover,
.button:hover {
  border-color: #ad4424;
  background: #ad4424;
  color: var(--color-cream);
  text-decoration: none;
  transform: translateY(2px);
  transition-duration: var(--transition-base);
}

button:focus-visible,
.button:focus-visible {
  outline-color: var(--color-mustard);
}

button:disabled,
.button[aria-disabled="true"] {
  pointer-events: none;
}

.container,
.container-wide {
  width: min(100% - (var(--gutter) * 2), var(--container));
  margin-inline: auto;
}

.container-wide {
  width: min(100% - (var(--gutter) * 2), var(--container-wide));
}

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

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

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

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

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

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

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

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

.surface-orange :focus-visible,
.surface-olive :focus-visible,
.surface-walnut :focus-visible,
.surface-ink :focus-visible {
  outline-color: var(--color-cream);
}

.eyebrow {
  margin: 0 0 var(--space-2);
  font-size: var(--text-label);
  font-weight: 700;
  letter-spacing: var(--tracking-label);
  line-height: var(--leading-label);
  text-transform: uppercase;
}

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

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

.content-list {
  display: grid;
  gap: var(--space-2);
  margin-block: 0 var(--space-4);
  padding-inline-start: 1.25em;
}

.stack {
  display: flex;
  min-width: 0;
  flex-direction: column;
  align-items: stretch;
  gap: var(--space-4);
}

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

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

.actions {
  display: flex;
  min-width: 0;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--space-3);
}

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

.card,
.panel {
  min-width: 0;
  border: var(--border);
  border-radius: var(--radius-md);
  background: var(--color-cream);
  color: var(--color-ink);
  padding: var(--space-4);
}

.card {
  transition:
    border-color var(--transition-card),
    transform var(--transition-card),
    box-shadow var(--transition-card);
}

.card:hover {
  border-color: var(--color-ink);
  box-shadow: var(--shadow-offset);
  transform: translateY(-4px);
}

.card > :last-child,
.panel > :last-child,
.stack > :last-child {
  margin-bottom: 0;
}

.button--secondary {
  border-color: var(--color-olive);
  background: var(--color-olive);
  color: var(--color-cream);
}

.button--secondary:hover {
  border-color: #485039;
  background: #485039;
  color: var(--color-cream);
}

.button--outline {
  border-color: currentColor;
  background: transparent;
  color: var(--color-ink);
}

.button--outline:hover {
  border-color: var(--color-ink);
  background: var(--color-ink);
  color: var(--color-cream);
}

.surface-orange .button--outline,
.surface-olive .button--outline,
.surface-walnut .button--outline,
.surface-ink .button--outline {
  color: var(--color-cream);
}

.surface-orange .button--outline:hover,
.surface-olive .button--outline:hover,
.surface-walnut .button--outline:hover,
.surface-ink .button--outline:hover {
  border-color: var(--color-cream);
  background: var(--color-cream);
  color: var(--color-ink);
}

.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip-path: inset(50%);
  white-space: nowrap;
}

@media (max-width: 47.99rem) {
  .actions > .button {
    width: 100%;
  }
}

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

  *,
  *::before,
  *::after {
    scroll-behavior: auto !important;
    transition-duration: 0.01ms !important;
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
  }
}


.site-header {
  position: sticky;
  top: 0;
  z-index: 70;
  background: var(--color-cream);
  color: var(--color-ink);
  border-bottom: 1px solid var(--color-line);
}

.site-header__bar {
  display: flex;
  min-height: 5.25rem;
  align-items: center;
  gap: var(--space-3);
  margin-inline: auto;
  padding-block: var(--space-3);
}

.site-header__brand {
  display: flex;
  min-width: 0;
  align-items: center;
  gap: 0.65rem;
  color: var(--color-ink);
  text-decoration: none;
}

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

.site-header__brand-copy {
  display: grid;
  min-width: 0;
  gap: 0.05rem;
}

.site-header__brand-name {
  overflow: hidden;
  font-family: var(--font-display);
  font-size: 1.125rem;
  font-weight: 700;
  letter-spacing: -0.035em;
  line-height: 1;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.site-header__brand-detail {
  font-size: 0.625rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  line-height: 1.2;
  text-transform: uppercase;
  white-space: nowrap;
}

.site-header__toggle {
  display: inline-grid;
  width: 2.75rem;
  min-width: 2.75rem;
  min-height: 2.75rem;
  place-content: center;
  gap: 0.25rem;
  margin-left: auto;
  border: 1px solid var(--color-ink);
  border-radius: var(--radius-sm);
  background: transparent;
  color: var(--color-ink);
  padding: 0;
}

.site-header__toggle:hover {
  border-color: var(--color-mustard);
  background: var(--color-mustard);
  color: var(--color-ink);
}

.site-header__toggle-line {
  display: block;
  width: 1.2rem;
  height: 2px;
  background: currentColor;
  transition: transform var(--transition-fast), opacity var(--transition-fast);
}

.site-header__toggle[aria-expanded="true"] .site-header__toggle-line:nth-child(1) {
  transform: translateY(0.375rem) 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(-0.375rem) rotate(-45deg);
}

.site-header__navigation {
  position: absolute;
  z-index: 1;
  top: calc(100% + 1px);
  right: 0;
  left: 0;
  display: none;
  max-height: calc(100vh - 5.25rem);
  overflow-y: auto;
  border-bottom: 2px solid var(--color-ink);
  background: var(--color-cream);
  padding: var(--space-5) var(--gutter);
}

.site-header__navigation[data-menu-open="true"] {
  display: grid;
  gap: var(--space-5);
}

.site-header__list,
.site-header__actions {
  display: grid;
  gap: var(--space-2);
  margin: 0;
  padding: 0;
  list-style: none;
}

.site-header__list li,
.site-header__list .site-header__link {
  position: relative;
  display: flex;
  min-height: 2.75rem;
  align-items: center;
  border-bottom: 1px solid var(--color-line);
  font-size: var(--text-small);
  font-weight: 700;
  text-decoration: none;
}

.site-header__link::after {
  position: absolute;
  right: 0;
  bottom: -1px;
  left: 0;
  height: 3px;
  background: var(--color-orange);
  content: "";
  transform: scaleX(0);
  transform-origin: left;
  transition: transform var(--transition-fast);
}

.site-header__link:hover::after,
.site-header__link:focus-visible::after,
.site-header__link[aria-current="page"]::after {
  transform: scaleX(1);
}

.site-header__link[aria-current="page"]::before {
  margin-right: var(--space-2);
  color: var(--color-orange);
  content: "♣";
}

.site-header__actions .button {
  width: 100%;
}

@media (max-width: 25rem) {
  .site-header__brand-detail {
    display: none;
  }

  .site-header__brand-name {
    font-size: 1rem;
  }
}

@media (min-width: 62rem) {
  .site-header__bar {
    min-height: 5.5rem;
    gap: var(--space-5);
  }

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

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

  .site-header__brand-detail {
    font-size: 0.625rem;
  }

  .site-header__toggle {
    display: none;
  }

  .site-header__navigation {
    position: static;
    display: flex;
    min-width: 0;
    max-height: none;
    flex: 1 1 auto;
    align-items: center;
    justify-content: space-between;
    gap: var(--space-4);
    overflow: visible;
    border: 0;
    background: transparent;
    padding: 0;
  }

  .site-header__list,
  .site-header__actions {
    display: flex;
    min-width: 0;
    align-items: center;
    gap: clamp(0.5rem, 1vw, 1rem);
  }

  .site-header__list {
    flex: 1 1 auto;
    justify-content: center;
  }

  .site-header__link {
    min-height: 2.75rem;
    border: 0;
    font-size: 0.75rem;
    white-space: nowrap;
  }

  .site-header__actions {
    flex: 0 0 auto;
  }

  .site-header__actions .button {
    width: auto;
    min-height: 2.5rem;
    padding-inline: 0.8rem;
    white-space: nowrap;
  }
}

@media (min-width: 75rem) {
  .site-header__actions .button {
    padding-inline: 1rem;
  }
}

@media (prefers-reduced-motion: reduce) {
  .site-header__toggle-line,
  .site-header__link::after {
    transition: none;
  }
}


.site-footer {
  position: relative;
  overflow: hidden;
  background: var(--color-ink);
  color: var(--color-cream);
  padding: var(--space-8) 0 var(--space-5);
}

.site-footer::before {
  position: absolute;
  inset: 0 0 auto;
  height: 10px;
  background: repeating-linear-gradient(90deg, var(--color-mustard) 0 18px, var(--color-orange) 18px 36px, var(--color-cream) 36px 54px);
  content: "";
}

.site-footer__grid {
  display: grid;
  gap: var(--space-7);
}

.site-footer__brand {
  display: grid;
  gap: var(--space-4);
  max-width: 30rem;
}

.site-footer__lockup {
  display: flex;
  align-items: center;
  gap: var(--space-3);
  text-decoration: none;
}

.site-footer__mark {
  width: 4.5rem;
  height: 4.5rem;
  flex: 0 0 auto;
  object-fit: contain;
}

.site-footer__name {
  font-family: var(--font-display);
  font-size: 1.75rem;
  font-weight: 700;
  letter-spacing: var(--tracking-display);
  line-height: 1;
}

.site-footer__brand p,
.site-footer__column p,
.site-footer__newsletter p {
  margin: 0;
}

.site-footer__links {
  display: grid;
  gap: var(--space-6);
}

.site-footer__column {
  display: grid;
  gap: var(--space-3);
}

.site-footer__heading {
  margin: 0;
  color: var(--color-mustard);
  font-family: var(--font-body);
  font-size: var(--text-label);
  font-weight: 700;
  letter-spacing: var(--tracking-label);
  line-height: var(--leading-label);
  text-transform: uppercase;
}

.site-footer__list {
  display: grid;
  gap: var(--space-2);
  margin: 0;
  padding: 0;
  list-style: none;
}

.site-footer__list a,
.site-footer__social a {
  text-decoration-color: color-mix(in srgb, var(--color-cream) 55%, transparent);
  text-underline-offset: 0.22em;
}

.site-footer__list a:hover,
.site-footer__social a:hover {
  color: var(--color-mustard);
}

.site-footer__newsletter {
  display: grid;
  gap: var(--space-3);
  padding: var(--space-5);
  border: 1px solid color-mix(in srgb, var(--color-cream) 45%, transparent);
  background: var(--color-walnut);
}

.site-footer__newsletter form {
  display: grid;
  gap: var(--space-3);
}

.site-footer__newsletter label {
  margin: 0;
}

.site-footer__newsletter input {
  border-color: var(--color-cream);
}

.site-footer__newsletter .button {
  width: 100%;
}

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

.site-footer__bottom {
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
  margin-top: var(--space-7);
  padding-top: var(--space-4);
  border-top: 1px solid color-mix(in srgb, var(--color-cream) 35%, transparent);
  font-size: var(--text-small);
}

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

[data-consent] {
  position: fixed;
  z-index: 80;
  right: var(--space-4);
  bottom: var(--space-4);
  left: var(--space-4);
  max-width: 38rem;
  margin-inline: auto;
  border: 2px solid var(--color-ink);
  background: var(--color-cream);
  color: var(--color-ink);
  padding: var(--space-5);
  box-shadow: var(--shadow-offset);
}

[data-consent][hidden],
[data-age-modal][hidden] {
  display: none !important;
}

[data-consent] p {
  margin: 0 0 var(--space-4);
}

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

.consent__actions .button {
  flex: 1 1 9rem;
}

[data-age-modal] {
  position: fixed;
  z-index: 120;
  inset: 0;
  display: grid;
  overflow-y: auto;
  place-items: center;
  background: rgb(23 38 58 / 88%);
  padding: var(--space-4);
}

.age-modal__dialog {
  width: min(100%, 32rem);
  border: 2px solid var(--color-ink);
  background: var(--color-cream);
  color: var(--color-ink);
  padding: clamp(var(--space-5), 4vw, var(--space-7));
  box-shadow: 6px 6px 0 var(--color-orange);
}

.age-modal__eyebrow {
  margin: 0 0 var(--space-2);
  color: var(--color-orange);
  font-size: var(--text-label);
  font-weight: 700;
  letter-spacing: var(--tracking-label);
  text-transform: uppercase;
}

.age-modal__dialog h2 {
  margin: 0 0 var(--space-3);
  font-size: var(--text-section);
}

.age-modal__dialog p {
  margin: 0 0 var(--space-5);
}

.age-modal__actions {
  display: grid;
  gap: var(--space-3);
}

.age-modal__actions .button {
  width: 100%;
}

@media (min-width: 48rem) {
  .site-footer__grid {
    grid-template-columns: minmax(0, 1.1fr) minmax(0, 1.4fr);
  }

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

  .site-footer__bottom {
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
  }
}

@media (min-width: 68.75rem) {
  .site-footer__grid {
    grid-template-columns: minmax(0, 1.1fr) minmax(0, 1.5fr) minmax(17rem, 0.8fr);
  }

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

@media (prefers-reduced-motion: reduce) {
  [data-consent],
  [data-age-modal] {
    scroll-behavior: auto;
  }
}


.cookie-page {
  background: var(--color-cream);
  color: var(--color-ink);
}

.cookie-page section[id],
.cookie-page [id] {
  scroll-margin-top: 7rem;
}

.cookie-page__masthead {
  position: relative;
  overflow: hidden;
  padding-block: var(--space-9);
  border-bottom-right-radius: var(--radius-lg);
}

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

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

.cookie-page__masthead-copy {
  width: min(100%, 40rem);
  grid-column: 1;
}

.cookie-page__policy-label {
  display: flex;
  align-items: center;
  gap: var(--space-2);
  margin: 0 0 var(--space-3);
  color: var(--color-cream);
  font-size: 0.8125rem;
  font-weight: 700;
  letter-spacing: var(--tracking-label);
  line-height: var(--leading-label);
  text-transform: uppercase;
}

.cookie-page__suit-token {
  display: inline-flex;
  width: 1.75rem;
  height: 1.75rem;
  flex: 0 0 1.75rem;
  align-items: center;
  justify-content: center;
  border: 2px solid var(--color-mustard);
  border-radius: var(--radius-round);
  color: var(--color-mustard);
  font-size: 0.9rem;
  letter-spacing: 0;
}

.cookie-page__masthead h1 {
  margin-bottom: var(--space-4);
  color: var(--color-cream);
  font-size: var(--text-display-m);
  line-height: var(--leading-display-m);
}

.cookie-page__masthead-lead {
  width: min(100%, 40rem);
  margin-bottom: 0;
  color: var(--color-cream);
  font-size: var(--text-lead);
  line-height: 1.5;
}

.cookie-page__masthead-marker {
  display: flex;
  width: 2.75rem;
  height: 2.75rem;
  justify-self: end;
  align-items: center;
  justify-content: center;
  border: 2px solid var(--color-mustard);
  border-radius: var(--radius-round);
  color: var(--color-mustard);
  font-size: 1.35rem;
}

.cookie-page__contents {
  border-bottom: var(--border);
  background: var(--color-cream);
}

.cookie-page__contents-layout {
  display: flex;
  min-width: 0;
  align-items: flex-start;
  gap: var(--space-5);
  padding-block: var(--space-5);
}

.cookie-page__contents-layout > * {
  min-width: 0;
}

.cookie-page__contents-label {
  width: 7.5rem;
  flex: 0 0 7.5rem;
  margin: 0;
  font-size: 0.8125rem;
  font-weight: 700;
  letter-spacing: var(--tracking-label);
  line-height: 2.75rem;
  text-transform: uppercase;
}

.cookie-page__contents-links {
  display: flex;
  min-width: 0;
  flex: 1 1 auto;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--space-2) var(--space-3);
}

.cookie-page__contents-links > * {
  min-width: 0;
}

.cookie-page__contents-links a {
  display: inline-flex;
  min-height: 2.75rem;
  align-items: center;
  position: relative;
  color: var(--color-ink);
  font-size: 0.8125rem;
  font-weight: 700;
  line-height: var(--leading-small);
  text-decoration: none;
}

.cookie-page__contents-links a::after {
  position: absolute;
  right: 0;
  bottom: 0.35rem;
  left: 0;
  height: 2px;
  background: var(--color-mustard);
  content: "";
  transform: scaleX(0);
  transform-origin: left;
  transition: transform var(--transition-fast);
}

.cookie-page__contents-links a:hover::after,
.cookie-page__contents-links a:focus-visible::after {
  transform: scaleX(1);
}

.cookie-page__contents-links span {
  color: var(--color-mustard);
}

.cookie-page__reading-section,
.cookie-page__choices-section,
.cookie-page__closing-section {
  padding-block: var(--space-8);
}

.cookie-page__usage-section {
  padding-block: var(--space-8);
  border-top: var(--border);
}

.cookie-page__prose,
.cookie-page__choices-prose,
.cookie-page__closing-prose {
  width: min(100%, 42.5rem);
  margin: 0;
}

.cookie-page__prose .eyebrow,
.cookie-page__usage-intro .eyebrow,
.cookie-page__choices-prose .eyebrow,
.cookie-page__closing-prose .eyebrow {
  color: var(--color-orange);
}

.cookie-page__prose h2,
.cookie-page__usage-intro h2,
.cookie-page__choices-prose h2,
.cookie-page__closing-prose h2 {
  margin-bottom: var(--space-5);
  font-size: var(--text-section);
  line-height: 1.15;
}

.cookie-page__prose h3,
.cookie-page__step-details h3,
.cookie-page__third-party h3 {
  margin-top: var(--space-6);
  margin-bottom: var(--space-3);
  font-size: var(--text-card-title);
  line-height: 1.15;
}

.cookie-page__prose p,
.cookie-page__usage-intro p,
.cookie-page__choices-prose p,
.cookie-page__step-details p,
.cookie-page__limitation-notice p,
.cookie-page__cross-device-note p,
.cookie-page__closing-prose p,
.cookie-page__third-party p,
.cookie-page__category-content p {
  line-height: 1.6;
}

.cookie-page__scope-note {
  margin-top: var(--space-5);
  padding-top: var(--space-5);
  border-top: var(--border);
}

.cookie-page__usage-intro {
  width: min(100%, 42.5rem);
  margin-bottom: var(--space-7);
}

.cookie-page__usage-intro .lead {
  margin-bottom: 0;
}

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

.cookie-page__category-grid > * {
  min-width: 0;
  width: 100%;
}

.cookie-page__category-card {
  display: flex;
  min-width: 0;
  min-height: 100%;
  border: var(--border);
  border-radius: var(--radius-sm);
  padding: var(--space-5);
  transition: border-color var(--transition-card), box-shadow var(--transition-card), transform var(--transition-card);
}

.cookie-page__category-card:hover {
  border-color: var(--color-ink);
  box-shadow: var(--shadow-offset);
  transform: translateY(-4px);
}

.cookie-page__category-card--necessary {
  border-color: var(--color-olive);
  background: var(--color-olive);
  color: var(--color-cream);
}

.cookie-page__category-card--preference {
  background: var(--color-apricot);
  color: var(--color-ink);
}

.cookie-page__category-card--measurement {
  background: var(--color-mustard);
  color: var(--color-ink);
}

.cookie-page__category-content {
  display: flex;
  width: 100%;
  min-width: 0;
  flex-direction: column;
  align-items: stretch;
  gap: var(--space-3);
}

.cookie-page__category-content > * {
  min-width: 0;
  margin: 0;
}

.cookie-page__category-label,
.cookie-page__notice-label {
  display: flex;
  min-width: 0;
  align-items: center;
  gap: var(--space-2);
  font-size: var(--text-label);
  font-weight: 700;
  letter-spacing: var(--tracking-label);
  line-height: var(--leading-label);
  text-transform: uppercase;
}

.cookie-page__category-label > span {
  color: var(--color-orange);
}

.cookie-page__category-card--necessary .cookie-page__category-label > span {
  color: var(--color-mustard);
}

.cookie-page__chip-ring {
  width: 0.8rem;
  height: 0.8rem;
  flex: 0 0 0.8rem;
  border: 2px solid var(--color-orange);
  border-radius: var(--radius-round);
}

.cookie-page__category-content h3 {
  font-size: var(--text-card-title);
  line-height: 1.15;
}

.cookie-page__third-party {
  width: min(100%, 61.25rem);
  margin-top: var(--space-5);
  border: var(--border);
  border-color: var(--color-walnut);
  border-radius: var(--radius-sm);
  background: var(--color-walnut);
  color: var(--color-cream);
  padding: var(--space-6);
}

.cookie-page__third-party .eyebrow {
  color: var(--color-mustard);
}

.cookie-page__third-party h3 {
  margin-top: 0;
}

.cookie-page__third-party p:last-child,
.cookie-page__closing-prose p:last-of-type,
.cookie-page__cross-device-note p,
.cookie-page__limitation-notice p:last-child {
  margin-bottom: 0;
}

.cookie-page__controls-module {
  display: grid;
  width: min(100%, 56.25rem);
  grid-template-columns: minmax(0, 13.75rem) minmax(0, 1fr);
  gap: var(--space-6);
  margin-top: var(--space-7);
  padding: var(--space-5);
  border: var(--border);
  border-radius: var(--radius-sm);
  background: color-mix(in srgb, var(--color-cream) 84%, var(--color-apricot));
}

.cookie-page__controls-module > * {
  min-width: 0;
  width: 100%;
}

.cookie-page__step-rail {
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: var(--space-4);
  margin: 0;
  padding: 0;
  list-style: none;
}

.cookie-page__step-rail li {
  display: flex;
  min-width: 0;
  align-items: flex-start;
  gap: var(--space-3);
  font-size: var(--text-small);
  font-weight: 700;
  line-height: 1.4;
}

.cookie-page__step-rail span {
  flex: 0 0 auto;
  color: var(--color-orange);
  font-family: var(--font-display);
  font-size: 1.25rem;
  line-height: 1;
}

.cookie-page__step-details h3 {
  margin-top: 0;
}

.cookie-page__limitation-notice {
  width: min(100%, 42.5rem);
  margin-top: var(--space-6);
  border: var(--border-strong);
  border-radius: var(--radius-sm);
  background: var(--color-cream);
  padding: var(--space-5);
}

.cookie-page__notice-label {
  margin: 0 0 var(--space-3);
  color: var(--color-orange);
}

.cookie-page__cross-device-note {
  width: min(100%, 42.5rem);
  margin-top: var(--space-5);
}

.cookie-page__closing-section {
  border-top: var(--border);
  padding-bottom: var(--space-9);
}

.cookie-page__closing-prose a {
  color: var(--color-ink);
  font-weight: 700;
  text-decoration-color: var(--color-orange);
  text-decoration-thickness: 2px;
}

.cookie-page__closing-prose a:hover {
  color: var(--color-orange);
}

.cookie-page__closing-rule {
  width: 4.5rem;
  height: 2px;
  margin-top: var(--space-6);
  background: var(--color-orange);
}

@media (max-width: 68.74rem) {
  .cookie-page__category-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .cookie-page__category-card--measurement {
    grid-column: 1 / -1;
  }
}

@media (max-width: 56.24rem) {
  .cookie-page__contents-layout {
    flex-direction: column;
    gap: var(--space-2);
  }

  .cookie-page__contents-label {
    width: 100%;
    flex-basis: auto;
    line-height: var(--leading-label);
  }

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

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

@media (max-width: 47.49rem) {
  .cookie-page__masthead {
    padding-block: var(--space-6);
    border-bottom-right-radius: var(--radius-lg);
  }

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

  .cookie-page__masthead-copy {
    width: 100%;
  }

  .cookie-page__masthead h1 {
    font-size: 2.25rem;
  }

  .cookie-page__masthead-lead {
    width: 100%;
  }

  .cookie-page__masthead-marker {
    display: none;
  }

  .cookie-page__reading-section,
  .cookie-page__usage-section,
  .cookie-page__choices-section {
    padding-block: var(--space-6);
  }

  .cookie-page__closing-section {
    padding-top: var(--space-6);
    padding-bottom: var(--space-8);
  }

  .cookie-page__prose,
  .cookie-page__usage-intro,
  .cookie-page__choices-prose,
  .cookie-page__closing-prose,
  .cookie-page__limitation-notice,
  .cookie-page__cross-device-note,
  .cookie-page__third-party {
    width: 100%;
  }

  .cookie-page__prose h2,
  .cookie-page__usage-intro h2,
  .cookie-page__choices-prose h2,
  .cookie-page__closing-prose h2 {
    font-size: 1.875rem;
  }

  .cookie-page__usage-intro {
    margin-bottom: var(--space-5);
  }

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

  .cookie-page__category-card--measurement {
    grid-column: auto;
  }

  .cookie-page__category-card,
  .cookie-page__third-party,
  .cookie-page__controls-module,
  .cookie-page__limitation-notice {
    padding: var(--space-5);
  }

  .cookie-page__controls-module {
    width: 100%;
    margin-top: var(--space-5);
  }

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

  .cookie-page__step-rail li {
    min-height: 2.75rem;
    align-items: center;
  }
}

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


[data-terms-page] {
  background: var(--color-cream);
  color: var(--color-ink);
}

[data-terms-page] .terms-shell {
  width: min(100% - (var(--gutter) * 2), var(--container));
  margin-inline: auto;
}

[data-terms-page] .terms-masthead {
  padding-block: clamp(3rem, 7vw, 6rem) var(--space-7);
}

[data-terms-page] .terms-masthead__row {
  display: grid;
  grid-template-columns: minmax(0, 8fr) minmax(0, 4fr);
  gap: var(--space-6);
  align-items: end;
  padding-bottom: var(--space-7);
  border-bottom: var(--border);
}

[data-terms-page] .terms-masthead__copy,
[data-terms-page] .terms-masthead__utility,
[data-terms-page] .terms-contents__intro,
[data-terms-page] .terms-contents__links,
[data-terms-page] .terms-clause__body,
[data-terms-page] .terms-question-panel__copy,
[data-terms-page] .terms-question-panel__action {
  min-width: 0;
}

[data-terms-page] .terms-masthead__copy {
  width: min(100%, 45rem);
}

[data-terms-page] .terms-marker {
  display: inline-grid;
  width: 1.875rem;
  height: 1.875rem;
  place-items: center;
  margin-bottom: var(--space-3);
  background: var(--color-mustard);
  color: var(--color-ink);
  font-family: var(--font-body);
  font-size: var(--text-small);
  font-weight: 700;
  line-height: 1;
}

[data-terms-page] .terms-masthead h1 {
  max-width: 11ch;
  margin-bottom: var(--space-4);
}

[data-terms-page] .terms-masthead__lead {
  max-width: 43rem;
  margin-bottom: 0;
  font-size: var(--text-lead);
  line-height: var(--leading-lead);
}

[data-terms-page] .terms-masthead__utility {
  display: flex;
  width: 100%;
  justify-content: flex-end;
}

[data-terms-page] .terms-print {
  min-width: 8.75rem;
}

[data-terms-page] .terms-document {
  width: min(100%, 42.5rem);
  margin-bottom: var(--space-10);
}

[data-terms-page] .terms-contents {
  margin-bottom: var(--space-8);
  border: var(--border);
  padding: var(--space-5);
}

[data-terms-page] .terms-contents__intro {
  max-width: 40rem;
}

[data-terms-page] .terms-contents__intro p:last-child {
  margin-bottom: 0;
}

[data-terms-page] .terms-contents__links {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0 var(--space-4);
  margin: var(--space-5) 0 0;
  padding: 0;
  list-style: none;
}

[data-terms-page] .terms-contents__links li {
  min-width: 0;
  border-top: 1px solid var(--color-line);
}

[data-terms-page] .terms-contents__links a {
  display: flex;
  min-width: 0;
  min-height: 2.75rem;
  align-items: center;
  gap: var(--space-3);
  padding-block: var(--space-3);
  color: var(--color-ink);
  font-size: var(--text-small);
  font-weight: 700;
  line-height: var(--leading-small);
  text-decoration: none;
}

[data-terms-page] .terms-contents__links a::before {
  display: inline-grid;
  width: 1.25rem;
  height: 1.25rem;
  flex: 0 0 1.25rem;
  place-items: center;
  background: var(--color-mustard);
  color: var(--color-ink);
  content: attr(data-number);
  font-size: 0.6875rem;
  line-height: 1;
}

[data-terms-page] .terms-contents__links a span {
  min-width: 0;
}

[data-terms-page] .terms-contents__links a:hover {
  text-decoration: underline;
  text-decoration-color: var(--color-orange);
  text-decoration-thickness: 2px;
}

[data-terms-page] .terms-clause {
  scroll-margin-top: var(--space-8);
  padding-block: var(--space-7);
  border-top: 1px solid var(--color-line);
}

[data-terms-page] .terms-clause:first-of-type {
  border-top: 0;
  padding-top: 0;
}

[data-terms-page] .terms-clause__heading {
  display: flex;
  min-width: 0;
  align-items: flex-start;
  gap: var(--space-3);
  margin-bottom: var(--space-5);
}

[data-terms-page] .terms-clause__number {
  display: inline-grid;
  width: 2rem;
  height: 2rem;
  flex: 0 0 2rem;
  place-items: center;
  margin-top: 0.15rem;
  background: var(--color-mustard);
  color: var(--color-ink);
  font-size: var(--text-small);
  font-weight: 700;
  line-height: 1;
}

[data-terms-page] .terms-clause h2 {
  margin: 0;
  font-size: var(--text-section);
  line-height: var(--leading-section);
}

[data-terms-page] .terms-clause h3 {
  margin-top: var(--space-6);
  margin-bottom: var(--space-3);
  font-size: var(--text-card-title);
  line-height: var(--leading-card-title);
}

[data-terms-page] .terms-clause__body > :last-child {
  margin-bottom: 0;
}

[data-terms-page] .terms-list {
  display: grid;
  gap: 0.6875rem;
  margin-block: 0 var(--space-4);
  padding-inline-start: 1.5rem;
}

[data-terms-page] .terms-list li {
  padding-inline-start: var(--space-2);
}

[data-terms-page] .terms-list li::marker {
  color: var(--color-walnut);
  font-weight: 700;
}

[data-terms-page] .terms-advisory {
  display: grid;
  gap: var(--space-2);
  margin-block: var(--space-5);
  border: var(--border);
  background: var(--color-apricot);
  padding: var(--space-5);
}

[data-terms-page] .terms-advisory p {
  margin: 0;
}

[data-terms-page] .terms-subsection-rule {
  margin-block: var(--space-7);
}

[data-terms-page] .terms-permission-note {
  display: flex;
  min-width: 0;
  align-items: flex-start;
  gap: var(--space-3);
  margin-top: var(--space-5);
  padding-top: var(--space-4);
  border-top: 1px solid var(--color-line);
}

[data-terms-page] .terms-permission-note::before {
  width: 0.625rem;
  height: 0.625rem;
  flex: 0 0 0.625rem;
  margin-top: 0.4rem;
  background: var(--color-mustard);
  content: "";
}

[data-terms-page] .terms-permission-note p {
  margin: 0;
}

[data-terms-page] .terms-agreement {
  display: grid;
  gap: var(--space-2);
  margin-top: var(--space-6);
  background: var(--color-olive);
  color: var(--color-cream);
  padding: var(--space-5);
}

[data-terms-page] .terms-agreement p {
  margin: 0;
}

[data-terms-page] .terms-agreement .eyebrow {
  color: var(--color-cream);
}

[data-terms-page] .terms-update-note {
  display: grid;
  gap: var(--space-2);
  margin-top: var(--space-5);
  border-left: 3px solid var(--color-mustard);
  background: var(--color-apricot);
  padding: var(--space-4);
}

[data-terms-page] .terms-update-note p {
  margin: 0;
}

[data-terms-page] .terms-question-panel {
  display: grid;
  grid-template-columns: minmax(0, 7fr) minmax(0, 5fr);
  gap: var(--space-5);
  align-items: end;
  margin-top: var(--space-6);
  border: var(--border);
  padding: var(--space-5);
}

[data-terms-page] .terms-question-panel__copy {
  max-width: 33.75rem;
}

[data-terms-page] .terms-question-panel__copy h3 {
  margin-top: 0;
}

[data-terms-page] .terms-question-panel__copy p:last-child {
  margin-bottom: 0;
}

[data-terms-page] .terms-question-panel__action {
  display: flex;
  width: 100%;
  justify-content: flex-end;
}

[data-terms-page] .terms-question-panel__action .button {
  min-width: 12.5rem;
}

@media (max-width: 56.24rem) {
  [data-terms-page] .terms-shell {
    width: min(100% - 3rem, var(--container));
  }

  [data-terms-page] .terms-masthead__row {
    grid-template-columns: minmax(0, 1fr);
    gap: var(--space-5);
  }

  [data-terms-page] .terms-masthead__utility {
    justify-content: flex-start;
  }

  [data-terms-page] .terms-question-panel {
    grid-template-columns: minmax(0, 1fr);
  }

  [data-terms-page] .terms-question-panel__action {
    justify-content: flex-start;
  }
}

@media (max-width: 47.49rem) {
  [data-terms-page] .terms-contents__links {
    grid-template-columns: minmax(0, 1fr);
    gap: 0;
  }

  [data-terms-page] .terms-contents__links li:last-child {
    border-bottom: 1px solid var(--color-line);
  }
}

@media (max-width: 37.49rem) {
  [data-terms-page] .terms-shell {
    width: min(100% - 2.5rem, var(--container));
  }

  [data-terms-page] .terms-masthead {
    padding-block: var(--space-7) var(--space-6);
  }

  [data-terms-page] .terms-masthead__row {
    padding-bottom: var(--space-6);
  }

  [data-terms-page] .terms-masthead h1 {
    font-size: clamp(2.75rem, 12vw, 3.25rem);
  }

  [data-terms-page] .terms-masthead__lead {
    font-size: 1.125rem;
  }

  [data-terms-page] .terms-document {
    margin-bottom: var(--space-8);
  }

  [data-terms-page] .terms-contents,
  [data-terms-page] .terms-advisory,
  [data-terms-page] .terms-agreement,
  [data-terms-page] .terms-question-panel {
    padding: var(--space-4);
  }

  [data-terms-page] .terms-clause {
    padding-block: var(--space-6);
  }

  [data-terms-page] .terms-clause__heading {
    gap: var(--space-2);
  }

  [data-terms-page] .terms-clause__number {
    width: 1.75rem;
    height: 1.75rem;
    flex-basis: 1.75rem;
  }

  [data-terms-page] .terms-clause h2 {
    font-size: 1.875rem;
  }

  [data-terms-page] .terms-clause h3 {
    font-size: 1.375rem;
  }

  [data-terms-page] .terms-list {
    padding-inline-start: 1.375rem;
  }

  [data-terms-page] .terms-question-panel__action .button {
    width: 100%;
    min-width: 0;
  }
}

@media print {
  [data-terms-page] {
    background: #fff;
    color: #000;
  }

  [data-terms-page] .terms-shell {
    width: 100%;
  }

  [data-terms-page] .terms-masthead {
    padding-block: 0 1.5rem;
  }

  [data-terms-page] .terms-masthead__row {
    display: block;
    padding-bottom: 1.5rem;
  }

  [data-terms-page] .terms-masthead__utility,
  [data-terms-page] .terms-contents {
    display: none;
  }

  [data-terms-page] .terms-document {
    width: 100%;
    margin: 0;
  }

  [data-terms-page] .terms-clause {
    break-inside: avoid;
    padding-block: 1.5rem;
  }

  [data-terms-page] .terms-advisory,
  [data-terms-page] .terms-agreement,
  [data-terms-page] .terms-update-note,
  [data-terms-page] .terms-question-panel {
    background: transparent;
    color: #000;
  }

  [data-terms-page] .terms-question-panel {
    display: block;
  }

  [data-terms-page] .terms-question-panel__action {
    display: none;
  }
}


.privacy-page {
  background: var(--color-cream);
  color: var(--color-ink);
}

.privacy-page section[id] {
  scroll-margin-top: 7rem;
}

.privacy-intro {
  padding-block: var(--space-9) var(--space-8);
  background: var(--color-cream);
}

.privacy-intro__grid,
.privacy-overview__grid,
.privacy-document__grid,
.privacy-use__grid,
.privacy-care__grid,
.privacy-rights__grid,
.privacy-closing__grid {
  display: grid;
  min-width: 0;
  grid-template-columns: minmax(0, 1fr);
  gap: var(--space-6);
}

.privacy-intro__content,
.privacy-overview__summary,
.privacy-contents,
.privacy-document__index,
.privacy-document__reading,
.privacy-use__aside,
.privacy-use__panel,
.privacy-care__label,
.privacy-care__panel,
.privacy-rights__document,
.privacy-request-card,
.privacy-closing__content {
  min-width: 0;
  width: 100%;
}

.privacy-intro__content {
  max-width: 47.5rem;
}

.privacy-intro__eyebrow,
.privacy-overview__eyebrow {
  color: #8b6500;
}

.privacy-intro h1 {
  font-size: clamp(2.75rem, 2.3rem + 2.2vw, 3rem);
  line-height: 1;
}

.privacy-intro__updated {
  margin-bottom: var(--space-4);
}

.privacy-intro__rule {
  width: 7rem;
  height: 3px;
  background: var(--color-orange);
}

.privacy-overview {
  padding-block: var(--space-7);
  border-top: var(--border);
}

.privacy-overview__summary {
  max-width: 38.75rem;
}

.privacy-overview h2,
.privacy-document h2,
.privacy-use h2,
.privacy-care h2,
.privacy-rights h2,
.privacy-closing h2 {
  font-size: clamp(1.875rem, 1.65rem + 1vw, 2.25rem);
  line-height: var(--leading-section);
}

.privacy-summary-list {
  display: grid;
  min-width: 0;
  gap: var(--space-4);
  margin: 0;
  padding: 0;
  list-style: none;
}

.privacy-summary-list > li {
  display: grid;
  min-width: 0;
  grid-template-columns: 1.5rem minmax(0, 1fr);
  gap: var(--space-3);
  align-items: start;
}

.privacy-summary-list > li > span {
  display: grid;
  width: 1.5rem;
  min-width: 1.5rem;
  height: 1.5rem;
  place-items: center;
  border-radius: var(--radius-round);
  background: var(--color-mustard);
  color: var(--color-ink);
  font-size: 0.8rem;
}

.privacy-summary-list p {
  margin: 0;
}

.privacy-contents {
  align-self: start;
  border: var(--border);
  background: var(--color-cream);
  padding: var(--space-5);
}

.privacy-contents__label {
  color: #8b6500;
}

.privacy-contents ol {
  display: grid;
  gap: 0;
  margin: 0;
  padding-left: 1.5rem;
}

.privacy-contents li {
  min-width: 0;
  border-top: 1px solid var(--color-line);
}

.privacy-contents li:last-child {
  border-bottom: 1px solid var(--color-line);
}

.privacy-contents a {
  position: relative;
  display: flex;
  min-height: 2.75rem;
  align-items: center;
  padding-block: var(--space-2);
  color: var(--color-ink);
  font-size: var(--text-small);
  font-weight: 700;
  line-height: var(--leading-small);
  text-decoration: none;
}

.privacy-contents a::before {
  position: absolute;
  left: calc(var(--space-4) * -1);
  width: 3px;
  height: 0;
  background: var(--color-orange);
  content: "";
  transition: height var(--transition-fast);
}

.privacy-contents a:hover,
.privacy-contents a.is-active {
  text-decoration: underline;
}

.privacy-contents a.is-active::before {
  height: 1.5rem;
}

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

.privacy-document__index {
  display: none;
}

.privacy-document__reading {
  max-width: 42.5rem;
}

.privacy-clause {
  min-width: 0;
  border-top: 1px solid var(--color-line);
  padding-top: var(--space-5);
}

.privacy-clause + .privacy-clause {
  margin-top: var(--space-7);
}

.privacy-clause__number {
  margin-bottom: var(--space-2);
  color: var(--color-orange);
  font-size: var(--text-small);
  font-weight: 700;
  letter-spacing: var(--tracking-label);
  line-height: var(--leading-small);
}

.privacy-clause h3 {
  margin-bottom: var(--space-3);
  font-size: var(--text-card-title);
  line-height: var(--leading-card-title);
}

.privacy-clause ul {
  display: grid;
  gap: var(--space-2);
  margin-bottom: 0;
}

.privacy-domain {
  font-weight: 700;
}

.privacy-use {
  position: relative;
  overflow: hidden;
  background: var(--color-apricot);
  padding-block: var(--space-8);
}

.privacy-use::after,
.privacy-care::after {
  position: absolute;
  right: -8rem;
  bottom: -7rem;
  width: 18rem;
  height: 14rem;
  border-radius: 50%;
  background: var(--color-cream);
  content: "";
}

.privacy-use__aside {
  max-width: 15.625rem;
}

.privacy-use__panel {
  background: var(--color-cream);
  padding: var(--space-5);
}

.privacy-use__panel > :last-child,
.privacy-care__panel > :last-child,
.privacy-request-card > :last-child,
.privacy-closing__content > :last-child {
  margin-bottom: 0;
}

.privacy-purpose-rows,
.privacy-safeguards {
  display: grid;
  min-width: 0;
  grid-template-columns: minmax(0, 1fr);
  margin-top: var(--space-5);
  border-top: 1px solid var(--color-line);
}

.privacy-purpose-rows p,
.privacy-safeguards p {
  margin: 0;
  border-bottom: 1px solid var(--color-line);
  padding-block: var(--space-3);
  font-size: var(--text-small);
  font-weight: 700;
  line-height: var(--leading-small);
}

.privacy-choice-note,
.privacy-completion-note,
.privacy-retention-note {
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: var(--space-2);
  margin-top: var(--space-5);
  padding: var(--space-4);
}

.privacy-choice-note {
  background: var(--color-apricot);
}

.privacy-completion-note {
  border: var(--border);
  background: color-mix(in srgb, var(--color-cream) 85%, var(--color-apricot));
}

.privacy-retention-note {
  background: color-mix(in srgb, var(--color-mustard) 35%, var(--color-cream));
}

.privacy-choice-note p,
.privacy-completion-note p,
.privacy-retention-note p {
  margin: 0;
}

.privacy-care {
  position: relative;
  overflow: hidden;
  background: var(--color-walnut);
  color: var(--color-cream);
  padding-block: var(--space-8);
}

.privacy-care__label {
  align-self: start;
}

.privacy-care__panel {
  background: var(--color-cream);
  color: var(--color-ink);
  padding: var(--space-5);
}

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

.privacy-rights__document {
  max-width: 42.5rem;
}

.privacy-request-card {
  align-self: start;
  background: var(--color-mustard);
  color: var(--color-ink);
  padding: var(--space-5);
}

.privacy-request-card h3 {
  margin-bottom: var(--space-3);
  font-size: var(--text-card-title);
  line-height: var(--leading-card-title);
}

.privacy-request-card__placeholder {
  border-block: 1px solid color-mix(in srgb, var(--color-ink) 50%, transparent);
  padding-block: var(--space-3);
  font-weight: 700;
  overflow-wrap: anywhere;
}

.privacy-closing {
  background: var(--color-ink);
  color: var(--color-cream);
  padding-block: var(--space-8);
}

.privacy-closing__content {
  max-width: 38.75rem;
}

.privacy-closing__marker {
  display: inline-grid;
  width: 1.5rem;
  height: 1.5rem;
  place-items: center;
  border-radius: var(--radius-round);
  background: var(--color-olive);
  color: var(--color-cream);
  margin-right: var(--space-2);
  vertical-align: middle;
}

.privacy-closing .privacy-clause {
  border-color: color-mix(in srgb, var(--color-cream) 45%, transparent);
}

.privacy-closing .privacy-clause__number {
  color: var(--color-mustard);
}

.privacy-closing a {
  color: var(--color-cream);
  font-weight: 700;
}

.privacy-update-strip {
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: var(--space-2);
  margin-top: var(--space-6);
  border: var(--border);
  background: var(--color-cream);
  color: var(--color-ink);
  padding: var(--space-4);
}

.privacy-update-strip span {
  font-size: var(--text-label);
  font-weight: 700;
  letter-spacing: var(--tracking-label);
  line-height: var(--leading-label);
  text-transform: uppercase;
}

@media (min-width: 48rem) {
  .privacy-intro {
    padding-block: var(--space-9) var(--space-8);
  }

  .privacy-purpose-rows,
  .privacy-safeguards {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .privacy-purpose-rows p:nth-child(odd),
  .privacy-safeguards p:nth-child(odd) {
    padding-right: var(--space-4);
  }

  .privacy-purpose-rows p:nth-child(even),
  .privacy-safeguards p:nth-child(even) {
    border-left: 1px solid var(--color-line);
    padding-left: var(--space-4);
  }
}

@media (min-width: 56.25rem) {
  .privacy-overview__grid {
    grid-template-columns: minmax(0, 7fr) minmax(0, 4fr);
    column-gap: minmax(var(--space-6), 8.33%);
  }

  .privacy-contents {
    max-width: 22.5rem;
    justify-self: end;
    position: sticky;
    top: 7rem;
  }

  .privacy-use__grid {
    grid-template-columns: minmax(0, 3fr) minmax(0, 8fr) minmax(0, 1fr);
    gap: var(--space-5);
    align-items: start;
  }

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

  .privacy-care__grid {
    grid-template-columns: minmax(0, 2fr) minmax(0, 1fr) minmax(0, 9fr);
    gap: var(--space-5);
    align-items: start;
  }

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

  .privacy-rights__grid {
    grid-template-columns: minmax(0, 7fr) minmax(0, 5fr);
    gap: var(--space-7);
    align-items: start;
  }

  .privacy-request-card {
    max-width: 23.75rem;
    justify-self: end;
    margin-top: 11rem;
  }

  .privacy-closing__grid {
    grid-template-columns: minmax(0, 1fr) minmax(0, 7fr) minmax(0, 4fr);
    gap: var(--space-5);
  }

  .privacy-closing__content {
    grid-column: 2 / span 1;
  }
}

@media (min-width: 68.75rem) {
  .privacy-intro__grid {
    grid-template-columns: repeat(12, minmax(0, 1fr));
    gap: var(--space-5);
  }

  .privacy-intro__content {
    grid-column: 1 / span 8;
  }

  .privacy-intro__open {
    grid-column: 9 / span 4;
  }

  .privacy-document__grid {
    grid-template-columns: repeat(12, minmax(0, 1fr));
    gap: var(--space-5);
  }

  .privacy-document__index {
    display: flex;
    grid-column: 1 / span 2;
    min-width: 0;
    flex-direction: column;
    gap: var(--space-2);
    align-items: flex-start;
    padding-top: var(--space-7);
  }

  .privacy-document__index span {
    color: var(--color-ink);
    font-family: var(--font-display);
    font-size: 3rem;
    font-weight: 700;
    letter-spacing: var(--tracking-display);
    line-height: 1;
  }

  .privacy-document__index--orange span {
    color: var(--color-orange);
  }

  .privacy-document__index small {
    font-size: var(--text-label);
    font-weight: 700;
    letter-spacing: var(--tracking-label);
    line-height: var(--leading-label);
    text-transform: uppercase;
  }

  .privacy-document__reading {
    grid-column: 3 / span 8;
  }

  .privacy-document__open {
    grid-column: 11 / span 2;
  }

  .privacy-care__label {
    grid-column: 1 / span 2;
  }

  .privacy-care__offset {
    grid-column: 3 / span 1;
  }

  .privacy-care__panel {
    grid-column: 4 / span 9;
  }
}

@media (max-width: 47.99rem) {
  .privacy-intro {
    padding-block: var(--space-7) var(--space-6);
  }

  .privacy-intro h1 {
    font-size: clamp(2.5rem, 11vw, 2.75rem);
  }

  .privacy-overview,
  .privacy-document,
  .privacy-use,
  .privacy-care,
  .privacy-rights,
  .privacy-closing {
    padding-block: var(--space-7);
  }

  .privacy-use__panel,
  .privacy-care__panel {
    padding: var(--space-5);
  }

  .privacy-clause + .privacy-clause {
    margin-top: var(--space-6);
  }
}

@media (prefers-reduced-motion: reduce) {
  .privacy-contents a::before {
    transition: none;
  }
}


.restaurant-page {
  overflow: hidden;
}

.restaurant-page .eyebrow {
  margin-bottom: var(--space-3);
}

.restaurant-hero {
  padding-block: clamp(3rem, 6vw, 8rem) var(--space-8);
}

.restaurant-hero__grid {
  display: grid;
  grid-template-columns: minmax(0, 7fr) minmax(0, 5fr);
  align-items: center;
  gap: var(--space-6);
}

.restaurant-hero__copy,
.restaurant-hero__figure,
.restaurant-rituals__intro,
.restaurant-story,
.restaurant-drinks__copy,
.restaurant-drinks__figure,
.restaurant-occasions__intro,
.restaurant-occasion,
.restaurant-clubhouse__copy,
.restaurant-clubhouse__panel,
.restaurant-routes__intro,
.restaurant-route,
.restaurant-faq__copy,
.restaurant-faq__panel,
.restaurant-close__content {
  min-width: 0;
}

.restaurant-hero__copy {
  width: 100%;
  max-width: 41.25rem;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-4);
}

.restaurant-hero__copy h1,
.restaurant-hero__copy p,
.restaurant-hero__copy .eyebrow {
  margin: 0;
}

.restaurant-hero__copy .lead {
  max-width: 36.25rem;
}

.restaurant-hero__actions,
.restaurant-close__actions {
  display: flex;
  width: 100%;
  min-width: 0;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--space-3);
}

.restaurant-hero__actions > * {
  min-width: 0;
}

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

.restaurant-hero__secondary:hover {
  box-shadow: var(--shadow-offset);
}

.restaurant-hero__note {
  width: 100%;
  border-top: var(--border);
  padding-top: var(--space-3);
  font-size: var(--text-small);
  line-height: var(--leading-small);
}

.restaurant-hero__figure {
  width: 100%;
  margin: var(--space-6) 0 0;
  border: 1px solid var(--color-cream);
  border-radius: var(--radius-md);
  background: var(--color-walnut);
  padding: var(--space-2);
}

.restaurant-hero__figure img {
  width: 100%;
  aspect-ratio: 3 / 2;
  border-radius: calc(var(--radius-md) - 0.25rem);
  object-fit: cover;
}

.restaurant-hero__figure figcaption {
  margin: var(--space-3) var(--space-2) var(--space-1);
  color: var(--color-cream);
}

.restaurant-marquee {
  overflow: hidden;
  background: var(--color-mustard);
  color: var(--color-ink);
}

.restaurant-marquee__viewport {
  width: 100%;
  min-height: 4.25rem;
  overflow: hidden;
  display: flex;
  align-items: center;
}

.restaurant-marquee__track {
  display: flex;
  width: max-content;
  align-items: center;
  animation: restaurant-marquee 32s linear infinite;
}

.restaurant-marquee__viewport.is-paused .restaurant-marquee__track,
.restaurant-marquee__viewport:hover .restaurant-marquee__track {
  animation-play-state: paused;
}

.restaurant-marquee__track span {
  display: inline-flex;
  min-width: max-content;
  align-items: center;
  gap: var(--space-4);
  padding-right: var(--space-4);
  font-size: 0.8125rem;
  font-weight: 700;
  letter-spacing: var(--tracking-label);
  line-height: 1.2;
  text-transform: uppercase;
  white-space: nowrap;
}

.restaurant-marquee__track b {
  color: var(--color-orange);
  font-size: 1.125rem;
}

@keyframes restaurant-marquee {
  to { transform: translateX(-50%); }
}

.restaurant-rituals__layout,
.restaurant-occasions__layout,
.restaurant-routes__layout {
  display: flex;
  min-width: 0;
  flex-direction: column;
  align-items: stretch;
  gap: var(--space-7);
}

.restaurant-rituals__intro {
  width: 100%;
  max-width: 37.5rem;
}

.restaurant-rituals__intro .lead,
.restaurant-occasions__intro .lead,
.restaurant-routes__intro .lead {
  margin-bottom: 0;
}

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

.restaurant-story {
  display: flex;
  min-width: 0;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-4);
  border: var(--border);
  border-radius: var(--radius-md);
  background: var(--color-cream);
  padding: var(--space-5);
}

.restaurant-story h3,
.restaurant-story p,
.restaurant-story figure {
  margin: 0;
}

.restaurant-story__number {
  display: inline-flex;
  width: 2.5rem;
  height: 2.5rem;
  flex: 0 0 2.5rem;
  align-items: center;
  justify-content: center;
  border-radius: var(--radius-round);
  background: var(--color-olive);
  color: var(--color-cream);
  font-size: var(--text-small);
  font-weight: 700;
}

.restaurant-story--three .restaurant-story__number {
  background: var(--color-orange);
}

.restaurant-story--image {
  margin-top: -1.75rem;
  padding: 0;
  overflow: hidden;
}

.restaurant-story--image figure {
  width: 100%;
}

.restaurant-story--image img {
  width: 100%;
  aspect-ratio: 4 / 5;
  object-fit: cover;
}

.restaurant-story--image figcaption {
  margin: var(--space-3) var(--space-5) 0;
}

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

.restaurant-story__copy > * {
  margin: 0;
}

.restaurant-text-link {
  display: inline-flex;
  min-height: 2.75rem;
  align-items: center;
  gap: var(--space-2);
  font-size: var(--text-small);
  font-weight: 700;
  text-decoration: none;
}

.restaurant-text-link::after,
.restaurant-clubhouse__links a::after {
  width: 100%;
  height: 2px;
  position: absolute;
  right: 0;
  bottom: 0.375rem;
  left: 0;
  background: var(--color-orange);
  content: "";
  transform: scaleX(0);
  transform-origin: left;
  transition: transform var(--transition-fast);
}

.restaurant-text-link,
.restaurant-clubhouse__links a {
  position: relative;
}

.restaurant-text-link:hover::after,
.restaurant-clubhouse__links a:hover::after {
  transform: scaleX(1);
}

.restaurant-drinks {
  position: relative;
  border-radius: 0 0 var(--radius-lg) var(--radius-lg);
}

.restaurant-drinks__grid {
  display: grid;
  grid-template-columns: minmax(0, 7fr) minmax(0, 5fr);
  align-items: center;
  gap: var(--space-7);
}

.restaurant-drinks__copy {
  width: 100%;
  max-width: 37.5rem;
}

.restaurant-drinks__copy .lead {
  max-width: 35rem;
}

.restaurant-house-note {
  display: flex;
  width: min(100%, 26.875rem);
  min-width: 0;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-3);
  margin-top: var(--space-6);
  border: var(--border);
  border-radius: var(--radius-sm);
  background: var(--color-cream);
  color: var(--color-ink);
  padding: var(--space-4);
}

.restaurant-house-note p {
  margin: 0;
}

.restaurant-drinks__figure {
  width: 100%;
  position: relative;
  margin: 0;
  border: var(--border-strong);
  border-radius: var(--radius-md);
  background: var(--color-ink);
  padding: var(--space-2);
}

.restaurant-drinks__figure img {
  width: 100%;
  aspect-ratio: 3 / 2;
  border-radius: calc(var(--radius-md) - 0.25rem);
  object-fit: cover;
}

.restaurant-drinks__figure figcaption {
  margin: var(--space-3) var(--space-2) var(--space-1);
  color: var(--color-cream);
}

.restaurant-drinks__suit {
  position: absolute;
  z-index: 1;
  top: -1.25rem;
  right: var(--space-4);
  color: var(--color-mustard);
  font-family: var(--font-display);
  font-size: 3.5rem;
  line-height: 1;
  transition: transform var(--transition-base);
}

.restaurant-drinks__figure:hover .restaurant-drinks__suit {
  transform: rotate(8deg);
}

.restaurant-occasions__intro {
  width: 100%;
  max-width: 38.125rem;
}

.restaurant-occasions__grid,
.restaurant-routes__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  align-items: stretch;
  gap: var(--space-5);
}

.restaurant-occasion {
  display: flex;
  min-width: 0;
  min-height: 18rem;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-4);
  border-radius: var(--radius-md);
  padding: var(--space-5);
}

.restaurant-occasion h3,
.restaurant-occasion p {
  margin: 0;
}

.restaurant-occasion--cream {
  border: var(--border);
  background: var(--color-cream);
}

.restaurant-occasion--walnut {
  background: var(--color-walnut);
  color: var(--color-cream);
}

.restaurant-occasion--apricot {
  background: var(--color-apricot);
}

.restaurant-occasion__marker {
  color: var(--color-mustard);
  font-size: 1.75rem;
  line-height: 1;
}

.restaurant-occasion__corner {
  color: var(--color-mustard);
  font-size: 2rem;
  line-height: 1;
}

.restaurant-occasion .restaurant-text-link {
  margin-top: auto;
  color: inherit;
}

.restaurant-occasion--walnut .restaurant-text-link::after {
  background: var(--color-mustard);
}

.restaurant-clubhouse {
  position: relative;
  padding-top: calc(var(--content-padding-block) + var(--space-4));
}

.restaurant-clubhouse__curve,
.restaurant-close__curve {
  width: 120%;
  height: 4rem;
  position: absolute;
  top: -2rem;
  left: -10%;
  border-radius: 0 0 50% 50%;
  background: var(--color-walnut);
}

.restaurant-clubhouse__grid {
  display: grid;
  grid-template-columns: minmax(0, 8fr) minmax(17.5rem, 4fr);
  align-items: center;
  gap: var(--space-7);
}

.restaurant-clubhouse__copy {
  width: 100%;
  max-width: 33.75rem;
}

.restaurant-clubhouse__copy .lead {
  max-width: 33.75rem;
}

.restaurant-clubhouse__panel {
  display: flex;
  min-width: 0;
  flex-direction: column;
  align-items: stretch;
  gap: var(--space-4);
  border: var(--border);
  border-radius: var(--radius-md);
  background: var(--color-cream);
  color: var(--color-ink);
  padding: var(--space-5);
  box-shadow: var(--shadow-offset);
}

.restaurant-clubhouse__panel p {
  margin: 0;
}

.restaurant-clubhouse__links {
  display: flex;
  min-width: 0;
  flex-direction: column;
  align-items: stretch;
  gap: var(--space-3);
}

.restaurant-clubhouse__links a {
  display: inline-flex;
  min-height: 2.75rem;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-2);
  font-size: var(--text-small);
  font-weight: 700;
  text-decoration: none;
}

.restaurant-routes__intro {
  width: 100%;
  max-width: 35rem;
}

.restaurant-route {
  display: flex;
  min-width: 0;
  min-height: 20rem;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-4);
  border: 1px solid transparent;
  border-radius: var(--radius-md);
  padding: var(--space-5);
  text-decoration: none;
  transition: border-color var(--transition-card), transform var(--transition-card), box-shadow var(--transition-card);
}

.restaurant-route:hover {
  border-color: var(--color-ink);
  box-shadow: var(--shadow-offset);
  transform: translateY(-4px);
}

.restaurant-route h3,
.restaurant-route p {
  margin: 0;
}

.restaurant-route--orange {
  margin-top: -1.25rem;
  background: var(--color-orange);
  color: var(--color-cream);
}

.restaurant-route--mustard {
  background: var(--color-mustard);
  color: var(--color-ink);
}

.restaurant-route--olive {
  background: var(--color-olive);
  color: var(--color-cream);
}

.restaurant-route__number {
  font-family: var(--font-display);
  font-size: clamp(3.25rem, 3vw, 4.5rem);
  font-weight: 700;
  letter-spacing: var(--tracking-display);
  line-height: 0.9;
}

.restaurant-route__action {
  display: inline-flex;
  min-height: 2.75rem;
  align-items: center;
  gap: var(--space-2);
  margin-top: auto;
  font-size: var(--text-small);
  font-weight: 700;
  text-decoration: underline;
  text-underline-offset: 0.18em;
}

.restaurant-route--olive .restaurant-route__action + .restaurant-route__action {
  margin-top: calc(var(--space-2) * -1);
}

.restaurant-faq__grid {
  display: grid;
  grid-template-columns: minmax(0, 7fr) minmax(21.25rem, 5fr);
  align-items: center;
  gap: var(--space-7);
}

.restaurant-faq__copy {
  width: 100%;
  max-width: 38.75rem;
}

.restaurant-faq__copy .lead {
  max-width: 36.25rem;
}

.restaurant-faq__panel {
  display: flex;
  min-width: 0;
  flex-direction: column;
  align-items: stretch;
  gap: var(--space-3);
  border: var(--border);
  border-radius: var(--radius-md);
  background: var(--color-cream);
  padding: var(--space-4);
}

.restaurant-faq__row {
  display: flex;
  min-width: 0;
  min-height: 4.5rem;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-3);
  border-bottom: var(--border);
  padding: var(--space-3) 0;
  font-weight: 700;
  text-decoration: none;
}

.restaurant-faq__row:last-child {
  border-bottom: 0;
}

.restaurant-faq__row span,
.restaurant-faq__row b {
  min-width: 0;
}

.restaurant-faq__row b {
  display: inline-flex;
  align-items: center;
  gap: var(--space-2);
  color: var(--color-orange);
  font-size: var(--text-small);
  white-space: nowrap;
}

.restaurant-faq__row i {
  font-style: normal;
  transition: transform var(--transition-fast);
}

.restaurant-faq__row:hover i {
  transform: translateX(4px);
}

.restaurant-close {
  position: relative;
  padding-top: calc(var(--content-padding-block) + var(--space-4));
}

.restaurant-close__curve {
  background: var(--color-orange);
}

.restaurant-close__content {
  display: flex;
  width: 100%;
  max-width: 40rem;
  min-width: 0;
  flex-direction: column;
  align-items: center;
  gap: var(--space-4);
  margin-inline: auto;
  color: var(--color-cream);
  text-align: center;
}

.restaurant-close__content h2,
.restaurant-close__content p {
  margin: 0;
}

.restaurant-close__content .lead {
  max-width: 38rem;
}

.restaurant-close__actions {
  width: auto;
  justify-content: center;
}

.restaurant-close__primary {
  border-color: var(--color-cream);
  background: var(--color-cream);
  color: var(--color-ink);
}

.restaurant-close__primary:hover {
  border-color: var(--color-mustard);
  background: var(--color-mustard);
  color: var(--color-ink);
}

.restaurant-close__note {
  width: 100%;
  border-top: 1px solid rgb(244 231 203 / 70%);
  padding-top: var(--space-4);
  font-size: var(--text-small);
  font-weight: 700;
}

@media (max-width: 68.74rem) {
  .restaurant-hero__grid {
    grid-template-columns: repeat(6, minmax(0, 1fr));
  }

  .restaurant-hero__copy,
  .restaurant-hero__figure {
    grid-column: 1 / -1;
  }

  .restaurant-hero__copy {
    max-width: 41.25rem;
  }

  .restaurant-hero__figure {
    margin-top: 0;
  }

  .restaurant-hero__figure img {
    aspect-ratio: 16 / 9;
  }

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

  .restaurant-story--image {
    margin-top: 0;
  }

  .restaurant-story--three {
    grid-column: 1 / -1;
  }

  .restaurant-drinks__grid,
  .restaurant-clubhouse__grid,
  .restaurant-faq__grid {
    grid-template-columns: repeat(6, minmax(0, 1fr));
  }

  .restaurant-drinks__copy,
  .restaurant-drinks__figure,
  .restaurant-clubhouse__copy,
  .restaurant-clubhouse__panel,
  .restaurant-faq__copy,
  .restaurant-faq__panel {
    grid-column: 1 / -1;
  }

  .restaurant-drinks__figure {
    max-width: none;
  }

  .restaurant-clubhouse__copy {
    max-width: 33.75rem;
  }

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

  .restaurant-occasion--apricot,
  .restaurant-route--olive {
    grid-column: 1 / -1;
  }

  .restaurant-route--orange {
    margin-top: 0;
  }
}

@media (max-width: 47.99rem) {
  .restaurant-hero {
    padding-block: var(--space-7) var(--space-6);
  }

  .restaurant-hero__grid,
  .restaurant-drinks__grid,
  .restaurant-clubhouse__grid,
  .restaurant-faq__grid {
    grid-template-columns: minmax(0, 1fr);
    gap: var(--space-5);
  }

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

  .restaurant-hero__copy h1 {
    font-size: clamp(3.25rem, 13vw, 3.8rem);
  }

  .restaurant-hero__actions,
  .restaurant-close__actions {
    flex-direction: column;
    align-items: stretch;
  }

  .restaurant-hero__actions .button,
  .restaurant-close__actions .button {
    width: 100%;
  }

  .restaurant-hero__figure img {
    aspect-ratio: 4 / 5;
  }

  .restaurant-marquee__viewport {
    min-height: 3.5rem;
  }

  .restaurant-marquee__track span {
    font-size: 0.6875rem;
  }

  .restaurant-rituals__layout,
  .restaurant-occasions__layout,
  .restaurant-routes__layout {
    gap: var(--space-6);
  }

  .restaurant-rituals__cards,
  .restaurant-occasions__grid,
  .restaurant-routes__grid {
    grid-template-columns: minmax(0, 1fr);
    gap: var(--space-5);
  }

  .restaurant-story--three,
  .restaurant-occasion--apricot,
  .restaurant-route--olive {
    grid-column: auto;
  }

  .restaurant-story,
  .restaurant-occasion,
  .restaurant-route {
    padding: var(--space-4);
  }

  .restaurant-story--image figcaption {
    margin-inline: var(--space-4);
  }

  .restaurant-story__copy {
    padding: 0 var(--space-4) var(--space-4);
  }

  .restaurant-story--image img {
    aspect-ratio: 4 / 5;
  }

  .restaurant-drinks__copy,
  .restaurant-clubhouse__copy,
  .restaurant-faq__copy,
  .restaurant-rituals__intro,
  .restaurant-occasions__intro,
  .restaurant-routes__intro {
    max-width: none;
  }

  .restaurant-drinks__copy h2 {
    font-size: var(--text-display-m);
  }

  .restaurant-drinks__figure img {
    aspect-ratio: 1 / 1;
  }

  .restaurant-occasion {
    min-height: 0;
  }

  .restaurant-clubhouse__panel,
  .restaurant-faq__panel {
    padding: var(--space-4);
  }

  .restaurant-route {
    min-height: 0;
  }

  .restaurant-route__number {
    font-size: 3.25rem;
  }

  .restaurant-faq__row {
    min-height: 4.75rem;
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
  }

  .restaurant-close__content h2 {
    font-size: var(--text-display-l);
  }
}

@media (max-width: 32.5rem) {
  .restaurant-close__actions {
    width: 100%;
  }
}

@media (prefers-reduced-motion: reduce) {
  .restaurant-marquee__track {
    animation: none;
  }

  .restaurant-route:hover,
  .restaurant-drinks__figure:hover .restaurant-drinks__suit,
  .restaurant-faq__row:hover i {
    transform: none;
  }
}


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

.gallery-page [hidden] {
  display: none !important;
}

.gallery-page .eyebrow {
  color: currentColor;
}

.gallery-hero {
  overflow: hidden;
  padding-block: clamp(3rem, 7vw, 8rem) clamp(4rem, 8vw, 9rem);
  position: relative;
}

.gallery-hero::after {
  position: absolute;
  right: -8rem;
  bottom: -5rem;
  width: min(55vw, 48rem);
  height: 10rem;
  border-radius: 50% 50% 0 0;
  background: var(--color-mustard);
  content: "";
}

.gallery-hero__grid {
  display: grid;
  grid-template-columns: minmax(0, 7fr) minmax(26.25rem, 5fr);
  align-items: center;
  gap: var(--space-6);
  position: relative;
  z-index: 1;
}

.gallery-hero__copy {
  display: flex;
  min-width: 0;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-5);
}

.gallery-hero__copy > * {
  min-width: 0;
  margin: 0;
}

.gallery-hero__copy h1 {
  max-width: 8.6ch;
  font-size: clamp(3.25rem, 5.5vw, 5rem);
}

.gallery-hero__lead {
  width: min(100%, 40rem);
}

.gallery-hero__lead p {
  margin: 0;
}

.gallery-hero__actions {
  width: 100%;
}

.gallery-hero__media {
  width: 100%;
  min-width: 0;
  margin: var(--space-6) 0 0;
  border: 12px solid var(--color-walnut);
  border-radius: var(--radius-md);
  box-shadow: var(--shadow-offset);
  cursor: zoom-in;
}

.gallery-hero__media img {
  width: 100%;
  aspect-ratio: 3 / 2;
  object-fit: cover;
  object-position: 60% center;
}

.gallery-hero__media figcaption {
  margin: 0;
  padding: var(--space-3);
  background: var(--color-walnut);
  color: var(--color-cream);
}

.gallery-browse {
  padding-block: var(--space-8) var(--space-7);
}

.gallery-browse__grid {
  display: grid;
  grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
  align-items: end;
  gap: var(--space-6);
}

.gallery-browse__intro,
.gallery-filters {
  min-width: 0;
}

.gallery-browse__intro {
  width: min(100%, 32.5rem);
}

.gallery-browse__intro h2 {
  font-size: var(--text-section);
}

.gallery-browse__label {
  display: inline-block;
  padding: var(--space-2) var(--space-3);
  background: var(--color-mustard);
}

.gallery-filters {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: var(--space-3);
}

.gallery-filter {
  min-width: 0;
  min-height: 2.75rem;
  border-color: var(--color-ink);
  background: var(--color-cream);
  color: var(--color-ink);
}

.gallery-filter:hover,
.gallery-filter[aria-pressed="true"] {
  border-color: var(--color-orange);
  background: var(--color-orange);
  color: var(--color-cream);
}

.gallery-marquee {
  max-width: var(--container-wide);
  margin-top: var(--space-7);
  overflow: hidden;
  background: var(--color-mustard);
  color: var(--color-ink);
  white-space: nowrap;
}

.gallery-marquee__track {
  display: inline-flex;
  min-width: max-content;
  align-items: center;
  gap: var(--space-5);
  padding: var(--space-3) 0;
  font-size: var(--text-small);
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  animation: gallery-marquee 36s linear infinite;
}

.gallery-marquee:hover .gallery-marquee__track,
.gallery-marquee:focus .gallery-marquee__track {
  animation-play-state: paused;
}

.gallery-marquee__track b {
  color: var(--color-orange);
  font-size: 1rem;
}

@keyframes gallery-marquee {
  to { transform: translateX(-22%); }
}

.gallery-lounge {
  padding-block: var(--space-9);
}

.gallery-lounge__grid {
  display: grid;
  grid-template-columns: minmax(0, 4fr) minmax(0, 3fr) minmax(0, 2.5fr) minmax(0, 2.5fr);
  align-items: start;
  gap: var(--space-5);
}

.gallery-lounge__story,
.gallery-tile {
  min-width: 0;
}

.gallery-lounge__story {
  width: min(100%, 28.75rem);
}

.gallery-lounge__story h2 {
  font-size: var(--text-section);
}

.gallery-tile {
  margin: 0;
  border: var(--border);
  border-radius: var(--radius-md);
  background: var(--color-cream);
  color: var(--color-ink);
  cursor: zoom-in;
  overflow: hidden;
  transition: border-color var(--transition-card), transform var(--transition-card), box-shadow var(--transition-card);
}

.gallery-tile:hover,
.gallery-tile:focus-visible {
  border-color: var(--color-ink);
  box-shadow: var(--shadow-offset);
  transform: translateY(-4px);
}

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

.gallery-tile figcaption {
  margin: 0;
  padding: var(--space-4);
}

.gallery-tile figcaption h3 {
  margin: var(--space-2) 0 var(--space-3);
  font-size: var(--text-card-title);
}

.gallery-tile figcaption p {
  margin: 0;
  font-size: var(--text-small);
  line-height: var(--leading-small);
}

.gallery-tag {
  display: block;
  font-size: var(--text-label);
  font-weight: 700;
  letter-spacing: var(--tracking-label);
  line-height: var(--leading-label);
  text-transform: uppercase;
}

.gallery-tile--square img { aspect-ratio: 1 / 1; object-position: center; }
.gallery-tile--portrait { margin-top: var(--space-7); }
.gallery-tile--portrait img { aspect-ratio: 4 / 5; object-position: center; }
.gallery-lounge__grid > .gallery-tile--portrait:last-child { margin-top: calc(var(--space-7) + var(--space-4)); }

.gallery-dining {
  overflow: hidden;
  position: relative;
  padding-block: var(--space-9);
}

.gallery-dining::before {
  position: absolute;
  left: 0;
  top: 0;
  width: 48%;
  height: 82%;
  border-radius: 0 0 var(--radius-lg) 0;
  background: var(--color-apricot);
  content: "";
}

.gallery-dining__grid {
  display: grid;
  grid-template-columns: minmax(0, 5fr) minmax(0, 3fr) minmax(0, 4fr);
  align-items: start;
  gap: var(--space-5);
  position: relative;
}

.gallery-dining__story,
.gallery-dining__grid > .gallery-tile {
  min-width: 0;
}

.gallery-dining__story {
  display: flex;
  width: min(100%, 33.75rem);
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-4);
  border: var(--border);
  border-radius: var(--radius-md);
  background: var(--color-cream);
  padding: var(--space-6);
}

.gallery-dining__story > * {
  margin: 0;
}

.gallery-dining__story h2 {
  font-size: var(--text-section);
}

.gallery-inline-link,
.gallery-route-card a,
.gallery-pathway a,
.gallery-pathways__faq a {
  font-weight: 700;
  text-decoration-color: var(--color-orange);
  text-underline-offset: 0.22em;
}

.gallery-tile--setting img { aspect-ratio: 4 / 5; object-position: center; }
.gallery-tile--social { margin-top: var(--space-8); }
.gallery-tile--social img { aspect-ratio: 3 / 2; object-position: center; }

.gallery-mood {
  padding-block: var(--space-9);
}

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

.gallery-mood__copy,
.gallery-route-cards {
  min-width: 0;
}

.gallery-mood__copy {
  width: min(100%, 38.75rem);
}

.gallery-mood__copy h2 {
  font-size: var(--text-display-m);
}

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

.gallery-route-card {
  display: flex;
  min-width: 0;
  min-height: 100%;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-3);
  border: var(--border-strong);
  border-radius: var(--radius-sm);
  background: var(--color-cream);
  color: var(--color-ink);
  padding: var(--space-5);
  transition: transform var(--transition-card), box-shadow var(--transition-card);
}

.gallery-route-card:hover {
  box-shadow: var(--shadow-offset);
  transform: translateY(-4px);
}

.gallery-route-card > * {
  margin: 0;
}

.gallery-route-card h3 {
  font-size: var(--text-card-title);
}

.gallery-route-card__mark {
  color: var(--color-orange);
  font-family: var(--font-display);
  font-size: 2.5rem;
  font-weight: 700;
  line-height: 1;
  transition: transform var(--transition-base);
}

.gallery-route-card:hover .gallery-route-card__mark { transform: rotate(8deg); }
.gallery-route-card__links { display: flex; flex-wrap: wrap; gap: var(--space-3); }

.gallery-conversion {
  padding-block: var(--space-9);
}

.gallery-conversion__grid {
  display: grid;
  grid-template-columns: minmax(0, 7fr) minmax(26.25rem, 5fr);
  align-items: center;
  gap: 0;
}

.gallery-conversion__panel {
  display: flex;
  min-width: 0;
  min-height: 100%;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-5);
  background: var(--color-orange);
  color: var(--color-cream);
  padding: clamp(var(--space-6), 5vw, var(--space-8));
}

.gallery-conversion__panel > * { margin: 0; }
.gallery-conversion__panel h2 { width: min(100%, 37.5rem); font-size: var(--text-display-m); }
.gallery-conversion__panel > p:not(.eyebrow):not(.gallery-conversion__note) { width: min(100%, 37.5rem); }
.gallery-conversion__actions { width: 100%; }
.gallery-conversion__primary { border-color: var(--color-ink); background: var(--color-ink); }
.gallery-conversion__primary:hover { border-color: #0e1928; background: #0e1928; }
.gallery-conversion__note { font-size: var(--text-small); line-height: var(--leading-small); }

.gallery-conversion__media {
  width: 100%;
  min-width: 0;
  margin: var(--space-6) 0 0 calc(var(--space-6) * -1);
  border: 10px solid var(--color-walnut);
  border-radius: var(--radius-md);
  cursor: zoom-in;
  overflow: hidden;
}

.gallery-conversion__media img { width: 100%; aspect-ratio: 3 / 2; object-fit: cover; object-position: center; }
.gallery-conversion__media figcaption { margin: 0; padding: var(--space-3); background: var(--color-walnut); color: var(--color-cream); }
.gallery-conversion__media .gallery-tag { margin-bottom: var(--space-1); color: var(--color-mustard); }

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

.gallery-pathways__frame {
  border: var(--border);
  padding: var(--space-6);
}

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

.gallery-pathways__heading,
.gallery-pathway {
  min-width: 0;
}

.gallery-pathways__heading { width: min(100%, 21.25rem); }
.gallery-pathways__heading h2 { font-size: var(--text-section); }
.gallery-pathway { padding-left: var(--space-4); border-left: 1px solid var(--color-line); }
.gallery-pathway h3 { margin-bottom: var(--space-3); font-size: var(--text-card-title); }
.gallery-pathway p { margin-bottom: var(--space-3); }
.gallery-pathways__faq { margin: var(--space-6) 0 0; }

.gallery-signoff {
  padding-top: var(--space-7);
  padding-bottom: var(--space-9);
}

.gallery-signoff__inner { border-top: 1px solid var(--color-line); padding-top: var(--space-7); }
.gallery-signoff__copy { width: min(100%, 31.25rem); margin-inline: auto; }
.gallery-signoff__copy .eyebrow { margin-bottom: var(--space-3); }
.gallery-signoff__copy p:last-child { margin-bottom: 0; }

.gallery-lightbox {
  display: grid;
  place-items: center;
  position: fixed;
  inset: 0;
  z-index: 1000;
  padding: var(--space-4);
}

.gallery-lightbox__backdrop { position: absolute; inset: 0; background: rgb(23 38 58 / 88%); }
.gallery-lightbox__dialog {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: var(--space-3);
  width: min(100%, 68rem);
  max-height: calc(100vh - var(--space-8));
  position: relative;
  z-index: 1;
}

.gallery-lightbox__figure { min-width: 0; max-height: calc(100vh - var(--space-8)); margin: 0; background: var(--color-cream); }
.gallery-lightbox__figure img { width: 100%; max-height: calc(100vh - 11rem); object-fit: contain; }
.gallery-lightbox__figure figcaption { display: grid; gap: var(--space-1); margin: 0; padding: var(--space-3) var(--space-4); }
.gallery-lightbox__figure figcaption span:first-child { font-family: var(--font-display); font-size: var(--text-card-title); font-weight: 700; }
.gallery-lightbox__figure figcaption span:last-child { font-size: var(--text-small); }
.gallery-lightbox__close { position: absolute; right: 0; top: calc(var(--space-6) * -1); min-width: 2.75rem; border-color: var(--color-cream); background: var(--color-cream); color: var(--color-ink); font-size: 1.5rem; }
.gallery-lightbox__previous,
.gallery-lightbox__next { min-width: 2.75rem; border-color: var(--color-cream); background: var(--color-cream); color: var(--color-ink); font-size: 1.25rem; }

@media (max-width: 68.74rem) {
  .gallery-hero__grid { grid-template-columns: minmax(0, 4fr) minmax(17.5rem, 2fr); }
  .gallery-hero__media { margin-top: var(--space-4); }
  .gallery-lounge__grid { grid-template-columns: repeat(6, minmax(0, 1fr)); }
  .gallery-lounge__story { grid-column: 1 / -1; width: min(100%, 37.5rem); }
  .gallery-lounge__grid > .gallery-tile { grid-column: span 2; margin-top: 0; }
  .gallery-lounge__grid > .gallery-tile--portrait:last-child { margin-top: 0; }
  .gallery-dining__grid { grid-template-columns: repeat(6, minmax(0, 1fr)); }
  .gallery-dining__story { grid-column: 1 / -1; width: min(100%, 33.75rem); }
  .gallery-dining__grid > .gallery-tile { grid-column: span 3; margin-top: 0; }
  .gallery-mood__grid { grid-template-columns: 1fr; gap: var(--space-6); }
  .gallery-mood__copy { width: min(100%, 38.75rem); }
  .gallery-conversion__grid { grid-template-columns: 1fr; gap: var(--space-5); }
  .gallery-conversion__media { width: 100%; margin: 0; }
  .gallery-pathways__grid { grid-template-columns: repeat(6, minmax(0, 1fr)); }
  .gallery-pathways__heading { grid-column: 1 / -1; }
  .gallery-pathway { grid-column: span 3; }
  .gallery-pathway:last-child { grid-column: 1 / -1; }
}

@media (max-width: 61.24rem) {
  .gallery-browse__grid { grid-template-columns: 1fr; align-items: start; }
  .gallery-filters { justify-content: flex-start; }
}

@media (max-width: 47.99rem) {
  .gallery-hero { padding-block: var(--space-7); }
  .gallery-hero::after { right: -5rem; bottom: -3rem; width: 28rem; height: 6rem; }
  .gallery-hero__grid,
  .gallery-lounge__grid,
  .gallery-dining__grid,
  .gallery-mood__grid,
  .gallery-conversion__grid,
  .gallery-pathways__grid { grid-template-columns: minmax(0, 1fr); }
  .gallery-hero__copy { gap: var(--space-4); }
  .gallery-hero__copy h1 { font-size: clamp(2.75rem, 13vw, 3.25rem); }
  .gallery-hero__lead { width: 100%; }
  .gallery-hero__media { margin-top: var(--space-2); border-width: 8px; }
  .gallery-hero__media img { aspect-ratio: 4 / 5; object-position: 62% center; }
  .gallery-browse { padding-block: var(--space-7); }
  .gallery-browse__intro { width: 100%; }
  .gallery-filters { flex-wrap: nowrap; width: calc(100% + var(--gutter)); margin-right: calc(var(--gutter) * -1); overflow-x: auto; padding-bottom: var(--space-2); }
  .gallery-filter { flex: 0 0 auto; }
  .gallery-marquee { margin-top: var(--space-5); }
  .gallery-marquee__track { animation: none; }
  .gallery-lounge,
  .gallery-dining,
  .gallery-mood,
  .gallery-conversion { padding-block: var(--space-7); }
  .gallery-lounge__story,
  .gallery-dining__story,
  .gallery-mood__copy { width: 100%; }
  .gallery-lounge__grid > .gallery-tile,
  .gallery-dining__grid > .gallery-tile,
  .gallery-pathway,
  .gallery-pathway:last-child { grid-column: auto; }
  .gallery-tile--portrait img { aspect-ratio: 4 / 5; }
  .gallery-tile--social img { aspect-ratio: 4 / 5; }
  .gallery-dining::before { width: 100%; height: 36%; }
  .gallery-dining__story { padding: var(--space-5); }
  .gallery-route-cards { grid-template-columns: minmax(0, 1fr); }
  .gallery-route-card { min-height: auto; }
  .gallery-conversion__panel { padding: var(--space-6) var(--space-5); }
  .gallery-conversion__panel h2 { font-size: var(--text-display-m); }
  .gallery-conversion__media { border-width: 8px; }
  .gallery-conversion__media img { aspect-ratio: 1 / 1; }
  .gallery-pathways { padding-block: var(--space-7); }
  .gallery-pathways__frame { padding: var(--space-5); }
  .gallery-pathway { padding: var(--space-5) 0 0; border-top: 1px solid var(--color-line); border-left: 0; }
  .gallery-pathways__heading + .gallery-pathway { border-top: 0; padding-top: 0; }
  .gallery-signoff { padding-bottom: var(--space-7); }
  .gallery-signoff__copy { width: 100%; }
  .gallery-lightbox__dialog { grid-template-columns: minmax(0, 1fr); width: min(100%, 34rem); }
  .gallery-lightbox__previous,
  .gallery-lightbox__next { position: absolute; top: 45%; z-index: 2; }
  .gallery-lightbox__previous { left: var(--space-2); }
  .gallery-lightbox__next { right: var(--space-2); }
  .gallery-lightbox__figure img { max-height: calc(100vh - 14rem); }
}

@media (prefers-reduced-motion: reduce) {
  .gallery-marquee__track { animation: none; }
  .gallery-tile,
  .gallery-route-card,
  .gallery-route-card__mark { transition: none; }
}


.home-page {
  overflow: hidden;
}

.home-page a:not(.button) {
  font-weight: 700;
  text-decoration-color: var(--color-orange);
  text-decoration-thickness: 1px;
  text-underline-offset: 0.24em;
  transition: text-decoration-thickness var(--transition-fast), color var(--transition-fast);
}

.home-page a:not(.button):hover {
  text-decoration-thickness: 3px;
}

.home-hero {
  position: relative;
  padding-block: var(--space-8) 0;
  background: var(--color-cream);
}

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

.home-hero__copy,
.home-hero__visual,
.home-restaurant__copy,
.home-restaurant__figure,
.home-offline__figure,
.home-offline__content,
.home-programme__poster,
.home-programme__rail,
.home-routes__intro,
.home-routes__tiles {
  min-width: 0;
  width: 100%;
}

.home-hero__copy {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-5);
}

.home-hero__copy > * {
  margin: 0;
}

.home-hero__copy h1 {
  max-width: 10.5ch;
}

.home-hero__copy .lead {
  max-width: 35rem;
}

.home-hero__actions {
  width: 100%;
}

.home-hero__figure {
  position: relative;
  width: 100%;
  margin: 0;
  border: 14px solid var(--color-walnut);
  border-radius: var(--radius-md);
  overflow: hidden;
  background: var(--color-walnut);
}

.home-hero__figure::after,
.home-restaurant__figure::after,
.home-offline__figure::after {
  position: absolute;
  inset: 0;
  pointer-events: none;
  content: "";
  opacity: 0.08;
  background-image: repeating-radial-gradient(circle at 20% 20%, rgb(244 231 203 / 80%) 0 1px, transparent 1px 4px);
  mix-blend-mode: soft-light;
}

.home-hero__figure img {
  width: 100%;
  height: auto;
  aspect-ratio: 4 / 5;
  object-fit: cover;
  object-position: center;
}

.home-hero__token {
  position: absolute;
  right: var(--space-3);
  bottom: var(--space-3);
  display: grid;
  width: 2.75rem;
  height: 2.75rem;
  place-items: center;
  border: 2px solid var(--color-cream);
  border-radius: 50%;
  background: var(--color-orange);
  color: var(--color-cream);
  font-family: var(--font-display);
  font-size: 1.5rem;
}

.home-hero__poster {
  display: none;
}

.home-marquee {
  width: 100%;
  margin-top: var(--space-7);
  overflow: hidden;
  border-block: 1px solid var(--color-ink);
  background: var(--color-mustard);
  color: var(--color-ink);
  white-space: nowrap;
}

.home-marquee__track {
  display: inline-flex;
  min-width: max-content;
  align-items: center;
  gap: var(--space-5);
  padding: var(--space-3) var(--space-5);
  font-size: var(--text-small);
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  animation: home-marquee-scroll 28s linear infinite;
}

.home-marquee:hover .home-marquee__track,
.home-marquee:focus .home-marquee__track {
  animation-play-state: paused;
}

.home-marquee b {
  display: inline-grid;
  width: 1.25rem;
  height: 1.25rem;
  place-items: center;
  border: 1px solid currentColor;
  border-radius: 50%;
}

.home-pathways__intro,
.home-tables__intro,
.home-scenes__intro {
  max-width: 38rem;
}

.home-pathways__cards,
.home-tables__cards,
.home-scenes__cards {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: var(--space-4);
  margin-top: var(--space-7);
}

.home-path-card,
.home-table-card,
.home-scene,
.home-route {
  display: flex;
  min-width: 0;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-4);
  border: var(--border);
  border-radius: var(--radius-md);
  padding: var(--space-5);
  transition: transform var(--transition-card), box-shadow var(--transition-card), border-color var(--transition-card);
}

.home-path-card > *,
.home-table-card > *,
.home-scene > *,
.home-route > * {
  margin: 0;
}

.home-path-card:hover,
.home-table-card:hover,
.home-scene:hover,
.home-route:hover {
  border-color: var(--color-ink);
  box-shadow: var(--shadow-offset);
  transform: translateY(-4px);
}

.home-path-card--restaurant {
  background: var(--color-cream);
  color: var(--color-ink);
}

.home-path-card--lounge {
  background: var(--color-olive);
  color: var(--color-cream);
}

.home-path-card--lounge a,
.home-table-card--ink a,
.home-scene--olive a,
.home-route--olive a {
  text-decoration-color: var(--color-mustard);
}

.home-path-card--nights {
  background: var(--color-mustard);
  color: var(--color-ink);
}

.home-path-card__mark {
  display: grid;
  width: 2.5rem;
  height: 2.5rem;
  place-items: center;
  border: 2px solid currentColor;
  border-radius: 50%;
  font-family: var(--font-display);
  font-size: 1.25rem;
}

.home-restaurant {
  position: relative;
  padding-bottom: calc(var(--content-padding-block) + var(--space-6));
}

.home-restaurant::after,
.home-conversion::before {
  position: absolute;
  right: -5%;
  bottom: -2.5rem;
  left: -5%;
  z-index: 0;
  height: 5rem;
  border-radius: 0 0 50% 50%;
  background: inherit;
  content: "";
}

.home-restaurant__grid,
.home-offline__grid,
.home-programme__grid,
.home-routes__grid {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: var(--space-7);
}

.home-restaurant__copy {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-5);
}

.home-restaurant__copy > * {
  margin: 0;
}

.home-restaurant__copy h2 {
  max-width: 10ch;
}

.home-restaurant__copy > p:not(.eyebrow) {
  max-width: 33.75rem;
}

.home-sensory-list {
  display: grid;
  width: 100%;
  gap: var(--space-4);
  margin: 0;
  padding: 0;
  list-style: none;
}

.home-sensory-list li {
  display: grid;
  grid-template-columns: 1.25rem minmax(0, 1fr);
  gap: var(--space-3);
  min-width: 0;
}

.home-sensory-list li::before {
  padding-top: 0.08rem;
  color: var(--color-orange);
  content: "♦";
  transition: transform var(--transition-card);
}

.home-sensory-list li:hover::before {
  transform: rotate(8deg);
}

.home-sensory-list strong,
.home-sensory-list span {
  grid-column: 2;
}

.home-sensory-list strong {
  margin-bottom: calc(var(--space-1) * -1);
}

.home-restaurant__action {
  display: flex;
  width: 100%;
  max-width: 33.75rem;
  flex-direction: column;
  align-items: flex-center;
  gap: var(--space-3);
}

.home-restaurant__action p {
  margin: 0;
}

.home-restaurant__figure,
.home-offline__figure {
  position: relative;
  margin: 0;
  overflow: hidden;
  border: 2px solid var(--color-cream);
  border-radius: var(--radius-md);
  background: var(--color-cream);
  color: var(--color-ink);
}

.home-restaurant__figure img {
  width: 100%;
  aspect-ratio: 4 / 5;
  object-fit: cover;
}

.home-restaurant__figure figcaption,
.home-offline__figure figcaption {
  position: relative;
  z-index: 1;
  margin: 0;
  padding: var(--space-3) var(--space-4);
}

.home-offline {
  position: relative;
  padding-top: calc(var(--content-padding-block) + var(--space-5));
}

.home-offline__figure img {
  width: 100%;
  aspect-ratio: 4 / 5;
  object-fit: cover;
}

.home-offline__content {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-5);
}

.home-offline__content > * {
  margin: 0;
}

.home-offline__content h2 {
  max-width: 12ch;
}

.home-offline__content > .lead {
  max-width: 40rem;
}

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

.home-offline__panels article {
  display: flex;
  min-width: 0;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-3);
  border-radius: var(--radius-sm);
  background: var(--color-cream);
  color: var(--color-ink);
  padding: var(--space-4);
}

.home-offline__panels article > * {
  margin: 0;
}

.home-offline__panels span {
  display: grid;
  width: 2rem;
  height: 2rem;
  place-items: center;
  border-radius: 50%;
  background: var(--color-mustard);
  font-size: var(--text-small);
  font-weight: 700;
}

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

.home-offline__action {
  display: flex;
  width: 100%;
  max-width: 40rem;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-3);
  border: 1px solid var(--color-cream);
  border-radius: var(--radius-sm);
  padding: var(--space-4);
}

.home-offline__action p {
  margin: 0;
}

.home-tables__cards {
  margin-top: var(--space-7);
}

.home-table-card span {
  display: block;
  width: 100%;
  border-bottom: 1px solid currentColor;
  padding-bottom: var(--space-3);
  font-family: var(--font-display);
  font-size: clamp(3rem, 8vw, 5.5rem);
  font-weight: 700;
  letter-spacing: var(--tracking-display);
  line-height: 0.9;
}

.home-table-card--mustard {
  background: var(--color-mustard);
  color: var(--color-ink);
}

.home-table-card--apricot {
  background: var(--color-apricot);
  color: var(--color-ink);
}

.home-table-card--ink {
  background: var(--color-ink);
  color: var(--color-cream);
}

.home-table-card--ink hr {
  width: 100%;
  margin: 0;
  background: var(--color-line);
}

.home-table-card--ink a + a {
  margin-top: calc(var(--space-2) * -1);
}

.home-programme {
  position: relative;
  padding-block: calc(var(--content-padding-block) + var(--space-4));
}

.home-programme__poster {
  display: flex;
  min-width: 0;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-4);
  border: 2px solid var(--color-ink);
  background: var(--color-orange);
  padding: var(--space-5);
  box-shadow: var(--shadow-offset);
}

.home-programme__poster > * {
  margin: 0;
}

.home-programme__poster h2 {
  max-width: 9ch;
}

.home-programme__poster > p:not(.eyebrow) {
  max-width: 28.75rem;
}

.home-programme__night {
  width: 100%;
  overflow-wrap: anywhere;
  color: var(--color-mustard);
  font-family: var(--font-display);
  font-size: clamp(3.5rem, 14vw, 8.5rem);
  font-weight: 700;
  letter-spacing: -0.07em;
  line-height: 0.76;
}

.home-programme__rail {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: var(--space-5);
}

.home-programme__rail > article {
  display: grid;
  grid-template-columns: 2rem minmax(0, 1fr);
  gap: var(--space-3);
  min-width: 0;
  border-bottom: 1px solid rgb(244 231 203 / 55%);
  padding-bottom: var(--space-5);
}

.home-programme__rail > article > span {
  font-family: var(--font-display);
  font-size: 1.75rem;
  transition: transform var(--transition-fast);
}

.home-programme__rail > article:hover > span {
  transform: translateX(4px);
}

.home-programme__rail h3,
.home-programme__rail p {
  margin: 0;
}

.home-programme__rail h3 {
  margin-bottom: var(--space-2);
  font-size: var(--text-card-title);
}

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

.home-programme__button {
  border-color: var(--color-cream);
  background: var(--color-cream);
  color: var(--color-ink);
}

.home-programme__button:hover {
  border-color: var(--color-mustard);
  background: var(--color-mustard);
  color: var(--color-ink);
}

.home-programme__actions a:not(.button) {
  text-decoration-color: var(--color-cream);
}

.home-scenes__cards {
  margin-top: var(--space-7);
}

.home-scene {
  min-height: 100%;
}

.home-scene__quote {
  font-family: var(--font-display);
  font-size: 4.5rem;
  font-weight: 700;
  line-height: 0.65;
}

.home-scene--apricot {
  background: var(--color-apricot);
  color: var(--color-ink);
}

.home-scene--olive {
  background: var(--color-olive);
  color: var(--color-cream);
}

.home-scene--mustard {
  background: var(--color-mustard);
  color: var(--color-ink);
}

.home-routes__intro {
  max-width: 26.25rem;
}

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

.home-route {
  min-height: 100%;
}

.home-route h3 {
  font-size: var(--text-card-title);
}

.home-route > div {
  display: flex;
  width: 100%;
  min-width: 0;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-3);
}

.home-route--cream {
  background: var(--color-cream);
  color: var(--color-ink);
}

.home-route--olive {
  background: var(--color-olive);
  color: var(--color-cream);
}

.home-route--mustard {
  background: var(--color-mustard);
  color: var(--color-ink);
}

.home-route--apricot {
  background: var(--color-apricot);
  color: var(--color-ink);
}

.home-conversion {
  position: relative;
  padding-top: calc(var(--content-padding-block) + var(--space-4));
}

.home-conversion::before {
  top: -2.5rem;
  bottom: auto;
  border-radius: 50% 50% 0 0;
}

.home-conversion__panel {
  position: relative;
  z-index: 1;
  display: flex;
  max-width: 51.25rem;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-5);
  margin-inline: auto;
}

.home-conversion__panel > * {
  margin: 0;
}

.home-conversion__panel h2 {
  max-width: 13ch;
}

.home-conversion__panel > p:not(.eyebrow) {
  max-width: 38.75rem;
}

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

.home-conversion__actions > div {
  display: flex;
  min-width: 0;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-3);
}

.home-conversion__actions p {
  margin: 0;
}

.home-conversion__actions .button {
  width: 100%;
}

.home-practical {
  padding-block: var(--space-6);
  background: var(--color-cream);
}

.home-practical p {
  margin: 0;
  border-top: 1px solid var(--color-line);
  padding-top: var(--space-4);
}

@media (min-width: 42.5rem) {
  .home-conversion__actions {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .home-hero__actions {
    width: auto;
  }
}

@media (min-width: 47.5rem) {
  .home-pathways__cards,
  .home-tables__cards,
  .home-scenes__cards {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .home-pathways__cards > :nth-child(3),
  .home-tables__cards > :nth-child(3),
  .home-scenes__cards > :nth-child(3) {
    grid-column: 1 / -1;
  }

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

  .home-offline__panels > :nth-child(3) {
    grid-column: 1 / -1;
  }

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

@media (min-width: 56.25rem) {
  .home-programme__grid {
    grid-template-columns: minmax(0, 7fr) minmax(0, 5fr);
    gap: var(--space-7);
  }

  .home-programme__poster {
    padding: var(--space-7);
  }
}

@media (min-width: 61.25rem) {
  .home-restaurant__grid {
    grid-template-columns: minmax(0, 5fr) minmax(0, 1fr) minmax(0, 6fr);
    align-items: center;
  }

  .home-restaurant__copy {
    grid-column: 1;
  }

  .home-restaurant__figure {
    grid-column: 3;
    margin-top: calc(var(--space-6) * -1);
  }

  .home-restaurant__figure img {
    aspect-ratio: 3 / 2;
  }
}

@media (min-width: 65.625rem) {
  .home-offline__grid {
    grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
    align-items: start;
  }

  .home-offline__figure {
    margin-top: var(--space-6);
  }

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

  .home-offline__panels > :nth-child(3) {
    grid-column: auto;
  }
}

@media (min-width: 68.75rem) {
  .home-hero {
    padding-top: var(--space-10);
  }

  .home-hero__grid {
    grid-template-columns: minmax(0, 7fr) minmax(24.375rem, 5fr);
    gap: var(--space-6);
  }

  .home-hero__copy {
    padding-top: var(--space-5);
  }

  .home-hero__figure {
    border-width: 14px;
    box-shadow: -1.5rem 2.5rem 0 var(--color-walnut);
  }

  .home-hero__figure img {
    aspect-ratio: 3 / 2;
  }

  .home-hero__poster {
    position: absolute;
    right: calc(var(--space-5) * -1);
    bottom: calc(var(--space-5) * -1);
    display: flex;
    width: 7.5rem;
    min-width: 0;
    flex-direction: column;
    gap: var(--space-2);
    border: 2px solid var(--color-ink);
    background: var(--color-orange);
    color: var(--color-cream);
    padding: var(--space-3);
  }

  .home-hero__poster span {
    font-family: var(--font-display);
    font-size: 3rem;
    font-weight: 700;
    line-height: 0.85;
  }

  .home-hero__poster small {
    font-size: 0.6rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    line-height: 1.25;
  }

  .home-pathways__cards,
  .home-tables__cards,
  .home-scenes__cards {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .home-pathways__cards > :nth-child(3),
  .home-tables__cards > :nth-child(3),
  .home-scenes__cards > :nth-child(3) {
    grid-column: auto;
  }

  .home-scenes__cards > :nth-child(2) {
    transform: translateY(var(--space-7));
  }

  .home-scenes__cards > :nth-child(2):hover {
    transform: translateY(calc(var(--space-7) - 4px));
  }

  .home-routes__grid {
    grid-template-columns: minmax(0, 4fr) minmax(0, 8fr);
    gap: var(--space-7);
    align-items: start;
  }
}

@media (max-width: 47.49rem) {
  .home-hero__actions {
    flex-direction: column;
    align-items: stretch;
  }

  .home-hero__actions > .button {
    width: 100%;
  }
}

@media (max-width: 42.49rem) {
  .home-conversion__actions {
    grid-template-columns: minmax(0, 1fr);
  }
}

@media (prefers-reduced-motion: reduce) {
  .home-marquee__track {
    animation: none;
  }

  .home-sensory-list li:hover::before,
  .home-programme__rail > article:hover > span,
  .home-scenes__cards > :nth-child(2):hover {
    transform: none;
  }
}

@keyframes home-marquee-scroll {
  from { transform: translateX(0); }
  to { transform: translateX(-50%); }
}


.poker-tables-page {
  overflow: clip;
}

.poker-tables-page .section {
  position: relative;
}

.poker-tables-page .eyebrow {
  display: flex;
  align-items: center;
  gap: var(--space-2);
}

.poker-tables-page .button {
  min-width: 0;
}

.pt-hero {
  padding: var(--space-6) 0 var(--space-8);
  background: var(--color-cream);
}

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

.pt-hero__copy,
.pt-hero__media,
.pt-craft__copy,
.pt-craft__media,
.pt-rhythm__copy,
.pt-rhythm__list,
.pt-connected__copy,
.pt-connected__media,
.pt-planning__copy,
.pt-accordion {
  min-width: 0;
  width: 100%;
}

.pt-hero__copy {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-5);
  padding: clamp(var(--space-6), 5vw, var(--space-10)) clamp(var(--space-5), 4vw, var(--space-8));
  border-radius: 0 0 var(--radius-lg) var(--radius-lg);
  background: var(--color-cream);
}

.pt-hero__copy h1,
.pt-hero__copy p,
.pt-hero__copy .actions {
  margin: 0;
}

.pt-hero__eyebrow {
  color: var(--color-olive);
}

.pt-hero__copy h1 {
  max-width: 620px;
  color: var(--color-ink);
  font-size: clamp(3.25rem, 3.1vw + 1.9rem, 5rem);
}

.pt-hero__copy > .lead {
  max-width: 560px;
}

.pt-hero__actions {
  width: 100%;
}

.pt-hero__media {
  position: relative;
  align-self: stretch;
  margin-top: var(--space-6);
  border: 2px solid var(--color-walnut);
  border-radius: var(--radius-md);
  box-shadow: var(--shadow-offset);
  overflow: hidden;
}

.pt-hero__media::after,
.pt-craft__media::after,
.pt-connected__media::after {
  position: absolute;
  inset: 0;
  background: rgb(198 83 45 / 7%);
  content: "";
  pointer-events: none;
}

.pt-hero__media img {
  width: 100%;
  height: 100%;
  min-height: 33rem;
  object-fit: cover;
  object-position: 68% center;
}

.pt-marquee {
  width: 100%;
  overflow: hidden;
  background: var(--color-mustard);
  color: var(--color-ink);
  padding-block: var(--space-3);
}

.pt-marquee__track {
  display: flex;
  width: max-content;
  min-width: 100%;
  align-items: center;
  gap: var(--space-4);
  animation: pt-marquee-scroll 28s linear infinite;
  font-size: var(--text-label);
  font-weight: 700;
  letter-spacing: var(--tracking-label);
  line-height: var(--leading-label);
  text-transform: uppercase;
  white-space: nowrap;
}

.pt-marquee:hover .pt-marquee__track,
.pt-marquee:focus-within .pt-marquee__track {
  animation-play-state: paused;
}

@keyframes pt-marquee-scroll {
  from { transform: translateX(0); }
  to { transform: translateX(-25%); }
}

.pt-principles {
  padding-top: var(--space-9);
}

.pt-principles__label {
  max-width: 280px;
  color: var(--color-olive);
}

.pt-principles__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0;
  border-top: var(--border);
  border-bottom: var(--border);
}

.pt-principle {
  display: grid;
  grid-template-columns: 4.5rem minmax(0, 1fr);
  gap: var(--space-4);
  min-width: 0;
  padding: var(--space-6) var(--space-5);
}

.pt-principle + .pt-principle {
  border-inline-start: var(--border);
}

.pt-principle__number,
.pt-principle__content h2,
.pt-principle__content p {
  margin: 0;
}

.pt-principle__number {
  color: var(--color-mustard);
  font-family: var(--font-display);
  font-size: 3rem;
  font-weight: 700;
  letter-spacing: var(--tracking-display);
  line-height: 1;
}

.pt-principle__number--orange {
  color: var(--color-orange);
}

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

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

.pt-craft__grid {
  display: grid;
  grid-template-columns: minmax(0, 8fr) minmax(0, 4fr);
  align-items: center;
  gap: var(--space-7);
}

.pt-craft__copy {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-5);
}

.pt-craft__copy h2,
.pt-craft__copy p,
.pt-craft__body,
.pt-craft__copy .pt-text-link {
  margin: 0;
}

.pt-craft__eyebrow {
  color: var(--color-olive);
}

.pt-craft__copy h2 {
  max-width: 650px;
  font-size: var(--text-display-m);
}

.pt-craft__body {
  display: flex;
  max-width: 650px;
  flex-direction: column;
  gap: var(--space-5);
}

.pt-craft__pull strong {
  font-family: var(--font-display);
  font-size: var(--text-lead);
  letter-spacing: var(--tracking-display);
}

.pt-craft__media {
  position: relative;
  margin: var(--space-6) 0 0;
  border: 2px solid var(--color-walnut);
  border-radius: var(--radius-md);
  box-shadow: var(--shadow-offset);
  overflow: hidden;
}

.pt-craft__media img {
  width: 100%;
  aspect-ratio: 4 / 5;
  object-fit: cover;
}

.pt-text-link {
  display: inline-flex;
  align-items: center;
  gap: var(--space-2);
  color: var(--color-orange);
  font-size: var(--text-small);
  font-weight: 700;
  text-decoration: none;
}

.pt-text-link::after,
.pt-mood-card a::after {
  width: 100%;
  height: 2px;
  background: currentColor;
  content: "";
  transform: scaleX(0);
  transform-origin: left;
  transition: transform var(--transition-fast);
}

.pt-text-link:hover::after,
.pt-text-link:focus-visible::after,
.pt-mood-card a:hover::after,
.pt-mood-card a:focus-visible::after {
  transform: scaleX(1);
}

.pt-text-link {
  flex-wrap: wrap;
}

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

.pt-moods::before {
  position: absolute;
  inset: 0;
  opacity: 0.08;
  background-image: radial-gradient(circle at center, var(--color-cream) 0 2px, transparent 2px);
  background-size: 22px 22px;
  content: "";
  pointer-events: none;
}

.pt-moods > .container {
  position: relative;
}

.pt-moods__intro {
  display: flex;
  max-width: 620px;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-4);
  margin-bottom: var(--space-7);
}

.pt-moods__intro h2,
.pt-moods__intro p {
  margin: 0;
}

.pt-moods__intro .eyebrow {
  color: var(--color-mustard);
}

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

.pt-mood-card {
  display: flex;
  min-width: 0;
  min-height: 100%;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-4);
  border: var(--border);
  border-radius: var(--radius-sm);
  background: var(--color-cream);
  color: var(--color-ink);
  padding: var(--space-5);
}

.pt-mood-card--offset {
  margin-top: var(--space-5);
}

.pt-mood-card__suit,
.pt-mood-card h3,
.pt-mood-card p,
.pt-mood-card a {
  margin: 0;
}

.pt-mood-card__suit {
  color: var(--color-orange);
  font-size: 1.5rem;
}

.pt-mood-card h3 {
  font-size: var(--text-card-title);
}

.pt-mood-card a {
  display: inline-flex;
  flex-wrap: wrap;
  gap: var(--space-2);
  margin-top: auto;
  color: var(--color-orange);
  font-size: var(--text-small);
  font-weight: 700;
  text-decoration: none;
}

.pt-mood-card a::after {
  flex-basis: 100%;
}

.pt-rhythm {
  margin-top: calc(var(--space-8) * -1);
  padding-top: calc(var(--content-padding-block) + var(--space-8));
  border-radius: 0 0 4rem 4rem;
}

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

.pt-rhythm__copy {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-5);
}

.pt-rhythm__copy h2,
.pt-rhythm__copy p,
.pt-rhythm__copy .button {
  margin: 0;
}

.pt-rhythm__copy h2 {
  max-width: 590px;
  font-size: var(--text-display-m);
}

.pt-rhythm__copy > p:not(.eyebrow) {
  max-width: 590px;
}

.pt-rhythm__button {
  border-color: var(--color-mustard);
  background: var(--color-mustard);
  color: var(--color-ink);
}

.pt-rhythm__button:hover {
  border-color: #bc8d1f;
  background: #bc8d1f;
  color: var(--color-ink);
}

.pt-rhythm__list {
  border-top: 2px solid var(--color-cream);
}

.pt-rhythm__item {
  display: grid;
  grid-template-columns: 4.5rem minmax(0, 1fr);
  gap: var(--space-4);
  min-width: 0;
  padding-block: var(--space-5);
  border-bottom: 1px solid rgb(244 231 203 / 55%);
}

.pt-rhythm__item span,
.pt-rhythm__item p {
  margin: 0;
}

.pt-rhythm__item span {
  font-family: var(--font-display);
  font-size: 2.5rem;
  font-weight: 700;
  line-height: 1;
}

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

.pt-connected__copy {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-5);
}

.pt-connected__copy h2,
.pt-connected__copy p,
.pt-connected__copy .pt-text-link {
  margin: 0;
}

.pt-connected__copy .eyebrow {
  color: var(--color-walnut);
}

.pt-connected__copy h2,
.pt-connected__copy > p:not(.eyebrow) {
  max-width: 640px;
}

.pt-connected__media {
  position: relative;
  margin: calc(var(--space-5) * -1) 0 0;
  border: 2px solid var(--color-walnut);
  border-radius: var(--radius-md);
  box-shadow: var(--shadow-offset);
  overflow: hidden;
}

.pt-connected__media img {
  width: 100%;
  aspect-ratio: 3 / 2;
  object-fit: cover;
}

.pt-connected__media figcaption {
  position: relative;
  z-index: 1;
  max-width: 560px;
  margin: 0;
  background: var(--color-cream);
  color: var(--color-ink);
  padding: var(--space-3) var(--space-4);
}

.pt-connected__media figcaption span {
  color: var(--color-orange);
}

.pt-programming::before {
  position: absolute;
  inset: 0;
  opacity: 0.1;
  background: repeating-linear-gradient(-45deg, transparent 0 12px, var(--color-line) 12px 13px);
  content: "";
  pointer-events: none;
}

.pt-programming > .container {
  position: relative;
}

.pt-programming__intro {
  display: flex;
  max-width: 600px;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-4);
  margin-bottom: var(--space-7);
}

.pt-programming__intro h2,
.pt-programming__intro p {
  margin: 0;
}

.pt-programming__intro .eyebrow {
  color: var(--color-mustard);
}

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

.pt-ticket {
  display: flex;
  min-width: 0;
  min-height: 100%;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-4);
  border: var(--border);
  border-radius: var(--radius-sm);
  background: var(--color-cream);
  color: var(--color-ink);
  padding: var(--space-5);
}

.pt-ticket h3,
.pt-ticket p,
.pt-ticket a {
  margin: 0;
}

.pt-ticket h3 {
  font-size: var(--text-card-title);
}

.pt-ticket .pt-text-link {
  margin-top: auto;
}

.pt-ticket--action {
  border-top: var(--space-2) solid var(--color-mustard);
}

.pt-ticket__label {
  color: var(--color-orange);
  font-size: var(--text-label);
  font-weight: 700;
  letter-spacing: var(--tracking-label);
  text-transform: uppercase;
}

.pt-ticket--action .button {
  margin-top: auto;
  width: 100%;
  border-color: var(--color-mustard);
  background: var(--color-mustard);
  color: var(--color-ink);
}

.pt-ticket--action .button:hover {
  border-color: #bc8d1f;
  background: #bc8d1f;
  color: var(--color-ink);
}

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

.pt-planning__copy {
  display: flex;
  max-width: 580px;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-5);
}

.pt-planning__copy h2,
.pt-planning__copy p,
.pt-planning__copy a {
  margin: 0;
}

.pt-planning__copy .eyebrow {
  color: var(--color-olive);
}

.pt-accordion {
  border-top: var(--border);
}

.pt-accordion__item {
  border-bottom: var(--border);
}

.pt-accordion__item h3 {
  margin: 0;
  font-family: var(--font-body);
  font-size: 1rem;
  letter-spacing: 0;
}

.pt-accordion__item button {
  display: flex;
  width: 100%;
  min-height: 3.75rem;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-4);
  border: 0;
  border-radius: 0;
  background: transparent;
  color: var(--color-ink);
  padding: var(--space-4) 0;
  text-align: left;
  transform: none;
}

.pt-accordion__item button:hover {
  background: transparent;
  color: var(--color-orange);
  transform: none;
}

.pt-accordion__item button span {
  flex: 0 0 auto;
  font-family: var(--font-display);
  font-size: 1.75rem;
  font-weight: 400;
  line-height: 1;
}

.pt-accordion__item button[aria-expanded="true"] span {
  transform: rotate(45deg);
}

.pt-accordion__panel {
  padding: 0 0 var(--space-5);
}

.pt-accordion__panel p {
  margin: 0;
}

.pt-accordion__panel a {
  color: var(--color-orange);
  font-weight: 700;
}

.pt-routes__intro {
  display: flex;
  max-width: 680px;
  flex-direction: column;
  align-items: center;
  gap: var(--space-4);
  margin: 0 auto var(--space-7);
  text-align: center;
}

.pt-routes__intro h2,
.pt-routes__intro p {
  margin: 0;
}

.pt-routes__intro .eyebrow {
  color: var(--color-walnut);
}

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

.pt-route {
  display: flex;
  min-width: 0;
  min-height: 100%;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-4);
  border: 1px solid var(--color-line);
  border-radius: var(--radius-md);
  padding: var(--space-5);
  text-decoration: none;
  transition: transform var(--transition-card), box-shadow var(--transition-card), border-color var(--transition-card);
}

.pt-route:hover {
  border-color: var(--color-ink);
  box-shadow: var(--shadow-offset);
  transform: translateY(-4px);
}

.pt-route h3,
.pt-route p,
.pt-route span {
  margin: 0;
}

.pt-route h3 {
  font-size: var(--text-card-title);
}

.pt-route__suit {
  font-size: 1.5rem;
}

.pt-route__link {
  margin-top: auto !important;
  font-size: var(--text-small);
  font-weight: 700;
  text-decoration: underline;
  text-underline-offset: 0.16em;
}

.pt-route--olive,
.pt-route--walnut {
  color: var(--color-cream);
}

.pt-route--olive { background: var(--color-olive); }
.pt-route--mustard { background: var(--color-mustard); color: var(--color-ink); }
.pt-route--walnut { background: var(--color-walnut); }

.pt-closing {
  border-radius: 4rem 4rem 0 0;
  text-align: center;
}

.pt-closing__inner {
  display: flex;
  max-width: 760px;
  flex-direction: column;
  align-items: center;
  gap: var(--space-5);
  margin-inline: auto;
}

.pt-closing__inner h2,
.pt-closing__inner p,
.pt-closing__inner .actions {
  margin: 0;
}

.pt-closing__inner .eyebrow {
  color: var(--color-mustard);
}

.pt-closing__inner h2 {
  max-width: 760px;
}

.pt-closing__inner > p:not(.eyebrow) {
  max-width: 560px;
}

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

@media (max-width: 68.74rem) {
  .pt-moods__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .pt-mood-card--offset {
    margin-top: 0;
  }

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

  .pt-ticket--action {
    grid-column: 1 / -1;
  }
}

@media (max-width: 61.24rem) {
  .pt-hero__grid {
    grid-template-columns: minmax(0, 1fr);
    gap: var(--space-4);
  }

  .pt-hero__copy {
    max-width: 42rem;
  }

  .pt-hero__media {
    margin-top: 0;
  }

  .pt-hero__media img {
    min-height: 0;
    aspect-ratio: 4 / 5;
    object-position: center;
  }

  .pt-craft__grid,
  .pt-rhythm__grid,
  .pt-connected__grid,
  .pt-planning__grid {
    grid-template-columns: minmax(0, 1fr);
    gap: var(--space-6);
  }

  .pt-craft__media,
  .pt-connected__media {
    max-width: 42rem;
  }

  .pt-craft__media {
    margin-top: 0;
  }

  .pt-connected__media {
    margin-top: 0;
  }

  .pt-rhythm {
    margin-top: 0;
    padding-top: var(--content-padding-block);
  }
}

@media (max-width: 47.99rem) {
  .pt-hero {
    padding-top: var(--space-5);
  }

  .pt-hero__copy {
    gap: var(--space-4);
    padding: var(--space-6) var(--space-5);
  }

  .pt-hero__copy h1 {
    font-size: clamp(3.25rem, 14vw, 4.25rem);
  }

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

  .pt-hero__actions > .button {
    width: 100%;
  }

  .pt-principles {
    padding-top: var(--space-8);
  }

  .pt-principles__grid,
  .pt-moods__grid,
  .pt-tickets,
  .pt-routes__grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .pt-principle {
    padding-inline: 0;
  }

  .pt-principle + .pt-principle {
    border-top: var(--border);
    border-inline-start: 0;
  }

  .pt-moods__grid,
  .pt-tickets,
  .pt-routes__grid {
    gap: var(--space-4);
  }

  .pt-moods__intro,
  .pt-programming__intro,
  .pt-routes__intro {
    margin-bottom: var(--space-6);
  }

  .pt-moods__intro h2,
  .pt-rhythm__copy h2,
  .pt-craft__copy h2,
  .pt-connected__copy h2,
  .pt-programming__intro h2,
  .pt-planning__copy h2,
  .pt-routes__intro h2 {
    font-size: var(--text-section);
  }

  .pt-rhythm__item {
    grid-template-columns: 2.375rem minmax(0, 1fr);
    gap: var(--space-3);
  }

  .pt-rhythm__item span {
    font-size: 1.75rem;
  }

  .pt-connected__media img {
    aspect-ratio: 1 / 1;
  }

  .pt-ticket--action {
    grid-column: auto;
  }

  .pt-accordion__item button {
    min-height: 2.75rem;
    padding-inline: var(--space-4);
  }

  .pt-accordion__panel {
    padding-inline: var(--space-4);
  }

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

  .pt-closing__inner {
    align-items: stretch;
  }

  .pt-closing__inner .eyebrow,
  .pt-closing__inner h2,
  .pt-closing__inner > p {
    text-align: center;
  }

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

  .pt-closing__actions > .button {
    width: 100%;
  }
}

@media (prefers-reduced-motion: reduce) {
  .pt-marquee__track {
    animation: none;
  }
}


.faq-page {
  overflow: hidden;
}

.faq-page a:not(.button) {
  font-weight: 700;
  text-decoration-color: currentColor;
}

.faq-hero {
  padding-block: clamp(3rem, 6vw, 8rem);
}

.faq-hero__grid,
.faq-dining__grid,
.faq-card-experience__grid,
.faq-planning__grid,
.faq-final__panel {
  display: grid;
  min-width: 0;
  gap: var(--space-6);
}

.faq-hero__story,
.faq-hero__media,
.faq-dining__content,
.faq-dining__media,
.faq-card-experience__content,
.faq-poster,
.faq-planning__content,
.faq-next-card,
.faq-final__story,
.faq-final__actions {
  min-width: 0;
  width: 100%;
}

.faq-hero__story {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-4);
}

.faq-hero__story > * {
  margin: 0;
}

.faq-hero__story h1 {
  max-width: 42rem;
}

.faq-hero__story .lead {
  max-width: 36.875rem;
}

.faq-hero__actions {
  margin-top: var(--space-2);
}

.faq-hero__media {
  position: relative;
  border: 8px solid var(--color-walnut);
  border-radius: var(--radius-md);
  overflow: hidden;
  box-shadow: var(--shadow-offset);
}

.faq-hero__media::after,
.faq-dining__media::after {
  position: absolute;
  inset: 0;
  pointer-events: none;
  content: '';
  opacity: 0.08;
  background-image: radial-gradient(var(--color-cream) 0.7px, transparent 0.8px);
  background-size: 5px 5px;
}

.faq-hero__media img {
  width: 100%;
  height: 100%;
  min-width: 0;
  object-fit: cover;
  aspect-ratio: 3 / 2;
}

.faq-hero__media figcaption {
  position: absolute;
  z-index: 1;
  right: var(--space-3);
  bottom: var(--space-3);
  max-width: 17rem;
  margin: 0;
  background: var(--color-cream);
  padding: var(--space-2) var(--space-3);
}

.faq-routes__inner {
  display: flex;
  min-width: 0;
  align-items: center;
  justify-content: center;
  gap: var(--space-4);
  padding-block: var(--space-4);
}

.faq-routes__inner > a {
  display: inline-flex;
  min-width: 0;
  min-height: 2.75rem;
  align-items: center;
  justify-content: center;
  font-size: var(--text-small);
  font-weight: 700;
  letter-spacing: 0.04em;
  text-align: center;
  text-decoration: none;
}

.faq-routes__inner > a::after {
  width: 0;
  height: 2px;
  margin-top: 2px;
  content: '';
  background: var(--color-ink);
  transition: width var(--transition-fast);
}

.faq-routes__inner > a:hover::after,
.faq-routes__inner > a:focus-visible::after {
  width: 100%;
}

.faq-routes__inner > span {
  display: inline-flex;
  width: 1.25rem;
  min-width: 1.25rem;
  height: 1.25rem;
  align-items: center;
  justify-content: center;
  border: 1px solid var(--color-ink);
  border-radius: 50%;
  font-size: 0.7rem;
}

.faq-dining__content,
.faq-card-experience__content,
.faq-planning__content {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-4);
}

.faq-dining__content > *,
.faq-card-experience__content > *,
.faq-planning__content > * {
  margin: 0;
}

.faq-dining__intro,
.faq-planning__intro {
  max-width: 37.5rem;
}

.faq-dining__media {
  position: relative;
  align-self: start;
  border: 8px solid var(--color-walnut);
  border-radius: var(--radius-md);
  overflow: hidden;
}

.faq-dining__media img {
  width: 100%;
  min-width: 0;
  aspect-ratio: 4 / 5;
  object-fit: cover;
}

.faq-dining__media figcaption {
  position: absolute;
  right: var(--space-3);
  bottom: var(--space-3);
  left: var(--space-3);
  margin: 0;
  background: var(--color-cream);
  padding: var(--space-2);
}

.faq-list {
  display: flex;
  width: 100%;
  min-width: 0;
  flex-direction: column;
  align-items: stretch;
  gap: var(--space-3);
}

.faq-item {
  min-width: 0;
  border-top: var(--border);
  border-bottom: var(--border);
}

.faq-item[open] {
  border: var(--border);
  border-radius: var(--radius-sm);
  background: color-mix(in srgb, var(--color-apricot) 40%, var(--color-cream));
}

.faq-item summary {
  display: flex;
  min-height: 3.25rem;
  min-width: 0;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-3);
  padding: var(--space-4) 0;
  color: inherit;
  cursor: pointer;
  font-family: var(--font-display);
  font-size: var(--text-card-title);
  font-weight: 700;
  letter-spacing: var(--tracking-display);
  line-height: var(--leading-card-title);
  list-style: none;
}

.faq-item[open] summary {
  padding: var(--space-4);
  border-bottom: 3px solid var(--color-mustard);
}

.faq-item summary::-webkit-details-marker {
  display: none;
}

.faq-item summary::after {
  display: inline-flex;
  width: 1.75rem;
  min-width: 1.75rem;
  height: 1.75rem;
  align-items: center;
  justify-content: center;
  border: 1px solid currentColor;
  border-radius: 50%;
  content: '+';
  font-family: var(--font-body);
  font-size: 1.25rem;
  font-weight: 400;
}

.faq-item[open] summary::after {
  content: '−';
}

.faq-answer {
  display: flex;
  min-width: 0;
  flex-direction: column;
  align-items: stretch;
  gap: var(--space-4);
  padding: 0 var(--space-4) var(--space-4);
}

.faq-answer > * {
  margin: 0;
}

.faq-answer > p,
.faq-answer > ul,
.faq-answer > dl {
  max-width: 41.25rem;
}

.faq-compare {
  display: grid;
  min-width: 0;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-4);
}

.faq-compare > div {
  min-width: 0;
  border-top: var(--border);
  padding-top: var(--space-3);
}

.faq-compare dt {
  margin-bottom: var(--space-1);
  font-size: var(--text-label);
  font-weight: 700;
  letter-spacing: var(--tracking-label);
  text-transform: uppercase;
}

.faq-compare dd {
  margin: 0;
  font-size: var(--text-small);
  line-height: var(--leading-small);
}

.faq-definition,
.faq-checklist {
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: var(--space-2);
  padding: var(--space-3) var(--space-4);
  border: var(--border);
  background: var(--color-cream);
}

.faq-definition li,
.faq-checklist li {
  margin: 0;
}

.faq-callout {
  border-left: 3px solid var(--color-orange);
  background: var(--color-apricot);
  padding: var(--space-3) var(--space-4);
  font-weight: 700;
}

.faq-card-experience {
  position: relative;
}

.faq-card-experience__intro {
  max-width: 35rem;
}

.faq-list--paper {
  border-radius: var(--radius-sm);
  background: var(--color-cream);
  color: var(--color-ink);
  padding: var(--space-5);
}

.faq-poster {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-4);
  align-self: start;
  border: var(--border-strong);
  background: var(--color-orange);
  color: var(--color-cream);
  padding: var(--space-6);
}

.faq-poster > * {
  margin: 0;
}

.faq-poster__message {
  max-width: 18rem;
  font-family: var(--font-display);
  font-size: clamp(2.25rem, 4vw, 3.5rem);
  font-weight: 700;
  letter-spacing: var(--tracking-display);
  line-height: 0.95;
}

.faq-tables__intro {
  display: flex;
  width: 100%;
  min-width: 0;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-4);
  max-width: 37.5rem;
  margin-bottom: var(--space-7);
}

.faq-tables__intro > * {
  margin: 0;
}

.faq-table-cards {
  display: grid;
  min-width: 0;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--space-5);
}

.faq-table-cards > .faq-item {
  min-width: 0;
  align-self: start;
}

.faq-item--card {
  border: var(--border);
  border-radius: var(--radius-sm);
  background: var(--color-cream);
  transition: transform var(--transition-card), box-shadow var(--transition-card), border-color var(--transition-card);
}

.faq-item--card summary {
  padding: var(--space-4);
}

.faq-item--card[open] summary {
  border-bottom: 3px solid var(--color-mustard);
}

.faq-caption {
  color: var(--color-walnut);
  font-size: var(--text-label);
  font-weight: 700;
  letter-spacing: var(--tracking-label);
  text-transform: uppercase;
}

.faq-nights {
  padding-top: calc(var(--content-padding-block) + var(--space-4));
}

.faq-nights__frame {
  position: relative;
  display: grid;
  min-width: 0;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: var(--space-5);
}

.faq-nights__heading {
  display: flex;
  min-width: 0;
  grid-column: 3 / span 7;
  flex-direction: column;
  align-items: center;
  gap: var(--space-3);
  text-align: center;
}

.faq-nights__heading > * {
  margin: 0;
}

.faq-nights__heading p:last-child {
  max-width: 35rem;
}

.faq-nights__poster {
  display: flex;
  min-width: 0;
  grid-column: 9 / span 4;
  grid-row: 2;
  align-items: flex-start;
  justify-content: flex-end;
  color: var(--color-mustard);
  pointer-events: none;
}

.faq-nights__poster span {
  font-size: 4rem;
  line-height: 1;
}

.faq-nights__poster strong {
  font-family: var(--font-display);
  font-size: clamp(5rem, 11vw, 10rem);
  letter-spacing: var(--tracking-display);
  line-height: 0.8;
}

.faq-nights__panel {
  display: flex;
  min-width: 0;
  grid-column: 3 / span 8;
  grid-row: 2;
  flex-direction: column;
  align-items: stretch;
  gap: var(--space-5);
  border-radius: var(--radius-sm);
  background: var(--color-cream);
  color: var(--color-ink);
  padding: var(--space-6);
}

.faq-nights__action {
  align-self: flex-start;
}

.faq-planning__intro {
  max-width: 37.5rem;
}

.faq-next-card {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  align-self: start;
  gap: var(--space-4);
  border-radius: var(--radius-md);
  padding: var(--space-6);
}

.faq-next-card > * {
  margin: 0;
}

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

.faq-next-card__actions {
  display: flex;
  width: 100%;
  min-width: 0;
  flex-direction: column;
  align-items: stretch;
  gap: var(--space-3);
}

.faq-next-card__actions > .button {
  width: 100%;
}

.faq-closing-line {
  font-family: var(--font-display);
  font-size: var(--text-lead);
  font-style: italic;
}

.faq-search {
  position: relative;
  padding-block: var(--space-7);
}

.faq-search__content {
  display: flex;
  min-width: 0;
  flex-direction: column;
  align-items: stretch;
  gap: var(--space-3);
  max-width: 32.5rem;
  text-align: center;
}

.faq-search__content > * {
  margin: 0;
}

.faq-search__content label,
.faq-search__content > p:not(.eyebrow):not(.faq-search__status) {
  text-align: left;
}

.faq-search__controls {
  display: flex;
  min-width: 0;
  align-items: stretch;
  gap: var(--space-3);
}

.faq-search__controls input {
  min-width: 0;
  flex: 1 1 auto;
}

.faq-search__controls .button {
  flex: 0 0 auto;
}

.faq-search__status {
  min-height: 1.35em;
  font-size: var(--text-small);
}

.faq-final {
  padding-top: var(--space-7);
}

.faq-final__panel {
  border-radius: var(--radius-lg);
  padding: var(--space-6);
}

.faq-final__story,
.faq-final__actions {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-4);
}

.faq-final__story > *,
.faq-final__actions > * {
  margin: 0;
}

.faq-final__story h2 {
  max-width: 38rem;
}

.faq-final__story > p:not(.eyebrow):not(.faq-final__links) {
  max-width: 35rem;
}

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

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

.faq-final__actions .button {
  min-width: 13rem;
}

@media (min-width: 60rem) {
  .faq-hero__grid {
    grid-template-columns: minmax(0, 7fr) minmax(0, 5fr);
    align-items: center;
  }

  .faq-dining__grid {
    grid-template-columns: minmax(0, 8fr) minmax(0, 4fr);
    align-items: start;
  }

  .faq-card-experience__grid {
    grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
    align-items: start;
  }

  .faq-planning__grid {
    grid-template-columns: minmax(0, 7fr) minmax(0, 5fr);
    align-items: start;
  }

  .faq-final__panel {
    grid-template-columns: minmax(0, 7fr) minmax(0, 5fr);
    align-items: stretch;
    padding: var(--space-8);
  }
}

@media (min-width: 68.75rem) {
  .faq-hero__media {
    margin-bottom: calc(var(--space-7) * -1);
  }
}

@media (max-width: 63.74rem) {
  .faq-dining__media {
    order: 2;
  }

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

  .faq-poster {
    order: 1;
  }

  .faq-card-experience__content {
    order: 2;
  }

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

  .faq-nights__frame {
    grid-template-columns: minmax(0, 1fr);
  }

  .faq-nights__heading,
  .faq-nights__poster,
  .faq-nights__panel {
    grid-column: 1;
    grid-row: auto;
  }

  .faq-nights__poster {
    justify-content: flex-start;
    min-height: 4rem;
  }

  .faq-nights__poster strong {
    font-size: 5rem;
  }
}

@media (max-width: 59.99rem) {
  .faq-hero__grid,
  .faq-dining__grid,
  .faq-planning__grid,
  .faq-final__panel {
    grid-template-columns: minmax(0, 1fr);
  }

  .faq-dining__media {
    max-width: 32rem;
  }

  .faq-next-card {
    margin-top: var(--space-3);
  }
}

@media (max-width: 56.24rem) {
  .faq-routes__inner {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    justify-content: stretch;
    gap: var(--space-2);
  }

  .faq-routes__inner > a {
    justify-content: flex-start;
    padding-inline: var(--space-3);
    text-align: left;
  }

  .faq-routes__inner > a:last-child {
    grid-column: 1 / span 2;
  }

  .faq-routes__inner > span {
    display: none;
  }
}

@media (max-width: 47.99rem) {
  .faq-hero {
    padding-block: var(--space-7);
  }

  .faq-hero__story h1 {
    font-size: clamp(2.75rem, 12vw, 3.25rem);
    line-height: 0.95;
  }

  .faq-hero__actions {
    width: 100%;
  }

  .faq-hero__actions > .button {
    width: 100%;
  }

  .faq-hero__media img {
    aspect-ratio: 4 / 5;
  }

  .faq-hero__media figcaption {
    position: static;
    max-width: none;
  }

  .faq-dining__media {
    max-width: none;
  }

  .faq-dining__media figcaption {
    position: static;
  }

  .faq-list--paper,
  .faq-nights__panel {
    padding: var(--space-4);
  }

  .faq-poster {
    padding: var(--space-5);
  }

  .faq-compare {
    grid-template-columns: minmax(0, 1fr);
    gap: var(--space-3);
  }

  .faq-table-cards {
    grid-template-columns: minmax(0, 1fr);
    gap: var(--space-4);
  }

  .faq-table-cards > .faq-item:nth-child(3) {
    grid-column: 1;
  }

  .faq-nights__heading {
    align-items: flex-start;
    text-align: left;
  }

  .faq-nights__heading p:last-child {
    max-width: none;
  }

  .faq-nights__poster {
    display: none;
  }

  .faq-nights__action {
    width: 100%;
  }

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

  .faq-search__controls .button {
    width: 100%;
  }

  .faq-final__panel {
    padding: var(--space-5);
    border-radius: var(--radius-md);
  }

  .faq-final__actions {
    width: 100%;
  }

  .faq-final__actions .button {
    width: 100%;
  }
}

@media (hover: hover) and (pointer: fine) {
  .faq-item--card:hover {
    border-color: var(--color-ink);
    box-shadow: var(--shadow-offset);
    transform: translateY(-4px);
  }
}

@media (prefers-reduced-motion: reduce) {
  .faq-routes__inner > a::after {
    transition: none;
  }
}


.poker-nights-page {
  overflow: clip;
}

.poker-nights-page .eyebrow span {
  margin-inline-end: var(--space-2);
}

.poker-nights-page h1,
.poker-nights-page h2,
.poker-nights-page h3,
.poker-nights-page p {
  overflow-wrap: break-word;
}

.pn-hero {
  padding-block: clamp(3rem, 6vw, 8rem) 0;
}

.pn-hero__grid,
.pn-dining__grid,
.pn-details__grid,
.pn-guide__grid,
.pn-faq__grid {
  display: grid;
  min-width: 0;
}

.pn-hero__grid {
  grid-template-columns: minmax(0, 7fr) minmax(0, 5fr);
  align-items: center;
  gap: var(--space-6);
}

.pn-hero__copy {
  min-width: 0;
  max-width: 40.625rem;
}

.pn-hero__copy .lead {
  max-width: 39rem;
}

.pn-hero__actions {
  margin-top: var(--space-5);
}

.pn-hero__figure {
  position: relative;
  min-width: 0;
  margin: 0;
  border: 2px solid var(--color-ink);
  border-radius: var(--radius-md);
  background: var(--color-walnut);
  padding: var(--space-2);
  box-shadow: 1.5rem 1.5rem 0 var(--color-apricot);
}

.pn-hero__figure img,
.pn-dining__figure img,
.pn-details__figure img {
  width: 100%;
  max-width: 100%;
  object-fit: cover;
}

.pn-hero__figure img {
  aspect-ratio: 3 / 2;
  border-radius: calc(var(--radius-md) - var(--space-2));
}

.pn-marquee {
  width: 100%;
  margin-top: clamp(3rem, 6vw, 6rem);
  overflow: hidden;
  background: var(--color-mustard);
  border-block: 1px solid var(--color-ink);
  color: var(--color-ink);
  white-space: nowrap;
}

.pn-marquee__track {
  display: inline-flex;
  min-width: max-content;
  align-items: center;
  gap: var(--space-5);
  padding: var(--space-3) 0;
  font-size: var(--text-label);
  font-weight: 700;
  letter-spacing: var(--tracking-label);
  text-transform: uppercase;
  animation: pn-marquee-scroll 26s linear infinite;
}

.pn-marquee.is-paused .pn-marquee__track {
  animation-play-state: paused;
}

@keyframes pn-marquee-scroll {
  to { transform: translateX(-25%); }
}

.pn-rhythm__inner,
.pn-live__inner,
.pn-explore__inner,
.pn-final__inner {
  min-width: 0;
}

.pn-rhythm__intro {
  width: min(100%, 42.5rem);
}

.pn-rhythm__intro > :last-child,
.pn-live__intro > :last-child,
.pn-guide__intro > :last-child,
.pn-faq__intro > :last-child,
.pn-explore__intro > :last-child,
.pn-final__copy > :last-child {
  margin-bottom: 0;
}

.pn-ritual-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--space-5);
  min-width: 0;
  margin-top: var(--space-7);
}

.pn-ritual-card,
.pn-poster,
.pn-guide-card {
  display: flex;
  min-width: 0;
  flex-direction: column;
}

.pn-ritual-card {
  min-height: 100%;
  border: var(--border);
  border-radius: var(--radius-sm);
  background: var(--color-cream);
  color: var(--color-ink);
  padding: var(--space-5);
  transition: transform var(--transition-card), border-color var(--transition-card), box-shadow var(--transition-card);
}

.pn-ritual-card:hover,
.pn-ritual-card:focus-within,
.pn-poster:hover,
.pn-poster:focus-within,
.pn-guide-card:hover,
.pn-guide-card:focus-within {
  border-color: var(--color-ink);
  box-shadow: var(--shadow-offset);
  transform: translateY(-4px);
}

.pn-card-label {
  margin-bottom: var(--space-3);
  font-size: var(--text-label);
  font-weight: 700;
  letter-spacing: var(--tracking-label);
  line-height: var(--leading-label);
  text-transform: uppercase;
}

.pn-card-label span {
  margin-inline-end: var(--space-2);
  color: var(--color-orange);
}

.pn-ritual-card h3,
.pn-poster h3,
.pn-guide-card h3,
.pn-route-card h3 {
  font-size: var(--text-card-title);
}

.pn-ritual-card > :last-child,
.pn-poster > :last-child,
.pn-guide-card > :last-child,
.pn-route-card > :last-child {
  margin-bottom: 0;
}

.pn-dining__grid {
  grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
  align-items: start;
  gap: clamp(var(--space-6), 5vw, var(--space-9));
}

.pn-dining__figure {
  min-width: 0;
  margin: var(--space-5) 0 0;
}

.pn-dining__figure img {
  aspect-ratio: 3 / 2;
  border: 2px solid var(--color-ink);
  border-radius: var(--radius-md);
}

.pn-dining__figure figcaption {
  width: calc(100% - var(--space-6));
  margin-top: calc(var(--space-4) * -1);
  margin-left: var(--space-4);
  position: relative;
  border: var(--border);
  background: var(--color-walnut);
  color: var(--color-cream);
  padding: var(--space-3) var(--space-4);
}

.pn-dining__copy {
  min-width: 0;
  max-width: 38.75rem;
}

.pn-callouts {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  min-width: 0;
  margin-top: var(--space-6);
  border-block: var(--border);
}

.pn-callouts > div {
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: var(--space-2);
  padding: var(--space-4);
}

.pn-callouts > div + div {
  border-inline-start: var(--border);
}

.pn-callouts strong {
  font-family: var(--font-display);
  font-size: 1.15rem;
  line-height: 1.1;
  letter-spacing: var(--tracking-display);
}

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

.pn-helper {
  max-width: 35rem;
  margin-top: var(--space-5);
}

.pn-context-links,
.pn-final__actions {
  display: flex;
  min-width: 0;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--space-4);
}

.pn-context-links a,
.pn-text-link,
.pn-route-card__link {
  display: inline-flex;
  min-width: 0;
  align-items: center;
  gap: var(--space-2);
  font-size: var(--text-small);
  font-weight: 700;
  text-decoration: none;
}

.pn-context-links a::after,
.pn-text-link::after,
.pn-route-card__link::after {
  width: 0;
  height: 2px;
  position: absolute;
  bottom: -0.25rem;
  left: 0;
  background: var(--color-orange);
  content: "";
  transition: width var(--transition-fast);
}

.pn-context-links a,
.pn-text-link,
.pn-route-card__link {
  position: relative;
}

.pn-context-links a:hover::after,
.pn-context-links a:focus-visible::after,
.pn-text-link:hover::after,
.pn-text-link:focus-visible::after,
.pn-route-card:hover .pn-route-card__link::after,
.pn-route-card:focus-visible .pn-route-card__link::after {
  width: 100%;
}

.pn-live__intro {
  width: min(100%, 47.5rem);
}

.pn-poster-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--space-5);
  min-width: 0;
  margin-top: var(--space-7);
}

.pn-poster {
  min-height: 100%;
  border: var(--border-strong);
  background: var(--color-cream);
  color: var(--color-ink);
  padding: var(--space-5);
  transition: transform var(--transition-card), box-shadow var(--transition-card);
}

.pn-poster__number {
  display: block;
  margin-bottom: var(--space-4);
  color: var(--color-orange);
  font-family: var(--font-display);
  font-size: clamp(3rem, 5vw, 4.5rem);
  font-weight: 700;
  letter-spacing: var(--tracking-display);
  line-height: 0.8;
}

.pn-guide__grid {
  grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
  align-items: start;
  gap: var(--space-7);
}

.pn-guide__intro {
  min-width: 0;
  max-width: 28.75rem;
}

.pn-guide__cards {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-4);
  min-width: 0;
}

.pn-guide-card {
  min-height: 100%;
  border: var(--border);
  border-radius: var(--radius-sm);
  background: var(--color-cream);
  padding: var(--space-5);
  transition: transform var(--transition-card), border-color var(--transition-card), box-shadow var(--transition-card);
}

.pn-guide-card__marker {
  display: grid;
  width: 2.25rem;
  height: 2.25rem;
  place-items: center;
  margin-bottom: var(--space-4);
  border: 1px solid var(--color-orange);
  border-radius: 50%;
  color: var(--color-orange);
  font-weight: 700;
  transition: transform var(--transition-card);
}

.pn-guide-card:hover .pn-guide-card__marker,
.pn-guide-card:focus-within .pn-guide-card__marker {
  transform: rotate(8deg) translateY(-2px);
}

.pn-details__grid {
  grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
  align-items: center;
  gap: clamp(var(--space-6), 5vw, var(--space-9));
}

.pn-details__figure {
  min-width: 0;
  margin: 0;
}

.pn-details__figure img {
  aspect-ratio: 4 / 5;
  border: 2px solid var(--color-ink);
  border-radius: var(--radius-md);
}

.pn-details__figure figcaption {
  width: calc(100% - var(--space-6));
  margin-top: calc(var(--space-4) * -1);
  margin-left: var(--space-4);
  position: relative;
  border: var(--border);
  background: var(--color-cream);
  color: var(--color-ink);
  padding: var(--space-3) var(--space-4);
}

.pn-details__copy {
  min-width: 0;
  max-width: 38.75rem;
}

.pn-text-link--light {
  color: var(--color-cream);
}

.pn-text-link--light::after {
  background: var(--color-mustard);
}

.pn-explore__intro {
  width: min(100%, 42.5rem);
  margin-inline: auto;
  border-bottom: var(--border);
  padding-bottom: var(--space-6);
  text-align: center;
}

.pn-route-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--space-5);
  min-width: 0;
  margin-top: var(--space-7);
}

.pn-route-card {
  display: flex;
  min-width: 0;
  min-height: 100%;
  flex-direction: column;
  border: var(--border);
  border-radius: var(--radius-sm);
  background: var(--color-cream);
  color: var(--color-ink);
  overflow: hidden;
  padding: 0 var(--space-5) var(--space-5);
  text-decoration: none;
  transition: transform var(--transition-card), border-color var(--transition-card), box-shadow var(--transition-card);
}

.pn-route-card:hover,
.pn-route-card:focus-visible {
  border-color: var(--color-ink);
  box-shadow: var(--shadow-offset);
  transform: translateY(-4px);
}

.pn-route-card__bar {
  display: block;
  width: calc(100% + (var(--space-5) * 2));
  height: var(--space-4);
  margin-bottom: var(--space-5);
  margin-left: calc(var(--space-5) * -1);
}

.pn-route-card--olive .pn-route-card__bar { background: var(--color-olive); }
.pn-route-card--walnut .pn-route-card__bar { background: var(--color-walnut); }
.pn-route-card--orange .pn-route-card__bar { background: var(--color-orange); }

.pn-route-card__link {
  margin-top: auto;
  padding-top: var(--space-4);
  color: var(--color-ink);
}

.pn-faq__grid {
  grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
  align-items: start;
  gap: var(--space-7);
}

.pn-faq__intro {
  min-width: 0;
  max-width: 26.875rem;
}

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

.pn-accordion__item {
  min-width: 0;
  border: 1px solid var(--color-line);
  background: var(--color-cream);
}

.pn-accordion__item h3 {
  margin: 0;
  font-family: var(--font-body);
  font-size: 1rem;
  letter-spacing: 0;
}

.pn-accordion__item button {
  display: flex;
  width: 100%;
  min-width: 0;
  min-height: 3.25rem;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-4);
  border: 0;
  border-radius: 0;
  background: transparent;
  color: var(--color-ink);
  padding: var(--space-4);
  text-align: left;
  transform: none;
}

.pn-accordion__item button:hover {
  background: var(--color-cream);
  color: var(--color-ink);
  transform: none;
}

.pn-accordion__item button span {
  flex: 0 0 auto;
  color: var(--color-orange);
  font-size: 1.5rem;
  font-weight: 400;
  line-height: 1;
  transition: transform var(--transition-base);
}

.pn-accordion__item button[aria-expanded="true"] span {
  transform: rotate(45deg);
}

.pn-accordion__answer {
  max-width: 39rem;
  padding: 0 var(--space-4) var(--space-4);
}

.pn-accordion__answer p {
  margin-bottom: 0;
}

.pn-final {
  position: relative;
  padding-block: clamp(3rem, 7vw, 6rem);
}

.pn-final::before {
  width: 100%;
  height: 2rem;
  position: absolute;
  top: -1.9rem;
  left: 0;
  border-radius: 50% 50% 0 0 / 100% 100% 0 0;
  background: var(--color-orange);
  content: "";
}

.pn-final__copy {
  width: min(100%, 42.5rem);
  margin-inline: auto;
  text-align: center;
}

.pn-final__button {
  border-color: var(--color-cream);
  background: var(--color-cream);
  color: var(--color-ink);
}

.pn-final__button:hover {
  border-color: var(--color-ink);
  background: var(--color-ink);
  color: var(--color-cream);
}

.pn-final__actions {
  justify-content: center;
  margin-top: var(--space-5);
}

@media (max-width: 68.74rem) {
  .pn-poster-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .pn-poster:nth-child(3) {
    grid-column: 1 / -1;
  }

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

  .pn-guide__intro,
  .pn-faq__intro {
    max-width: 37.5rem;
  }
}

@media (max-width: 59.99rem) {
  .pn-hero__grid,
  .pn-dining__grid,
  .pn-details__grid {
    grid-template-columns: minmax(0, 1fr);
  }

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

  .pn-hero__copy {
    max-width: 38.75rem;
  }

  .pn-hero__figure {
    width: 100%;
    box-shadow: 1rem 1rem 0 var(--color-apricot);
  }

  .pn-dining__figure {
    width: 100%;
    margin-top: 0;
  }

  .pn-dining__copy,
  .pn-details__copy {
    max-width: 38.75rem;
  }

  .pn-details__figure {
    width: 100%;
  }

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

  .pn-ritual-card:nth-child(3) {
    grid-column: 1 / -1;
  }

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

  .pn-route-card:nth-child(3) {
    grid-column: 1 / -1;
  }
}

@media (max-width: 43.74rem) {
  .pn-hero {
    padding-top: var(--space-7);
  }

  .pn-hero__figure img {
    aspect-ratio: 4 / 5;
  }

  .pn-marquee {
    margin-top: var(--space-7);
  }

  .pn-rhythm__intro,
  .pn-live__intro,
  .pn-guide__intro,
  .pn-faq__intro,
  .pn-dining__copy,
  .pn-details__copy {
    max-width: none;
  }

  .pn-ritual-grid,
  .pn-poster-grid,
  .pn-guide__cards,
  .pn-route-grid,
  .pn-callouts {
    grid-template-columns: minmax(0, 1fr);
  }

  .pn-ritual-card:nth-child(3),
  .pn-poster:nth-child(3),
  .pn-route-card:nth-child(3) {
    grid-column: auto;
  }

  .pn-callouts > div + div {
    border-top: var(--border);
    border-inline-start: 0;
  }

  .pn-dining__figure img {
    aspect-ratio: 1 / 1;
  }

  .pn-details__figure img {
    aspect-ratio: 4 / 5;
  }

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

  .pn-explore__intro {
    width: 100%;
    margin-inline: 0;
    text-align: left;
  }

  .pn-final__copy {
    width: 100%;
    margin-inline: 0;
    text-align: left;
  }

  .pn-final__actions {
    align-items: flex-start;
    flex-direction: column;
  }

  .pn-final__button {
    width: 100%;
    min-height: 3rem;
  }
}

@media (max-width: 26.24rem) {
  .pn-hero__actions {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    width: 100%;
  }

  .pn-hero__actions .button {
    width: 100%;
  }
}

@media (prefers-reduced-motion: reduce) {
  .pn-marquee__track {
    animation: none;
  }

  .pn-ritual-card:hover,
  .pn-ritual-card:focus-within,
  .pn-poster:hover,
  .pn-poster:focus-within,
  .pn-guide-card:hover,
  .pn-guide-card:focus-within,
  .pn-route-card:hover,
  .pn-route-card:focus-visible {
    transform: none;
  }

  .pn-guide-card:hover .pn-guide-card__marker,
  .pn-guide-card:focus-within .pn-guide-card__marker {
    transform: none;
  }
}


#contact-page {
  overflow: hidden;
}

#contact-page .contact-hero__grid,
#contact-page .contact-dining__grid,
#contact-page .contact-poker__grid,
#contact-page .contact-guidance__grid,
#contact-page .contact-faq__grid,
#contact-page .contact-form-section__grid,
#contact-page .contact-reassurance__grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: var(--space-7);
}

#contact-page .contact-hero {
  padding-block: var(--space-9);
}

#contact-page .contact-hero__story,
#contact-page .contact-dining__intro,
#contact-page .contact-dining__content,
#contact-page .contact-poker__story,
#contact-page .contact-guidance__intro,
#contact-page .contact-guidance__tiles,
#contact-page .contact-faq__intro,
#contact-page .contact-accordion,
#contact-page .contact-form-wrap,
#contact-page .contact-support-panel,
#contact-page .contact-reassurance__intro,
#contact-page .contact-reassurance__statements {
  min-width: 0;
  width: 100%;
}

#contact-page .contact-hero__story {
  max-width: 44rem;
}

#contact-page .contact-hero h1 {
  font-size: clamp(2.75rem, 2.15rem + 3.5vw, 4rem);
  line-height: .95;
}

#contact-page .contact-hero__story > .lead {
  max-width: 40rem;
}

#contact-page .contact-route-actions {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: var(--space-3);
  margin-top: var(--space-6);
}

#contact-page .contact-route-actions__item {
  min-width: 0;
}

#contact-page .contact-route-actions__item p {
  margin: var(--space-2) 0 0;
  }

#contact-page .contact-route-button {
  width: 100%;
  min-height: 3rem;
}

#contact-page .contact-hero__poster {
  position: relative;
  display: grid;
  width: 100%;
  min-height: 14rem;
  align-content: space-between;
  overflow: hidden;
  border: var(--border-strong);
  background: var(--color-orange);
  box-shadow: var(--shadow-offset);
  color: var(--color-cream);
  padding: var(--space-5);
}

#contact-page .contact-hero__poster::after {
  position: absolute;
  inset: 10px;
  border: 1px solid rgb(244 231 203 / 58%);
  content: "";
  pointer-events: none;
}

#contact-page .contact-hero__poster-suit,
#contact-page .contact-hero__poster-number,
#contact-page .contact-hero__poster-copy,
#contact-page .contact-hero__poster-dots {
  position: relative;
  z-index: 1;
}

#contact-page .contact-hero__poster-suit {
  font-size: 2rem;
}

#contact-page .contact-hero__poster-number {
  align-self: center;
  font-family: var(--font-display);
  font-size: clamp(4.5rem, 12vw, 8rem);
  font-weight: 700;
  letter-spacing: var(--tracking-display);
  line-height: .8;
}

#contact-page .contact-hero__poster-copy,
#contact-page .contact-hero__poster-dots {
  font-size: var(--text-small);
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
}

#contact-page .contact-hero__poster-dots {
  color: var(--color-mustard);
}

#contact-page .contact-route-tag,
#contact-page .contact-mustard-label,
#contact-page .contact-statement-label {
  display: inline-block;
  margin: 0 0 var(--space-3);
  font-size: var(--text-label);
  font-weight: 700;
  letter-spacing: var(--tracking-label);
  line-height: var(--leading-label);
  text-transform: uppercase;
}

#contact-page .contact-route-tag {
  background: var(--color-orange);
  color: var(--color-cream);
  padding: var(--space-2) var(--space-3);
}

#contact-page .contact-dining__intro > .lead {
  max-width: 28rem;
}

#contact-page .contact-dining__content > h3 {
  font-size: var(--text-section);
  line-height: var(--leading-section);
}

#contact-page .contact-prompt-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: var(--space-4);
}

#contact-page .contact-prompt-card {
  display: flex;
  min-width: 0;
  flex-direction: column;
  align-items: stretch;
  gap: var(--space-3);
  padding: var(--space-5);
}

#contact-page .contact-prompt-card > * {
  margin: 0;
}

#contact-page .contact-prompt-card__number,
#contact-page .contact-guidance-tile > span {
  color: var(--color-orange);
  font-family: var(--font-display);
  font-size: 2rem;
  font-weight: 700;
  letter-spacing: var(--tracking-display);
  line-height: 1;
}

#contact-page .contact-prompt-card h4 {
  font-size: var(--text-card-title);
  line-height: var(--leading-card-title);
}

#contact-page .contact-dining__action {
  display: flex;
  min-width: 0;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-3);
  margin-top: var(--space-6);
}

#contact-page .contact-dining__action > * {
  margin: 0;
}

#contact-page .contact-dining__action p {
  }

#contact-page .contact-text-link {
  font-size: var(--text-small);
  font-weight: 700;
}

#contact-page .contact-poker {
  position: relative;
}

#contact-page .contact-poker::before {
  position: absolute;
  top: -2rem;
  left: -5%;
  width: 110%;
  height: 3.5rem;
  border-radius: 50%;
  background: var(--color-cream);
  content: "";
}

#contact-page .contact-poker__story > .lead {
  max-width: 37rem;
}

#contact-page .contact-poker h3 {
  margin-top: var(--space-6);
  font-size: var(--text-section);
  line-height: var(--leading-section);
}

#contact-page .contact-checklist {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: var(--space-4);
}

#contact-page .contact-checklist__item {
  display: grid;
  grid-template-columns: 1.5rem minmax(0, 1fr);
  gap: var(--space-3);
  min-width: 0;
  border-top: 1px solid rgb(244 231 203 / 50%);
  padding-top: var(--space-4);
}

#contact-page .contact-checklist__item > span {
  display: grid;
  width: 1.25rem;
  height: 1.25rem;
  place-items: center;
  border: 1px solid var(--color-cream);
  border-radius: var(--radius-round);
  font-size: .52rem;
}

#contact-page .contact-checklist__item h4,
#contact-page .contact-checklist__item p {
  margin: 0;
}

#contact-page .contact-checklist__item h4 {
  font-size: var(--text-card-title);
}

#contact-page .contact-checklist__item p {
  margin-top: var(--space-2);
}

#contact-page .contact-poker__panel {
  position: relative;
  display: flex;
  min-width: 0;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-4);
  overflow: hidden;
  border: var(--border-strong);
  background: var(--color-cream);
  box-shadow: var(--shadow-offset);
  color: var(--color-ink);
  padding: var(--space-6);
}

#contact-page .contact-poker__panel > * {
  margin: 0;
}

#contact-page .contact-poker__panel h3 {
  font-size: var(--text-section);
  line-height: var(--leading-section);
}

#contact-page .contact-poker__panel p:not(.eyebrow) {
  max-width: 36ch;
}

#contact-page .contact-poker__suit {
  position: absolute;
  right: var(--space-4);
  top: var(--space-3);
  color: var(--color-mustard);
  font-size: 5rem;
  line-height: 1;
  opacity: .65;
  transform: rotate(-6deg);
}

#contact-page .contact-poker__panel .button {
  position: relative;
  z-index: 1;
  border-color: var(--color-olive);
  background: var(--color-olive);
  color: var(--color-cream);
}

#contact-page .contact-poker__panel .button:hover {
  border-color: #485039;
  background: #485039;
}

#contact-page .contact-guidance__intro > .lead {
  max-width: 28rem;
}

#contact-page .contact-mustard-label {
  background: var(--color-mustard);
  padding: var(--space-2) var(--space-3);
}

#contact-page .contact-guidance__tiles {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  border-top: var(--border);
}

#contact-page .contact-guidance-tile {
  display: grid;
  grid-template-columns: 3rem minmax(0, 1fr);
  gap: var(--space-3);
  min-width: 0;
  border-bottom: var(--border);
  padding-block: var(--space-5);
}

#contact-page .contact-guidance-tile h3,
#contact-page .contact-guidance-tile p {
  margin: 0;
}

#contact-page .contact-guidance-tile h3 {
  font-size: var(--text-card-title);
  line-height: var(--leading-card-title);
}

#contact-page .contact-guidance-tile p {
  margin-top: var(--space-2);
}

#contact-page .contact-faq {
  padding-top: 0;
}

#contact-page .contact-faq__marquee {
  overflow: hidden;
  border-block: 1px solid var(--color-ink);
  background: var(--color-mustard);
  padding-block: var(--space-3);
  white-space: nowrap;
}

#contact-page .contact-faq__marquee span {
  display: inline-block;
  min-width: 100%;
  padding-left: 100%;
  font-size: var(--text-label);
  font-weight: 700;
  letter-spacing: var(--tracking-label);
  text-transform: uppercase;
  animation: contact-marquee 26s linear infinite;
}

#contact-page .contact-faq__marquee:hover span {
  animation-play-state: paused;
}

#contact-page .contact-faq__intro > .lead {
  max-width: 25rem;
}

#contact-page .contact-accordion {
  border-top: var(--border);
}

#contact-page .contact-accordion__item {
  border-bottom: var(--border);
}

#contact-page .contact-accordion__item h3 {
  margin: 0;
}

#contact-page .contact-accordion__item button {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 2rem;
  width: 100%;
  min-height: 3.5rem;
  gap: var(--space-3);
  border: 0;
  border-radius: 0;
  background: transparent;
  color: var(--color-ink);
  padding: var(--space-4) 0;
  font-family: var(--font-display);
  font-size: var(--text-card-title);
  font-weight: 700;
  letter-spacing: var(--tracking-display);
  line-height: var(--leading-card-title);
  text-align: left;
  transform: none;
}

#contact-page .contact-accordion__item button:hover {
  background: transparent;
  color: var(--color-orange);
  transform: none;
}

#contact-page .contact-accordion__symbol {
  font-family: var(--font-body);
  font-size: 1.75rem;
  font-weight: 400;
  line-height: 1;
  text-align: right;
}

#contact-page .contact-accordion__item button[aria-expanded="true"] .contact-accordion__symbol {
  font-size: 0;
}

#contact-page .contact-accordion__item button[aria-expanded="true"] .contact-accordion__symbol::after {
  content: "−";
  font-size: 1.75rem;
}

#contact-page .contact-accordion__answer {
  padding: 0 var(--space-6) var(--space-4) 0;
}

#contact-page .contact-accordion__answer p {
  margin: 0;
}

#contact-page .contact-form-section {
  position: relative;
}

#contact-page .contact-form-section::before {
  position: absolute;
  top: -2rem;
  left: -5%;
  width: 110%;
  height: 3.5rem;
  border-radius: 50%;
  background: var(--color-cream);
  content: "";
}

#contact-page .contact-form-wrap {
  border: var(--border);
  background: var(--color-cream);
  padding: var(--space-5);
}

#contact-page .contact-form__heading > .lead {
  max-width: 48ch;
}

#contact-page .contact-form__status {
  min-height: 1.5rem;
  margin-top: var(--space-4);
  font-size: var(--text-small);
  font-weight: 700;
}

#contact-page .contact-form__success {
  display: flex;
  min-width: 0;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-4);
  border: var(--border-strong);
  background: var(--color-apricot);
  padding: var(--space-5);
}

#contact-page .contact-form__success > * {
  margin: 0;
}

#contact-page .contact-form__success h3 {
  font-size: var(--text-section);
  line-height: var(--leading-section);
}

#contact-page .contact-form {
  margin-top: var(--space-5);
}

#contact-page .contact-error-summary {
  margin-bottom: var(--space-5);
  border: 2px solid var(--color-orange);
  background: var(--color-apricot);
  padding: var(--space-4);
}

#contact-page .contact-error-summary ul {
  margin: var(--space-2) 0 0;
}

#contact-page .contact-form fieldset {
  margin: 0;
  border-width: 0 0 1px;
  border-radius: 0;
  padding: var(--space-5) 0;
}

#contact-page .contact-form fieldset:first-of-type {
  border-top: var(--border);
}

#contact-page .contact-form legend {
  padding: 0;
  font-family: var(--font-display);
  font-size: var(--text-card-title);
  letter-spacing: var(--tracking-display);
}

#contact-page .contact-fieldset-intro {
  max-width: 42ch;
  margin: var(--space-3) 0 var(--space-4);
  font-size: var(--text-small);
}

#contact-page .contact-required,
#contact-page .contact-optional {
  font-family: var(--font-body);
  font-size: var(--text-label);
  font-weight: 700;
  letter-spacing: .04em;
  text-transform: uppercase;
}

#contact-page .contact-required {
  color: var(--color-orange);
}

#contact-page .contact-optional {
  color: color-mix(in srgb, var(--color-ink) 70%, transparent);
}

#contact-page .contact-route-radios {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: var(--space-3);
}

#contact-page .contact-route-radios > label {
  display: grid;
  grid-template-columns: 1.25rem minmax(0, 1fr);
  min-width: 0;
  min-height: 3.5rem;
  align-items: center;
  gap: var(--space-3);
  margin: 0;
  border: var(--border);
  border-radius: var(--radius-sm);
  padding: var(--space-3);
  cursor: pointer;
}

#contact-page .contact-route-radios input,
#contact-page .contact-interest-list input {
  width: 1.15rem;
  min-width: 1.15rem;
  height: 1.15rem;
  min-height: 0;
  padding: 0;
}

#contact-page .contact-route-radios span {
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: var(--space-1);
}

#contact-page .contact-route-radios small {
  font-weight: 400;
}

#contact-page .contact-field-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: var(--space-4);
}

#contact-page .contact-field,
#contact-page .contact-field--wide {
  min-width: 0;
  width: 100%;
}

#contact-page .contact-field label,
#contact-page .contact-checkbox-label {
  display: inline-block;
  margin-bottom: var(--space-2);
}

#contact-page .contact-field small {
  display: block;
  max-width: 40ch;
  margin-top: var(--space-2);
}

#contact-page .contact-field-error {
  display: block;
  min-height: 1.1rem;
  margin-top: var(--space-1);
  color: #8f321e;
  font-size: var(--text-small);
  font-weight: 700;
}

#contact-page .contact-field [aria-invalid="true"] {
  border: 2px solid var(--color-orange);
}

#contact-page .contact-interest-list {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: var(--space-2);
}

#contact-page .contact-interest-list label {
  display: grid;
  grid-template-columns: 1.25rem minmax(0, 1fr);
  min-width: 0;
  align-items: center;
  gap: var(--space-2);
  margin: 0;
  font-weight: 400;
}

#contact-page .contact-submit-zone {
  display: flex;
  min-width: 0;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-3);
  padding-top: var(--space-5);
}

#contact-page .contact-submit-zone > * {
  margin: 0;
}

#contact-page .contact-submit-zone p {
  font-size: var(--text-small);
}

#contact-page .contact-submit-zone .button {
  width: 100%;
  min-height: 3rem;
}

#contact-page .contact-support-panel {
  position: relative;
  display: flex;
  min-width: 0;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-4);
  overflow: hidden;
  background: var(--color-walnut);
  color: var(--color-cream);
  padding: var(--space-6);
}

#contact-page .contact-support-panel > * {
  margin: 0;
}

#contact-page .contact-support-panel [data-support-copy] {
  position: relative;
  z-index: 1;
}

#contact-page .contact-support-panel h3 {
  font-size: var(--text-section);
  line-height: var(--leading-section);
}

#contact-page .contact-support-panel p:not(.eyebrow) {
  max-width: 36ch;
}

#contact-page .contact-support-panel__suit {
  position: absolute;
  right: var(--space-3);
  top: var(--space-2);
  color: var(--color-mustard);
  font-size: 5rem;
  line-height: 1;
  opacity: .68;
  transform: rotate(7deg);
}

#contact-page .contact-reassurance {
  position: relative;
}

#contact-page .contact-reassurance__intro > .lead {
  max-width: 31rem;
}

#contact-page .contact-reassurance__suit {
  display: inline-block;
  margin-bottom: var(--space-3);
  color: var(--color-cream);
  font-size: 2rem;
  line-height: 1;
}

#contact-page .contact-reassurance__statements {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  border-top: 1px solid rgb(23 38 58 / 40%);
}

#contact-page .contact-reassurance__statements article {
  min-width: 0;
  border-bottom: 1px solid rgb(23 38 58 / 40%);
  padding-block: var(--space-5);
}

#contact-page .contact-reassurance__statements article > * {
  margin: 0;
}

#contact-page .contact-reassurance__statements h3 {
  margin-top: var(--space-2);
  font-size: var(--text-card-title);
}

#contact-page .contact-reassurance__statements article > p:last-child {
  max-width: 42ch;
  margin-top: var(--space-2);
}

#contact-page .contact-statement-label {
  color: var(--color-cream);
}

#contact-page .contact-reassurance__statements article:first-child .contact-statement-label {
  border-bottom: 3px solid var(--color-orange);
}

#contact-page .contact-reassurance__statements article:last-child .contact-statement-label {
  border-bottom: 3px solid var(--color-olive);
}

#contact-page .contact-closing {
  padding-block: var(--space-9);
}

#contact-page .contact-closing__content {
  display: flex;
  min-width: 0;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-4);
  width: 100%;
}

#contact-page .contact-closing__content > * {
  margin: 0;
}

#contact-page .contact-closing__content p {
  }

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

#contact-page .contact-closing__actions > * {
  min-width: 0;
  width: 100%;
  min-height: 3rem;
}

@keyframes contact-marquee {
  to { transform: translateX(-100%); }
}

@media (min-width: 42.5rem) {
  #contact-page .contact-route-actions {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  #contact-page .contact-field-grid--core,
  #contact-page .contact-field-grid--route {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  #contact-page .contact-field--wide {
    grid-column: 1 / -1;
  }

  #contact-page .contact-interest-list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (min-width: 47.5rem) {
  #contact-page .contact-hero,
  #contact-page .contact-closing {
    padding-block: var(--space-9);
  }

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

  #contact-page .contact-prompt-card:last-child {
    grid-column: 1 / -1;
  }

  #contact-page .contact-guidance__tiles {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    column-gap: var(--space-6);
  }

  #contact-page .contact-guidance-tile:nth-child(odd) {
    padding-right: var(--space-5);
  }

  #contact-page .contact-guidance-tile:nth-child(even) {
    padding-left: var(--space-5);
  }

  #contact-page .contact-reassurance__statements article {
    padding-inline: var(--space-5);
  }
}

@media (min-width: 60rem) {
  #contact-page .contact-hero__grid {
    grid-template-columns: repeat(12, minmax(0, 1fr));
    gap: var(--space-5);
  }

  #contact-page .contact-hero__story {
    grid-column: span 7;
  }

  #contact-page .contact-hero__poster {
    grid-column: span 5;
    min-height: 25rem;
  }

  #contact-page .contact-dining__grid {
    grid-template-columns: repeat(12, minmax(0, 1fr));
    gap: var(--space-6);
  }

  #contact-page .contact-dining__intro {
    grid-column: span 4;
  }

  #contact-page .contact-dining__content {
    grid-column: span 8;
  }

  #contact-page .contact-prompt-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  #contact-page .contact-prompt-card:last-child {
    grid-column: auto;
  }

  #contact-page .contact-poker__grid {
    grid-template-columns: repeat(12, minmax(0, 1fr));
    gap: var(--space-6);
  }

  #contact-page .contact-poker__story {
    grid-column: span 7;
  }

  #contact-page .contact-poker__panel {
    grid-column: span 5;
    align-self: start;
  }

  #contact-page .contact-guidance__grid {
    grid-template-columns: repeat(12, minmax(0, 1fr));
    gap: var(--space-6);
  }

  #contact-page .contact-guidance__intro {
    grid-column: span 5;
  }

  #contact-page .contact-guidance__tiles {
    grid-column: span 7;
  }

  #contact-page .contact-faq__grid {
    grid-template-columns: repeat(12, minmax(0, 1fr));
    gap: var(--space-6);
  }

  #contact-page .contact-faq__intro {
    grid-column: span 4;
  }

  #contact-page .contact-accordion {
    grid-column: span 8;
  }

  #contact-page .contact-reassurance__grid {
    grid-template-columns: repeat(12, minmax(0, 1fr));
    gap: var(--space-6);
  }

  #contact-page .contact-reassurance__intro,
  #contact-page .contact-reassurance__statements {
    grid-column: span 6;
  }

  #contact-page .contact-closing__content {
    width: min(100%, 35rem);
    align-items: center;
    margin-inline: auto;
    text-align: center;
  }

  #contact-page .contact-closing__actions {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    width: auto;
  }

  #contact-page .contact-closing__actions > * {
    min-width: 12rem;
  }
}

@media (min-width: 68.75rem) {
  #contact-page .contact-form-section__grid {
    grid-template-columns: repeat(12, minmax(0, 1fr));
    gap: var(--space-6);
  }

  #contact-page .contact-form-wrap {
    grid-column: span 7;
  }

  #contact-page .contact-support-panel {
    grid-column: span 5;
    align-self: start;
  }

  #contact-page .contact-form-wrap {
    padding: var(--space-6);
  }

  #contact-page .contact-submit-zone .button {
    width: auto;
  }
}

@media (max-width: 59.99rem) {
  #contact-page .contact-hero__poster {
    min-height: 10rem;
    grid-template-columns: 1fr auto;
  }

  #contact-page .contact-hero__poster-number {
    grid-row: 1 / span 2;
  }
}

@media (max-width: 47.49rem) {
  #contact-page .contact-hero {
    padding-top: var(--space-8);
  }

  #contact-page .contact-hero h1 {
    font-size: 2.75rem;
  }

  #contact-page .contact-hero__story > .lead,
  #contact-page .contact-dining__intro > .lead,
  #contact-page .contact-guidance__intro > .lead,
  #contact-page .contact-faq__intro > .lead,
  #contact-page .contact-form__heading > .lead,
  #contact-page .contact-reassurance__intro > .lead,
  #contact-page .contact-closing__content p {
  }

  #contact-page .contact-poker h2 {
    font-size: 2.25rem;
  }

  #contact-page .contact-accordion__answer {
    padding-right: 0;
  }

  #contact-page .contact-form-wrap {
    padding: var(--space-4);
  }

  #contact-page .contact-support-panel,
  #contact-page .contact-poker__panel {
    padding: var(--space-5);
  }
}

@media (prefers-reduced-motion: reduce) {
  #contact-page .contact-faq__marquee span {
    animation: none;
    padding-left: var(--gutter);
  }

  #contact-page .contact-poker__suit,
  #contact-page .contact-support-panel__suit {
    transform: none;
  }
}


.card-room-page { overflow: hidden; }
.card-room-page .section { position: relative; }
.card-room-page h1, .card-room-page h2, .card-room-page h3 { text-wrap: balance; }
.card-room-page .button { min-height: 2.75rem; }
.cr-hero { padding-bottom: calc(var(--content-padding-block) + var(--space-7)); }
.cr-hero::after { content: ""; position: absolute; inset: auto 0 0; height: 4rem; background: var(--color-walnut); border-radius: 50% 50% 0 0 / 100% 100% 0 0; z-index: 0; }
.cr-hero__grid { position: relative; z-index: 1; display: grid; grid-template-columns: minmax(0, 7fr) minmax(18.75rem, 5fr); gap: var(--space-6); align-items: center; }
.cr-hero__copy { position: relative; min-width: 0; width: 100%; max-width: 40.625rem; }
.cr-hero__copy .lead { max-width: 35rem; }
.cr-hero__actions { margin-top: var(--space-5); }
.cr-hero__suit { position: absolute; right: 0; bottom: -1rem; color: var(--color-mustard); font-family: var(--font-display); font-size: clamp(4rem, 8vw, 7rem); line-height: 1; opacity: .8; pointer-events: none; }
.cr-image-frame { position: relative; min-width: 0; width: 100%; margin: 0; border: var(--border-strong); border-radius: var(--radius-md); overflow: hidden; box-shadow: var(--shadow-offset); }
.cr-image-frame img { width: 100%; max-width: 100%; object-fit: cover; }
.cr-image-frame::after { content: ""; position: absolute; inset: 0; pointer-events: none; background-image: radial-gradient(rgb(244 231 203 / .15) .6px, transparent .7px); background-size: 4px 4px; opacity: .45; mix-blend-mode: soft-light; }
.cr-hero__media { min-width: 0; width: 100%; transform: translateY(-1.5rem); transition: transform var(--transition-card); }
.cr-hero__media:hover { transform: translateY(-1.75rem); }
.cr-hero__media img { aspect-ratio: 16 / 9; }
.cr-hero__media figcaption { position: absolute; z-index: 2; left: var(--space-4); bottom: var(--space-4); margin: 0; max-width: 14rem; background: var(--color-cream); color: var(--color-ink); padding: var(--space-2) var(--space-3); }
.cr-rhythm__grid { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: var(--space-5); }
.cr-rhythm__intro { grid-column: 1 / span 5; min-width: 0; width: 100%; max-width: 35rem; }
.cr-rhythm__poster { grid-column: 10 / span 3; min-width: 0; width: 100%; align-self: start; background: var(--color-mustard); border: var(--border-strong); padding: var(--space-5); min-height: 12rem; display: flex; flex-direction: column; justify-content: space-between; }
.cr-rhythm__poster span { font-family: var(--font-display); font-size: 4.5rem; line-height: .8; }
.cr-rhythm__poster b { font-size: var(--text-label); letter-spacing: var(--tracking-label); line-height: 1.4; text-transform: uppercase; }
.cr-character-cards { grid-column: 1 / -1; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-5); }
.cr-character-card { min-width: 0; width: 100%; padding: var(--space-5); }
.cr-character-card h3 { font-size: var(--text-card-title); }
.cr-marker { display: grid; width: 2.5rem; height: 2.5rem; place-items: center; margin-bottom: var(--space-4); border-radius: var(--radius-round); font-weight: 700; }
.cr-marker--felt { background: var(--color-olive); border: 3px double var(--color-cream); }
.cr-marker--suit { background: var(--color-mustard); color: var(--color-orange); font-size: 1.4rem; }
.cr-marker--stripe { background: var(--color-orange); color: var(--color-cream); font-size: var(--text-small); }
.cr-table { overflow: hidden; }
.cr-table::after { content: ""; position: absolute; inset: auto -5% -2rem; height: 4rem; border-radius: 0 0 50% 50% / 0 0 100% 100%; background: var(--color-cream); }
.cr-table__grid { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: var(--space-5); align-items: center; }
.cr-table__copy { grid-column: 8 / span 5; grid-row: 1; min-width: 0; width: 100%; max-width: 31.25rem; }
.cr-table__media { grid-column: 1 / span 7; grid-row: 1 / span 2; min-width: 0; width: 100%; }
.cr-table__media img { aspect-ratio: 3 / 2; }
.cr-table__support { grid-column: 8 / span 5; grid-row: 2; min-width: 0; width: 100%; max-width: 31.25rem; border-top: 1px solid var(--color-cream); padding-top: var(--space-4); }
.cr-table__support .button { margin-top: var(--space-2); }
.cr-material-note { margin-top: var(--space-5); font-size: var(--text-small); line-height: var(--leading-small); }
.cr-material-note span { display: block; margin-bottom: var(--space-2); font-size: var(--text-label); font-weight: 700; letter-spacing: var(--tracking-label); text-transform: uppercase; }
.cr-evening__grid { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: var(--space-5); }
.cr-evening__intro { grid-column: 1 / span 6; min-width: 0; width: 100%; max-width: 38.75rem; }
.cr-evening__routes { grid-column: 7 / -1; min-width: 0; width: 100%; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-5); align-items: start; transform: translateY(var(--space-6)); }
.cr-route-card { min-width: 0; width: 100%; min-height: 100%; padding: var(--space-5); border-radius: var(--radius-md); border: 1px solid var(--color-line); transition: transform var(--transition-card), box-shadow var(--transition-card); }
.cr-route-card:hover, .cr-route-card:focus-within { transform: translateY(-4px); box-shadow: var(--shadow-offset); }
.cr-route-card--walnut { background: var(--color-walnut); color: var(--color-cream); }
.cr-route-card--orange { background: var(--color-orange); color: var(--color-cream); }
.cr-route-card h3 { font-size: var(--text-card-title); }
.cr-route-card a, .cr-text-link { display: inline-flex; align-items: center; min-height: 2.75rem; gap: var(--space-2); font-size: var(--text-small); font-weight: 700; text-underline-offset: .28em; }
.cr-evening__closing { grid-column: 1 / span 8; min-width: 0; width: 100%; max-width: 45rem; margin-top: var(--space-5); font-size: var(--text-lead); line-height: var(--leading-lead); }
.cr-live { padding-bottom: 0; overflow: hidden; }
.cr-live::after { content: ""; position: absolute; inset: auto -5% -2rem; height: 4rem; background: var(--color-cream); border-radius: 0 0 50% 50% / 0 0 100% 100%; }
.cr-live__inner { position: relative; display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); }
.cr-live__copy { grid-column: 3 / span 8; min-width: 0; width: 100%; max-width: 47.5rem; margin-inline: auto; text-align: center; position: relative; z-index: 1; }
.cr-live__copy .button { margin-top: var(--space-3); }
.cr-live__number { position: absolute; top: -2rem; left: 15%; color: var(--color-mustard); font-family: var(--font-display); font-size: clamp(8rem, 18vw, 15rem); line-height: .75; opacity: .7; }
.cr-marquee { position: relative; z-index: 1; width: 100%; margin-top: var(--space-8); overflow: hidden; background: var(--color-mustard); color: var(--color-ink); white-space: nowrap; }
.cr-marquee__track { display: flex; width: max-content; min-width: 100%; align-items: center; gap: var(--space-5); padding: var(--space-3) 0; font-size: var(--text-label); font-weight: 700; letter-spacing: var(--tracking-label); text-transform: uppercase; animation: cr-marquee-scroll 28s linear infinite; }
.cr-marquee__track b { color: var(--color-orange); font-size: 1.2rem; }
.cr-marquee:hover .cr-marquee__track, .cr-marquee:focus .cr-marquee__track { animation-play-state: paused; }
.cr-hospitality__grid { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: var(--space-6); align-items: center; }
.cr-hospitality__copy { grid-column: 1 / span 5; min-width: 0; width: 100%; max-width: 31.875rem; }
.cr-hospitality__media { grid-column: 7 / span 5; grid-row: 1 / span 2; min-width: 0; width: 100%; }
.cr-hospitality__media img { aspect-ratio: 4 / 5; }
.cr-hospitality__media figcaption { position: relative; z-index: 2; margin: -2rem var(--space-4) 0; background: var(--color-cream); color: var(--color-ink); padding: var(--space-3); }
.cr-hospitality__closing { grid-column: 1 / span 5; min-width: 0; width: 100%; max-width: 31.875rem; margin: 0; border-top: 3px solid var(--color-orange); padding-top: var(--space-4); font-size: var(--text-lead); line-height: var(--leading-lead); }
.cr-values { overflow: hidden; }
.cr-values::after { content: ""; position: absolute; top: 0; right: -12%; width: 42%; height: 100%; background: var(--color-apricot); opacity: .55; border-radius: 55% 0 0 55%; pointer-events: none; }
.cr-values__grid { position: relative; z-index: 1; display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: var(--space-5); }
.cr-values__intro { grid-column: 1 / span 5; min-width: 0; width: 100%; max-width: 35rem; }
.cr-values__cards { grid-column: 7 / -1; min-width: 0; width: 100%; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-4); }
.cr-value-card { position: relative; min-width: 0; width: 100%; padding: var(--space-5); }
.cr-value-card > span { position: absolute; top: var(--space-4); right: var(--space-4); color: var(--color-orange); font-family: var(--font-display); font-size: 2rem; line-height: 1; transition: transform var(--transition-base); }
.cr-value-card:hover > span { transform: rotate(8deg); }
.cr-value-card h3 { max-width: calc(100% - 2.5rem); font-size: var(--text-card-title); }
.cr-pathways__grid { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: var(--space-5); align-items: start; }
.cr-pathways__intro { grid-column: 1 / span 4; min-width: 0; width: 100%; max-width: 26.25rem; }
.cr-pathways__tiles { grid-column: 5 / -1; min-width: 0; width: 100%; display: grid; grid-template-columns: 3fr 3fr 2fr; gap: var(--space-4); }
.cr-pathway-tile { display: flex; min-width: 0; width: 100%; flex-direction: column; align-items: stretch; gap: var(--space-4); padding: var(--space-5); border: var(--border); border-radius: var(--radius-md); transition: transform var(--transition-card), box-shadow var(--transition-card); }
.cr-pathway-tile:hover, .cr-pathway-tile:focus-within { transform: translateY(-4px); box-shadow: var(--shadow-offset); }
.cr-pathway-tile h3, .cr-pathway-tile p { margin: 0; }
.cr-pathway-tile .button { width: 100%; margin-top: auto; }
.cr-pathway-tile--cream { background: var(--color-cream); color: var(--color-ink); }
.cr-pathway-tile--mustard { background: var(--color-mustard); color: var(--color-ink); }
.cr-pathway-tile--orange { background: var(--color-orange); color: var(--color-cream); border-color: var(--color-cream); }
.cr-pathway-tile--orange .button--outline { color: var(--color-cream); }
.cr-helpful__grid { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: var(--space-5); border-top: 1px solid var(--color-line); padding-top: var(--space-6); }
.cr-helpful__intro { grid-column: 1 / span 5; min-width: 0; width: 100%; max-width: 31.25rem; }
.cr-accordion { grid-column: 6 / -1; min-width: 0; width: 100%; max-width: 42.5rem; }
.cr-accordion__item { border-bottom: 1px solid var(--color-line); }
.cr-accordion__item:first-child { border-top: 1px solid var(--color-line); }
.cr-accordion__item h3 { margin: 0; font-family: var(--font-body); font-size: 1rem; letter-spacing: 0; }
.cr-accordion__item button { display: flex; min-width: 0; width: 100%; min-height: 3.25rem; align-items: center; justify-content: space-between; gap: var(--space-4); border: 0; border-radius: 0; background: transparent; color: var(--color-ink); padding: var(--space-4) 0; text-align: left; }
.cr-accordion__item button:hover { transform: none; background: transparent; color: var(--color-ink); }
.cr-accordion__item button span { flex: 0 0 auto; font-size: 1.5rem; font-weight: 400; line-height: 1; transition: transform var(--transition-base); }
.cr-accordion__item button[aria-expanded="true"] span { transform: rotate(45deg); }
.cr-accordion__answer { min-width: 0; width: 100%; padding: 0 0 var(--space-5); }
.cr-accordion__answer p {
  margin: 0; }
.cr-close { overflow: hidden; }
.cr-close::before { content: ""; position: absolute; top: -2.5rem; left: -5%; width: 110%; height: 4rem; border-radius: 0 0 50% 50% / 0 0 100% 100%; background: var(--color-cream); }
.cr-close__grid { position: relative; display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: var(--space-6); padding-top: var(--space-7); }
.cr-close__statement { grid-column: 3 / span 8; min-width: 0; width: 100%; max-width: 47.5rem; margin-inline: auto; text-align: center; }
.cr-close__statement .lead { max-width: 38.75rem; margin-inline: auto; }
.cr-close__cards { grid-column: 3 / span 8; min-width: 0; width: 100%; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-5); }
.cr-close-card { display: flex; min-width: 0; width: 100%; flex-direction: column; align-items: stretch; gap: var(--space-4); border: var(--border); border-radius: var(--radius-md); padding: var(--space-5); transition: transform var(--transition-card), box-shadow var(--transition-card); }
.cr-close-card:hover, .cr-close-card:focus-within { transform: translateY(-4px); box-shadow: var(--shadow-offset); }
.cr-close-card h3, .cr-close-card p { margin: 0; }
.cr-close-card .button { width: 100%; margin-top: auto; }
.cr-close-card--cream { background: var(--color-cream); color: var(--color-ink); }
.cr-close-card--olive { background: var(--color-olive); color: var(--color-cream); border-color: var(--color-cream); }
.cr-close-card--olive .button { border-color: var(--color-cream); background: var(--color-cream); color: var(--color-ink); }
.cr-close-card--olive .button:hover { border-color: var(--color-mustard); background: var(--color-mustard); }
.cr-observe { transition: transform 500ms ease-out, opacity 500ms ease-out; }
.cr-observe.is-in-view { transform: translateY(0); opacity: 1; }
@keyframes cr-marquee-scroll { to { transform: translateX(-50%); } }
@media (max-width: 68.74rem) {
.cr-evening__grid, .cr-pathways__grid { grid-template-columns: repeat(6, minmax(0, 1fr)); }
.cr-evening__intro, .cr-pathways__intro { grid-column: 1 / -1; max-width: 38.75rem; }
.cr-evening__routes { grid-column: 1 / -1; transform: none; }
.cr-pathways__tiles { grid-column: 1 / -1; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.cr-pathway-tile:last-child { grid-column: 1 / -1; }
.cr-values__grid { grid-template-columns: repeat(6, minmax(0, 1fr)); }
.cr-values__intro { grid-column: 1 / -1; }
.cr-values__cards { grid-column: 1 / -1; }
}
@media (max-width: 59.36rem) {
.cr-hero__grid, .cr-table__grid, .cr-hospitality__grid, .cr-helpful__grid { grid-template-columns: 1fr; }
.cr-hero__copy, .cr-hero__media, .cr-table__copy, .cr-table__media, .cr-table__support, .cr-hospitality__copy, .cr-hospitality__media, .cr-hospitality__closing, .cr-helpful__intro, .cr-accordion { grid-column: 1; grid-row: auto; max-width: none; }
.cr-hero__media { transform: none; margin-top: var(--space-2); }
.cr-hero__media:hover { transform: translateY(-4px); }
.cr-table__copy { order: 1; }
.cr-table__media { order: 2; }
.cr-table__support { order: 3; }
.cr-hospitality__copy { order: 1; }
.cr-hospitality__media { order: 2; }
.cr-hospitality__closing { order: 3; }
.cr-helpful__grid { gap: var(--space-6); }
}
@media (max-width: 47.99rem) {
.cr-hero { padding-bottom: calc(var(--space-8) + var(--space-6)); }
.cr-hero::after { height: 2.5rem; }
.cr-hero__grid { gap: var(--space-5); }
.cr-hero__copy .lead { max-width: none; }
.cr-hero__suit { right: .25rem; bottom: -2.25rem; font-size: 4.5rem; }
.cr-hero__media img { aspect-ratio: 4 / 5; }
.cr-hero__media figcaption { position: static; max-width: none; margin: 0; border-top: var(--border); }
.cr-rhythm__grid { grid-template-columns: 1fr; gap: var(--space-5); }
.cr-rhythm__intro, .cr-rhythm__poster, .cr-character-cards { grid-column: 1; max-width: none; }
.cr-rhythm__poster { display: none; }
.cr-character-cards { grid-template-columns: 1fr; gap: var(--space-4); }
.cr-character-card { padding: var(--space-5); }
.cr-table::after { height: 2rem; bottom: -1rem; }
.cr-table__grid { gap: var(--space-5); }
.cr-table__media img { aspect-ratio: 4 / 5; }
.cr-evening__grid, .cr-pathways__grid, .cr-values__grid { grid-template-columns: 1fr; gap: var(--space-5); }
.cr-evening__intro, .cr-evening__routes, .cr-evening__closing, .cr-pathways__intro, .cr-pathways__tiles, .cr-values__intro, .cr-values__cards { grid-column: 1; max-width: none; }
.cr-evening__routes, .cr-pathways__tiles, .cr-values__cards { grid-template-columns: 1fr; gap: var(--space-4); }
.cr-pathway-tile:last-child { grid-column: 1; }
.cr-evening__closing { margin-top: 0; }
.cr-live__inner { grid-template-columns: 1fr; }
.cr-live__copy { grid-column: 1; max-width: none; }
.cr-live__number { display: none; }
.cr-marquee { margin-top: var(--space-6); }
.cr-marquee__track { animation: none; padding-inline: var(--gutter); }
.cr-hospitality__grid { gap: var(--space-5); }
.cr-hospitality__media figcaption { margin: 0; border-top: var(--border); }
.cr-values::after { width: 1rem; right: 0; border-radius: 0; }
.cr-helpful__grid { gap: var(--space-5); padding-top: var(--space-5); }
.cr-accordion__answer p {
  }
.cr-close::before { top: -1.5rem; height: 2.5rem; }
.cr-close__grid { grid-template-columns: 1fr; gap: var(--space-5); padding-top: var(--space-5); }
.cr-close__statement, .cr-close__cards { grid-column: 1; max-width: none; }
.cr-close__cards { grid-template-columns: 1fr; gap: var(--space-4); }
}
@media (prefers-reduced-motion: reduce) {
.cr-marquee__track { animation: none; }
.cr-value-card:hover > span { transform: none; }
.cr-observe { transition: none; }
}


#offline-poker-page {
  overflow: clip;
}

#offline-poker-page .op-hero__grid,
#offline-poker-page .op-lounge__grid,
#offline-poker-page .op-dining__grid,
#offline-poker-page .op-form-section__grid,
#offline-poker-page .op-why__intro-grid,
#offline-poker-page .op-pathways__intro-grid,
#offline-poker-page .op-faq__intro-grid {
  display: grid;
  min-width: 0;
}

#offline-poker-page .op-hero {
  padding-block: var(--space-7) var(--space-8);
}

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

#offline-poker-page .op-hero__copy,
#offline-poker-page .op-hero__figure,
#offline-poker-page .op-why__intro,
#offline-poker-page .op-why__poster,
#offline-poker-page .op-lounge__copy,
#offline-poker-page .op-lounge__figure,
#offline-poker-page .op-pathways__intro,
#offline-poker-page .op-pathways__poster,
#offline-poker-page .op-dining__copy,
#offline-poker-page .op-dining__figure,
#offline-poker-page .op-faq__intro,
#offline-poker-page .op-faq__rail,
#offline-poker-page .op-form-section__main,
#offline-poker-page .op-form-section__support {
  min-width: 0;
  width: 100%;
}

#offline-poker-page .op-hero__copy {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-4);
  border: var(--border-strong);
  background: var(--color-cream);
  padding: var(--space-6);
  box-shadow: var(--shadow-offset);
}

#offline-poker-page .op-hero__copy > * { margin: 0; }
#offline-poker-page .op-hero__copy h1 { max-width: 11ch; }
#offline-poker-page .op-hero__copy .lead { max-width: 40ch; }
#offline-poker-page .op-hero__actions { width: 100%; }

#offline-poker-page .op-hero__figure { margin: 0; }
#offline-poker-page .op-hero__figure img,
#offline-poker-page .op-lounge__figure img,
#offline-poker-page .op-dining__figure img {
  width: 100%;
  max-width: 100%;
  object-fit: cover;
  filter: saturate(.84) sepia(.08);
}
#offline-poker-page .op-hero__figure img { aspect-ratio: 4 / 5; border-radius: var(--radius-md); border: var(--border-strong); }
#offline-poker-page .op-hero__figure figcaption { max-width: 360px; }

#offline-poker-page .op-marquee { overflow: hidden; background: var(--color-mustard); color: var(--color-ink); }
#offline-poker-page .op-marquee__viewport { overflow: hidden; white-space: nowrap; }
#offline-poker-page .op-marquee__track { display: inline-flex; min-width: max-content; align-items: center; gap: var(--space-4); padding-block: var(--space-4); font-size: var(--text-label); font-weight: 700; letter-spacing: var(--tracking-label); line-height: var(--leading-label); text-transform: uppercase; animation: op-marquee 38s linear infinite; }
#offline-poker-page .op-marquee__viewport:hover .op-marquee__track,
#offline-poker-page .op-marquee__viewport:focus .op-marquee__track { animation-play-state: paused; }
#offline-poker-page .op-marquee__track b { font-size: 1rem; }
@keyframes op-marquee { to { transform: translateX(-50%); } }

#offline-poker-page .op-why__intro-grid,
#offline-poker-page .op-pathways__intro-grid,
#offline-poker-page .op-faq__intro-grid { grid-template-columns: minmax(0, 1fr); gap: var(--space-5); align-items: stretch; }
#offline-poker-page .op-why__intro,
#offline-poker-page .op-pathways__intro,
#offline-poker-page .op-faq__intro { max-width: 620px; }
#offline-poker-page .op-why__poster,
#offline-poker-page .op-pathways__poster { display: flex; min-height: 120px; flex-direction: column; justify-content: center; gap: var(--space-1); padding: var(--space-5); }
#offline-poker-page .op-why__poster { background: var(--color-orange); color: var(--color-cream); transform: rotate(-2deg); }
#offline-poker-page .op-why__poster span,
#offline-poker-page .op-pathways__poster span { font-size: var(--text-label); font-weight: 700; letter-spacing: var(--tracking-label); text-transform: uppercase; }
#offline-poker-page .op-why__poster strong,
#offline-poker-page .op-pathways__poster strong { font-family: var(--font-display); font-size: var(--text-section); letter-spacing: var(--tracking-display); line-height: 1; }

#offline-poker-page .op-why__cards,
#offline-poker-page .op-pathways__tiles,
#offline-poker-page .op-ready__steps { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--space-4); margin-top: var(--space-7); }
#offline-poker-page .op-experience-card,
#offline-poker-page .op-pathway,
#offline-poker-page .op-ready__steps article { min-width: 0; width: 100%; }
#offline-poker-page .op-experience-card { position: relative; display: flex; flex-direction: column; gap: var(--space-4); padding: var(--space-5); }
#offline-poker-page .op-experience-card > * { margin: 0; }
#offline-poker-page .op-experience-card h3 { font-size: var(--text-card-title); }
#offline-poker-page .op-chip { width: 34px; height: 34px; display: inline-grid; place-items: center; border: 2px solid var(--color-olive); border-radius: 999px; color: var(--color-olive); }
#offline-poker-page .op-card-number { color: var(--color-orange); font-family: var(--font-display); font-size: 3rem; line-height: 1; }
#offline-poker-page .op-experience-card__copy { display: flex; flex-direction: column; gap: var(--space-3); }
#offline-poker-page .op-experience-card__copy > * { margin: 0; }
#offline-poker-page .op-corner-stripe { width: 64px; height: 8px; background: var(--color-mustard); }
#offline-poker-page .op-experience-card__figure { margin: 0; }
#offline-poker-page .op-experience-card__figure img { width: 100%; aspect-ratio: 4 / 5; object-fit: cover; border-radius: var(--radius-sm); }

#offline-poker-page .op-lounge { position: relative; border-bottom-right-radius: var(--radius-lg); }
#offline-poker-page .op-lounge__grid { grid-template-columns: minmax(0, 1fr); gap: var(--space-5); }
#offline-poker-page .op-lounge__copy { display: flex; flex-direction: column; align-items: flex-start; gap: var(--space-4); max-width: 540px; }
#offline-poker-page .op-lounge__copy > * { margin: 0; }
#offline-poker-page .op-feature-rows { display: flex; width: 100%; flex-direction: column; gap: var(--space-4); }
#offline-poker-page .op-feature-row { display: grid; grid-template-columns: 28px minmax(0, 1fr); width: 100%; min-width: 0; gap: var(--space-3); padding-top: var(--space-4); border-top: 1px solid rgb(244 231 203 / 55%); }
#offline-poker-page .op-feature-row > * { min-width: 0; }
#offline-poker-page .op-feature-row > span { font-size: 1.25rem; color: var(--color-mustard); }
#offline-poker-page .op-feature-row h3 { margin-bottom: var(--space-2); font-size: var(--text-card-title); }
#offline-poker-page .op-feature-row a,
#offline-poker-page .op-dining a { color: var(--color-cream); text-decoration-color: var(--color-orange); }
#offline-poker-page .op-lounge__figure { margin: 0; }
#offline-poker-page .op-lounge__figure img { aspect-ratio: 1 / 1; border-radius: var(--radius-md); border: 1px solid rgb(244 231 203 / 65%); }
#offline-poker-page .op-lounge__figure figcaption { color: var(--color-cream); }

#offline-poker-page .op-pathways__poster { background: var(--color-orange); color: var(--color-cream); }
#offline-poker-page .op-pathway { display: flex; flex-direction: column; align-items: flex-start; gap: var(--space-3); min-height: 100%; border: var(--border-strong); padding: var(--space-5); transition: transform var(--transition-card), box-shadow var(--transition-card); }
#offline-poker-page .op-pathway > * { margin: 0; }
#offline-poker-page .op-pathway:hover { box-shadow: var(--shadow-offset); transform: translateY(-4px); }
#offline-poker-page .op-pathway > span { font-family: var(--font-display); font-size: 2.5rem; line-height: 1; }
#offline-poker-page .op-pathway h3 { font-size: var(--text-card-title); }
#offline-poker-page .op-pathway a { margin-top: auto; font-weight: 700; }
#offline-poker-page .op-pathway--walnut { background: var(--color-walnut); color: var(--color-cream); }
#offline-poker-page .op-pathway--walnut a { color: var(--color-cream); text-decoration-color: var(--color-mustard); }
#offline-poker-page .op-pathway--cream { background: var(--color-cream); color: var(--color-ink); }
#offline-poker-page .op-pathway--cream > span { color: var(--color-orange); }
#offline-poker-page .op-pathway--mustard { background: var(--color-mustard); color: var(--color-ink); }
#offline-poker-page .op-pathway--mustard .button { margin-top: auto; }

#offline-poker-page .op-dining { position: relative; }
#offline-poker-page .op-dining__grid { grid-template-columns: minmax(0, 1fr); gap: var(--space-5); align-items: center; }
#offline-poker-page .op-dining__figure { margin: 0; }
#offline-poker-page .op-dining__figure img { aspect-ratio: 4 / 5; border-radius: var(--radius-md); border: 1px solid rgb(244 231 203 / 60%); }
#offline-poker-page .op-dining__figure figcaption { color: var(--color-cream); }
#offline-poker-page .op-dining__copy { display: flex; flex-direction: column; align-items: flex-start; gap: var(--space-4); max-width: 540px; }
#offline-poker-page .op-dining__copy > * { margin: 0; }
#offline-poker-page .op-dining__blocks { display: flex; width: 100%; flex-direction: column; gap: var(--space-4); }
#offline-poker-page .op-dining__blocks > div { position: relative; min-width: 0; border-top: 1px solid rgb(244 231 203 / 55%); padding: var(--space-4) 0 0 32px; }
#offline-poker-page .op-dining__blocks > div > span { position: absolute; left: 0; top: var(--space-4); color: var(--color-mustard); }
#offline-poker-page .op-dining__blocks h3 { margin-bottom: var(--space-2); font-size: var(--text-card-title); }

#offline-poker-page .op-faq__rail { display: flex; min-height: 72px; align-items: center; width: max-content; background: var(--color-mustard); padding: var(--space-3); font-size: var(--text-label); font-weight: 700; letter-spacing: var(--tracking-label); line-height: 1.4; text-transform: uppercase; }
#offline-poker-page .op-accordion { display: flex; flex-direction: column; gap: var(--space-3); margin-top: var(--space-7); }
#offline-poker-page .op-accordion__item { width: 100%; min-width: 0; border-top: var(--border); border-bottom: var(--border); }
#offline-poker-page .op-accordion__item h3 { margin: 0; font-family: var(--font-body); font-size: 1rem; letter-spacing: 0; }
#offline-poker-page .op-accordion__item button { display: grid; grid-template-columns: minmax(0, 1fr) 32px; width: 100%; min-height: 52px; border: 0; border-radius: 0; background: transparent; color: var(--color-ink); padding: var(--space-4) 0; text-align: left; }
#offline-poker-page .op-accordion__item button:hover { background: transparent; color: var(--color-ink); transform: none; }
#offline-poker-page .op-accordion__item button span { font-size: 1.5rem; font-weight: 400; text-align: right; }
#offline-poker-page .op-accordion__item button[aria-expanded="true"] span { transform: rotate(45deg); }
#offline-poker-page .op-accordion__item > div { max-width: 680px; padding-bottom: var(--space-4); }
#offline-poker-page .op-accordion__item > div p { margin: 0; }

#offline-poker-page .op-ready { border-bottom-left-radius: var(--radius-lg); padding-block: var(--space-7); }
#offline-poker-page .op-ready__intro { display: flex; max-width: 560px; flex-direction: column; align-items: center; gap: var(--space-4); margin-inline: auto; color: var(--color-cream); text-align: center; }
#offline-poker-page .op-ready__intro > * { margin: 0; }
#offline-poker-page .op-ready__intro .lead { max-width: 34ch; }
#offline-poker-page .op-ready__steps { margin-top: var(--space-6); }
#offline-poker-page .op-ready__steps article { display: flex; flex-direction: column; gap: var(--space-3); border: var(--border-strong); background: var(--color-cream); color: var(--color-ink); padding: var(--space-5); }
#offline-poker-page .op-ready__steps article > * { margin: 0; }
#offline-poker-page .op-ready__steps span { color: var(--color-orange); font-family: var(--font-display); font-size: 3rem; line-height: 1; }
#offline-poker-page .op-ready__steps h3 { font-size: var(--text-card-title); }
#offline-poker-page .op-ready__arrow { margin-top: var(--space-5); color: var(--color-cream); font-family: var(--font-display); font-size: 3rem; line-height: 1; text-align: center; }

#offline-poker-page .op-form-section__grid { grid-template-columns: minmax(0, 1fr); gap: var(--space-6); }
#offline-poker-page .op-form-section__main { display: flex; flex-direction: column; align-items: flex-start; gap: var(--space-4); }
#offline-poker-page .op-form-section__main > * { margin: 0; }
#offline-poker-page .op-form-section__main .lead { max-width: 620px; }
#offline-poker-page .op-enquiry-form { display: flex; width: 100%; max-width: 100%; flex-direction: column; align-items: flex-start; gap: var(--space-4); }
#offline-poker-page .op-form-grid { display: grid; grid-template-columns: minmax(0, 1fr); width: 100%; gap: var(--space-4); }
#offline-poker-page .op-field { min-width: 0; width: 100%; }
#offline-poker-page .op-field label span,
#offline-poker-page .op-required-note span { color: var(--color-orange); }
#offline-poker-page .op-field input,
#offline-poker-page .op-field select { min-height: 48px; }
#offline-poker-page .op-field textarea { min-height: 140px; }
#offline-poker-page .op-error,
#offline-poker-page .op-helper { margin: var(--space-2) 0 0; font-size: var(--text-small); line-height: var(--leading-small); }
#offline-poker-page .op-error { min-height: 1.1em; color: #8d321b; font-weight: 700; }
#offline-poker-page .op-required-note { margin: 0; font-size: var(--text-small); }
#offline-poker-page .op-form-success { width: 100%; border: 2px solid var(--color-olive); background: #e1e4d8; padding: var(--space-4); font-weight: 700; }
#offline-poker-page .op-form-section__support { display: flex; align-self: stretch; flex-direction: column; align-items: flex-start; gap: var(--space-4); background: var(--color-olive); color: var(--color-cream); padding: var(--space-5); }
#offline-poker-page .op-form-section__support > * { margin: 0; }
#offline-poker-page .op-form-section__support h3 { font-size: var(--text-section); }
#offline-poker-page .op-dining-note { width: 100%; border: 1px solid rgb(244 231 203 / 60%); padding: var(--space-4); }
#offline-poker-page .op-dining-note p { margin: var(--space-2) 0 0; }
#offline-poker-page .op-dining-note a { color: var(--color-cream); text-decoration-color: var(--color-mustard); }

#offline-poker-page .op-endcap { margin-top: calc(var(--space-7) * -1); border-top-left-radius: var(--radius-lg); background: var(--color-cream); padding-block: var(--space-7); }
#offline-poker-page .op-endcap__content { display: flex; max-width: 620px; flex-direction: column; align-items: center; gap: var(--space-4); margin-inline: auto; text-align: center; }
#offline-poker-page .op-endcap__content > * { margin: 0; }
#offline-poker-page .op-endcap__content h2 { max-width: 20ch; font-size: var(--text-section); }
#offline-poker-page .op-endcap__content > p:not(.eyebrow) { max-width: 34ch; }
#offline-poker-page .op-endcap__actions { justify-content: center; }

@media (min-width: 47.5rem) {
  #offline-poker-page .op-hero { padding-block: var(--space-9); }
  #offline-poker-page .op-hero__grid { grid-template-columns: repeat(6, minmax(0, 1fr)); gap: var(--space-5); }
  #offline-poker-page .op-hero__copy { grid-column: 1 / span 3; }
  #offline-poker-page .op-hero__figure { grid-column: 4 / span 3; }
  #offline-poker-page .op-hero__figure img { aspect-ratio: 3 / 4; }
  #offline-poker-page .op-why__intro-grid,
  #offline-poker-page .op-pathways__intro-grid,
  #offline-poker-page .op-faq__intro-grid { grid-template-columns: repeat(6, minmax(0, 1fr)); }
  #offline-poker-page .op-why__intro,
  #offline-poker-page .op-pathways__intro,
  #offline-poker-page .op-faq__intro { grid-column: 1 / span 4; }
  #offline-poker-page .op-why__poster,
  #offline-poker-page .op-pathways__poster,
  #offline-poker-page .op-faq__rail { grid-column: 5 / span 2; }
  #offline-poker-page .op-why__cards,
  #offline-poker-page .op-pathways__tiles,
  #offline-poker-page .op-ready__steps { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  #offline-poker-page .op-experience-card--image,
  #offline-poker-page .op-pathway:nth-child(3),
  #offline-poker-page .op-ready__steps article:nth-child(3) { grid-column: 1 / -1; }
  #offline-poker-page .op-experience-card--image { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); align-items: start; }
  #offline-poker-page .op-experience-card__figure { min-width: 0; }
  #offline-poker-page .op-experience-card__figure img { aspect-ratio: 3 / 2; }
  #offline-poker-page .op-lounge__grid,
  #offline-poker-page .op-dining__grid,
  #offline-poker-page .op-form-section__grid { grid-template-columns: repeat(6, minmax(0, 1fr)); }
  #offline-poker-page .op-lounge__copy,
  #offline-poker-page .op-dining__figure,
  #offline-poker-page .op-form-section__main { grid-column: 1 / span 3; }
  #offline-poker-page .op-lounge__figure,
  #offline-poker-page .op-dining__copy,
  #offline-poker-page .op-form-section__support { grid-column: 4 / span 3; }
  #offline-poker-page .op-dining__figure { order: 0; }
  #offline-poker-page .op-form-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  #offline-poker-page .op-field--wide { grid-column: 1 / -1; }
}

@media (min-width: 61.25rem) {
  #offline-poker-page .op-hero__grid { grid-template-columns: repeat(12, minmax(0, 1fr)); gap: var(--space-5); }
  #offline-poker-page .op-hero__copy { grid-column: 1 / span 7; padding: var(--space-8); }
  #offline-poker-page .op-hero__figure { grid-column: 8 / span 5; margin-top: var(--space-7); }
  #offline-poker-page .op-hero__figure img { aspect-ratio: 16 / 9; }
  #offline-poker-page .op-why__intro-grid,
  #offline-poker-page .op-pathways__intro-grid,
  #offline-poker-page .op-faq__intro-grid { grid-template-columns: repeat(12, minmax(0, 1fr)); }
  #offline-poker-page .op-why__intro,
  #offline-poker-page .op-pathways__intro { grid-column: 1 / span 7; }
  #offline-poker-page .op-why__poster { grid-column: 9 / span 3; }
  #offline-poker-page .op-pathways__poster { grid-column: 8 / span 5; }
  #offline-poker-page .op-faq__intro { grid-column: 1 / span 8; max-width: 680px; }
  #offline-poker-page .op-faq__rail { grid-column: 9 / span 2; }
  #offline-poker-page .op-why__cards,
  #offline-poker-page .op-pathways__tiles,
  #offline-poker-page .op-ready__steps { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  #offline-poker-page .op-experience-card--image,
  #offline-poker-page .op-pathway:nth-child(3),
  #offline-poker-page .op-ready__steps article:nth-child(3) { grid-column: auto; }
  #offline-poker-page .op-experience-card--image { grid-template-columns: minmax(0, 1fr); }
  #offline-poker-page .op-experience-card__figure img { aspect-ratio: 4 / 3; }
  #offline-poker-page .op-lounge__grid,
  #offline-poker-page .op-dining__grid,
  #offline-poker-page .op-form-section__grid { grid-template-columns: repeat(12, minmax(0, 1fr)); gap: var(--space-6); }
  #offline-poker-page .op-lounge__copy { grid-column: 1 / span 7; }
  #offline-poker-page .op-lounge__figure { grid-column: 8 / span 5; align-self: center; }
  #offline-poker-page .op-lounge__figure img { aspect-ratio: 3 / 2; }
  #offline-poker-page .op-dining__figure { grid-column: 1 / span 5; margin-top: calc(var(--space-6) * -1); }
  #offline-poker-page .op-dining__copy { grid-column: 7 / span 6; }
  #offline-poker-page .op-dining__figure img { aspect-ratio: 4 / 3; }
  #offline-poker-page .op-form-section__main { grid-column: 1 / span 7; }
  #offline-poker-page .op-form-section__support { grid-column: 8 / span 5; }
}

@media (max-width: 47.49rem) {
  #offline-poker-page .op-hero__actions { flex-direction: column; align-items: stretch; }
  #offline-poker-page .op-hero__actions > * { width: 100%; }
  #offline-poker-page .op-marquee__track { padding-left: var(--gutter); font-size: .6875rem; animation: none; }
  #offline-poker-page .op-hero__copy h1 { font-size: clamp(3.25rem, 13vw, 3.7rem); }
  #offline-poker-page .op-pathway .button { width: 100%; }
  #offline-poker-page .op-endcap__actions { width: 100%; flex-direction: column; align-items: stretch; }
  #offline-poker-page .op-endcap__actions > * { width: 100%; }
}

@media (prefers-reduced-motion: reduce) {
  #offline-poker-page .op-marquee__track { animation: none; }
  #offline-poker-page .op-pathway:hover { box-shadow: none; transform: none; }
}


.thank-you-page {
  display: grid;
  min-height: clamp(32rem, 68vh, 46rem);
  place-items: center;
  padding-block: var(--content-padding-block);
  background:
    linear-gradient(135deg, rgb(214 165 44 / 18%) 0 16%, transparent 16% 84%, rgb(198 83 45 / 12%) 84% 100%),
    var(--color-cream);
}

.thank-you-page__panel {
  position: relative;
  width: min(100%, 46rem);
  border: var(--border-strong);
  border-radius: var(--radius-md);
  background: var(--color-cream);
  box-shadow: var(--shadow-offset);
  padding: clamp(var(--space-6), 5vw, var(--space-8));
  text-align: center;
}

.thank-you-page__panel::before {
  display: grid;
  width: 3rem;
  height: 3rem;
  margin: 0 auto var(--space-5);
  place-items: center;
  border: 2px solid var(--color-orange);
  border-radius: 50%;
  color: var(--color-orange);
  content: "♥";
  font-family: var(--font-display);
  font-size: 1.5rem;
  line-height: 1;
}

.thank-you-page__eyebrow {
  color: var(--color-walnut);
}

.thank-you-page__title {
  margin-bottom: var(--space-4);
}

.thank-you-page__copy {
  max-width: 37rem;
  margin-inline: auto;
  text-align: center;
}

.thank-you-page__copy p:last-child {
  margin-bottom: 0;
}

.thank-you-page__actions {
  justify-content: center;
  margin-top: var(--space-6);
}

@media (min-width: 48rem) {
  .thank-you-page__panel {
    padding: var(--space-8);
  }
}

@media (max-width: 47.99rem) {
  .thank-you-page {
    align-items: start;
    min-height: 0;
    padding-block: var(--space-7);
  }

  .thank-you-page__panel {
    padding: var(--space-6) var(--space-5);
  }
}