

:root {
  --color-porcelain: #fbf9f5;
  --color-linen: #f4efe6;
  --color-white: #ffffff;
  --color-shell: #ece6dc;
  --color-stone-border: #dfd8cb;
  --color-deep-stone-border: #d5ccbc;
  --color-eucalyptus: #1f493d;
  --color-eucalyptus-dark: #16382f;
  --color-champagne: #c29b53;
  --color-clay: #a84c38;
  --color-charcoal: #181b1d;
  --color-graphite: #3c4146;
  --color-sage-muted: #6a7370;

  --font-display: "Cormorant Garamond", Georgia, serif;
  --font-body: "Nunito Sans", Inter, Arial, sans-serif;

  --text-meta: 0.75rem;
  --text-small: 0.875rem;
  --text-body: 1rem;
  --text-lead: 1.125rem;
  --text-feature: 1.375rem;
  --text-section: clamp(1.75rem, 3vw, 1.875rem);
  --text-hero: clamp(2.25rem, 5vw, 2.75rem);
  --text-display: clamp(2.5rem, 6vw, 3.5rem);

  --leading-meta: 1.4;
  --leading-small: 1.5;
  --leading-body: 1.65;
  --leading-lead: 1.55;
  --leading-feature: 1.25;
  --leading-section: 1.15;
  --leading-hero: 1.05;
  --leading-display: 0.98;

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

  --container-max: 77.5rem;
  --container-padding: 2rem;
  --container-padding-mobile: 1.25rem;

  --radius-sm: 0.125rem;
  --radius-md: 0.375rem;
  --radius-lg: 0.625rem;
  --radius-badge: 0.1875rem;

  --border-default: 1px solid var(--color-stone-border);
  --border-strong: 1px solid var(--color-deep-stone-border);
  --shadow-card: 0 8px 22px rgba(24, 27, 29, 0.08);
  --shadow-modal: 0 14px 36px rgba(24, 27, 29, 0.1);
  --shadow-button: 0 4px 12px rgba(31, 73, 61, 0.18);

  --transition-fast: 140ms ease;
  --transition-standard: 180ms ease;
}

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

html {
  min-width: 320px;
  scroll-behavior: smooth;
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
}

body {
  min-width: 320px;
  min-height: 100vh;
  margin: 0;
  overflow-x: hidden;
  background: var(--color-porcelain);
  color: var(--color-charcoal);
  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,
form,
fieldset,
figure,
picture,
table,
blockquote,
details {
  min-width: 0;
}

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

img,
video {
  height: auto;
}

img {
  border-style: none;
}

svg {
  fill: currentColor;
}

table {
  width: 100%;
  border-collapse: collapse;
  border-spacing: 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;
  -webkit-appearance: none;
  appearance: none;
}

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

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

fieldset {
  min-width: 0;
  margin: 0;
  padding: 0;
  border: 0;
}

legend {
  padding: 0;
}

address {
  font-style: normal;
}

hr {
  height: 0;
  margin: var(--space-7) 0;
  border: 0;
  border-top: var(--border-default);
  color: inherit;
}

summary {
  cursor: pointer;
}

[hidden] {
  display: none !important;
}

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

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

a {
  color: var(--color-eucalyptus);
  text-decoration-color: var(--color-champagne);
  text-decoration-thickness: 1px;
  text-underline-offset: 0.18em;
  transition: color var(--transition-fast), text-decoration-color var(--transition-fast);
}

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

h1,
h2,
h3,
h4,
h5,
h6 {
  margin-top: 0;
  margin-bottom: var(--space-4);
  color: var(--color-charcoal);
  font-family: var(--font-display);
  font-weight: 600;
  text-wrap: balance;
}

h1 {
  font-size: var(--text-display);
  line-height: var(--leading-display);
  letter-spacing: -0.025em;
}

h2 {
  font-size: var(--text-hero);
  line-height: var(--leading-hero);
  letter-spacing: -0.018em;
}

h3 {
  font-size: var(--text-section);
  line-height: var(--leading-section);
  letter-spacing: -0.012em;
}

h4 {
  font-family: var(--font-body);
  font-size: var(--text-feature);
  font-weight: 700;
  line-height: var(--leading-feature);
}

h5 {
  font-family: var(--font-body);
  font-size: var(--text-lead);
  font-weight: 700;
  line-height: var(--leading-lead);
}

h6 {
  font-family: var(--font-body);
  font-size: var(--text-small);
  font-weight: 700;
  line-height: var(--leading-small);
}

p {
  margin-top: 0;
  margin-bottom: var(--space-5);
  color: var(--color-graphite);
}

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

strong,
b {
  font-weight: 700;
}

em,
i {
  font-style: italic;
}

ul {
  list-style: none !important;
}

ol,
ul {
  margin-top: 0;
  margin-bottom: var(--space-5);
  padding-left: 1.25rem;
}

ol {
  list-style: decimal;
}

ol li::marker {
  color: var(--color-eucalyptus);
  font-weight: 700;
}

.content-list {
  display: grid;
  gap: var(--space-2);
}

.content-list,
.content-list ul,
.content-list ol {
  padding-left: 1.25rem;
}

.content-list > li {
  padding-left: var(--space-1);
}

blockquote {
  margin: 0 0 var(--space-5);
  padding: var(--space-4) 0 var(--space-4) var(--space-5);
  border-left: 3px solid var(--color-champagne);
  color: var(--color-graphite);
  font-family: var(--font-display);
  font-size: var(--text-feature);
  font-weight: 500;
  line-height: var(--leading-feature);
}

blockquote p {
  color: inherit;
}

cite {
  display: block;
  margin-top: var(--space-3);
  color: var(--color-sage-muted);
  font-family: var(--font-body);
  font-size: var(--text-meta);
  font-style: normal;
  font-weight: 700;
  letter-spacing: 0.12em;
  line-height: var(--leading-meta);
  text-transform: uppercase;
}

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

dt {
  font-weight: 700;
}

dd {
  margin: 0 0 var(--space-3);
  color: var(--color-graphite);
}

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

figcaption {
  margin-top: var(--space-3);
  color: var(--color-sage-muted);
  font-size: var(--text-small);
  line-height: var(--leading-small);
}

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

code,
kbd {
  padding: 0.1em 0.3em;
  border-radius: var(--radius-sm);
  background: var(--color-shell);
  font-size: 0.9em;
}

pre {
  max-width: 100%;
  margin: 0 0 var(--space-5);
  padding: var(--space-4);
  overflow: auto;
  border: var(--border-default);
  border-radius: var(--radius-md);
  background: var(--color-white);
  font-size: var(--text-small);
  line-height: var(--leading-small);
}

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

input,
select,
textarea {
  width: 100%;
  min-height: 3rem;
  padding: 0.6875rem 0.75rem;
  border: var(--border-default);
  border-radius: var(--radius-md);
  background: var(--color-white);
  color: var(--color-charcoal);
  line-height: 1.35;
  transition: border-color var(--transition-fast), box-shadow var(--transition-fast), background-color var(--transition-fast);
}

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

input:hover,
select:hover,
textarea:hover {
  border-color: var(--color-deep-stone-border);
}

input:focus,
select:focus,
textarea:focus {
  border-color: var(--color-eucalyptus);
  outline: 3px solid var(--color-champagne);
  outline-offset: 2px;
}

input[type="checkbox"],
input[type="radio"] {
  width: 1.125rem;
  min-width: 1.125rem;
  min-height: 1.125rem;
  padding: 0;
  accent-color: var(--color-eucalyptus);
}

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

input[type="file"]::file-selector-button {
  min-height: 2rem;
  margin-right: var(--space-3);
  padding: 0.375rem 0.625rem;
  border: 0;
  border-radius: var(--radius-sm);
  background: var(--color-shell);
  color: var(--color-charcoal);
  font-weight: 700;
}

select {
  background-image: linear-gradient(45deg, transparent 50%, var(--color-eucalyptus) 50%), linear-gradient(135deg, var(--color-eucalyptus) 50%, transparent 50%);
  background-position: calc(100% - 1.15rem) 50%, calc(100% - 0.85rem) 50%;
  background-repeat: no-repeat;
  background-size: 0.3rem 0.3rem, 0.3rem 0.3rem;
  padding-right: 2.25rem;
  -webkit-appearance: none;
  appearance: none;
}

input[type="date"],
input[type="time"] {
  min-height: 3rem;
}

button,
.button,
.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 0;
  min-height: 3rem;
  padding: 0.75rem 1.125rem;
  border: 1px solid transparent;
  border-radius: var(--radius-md);
  background: var(--color-eucalyptus);
  color: var(--color-white);
  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-standard), border-color var(--transition-standard), box-shadow var(--transition-standard), color var(--transition-standard), transform var(--transition-standard);
}

button:hover,
.button:hover,
.btn:hover {
  background: var(--color-eucalyptus-dark);
  box-shadow: var(--shadow-button);
  color: var(--color-white);
  text-decoration: none;
  transform: translateY(-1px);
}

button:active,
.button:active,
.btn:active {
  box-shadow: none;
  transform: translateY(0);
}

.button--secondary,
.btn--secondary {
  border-color: var(--color-champagne);
  background: transparent;
  color: var(--color-eucalyptus);
}

.button--secondary:hover,
.btn--secondary:hover {
  border-color: var(--color-champagne);
  background: rgba(194, 155, 83, 0.12);
  box-shadow: none;
  color: var(--color-eucalyptus-dark);
}

.button--clay,
.btn--clay {
  background: var(--color-clay);
  color: var(--color-white);
}

.button--clay:hover,
.btn--clay:hover {
  background: #8f3f2f;
  color: var(--color-white);
}

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

.section {
  padding-block: clamp(var(--space-8), 7vw, var(--space-10));
}

.section--compact {
  padding-block: clamp(var(--space-6), 5vw, var(--space-8));
}

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

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

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

.section--eucalyptus h1,
.section--eucalyptus h2,
.section--eucalyptus h3,
.section--eucalyptus h4,
.section--eucalyptus h5,
.section--eucalyptus h6,
.section--eucalyptus p,
.section--eucalyptus a {
  color: inherit;
}

.surface {
  min-width: 0;
  border: var(--border-default);
  border-radius: var(--radius-md);
  background: var(--color-white);
}

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

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

.surface--eucalyptus {
  border-color: var(--color-eucalyptus);
  background: var(--color-eucalyptus);
  color: var(--color-white);
}

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

.panel {
  min-width: 0;
  padding: clamp(var(--space-5), 4vw, var(--space-7));
  border: var(--border-default);
  border-radius: var(--radius-md);
  background: var(--color-white);
}

.panel--linen {
  background: var(--color-linen);
}

.panel--eucalyptus {
  border-color: var(--color-eucalyptus);
  background: var(--color-eucalyptus);
  color: var(--color-white);
}

.panel--eucalyptus h1,
.panel--eucalyptus h2,
.panel--eucalyptus h3,
.panel--eucalyptus h4,
.panel--eucalyptus h5,
.panel--eucalyptus h6,
.panel--eucalyptus p,
.panel--eucalyptus a {
  color: inherit;
}

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

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

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

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

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

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

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

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

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

.eyebrow,
.kicker,
.metadata {
  margin: 0 0 var(--space-3);
  color: var(--color-sage-muted);
  font-size: var(--text-meta);
  font-weight: 700;
  letter-spacing: 0.12em;
  line-height: var(--leading-meta);
  text-transform: uppercase;
}

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

.badge {
  display: inline-flex;
  align-items: center;
  min-height: 1.875rem;
  padding: 0.35rem 0.625rem;
  border: var(--border-default);
  border-radius: var(--radius-badge);
  background: transparent;
  color: var(--color-eucalyptus);
  font-size: 0.6875rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  line-height: 1.2;
  text-transform: uppercase;
}

.badge--shell {
  background: var(--color-shell);
}

.badge--eucalyptus {
  border-color: var(--color-eucalyptus);
  background: var(--color-eucalyptus);
  color: var(--color-white);
}

.rule {
  width: 3.5rem;
  height: 1px;
  margin: 0 0 var(--space-4);
  border: 0;
  background: var(--color-champagne);
}

.table-wrap {
  width: 100%;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}

.table-wrap table {
  min-width: 38rem;
}

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

table th {
  color: var(--color-charcoal);
  font-size: var(--text-small);
  font-weight: 700;
}

table td {
  color: var(--color-graphite);
}

.form-field {
  display: grid;
  min-width: 0;
  gap: var(--space-2);
}

.form-helper {
  margin: 0;
  color: var(--color-sage-muted);
  font-size: var(--text-small);
  line-height: var(--leading-small);
}

.form-error {
  margin: 0;
  color: var(--color-clay);
  font-size: var(--text-small);
  font-weight: 700;
  line-height: var(--leading-small);
}

.is-invalid,
[aria-invalid="true"] {
  border-color: var(--color-clay);
}

.required-mark {
  color: var(--color-clay);
}

.card-content > :last-child,
.panel > :last-child,
.surface > :last-child,
.compact-content > :last-child {
  margin-bottom: 0;
}

.nav-toggle {
  flex-direction: column !important;
}

@media (max-width: 1024px) {
  :root {
    --container-padding: 1.5rem;
  }
}

@media (max-width: 760px) {
  :root {
    --container-padding: var(--container-padding-mobile);
  }

  .section {
    padding-block: clamp(var(--space-8), 10vw, var(--space-9));
  }

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

  .actions {
    align-items: stretch;
  }

  .table-wrap table {
    min-width: 34rem;
  }
}

@media (max-width: 480px) {
  h1 {
    font-size: clamp(2.25rem, 10vw, 2.5rem);
    line-height: 1;
  }

  h2 {
    font-size: clamp(2rem, 9vw, 2.25rem);
  }

  .actions {
    flex-direction: column;
  }

  .actions > .button,
  .actions > .btn,
  .actions > button {
    width: 100%;
  }

  .cluster {
    align-items: stretch;
  }

  .table-wrap table {
    min-width: 30rem;
  }
}


ul {
  list-style: none !important;
}

.nav-toggle {
  flex-direction: column !important;
}

.site-header {
  position: relative;
  z-index: 50;
  border-bottom: var(--border-default);
  background: var(--color-white);
}

.site-header__inner {
  display: flex;
  min-height: 5.25rem;
  align-items: center;
  gap: var(--space-5);
}

.site-header__brand {
  display: inline-flex;
  min-width: 0;
  flex: 0 1 auto;
  align-items: center;
  gap: var(--space-3);
  color: var(--color-charcoal);
  text-decoration: none;
}

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

.site-header__logo {
  width: 2.625rem;
  height: 2.625rem;
  min-width: 2.625rem;
  object-fit: contain;
}

.site-header__brand-copy,
.site-header__brand-name,
.site-header__brand-detail {
  display: block;
  min-width: 0;
}

.site-header__brand-name {
  font-family: var(--font-display);
  font-size: 1.1875rem;
  font-weight: 600;
  line-height: 1;
  white-space: nowrap;
}

.site-header__brand-detail {
  margin-top: 0.2rem;
  color: var(--color-sage-muted);
  font-size: 0.625rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  line-height: 1.2;
  text-transform: uppercase;
  white-space: nowrap;
}

.site-header__nav {
  display: flex;
  min-width: 0;
  flex: 1 1 auto;
  align-items: center;
  justify-content: flex-end;
  gap: var(--space-4);
}

.site-header__nav-list {
  display: flex;
  min-width: 0;
  align-items: center;
  gap: clamp(0.65rem, 1.4vw, 1.25rem);
  margin: 0;
  padding: 0;
}

.site-header__nav-list li,
.site-header__nav-list .site-header__nav-list a {
  display: inline-flex;
  min-height: 2.75rem;
  align-items: center;
  color: var(--color-charcoal);
  font-size: 0.8125rem;
  font-weight: 700;
  line-height: 1;
  text-decoration: none;
  white-space: nowrap;
}

.site-header__nav-list a[aria-current="page"] { color: var(--color-eucalyptus); }
.site-header__nav-list a:hover { color: var(--color-eucalyptus); }

.site-header__booking {
  min-height: 2.75rem;
  padding: 0.625rem 0.875rem;
  white-space: nowrap;
}

.nav-toggle {
  display: none;
  width: 3rem;
  min-width: 3rem;
  min-height: 3rem;
  align-items: center;
  justify-content: center;
  gap: 0.2rem;
  padding: 0.35rem;
  border: var(--border-default);
  border-radius: var(--radius-md);
  background: var(--color-white);
  color: var(--color-eucalyptus);
}

.nav-toggle:hover { background: var(--color-linen); box-shadow: none; transform: none; }

.nav-toggle__line {
  display: block;
  width: 1.3rem;
  height: 2px;
  background: currentColor;
  transition: transform var(--transition-fast), opacity var(--transition-fast);
}

.nav-toggle__text {
  margin-top: 0.08rem;
  font-size: 0.5625rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  line-height: 1;
  text-transform: uppercase;
}

.nav-toggle[aria-expanded="true"] .nav-toggle__line:nth-child(1) { transform: translateY(0.4rem) rotate(45deg); }
.nav-toggle[aria-expanded="true"] .nav-toggle__line:nth-child(2) { opacity: 0; }
.nav-toggle[aria-expanded="true"] .nav-toggle__line:nth-child(3) { transform: translateY(-0.4rem) rotate(-45deg); }

@media (max-width: 1080px) {
  .site-header__inner { min-height: 4.75rem; gap: var(--space-3); }
  .site-header__nav-list { gap: 0.7rem; }
  .site-header__nav-list a { font-size: 0.75rem; }
  .site-header__booking { padding-inline: 0.75rem; font-size: 0.75rem; }
}

@media (max-width: 920px) {
  .site-header__inner { justify-content: space-between; }
  .nav-toggle { display: inline-flex; }
  .site-header__nav {
    position: absolute;
    top: calc(100% + 1px);
    right: max(var(--container-padding), calc((100vw - var(--container-max)) / 2 + var(--container-padding)));
    left: max(var(--container-padding), calc((100vw - var(--container-max)) / 2 + var(--container-padding)));
    display: none;
    max-height: calc(100vh - 5rem);
    overflow-y: auto;
    padding: var(--space-4);
    border: var(--border-default);
    border-top: 0;
    background: var(--color-white);
    box-shadow: var(--shadow-card);
  }
  .site-header__nav.is-open { display: grid; gap: var(--space-4); }
  .site-header__nav-list { display: grid; gap: 0; }
  .site-header__nav-list li { border-bottom: var(--border-default); }
  .site-header__nav-list a { width: 100%; min-height: 3rem; font-size: var(--text-small); }
  .site-header__booking { width: 100%; }
}

@media (max-width: 420px) {
  .site-header__inner { min-height: 4.5rem; }
  .site-header__logo { width: 2.25rem; height: 2.25rem; min-width: 2.25rem; }
  .site-header__brand-name { font-size: 1rem; }
  .site-header__brand-detail { display: none; }
}


.site-footer {
  border-top: var(--border-default);
  background: var(--color-linen);
}

.site-footer__inner {
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr);
  gap: clamp(var(--space-7), 8vw, var(--space-11));
  padding-block: clamp(var(--space-8), 7vw, var(--space-10));
}

.site-footer__brand-block {
  display: grid;
  align-content: start;
  gap: var(--space-4);
}

.site-footer__brand-block p { margin: 0; }

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

.site-footer__brand:hover { color: var(--color-eucalyptus); }
.site-footer__logo { width: 3.5rem; height: 3.5rem; min-width: 3.5rem; object-fit: contain; }
.site-footer__brand-name { display: block; font-family: var(--font-display); font-size: 1.375rem; font-weight: 600; line-height: 1; }
.site-footer__brand-detail { display: block; margin-top: 0.3rem; color: var(--color-sage-muted); font-size: 0.625rem; font-weight: 700; letter-spacing: 0.1em; line-height: 1.2; text-transform: uppercase; }

.site-footer__contact { display: grid; gap: var(--space-2); color: var(--color-graphite); font-size: var(--text-small); line-height: var(--leading-small); }
.site-footer__contact a { width: fit-content; }

.site-footer__nav { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-6); }
.site-footer__nav-group { display: grid; align-content: start; gap: var(--space-3); }
.site-footer__nav h2 { margin: 0; font-family: var(--font-body); font-size: var(--text-meta); font-weight: 700; letter-spacing: 0.12em; line-height: var(--leading-meta); text-transform: uppercase; }
.site-footer__nav ul { display: grid; gap: var(--space-2); margin: 0; padding: 0; }
.site-footer__nav li { margin: 0; padding: 0; }
.site-footer__nav a { font-size: var(--text-small); line-height: var(--leading-small); }

.site-footer__bottom { border-top: var(--border-default); }
.site-footer__bottom .container { padding-block: var(--space-4); }
.site-footer__bottom p { margin: 0; color: var(--color-sage-muted); font-size: var(--text-small); line-height: var(--leading-small); }

