

:root {
  --color-chalk: #f4f1ea;
  --color-greige: #d8d0c4;
  --color-stone: #b8aea0;
  --color-ink: #191a1d;
  --color-ultramarine: #2639b8;
  --color-burnt-orange: #c85a32;
  --color-wine: #672d4b;
  --color-line: #a69b8d;
  --color-muted-text: #5d5750;
  --color-focus: #2639b8;

  --surface-page: var(--color-chalk);
  --surface-secondary: var(--color-greige);
  --surface-tertiary: var(--color-stone);
  --surface-dark: var(--color-ink);
  --surface-accent: var(--color-ultramarine);
  --surface-warm: var(--color-burnt-orange);
  --surface-wine: var(--color-wine);

  --text-primary: var(--color-ink);
  --text-secondary: var(--color-muted-text);
  --text-on-dark: var(--color-chalk);
  --text-link: var(--color-ultramarine);
  --border-color: rgb(166 155 141 / 0.68);

  --font-body: Manrope, "Helvetica Neue", Arial, sans-serif;
  --font-heading: "DM Serif Display", Georgia, serif;

  --text-display: clamp(3.25rem, 8vw, 7.5rem);
  --text-h1: clamp(2.75rem, 6vw, 5.5rem);
  --text-h2: clamp(2rem, 4vw, 3.5rem);
  --text-h3: clamp(1.5rem, 2.5vw, 2.25rem);
  --text-lead: clamp(1.125rem, 1.8vw, 1.375rem);
  --text-body: 1rem;
  --text-small: 0.875rem;
  --text-meta: 0.6875rem;

  --leading-display: 0.92;
  --leading-h1: 0.96;
  --leading-h2: 1.02;
  --leading-h3: 1.08;
  --leading-lead: 1.45;
  --leading-body: 1.65;
  --leading-small: 1.45;
  --leading-meta: 1.2;

  --tracking-display: -0.045em;
  --tracking-h1: -0.04em;
  --tracking-h2: -0.03em;
  --tracking-meta: 0.12em;

  --space-1: 0.25rem;
  --space-2: 0.5rem;
  --space-3: 0.75rem;
  --space-4: 1rem;
  --space-6: 1.5rem;
  --space-8: 2rem;
  --space-12: 3rem;
  --space-16: 4rem;
  --space-22: 5.5rem;
  --space-32: 8rem;

  --section-space: var(--space-16);
  --container-max: 77.5rem;
  --gutter: 1.25rem;
  --content-width: min(var(--container-max), calc(100% - (var(--gutter) * 2)));

  --radius-none: 0;
  --radius-sm: 0.125rem;
  --radius-round: 50%;

  --shadow-overlay: 0 12px 36px rgb(25 26 29 / 0.14);
  --focus-ring: 0 0 0 2px var(--color-focus);

  --transition-fast: 180ms ease-out;
  --transition-reveal: 220ms ease-out;
}

@media (min-width: 48rem) {
  :root {
    --gutter: 2rem;
    --section-space: var(--space-22);
  }
}

@media (min-width: 68.75rem) {
  :root {
    --section-space: var(--space-32);
  }
}

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

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

body {
  min-width: 20rem;
  margin: 0;
  overflow-x: hidden;
  background: var(--surface-page);
  color: var(--text-primary);
  font-family: var(--font-body);
  font-size: var(--text-body);
  font-weight: 400;
  line-height: var(--leading-body);
  text-rendering: optimizeLegibility;
}

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

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

img,
video {
  height: auto;
}

img {
  font-style: italic;
}

svg {
  fill: currentColor;
}

button,
input,
textarea,
select {
  max-width: 100%;
  color: inherit;
  font: inherit;
}

button,
select {
  text-transform: none;
}

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

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

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

fieldset {
  min-inline-size: 0;
  margin: 0;
  padding: 0;
  border: 0;
}

legend {
  padding: 0;
}

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

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

a {
  color: var(--text-link);
  text-decoration-color: currentColor;
  text-decoration-thickness: 1px;
  text-underline-offset: 0.18em;
}

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

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

::selection {
  background: var(--color-ultramarine);
  color: var(--color-chalk);
}

h1,
h2,
h3,
h4,
h5,
h6 {
  margin-block: 0 var(--space-6);
  color: inherit;
  font-family: var(--font-heading);
  font-weight: 400;
  text-wrap: balance;
}

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

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

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

h4,
h5,
h6 {
  font-family: var(--font-body);
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.35;
}

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

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

li::marker {
  color: var(--color-ultramarine);
}

blockquote {
  margin: 0 0 var(--space-6);
  padding-inline-start: var(--space-6);
  border-inline-start: 2px solid var(--color-ultramarine);
  font-family: var(--font-heading);
  font-size: var(--text-h3);
  line-height: var(--leading-h3);
}

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

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

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

dt {
  font-weight: 700;
}

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

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

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

pre {
  max-width: 100%;
  margin: 0 0 var(--space-6);
  padding: var(--space-4);
  overflow: auto;
  background: var(--surface-tertiary);
  border: 1px solid var(--border-color);
  border-radius: var(--radius-sm);
}

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

strong,
b {
  font-weight: 700;
}

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

input,
textarea,
select {
  width: 100%;
  min-height: 2.75rem;
  padding: 0.6875rem 0.75rem;
  background: var(--color-chalk);
  border: 1px solid var(--border-color);
  border-radius: var(--radius-sm);
  line-height: 1.35;
  transition: border-color var(--transition-fast), box-shadow var(--transition-fast);
}

textarea {
  min-height: 8rem;
}

input::placeholder,
textarea::placeholder {
  color: var(--text-secondary);
  opacity: 1;
}

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

input:focus,
textarea:focus,
select:focus {
  border-color: var(--color-ultramarine);
}

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

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

button {
  min-height: 2.75rem;
  border: 0;
  border-radius: var(--radius-sm);
}

summary {
  cursor: pointer;
}

.container {
  width: var(--content-width);
  margin-inline: auto;
}

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

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

.section--dark {
  background: var(--surface-dark);
  color: var(--text-on-dark);
}

.section--secondary {
  background: var(--surface-secondary);
}

.section--tertiary {
  background: var(--surface-tertiary);
}

.section--accent {
  background: var(--surface-accent);
  color: var(--text-on-dark);
}

.full-bleed {
  width: 100%;
}

.full-bleed > img,
.full-bleed > picture > img,
.full-bleed > video {
  width: 100%;
}

.display {
  margin-block: 0 var(--space-6);
  font-family: var(--font-heading);
  font-size: var(--text-display);
  font-weight: 400;
  line-height: var(--leading-display);
  letter-spacing: var(--tracking-display);
  text-wrap: balance;
}

.lead {
  margin-block: 0 var(--space-6);
  font-size: var(--text-lead);
  line-height: var(--leading-lead);
}

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

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

.text-accent {
  color: var(--color-ultramarine);
}

.content-list {
  display: grid;
  gap: var(--space-3);
  margin: 0 0 var(--space-6);
  padding-inline-start: 1.25rem;
}

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

.stack--compact {
  gap: var(--space-3);
}

.stack--spacious {
  gap: var(--space-8);
}

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

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

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

.action-group > * {
  min-width: 0;
}

.button,
.button:visited {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 2.75rem;
  min-height: 2.75rem;
  padding: 0.75rem 1rem;
  background: var(--color-ink);
  border: 1px solid var(--color-ink);
  border-radius: var(--radius-sm);
  color: var(--color-chalk);
  font-size: var(--text-small);
  font-weight: 700;
  line-height: 1.2;
  text-align: center;
  text-decoration: none;
  transition: background-color var(--transition-fast), border-color var(--transition-fast), color var(--transition-fast), transform var(--transition-fast);
}

.button:hover {
  background: var(--color-ultramarine);
  border-color: var(--color-ultramarine);
  color: var(--color-chalk);
  transform: translateY(-2px);
}

.button--accent,
.button--accent:visited {
  background: var(--color-ultramarine);
  border-color: var(--color-ultramarine);
  color: var(--color-chalk);
}

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

.button--warm,
.button--warm:visited {
  background: var(--color-burnt-orange);
  border-color: var(--color-burnt-orange);
  color: var(--color-chalk);
}

.button--warm:hover {
  background: var(--color-wine);
  border-color: var(--color-wine);
}

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

.button--secondary:hover {
  background: var(--color-ink);
  border-color: var(--color-ink);
  color: var(--color-chalk);
}

.text-link {
  display: inline;
  color: var(--text-link);
  font-weight: 700;
  text-decoration: none;
  background-image: linear-gradient(currentColor, currentColor);
  background-position: 0 100%;
  background-repeat: no-repeat;
  background-size: 0 1px;
  transition: background-size var(--transition-fast);
}

.text-link:hover {
  background-size: 100% 1px;
}

.surface {
  min-width: 0;
  padding: var(--space-6);
  background: var(--surface-secondary);
  border: 1px solid var(--border-color);
  border-radius: var(--radius-sm);
}

.surface--chalk {
  background: var(--surface-page);
}

.surface--stone {
  background: var(--surface-tertiary);
}

.surface--dark {
  background: var(--surface-dark);
  border-color: transparent;
  color: var(--text-on-dark);
}

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

.surface--accent {
  background: var(--surface-accent);
  border-color: transparent;
  color: var(--text-on-dark);
}

.surface--accent a {
  color: var(--color-chalk);
}

.surface > :last-child,
.stack > :last-child,
.surface > :last-child > :last-child {
  margin-block-end: 0;
}

.media-frame {
  overflow: hidden;
  background: var(--surface-tertiary);
  border-radius: var(--radius-sm);
}

.media-frame > img,
.media-frame > picture > img,
.media-frame > video {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.rule {
  width: 100%;
  height: 1px;
  background: var(--border-color);
}

.rule--accent {
  height: 2px;
  background: var(--color-ultramarine);
}

.marker {
  display: inline-block;
  width: 0.5rem;
  aspect-ratio: 1;
  background: var(--color-burnt-orange);
}

.marker--round {
  border-radius: var(--radius-round);
}

.skip-link {
  position: fixed;
  z-index: 1000;
  top: var(--space-3);
  left: var(--space-3);
  padding: var(--space-3) var(--space-4);
  background: var(--color-ink);
  color: var(--color-chalk);
  transform: translateY(-200%);
  transition: transform var(--transition-fast);
}

.skip-link:focus {
  transform: translateY(0);
}

@media (min-width: 48rem) {
  .section--compact {
    padding-block: var(--space-16);
  }

  .surface {
    padding: var(--space-8);
  }
}

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

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

  .button:hover {
    transform: none;
  }
}


.site-header {
  position: relative;
  z-index: 800;
  width: 100%;
  background: var(--color-chalk);
  border-bottom: 1px solid var(--border-color);
}

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

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

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

.site-header__brand-name {
  min-width: 0;
  overflow: hidden;
  font-size: 0.9375rem;
  font-weight: 700;
  line-height: 1.15;
  text-overflow: ellipsis;
  white-space: nowrap;
}

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

.site-header__toggle-lines,
.site-header__toggle-lines::before,
.site-header__toggle-lines::after {
  display: block;
  width: 1.25rem;
  height: 1px;
  background: currentColor;
  content: '';
  transition: transform var(--transition-fast), opacity var(--transition-fast);
}

.site-header__toggle-lines {
  position: relative;
}

.site-header__toggle-lines::before,
.site-header__toggle-lines::after {
  position: absolute;
  left: 0;
}

.site-header__toggle-lines::before {
  top: -0.375rem;
}

.site-header__toggle-lines::after {
  top: 0.375rem;
}

.site-header__toggle[aria-expanded='true'] .site-header__toggle-lines {
  background: transparent;
}

.site-header__toggle[aria-expanded='true'] .site-header__toggle-lines::before {
  top: 0;
  transform: rotate(45deg);
}

.site-header__toggle[aria-expanded='true'] .site-header__toggle-lines::after {
  top: 0;
  transform: rotate(-45deg);
}

.site-header__navigation {
  position: absolute;
  z-index: 1;
  top: 100%;
  right: 0;
  left: 0;
  display: none;
  max-height: calc(100vh - 4.75rem);
  overflow-y: auto;
  background: var(--color-ink);
  box-shadow: var(--shadow-overlay);
}

.site-header__navigation--open {
  display: block;
}

.site-header__navigation-inner {
  display: grid;
  gap: var(--space-8);
  width: var(--content-width);
  margin-inline: auto;
  padding-block: var(--space-8);
}

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

.site-header__list li,
.site-header__list li + li {
  margin: 0;
  padding: 0;
}

.site-header__list a {
  display: block;
  padding-block: var(--space-2);
  color: var(--color-chalk);
  font-family: var(--font-heading);
  font-size: clamp(1.75rem, 7vw, 2.5rem);
  line-height: 1.05;
  text-decoration: none;
}

.site-header__list a:hover,
.site-header__list a[aria-current='page'] {
  color: var(--color-greige);
}

.site-header__action {
  width: 100%;
}

html.site-menu-open,
html.site-menu-open body {
  overflow: hidden;
}

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

  .site-header__brand {
    flex: 0 1 auto;
  }

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

  .site-header__brand-name {
    overflow: visible;
    font-size: 1.125rem;
    text-overflow: clip;
  }

  .site-header__toggle {
    display: none;
  }

  .site-header__navigation {
    position: static;
    display: block;
    flex: 1 1 auto;
    max-height: none;
    overflow: visible;
    background: transparent;
    box-shadow: none;
  }

  .site-header__navigation-inner {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    width: auto;
    margin: 0;
    padding: 0;
    gap: var(--space-4);
  }

  .site-header__list {
    display: flex;
    align-items: center;
    gap: clamp(0.75rem, 1.35vw, 1.5rem);
  }

  .site-header__list a {
    display: inline-flex;
    align-items: center;
    min-height: 2.75rem;
    padding: 0;
    color: var(--color-ink);
    font-family: var(--font-body);
    font-size: 0.8125rem;
    font-weight: 700;
    line-height: 1.2;
    white-space: nowrap;
  }

  .site-header__list a:hover,
  .site-header__list a[aria-current='page'] {
    color: var(--color-ultramarine);
  }

  .site-header__action {
    flex: 0 0 auto;
    width: auto;
    white-space: nowrap;
  }
}

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


.site-footer {
  background: var(--color-ink);
  color: var(--color-chalk);
}

.site-footer a {
  color: var(--color-chalk);
}

.site-footer__inner {
  width: var(--content-width);
  margin-inline: auto;
  padding-block: var(--space-16) var(--space-8);
}

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

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

.site-footer__brand-row {
  display: flex;
  align-items: center;
  gap: var(--space-3);
}

.site-footer__logo {
  width: 3.5rem;
  height: 3.5rem;
  object-fit: contain;
}

.site-footer__name {
  font-size: 1.125rem;
  font-weight: 700;
  line-height: 1.2;
}

.site-footer__brand p,
.site-footer__nav-title,
.site-footer__nav-list,
.site-footer__legal-list,
.site-footer__bottom p {
  margin: 0;
}

.site-footer__brand p {
  color: var(--color-greige);
}

.site-footer__nav {
  display: grid;
  gap: var(--space-4);
}

.site-footer__nav-title {
  color: var(--color-stone);
  font-size: var(--text-meta);
  font-weight: 700;
  letter-spacing: var(--tracking-meta);
  line-height: var(--leading-meta);
  text-transform: uppercase;
}

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

.site-footer__nav-list li,
.site-footer__legal-list li,
.site-footer__nav-list li + li,
.site-footer__legal-list li + li {
  margin: 0;
}

.site-footer__nav-list a,
.site-footer__legal-list a {
  display: inline-block;
  text-decoration: none;
}

.site-footer__nav-list a:hover,
.site-footer__legal-list a:hover {
  color: var(--color-greige);
}

.site-footer__bottom {
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
  margin-top: var(--space-12);
  padding-top: var(--space-4);
  border-top: 1px solid rgb(244 241 234 / 0.3);
  color: var(--color-greige);
  font-size: var(--text-small);
}

[data-consent-banner] {
  position: fixed;
  z-index: 900;
  right: var(--space-4);
  bottom: var(--space-4);
  left: var(--space-4);
  display: grid;
  gap: var(--space-4);
  max-width: 34rem;
  padding: var(--space-6);
  background: var(--color-chalk);
  border: 1px solid var(--border-color);
  border-radius: var(--radius-sm);
  box-shadow: var(--shadow-overlay);
  color: var(--color-ink);
}

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

.site-consent__content {
  display: grid;
  gap: var(--space-2);
}

.site-consent__content h2,
.site-consent__content p {
  margin: 0;
}

.site-consent__content h2 {
  font-family: var(--font-body);
  font-size: 1rem;
  font-weight: 700;
  letter-spacing: 0;
  line-height: 1.35;
}

.site-consent__content p {
  color: var(--text-secondary);
  font-size: var(--text-small);
}

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

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

[data-age-modal] {
  position: fixed;
  z-index: 1100;
  inset: 0;
  display: grid;
  place-items: center;
  padding: var(--space-4);
  overflow-y: auto;
  background: rgb(25 26 29 / 0.82);
}

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

.site-age-modal__dialog {
  width: min(100%, 31rem);
  padding: var(--space-8);
  background: var(--color-chalk);
  border: 1px solid var(--border-color);
  border-radius: var(--radius-sm);
  box-shadow: var(--shadow-overlay);
  color: var(--color-ink);
}

.site-age-modal__dialog > * {
  margin: 0;
}

.site-age-modal__dialog > * + * {
  margin-top: var(--space-4);
}

.site-age-modal__dialog h2 {
  font-size: clamp(2rem, 8vw, 3rem);
  line-height: 1;
}

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

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

@media (min-width: 48rem) {
  .site-footer__inner {
    padding-block: var(--space-22) var(--space-8);
  }

  .site-footer__grid {
    grid-template-columns: minmax(0, 1.35fr) repeat(2, minmax(0, 1fr));
    gap: var(--space-8);
  }

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

  [data-consent-banner] {
    right: var(--space-8);
    bottom: var(--space-8);
    left: auto;
  }

  .site-age-modal__actions {
    grid-template-columns: 1fr 1fr;
  }
}


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

.cookie-policy-container {
  width: var(--content-width);
  margin-inline: auto;
}

.cookie-policy-hero {
  display: grid;
  align-items: center;
  min-height: 58vh;
  padding-block: var(--space-16);
  background: var(--surface-dark);
  color: var(--text-on-dark);
}

.cookie-policy-hero__grid,
.cookie-policy-map__grid,
.cookie-policy-categories__grid,
.cookie-policy-controls__grid,
.cookie-policy-retention__grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
}

.cookie-policy-hero__grid {
  gap: var(--space-6);
}

.cookie-policy-hero__meta,
.cookie-policy-hero__content,
.cookie-policy-hero__graphic,
.cookie-policy-map__intro,
.cookie-policy-map__rail,
.cookie-policy-categories__rail,
.cookie-policy-categories__content,
.cookie-policy-context-note,
.cookie-policy-controls__guidance,
.cookie-policy-browser-note,
.cookie-policy-retention__content,
.cookie-policy-contact-note,
.cookie-policy-scope__content {
  min-width: 0;
  width: 100%;
}

.cookie-policy-hero__meta .meta {
  color: var(--color-greige);
}

.cookie-policy-hero__short-rule {
  display: block;
  width: 3rem;
  height: 2px;
  background: var(--color-ultramarine);
}

.cookie-policy-hero__content h1 {
  max-width: 17ch;
  margin-block-end: var(--space-6);
}

.cookie-policy-hero__content .lead {
  max-width: 58ch;
  margin-block-end: var(--space-8);
  color: var(--color-chalk);
}

.cookie-policy-choice-note {
  display: grid;
  grid-template-columns: 0.5rem minmax(0, 1fr);
  align-items: start;
  min-width: 0;
  gap: var(--space-3);
  max-width: 58ch;
  padding-top: var(--space-4);
  border-top: 2px solid var(--color-ultramarine);
}

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

.cookie-policy-choice-note p {
  margin: 0;
  font-size: var(--text-small);
  line-height: var(--leading-small);
}

.cookie-policy-choice-note .marker {
  margin-top: 0.3rem;
}

.cookie-policy-hero__graphic {
  display: none;
}

.cookie-policy-map__grid {
  gap: var(--space-8);
}

.cookie-policy-map__intro p {
  max-width: 62ch;
}

.cookie-policy-map__rail ol {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 0;
  margin: 0;
  padding: 0;
  list-style: none;
  border-top: 1px solid var(--border-color);
}

.cookie-policy-map__rail li {
  min-width: 0;
  border-bottom: 1px solid var(--border-color);
}

.cookie-policy-map__rail a {
  display: grid;
  grid-template-columns: 2rem minmax(0, 1fr);
  align-items: center;
  min-height: 2.75rem;
  gap: var(--space-3);
  padding-block: var(--space-3);
  color: var(--text-link);
  font-weight: 700;
  text-decoration: none;
  background-image: linear-gradient(currentColor, currentColor);
  background-position: 2.75rem calc(100% - 0.35rem);
  background-repeat: no-repeat;
  background-size: 0 1px;
  transition: background-size var(--transition-fast);
}

.cookie-policy-map__rail a:hover {
  background-size: calc(100% - 2.75rem) 1px;
}

.cookie-policy-map__rail a span:first-child {
  color: var(--text-secondary);
  font-size: var(--text-meta);
  font-weight: 700;
  letter-spacing: var(--tracking-meta);
}

.cookie-policy-map__caption {
  margin-block: var(--space-4) 0;
  color: var(--text-secondary);
  font-size: var(--text-small);
  line-height: var(--leading-small);
}

.cookie-policy-categories__grid {
  gap: var(--space-8);
}

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

.cookie-policy-ring {
  position: relative;
  width: 7rem;
  height: 7rem;
}

.cookie-policy-ring span {
  position: absolute;
  inset: 0;
  border: 1px solid var(--color-ultramarine);
  border-radius: 50%;
}

.cookie-policy-ring span:nth-child(2) {
  inset: 1rem;
  border-color: var(--color-wine);
}

.cookie-policy-ring span:nth-child(3) {
  inset: 2rem;
  border-color: var(--color-burnt-orange);
}

.cookie-policy-categories__content > p {
  max-width: 68ch;
}

.cookie-policy-disclosure {
  min-width: 0;
  padding-block: var(--space-6);
  border-top: 1px solid var(--border-color);
}

.cookie-policy-disclosure:last-child {
  border-bottom: 1px solid var(--border-color);
}

.cookie-policy-disclosure .meta {
  color: var(--text-secondary);
}

.cookie-policy-disclosure h3 {
  max-width: 30ch;
}

.cookie-policy-disclosure p,
.cookie-policy-disclosure ul {
  max-width: 68ch;
}

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

.cookie-policy-context-note {
  align-self: end;
  padding-inline-start: var(--space-4);
  border-inline-start: 2px solid var(--color-wine);
}

.cookie-policy-context-note p {
  max-width: 32ch;
  margin: 0;
  font-size: var(--text-small);
  line-height: var(--leading-small);
}

.cookie-policy-controls__grid {
  gap: var(--space-8);
}

.cookie-policy-controls__guidance > p {
  max-width: 64ch;
}

.cookie-policy-controls__guidance .lead {
  max-width: 64ch;
}

.cookie-policy-settings-reference {
  color: var(--color-ultramarine);
  font-weight: 700;
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 0.18em;
}

.cookie-policy-privacy-reference {
  max-width: 64ch;
  padding-top: var(--space-4);
  border-top: 2px solid var(--color-ultramarine);
}

.cookie-policy-privacy-reference p {
  margin: 0;
}

.cookie-policy-browser-note {
  padding: var(--space-6);
  background: var(--surface-tertiary);
  border: 1px solid var(--border-color);
  border-radius: var(--radius-sm);
}

.cookie-policy-browser-note h3 {
  max-width: 18ch;
}

.cookie-policy-browser-note p,
.cookie-policy-browser-note ol {
  max-width: 36ch;
}

.cookie-policy-browser-note ol {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: var(--space-3);
  margin-block-end: 0;
}

.cookie-policy-retention__grid {
  gap: var(--space-8);
}

.cookie-policy-retention__content > p,
.cookie-policy-updates {
  max-width: 60ch;
}

.cookie-policy-updates {
  padding-top: var(--space-6);
  border-top: 1px solid rgb(244 241 234 / 0.45);
}

.cookie-policy-updates .meta {
  color: var(--color-greige);
}

.cookie-policy-contact-note {
  align-self: start;
  padding: var(--space-6);
  background: var(--surface-secondary);
  color: var(--text-primary);
  border: 1px solid transparent;
  border-radius: var(--radius-sm);
}

.cookie-policy-contact-note p:not(.meta) {
  max-width: 34ch;
}

.cookie-policy-contact-note .text-link {
  display: inline-flex;
  align-items: center;
  min-height: 2.75rem;
}

.cookie-policy-scope {
  padding-block: var(--space-16);
}

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

.cookie-policy-scope__rule {
  display: block;
  width: 3rem;
  height: 2px;
  background: var(--color-ultramarine);
}

.cookie-policy-scope__content h2,
.cookie-policy-scope__content p {
  max-width: 58ch;
}

@media (min-width: 48rem) {
  .cookie-policy-hero {
    min-height: 62vh;
    padding-block: var(--space-22);
  }

  .cookie-policy-hero__grid {
    gap: var(--space-8);
  }

  .cookie-policy-hero__meta {
    display: flex;
    align-items: center;
    gap: var(--space-4);
  }

  .cookie-policy-hero__meta .meta {
    margin: 0;
  }

  .cookie-policy-map__grid,
  .cookie-policy-categories__grid,
  .cookie-policy-controls__grid,
  .cookie-policy-retention__grid {
    grid-template-columns: repeat(6, minmax(0, 1fr));
    column-gap: 1rem;
    row-gap: var(--space-8);
  }

  .cookie-policy-map__intro,
  .cookie-policy-map__rail,
  .cookie-policy-categories__rail,
  .cookie-policy-categories__content,
  .cookie-policy-context-note,
  .cookie-policy-controls__guidance,
  .cookie-policy-browser-note,
  .cookie-policy-retention__content,
  .cookie-policy-contact-note {
    grid-column: 1 / -1;
  }

  .cookie-policy-map__intro {
    grid-row: 1;
  }

  .cookie-policy-map__rail {
    grid-row: 2;
  }

  .cookie-policy-categories__rail {
    grid-row: 1;
  }

  .cookie-policy-categories__content {
    grid-row: 2;
  }

  .cookie-policy-context-note {
    grid-row: 3;
  }

  .cookie-policy-controls__guidance {
    grid-row: 1;
  }

  .cookie-policy-browser-note {
    grid-row: 2;
  }

  .cookie-policy-retention__content {
    grid-row: 1;
  }

  .cookie-policy-contact-note {
    grid-row: 2;
  }

  .cookie-policy-scope {
    padding-block: var(--space-22);
  }

  .cookie-policy-scope__content {
    width: min(100%, 58ch);
    margin-inline: auto;
  }
}

@media (min-width: 68.75rem) {
  .cookie-policy-hero {
    min-height: 72vh;
    max-height: 82vh;
    padding-block: var(--space-32);
  }

  .cookie-policy-hero__grid,
  .cookie-policy-map__grid,
  .cookie-policy-categories__grid,
  .cookie-policy-controls__grid,
  .cookie-policy-retention__grid {
    grid-template-columns: repeat(12, minmax(0, 1fr));
    column-gap: 1.25rem;
  }

  .cookie-policy-hero__grid {
    align-items: center;
  }

  .cookie-policy-hero__meta {
    grid-column: 1 / span 2;
    grid-row: 1;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: var(--space-4);
  }

  .cookie-policy-hero__content {
    grid-column: 4 / span 7;
    grid-row: 1;
  }

  .cookie-policy-hero__graphic {
    position: relative;
    display: block;
    grid-column: 11 / span 2;
    grid-row: 1;
    align-self: stretch;
    min-height: 18rem;
  }

  .cookie-policy-hero__graphic::before,
  .cookie-policy-hero__graphic::after,
  .cookie-policy-hero__graphic span {
    position: absolute;
    content: "";
    border-color: var(--color-ultramarine);
  }

  .cookie-policy-hero__graphic::before {
    top: 14%;
    right: 0;
    width: 72%;
    height: 68%;
    border-top: 1px solid var(--color-ultramarine);
    border-right: 1px solid var(--color-ultramarine);
  }

  .cookie-policy-hero__graphic::after {
    right: 16%;
    bottom: 16%;
    width: 64%;
    height: 32%;
    border-top: 1px solid var(--color-burnt-orange);
    border-radius: 50% 50% 0 0;
  }

  .cookie-policy-hero__graphic span {
    top: 8%;
    left: 8%;
    width: 0.5rem;
    height: 0.5rem;
    background: var(--color-burnt-orange);
  }

  .cookie-policy-map__intro {
    grid-column: 5 / span 5;
    grid-row: 1;
  }

  .cookie-policy-map__rail {
    grid-column: 1 / span 3;
    grid-row: 1;
    align-self: start;
  }

  .cookie-policy-map__caption {
    padding-top: var(--space-2);
  }

  .cookie-policy-categories__rail {
    grid-column: 1 / span 3;
    grid-row: 1;
  }

  .cookie-policy-categories__content {
    grid-column: 5 / span 6;
    grid-row: 1;
  }

  .cookie-policy-context-note {
    grid-column: 10 / span 3;
    grid-row: 1;
    align-self: end;
  }

  .cookie-policy-controls__guidance {
    grid-column: 2 / span 6;
    grid-row: 1;
  }

  .cookie-policy-browser-note {
    grid-column: 9 / span 4;
    grid-row: 1;
    margin-top: 4.5rem;
  }

  .cookie-policy-retention__content {
    grid-column: 2 / span 5;
    grid-row: 1;
  }

  .cookie-policy-contact-note {
    grid-column: 9 / span 3;
    grid-row: 1;
    margin-top: 4.5rem;
  }

  .cookie-policy-scope {
    padding-block: var(--space-22);
  }

  .cookie-policy-scope__content {
    grid-column: 3 / span 7;
    width: 100%;
    margin-inline: 0;
  }

  .cookie-policy-scope > .cookie-policy-container {
    display: grid;
    grid-template-columns: repeat(12, minmax(0, 1fr));
    column-gap: 1.25rem;
  }
}

@media (prefers-reduced-motion: reduce) {
  .cookie-policy-map__rail a {
    transition: none;
  }
}


.privacy-page {
  background: var(--surface-page);
}

.privacy-page .section {
  scroll-margin-top: var(--space-16);
}

.privacy-completion {
  display: inline;
  color: var(--color-burnt-orange);
  font-weight: 700;
}

.privacy-opening__grid,
.privacy-scope__grid,
.privacy-data__grid,
.privacy-purpose__grid,
.privacy-access__grid,
.privacy-retention__grid,
.privacy-rights__grid,
.privacy-closing__grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  min-width: 0;
}

.privacy-opening__grid { gap: var(--space-8); }
.privacy-opening__title-field,
.privacy-opening__metadata,
.privacy-scope__reading,
.privacy-data__intro,
.privacy-data__blocks,
.privacy-purpose__intro,
.privacy-purpose__rows,
.privacy-access__document,
.privacy-retention__intro,
.privacy-retention__matrix,
.privacy-rights__intro,
.privacy-rights__content,
.privacy-closing__document,
.privacy-closing__update { min-width: 0; width: 100%; }

.privacy-opening__title-field { position: relative; }
.privacy-opening__eyebrow { margin-bottom: var(--space-4); }
.privacy-opening h1 { max-width: 13ch; }
.privacy-opening__lead { max-width: 34ch; margin-bottom: 0; }
.privacy-opening__graphic { width: 3.5rem; height: 3.5rem; margin-bottom: var(--space-6); border-top: 2px solid var(--color-ultramarine); border-left: 2px solid var(--color-ultramarine); }

.privacy-opening__metadata { padding: var(--space-6); background: var(--surface-tertiary); border: 1px solid var(--border-color); border-radius: var(--radius-sm); }
.privacy-opening__metadata-title { margin-bottom: var(--space-6); font-size: 1.5rem; }
.privacy-document-data { display: flex; flex-direction: column; gap: var(--space-4); margin: 0; }
.privacy-document-data__row { display: flex; flex-direction: column; gap: var(--space-1); min-width: 0; padding-bottom: var(--space-3); border-bottom: 1px solid var(--border-color); }
.privacy-document-data__row:last-child { padding-bottom: 0; border-bottom: 0; }
.privacy-document-data dt { font-size: var(--text-meta); letter-spacing: var(--tracking-meta); line-height: var(--leading-meta); text-transform: uppercase; }
.privacy-document-data dd { margin: 0; font-size: var(--text-small); line-height: var(--leading-small); }