.site-consent[hidden] { display: none !important; }
.site-consent {
  position: fixed;
  right: var(--space-4);
  bottom: var(--space-4);
  left: var(--space-4);
  z-index: 80;
  max-width: 48rem;
  margin-inline: auto;
  border: var(--border-strong);
  border-radius: var(--radius-md);
  background: var(--color-white);
  box-shadow: var(--shadow-card);
}
.site-consent__inner { display: flex; align-items: center; justify-content: space-between; gap: var(--space-4); padding: var(--space-4); }
.site-consent__copy { margin: 0; color: var(--color-graphite); font-size: var(--text-small); line-height: var(--leading-small); }
.site-consent__actions { display: flex; flex: 0 0 auto; gap: var(--space-2); }
.site-consent__actions .button { min-height: 2.75rem; padding: 0.625rem 0.875rem; }

[data-age-modal][hidden] { display: none !important; }
.age-modal { position: fixed; z-index: 200; inset: 0; display: grid; place-items: center; padding: var(--space-5); overflow-y: auto; }
.age-modal__backdrop { position: fixed; inset: 0; background: rgba(251, 249, 245, 0.84); backdrop-filter: blur(5px); }
.age-modal__dialog { position: relative; z-index: 1; width: min(100%, 38rem); padding: clamp(var(--space-5), 6vw, var(--space-8)); border: 2px solid var(--color-eucalyptus); border-radius: var(--radius-lg); background: var(--color-porcelain); box-shadow: var(--shadow-modal); }
.age-modal__eyebrow { margin: 0 0 var(--space-3); color: var(--color-eucalyptus); font-size: var(--text-meta); font-weight: 700; letter-spacing: 0.12em; line-height: var(--leading-meta); text-transform: uppercase; }
.age-modal__dialog h2 { margin-bottom: var(--space-4); }
.age-modal__dialog p:not(.age-modal__eyebrow) { margin-bottom: var(--space-5); }
.age-modal__actions { display: flex; flex-wrap: wrap; gap: var(--space-3); }

@media (max-width: 760px) {
  .site-footer__inner { grid-template-columns: 1fr; }
}

@media (max-width: 520px) {
  .site-footer__nav { grid-template-columns: 1fr; }
  .site-consent { right: var(--space-3); bottom: var(--space-3); left: var(--space-3); }
  .site-consent__inner { align-items: stretch; flex-direction: column; }
  .site-consent__actions { display: grid; grid-template-columns: 1fr 1fr; }
  .site-consent__actions .button { width: 100%; }
  .age-modal { padding: var(--space-5); }
  .age-modal__actions { display: grid; }
  .age-modal__actions .button { width: 100%; }
}


.cookie-policy-page {
  background: var(--color-porcelain);
}

.cookie-policy-masthead {
  padding-block: clamp(var(--space-9), 8vw, var(--space-10));
  background: var(--color-linen);
}

.cookie-policy-masthead__container,
.cookie-policy-glance .container,
.cookie-policy-definitions .container,
.cookie-policy-controls .container,
.cookie-policy-third-parties .container,
.cookie-policy-updates .container,
.cookie-policy-enquiries .container,
.cookie-policy-uses .container {
  min-width: 0;
}

.cookie-policy-masthead__reading {
  width: min(100%, 42.5rem);
  margin-left: calc((100% - min(100%, 77.5rem)) / 2 + 20.833%);
  min-width: 0;
}

.cookie-policy-masthead__scope {
  max-width: 42ch;
  font-size: var(--text-lead);
  line-height: var(--leading-lead);
}

.cookie-policy-masthead__date,
.cookie-policy-update-unit__date {
  margin-bottom: 0;
  color: var(--color-eucalyptus);
  font-size: var(--text-meta);
  font-weight: 700;
  letter-spacing: 0.12em;
  line-height: var(--leading-meta);
  text-transform: uppercase;
}

.cookie-policy-glance__reading {
  width: min(100%, 42.5rem);
  margin-inline: auto;
  min-width: 0;
}

.cookie-policy-summary {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 0;
  min-width: 0;
}

.cookie-policy-summary__item {
  display: grid;
  grid-template-columns: 2.5rem minmax(0, 1fr);
  gap: var(--space-4);
  min-width: 0;
  padding-block: var(--space-5);
  border-top: var(--border-default);
}

.cookie-policy-summary__item:first-child {
  padding-top: 0;
  border-top: 0;
}

.cookie-policy-summary__number,
.cookie-policy-guidance__number {
  width: 2.5rem;
  margin: 0;
  color: var(--color-eucalyptus);
  font-size: var(--text-small);
  font-weight: 700;
  letter-spacing: 0.08em;
  line-height: var(--leading-small);
}

.cookie-policy-summary__copy,
.cookie-policy-guidance__copy {
  min-width: 0;
}

.cookie-policy-summary__copy h3,
.cookie-policy-guidance__copy h3 {
  margin-bottom: var(--space-3);
}

.cookie-policy-summary__copy p,
.cookie-policy-guidance__copy p {
  margin-bottom: 0;
}

.cookie-policy-definitions__reading {
  width: min(100%, 43.75rem);
  margin-inline: auto;
  min-width: 0;
}

.cookie-policy-definitions__reading > .lead {
  max-width: 37ch;
}

.cookie-policy-definition {
  min-width: 0;
  padding-top: var(--space-5);
  border-top: var(--border-default);
}

.cookie-policy-definition + .cookie-policy-definition {
  margin-top: var(--space-5);
}

.cookie-policy-definition h3 {
  margin-bottom: var(--space-3);
}

.cookie-policy-definition p {
  margin-bottom: 0;
}

.cookie-policy-uses__heading {
  width: min(100%, 42.5rem);
  min-width: 0;
}

.cookie-policy-uses__heading .lead {
  max-width: 43ch;
}

.cookie-policy-purpose-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(18.75rem, 1fr));
  gap: var(--space-5);
  min-width: 0;
  width: min(100%, 64.5rem);
  margin-top: var(--space-7);
  margin-inline: auto;
}

.cookie-policy-purpose-panel {
  display: flex;
  min-width: 0;
  flex-direction: column;
  align-items: stretch;
  gap: var(--space-3);
  padding: var(--space-6);
  border: var(--border-default);
  border-radius: var(--radius-md);
  background: var(--color-white);
}

.cookie-policy-purpose-panel > * {
  min-width: 0;
}

.cookie-policy-purpose-panel h3,
.cookie-policy-purpose-panel p {
  margin: 0;
}

.cookie-policy-purpose-panel__label,
.cookie-policy-venue-callout__label {
  color: var(--color-eucalyptus);
  font-size: var(--text-meta);
  font-weight: 700;
  letter-spacing: 0.12em;
  line-height: var(--leading-meta);
  text-transform: uppercase;
}

.cookie-policy-purpose-panel--wide {
  grid-column: 1 / -1;
  border-color: var(--color-deep-stone-border);
  background: var(--color-shell);
}

.cookie-policy-controls__reading {
  width: min(100%, 43.75rem);
  margin-inline: auto;
  min-width: 0;
}

.cookie-policy-choice-panel {
  display: flex;
  min-width: 0;
  flex-direction: column;
  align-items: stretch;
  gap: var(--space-3);
  width: min(100%, 38.75rem);
  margin-top: var(--space-6);
  padding: var(--space-6);
  border: var(--border-default);
  border-radius: var(--radius-md);
  background: var(--color-linen);
}

.cookie-policy-choice-panel > * {
  min-width: 0;
  margin: 0;
}

.cookie-policy-guidance {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 0;
  min-width: 0;
  margin-top: var(--space-6);
}

.cookie-policy-guidance__unit {
  display: grid;
  grid-template-columns: 2.5rem minmax(0, 1fr);
  gap: var(--space-4);
  min-width: 0;
  padding-block: var(--space-5);
  border-top: var(--border-default);
}

.cookie-policy-guidance__unit:last-child {
  padding-bottom: 0;
}

.cookie-policy-third-parties__reading {
  width: min(100%, 45rem);
  margin-inline: auto;
  min-width: 0;
}

.cookie-policy-third-party-unit {
  min-width: 0;
  padding-top: var(--space-5);
  border-top: var(--border-default);
}

.cookie-policy-third-party-unit + .cookie-policy-third-party-unit {
  margin-top: var(--space-5);
}

.cookie-policy-third-party-unit h3,
.cookie-policy-third-party-unit p {
  min-width: 0;
}

.cookie-policy-third-party-unit h3 {
  margin-bottom: var(--space-3);
}

.cookie-policy-third-party-unit p {
  margin-bottom: 0;
}

.cookie-policy-venue-callout {
  display: flex;
  min-width: 0;
  flex-direction: column;
  align-items: stretch;
  gap: var(--space-3);
  margin-top: var(--space-6);
  padding: var(--space-6);
  border: var(--border-default);
  border-radius: var(--radius-md);
  background: var(--color-shell);
}

.cookie-policy-venue-callout > * {
  min-width: 0;
  margin: 0;
}

.cookie-policy-updates__reading {
  width: min(100%, 42.5rem);
  margin-inline: auto;
  min-width: 0;
}

.cookie-policy-update-unit {
  display: flex;
  min-width: 0;
  flex-direction: column;
  align-items: stretch;
  gap: var(--space-3);
  padding-top: var(--space-5);
  border-top: var(--border-default);
}

.cookie-policy-update-unit > * {
  min-width: 0;
  margin: 0;
}

.cookie-policy-related-panel {
  display: flex;
  min-width: 0;
  flex-direction: column;
  align-items: stretch;
  gap: var(--space-3);
  margin-top: var(--space-5);
  padding: var(--space-6);
  border: var(--border-default);
  border-radius: var(--radius-md);
  background: var(--color-white);
}

.cookie-policy-related-panel > * {
  min-width: 0;
  margin: 0;
}

.cookie-policy-enquiries__reading {
  width: min(100%, 45rem);
  margin-inline: auto;
  min-width: 0;
}

.cookie-policy-enquiries__intro,
.cookie-policy-enquiries__closing {
  width: min(100%, 40.625rem);
}

.cookie-policy-contact-panel {
  display: grid;
  grid-template-columns: minmax(9.375rem, 9.375rem) minmax(0, 1fr);
  min-width: 0;
  margin-top: var(--space-6);
  padding: var(--space-5) var(--space-6);
  border: var(--border-default);
  border-radius: var(--radius-md);
  background: var(--color-white);
}

.cookie-policy-contact-panel__row {
  display: contents;
}

.cookie-policy-contact-panel__label,
.cookie-policy-contact-panel__detail {
  min-width: 0;
  margin: 0;
  padding-block: var(--space-3);
  border-bottom: var(--border-default);
}

.cookie-policy-contact-panel__row:last-child .cookie-policy-contact-panel__label,
.cookie-policy-contact-panel__row:last-child .cookie-policy-contact-panel__detail {
  border-bottom: 0;
}

.cookie-policy-contact-panel__label {
  color: var(--color-charcoal);
  font-size: var(--text-small);
  font-weight: 700;
}

.cookie-policy-contact-panel__detail {
  color: var(--color-graphite);
  overflow-wrap: anywhere;
}

.cookie-policy-enquiries__closing {
  margin-top: var(--space-6);
}

.cookie-policy-enquiries__closing .rule {
  margin-bottom: var(--space-4);
}

.cookie-policy-enquiries__closing p {
  margin-bottom: 0;
}

@media (max-width: 1024px) {
  .cookie-policy-masthead__reading {
    margin-left: 16.666%;
  }

  .cookie-policy-purpose-grid {
    width: min(100%, 57rem);
  }
}

@media (max-width: 820px) {
  .cookie-policy-purpose-grid {
    grid-template-columns: minmax(0, 1fr);
    width: min(100%, 43.75rem);
  }

  .cookie-policy-purpose-panel--wide {
    grid-column: auto;
  }
}

@media (max-width: 760px) {
  .cookie-policy-masthead {
    padding-block: clamp(var(--space-8), 12vw, var(--space-9));
  }

  .cookie-policy-masthead__reading,
  .cookie-policy-glance__reading,
  .cookie-policy-definitions__reading,
  .cookie-policy-controls__reading,
  .cookie-policy-third-parties__reading,
  .cookie-policy-updates__reading,
  .cookie-policy-enquiries__reading {
    width: 100%;
    margin-inline: 0;
  }

  .cookie-policy-masthead__scope,
  .cookie-policy-definitions__reading > .lead,
  .cookie-policy-uses__heading .lead,
  .cookie-policy-enquiries__intro,
  .cookie-policy-enquiries__closing {
    max-width: none;
  }

  .cookie-policy-uses__heading {
    width: 100%;
  }

  .cookie-policy-purpose-grid {
    width: 100%;
    gap: var(--space-4);
    margin-top: var(--space-6);
  }

  .cookie-policy-purpose-panel,
  .cookie-policy-choice-panel,
  .cookie-policy-venue-callout,
  .cookie-policy-related-panel {
    padding: var(--space-5);
  }
}

@media (max-width: 700px) {
  .cookie-policy-contact-panel {
    display: flex;
    min-width: 0;
    flex-direction: column;
    align-items: stretch;
    gap: var(--space-2);
    padding: var(--space-5);
  }

  .cookie-policy-contact-panel__row {
    display: flex;
    min-width: 0;
    flex-direction: column;
    align-items: stretch;
    gap: var(--space-1);
    padding-block: var(--space-3);
    border-bottom: var(--border-default);
  }

  .cookie-policy-contact-panel__row:first-child {
    padding-top: 0;
  }

  .cookie-policy-contact-panel__row:last-child {
    padding-bottom: 0;
    border-bottom: 0;
  }

  .cookie-policy-contact-panel__label,
  .cookie-policy-contact-panel__detail {
    padding: 0;
    border: 0;
  }
}

@media (max-width: 480px) {
  .cookie-policy-masthead h1 {
    font-size: 2.25rem;
    line-height: 1;
  }

  .cookie-policy-summary__item,
  .cookie-policy-guidance__unit {
    grid-template-columns: minmax(0, 1fr);
    gap: var(--space-2);
  }

  .cookie-policy-summary__number,
  .cookie-policy-guidance__number {
    width: auto;
  }

  .cookie-policy-purpose-panel,
  .cookie-policy-choice-panel,
  .cookie-policy-venue-callout,
  .cookie-policy-related-panel,
  .cookie-policy-contact-panel {
    padding: var(--space-5);
  }
}


ul { list-style: none !important; }
.nav-toggle { flex-direction: column !important; }

.privacy-policy-page {
  background: var(--color-porcelain);
}

.privacy-policy-page__title-band,
.privacy-policy-page__section {
  min-width: 0;
}

.privacy-policy-page__title-band {
  padding-block: var(--space-9);
  background: var(--color-linen);
  border-bottom: var(--border-strong);
}

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

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

.privacy-policy-page__title-block {
  grid-column: 3 / span 7;
  width: 100%;
  max-width: 42.5rem;
}

.privacy-policy-page__title-block h1 {
  margin-bottom: var(--space-5);
  font-size: 2.75rem;
  line-height: 1.02;
}

.privacy-policy-page__title-block .lead {
  max-width: 42.5rem;
  margin-bottom: var(--space-5);
}

.privacy-policy-page__effective-date {
  display: flex;
  align-items: baseline;
  width: 100%;
  min-width: 0;
  gap: var(--space-3);
  padding-top: var(--space-3);
  border-top: 1px solid var(--color-champagne);
}

.privacy-policy-page__effective-date span,
.privacy-policy-page__effective-date strong,
.privacy-policy-page__date-repeat span,
.privacy-policy-page__date-repeat strong {
  min-width: 0;
}

.privacy-policy-page__effective-date span,
.privacy-policy-page__date-repeat span {
  color: var(--color-sage-muted);
  font-size: var(--text-meta);
  font-weight: 700;
  letter-spacing: 0.12em;
  line-height: var(--leading-meta);
  text-transform: uppercase;
}

.privacy-policy-page__effective-date strong,
.privacy-policy-page__date-repeat strong {
  color: var(--color-charcoal);
  font-size: var(--text-small);
}

.privacy-policy-page__section {
  padding-block: var(--space-9);
}

.privacy-policy-page__measure {
  width: 100%;
  min-width: 0;
}

.privacy-policy-page__measure--scope {
  max-width: 45rem;
  margin-inline: auto;
}

.privacy-policy-page__measure--disclosure {
  max-width: 43.75rem;
  margin-inline: auto;
}

.privacy-policy-page__measure--assurance,
.privacy-policy-page__measure--closing {
  max-width: 42.5rem;
  margin-inline: auto;
}

.privacy-policy-page__numbered-prose,
.privacy-policy-page__disclosure-list,
.privacy-policy-page__assurance-list {
  display: flex;
  min-width: 0;
  flex-direction: column;
  align-items: stretch;
  gap: var(--space-5);
}

.privacy-policy-page__numbered-prose > *,
.privacy-policy-page__disclosure-list > *,
.privacy-policy-page__assurance-list > * {
  width: 100%;
  min-width: 0;
}

.privacy-policy-page__prose-unit {
  padding-top: var(--space-5);
  border-top: var(--border-default);
}

.privacy-policy-page__unit-number {
  display: block;
  margin-bottom: var(--space-2);
  color: var(--color-champagne);
  font-size: var(--text-meta);
  font-weight: 700;
  letter-spacing: 0.12em;
  line-height: var(--leading-meta);
}

.privacy-policy-page__prose-unit h3,
.privacy-policy-page__reference-panel h3,
.privacy-policy-page__disclosure-unit h3,
.privacy-policy-page__assurance-entry h3,
.privacy-policy-page__rights-unit h3,
.privacy-policy-page__practical-note h3,
.privacy-policy-page__closing-unit h3,
.privacy-policy-page__cookie-row h3 {
  font-size: 1.375rem;
  font-weight: 600;
}

.privacy-policy-page__information-band {
  background: var(--color-white);
  border-block: var(--border-default);
}

.privacy-policy-page__information-layout {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: var(--space-6) var(--space-5);
}

.privacy-policy-page__information-layout > * {
  min-width: 0;
}

.privacy-policy-page__information-intro {
  grid-column: 1 / span 8;
  width: 100%;
  max-width: 42.5rem;
}

.privacy-policy-page__information-grid {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-5);
  width: 100%;
  min-width: 0;
}

.privacy-policy-page__information-grid > * {
  width: 100%;
  min-width: 0;
}

.privacy-policy-page__reference-panel {
  min-height: 100%;
  padding: var(--space-6);
  border: var(--border-default);
  border-radius: var(--radius-md);
  background: var(--color-white);
}

.privacy-policy-page__reference-panel .rule {
  margin-bottom: var(--space-3);
}

.privacy-policy-page__reference-panel p:last-child,
.privacy-policy-page__purpose-entry p:last-child,
.privacy-policy-page__disclosure-unit p:last-child,
.privacy-policy-page__assurance-entry p:last-child,
.privacy-policy-page__rights-unit p:last-child,
.privacy-policy-page__practical-note p:last-child,
.privacy-policy-page__closing-unit p:last-child,
.privacy-policy-page__cookie-row p:last-child {
  margin-bottom: 0;
}

.privacy-policy-page__uses-band {
  background: var(--color-linen);
}

.privacy-policy-page__uses-layout {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  row-gap: var(--space-6);
}

.privacy-policy-page__uses-layout > * {
  min-width: 0;
}

.privacy-policy-page__uses-intro {
  grid-column: 2 / span 8;
  width: 100%;
  max-width: 42.5rem;
}

.privacy-policy-page__purpose-list {
  grid-column: 2 / span 10;
  display: flex;
  min-width: 0;
  flex-direction: column;
  align-items: stretch;
}

.privacy-policy-page__purpose-list > * {
  width: 100%;
  min-width: 0;
}

.privacy-policy-page__purpose-entry {
  display: grid;
  grid-template-columns: 10.625rem minmax(0, 1fr);
  align-items: start;
  gap: var(--space-5);
  padding-block: var(--space-5);
  border-top: var(--border-default);
}

.privacy-policy-page__purpose-entry h3 {
  width: 100%;
  min-width: 0;
  margin: 0;
  color: var(--color-eucalyptus);
  font-family: var(--font-body);
  font-size: var(--text-small);
  font-weight: 700;
  line-height: var(--leading-small);
}

.privacy-policy-page__purpose-entry p {
  width: 100%;
  min-width: 0;
  margin: 0;
}

.privacy-policy-page__purpose-entry:nth-child(2) {
  border-left: 3px solid var(--color-eucalyptus);
  padding-left: var(--space-4);
}

.privacy-policy-page__disclosure-unit {
  padding-top: var(--space-5);
  border-top: var(--border-default);
}

.privacy-policy-page__disclosure-unit .metadata {
  margin-bottom: var(--space-2);
}

.privacy-policy-page__assurance-band {
  background: var(--color-shell);
}

.privacy-policy-page__assurance-entry {
  padding: var(--space-5);
  border: var(--border-default);
  border-radius: var(--radius-md);
  background: var(--color-white);
}

.privacy-policy-page__rights-layout {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  row-gap: var(--space-5);
}

.privacy-policy-page__rights-layout > * {
  min-width: 0;
}

.privacy-policy-page__rights-prose {
  grid-column: 3 / span 7;
  width: 100%;
  max-width: 45rem;
}

.privacy-policy-page__rights-prose--continued {
  grid-row: 3;
}

.privacy-policy-page__contact-strip {
  grid-column: 2 / span 9;
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(17.5rem, 1.55fr) minmax(10rem, 0.7fr);
  align-items: stretch;
  width: 100%;
  min-width: 0;
  border: var(--border-default);
  border-radius: var(--radius-md);
  background: var(--color-white);
}

.privacy-policy-page__contact-strip > * {
  min-width: 0;
}

.privacy-policy-page__contact-intro {
  padding: var(--space-4) var(--space-5);
  background: var(--color-linen);
}

.privacy-policy-page__contact-label {
  display: block;
  margin-bottom: var(--space-1);
  color: var(--color-eucalyptus);
  font-size: var(--text-meta);
  font-weight: 700;
  letter-spacing: 0.12em;
  line-height: var(--leading-meta);
  text-transform: uppercase;
}

.privacy-policy-page__contact-intro p {
  margin: 0;
  font-size: var(--text-small);
  line-height: var(--leading-small);
}

.privacy-policy-page__contact-strip a {
  display: flex;
  align-items: center;
  width: 100%;
  min-height: 3rem;
  padding: var(--space-4) var(--space-5);
  overflow-wrap: anywhere;
  border-left: var(--border-default);
  font-size: var(--text-small);
  font-weight: 700;
}

.privacy-policy-page__practical-note {
  width: 100%;
  min-width: 0;
  margin-top: var(--space-5);
  padding: var(--space-5);
  border: var(--border-default);
  border-radius: var(--radius-md);
  background: var(--color-shell);
}

.privacy-policy-page__closing-band {
  padding-top: var(--space-9);
  padding-bottom: var(--space-10);
  background: var(--color-linen);
  border-top: var(--border-default);
}

.privacy-policy-page__closing-unit {
  padding-top: var(--space-5);
  border-top: var(--border-default);
}

.privacy-policy-page__date-repeat {
  display: flex;
  align-items: baseline;
  gap: var(--space-3);
  margin-top: var(--space-4);
  margin-bottom: 0;
}

.privacy-policy-page__cookie-row {
  margin-top: var(--space-6);
  padding: var(--space-5);
  border: var(--border-default);
  border-radius: var(--radius-md);
  background: var(--color-white);
}

.privacy-policy-page__closing-rule {
  width: 3.5rem;
  height: 1px;
  margin: var(--space-6) 0 0;
  border: 0;
  background: var(--color-champagne);
}

@media (max-width: 1024px) {
  .privacy-policy-page__title-block {
    grid-column: 2 / span 8;
  }

  .privacy-policy-page__rights-prose {
    grid-column: 2 / span 9;
  }

  .privacy-policy-page__contact-strip {
    grid-column: 1 / -1;
  }
}

@media (max-width: 900px) {
  .privacy-policy-page__purpose-entry {
    grid-template-columns: 1fr;
    gap: var(--space-2);
  }

  .privacy-policy-page__purpose-entry h3,
  .privacy-policy-page__purpose-entry p {
  }

  .privacy-policy-page__purpose-entry:nth-child(2) {
    border-left: 0;
    border-top: 3px solid var(--color-eucalyptus);
    padding-left: 0;
  }
}

@media (max-width: 760px) {
  .privacy-policy-page__title-band {
    padding-block: var(--space-8);
  }

  .privacy-policy-page__title-grid,
  .privacy-policy-page__information-layout,
  .privacy-policy-page__uses-layout,
  .privacy-policy-page__rights-layout {
    grid-template-columns: 1fr;
  }

  .privacy-policy-page__title-block,
  .privacy-policy-page__information-intro,
  .privacy-policy-page__information-grid,
  .privacy-policy-page__uses-intro,
  .privacy-policy-page__purpose-list,
  .privacy-policy-page__rights-prose,
  .privacy-policy-page__contact-strip {
    grid-column: 1;
  }

  .privacy-policy-page__rights-prose--continued {
    grid-row: auto;
  }

  .privacy-policy-page__title-block h1 {
    font-size: 2.25rem;
    line-height: 1.02;
  }

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

  .privacy-policy-page__measure--scope,
  .privacy-policy-page__measure--disclosure,
  .privacy-policy-page__measure--assurance,
  .privacy-policy-page__measure--closing,
  .privacy-policy-page__information-intro,
  .privacy-policy-page__uses-intro,
  .privacy-policy-page__rights-prose {
    max-width: none;
  }

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

  .privacy-policy-page__reference-panel,
  .privacy-policy-page__assurance-entry,
  .privacy-policy-page__practical-note,
  .privacy-policy-page__cookie-row {
    padding: var(--space-5);
  }

  .privacy-policy-page__contact-strip {
    grid-template-columns: 1fr;
  }

  .privacy-policy-page__contact-strip a {
    min-height: 3rem;
    border-top: var(--border-default);
    border-left: 0;
  }

  .privacy-policy-page__closing-band {
    padding-top: var(--space-8);
    padding-bottom: var(--space-9);
  }
}

@media (max-width: 480px) {
  .privacy-policy-page__effective-date,
  .privacy-policy-page__date-repeat {
    flex-direction: column;
    align-items: flex-start;
    gap: var(--space-1);
  }

  .privacy-policy-page__reference-panel,
  .privacy-policy-page__assurance-entry,
  .privacy-policy-page__practical-note,
  .privacy-policy-page__cookie-row,
  .privacy-policy-page__contact-intro,
  .privacy-policy-page__contact-strip a {
    padding: var(--space-4);
  }
}


ul { list-style: none !important; }
.nav-toggle { flex-direction: column !important; }

.terms-page {
  background: var(--color-porcelain);
}

.terms-page__intro {
  padding-block: clamp(var(--space-9), 8vw, var(--space-10));
  background: var(--color-linen);
  border-bottom: var(--border-strong);
}

.terms-page__intro-grid,
.terms-page__reading-grid,
.terms-page__guide-grid {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  column-gap: var(--space-5);
}

.terms-page__intro-copy {
  grid-column: 2 / span 8;
  min-width: 0;
  max-width: 46.25rem;
}

.terms-page__intro-copy > :last-child,
.terms-page__scope-panel > :last-child,
.terms-page__reading-column > :last-child,
.terms-page__guide-frame > :last-child,
.terms-page__clause > :last-child,
.terms-page__age-notice > :last-child,
.terms-page__admission-notice > :last-child,
.terms-page__event-panel > :last-child,
.terms-page__conduct-panel > :last-child,
.terms-page__adjustment-panel > :last-child,
.terms-page__website-panel > :last-child,
.terms-page__liability-notice > :last-child,
.terms-page__acknowledgement-card > :last-child,
.terms-page__question-block > :last-child {
  margin-bottom: 0;
}

.terms-page__intro-copy h1 {
  max-width: 42rem;
  color: var(--color-eucalyptus);
  font-size: clamp(2.75rem, 5vw, 3.5rem);
}

.terms-page__scope-panel {
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: var(--space-4);
  max-width: 42.5rem;
  padding: var(--space-5);
  border: var(--border-default);
  border-radius: var(--radius-md);
  background: rgba(255, 255, 255, 0.5);
}

.terms-page__scope-panel p {
  margin: 0;
}

.terms-page__guide {
  padding-block: var(--space-8);
  background: var(--color-porcelain);
}

.terms-page__guide-frame {
  grid-column: 2 / span 9;
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: var(--space-5);
  max-width: 57.5rem;
  padding: var(--space-6);
  border: var(--border-default);
  border-radius: var(--radius-md);
  background: var(--color-white);
}

.terms-page__guide-frame h2,
.terms-page__guide-note {
  margin: 0;
}

.terms-page__anchor-nav {
  display: grid;
  min-width: 0;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0 var(--space-5);
  border-top: var(--border-default);
}

.terms-page__anchor-nav a {
  display: flex;
  align-items: center;
  min-width: 0;
  min-height: 3rem;
  padding: var(--space-3) 0;
  border-bottom: var(--border-default);
  color: var(--color-eucalyptus);
  font-size: var(--text-small);
  font-weight: 700;
}

.terms-page__guide-note {
  max-width: 38.75rem;
  color: var(--color-graphite);
}

.terms-page__band,
.terms-page__conclusion {
  padding-block: clamp(var(--space-9), 7vw, var(--space-10));
}

.terms-page__band--porcelain,
.terms-page__conclusion {
  background: var(--color-porcelain);
}

.terms-page__band--linen {
  background: var(--color-linen);
}

.terms-page__reading-column {
  grid-column: 2 / span 8;
  display: flex;
  min-width: 0;
  flex-direction: column;
  align-items: stretch;
  gap: var(--space-6);
  max-width: 45rem;
}

.terms-page__reading-column--conduct {
  max-width: 46.25rem;
}

.terms-page__reading-column h2 {
  margin-bottom: var(--space-2);
  color: var(--color-eucalyptus);
}

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

.terms-page__clause h3,
.terms-page__event-panel h3,
.terms-page__conduct-panel h3,
.terms-page__adjustment-panel h3,
.terms-page__website-panel h3,
.terms-page__liability-notice h3 {
  margin-bottom: var(--space-3);
  font-size: var(--text-section);
}

.terms-page__clause h3 span,
.terms-page__event-panel h3 span,
.terms-page__conduct-panel h3 span,
.terms-page__adjustment-panel h3 span,
.terms-page__website-panel h3 span,
.terms-page__liability-notice h3 span {
  color: var(--color-champagne);
}

.terms-page__clause p,
.terms-page__age-notice p,
.terms-page__admission-notice p,
.terms-page__event-panel p,
.terms-page__conduct-panel p,
.terms-page__adjustment-panel p,
.terms-page__website-panel p,
.terms-page__liability-notice p,
.terms-page__acknowledgement-card p,
.terms-page__question-block p {
  }

.terms-page__age-notice,
.terms-page__admission-notice,
.terms-page__event-panel,
.terms-page__conduct-panel,
.terms-page__adjustment-panel,
.terms-page__website-panel,
.terms-page__liability-notice,
.terms-page__acknowledgement-card {
  display: flex;
  min-width: 0;
  flex-direction: column;
  align-items: stretch;
  gap: var(--space-3);
  padding: var(--space-5);
  border-radius: var(--radius-md);
}

.terms-page__age-notice {
  border: 1px solid var(--color-clay);
  background: var(--color-white);
}

.terms-page__age-notice .metadata {
  margin: 0;
  color: var(--color-clay);
}

.terms-page__age-notice p,
.terms-page__admission-notice p,
.terms-page__event-panel p,
.terms-page__conduct-panel p,
.terms-page__adjustment-panel p,
.terms-page__website-panel p,
.terms-page__liability-notice p,
.terms-page__acknowledgement-card p {
  margin: 0;
}

.terms-page__admission-notice,
.terms-page__conduct-panel,
.terms-page__event-panel,
.terms-page__adjustment-panel,
.terms-page__website-panel,
.terms-page__acknowledgement-card {
  border: var(--border-default);
  background: var(--color-white);
}

.terms-page__event-panel,
.terms-page__adjustment-panel {
  max-width: 48.75rem;
}

.terms-page__event-panel .rule,
.terms-page__adjustment-panel .rule {
  margin-bottom: var(--space-1);
}

.terms-page__conduct-panel {
  max-width: 46.25rem;
}

.terms-page__stone-rule {
  height: 1px;
  margin: 0 0 var(--space-5);
  border: 0;
  background: var(--color-stone-border);
}

.terms-page__clause-meta {
  margin-bottom: 0;
  color: var(--color-sage-muted);
  font-size: var(--text-small);
  line-height: var(--leading-small);
}

.terms-page__clause--closing em {
  color: var(--color-charcoal);
  font-family: var(--font-display);
  font-size: var(--text-feature);
  font-weight: 500;
}

.terms-page__website-panel .metadata {
  margin: 0;
}

.terms-page__liability-notice {
  max-width: 47.5rem;
  border: var(--border-strong);
  background: var(--color-linen);
}

.terms-page__liability-notice p {
  }

.terms-page__conclusion {
  padding-bottom: clamp(var(--space-10), 9vw, var(--space-11));
}

.terms-page__acknowledgement-card {
  max-width: 43.75rem;
  box-shadow: var(--shadow-card);
}

.terms-page__question-block {
  display: flex;
  min-width: 0;
  flex-direction: column;
  align-items: stretch;
  gap: var(--space-3);
  max-width: 45rem;
}

.terms-page__question-block h3,
.terms-page__question-block p {
  margin: 0;
}

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

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

.terms-page__question-actions > a:first-child {
  display: inline-flex;
  align-items: center;
  min-height: 3rem;
  font-weight: 700;
}

@media (max-width: 1024px) {
  .terms-page__intro-copy,
  .terms-page__reading-column,
  .terms-page__guide-frame {
    grid-column: 1 / span 9;
  }
}

@media (max-width: 900px) {
  .terms-page__guide-frame {
    grid-column: 1 / -1;
    width: 100%;
    max-width: 100%;
  }

  .terms-page__anchor-nav {
    grid-template-columns: minmax(0, 1fr);
    gap: 0;
  }
}

@media (max-width: 760px) {
  .terms-page__intro,
  .terms-page__band,
  .terms-page__conclusion {
    padding-block: clamp(var(--space-8), 10vw, var(--space-9));
  }

  .terms-page__intro-grid,
  .terms-page__reading-grid,
  .terms-page__guide-grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .terms-page__intro-copy,
  .terms-page__reading-column,
  .terms-page__guide-frame {
    grid-column: 1;
    width: 100%;
    max-width: 100%;
  }

  .terms-page__intro-copy h1 {
    font-size: 2.25rem;
    line-height: 1;
  }

  .terms-page__scope-panel,
  .terms-page__guide-frame,
  .terms-page__age-notice,
  .terms-page__admission-notice,
  .terms-page__event-panel,
  .terms-page__conduct-panel,
  .terms-page__adjustment-panel,
  .terms-page__website-panel,
  .terms-page__liability-notice,
  .terms-page__acknowledgement-card {
    padding: var(--space-4);
  }

  .terms-page__reading-column {
    gap: var(--space-5);
  }

  .terms-page__reading-column h2 {
    font-size: clamp(1.75rem, 8vw, 1.875rem);
  }
}

@media (max-width: 480px) {
  .terms-page__guide-frame {
    padding: var(--space-4);
  }

  .terms-page__question-actions {
    flex-direction: column;
    align-items: stretch;
  }

  .terms-page__question-actions > * {
    width: 100%;
  }

  .terms-page__question-actions > a:first-child {
    justify-content: flex-start;
  }
}


.age-policy-page {
  background: var(--color-porcelain);
}

.age-policy-page .rule {
  margin-bottom: var(--space-4);
}

.age-policy-intro__grid {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  column-gap: var(--space-5);
}

.age-policy-intro__content {
  grid-column: 2 / span 7;
  width: 100%;
  max-width: 45rem;
  min-width: 0;
}

.age-policy-intro__content > :last-child {
  margin-bottom: 0;
}

.age-policy-intro__content > .lead {
  max-width: 68ch;
}

.age-policy-intro__notice {
  display: flex;
  width: 100%;
  min-width: 0;
  flex-direction: column;
  gap: var(--space-3);
  margin-top: var(--space-6);
  padding: var(--space-5);
  border: 1px solid var(--color-clay);
  border-left: 4px solid var(--color-clay);
  border-radius: var(--radius-md);
  background: var(--color-white);
}

.age-policy-intro__notice .metadata {
  margin: 0;
  color: var(--color-clay);
}

.age-policy-intro__threshold {
  max-width: 58ch;
  margin: 0;
  color: var(--color-charcoal);
  font-size: var(--text-lead);
  font-weight: 700;
  line-height: var(--leading-lead);
}

.age-policy-scope__layout {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: var(--space-6) var(--space-5);
}

.age-policy-scope__heading {
  grid-column: 1 / span 6;
  width: 100%;
  min-width: 0;
}

.age-policy-scope__heading > :last-child {
  margin-bottom: 0;
}

.age-policy-scope__heading .lead {
  max-width: 64ch;
}

.age-policy-scope__cards {
  display: grid;
  grid-column: 1 / -1;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--space-5);
  width: 100%;
  min-width: 0;
}

.age-policy-scope-card {
  display: flex;
  width: 100%;
  min-width: 0;
  flex-direction: column;
  gap: var(--space-4);
  padding: var(--space-5);
  border: var(--border-default);
  border-radius: var(--radius-md);
  background: var(--color-white);
}

.age-policy-scope-card > * {
  min-width: 0;
  margin: 0;
}

.age-policy-scope-card .rule {
  margin: 0;
}

.age-policy-scope-card .metadata {
  color: var(--color-sage-muted);
}

.age-policy-scope-card h3 {
  font-size: var(--text-feature);
}

.age-policy-scope-card p {
  color: var(--color-graphite);
}

.age-policy-scope-card__note {
  padding-top: var(--space-3);
  border-top: var(--border-default);
  font-size: var(--text-small);
  line-height: var(--leading-small);
}

.age-policy-verification__column {
  width: 100%;
  max-width: 47.5rem;
  margin-inline: auto;
}

.age-policy-verification__column > .lead {
  max-width: 68ch;
}

.age-policy-verification__list {
  display: grid;
  width: 100%;
  min-width: 0;
  gap: 0;
  margin: var(--space-6) 0 0;
  padding: 0;
  list-style: none;
}

.age-policy-verification__item {
  display: grid;
  grid-template-columns: 3.5rem minmax(0, 1fr);
  gap: var(--space-4);
  width: 100%;
  min-width: 0;
  padding-block: var(--space-5);
  border-top: var(--border-default);
}

.age-policy-verification__item:last-child {
  border-bottom: var(--border-default);
}

.age-policy-verification__number {
  width: 3.5rem;
  min-width: 3.5rem;
  color: var(--color-eucalyptus);
  font-family: var(--font-display);
  font-size: 2rem;
  font-weight: 600;
  line-height: 1;
}

.age-policy-verification__copy {
  width: 100%;
  min-width: 0;
}

.age-policy-verification__copy > :last-child {
  margin-bottom: 0;
}

.age-policy-verification__copy h3 {
  margin-bottom: var(--space-3);
}

.age-policy-verification__copy p {
  }

.age-policy-verification__helper {
  color: var(--color-sage-muted) !important;
  font-size: var(--text-small);
  line-height: var(--leading-small);
}

.age-policy-organisers__grid {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: var(--space-5);
}

.age-policy-organisers__intro {
  grid-column: 1 / span 4;
  width: 100%;
  min-width: 0;
}

.age-policy-organisers__intro > :last-child {
  margin-bottom: 0;
}

.age-policy-organisers__intro .lead {
  max-width: 52ch;
}

.age-policy-checklist {
  display: grid;
  grid-column: 6 / span 7;
  grid-template-columns: minmax(0, 1fr);
  width: 100%;
  min-width: 0;
  border: var(--border-default);
  border-radius: var(--radius-md);
  background: var(--color-white);
  box-shadow: var(--shadow-card);
}

.age-policy-checklist__item {
  display: grid;
  grid-template-columns: 1.75rem minmax(0, 1fr);
  gap: var(--space-3);
  width: 100%;
  min-width: 0;
  padding: var(--space-5);
  border-bottom: var(--border-default);
}

.age-policy-checklist__item:last-child {
  border-bottom: 0;
}

.age-policy-checklist__mark {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.5rem;
  min-width: 1.5rem;
  height: 1.5rem;
  margin-top: 0.2rem;
  border: 1px solid var(--color-champagne);
  border-radius: var(--radius-sm);
  color: var(--color-eucalyptus);
  font-size: var(--text-small);
  font-weight: 700;
  line-height: 1;
}

.age-policy-checklist__copy {
  width: 100%;
  min-width: 0;
}

.age-policy-checklist__copy > :last-child {
  margin-bottom: 0;
}

.age-policy-checklist__copy h3 {
  margin-bottom: var(--space-3);
  font-size: var(--text-feature);
}

.age-policy-checklist__copy p {
  }

.age-policy-access__layout {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: var(--space-5);
}

.age-policy-access__heading {
  grid-column: 1 / -1;
  width: 100%;
  min-width: 0;
}

.age-policy-access__heading > :last-child {
  margin-bottom: 0;
}

.age-policy-access__panel {
  display: flex;
  grid-column: 2 / span 9;
  width: 100%;
  min-width: 0;
  flex-direction: column;
  gap: var(--space-4);
  padding: clamp(var(--space-5), 4vw, var(--space-7));
  border: 1px solid var(--color-eucalyptus);
  border-radius: var(--radius-lg);
  background: var(--color-eucalyptus);
  color: var(--color-white);
}

.age-policy-access__panel > * {
  min-width: 0;
  margin: 0;
}

.age-policy-access__panel h3,
.age-policy-access__panel p {
  color: var(--color-white);
}

.age-policy-access__rule {
  width: 3.5rem;
  height: 1px;
  border: 0;
  background: var(--color-champagne);
}

.age-policy-access__copy {
  grid-column: 2 / span 7;
  width: 100%;
  min-width: 0;
  padding-top: var(--space-2);
}

.age-policy-access__copy > :last-child {
  margin-bottom: 0;
}

.age-policy-access__copy h3,
.age-policy-access__copy p {
  }

.age-policy-access__copy .metadata {
  margin-top: var(--space-6);
  margin-bottom: var(--space-3);
}

.age-policy-standards__field {
  width: 100%;
  max-width: calc((100% / 12) * 10 + ((100% / 12) * 0));
  margin-inline: auto;
}

.age-policy-standards__lead {
  width: 100%;
  min-width: 0;
}