.privacy-scope__grid { gap: var(--space-4); }
.privacy-scope__marker { display: none; }
.privacy-scope__reading { max-width: 38ch; }
.privacy-scope__reading hr { margin-block: var(--space-8); }
.privacy-scope__note { display: flex; flex-direction: column; gap: var(--space-4); margin-top: var(--space-8); margin-left: var(--space-4); padding: var(--space-6); border: 1px solid var(--color-ultramarine); border-radius: var(--radius-sm); }
.privacy-scope__note p { margin: 0; }

.privacy-data__grid { gap: var(--space-12); }
.privacy-data__intro { max-width: 38ch; }
.privacy-data__blocks { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--space-6); }
.privacy-data-card,
.privacy-third-party { display: flex; flex-direction: column; min-width: 0; gap: var(--space-4); padding: var(--space-6); border-radius: var(--radius-sm); }
.privacy-data-card h3,
.privacy-third-party h3 { margin: 0; }
.privacy-data-card p,
.privacy-third-party p { margin: 0; }
.privacy-data-card--stone { background: var(--surface-tertiary); border: 1px solid var(--border-color); }
.privacy-data-card--chalk { background: var(--surface-page); border: 1px solid var(--border-color); }
.privacy-data-card__index { color: var(--color-burnt-orange); font-size: var(--text-meta); font-weight: 700; letter-spacing: var(--tracking-meta); }
.privacy-third-party { background: var(--surface-dark); color: var(--text-on-dark); }
.privacy-third-party .meta { color: var(--color-chalk); }

.privacy-purpose__grid { gap: var(--space-12); }
.privacy-purpose__intro { max-width: 38ch; }
.privacy-purpose__rows { display: flex; flex-direction: column; gap: 0; }
.privacy-purpose-row { display: grid; grid-template-columns: minmax(2.25rem, auto) minmax(0, 1fr); gap: var(--space-4); min-width: 0; padding-block: var(--space-6); border-top: 1px solid var(--border-color); }
.privacy-purpose-row:last-child { border-bottom: 1px solid var(--border-color); }
.privacy-purpose-row__number { color: var(--color-muted-text); font-size: var(--text-meta); font-weight: 700; letter-spacing: var(--tracking-meta); }
.privacy-purpose-row__number--technical { color: var(--color-ultramarine); }
.privacy-purpose-row__content { min-width: 0; }
.privacy-purpose-row__content h3,
.privacy-purpose-row__content p,
.privacy-purpose-row__basis { margin: 0; }
.privacy-purpose-row__content { display: flex; flex-direction: column; gap: var(--space-3); }
.privacy-purpose-row__basis { grid-column: 2; display: flex; flex-direction: column; gap: var(--space-2); font-size: var(--text-small); line-height: var(--leading-small); }
.privacy-purpose-row__basis span { color: var(--text-secondary); font-size: var(--text-meta); font-weight: 700; letter-spacing: var(--tracking-meta); text-transform: uppercase; }

.privacy-access__grid { gap: var(--space-4); }
.privacy-access__eyebrow { margin: 0; }
.privacy-access__document { max-width: 40rem; }
.privacy-access__document > p { max-width: 64ch; }
.privacy-access__subheading { margin-top: var(--space-8); }
.privacy-recipient-rows { display: flex; flex-direction: column; gap: var(--space-3); }
.privacy-recipient-row { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--space-3); min-width: 0; padding: var(--space-6); background: var(--surface-secondary); border: 1px solid var(--border-color); border-radius: var(--radius-sm); }
.privacy-recipient-row h4,
.privacy-recipient-row p { margin: 0; }
.privacy-access__note { display: flex; flex-direction: column; gap: var(--space-3); margin-top: var(--space-8); padding: var(--space-6); background: var(--surface-tertiary); border-left: 2px solid var(--color-ultramarine); }
.privacy-access__note p { margin: 0; }

.privacy-retention__grid { gap: var(--space-12); }
.privacy-retention__intro { max-width: 34ch; }
.privacy-retention__wine-rule { width: 3.5rem; height: 2px; margin-bottom: var(--space-6); background: var(--color-wine); }
.privacy-retention__matrix { display: flex; flex-direction: column; gap: var(--space-3); }
.privacy-retention__header { display: none; }
.privacy-retention__row { display: flex; flex-direction: column; gap: var(--space-3); min-width: 0; padding: var(--space-6); background: var(--surface-tertiary); border: 1px solid var(--border-color); border-radius: var(--radius-sm); }
.privacy-retention__row h3,
.privacy-retention__row p { margin: 0; }
.privacy-retention__row h3 { font-family: var(--font-body); font-size: 1rem; font-weight: 700; line-height: 1.35; }

.privacy-rights__grid { gap: var(--space-12); }
.privacy-rights__intro { position: relative; max-width: 38ch; }
.privacy-rights__rings { display: none; }
.privacy-rights__content { display: flex; flex-direction: column; gap: var(--space-8); }
.privacy-rights__list { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--space-6); }
.privacy-right { display: grid; grid-template-columns: minmax(2rem, auto) minmax(0, 1fr); gap: var(--space-3); min-width: 0; padding-top: var(--space-4); border-top: 1px solid var(--border-color); }
.privacy-right > span { color: var(--color-ultramarine); font-size: var(--text-meta); font-weight: 700; letter-spacing: var(--tracking-meta); }
.privacy-right > div { display: flex; flex-direction: column; min-width: 0; gap: var(--space-3); }
.privacy-right h3,
.privacy-right p { margin: 0; }
.privacy-request { display: flex; flex-direction: column; gap: var(--space-4); padding: var(--space-6); background: var(--surface-page); border: 1px solid var(--color-burnt-orange); border-left-width: 2px; border-radius: var(--radius-sm); }
.privacy-request p,
.privacy-request h3 { margin: 0; }

.privacy-closing__grid { gap: var(--space-8); }
.privacy-closing__document { max-width: 38ch; }
.privacy-closing__update { display: flex; flex-direction: column; gap: var(--space-3); padding: var(--space-6); background: var(--surface-tertiary); border: 1px solid var(--border-color); border-radius: var(--radius-sm); }
.privacy-closing__update p,
.privacy-closing__update h3 { margin: 0; }
.privacy-closing__update h3 { font-size: 1.5rem; }

@media (min-width: 48rem) {
  .privacy-opening__lead { max-width: 58ch; }
  .privacy-scope__reading { max-width: 68ch; }
  .privacy-data__blocks { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .privacy-third-party { grid-column: 1 / -1; }
  .privacy-recipient-row { grid-template-columns: minmax(10rem, 0.8fr) minmax(0, 1.7fr); }
  .privacy-retention__header { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-4); padding-inline: var(--space-6); color: var(--text-secondary); font-size: var(--text-meta); font-weight: 700; letter-spacing: var(--tracking-meta); line-height: var(--leading-meta); text-transform: uppercase; }
  .privacy-retention__header > *,
  .privacy-retention__row > * { min-width: 0; }
  .privacy-retention__row { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-4); }
  .privacy-rights__list { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-6); }
  .privacy-closing__document { max-width: 60ch; }
}

@media (min-width: 60rem) {
  .privacy-data__grid { grid-template-columns: minmax(0, 1fr); }
  .privacy-data__intro { max-width: 60ch; }
  .privacy-purpose__grid,
  .privacy-retention__grid,
  .privacy-rights__grid { grid-template-columns: minmax(0, 1fr); }
}

@media (min-width: 68.75rem) {
  .privacy-opening__grid,
  .privacy-scope__grid,
  .privacy-data__grid,
  .privacy-purpose__grid,
  .privacy-access__grid,
  .privacy-retention__grid,
  .privacy-rights__grid,
  .privacy-closing__grid { grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: var(--space-4); }

  .privacy-opening__grid { row-gap: 0; }
  .privacy-opening__title-field { grid-column: 1 / span 8; }
  .privacy-opening__metadata { grid-column: 10 / span 3; align-self: start; margin-top: var(--space-12); }
  .privacy-opening__graphic { position: absolute; top: -0.5rem; right: 2rem; width: 5.25rem; height: 5.25rem; margin: 0; }

  .privacy-scope__marker { display: block; grid-column: 1; align-self: start; margin: 0; color: var(--text-secondary); font-size: var(--text-meta); font-weight: 700; letter-spacing: var(--tracking-meta); line-height: 1.2; text-transform: uppercase; writing-mode: vertical-rl; transform: rotate(180deg); }
  .privacy-scope__reading { grid-column: 3 / span 7; max-width: 68ch; }

  .privacy-data__intro { grid-column: 1 / span 5; align-self: start; max-width: 36ch; }
  .privacy-data__blocks { grid-column: 7 / span 6; grid-template-columns: minmax(0, 1fr); align-self: start; margin-top: var(--space-12); }
  .privacy-third-party { grid-column: auto; }

  .privacy-purpose__intro { grid-column: 1 / span 5; max-width: 34ch; }
  .privacy-purpose__rows { grid-column: 4 / span 9; }
  .privacy-purpose-row { grid-template-columns: minmax(2.5rem, auto) minmax(0, 1fr) minmax(11rem, 0.34fr); gap: var(--space-6); }
  .privacy-purpose-row__basis { grid-column: 3; align-self: start; }

  .privacy-access__eyebrow { grid-column: 1 / span 2; align-self: start; margin-top: var(--space-3); }
  .privacy-access__document { grid-column: 3 / span 8; max-width: none; }

  .privacy-retention__intro { grid-column: 1 / span 4; max-width: 34ch; }
  .privacy-retention__matrix { grid-column: 6 / span 7; align-self: start; margin-top: 2.5rem; }

  .privacy-rights__intro { grid-column: 1 / span 5; max-width: 35ch; }
  .privacy-rights__content { grid-column: 6 / span 7; }
  .privacy-rights__list { grid-template-columns: minmax(0, 1fr); }
  .privacy-rights__rings { display: block; position: absolute; top: -1rem; right: -4rem; width: 7.5rem; aspect-ratio: 1; border: 1px solid var(--color-ultramarine); border-radius: 50%; opacity: 0.8; }
  .privacy-rights__rings::before,
  .privacy-rights__rings::after { position: absolute; inset: 17%; border: 1px solid var(--color-ultramarine); border-radius: 50%; content: ""; }
  .privacy-rights__rings::after { inset: 34%; }

  .privacy-closing__document { grid-column: 4 / span 6; max-width: 60ch; }
  .privacy-closing__update { grid-column: 7 / span 4; }
}

@media (min-width: 77.5rem) {
  .privacy-rights__list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 64.9375rem) {
  .privacy-opening__metadata { max-width: 44rem; }
}

@media (max-width: 47.9375rem) {
  .privacy-opening__graphic { width: 3.5rem; height: 2px; margin-bottom: var(--space-4); border: 0; background: var(--color-ultramarine); }
  .privacy-opening h1 { max-width: 10ch; }
  .privacy-opening__metadata { padding: var(--space-5, 1.5rem); }
  .privacy-data__blocks { grid-template-columns: minmax(0, 1fr); }
  .privacy-data-card,
  .privacy-third-party,
  .privacy-recipient-row,
  .privacy-retention__row,
  .privacy-request,
  .privacy-closing__update { padding: var(--space-5, 1.5rem); }
  .privacy-retention__header { display: none; }
}

@media (prefers-reduced-motion: reduce) {
  .privacy-page * { scroll-behavior: auto; }
}


#home-page {
  overflow: hidden;
}

#home-page .home-hero {
  background: var(--color-ink);
  color: var(--color-chalk);
}

#home-page .home-hero__grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
}

#home-page .home-hero__media {
  grid-column: 1;
  grid-row: 1;
  width: 100%;
  min-width: 0;
  height: 64vh;
  min-height: 31rem;
  margin: 0;
  border-radius: 0;
}

#home-page .home-hero__media::after,
#home-page .home-concepts__image::after,
#home-page .home-corporate__media::after {
  content: "";
  position: absolute;
  inset: 0;
  background: rgb(200 90 50 / 0);
  pointer-events: none;
  transition: background-color var(--transition-fast);
}

#home-page .home-hero__media,
#home-page .home-concepts__image,
#home-page .home-corporate__media {
  position: relative;
}

#home-page .home-hero__media img {
  object-position: 57% 58%;
  transition: transform var(--transition-fast);
}

#home-page .home-hero__copy {
  display: flex;
  grid-column: 1;
  flex-direction: column;
  min-width: 0;
  gap: var(--space-6);
  width: 100%;
  padding: var(--space-8) var(--gutter) var(--space-12);
  background: var(--color-ink);
}

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

#home-page .home-hero__meta {
  color: var(--color-greige);
}

#home-page .home-hero__offset-rule {
  display: block;
  width: 3rem;
  height: 2px;
  margin-left: 1rem;
  background: var(--color-ultramarine);
}

#home-page .home-hero h1 {
  max-width: 13ch;
}

#home-page .home-hero .lead {
  max-width: 48ch;
  color: var(--color-chalk);
}

#home-page .home-hero__support {
  max-width: 54ch;
  color: var(--color-greige);
}

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

#home-page .home-hero__actions > * {
  width: 100%;
  min-width: 0;
}

#home-page .home-atelier__grid,
#home-page .home-concepts__grid,
#home-page .home-process__grid,
#home-page .home-enquiry__grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  min-width: 0;
}

#home-page .home-atelier__grid {
  gap: var(--space-12);
}

#home-page .home-atelier__copy {
  display: flex;
  flex-direction: column;
  min-width: 0;
  gap: var(--space-6);
}

#home-page .home-atelier__copy > * {
  margin: 0;
}

#home-page .home-atelier__copy .marker {
  margin-bottom: calc(var(--space-6) * -1);
}

#home-page .home-atelier__copy h2 {
  max-width: 18ch;
}

#home-page .home-atelier__copy .lead,
#home-page .home-atelier__copy > p:not(.meta) {
  max-width: 62ch;
}

#home-page .home-atelier__origins {
  display: flex;
  flex-wrap: wrap;
  min-width: 0;
  gap: var(--space-3);
  color: var(--color-muted-text);
  font-size: var(--text-small);
}

#home-page .home-atelier__origins span {
  min-width: 0;
  padding-right: var(--space-3);
  border-right: 1px solid var(--border-color);
}

#home-page .home-atelier__origins span:last-child {
  border-right: 0;
}

#home-page .home-atelier__note {
  min-width: 0;
  padding: var(--space-6);
  border-left: 2px solid var(--color-ultramarine);
  color: var(--color-ultramarine);
}

#home-page .home-atelier__note p {
  max-width: 38ch;
  margin: 0;
  font-family: var(--font-heading);
  font-size: var(--text-h3);
  line-height: var(--leading-h3);
}

#home-page .home-atelier__graphic {
  display: none;
}

#home-page .home-concepts__grid {
  gap: var(--space-12);
}

#home-page .home-concepts__intro,
#home-page .home-concepts__lane {
  min-width: 0;
}

#home-page .home-concepts__intro h2 {
  max-width: 17ch;
}

#home-page .home-concepts__intro p:not(.meta) {
  max-width: 54ch;
}

#home-page .home-concepts__lane {
  display: flex;
  flex-direction: column;
  gap: var(--space-4);
  padding-top: var(--space-6);
  border-top: 1px solid var(--border-color);
}

#home-page .home-concepts__lane > * {
  margin: 0;
}

#home-page .home-concepts__lane h3 {
  max-width: 20ch;
}

#home-page .home-concepts__lane > p:not(.meta) {
  max-width: 44ch;
}

#home-page .home-concepts__links,
#home-page .home-concepts__activity-links {
  display: flex;
  flex-direction: column;
  min-width: 0;
  gap: var(--space-3);
  margin: 0;
  padding: 0;
  list-style: none;
}

#home-page .home-concepts__links li,
#home-page .home-concepts__activity-links a {
  min-width: 0;
}

#home-page .home-concepts__links a,
#home-page .home-concepts__activity-links a {
  display: inline-flex;
  align-items: center;
  width: fit-content;
  min-height: 2.75rem;
}

#home-page .home-concepts__corporate-copy {
  display: flex;
  flex-direction: column;
  min-width: 0;
  gap: var(--space-4);
}

#home-page .home-concepts__corporate-copy > * {
  margin: 0;
}

#home-page .home-concepts__image {
  display: block;
  width: 100%;
  min-width: 0;
  height: auto;
  aspect-ratio: 3 / 2;
  overflow: hidden;
  border-radius: 0;
}

#home-page .home-concepts__image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform var(--transition-fast);
}

#home-page .home-poker {
  position: relative;
  padding-block: var(--section-space);
  overflow: hidden;
  background: var(--color-ink);
}

#home-page .home-poker__grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  min-width: 0;
}

#home-page .home-poker__panel {
  display: flex;
  flex-direction: column;
  min-width: 0;
  gap: var(--space-6);
  padding: var(--space-8) var(--gutter);
  background: var(--color-chalk);
  color: var(--color-ink);
}

#home-page .home-poker__panel > * {
  margin: 0;
}

#home-page .home-poker__meta {
  color: var(--color-wine);
}

#home-page .home-poker__panel h2 {
  max-width: 18ch;
}

#home-page .home-poker__panel .lead,
#home-page .home-poker__panel > p:not(.meta) {
  max-width: 48ch;
}

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

#home-page .home-poker__notes > div {
  display: flex;
  flex-direction: column;
  min-width: 0;
  gap: var(--space-2);
  padding-top: var(--space-3);
  border-top: 1px solid var(--border-color);
}

#home-page .home-poker__notes strong {
  color: var(--color-ultramarine);
}

#home-page .home-poker__notes span {
  max-width: 30ch;
  color: var(--color-muted-text);
  font-size: var(--text-small);
  line-height: var(--leading-small);
}

#home-page .home-poker__actions {
  display: flex;
  flex-direction: column;
  min-width: 0;
  gap: var(--space-3);
}

#home-page .home-poker__actions a {
  display: inline-flex;
  align-items: center;
  width: fit-content;
  min-height: 2.75rem;
}

#home-page .home-poker__graphic {
  display: none;
}

#home-page .home-process__grid {
  gap: var(--space-12);
}

#home-page .home-process__intro {
  min-width: 0;
}

#home-page .home-process__intro h2 {
  max-width: 17ch;
}

#home-page .home-process__intro .lead,
#home-page .home-process__intro > p:not(.meta) {
  max-width: 50ch;
}

#home-page .home-process__accordion {
  display: flex;
  flex-direction: column;
  min-width: 0;
  border-top: 1px solid var(--border-color);
}

#home-page .home-process__item {
  min-width: 0;
  border-bottom: 1px solid var(--border-color);
}

#home-page .home-process__trigger {
  display: grid;
  grid-template-columns: 2rem minmax(0, 1fr) 2rem;
  align-items: center;
  width: 100%;
  min-width: 0;
  min-height: 3.5rem;
  padding: var(--space-4) 0;
  background: transparent;
  color: var(--color-ink);
  text-align: left;
}

#home-page .home-process__number {
  color: var(--color-ultramarine);
  font-size: var(--text-meta);
  font-weight: 700;
  letter-spacing: var(--tracking-meta);
}

#home-page .home-process__trigger-title {
  min-width: 0;
  font-family: var(--font-heading);
  font-size: var(--text-h3);
  line-height: var(--leading-h3);
}

#home-page .home-process__icon {
  justify-self: end;
  color: var(--color-burnt-orange);
  font-size: 1.5rem;
}

#home-page .home-process__panel {
  min-width: 0;
  padding: 0 0 var(--space-6) 2rem;
}

#home-page .home-process__panel p {
  max-width: 64ch;
  margin: 0;
}

#home-page .home-corporate {
  overflow: hidden;
}

#home-page .home-corporate__grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  min-width: 0;
  gap: var(--space-8);
}

#home-page .home-corporate__media {
  width: 100%;
  min-width: 0;
  height: auto;
  margin: 0;
  aspect-ratio: 16 / 10;
  overflow: hidden;
  border-radius: 0;
}

#home-page .home-corporate__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform var(--transition-fast);
}

#home-page .home-corporate__copy {
  display: flex;
  flex-direction: column;
  min-width: 0;
  gap: var(--space-6);
  padding-inline: var(--gutter);
}

#home-page .home-corporate__copy > * {
  margin: 0;
}

#home-page .home-corporate__copy h2 {
  max-width: 17ch;
}

#home-page .home-corporate__copy > p:not(.meta) {
  max-width: 40ch;
}

#home-page .home-corporate__prompts {
  display: flex;
  flex-direction: column;
  min-width: 0;
}

#home-page .home-corporate__prompts > div {
  display: flex;
  flex-direction: column;
  min-width: 0;
  gap: var(--space-2);
  padding-block: var(--space-4);
  border-top: 1px solid var(--border-color);
}

#home-page .home-corporate__prompts > div:last-child {
  border-bottom: 1px solid var(--border-color);
}

#home-page .home-corporate__prompts strong {
  font-family: var(--font-heading);
  font-size: 1.35rem;
  font-weight: 400;
}

#home-page .home-corporate__prompts span {
  max-width: 34ch;
  color: var(--color-muted-text);
  font-size: var(--text-small);
  line-height: var(--leading-small);
}

#home-page .home-corporate__copy > .text-link {
  display: inline-flex;
  align-items: center;
  width: fit-content;
  min-height: 2.75rem;
}

#home-page .home-enquiry__inset {
  padding: var(--space-8);
  background: var(--color-chalk);
}

#home-page .home-enquiry__grid {
  gap: var(--space-12);
}

#home-page .home-enquiry__heading,
#home-page .home-enquiry__content {
  min-width: 0;
}

#home-page .home-enquiry__heading h2 {
  max-width: 14ch;
}

#home-page .home-enquiry__heading > p:not(.meta) {
  max-width: 34ch;
}

#home-page .home-enquiry__content {
  display: flex;
  flex-direction: column;
  gap: var(--space-6);
}

#home-page .home-enquiry__content > * {
  margin: 0;
}

#home-page .home-enquiry__content .lead,
#home-page .home-enquiry__content > p:not(.lead) {
  max-width: 52ch;
}

#home-page .home-enquiry__list {
  display: flex;
  flex-direction: column;
  min-width: 0;
  gap: var(--space-3);
}

#home-page .home-enquiry__list span {
  min-width: 0;
  padding-left: var(--space-4);
  border-left: 2px solid var(--color-ultramarine);
}

#home-page .home-enquiry__content .button {
  width: 100%;
  min-height: 3rem;
}

#home-page .home-enquiry__graphic {
  display: none;
}

@media (min-width: 48rem) {
  #home-page .home-hero__actions {
    grid-template-columns: repeat(2, minmax(0, max-content));
    justify-content: start;
  }

  #home-page .home-hero__actions > * {
    width: auto;
  }

  #home-page .home-poker__panel,
  #home-page .home-corporate__copy {
    padding-inline: var(--space-8);
  }

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

  #home-page .home-enquiry__content .button {
    width: fit-content;
  }
}

@media (min-width: 56.25rem) {
  #home-page .home-hero__grid {
    grid-template-columns: repeat(6, minmax(0, 1fr));
  }

  #home-page .home-hero__media {
    grid-column: 4 / 7;
    grid-row: 1;
    height: 78vh;
    min-height: 42rem;
  }

  #home-page .home-hero__copy {
    grid-column: 1 / 4;
    grid-row: 1;
    align-self: center;
    padding: var(--space-12) var(--space-8);
    background: linear-gradient(90deg, var(--color-ink) 72%, rgb(25 26 29 / 0));
  }

  #home-page .home-hero h1 {
    max-width: 11ch;
  }

  #home-page .home-atelier__grid {
    grid-template-columns: repeat(6, minmax(0, 1fr));
  }

  #home-page .home-atelier__copy {
    grid-column: 1 / 6;
  }

  #home-page .home-atelier__note {
    grid-column: 2 / 6;
  }

  #home-page .home-concepts__grid {
    grid-template-columns: repeat(6, minmax(0, 1fr));
  }

  #home-page .home-concepts__intro {
    grid-column: 1 / 7;
  }

  #home-page .home-concepts__lane--private {
    grid-column: 1 / 4;
  }

  #home-page .home-concepts__lane--corporate {
    grid-column: 4 / 7;
  }

  #home-page .home-concepts__lane--activity {
    grid-column: 2 / 6;
  }

  #home-page .home-poker__panel {
    padding: var(--space-12);
  }

  #home-page .home-process__grid {
    grid-template-columns: repeat(6, minmax(0, 1fr));
  }

  #home-page .home-process__intro,
  #home-page .home-process__accordion {
    grid-column: 1 / 7;
  }

  #home-page .home-corporate__grid {
    grid-template-columns: repeat(6, minmax(0, 1fr));
    align-items: start;
    gap: 0;
  }

  #home-page .home-corporate__media {
    grid-column: 1 / 4;
  }

  #home-page .home-corporate__copy {
    grid-column: 4 / 7;
    padding-top: var(--space-6);
  }

  #home-page .home-enquiry__grid {
    grid-template-columns: repeat(6, minmax(0, 1fr));
  }

  #home-page .home-enquiry__heading {
    grid-column: 1 / 3;
  }

  #home-page .home-enquiry__content {
    grid-column: 3 / 7;
  }
}

@media (min-width: 68.75rem) {
  #home-page .home-hero__grid {
    grid-template-columns: minmax(var(--gutter), 1fr) repeat(12, minmax(0, calc((min(77.5rem, 100vw - (var(--gutter) * 2)) - 13.75rem) / 12)) minmax(var(--gutter), 1fr);
    column-gap: 1.25rem;
  }

  #home-page .home-hero__media {
    grid-column: 8 / 15;
    height: 82vh;
    min-height: 44rem;
  }

  #home-page .home-hero__copy {
    grid-column: 2 / 7;
    padding-inline: 0;
    background: linear-gradient(90deg, var(--color-ink) 76%, rgb(25 26 29 / 0));
  }

  #home-page .home-hero h1 {
    max-width: 10ch;
  }

  #home-page .home-atelier__grid,
  #home-page .home-concepts__grid,
  #home-page .home-process__grid,
  #home-page .home-enquiry__grid {
    grid-template-columns: repeat(12, minmax(0, 1fr));
    column-gap: var(--space-6);
  }

  #home-page .home-atelier__copy {
    grid-column: 2 / 7;
  }

  #home-page .home-atelier__note {
    grid-column: 7 / 10;
    align-self: end;
  }

  #home-page .home-atelier__graphic {
    display: block;
    grid-column: 10 / 13;
    align-self: center;
    width: 13rem;
    height: 13rem;
    justify-self: end;
    border: 1px solid var(--color-ultramarine);
    border-radius: 50%;
    box-shadow: inset 0 0 0 1rem var(--color-chalk), inset 0 0 0 calc(1rem + 1px) var(--color-ultramarine), inset 0 0 0 2.5rem var(--color-chalk), inset 0 0 0 calc(2.5rem + 1px) var(--color-ultramarine);
  }

  #home-page .home-concepts__intro {
    grid-column: 1 / 5;
  }

  #home-page .home-concepts__lane--private {
    grid-column: 5 / 8;
    margin-top: var(--space-12);
  }

  #home-page .home-concepts__lane--corporate {
    display: grid;
    grid-column: 8 / 13;
    grid-template-columns: minmax(0, 1fr);
    gap: var(--space-6);
  }

  #home-page .home-concepts__lane--activity {
    grid-column: 5 / 9;
    margin-top: var(--space-8);
  }

  #home-page .home-poker__grid {
    grid-template-columns: repeat(12, minmax(0, 1fr));
    column-gap: var(--space-6);
    min-height: 42rem;
  }

  #home-page .home-poker__panel {
    grid-column: 1 / 6;
    align-self: end;
    z-index: 1;
    padding: var(--space-8);
  }

  #home-page .home-poker__graphic {
    display: block;
    grid-column: 8 / 13;
    grid-row: 1;
    align-self: center;
    width: 21rem;
    height: 21rem;
    justify-self: center;
    border: 2px solid var(--color-wine);
    border-radius: 50%;
    box-shadow: inset 0 0 0 1.5rem var(--color-ink), inset 0 0 0 calc(1.5rem + 2px) var(--color-ultramarine), inset 0 0 0 4.5rem var(--color-ink), inset 0 0 0 calc(4.5rem + 2px) var(--color-wine);
  }

  #home-page .home-process__intro {
    grid-column: 1 / 5;
  }

  #home-page .home-process__accordion {
    grid-column: 6 / 13;
  }

  #home-page .home-corporate__grid {
    grid-template-columns: minmax(var(--gutter), 1fr) repeat(12, minmax(0, calc((min(77.5rem, 100vw - (var(--gutter) * 2)) - 13.75rem) / 12)) minmax(var(--gutter), 1fr);
    column-gap: 1.25rem;
  }

  #home-page .home-corporate__media {
    grid-column: 1 / 9;
    height: 39rem;
  }

  #home-page .home-corporate__copy {
    grid-column: 10 / 14;
    padding: var(--space-6) 0 0;
  }

  #home-page .home-enquiry__inset {
    padding: var(--space-16);
  }

  #home-page .home-enquiry__heading {
    grid-column: 1 / 4;
  }

  #home-page .home-enquiry__content {
    grid-column: 4 / 9;
  }

  #home-page .home-enquiry__graphic {
    display: block;
    grid-column: 10 / 13;
    align-self: start;
    width: 8rem;
    height: 8rem;
    justify-self: end;
    border-top: 2px solid var(--color-burnt-orange);
    border-right: 2px solid var(--color-burnt-orange);
  }
}

@media (hover: hover) and (pointer: fine) {
  #home-page .home-hero__media:hover img,
  #home-page .home-concepts__image:hover img,
  #home-page .home-corporate__media:hover img {
    transform: scale(1.03);
  }

  #home-page .home-hero__media:hover::after,
  #home-page .home-concepts__image:hover::after,
  #home-page .home-corporate__media:hover::after {
    background: rgb(200 90 50 / 0.12);
  }
}

@media (prefers-reduced-motion: reduce) {
  #home-page .home-hero__media img,
  #home-page .home-concepts__image img,
  #home-page .home-corporate__media img,
  #home-page .home-hero__media::after,
  #home-page .home-concepts__image::after,
  #home-page .home-corporate__media::after {
    transition: none;
  }
}


.contact-page {
  background: var(--surface-page);
}

.contact-page .container {
  width: var(--content-width);
}

.contact-hero {
  min-width: 0;
  min-height: 72vh;
  padding-block: var(--space-16) var(--space-12);
  overflow: hidden;
}

.contact-hero__grid,
.contact-occasions__grid,
.contact-approach__grid,
.contact-form-section__grid,
.contact-tips__grid,
.contact-presence__grid,
.contact-closing__grid {
  display: grid;
  min-width: 0;
}

.contact-hero__grid {
  grid-template-columns: minmax(0, 1fr);
  gap: var(--space-8);
}

.contact-hero__content {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  min-width: 0;
  gap: var(--space-6);
}

.contact-hero__content > * {
  min-width: 0;
  margin: 0;
}

.contact-hero__label {
  color: var(--color-ultramarine);
}

.contact-hero h1 {
  max-width: 8.8em;
}

.contact-hero__rule {
  max-width: 9rem;
}

.contact-hero__lead {
  display: flex;
  flex-direction: column;
  min-width: 0;
  max-width: 58ch;
  gap: var(--space-6);
}

.contact-hero__lead > * {
  margin: 0;
}

.contact-hero__action {
  min-width: 0;
}

.contact-hero__graphic {
  position: relative;
  width: 100%;
  min-width: 0;
  height: 6rem;
  overflow: hidden;
}

.contact-hero__arc {
  position: absolute;
  right: -2rem;
  bottom: -10rem;
  width: 16rem;
  height: 16rem;
  border: 2px solid var(--color-ultramarine);
  border-radius: 50%;
}

.contact-hero__arc--inner {
  right: 0.5rem;
  bottom: -7.5rem;
  width: 11rem;
  height: 11rem;
  border-color: var(--color-burnt-orange);
}

.contact-hero__card-corner {
  position: absolute;
  top: 0.5rem;
  right: 1.5rem;
  width: 2.5rem;
  height: 2.5rem;
  border-top: 2px solid var(--color-ink);
  border-right: 2px solid var(--color-ink);
}

.contact-hero__route {
  position: absolute;
  top: 2rem;
  right: 4rem;
  width: 6rem;
  height: 2px;
  background: var(--color-ultramarine);
  transform: rotate(-26deg);
  transform-origin: right center;
}

.contact-occasions,
.contact-bridge,
.contact-form-section,
.contact-presence,
.contact-closing {
  padding-block: var(--section-space);
}

.contact-occasions__grid {
  grid-template-columns: minmax(0, 1fr);
  gap: var(--space-12);
}