.age-policy-standards__lead .lead {
  max-width: 70ch;
}

.age-policy-principles {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  width: 100%;
  min-width: 0;
  margin-top: var(--space-6);
  border-top: var(--border-default);
}

.age-policy-principle {
  display: grid;
  grid-template-columns: minmax(0, 2fr) minmax(0, 8fr);
  gap: var(--space-5);
  width: 100%;
  min-width: 0;
  padding-block: var(--space-5);
  border-bottom: 1px solid var(--color-deep-stone-border);
}

.age-policy-principle__label {
  width: 100%;
  min-width: 0;
  margin: 0;
  color: var(--color-sage-muted);
  font-size: var(--text-meta);
  font-weight: 700;
  letter-spacing: 0.12em;
  line-height: var(--leading-meta);
  text-transform: uppercase;
}

.age-policy-principle__content {
  width: 100%;
  min-width: 0;
}

.age-policy-principle__content > :last-child {
  margin-bottom: 0;
}

.age-policy-principle__content h3,
.age-policy-principle__content p {
  }

.age-policy-access__heading h2,
.age-policy-standards__lead h2 {
  max-width: 20ch;
}

.age-policy-enquiry__wrap {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
}

.age-policy-enquiry__panel {
  grid-column: 4 / span 7;
  width: 100%;
  min-width: 0;
  padding: var(--space-6);
  border: var(--border-default);
  border-radius: var(--radius-lg);
  background: var(--color-white);
  box-shadow: var(--shadow-card);
}

.age-policy-enquiry__content {
  display: flex;
  width: 100%;
  max-width: 37.5rem;
  min-width: 0;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-4);
}

.age-policy-enquiry__content > * {
  min-width: 0;
  margin: 0;
}

.age-policy-enquiry__content .lead {
  max-width: 54ch;
}

.age-policy-enquiry__email,
.age-policy-enquiry__route {
  display: inline-flex;
  align-items: center;
  min-height: 2.75rem;
  color: var(--color-eucalyptus);
  font-weight: 700;
}

.age-policy-enquiry__route {
  padding: 0.625rem 0.875rem;
  border: 1px solid var(--color-champagne);
  border-radius: var(--radius-md);
  text-decoration: none;
  transition: background-color var(--transition-standard), color var(--transition-standard);
}

.age-policy-enquiry__route:hover {
  background: rgba(194, 155, 83, 0.12);
  color: var(--color-eucalyptus-dark);
}

.age-policy-enquiry__helper {
  color: var(--color-graphite);
  font-size: var(--text-small);
  line-height: var(--leading-small);
}

.age-policy-review__wrap {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
}

.age-policy-review__note {
  grid-column: 4 / span 6;
  width: 100%;
  max-width: 40rem;
  min-width: 0;
}

.age-policy-review__note > :last-child {
  margin-bottom: 0;
}

.age-policy-review__note p {
  }

@media (max-width: 980px) {
  .age-policy-scope__cards {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .age-policy-scope-card:nth-child(3) {
    grid-column: 1 / -1;
  }

  .age-policy-scope-card:nth-child(3) p {
  }
}

@media (max-width: 900px) {
  .age-policy-intro__content {
    grid-column: 2 / span 8;
  }

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

  .age-policy-organisers__intro,
  .age-policy-checklist {
    grid-column: 1;
  }

  .age-policy-organisers__intro {
    max-width: 38.75rem;
  }
}

@media (max-width: 820px) {
  .age-policy-standards__field {
    max-width: 100%;
  }

  .age-policy-principle {
    grid-template-columns: minmax(0, 1fr);
    gap: var(--space-3);
  }
}

@media (max-width: 760px) {
  .age-policy-intro__grid,
  .age-policy-scope__layout,
  .age-policy-access__layout,
  .age-policy-enquiry__wrap,
  .age-policy-review__wrap {
    grid-template-columns: minmax(0, 1fr);
  }

  .age-policy-intro__content,
  .age-policy-scope__heading,
  .age-policy-scope__cards,
  .age-policy-access__heading,
  .age-policy-access__panel,
  .age-policy-access__copy,
  .age-policy-enquiry__panel,
  .age-policy-review__note {
    grid-column: 1;
  }

  .age-policy-intro__content,
  .age-policy-verification__column,
  .age-policy-review__note {
    max-width: none;
  }

  .age-policy-intro__content h1 {
    font-size: clamp(2.1rem, 9vw, 2.25rem);
  }

  .age-policy-intro__notice {
    margin-top: var(--space-5);
    padding: var(--space-4);
  }

  .age-policy-scope__cards {
    grid-template-columns: minmax(0, 1fr);
  }

  .age-policy-scope-card:nth-child(3) {
    grid-column: 1;
  }

  .age-policy-scope-card {
    padding: var(--space-5);
  }

  .age-policy-verification__item {
    grid-template-columns: 2.25rem minmax(0, 1fr);
    gap: var(--space-3);
  }

  .age-policy-verification__number {
    width: 2.25rem;
    min-width: 2.25rem;
    font-size: 1.5rem;
  }

  .age-policy-checklist__item {
    grid-template-columns: minmax(0, 1fr);
    gap: var(--space-3);
    padding: var(--space-5);
  }

  .age-policy-checklist__mark {
    margin-top: 0;
  }

  .age-policy-access__panel {
    padding: var(--space-5);
  }

  .age-policy-access__copy {
    padding-top: 0;
  }

  .age-policy-enquiry__panel {
    padding: var(--space-5);
  }

  .age-policy-enquiry__content {
    max-width: none;
  }

  .age-policy-review__note {
    max-width: none;
  }
}

@media (max-width: 480px) {
  .age-policy-scope-card,
  .age-policy-checklist__item,
  .age-policy-enquiry__panel,
  .age-policy-access__panel {
    padding: var(--space-4);
  }

  .age-policy-verification__item {
    grid-template-columns: 2.25rem minmax(0, 1fr);
  }

  .age-policy-enquiry__email,
  .age-policy-enquiry__route {
    width: 100%;
    min-height: 2.75rem;
  }

  .age-policy-enquiry__route {
    justify-content: flex-start;
  }
}


ul { list-style: none !important; }
.nav-toggle { flex-direction: column !important; }

.contact-page { overflow: hidden; }
.contact-page .contact-hero__grid,
.contact-page .contact-expectations__grid,
.contact-page .contact-private__grid,
.contact-page .contact-dining__grid { display: grid; min-width: 0; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: 24px; align-items: stretch; }
.contact-page .contact-hero__copy { min-width: 0; padding: 56px; border: var(--border-strong); border-radius: var(--radius-lg); background: var(--color-linen); }
.contact-page .contact-hero__copy h1 { font-size: clamp(2.75rem, 4.4vw, 3.5rem); }
.contact-page .contact-hero__copy .lead { max-width: 56ch; }
.contact-page .contact-hero__pathways { max-width: 56ch; }
.contact-page .contact-hero__badges { display: flex; min-width: 0; flex-wrap: wrap; gap: var(--space-2); margin-bottom: var(--space-5); }
.contact-page .contact-hero__badges > * { min-width: 0; }
.contact-page .contact-hero__actions { justify-content: flex-start; }
.contact-page .contact-hero__media { position: relative; min-width: 0; margin: 0; border: var(--border-strong); border-radius: var(--radius-md); overflow: hidden; }
.contact-page .contact-hero__media::before { content: ""; position: absolute; z-index: 1; top: 12%; left: -24px; width: 48px; height: 1px; background: var(--color-champagne); }
.contact-page .contact-hero__media img { width: 100%; max-width: 100%; height: 100%; min-height: 540px; object-fit: cover; object-position: 62% center; }

.contact-page .contact-paths__heading { width: 50%; min-width: 0; max-width: 62ch; }
.contact-page .contact-paths__grid { display: grid; min-width: 0; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; align-items: stretch; }
.contact-page .contact-path-card { display: flex; min-width: 0; flex-direction: column; align-items: flex-start; gap: var(--space-4); padding: 32px; border: var(--border-default); border-radius: var(--radius-md); background: var(--color-white); }
.contact-page .contact-path-card > * { min-width: 0; }
.contact-page .contact-path-card h3,
.contact-page .contact-path-card p { margin: 0; }
.contact-page .contact-path-card p {
  }
.contact-page .contact-path-card__rule { width: 56px; height: 1px; background: var(--color-champagne); }

.contact-page .contact-expectations__grid { grid-template-columns: minmax(0, 8fr) minmax(280px, 4fr); }
.contact-page .contact-expectations__main { min-width: 0; }
.contact-page .contact-expectations__main > p:not(.eyebrow) { max-width: 66ch; }
.contact-page .contact-checklist { display: flex; min-width: 0; flex-direction: column; gap: var(--space-4); max-width: 66ch; padding: 24px; border: var(--border-default); background: var(--color-white); }
.contact-page .contact-checklist > * { min-width: 0; margin: 0; }
.contact-page .contact-checklist__rows { display: grid; min-width: 0; grid-template-columns: 1fr; gap: var(--space-3); }
.contact-page .contact-checklist__rows p { margin: 0; }
.contact-page .contact-requirement { align-self: start; min-width: 0; padding: 28px; border: 1px solid var(--color-eucalyptus); border-radius: var(--radius-md); background: var(--color-white); }
.contact-page .contact-requirement h3 { max-width: 18ch; }
.contact-page .contact-requirement h3 span { color: var(--color-clay); }
.contact-page .contact-requirement p:not(.eyebrow) { max-width: 44ch; }

.contact-page .contact-form-section__content { width: min(75%, 720px); min-width: 0; margin-inline: auto; }
.contact-page .contact-form-section__intro { max-width: 60ch; }
.contact-page .contact-enquiry-form { display: flex; min-width: 0; flex-direction: column; gap: 24px; padding: 40px; border: var(--border-default); border-radius: var(--radius-lg); background: var(--color-white); box-shadow: var(--shadow-card); }
.contact-page .contact-enquiry-form > * { min-width: 0; }
.contact-page .contact-enquiry-form__grid { display: grid; min-width: 0; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; }
.contact-page .contact-enquiry-form__grid > * { min-width: 0; }
.contact-page .contact-enquiry-form__message { grid-column: 1 / -1; }
.contact-page .contact-enquiry-form__optional { color: var(--color-sage-muted); font-size: var(--text-meta); font-weight: 400; }
.contact-page .contact-enquiry-form__context { display: flex; min-width: 0; flex-direction: column; gap: var(--space-3); padding-top: 24px; border-top: var(--border-default); }
.contact-page .contact-enquiry-form__context > * { min-width: 0; margin: 0; }
.contact-page .contact-enquiry-form__context p:not(.eyebrow) { max-width: 64ch; }
.contact-page .contact-enquiry-form__acknowledgement { display: grid; min-width: 0; grid-template-columns: 1.125rem minmax(0, 1fr); gap: 12px; align-items: start; }
.contact-page .contact-enquiry-form__acknowledgement > * { min-width: 0; margin: 0; }
.contact-page .contact-enquiry-form__acknowledgement label { font-weight: 400; }
.contact-page .contact-enquiry-form__submit { display: flex; min-width: 0; flex-direction: column; align-items: flex-start; gap: var(--space-3); }
.contact-page .contact-enquiry-form__status { min-height: 1.65em; margin: 0; color: var(--color-eucalyptus); font-weight: 700; }

.contact-page .contact-routes__heading { width: 50%; min-width: 0; }
.contact-page .contact-routes__grid { display: grid; min-width: 0; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }
.contact-page .contact-route-card { display: flex; min-width: 0; flex-direction: column; align-items: flex-start; gap: var(--space-3); padding: 32px; border: var(--border-default); border-radius: var(--radius-md); background: var(--color-white); }
.contact-page .contact-route-card > * { min-width: 0; margin: 0; }
.contact-page .contact-route-card h3 { font-size: var(--text-feature); overflow-wrap: anywhere; }
.contact-page .contact-route-card h3 a { overflow-wrap: anywhere; }
.contact-page .contact-route-card address { color: var(--color-graphite); line-height: var(--leading-body); }
.contact-page .contact-route-card p {
  }
.contact-page .contact-routes__note { margin-top: 24px; padding: 20px 24px; border: var(--border-default); background: var(--color-linen); }
.contact-page .contact-routes__note p {
  margin: 0; }

.contact-page .contact-process__heading { width: 50%; min-width: 0; }
.contact-page .contact-process__grid { display: grid; min-width: 0; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }
.contact-page .contact-process-step { min-width: 0; padding-left: 24px; border-left: 1px solid var(--color-champagne); }
.contact-page .contact-process-step__number { margin-bottom: var(--space-3); color: var(--color-sage-muted); font-family: var(--font-display); font-size: 3.5rem; font-weight: 500; line-height: 0.8; }
.contact-page .contact-process-step h3 { max-width: 18ch; }
.contact-page .contact-process-step p:not(.contact-process-step__number) { max-width: 34ch; }
.contact-page .contact-process__note { width: min(100%, 60ch); min-width: 0; margin-top: 32px; padding: 20px 24px; border: 1px solid var(--color-eucalyptus); background: rgba(31, 73, 61, 0.04); color: var(--color-graphite); }

.contact-page .contact-private__grid { grid-template-columns: minmax(0, 7fr) minmax(400px, 5fr); }
.contact-page .contact-private__copy { min-width: 0; }
.contact-page .contact-private__copy > p:not(.eyebrow) { max-width: 64ch; }
.contact-page .contact-private__inset { display: flex; min-width: 0; flex-direction: column; align-items: flex-start; gap: var(--space-3); max-width: 44ch; padding: 24px; border: var(--border-default); background: var(--color-white); }
.contact-page .contact-private__inset > * { min-width: 0; margin: 0; }
.contact-page .contact-private__media { min-width: 0; margin: 32px 0 0; border: var(--border-default); border-radius: var(--radius-md); overflow: hidden; }
.contact-page .contact-private__media img { width: 100%; max-width: 100%; height: 100%; min-height: 430px; object-fit: cover; object-position: center; }

.contact-page .contact-dining__grid { grid-template-columns: minmax(360px, 5fr) minmax(0, 7fr); }
.contact-page .contact-dining__media { min-width: 0; margin: 0; border: var(--border-default); border-radius: var(--radius-md); overflow: hidden; }
.contact-page .contact-dining__media img { width: 100%; max-width: 100%; height: 100%; min-height: 570px; object-fit: cover; object-position: center; }
.contact-page .contact-dining__copy { min-width: 0; padding-left: 16px; }
.contact-page .contact-dining__copy > p:not(.eyebrow):not(.contact-dining__closing) { max-width: 62ch; }
.contact-page .contact-dining__inset { display: flex; min-width: 0; flex-direction: column; align-items: flex-start; gap: var(--space-3); max-width: 40ch; padding: 24px; border: var(--border-default); background: var(--color-linen); }
.contact-page .contact-dining__inset > * { min-width: 0; margin: 0; }
.contact-page .contact-dining__closing { max-width: 62ch; }

.contact-page .contact-reminder__heading { width: 50%; min-width: 0; }
.contact-page .contact-reminder__band { display: grid; min-width: 0; grid-template-columns: repeat(2, minmax(0, 1fr)); border: var(--border-default); border-radius: var(--radius-md); background: var(--color-white); }
.contact-page .contact-reminder__item { min-width: 0; padding: 32px; }
.contact-page .contact-reminder__item + .contact-reminder__item { border-left: 1px solid var(--color-champagne); }
.contact-page .contact-reminder__item p:not(.eyebrow) { max-width: 40ch; }
.contact-page .contact-reminder__item h3 { color: var(--color-eucalyptus); }

.contact-page .contact-final { padding-top: var(--space-8); }
.contact-page .contact-final__panel { display: flex; width: min(66.666%, 820px); min-width: 0; flex-direction: column; align-items: center; gap: var(--space-4); margin-inline: auto; padding: 48px 56px; border: var(--border-default); border-radius: var(--radius-lg); background: var(--color-linen); text-align: center; }
.contact-page .contact-final__panel > * { min-width: 0; margin: 0; }
.contact-page .contact-final__panel p {
  }
.contact-page .contact-final__actions { justify-content: center; }

@media (max-width: 1024px) {
  .contact-page .contact-hero__grid { gap: 16px; }
  .contact-page .contact-hero__copy { padding: 40px; }
  .contact-page .contact-expectations__grid { grid-template-columns: minmax(0, 1fr); }
  .contact-page .contact-requirement { width: min(100%, 44ch); }
}

@media (max-width: 980px) {
  .contact-page .contact-paths__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .contact-page .contact-path-card:last-child { grid-column: 1 / span 1; }
  .contact-page .contact-routes__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .contact-page .contact-private__grid { grid-template-columns: minmax(0, 1fr); }
  .contact-page .contact-private__media { width: min(100%, 620px); margin: 0; }
}

@media (max-width: 920px) {
  .contact-page .contact-dining__grid { grid-template-columns: minmax(0, 1fr); }
  .contact-page .contact-dining__media { width: min(100%, 560px); }
  .contact-page .contact-dining__media img { min-height: 420px; }
  .contact-page .contact-dining__copy { padding-left: 0; }
}

@media (max-width: 900px) {
  .contact-page .contact-process__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .contact-page .contact-process-step:last-child { width: 100%; grid-column: 1 / span 1; }
}

@media (max-width: 860px) {
  .contact-page .contact-hero__grid { grid-template-columns: minmax(0, 1fr); }
  .contact-page .contact-hero__media { order: 1; height: 430px; }
  .contact-page .contact-hero__media img { min-height: 0; }
  .contact-page .contact-hero__copy { position: relative; z-index: 2; order: 2; width: calc(100% - 32px); margin: -16px auto 0; }
  .contact-page .contact-hero__media::before { display: none; }
  .contact-page .contact-enquiry-form__grid { grid-template-columns: minmax(0, 1fr); }
  .contact-page .contact-enquiry-form__message { grid-column: 1; }
}

@media (max-width: 780px) {
  .contact-page .contact-reminder__band { grid-template-columns: minmax(0, 1fr); }
  .contact-page .contact-reminder__item + .contact-reminder__item { border-top: 1px solid var(--color-champagne); border-left: 0; }
}

@media (max-width: 760px) {
  .contact-page .contact-paths__heading,
  .contact-page .contact-routes__heading,
  .contact-page .contact-process__heading,
  .contact-page .contact-reminder__heading,
  .contact-page .contact-form-section__content { width: 100%; }
  .contact-page .contact-paths__grid,
  .contact-page .contact-routes__grid,
  .contact-page .contact-process__grid { grid-template-columns: minmax(0, 1fr); }
  .contact-page .contact-path-card:last-child,
  .contact-page .contact-process-step:last-child { grid-column: 1; }
  .contact-page .contact-route-card p,
  .contact-page .contact-process-step p:not(.contact-process-step__number) { max-width: none; }
  .contact-page .contact-process-step { padding: 24px 0 0; border-top: 1px solid var(--color-champagne); border-left: 0; }
  .contact-page .contact-process-step__number { font-size: 3rem; }
  .contact-page .contact-private__grid,
  .contact-page .contact-dining__grid { grid-template-columns: minmax(0, 1fr); }
  .contact-page .contact-private__media { order: 1; width: 100%; }
  .contact-page .contact-private__copy { order: 2; }
  .contact-page .contact-private__media img { min-height: 360px; }
  .contact-page .contact-dining__media { width: 100%; }
  .contact-page .contact-dining__media img { min-height: 360px; }
  .contact-page .contact-final__panel { width: 100%; padding: 28px; }
}

@media (max-width: 480px) {
  .contact-page .contact-hero__copy { width: calc(100% - 16px); padding: 28px 20px; }
  .contact-page .contact-hero__copy h1 { font-size: 2.25rem; }
  .contact-page .contact-hero__copy .lead,
  .contact-page .contact-expectations__main .lead,
  .contact-page .contact-private__copy .lead,
  .contact-page .contact-dining__copy .lead { font-size: 1.0625rem; }
  .contact-page .contact-path-card,
  .contact-page .contact-route-card,
  .contact-page .contact-reminder__item { padding: 24px; }
  .contact-page .contact-enquiry-form { padding: 20px; }
  .contact-page .contact-enquiry-form__submit,
  .contact-page .contact-enquiry-form__submit button { width: 100%; }
  .contact-page .contact-final__actions { width: 100%; }
}

@media (max-width: 700px) {
  .contact-page .contact-final__actions { flex-direction: column; align-items: stretch; }
  .contact-page .contact-final__actions > * { width: 100%; }
}


.events-page {
  background: var(--color-porcelain);
}

.events-page .section {
  min-width: 0;
}

.events-hero {
  padding-top: var(--space-8);
}

.events-hero__grid {
  display: grid;
  grid-template-columns: minmax(390px, 5fr) minmax(470px, 7fr);
  gap: var(--space-5);
  align-items: stretch;
}

.events-hero__grid > * {
  min-width: 0;
  width: 100%;
}

.events-hero__panel {
  grid-column: 1;
  grid-row: 1;
  display: flex;
  min-width: 0;
  padding: clamp(var(--space-8), 5vw, var(--space-9));
  border: var(--border-strong);
  border-radius: var(--radius-lg);
  background: var(--color-linen);
  align-items: center;
}

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

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

.events-hero__kicker,
.events-hero__fact-label,
.events-occasion__label,
.events-detail__label,
.events-moment__number,
.events-schedule__heading,
.events-enquiry__support-label,
.events-essential__label {
  color: var(--color-sage-muted);
  font-size: var(--text-meta);
  font-weight: 700;
  letter-spacing: 0.12em;
  line-height: var(--leading-meta);
  text-transform: uppercase;
}

.events-hero__kicker {
  color: var(--color-eucalyptus);
}

.events-hero__location {
  max-width: 60ch;
  color: var(--color-graphite);
  font-size: var(--text-small);
  line-height: var(--leading-small);
}

.events-hero h1 {
  max-width: 14ch;
  font-size: clamp(2.75rem, 4.2vw, 3.5rem);
}

.events-hero__lead {
  max-width: 62ch;
  color: var(--color-graphite);
  font-size: var(--text-lead);
  line-height: var(--leading-lead);
}

.events-hero__actions {
  width: 100%;
}

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

.events-hero__note {
  max-width: 60ch;
  color: var(--color-sage-muted);
  font-size: var(--text-small);
  line-height: var(--leading-small);
}

.events-hero__badges {
  width: 100%;
}

.events-hero__image-wrap {
  grid-column: 2;
  grid-row: 1;
  position: relative;
  min-width: 0;
  min-height: 100%;
}

.events-hero__image {
  width: 100%;
  height: 100%;
  min-height: 40rem;
  border-radius: var(--radius-lg);
  object-fit: cover;
  object-position: 65% 70%;
}

.events-hero__fact-card {
  position: absolute;
  bottom: var(--space-5);
  left: calc(var(--space-5) * -1);
  width: min(20rem, calc(100% - var(--space-5)));
  padding: var(--space-5);
  border: var(--border-default);
  border-radius: var(--radius-md);
  background: var(--color-white);
}

.events-hero__fact-card p {
  margin: 0;
}

.events-hero__fact-label {
  margin-bottom: var(--space-2) !important;
  color: var(--color-eucalyptus) !important;
}

.events-hero__fact-text {
  color: var(--color-graphite);
  font-size: var(--text-small);
  line-height: var(--leading-small);
}

.events-occasions__intro {
  max-width: 64ch;
}

.events-occasions__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--space-5);
  margin-top: var(--space-7);
}