.contact-occasions__intro,
.contact-occasions__listing,
.contact-approach__intro,
.contact-approach__steps,
.contact-form-section__header,
.contact-form-aside,
.contact-form,
.contact-tips__intro,
.contact-tips__list,
.contact-presence__statement,
.contact-presence__context,
.contact-closing__content,
.contact-closing__action {
  min-width: 0;
}

.contact-occasions__intro p:not(.meta) {
  max-width: 50ch;
}

.contact-occasions__listing {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: var(--space-6);
}

.contact-occasions__list {
  display: flex;
  flex-direction: column;
  min-width: 0;
  gap: var(--space-4);
  margin: 0;
  padding: 0;
  list-style: none;
  font-family: var(--font-heading);
  font-size: clamp(1.35rem, 2.2vw, 1.9rem);
  line-height: 1.15;
}

.contact-occasions__last {
  display: flex;
  align-items: center;
  min-width: 0;
  gap: var(--space-2);
}

.contact-occasions__poker {
  display: flex;
  flex-direction: column;
  min-width: 0;
  max-width: 44ch;
  margin: var(--space-4) 0 0 var(--space-4);
  padding-left: var(--space-6);
  border-left: 2px solid var(--color-wine);
  gap: var(--space-3);
}

.contact-occasions__poker > * {
  margin: 0;
}

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

.contact-approach__grid {
  grid-template-columns: minmax(0, 1fr);
  gap: var(--space-12);
}

.contact-approach__intro {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-6);
}

.contact-approach__intro > * {
  margin: 0;
}

.contact-approach__intro .lead {
  max-width: 54ch;
}

.contact-approach__steps {
  display: flex;
  flex-direction: column;
  gap: 0;
}

.contact-step {
  min-width: 0;
  border-top: 1px solid var(--border-color);
}

.contact-step:last-child {
  border-bottom: 1px solid var(--border-color);
}

.contact-step summary {
  display: grid;
  grid-template-columns: 2.75rem minmax(0, 1fr) 1.5rem;
  align-items: center;
  min-width: 0;
  min-height: 4.5rem;
  padding-block: var(--space-4);
  list-style: none;
  gap: var(--space-3);
}

.contact-step summary::-webkit-details-marker {
  display: none;
}

.contact-step summary::after {
  content: "+";
  color: var(--color-ultramarine);
  font-size: 1.5rem;
  line-height: 1;
  text-align: right;
}

.contact-step[open] summary::after {
  content: "−";
}

.contact-step__number {
  color: var(--color-muted-text);
  font-size: var(--text-meta);
  font-weight: 700;
  letter-spacing: var(--tracking-meta);
}

.contact-step__title {
  font-family: var(--font-heading);
  font-size: var(--text-h3);
  line-height: var(--leading-h3);
}

.contact-step__body {
  min-width: 0;
  padding: 0 0 var(--space-6) calc(2.75rem + var(--space-3));
}

.contact-step__body p {
  max-width: 62ch;
  margin: 0;
}

.contact-bridge {
  position: relative;
  min-width: 0;
  overflow: hidden;
  text-align: center;
}

.contact-bridge__content {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  min-width: 0;
  max-width: 44ch;
  margin-inline: auto;
  gap: var(--space-6);
}

.contact-bridge__content > * {
  margin: 0;
}

.contact-bridge__content h2 {
  max-width: 15ch;
}

.contact-bridge__content p {
  max-width: 42ch;
}

.contact-bridge__action,
.contact-bridge__action:visited {
  background: var(--color-chalk);
  border-color: var(--color-chalk);
  color: var(--color-ink);
}

.contact-bridge__action:hover {
  background: var(--color-ink);
  border-color: var(--color-ink);
  color: var(--color-chalk);
}

.contact-bridge__ring {
  position: absolute;
  right: -4rem;
  bottom: -5rem;
  width: 13.75rem;
  height: 13.75rem;
  border: 2px solid var(--color-burnt-orange);
  border-radius: 50%;
}

.contact-form-section__grid {
  grid-template-columns: minmax(0, 1fr);
  gap: var(--space-8);
}

.contact-form-section__header {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-6);
}

.contact-form-section__header > * {
  margin: 0;
}

.contact-form-section__header p:not(.meta) {
  max-width: 58ch;
}

.contact-form-section__required {
  margin: 0;
  color: var(--text-secondary);
  font-size: var(--text-small);
}

.contact-required {
  color: var(--color-burnt-orange);
  font-weight: 800;
}

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

.contact-form-aside {
  display: flex;
  flex-direction: column;
  min-width: 0;
  padding: var(--space-6);
  background: var(--color-chalk);
  border: 1px solid var(--border-color);
  gap: var(--space-4);
}

.contact-form-aside > * {
  margin: 0;
}

.contact-form-aside ul {
  display: flex;
  flex-direction: column;
  min-width: 0;
  padding-left: 1.25rem;
  gap: var(--space-2);
}

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

.contact-form__status:empty {
  display: none;
}

.contact-form__status {
  max-width: 50ch;
  padding: var(--space-4);
  border: 1px solid var(--border-color);
  background: var(--color-chalk);
  font-size: var(--text-small);
  line-height: var(--leading-small);
}

.contact-form__status.is-error {
  border-color: var(--color-burnt-orange);
  color: #78321d;
}

.contact-form__status.is-success {
  border-color: var(--color-ultramarine);
  color: var(--color-ink);
}

.contact-form__fields {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  min-width: 0;
  gap: var(--space-6) var(--space-4);
}

.contact-field {
  min-width: 0;
}

.contact-field label {
  margin-bottom: var(--space-2);
}

.contact-field input,
.contact-field textarea,
.contact-field select {
  min-height: 3.25rem;
  background: var(--color-chalk);
}

.contact-field textarea {
  min-height: 10rem;
}

.contact-field__help,
.contact-field__error {
  margin: var(--space-2) 0 0;
  font-size: var(--text-small);
  line-height: var(--leading-small);
}

.contact-field__help {
  max-width: 48ch;
  color: var(--text-secondary);
}

.contact-field__error {
  display: none;
  color: #78321d;
  font-weight: 700;
}

.contact-field.is-invalid input,
.contact-field.is-invalid textarea,
.contact-field.is-invalid select {
  border-color: var(--color-burnt-orange);
}

.contact-field.is-invalid .contact-field__error:not(:empty) {
  display: block;
}

.contact-form__submit {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  min-width: 0;
  max-width: 48ch;
  gap: var(--space-4);
}

.contact-form__submit > * {
  margin: 0;
}

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

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

.contact-tips__grid {
  grid-template-columns: minmax(0, 1fr);
  gap: var(--space-12);
}

.contact-tips__intro p:not(.meta) {
  max-width: 50ch;
}

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

.contact-tip {
  display: flex;
  flex-direction: column;
  min-width: 0;
  padding-top: var(--space-6);
  border-top: 1px solid var(--border-color);
  gap: var(--space-4);
}

.contact-tip > * {
  margin: 0;
}

.contact-tip p:not(.meta) {
  max-width: 52ch;
}

.contact-tip .rule {
  max-width: 5rem;
  margin-top: var(--space-2);
}

.contact-presence {
  color: var(--color-chalk);
}

.contact-presence__grid {
  grid-template-columns: minmax(0, 1fr);
  gap: var(--space-8);
}

.contact-presence__statement {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-6);
}

.contact-presence__statement > * {
  margin: 0;
}

.contact-presence__statement h2 {
  max-width: 10ch;
  font-size: clamp(2.4rem, 5vw, 5rem);
}

.contact-presence__statement p {
  max-width: 48ch;
  color: rgb(244 241 234 / 0.88);
}

.contact-presence__rule {
  width: 100%;
  height: 1px;
  background: rgb(244 241 234 / 0.55);
}

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

.contact-presence__context > * {
  margin: 0;
}

.contact-presence__context .meta {
  color: var(--color-chalk);
}

.contact-presence__context p:not(.meta) {
  max-width: 44ch;
  color: rgb(244 241 234 / 0.85);
}

.contact-closing__grid {
  grid-template-columns: minmax(0, 1fr);
  gap: var(--space-8);
}

.contact-closing__content {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-6);
}

.contact-closing__content > * {
  margin: 0;
}

.contact-closing__content p:not(.meta) {
  max-width: 52ch;
}

.contact-closing__action {
  justify-self: start;
  align-self: start;
}

@media (min-width: 48rem) {
  .contact-hero {
    padding-block: var(--space-22);
  }

  .contact-hero__grid {
    grid-template-columns: repeat(6, minmax(0, 1fr));
    align-items: end;
    gap: var(--space-6);
  }

  .contact-hero__content {
    grid-column: 1 / 7;
  }

  .contact-hero__graphic {
    grid-column: 4 / 7;
    justify-self: end;
    height: 12rem;
    max-width: 22rem;
  }

  .contact-hero__arc {
    right: -2rem;
    bottom: -8rem;
    width: 21rem;
    height: 21rem;
  }

  .contact-occasions__grid,
  .contact-approach__grid,
  .contact-tips__grid {
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: var(--space-6);
  }

  .contact-occasions__intro,
  .contact-approach__intro,
  .contact-tips__intro {
    grid-column: 1 / 7;
  }

  .contact-occasions__listing,
  .contact-approach__steps,
  .contact-tips__list {
    grid-column: 1 / 7;
  }

  .contact-occasions__listing {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    column-gap: var(--space-8);
  }

  .contact-occasions__poker {
    grid-column: 2 / 3;
  }

  .contact-form-section__grid {
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: var(--space-6);
  }

  .contact-form-section__header {
    grid-column: 1 / 7;
  }

  .contact-form-section__required {
    grid-column: 1 / 7;
  }

  .contact-form-aside {
    grid-column: 1 / 7;
  }

  .contact-form {
    grid-column: 1 / 7;
  }

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

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

  .contact-tips__list {
    gap: var(--space-12);
  }

  .contact-tip--two,
  .contact-tip--three {
    margin-left: var(--space-4);
  }

  .contact-presence__grid {
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: var(--space-8) var(--space-6);
  }

  .contact-presence__statement,
  .contact-presence__rule {
    grid-column: 1 / 7;
  }

  .contact-presence__context--poker,
  .contact-presence__context--wider {
    grid-column: 1 / 6;
  }

  .contact-closing__grid {
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: var(--space-6);
  }

  .contact-closing__content {
    grid-column: 1 / 7;
  }

  .contact-closing__action {
    grid-column: 1 / 4;
  }
}

@media (min-width: 68.75rem) {
  .contact-hero {
    min-height: 84vh;
    padding-block: var(--space-32);
  }

  .contact-hero__grid,
  .contact-occasions__grid,
  .contact-approach__grid,
  .contact-form-section__grid,
  .contact-tips__grid,
  .contact-presence__grid,
  .contact-closing__grid {
    grid-template-columns: repeat(12, minmax(0, 1fr));
    column-gap: var(--space-4);
  }

  .contact-hero__grid {
    align-items: center;
    row-gap: var(--space-6);
  }

  .contact-hero__content {
    grid-column: 1 / 8;
  }

  .contact-hero__graphic {
    grid-column: 9 / 13;
    grid-row: 1;
    align-self: stretch;
    height: auto;
    min-height: 30rem;
    max-width: none;
  }

  .contact-hero__arc {
    right: -7rem;
    bottom: -3rem;
    width: 31rem;
    height: 31rem;
  }

  .contact-hero__arc--inner {
    right: 0;
    bottom: 0;
    width: 20rem;
    height: 20rem;
  }

  .contact-hero__card-corner {
    top: 3rem;
    right: 2rem;
    width: 4rem;
    height: 4rem;
  }

  .contact-hero__route {
    top: 10rem;
    right: 1.5rem;
    width: 10rem;
  }

  .contact-occasions__intro {
    grid-column: 1 / 6;
  }

  .contact-occasions__listing {
    grid-column: 7 / 13;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .contact-occasions__poker {
    grid-column: 2 / 3;
  }

  .contact-approach__intro {
    grid-column: 1 / 6;
  }

  .contact-approach__steps {
    grid-column: 7 / 13;
  }

  .contact-bridge__content {
    max-width: 50ch;
  }

  .contact-form-section__header {
    grid-column: 1 / 9;
  }

  .contact-form-section__required {
    grid-column: 10 / 13;
    align-self: end;
    justify-self: start;
  }

  .contact-form {
    grid-column: 1 / 9;
    grid-row: 2 / 4;
  }

  .contact-form-aside {
    grid-column: 10 / 13;
    grid-row: 2;
    align-self: start;
    position: sticky;
    top: var(--space-6);
  }

  .contact-tips__intro {
    grid-column: 1 / 6;
  }

  .contact-tips__list {
    grid-column: 7 / 13;
  }

  .contact-tip--one {
    width: calc(100% - 2rem);
  }

  .contact-tip--two {
    width: calc(100% - 2rem);
    margin-left: var(--space-8);
  }

  .contact-tip--three {
    width: calc(100% - 2rem);
    margin-left: var(--space-16);
  }

  .contact-presence__statement {
    grid-column: 2 / 12;
    align-items: center;
    text-align: center;
  }

  .contact-presence__statement h2,
  .contact-presence__statement p {
    max-width: 48ch;
  }

  .contact-presence__rule {
    grid-column: 2 / 12;
  }

  .contact-presence__context--poker {
    grid-column: 2 / 6;
  }

  .contact-presence__context--wider {
    grid-column: 8 / 12;
    text-align: right;
  }

  .contact-presence__context--wider p:not(.meta) {
    margin-left: auto;
  }

  .contact-closing__content {
    grid-column: 1 / 8;
  }

  .contact-closing__action {
    grid-column: 9 / 13;
    justify-self: end;
    align-self: end;
  }
}

@media (max-width: 47.9375rem) {
  .contact-hero h1 {
    font-size: clamp(3rem, 13vw, 3.9rem);
  }

  .contact-step:not([open]) .contact-step__body {
    display: none;
  }

  .contact-bridge__ring {
    display: none;
  }

  .contact-form-aside {
    order: 3;
  }

  .contact-form {
    order: 4;
  }

  .contact-tip--two,
  .contact-tip--three {
    width: calc(100% - var(--space-4));
    margin-left: var(--space-4);
  }
}

@media (min-width: 48rem) and (max-width: 68.6875rem) {
  .contact-step summary {
    cursor: default;
  }

  .contact-step summary::after {
    display: none;
  }

  .contact-step__body {
    display: block;
  }
}

@media (prefers-reduced-motion: reduce) {
  .contact-page *,
  .contact-page *::before,
  .contact-page *::after {
    transition: none !important;
    transform: none !important;
  }
}


main[data-terms-page] {
  background: var(--surface-page);
}

.terms-hero {
  position: relative;
  display: grid;
  min-width: 0;
  min-height: 58vh;
  padding-block: 5.5rem 4rem;
  overflow: hidden;
  background: var(--surface-dark);
  color: var(--text-on-dark);
}

.terms-hero__inner,
.terms-overview__layout,
.terms-document__grid,
.terms-process__layout,
.terms-events__grid,
.terms-responsibility__grid,
.terms-changes__grid,
.terms-creative__grid,
.terms-closing__grid {
  display: grid;
  width: var(--content-width);
  min-width: 0;
  margin-inline: auto;
}

.terms-hero__inner {
  align-content: center;
  gap: var(--space-8);
}

.terms-hero__copy {
  display: flex;
  flex-direction: column;
  min-width: 0;
  gap: var(--space-6);
}

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

.terms-hero .meta,
.terms-hero__lead,
.terms-hero__note {
  color: var(--color-chalk);
}

.terms-hero__title {
  max-width: 8.8ch;
  font-size: clamp(2.75rem, 10vw, 5.5rem);
}

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

.terms-hero__note {
  max-width: 100%;
  padding-inline-start: var(--space-4);
  border-inline-start: 2px solid var(--color-ultramarine);
}

.terms-hero__marker {
  position: relative;
  width: 6rem;
  height: 5.5rem;
  margin-inline-start: var(--space-4);
  border-top: 1px solid rgb(244 241 234 / 0.72);
  border-right: 1px solid rgb(244 241 234 / 0.72);
}

.terms-hero__marker::before,
.terms-hero__marker::after {
  position: absolute;
  content: "";
}

.terms-hero__marker::before {
  right: 0.75rem;
  bottom: 0.75rem;
  width: 2.5rem;
  height: 2.5rem;
  border: 1px solid var(--color-burnt-orange);
  border-radius: 50%;
}

.terms-hero__marker::after {
  right: 1.65rem;
  bottom: 1.25rem;
  width: 3.5rem;
  height: 1px;
  background: var(--color-chalk);
  transform: rotate(-42deg);
  transform-origin: right center;
}

.terms-overview__layout {
  gap: var(--space-8);
}

.terms-overview__main,
.terms-overview__note,
.terms-document__rail,
.terms-document__content,
.terms-process__intro,
.terms-process__list,
.terms-events__intro,
.terms-events__content,
.terms-events__poker,
.terms-responsibility__intro,
.terms-responsibility__body,
.terms-responsibility__closing,
.terms-changes__content,
.terms-changes__aside,
.terms-creative__content,
.terms-creative__graphic,
.terms-closing__content,
.terms-closing__cta {
  min-width: 0;
}

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

.terms-overview__main > * {
  min-width: 0;
  margin: 0;
}

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

.terms-overview__links {
  margin: 0;
  padding: 0;
  list-style: none;
  border-top: 1px solid var(--border-color);
}

.terms-overview__links li {
  min-width: 0;
  border-bottom: 1px solid var(--border-color);
}

.terms-overview__links a {
  display: grid;
  grid-template-columns: 2.4rem minmax(0, 1fr);
  align-items: center;
  min-width: 0;
  min-height: 2.75rem;
  padding-block: var(--space-3);
  color: var(--text-primary);
  font-weight: 700;
  text-decoration: none;
}

.terms-overview__links a::after {
  content: none;
}

.terms-overview__links .meta {
  margin: 0;
  color: var(--color-ultramarine);
}

.terms-overview__link-label {
  min-width: 0;
  color: var(--color-ultramarine);
  background-image: linear-gradient(currentColor, currentColor);
  background-position: 0 100%;
  background-repeat: no-repeat;
  background-size: 0 1px;
  transition: background-size var(--transition-fast);
}

.terms-overview__links a:hover .terms-overview__link-label {
  background-size: 100% 1px;
}

.terms-margin-note {
  display: flex;
  flex-direction: column;
  min-width: 0;
  gap: var(--space-4);
  padding: var(--space-6);
  background: var(--surface-tertiary);
  border: 1px solid var(--border-color);
  border-radius: var(--radius-sm);
}

.terms-margin-note > * {
  min-width: 0;
  margin: 0;
}

.terms-margin-note p:last-child {
  max-width: 100%;
}

.terms-document__grid {
  gap: var(--space-6);
}

.terms-document__rail {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: var(--space-3);
}

.terms-document__rail > * {
  min-width: 0;
  margin: 0;
}

.terms-section-number {
  color: var(--color-ultramarine);
  font-size: var(--text-meta);
  font-weight: 700;
  letter-spacing: var(--tracking-meta);
}

.terms-accordion__trigger {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  min-width: 0;
  padding: 0;
  background: transparent;
  color: inherit;
  text-align: left;
}

.terms-accordion__trigger h2 {
  min-width: 0;
  margin: 0;
}

.terms-accordion__indicator {
  display: none;
}

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

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

.terms-document__content > :last-child,
.terms-process__intro > :last-child,
.terms-events__intro > :last-child,
.terms-events__content > :last-child,
.terms-responsibility__intro > :last-child,
.terms-changes__content > :last-child,
.terms-creative__content > :last-child,
.terms-closing__content > :last-child {
  margin-bottom: 0;
}

.terms-highlight {
  max-width: 54ch;
  margin-block: var(--space-8);
  padding: var(--space-6);
  background: var(--surface-secondary);
  border-top: 2px solid var(--color-ultramarine);
}

.terms-document__closing {
  max-width: 66ch;
  padding-top: var(--space-6);
  border-top: 1px solid var(--border-color);
}

.terms-process {
  background: var(--surface-tertiary);
}

.terms-process__layout {
  gap: var(--space-8);
}

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

.terms-process__intro .lead {
  max-width: 48ch;
}

.terms-process__list {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: var(--space-8);
}

.terms-process__list::before {
  position: absolute;
  top: 1.1rem;
  bottom: 1.1rem;
  left: 0.85rem;
  width: 1px;
  background: rgb(25 26 29 / 0.38);
  content: "";
}

.terms-process__item {
  position: relative;
  display: grid;
  grid-template-columns: 2rem minmax(0, 1fr);
  min-width: 0;
  gap: var(--space-4);
}

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

.terms-process__number {
  position: relative;
  z-index: 1;
  display: grid;
  width: 1.75rem;
  height: 1.75rem;
  place-items: center;
  background: var(--surface-tertiary);
  border: 1px solid var(--color-ink);
  border-radius: 50%;
  color: var(--color-ink);
  font-size: var(--text-meta);
  font-weight: 700;
}

.terms-process__item:last-child .terms-process__number {
  border-color: var(--color-burnt-orange);
}

.terms-process__item:last-child .terms-process__number::after {
  position: absolute;
  right: -0.28rem;
  bottom: -0.28rem;
  width: 0.45rem;
  height: 0.45rem;
  background: var(--color-burnt-orange);
  content: "";
}

.terms-process__copy {
  max-width: 64ch;
}

.terms-process__copy h3 {
  margin-bottom: var(--space-3);
}

.terms-process__copy p:last-child {
  margin-bottom: 0;
}

.terms-events__grid {
  gap: var(--space-8);
}

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

.terms-events__content {
  max-width: 65ch;
}

.terms-events__content h3 {
  margin-bottom: var(--space-3);
}

.terms-events__content h3 + p {
  margin-bottom: var(--space-6);
}

.terms-events__theme {
  padding-inline-start: var(--space-4);
  border-inline-start: 2px solid var(--color-wine);
}

.terms-events__poker {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: var(--space-4);
  padding: var(--space-6);
  overflow: hidden;
  background: var(--surface-dark);
  color: var(--text-on-dark);
}

.terms-events__poker > * {
  position: relative;
  z-index: 1;
  min-width: 0;
  margin: 0;
}

.terms-events__poker p {
  max-width: 56ch;
}

.terms-chip-rings {
  position: absolute;
  z-index: 0;
  right: var(--space-4);
  top: var(--space-4);
  width: 4rem;
  aspect-ratio: 1;
  border: 1px solid rgb(244 241 234 / 0.65);
  border-radius: 50%;
}

.terms-chip-rings::before,
.terms-chip-rings::after {
  position: absolute;
  inset: 0.55rem;
  border: 1px solid rgb(244 241 234 / 0.48);
  border-radius: 50%;
  content: "";
}

.terms-chip-rings::after {
  inset: 1.1rem;
  border-color: var(--color-burnt-orange);
}

.terms-responsibility {
  background: var(--surface-secondary);
}

.terms-responsibility__grid {
  gap: var(--space-8);
}

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

.terms-responsibility__intro .lead {
  max-width: 60ch;
}

.terms-responsibility__body {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  min-width: 0;
  gap: var(--space-8);
}

.terms-responsibility__unit {
  min-width: 0;
  padding-bottom: var(--space-6);
  border-bottom: 1px solid var(--border-color);
}

.terms-responsibility__unit h3 {
  margin-bottom: var(--space-3);
}

.terms-responsibility__unit p:last-child {
  max-width: 48ch;
  margin-bottom: 0;
}

.terms-responsibility__unit--organiser h3::before {
  display: inline-block;
  width: 0.5rem;
  height: 0.5rem;
  margin-right: var(--space-3);
  background: var(--color-ultramarine);
  content: "";
  vertical-align: middle;
}

.terms-responsibility__closing {
  max-width: 42ch;
  padding-top: var(--space-4);
  border-top: 2px solid var(--color-burnt-orange);
}

.terms-responsibility__closing p {
  margin: 0;
}

.terms-changes__grid {
  gap: var(--space-8);
}

.terms-changes__content {
  max-width: 66ch;
}

.terms-changes__closing {
  max-width: 60ch;
  padding-top: var(--space-6);
  border-top: 1px solid var(--border-color);
  font-size: var(--text-small);
}

.terms-changes__aside {
  display: flex;
  flex-direction: column;
  align-self: start;
  gap: var(--space-4);
  padding: var(--space-6);
  background: var(--surface-tertiary);
  border: 1px solid var(--border-color);
  border-radius: var(--radius-sm);
}

.terms-changes__aside > * {
  min-width: 0;
  margin: 0;
}

.terms-changes__aside p:last-child {
  max-width: 38ch;
}

.terms-creative {
  position: relative;
  background: var(--surface-dark);
  color: var(--text-on-dark);
}

.terms-creative__grid {
  gap: var(--space-6);
}

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

.terms-creative__content > * {
  min-width: 0;
  margin: 0;
}

.terms-creative__content p {
  max-width: 60ch;
}

.terms-creative__confidential {
  max-width: 50ch;
  padding: var(--space-6);
  border: 1px solid rgb(244 241 234 / 0.54);
}

.terms-creative__confidential > * {
  margin: 0;
}

.terms-creative__confidential .meta {
  margin-bottom: var(--space-3);
  color: var(--color-chalk);
}

.terms-creative__closing {
  max-width: 60ch;
  padding-top: var(--space-6);
  border-top: 1px solid rgb(244 241 234 / 0.42);
  color: rgb(244 241 234 / 0.82);
  font-size: var(--text-small);
}

.terms-creative a {
  color: var(--color-chalk);
}

.terms-creative__graphic {
  position: relative;
  width: 4rem;
  height: 4rem;
  margin-inline-start: var(--space-4);
  border-top: 2px solid var(--color-ultramarine);
  border-right: 2px solid var(--color-ultramarine);
}

.terms-creative__graphic::before,
.terms-creative__graphic::after {
  position: absolute;
  content: "";
}

.terms-creative__graphic::before {
  top: 0.55rem;
  right: 0.55rem;
  width: 1.6rem;
  height: 1.6rem;
  border-top: 1px solid var(--color-chalk);
  border-right: 1px solid var(--color-chalk);
}

.terms-creative__graphic::after {
  right: 0.8rem;
  bottom: 0.8rem;
  width: 2.8rem;
  height: 1px;
  background: var(--color-burnt-orange);
  transform: rotate(-42deg);
}

.terms-closing__grid {
  gap: var(--space-8);
}

.terms-closing__content {
  max-width: 58ch;
}

.terms-closing__cta {
  display: flex;
  flex-direction: column;
  gap: var(--space-4);
  padding: var(--space-6);
  background: var(--surface-warm);
  color: var(--text-on-dark);
}

.terms-closing__cta > * {
  min-width: 0;
  margin: 0;
}

.terms-closing__cta p {
  max-width: 34ch;
}

.terms-closing__cta .button {
  width: 100%;
  background: var(--color-ink);
  border-color: var(--color-ink);
}

.terms-closing__cta .button:hover {
  background: var(--color-wine);
  border-color: var(--color-wine);
}

.terms-accordion {
  scroll-margin-top: 7rem;
}

@media (min-width: 48rem) {
  .terms-hero {
    min-height: 64vh;
    padding-block: 6rem 5.5rem;
  }

  .terms-hero__lead {
    max-width: 52ch;
  }

  .terms-hero__note {
    max-width: 50ch;
  }

  .terms-overview__intro {
    max-width: 52ch;
  }

  .terms-document__rail {
    align-items: baseline;
  }

  .terms-process__item {
    grid-template-columns: 2.5rem minmax(0, 1fr);
  }

  .terms-process__list::before {
    left: 0.92rem;
  }

  .terms-events__poker,
  .terms-closing__cta,
  .terms-changes__aside,
  .terms-margin-note {
    padding: var(--space-8);
  }
}

@media (min-width: 68.75rem) {
  .terms-hero {
    min-height: 74vh;
  }

  .terms-hero__inner {
    grid-template-columns: repeat(12, minmax(0, 1fr));
    column-gap: 1.25rem;
    align-items: end;
  }

  .terms-hero__copy {
    grid-column: 1 / span 7;
  }

  .terms-hero__marker {
    grid-column: 10 / span 3;
    justify-self: end;
    align-self: end;
    width: 10rem;
    height: 8rem;
    margin: 0 0 var(--space-4);
  }

  .terms-overview__layout {
    grid-template-columns: repeat(12, minmax(0, 1fr));
    column-gap: 1.25rem;
    align-items: start;
  }

  .terms-overview__main {
    grid-column: 1 / span 7;
  }

  .terms-overview__note {
    grid-column: 9 / span 3;
  }

  .terms-document__grid {
    grid-template-columns: repeat(12, minmax(0, 1fr));
    column-gap: 1.25rem;
    align-items: start;
  }

  .terms-document__rail {
    grid-column: 1 / span 2;
    flex-direction: column;
    align-items: flex-start;
    gap: var(--space-2);
    padding-top: 0.6rem;
  }

  .terms-document__content {
    grid-column: 3 / span 7;
    max-width: 66ch;
  }

  .terms-process__layout {
    grid-template-columns: repeat(12, minmax(0, 1fr));
    column-gap: 1.25rem;
    align-items: start;
  }

  .terms-process__intro {
    grid-column: 1 / span 3;
  }

  .terms-process__list {
    grid-column: 5 / span 7;
  }

  .terms-events__grid {
    grid-template-columns: repeat(12, minmax(0, 1fr));
    column-gap: 1.25rem;
    align-items: start;
  }

  .terms-events__intro {
    grid-column: 1 / span 4;
  }

  .terms-events__content {
    grid-column: 6 / span 6;
  }

  .terms-events__poker {
    grid-column: 1 / span 8;
    margin-top: var(--space-4);
  }

  .terms-responsibility__grid {
    grid-template-columns: repeat(12, minmax(0, 1fr));
    column-gap: 1.25rem;
    align-items: start;
  }

  .terms-responsibility__intro {
    grid-column: 1 / span 8;
  }

  .terms-responsibility__body {
    grid-column: 1 / span 9;
    grid-template-columns: repeat(9, minmax(0, 1fr));
    column-gap: 1.25rem;
  }

  .terms-responsibility__unit--client {
    grid-column: 1 / span 4;
  }

  .terms-responsibility__unit--organiser {
    grid-column: 6 / span 4;
  }

  .terms-responsibility__closing {
    grid-column: 1 / span 9;
  }

  .terms-changes__grid {
    grid-template-columns: repeat(12, minmax(0, 1fr));
    column-gap: 1.25rem;
    align-items: start;
  }

  .terms-changes__content {
    grid-column: 1 / span 7;
  }

  .terms-changes__aside {
    grid-column: 9 / span 3;
  }

  .terms-creative__grid {
    grid-template-columns: repeat(12, minmax(0, 1fr));
    column-gap: 1.25rem;
    align-items: start;
  }

  .terms-creative__content {
    grid-column: 3 / span 6;
  }

  .terms-creative__graphic {
    grid-column: 10 / span 2;
    justify-self: end;
    width: 6rem;
    height: 6rem;
    margin-top: var(--space-2);
    margin-left: 0;
  }

  .terms-closing__grid {
    grid-template-columns: repeat(12, minmax(0, 1fr));
    column-gap: 1.25rem;
    align-items: end;
  }

  .terms-closing__content {
    grid-column: 1 / span 7;
  }

  .terms-closing__cta {
    grid-column: 9 / span 3;
  }
}

@media (max-width: 47.9375rem) {
  .terms-accordion__trigger {
    min-height: 2.75rem;
    gap: var(--space-4);
    border: 0;
  }

  .terms-accordion__indicator {
    display: block;
    flex: 0 0 auto;
    color: var(--color-ultramarine);
    font-size: 1.35rem;
    line-height: 1;
    transition: transform var(--transition-reveal);
  }

  .terms-accordion.is-open .terms-accordion__indicator {
    transform: rotate(45deg);
  }

  .terms-accordion__panel[hidden] {
    display: none;
  }

  .terms-accordion__panel {
    padding-top: var(--space-4);
  }

  .terms-creative .terms-accordion__indicator {
    color: var(--color-chalk);
  }
}

@media (max-width: 22.5rem) {
  .terms-process__item {
    grid-template-columns: minmax(0, 1fr);
    gap: var(--space-3);
  }

  .terms-process__list::before {
    display: none;
  }
}

@media print {
  main[data-terms-page],
  .terms-hero,
  .terms-process,
  .terms-responsibility,
  .terms-creative,
  .terms-events__poker,
  .terms-closing__cta,
  .terms-changes__aside,
  .terms-margin-note,
  .terms-highlight {
    background: transparent !important;
    color: #000 !important;
  }

  .terms-hero,
  .terms-process,
  .terms-responsibility,
  .terms-creative,
  .terms-events__poker,
  .terms-closing__cta {
    min-height: 0;
  }

  .terms-hero__inner,
  .terms-overview__layout,
  .terms-document__grid,
  .terms-process__layout,
  .terms-events__grid,
  .terms-responsibility__grid,
  .terms-changes__grid,
  .terms-creative__grid,
  .terms-closing__grid {
    display: block;
    width: 100%;
  }

  .terms-hero__marker,
  .terms-chip-rings,
  .terms-creative__graphic,
  .terms-process__list::before {
    display: none;
  }

  .terms-accordion__trigger {
    display: block;
  }

  .terms-accordion__indicator {
    display: none;
  }

  .terms-accordion__panel {
    display: block !important;
  }

  .terms-creative a,
  .terms-hero .meta,
  .terms-hero__lead,
  .terms-hero__note {
    color: #000 !important;
  }
}


.birthdays-page {
  background: var(--surface-page);
}

.birthdays-page .button {
  width: fit-content;
}

.birthdays-page .marker {
  margin-inline-end: var(--space-2);
  vertical-align: 0.05em;
}

.birthdays-hero {
  padding-block: var(--space-16) var(--space-12);
  overflow: hidden;
}

.birthdays-hero__grid,
.birthdays-perspective__grid,
.birthdays-concepts__grid,
.birthdays-poker__grid,
.birthdays-process__grid,
.birthdays-capabilities__grid,
.birthdays-faq__grid,
.birthdays-enquiry__grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  min-width: 0;
}

.birthdays-hero__grid {
  gap: var(--space-8);
}

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

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

.birthdays-hero__eyebrow {
  display: flex;
  align-items: center;
  gap: var(--space-2);
}

.birthdays-hero__eyebrow .marker {
  margin: 0;
}

.birthdays-hero__copy h1 {
  max-width: 10ch;
}

.birthdays-hero__copy .lead {
  max-width: 34ch;
}

.birthdays-hero__media {
  position: relative;
  width: 100%;
  min-width: 0;
  aspect-ratio: 4 / 5;
  margin: 0;
  overflow: hidden;
  background: var(--surface-tertiary);
}

.birthdays-hero__media img,
.birthdays-concepts__media img,
.birthdays-poker__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform var(--transition-fast);
}

.birthdays-media-hover {
  position: relative;
  overflow: hidden;
}

.birthdays-media-hover::after {
  position: absolute;
  inset: 0;
  background: rgb(200 90 50 / 0.12);
  content: "";
  opacity: 0;
  pointer-events: none;
  transition: opacity var(--transition-fast);
}

.birthdays-hero__vertical-label {
  position: absolute;
  z-index: 1;
  top: var(--space-6);
  left: var(--space-4);
  color: var(--color-chalk);
  font-size: var(--text-meta);
  font-weight: 700;
  letter-spacing: var(--tracking-meta);
  text-transform: uppercase;
  writing-mode: vertical-rl;
}

.birthdays-hero__caption {
  display: flex;
  flex-direction: column;
  min-width: 0;
  max-width: 30ch;
  margin-left: var(--space-4);
  padding-left: var(--space-4);
  border-left: 2px solid var(--color-ultramarine);
  gap: var(--space-3);
}

.birthdays-hero__caption > * {
  margin: 0;
}

.birthdays-hero__caption .meta {
  display: flex;
  align-items: center;
  gap: var(--space-2);
}

.birthdays-hero__caption .marker {
  margin: 0;
}

.birthdays-perspective__grid {
  gap: var(--space-12);
}

.birthdays-perspective__copy {
  min-width: 0;
  max-width: 62ch;
}

.birthdays-perspective__copy .lead {
  max-width: 62ch;
}

.birthdays-perspective__notes {
  display: flex;
  flex-direction: column;
  min-width: 0;
  max-width: 34ch;
  padding-top: var(--space-8);
  border-top: 2px solid var(--color-ultramarine);
  gap: var(--space-6);
}

.birthdays-note {
  min-width: 0;
  padding-bottom: var(--space-6);
  border-bottom: 1px solid var(--border-color);
}

.birthdays-note > *:last-child,
.birthdays-perspective__notes > *:last-child {
  margin-bottom: 0;
}

.birthdays-concepts__grid {
  gap: var(--space-12);
}

.birthdays-concepts__heading {
  min-width: 0;
  max-width: 62ch;
}

.birthdays-concept {
  position: relative;
  min-width: 0;
  max-width: 44ch;
  padding-top: var(--space-6);
  border-top: 1px solid var(--border-color);
}

.birthdays-concept > *:last-child {
  margin-bottom: 0;
}

.birthdays-concept__number {
  margin-bottom: var(--space-3);
  color: var(--color-ultramarine);
  font-size: var(--text-meta);
  font-weight: 700;
  letter-spacing: var(--tracking-meta);
}

.birthdays-concept__feature {
  color: var(--text-secondary);
  font-size: var(--text-small);
  font-weight: 700;
}

.birthdays-concepts__media {
  width: 100%;
  min-width: 0;
  aspect-ratio: 16 / 10;
  margin: 0;
  background: var(--surface-tertiary);
}

.birthdays-concepts__arc {
  display: none;
}

.birthdays-card-corner {
  position: absolute;
  top: calc(var(--space-6) + 4px);
  right: 0;
  width: 28px;
  height: 28px;
  border-top: 2px solid var(--color-wine);
  border-right: 2px solid var(--color-wine);
}

.birthdays-concepts__bridge {
  display: flex;
  flex-direction: column;
  min-width: 0;
  max-width: 54ch;
  gap: var(--space-4);
}

.birthdays-concepts__bridge > * {
  margin: 0;
}

.birthdays-poker {
  overflow: hidden;
}

.birthdays-poker__grid {
  position: relative;
  gap: var(--space-8);
}

.birthdays-poker__intro,
.birthdays-poker__copy {
  position: relative;
  z-index: 1;
  min-width: 0;
}

.birthdays-poker__intro {
  max-width: 48ch;
}

.birthdays-poker__media {
  position: relative;
  z-index: 1;
  width: 100%;
  min-width: 0;
  aspect-ratio: 16 / 10;
  margin: 0;
  background: var(--color-wine);
}

.birthdays-poker__copy {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-6);
}

.birthdays-poker__copy > * {
  margin: 0;
}

.birthdays-poker__copy .lead {
  max-width: 48ch;
}

.birthdays-poker__features {
  display: flex;
  flex-direction: column;
  min-width: 0;
  width: 100%;
  gap: var(--space-6);
}

.birthdays-poker__features article {
  min-width: 0;
  padding-top: var(--space-4);
  border-top: 1px solid rgb(244 241 234 / 0.55);
}

.birthdays-poker__features h3 {
  margin-bottom: var(--space-3);
  font-family: var(--font-body);
  font-size: 1rem;
  font-weight: 700;
}

.birthdays-poker__features p,
.birthdays-poker__microcopy {
  max-width: 32ch;
}

.birthdays-poker__rings {
  display: none;
}

.birthdays-poker__microcopy {
  color: rgb(244 241 234 / 0.76);
  font-size: var(--text-small);
}

.birthdays-process__grid {
  gap: var(--space-12);
}

.birthdays-process__intro {
  min-width: 0;
  max-width: 52ch;
}

.birthdays-process__steps {
  position: relative;
  display: flex;
  flex-direction: column;
  min-width: 0;
  gap: var(--space-8);
}

.birthdays-process__steps::before {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 7px;
  width: 2px;
  background: var(--color-ultramarine);
  content: "";
}

.birthdays-process__step {
  position: relative;
  min-width: 0;
  padding-left: var(--space-8);
}

.birthdays-process__step::before {
  position: absolute;
  top: 2px;
  left: 0;
  width: 16px;
  height: 16px;
  background: var(--color-chalk);
  border: 2px solid var(--color-ultramarine);
  border-radius: 50%;
  content: "";
}

.birthdays-process__step:last-child::before {
  background: var(--color-burnt-orange);
  border-color: var(--color-burnt-orange);
}

.birthdays-process__step p:not(.meta) {
  max-width: 48ch;
}

.birthdays-capabilities__grid {
  gap: var(--space-12);
}

.birthdays-capabilities__statement {
  min-width: 0;
  max-width: 58ch;
}

.birthdays-capabilities__markers {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  min-width: 0;
  border-top: 1px solid var(--border-color);
}

.birthdays-capabilities__markers span {
  min-width: 0;
  padding-block: var(--space-4);
  border-bottom: 1px solid var(--border-color);
  font-family: var(--font-heading);
  font-size: clamp(1.3rem, 4vw, 2.1rem);
  line-height: 1.1;
}

.birthdays-capabilities__closing {
  display: flex;
  flex-direction: column;
  min-width: 0;
  max-width: 54ch;
  gap: var(--space-4);
}

.birthdays-capabilities__closing > * {
  margin: 0;
}

.birthdays-faq__grid {
  gap: var(--space-12);
}

.birthdays-faq__intro {
  min-width: 0;
  max-width: 42ch;
}

.birthdays-accordion {
  min-width: 0;
}

.birthdays-accordion__item {
  min-width: 0;
  border-top: 1px solid var(--border-color);
}

.birthdays-accordion__item:last-child {
  border-bottom: 1px solid var(--border-color);
}

.birthdays-accordion__item h3 {
  margin: 0;
}

.birthdays-accordion__trigger {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  min-width: 0;
  min-height: 44px;
  padding: var(--space-6) 0;
  background: transparent;
  color: var(--color-ink);
  font-family: var(--font-heading);
  font-size: clamp(1.25rem, 2.5vw, 1.7rem);
  font-weight: 400;
  line-height: 1.15;
  text-align: left;
}

.birthdays-accordion__trigger span {
  position: relative;
  flex: 0 0 22px;
  width: 22px;
  height: 22px;
  margin-left: var(--space-4);
}

.birthdays-accordion__trigger span::before,
.birthdays-accordion__trigger span::after {
  position: absolute;
  top: 10px;
  left: 2px;
  width: 18px;
  height: 2px;
  background: var(--color-ultramarine);
  content: "";
  transition: transform var(--transition-reveal);
}

.birthdays-accordion__trigger span::after {
  transform: rotate(90deg);
}

.birthdays-accordion__trigger[aria-expanded="true"] span::after {
  transform: rotate(0deg);
}

.birthdays-accordion__panel {
  overflow: hidden;
}

.birthdays-accordion__panel > div {
  max-width: 60ch;
  padding-bottom: var(--space-6);
}

.birthdays-accordion__panel p {
  margin: 0;
}

.birthdays-accordion__panel.is-enhanced {
  height: 0;
  opacity: 0;
  transition: height var(--transition-reveal), opacity var(--transition-reveal);
}

.birthdays-accordion__panel.is-enhanced.is-open {
  opacity: 1;
}

.birthdays-enquiry__grid {
  gap: var(--space-12);
}

.birthdays-enquiry__copy {
  min-width: 0;
  max-width: 42ch;
}

.birthdays-enquiry__form {
  display: flex;
  flex-direction: column;
  min-width: 0;
  padding: var(--space-6);
  background: var(--color-chalk);
  border: 1px solid var(--border-color);
  border-radius: var(--radius-sm);
  gap: var(--space-6);
}

.birthdays-form__paired {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  min-width: 0;
  gap: var(--space-6);
}

.birthdays-form__field {
  min-width: 0;
}

.birthdays-form__field label span {
  color: var(--color-burnt-orange);
}

.birthdays-form__error {
  min-height: 1.45em;
  margin: var(--space-2) 0 0;
  color: var(--color-burnt-orange);
  font-size: var(--text-small);
  font-weight: 700;
}

.birthdays-form__checkbox {
  display: flex;
  align-items: flex-start;
  min-width: 0;
  min-height: 44px;
  gap: var(--space-3);
}

.birthdays-form__checkbox input {
  flex: 0 0 1.125rem;
  margin-top: 0.15rem;
}

.birthdays-form__checkbox label {
  min-width: 0;
  margin: 0;
  padding-top: 0.05rem;
}

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

.birthdays-form__submit > * {
  margin: 0;
}

.birthdays-form__submit > p:not(.birthdays-form__success) {
  max-width: 40ch;
  color: var(--text-secondary);
  font-size: var(--text-small);
}

.birthdays-form__success {
  max-width: 44ch;
  color: var(--color-ultramarine);
  font-weight: 700;
}

.birthdays-close {
  padding-block: var(--space-16);
  background: var(--surface-dark);
  color: var(--text-on-dark);
}

.birthdays-close__inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  min-width: 0;
  text-align: center;
  gap: var(--space-6);
}

.birthdays-close__inner > * {
  margin: 0;
}

.birthdays-close__line {
  width: 64px;
  height: 2px;
  background: var(--color-ultramarine);
}

.birthdays-close h2 {
  max-width: 13ch;
}

.birthdays-close p {
  max-width: 42ch;
}

@media (hover: hover) and (pointer: fine) {
  .birthdays-media-hover:hover img {
    transform: scale(1.03);
  }

  .birthdays-media-hover:hover::after {
    opacity: 1;
  }
}

@media (min-width: 40rem) {
  .birthdays-form__paired {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (min-width: 48rem) {
  .birthdays-hero {
    padding-block: var(--space-22) var(--space-16);
  }

  .birthdays-hero__grid {
    grid-template-columns: repeat(6, minmax(0, 1fr));
    align-items: center;
    gap: var(--space-4);
  }

  .birthdays-hero__copy {
    grid-column: 1 / span 3;
  }

  .birthdays-hero__media {
    grid-column: 4 / span 3;
    min-height: 45vh;
  }

  .birthdays-hero__caption {
    grid-column: 1 / span 3;
    margin-top: var(--space-4);
  }

  .birthdays-perspective__grid {
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: var(--space-8);
  }

  .birthdays-perspective__copy {
    grid-column: 1 / span 4;
  }

  .birthdays-perspective__notes {
    grid-column: 5 / span 2;
  }

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

  .birthdays-concepts__heading {
    grid-column: 1 / span 5;
  }

  .birthdays-concept--one,
  .birthdays-concept--three {
    grid-column: 2 / span 3;
  }

  .birthdays-concepts__media {
    grid-column: 1 / span 4;
    grid-row: 3;
  }

  .birthdays-concept--two {
    grid-column: 5 / span 2;
    grid-row: 3;
  }

  .birthdays-concepts__bridge {
    grid-column: 2 / span 4;
  }

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

  .birthdays-poker__intro {
    grid-column: 1 / span 5;
  }

  .birthdays-poker__media {
    grid-column: 1 / span 6;
  }

  .birthdays-poker__copy {
    grid-column: 2 / span 4;
  }

  .birthdays-process__grid {
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: var(--space-8);
  }

  .birthdays-process__intro {
    grid-column: 1 / span 3;
  }

  .birthdays-process__steps {
    grid-column: 4 / span 3;
  }

  .birthdays-capabilities__statement {
    grid-column: 1 / span 5;
  }

  .birthdays-capabilities__markers {
    grid-column: 1 / span 6;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    column-gap: var(--space-8);
  }

  .birthdays-capabilities__closing {
    grid-column: 2 / span 4;
  }

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

  .birthdays-faq__intro {
    grid-column: 1 / span 3;
  }

  .birthdays-accordion {
    grid-column: 2 / span 5;
  }

  .birthdays-enquiry__copy {
    grid-column: 1 / span 4;
  }

  .birthdays-enquiry__form {
    grid-column: 2 / span 4;
    padding: var(--space-8);
  }

  .birthdays-close {
    padding-block: var(--space-22);
  }
}

@media (min-width: 56.25rem) {
  .birthdays-perspective__grid,
  .birthdays-faq__grid,
  .birthdays-enquiry__grid {
    grid-template-columns: repeat(6, minmax(0, 1fr));
  }

  .birthdays-faq__intro {
    grid-column: 1 / span 2;
  }

  .birthdays-accordion {
    grid-column: 4 / span 3;
  }

  .birthdays-enquiry__grid {
    align-items: start;
  }

  .birthdays-enquiry__copy {
    grid-column: 1 / span 2;
  }

  .birthdays-enquiry__form {
    grid-column: 4 / span 3;
  }
}

@media (min-width: 68.75rem) {
  .birthdays-hero {
    min-height: 80vh;
    padding-block: var(--space-16);
  }

  .birthdays-hero__grid,
  .birthdays-perspective__grid,
  .birthdays-concepts__grid,
  .birthdays-poker__grid,
  .birthdays-process__grid,
  .birthdays-capabilities__grid,
  .birthdays-faq__grid,
  .birthdays-enquiry__grid {
    grid-template-columns: repeat(12, minmax(0, 1fr));
    column-gap: 20px;
  }

  .birthdays-hero__grid {
    align-items: center;
  }

  .birthdays-hero__copy {
    grid-column: 1 / span 5;
  }

  .birthdays-hero__copy h1 {
    max-width: 9.5ch;
  }

  .birthdays-hero__copy .lead {
    max-width: 42ch;
  }

  .birthdays-hero__media {
    grid-column: 7 / span 6;
    grid-row: 1;
    min-height: 72vh;
    margin-right: calc((100vw - var(--content-width)) / -2);
  }

  .birthdays-hero__caption {
    grid-column: 8 / span 3;
    margin-top: 0;
  }

  .birthdays-perspective__grid {
    position: relative;
    align-items: start;
  }

  .birthdays-perspective__grid::before {
    position: absolute;
    top: 96px;
    left: 0;
    width: 66.666%;
    height: 2px;
    background: var(--color-ultramarine);
    content: "";
  }

  .birthdays-perspective__copy {
    grid-column: 2 / span 5;
  }

  .birthdays-perspective__notes {
    grid-column: 9 / span 3;
    padding-top: 0;
    border-top: 0;
  }

  .birthdays-concepts__heading {
    grid-column: 1 / span 6;
  }

  .birthdays-concept--one {
    grid-column: 2 / span 4;
  }

  .birthdays-concepts__arc {
    display: block;
    grid-column: 8 / span 4;
    grid-row: 2;
    align-self: stretch;
    min-width: 0;
    min-height: 250px;
    border: 1px solid var(--color-ultramarine);
    border-bottom: 0;
    border-radius: 50% 50% 0 0;
    opacity: 0.75;
  }

  .birthdays-concepts__media {
    grid-column: 1 / span 7;
    grid-row: 3;
    min-height: 440px;
  }

  .birthdays-concept--two {
    grid-column: 9 / span 4;
    grid-row: 3;
    align-self: center;
  }

  .birthdays-concept--three {
    grid-column: 4 / span 5;
  }

  .birthdays-concepts__bridge {
    grid-column: 4 / span 5;
  }

  .birthdays-poker__grid {
    align-items: center;
  }

  .birthdays-poker__intro {
    grid-column: 9 / span 4;
    grid-row: 1;
  }

  .birthdays-poker__media {
    grid-column: 1 / span 7;
    grid-row: 1 / span 2;
    min-height: 560px;
    margin-left: calc((100vw - var(--content-width)) / -2);
  }

  .birthdays-poker__copy {
    grid-column: 9 / span 4;
    grid-row: 2;
  }

  .birthdays-poker__copy .lead {
    max-width: 40ch;
  }

  .birthdays-poker__rings {
    display: block;
    position: absolute;
    z-index: 0;
    right: -100px;
    top: 22%;
    width: 410px;
    aspect-ratio: 1;
    border: 1px solid rgb(244 241 234 / 0.24);
    border-radius: 50%;
  }

  .birthdays-poker__rings::before,
  .birthdays-poker__rings::after {
    position: absolute;
    border: 1px solid rgb(244 241 234 / 0.18);
    border-radius: 50%;
    content: "";
  }

  .birthdays-poker__rings::before {
    inset: 42px;
  }

  .birthdays-poker__rings::after {
    inset: 86px;
  }

  .birthdays-process__intro {
    grid-column: 1 / span 5;
  }

  .birthdays-process__steps {
    grid-column: 6 / span 7;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: var(--space-6);
    padding-top: var(--space-8);
  }

  .birthdays-process__steps::before {
    top: 0;
    right: 0;
    bottom: auto;
    left: 0;
    width: 100%;
    height: 2px;
  }

  .birthdays-process__step {
    padding: var(--space-6) 0 0;
  }

  .birthdays-process__step::before {
    top: -7px;
    left: 0;
  }

  .birthdays-process__step p:not(.meta) {
    max-width: 26ch;
  }

  .birthdays-capabilities__statement {
    grid-column: 3 / span 7;
  }

  .birthdays-capabilities__markers {
    grid-column: 1 / span 12;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    column-gap: var(--space-8);
  }

  .birthdays-capabilities__markers span:nth-child(2),
  .birthdays-capabilities__markers span:nth-child(5) {
    transform: translateY(var(--space-4));
  }

  .birthdays-capabilities__closing {
    grid-column: 3 / span 7;
  }

  .birthdays-faq__intro {
    grid-column: 1 / span 4;
  }

  .birthdays-accordion {
    grid-column: 6 / span 6;
  }

  .birthdays-enquiry__copy {
    grid-column: 1 / span 4;
  }

  .birthdays-enquiry__form {
    grid-column: 6 / span 6;
    padding: var(--space-12);
  }

  .birthdays-close {
    padding-block: var(--space-32);
  }

  .birthdays-close__inner {
    width: calc((100% / 12) * 7 + (20px * 6));
    margin-inline: auto;
  }

  .birthdays-close p {
    max-width: 54ch;
  }
}

@media (max-width: 26.25rem) {
  .birthdays-page .button {
    width: 100%;
  }
}

@media (prefers-reduced-motion: reduce) {
  .birthdays-media-hover img,
  .birthdays-media-hover::after,
  .birthdays-accordion__panel,
  .birthdays-accordion__trigger span::before,
  .birthdays-accordion__trigger span::after {
    transition: none;
  }

  .birthdays-capabilities__markers span:nth-child(2),
  .birthdays-capabilities__markers span:nth-child(5) {
    transform: none;
  }
}


.themed-evenings-page {
  overflow: clip;
}

.themed-evenings-page .te-container {
  width: var(--content-width);
  margin-inline: auto;
}

.themed-evenings-page .te-label {
  margin: 0;
  font-size: var(--text-meta);
  font-weight: 700;
  letter-spacing: var(--tracking-meta);
  line-height: var(--leading-meta);
  text-transform: uppercase;
}

.themed-evenings-page .te-section-head {
  display: flex;
  flex-direction: column;
  min-width: 0;
  gap: var(--space-4);
}

.themed-evenings-page .te-section-head > * {
  min-width: 0;
  margin: 0;
}

.themed-evenings-page .te-section-head h2 {
  margin: 0;
}

.themed-evenings-page .te-section-head p {
  margin: 0;
}

.themed-evenings-page .te-hero {
  background: var(--surface-dark);
  color: var(--text-on-dark);
}

.themed-evenings-page .te-hero-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
}

.themed-evenings-page .te-hero-media,
.themed-evenings-page .te-hero-copy {
  min-width: 0;
  width: 100%;
}

.themed-evenings-page .te-hero-media {
  order: 1;
  min-height: 64vh;
  overflow: hidden;
  background: var(--color-ink);
}

.themed-evenings-page .te-hero-media img {
  width: 100%;
  height: 100%;
  min-width: 0;
  object-fit: cover;
  object-position: 55% center;
}

.themed-evenings-page .te-hero-copy {
  order: 2;
  display: flex;
  flex-direction: column;
  gap: var(--space-6);
  padding: var(--space-12) var(--gutter);
  background: var(--surface-dark);
}

.themed-evenings-page .te-hero-copy > * {
  min-width: 0;
  margin: 0;
}

.themed-evenings-page .te-hero-label {
  display: flex;
  align-items: center;
  gap: var(--space-3);
  color: var(--color-chalk);
}

.themed-evenings-page .te-hero-label::before {
  width: 3rem;
  height: 2px;
  background: var(--color-ultramarine);
  content: "";
}

.themed-evenings-page .te-hero-title {
  max-width: 10ch;
  font-family: var(--font-heading);
  font-size: clamp(3.1rem, 14vw, 4.6rem);
  font-weight: 400;
  letter-spacing: var(--tracking-h1);
  line-height: var(--leading-h1);
}

.themed-evenings-page .te-hero-lead {
  max-width: 38ch;
  font-size: 1.125rem;
  line-height: var(--leading-lead);
}

.themed-evenings-page .te-hero-cue {
  color: var(--color-greige);
  font-size: var(--text-small);
  line-height: var(--leading-small);
}

.themed-evenings-page .te-hero .button {
  align-self: flex-start;
}

.themed-evenings-page .te-concept {
  background: var(--surface-page);
  padding-block: var(--section-space);
}

.themed-evenings-page .te-concept-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: var(--space-12);
}

.themed-evenings-page .te-concept-intro,
.themed-evenings-page .te-concept-image,
.themed-evenings-page .te-concept-notes {
  min-width: 0;
  width: 100%;
}

.themed-evenings-page .te-concept-intro p {
  max-width: 42ch;
}

.themed-evenings-page .te-concept-image {
  overflow: hidden;
  background: var(--surface-tertiary);
}

.themed-evenings-page .te-concept-image img {
  width: 100%;
  height: auto;
  aspect-ratio: 3 / 2;
  object-fit: cover;
}

.themed-evenings-page .te-concept-notes {
  display: flex;
  flex-direction: column;
  gap: var(--space-8);
}

.themed-evenings-page .te-note {
  position: relative;
  display: flex;
  flex-direction: column;
  min-width: 0;
  gap: var(--space-3);
  padding-block-start: var(--space-6);
  border-top: 1px solid var(--border-color);
}

.themed-evenings-page .te-note > * {
  min-width: 0;
  margin: 0;
}

.themed-evenings-page .te-note-number {
  color: var(--color-ultramarine);
  font-size: var(--text-meta);
  font-weight: 700;
  letter-spacing: var(--tracking-meta);
}

.themed-evenings-page .te-note p {
  max-width: 42ch;
}

.themed-evenings-page .te-note--caption {
  padding: var(--space-6);
  background: var(--surface-tertiary);
  border: 0;
}

.themed-evenings-page .te-repertoire {
  padding-block: var(--section-space);
  background: var(--surface-secondary);
}

.themed-evenings-page .te-repertoire-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: var(--space-12);
}

.themed-evenings-page .te-repertoire-intro,
.themed-evenings-page .te-concept-list {
  min-width: 0;
  width: 100%;
}

.themed-evenings-page .te-repertoire-intro p {
  max-width: 52ch;
}

.themed-evenings-page .te-concept-list {
  display: flex;
  flex-direction: column;
  gap: var(--space-8);
}

.themed-evenings-page .te-concept-entry {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  min-width: 0;
  gap: var(--space-4);
  padding-block-start: var(--space-6);
  border-top: 1px solid var(--border-color);
}

.themed-evenings-page .te-concept-entry > * {
  min-width: 0;
  margin: 0;
}

.themed-evenings-page .te-concept-entry h3 {
  font-size: clamp(1.75rem, 6vw, 2.35rem);
}

.themed-evenings-page .te-concept-entry p {
  max-width: 60ch;
}

.themed-evenings-page .te-concept-entry .te-label {
  color: var(--text-secondary);
}

.themed-evenings-page .te-concept-entry--poker {
  padding: var(--space-6);
  background: var(--surface-wine);
  border-top: 0;
  color: var(--text-on-dark);
}

.themed-evenings-page .te-concept-entry--poker .te-label,
.themed-evenings-page .te-concept-entry--poker a {
  color: var(--color-chalk);
}

.themed-evenings-page .te-poker-feature {
  background: var(--surface-dark);
  color: var(--text-on-dark);
}

.themed-evenings-page .te-poker-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
}

.themed-evenings-page .te-poker-media,
.themed-evenings-page .te-poker-copy {
  min-width: 0;
  width: 100%;
}

.themed-evenings-page .te-poker-media {
  order: 1;
  min-height: 62vh;
  overflow: hidden;
}

.themed-evenings-page .te-poker-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

.themed-evenings-page .te-poker-copy {
  order: 2;
  display: flex;
  flex-direction: column;
  min-width: 0;
  gap: var(--space-8);
  padding: var(--space-12) var(--gutter);
}

.themed-evenings-page .te-poker-copy > * {
  min-width: 0;
  margin: 0;
}

.themed-evenings-page .te-poker-copy h2 {
  max-width: 11ch;
}

.themed-evenings-page .te-poker-copy > p {
  max-width: 42ch;
}

.themed-evenings-page .te-poker-components {
  display: flex;
  flex-direction: column;
  min-width: 0;
  gap: var(--space-4);
}

.themed-evenings-page .te-poker-components > div {
  display: grid;
  grid-template-columns: minmax(6rem, 0.7fr) minmax(0, 1.6fr);
  min-width: 0;
  gap: var(--space-4);
  padding-block: var(--space-4);
  border-top: 1px solid rgb(244 241 234 / 0.35);
}

.themed-evenings-page .te-poker-components dt,
.themed-evenings-page .te-poker-components dd {
  min-width: 0;
  margin: 0;
}

.themed-evenings-page .te-poker-components dt {
  font-size: var(--text-meta);
  letter-spacing: var(--tracking-meta);
  text-transform: uppercase;
}

.themed-evenings-page .te-poker-components dd {
  font-size: var(--text-small);
  line-height: var(--leading-small);
}

.themed-evenings-page .te-poker-copy a {
  align-self: flex-start;
  color: var(--color-chalk);
}

.themed-evenings-page .te-process {
  position: relative;
  padding-block: var(--section-space);
  background: var(--surface-page);
}

.themed-evenings-page .te-process-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: var(--space-12);
}

.themed-evenings-page .te-process-intro,
.themed-evenings-page .te-process-steps {
  min-width: 0;
  width: 100%;
}

.themed-evenings-page .te-process-intro p {
  max-width: 50ch;
}

.themed-evenings-page .te-process-steps {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: var(--space-8);
  padding-inline-start: var(--space-6);
  border-inline-start: 2px solid var(--color-ultramarine);
}

.themed-evenings-page .te-process-step {
  display: flex;
  flex-direction: column;
  min-width: 0;
  gap: var(--space-3);
}

.themed-evenings-page .te-process-step > * {
  min-width: 0;
  margin: 0;
}

.themed-evenings-page .te-process-number {
  color: var(--color-ultramarine);
  font-size: var(--text-meta);
  font-weight: 700;
  letter-spacing: var(--tracking-meta);
}

.themed-evenings-page .te-process-step p {
  max-width: 44ch;
}

.themed-evenings-page .te-process-step:last-child::after {
  display: block;
  width: 4rem;
  height: 2px;
  margin-block-start: var(--space-3);
  background: var(--color-burnt-orange);
  content: "";
}

.themed-evenings-page .te-themes {
  padding-block: var(--section-space);
  background: var(--surface-tertiary);
}

.themed-evenings-page .te-themes-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: var(--space-12);
}

.themed-evenings-page .te-themes-intro,
.themed-evenings-page .te-accordion {
  min-width: 0;
  width: 100%;
}

.themed-evenings-page .te-themes-intro p {
  max-width: 54ch;
}

.themed-evenings-page .te-accordion {
  border-top: 1px solid var(--border-color);
}

.themed-evenings-page .te-accordion-item {
  min-width: 0;
  border-bottom: 1px solid var(--border-color);
}

.themed-evenings-page .te-accordion-button {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 2.75rem;
  align-items: center;
  width: 100%;
  min-width: 0;
  min-height: 3.5rem;
  padding: var(--space-4) 0;
  background: transparent;
  border: 0;
  border-radius: 0;
  color: var(--text-primary);
  text-align: left;
}

.themed-evenings-page .te-accordion-button > span {
  min-width: 0;
  font-family: var(--font-heading);
  font-size: clamp(1.4rem, 5vw, 2rem);
  line-height: 1.08;
}

.themed-evenings-page .te-accordion-icon {
  display: grid;
  width: 2.75rem;
  min-height: 2.75rem;
  place-items: center;
  color: var(--color-ultramarine);
  font-family: var(--font-body) !important;
  font-size: 1.5rem !important;
}

.themed-evenings-page .te-accordion-button[aria-expanded="true"] .te-accordion-icon::before {
  content: "−";
}

.themed-evenings-page .te-accordion-button[aria-expanded="false"] .te-accordion-icon::before {
  content: "+";
}

.themed-evenings-page .te-accordion-panel {
  overflow: hidden;
}

.themed-evenings-page .te-accordion-panel[hidden] {
  display: none;
}

.themed-evenings-page .te-accordion-panel p {
  max-width: 60ch;
  margin: 0;
  padding-block: 0 var(--space-6);
}

.themed-evenings-page .te-accordion-item--poker .te-accordion-button {
  position: relative;
}