.events-occasions__grid > * {
  min-width: 0;
  width: 100%;
}

.events-occasion {
  display: flex;
  min-width: 0;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-4);
  padding: var(--space-6);
  border: var(--border-default);
  border-radius: var(--radius-md);
  background: var(--color-white);
  transition: border-color var(--transition-standard), box-shadow var(--transition-standard);
}

.events-occasion:hover {
  border-color: var(--color-deep-stone-border);
  box-shadow: inset 0 2px 0 var(--color-champagne);
}

.events-occasion > * {
  min-width: 0;
  margin: 0;
}

.events-occasion h3,
.events-detail h3,
.events-moment h3,
.events-stage h3,
.events-essential h3 {
  font-size: var(--text-feature);
}

.events-occasion p:not(.events-occasion__label) {
  max-width: 39ch;
}

.events-text-link {
  margin-top: auto !important;
  min-height: 2.75rem;
  display: inline-flex;
  align-items: center;
}

.events-table-experience__grid {
  display: grid;
  grid-template-columns: minmax(0, 5fr) minmax(520px, 7fr);
  gap: var(--space-7);
  align-items: stretch;
}

.events-table-experience__grid > * {
  min-width: 0;
  width: 100%;
}

.events-table-experience__media {
  margin: 0;
}

.events-table-experience__media img {
  width: 100%;
  height: 100%;
  min-height: 34rem;
  border-radius: var(--radius-md);
  object-fit: cover;
  object-position: 50% 60%;
}

.events-table-experience__content {
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: var(--space-7);
  padding: clamp(var(--space-5), 4vw, var(--space-7));
  border: var(--border-default);
  border-radius: var(--radius-md);
  background: var(--color-white);
}

.events-table-experience__content > * {
  min-width: 0;
  margin: 0;
}

.events-table-experience__intro {
  max-width: 60ch;
}

.events-table-experience__details {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-6) var(--space-5);
}

.events-table-experience__details > * {
  min-width: 0;
  width: 100%;
}

.events-detail {
  display: flex;
  min-width: 0;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-3);
}

.events-detail > * {
  min-width: 0;
  margin: 0;
}

.events-detail p:not(.events-detail__label) {
  max-width: 38ch;
}

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

.events-dining__top > * {
  min-width: 0;
  width: 100%;
}

.events-dining__copy {
  max-width: 60ch;
}

.events-dining__media {
  margin: 0;
}

.events-dining__media img {
  width: 100%;
  min-height: 24rem;
  border-radius: var(--radius-md);
  object-fit: cover;
  object-position: 75% 55%;
}

.events-dining__moments {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--space-5);
  margin-top: var(--space-7);
}

.events-dining__moments > * {
  min-width: 0;
  width: 100%;
}

.events-moment {
  min-width: 0;
  padding-top: var(--space-5);
  border-top: var(--border-default);
}

.events-moment__number {
  color: var(--color-eucalyptus);
}

.events-moment p:not(.events-moment__number) {
  max-width: 34ch;
}

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

.events-rhythm__grid > * {
  min-width: 0;
  width: 100%;
}

.events-rhythm__copy {
  max-width: 62ch;
}

.events-schedule {
  min-width: 0;
  padding: var(--space-6);
  border: var(--border-strong);
  border-radius: var(--radius-md);
  background: var(--color-white);
  box-shadow: inset 3px 0 0 var(--color-eucalyptus);
}

.events-schedule__heading {
  margin: 0 0 var(--space-4);
  color: var(--color-eucalyptus);
}

.events-schedule__row {
  display: flex;
  min-width: 0;
  gap: var(--space-4);
  justify-content: space-between;
  padding: var(--space-4) 0;
  border-top: var(--border-default);
}

.events-schedule__row > * {
  min-width: 0;
}

.events-schedule__main {
  flex: 1 1 auto;
  min-width: 0;
}

.events-schedule__main h3 {
  margin-bottom: var(--space-2);
  font-size: var(--text-feature);
}

.events-schedule__main p,
.events-schedule__meta {
  margin: 0;
  color: var(--color-graphite);
  font-size: var(--text-small);
  line-height: var(--leading-small);
}

.events-schedule__meta {
  flex: 0 0 9.0625rem;
  color: var(--color-sage-muted);
  text-align: right;
}

.events-schedule__note {
  margin-top: var(--space-2);
  padding-top: var(--space-4);
  border-top: 1px solid var(--color-champagne);
}

.events-schedule__note p {
  margin-bottom: var(--space-3);
  font-size: var(--text-small);
  line-height: var(--leading-small);
}

.events-schedule__note p:last-child {
  margin-bottom: 0;
}

.events-process__intro {
  max-width: 60ch;
}

.events-process__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-5);
  margin-top: var(--space-7);
}

.events-process__grid > * {
  min-width: 0;
  width: 100%;
}

.events-stage {
  display: flex;
  min-width: 0;
  gap: var(--space-4);
  padding: var(--space-6);
  border: var(--border-default);
  border-radius: var(--radius-md);
  background: var(--color-linen);
}

.events-stage:nth-child(even) {
  background: var(--color-white);
}

.events-stage--final {
  border-left: 3px solid var(--color-eucalyptus);
}

.events-stage__number {
  flex: 0 0 4rem;
  min-width: 4rem;
  margin: 0;
  color: var(--color-eucalyptus);
  font-family: var(--font-display);
  font-size: 2rem;
  font-weight: 600;
  line-height: 1;
}

.events-stage__copy {
  min-width: 250px;
}

.events-stage__copy h3 {
  margin-bottom: var(--space-3);
}

.events-stage__copy p {
  margin-bottom: 0;
}

.events-essentials {
  background: var(--color-shell);
}

.events-essentials__intro {
  max-width: 56ch;
}

.events-essentials__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--space-5);
  margin-top: var(--space-7);
}

.events-essentials__grid > * {
  min-width: 0;
  width: 100%;
}

.events-essential {
  min-width: 0;
  padding: var(--space-6);
  border: var(--border-default);
  border-radius: var(--radius-md);
  background: var(--color-white);
}

.events-essential__label--age {
  color: var(--color-clay);
}

.events-essential p:not(.events-essential__label) {
  max-width: 38ch;
  margin-bottom: 0;
}

.events-enquiry__grid {
  display: grid;
  grid-template-columns: minmax(0, 8fr) minmax(280px, 4fr);
  gap: var(--space-7);
  align-items: start;
}

.events-enquiry__grid > * {
  min-width: 0;
  width: 100%;
}

.events-enquiry__intro {
  max-width: 56ch;
}

.events-form {
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: var(--space-5);
  padding: clamp(var(--space-5), 4vw, var(--space-7));
  border: var(--border-default);
  border-radius: var(--radius-md);
  background: var(--color-white);
  box-shadow: var(--shadow-card);
}

.events-form > * {
  min-width: 0;
  margin: 0;
}

.events-form__paired {
  display: grid;
  grid-template-columns: repeat(2, minmax(250px, 1fr));
  gap: var(--space-5);
}

.events-form__paired > * {
  min-width: 0;
  width: 100%;
}

.events-form textarea {
  min-height: 8.75rem;
}

.events-form__optional {
  color: var(--color-sage-muted);
  font-size: var(--text-meta);
  font-weight: 400;
}

.events-form__check {
  display: flex;
  min-width: 0;
  gap: var(--space-3);
  align-items: flex-start;
}

.events-form__check > * {
  min-width: 0;
}

.events-form__check input {
  margin-top: 0.15rem;
}

.events-form__check label {
  margin: 0;
}

.events-form__required-note {
  color: var(--color-sage-muted);
  font-size: var(--text-small);
  line-height: var(--leading-small);
}

.events-form__summary {
  padding: var(--space-3) var(--space-4);
  border-left: 3px solid var(--color-clay);
  background: rgba(168, 76, 56, 0.08);
  color: var(--color-clay);
  font-size: var(--text-small);
  font-weight: 700;
  line-height: var(--leading-small);
}

.events-form__success {
  padding: var(--space-5);
  border: 1px solid var(--color-eucalyptus);
  border-radius: var(--radius-md);
  background: rgba(31, 73, 61, 0.07);
}

.events-form__success h3 {
  margin-bottom: var(--space-2);
}

.events-form__success p {
  margin-bottom: 0;
}

.events-enquiry__support {
  min-width: 0;
  padding: var(--space-6);
  border: var(--border-default);
  border-radius: var(--radius-md);
  background: var(--color-white);
}

.events-enquiry__support-label {
  margin: 0 0 var(--space-3);
  color: var(--color-eucalyptus);
}

.events-enquiry__support p {
  }

.events-enquiry__support dl {
  display: grid;
  gap: var(--space-4);
  margin-bottom: 0;
}

.events-enquiry__support dl > div {
  min-width: 0;
}

.events-enquiry__support dd {
  overflow-wrap: anywhere;
}

.events-close__content {
  display: flex;
  min-width: 0;
  max-width: 56ch;
  margin-inline: auto;
  flex-direction: column;
  align-items: center;
  gap: var(--space-5);
  text-align: center;
}

.events-close__content > * {
  min-width: 0;
  margin: 0;
}

.events-close__content .rule {
  background: var(--color-champagne);
}

.events-close__content p {
  color: var(--color-white);
  font-size: var(--text-lead);
  line-height: var(--leading-lead);
}

.events-close__button {
  border-color: var(--color-white);
  background: var(--color-white);
  color: var(--color-eucalyptus);
}

.events-close__button:hover {
  background: var(--color-linen);
  color: var(--color-eucalyptus-dark);
}

@media (max-width: 1100px) {
  .events-hero__grid {
    grid-template-columns: minmax(390px, 5fr) minmax(430px, 7fr);
    gap: var(--space-4);
  }

  .events-hero__panel {
    padding: var(--space-7);
  }

  .events-hero__image {
    min-height: 38rem;
  }

  .events-table-experience__grid,
  .events-dining__top,
  .events-rhythm__grid,
  .events-enquiry__grid {
    gap: var(--space-5);
  }
}

@media (max-width: 1024px) {
  .events-table-experience__grid {
    grid-template-columns: 1fr;
  }

  .events-table-experience__media img {
    min-height: 30rem;
  }

  .events-rhythm__grid {
    grid-template-columns: 1fr;
  }

  .events-enquiry__grid {
    grid-template-columns: 1fr;
  }

  .events-enquiry__support {
    max-width: 42rem;
  }
}

@media (max-width: 980px) {
  .events-occasions__grid,
  .events-essentials__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .events-occasion--tournament,
  .events-essentials__grid > :last-child {
    grid-column: 1 / -1;
  }

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

  .events-dining__moments > :last-child {
    grid-column: 1 / -1;
  }
}

@media (max-width: 900px) {
  .events-process__grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 820px) {
  .events-hero__grid {
    grid-template-columns: 1fr;
    gap: 0;
  }

  .events-hero__image-wrap {
    grid-column: 1;
    grid-row: 1;
  }

  .events-hero__panel {
    grid-column: 1;
    grid-row: 2;
    width: calc(100% - var(--space-5) * 2);
    margin: calc(var(--space-4) * -1) auto 0;
    padding: var(--space-6);
  }

  .events-hero__image {
    min-height: auto;
    aspect-ratio: 4 / 3;
  }

  .events-hero__fact-card {
    position: static;
    width: 100%;
    margin-top: var(--space-4);
  }

  .events-dining__top {
    grid-template-columns: 1fr;
  }

  .events-dining__media {
    grid-row: 2;
  }
}

@media (max-width: 760px) {
  .events-hero {
    padding-top: var(--space-6);
  }

  .events-hero h1 {
    max-width: 16ch;
    font-size: 2.25rem;
    line-height: 1.02;
  }

  .events-hero__lead {
    font-size: 1.0625rem;
  }

  .events-occasions__grid,
  .events-essentials__grid,
  .events-dining__moments,
  .events-table-experience__details {
    grid-template-columns: 1fr;
  }

  .events-occasion--tournament,
  .events-essentials__grid > :last-child,
  .events-dining__moments > :last-child {
    grid-column: auto;
  }

  .events-occasion,
  .events-essential,
  .events-stage,
  .events-schedule,
  .events-enquiry__support {
    padding: var(--space-5);
  }

  .events-table-experience__content {
    padding: var(--space-5);
  }

  .events-table-experience__media img {
    min-height: auto;
    aspect-ratio: 5 / 4;
  }

  .events-dining__media img {
    min-height: auto;
    aspect-ratio: 4 / 3;
  }

  .events-schedule__row {
    flex-direction: column;
    gap: var(--space-2);
  }

  .events-schedule__meta {
    flex: 1 1 auto;
    text-align: left;
  }

  .events-form__paired {
    grid-template-columns: 1fr;
  }

  .events-form {
    padding: var(--space-5);
  }

  .events-stage__number {
    flex-basis: 2.75rem;
    min-width: 2.75rem;
    font-size: 1.5rem;
  }

  .events-stage__copy {
    min-width: 0;
  }
}

@media (max-width: 480px) {
  .events-hero__panel {
    width: calc(100% - var(--space-4) * 2);
    padding: var(--space-5);
  }

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

  .events-hero__badges > * {
    min-width: 0;
    width: 100%;
    justify-content: center;
    text-align: center;
  }

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

  .events-hero__actions > * {
    width: 100%;
  }

  .events-close__button {
    width: 100%;
  }
}


#poker-page { overflow: hidden; }
#poker-page .poker-hero__grid { display: grid; grid-template-columns: minmax(410px, 44fr) minmax(480px, 56fr); gap: var(--space-5); align-items: stretch; }
#poker-page .poker-hero__copy { min-width: 0; display: flex; flex-direction: column; gap: var(--space-4); justify-content: center; padding: clamp(var(--space-6), 4vw, var(--space-8)); border: var(--border-strong); border-radius: var(--radius-lg); background: var(--color-linen); }
#poker-page .poker-hero__copy > * { min-width: 0; margin: 0; }
#poker-page .poker-hero__kicker { color: var(--color-eucalyptus); font-size: var(--text-meta); font-weight: 700; letter-spacing: .12em; line-height: var(--leading-meta); text-transform: uppercase; }
#poker-page .poker-hero__location, #poker-page .poker-hero__support { color: var(--color-graphite); font-size: var(--text-small); line-height: var(--leading-small); }
#poker-page .poker-hero__content { display: flex; min-width: 0; flex-direction: column; align-items: flex-start; gap: var(--space-4); }
#poker-page .poker-hero h1 { max-width: 22ch; }
#poker-page .poker-hero .lead { max-width: 62ch; }
#poker-page .poker-hero__actions, #poker-page .poker-hero__badges { display: flex; min-width: 0; flex-wrap: wrap; gap: var(--space-2); }
#poker-page .poker-hero__actions > *, #poker-page .poker-hero__badges > * { min-width: 0; width: auto; }
#poker-page .poker-hero__media { position: relative; min-width: 0; margin: 0; min-height: 38rem; overflow: hidden; border-radius: var(--radius-lg); }
#poker-page .poker-hero__media img { width: 100%; height: 100%; object-fit: cover; object-position: 58% 50%; }
#poker-page .poker-hero__caption { position: absolute; right: var(--space-4); bottom: var(--space-4); max-width: 17rem; margin: 0; padding: var(--space-3); border-left: 2px solid var(--color-champagne); background: rgba(251,249,245,.94); color: var(--color-graphite); font-size: var(--text-small); }
#poker-page .poker-lounge__grid { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: var(--space-5); row-gap: var(--space-6); }
#poker-page .poker-lounge__intro { grid-column: 1 / span 7; min-width: 0; max-width: 66ch; }
#poker-page .poker-lounge__panels { grid-column: 1 / -1; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-5); }
#poker-page .poker-lounge__panel { min-width: 0; }
#poker-page .poker-formats__intro { max-width: 64ch; }
#poker-page .poker-formats__cards { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-5); margin-top: var(--space-6); }
#poker-page .poker-format-card { min-width: 0; padding: var(--space-5); border: var(--border-default); border-radius: var(--radius-md); background: var(--color-white); border-top: 2px solid var(--color-champagne); }
#poker-page .poker-format-card--featured { border-top-color: var(--color-eucalyptus); }
#poker-page .poker-formats__note { max-width: 72ch; margin-top: var(--space-6); }
#poker-page .poker-process { background: var(--color-eucalyptus); color: var(--color-white); }
#poker-page .poker-process h2, #poker-page .poker-process h3, #poker-page .poker-process p { color: inherit; }
#poker-page .poker-process .eyebrow { color: #d9c089; }
#poker-page .poker-process__container { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: var(--space-6); }
#poker-page .poker-process__heading { grid-column: 1 / span 5; min-width: 0; max-width: 62ch; }
#poker-page .poker-process__steps { grid-column: 1 / -1; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--space-5); }
#poker-page .poker-process__step { min-width: 0; display: grid; grid-template-columns: 2.25rem minmax(0, 1fr); gap: var(--space-3); border-top: 1px solid rgba(255,255,255,.32); padding-top: var(--space-4); }
#poker-page .poker-process__number { color: var(--color-champagne); font-size: var(--text-small); font-weight: 700; letter-spacing: .08em; }
#poker-page .poker-process__service-note { grid-column: 1 / -1; max-width: 70ch; margin: 0; padding-left: var(--space-4); border-left: 2px solid var(--color-clay); }
#poker-page .poker-guide__layout { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: var(--space-5); align-items: start; }
#poker-page .poker-guide__narrative { grid-column: 1 / span 7; min-width: 0; }
#poker-page .poker-guide__narrative > .lead { max-width: 64ch; }
#poker-page .poker-guide__address { margin: var(--space-6) 0; padding-left: var(--space-4); border-left: 2px solid var(--color-champagne); color: var(--color-graphite); }
#poker-page .poker-guide__address span { display: block; margin-bottom: var(--space-2); color: var(--color-eucalyptus); font-size: var(--text-meta); font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
#poker-page .poker-guide__cards { display: grid; grid-template-columns: 1fr; gap: var(--space-4); }
#poker-page .poker-guide__card { min-width: 0; }
#poker-page .poker-schedule { grid-column: 8 / -1; min-width: 280px; padding: var(--space-5); border: var(--border-default); border-radius: var(--radius-md); background: var(--color-white); }
#poker-page .poker-schedule__rows { display: grid; grid-template-columns: 1fr; gap: 0; margin-bottom: var(--space-4); border-top: 1px solid var(--color-champagne); }
#poker-page .poker-schedule__row { display: grid; grid-template-columns: minmax(6rem, .8fr) minmax(0, 1.2fr); gap: var(--space-3); min-width: 0; padding: var(--space-3) 0; border-bottom: var(--border-default); }
#poker-page .poker-schedule__row span { min-width: 0; color: var(--color-graphite); }
#poker-page .poker-schedule__note { padding-top: var(--space-3); border-top: 1px solid var(--color-champagne); font-size: var(--text-small); }
#poker-page .poker-policy__reading { width: min(100%, 58rem); margin-left: calc((100% / 12) + var(--space-5)); }
#poker-page .poker-policy__statement { max-width: 68ch; margin-bottom: var(--space-6); padding: var(--space-5); border-left: 2px solid var(--color-eucalyptus); background: var(--color-linen); }
#poker-page .poker-policy__split { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 4fr); gap: var(--space-5); align-items: start; }
#poker-page .poker-policy__online { min-width: 0; }
#poker-page .poker-policy__online .metadata { color: var(--color-clay); }
#poker-page .poker-policy__hosting { min-width: 0; padding: var(--space-5); border-top: 1px solid var(--color-champagne); }
#poker-page .poker-policy__closing { max-width: 68ch; margin-top: var(--space-6); }
#poker-page .poker-private__grid { display: grid; grid-template-columns: minmax(390px, 5fr) minmax(460px, 7fr); gap: var(--space-5); align-items: center; }
#poker-page .poker-private__media { grid-column: 2; grid-row: 1; min-width: 0; margin: 0; }
#poker-page .poker-private__media img { width: 100%; height: 34rem; object-fit: cover; object-position: 50% 55%; border-radius: var(--radius-md); }
#poker-page .poker-private__copy { grid-column: 1; grid-row: 1; min-width: 0; max-width: 55ch; }
#poker-page .poker-private__copy .lead { max-width: 52ch; }
#poker-page .poker-private__helper { color: var(--color-graphite); font-size: var(--text-small); }
#poker-page .poker-faq__inner { width: min(100%, 52rem); margin-inline: auto; }
#poker-page .poker-faq__inner > h2 { max-width: 60ch; }
#poker-page .poker-faq__list { margin-top: var(--space-6); border-top: var(--border-default); }
#poker-page .poker-faq__item { border-bottom: var(--border-default); }
#poker-page .poker-faq__item h3 { margin: 0; }
#poker-page .poker-faq__item button { display: grid; grid-template-columns: minmax(0, 1fr) 2rem; width: 100%; min-height: 3.5rem; padding: var(--space-4) 0; border: 0; border-radius: 0; background: transparent; color: var(--color-charcoal); font-family: var(--font-display); font-size: var(--text-section); font-weight: 600; line-height: var(--leading-section); text-align: left; }
#poker-page .poker-faq__item button:hover { background: transparent; box-shadow: none; color: var(--color-eucalyptus); transform: none; }
#poker-page .poker-faq__item button span { align-self: center; color: var(--color-champagne); font-family: var(--font-body); font-size: 1.5rem; text-align: right; }
#poker-page .poker-faq__item [role="region"] { max-width: 62ch; padding: 0 var(--space-4) var(--space-5); }
#poker-page .poker-enquiry__inner { width: min(100%, 47.5rem); margin-inline: auto; }
#poker-page .poker-enquiry__intro { max-width: 62ch; }
#poker-page .poker-enquiry__form { display: flex; flex-direction: column; min-width: 0; gap: var(--space-4); margin-top: var(--space-6); }
#poker-page .poker-enquiry__form > * { min-width: 0; margin: 0; }
#poker-page .poker-enquiry__row { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-4); }
#poker-page .poker-enquiry__row > * { min-width: 0; }
#poker-page .poker-enquiry__check { display: grid; grid-template-columns: 1.25rem minmax(0, 1fr); align-items: start; gap: var(--space-3); }
#poker-page .poker-enquiry__check label { margin: 0; }
#poker-page .poker-enquiry__summary { padding: var(--space-3); border-left: 3px solid var(--color-clay); background: #fff5f2; color: var(--color-clay); font-weight: 700; }
#poker-page .poker-enquiry__status { padding: var(--space-3); border-left: 3px solid var(--color-eucalyptus); background: var(--color-shell); color: var(--color-eucalyptus); font-weight: 700; }
#poker-page .poker-enquiry__contact { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-4); margin-top: var(--space-5); padding-top: var(--space-5); border-top: var(--border-default); }
#poker-page .poker-enquiry__contact > * { min-width: 0; }
#poker-page .poker-enquiry__contact p { margin: var(--space-2) 0 0; }
#poker-page .poker-enquiry__address { grid-column: 1 / -1; color: var(--color-sage-muted); font-size: var(--text-small); }
#poker-page .poker-close__inner { width: min(100%, 45rem); margin-inline: auto; text-align: center; }
#poker-page .poker-close__inner .rule { margin-inline: auto; }
#poker-page .poker-close__inner p {
  margin-inline: auto; }