.themed-evenings-page .te-accordion-item--poker .te-accordion-button::before {
  width: 0.5rem;
  height: 0.5rem;
  margin-inline-end: var(--space-3);
  background: var(--color-wine);
  content: "";
}

.themed-evenings-page .te-participation {
  padding-block: var(--section-space);
  background: var(--surface-page);
}

.themed-evenings-page .te-participation-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: var(--space-8);
}

.themed-evenings-page .te-participation-media,
.themed-evenings-page .te-participation-copy,
.themed-evenings-page .te-participation-caption {
  min-width: 0;
  width: 100%;
}

.themed-evenings-page .te-participation-media {
  overflow: hidden;
  background: var(--surface-tertiary);
}

.themed-evenings-page .te-participation-media img {
  width: 100%;
  height: auto;
  aspect-ratio: 4 / 3;
  object-fit: cover;
}

.themed-evenings-page .te-participation-caption {
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
  width: calc(100% - var(--space-4));
  margin-inline-start: var(--space-4);
  padding: var(--space-6);
  background: var(--surface-tertiary);
}

.themed-evenings-page .te-participation-caption > * {
  min-width: 0;
  margin: 0;
}

.themed-evenings-page .te-participation-caption p {
  max-width: 42ch;
}

.themed-evenings-page .te-participation-copy {
  display: flex;
  flex-direction: column;
  gap: var(--space-8);
}

.themed-evenings-page .te-participation-copy > * {
  min-width: 0;
  margin: 0;
}

.themed-evenings-page .te-participation-copy .te-section-head {
  text-align: left;
}

.themed-evenings-page .te-participation-copy .te-section-head p {
  max-width: 40ch;
}

.themed-evenings-page .te-participation-notes {
  display: flex;
  flex-direction: column;
  min-width: 0;
  gap: var(--space-6);
}

.themed-evenings-page .te-participation-note {
  display: flex;
  flex-direction: column;
  min-width: 0;
  gap: var(--space-3);
  padding-block-start: var(--space-6);
  border-top: 1px solid var(--border-color);
}

.themed-evenings-page .te-participation-note > * {
  min-width: 0;
  margin: 0;
}

.themed-evenings-page .te-participation-note p {
  max-width: 48ch;
}

.themed-evenings-page .te-lenses {
  padding-block: var(--section-space);
  background: linear-gradient(105deg, var(--surface-secondary) 0%, var(--surface-secondary) 48%, var(--surface-page) 48%);
}

.themed-evenings-page .te-lenses-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: var(--space-12);
}

.themed-evenings-page .te-lenses-intro,
.themed-evenings-page .te-lens-list {
  min-width: 0;
  width: 100%;
}

.themed-evenings-page .te-lenses-intro p {
  max-width: 52ch;
}

.themed-evenings-page .te-lens-list {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: var(--space-4);
}

.themed-evenings-page .te-lens {
  display: flex;
  flex-direction: column;
  min-width: 0;
  gap: var(--space-4);
  padding: var(--space-6);
  border: 1px solid var(--border-color);
  transition: border-color var(--transition-fast);
}

.themed-evenings-page .te-lens > * {
  min-width: 0;
  margin: 0;
}

.themed-evenings-page .te-lens h3 {
  font-size: clamp(1.625rem, 5vw, 2rem);
}

.themed-evenings-page .te-lens p {
  max-width: 38ch;
}

.themed-evenings-page .te-lens:hover {
  border-color: var(--color-ultramarine);
}

.themed-evenings-page .te-lens--greige {
  background: var(--surface-secondary);
}

.themed-evenings-page .te-lens--chalk {
  position: relative;
  background: var(--surface-page);
}

.themed-evenings-page .te-lens--chalk::before {
  position: absolute;
  top: var(--space-4);
  right: var(--space-4);
  width: 1rem;
  height: 1rem;
  border-top: 2px solid var(--color-ultramarine);
  border-right: 2px solid var(--color-ultramarine);
  content: "";
}

.themed-evenings-page .te-lens--stone {
  background: var(--surface-tertiary);
}

.themed-evenings-page .te-lens--ink {
  background: var(--surface-dark);
  border-color: var(--surface-dark);
  color: var(--text-on-dark);
}

.themed-evenings-page .te-lens--ink a {
  align-self: flex-start;
  color: var(--color-chalk);
}

.themed-evenings-page .te-reassurance {
  padding-block: var(--section-space);
  background: var(--surface-dark);
  color: var(--text-on-dark);
}

.themed-evenings-page .te-reassurance-label {
  display: flex;
  align-items: center;
  gap: var(--space-3);
  margin: 0 0 var(--space-8);
}

.themed-evenings-page .te-reassurance-label::before {
  width: 3rem;
  height: 2px;
  background: var(--color-ultramarine);
  content: "";
}

.themed-evenings-page .te-reassurance-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: var(--space-8);
}

.themed-evenings-page .te-reassurance-item {
  display: flex;
  flex-direction: column;
  min-width: 0;
  gap: var(--space-4);
  padding-block-start: var(--space-6);
  border-top: 1px solid rgb(244 241 234 / 0.45);
}

.themed-evenings-page .te-reassurance-item > * {
  min-width: 0;
  margin: 0;
}

.themed-evenings-page .te-reassurance-item h3 {
  font-size: clamp(1.55rem, 5vw, 2rem);
}

.themed-evenings-page .te-reassurance-item p {
  max-width: 40ch;
}

.themed-evenings-page .te-reassurance-item a {
  color: var(--color-chalk);
}

.themed-evenings-page .te-reassurance-item--poker h3::before {
  display: inline-block;
  width: 0.85rem;
  height: 0.85rem;
  margin-inline-end: var(--space-3);
  border: 1px solid var(--color-wine);
  border-radius: 50%;
  content: "";
}

.themed-evenings-page .te-final {
  padding-block: var(--section-space);
  background: var(--surface-page);
}

.themed-evenings-page .te-final-field {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  min-width: 0;
  padding: var(--space-16) var(--gutter);
  background: var(--surface-accent);
  color: var(--text-on-dark);
}

.themed-evenings-page .te-final-field::before {
  position: absolute;
  top: var(--space-8);
  left: 0;
  width: 3rem;
  height: 2px;
  background: var(--color-burnt-orange);
  content: "";
}

.themed-evenings-page .te-final-copy {
  display: flex;
  flex-direction: column;
  min-width: 0;
  gap: var(--space-6);
}

.themed-evenings-page .te-final-copy > * {
  min-width: 0;
  margin: 0;
}

.themed-evenings-page .te-final-copy h2 {
  max-width: 13ch;
}

.themed-evenings-page .te-final-copy p {
  max-width: 42ch;
}

.themed-evenings-page .te-final-copy .button {
  align-self: flex-start;
  background: var(--color-burnt-orange);
  border-color: var(--color-burnt-orange);
}

.themed-evenings-page .te-final-copy .button:hover {
  background: var(--color-ink);
  border-color: var(--color-ink);
}

.themed-evenings-page .te-final-scope {
  color: var(--color-chalk);
  font-size: var(--text-small);
  font-weight: 700;
  letter-spacing: 0.04em;
  line-height: var(--leading-small);
}

@media (min-width: 48rem) {
  .themed-evenings-page .te-hero-copy,
  .themed-evenings-page .te-poker-copy {
    padding-inline: max(var(--gutter), calc((100vw - var(--container-max)) / 2));
  }

  .themed-evenings-page .te-concept-grid {
    grid-template-columns: repeat(6, minmax(0, 1fr));
    column-gap: var(--space-6);
    row-gap: var(--space-12);
  }

  .themed-evenings-page .te-concept-intro {
    grid-column: 1 / span 2;
    grid-row: 1 / span 2;
  }

  .themed-evenings-page .te-concept-image {
    grid-column: 4 / span 3;
    grid-row: 1;
  }

  .themed-evenings-page .te-concept-notes {
    grid-column: 3 / span 3;
    grid-row: 2;
  }

  .themed-evenings-page .te-repertoire-grid {
    grid-template-columns: repeat(6, minmax(0, 1fr));
    column-gap: var(--space-6);
  }

  .themed-evenings-page .te-repertoire-intro {
    grid-column: 1 / span 4;
  }

  .themed-evenings-page .te-concept-list {
    grid-column: 1 / -1;
  }

  .themed-evenings-page .te-concept-entry {
    grid-template-columns: minmax(0, 2fr) minmax(0, 4fr);
    column-gap: var(--space-6);
  }

  .themed-evenings-page .te-poker-components > div {
    grid-template-columns: minmax(7rem, 0.8fr) minmax(0, 1.7fr);
  }

  .themed-evenings-page .te-process-grid {
    grid-template-columns: repeat(6, minmax(0, 1fr));
    column-gap: var(--space-6);
  }

  .themed-evenings-page .te-process-intro {
    grid-column: 1 / span 2;
  }

  .themed-evenings-page .te-process-steps {
    grid-column: 3 / -1;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    padding-inline-start: 0;
    border-inline-start: 0;
  }

  .themed-evenings-page .te-themes-grid {
    grid-template-columns: repeat(6, minmax(0, 1fr));
    column-gap: var(--space-6);
  }

  .themed-evenings-page .te-themes-intro {
    grid-column: 1 / span 3;
  }

  .themed-evenings-page .te-accordion {
    grid-column: 2 / -1;
  }

  .themed-evenings-page .te-participation-grid {
    grid-template-columns: repeat(6, minmax(0, 1fr));
    column-gap: var(--space-6);
  }

  .themed-evenings-page .te-participation-media {
    grid-column: 1 / span 4;
    grid-row: 1;
  }

  .themed-evenings-page .te-participation-caption {
    grid-column: 2 / span 3;
    grid-row: 2;
    margin-block-start: calc(var(--space-12) * -1);
  }

  .themed-evenings-page .te-participation-copy {
    grid-column: 5 / -1;
    grid-row: 1 / span 2;
  }

  .themed-evenings-page .te-lenses-grid {
    grid-template-columns: repeat(6, minmax(0, 1fr));
    column-gap: var(--space-6);
  }

  .themed-evenings-page .te-lenses-intro {
    grid-column: 1 / span 3;
  }

  .themed-evenings-page .te-lens-list {
    grid-column: 4 / -1;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .themed-evenings-page .te-reassurance-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    column-gap: var(--space-6);
  }

  .themed-evenings-page .te-final-field {
    grid-template-columns: repeat(6, minmax(0, 1fr));
    padding: var(--space-22) var(--space-8);
  }

  .themed-evenings-page .te-final-copy {
    grid-column: 2 / span 4;
  }
}

@media (min-width: 53.125rem) {
  .themed-evenings-page .te-final-field {
    width: calc(100% - 8.333%);
    margin-inline-start: 8.333%;
  }
}

@media (min-width: 56.25rem) {
  .themed-evenings-page .te-repertoire-intro {
    grid-column: 1 / span 3;
  }

  .themed-evenings-page .te-concept-list {
    grid-column: 1 / -1;
  }
}

@media (min-width: 61.25rem) {
  .themed-evenings-page .te-hero {
    min-height: 80vh;
  }

  .themed-evenings-page .te-hero-grid {
    grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
    min-height: 80vh;
  }

  .themed-evenings-page .te-hero-copy {
    order: 1;
    justify-content: end;
    min-height: 80vh;
    padding: var(--space-16) var(--space-8) var(--space-16) max(var(--gutter), calc((100vw - var(--container-max)) / 2));
  }

  .themed-evenings-page .te-hero-media {
    order: 2;
    min-height: 80vh;
  }

  .themed-evenings-page .te-hero-title {
    font-size: clamp(3.25rem, 6vw, 5.5rem);
  }

  .themed-evenings-page .te-hero-label {
    position: absolute;
    top: 50%;
    left: max(var(--space-3), calc((100vw - var(--container-max)) / 2));
    transform: translate(-1.7rem, -50%) rotate(-90deg);
    transform-origin: left center;
  }

  .themed-evenings-page .te-hero-label::before {
    display: none;
  }

  .themed-evenings-page .te-poker-grid {
    grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
    min-height: 70vh;
  }

  .themed-evenings-page .te-poker-copy {
    order: 1;
    justify-content: center;
    padding: var(--space-16) var(--space-8) var(--space-16) max(var(--gutter), calc((100vw - var(--container-max)) / 2));
  }

  .themed-evenings-page .te-poker-media {
    order: 2;
    min-height: 70vh;
  }

  .themed-evenings-page .te-participation-copy .te-section-head {
    text-align: right;
  }
}

@media (min-width: 68.75rem) {
  .themed-evenings-page .te-concept-grid,
  .themed-evenings-page .te-repertoire-grid,
  .themed-evenings-page .te-process-grid,
  .themed-evenings-page .te-themes-grid,
  .themed-evenings-page .te-participation-grid,
  .themed-evenings-page .te-lenses-grid {
    grid-template-columns: repeat(12, minmax(0, 1fr));
    column-gap: var(--space-6);
  }

  .themed-evenings-page .te-concept-intro {
    grid-column: 1 / span 4;
  }

  .themed-evenings-page .te-concept-image {
    grid-column: 8 / span 5;
    grid-row: 1 / span 2;
  }

  .themed-evenings-page .te-concept-notes {
    grid-column: 5 / span 3;
    grid-row: 1 / span 2;
  }

  .themed-evenings-page .te-note--caption {
    transform: translateX(var(--space-6));
  }

  .themed-evenings-page .te-repertoire-intro {
    grid-column: 1 / span 6;
  }

  .themed-evenings-page .te-concept-list {
    grid-column: 1 / -1;
  }

  .themed-evenings-page .te-concept-entry {
    grid-template-columns: minmax(0, 4fr) minmax(0, 7fr) minmax(1rem, 1fr);
  }

  .themed-evenings-page .te-concept-entry::after {
    width: 2px;
    height: 100%;
    justify-self: end;
    background: var(--color-ultramarine);
    content: "";
  }

  .themed-evenings-page .te-concept-entry--poker {
    width: calc(100% - 25%);
    margin-inline-start: 25%;
  }

  .themed-evenings-page .te-concept-entry--poker::after {
    background: var(--color-burnt-orange);
  }

  .themed-evenings-page .te-process-intro {
    grid-column: 1 / span 4;
  }

  .themed-evenings-page .te-process-steps {
    grid-column: 5 / -1;
  }

  .themed-evenings-page .te-themes-intro {
    grid-column: 1 / span 6;
  }

  .themed-evenings-page .te-accordion {
    grid-column: 4 / span 8;
  }

  .themed-evenings-page .te-participation-media {
    grid-column: 1 / span 7;
  }

  .themed-evenings-page .te-participation-caption {
    grid-column: 5 / span 3;
  }

  .themed-evenings-page .te-participation-copy {
    grid-column: 9 / span 4;
  }

  .themed-evenings-page .te-lenses-intro {
    grid-column: 1 / span 5;
  }

  .themed-evenings-page .te-lens-list {
    grid-column: 6 / -1;
  }

  .themed-evenings-page .te-final-field {
    grid-template-columns: repeat(10, minmax(0, 1fr));
  }

  .themed-evenings-page .te-final-copy {
    grid-column: 2 / span 5;
  }
}

@media (max-width: 47.9375rem) {
  .themed-evenings-page .te-lenses {
    background: var(--surface-secondary);
  }

  .themed-evenings-page .te-final-copy .button {
    width: 100%;
  }
}

@media (prefers-reduced-motion: no-preference) {
  .themed-evenings-page .te-concept-image img,
  .themed-evenings-page .te-poker-media img,
  .themed-evenings-page .te-participation-media img {
    transition: transform var(--transition-fast);
  }

  .themed-evenings-page .te-concept-image:hover img,
  .themed-evenings-page .te-poker-media:hover img,
  .themed-evenings-page .te-participation-media:hover img {
    transform: scale(1.03);
  }
}


.corporate-events-page {
  overflow: hidden;
  background: var(--surface-page);
}

.corporate-events-page .section {
  position: relative;
}

.ce-hero {
  padding-block: 0 var(--space-16);
}

.ce-hero__grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: var(--space-8);
  min-width: 0;
}

.ce-hero__marker,
.ce-hero__copy,
.ce-hero__media {
  min-width: 0;
  width: 100%;
}

.ce-hero__marker {
  margin-block-start: var(--space-8);
  color: var(--color-ultramarine);
}

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

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

.ce-hero__copy h1 {
  max-width: 30ch;
}

.ce-hero__copy .lead {
  max-width: 50ch;
}

.ce-hero__copy > p:not(.lead) {
  max-width: 56ch;
}

.ce-hero__context {
  color: var(--text-secondary);
  font-size: var(--text-small);
  line-height: var(--leading-small);
}

.ce-hero__media {
  min-height: 58vh;
  overflow: hidden;
  background: var(--surface-tertiary);
}

.ce-hero__media img,
.ce-dramaturgy__media img,
.ce-poker__figure img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform var(--transition-fast);
}

.ce-hero__media img {
  object-position: center center;
}

.ce-image-hover {
  position: relative;
  overflow: hidden;
}

.ce-image-hover::after {
  position: absolute;
  inset: 0;
  background: rgb(200 90 50 / 0);
  content: "";
  pointer-events: none;
  transition: background-color var(--transition-fast);
}

.ce-occasions__intro,
.ce-layers__intro,
.ce-brief__intro {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-6);
  min-width: 0;
}

.ce-occasions__intro > *,
.ce-layers__intro > *,
.ce-brief__intro > * {
  min-width: 0;
  margin: 0;
}

.ce-occasions__intro {
  max-width: 60ch;
}

.ce-occasions__grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: var(--space-12);
  margin-top: var(--space-12);
}

.ce-occasion {
  min-width: 0;
  width: 100%;
}

.ce-occasion h3,
.ce-occasion p {
  max-width: 42ch;
}

.ce-occasion__rule {
  display: block;
  width: 3rem;
  height: 2px;
  margin-bottom: var(--space-4);
  background: var(--color-ultramarine);
}

.ce-occasion__heading,
.ce-occasion__offset-heading {
  display: flex;
  align-items: flex-start;
  gap: var(--space-3);
  min-width: 0;
}

.ce-occasion__heading > *,
.ce-occasion__offset-heading > * {
  min-width: 0;
}

.ce-occasion__heading .marker {
  flex: 0 0 0.5rem;
  margin-top: 0.65rem;
}

.ce-occasion__offset-heading {
  flex-direction: column;
}

.ce-occasion__examples {
  color: var(--text-secondary);
  font-size: var(--text-small);
  line-height: var(--leading-small);
}

.ce-dramaturgy__grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: var(--space-8);
  min-width: 0;
}

.ce-dramaturgy__figure,
.ce-dramaturgy__rail {
  min-width: 0;
  width: 100%;
}

.ce-dramaturgy__media {
  min-height: 17.5rem;
  overflow: hidden;
}

.ce-dramaturgy__media img {
  object-position: center center;
}

.ce-dramaturgy__figure figcaption {
  padding: var(--space-4);
  margin: 0;
  background: var(--surface-tertiary);
}

.ce-dramaturgy__rail {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-6);
  border-top: 2px solid var(--color-ultramarine);
  padding-top: var(--space-6);
}

.ce-dramaturgy__rail > *,
.ce-dramaturgy__point > * {
  min-width: 0;
  margin: 0;
}

.ce-dramaturgy__rail h2 {
  max-width: 24ch;
}

.ce-dramaturgy__rail > p:not(.meta) {
  max-width: 44ch;
}

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

.ce-dramaturgy__point p {
  max-width: 44ch;
}

.ce-route {
  display: block;
  width: 4.5rem;
  height: 1.5rem;
  margin-top: var(--space-2);
  border-top: 1px solid var(--color-ultramarine);
  border-right: 1px solid var(--color-ultramarine);
  border-radius: 0 2rem 0 0;
}

.ce-process__intro {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-6);
  min-width: 0;
  margin-bottom: var(--space-12);
}

.ce-process__intro > * {
  min-width: 0;
  margin: 0;
}

.ce-process__intro .lead {
  max-width: 54ch;
}

.ce-process__steps {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: var(--space-8);
  min-width: 0;
}

.ce-step {
  position: relative;
  min-width: 0;
  width: 100%;
  padding-left: 3rem;
}

.ce-step::before {
  position: absolute;
  top: 0;
  bottom: -2rem;
  left: 0.95rem;
  width: 1px;
  background: var(--color-ultramarine);
  content: "";
}

.ce-step:last-child::before {
  bottom: 0;
}

.ce-step__number {
  position: absolute;
  top: 0;
  left: 0;
  margin: 0;
  color: var(--color-ultramarine);
  font-size: var(--text-meta);
  font-weight: 700;
  letter-spacing: var(--tracking-meta);
}

.ce-step h3,
.ce-step p:not(.ce-step__number) {
  max-width: 58ch;
}

.ce-poker__grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: var(--space-8);
  min-width: 0;
}

.ce-poker__copy,
.ce-poker__figure {
  min-width: 0;
  width: 100%;
}

.ce-poker__copy {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-6);
}

.ce-poker__copy > * {
  min-width: 0;
  margin: 0;
}

.ce-poker__label {
  color: var(--color-wine);
}

.ce-poker__copy h2 {
  max-width: 24ch;
}

.ce-poker__copy .lead {
  max-width: 42ch;
}

.ce-poker__copy > p:not(.lead):not(.meta) {
  max-width: 50ch;
}

.ce-poker__copy blockquote {
  max-width: 42ch;
  border-inline-start-color: var(--color-wine);
  font-size: clamp(1.25rem, 2vw, 1.65rem);
}

.ce-poker__figure {
  order: -1;
  min-height: 16.25rem;
  margin: 0;
}

.ce-poker__figure img {
  object-position: center center;
}

.ce-layers__intro {
  max-width: 62ch;
}

.ce-layers__grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: var(--space-10, 2.5rem);
  margin-top: var(--space-12);
}

.ce-layer {
  position: relative;
  min-width: 0;
  width: 100%;
  padding: var(--space-6);
  border: 1px solid var(--border-color);
}

.ce-layer h3,
.ce-layer p {
  max-width: 44ch;
}

.ce-layer__number {
  margin-bottom: var(--space-3);
  color: var(--color-ultramarine);
  font-size: var(--text-meta);
  font-weight: 700;
  letter-spacing: var(--tracking-meta);
}

.ce-layer--rhythm .marker {
  position: absolute;
  top: var(--space-6);
  right: var(--space-6);
}

.ce-card-corner {
  position: absolute;
  top: var(--space-4);
  right: var(--space-4);
  width: 1.5rem;
  height: 1.5rem;
  border-top: 1px solid var(--color-wine);
  border-right: 1px solid var(--color-wine);
}

.ce-layer__end-rule {
  position: absolute;
  right: var(--space-6);
  bottom: var(--space-6);
  width: 2rem;
  height: 2px;
  background: var(--color-ultramarine);
}

.ce-contexts__grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: var(--space-12);
  min-width: 0;
}

.ce-contexts__question,
.ce-contexts__list {
  min-width: 0;
  width: 100%;
}

.ce-contexts__question h2 {
  max-width: 26ch;
}

.ce-contexts__list {
  display: flex;
  flex-direction: column;
  gap: var(--space-8);
}

.ce-context {
  position: relative;
  min-width: 0;
  width: 100%;
  padding-left: var(--space-8);
}

.ce-context::before {
  position: absolute;
  top: 0.4rem;
  left: 0;
  width: 0.5rem;
  aspect-ratio: 1;
  background: var(--color-burnt-orange);
  content: "";
}

.ce-context--wine::before {
  background: var(--color-wine);
}

.ce-context__number {
  margin: 0 0 var(--space-3);
  color: var(--color-greige);
  font-size: var(--text-meta);
  font-weight: 700;
  letter-spacing: var(--tracking-meta);
}

.ce-context h3,
.ce-context p:not(.ce-context__number) {
  max-width: 44ch;
}

.ce-brief__intro {
  max-width: 60ch;
}

.ce-accordion {
  display: flex;
  flex-direction: column;
  gap: 0;
  min-width: 0;
  margin-top: var(--space-8);
  border-top: 1px solid var(--border-color);
}

.ce-accordion__item {
  min-width: 0;
  width: 100%;
  border-bottom: 1px solid var(--border-color);
}

.ce-accordion__item h3 {
  margin: 0;
}

.ce-accordion__trigger {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  width: 100%;
  min-height: 4rem;
  gap: var(--space-4);
  padding: var(--space-5, 1.25rem) 0;
  background: transparent;
  color: var(--color-ink);
  font-family: var(--font-heading);
  font-size: clamp(1.25rem, 2.5vw, 1.75rem);
  font-weight: 400;
  line-height: 1.18;
  text-align: left;
}

.ce-accordion__trigger > span:first-child {
  min-width: 0;
  max-width: 58ch;
}

.ce-accordion__icon {
  position: relative;
  flex: 0 0 1.5rem;
  width: 1.5rem;
  height: 1.5rem;
  margin-top: 0.1rem;
  border: 1px solid var(--color-line);
  border-radius: var(--radius-round);
}

.ce-accordion__icon::before,
.ce-accordion__icon::after {
  position: absolute;
  top: calc(50% - 0.5px);
  left: 0.3rem;
  width: 0.75rem;
  height: 1px;
  background: var(--color-ink);
  content: "";
  transition: transform var(--transition-reveal);
}

.ce-accordion__icon::after {
  transform: rotate(90deg);
}

.ce-accordion__trigger[aria-expanded="true"] .ce-accordion__icon::after {
  transform: rotate(0deg);
}

.ce-accordion__panel {
  overflow: hidden;
}

.ce-accordion__panel.is-open {
  animation: ce-panel-open var(--transition-reveal) both;
}

.ce-accordion__answer {
  max-width: 60ch;
  padding: var(--space-4);
  margin-bottom: var(--space-6);
  background: var(--surface-tertiary);
}

.ce-accordion__answer p {
  margin: 0;
}

.ce-cta {
  background: var(--color-burnt-orange);
  color: var(--color-chalk);
}

.ce-cta__inner {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-6);
  min-width: 0;
}

.ce-cta__inner > * {
  min-width: 0;
  margin: 0;
}

.ce-cta__inner h2 {
  max-width: 28ch;
}

.ce-cta__inner p:not(.meta) {
  max-width: 54ch;
}

.ce-cta .button--warm,
.ce-cta .button--warm:visited {
  background: var(--color-ink);
  border-color: var(--color-ink);
}

.ce-cta .button--warm:hover {
  background: var(--color-wine);
  border-color: var(--color-wine);
}

.ce-closing {
  padding-block: var(--space-16);
}

.ce-closing__inner {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-6);
  min-width: 0;
  padding-top: var(--space-6);
  border-top: 1px solid var(--border-color);
}

.ce-closing__inner > * {
  min-width: 0;
  margin: 0;
}

.ce-closing__inner p:not(.meta) {
  max-width: 62ch;
}

@keyframes ce-panel-open {
  from { opacity: 0; transform: translateY(-0.25rem); }
  to { opacity: 1; transform: translateY(0); }
}

@media (hover: hover) and (pointer: fine) {
  .ce-image-hover:hover img {
    transform: scale(1.03);
  }

  .ce-image-hover:hover::after {
    background: rgb(200 90 50 / 0.1);
  }
}

@media (min-width: 48rem) {
  .ce-hero {
    padding-block: var(--space-8) var(--space-22);
  }

  .ce-hero__grid {
    grid-template-columns: repeat(6, minmax(0, 1fr));
    column-gap: var(--space-4);
    row-gap: var(--space-6);
    align-items: start;
  }

  .ce-hero__marker {
    grid-column: 1 / -1;
    grid-row: 1;
    margin: 0;
  }

  .ce-hero__copy {
    grid-column: 1 / span 3;
    grid-row: 2;
  }

  .ce-hero__media {
    grid-column: 4 / span 3;
    grid-row: 2;
    min-height: 38rem;
  }

  .ce-occasions__grid {
    grid-template-columns: repeat(6, minmax(0, 1fr));
    column-gap: var(--space-4);
    row-gap: var(--space-12);
  }

  .ce-occasion--evening { grid-column: 1 / span 3; }
  .ce-occasion--team { grid-column: 4 / span 3; padding-top: var(--space-4); }
  .ce-occasion--milestone { grid-column: 1 / span 4; }

  .ce-dramaturgy__grid {
    grid-template-columns: repeat(6, minmax(0, 1fr));
    column-gap: var(--space-4);
  }

  .ce-dramaturgy__figure { grid-column: 1 / -1; }
  .ce-dramaturgy__rail { grid-column: 1 / span 5; }
  .ce-dramaturgy__media { min-height: 24rem; }
  .ce-dramaturgy__rail > p:not(.meta),
  .ce-dramaturgy__point p { max-width: 52ch; }

  .ce-process__intro {
    max-width: 54ch;
    margin-inline: auto;
    align-items: center;
    text-align: center;
  }

  .ce-process__steps {
    grid-template-columns: repeat(6, minmax(0, 1fr));
    column-gap: var(--space-6);
    row-gap: var(--space-8);
  }

  .ce-step { padding-left: 0; }
  .ce-step::before { display: none; }
  .ce-step__number { position: static; margin-bottom: var(--space-4); }
  .ce-step:nth-child(1) { grid-column: 1 / span 3; }
  .ce-step:nth-child(2) { grid-column: 4 / span 3; }
  .ce-step:nth-child(3) { grid-column: 1 / -1; max-width: calc(50% - var(--space-3)); }

  .ce-poker__figure { order: 0; min-height: 28rem; }
  .ce-poker__grid { grid-template-columns: repeat(6, minmax(0, 1fr)); column-gap: var(--space-4); }
  .ce-poker__figure { grid-column: 1 / -1; }
  .ce-poker__copy { grid-column: 1 / span 5; }

  .ce-layers__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    column-gap: var(--space-6);
    row-gap: var(--space-8);
  }

  .ce-layer { min-height: 18rem; }
  .ce-layer--space { grid-column: 1; }
  .ce-layer--rhythm { grid-column: 2; }
  .ce-layer--details { grid-column: 1; margin-top: var(--space-8); }
  .ce-layer--hosting { grid-column: 2; margin-top: var(--space-8); }

  .ce-contexts__grid {
    grid-template-columns: repeat(6, minmax(0, 1fr));
    column-gap: var(--space-6);
  }

  .ce-contexts__question { grid-column: 1 / -1; }
  .ce-contexts__list {
    grid-column: 1 / -1;
    display: grid;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: var(--space-8) var(--space-6);
  }

  .ce-context:nth-child(1) { grid-column: 1 / span 3; }
  .ce-context:nth-child(2) { grid-column: 4 / span 3; }
  .ce-context:nth-child(3) { grid-column: 1 / -1; }

  .ce-brief__intro { max-width: 60ch; }
  .ce-accordion { width: calc(100% * 5 / 6); margin-left: auto; }
  .ce-cta__inner { width: calc(100% * 5 / 6); margin-inline: auto; }
  .ce-closing { padding-block: var(--space-22); }
}

@media (min-width: 61.25rem) {
  .ce-dramaturgy__figure { grid-column: 1 / span 4; }
  .ce-dramaturgy__rail { grid-column: 5 / span 2; }
  .ce-dramaturgy__media { min-height: 31rem; }
  .ce-dramaturgy__rail > p:not(.meta),
  .ce-dramaturgy__point p { max-width: 44ch; }
}

@media (min-width: 64rem) {
  .ce-poker__grid { align-items: center; }
  .ce-poker__copy { grid-column: 1 / span 3; }
  .ce-poker__figure { grid-column: 4 / span 3; min-height: 38rem; }
}

@media (min-width: 68.75rem) {
  .ce-hero {
    min-height: 47.5rem;
    padding-block: 0;
  }

  .ce-hero__grid {
    grid-template-columns: repeat(12, minmax(0, 1fr));
    column-gap: var(--space-4);
    min-height: 47.5rem;
  }

  .ce-hero__marker {
    grid-column: 1;
    grid-row: 1;
    align-self: center;
    writing-mode: vertical-rl;
    transform: rotate(180deg);
  }

  .ce-hero__copy {
    grid-column: 2 / span 5;
    grid-row: 1;
    align-self: center;
  }

  .ce-hero__media {
    grid-column: 8 / -1;
    grid-row: 1;
    align-self: stretch;
    min-height: 47.5rem;
    width: calc(100% + max(0px, (100vw - var(--container-max)) / 2));
  }

  .ce-occasions__intro { width: calc(100% * 5 / 12); }

  .ce-occasions__grid {
    grid-template-columns: repeat(12, minmax(0, 1fr));
    column-gap: var(--space-4);
  }

  .ce-occasion--evening { grid-column: 1 / span 4; }
  .ce-occasion--team { grid-column: 6 / span 3; padding-top: 4.5rem; }
  .ce-occasion--milestone { grid-column: 9 / span 4; }

  .ce-dramaturgy__grid {
    grid-template-columns: repeat(12, minmax(0, 1fr));
    column-gap: var(--space-4);
  }

  .ce-dramaturgy__figure { grid-column: 1 / span 7; }
  .ce-dramaturgy__rail { grid-column: 10 / span 3; }
  .ce-dramaturgy__media { min-height: 32rem; }

  .ce-process__intro { width: calc(100% * 6 / 12); }
  .ce-process__steps { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .ce-step:nth-child(1),
  .ce-step:nth-child(2),
  .ce-step:nth-child(3) { grid-column: auto; max-width: none; }
  .ce-step { min-width: 11.875rem; }

  .ce-poker__grid {
    grid-template-columns: repeat(12, minmax(0, 1fr));
    column-gap: var(--space-4);
  }

  .ce-poker__copy { grid-column: 1 / span 4; }
  .ce-poker__figure {
    grid-column: 6 / span 7;
    min-height: 42.5rem;
    width: calc(100% + max(0px, (100vw - var(--container-max)) / 2));
  }

  .ce-layers__intro { width: calc(100% * 6 / 12); }
  .ce-layers__grid {
    grid-template-columns: repeat(12, minmax(0, 1fr));
    column-gap: var(--space-4);
  }

  .ce-layer--space { grid-column: 1 / span 5; }
  .ce-layer--rhythm { grid-column: 8 / span 4; }
  .ce-layer--details { grid-column: 2 / span 5; margin-top: var(--space-8); }
  .ce-layer--hosting { grid-column: 8 / span 4; margin-top: var(--space-8); }

  .ce-contexts__grid {
    grid-template-columns: repeat(12, minmax(0, 1fr));
    column-gap: var(--space-4);
  }

  .ce-contexts__question { grid-column: 1 / span 5; }
  .ce-contexts__list {
    grid-column: 7 / span 6;
    display: flex;
    gap: var(--space-8);
  }

  .ce-context:nth-child(1),
  .ce-context:nth-child(2),
  .ce-context:nth-child(3) { grid-column: auto; }

  .ce-brief__intro { width: calc(100% * 7 / 12); }
  .ce-accordion { width: calc(100% * 8 / 12); margin-left: calc(100% * 2 / 12); }
  .ce-cta__inner { width: calc(100% * 7 / 12); }
  .ce-closing__inner { width: calc(100% * 8 / 12); }
}

@media (max-width: 47.9375rem) {
  .ce-occasion--team .ce-occasion__offset-heading {
    transform: translateX(1rem);
  }

  .ce-occasion--team .ce-occasion__offset-heading + p {
    margin-top: var(--space-6);
  }

  .ce-poker__figure {
    min-height: 16.25rem;
  }

  .ce-poker__copy blockquote {
    padding-inline-start: var(--space-4);
  }

  .ce-cta {
    padding-block: var(--space-16);
  }
}

@media (prefers-reduced-motion: reduce) {
  .ce-image-hover img,
  .ce-image-hover::after,
  .ce-accordion__icon::before,
  .ce-accordion__icon::after {
    transition: none;
  }

  .ce-accordion__panel.is-open {
    animation: none;
  }
}


.about-page {
  background: var(--surface-page);
}

.about-page .meta {
  margin: 0;
}

.about-page .media-frame {
  border-radius: 0;
}

.about-page .media-frame img {
  transition: transform var(--transition-fast);
}

.about-page .media-frame a,
.about-page .about-poker__media {
  color: inherit;
  text-decoration: none;
}

.about-page .media-frame a:hover img,
.about-page .about-poker__media:hover img {
  transform: scale(1.03);
}

.about-hero {
  min-height: 62vh;
  overflow: hidden;
  background: var(--surface-page);
}

.about-hero__layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  min-width: 0;
}

.about-hero__copy {
  display: flex;
  flex-direction: column;
  min-width: 0;
  gap: var(--space-6);
  width: min(100%, calc(100% - 2.5rem));
  margin: 0 auto;
  padding-block: var(--space-16) var(--space-12);
}

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

.about-hero__copy h1 {
  max-width: 24ch;
}

.about-hero__copy .lead {
  max-width: 48ch;
}

.about-hero__copy > p:not(.lead):not(.meta) {
  max-width: 52ch;
}

.about-hero__actions {
  display: flex;
  min-width: 0;
  width: 100%;
}

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

.about-hero__media {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  grid-template-rows: minmax(58vh, 68vh) auto;
  min-width: 0;
  width: 100%;
  margin: 0;
  background: var(--surface-tertiary);
}

.about-hero__media img {
  grid-column: 1;
  grid-row: 1;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

.about-hero__media figcaption {
  grid-column: 1;
  grid-row: 2;
  min-width: 0;
  margin: 0;
  padding: var(--space-4) var(--gutter);
  border-inline-start: 2px solid var(--color-ultramarine);
  background: var(--surface-page);
}

.about-principles__grid,
.about-formats__grid,
.about-custom__grid,
.about-process__grid,
.about-connection__grid,
.about-faq__grid {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  min-width: 0;
  gap: var(--space-12);
}

.about-principles__heading,
.about-principles__content,
.about-formats__heading,
.about-formats__items,
.about-custom__heading,
.about-custom__dimensions,
.about-process__heading,
.about-process__accordions,
.about-connection__copy,
.about-connection__media,
.about-faq__heading,
.about-faq__content {
  min-width: 0;
  width: 100%;
}

.about-principles__heading,
.about-formats__heading,
.about-custom__heading,
.about-process__heading,
.about-connection__copy,
.about-faq__heading {
  display: flex;
  flex-direction: column;
  min-width: 0;
  gap: var(--space-4);
}

.about-principles__heading > *,
.about-formats__heading > *,
.about-custom__heading > *,
.about-process__heading > *,
.about-connection__copy > *,
.about-faq__heading > * {
  min-width: 0;
  margin: 0;
}

.about-principles__heading h2,
.about-formats__heading h2,
.about-custom__heading h2,
.about-process__heading h2,
.about-connection__copy h2,
.about-faq__heading h2 {
  max-width: 16ch;
}

.about-principles__content {
  display: flex;
  flex-direction: column;
  min-width: 0;
  gap: var(--space-8);
}

.about-principles__content > * {
  min-width: 0;
  margin: 0;
}

.about-principles__content > .lead {
  max-width: 64ch;
}

.about-principles__items {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  min-width: 0;
  gap: var(--space-8);
}

.about-principle {
  display: flex;
  flex-direction: column;
  min-width: 0;
  gap: var(--space-4);
  padding-block-start: var(--space-6);
  border-block-start: 1px solid var(--border-color);
}

.about-principle > * {
  min-width: 0;
  margin: 0;
}

.about-principle p:not(.meta) {
  max-width: 56ch;
}

.about-principles__arc {
  display: none;
}

.about-formats__heading {
  max-width: 60ch;
}

.about-formats__heading .lead {
  max-width: 60ch;
}

.about-formats__items {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  min-width: 0;
  gap: var(--space-8);
}

.about-format {
  position: relative;
  display: flex;
  flex-direction: column;
  min-width: 0;
  gap: var(--space-4);
  padding-block-start: var(--space-6);
  border-block-start: 1px solid var(--border-color);
}

.about-format > * {
  min-width: 0;
  margin: 0;
}

.about-format p {
  max-width: 54ch;
}

.about-format--poker {
  padding: var(--space-6);
  border: 0;
  background: var(--surface-wine);
  color: var(--text-on-dark);
}

.about-format--poker .text-link {
  color: var(--color-chalk);
}

.about-format__square {
  display: block;
  width: 0.5rem;
  height: 0.5rem;
  background: var(--color-ultramarine);
}

.about-poker {
  overflow: hidden;
}

.about-poker__grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  min-width: 0;
  gap: var(--space-8);
}

.about-poker__media {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  min-width: 0;
  width: 100%;
  aspect-ratio: 4 / 3;
  margin: 0;
  overflow: hidden;
}

.about-poker__media::after {
  position: absolute;
  inset: 0;
  content: "";
  background: rgb(200 90 50 / 0);
  pointer-events: none;
  transition: background-color var(--transition-fast);
}

.about-poker__media:hover::after {
  background: rgb(200 90 50 / 0.12);
}

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

.about-poker__caption {
  position: absolute;
  z-index: 1;
  bottom: 0;
  left: 0;
  max-width: 18rem;
  padding: var(--space-3) var(--space-4);
  background: var(--color-chalk);
  color: var(--color-ink);
  font-size: var(--text-small);
}

.about-poker__copy {
  display: flex;
  flex-direction: column;
  min-width: 0;
  gap: var(--space-6);
}

.about-poker__copy > * {
  min-width: 0;
  margin: 0;
}

.about-poker__copy h2 {
  max-width: 24ch;
}

.about-poker__copy > p:not(.meta) {
  max-width: 52ch;
}

.about-poker__rhythm {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  min-width: 0;
  border-block: 1px solid rgb(244 241 234 / 0.36);
}

.about-poker__rhythm span {
  min-width: 0;
  padding: var(--space-3) 0;
  border-block-end: 1px solid rgb(244 241 234 / 0.2);
  font-size: var(--text-small);
}

.about-poker__rhythm span:last-child {
  border-block-end: 0;
}

.about-custom__heading {
  max-width: 62ch;
}

.about-custom__heading .lead {
  max-width: 62ch;
}

.about-custom__dimensions {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  min-width: 0;
  gap: var(--space-8);
}

.about-dimension {
  display: flex;
  flex-direction: column;
  min-width: 0;
  gap: var(--space-4);
  padding-block-start: var(--space-6);
  border-block-start: 1px solid var(--border-color);
}

.about-dimension > * {
  min-width: 0;
  margin: 0;
}

.about-dimension h3,
.about-dimension p:not(.meta) {
  max-width: 58ch;
}

.about-dimension--space {
  border-block-start: 2px solid var(--color-ultramarine);
}

.about-dimension--rhythm {
  margin-inline-start: 1rem;
}

.about-process__heading {
  max-width: 60ch;
}

.about-process__heading .lead {
  max-width: 60ch;
}

.about-process__accordions,
.about-faq__accordions {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  min-width: 0;
  border-block-start: 1px solid var(--border-color);
}

.about-process-step {
  display: grid;
  grid-template-columns: minmax(2.25rem, auto) minmax(0, 1fr);
  min-width: 0;
  column-gap: var(--space-3);
  padding-block: var(--space-4);
  border-block-end: 1px solid var(--border-color);
}

.about-process-step__number {
  grid-column: 1;
  grid-row: 1;
  align-self: center;
  min-width: 0;
  color: var(--color-ultramarine);
  font-size: var(--text-meta);
  font-weight: 700;
  letter-spacing: var(--tracking-meta);
}

.about-process-step__trigger,
.about-faq-item__trigger {
  display: flex;
  align-items: center;
  justify-content: space-between;
  min-width: 0;
  width: 100%;
  min-height: 3.25rem;
  padding: var(--space-3) 0;
  background: transparent;
  color: inherit;
  font-weight: 700;
  line-height: 1.35;
  text-align: left;
}

.about-process-step__trigger {
  grid-column: 2;
  grid-row: 1;
}

.about-process-step__trigger > span:first-child,
.about-faq-item__trigger > span:first-child {
  min-width: 0;
  padding-inline-end: var(--space-4);
}

.about-process-step__symbol,
.about-faq-item__symbol {
  flex: 0 0 auto;
  font-size: 1.5rem;
  font-weight: 400;
}

.about-process-step__summary {
  grid-column: 2;
  grid-row: 2;
  min-width: 0;
  margin: 0;
  color: var(--text-secondary);
  font-size: var(--text-small);
}

.about-process-step__panel {
  grid-column: 1 / -1;
  grid-row: 3;
  min-width: 0;
  overflow: hidden;
}

.about-process-step__panel-inner {
  display: flex;
  flex-direction: column;
  min-width: 0;
  gap: var(--space-4);
  padding: var(--space-6) 0 0 calc(2.25rem + var(--space-3));
}

.about-process-step__panel-inner > * {
  min-width: 0;
  max-width: 56ch;
  margin: 0;
}

.about-process-step__keywords,
.about-process-step__closing {
  color: var(--color-ultramarine);
  font-size: var(--text-small);
  font-weight: 700;
}

.about-connection__grid {
  gap: var(--space-8);
}

.about-connection__copy {
  display: flex;
  flex-direction: column;
  min-width: 0;
  gap: var(--space-6);
}

.about-connection__copy > * {
  min-width: 0;
  margin: 0;
}

.about-connection__copy > p:not(.meta) {
  max-width: 62ch;
}

.about-connection__examples {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  min-width: 0;
  gap: var(--space-6);
}

.about-example {
  display: flex;
  flex-direction: column;
  min-width: 0;
  gap: var(--space-4);
  padding-block-start: var(--space-6);
  border-block-start: 1px solid var(--border-color);
}

.about-example > * {
  min-width: 0;
  margin: 0;
}

.about-example h3,
.about-example p {
  max-width: 52ch;
}

.about-example--private {
  margin-inline-start: 1rem;
}

.about-connection__media {
  margin: 0;
}

.about-connection__media a {
  display: block;
  width: 100%;
  aspect-ratio: 4 / 5;
  overflow: hidden;
}

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

.about-connection__media figcaption {
  margin: 0;
  padding: var(--space-3) var(--space-4);
  background: var(--surface-tertiary);
}

.about-faq__heading {
  max-width: 54ch;
}

.about-faq__heading .lead {
  max-width: 54ch;
}

.about-faq__content {
  display: flex;
  flex-direction: column;
  min-width: 0;
  gap: var(--space-8);
}

.about-faq-item {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  min-width: 0;
  border-block-end: 1px solid var(--border-color);
}

.about-faq-item__trigger {
  grid-column: 1;
  grid-row: 1;
}

.about-faq-item__panel {
  grid-column: 1;
  grid-row: 2;
  min-width: 0;
  overflow: hidden;
}

.about-faq-item__panel-inner {
  padding-block-end: var(--space-6);
}

.about-faq-item__panel-inner p {
  max-width: 56ch;
  margin: 0;
}

.about-closing {
  position: relative;
  overflow: hidden;
  padding-block: var(--space-16);
  background: var(--surface-accent);
  color: var(--text-on-dark);
}

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

.about-closing__content > * {
  min-width: 0;
  margin: 0;
}

.about-closing__content h2 {
  max-width: 23ch;
  font-size: clamp(2.2rem, 11vw, 3rem);
}

.about-closing__content p:not(.meta) {
  max-width: 48ch;
  text-align: left;
}

.about-closing__rings {
  position: absolute;
  right: -8rem;
  bottom: -8rem;
  width: 19rem;
  aspect-ratio: 1;
  border: 1px solid rgb(244 241 234 / 0.48);
  border-radius: 50%;
}

.about-closing__rings::before,
.about-closing__rings::after {
  position: absolute;
  inset: 1.8rem;
  border: 1px solid rgb(244 241 234 / 0.4);
  border-radius: 50%;
  content: "";
}

.about-closing__rings::after {
  inset: 3.8rem;
}

@media (min-width: 48rem) {
  .about-hero__copy {
    width: var(--content-width);
    padding-block: var(--space-22) var(--space-16);
  }

  .about-hero__media {
    grid-template-rows: minmax(62vh, 68vh) auto;
  }

  .about-principles__items {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    column-gap: var(--space-8);
    row-gap: var(--space-12);
  }

  .about-principle--third {
    grid-column: 2;
  }

  .about-formats__items {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    column-gap: var(--space-8);
    row-gap: var(--space-12);
  }

  .about-format--poker {
    grid-column: 1 / -1;
  }

  .about-poker__copy {
    width: min(100%, 34rem);
    justify-self: end;
  }

  .about-custom__dimensions {
    gap: var(--space-12);
  }

  .about-process-step {
    grid-template-columns: minmax(2.75rem, auto) minmax(0, 1fr);
  }

  .about-process-step__panel-inner {
    padding-inline-start: calc(2.75rem + var(--space-3));
  }

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

  .about-example--private {
    margin-inline-start: 0;
    transform: translateY(var(--space-4));
  }

  .about-connection__media a {
    aspect-ratio: 4 / 3;
  }

  .about-closing {
    padding-block: var(--space-22);
  }
}

@media (min-width: 56.25rem) {
  .about-hero {
    min-height: 68vh;
  }

  .about-hero__layout {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    align-items: stretch;
    min-height: 68vh;
  }

  .about-hero__copy {
    align-self: center;
    width: min(100% - 4rem, 34rem);
    margin-inline: auto 0;
    padding: var(--space-16) var(--space-8) var(--space-16) 0;
  }

  .about-hero__media {
    grid-template-rows: minmax(68vh, 1fr) auto;
  }

  .about-hero__media figcaption {
    padding-inline: var(--space-6);
  }

  .about-principles__grid,
  .about-formats__grid,
  .about-custom__grid,
  .about-process__grid,
  .about-connection__grid,
  .about-faq__grid {
    grid-template-columns: repeat(6, minmax(0, 1fr));
    column-gap: var(--space-4);
  }

  .about-principles__heading {
    grid-column: 1 / span 2;
  }

  .about-principles__content {
    grid-column: 3 / -1;
  }

  .about-formats__heading,
  .about-custom__heading,
  .about-process__heading {
    grid-column: 1 / span 4;
  }

  .about-formats__items,
  .about-custom__dimensions,
  .about-process__accordions {
    grid-column: 1 / -1;
  }

  .about-connection__copy {
    grid-column: 1 / span 3;
  }

  .about-connection__media {
    grid-column: 4 / -1;
  }

  .about-faq__heading {
    grid-column: 1 / span 2;
  }

  .about-faq__content {
    grid-column: 3 / -1;
  }
}

@media (min-width: 68.75rem) {
  .about-hero {
    min-height: 72vh;
  }

  .about-hero__layout {
    grid-template-columns: minmax(0, 5fr) minmax(0, 1fr) minmax(0, 6fr);
    min-height: 72vh;
  }

  .about-hero__copy {
    grid-column: 1;
    width: min(100% - 2rem, 32rem);
    margin-inline: max(2rem, calc((100vw - var(--container-max)) / 2)) 0;
    padding: var(--space-16) 0;
  }

  .about-hero__media {
    grid-column: 3;
    grid-template-rows: minmax(72vh, 1fr) auto;
  }

  .about-principles__grid,
  .about-formats__grid,
  .about-custom__grid,
  .about-process__grid,
  .about-connection__grid,
  .about-faq__grid {
    grid-template-columns: repeat(12, minmax(0, 1fr));
    column-gap: 1.25rem;
  }

  .about-principles__heading {
    grid-column: 1 / span 3;
  }

  .about-principles__content {
    grid-column: 5 / span 8;
  }

  .about-principles__items {
    grid-template-columns: repeat(8, minmax(0, 1fr));
    column-gap: 1.25rem;
  }

  .about-principle--first {
    grid-column: 1 / span 4;
  }

  .about-principle--second {
    grid-column: 5 / span 4;
    margin-block-start: var(--space-8);
  }

  .about-principle--third {
    grid-column: 4 / span 4;
    margin-block-start: 0;
  }

  .about-principles__arc {
    position: absolute;
    right: 1.5rem;
    top: 10rem;
    display: block;
    width: 10rem;
    height: 5rem;
    border: 1px solid var(--color-line);
    border-bottom: 0;
    border-radius: 10rem 10rem 0 0;
    opacity: 0.76;
  }

  .about-formats__heading {
    grid-column: 1 / span 5;
  }

  .about-formats__items {
    grid-column: 1 / -1;
    grid-template-columns: repeat(12, minmax(0, 1fr));
    column-gap: 1.25rem;
    row-gap: var(--space-12);
  }

  .about-format--private {
    grid-column: 1 / span 3;
  }

  .about-format--corporate {
    grid-column: 5 / span 3;
    margin-block-start: var(--space-8);
  }

  .about-format--themed {
    grid-column: 9 / span 3;
    margin-block-start: var(--space-4);
  }

  .about-format--poker {
    grid-column: 8 / span 4;
    margin-block-start: 0;
  }

  .about-poker__grid {
    grid-template-columns: repeat(12, minmax(0, 1fr));
    column-gap: 1.25rem;
    align-items: center;
  }

  .about-poker__media {
    grid-column: 1 / span 7;
    aspect-ratio: 3 / 2;
  }

  .about-poker__copy {
    grid-column: 9 / span 4;
    width: 100%;
  }

  .about-custom__heading {
    grid-column: 1 / span 6;
  }

  .about-custom__dimensions {
    grid-column: 1 / -1;
    gap: var(--space-12);
  }

  .about-dimension {
    display: grid;
    grid-template-columns: minmax(7rem, 1fr) minmax(0, 8fr);
    column-gap: 1.25rem;
    align-items: start;
  }

  .about-dimension .meta {
    grid-column: 1;
    grid-row: 1 / span 2;
  }

  .about-dimension h3,
  .about-dimension p:not(.meta) {
    grid-column: 2;
  }

  .about-dimension--space {
    width: 75%;
  }

  .about-dimension--rhythm {
    width: 75%;
    margin-inline: auto 0;
  }

  .about-dimension--detail {
    width: 75%;
  }

  .about-process__heading {
    grid-column: 1 / span 7;
  }

  .about-process__accordions {
    grid-column: 1 / -1;
  }

  .about-process-step {
    grid-template-columns: minmax(0, 1fr) minmax(0, 3fr) minmax(0, 5fr) minmax(2.75rem, 1fr);
    column-gap: 1.25rem;
    padding-block: var(--space-6);
  }

  .about-process-step__number {
    grid-column: 1;
    grid-row: 1;
  }

  .about-process-step__trigger {
    grid-column: 2;
    grid-row: 1;
  }

  .about-process-step__summary {
    grid-column: 3;
    grid-row: 1;
    align-self: center;
  }

  .about-process-step__panel {
    grid-column: 2 / span 2;
    grid-row: 2;
  }

  .about-process-step__panel-inner {
    padding-inline-start: 0;
  }

  .about-connection__copy {
    grid-column: 1 / span 5;
  }

  .about-connection__media {
    grid-column: 7 / -1;
  }

  .about-connection__media a {
    aspect-ratio: 4 / 3;
  }

  .about-faq__heading {
    grid-column: 1 / span 5;
  }

  .about-faq__content {
    grid-column: 7 / -1;
  }

  .about-closing {
    padding-block: var(--space-32);
  }

  .about-closing__content h2 {
    max-width: 18ch;
    font-size: var(--text-h2);
  }

  .about-closing__rings {
    right: 4rem;
    bottom: -5rem;
  }
}

@media (max-width: 29.99rem) {
  .about-closing__rings {
    display: none;
  }
}

@media (prefers-reduced-motion: reduce) {
  .about-page .media-frame img {
    transform: none !important;
  }

  .about-poker__media::after {
    transition: none;
  }
}


[data-team-building-page] {
  overflow: hidden;
}

[data-team-building-page] .tb-container {
  width: var(--content-width);
  margin-inline: auto;
}

[data-team-building-page] .tb-section-label {
  display: flex;
  align-items: center;
  gap: var(--space-3);
  margin: 0 0 var(--space-6);
  color: var(--color-muted-text);
  font-size: var(--text-meta);
  font-weight: 700;
  line-height: var(--leading-meta);
  letter-spacing: var(--tracking-meta);
  text-transform: uppercase;
}

[data-team-building-page] .tb-section-label::before {
  width: 2px;
  height: 1.75rem;
  background: var(--color-burnt-orange);
  content: '';
}

[data-team-building-page] .tb-media {
  position: relative;
  width: 100%;
  overflow: hidden;
  background: var(--color-stone);
}

[data-team-building-page] .tb-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform var(--transition-fast);
}

[data-team-building-page] .tb-media::after {
  position: absolute;
  inset: 0;
  background: rgb(200 90 50 / 0);
  content: '';
  pointer-events: none;
  transition: background-color var(--transition-fast);
}

[data-team-building-page] .tb-media:hover img {
  transform: scale(1.03);
}

[data-team-building-page] .tb-media:hover::after {
  background: rgb(200 90 50 / 0.12);
}

[data-team-building-page] .tb-hero {
  position: relative;
  min-height: 72vh;
  background: var(--color-ink);
  color: var(--color-chalk);
}

[data-team-building-page] .tb-hero__grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  min-height: 72vh;
}

[data-team-building-page] .tb-hero__copy,
[data-team-building-page] .tb-hero__media-wrap {
  min-width: 0;
  width: 100%;
}

[data-team-building-page] .tb-hero__copy {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-6);
  padding-block: var(--space-16) var(--space-12);
}

[data-team-building-page] .tb-hero__copy > * {
  min-width: 0;
  margin: 0;
}

[data-team-building-page] .tb-hero__label {
  color: var(--color-greige);
}

[data-team-building-page] .tb-hero__label::before {
  background: var(--color-burnt-orange);
}

[data-team-building-page] .tb-hero__title {
  max-width: 10ch;
  font-size: clamp(2.9rem, 8vw, 7.5rem);
  line-height: var(--leading-display);
  letter-spacing: var(--tracking-display);
}

[data-team-building-page] .tb-hero__lead {
  max-width: 31ch;
  font-size: var(--text-lead);
  line-height: var(--leading-lead);
}

[data-team-building-page] .tb-hero__media-wrap {
  display: flex;
  flex-direction: column;
  gap: var(--space-4);
}

[data-team-building-page] .tb-hero__media {
  height: 64vh;
}

[data-team-building-page] .tb-hero__caption {
  margin: 0 0 var(--space-8);
  padding-inline-start: var(--space-4);
  color: var(--color-greige);
  font-size: var(--text-meta);
  font-weight: 700;
  letter-spacing: var(--tracking-meta);
  text-transform: uppercase;
  transform: translateX(var(--space-4));
}

[data-team-building-page] .tb-hero__arc {
  display: none;
}

[data-team-building-page] .tb-value {
  position: relative;
  background: var(--color-chalk);
}

[data-team-building-page] .tb-value__grid,
[data-team-building-page] .tb-rhythms__grid,
[data-team-building-page] .tb-poker__grid,
[data-team-building-page] .tb-planning__grid,
[data-team-building-page] .tb-faq__grid,
[data-team-building-page] .tb-enquiry__grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: var(--space-12);
}

[data-team-building-page] .tb-value__intro,
[data-team-building-page] .tb-value__rail,
[data-team-building-page] .tb-rhythms__copy,
[data-team-building-page] .tb-rhythms__media-column,
[data-team-building-page] .tb-poker__narrative,
[data-team-building-page] .tb-poker__panel-wrap,
[data-team-building-page] .tb-planning__copy,
[data-team-building-page] .tb-planning__media-column,
[data-team-building-page] .tb-faq__intro,
[data-team-building-page] .tb-faq__list,
[data-team-building-page] .tb-enquiry__narrative,
[data-team-building-page] .tb-enquiry__form-wrap {
  min-width: 0;
  width: 100%;
}

[data-team-building-page] .tb-value__intro h2,
[data-team-building-page] .tb-rhythms__copy h2,
[data-team-building-page] .tb-poker__narrative h2,
[data-team-building-page] .tb-planning__copy h2,
[data-team-building-page] .tb-faq__intro h2,
[data-team-building-page] .tb-enquiry__narrative h2 {
  max-width: 16ch;
}

[data-team-building-page] .tb-value__intro > p:last-child {
  max-width: 60ch;
}

[data-team-building-page] .tb-value__rail {
  display: flex;
  flex-direction: column;
  gap: var(--space-12);
}

[data-team-building-page] .tb-numbered-copy,
[data-team-building-page] .tb-rhythm,
[data-team-building-page] .tb-planning__point,
[data-team-building-page] .tb-process__step,
[data-team-building-page] .tb-poker__detail {
  min-width: 0;
}

[data-team-building-page] .tb-numbered-copy {
  padding-top: var(--space-4);
  border-top: 2px solid var(--color-ultramarine);
}

[data-team-building-page] .tb-numbered-copy__number,
[data-team-building-page] .tb-rhythm__number,
[data-team-building-page] .tb-planning__number,
[data-team-building-page] .tb-process__number {
  display: block;
  margin: 0 0 var(--space-3);
  color: var(--color-ultramarine);
  font-size: var(--text-meta);
  font-weight: 700;
  letter-spacing: var(--tracking-meta);
}

[data-team-building-page] .tb-numbered-copy p {
  max-width: 34ch;
}

[data-team-building-page] .tb-value__line {
  width: 3rem;
  height: 1px;
  margin-top: var(--space-8);
  background: var(--color-ultramarine);
}

[data-team-building-page] .tb-rhythms {
  background: var(--color-greige);
}

[data-team-building-page] .tb-rhythms__media {
  height: clamp(20rem, 47vw, 39rem);
}

[data-team-building-page] .tb-caption {
  margin: 0;
  padding: var(--space-6);
  background: var(--color-stone);
  color: var(--color-ink);
  font-size: var(--text-small);
  line-height: var(--leading-small);
}

[data-team-building-page] .tb-rhythms__copy {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-8);
}

[data-team-building-page] .tb-rhythms__copy > * {
  min-width: 0;
  margin: 0;
}

[data-team-building-page] .tb-rhythms__lead {
  max-width: 36ch;
  font-size: var(--text-lead);
  line-height: var(--leading-lead);
}

[data-team-building-page] .tb-rhythms__list {
  display: flex;
  flex-direction: column;
  gap: var(--space-8);
  width: 100%;
}

[data-team-building-page] .tb-rhythm {
  padding-top: var(--space-6);
  border-top: 1px solid var(--border-color);
}

[data-team-building-page] .tb-rhythm h3,
[data-team-building-page] .tb-rhythm p {
  max-width: 34ch;
}

[data-team-building-page] .tb-poker {
  position: relative;
  overflow: hidden;
  background: var(--color-ink);
  color: var(--color-chalk);
}

[data-team-building-page] .tb-poker::before,
[data-team-building-page] .tb-poker::after {
  position: absolute;
  border: 1px solid rgb(244 241 234 / 0.16);
  border-radius: 50%;
  content: '';
  pointer-events: none;
}

[data-team-building-page] .tb-poker::before {
  right: -12rem;
  bottom: -12rem;
  width: 31rem;
  aspect-ratio: 1;
}

[data-team-building-page] .tb-poker::after {
  right: -8rem;
  bottom: -8rem;
  width: 23rem;
  aspect-ratio: 1;
}

[data-team-building-page] .tb-poker__grid {
  position: relative;
  z-index: 1;
}

[data-team-building-page] .tb-poker__narrative {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-6);
}

[data-team-building-page] .tb-poker__narrative > * {
  min-width: 0;
  margin: 0;
}

[data-team-building-page] .tb-poker__narrative .tb-section-label {
  color: var(--color-greige);
}

[data-team-building-page] .tb-poker__lead {
  max-width: 64ch;
  font-size: var(--text-lead);
  line-height: var(--leading-lead);
}

[data-team-building-page] .tb-poker__support {
  max-width: 60ch;
  padding-top: var(--space-6);
  border-top: 1px solid var(--color-wine);
}

[data-team-building-page] .tb-poker__panel {
  padding: var(--space-6);
  background: var(--color-stone);
  color: var(--color-ink);
  border-top: 2px solid var(--color-burnt-orange);
}

[data-team-building-page] .tb-poker__panel h3 {
  max-width: 15ch;
}

[data-team-building-page] .tb-poker__details {
  display: flex;
  flex-direction: column;
  gap: var(--space-6);
}

[data-team-building-page] .tb-poker__detail {
  padding-top: var(--space-4);
  border-top: 1px solid rgb(25 26 29 / 0.32);
}

[data-team-building-page] .tb-poker__detail p {
  max-width: 29ch;
  margin: 0;
}

[data-team-building-page] .tb-planning {
  background: var(--color-chalk);
}

[data-team-building-page] .tb-planning__grid {
  align-items: start;
}

[data-team-building-page] .tb-planning__copy {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-6);
}

[data-team-building-page] .tb-planning__copy > * {
  min-width: 0;
  margin: 0;
}

[data-team-building-page] .tb-planning__lead {
  max-width: 35ch;
  font-size: var(--text-lead);
  line-height: var(--leading-lead);
}

[data-team-building-page] .tb-planning__points {
  display: flex;
  flex-direction: column;
  gap: var(--space-6);
  width: 100%;
}

[data-team-building-page] .tb-planning__point {
  padding-top: var(--space-4);
  border-top: 1px solid var(--border-color);
}

[data-team-building-page] .tb-planning__point p {
  max-width: 35ch;
  margin: 0;
}

[data-team-building-page] .tb-planning__close {
  max-width: 35ch;
}

[data-team-building-page] .tb-planning__media {
  height: clamp(21rem, 43vw, 39rem);
}