@media (max-width: 1080px) {
#poker-page .poker-process__steps { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 1024px) {
#poker-page .poker-hero__grid { grid-template-columns: minmax(0, 44fr) minmax(0, 56fr); gap: var(--space-4); }
#poker-page .poker-hero__media { min-height: 32rem; }
#poker-page .poker-formats__cards { grid-template-columns: repeat(2, minmax(0, 1fr)); }
#poker-page .poker-format-card--featured { grid-column: 1 / -1; }
#poker-page .poker-guide__layout { grid-template-columns: 1fr; }
#poker-page .poker-guide__narrative, #poker-page .poker-schedule { grid-column: 1; min-width: 0; }
#poker-page .poker-guide__narrative { display: contents; }
#poker-page .poker-guide__narrative > .eyebrow, #poker-page .poker-guide__narrative > h2, #poker-page .poker-guide__narrative > .lead { grid-column: 1; }
#poker-page .poker-schedule { grid-row: 2; }
#poker-page .poker-guide__address { grid-row: 3; }
#poker-page .poker-guide__cards { grid-row: 4; grid-template-columns: repeat(2, minmax(0, 1fr)); }
#poker-page .poker-policy__reading { margin-left: 0; }
}
@media (max-width: 920px) {
#poker-page .poker-private__grid { grid-template-columns: 1fr; }
#poker-page .poker-private__media { grid-column: 1; grid-row: 1; }
#poker-page .poker-private__copy { grid-column: 1; grid-row: 2; max-width: none; }
}
@media (max-width: 760px) {
#poker-page .poker-hero { padding-top: var(--space-6); }
#poker-page .poker-hero__grid { grid-template-columns: 1fr; gap: 0; }
#poker-page .poker-hero__media { grid-row: 1; min-height: auto; height: min(62vw, 24rem); border-radius: var(--radius-md); }
#poker-page .poker-hero__copy { grid-row: 2; width: calc(100% - 2rem); margin: -1rem auto 0; padding: var(--space-5); border-radius: var(--radius-md); }
#poker-page .poker-hero h1 { font-size: 2.25rem; }
#poker-page .poker-hero__caption { display: none; }
#poker-page .poker-lounge__grid { grid-template-columns: 1fr; }
#poker-page .poker-lounge__intro, #poker-page .poker-lounge__panels { grid-column: 1; }
#poker-page .poker-lounge__panels, #poker-page .poker-formats__cards, #poker-page .poker-process__steps, #poker-page .poker-guide__cards, #poker-page .poker-policy__split { grid-template-columns: 1fr; }
#poker-page .poker-format-card--featured { grid-column: 1; }
#poker-page .poker-process__container { grid-template-columns: 1fr; }
#poker-page .poker-process__heading, #poker-page .poker-process__steps, #poker-page .poker-process__service-note { grid-column: 1; }
#poker-page .poker-process__step { grid-template-columns: 2.5rem minmax(0, 1fr); }
#poker-page .poker-guide__layout { gap: var(--space-5); }
#poker-page .poker-guide__cards { gap: var(--space-4); }
#poker-page .poker-policy__statement, #poker-page .poker-policy__hosting { padding: var(--space-5); }
#poker-page .poker-private__media img { height: auto; aspect-ratio: 4 / 3; }
#poker-page .poker-enquiry__row, #poker-page .poker-enquiry__contact { grid-template-columns: 1fr; }
#poker-page .poker-enquiry__address { grid-column: 1; }
}
@media (max-width: 480px) {
#poker-page .poker-hero__actions { flex-direction: column; align-items: stretch; }
#poker-page .poker-hero__actions > *, #poker-page .poker-private__copy .button, #poker-page .poker-close__inner .button { width: 100%; }
#poker-page .poker-hero__badges { gap: var(--space-2); }
#poker-page .poker-faq__item button { font-size: 1.45rem; }
}


ul { list-style: none !important; }
.nav-toggle { flex-direction: column !important; }
.home-page { overflow: clip; }
.home-page img { width: 100%; max-width: 100%; object-fit: cover; }
.home-hero { padding: var(--space-8) 0 var(--space-10); }
.home-hero__grid { display: grid; grid-template-columns: minmax(420px, 5fr) minmax(500px, 7fr); gap: var(--space-5); align-items: stretch; }
.home-hero__grid > * { min-width: 0; width: 100%; }
.home-hero__image-wrap { grid-column: 2; grid-row: 1; min-width: 0; min-height: 35rem; border-radius: var(--radius-md); overflow: hidden; }
.home-hero__image { height: 100%; object-position: 66% center; }
.home-hero__panel { grid-column: 1; grid-row: 1; z-index: 1; display: flex; flex-direction: column; align-items: flex-start; justify-content: center; gap: var(--space-5); min-width: 0; padding: clamp(var(--space-8), 5vw, var(--space-9)); border: var(--border-strong); border-radius: var(--radius-lg); background: var(--color-linen); }
.home-hero__panel > * { min-width: 0; margin: 0; }
.home-hero__kicker { color: var(--color-eucalyptus); font-size: var(--text-meta); font-weight: 700; letter-spacing: .12em; line-height: var(--leading-meta); text-transform: uppercase; }
.home-hero__kicker::before { display: block; width: 3.5rem; height: 1px; margin-bottom: var(--space-3); background: var(--color-champagne); content: ""; }
.home-hero__panel h1 { max-width: 19ch; color: var(--color-eucalyptus); font-size: clamp(2.65rem, 4.1vw, 3.5rem); }
.home-hero__lead { display: grid; gap: var(--space-4); max-width: 56ch; }
.home-hero__lead p { margin: 0; }
.home-hero__badges { display: flex; flex-wrap: wrap; gap: var(--space-2); width: 100%; min-width: 0; }
.home-hero__actions { width: 100%; }
.home-rhythm__grid { display: grid; grid-template-columns: minmax(0, 5fr) minmax(320px, 5fr) minmax(0, 2fr); gap: var(--space-5); align-items: start; }
.home-rhythm__grid > * { min-width: 0; }
.home-rhythm__intro { grid-column: 1; max-width: 60ch; }
.home-schedule { grid-column: 2; display: flex; flex-direction: column; gap: var(--space-4); padding: var(--space-6); border: var(--border-default); border-radius: var(--radius-md); background: var(--color-white); box-shadow: inset 3px 0 0 var(--color-champagne); }
.home-schedule > * { min-width: 0; margin: 0; }
.home-schedule__row { display: grid; grid-template-columns: minmax(0, 1fr) minmax(11rem, .9fr); gap: var(--space-4); padding-bottom: var(--space-4); border-bottom: 1px solid var(--color-champagne); }
.home-schedule__row > * { min-width: 0; }
.home-schedule__row h3 { margin-bottom: var(--space-2); font-size: 1.6rem; }
.home-schedule__row p { margin: 0; }
.home-schedule__facts { display: flex; flex-direction: column; gap: var(--space-2); color: var(--color-graphite); font-size: var(--text-small); line-height: var(--leading-small); }
.home-schedule__facts strong { color: var(--color-eucalyptus); }
.home-schedule__note { padding: var(--space-4); background: var(--color-shell); }
.home-schedule__note p { margin: var(--space-2) 0 0; font-size: var(--text-small); }
.home-standard__intro { max-width: 62ch; margin-inline: auto; text-align: center; }
.home-standard__intro .rule { margin-inline: auto; }
.home-standard__cards { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-5); margin-top: var(--space-7); }
.home-standard__cards > * { min-width: 0; width: 100%; }
.home-standard__card { display: flex; flex-direction: column; align-items: flex-start; gap: var(--space-4); min-width: 0; padding: var(--space-6); border: var(--border-default); border-radius: var(--radius-md); background: var(--color-white); }
.home-standard__card > * { min-width: 0; margin: 0; }
.home-standard__card::before { width: 3rem; height: 1px; background: var(--color-champagne); content: ""; }
.home-standard__card p:not(.eyebrow) { max-width: 38ch; }
.home-programme__header { max-width: 56ch; }
.home-programme__features { display: grid; grid-template-columns: 1fr; gap: var(--space-6); margin-top: var(--space-7); }
.home-feature { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-5); align-items: stretch; }
.home-feature > * { min-width: 0; width: 100%; }
.home-feature__media { min-height: 23rem; overflow: hidden; border-radius: var(--radius-md); }
.home-feature__media img { height: 100%; }
.home-feature:first-child .home-feature__media img { object-position: 52% center; }
.home-feature--reverse .home-feature__media img { object-position: 60% center; }
.home-feature__content { display: flex; flex-direction: column; align-items: flex-start; justify-content: center; gap: var(--space-4); padding: var(--space-7); border: var(--border-default); border-radius: var(--radius-md); background: var(--color-white); }
.home-feature__content > * { min-width: 0; margin: 0; }
.home-feature__content p:not(.eyebrow) { max-width: 56ch; }
.home-feature__strip { display: flex; flex-wrap: wrap; gap: var(--space-2); padding-top: var(--space-3); border-top: 1px solid var(--color-champagne); color: var(--color-eucalyptus); font-size: var(--text-small); font-weight: 700; }
.home-programme__note { display: flex; flex-direction: column; align-items: flex-start; gap: var(--space-4); max-width: 66ch; margin-top: var(--space-6); padding: var(--space-6); border: var(--border-default); border-radius: var(--radius-md); background: var(--color-shell); }
.home-programme__note > * { margin: 0; }
.home-dining__grid { display: grid; grid-template-columns: minmax(0, 6fr) minmax(370px, 5fr) minmax(0, 1fr); gap: var(--space-5); align-items: start; }
.home-dining__grid > * { min-width: 0; }
.home-dining__content { grid-column: 1; }
.home-dining__content > .lead { max-width: 58ch; }
.home-dining__media { grid-column: 2; min-height: 30rem; overflow: hidden; border-radius: var(--radius-md); }
.home-dining__media img { height: 100%; object-position: 55% center; }
.home-menu { display: grid; gap: 0; margin-top: var(--space-6); border: var(--border-default); border-radius: var(--radius-md); background: var(--color-white); }
.home-menu__item { display: grid; grid-template-columns: minmax(0, 1fr) max-content; gap: var(--space-5); padding: var(--space-5); border-bottom: var(--border-default); }
.home-menu__item:last-child { border-bottom: 0; }
.home-menu__item > * { min-width: 0; }
.home-menu__item h3 { margin-bottom: var(--space-2); font-size: 1.55rem; }
.home-menu__item p {
  margin: 0; }
.home-menu__item strong { color: var(--color-eucalyptus); font-size: var(--text-small); text-align: right; white-space: nowrap; }
.home-dining__service { display: flex; flex-direction: column; align-items: flex-start; gap: var(--space-4); margin-top: var(--space-5); padding: var(--space-5); border: var(--border-default); border-radius: var(--radius-md); background: var(--color-white); }
.home-dining__service > * { min-width: 0; margin: 0; }
.home-dining__service p {
  }
.home-private__intro { max-width: 58ch; }
.home-private__intro .eyebrow { color: var(--color-shell); }
.home-private__intro .rule { background: var(--color-champagne); }
.home-private__intro h2, .home-private__intro p { color: var(--color-white); }
.home-private__cards { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-5); margin-top: var(--space-7); }
.home-private__cards > * { min-width: 0; width: 100%; }
.home-private__cards article { padding: var(--space-6); border: 1px solid rgba(255,255,255,.32); border-radius: var(--radius-md); background: var(--color-white); }
.home-private__cards h3 { color: var(--color-eucalyptus); }
.home-private__cards p { margin-bottom: 0; color: var(--color-graphite); }
.home-private__note { display: flex; flex-direction: column; align-items: flex-start; gap: var(--space-4); max-width: 62ch; margin-top: var(--space-6); padding: var(--space-6); border-radius: var(--radius-md); background: var(--color-white); }
.home-private__note > * { min-width: 0; margin: 0; }
.home-private__note h3 { color: var(--color-eucalyptus); }
.home-private__note p { color: var(--color-graphite); }
.home-private__note p a { color: var(--color-eucalyptus); }
.home-gallery__intro { max-width: 52ch; margin-inline: auto; text-align: center; }
.home-gallery__grid { display: grid; grid-template-columns: minmax(0, 7fr) minmax(320px, 5fr); gap: var(--space-5); margin-top: var(--space-7); }
.home-gallery__grid > * { min-width: 0; width: 100%; }
.home-gallery figure { margin: 0; }
.home-gallery__primary img { aspect-ratio: 3 / 2; object-position: center; border-radius: var(--radius-md); }
.home-gallery__secondary { display: grid; grid-template-columns: 1fr; gap: var(--space-5); }
.home-gallery__secondary figure { min-width: 0; width: 100%; }
.home-gallery__secondary img { aspect-ratio: 4 / 3; border-radius: var(--radius-md); }
.home-gallery figcaption { max-width: 34ch; }
.home-guide__inner { max-width: 58rem; }
.home-guide__rows { display: grid; grid-template-columns: 1fr; margin-top: var(--space-6); }
.home-guide__rows article { display: grid; grid-template-columns: 4rem minmax(0, 1fr); gap: var(--space-5); padding: var(--space-5) 0; border-top: var(--border-default); }
.home-guide__rows article > * { min-width: 0; }
.home-guide__rows article > span { color: var(--color-champagne); font-family: var(--font-display); font-size: 1.8rem; font-weight: 600; }
.home-guide__rows h3 { margin-bottom: var(--space-3); }
.home-guide__rows p {
  margin-bottom: 0; }
.home-guide__age { margin-bottom: var(--space-2) !important; color: var(--color-clay); font-size: var(--text-meta); font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.home-enquiry__intro { max-width: 62ch; }
.home-form { display: flex; flex-direction: column; align-items: stretch; gap: var(--space-6); width: min(100%, 64rem); min-width: 0; margin: var(--space-7) auto 0; padding: clamp(var(--space-5), 4vw, var(--space-7)); border: var(--border-strong); border-radius: var(--radius-lg); background: var(--color-white); box-shadow: var(--shadow-card); }
.home-form > * { min-width: 0; width: 100%; margin: 0; }
.home-form fieldset { display: flex; flex-direction: column; gap: var(--space-4); }
.home-form legend { margin-bottom: var(--space-4); color: var(--color-eucalyptus); font-family: var(--font-display); font-size: 1.55rem; font-weight: 600; }
.home-form__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-5); }
.home-form__grid > * { min-width: 0; width: 100%; }
.home-form__full { grid-column: 1 / -1; }
.home-form__consent { display: flex; align-items: flex-start; gap: var(--space-3); margin-top: var(--space-4); }
.home-form__consent > * { min-width: 0; }
.home-form__consent label { margin: 0; }
.home-form__support { padding: var(--space-4); border: var(--border-default); background: var(--color-shell); }
.home-form__support p {
  margin: 0; font-size: var(--text-small); }
.home-form__summary { padding: var(--space-4); border-left: 3px solid var(--color-clay); background: #fbefeb; color: var(--color-clay); font-weight: 700; }
.home-form .form-error { margin-top: var(--space-2); }
@media (max-width: 1120px) { .home-hero__grid { grid-template-columns: minmax(390px, 5fr) minmax(420px, 7fr); } .home-hero__panel { padding: var(--space-7); } .home-rhythm__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } .home-schedule { grid-column: 2; } .home-dining__grid { grid-template-columns: minmax(0, 1fr) minmax(370px, .9fr); } .home-dining__media { grid-column: 2; } }
@media (max-width: 920px) { .home-rhythm__grid { grid-template-columns: 1fr; } .home-rhythm__intro, .home-schedule { grid-column: 1; } .home-standard__cards { grid-template-columns: repeat(2, minmax(0, 1fr)); } .home-standard__card:last-child { grid-column: 1 / -1; } .home-feature { grid-template-columns: 1fr; } .home-feature--reverse .home-feature__content { grid-row: 1; } .home-feature--reverse .home-feature__media { grid-row: 2; } .home-dining__grid { grid-template-columns: 1fr; } .home-dining__content, .home-dining__media { grid-column: 1; } .home-dining__media { grid-row: 2; min-height: 25rem; } .home-private__cards { grid-template-columns: repeat(2, minmax(0, 1fr)); } .home-private__cards article:last-child { grid-column: 1 / -1; } .home-gallery__grid { grid-template-columns: 1fr; } .home-gallery__secondary { grid-template-columns: repeat(2, minmax(0, 1fr)); } .home-form__grid { grid-template-columns: 1fr; } .home-form__full { grid-column: 1; } }
@media (max-width: 760px) { .home-hero { padding: 0 0 var(--space-8); } .home-hero__grid { display: flex; flex-direction: column; gap: 0; width: 100%; } .home-hero__image-wrap { order: 1; min-height: 0; height: auto; border-radius: 0; } .home-hero__image { aspect-ratio: 16 / 10; height: auto; } .home-hero__panel { order: 2; width: calc(100% - 2.5rem); margin: calc(var(--space-4) * -1) auto 0; padding: var(--space-5); } .home-hero__panel h1 { max-width: 19ch; font-size: 2.25rem; line-height: 1; } .home-rhythm__grid, .home-standard__cards, .home-private__cards, .home-gallery__secondary { grid-template-columns: 1fr; } .home-standard__card:last-child, .home-private__cards article:last-child { grid-column: auto; } .home-schedule { padding: var(--space-5); } .home-schedule__row { grid-template-columns: 1fr; gap: var(--space-3); } .home-feature__content { padding: var(--space-5); } .home-feature__media { min-height: 0; } .home-feature__media img { aspect-ratio: 4 / 3; height: auto; } .home-dining__media { min-height: 0; } .home-dining__media img { aspect-ratio: 4 / 5; height: auto; } .home-menu__item { grid-template-columns: 1fr; gap: var(--space-3); } .home-menu__item strong { text-align: left; } .home-private__note, .home-form { padding: var(--space-5); } .home-gallery__grid { gap: var(--space-5); } .home-guide__rows article { grid-template-columns: 1fr; gap: var(--space-2); } .home-guide__rows article > span { font-size: var(--text-meta); letter-spacing: .12em; } }
@media (max-width: 480px) { .home-hero__actions { flex-direction: column; } .home-hero__actions .button { width: 100%; } .home-programme__note .button, .home-private__note .button, .home-dining__service .button, .home-form > button { width: 100%; } }