[data-team-building-page] .tb-planning__cta {
  margin-top: var(--space-2);
}

[data-team-building-page] .tb-process {
  position: relative;
  background: var(--color-stone);
}

[data-team-building-page] .tb-process__intro {
  max-width: 60ch;
}

[data-team-building-page] .tb-process__intro h2 {
  max-width: 15ch;
}

[data-team-building-page] .tb-process__steps {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: var(--space-8);
  margin-top: var(--space-12);
}

[data-team-building-page] .tb-process__steps::before {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0.2rem;
  width: 1px;
  background: var(--color-ultramarine);
  content: '';
}

[data-team-building-page] .tb-process__step {
  position: relative;
  width: 100%;
  padding-inline-start: var(--space-8);
  opacity: 1;
  transition: opacity var(--transition-reveal), transform var(--transition-reveal);
}

[data-team-building-page] .tb-process__step::before {
  position: absolute;
  top: 0.25rem;
  left: 0;
  width: 0.5rem;
  aspect-ratio: 1;
  background: var(--color-chalk);
  border: 1px solid var(--color-ultramarine);
  border-radius: 50%;
  content: '';
}

[data-team-building-page] .tb-process__step.is-active::before {
  background: var(--color-burnt-orange);
  border-color: var(--color-burnt-orange);
}

[data-team-building-page] .tb-process__step h3,
[data-team-building-page] .tb-process__step p {
  max-width: 42ch;
}

[data-team-building-page] .tb-faq {
  background: var(--color-greige);
}

[data-team-building-page] .tb-faq__intro p {
  max-width: 38ch;
}

[data-team-building-page] .tb-faq__list {
  border-top: 1px solid var(--border-color);
}

[data-team-building-page] .tb-faq__item {
  border-bottom: 1px solid var(--border-color);
}

[data-team-building-page] .tb-faq__toggle {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 2rem;
  align-items: center;
  width: 100%;
  min-height: 3.5rem;
  padding: var(--space-4) 0;
  background: transparent;
  color: var(--color-ink);
  text-align: left;
}

[data-team-building-page] .tb-faq__question {
  min-width: 0;
  font-family: var(--font-heading);
  font-size: clamp(1.25rem, 2vw, 1.75rem);
  line-height: 1.15;
}

[data-team-building-page] .tb-faq__symbol {
  justify-self: end;
  color: var(--color-ultramarine);
  font-size: 1.5rem;
  line-height: 1;
}

[data-team-building-page] .tb-faq__item.is-open {
  border-left: 2px solid var(--color-burnt-orange);
}

[data-team-building-page] .tb-faq__panel {
  overflow: hidden;
}

[data-team-building-page] .tb-faq__answer {
  max-width: 60ch;
  padding: 0 var(--space-4) var(--space-6);
}

[data-team-building-page] .tb-faq__answer p:last-child {
  margin-bottom: 0;
}

[data-team-building-page] .tb-faq__answer::after {
  display: block;
  width: 3rem;
  height: 1px;
  margin-top: var(--space-4);
  background: var(--color-ultramarine);
  content: '';
}

[data-team-building-page] .tb-bridge {
  background: var(--color-chalk);
}

[data-team-building-page] .tb-bridge__heading {
  max-width: 54ch;
  margin-inline: auto;
  text-align: center;
}

[data-team-building-page] .tb-bridge__heading .tb-section-label {
  justify-content: center;
}

[data-team-building-page] .tb-bridge__heading h2 {
  margin-bottom: 0;
}

[data-team-building-page] .tb-bridge__blocks {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: var(--space-12);
  margin-top: var(--space-16);
}

[data-team-building-page] .tb-bridge__block {
  min-width: 0;
  width: 100%;
}

[data-team-building-page] .tb-bridge__block p {
  max-width: 35ch;
}

[data-team-building-page] .tb-bridge__block--wine {
  padding-top: var(--space-6);
  border-top: 2px solid var(--color-wine);
}

[data-team-building-page] .tb-enquiry {
  background: var(--color-ink);
  color: var(--color-chalk);
}

[data-team-building-page] .tb-enquiry__narrative {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-6);
}

[data-team-building-page] .tb-enquiry__narrative > * {
  min-width: 0;
  margin: 0;
}

[data-team-building-page] .tb-enquiry__narrative .tb-section-label {
  color: var(--color-greige);
}

[data-team-building-page] .tb-enquiry__narrative p {
  max-width: 39ch;
}

[data-team-building-page] .tb-enquiry__ideas {
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
  width: 100%;
  margin: 0;
  padding: 0;
  list-style: none;
}

[data-team-building-page] .tb-enquiry__ideas li {
  position: relative;
  max-width: 35ch;
  padding-inline-start: var(--space-6);
}

[data-team-building-page] .tb-enquiry__ideas li::before {
  position: absolute;
  top: 0.7em;
  left: 0;
  width: 0.5rem;
  height: 2px;
  background: var(--color-burnt-orange);
  content: '';
}

[data-team-building-page] .tb-enquiry__form-wrap {
  padding: var(--space-6);
  background: var(--color-stone);
  color: var(--color-ink);
}

[data-team-building-page] .tb-enquiry__form-title {
  margin-bottom: var(--space-6);
}

[data-team-building-page] .tb-enquiry__form {
  display: flex;
  flex-direction: column;
  gap: var(--space-6);
}

[data-team-building-page] .tb-enquiry__form > * {
  min-width: 0;
  width: 100%;
}

[data-team-building-page] .tb-field-error {
  margin: var(--space-2) 0 0;
  color: #8f3519;
  font-size: var(--text-small);
  font-weight: 700;
}

[data-team-building-page] .tb-form-status {
  margin: 0;
  color: var(--color-ink);
  font-weight: 700;
}

[data-team-building-page] .tb-form-status.is-success {
  color: var(--color-ultramarine);
}

[data-team-building-page] .tb-privacy {
  max-width: 38ch;
  margin: 0;
  color: var(--color-muted-text);
  font-size: var(--text-small);
}

[data-team-building-page] .tb-closing {
  background: var(--color-chalk);
}

[data-team-building-page] .tb-closing__content {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-6);
  max-width: 42ch;
}

[data-team-building-page] .tb-closing__content > * {
  min-width: 0;
  margin: 0;
}

[data-team-building-page] .tb-closing__label::before {
  width: 0.5rem;
  height: 0.5rem;
}

@media (min-width: 48rem) {
  [data-team-building-page] .tb-hero__grid {
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: var(--space-4);
  }

  [data-team-building-page] .tb-hero__copy {
    grid-column: 1 / span 3;
    justify-content: center;
    padding-block: var(--space-16);
  }

  [data-team-building-page] .tb-hero__media-wrap {
    grid-column: 4 / span 3;
    justify-content: center;
  }

  [data-team-building-page] .tb-hero__media {
    height: 72vh;
  }

  [data-team-building-page] .tb-value__grid,
  [data-team-building-page] .tb-rhythms__grid,
  [data-team-building-page] .tb-poker__grid,
  [data-team-building-page] .tb-planning__grid,
  [data-team-building-page] .tb-faq__grid,
  [data-team-building-page] .tb-enquiry__grid {
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: var(--space-4);
  }

  [data-team-building-page] .tb-value__intro,
  [data-team-building-page] .tb-poker__narrative,
  [data-team-building-page] .tb-process__intro {
    grid-column: 1 / span 4;
  }

  [data-team-building-page] .tb-value__rail,
  [data-team-building-page] .tb-poker__panel-wrap {
    grid-column: 5 / span 2;
  }

  [data-team-building-page] .tb-rhythms__media-column,
  [data-team-building-page] .tb-planning__copy,
  [data-team-building-page] .tb-faq__intro,
  [data-team-building-page] .tb-enquiry__narrative {
    grid-column: 1 / span 3;
  }

  [data-team-building-page] .tb-rhythms__copy,
  [data-team-building-page] .tb-planning__media-column,
  [data-team-building-page] .tb-faq__list,
  [data-team-building-page] .tb-enquiry__form-wrap {
    grid-column: 4 / span 3;
  }

  [data-team-building-page] .tb-value__rail {
    padding-top: var(--space-12);
  }

  [data-team-building-page] .tb-rhythms__grid {
    align-items: start;
  }

  [data-team-building-page] .tb-rhythms__copy {
    padding-top: var(--space-8);
  }

  [data-team-building-page] .tb-planning__media-column {
    order: 0;
    padding-top: var(--space-4);
  }

  [data-team-building-page] .tb-process__steps {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--space-12) var(--space-8);
  }

  [data-team-building-page] .tb-process__steps::before {
    top: -1.25rem;
    right: 0;
    bottom: auto;
    left: 0;
    width: 100%;
    height: 1px;
  }

  [data-team-building-page] .tb-process__step {
    padding: 0;
  }

  [data-team-building-page] .tb-process__step::before {
    top: -1.5rem;
  }

  [data-team-building-page] .tb-bridge__blocks {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--space-16);
  }

  [data-team-building-page] .tb-closing__content {
    margin-inline: auto;
    text-align: center;
    align-items: center;
    max-width: 54ch;
  }

  [data-team-building-page] .tb-closing__label {
    justify-content: center;
  }
}

@media (min-width: 56.25rem) {
  [data-team-building-page] .tb-rhythms__grid,
  [data-team-building-page] .tb-planning__grid,
  [data-team-building-page] .tb-faq__grid,
  [data-team-building-page] .tb-enquiry__grid {
    grid-template-columns: repeat(6, minmax(0, 1fr));
  }

  [data-team-building-page] .tb-rhythms__media-column,
  [data-team-building-page] .tb-planning__media-column,
  [data-team-building-page] .tb-faq__intro,
  [data-team-building-page] .tb-enquiry__narrative {
    grid-column: 1 / span 3;
  }

  [data-team-building-page] .tb-rhythms__copy,
  [data-team-building-page] .tb-planning__copy,
  [data-team-building-page] .tb-faq__list,
  [data-team-building-page] .tb-enquiry__form-wrap {
    grid-column: 4 / span 3;
  }

  [data-team-building-page] .tb-planning__media-column {
    order: 0;
  }
}

@media (min-width: 68.75rem) {
  [data-team-building-page] .tb-hero {
    min-height: 78vh;
  }

  [data-team-building-page] .tb-hero__grid {
    grid-template-columns: repeat(12, minmax(0, 1fr));
    min-height: 78vh;
    gap: var(--space-4);
  }

  [data-team-building-page] .tb-hero__copy {
    grid-column: 1 / span 5;
    padding-block: var(--space-16);
  }

  [data-team-building-page] .tb-hero__media-wrap {
    grid-column: 7 / span 6;
  }

  [data-team-building-page] .tb-hero__media {
    height: 78vh;
  }

  [data-team-building-page] .tb-hero__arc {
    position: absolute;
    bottom: -11rem;
    left: 4%;
    display: block;
    width: 32rem;
    height: 22rem;
    border: 1px solid rgb(244 241 234 / 0.22);
    border-radius: 50% 50% 0 0;
    pointer-events: none;
  }

  [data-team-building-page] .tb-value__grid,
  [data-team-building-page] .tb-rhythms__grid,
  [data-team-building-page] .tb-poker__grid,
  [data-team-building-page] .tb-planning__grid,
  [data-team-building-page] .tb-faq__grid,
  [data-team-building-page] .tb-enquiry__grid {
    grid-template-columns: repeat(12, minmax(0, 1fr));
    gap: var(--space-4);
  }

  [data-team-building-page] .tb-value__intro,
  [data-team-building-page] .tb-poker__narrative,
  [data-team-building-page] .tb-process__intro {
    grid-column: 1 / span 7;
  }

  [data-team-building-page] .tb-value__rail,
  [data-team-building-page] .tb-poker__panel-wrap {
    grid-column: 9 / span 4;
  }

  [data-team-building-page] .tb-value__rail {
    padding-top: var(--space-12);
  }

  [data-team-building-page] .tb-rhythms__media-column {
    grid-column: 1 / span 7;
  }

  [data-team-building-page] .tb-rhythms__copy {
    grid-column: 9 / span 4;
    padding-top: var(--space-8);
  }

  [data-team-building-page] .tb-poker__panel-wrap {
    transform: translateY(calc(var(--space-8) * -1));
  }

  [data-team-building-page] .tb-planning__copy {
    grid-column: 1 / span 4;
  }

  [data-team-building-page] .tb-planning__media-column {
    grid-column: 6 / span 7;
    padding-top: var(--space-4);
  }

  [data-team-building-page] .tb-process__steps {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: var(--space-4);
  }

  [data-team-building-page] .tb-process__step:nth-child(odd) {
    transform: translateY(var(--space-6));
  }

  [data-team-building-page] .tb-faq__intro {
    grid-column: 1 / span 5;
  }

  [data-team-building-page] .tb-faq__list {
    grid-column: 7 / span 6;
  }

  [data-team-building-page] .tb-enquiry__narrative {
    grid-column: 1 / span 5;
  }

  [data-team-building-page] .tb-enquiry__form-wrap {
    grid-column: 7 / span 6;
  }

  [data-team-building-page] .tb-bridge__blocks {
    grid-template-columns: repeat(12, minmax(0, 1fr));
    gap: var(--space-4);
  }

  [data-team-building-page] .tb-bridge__block:first-child {
    grid-column: 1 / span 5;
  }

  [data-team-building-page] .tb-bridge__block:last-child {
    grid-column: 8 / span 5;
  }
}

@media (max-width: 56.1875rem) {
  [data-team-building-page] .tb-planning__grid {
    grid-template-columns: minmax(0, 1fr);
  }

  [data-team-building-page] .tb-planning__media-column {
    grid-column: 1;
    grid-row: 1;
    order: -1;
  }

  [data-team-building-page] .tb-planning__copy {
    grid-column: 1;
    grid-row: 2;
  }
}

@media (max-width: 47.9375rem) {
  [data-team-building-page] .tb-section-label {
    margin-bottom: var(--space-4);
  }

  [data-team-building-page] .tb-value__grid,
  [data-team-building-page] .tb-rhythms__grid,
  [data-team-building-page] .tb-poker__grid,
  [data-team-building-page] .tb-planning__grid,
  [data-team-building-page] .tb-faq__grid,
  [data-team-building-page] .tb-enquiry__grid {
    gap: var(--space-8);
  }

  [data-team-building-page] .tb-value__rail {
    gap: var(--space-8);
  }

  [data-team-building-page] .tb-rhythms__media-column,
  [data-team-building-page] .tb-planning__media-column {
    width: 100vw;
    margin-inline: calc(50% - 50vw);
  }

  [data-team-building-page] .tb-rhythms__media {
    height: 72vw;
    min-height: 18rem;
    max-height: 26rem;
  }

  [data-team-building-page] .tb-planning__media {
    height: 75vw;
    min-height: 18rem;
    max-height: 28rem;
  }

  [data-team-building-page] .tb-rhythms__copy {
    gap: var(--space-6);
  }

  [data-team-building-page] .tb-poker::before {
    right: -13rem;
    bottom: -13rem;
    width: 25rem;
  }

  [data-team-building-page] .tb-poker::after {
    right: -10rem;
    bottom: -10rem;
    width: 19rem;
  }

  [data-team-building-page] .tb-poker__panel,
  [data-team-building-page] .tb-enquiry__form-wrap {
    padding: var(--space-6);
  }

  [data-team-building-page] .tb-process__steps {
    margin-top: var(--space-8);
    gap: var(--space-6);
  }

  [data-team-building-page] .tb-bridge__heading {
    margin-inline: 0;
    text-align: left;
  }

  [data-team-building-page] .tb-bridge__heading .tb-section-label {
    justify-content: flex-start;
  }

  [data-team-building-page] .tb-bridge__blocks {
    gap: var(--space-10);
    margin-top: var(--space-12);
  }

  [data-team-building-page] .tb-enquiry__form-wrap {
    padding: var(--space-5, 1.25rem);
  }
}

@media (prefers-reduced-motion: reduce) {
  [data-team-building-page] .tb-media img,
  [data-team-building-page] .tb-media::after,
  [data-team-building-page] .tb-process__step {
    transition: none;
  }

  [data-team-building-page] .tb-media:hover img,
  [data-team-building-page] .tb-process__step:nth-child(odd) {
    transform: none;
  }
}


.offline-poker-page {
  overflow: hidden;
  background: var(--surface-page);
}

.offline-poker-page .ope-hero__grid,
.offline-poker-page .ope-materials__grid,
.offline-poker-page .ope-groups__grid {
  display: grid;
  min-width: 0;
}

.offline-poker-page .ope-hero {
  min-height: max(78vh, 32.5rem);
  background: var(--surface-page);
}

.offline-poker-page .ope-hero__grid {
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.35fr);
  min-height: max(78vh, 32.5rem);
}

.offline-poker-page .ope-hero__copy {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: center;
  min-width: 0;
  padding: clamp(4rem, 9vw, 8rem) clamp(1.25rem, 5vw, 6rem) clamp(4rem, 9vw, 8rem) max(1.25rem, calc((100vw - var(--container-max)) / 2));
  gap: var(--space-6);
}

.offline-poker-page .ope-hero__copy > * {
  min-width: 0;
  margin: 0;
}

.offline-poker-page .ope-hero h1 {
  max-width: 12ch;
  font-size: clamp(3.15rem, 6.7vw, 6.65rem);
}

.offline-poker-page .ope-hero__lead {
  max-width: 44ch;
}

.offline-poker-page .ope-hero__action {
  align-self: flex-start;
}

.offline-poker-page .ope-hero__arc {
  position: absolute;
  right: -4.5rem;
  bottom: 3.2rem;
  width: 9rem;
  height: 4.5rem;
  border: 2px solid var(--color-burnt-orange);
  border-bottom: 0;
  border-radius: 9rem 9rem 0 0;
  pointer-events: none;
}

.offline-poker-page .ope-hero__figure {
  position: relative;
  min-width: 0;
  margin: 0;
}

.offline-poker-page .ope-hero__media,
.offline-poker-page .ope-hero__media img {
  width: 100%;
  height: 100%;
}

.offline-poker-page .ope-hero__media {
  border-radius: 0;
}

.offline-poker-page .ope-hero__media::after,
.offline-poker-page .ope-materials__media::after,
.offline-poker-page .ope-groups__media::after {
  position: absolute;
  inset: 0;
  background: rgb(200 90 50 / 0.12);
  content: "";
  opacity: 0;
  pointer-events: none;
  transition: opacity var(--transition-fast);
}

.offline-poker-page .ope-hero__media,
.offline-poker-page .ope-materials__media,
.offline-poker-page .ope-groups__media {
  position: relative;
}

.offline-poker-page .ope-hero__media img,
.offline-poker-page .ope-materials__media img,
.offline-poker-page .ope-groups__media img {
  object-fit: cover;
  transition: transform var(--transition-fast);
}

.offline-poker-page .ope-hero__figure:hover .ope-hero__media img,
.offline-poker-page .ope-materials__figure:hover .ope-materials__media img,
.offline-poker-page .ope-groups__figure:hover .ope-groups__media img {
  transform: scale(1.03);
}

.offline-poker-page .ope-hero__figure:hover .ope-hero__media::after,
.offline-poker-page .ope-materials__figure:hover .ope-materials__media::after,
.offline-poker-page .ope-groups__figure:hover .ope-groups__media::after {
  opacity: 1;
}

.offline-poker-page .ope-hero__caption {
  position: absolute;
  bottom: 0;
  left: 0;
  width: min(25rem, 78%);
  margin: 0;
  padding: var(--space-4) var(--space-6);
  background: var(--surface-page);
  color: var(--text-primary);
  font-size: var(--text-small);
}

.offline-poker-page .ope-offline__grid {
  display: grid;
  grid-template-columns: minmax(0, 4fr) minmax(0, 1fr) minmax(0, 7fr);
  gap: var(--space-8);
}

.offline-poker-page .ope-offline__intro,
.offline-poker-page .ope-concepts__intro,
.offline-poker-page .ope-process__intro,
.offline-poker-page .ope-occasions__intro,
.offline-poker-page .ope-world__intro {
  min-width: 0;
}

.offline-poker-page .ope-offline__intro {
  grid-column: 1;
}

.offline-poker-page .ope-offline__intro h2 {
  max-width: 20ch;
}

.offline-poker-page .ope-offline__statements {
  display: flex;
  grid-column: 3;
  flex-direction: column;
  min-width: 0;
}

.offline-poker-page .ope-statement {
  position: relative;
  display: grid;
  grid-template-columns: 3.5rem minmax(0, 1fr);
  min-width: 0;
  padding: var(--space-6) 0;
  border-top: 1px solid var(--border-color);
  column-gap: var(--space-4);
}

.offline-poker-page .ope-statement__number {
  color: var(--color-muted-text);
  font-size: var(--text-meta);
  font-weight: 700;
  letter-spacing: var(--tracking-meta);
}

.offline-poker-page .ope-statement h3,
.offline-poker-page .ope-statement p {
  grid-column: 2;
  min-width: 0;
}

.offline-poker-page .ope-statement h3 {
  margin-bottom: var(--space-3);
}

.offline-poker-page .ope-statement p {
  max-width: 58ch;
  margin-bottom: 0;
}

.offline-poker-page .ope-statement--accent {
  border-top-color: var(--color-ultramarine);
}

.offline-poker-page .ope-statement--accent::before {
  position: absolute;
  top: -1px;
  left: 0;
  width: 4rem;
  height: 2px;
  background: var(--color-ultramarine);
  content: "";
}

.offline-poker-page .ope-concepts__grid {
  display: grid;
  grid-template-columns: minmax(0, 4fr) minmax(0, 1fr) minmax(0, 7fr);
  gap: var(--space-8);
}

.offline-poker-page .ope-concepts__intro {
  grid-column: 1;
}

.offline-poker-page .ope-concepts__intro h2 {
  max-width: 17ch;
}

.offline-poker-page .ope-concepts__intro .lead {
  max-width: 52ch;
}

.offline-poker-page .ope-concepts__list {
  display: grid;
  grid-column: 3;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--space-4);
  min-width: 0;
}

.offline-poker-page .ope-concept {
  display: flex;
  flex-direction: column;
  min-width: 0;
  min-height: 18rem;
  padding: var(--space-6);
  border: 1px solid var(--border-color);
  border-top: 3px solid var(--color-ink);
  border-radius: var(--radius-sm);
  background: var(--surface-page);
  gap: var(--space-4);
  transition: transform var(--transition-fast), border-color var(--transition-fast), background-color var(--transition-fast);
}

.offline-poker-page .ope-concept:hover {
  transform: translateY(-2px);
  border-color: var(--color-ultramarine);
}

.offline-poker-page .ope-concept:focus-within {
  outline: 2px solid var(--color-focus);
  outline-offset: 2px;
}

.offline-poker-page .ope-concept > * {
  min-width: 0;
  margin: 0;
}

.offline-poker-page .ope-concept__top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  min-width: 0;
  gap: var(--space-2);
  color: var(--text-secondary);
  font-size: var(--text-meta);
  font-weight: 700;
  letter-spacing: var(--tracking-meta);
  text-transform: uppercase;
}

.offline-poker-page .ope-concept__top span {
  min-width: 0;
}

.offline-poker-page .ope-concept h3 {
  font-size: clamp(1.45rem, 2vw, 2rem);
}

.offline-poker-page .ope-concept p {
  max-width: 34ch;
  font-size: var(--text-small);
}

.offline-poker-page .ope-concept .text-link {
  margin-top: auto;
  font-size: var(--text-small);
}

.offline-poker-page .ope-concept--wine { border-top-color: var(--color-wine); }
.offline-poker-page .ope-concept--blue { border-top-color: var(--color-ultramarine); }
.offline-poker-page .ope-concept--orange { border-top-color: var(--color-burnt-orange); }
.offline-poker-page .ope-concept--wine-soft { border-top-color: var(--color-wine); background: rgb(244 241 234 / 0.7); }
.offline-poker-page .ope-concept--lounge { grid-column: span 2; border-top-color: var(--color-ink); background: var(--surface-tertiary); }
.offline-poker-page .ope-concept--beginner { border-top-color: var(--color-ultramarine); }

.offline-poker-page .ope-materials {
  overflow: visible;
  padding-block: var(--section-space);
  background: var(--surface-secondary);
}

.offline-poker-page .ope-materials__grid {
  grid-template-columns: minmax(0, 58%) minmax(20rem, 42%);
  align-items: end;
  min-height: 34rem;
}

.offline-poker-page .ope-materials__figure {
  grid-column: 1;
  min-width: 0;
  margin: 0;
}

.offline-poker-page .ope-materials__media {
  height: 32rem;
  border-radius: 0;
}

.offline-poker-page .ope-materials__media img {
  width: 100%;
  height: 100%;
}

.offline-poker-page .ope-materials__panel {
  z-index: 1;
  display: flex;
  grid-column: 2;
  flex-direction: column;
  min-width: 20rem;
  margin: 0 0 0 calc(var(--space-8) * -1);
  padding: var(--space-8);
  background: var(--surface-tertiary);
  gap: var(--space-4);
}

.offline-poker-page .ope-materials__panel > * {
  min-width: 0;
  margin: 0;
}

.offline-poker-page .ope-materials__panel h3 {
  max-width: 18ch;
}

.offline-poker-page .ope-materials__panel > p:not(.meta) {
  max-width: 42ch;
}

.offline-poker-page .ope-materials__detail {
  display: flex;
  align-items: flex-start;
  min-width: 0;
  padding-top: var(--space-4);
  border-top: 1px solid var(--border-color);
  gap: var(--space-3);
}

.offline-poker-page .ope-materials__detail .marker {
  flex: 0 0 0.5rem;
  margin-top: 0.45rem;
}

.offline-poker-page .ope-materials__detail p {
  min-width: 0;
  margin: 0;
  font-size: var(--text-small);
}

.offline-poker-page .ope-process__grid {
  display: grid;
  grid-template-columns: minmax(0, 4fr) minmax(0, 1fr) minmax(0, 7fr);
  gap: var(--space-8);
}

.offline-poker-page .ope-process__intro {
  grid-column: 1;
}

.offline-poker-page .ope-process__intro h2 {
  max-width: 15ch;
}

.offline-poker-page .ope-process__intro .lead {
  max-width: 50ch;
}

.offline-poker-page .ope-accordion {
  grid-column: 3;
  min-width: 0;
}

.offline-poker-page .ope-accordion__item {
  min-width: 0;
  border-top: 1px solid rgb(244 241 234 / 0.4);
}

.offline-poker-page .ope-accordion__item:last-child {
  border-bottom: 1px solid rgb(244 241 234 / 0.4);
}

.offline-poker-page .ope-accordion__item h3 {
  margin: 0;
}

.offline-poker-page .ope-accordion__button {
  display: grid;
  grid-template-columns: 4.5rem minmax(0, 1fr) 2rem;
  align-items: center;
  width: 100%;
  min-height: 4.5rem;
  padding: var(--space-4) 0;
  background: transparent;
  color: var(--text-on-dark);
  text-align: left;
  gap: var(--space-3);
}

.offline-poker-page .ope-accordion__button > * {
  min-width: 0;
}

.offline-poker-page .ope-accordion__number {
  color: var(--color-greige);
  font-family: var(--font-body);
  font-size: var(--text-meta);
  font-weight: 700;
  letter-spacing: var(--tracking-meta);
}

.offline-poker-page .ope-accordion__button > span:nth-child(2) {
  font-family: var(--font-heading);
  font-size: clamp(1.35rem, 2vw, 1.85rem);
  line-height: 1.08;
}

.offline-poker-page .ope-accordion__symbol {
  color: var(--color-burnt-orange);
  font-size: 1.8rem;
  font-weight: 400;
  text-align: right;
}

.offline-poker-page .ope-accordion__panel {
  display: grid;
  grid-template-rows: 1fr;
  overflow: hidden;
  transition: grid-template-rows var(--transition-reveal);
}

.offline-poker-page .ope-accordion__panel[hidden] {
  display: none;
}

.offline-poker-page .ope-accordion__content {
  min-width: 0;
  padding: 0 0 var(--space-6) 4.5rem;
}

.offline-poker-page .ope-accordion__content > * {
  min-width: 0;
}

.offline-poker-page .ope-accordion__content p:not(.meta) {
  max-width: 60ch;
}

.offline-poker-page .ope-accordion__content > :last-child {
  margin-bottom: 0;
}

.offline-poker-page .ope-occasions__intro {
  width: min(100%, 42rem);
  margin-inline: auto;
  text-align: center;
}

.offline-poker-page .ope-occasions__intro .lead {
  margin-bottom: 0;
}

.offline-poker-page .ope-occasions__grid {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  align-items: start;
  min-width: 0;
  margin-top: var(--space-12);
  gap: var(--space-8) var(--space-4);
}

.offline-poker-page .ope-occasion {
  display: flex;
  flex-direction: column;
  min-width: 0;
  padding: var(--space-8);
  gap: var(--space-4);
}

.offline-poker-page .ope-occasion > * {
  min-width: 0;
  margin: 0;
}

.offline-poker-page .ope-occasion h3 {
  max-width: 18ch;
}

.offline-poker-page .ope-occasion p {
  max-width: 48ch;
}

.offline-poker-page .ope-occasion--corporate {
  grid-column: 1 / span 5;
  min-height: 21rem;
  border-top: 2px solid var(--color-ultramarine);
  background: var(--surface-page);
}

.offline-poker-page .ope-occasion--team {
  grid-column: 8 / span 4;
  margin-top: var(--space-12);
  background: var(--surface-secondary);
}

.offline-poker-page .ope-occasion--private {
  grid-column: 2 / span 5;
  min-height: 21rem;
  background: var(--surface-wine);
  color: var(--text-on-dark);
}

.offline-poker-page .ope-occasion--theme {
  grid-column: 8 / span 4;
  border: 1px solid var(--border-color);
}

.offline-poker-page .ope-occasion--private a {
  color: var(--color-chalk);
}

.offline-poker-page .ope-groups {
  background: var(--surface-secondary);
}

.offline-poker-page .ope-groups__grid {
  grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
  align-items: stretch;
}

.offline-poker-page .ope-groups__copy {
  display: flex;
  grid-column: 1;
  flex-direction: column;
  justify-content: center;
  min-width: 0;
  padding: var(--section-space) clamp(1.25rem, 5vw, 6rem) var(--section-space) max(1.25rem, calc((100vw - var(--container-max)) / 2));
  gap: var(--space-6);
}

.offline-poker-page .ope-groups__copy > * {
  min-width: 0;
  margin: 0;
}

.offline-poker-page .ope-groups__copy h2 {
  max-width: 16ch;
}

.offline-poker-page .ope-groups__copy .lead,
.offline-poker-page .ope-groups__copy > p:not(.meta) {
  max-width: 54ch;
}

.offline-poker-page .ope-beginners {
  display: flex;
  flex-direction: column;
  min-width: 0;
  margin-top: var(--space-2);
  padding: var(--space-6);
  border: 1px solid var(--border-color);
  background: var(--surface-page);
  gap: var(--space-3);
}

.offline-poker-page .ope-beginners > * {
  min-width: 0;
  margin: 0;
}

.offline-poker-page .ope-beginners h3 {
  font-size: clamp(1.45rem, 2vw, 1.9rem);
}

.offline-poker-page .ope-beginners p:not(.meta) {
  max-width: 40ch;
}

.offline-poker-page .ope-groups__figure {
  min-width: 0;
  margin: 0;
}

.offline-poker-page .ope-groups__media,
.offline-poker-page .ope-groups__media img {
  width: 100%;
  height: 100%;
}

.offline-poker-page .ope-groups__media {
  min-height: 100%;
  border-radius: 0;
}

.offline-poker-page .ope-groups__figure figcaption {
  margin: 0;
  padding: var(--space-3) var(--space-6);
  background: var(--surface-page);
}

.offline-poker-page .ope-private__statement {
  width: min(100%, 45rem);
  min-width: 0;
  margin-left: calc((100% / 12) * 1);
  padding-left: var(--space-6);
  border-left: 2px solid var(--color-burnt-orange);
}

.offline-poker-page .ope-private__statement h2 {
  max-width: 18ch;
}

.offline-poker-page .ope-private__statement .lead {
  max-width: 58ch;
  margin-bottom: 0;
}

.offline-poker-page .ope-private__lower {
  display: grid;
  grid-template-columns: minmax(0, 5fr) minmax(20rem, 4fr);
  justify-content: space-between;
  min-width: 0;
  margin-top: var(--space-12);
  gap: var(--space-8);
}

.offline-poker-page .ope-private__explanation,
.offline-poker-page .ope-private__cta {
  display: flex;
  flex-direction: column;
  min-width: 0;
  gap: var(--space-4);
}

.offline-poker-page .ope-private__explanation > *,
.offline-poker-page .ope-private__cta > * {
  min-width: 0;
  margin: 0;
}

.offline-poker-page .ope-private__explanation {
  grid-column: 1;
}

.offline-poker-page .ope-private__explanation p:not(.meta) {
  max-width: 50ch;
}

.offline-poker-page .ope-private__cta {
  grid-column: 2;
  padding: var(--space-8);
  background: var(--surface-accent);
  color: var(--text-on-dark);
}

.offline-poker-page .ope-private__cta .button {
  align-self: flex-start;
}

.offline-poker-page .ope-world__grid {
  display: grid;
  grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
  min-width: 0;
  gap: var(--space-8);
}

.offline-poker-page .ope-world__intro {
  grid-column: 1;
}

.offline-poker-page .ope-world__intro h2 {
  max-width: 16ch;
}

.offline-poker-page .ope-world__intro .lead {
  max-width: 56ch;
}

.offline-poker-page .ope-world__links {
  display: grid;
  grid-column: 2;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  min-width: 0;
}

.offline-poker-page .ope-world__item {
  display: flex;
  flex-direction: column;
  min-width: 0;
  padding: 0 var(--space-6);
  border-left: 1px solid var(--border-color);
  gap: var(--space-4);
}

.offline-poker-page .ope-world__item > * {
  min-width: 0;
  margin: 0;
}

.offline-poker-page .ope-world__item h3 {
  font-size: clamp(1.35rem, 1.8vw, 1.8rem);
}

.offline-poker-page .ope-world__item p {
  max-width: 38ch;
  font-size: var(--text-small);
}

.offline-poker-page .ope-world__item .text-link {
  margin-top: auto;
  font-size: var(--text-small);
}

.offline-poker-page .ope-final {
  position: relative;
}

.offline-poker-page .ope-final__grid {
  position: relative;
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  min-width: 0;
  gap: var(--space-4);
}

.offline-poker-page .ope-final__copy {
  z-index: 1;
  display: flex;
  grid-column: 2 / span 7;
  flex-direction: column;
  min-width: 0;
  gap: var(--space-6);
}

.offline-poker-page .ope-final__copy > * {
  min-width: 0;
  margin: 0;
}

.offline-poker-page .ope-final__copy h2 {
  max-width: 16ch;
}

.offline-poker-page .ope-final__copy .lead {
  max-width: 56ch;
}

.offline-poker-page .ope-final__action {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  min-width: 0;
  gap: var(--space-3);
}

.offline-poker-page .ope-final__action p {
  margin: 0;
  color: var(--color-greige);
  font-size: var(--text-small);
}

.offline-poker-page .ope-final__graphic {
  position: relative;
  grid-column: 10 / span 3;
  align-self: end;
  width: 13rem;
  max-width: 100%;
  aspect-ratio: 1;
  justify-self: end;
  opacity: 0.72;
}

.offline-poker-page .ope-final__graphic span {
  position: absolute;
  border: 1px solid var(--color-ultramarine);
  border-radius: 50%;
}

.offline-poker-page .ope-final__graphic span:nth-child(1) { inset: 0; }
.offline-poker-page .ope-final__graphic span:nth-child(2) { inset: 1.3rem; }
.offline-poker-page .ope-final__graphic span:nth-child(3) { inset: 2.6rem; }
.offline-poker-page .ope-final__graphic i {
  position: absolute;
  right: 0.4rem;
  top: 0.25rem;
  width: 2.3rem;
  height: 2.3rem;
  border-top: 2px solid var(--color-burnt-orange);
  border-right: 2px solid var(--color-burnt-orange);
}

@media (max-width: 68.6875rem) {
  .offline-poker-page .ope-concepts__grid,
  .offline-poker-page .ope-offline__grid,
  .offline-poker-page .ope-process__grid {
    grid-template-columns: repeat(6, minmax(0, 1fr));
  }

  .offline-poker-page .ope-offline__intro,
  .offline-poker-page .ope-concepts__intro,
  .offline-poker-page .ope-process__intro {
    grid-column: 1 / -1;
  }

  .offline-poker-page .ope-offline__statements,
  .offline-poker-page .ope-concepts__list,
  .offline-poker-page .ope-accordion {
    grid-column: 1 / -1;
  }

  .offline-poker-page .ope-concepts__list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .offline-poker-page .ope-materials__grid {
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: 0;
  }

  .offline-poker-page .ope-materials__figure {
    grid-column: 1 / -1;
  }

  .offline-poker-page .ope-materials__media {
    height: auto;
    aspect-ratio: 3 / 2;
  }

  .offline-poker-page .ope-materials__panel {
    grid-column: 3 / -1;
    min-width: 0;
    margin: calc(var(--space-8) * -1) 0 0;
  }

  .offline-poker-page .ope-occasions__grid {
    grid-template-columns: repeat(6, minmax(0, 1fr));
  }

  .offline-poker-page .ope-occasion--corporate { grid-column: 1 / span 3; }
  .offline-poker-page .ope-occasion--team { grid-column: 4 / span 3; margin-top: var(--space-8); }
  .offline-poker-page .ope-occasion--private { grid-column: 1 / span 3; }
  .offline-poker-page .ope-occasion--theme { grid-column: 4 / span 3; }

  .offline-poker-page .ope-world__grid {
    grid-template-columns: repeat(6, minmax(0, 1fr));
  }

  .offline-poker-page .ope-world__intro,
  .offline-poker-page .ope-world__links {
    grid-column: 1 / -1;
  }

  .offline-poker-page .ope-groups__copy {
    padding-right: var(--space-8);
  }
}

@media (max-width: 61.1875rem) {
  .offline-poker-page .ope-hero,
  .offline-poker-page .ope-hero__grid {
    min-height: 0;
  }

  .offline-poker-page .ope-hero__grid {
    grid-template-columns: repeat(6, minmax(0, 1fr));
  }

  .offline-poker-page .ope-hero__copy {
    grid-column: 1 / span 3;
    padding-right: var(--space-6);
  }

  .offline-poker-page .ope-hero__figure {
    grid-column: 4 / span 3;
    min-height: 42rem;
  }

  .offline-poker-page .ope-groups__grid {
    grid-template-columns: repeat(6, minmax(0, 1fr));
  }

  .offline-poker-page .ope-groups__copy {
    grid-column: 1 / span 3;
  }

  .offline-poker-page .ope-groups__figure {
    grid-column: 4 / span 3;
  }

  .offline-poker-page .ope-private__statement {
    margin-left: 0;
  }
}

@media (max-width: 56.1875rem) {
  .offline-poker-page .ope-private__lower {
    grid-template-columns: repeat(6, minmax(0, 1fr));
  }

  .offline-poker-page .ope-private__explanation {
    grid-column: 1 / -1;
  }

  .offline-poker-page .ope-private__cta {
    grid-column: 3 / -1;
  }

  .offline-poker-page .ope-world__links {
    grid-template-columns: 1fr;
    gap: 0;
  }

  .offline-poker-page .ope-world__item {
    padding: var(--space-6) 0;
    border-top: 1px solid var(--border-color);
    border-left: 0;
  }

  .offline-poker-page .ope-world__item:last-child {
    border-bottom: 1px solid var(--border-color);
  }
}

@media (max-width: 47.9375rem) {
  .offline-poker-page .ope-hero__grid,
  .offline-poker-page .ope-offline__grid,
  .offline-poker-page .ope-concepts__grid,
  .offline-poker-page .ope-materials__grid,
  .offline-poker-page .ope-process__grid,
  .offline-poker-page .ope-occasions__grid,
  .offline-poker-page .ope-groups__grid,
  .offline-poker-page .ope-private__lower,
  .offline-poker-page .ope-world__grid,
  .offline-poker-page .ope-final__grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .offline-poker-page .ope-hero__copy {
    grid-column: 1;
    padding: var(--space-16) var(--gutter) var(--space-12);
    gap: var(--space-6);
  }

  .offline-poker-page .ope-hero h1 {
    max-width: 11ch;
    font-size: clamp(3.15rem, 14vw, 4.2rem);
  }

  .offline-poker-page .ope-hero__lead {
    max-width: 44ch;
  }

  .offline-poker-page .ope-hero__arc {
    right: 1rem;
    bottom: -1.5rem;
    width: 6rem;
    height: 3rem;
  }

  .offline-poker-page .ope-hero__figure {
    grid-column: 1;
    min-height: 60vh;
  }

  .offline-poker-page .ope-hero__media {
    height: 60vh;
  }

  .offline-poker-page .ope-hero__caption {
    position: relative;
    bottom: auto;
    width: calc(100% - var(--gutter));
    margin-top: calc(var(--space-4) * -1);
    margin-left: var(--gutter);
    padding: var(--space-4);
  }

  .offline-poker-page .ope-offline__grid,
  .offline-poker-page .ope-concepts__grid,
  .offline-poker-page .ope-process__grid,
  .offline-poker-page .ope-world__grid {
    gap: var(--space-8);
  }

  .offline-poker-page .ope-offline__intro,
  .offline-poker-page .ope-offline__statements,
  .offline-poker-page .ope-concepts__intro,
  .offline-poker-page .ope-concepts__list,
  .offline-poker-page .ope-process__intro,
  .offline-poker-page .ope-accordion,
  .offline-poker-page .ope-materials__figure,
  .offline-poker-page .ope-materials__panel,
  .offline-poker-page .ope-world__intro,
  .offline-poker-page .ope-world__links {
    grid-column: 1;
  }

  .offline-poker-page .ope-statement {
    grid-template-columns: 1fr;
    padding-top: var(--space-6);
    row-gap: var(--space-2);
  }

  .offline-poker-page .ope-statement h3,
  .offline-poker-page .ope-statement p {
    grid-column: 1;
  }

  .offline-poker-page .ope-concepts__list {
    grid-template-columns: minmax(0, 1fr);
    gap: var(--space-4);
  }

  .offline-poker-page .ope-concept,
  .offline-poker-page .ope-concept--lounge {
    grid-column: 1;
    min-height: 13.75rem;
    padding: var(--space-6);
  }

  .offline-poker-page .ope-concept p {
    max-width: none;
  }

  .offline-poker-page .ope-materials {
    padding-top: var(--space-16);
  }

  .offline-poker-page .ope-materials__media {
    aspect-ratio: 4 / 3;
  }

  .offline-poker-page .ope-materials__panel {
    margin: calc(var(--space-4) * -1) var(--gutter) 0;
    padding: var(--space-6);
  }

  .offline-poker-page .ope-accordion__button {
    grid-template-columns: minmax(0, 1fr) 2rem;
    min-height: 3.25rem;
  }

  .offline-poker-page .ope-accordion__number {
    grid-column: 1 / -1;
  }

  .offline-poker-page .ope-accordion__button > span:nth-child(2) {
    grid-column: 1;
  }

  .offline-poker-page .ope-accordion__symbol {
    grid-column: 2;
    grid-row: 2;
  }

  .offline-poker-page .ope-accordion__content {
    padding-left: 0;
  }

  .offline-poker-page .ope-occasions__intro {
    width: 100%;
    margin: 0;
    text-align: left;
  }

  .offline-poker-page .ope-occasions__grid {
    margin-top: var(--space-8);
    gap: var(--space-4);
  }

  .offline-poker-page .ope-occasion,
  .offline-poker-page .ope-occasion--corporate,
  .offline-poker-page .ope-occasion--team,
  .offline-poker-page .ope-occasion--private,
  .offline-poker-page .ope-occasion--theme {
    grid-column: 1;
    min-height: 0;
    margin-top: 0;
    padding: var(--space-6);
  }

  .offline-poker-page .ope-occasion--corporate,
  .offline-poker-page .ope-occasion--private {
    min-height: 16.25rem;
  }

  .offline-poker-page .ope-groups__copy {
    grid-column: 1;
    padding: var(--space-16) var(--gutter) var(--space-8);
  }

  .offline-poker-page .ope-groups__figure {
    grid-column: 1;
  }

  .offline-poker-page .ope-groups__media {
    min-height: 0;
    aspect-ratio: 3 / 2;
  }

  .offline-poker-page .ope-groups__figure figcaption {
    padding-inline: var(--gutter);
  }

  .offline-poker-page .ope-private__statement {
    width: 100%;
    padding-top: var(--space-4);
    padding-left: 0;
    border-top: 2px solid var(--color-burnt-orange);
    border-left: 0;
  }

  .offline-poker-page .ope-private__lower {
    margin-top: var(--space-8);
    gap: var(--space-6);
  }

  .offline-poker-page .ope-private__explanation,
  .offline-poker-page .ope-private__cta {
    grid-column: 1;
  }

  .offline-poker-page .ope-private__cta {
    padding: var(--space-6);
  }

  .offline-poker-page .ope-private__cta .button {
    width: 100%;
  }

  .offline-poker-page .ope-world__item {
    padding-block: var(--space-6);
  }

  .offline-poker-page .ope-world__item .text-link {
    display: inline-flex;
    align-items: center;
    min-height: 2.75rem;
  }

  .offline-poker-page .ope-final__copy {
    grid-column: 1;
  }

  .offline-poker-page .ope-final__action .button {
    width: 100%;
    min-height: 3rem;
  }

  .offline-poker-page .ope-final__graphic {
    position: absolute;
    right: -2rem;
    bottom: -2rem;
    grid-column: 1;
    width: 8.5rem;
    opacity: 0.5;
  }
}

@media (prefers-reduced-motion: reduce) {
  .offline-poker-page .ope-hero__figure:hover .ope-hero__media img,
  .offline-poker-page .ope-materials__figure:hover .ope-materials__media img,
  .offline-poker-page .ope-groups__figure:hover .ope-groups__media img,
  .offline-poker-page .ope-concept:hover {
    transform: none;
  }
}


.event-page {
  background: var(--surface-page);
}

.event-page .media-frame {
  border-radius: 0;
}

.eo-hero {
  position: relative;
  overflow: hidden;
  background: var(--surface-page);
}

.eo-hero__grid,
.eo-principles__grid,
.eo-corporate__grid,
.eo-poker__grid,
.eo-cta__grid,
.eo-contact__grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: var(--space-8);
}

.eo-hero__copy,
.eo-hero__media,
.eo-principles__heading,
.eo-principles__list,
.eo-corporate__media,
.eo-corporate__copy,
.eo-poker__copy,
.eo-poker__media,
.eo-cta__message,
.eo-cta__action,
.eo-contact__form-area,
.eo-contact__guide {
  min-width: 0;
  width: 100%;
}

.eo-hero__copy {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-6);
  padding-block: var(--space-16) 0;
}

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

.eo-hero h1 {
  max-width: 23ch;
}

.eo-hero__copy .lead {
  max-width: 48ch;
}

.eo-hero__media {
  min-height: 62vh;
  margin-inline: calc(var(--gutter) * -1);
}

.eo-hero__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 45% center;
  transition: transform var(--transition-fast);
}

.eo-hero__media:hover img {
  transform: scale(1.03);
}

.eo-hero__arc,
.eo-poker__arc {
  display: none;
}

.eo-principles__grid {
  gap: var(--space-12);
}

.eo-principles__heading h2 {
  max-width: 20ch;
}

.eo-principles__list {
  display: flex;
  flex-direction: column;
  gap: var(--space-8);
}

.eo-principle {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: var(--space-3);
  min-width: 0;
  padding-block-end: var(--space-8);
  border-bottom: 1px solid var(--border-color);
}

.eo-principle__copy {
  min-width: 0;
}

.eo-principle__copy h3,
.eo-principle__copy p,
.eo-principle__copy .meta {
  max-width: 60ch;
}

.eo-principle__tags {
  color: var(--color-ultramarine);
}

.eo-services__intro {
  max-width: 58ch;
  margin-bottom: var(--space-12);
}

.eo-services__intro h2 {
  max-width: 20ch;
}

.eo-service-list {
  display: flex;
  flex-direction: column;
  min-width: 0;
  border-top: 1px solid var(--border-color);
}

.eo-service {
  min-width: 0;
  border-bottom: 1px solid var(--border-color);
}

.eo-service__row {
  display: grid;
  grid-template-columns: 2.5rem minmax(0, 1fr) 5.5rem;
  align-items: start;
  gap: var(--space-3);
  padding-block: var(--space-6);
}

.eo-service__row > * {
  min-width: 0;
}

.eo-service__summary h3,
.eo-service__summary p {
  margin-block: 0 var(--space-2);
}

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

.eo-service__label {
  color: var(--color-ultramarine);
}

.eo-service__toggle {
  display: inline-flex;
  align-items: center;
  justify-content: flex-end;
  gap: var(--space-2);
  width: 100%;
  min-width: 0;
  min-height: 2.75rem;
  padding: 0;
  background: transparent;
  color: var(--color-ultramarine);
  font-size: var(--text-small);
  font-weight: 700;
}

.eo-service__toggle b {
  display: inline-grid;
  width: 1.5rem;
  min-width: 1.5rem;
  aspect-ratio: 1;
  place-items: center;
  border: 1px solid currentColor;
  border-radius: 50%;
  font-size: 1.125rem;
  font-weight: 400;
}

.eo-service.is-open .eo-service__row::before {
  align-self: center;
  width: 0.5rem;
  height: 0.5rem;
  grid-column: 1;
  grid-row: 1;
  background: var(--color-burnt-orange);
  content: "";
}

.eo-service.is-open .eo-service__row > .meta {
  opacity: 0;
}

.eo-service__detail {
  display: grid;
  grid-template-rows: 0fr;
  padding-inline-start: calc(2.5rem + var(--space-3));
  transition: grid-template-rows var(--transition-reveal), padding-bottom var(--transition-reveal);
}

.eo-service__detail > p {
  min-height: 0;
  max-width: 62ch;
  margin: 0;
  overflow: hidden;
}

.eo-service.is-open .eo-service__detail {
  grid-template-rows: 1fr;
  padding-bottom: var(--space-6);
}

.eo-service.is-open .eo-service__detail > p {
  padding-left: var(--space-4);
  border-left: 2px solid var(--color-wine);
}

.eo-corporate__grid {
  gap: var(--space-8);
}

.eo-corporate__media {
  aspect-ratio: 4 / 3;
  margin-inline: calc(var(--gutter) * -1);
}

.eo-corporate__media img,
.eo-poker__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.eo-corporate__media figcaption,
.eo-poker__media figcaption {
  padding-inline: var(--gutter);
}

.eo-corporate__copy {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-6);
}

.eo-corporate__copy > * {
  margin: 0;
}

.eo-corporate__copy h2 {
  max-width: 22ch;
}

.eo-corporate__copy .lead,
.eo-corporate__copy > p:not(.meta) {
  max-width: 44ch;
}

.eo-corporate__meta {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-3);
  width: 100%;
  min-width: 0;
  color: var(--color-muted-text);
  font-size: var(--text-meta);
  font-weight: 700;
  letter-spacing: var(--tracking-meta);
  text-transform: uppercase;
}

.eo-corporate__meta span {
  min-width: 0;
}

.eo-corporate__closing {
  display: flex;
  flex-direction: column;
  gap: var(--space-4);
  width: 100%;
  padding-top: var(--space-6);
  border-top: 2px solid var(--color-ultramarine);
}

.eo-corporate__closing > * {
  margin: 0;
}

.eo-poker {
  overflow: hidden;
}

.eo-poker__grid {
  gap: var(--space-8);
}

.eo-poker__copy {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-6);
}

.eo-poker__copy > * {
  margin: 0;
}

.eo-poker__copy > .meta {
  color: var(--color-greige);
}

.eo-poker__copy h2 {
  max-width: 20ch;
}

.eo-poker__copy .lead,
.eo-poker__copy > p:not(.meta) {
  max-width: 52ch;
}

.eo-poker__media {
  aspect-ratio: 4 / 3;
  margin-inline: calc(var(--gutter) * -1);
}

.eo-poker__inventory {
  display: flex;
  flex-direction: column;
  gap: var(--space-2);
  width: 100%;
  margin: 0;
  padding: 0;
  list-style: none;
}

.eo-poker__inventory li {
  min-width: 0;
  padding-bottom: var(--space-2);
  border-bottom: 1px solid rgb(244 241 234 / 0.35);
}

.eo-poker__closing {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-4);
  width: 100%;
}

.eo-poker__closing > * {
  margin: 0;
}

.eo-process__heading {
  max-width: 52ch;
  margin-bottom: var(--space-12);
}

.eo-process__heading h2 {
  max-width: 22ch;
}

.eo-process__steps {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: var(--space-8);
  min-width: 0;
  padding-left: 3.5rem;
}

.eo-process__steps::before {
  position: absolute;
  top: 1.5rem;
  bottom: 1.5rem;
  left: 1.25rem;
  width: 1px;
  background: var(--color-line);
  content: "";
}

.eo-step {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  min-width: 0;
}

.eo-step__number {
  position: absolute;
  top: 0;
  left: -3.5rem;
  z-index: 1;
  display: grid;
  width: 2.5rem;
  min-width: 2.5rem;
  aspect-ratio: 1;
  place-items: center;
  background: var(--surface-secondary);
  border: 1px solid var(--color-ultramarine);
  border-radius: 50%;
  color: var(--color-ultramarine);
  font-size: var(--text-meta);
  font-weight: 700;
  letter-spacing: 0.04em;
}

.eo-step__copy {
  min-width: 0;
  max-width: 54ch;
}

.eo-step__copy h3,
.eo-step__copy p {
  margin-block-end: var(--space-4);
}

.eo-step.is-current .eo-step__number {
  background: var(--color-ultramarine);
  color: var(--color-chalk);
}

.eo-compositions__heading {
  max-width: 58ch;
  margin-bottom: var(--space-12);
}

.eo-compositions__heading h2 {
  max-width: 21ch;
}

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

.eo-composition {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  min-width: 0;
  gap: var(--space-4);
  padding: var(--space-6);
}

.eo-composition > * {
  margin: 0;
}

.eo-composition h3,
.eo-composition p:not(.meta) {
  max-width: 42ch;
}

.eo-composition--private {
  background: var(--color-wine);
  color: var(--color-chalk);
}

.eo-composition--community {
  position: relative;
  background: var(--color-ink);
  color: var(--color-chalk);
}

.eo-composition--community::after {
  position: absolute;
  top: 0;
  right: 0;
  width: 1rem;
  height: 1rem;
  background: var(--color-burnt-orange);
  content: "";
}

.eo-composition--theme {
  background: var(--color-ultramarine);
  color: var(--color-chalk);
}

.eo-composition .text-link {
  color: var(--color-chalk);
}

.eo-cta__grid {
  gap: var(--space-8);
}

.eo-cta__message,
.eo-cta__action {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-6);
}

.eo-cta__message > *,
.eo-cta__action > * {
  margin: 0;
}

.eo-cta__message h2 {
  max-width: 24ch;
}

.eo-cta__message .lead {
  max-width: 48ch;
}

.eo-cta__action p {
  max-width: 34ch;
}

.eo-contact__grid {
  gap: var(--space-8);
}

.eo-contact__heading {
  max-width: 58ch;
  margin-bottom: var(--space-8);
}

.eo-contact__heading h2 {
  max-width: 20ch;
}

.eo-contact__guide {
  align-self: start;
  padding: var(--space-6);
  background: var(--surface-tertiary);
  border: 1px solid var(--border-color);
  border-radius: var(--radius-sm);
}

.eo-contact__guide h3,
.eo-contact__guide p {
  max-width: 32ch;
}

.eo-form {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-6);
  width: 100%;
}

.eo-form__two-columns {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: var(--space-6);
  width: 100%;
}

.eo-form__field {
  min-width: 0;
  width: 100%;
}

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

.eo-form__optional {
  color: var(--color-muted-text);
  font-weight: 400;
}

.eo-form__field small {
  display: block;
  margin-top: var(--space-2);
  color: var(--color-muted-text);
}

.eo-form__error {
  min-height: 1.2em;
  margin: var(--space-2) 0 0;
  color: var(--color-burnt-orange);
  font-size: var(--text-small);
  font-weight: 700;
}

.eo-form [aria-invalid="true"] {
  border-color: var(--color-burnt-orange);
}

.eo-form__consent {
  display: grid;
  grid-template-columns: 1.5rem minmax(0, 1fr);
  align-items: start;
  gap: var(--space-3);
  width: 100%;
}

.eo-form__consent input {
  width: 1.125rem;
  min-width: 1.125rem;
  min-height: 1.125rem;
  margin-top: 0.25rem;
}

.eo-form__consent label {
  min-width: 0;
  margin: 0;
}

.eo-form__status {
  min-height: 1.5rem;
  max-width: 58ch;
  color: var(--color-ultramarine);
  font-weight: 700;
}

.eo-notice__inner {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: var(--space-6);
}

.eo-notice__rule {
  display: block;
  width: 100%;
  height: 2px;
  background: var(--color-ultramarine);
}

.eo-notice__inner > div {
  min-width: 0;
  max-width: 64ch;
}

.eo-notice h2 {
  font-size: var(--text-h3);
  max-width: 28ch;
}

@media (min-width: 48rem) {
  .eo-hero__copy {
    padding-block: var(--space-22);
  }

  .eo-hero__media {
    margin-inline: 0;
    min-height: 26.25rem;
  }

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

  .eo-corporate__media,
  .eo-poker__media {
    margin-inline: 0;
  }

  .eo-corporate__media figcaption,
  .eo-poker__media figcaption {
    padding-inline: 0;
  }

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

  .eo-composition--theme {
    grid-column: 1 / -1;
  }

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

@media (min-width: 62rem) {
  .eo-hero__grid,
  .eo-corporate__grid,
  .eo-poker__grid,
  .eo-cta__grid,
  .eo-contact__grid {
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: var(--space-6);
  }

  .eo-hero__copy {
    grid-column: 1 / span 3;
    align-self: center;
    padding-block: var(--space-22);
  }

  .eo-hero__media {
    grid-column: 4 / -1;
    min-height: 34rem;
  }

  .eo-corporate__media,
  .eo-poker__media {
    grid-column: 1 / span 3;
  }

  .eo-corporate__copy,
  .eo-poker__copy {
    grid-column: 4 / -1;
    align-self: center;
  }

  .eo-poker__media {
    order: 2;
  }

  .eo-cta__message {
    grid-column: 1 / span 4;
  }

  .eo-cta__action {
    grid-column: 5 / -1;
    align-self: end;
  }

  .eo-contact__form-area {
    grid-column: 1 / span 4;
  }

  .eo-contact__guide {
    grid-column: 5 / -1;
  }

  .eo-process__steps {
    padding-left: 4rem;
  }

  .eo-process__steps::before {
    left: 1.5rem;
  }

  .eo-step__number {
    left: -4rem;
  }
}

@media (min-width: 68.75rem) {
  .eo-hero__grid,
  .eo-principles__grid,
  .eo-corporate__grid,
  .eo-poker__grid,
  .eo-cta__grid,
  .eo-contact__grid {
    grid-template-columns: repeat(12, minmax(0, 1fr));
    gap: 1.25rem;
  }

  .eo-hero {
    min-height: 78vh;
  }

  .eo-hero__grid {
    min-height: 78vh;
  }

  .eo-hero__copy {
    grid-column: 1 / span 5;
    padding-block: var(--space-16);
  }

  .eo-hero__media {
    grid-column: 7 / -1;
    min-height: 78vh;
  }

  .eo-hero__arc {
    position: absolute;
    bottom: 4rem;
    left: 3rem;
    display: block;
    width: 19rem;
    height: 6rem;
    border: 2px solid var(--color-burnt-orange);
    border-bottom: 0;
    border-radius: 19rem 19rem 0 0;
    pointer-events: none;
  }

  .eo-principles__heading {
    grid-column: 1 / span 4;
  }

  .eo-principles__list {
    grid-column: 5 / -1;
  }

  .eo-corporate__media {
    grid-column: 1 / span 7;
    align-self: start;
    aspect-ratio: 3 / 2;
  }

  .eo-corporate__copy {
    grid-column: 8 / span 4;
    align-self: end;
  }

  .eo-poker__copy {
    grid-column: 1 / span 5;
    align-self: center;
  }

  .eo-poker__media {
    grid-column: 7 / -1;
    order: 0;
  }

  .eo-poker__arc {
    position: absolute;
    bottom: 3rem;
    left: 0;
    display: block;
    width: 20rem;
    height: 7rem;
    border: 2px solid var(--color-ultramarine);
    border-bottom: 0;
    border-radius: 20rem 20rem 0 0;
    pointer-events: none;
  }

  .eo-process__steps {
    padding-left: 0;
  }

  .eo-process__steps::before {
    top: 1.5rem;
    bottom: 1.5rem;
    left: calc(50% - 0.5px);
  }

  .eo-step {
    grid-template-columns: repeat(12, minmax(0, 1fr));
    gap: 1.25rem;
  }

  .eo-step:nth-child(odd) .eo-step__copy {
    grid-column: 1 / span 5;
    text-align: right;
    justify-self: end;
  }

  .eo-step:nth-child(even) .eo-step__copy {
    grid-column: 8 / -1;
  }

  .eo-step__number {
    top: 0;
    left: calc(50% - 1.5rem);
    width: 3rem;
    min-width: 3rem;
  }

  .eo-compositions__panels {
    grid-template-columns: 5fr 4fr 3fr;
    gap: 0;
    align-items: start;
  }

  .eo-composition {
    min-height: 24rem;
    padding: var(--space-8);
  }

  .eo-composition--community {
    margin-top: var(--space-12);
  }

  .eo-composition--theme {
    grid-column: auto;
    margin-top: var(--space-6);
  }

  .eo-cta__message {
    grid-column: 1 / span 7;
  }

  .eo-cta__action {
    grid-column: 9 / span 3;
  }

  .eo-contact__form-area {
    grid-column: 1 / span 7;
  }

  .eo-contact__guide {
    grid-column: 9 / -1;
  }

  .eo-notice__inner {
    grid-template-columns: 2px minmax(0, 7fr);
    gap: var(--space-6);
    width: min(64ch, 100%);
    margin-inline: auto;
  }

  .eo-notice__rule {
    width: 2px;
    height: 100%;
  }
}

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

  .eo-hero__media:hover img {
    transform: none;
  }

  .eo-service__detail {
    transition: none;
  }
}


main.thank-you-page {
  display: grid;
  min-height: 68vh;
  place-items: center;
  padding-block: var(--section-space);
  background: var(--surface-page);
}

.thank-you-page__section {
  width: 100%;
}

.thank-you-page__panel {
  position: relative;
  width: min(100%, 52rem);
  margin-inline: auto;
  padding: clamp(2rem, 6vw, 4.5rem) clamp(1.5rem, 6vw, 5rem);
  overflow: hidden;
  background: var(--surface-secondary);
  border: 1px solid var(--border-color);
  border-radius: var(--radius-sm);
  text-align: center;
}

.thank-you-page__panel::before {
  position: absolute;
  top: 1.25rem;
  right: 1.25rem;
  width: clamp(4.5rem, 12vw, 7rem);
  aspect-ratio: 1;
  border: 2px solid var(--color-ultramarine);
  border-radius: 50%;
  content: "";
  opacity: 0.8;
}

.thank-you-page__panel::after {
  position: absolute;
  top: 2.25rem;
  right: clamp(2.9rem, 8vw, 4.5rem);
  width: 2px;
  height: clamp(3rem, 8vw, 5rem);
  background: var(--color-burnt-orange);
  content: "";
  transform: rotate(38deg);
  transform-origin: center;
}

.thank-you-page__content {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--space-6);
}

.thank-you-page__content > * {
  margin: 0;
}

.thank-you-page__eyebrow {
  display: inline-flex;
  align-items: center;
  gap: var(--space-2);
  color: var(--color-ultramarine);
}

.thank-you-page__eyebrow::before {
  width: 0.5rem;
  aspect-ratio: 1;
  background: var(--color-burnt-orange);
  content: "";
}

.thank-you-page__title {
  max-width: 12ch;
}

.thank-you-page__copy {
  max-width: 48ch;
  margin-inline: auto;
  color: var(--text-secondary);
  font-size: var(--text-lead);
  line-height: var(--leading-lead);
  text-align: center;
}

.thank-you-page__next {
  max-width: 48ch;
  margin-inline: auto;
  color: var(--text-primary);
  text-align: center;
}

.thank-you-page__actions {
  justify-content: center;
  width: 100%;
  margin-top: var(--space-2);
}

@media (max-width: 30rem) {
  .thank-you-page__panel {
    padding: 2.5rem var(--space-6);
  }

  .thank-you-page__actions {
    flex-direction: column;
    align-items: stretch;
  }

  .thank-you-page__actions .button {
    width: 100%;
  }
}

@media (min-width: 48rem) {
  main.thank-you-page {
    min-height: 72vh;
  }
}