ul { list-style: none !important; }
.nav-toggle { flex-direction: column !important; }

.dining-page { overflow: hidden; }
.dining-page .rule { background: var(--color-champagne); }
.dining-page h2 { font-size: clamp(2rem, 4vw, 2.75rem); }
.dining-hero__grid { display: grid; grid-template-columns: minmax(390px, 44fr) minmax(480px, 56fr); gap: var(--space-7); align-items: center; }
.dining-hero__grid > * { min-width: 0; width: 100%; }
.dining-hero__panel { display: flex; flex-direction: column; gap: var(--space-4); min-width: 0; padding: clamp(var(--space-5), 4vw, var(--space-8)); border: var(--border-strong); border-radius: var(--radius-lg); background: var(--color-linen); order: 1; }
.dining-hero__panel > * { min-width: 0; margin: 0; }
.dining-hero__panel .lead { max-width: 54ch; }
.dining-hero__media { order: 2; position: relative; min-width: 0; }
.dining-hero__figure { position: relative; margin: 0; min-width: 0; }
.dining-hero__figure img { width: 100%; height: 100%; min-height: 35rem; object-fit: cover; object-position: 58% 56%; border-radius: var(--radius-md); }
.dining-hero__caption { position: absolute; right: var(--space-5); bottom: calc(var(--space-5) * -1); width: min(17.5rem, calc(100% - var(--space-6))); padding: var(--space-4); border: var(--border-default); border-radius: var(--radius-sm); background: var(--color-white); color: var(--color-graphite); font-size: var(--text-small); line-height: var(--leading-small); }
.dining-hero__actions, .dining-hero__badges { margin: 0; }
.dining-hero__actions > *, .dining-hero__badges > * { min-width: 0; }
.dining-room__intro { max-width: 62ch; }
.dining-room__blocks { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-5); margin-top: var(--space-8); }
.dining-room__blocks > * { min-width: 0; width: 100%; }
.dining-room__block { display: flex; flex-direction: column; gap: var(--space-3); padding: var(--space-5); border-top: 1px solid var(--color-champagne); }
.dining-room__block > * { margin: 0; min-width: 0; }
.dining-room__block p {
  }
.dining-room__block--lounge { border: var(--border-default); border-top-color: var(--color-champagne); background: var(--color-white); }
.dining-menu__heading { max-width: 68ch; }
.dining-menu__top { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-5); margin-top: var(--space-7); }
.dining-menu__top > *, .dining-menu__side-grid > * { min-width: 0; width: 100%; }
.dining-menu__panel { padding: var(--space-6); border: var(--border-default); border-radius: var(--radius-md); background: var(--color-white); }
.dining-menu__panel--roasts { background: var(--color-linen); }
.dining-menu__panel--sides { margin-top: var(--space-5); }
.dining-menu__rows { display: grid; grid-template-columns: minmax(0, 1fr); }
.dining-menu__row { display: grid; grid-template-columns: minmax(0, 1fr) minmax(3.75rem, auto); gap: var(--space-4); padding-block: var(--space-4); border-bottom: var(--border-default); align-items: start; }
.dining-menu__row > * { min-width: 0; }
.dining-menu__row h4, .dining-menu__row p { margin: 0; }
.dining-menu__row p {
  }
.dining-menu__row strong { white-space: nowrap; color: var(--color-eucalyptus); text-align: right; }
.dining-menu__side-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: var(--space-6); }
.dining-menu__note { max-width: 58ch; margin-top: var(--space-5); padding-left: var(--space-5); border-left: 1px solid var(--color-champagne); }
.dining-feasts__heading { max-width: 58ch; margin-inline: auto; text-align: center; }
.dining-feasts__cards { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-5); width: min(100%, 62rem); margin: var(--space-7) auto 0; }
.dining-feasts__cards > * { min-width: 0; width: 100%; }
.dining-feast-card { display: flex; flex-direction: column; gap: var(--space-4); padding: var(--space-6); border: var(--border-default); border-radius: var(--radius-md); background: var(--color-white); }
.dining-feast-card > * { min-width: 0; margin: 0; }
.dining-feast-card .rule { width: 100%; }
.dining-feast-card p {
  }
.dining-feast-card__price { color: var(--color-eucalyptus); font-family: var(--font-display); font-size: 2rem; font-weight: 600; line-height: 1; }
.dining-feast-card__price span { color: var(--color-graphite); font-family: var(--font-body); font-size: var(--text-small); font-weight: 700; }
.dining-feast-card__inclusions { color: var(--color-sage-muted); font-size: var(--text-small); }
.dining-feasts__planning { max-width: 52ch; margin: var(--space-6) auto 0; text-align: center; }
.table-dining .rule { background: var(--color-champagne); }
.table-dining__opening { display: flex; flex-direction: column; gap: var(--space-4); width: 50%; min-width: 0; }
.table-dining__opening > * { min-width: 0; margin: 0; }
.table-dining__opening .lead { max-width: 58ch; color: var(--color-white); }
.table-dining__bites { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--space-4); margin-top: var(--space-7); }
.table-dining__bites > * { min-width: 0; width: 100%; }
.table-dining__bite { padding: var(--space-5); border: 1px solid rgba(255,255,255,.28); border-radius: var(--radius-md); }
.table-dining__bite h3, .table-dining__bite p { margin: 0; color: var(--color-white); }
.table-dining__bite h3 { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: var(--space-3); font-size: var(--text-feature); }
.table-dining__bite h3 span { color: var(--color-champagne); font-family: var(--font-body); font-size: var(--text-small); white-space: nowrap; }
.table-dining__bite p { margin-top: var(--space-3);
  }
.table-dining__note { max-width: 700px; margin-top: var(--space-6); padding: var(--space-5); border-radius: var(--radius-md); background: var(--color-shell); }
.table-dining__note p { margin: 0; color: var(--color-charcoal); }
.table-dining__note .badge { margin-right: var(--space-2); border-color: var(--color-clay); color: var(--color-clay); }
.drinks__top { display: grid; grid-template-columns: minmax(360px, 5fr) minmax(430px, 7fr); gap: var(--space-6); align-items: stretch; }
.drinks__top > * { min-width: 0; width: 100%; }
.drinks__intro { display: flex; flex-direction: column; justify-content: center; gap: var(--space-4); padding: var(--space-6); border: var(--border-default); background: var(--color-linen); }
.drinks__intro > * { min-width: 0; margin: 0; }
.drinks__intro .lead { max-width: 58ch; }
.drinks__figure { margin: 0; min-width: 0; }
.drinks__figure img { width: 100%; height: 100%; min-height: 25rem; object-fit: cover; object-position: 68% 63%; border-radius: var(--radius-md); }
.drinks__lists { display: grid; grid-template-columns: minmax(0, 4fr) minmax(0, 8fr); gap: var(--space-5); margin-top: var(--space-7); }
.drinks__lists > * { min-width: 0; width: 100%; }
.drinks__cocktails, .drinks__wine { padding: var(--space-5); border: var(--border-default); border-radius: var(--radius-md); background: var(--color-white); }
.drinks__wine { background: var(--color-linen); }
.drinks__rows, .drinks__wine-rows { display: grid; grid-template-columns: minmax(0, 1fr); }
.drinks__row { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: var(--space-3); padding-block: var(--space-3); border-bottom: var(--border-default); }
.drinks__row > * { min-width: 0; }
.drinks__row h4, .drinks__row p { margin: 0; }
.drinks__row p {
  }
.drinks__row strong { color: var(--color-eucalyptus); white-space: nowrap; }
.drinks__wine-row { display: grid; grid-template-columns: minmax(0, 1fr) minmax(4rem, auto) minmax(4rem, auto); gap: var(--space-3); padding-block: var(--space-3); border-bottom: var(--border-default); align-items: end; }
.drinks__wine-row > * { min-width: 0; }
.drinks__wine-row h4 { margin: 0; font-size: var(--text-body); }
.drinks__wine-row div { display: grid; gap: var(--space-1); text-align: right; }
.drinks__wine-row span { color: var(--color-sage-muted); font-size: var(--text-meta); font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.drinks__wine-row strong { color: var(--color-eucalyptus); white-space: nowrap; }
.drinks__service { max-width: 55ch; margin-top: var(--space-5); }
.drinks__service .badge { margin-right: var(--space-2); border-color: var(--color-clay); color: var(--color-clay); }
.event-dining__heading { max-width: 60ch; }
.event-dining__pathways { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--space-4); margin-top: var(--space-7); }
.event-dining__pathway { display: grid; grid-template-columns: minmax(220px, 4fr) minmax(0, 8fr); border: var(--border-default); }
.event-dining__pathway > * { min-width: 0; width: 100%; }
.event-dining__rail { padding: var(--space-5); background: var(--color-linen); }
.event-dining__body { display: flex; flex-direction: column; align-items: flex-start; gap: var(--space-4); padding: var(--space-5); }
.event-dining__rail > *, .event-dining__body > * { margin: 0; min-width: 0; }
.event-dining__body p {
  }
.event-dining__pathway:nth-child(2) .event-dining__rail { order: 2; background: var(--color-white); }
.event-dining__pathway:nth-child(2) .event-dining__body { order: 1; background: var(--color-linen); }
.venue-notes__grid { display: grid; grid-template-columns: minmax(0, 7fr) minmax(320px, 5fr); gap: var(--space-5); margin-top: var(--space-6); align-items: stretch; }
.venue-notes__grid > * { min-width: 0; width: 100%; }
.venue-notes__schedule, .venue-notes__context { padding: var(--space-5); border: var(--border-default); border-radius: var(--radius-md); background: var(--color-white); }
.venue-notes__schedule h3 { margin-bottom: var(--space-5); }
.venue-notes__schedule-row { padding: var(--space-4); background: var(--color-shell); }
.venue-notes__schedule-row + .venue-notes__schedule-row { margin-top: var(--space-3); }
.venue-notes__schedule-row h4, .venue-notes__schedule-row p { margin: 0; }
.venue-notes__schedule-row p {
  margin-top: var(--space-1); }
.venue-notes__schedule-copy { max-width: 42ch; margin: var(--space-5) 0 0; }
.venue-notes__context { display: flex; flex-direction: column; gap: var(--space-4); background: var(--color-linen); }
.venue-notes__context > * { min-width: 0; margin: 0; }
.venue-notes__context address { color: var(--color-charcoal); font-family: var(--font-display); font-size: var(--text-feature); font-weight: 600; line-height: var(--leading-feature); }
.venue-notes__context p {
  }
.venue-notes__link { display: inline-block; margin-top: var(--space-5); }
.enquiry-guide__heading { max-width: 58ch; margin-inline: auto; text-align: center; }
.enquiry-guide__steps { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0; margin-top: var(--space-7); }
.enquiry-guide__steps > * { min-width: 0; width: 100%; }
.enquiry-guide__step { padding: var(--space-5); border-right: var(--border-default); }
.enquiry-guide__step:last-child { border-right: 0; }
.enquiry-guide__step:nth-child(2) { background: var(--color-linen); }
.enquiry-guide__step span { display: block; margin-bottom: var(--space-3); color: var(--color-champagne); font-family: var(--font-display); font-size: 2.75rem; font-weight: 600; line-height: 1; }
.enquiry-guide__step h3 { font-size: var(--text-feature); }
.enquiry-guide__step p {
  }
.enquiry-guide__reassurance { display: flex; justify-content: center; align-items: center; gap: var(--space-3); max-width: 560px; margin: var(--space-6) auto 0; padding: var(--space-4); border: var(--border-default); text-align: center; }
.enquiry-guide__reassurance > * { min-width: 0; margin: 0; }
.dining-enquiry__header { max-width: 680px; margin-inline: auto; }
.dining-enquiry__header p:not(.kicker) { max-width: 58ch; }
.dining-enquiry__form { display: flex; flex-direction: column; gap: var(--space-5); width: min(100%, 760px); margin: var(--space-7) auto 0; padding: clamp(var(--space-5), 4vw, var(--space-7)); border: var(--border-default); border-radius: var(--radius-lg); background: var(--color-white); box-shadow: var(--shadow-card); }
.dining-enquiry__form > * { min-width: 0; margin: 0; }
.dining-enquiry__two-col, .dining-enquiry__three-col { display: grid; gap: var(--space-4); }
.dining-enquiry__two-col { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.dining-enquiry__three-col { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.dining-enquiry__two-col > *, .dining-enquiry__three-col > * { min-width: 0; width: 100%; }
.dining-enquiry__checks { display: flex; flex-direction: column; gap: var(--space-3); }
.dining-enquiry__checks label { display: flex; align-items: flex-start; gap: var(--space-3); margin: 0; font-weight: 400; }
.dining-enquiry__checks label span { min-width: 0; }
.dining-enquiry__checks input { margin-top: .2rem; }
.dining-enquiry__form button { width: 100%; }
.dining-enquiry__summary { padding: var(--space-4); border: 1px solid var(--color-clay); border-radius: var(--radius-md); background: #fff7f4; color: var(--color-clay); font-weight: 700; }
.dining-enquiry__privacy, .dining-enquiry__success { max-width: 62ch; color: var(--color-sage-muted); font-size: var(--text-small); line-height: var(--leading-small); }
.dining-enquiry__success { padding: var(--space-4); border-left: 3px solid var(--color-eucalyptus); background: var(--color-linen); color: var(--color-eucalyptus); font-weight: 700; }

@media (max-width: 1100px) {
.dining-hero__grid { grid-template-columns: minmax(390px, 44fr) minmax(430px, 56fr); gap: var(--space-5); }
.dining-hero__figure img { min-height: 31rem; }
.table-dining__bites { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 1024px) {
.dining-room__blocks { gap: var(--space-4); }
.dining-menu__panel { padding: var(--space-5); }
.dining-feasts__cards { width: min(100%, 48rem); }
.drinks__top { gap: var(--space-5); }
}
@media (max-width: 900px) {
.dining-hero__grid { grid-template-columns: minmax(0, 1fr); gap: var(--space-5); }
.dining-hero__panel { order: 2; width: 100%; }
.dining-hero__media { order: 1; }
.dining-hero__figure img { min-height: 28rem; }
.dining-hero__caption { position: static; width: 100%; margin-top: var(--space-3); }
.event-dining__pathway { grid-template-columns: minmax(0, 1fr); }
.event-dining__pathway:nth-child(2) .event-dining__rail, .event-dining__pathway:nth-child(2) .event-dining__body { order: initial; }
.event-dining__rail { border-bottom: var(--border-default); }
.venue-notes__grid { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 760px) {
.dining-page h2 { font-size: 1.875rem; }
.dining-hero { padding-top: var(--space-7); }
.dining-hero__grid { gap: 0; }
.dining-hero__figure img { min-height: 0; aspect-ratio: 4 / 3; }
.dining-hero__caption { padding: var(--space-3); }
.dining-hero__panel { width: calc(100% - var(--space-4)); margin: calc(var(--space-4) * -1) 0 0 var(--space-4); padding: var(--space-5); position: relative; border-radius: var(--radius-md); }
.dining-hero__panel h1 { font-size: 2.25rem; line-height: 1.02; }
.dining-hero__panel .lead { font-size: 1.0625rem; line-height: 1.6; }
.dining-room__blocks, .dining-menu__top, .dining-menu__side-grid, .dining-feasts__cards, .drinks__lists, .enquiry-guide__steps { grid-template-columns: minmax(0, 1fr); }
.dining-room__blocks { margin-top: var(--space-6); }
.dining-menu__top { margin-top: var(--space-6); }
.dining-menu__panel--sides { margin-top: var(--space-4); }
.dining-feasts__cards { margin-top: var(--space-6); }
.table-dining__opening { width: 100%; }
.table-dining__bites { grid-template-columns: minmax(0, 1fr); margin-top: var(--space-6); }
.drinks__top { grid-template-columns: minmax(0, 1fr); }
.drinks__figure { order: 1; }
.drinks__intro { order: 2; }
.drinks__figure img { min-height: 0; aspect-ratio: 4 / 3; }
.drinks__lists { margin-top: var(--space-6); }
.enquiry-guide__steps { gap: var(--space-5); }
.enquiry-guide__step { border-right: 0; border-bottom: var(--border-default); padding: 0 0 var(--space-5); background: transparent !important; }
.enquiry-guide__step:last-child { border-bottom: 0; padding-bottom: 0; }
.enquiry-guide__reassurance { flex-direction: column; }
.dining-enquiry__two-col, .dining-enquiry__three-col { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 480px) {
.dining-hero__actions { flex-direction: column; align-items: stretch; }
.dining-hero__actions > * { width: 100%; }
.dining-menu__row { grid-template-columns: minmax(0, 1fr); gap: var(--space-2); }
.dining-menu__row strong { text-align: left; }
.dining-menu__side-grid { column-gap: 0; }
.table-dining__bite h3 { grid-template-columns: minmax(0, 1fr) auto; }
.drinks__wine-row { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.drinks__wine-row h4 { grid-column: 1 / -1; }
.drinks__wine-row div { text-align: left; }
.dining-enquiry__form { padding: var(--space-5); }
}
@media (prefers-reduced-motion: reduce) { .dining-page * { scroll-behavior: auto; transition-duration: 0.01ms !important; } }


.venue-guide-page {
  overflow: hidden;
}

.venue-guide-page .venue-guide-hero__grid {
  display: grid;
  grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
  grid-template-areas: "panel image" "badges badges";
  gap: var(--space-5) var(--space-6);
  align-items: center;
}

.venue-guide-page .venue-guide-hero__panel {
  grid-area: panel;
  min-width: 0;
  padding: clamp(var(--space-6), 4vw, var(--space-8));
  border: var(--border-strong);
  border-radius: var(--radius-lg);
  background: var(--color-linen);
}

.venue-guide-page .venue-guide-hero__kicker {
  max-width: 54ch;
  margin-bottom: var(--space-4);
  color: var(--color-eucalyptus);
  font-size: var(--text-meta);
  font-weight: 700;
  letter-spacing: 0.1em;
  line-height: var(--leading-meta);
  text-transform: uppercase;
}

.venue-guide-page .venue-guide-hero__panel h1 {
  max-width: 20ch;
  margin-bottom: var(--space-5);
}

.venue-guide-page .venue-guide-hero__lead {
  max-width: 54ch;
  margin-bottom: var(--space-4);
  font-size: var(--text-lead);
  line-height: var(--leading-lead);
}

.venue-guide-page .venue-guide-hero__location {
  max-width: 54ch;
  margin-bottom: var(--space-5);
  color: var(--color-sage-muted);
  font-size: var(--text-small);
  line-height: var(--leading-small);
}

.venue-guide-page .venue-guide-hero__actions {
  width: 100%;
}

.venue-guide-page .venue-guide-hero__actions > * {
  min-width: 0;
}

.venue-guide-page .venue-guide-hero__image-wrap {
  grid-area: image;
  min-width: 0;
  width: 100%;
  align-self: stretch;
  border: var(--border-strong);
  border-radius: var(--radius-md);
  overflow: hidden;
  background: var(--color-shell);
}

.venue-guide-page .venue-guide-hero__image {
  width: 100%;
  height: 100%;
  min-height: 34rem;
  object-fit: cover;
  object-position: 72% center;
}

.venue-guide-page .venue-guide-hero__badges {
  grid-area: badges;
  display: flex;
  min-width: 0;
  flex-wrap: wrap;
  gap: var(--space-2);
}

.venue-guide-page .venue-guide-overview__intro {
  width: min(100%, 44ch);
  margin-bottom: var(--space-7);
}

.venue-guide-page .venue-guide-overview__intro .lead {
  margin-bottom: 0;
}

.venue-guide-page .venue-guide-overview__cards {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--space-5);
}

.venue-guide-page .venue-guide-overview__card,
.venue-guide-page .venue-guide-format-card {
  display: flex;
  min-width: 0;
  min-height: 100%;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-4);
  padding: var(--space-6);
  border: var(--border-default);
  border-radius: var(--radius-md);
  background: var(--color-white);
}

.venue-guide-page .venue-guide-overview__card h3,
.venue-guide-page .venue-guide-format-card h3 {
  margin: 0;
}

.venue-guide-page .venue-guide-overview__card p,
.venue-guide-page .venue-guide-format-card p {
  margin: 0;
}

.venue-guide-page .venue-guide-overview__card a,
.venue-guide-page .venue-guide-format-card a {
  margin-top: auto;
}

.venue-guide-page .venue-guide-card-rule {
  display: block;
  width: 3.5rem;
  min-width: 3.5rem;
  height: 1px;
  background: var(--color-champagne);
}

.venue-guide-page .venue-guide-overview__note {
  width: min(100%, 64ch);
  margin-top: var(--space-6);
  padding-top: var(--space-5);
  border-top: var(--border-default);
}

.venue-guide-page .venue-guide-overview__note p {
  margin-bottom: 0;
}

.venue-guide-page .venue-guide-poker__grid {
  display: grid;
  grid-template-columns: minmax(0, 7fr) minmax(17.5rem, 4fr);
  grid-template-areas: "narrative schedule" "figure schedule";
  gap: var(--space-6) var(--space-7);
  align-items: start;
}

.venue-guide-page .venue-guide-poker__narrative {
  grid-area: narrative;
  display: flex;
  min-width: 0;
  flex-direction: column;
  align-items: stretch;
  gap: var(--space-6);
}

.venue-guide-page .venue-guide-poker__intro {
  width: min(100%, 66ch);
}

.venue-guide-page .venue-guide-poker__intro .lead {
  margin-bottom: 0;
}

.venue-guide-page .venue-guide-poker__block {
  width: min(100%, 66ch);
  min-width: 0;
  padding-top: var(--space-5);
  border-top: var(--border-default);
}

.venue-guide-page .venue-guide-poker__block h3 {
  margin-bottom: var(--space-3);
}

.venue-guide-page .venue-guide-poker__block p:last-of-type {
  margin-bottom: var(--space-4);
}

.venue-guide-page .venue-guide-poker__facts {
  display: flex;
  min-width: 0;
  flex-wrap: wrap;
  gap: var(--space-2) var(--space-4);
  color: var(--color-eucalyptus);
  font-size: var(--text-small);
  font-weight: 700;
}

.venue-guide-page .venue-guide-poker__facts > span {
  min-width: 0;
}

.venue-guide-page .venue-guide-schedule {
  grid-area: schedule;
  display: flex;
  min-width: 0;
  flex-direction: column;
  align-items: stretch;
  gap: var(--space-3);
  padding: var(--space-6);
  border: var(--border-default);
  border-radius: var(--radius-md);
  background: var(--color-white);
}

.venue-guide-page .venue-guide-schedule .eyebrow {
  margin-bottom: var(--space-2);
  color: var(--color-eucalyptus);
}

.venue-guide-page .venue-guide-schedule__row {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: var(--space-1);
  padding: var(--space-3) 0;
  border-top: var(--border-default);
}

.venue-guide-page .venue-guide-schedule__row strong {
  color: var(--color-charcoal);
}

.venue-guide-page .venue-guide-schedule__row span {
  max-width: 30ch;
  color: var(--color-graphite);
  font-size: var(--text-small);
  line-height: var(--leading-small);
}

.venue-guide-page .venue-guide-schedule__note {
  margin: 0;
  padding-top: var(--space-3);
  border-top: 1px solid var(--color-champagne);
  color: var(--color-graphite);
  font-size: var(--text-small);
  line-height: var(--leading-small);
}

.venue-guide-page .venue-guide-poker__figure {
  grid-area: figure;
  width: min(100%, 52rem);
  margin: 0;
}

.venue-guide-page .venue-guide-poker__figure img {
  width: 100%;
  aspect-ratio: 3 / 2;
  border-radius: var(--radius-md);
  object-fit: cover;
  object-position: center;
}

.venue-guide-page .venue-guide-dining__composition {
  position: relative;
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  align-items: end;
}

.venue-guide-page .venue-guide-dining__image {
  grid-column: 2 / 12;
  grid-row: 1;
  width: 100%;
  aspect-ratio: 16 / 10;
  border-radius: var(--radius-md);
  object-fit: cover;
  object-position: 72% center;
}

.venue-guide-page .venue-guide-dining__panel {
  grid-column: 1 / 6;
  grid-row: 1;
  z-index: 1;
  min-width: 0;
  margin-bottom: calc(var(--space-6) * -1);
  padding: var(--space-7);
  border: var(--border-strong);
  border-radius: var(--radius-md);
  background: var(--color-linen);
}

.venue-guide-page .venue-guide-dining__panel h2 {
  max-width: 18ch;
}

.venue-guide-page .venue-guide-dining__panel .lead {
  max-width: 54ch;
  margin-bottom: 0;
}

.venue-guide-page .venue-guide-dining__support {
  display: grid;
  grid-template-columns: minmax(0, 7fr) minmax(0, 4fr);
  gap: var(--space-6);
  width: min(100%, 60rem);
  margin-top: calc(var(--space-6) + var(--space-7));
}

.venue-guide-page .venue-guide-dining__support > div {
  min-width: 0;
}

.venue-guide-page .venue-guide-dining__support > div:first-child p {
  }

.venue-guide-page .venue-guide-dining__service-note {
  padding: var(--space-5);
  border: var(--border-default);
  border-left: 3px solid var(--color-clay);
  border-radius: var(--radius-md);
  background: var(--color-white);
}

.venue-guide-page .venue-guide-dining__service-note .metadata {
  color: var(--color-clay);
}

.venue-guide-page .venue-guide-dining__service-note h3 {
  margin-bottom: var(--space-3);
}

.venue-guide-page .venue-guide-dining__service-note p:last-child {
  max-width: 48ch;
  margin-bottom: 0;
}

.venue-guide-page .venue-guide-formats__intro {
  width: min(100%, 55ch);
  margin-bottom: var(--space-7);
}

.venue-guide-page .venue-guide-formats__intro .lead {
  margin-bottom: 0;
}

.venue-guide-page .venue-guide-formats__cards {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--space-5);
}

.venue-guide-page .venue-guide-format-card .metadata {
  margin: 0;
}

.venue-guide-page .venue-guide-formats__guidance {
  width: min(100%, 64ch);
  margin-top: var(--space-6);
  padding: var(--space-5) var(--space-6);
  border: var(--border-default);
  border-radius: var(--radius-md);
  background: var(--color-linen);
}

.venue-guide-page .venue-guide-formats__guidance h3 {
  margin-bottom: var(--space-3);
}

.venue-guide-page .venue-guide-formats__guidance p {
  margin-bottom: 0;
}

.venue-guide-page .venue-guide-private__grid {
  display: grid;
  grid-template-columns: minmax(0, 5fr) minmax(26.875rem, 6fr);
  gap: var(--space-7);
  align-items: start;
}

.venue-guide-page .venue-guide-private__figure {
  width: 100%;
  margin: 0;
}

.venue-guide-page .venue-guide-private__figure img {
  width: 100%;
  aspect-ratio: 4 / 5;
  border-radius: var(--radius-md);
  object-fit: cover;
  object-position: center;
}

.venue-guide-page .venue-guide-private__copy {
  display: flex;
  min-width: 0;
  flex-direction: column;
  align-items: stretch;
  gap: var(--space-5);
}

.venue-guide-page .venue-guide-private__copy > * {
  min-width: 0;
  margin: 0;
}

.venue-guide-page .venue-guide-private__copy h2 {
  max-width: 20ch;
}

.venue-guide-page .venue-guide-private__lead {
  max-width: 64ch;
  color: var(--color-graphite);
  font-size: var(--text-lead);
  line-height: var(--leading-lead);
}

.venue-guide-page .venue-guide-private__detail {
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: var(--space-3);
  max-width: 64ch;
  padding-top: var(--space-5);
  border-top: var(--border-default);
}

.venue-guide-page .venue-guide-private__detail h3,
.venue-guide-page .venue-guide-private__detail p {
  margin: 0;
}

.venue-guide-page .venue-guide-private__action {
  display: flex;
  min-width: 0;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-4);
  max-width: 45ch;
  padding: var(--space-6);
  border: 1px solid var(--color-eucalyptus);
  border-radius: var(--radius-md);
  background: var(--color-eucalyptus);
  color: var(--color-white);
}

.venue-guide-page .venue-guide-private__action h3,
.venue-guide-page .venue-guide-private__action p {
  margin: 0;
  color: inherit;
}

.venue-guide-page .venue-guide-private__action .button {
  border-color: var(--color-white);
  background: var(--color-white);
  color: var(--color-eucalyptus);
}

.venue-guide-page .venue-guide-private__action .button:hover {
  background: var(--color-linen);
  color: var(--color-eucalyptus-dark);
}

.venue-guide-page .venue-guide-first__column {
  width: min(100%, 51.5rem);
  margin-inline: auto;
}

.venue-guide-page .venue-guide-first__intro {
  width: min(100%, 66ch);
  margin-bottom: var(--space-7);
}

.venue-guide-page .venue-guide-first__intro .lead {
  margin-bottom: 0;
}

.venue-guide-page .venue-guide-first__items {
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: var(--space-5);
}

.venue-guide-page .venue-guide-first__item {
  display: grid;
  grid-template-columns: 4.5rem minmax(0, 1fr);
  gap: var(--space-4);
  min-width: 0;
  padding-top: var(--space-5);
  border-top: var(--border-default);
}

.venue-guide-page .venue-guide-first__number {
  min-width: 0;
  color: var(--color-eucalyptus);
  font-family: var(--font-display);
  font-size: 2rem;
  font-weight: 600;
  line-height: 1;
}

.venue-guide-page .venue-guide-first__item > div {
  min-width: 0;
}

.venue-guide-page .venue-guide-first__item h3 {
  margin-bottom: var(--space-3);
}

.venue-guide-page .venue-guide-first__item .metadata {
  margin-bottom: var(--space-2);
  color: var(--color-clay);
}

.venue-guide-page .venue-guide-first__item p {
  }

.venue-guide-page .venue-guide-first__item p:last-child {
  margin-bottom: 0;
}

.venue-guide-page .venue-guide-first__statement {
  width: min(100%, 66ch);
  margin-top: var(--space-6);
  padding: var(--space-5);
  border: var(--border-default);
  border-radius: var(--radius-md);
  background: var(--color-linen);
}

.venue-guide-page .venue-guide-first__statement h3 {
  margin-bottom: var(--space-3);
}

.venue-guide-page .venue-guide-first__statement p {
  margin-bottom: 0;
}

.venue-guide-page .venue-guide-contact {
  background: var(--color-linen);
}

.venue-guide-page .venue-guide-contact__grid {
  display: grid;
  grid-template-columns: minmax(0, 7fr) minmax(17.5rem, 4fr);
  gap: var(--space-7);
  align-items: start;
}

.venue-guide-page .venue-guide-contact__content {
  min-width: 0;
}

.venue-guide-page .venue-guide-contact__lead {
  max-width: 58ch;
  margin-bottom: var(--space-6);
  color: var(--color-graphite);
  font-size: var(--text-lead);
  line-height: var(--leading-lead);
}

.venue-guide-page .venue-guide-contact__card {
  display: flex;
  min-width: 0;
  flex-direction: column;
  align-items: stretch;
  gap: var(--space-4);
  padding: var(--space-6);
  border: var(--border-default);
  border-radius: var(--radius-md);
  background: var(--color-white);
}

.venue-guide-page .venue-guide-contact__card h3,
.venue-guide-page .venue-guide-contact__card p,
.venue-guide-page .venue-guide-contact__card address,
.venue-guide-page .venue-guide-contact__card dl,
.venue-guide-page .venue-guide-contact__card hr {
  margin: 0;
}

.venue-guide-page .venue-guide-contact__card address {
  color: var(--color-charcoal);
  font-size: var(--text-lead);
  font-weight: 700;
  line-height: var(--leading-lead);
}

.venue-guide-page .venue-guide-contact__card hr {
  width: 100%;
  border-top-color: var(--color-stone-border);
}

.venue-guide-page .venue-guide-contact__card dl {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-4);
}

.venue-guide-page .venue-guide-contact__card dl > div {
  min-width: 0;
}

.venue-guide-page .venue-guide-contact__card dd {
  margin: var(--space-1) 0 0;
  overflow-wrap: anywhere;
}

.venue-guide-page .venue-guide-contact__card dd a {
  display: inline-flex;
  align-items: center;
  min-height: 2.75rem;
}

.venue-guide-page .venue-guide-contact__actions {
  width: 100%;
}

.venue-guide-page .venue-guide-contact__panel {
  display: flex;
  min-width: 0;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-4);
  padding: var(--space-6);
  border: 1px solid var(--color-eucalyptus);
  border-radius: var(--radius-md);
  background: var(--color-eucalyptus);
  color: var(--color-white);
}

.venue-guide-page .venue-guide-contact__panel .eyebrow,
.venue-guide-page .venue-guide-contact__panel h3,
.venue-guide-page .venue-guide-contact__panel p {
  margin: 0;
  color: inherit;
}

.venue-guide-page .venue-guide-contact__panel .eyebrow {
  color: var(--color-shell);
}

.venue-guide-page .venue-guide-contact__panel .button {
  border-color: var(--color-white);
  background: var(--color-white);
  color: var(--color-eucalyptus);
}

.venue-guide-page .venue-guide-contact__panel .button:hover {
  background: var(--color-linen);
  color: var(--color-eucalyptus-dark);
}

@media (max-width: 1024px) {
  .venue-guide-page .venue-guide-hero__grid {
    gap: var(--space-5);
  }

  .venue-guide-page .venue-guide-hero__panel {
    padding: var(--space-6);
  }

  .venue-guide-page .venue-guide-hero__image {
    min-height: 30rem;
  }

  .venue-guide-page .venue-guide-poker__grid {
    grid-template-columns: minmax(0, 1fr);
    grid-template-areas: "narrative" "schedule" "figure";
    gap: var(--space-6);
  }

  .venue-guide-page .venue-guide-schedule {
    width: min(100%, 52rem);
  }

  .venue-guide-page .venue-guide-dining__panel {
    grid-column: 1 / 7;
    margin-bottom: 0;
  }

  .venue-guide-page .venue-guide-dining__support {
    grid-template-columns: minmax(0, 7fr) minmax(0, 5fr);
    width: 100%;
    margin-top: var(--space-6);
  }

  .venue-guide-page .venue-guide-overview__cards,
  .venue-guide-page .venue-guide-formats__cards {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .venue-guide-page .venue-guide-overview__cards > :nth-child(3),
  .venue-guide-page .venue-guide-formats__cards > :nth-child(3) {
    grid-column: 1 / 2;
  }

  .venue-guide-page .venue-guide-private__grid {
    grid-template-columns: minmax(0, 1fr);
    gap: var(--space-6);
  }

  .venue-guide-page .venue-guide-private__figure,
  .venue-guide-page .venue-guide-private__copy {
    width: min(100%, 52rem);
  }

  .venue-guide-page .venue-guide-private__figure img {
    aspect-ratio: 3 / 2;
  }

  .venue-guide-page .venue-guide-contact__grid {
    grid-template-columns: minmax(0, 1fr);
    gap: var(--space-6);
  }

  .venue-guide-page .venue-guide-contact__content,
  .venue-guide-page .venue-guide-contact__panel {
    width: min(100%, 52rem);
  }
}

@media (max-width: 760px) {
  .venue-guide-page .venue-guide-hero {
    padding-top: var(--space-6);
  }

  .venue-guide-page .venue-guide-hero__grid {
    grid-template-columns: minmax(0, 1fr);
    grid-template-areas: "image" "panel" "badges";
    gap: 0;
  }

  .venue-guide-page .venue-guide-hero__image-wrap {
    border-radius: var(--radius-md);
  }

  .venue-guide-page .venue-guide-hero__image {
    min-height: 0;
    aspect-ratio: 4 / 3;
    object-position: 68% center;
  }

  .venue-guide-page .venue-guide-hero__panel {
    width: calc(100% - 2rem);
    margin: -1rem auto 0;
    padding: var(--space-5);
  }

  .venue-guide-page .venue-guide-hero__panel h1 {
    max-width: none;
    font-size: 2.25rem;
    line-height: 1.03;
  }

  .venue-guide-page .venue-guide-hero__lead {
    font-size: 1.0625rem;
  }

  .venue-guide-page .venue-guide-hero__badges {
    margin-top: var(--space-4);
  }

  .venue-guide-page .venue-guide-overview__intro,
  .venue-guide-page .venue-guide-overview__note,
  .venue-guide-page .venue-guide-poker__intro,
  .venue-guide-page .venue-guide-poker__block,
  .venue-guide-page .venue-guide-poker__figure,
  .venue-guide-page .venue-guide-schedule,
  .venue-guide-page .venue-guide-formats__intro,
  .venue-guide-page .venue-guide-formats__guidance,
  .venue-guide-page .venue-guide-private__figure,
  .venue-guide-page .venue-guide-private__copy,
  .venue-guide-page .venue-guide-contact__content,
  .venue-guide-page .venue-guide-contact__panel {
    width: 100%;
  }

  .venue-guide-page .venue-guide-overview__cards,
  .venue-guide-page .venue-guide-formats__cards,
  .venue-guide-page .venue-guide-dining__support {
    grid-template-columns: minmax(0, 1fr);
  }

  .venue-guide-page .venue-guide-overview__cards > :nth-child(3),
  .venue-guide-page .venue-guide-formats__cards > :nth-child(3) {
    grid-column: auto;
  }

  .venue-guide-page .venue-guide-overview__card,
  .venue-guide-page .venue-guide-format-card {
    padding: var(--space-5);
  }

  .venue-guide-page .venue-guide-dining__composition {
    display: flex;
    min-width: 0;
    flex-direction: column;
    align-items: stretch;
    gap: 0;
  }

  .venue-guide-page .venue-guide-dining__image {
    width: 100%;
    aspect-ratio: 4 / 3;
    object-position: center;
  }

  .venue-guide-page .venue-guide-dining__panel {
    width: 100%;
    margin: 0;
    padding: var(--space-5);
    border-top: 0;
    border-radius: 0 0 var(--radius-md) var(--radius-md);
  }

  .venue-guide-page .venue-guide-dining__support {
    margin-top: var(--space-6);
  }

  .venue-guide-page .venue-guide-dining__service-note {
    padding: var(--space-5);
  }

  .venue-guide-page .venue-guide-private__figure img {
    aspect-ratio: 4 / 3;
    object-position: center;
  }

  .venue-guide-page .venue-guide-first__column {
    width: 100%;
  }

  .venue-guide-page .venue-guide-first__item {
    grid-template-columns: minmax(0, 1fr);
    gap: var(--space-2);
  }

  .venue-guide-page .venue-guide-first__number {
    font-size: 1.75rem;
  }

  .venue-guide-page .venue-guide-contact__card {
    padding: var(--space-5);
  }
}

@media (max-width: 480px) {
  .venue-guide-page .venue-guide-hero__actions,
  .venue-guide-page .venue-guide-contact__actions {
    flex-direction: column;
    align-items: stretch;
  }

  .venue-guide-page .venue-guide-hero__actions > *,
  .venue-guide-page .venue-guide-contact__actions > * {
    width: 100%;
  }

  .venue-guide-page .venue-guide-schedule__row {
    gap: var(--space-2);
  }

  .venue-guide-page .venue-guide-private__action .button,
  .venue-guide-page .venue-guide-contact__panel .button {
    width: 100%;
  }

  .venue-guide-page .venue-guide-contact__card dl {
    grid-template-columns: minmax(0, 1fr);
  }
}


.thank-you {
  display: grid;
  align-items: center;
  min-height: clamp(32rem, 68vh, 44rem);
  background: var(--color-linen);
}

.thank-you__panel {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--space-5);
  max-width: 46rem;
  margin-inline: auto;
  padding: clamp(var(--space-7), 6vw, var(--space-9));
  border: var(--border-strong);
  border-radius: var(--radius-lg);
  background: var(--color-white);
  box-shadow: var(--shadow-card);
  text-align: center;
}

.thank-you__eyebrow {
  margin: 0;
  color: var(--color-eucalyptus);
}

.thank-you__rule {
  width: 3.5rem;
  height: 1px;
  background: var(--color-champagne);
}

.thank-you__panel h1 {
  margin: 0;
}

.thank-you__copy {
  max-width: 40rem;
  margin-inline: auto;
  text-align: center;
}

.thank-you__copy p {
  margin-bottom: var(--space-4);
}

.thank-you__copy p:last-child {
  margin-bottom: 0;
}

.thank-you__lead {
  color: var(--color-charcoal) !important;
  font-size: var(--text-lead);
  font-weight: 700;
  line-height: var(--leading-lead);
}

.thank-you__actions {
  justify-content: center;
}

.thank-you__note {
  max-width: 38rem;
  margin: 0;
  color: var(--color-sage-muted);
  font-size: var(--text-small);
  text-align: center;
}

@media (max-width: 760px) {
  .thank-you {
    min-height: auto;
  }

  .thank-you__panel {
    padding: var(--space-7) var(--space-5);
  }
}

@media (max-width: 480px) {
  .thank-you__actions {
    width: 100%;
  }
}
