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

html {
  color-scheme: light;
  scroll-behavior: smooth;
  -webkit-text-size-adjust: 100%;
     -moz-text-size-adjust: 100%;
          text-size-adjust: 100%;
}

body {
  min-height: 100vh;
  margin: 0;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

:where(h1, h2, h3, h4, h5, h6, p, figure, blockquote, dl, dd) {
  margin: 0;
}

:where(ul, ol) {
  margin: 0;
  padding: 0;
  list-style: none;
}

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

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

a {
  color: inherit;
}

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

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

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

/*
 * Self-hosted typefaces used by the v4 design system.
 *
 * Roslindale is licensed separately. IBM Plex Mono is distributed under the
 * SIL Open Font License; its license is included beside the font files.
 */

/* Roslindale Display */

@font-face {
  font-family: "Roslindale Display";
  src: url("/assets/fonts/RoslindaleDisplay-Light.woff2") format("woff2");
  font-weight: 300;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Roslindale Display";
  src: url("/assets/fonts/RoslindaleDisplay-LightItalic.woff2") format("woff2");
  font-weight: 300;
  font-style: italic;
  font-display: swap;
}

@font-face {
  font-family: "Roslindale Display";
  src: url("/assets/fonts/RoslindaleDisplay-Regular.woff2") format("woff2");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Roslindale Display";
  src: url("/assets/fonts/RoslindaleDisplay-Italic.woff2") format("woff2");
  font-weight: 400;
  font-style: italic;
  font-display: swap;
}

@font-face {
  font-family: "Roslindale Display";
  src: url("/assets/fonts/RoslindaleDisplay-Medium.woff2") format("woff2");
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Roslindale Display";
  src: url("/assets/fonts/RoslindaleDisplay-SemiBold.woff2") format("woff2");
  font-weight: 600;
  font-style: normal;
  font-display: swap;
}

/* Roslindale Display Condensed */

@font-face {
  font-family: "Roslindale Display Condensed";
  src: url("/assets/fonts/RoslindaleDisplayCondensed-ExtraLight.woff2")
    format("woff2");
  font-weight: 200;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Roslindale Display Condensed";
  src: url("/assets/fonts/RoslindaleDisplayCondensed-Light.woff2")
    format("woff2");
  font-weight: 300;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Roslindale Display Condensed";
  src: url("/assets/fonts/RoslindaleDisplayCondensed-Regular.woff2")
    format("woff2");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Roslindale Display Condensed";
  src: url("/assets/fonts/RoslindaleDisplayCondensed-Italic.woff2")
    format("woff2");
  font-weight: 400;
  font-style: italic;
  font-display: swap;
}

@font-face {
  font-family: "Roslindale Display Condensed";
  src: url("/assets/fonts/RoslindaleDisplayCondensed-Medium.woff2")
    format("woff2");
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}

/* Roslindale Deck Narrow */

@font-face {
  font-family: "Roslindale Deck Narrow";
  src: url("/assets/fonts/RoslindaleDeckNarrow-Regular.woff2") format("woff2");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Roslindale Deck Narrow";
  src: url("/assets/fonts/RoslindaleDeckNarrow-Italic.woff2") format("woff2");
  font-weight: 400;
  font-style: italic;
  font-display: swap;
}

@font-face {
  font-family: "Roslindale Deck Narrow";
  src: url("/assets/fonts/RoslindaleDeckNarrow-Medium.woff2") format("woff2");
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Roslindale Deck Narrow";
  src: url("/assets/fonts/RoslindaleDeckNarrow-SemiBold.woff2")
    format("woff2");
  font-weight: 600;
  font-style: normal;
  font-display: swap;
}

/* Roslindale Text */

@font-face {
  font-family: "Roslindale Text";
  src: url("/assets/fonts/RoslindaleText-Regular.woff2") format("woff2");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Roslindale Text";
  src: url("/assets/fonts/RoslindaleText-Italic.woff2") format("woff2");
  font-weight: 400;
  font-style: italic;
  font-display: swap;
}

@font-face {
  font-family: "Roslindale Text";
  src: url("/assets/fonts/RoslindaleText-Medium.woff2") format("woff2");
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Roslindale Text";
  src: url("/assets/fonts/RoslindaleText-SemiBold.woff2") format("woff2");
  font-weight: 600;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Roslindale Text";
  src: url("/assets/fonts/RoslindaleText-Bold.woff2") format("woff2");
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}

/* IBM Plex Mono */

@font-face {
  font-family: "IBM Plex Mono";
  src: url("/assets/fonts/IBMPlexMono-Regular.woff2") format("woff2");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "IBM Plex Mono";
  src: url("/assets/fonts/IBMPlexMono-Medium.woff2") format("woff2");
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}

:root {
  /* Typeface families */
  --font-display: "Roslindale Display", Georgia, serif;
  --font-display-condensed: "Roslindale Display Condensed", Georgia, serif;
  --font-deck: "Roslindale Deck Narrow", Georgia, serif;
  --font-text: "Roslindale Text", Georgia, serif;
  --font-mono: "IBM Plex Mono", "SFMono-Regular", Consolas, monospace;

  /* Figma palette */
  --color-ink-black: #0c0c0c;
  --color-deep-espresso: #3f301f;
  --color-espresso-umber: #3c3025;
  --color-clay-veil: #d8c3a7;
  --color-almond-dust: #ece3d4;
  --color-dusty-ochre: #e9d9c1;
  --color-field-ivory: #f9f6f3;
  --color-soft-beige: #ede5dd;
  --color-sand: #f7f3ee;
  --color-olive-dust: #d4d1c3;
  --color-stone-grey: #a29a91;
  --color-plaster-sand: #eadccf;
  --color-dark-clay: #888077;

  /* Semantic colors */
  --color-bg: var(--color-sand);
  --color-surface: var(--color-field-ivory);
  --color-text: var(--color-deep-espresso);
  --color-text-strong: var(--color-ink-black);
  --color-text-inverse: var(--color-almond-dust);
  --color-line: rgb(40 36 30 / 20%);
  --color-focus: var(--color-espresso-umber);
  --color-interlude-shy: rgb(212 209 195 / 17%);
  --color-interlude-confident: rgb(212 209 195 / 30%);

  /* Fixed spacing primitives */
  --space-1: 0.25rem;
  --space-2: 0.5rem;
  --space-3: 0.75rem;
  --space-4: 1rem;
  --space-5: 1.5rem;
  --space-6: 2.5rem;
  --space-7: 3.75rem;
  --space-8: 6.25rem;
  --space-9: 9.375rem;
  --space-10: 12.5rem;
  --space-11: 18.75rem;

  /* Fluid page rhythm */
  --section-compact: clamp(4.5rem, 3.1rem + 4.4vw, 6.25rem);
  --section-default: clamp(6.25rem, 2.8rem + 10.8vw, 9.375rem);
  --section-large: clamp(7.5rem, 2.5rem + 15.6vw, 12.5rem);
  --section-hero: clamp(9rem, 3rem + 18.75vw, 18.75rem);

  /*
   * Layout
   *
   * The 1440px Figma frames use a 1000px base field. Selected Work is the
   * deliberate exception with a 1140px field. The remaining values are
   * editorial measures nested inside those fields, not separate page grids.
   */
  --page-gutter: clamp(1.25rem, 4.8vw, 2.5rem);
  --layout-gutter: clamp(1rem, 1.5vw, 1.5rem);
  --container-standard: 62.5rem;
  --container-work: 71.25rem;
  --container-bet-reference: 76rem;
  --container-article: 54.5rem;
  --container-case-hero: 53.25rem;
  --container-practice: 49.75rem;
  --container-reading: 46.5rem;
  --container-change: 38.5rem;
  --container-change-item: 37rem;
  --container-form: 30.5rem;
  --metadata-column: 14.5rem;
  --field-note-metadata-column: 11.25rem;

  /* Figma-authored desktop grid gutters */
  --grid-gutter-standard: 1.5rem;
  --grid-gutter-work: 0.625rem;
  --grid-gutter-bet-reference: 2.25rem;

  /* Compatibility aliases while the v3 templates are replaced. */
  --container-wide: var(--container-standard);
  --container-medium: var(--container-article);

  /* Borders and radii */
  --border-hairline: 0.0625rem;
  --radius-control: 0.25rem;

  /* Motion */
  --duration-fast: 160ms;
  --duration-default: 240ms;
  --ease-standard: cubic-bezier(0.2, 0, 0, 1);

  /*
   * Temporary compatibility aliases for v3 templates. Remove alongside the
   * old page styles once each v4 page has replaced them.
   */
  --sand: var(--color-sand);
  --field-ivory: var(--color-field-ivory);
  --almond-dust: var(--color-almond-dust);
  --deep-espresso: var(--color-deep-espresso);
  --espresso-umber: var(--color-espresso-umber);
  --ink-black: var(--color-ink-black);
  --stone-grey: var(--color-stone-grey);
  --warm-taupe: var(--color-deep-espresso);
  --olive-dust: var(--color-olive-dust);
  --soft-linen: var(--color-olive-dust);
  --color-surface-alt: var(--color-olive-dust);
  --color-surface-muted: var(--color-olive-dust);
  --color-text-ui: var(--color-deep-espresso);
  --color-footer-top: var(--color-stone-grey);
  --color-footer-bottom: var(--color-dark-clay);
  --color-accent: var(--color-deep-espresso);
  --font-symbol: "Apple Symbols", "Segoe UI Symbol", sans-serif;
  --transition-fast: var(--duration-fast) var(--ease-standard);
  --transition-base: var(--duration-default) var(--ease-standard);
  --transition-slow: 420ms var(--ease-standard);
  --tracking-tight: -0.01em;
  --tracking-normal: 0;
  --tracking-soft: 0.005em;
  --tracking-wide: 0.01em;
  --tracking-wider: 0.02em;
  --lh-tight: 1.1;
  --lh-snug: 1.3;
  --lh-body: 1.5;
  --lh-normal: normal;
  --lh-loose: 1.75;
  --lh-airy: 1.9;
  --fs-9: 0.5625rem;
  --fs-11: 0.6875rem;
  --fs-12: 0.75rem;
  --fs-13: 0.8125rem;
  --fs-14: 0.875rem;
  --fs-15: 0.9375rem;
  --fs-16: 1rem;
  --fs-17: 1.0625rem;
  --fs-18: 1.125rem;
  --fs-19: 1.1875rem;
  --fs-20: 1.25rem;
  --fs-21: 1.3125rem;
  --fs-22: 1.375rem;
  --fs-24: 1.5rem;
  --fs-32: 2rem;
  --fs-34: 2.125rem;
  --fs-42: 2.625rem;
  --fs-48: 3rem;
  --fs-50: 3.125rem;
  --fs-54: 3.375rem;
  --fs-58: 3.625rem;
}

/*
 * Named type roles from the Figma design system.
 *
 * Body sizes stay stable for readability. Large display roles scale fluidly
 * between narrow and desktop viewports.
 */

.type-case-hero {
  font-family: var(--font-display);
  font-size: clamp(3.5rem, 2.2rem + 4vw, 5.75rem);
  font-weight: 400;
  line-height: 1;
}

.type-page {
  font-family: var(--font-display-condensed);
  font-size: clamp(2.75rem, 2.2rem + 1.75vw, 3.25rem);
  font-weight: 300;
  line-height: 1;
}

.type-hero {
  font-family: var(--font-display-condensed);
  font-size: clamp(2rem, 1.5rem + 1.6vw, 2.6875rem);
  font-weight: 300;
  line-height: 1.49;
}

.type-hero--light {
  font-weight: 200;
}

.type-hero--emphasis {
  font-size: clamp(2rem, 1.5rem + 1.6vw, 2.625rem);
  font-weight: 400;
  font-style: italic;
}

.type-section {
  font-family: var(--font-display);
  font-size: clamp(2rem, 1.8rem + 0.6vw, 2.25rem);
  font-weight: 500;
  line-height: 1;
}

.type-invitation {
  font-family: var(--font-deck);
  font-size: 1.5rem;
  font-weight: 600;
  line-height: 1.5;
}

.type-content-heading {
  font-family: var(--font-deck);
  font-size: 1.375rem;
  font-weight: 500;
  line-height: 1;
}

.type-case-section {
  font-family: var(--font-text);
  font-size: clamp(1.625rem, 1.45rem + 0.5vw, 1.875rem);
  font-weight: 400;
  line-height: 1;
}

.type-pull-quote {
  font-family: var(--font-display);
  font-size: clamp(1.5rem, 1.3rem + 0.6vw, 1.75rem);
  font-weight: 300;
  line-height: 1.5;
}

.type-lead,
.type-standfirst {
  font-family: var(--font-deck);
  font-size: 1.375rem;
  font-weight: 400;
  line-height: 1.68;
}

.type-standfirst {
  line-height: 1.5;
}

.type-editorial {
  font-family: var(--font-deck);
  font-size: 1.25rem;
  font-weight: 400;
  line-height: 1.85;
}

.type-feature {
  font-family: var(--font-text);
  font-size: 1.25rem;
  font-weight: 600;
  line-height: 1.75;
}

.type-longform {
  font-family: var(--font-text);
  font-size: 1.25rem;
  font-weight: 400;
  line-height: 2;
}

.type-summary {
  font-family: var(--font-text);
  font-size: 1.125rem;
  font-weight: 400;
  line-height: 1.75;
  letter-spacing: 0.005em;
}

.type-annotation {
  font-family: var(--font-text);
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.5;
  letter-spacing: 0.005em;
}

.type-case-paragraph {
  font-family: var(--font-text);
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.94;
}

.type-navigation {
  font-family: var(--font-text);
  font-size: 1.0625rem;
  font-weight: 400;
  line-height: 1;
}

.type-label {
  font-family: var(--font-text);
  font-size: 1rem;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.005em;
}

.type-meta-large,
.type-meta,
.type-meta-small,
.type-attributes,
.type-mono-whisper {
  font-family: var(--font-mono);
  font-weight: 500;
  text-transform: uppercase;
}

.type-meta-large {
  font-size: 1.25rem;
  line-height: 1.85;
  letter-spacing: 0.01em;
}

.type-meta {
  font-size: 1rem;
  line-height: 1.97;
}

.type-meta-small,
.type-attributes {
  font-size: 0.875rem;
  line-height: 1.5;
}

.type-mono-whisper {
  font-size: 0.75rem;
  font-weight: 400;
  line-height: 1;
  letter-spacing: 0.183em;
}

.type-aside-whisper {
  font-family: var(--font-text);
  font-size: 0.8125rem;
  font-weight: 400;
  font-style: italic;
  line-height: 1.85;
}

/* Temporary v3 aliases; removed as templates move to named v4 roles. */

.t-body {
  font-family: var(--font-text);
  font-size: 1.125rem;
  font-weight: 400;
  line-height: 1.75;
  letter-spacing: 0.005em;
}

.t-body-lg {
  font-family: var(--font-text);
  font-size: 1.25rem;
  line-height: 2;
}

.t-section-title,
.t-article-heading {
  font-family: var(--font-deck);
  font-size: 1.375rem;
  line-height: 1;
}

.t-section-sub {
  font-family: var(--font-deck);
  font-size: 1.25rem;
  line-height: 1.85;
}

.t-caption,
.t-whisper {
  font-family: var(--font-text);
  font-size: 0.8125rem;
  font-style: italic;
  line-height: 1.85;
}

.t-link,
.t-inline-link {
  color: inherit;
  text-decoration-line: underline;
  text-decoration-thickness: 0.0625rem;
  text-underline-offset: 0.2em;
}

/*
 * V4 layout primitives
 *
 * Containers establish width; grids establish internal columns. Keeping those
 * concerns separate lets the 8-, 10-, and wider Selected Work compositions
 * share the same 1000px base shell where the design calls for it.
 */

.l-container,
.l-shell {
  width: calc(100% - (var(--page-gutter) * 2));
  max-width: var(--container-standard);
  margin-inline: auto;
}

.l-container--standard {
  max-width: var(--container-standard);
}

.l-container--work {
  max-width: var(--container-work);
}

.l-container--bet-reference {
  max-width: var(--container-bet-reference);
}

.l-container--article,
.l-container--medium {
  max-width: var(--container-article);
}

.l-container--case-hero {
  max-width: var(--container-case-hero);
}

.l-container--practice {
  max-width: var(--container-practice);
}

.l-container--reading {
  max-width: var(--container-reading);
}

.l-container--change {
  max-width: var(--container-change);
}

.l-container--change-item {
  max-width: var(--container-change-item);
}

.l-container--form {
  max-width: var(--container-form);
}

.l-full-bleed {
  width: 100%;
}

.l-page {
  width: 100%;
}

.l-grid {
  display: grid;
  gap: var(--grid-gutter-standard);
}

/*
 * Temporary default for v3 templates. New v4 markup must select a named grid
 * variant so the column count is visible at the call site.
 */

.l-grid,
.l-grid--10 {
  grid-template-columns: repeat(10, minmax(0, 1fr));
}

.l-grid--8 {
  grid-template-columns: repeat(8, minmax(0, 1fr));
}

.l-grid--work {
  grid-template-columns: repeat(16, minmax(0, 1fr));
  gap: var(--grid-gutter-work);
}

.l-grid--bet-reference {
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: var(--grid-gutter-bet-reference);
}

.l-grid--items-start {
  align-items: start;
}

.l-grid--items-center {
  align-items: center;
}

.l-grid--items-end {
  align-items: end;
}

.l-split {
  display: grid;
  grid-template-columns: var(--metadata-column) minmax(0, 1fr);
  gap: var(--grid-gutter-standard);
}

.l-split--field-note {
  grid-template-columns: var(--field-note-metadata-column) minmax(0, 1fr);
}

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

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

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

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

@media (width < 48rem) {
  .l-grid,
  .l-grid--8,
  .l-grid--10,
  .l-grid--work,
  .l-grid--bet-reference {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: var(--layout-gutter);
  }

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

body {
  display: flex;
  flex-direction: column;
  min-width: 20rem;
  min-height: 100vh;
  background: var(--color-bg);
  color: var(--color-text);
  font-family: var(--font-text);
  font-synthesis: none;
}

.site-main {
  flex: 1;
}

::-moz-selection {
  background: var(--color-clay-veil);
  color: var(--color-ink-black);
}

::selection {
  background: var(--color-clay-veil);
  color: var(--color-ink-black);
}

:focus-visible {
  outline: 0.125rem solid var(--color-focus);
  outline-offset: 0.25rem;
}

.skip-link {
  position: fixed;
  z-index: 1000;
  top: var(--space-4);
  left: var(--space-4);
  padding: var(--space-3) var(--space-4);
  border-radius: var(--radius-control);
  background: var(--color-ink-black);
  color: var(--color-field-ivory);
  transform: translateY(calc(-100% - var(--space-6)));
  transition: transform var(--duration-fast) var(--ease-standard);
}

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

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

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

.hairline {
  border: 0;
  border-top: var(--border-hairline) solid var(--color-line);
}

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

/*
 Pages
*/

/* =========================================
   Campaign landing pages
   Base = 1440 design
   ========================================= */

/* =========================================
   Hero section
   ========================================= */

.lp-hero {
  position: relative;
  overflow: hidden;
  height: 38vw;
  min-height: 400px;
  max-height: 680px;
}

.lp-hero__portrait {
  position: absolute;
  bottom: -40px;
  left: 15px;
  height: 88%;
  width: auto;
  -o-object-fit: contain;
     object-fit: contain;
  -o-object-position: bottom left;
     object-position: bottom left;
  z-index: 1;
}

.lp-hero__inner {
  position: relative;
  z-index: 2;
  height: 100%;
}

.lp-hero__content {
  grid-column: 5 / -2;
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: var(--space-5);
  margin-top: var(--space-8);
  margin-left: calc(-1 * var(--space-6));
}

.lp-hero__content--offset {
  grid-column: 6 / -2;
  margin-left: 0;
}

.lp-hero__title {
  margin: 0;
  font-family: var(--font-display-condensed);
  font-size: clamp(2.125rem, 3.08vw + 1.375rem, 3.375rem);
  line-height: var(--lh-tight);
  letter-spacing: var(--tracking-normal);
  color: var(--color-text);
  font-weight: 400;
}

.lp-hero__title.lp-hero__title--triad {
  font-size: clamp(2.125rem, 1.333vw + 1.8rem, 3rem);
}

.lp-hero-title__line {
  display: block;
  font-weight: 200;
}

.lp-hero-title__line--strong {
  font-weight: 300;
}

.lp-hero-title__line--emphasis {
  font-style: italic;
  font-weight: 400;
}

.lp-hero__sub {
  font-family: var(--font-deck);
  font-size: clamp(1.1875rem, 1rem + 0.8vw, 1.5rem); /* 24 - 19 */
  font-weight: 400;
  line-height: 1.68;
  letter-spacing: 0.01em;
  color: var(--color-text);
  margin: 0;
}

.lp-hero__bg {
  background-color: #cfc4b9;
}

.lp-hero__bg::before {
  content: "";
  position: absolute;
  inset: 0;
  background-image: url("/assets/images/paper-texture.webp");
  background-size: cover;
  background-repeat: repeat;
  opacity: 0.6;
  mix-blend-mode: normal;
  pointer-events: none;
  z-index: 0;
}

/* =========================================
   Featured information
   ========================================= */

.lp-featured {
  padding-block: var(--space-9);
  text-align: center;
}

.lp-featured .l-shell {
  position: relative;
  z-index: 2;
}

.lp-featured__line {
  font-family: var(--font-display);
  font-size: clamp(1rem, 0.875rem + 0.625vw, 1.5rem);
  font-weight: 400;
  line-height: var(--lh-loose);
  letter-spacing: 0.01em;
  color: var(--color-text);
  margin: 0;
}

.lp-featured-light .lp-featured__line {
  font-weight: 300;
}

.lp-featured__line.lp-featured__line--strong {
  font-weight: 500;
}

.lp-featured__line.lp-featured__line--em {
  font-style: italic;
}

.lp-block-divider {
  width: 4rem;
  height: 1.5px;
  background-color: var(--color-accent);
  opacity: 0.85;
  margin: var(--space-5) auto 0;
}

/* =========================================
   Body / Differentiation section
   ========================================= */

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

.lp-body-content {
  grid-column: 3 / -3;
  z-index: 1;
}

.lp-body-heading,
.lp-body-subheading,
.lp-body-text,
.lp-section-title {
  font-family: var(--font-display);
  font-size: clamp(0.8125rem, 2vw, 1.375rem);
  line-height: 1.68;
  letter-spacing: 0.01em;
  color: var(--color-text);
  margin: 0 0 var(--space-6);
}

.lp-body-heading {
  font-weight: 600;
}

.lp-section-title {
  font-weight: 500;
  margin: 0;
}

.lp-body-subheading {
  font-weight: 500;
  margin: 0;
}

.lp-body-text {
  font-weight: 400;
}

.lp-body-text + .lp-body-text {
  margin-top: 1em;
}

/* =========================================
   Booking section
   ========================================= */

/* =========================================
   FAQ section
   ========================================= */

.lp-faq-section {
  padding-block: var(--space-9) var(--space-10);
}

.lp-faq__content {
  grid-column: 3 / -3;
}

.lp-faq__items {
  margin-top: var(--space-m, 2rem);
  border-top: 1px solid var(--color-border, rgba(0, 0, 0, 0.14));
}

.lp-faq__item {
  border-bottom: 1px solid var(--color-border, rgba(0, 0, 0, 0.14));
}

.lp-faq__question {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1.5rem;
  padding: 1.1rem 0;
  cursor: pointer;
  list-style: none;
  font-family: var(--font-display);
  font-size: clamp(0.8125rem, 2vw, 1.25rem);
  line-height: 1.68;
  letter-spacing: 0.01em;
  color: var(--color-text);
  font-weight: 400;
}

.lp-faq__answer .lp-body-text {
  font-size: clamp(0.8125rem, 2vw, 1.125rem);
  font-weight: 300;
}

.lp-faq__question::-webkit-details-marker {
  display: none;
}

.lp-faq__question span:first-child {
  font: inherit;
}

.lp-faq__arrow {
  -moz-user-select: none;
       user-select: none;
  -webkit-user-select: none;
  flex: 0 0 auto;
  font-size: 1.35em;
  line-height: 1;
  transform: rotate(0deg);
  transition: transform 350ms ease;
}

.lp-faq__item[open] .lp-faq__arrow {
  transform: rotate(90deg);
}

.lp-faq__answer {
  max-width: 46rem;
  padding: 0 0 1.4rem;
}

.lp-faq__answer p {
  margin: 0;
}

.lp-faq__question:hover .lp-faq__arrow {
  transform: translateX(2px);
}

.lp-faq__item[open] .lp-faq__question:hover .lp-faq__arrow {
  transform: rotate(90deg) translateX(2px);
}

/* =========================================
   Video embed
   ========================================= */

.lp-video {
  position: relative;
  grid-column: 3 / -3;
  cursor: pointer;
  margin-top: var(--space-9);
}

.lp-video__player {
  display: block;
  width: 100%;
  height: auto;
}

.lp-video__button {
  position: absolute;
  left: 50%;
  top: 54%;
  transform: translate(-50%, -50%);
  border: 0;
  padding: 0;
  background: transparent;
  cursor: pointer;
  transition:
    transform 180ms ease,
    opacity 180ms ease;
}

.lp-video:hover .lp-video__button {
  transform: translate(-50%, -50%) scale(1.06);
}

.lp-video:active .lp-video__button {
  transform: translate(-50%, -50%) scale(0.98);
}

.lp-video__button-icon {
  display: block;
  width: 76px;
  height: 76px;
}

.lp-video.is-playing {
  cursor: default;
}

.lp-video.is-playing .lp-video__button {
  display: none;
}

/* =========================================
   Large desktop
   ========================================= */

@media (min-width: 1440px) {
  .lp-hero__title.lp-hero__title--triad {
    font-size: clamp(3rem, 2.083vw + 1.125rem, 3.625rem);
  }
}

@media (min-width: 1600px) {
  .lp-hero__portrait {
    left: 4.17%;
  }

  .lp-body-content {
    grid-column: 3 / -3;
  }

  .lp-faq__content {
    grid-column: 3 / -4;
  }
}

@media (min-width: 1840px) {
  .lp-hero__content {
    grid-column: 6 / -3;
  }
}

/* =========================================
   Small desktop / tablet landscape
   ========================================= */

@media (max-width: 1390px) {
  .lp-hero__content {
    grid-column: 5 / -2;
  }

  .lp-hero__title {
    font-size: clamp(2.125rem, -0.5rem + 8vw, 2.75rem);
  }

  .lp-video-control {
    margin-top: var(--space-6);
  }

  .lp-hero__sub {
    font-size: clamp(1.1875rem, 1rem + 0.8vw, 1.25rem); /* 24 - 19 */
  }
}

@media (max-width: 1160px) {
  .lp-hero__title {
    font-size: clamp(2.125rem, -0.5rem + 8vw, 2.5rem);
  }
}

@media (max-width: 1080px) {
  .lp-hero__portrait {
    left: 0;
  }

  .lp-hero__content {
    grid-column: 5 / -1;
  }

  .lp-body-content {
    grid-column: 2 / -2;
  }

  .lp-faq__content {
    grid-column: 2 / -2;
  }

  .lp-hero__title {
    font-size: clamp(2.125rem, -0.5rem + 8vw, 2.4rem);
  }

  .lp-video-control {
    margin: auto;
  }

  .lp-video {
    grid-column: 2 / -2;
  }
}

/* =========================================
   Mobile
   ========================================= */

@media (max-width: 768px) {
  .lp-body-heading,
  .lp-body-subheading,
  .lp-body-text {
    margin: 0 0 var(--space-3);
    line-height: 1.3;
  }
  .lp-hero {
    display: flex;
    flex-direction: column;
    height: auto;
    min-height: unset;
    max-height: unset;
  }

  .lp-hero__portrait-container {
    order: 2;
  }

  .lp-hero__portrait {
    order: 2;
    position: relative;
    left: -24px;
    bottom: -24px;
    max-height: 75vw;
    -o-object-fit: cover;
       object-fit: cover;
    -o-object-position: top center;
       object-position: top center;
  }

  .lp-hero__inner {
    order: 1;
    position: relative;
    height: auto;
    padding-block: var(--space-8) 0;
  }

  .lp-hero__content {
    grid-column: 2 / -2;
    gap: var(--space-4);
    margin-left: 0;
  }

  /* Hide desktop video control */
  .lp-hero__content .lp-video-control {
    display: none;
  }

  /* Show mobile video control over portrait */
  .lp-video-control-mobile {
    display: flex;
    position: absolute;
    right: 4.25rem;
    bottom: 30%;
    z-index: 2;
  }

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

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

  .lp-body-content {
    grid-column: 1 / -1;
  }

  .lp-body-text,
  .lp-faq__answer .lp-body-text {
    font-size: var(--fs-13);
    line-height: 2.15; /* ~28px at 13px */
    letter-spacing: 0.005em;
  }

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

  .lp-faq__content {
    grid-column: 1 / -1;
  }

  .lp-video {
    grid-column: 1 / -1;
    margin-top: var(--space-7);
  }

  .lp-featured__line {
    font-size: var(--fs-15);
  }
}

/* =========================================
   Mobile refinement
   ========================================= */

@media (max-width: 560px) {
  .lp-hero__inner {
    padding-block: var(--space-7) 0;
  }

  .lp-hero__content {
    grid-column: 1 / -1;
  }

  .lp-hero__portrait {
    max-height: 70vw;
  }

  .lp-hero__sub {
    font-size: 1.0625rem;
  }

  .lp-section-title {
    font-size: var(--fs-15);
  }
}

@media (max-width: 420px) {
  .lp-video-control-mobile {
    bottom: 15%;
    right: 1.25rem;
  }
}

@media (max-width: 35px) {
  .lp-video-control-mobile {
    right: 0;
  }
}

.page-home {
  background: var(--color-sand);
}

.home-introduction {
  padding-top: 9.375rem;
}

.home-hero {
  min-height: 12.0625rem;
}

.home-hero__title {
  width: calc(100% - 6.4375rem);
  margin: 0 0 0 6.4375rem;
  color: var(--color-espresso-umber);
  font-family: var(--font-display-condensed);
  font-size: clamp(2.1rem, calc(1.4286rem + 1.3988vw), 2.6875rem);
  font-weight: 300;
  line-height: clamp(2.835rem, calc(1.5036rem + 2.7738vw), 4rem);
}

.home-hero__line {
  display: block;
}

.home-hero__line--light {
  font-weight: 200;
}

.home-hero__line--emphasis {
  font-size: 2.625rem;
  font-weight: 400;
  font-style: italic;
}

.home-questions {
  display: flex;
  flex-direction: column;
  gap: var(--space-6);
  margin-top: 27.5rem;
}

.home-question {
  display: grid;
  grid-template-columns: repeat(9, minmax(0, 1fr));
  -moz-column-gap: var(--grid-gutter-standard);
       column-gap: var(--grid-gutter-standard);
}

.home-question__number {
  grid-column: 1;
  color: var(--color-deep-espresso);
  font-family: var(--font-mono);
  font-size: clamp(0.8125rem, calc(0.3125rem + 1.0417vw), 1.25rem);
  font-weight: 500;
  line-height: 2.3125rem;
  letter-spacing: 0.01em;
  opacity: 0.9;
}

.home-question__content {
  display: flex;
  grid-column: 2 / -1;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-1);
}

.home-question__text {
  color: var(--color-deep-espresso);
  font-family: var(--font-text);
  font-size: clamp(1rem, calc(0.7143rem + 0.5952vw), 1.25rem);
  font-weight: 600;
  line-height: 1.75;
  opacity: 0.9;
}

.home-question__link {
  color: var(--color-deep-espresso);
  font-family: var(--font-text);
  font-size: clamp(0.75rem, calc(0.4643rem + 0.5952vw), 1rem);
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.005em;
  opacity: 0.9;
  text-decoration-line: underline;
  text-decoration-color: transparent;
  text-decoration-thickness: var(--border-hairline);
  text-underline-offset: 0.2rem;
  transition:
    opacity var(--duration-fast) var(--ease-standard),
    text-decoration-color var(--duration-fast) var(--ease-standard);
}

.home-question__link:hover,
.home-question__link:focus-visible {
  opacity: 1;
  text-decoration-color: currentColor;
}

.home-biography {
  position: relative;
  height: 48.125rem;
  overflow: hidden;
  padding-top: 14.375rem;
}

.home-biography__texture,
.home-biography__fade {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}

.home-biography__texture {
  -o-object-fit: cover;
     object-fit: cover;
  mix-blend-mode: multiply;
  opacity: 0.25;
}

.home-biography__fade {
  background: linear-gradient(
    to bottom,
    var(--color-sand) 0%,
    rgb(247 243 238 / 0%) 37.5%
  );
}

.home-biography__inner {
  position: relative;
  display: grid;
  grid-template-columns: 21.8125rem minmax(0, 1fr) 34.125rem;
  width: calc(100% - (var(--page-gutter) * 2));
  max-width: 64.6875rem;
  height: 33.75rem;
  margin-left: max(
    var(--page-gutter),
    calc((100% - var(--container-standard)) / 2 - 2.1875rem)
  );
}

.home-biography__portrait {
  display: flex;
  grid-column: 1 / 3;
  width: 100%;
  height: 33.75rem;
  align-items: flex-end;
  overflow: visible;
  opacity: 0.81;
}

.home-biography__portrait img {
  width: 100%;
  height: auto;
  max-width: none;
  max-height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
  -o-object-position: left bottom;
     object-position: left bottom;
}

.home-biography__copy {
  display: flex;
  grid-column: 3;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-5);
  padding-top: 4.5rem;
  color: var(--color-deep-espresso);
  font-family: var(--font-deck);
  font-size: clamp(0.875rem, calc(0.4464rem + 0.8929vw), 1.25rem);
  font-weight: 400;
  line-height: 1.85;
  opacity: 0.9;
}

.home-section-heading {
  color: var(--color-deep-espresso);
  font-family: var(--font-deck);
  font-size: clamp(1.125rem, calc(0.8393rem + 0.5952vw), 1.375rem);
  font-weight: 500;
  line-height: 1;
  opacity: 0.9;
}

.home-threads {
  display: flex;
  flex-direction: column;
  gap: var(--space-7);
  padding-block: 12.5rem;
}

.home-thread-list {
  display: flex;
  flex-direction: column;
  gap: var(--space-7);
}

.home-thread {
  display: grid;
  grid-template-columns: repeat(10, minmax(0, 1fr));
  -moz-column-gap: var(--grid-gutter-standard);
       column-gap: var(--grid-gutter-standard);
  color: var(--color-espresso-umber);
}

.home-thread__meta {
  grid-column: 1 / span 3;
  font-family: var(--font-mono);
  font-size: clamp(0.6875rem, calc(0.3304rem + 0.744vw), 1rem);
  font-weight: 500;
  line-height: 1.96875;
  opacity: 0.9;
  text-transform: uppercase;
}

.home-thread__summary {
  grid-column: 4 / -1;
  font-family: var(--font-text);
  font-size: clamp(0.875rem, calc(0.5893rem + 0.5952vw), 1.125rem);
  font-weight: 400;
  line-height: 1.75;
  letter-spacing: 0.005em;
  opacity: 0.9;
}

@media (48rem <= width < 64rem) {
  .home-introduction {
    padding-top: 4.375rem;
  }

  .home-hero {
    min-height: auto;
  }

  .home-hero__title {
    width: min(100%, 40rem);
    margin: 0;
  }

  .home-hero__line--emphasis {
    font-size: inherit;
  }

  .home-questions {
    gap: 1.625rem;
    margin-top: 19rem;
  }

  .home-question {
    grid-template-columns: 4.125rem minmax(0, 1fr);
    -moz-column-gap: 1.125rem;
         column-gap: 1.125rem;
  }

  .home-question__number {
    line-height: 1.6;
  }

  .home-question__content {
    grid-column: 2;
  }

  .home-question__text {
    line-height: 1.55;
  }

  .home-biography {
    height: auto;
    margin-top: 5.625rem;
    padding-top: 3.5rem;
  }

  .home-biography__inner {
    align-items: end;
    grid-template-columns: 18.5rem minmax(0, 1fr);
    gap: 2rem;
    width: calc(100% - (var(--page-gutter) * 2));
    max-width: var(--container-standard);
    height: auto;
    margin-inline: auto;
  }

  .home-biography__portrait {
    grid-column: 1;
    width: 18.5rem;
    height: 20rem;
  }

  .home-biography__copy {
    grid-column: 2;
    gap: var(--space-4);
    padding-top: 0;
    line-height: 1.65;
  }

  .home-threads {
    gap: 2.5rem;
    padding-block: 6.25rem;
  }

  .home-thread-list {
    gap: 2rem;
  }

  .home-thread {
    grid-template-columns: 8.125rem minmax(0, 1fr);
    -moz-column-gap: 1.125rem;
         column-gap: 1.125rem;
  }

  .home-thread__meta {
    grid-column: 1;
    line-height: 1.6;
  }

  .home-thread__summary {
    grid-column: 2;
    line-height: 1.6;
  }
}

@media (width < 48rem) {
  .home-introduction {
    padding-top: 3rem;
  }

  .home-hero {
    min-height: auto;
  }

  .home-hero__title {
    width: 100%;
    margin: 0;
    font-size: clamp(1.25rem, calc(0.372rem + 3.602vw), 2.1rem);
    line-height: clamp(1.75rem, calc(0.629rem + 4.6vw), 2.835rem);
  }

  .home-hero__line + .home-hero__line {
    margin-top: 0.375rem;
  }

  .home-hero__line--emphasis {
    font-size: inherit;
  }

  .home-questions {
    gap: 1.625rem;
    margin-top: 16rem;
  }

  .home-question {
    display: flex;
    flex-direction: column;
    gap: 0.375rem;
  }

  .home-question__number {
    font-size: clamp(0.75rem, calc(0.685rem + 0.267vw), 0.8125rem);
    line-height: 1;
  }

  .home-question__content {
    gap: 0.375rem;
  }

  .home-question__text {
    font-size: 1rem;
    line-height: 1.5;
  }

  .home-question__link {
    font-size: clamp(0.6875rem, calc(0.622rem + 0.267vw), 0.75rem);
  }

  .home-biography {
    height: auto;
    margin-top: 3rem;
    padding: 6rem 0 0;
  }

  .home-biography__inner {
    display: flex;
    flex-direction: column;
    gap: var(--space-5);
    width: calc(100% - (var(--page-gutter) * 2));
    height: auto;
    margin-inline: auto;
  }

  .home-biography__portrait {
    order: 2;
    width: 100%;
    height: auto;
    max-width: 50%;
    align-self: flex-start;
  }

  .home-biography__portrait img {
    display: block;
    width: 100%;
    height: auto;
    max-width: 100%;
    -o-object-fit: contain;
       object-fit: contain;
  }

  .home-biography__copy {
    order: 1;
    gap: 0.875rem;
    padding-top: 0;
    font-size: 0.875rem;
    line-height: 1.6;
  }

  .home-section-heading {
    font-size: clamp(1.0625rem, calc(0.997rem + 0.267vw), 1.125rem);
  }

  .home-threads {
    gap: 1.625rem;
    padding-block: 3rem 2.5rem;
  }

  .home-thread-list {
    gap: var(--space-5);
  }

  .home-thread {
    display: flex;
    flex-direction: column;
    gap: 0.3125rem;
  }

  .home-thread__meta {
    font-size: clamp(0.65625rem, calc(0.624rem + 0.134vw), 0.6875rem);
    line-height: 1.5;
  }

  .home-thread__summary {
    font-size: 0.875rem;
    line-height: 1.6;
  }
}

.page-selected-work {
  background: var(--color-sand);
}

.page-selected-work .site-header {
  position: absolute;
  z-index: 10;
  top: 0;
  right: 0;
  left: 0;
  background: transparent;
}

.selected-work-hero {
  overflow: hidden;
  padding-top: 7.4375rem;
  background: linear-gradient(to bottom, #eef1fb, #e3e9f7);
}

.selected-work-hero__inner {
  display: flex;
  width: 81.875rem;
  margin-left: max(
    var(--page-gutter),
    calc((100% - var(--container-standard)) / 2)
  );
  align-items: flex-end;
  gap: 6.25rem;
  padding-block: 6.25rem;
}

.selected-work-hero__copy {
  display: flex;
  width: 27.75rem;
  flex: 0 0 auto;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-5);
  color: var(--color-ink-black);
}

.selected-work-hero__eyebrow {
  display: flex;
  flex-direction: column;
  gap: var(--space-2);
  color: var(--color-ink-black);
  font-family: var(--font-mono);
  font-size: 0.75rem;
  line-height: 1;
  letter-spacing: 0.1375rem;
  text-transform: uppercase;
}

.selected-work-hero__eyebrow > :first-child {
  color: #4e66cc;
  opacity: 0.9;
}

.selected-work-hero__eyebrow > :last-child {
  opacity: 0.5;
}

.selected-work-hero__logo {
  display: flex;
  align-items: flex-end;
  color: var(--color-ink-black);
  font-family: var(--font-display);
  font-size: clamp(4rem, 2.6rem + 3vw, 5.75rem);
  font-weight: 600;
  line-height: 0.9;
  letter-spacing: -0.01em;
}

.selected-work-hero__logo img {
  width: 0.875rem;
  height: 0.9375rem;
  margin: 0 0 0.025em 0.05em;
}

.selected-work-hero__standfirst {
  display: flex;
  flex-direction: column;
  gap: var(--space-5);
}

.selected-work-hero__standfirst > :first-child {
  font-family: var(--font-display);
  font-size: 1.5rem;
  line-height: 1;
}

.selected-work-hero__standfirst > :last-child {
  max-width: 27.75rem;
  font-family: var(--font-text);
  font-size: 0.9375rem;
  line-height: 1.9333;
  letter-spacing: -0.0167em;
}

.selected-work-hero__meta {
  max-width: 27.75rem;
  font-family: var(--font-mono);
  font-size: 0.75rem;
  line-height: 1.75;
  letter-spacing: 0.1375rem;
  opacity: 0.5;
  text-transform: uppercase;
}

.selected-work-hero__artefact {
  position: relative;
  width: 47.875rem;
  flex: 0 0 auto;
  padding: 0 1.625rem 1.75rem 0;
}

.selected-work-hero__artefact img {
  position: relative;
  z-index: 1;
  display: block;
  width: 46.5625rem;
  height: auto;
}

.selected-work-hero__shadow {
  position: absolute;
  right: 0;
  bottom: 0;
  width: 46.25rem;
  height: calc(100% - 1.75rem);
  background: #c9d5f1;
}

.selected-work-content {
  display: flex;
  flex-direction: column;
  align-items: center;
}

.work-section-lead {
  display: grid;
  grid-template-columns: 18rem minmax(0, 1fr);
  padding-top: var(--section-compact);
}

.work-section-lead__label,
.work-section-lead__content {
  padding-block: var(--space-4);
  border-top: var(--border-hairline) solid rgb(40 36 30 / 15%);
}

.work-section-lead__label,
.work-kicker,
.work-common dt,
.work-reflections__label h2,
.work-unfolding__label {
  font-family: var(--font-mono);
  font-size: 0.75rem;
  font-weight: 400;
  line-height: 1;
  letter-spacing: 0.1375rem;
  opacity: 0.5;
  text-transform: uppercase;
}

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

.work-section-lead__content h2 {
  color: var(--color-deep-espresso);
  font-family: var(--font-display);
  font-size: clamp(1.75rem, 1.2rem + 1.2vw, 2.25rem);
  font-weight: 500;
  line-height: 1;
  letter-spacing: 0.01em;
}

.work-section-lead__content > p:not(.work-section-lead__statement) {
  max-width: 40.5625rem;
  color: var(--color-ink-black);
  font-family: var(--font-text);
  font-size: 1rem;
  line-height: 1.935;
  opacity: 0.9;
}

.work-case-list {
  display: flex;
  flex-direction: column;
  gap: var(--section-compact);
  width: calc(100% - (var(--page-gutter) * 2));
  max-width: 66.75rem;
  padding-top: var(--section-compact);
}

.work-case-teaser {
  display: grid;
  grid-template-columns: 33rem minmax(0, 1fr);
  gap: 3rem;
  align-items: center;
}

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

.work-case-teaser__artefact > img {
  width: 100%;
  aspect-ratio: 1646 / 1046;
  -o-object-fit: cover;
     object-fit: cover;
}

.work-case-teaser figcaption,
.case-media figcaption {
  color: var(--color-ink-black);
  font-family: var(--font-mono);
  font-size: 0.75rem;
  line-height: 1.25;
  letter-spacing: 0.1375rem;
  opacity: 0.6;
  text-transform: uppercase;
}

.work-case-teaser__lead,
.work-case-teaser__body {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}

.work-case-teaser__lead {
  gap: var(--space-5);
}

.work-case-teaser__body {
  gap: var(--space-4);
  color: var(--color-ink-black);
}

.work-case-teaser__body h2 {
  color: var(--color-deep-espresso);
  font-family: var(--font-display);
  font-size: clamp(1.75rem, 1.2rem + 1.2vw, 2.25rem);
  font-weight: 500;
  line-height: 1;
  letter-spacing: 0.01em;
}

.work-case-teaser__body > p {
  font-family: var(--font-text);
  font-size: 1rem;
  line-height: 1.935;
  opacity: 0.9;
}

.work-case-teaser__body .work-case-teaser__summary {
  font-size: 1.125rem;
  line-height: 1.75;
  letter-spacing: 0.005em;
}

.work-case-teaser__body > .work-kicker {
  font-family: var(--font-mono);
  font-size: 0.75rem;
  line-height: 1;
  opacity: 0.5;
}

.work-attributes {
  color: var(--color-ink-black);
  font-family: var(--font-mono);
  font-size: 0.75rem;
  font-weight: 500;
  line-height: 1.75;
  opacity: 0.5;
}

.work-text-link {
  display: inline-block;
  padding-bottom: 0.125rem;
  border-bottom: var(--border-hairline) solid var(--color-deep-espresso);
  color: var(--color-ink-black);
  font-family: var(--font-text);
  font-size: 0.9375rem;
  line-height: 1;
  opacity: 0.9;
  text-decoration: none;
  transition:
    opacity var(--duration-fast) var(--ease-standard),
    border-color var(--duration-fast) var(--ease-standard);
}

.work-text-link--bet {
  color: #4e66cc;
}

.work-text-link:hover,
.work-text-link:focus-visible {
  border-color: transparent;
  opacity: 0.65;
}

.work-common {
  padding-top: var(--section-compact);
}

.work-section-lead--compact {
  width: 100%;
  padding-top: 0;
}

.work-section-lead__statement {
  max-width: 39.6875rem;
  color: var(--color-deep-espresso);
  font-family: var(--font-display);
  font-size: 1.5rem;
  font-weight: 300;
  line-height: 1.2;
}

.work-common__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 15rem));
  justify-content: space-between;
  gap: var(--space-5);
  width: calc(100% - 18rem);
  margin-left: 18rem;
  padding-top: var(--space-6);
}

.work-common__grid > div {
  display: flex;
  flex-direction: column;
  gap: var(--space-2);
  padding-top: var(--space-4);
  border-top: var(--border-hairline) solid rgb(40 36 30 / 15%);
}

.work-common dd {
  color: var(--color-ink-black);
  font-family: var(--font-text);
  font-size: 0.875rem;
  line-height: 1.7143;
  opacity: 0.9;
}

.work-reflections {
  display: grid;
  grid-template-columns: 11.75rem minmax(0, 1fr);
  gap: 6.25rem;
  padding-top: var(--section-default);
}

.work-reflections__label {
  padding-top: var(--space-5);
}

.work-reflections__label p {
  margin-top: var(--space-1);
  font-family: var(--font-text);
  font-size: 0.8125rem;
  font-style: italic;
  line-height: 1.846;
  opacity: 0.5;
}

.work-reflections__items {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 25rem));
  justify-content: space-between;
  gap: 3.25rem;
}

.work-reflection {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-4);
  padding-top: var(--space-4);
  border-top: var(--border-hairline) solid rgb(40 36 30 / 15%);
  color: var(--color-ink-black);
}

.work-reflection h3 {
  font-family: var(--font-deck);
  font-size: clamp(1.25rem, 1rem + 0.5vw, 1.5rem);
  font-weight: 500;
  line-height: 1.1;
  opacity: 0.9;
}

.work-reflection > p:not(.work-kicker) {
  font-family: var(--font-text);
  font-size: 1rem;
  line-height: 1.935;
  opacity: 0.9;
}

.work-unfolding {
  display: grid;
  grid-template-columns: 18rem minmax(0, 1fr);
  padding-block: var(--section-default);
}

.work-unfolding__label,
.work-unfolding__statement {
  padding-block: var(--space-4);
  border-top: var(--border-hairline) solid rgb(40 36 30 / 15%);
}

.work-unfolding__statement {
  max-width: 39.6875rem;
  color: var(--color-deep-espresso);
  font-family: var(--font-display);
  font-size: 1.5rem;
  font-weight: 300;
  line-height: 1.2;
}

@media (48rem <= width < 64rem) {
  .selected-work-hero {
    padding-top: 6.4375rem;
  }

  .selected-work-hero__inner {
    width: calc(100% - (var(--page-gutter) * 2));
    margin-inline: auto;
    flex-direction: column;
    align-items: flex-start;
    gap: var(--space-7);
    padding-block: var(--section-compact);
  }

  .selected-work-hero__copy {
    width: min(100%, 32.5rem);
  }

  .selected-work-hero__artefact {
    width: min(100%, 46.5625rem);
  }

  .selected-work-hero__artefact img {
    width: 100%;
  }

  .work-section-lead {
    grid-template-columns: 10rem minmax(0, 1fr);
  }

  .work-case-teaser {
    grid-template-columns: minmax(15rem, 42%) minmax(0, 1fr);
    gap: 2rem;
  }

  .work-common__grid {
    width: calc(100% - 10rem);
    margin-left: 10rem;
  }

  .work-reflections {
    grid-template-columns: 9rem minmax(0, 1fr);
    gap: 2rem;
  }

  .work-reflections__items {
    gap: 2rem;
  }

  .work-unfolding {
    grid-template-columns: 10rem minmax(0, 1fr);
  }
}

@media (width < 48rem) {
  .selected-work-hero {
    padding-top: 5.4375rem;
  }

  .selected-work-hero__inner {
    width: calc(100% - (var(--page-gutter) * 2));
    margin-inline: auto;
    flex-direction: column;
    align-items: flex-start;
    gap: var(--space-6);
    padding-block: 4rem;
  }

  .selected-work-hero__copy {
    width: 100%;
    gap: var(--space-4);
  }

  .selected-work-hero__logo {
    font-size: clamp(3.25rem, 2rem + 5vw, 4rem);
  }

  .selected-work-hero__standfirst > :first-child {
    font-size: clamp(1.25rem, 1rem + 1vw, 1.5rem);
  }

  .selected-work-hero__artefact {
    width: 100%;
    padding: 0 0.75rem 0.75rem 0;
  }

  .selected-work-hero__artefact img {
    width: 100%;
  }

  .selected-work-hero__shadow {
    width: calc(100% - 0.75rem);
    height: calc(100% - 0.75rem);
  }

  .work-section-lead,
  .work-unfolding {
    display: flex;
    flex-direction: column;
  }

  .work-section-lead__label,
  .work-section-lead__content,
  .work-unfolding__label,
  .work-unfolding__statement {
    width: 100%;
  }

  .work-section-lead__content {
    padding-top: 0;
    border-top: 0;
  }

  .work-case-teaser {
    display: flex;
    flex-direction: column;
    gap: var(--space-5);
    align-items: stretch;
  }

  .work-case-teaser__lead {
    gap: var(--space-4);
  }

  .work-case-teaser__body {
    gap: var(--space-3);
  }

  .work-case-teaser figcaption,
  .case-media figcaption,
  .work-section-lead__label,
  .work-kicker,
  .work-common dt,
  .work-reflections__label h2,
  .work-unfolding__label,
  .work-attributes {
    font-size: clamp(0.5625rem, 0.45rem + 0.45vw, 0.6875rem);
  }

  .work-common__grid {
    display: flex;
    width: 100%;
    margin-left: 0;
    flex-direction: column;
    gap: var(--space-5);
  }

  .work-reflections {
    display: flex;
    flex-direction: column;
    gap: var(--space-5);
  }

  .work-reflections__label {
    padding-top: 0;
  }

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

  .work-unfolding {
    gap: 0;
  }

  .work-unfolding__statement {
    padding-top: 0;
    border-top: 0;
    font-size: clamp(1.125rem, 0.9rem + 0.9vw, 1.5rem);
  }
}

.page-case-study {
  background: var(--color-sand);
}

.case-study {
  color: var(--color-deep-espresso);
}

.case-study-lead {
  display: flex;
  flex-direction: column;
  align-items: center;
  padding-top: var(--section-compact);
  text-align: center;
}

.case-study-lead__eyebrow,
.case-section__eyebrow,
.case-remit h2,
.case-remit dt {
  font-family: var(--font-mono);
  font-size: 0.75rem;
  font-weight: 400;
  line-height: 1;
  letter-spacing: 0.1375rem;
  text-transform: uppercase;
}

.case-study-lead__eyebrow {
  color: var(--color-ink-black);
  opacity: 0.5;
}

.case-study-lead h1 {
  padding-top: var(--space-4);
  color: var(--color-ink-black);
  font-family: var(--font-display);
  font-size: clamp(3.5rem, 1.5rem + 5vw, 5.75rem);
  font-weight: 400;
  line-height: 1;
  opacity: 0.9;
}

.case-study-lead__standfirst {
  padding-top: var(--space-5);
  font-family: var(--font-deck);
  font-size: clamp(1.0625rem, 0.8rem + 0.7vw, 1.25rem);
  line-height: 1.75;
  letter-spacing: 0.01em;
  opacity: 0.9;
}

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

.case-media--hero {
  padding-top: var(--space-7);
}

.case-media > img,
.case-media__visual {
  display: block;
  width: 100%;
}

.case-media--framed > img {
  border: 0.25rem solid rgb(12 12 12 / 20%);
}

.case-media__visual {
  position: relative;
  overflow: hidden;
}

.case-media__visual > img {
  display: block;
  width: 100%;
  height: auto;
}

.case-video__player,
.case-media__loop {
  display: block;
  width: 100%;
  height: auto;
  background: var(--color-ink-black);
}

.case-media__play {
  position: absolute;
  top: 50%;
  left: 50%;
  z-index: 1;
  width: clamp(3.75rem, 2rem + 4vw, 6.25rem);
  height: clamp(3.75rem, 2rem + 4vw, 6.25rem);
  padding: 0;
  border: 0;
  background: transparent;
  cursor: pointer;
  transform: translate(-50%, -50%);
  transition:
    opacity var(--duration-fast) var(--ease-standard),
    transform var(--duration-fast) var(--ease-standard);
}

.case-media__play-image {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  transition:
    opacity var(--duration-fast) var(--ease-standard),
    transform var(--duration-fast) var(--ease-standard);
}

.case-media__play-image--hover {
  opacity: 0;
}

.case-media__play:hover {
  transform: translate(-50%, -50%) scale(1.025);
}

.case-media__play:hover .case-media__play-image--default,
.case-media__play:focus-visible .case-media__play-image--default {
  opacity: 0;
}

.case-media__play:hover .case-media__play-image--hover,
.case-media__play:focus-visible .case-media__play-image--hover {
  opacity: 1;
  transform: translateX(0.1rem);
}

.case-video.is-playing .case-media__play {
  opacity: 0;
  pointer-events: none;
}

.case-media__loop {
  cursor: pointer;
}

.case-media__loop:focus-visible {
  outline-offset: 0.25rem;
}

.case-study-introduction {
  display: flex;
  flex-direction: column;
  gap: var(--space-5);
  padding-block: var(--space-7) var(--space-5);
  font-family: var(--font-text);
  font-size: 1rem;
  line-height: 1.935;
}

.case-media__captions {
  display: flex;
  flex-direction: column;
  gap: var(--space-1);
}

.case-media__captions .case-media__caption-detail {
  font-weight: 500;
  line-height: 1.75;
  letter-spacing: 0;
  opacity: 0.7;
  text-transform: none;
}

.case-remit {
  padding-top: var(--space-7);
}

.case-remit > h2,
.case-remit > dl {
  width: calc(100% - 5rem);
  margin-inline: auto;
}

.case-remit h2 {
  padding-bottom: 0.9375rem;
  border-bottom: var(--border-hairline) solid rgb(40 36 30 / 20%);
  color: var(--color-ink-black);
}

.case-remit dl > div {
  display: grid;
  grid-template-columns: 11.875rem minmax(0, 1fr);
  border-bottom: var(--border-hairline) solid rgb(40 36 30 / 15%);
}

.case-remit dl > div:last-child {
  border-bottom: 0;
}

.case-remit dt,
.case-remit dd {
  padding-block: 1.125rem;
}

.case-remit dt {
  opacity: 0.5;
}

.case-remit dd {
  font-family: var(--font-text);
  font-size: 1rem;
  line-height: 1.5;
  letter-spacing: 0.005em;
}

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

.case-section__eyebrow {
  color: var(--color-ink-black);
  opacity: 0.5;
}

.case-section h2 {
  max-width: 40rem;
  padding-block: 0.625rem var(--space-5);
  font-family: var(--font-text);
  font-size: clamp(1.5rem, 1rem + 1.1vw, 1.875rem);
  font-weight: 400;
  line-height: 1.2;
}

.case-section__body {
  display: flex;
  flex-direction: column;
  gap: var(--space-5);
  font-family: var(--font-text);
  font-size: 1rem;
  line-height: 1.935;
}

.case-pull-quote {
  width: 100%;
  padding-block: var(--space-6);
  margin: 0;
}

.case-pull-quote p {
  padding-left: 2rem;
  border-left: var(--border-hairline) solid var(--color-stone-grey);
  color: #5f5749;
  font-family: var(--font-display);
  font-size: clamp(1.125rem, 1rem + 0.5vw, 1.375rem);
  font-style: italic;
  font-weight: 300;
  line-height: 1.7727;
  letter-spacing: 0.0625rem;
}

.case-interlude {
  display: flex;
  justify-content: center;
  padding: var(--section-compact) var(--page-gutter);
  background: var(--color-interlude-confident);
}

.case-interlude__content {
  display: flex;
  width: min(100%, var(--container-reading));
  flex-direction: column;
  align-items: center;
  gap: var(--space-5);
  color: var(--color-deep-espresso);
  text-align: center;
}

.case-interlude__eyebrow {
  font-family: var(--font-deck);
  font-size: 1.25rem;
  font-style: italic;
  line-height: 1;
  opacity: 0.5;
}

.case-interlude__content > :last-child {
  font-family: var(--font-display);
  font-size: clamp(1.375rem, 1rem + 0.8vw, 1.75rem);
  font-weight: 300;
  line-height: 1.5;
  letter-spacing: 0.0535em;
  opacity: 0.9;
}

.case-section--final {
  padding-bottom: var(--space-7);
}

.case-follow {
  padding-bottom: var(--section-default);
}

.case-follow a {
  display: inline-block;
  padding-bottom: 0.125rem;
  border-bottom: var(--border-hairline) solid var(--color-deep-espresso);
  color: var(--color-deep-espresso);
  font-family: var(--font-text);
  font-size: 1.25rem;
  font-style: italic;
  line-height: 1;
  letter-spacing: 0.01em;
  opacity: 0.9;
  text-decoration: none;
}

@media (48rem <= width < 64rem) {
  .case-remit > h2,
  .case-remit > dl {
    width: calc(100% - 3rem);
  }
}

@media (width < 48rem) {
  .case-study-lead h1 {
    font-size: clamp(3rem, 2rem + 4vw, 4rem);
  }

  .case-media--hero {
    padding-top: var(--space-6);
  }

  .case-study-introduction {
    padding-block: var(--space-6) var(--space-4);
  }

  .case-remit {
    padding-top: var(--space-6);
  }

  .case-remit > h2,
  .case-remit > dl {
    width: 100%;
  }

  .case-remit dl > div {
    grid-template-columns: minmax(6.75rem, 32%) minmax(0, 1fr);
    gap: var(--space-3);
  }

  .case-remit dt {
    font-size: 0.625rem;
    line-height: 1.4;
    letter-spacing: 0.1rem;
  }

  .case-remit dd {
    font-size: 0.875rem;
    line-height: 1.6;
  }

  .case-section {
    padding-block: 4rem;
  }

  .case-section__eyebrow {
    font-size: 0.625rem;
  }

  .case-section h2 {
    padding-bottom: var(--space-4);
  }

  .case-section__body {
    gap: var(--space-4);
    font-size: 0.9375rem;
    line-height: 1.8;
  }

  .case-pull-quote {
    padding-block: var(--space-5);
  }

  .case-pull-quote p {
    padding-left: var(--space-4);
  }

  .case-interlude {
    padding-block: 4rem;
  }

  .case-interlude__eyebrow {
    font-size: 1.0625rem;
  }

  .case-follow a {
    font-size: 1.0625rem;
    line-height: 1.3;
  }
}

.page-work-reflection {
  background: var(--color-sand);
}

.work-reflection-page {
  color: var(--color-deep-espresso);
}

.work-reflection-page__lead {
  padding-top: var(--section-compact);
}

.work-reflection-page__eyebrow {
  color: var(--color-ink-black);
  font-family: var(--font-mono);
  font-size: 0.75rem;
  font-weight: 400;
  line-height: 1;
  letter-spacing: 0.1375rem;
  text-transform: uppercase;
  opacity: 0.5;
}

.work-reflection-page h1 {
  padding-block: var(--space-4);
  color: var(--color-ink-black);
  font-family: var(--font-display);
  font-size: clamp(2.25rem, 1.65rem + 1.9vw, 2.875rem);
  font-weight: 500;
  line-height: 1;
  opacity: 0.9;
}

.work-reflection-page__standfirst {
  padding-top: var(--space-5);
  color: var(--color-ink-black);
  font-family: var(--font-deck);
  font-size: clamp(1.125rem, 1rem + 0.4vw, 1.25rem);
  line-height: 1.75;
  letter-spacing: 0.01em;
  opacity: 0.9;
}

.work-reflection-page__section {
  padding-top: var(--section-compact);
}

.work-reflection-page__section--before-interlude {
  padding-bottom: var(--section-compact);
}

.work-reflection-page__section--after-interlude {
  padding-bottom: var(--section-default);
}

.work-reflection-page__body {
  display: flex;
  flex-direction: column;
  gap: var(--space-5);
  font-family: var(--font-text);
  font-size: 1rem;
  line-height: 1.935;
}

.work-reflection-page__interlude {
  padding-block: var(--section-compact);
  background: var(--color-interlude-confident);
}

.work-reflection-page__interlude-content {
  display: flex;
  max-width: var(--container-reading);
  flex-direction: column;
  gap: var(--space-5);
}

.work-reflection-page__interlude-eyebrow {
  font-family: var(--font-deck);
  font-size: 1.25rem;
  font-style: italic;
  line-height: 1;
  opacity: 0.5;
}

.work-reflection-page__interlude-quote {
  font-family: var(--font-display);
  font-size: clamp(1.5rem, 1.25rem + 0.8vw, 1.75rem);
  font-weight: 300;
  line-height: 1.5;
  letter-spacing: 0.0535em;
  opacity: 0.9;
}

@media (width < 48rem) {
  .work-reflection-page__lead {
    padding-top: clamp(3.75rem, 14vw, 5.5rem);
  }

  .work-reflection-page__eyebrow {
    font-size: 0.625rem;
    line-height: 1.5;
    letter-spacing: 0.11rem;
  }

  .work-reflection-page h1 {
    line-height: 1.05;
  }

  .work-reflection-page__standfirst {
    padding-top: var(--space-4);
    line-height: 1.65;
  }

  .work-reflection-page__section {
    padding-top: clamp(3.75rem, 14vw, 5.5rem);
  }

  .work-reflection-page__section--before-interlude {
    padding-bottom: clamp(3.75rem, 14vw, 5.5rem);
  }

  .work-reflection-page__section--after-interlude {
    padding-bottom: clamp(5rem, 20vw, 7.5rem);
  }

  .work-reflection-page__body {
    gap: var(--space-4);
    font-size: 0.9375rem;
    line-height: 1.8;
  }

  .work-reflection-page__interlude {
    padding-block: clamp(3.75rem, 14vw, 5.5rem);
  }

  .work-reflection-page__interlude-eyebrow {
    font-size: 1.0625rem;
  }

  .work-reflection-page__interlude-quote {
    line-height: 1.45;
  }
}

/*
 * Bet is intentionally its own visual register. Every component selector in
 * this file is scoped to the exhibit so its product UI cannot leak into the
 * editorial theme.
 */

.page-bet-exhibit {
  overflow: hidden;
  background: #e9f0fa;
}

.page-bet-exhibit > .site-header {
  position: absolute;
  z-index: 30;
  top: 0;
  right: 0;
  left: 0;
  background: transparent;
  color: #1f2733;
  transition:
    opacity var(--duration-default) var(--ease-standard),
    visibility var(--duration-default) var(--ease-standard);
}

.page-bet-exhibit > .site-header.is-bet-hidden {
  visibility: hidden;
  opacity: 0;
  pointer-events: none;
}

.bet-exhibit.is-reading-case {
  scroll-snap-type: none;
}

.page-bet-exhibit > .site-footer {
  display: none;
}

.bet-exhibit {
  --bet-bg: #e9f0fa;
  --bet-paper: #fff;
  --bet-ink: #1f2733;
  --bet-ink-soft: #4a5361;
  --bet-muted: #8b95a3;
  --bet-line: #d6e0ee;
  --bet-blue: #2f6fe0;
  --bet-blue-dark: #2560c8;
  --bet-blue-pale: #eef4fd;
  --bet-green: #3f7d5a;
  --bet-red: #b4442f;
  --bet-gold: #8a6412;
  --bet-serif: "Newsreader", Georgia, serif;
  --bet-sans: "Hanken Grotesk", Arial, sans-serif;
  --bet-mono: "Geist Mono", var(--font-mono);

  position: relative;
  height: 100svh;
  overflow-y: auto;
  background: var(--bet-bg);
  color: var(--bet-ink);
  font-family: var(--bet-sans);
  scroll-behavior: smooth;
  scroll-snap-type: y proximity;
  scrollbar-width: none;
}

.bet-exhibit::-webkit-scrollbar {
  width: 0;
  height: 0;
}

.bet-exhibit__chapter {
  display: flex;
  min-height: 100svh;
  align-items: center;
  padding: clamp(5.5rem, 8vh, 6rem) 3.5rem;
  background: var(--bet-bg);
  scroll-snap-align: start;
  scroll-snap-stop: always;
}

.bet-exhibit__chapter--premise {
  padding-top: clamp(10rem, 18vh, 12.5rem);
}

.bet-exhibit__chapter--reveal {
  background: linear-gradient(180deg, #cfe0f6 0%, #dde8f8 40%, #e9f0fa 100%);
}

.bet-exhibit__frame {
  width: 100%;
  margin-inline: auto;
}

.bet-exhibit__frame--narrow {
  max-width: 56.25rem;
}

.bet-exhibit__frame--medium {
  max-width: 60rem;
}

.bet-exhibit__frame--large {
  max-width: 62.5rem;
}

.bet-exhibit__frame--wide {
  max-width: 70rem;
}

.bet-exhibit__frame--widest {
  max-width: 73.75rem;
}

.bet-exhibit__brandline {
  display: flex;
  align-items: baseline;
  gap: 0.875rem;
  margin-bottom: clamp(2rem, 5vh, 3.5rem);
}

.bet-exhibit__brand {
  display: flex;
  align-items: center;
  gap: 0.375rem;
  font-family: var(--bet-serif);
  font-size: 1.625rem;
  font-weight: 600;
  letter-spacing: -0.01em;
}

.bet-exhibit__brand span {
  width: 0.375rem;
  height: 0.375rem;
  border-radius: 50%;
  background: var(--bet-blue);
  transform: translateY(0.125rem);
}

.bet-exhibit__chapter-label,
.bet-ui-label,
.bet-panel__header,
.bet-commit__label,
.bet-evidence__label {
  font-family: var(--bet-mono);
  text-transform: uppercase;
}

.bet-exhibit__chapter-label {
  margin-bottom: 1.375rem;
  color: #9aa4b2;
  font-size: 0.6875rem;
  line-height: 1.3;
  letter-spacing: 0.14em;
}

.bet-exhibit__brandline .bet-exhibit__chapter-label {
  margin-bottom: 0;
}

.bet-exhibit h1,
.bet-exhibit h2,
.bet-exhibit h3,
.bet-exhibit h4 {
  font-family: var(--bet-serif);
}

.bet-exhibit__chapter h1,
.bet-exhibit__chapter > div > h2,
.bet-exhibit__split-lead h2 {
  max-width: 57.5rem;
  font-size: clamp(2.75rem, 2rem + 2.5vw, 4rem);
  font-weight: 500;
  line-height: 1.05;
  letter-spacing: -0.02em;
}

.bet-exhibit__chapter h1 span {
  color: var(--bet-muted);
}

.bet-exhibit__chapter--reveal h2 {
  max-width: 52.5rem;
  color: #182338;
  font-size: clamp(3rem, 2.2rem + 2vw, 3.5rem);
}

.bet-exhibit__lede {
  max-width: 42.5rem;
  margin-top: 1.125rem;
  color: var(--bet-ink-soft);
  font-size: clamp(1rem, 0.9rem + 0.3vw, 1.1875rem);
  line-height: 1.55;
}

.bet-exhibit__chapter--premise .bet-exhibit__lede {
  max-width: 38.75rem;
  margin-top: 1.625rem;
}

.bet-exhibit__split-lead {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 2.5rem;
  margin-bottom: 2.75rem;
}

.bet-exhibit__split-lead h2 {
  max-width: 35rem;
}

.bet-exhibit__split-lead .bet-exhibit__lede {
  max-width: 25rem;
  margin: 0 0 0.375rem;
}

.bet-ui-card,
.bet-panel,
.bet-insight-card {
  border: 1px solid #dbe4f0;
  background: var(--bet-paper);
  box-shadow:
    0 1px 2px rgb(24 40 72 / 4%),
    0 24px 44px -32px rgb(24 40 72 / 30%);
}

.bet-ui-label {
  color: var(--bet-muted);
  font-size: 0.625rem;
  line-height: 1.4;
  letter-spacing: 0.06em;
}

.bet-trail {
  display: grid;
  max-width: 62.5rem;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  margin-top: clamp(2.5rem, 6vh, 4.25rem);
}

.bet-trail__step {
  min-width: 0;
  padding-right: 1.375rem;
  border-right: 1px solid var(--bet-line);
}

.bet-trail__step + .bet-trail__step {
  padding-left: 1.375rem;
}

.bet-trail__step > p {
  margin-top: 0.875rem;
  color: var(--bet-ink-soft);
  font-size: 0.8125rem;
  line-height: 1.45;
}

.bet-ui-card {
  min-height: 4.125rem;
  padding: 0.8125rem 0.9375rem;
  border-radius: 0.625rem;
}

.bet-ui-card .bet-ui-label {
  margin-bottom: 0.375rem;
}

.bet-ui-card p:last-child {
  font-size: 0.875rem;
}

.bet-trail__step--faded-1 {
  opacity: 0.7;
}

.bet-trail__step--faded-2 {
  opacity: 0.45;
}

.bet-trail__step--faded-3 {
  border-right-style: dashed;
  opacity: 0.23;
}

.bet-trail__step--missing {
  padding-right: 0;
  border-right: 0;
  opacity: 0.55;
}

.bet-trail__step--missing .bet-ui-card {
  display: flex;
  align-items: center;
  border: 1.5px dashed #a6b3c4;
  background: transparent;
  box-shadow: none;
  color: #7d8998;
  font-family: var(--bet-serif);
  font-style: italic;
}

.bet-trail__step--missing > p {
  color: #9ca7b5;
  font-family: var(--bet-serif);
  font-style: italic;
}

.bet-stack {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr)) 1.05fr;
  margin-top: clamp(2.75rem, 6vh, 4rem);
}

.bet-stack__item {
  padding-inline: 1.875rem;
  border-right: 1px solid var(--bet-line);
}

.bet-stack__item:first-child {
  padding-left: 0;
}

.bet-stack__item h3 {
  margin-bottom: 2rem;
  font-size: 1.875rem;
  font-weight: 500;
}

.bet-stack__item > p:not(.bet-ui-label) {
  margin: 0.375rem 0 1.5rem;
  font-size: 1rem;
}

.bet-stack__item .bet-stack__loss {
  color: var(--bet-muted);
}

.bet-ui-label--keeps {
  color: var(--bet-green);
}

.bet-ui-label--loses {
  color: #b08a8a;
}

.bet-stack__item--bet {
  padding-right: 0;
  border-right: 0;
}

.bet-stack__item--bet h3 {
  color: #6f8bc0;
  font-size: 1.375rem;
  font-style: italic;
  font-weight: 400;
}

.bet-stack__item--bet div {
  padding: 1.25rem;
  border: 1.5px dashed #b9c8e2;
  border-radius: 0.75rem;
  background: rgb(255 255 255 / 40%);
  color: #3a4b68;
  font-family: var(--bet-serif);
  font-size: 1.1875rem;
  line-height: 1.4;
}

.bet-stack__item--bet em {
  color: #5f7bb0;
}

.bet-capture,
.bet-commit,
.bet-insights,
.bet-settlement {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1.5rem;
}

.bet-capture {
  grid-template-columns: 0.82fr 1.18fr;
}

.bet-panel {
  overflow: hidden;
  border-radius: 0.875rem;
}

.bet-panel__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0.8125rem 1.125rem;
  border-bottom: 1px solid #eef2f8;
  color: var(--bet-muted);
  font-size: 0.625rem;
  letter-spacing: 0.06em;
}

.bet-panel__header > :last-child {
  color: #b6bfcc;
  text-transform: none;
}

.bet-capture__source {
  padding: 1.375rem 1.25rem;
  color: #2b333f;
  font-family: var(--bet-mono);
  font-size: 0.875rem;
  line-height: 1.8;
}

.bet-capture__source mark {
  border-bottom: 1.5px solid #9cc0f5;
  background: #eef4fd;
  color: inherit;
}

.bet-capture__quoted {
  display: flex;
  align-items: center;
  gap: 0.375rem;
  padding: 0 1.25rem 1.125rem;
  color: #3a6bc4;
  font-family: var(--bet-mono);
  font-size: 0.625rem;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.bet-capture__quoted span {
  width: 1rem;
  border-top: 1.5px solid #9cc0f5;
}

.bet-form-row {
  display: grid;
  grid-template-columns: 7.5rem minmax(0, 1fr);
  gap: 1.125rem;
  padding: 1.125rem 1.375rem;
  border-bottom: 1px solid #eef2f8;
  color: #2b333f;
  font-size: 0.9375rem;
  line-height: 1.5;
}

.bet-form-row:last-child {
  border-bottom: 0;
}

.bet-draft__claim {
  font-family: var(--bet-serif);
  font-size: 1.25rem;
  line-height: 1.35;
}

.bet-badge {
  display: inline-flex;
  width: -moz-fit-content;
  width: fit-content;
  padding: 0.25rem 0.625rem;
  border-radius: 0.4375rem;
  font-family: var(--bet-mono);
  font-size: 0.625rem;
  letter-spacing: 0.05em;
  text-transform: uppercase;
}

.bet-panel__header .bet-badge {
  text-transform: uppercase;
}

.bet-badge--draft {
  border: 1px solid #d5e3fb;
  background: #eaf1fd;
  color: var(--bet-blue);
}

.bet-badge--inferred {
  margin-top: 0.5rem;
  border: 1px solid #e9dcb2;
  background: #f7efd7;
  color: var(--bet-gold);
}

.bet-inferred {
  -webkit-text-decoration: underline dotted #cba43e;
          text-decoration: underline dotted #cba43e;
  text-underline-offset: 0.1875rem;
}

.bet-form-row--blank {
  background: #fafbfe;
}

.bet-draft__blank {
  display: flex;
  align-items: center;
  gap: 0.625rem;
  color: #9aa4b2;
  font-family: var(--bet-serif);
  font-size: 1rem;
  font-style: italic;
}

.bet-draft__blank span {
  width: 0.75rem;
  height: 0.75rem;
  border: 1.5px dashed #c2ccda;
  border-radius: 50%;
}

.bet-commit {
  margin-top: clamp(2.25rem, 5vh, 3.125rem);
}

.bet-commit__label {
  margin-bottom: 0.875rem;
  color: #6b7688;
  font-size: 0.6875rem;
  letter-spacing: 0.06em;
}

.bet-choice-list {
  display: flex;
  flex-direction: column;
  gap: 0.5625rem;
}

.bet-choice {
  display: flex;
  min-height: 3.125rem;
  align-items: center;
  gap: 0.8125rem;
  padding: 0.75rem 1rem;
  border: 1px solid #e2e9f3;
  border-radius: 0.6875rem;
  background: #fff;
}

.bet-choice > :nth-child(2) {
  flex: 1;
  font-family: var(--bet-serif);
  font-size: 1.0625rem;
}

.bet-choice > :last-child,
.bet-choice__chosen {
  color: var(--bet-muted);
  font-family: var(--bet-mono);
  font-size: 0.75rem;
}

.bet-choice__chosen {
  color: var(--bet-blue);
  font-size: 0.625rem;
  text-transform: uppercase;
}

.bet-choice--selected {
  border: 1.5px solid var(--bet-blue);
  background: var(--bet-blue-pale);
  box-shadow: 0 0 0 3px rgb(47 111 224 / 8%);
}

.bet-choice--selected > :last-child {
  color: var(--bet-blue);
}

.bet-radio {
  position: relative;
  width: 1rem;
  height: 1rem;
  flex: 0 0 auto;
  border: 1.5px solid #cdd6e3;
  border-radius: 50%;
}

.bet-choice--selected .bet-radio,
.bet-verdicts__selected .bet-radio,
.bet-evidence__selected .bet-radio {
  border-color: var(--bet-blue);
}

.bet-choice--selected .bet-radio::after,
.bet-verdicts__selected .bet-radio::after,
.bet-evidence__selected .bet-radio::after {
  position: absolute;
  inset: 0.2rem;
  border-radius: 50%;
  background: var(--bet-blue);
  content: "";
}

.bet-criterion .bet-form-row {
  grid-template-columns: 6rem minmax(0, 1fr);
  font-family: var(--bet-mono);
  font-size: 0.8125rem;
}

.bet-criterion strong {
  color: var(--bet-blue);
  font-weight: 500;
}

.bet-product-button {
  display: flex;
  width: 100%;
  align-items: center;
  justify-content: center;
  gap: 0.5625rem;
  padding: 0.9375rem 1.5rem;
  border-radius: 0.6875rem;
  margin-top: 1rem;
  background: var(--bet-blue);
  box-shadow: 0 10px 22px -8px rgb(47 111 224 / 55%);
  color: #fff;
  font-size: 0.9375rem;
  font-weight: 600;
}

.bet-insights,
.bet-settlement {
  margin-top: clamp(2.25rem, 5vh, 2.75rem);
  gap: 1.375rem;
}

.bet-insight-card {
  padding: 1.625rem;
  border-color: #d5e2f2;
  border-radius: 1rem;
}

.bet-insight-card h3 {
  margin: 0.875rem 0 1.125rem;
  font-size: 1.375rem;
  font-weight: 600;
}

.bet-record {
  overflow: hidden;
  border: 1px solid #e6ecf5;
  border-radius: 0.75rem;
  background: #fbfcfe;
}

.bet-record > div {
  display: grid;
  grid-template-columns: 4.75rem minmax(0, 1fr);
  gap: 0.75rem;
  align-items: center;
  padding: 0.75rem 0.9375rem;
  border-bottom: 1px solid #eef2f8;
}

.bet-record > div:last-child {
  border-bottom: 0;
}

.bet-record span,
.bet-tension span {
  color: var(--bet-muted);
  font-family: var(--bet-mono);
  font-size: 0.5625rem;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.bet-record p,
.bet-tension p {
  font-size: 0.8125rem;
  line-height: 1.4;
}

.bet-record .bet-record__load {
  grid-template-columns: 4.75rem minmax(0, 1fr) auto;
  border-left: 3px solid var(--bet-blue);
  background: var(--bet-blue-pale);
}

.bet-record__load > span:first-child {
  color: var(--bet-blue);
}

.bet-load {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 0.25rem;
}

.bet-load i {
  width: 5.625rem;
  height: 0.4375rem;
  overflow: hidden;
  border-radius: 999px;
  background: #dce7f7;
}

.bet-load i::after {
  display: block;
  width: 86%;
  height: 100%;
  background: var(--bet-blue);
  content: "";
}

.bet-load small {
  color: #5f7bb0;
  font-family: var(--bet-mono);
  font-size: 0.5rem;
  text-transform: uppercase;
}

.bet-tension {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  gap: 0.6875rem;
  align-items: stretch;
}

.bet-tension > div {
  padding: 0.8125rem 0.875rem;
  border: 1px solid #e2e9f3;
  border-radius: 0.6875rem;
  background: #fbfcfe;
}

.bet-tension span {
  display: block;
  margin-bottom: 0.375rem;
}

.bet-tension .bet-tension__current {
  border: 1.5px solid var(--bet-blue);
  background: var(--bet-blue-pale);
}

.bet-tension__current span {
  color: var(--bet-blue);
}

.bet-tension__versus {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  color: #5f6f88;
  font-family: var(--bet-serif);
}

.bet-tension__versus small {
  color: #9aa4b2;
  font-family: var(--bet-mono);
  font-size: 0.5rem;
  line-height: 1.25;
  text-align: center;
  text-transform: uppercase;
}

.bet-insight-card__note {
  padding-top: 0.875rem;
  border-top: 1px solid #eef2f8;
  margin-top: 1rem;
  color: var(--bet-ink-soft);
  font-family: var(--bet-serif);
  font-size: 0.9375rem;
  font-style: italic;
  line-height: 1.5;
}

.bet-settlement__result {
  color: #8a2e1c;
  font-family: var(--bet-mono);
  font-size: 0.8947em;
}

.bet-measure > div {
  display: grid;
  grid-template-columns: auto 8rem minmax(0, 1fr);
  gap: 0.5rem;
  align-items: center;
  padding: 0.9375rem 1.25rem;
  border-bottom: 1px solid #eef2f8;
}

.bet-measure > div:last-child {
  border-bottom: 0;
  background: #f7faff;
}

.bet-measure span:not(.bet-square),
.bet-measure p {
  font-family: var(--bet-mono);
  font-size: 0.6875rem;
}

.bet-measure span:not(.bet-square) {
  color: var(--bet-muted);
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.bet-square {
  width: 0.5rem;
  height: 0.5rem;
  border: 1.5px solid #b6bfcc;
  border-radius: 0.125rem;
}

.bet-square--filled {
  border-color: var(--bet-blue);
  background: var(--bet-blue);
}

.bet-verdicts,
.bet-evidence {
  display: flex;
  gap: 0.5625rem;
  margin-top: 1rem;
}

.bet-verdicts > div,
.bet-evidence > div {
  display: flex;
  flex: 1;
  align-items: center;
  gap: 0.5625rem;
  padding: 0.6875rem 0.8125rem;
  border: 1px solid #e2e9f3;
  border-radius: 0.625rem;
  background: #fff;
  color: var(--bet-muted);
  font-size: 0.8125rem;
}

.bet-verdicts .bet-verdicts__selected {
  border: 1.5px solid #c76a52;
  background: #fbeee9;
  box-shadow: 0 0 0 3px rgb(199 106 82 / 8%);
  color: #8a2e1c;
  font-weight: 600;
}

.bet-verdicts__selected .bet-radio {
  border-color: var(--bet-red);
}

.bet-verdicts__selected .bet-radio::after {
  background: var(--bet-red);
}

.bet-settlement__shortfall {
  margin-top: 0.75rem;
  color: #a35b46;
  font-family: var(--bet-mono);
  font-size: 0.75rem;
}

.bet-evidence__label {
  color: var(--bet-ink-soft);
  font-size: 0.625rem;
  letter-spacing: 0.05em;
}

.bet-evidence__label span {
  color: #9aa4b2;
}

.bet-evidence {
  margin-top: 0.625rem;
}

.bet-evidence .bet-evidence__selected {
  border: 1.5px solid var(--bet-blue);
  background: var(--bet-blue-pale);
  color: var(--bet-ink);
  font-weight: 600;
}

.bet-finding {
  padding: 1.125rem 1.25rem;
  border: 1px dashed #cdd9ea;
  border-radius: 0.8125rem;
  margin-top: 1rem;
  background: #f7faff;
}

.bet-finding > p:not(.bet-finding__label) {
  margin: 0.625rem 0 0.875rem;
  font-size: 1rem;
}

.bet-finding__label {
  color: var(--bet-ink-soft);
  font-family: var(--bet-mono);
  font-size: 0.625rem;
  text-transform: uppercase;
}

.bet-finding__label em {
  margin-left: 0.5625rem;
  color: #9aa4b2;
  font-family: var(--bet-serif);
  font-size: 0.75rem;
  text-transform: none;
}

.bet-finding > div {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
}

.bet-finding > div em {
  color: #5b6675;
  font-family: var(--bet-serif);
  font-size: 0.875rem;
}

.bet-finding > div span {
  padding: 0.5rem 0.875rem;
  border: 1px solid #cdd9ea;
  border-radius: 0.5625rem;
  background: #fff;
  color: var(--bet-blue);
  font-size: 0.8125rem;
  font-weight: 600;
  white-space: nowrap;
}

.bet-settlement__principle {
  margin-top: 1rem;
  color: #5b6675;
  font-family: var(--bet-serif);
  font-style: italic;
}

.bet-calibration {
  display: grid;
  grid-template-columns: 1fr 1fr 2.2fr;
  gap: 0.875rem;
  margin-top: clamp(2rem, 5vh, 2.5rem);
}

.bet-calibration > div {
  border: 1px solid #e2e9f3;
  border-radius: 0.8125rem;
  background: #fff;
}

.bet-calibration__count {
  padding: 1.125rem 1.375rem;
}

.bet-calibration__count strong {
  display: block;
  font-family: var(--bet-serif);
  font-size: 2.375rem;
  font-weight: 500;
  line-height: 1;
}

.bet-calibration__count span {
  display: block;
  margin-top: 0.4375rem;
  color: var(--bet-muted);
  font-family: var(--bet-mono);
  font-size: 0.625rem;
  letter-spacing: 0.07em;
  text-transform: uppercase;
}

.bet-calibration__record {
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 0.5625rem;
  padding: 1rem 1.25rem;
}

.bet-calibration__record p {
  display: grid;
  grid-template-columns: 5.5rem 1fr 1fr;
  gap: 0.75rem;
  align-items: center;
  font-size: 0.75rem;
}

.bet-calibration__record p > :first-child {
  font-family: var(--bet-serif);
  font-size: 1rem;
}

.bet-calibration__record p > span:not(:first-child) {
  display: flex;
  align-items: center;
  gap: 0.1875rem;
}

.bet-dot {
  width: 0.5rem;
  height: 0.5rem;
  border-radius: 50%;
}

.bet-dot--met {
  background: var(--bet-green);
}

.bet-dot--not {
  background: #c76a52;
}

.bet-restraint {
  display: flex;
  gap: 0.6875rem;
  align-items: flex-start;
  padding: 1rem 1.25rem;
  border: 1px solid #d3ddec;
  border-radius: 0.75rem;
  margin-top: 1.625rem;
  background: #e2eaf5;
}

.bet-restraint > span {
  display: flex;
  width: 1.1875rem;
  height: 1.1875rem;
  flex: 0 0 auto;
  align-items: center;
  justify-content: center;
  border: 1.5px solid #9aabc4;
  border-radius: 50%;
  color: #5f6f88;
  font-family: var(--bet-serif);
  font-size: 0.75rem;
  font-style: italic;
}

.bet-restraint p {
  color: #3a4553;
  font-family: var(--bet-serif);
  font-size: 1rem;
  line-height: 1.5;
}

.bet-hinge {
  padding-top: clamp(2rem, 5vh, 3.5rem);
  border-top: 1px solid #cdd9ea;
  margin-top: clamp(2rem, 5vh, 3.5rem);
}

.bet-hinge p {
  max-width: 40rem;
  color: #2b333f;
  font-family: var(--bet-serif);
  font-size: 1.375rem;
  line-height: 1.5;
}

.bet-hinge button {
  display: inline-flex;
  align-items: center;
  gap: 0.625rem;
  margin-top: 1.375rem;
  color: var(--bet-blue);
  font-size: 1rem;
  font-weight: 600;
}

.bet-hinge button:hover,
.bet-hinge button:focus-visible {
  color: var(--bet-blue-dark);
}

.bet-exhibit__apparatus {
  position: fixed;
  z-index: 20;
  right: 2rem;
  bottom: 1.375rem;
  left: 2rem;
  color: rgb(31 39 51 / 55%);
  font-family: var(--bet-mono);
  font-size: 0.75rem;
  letter-spacing: 0.05em;
  pointer-events: none;
}

.bet-exhibit__apparatus[hidden] {
  display: none;
}

.bet-exhibit__progress {
  position: absolute;
  right: 0;
  bottom: 0;
  display: flex;
  align-items: center;
  gap: 1rem;
}

.bet-exhibit__progress > span:nth-child(2) {
  width: 1px;
  height: 0.75rem;
  background: rgb(31 39 51 / 20%);
}

.bet-exhibit__progress button,
.bet-exhibit__controls button {
  color: inherit;
  pointer-events: auto;
}

.bet-exhibit__progress button:hover,
.bet-exhibit__progress button:focus-visible,
.bet-exhibit__controls button:hover,
.bet-exhibit__controls button:focus-visible {
  color: var(--bet-blue);
}

.bet-exhibit__controls {
  position: absolute;
  bottom: -0.125rem;
  left: 50%;
  display: flex;
  flex-direction: column;
  transform: translateX(-50%);
}

.bet-exhibit__controls button {
  width: 2.125rem;
  height: 1.5rem;
  font-size: 0.75rem;
  line-height: 1;
}

.bet-exhibit__controls button:disabled {
  opacity: 0.2;
  cursor: default;
}

.bet-case {
  min-height: 100svh;
  padding: clamp(6rem, 10vw, 8.75rem) var(--page-gutter);
  background: #fbf9f4;
  color: #3d3830;
  scroll-snap-align: start;
}

.bet-case__lead,
.bet-case__section,
.bet-case__closing {
  width: min(100%, var(--container-reading));
  margin-inline: auto;
}

.bet-case__eyebrow {
  margin-bottom: 1.75rem;
  color: #9a8e72;
  font-family: var(--bet-mono);
  font-size: 0.6875rem;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

.bet-case__lead h2 {
  color: #2a2620;
  font-family: var(--bet-serif);
  font-size: clamp(2.75rem, 2rem + 1.8vw, 3.5rem);
  font-weight: 500;
  line-height: 1.08;
  letter-spacing: -0.015em;
}

.bet-case__standfirst {
  max-width: 40rem;
  margin-top: 1rem;
  color: #7a7360;
  font-family: var(--bet-serif);
  font-size: clamp(1.125rem, 1rem + 0.4vw, 1.25rem);
  font-style: italic;
  line-height: 1.6;
}

.bet-case__section {
  padding-top: var(--section-compact);
}

.bet-case__section h3 {
  margin-bottom: var(--space-5);
  color: #2a2620;
  font-family: var(--bet-serif);
  font-size: clamp(1.75rem, 1.45rem + 0.8vw, 2.125rem);
  font-weight: 500;
  line-height: 1.15;
}

.bet-case__body {
  display: flex;
  flex-direction: column;
  gap: var(--space-5);
  font-family: var(--font-text);
  font-size: 1rem;
  line-height: 1.935;
}

.bet-case__body h4 {
  margin: var(--space-4) 0 calc(var(--space-5) * -0.5);
  color: #2a2620;
  font-family: var(--font-deck);
  font-size: 1.25rem;
  font-weight: 600;
  line-height: 1.5;
}

.bet-case__interlude {
  padding-inline: var(--page-gutter);
  margin-top: 5rem;
}

.bet-case__interlude p {
  width: min(100%, var(--container-reading));
  padding-left: 1.875rem;
  border-left: 1px solid #5f5749;
  margin-inline: auto;
  color: #5f5749;
  font-family: var(--bet-serif);
  font-size: clamp(1.5rem, 1.25rem + 0.65vw, 1.75rem);
  font-style: italic;
  line-height: 1.45;
}

.bet-case__interlude + .bet-case__section {
  padding-top: 5rem;
}

.bet-case__closing {
  padding-top: var(--section-compact);
}

.bet-case__closing p {
  padding-top: var(--space-5);
  border-top: 1px solid #ddd2ba;
  font-family: var(--bet-serif);
  font-size: 1.25rem;
  line-height: 1.7;
}

.bet-case__closing a {
  display: inline-block;
  padding-bottom: 0.125rem;
  border-bottom: 1px solid currentColor;
  margin-top: var(--space-7);
  color: #5f5749;
  font-family: var(--font-text);
  font-size: 1.125rem;
  font-style: italic;
  text-decoration: none;
}

@media (48rem <= width < 64rem) {
  .bet-exhibit__chapter {
    padding-inline: 2.5rem;
  }

  .bet-exhibit__chapter--premise {
    padding-top: 10rem;
  }

  .bet-trail__step {
    padding-right: 0.75rem;
  }

  .bet-trail__step + .bet-trail__step {
    padding-left: 0.75rem;
  }

  .bet-stack__item {
    padding-inline: 1rem;
  }

  .bet-stack__item h3 {
    font-size: 1.5rem;
  }
}

@media (width < 48rem) {
  .page-bet-exhibit > .site-header.is-menu-open {
    position: fixed;
    color: var(--color-deep-espresso);
  }

  .bet-exhibit {
    scroll-snap-type: y proximity;
  }

  .bet-exhibit__chapter {
    min-height: 100svh;
    align-items: flex-start;
    padding: 7rem 1.25rem 5rem;
  }

  .bet-exhibit__chapter--premise {
    padding-top: 8.5rem;
  }

  .bet-exhibit__chapter h1,
  .bet-exhibit__chapter > div > h2,
  .bet-exhibit__split-lead h2,
  .bet-exhibit__chapter--reveal h2 {
    font-size: clamp(2.25rem, 9.5vw, 3rem);
  }

  .bet-exhibit__brandline,
  .bet-exhibit__split-lead {
    align-items: flex-start;
    flex-direction: column;
    gap: var(--space-4);
  }

  .bet-exhibit__split-lead {
    margin-bottom: var(--space-6);
  }

  .bet-exhibit__split-lead .bet-exhibit__lede {
    max-width: none;
  }

  .bet-trail,
  .bet-stack,
  .bet-capture,
  .bet-commit,
  .bet-insights,
  .bet-settlement {
    grid-template-columns: 1fr;
  }

  .bet-trail {
    gap: var(--space-3);
    margin-top: var(--space-6);
  }

  .bet-trail__step,
  .bet-trail__step + .bet-trail__step {
    display: grid;
    grid-template-columns: minmax(8.5rem, 42%) 1fr;
    gap: var(--space-3);
    padding: 0 0 var(--space-3);
    border-right: 0;
    border-bottom: 1px solid var(--bet-line);
  }

  .bet-trail__step:last-child {
    border-bottom: 0;
  }

  .bet-trail__step > p {
    margin: 0;
  }

  .bet-stack {
    gap: var(--space-5);
  }

  .bet-stack__item,
  .bet-stack__item:first-child {
    display: grid;
    grid-template-columns: 1.25fr 0.75fr 1fr;
    gap: var(--space-2);
    padding: 0 0 var(--space-5);
    border-right: 0;
    border-bottom: 1px solid var(--bet-line);
  }

  .bet-stack__item h3 {
    grid-column: 1 / -1;
    margin-bottom: var(--space-2);
  }

  .bet-stack__item > p:not(.bet-ui-label) {
    margin: 0;
  }

  .bet-stack__item--bet {
    display: block;
    border-bottom: 0;
  }

  .bet-capture,
  .bet-commit,
  .bet-insights,
  .bet-settlement {
    gap: var(--space-5);
  }

  .bet-form-row,
  .bet-criterion .bet-form-row {
    grid-template-columns: 5.5rem minmax(0, 1fr);
    gap: var(--space-3);
    padding-inline: var(--space-4);
  }

  .bet-record .bet-record__load {
    grid-template-columns: 4.25rem minmax(0, 1fr);
  }

  .bet-load {
    grid-column: 2;
    align-items: flex-start;
  }

  .bet-tension {
    grid-template-columns: 1fr;
  }

  .bet-tension__versus {
    flex-direction: row;
    gap: var(--space-2);
  }

  .bet-tension__versus small br {
    display: none;
  }

  .bet-measure > div {
    grid-template-columns: auto 6.75rem minmax(0, 1fr);
    padding-inline: var(--space-4);
  }

  .bet-calibration {
    grid-template-columns: 1fr 1fr;
  }

  .bet-calibration__record {
    grid-column: 1 / -1;
  }

  .bet-exhibit__apparatus {
    right: 1rem;
    bottom: 0.75rem;
    left: 1rem;
  }

  .bet-exhibit__progress {
    gap: var(--space-2);
    font-size: 0.625rem;
  }

  .bet-exhibit__progress button {
    display: none;
  }

  .bet-exhibit__progress > span:nth-child(2) {
    display: none;
  }

  .bet-case {
    padding-block: 6rem;
  }

  .bet-case__body {
    gap: var(--space-4);
    font-size: 0.9375rem;
    line-height: 1.8;
  }

  .bet-case__closing p {
    font-size: 1.125rem;
  }
}

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

.page-practice {
  background: var(--color-sand);
}

.practice {
  color: var(--color-deep-espresso);
}

.practice-lead {
  padding-top: var(--section-compact);
}

.practice-lead__content {
  width: min(100%, var(--container-reading));
}

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

.practice-lead__title p {
  color: var(--color-espresso-umber);
  font-family: var(--font-deck);
  font-size: 1.0625rem;
  line-height: 1;
  opacity: 0.6;
}

.practice-lead h1 {
  font-family: var(--font-display-condensed);
  font-size: clamp(2.75rem, 2.15rem + 1.9vw, 3.25rem);
  font-weight: 300;
  line-height: 1;
  opacity: 0.9;
}

.practice-lead__standfirst {
  display: flex;
  flex-direction: column;
  padding-top: var(--space-5);
  font-family: var(--font-deck);
  font-size: clamp(1.25rem, 1.1rem + 0.45vw, 1.375rem);
  line-height: 1.5;
  letter-spacing: 0.01em;
  opacity: 0.9;
}

.practice-positioning {
  position: relative;
  min-height: 75.6875rem;
  overflow: hidden;
  padding-block: var(--section-compact) 0;
  background:
    linear-gradient(to bottom, var(--color-sand), rgb(247 243 238 / 0%) 7rem),
    rgb(232 217 202 / 15%) url("/assets/images/paper-texture.webp") center /
      cover;
}

.practice-positioning::after {
  position: absolute;
  inset: 0;
  background: rgb(247 243 238 / 75%);
  content: "";
  pointer-events: none;
}

.practice-positioning__inner {
  position: relative;
  z-index: 1;
  min-height: inherit;
}

.practice-positioning__body {
  display: flex;
  width: min(100%, 49.6875rem);
  flex-direction: column;
  gap: var(--space-6);
  font-family: var(--font-text);
  font-size: clamp(1.125rem, 1rem + 0.35vw, 1.25rem);
  line-height: 2;
  opacity: 0.9;
}

.practice-positioning__portrait {
  position: absolute;
  bottom: 0;
  left: max(
    -7.625rem,
    calc((100vw - var(--container-standard)) / -2 - 7.625rem)
  );
  width: min(64.3vw, 40.1875rem);
  opacity: 0.9;
}

.practice-positioning__portrait img {
  width: 100%;
  height: auto;
}

.practice-method {
  padding: var(--section-default) var(--space-7);
}

.practice-method__inner {
  display: flex;
  max-width: 45.8125rem;
  flex-direction: column;
  gap: var(--space-6);
  color: var(--color-ink-black);
  font-family: var(--font-deck);
  font-size: 1.25rem;
  line-height: 1.85;
  opacity: 0.85;
}

.practice-method__inner p:last-child {
  font-style: italic;
}

.practice-practical {
  padding-bottom: var(--section-default);
}

.practice-practical h2,
.practice-notes > h2 {
  font-family: var(--font-deck);
  font-size: 1.375rem;
  font-weight: 500;
  line-height: 1;
  opacity: 0.9;
}

.practice-practical dl {
  display: flex;
  flex-direction: column;
  gap: var(--space-7);
  margin-top: var(--space-7);
}

.practice-practical dl > div {
  display: grid;
  grid-template-columns: 11.25rem minmax(0, 1fr);
  gap: var(--grid-gutter-standard);
}

.practice-practical dt {
  font-family: var(--font-mono);
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.96875;
  opacity: 0.9;
  text-transform: uppercase;
}

.practice-practical dd {
  font-family: var(--font-text);
  font-size: 1.125rem;
  line-height: 1.75;
  letter-spacing: 0.005em;
  opacity: 0.9;
}

.practice-invitation {
  display: flex;
  width: 100%;
  flex-direction: column;
  align-items: center;
  gap: var(--space-5);
  padding: var(--section-compact) var(--page-gutter);
  background: var(--color-interlude-shy);
  text-align: center;
}

.practice-invitation__lead {
  display: flex;
  width: min(100%, 36.875rem);
  flex-direction: column;
  gap: var(--space-5);
}

.practice-invitation__lead h2 {
  font-family: var(--font-deck);
  font-size: 1.5rem;
  font-weight: 600;
  line-height: 1.5;
  opacity: 0.9;
}

.practice-invitation__lead p {
  font-family: var(--font-deck);
  font-size: clamp(1.25rem, 1.1rem + 0.45vw, 1.375rem);
  line-height: 1.68;
  letter-spacing: 0.01em;
  opacity: 0.9;
}

.practice-invitation__primary {
  display: inline-flex;
  align-items: center;
  margin-top: var(--space-4);
  padding-bottom: 0.125rem;
  border-bottom: var(--border-hairline) solid currentColor;
  color: var(--color-deep-espresso);
  font-family: var(--font-display);
  font-size: 1.5rem;
  font-weight: 300;
  line-height: 1;
  opacity: 0.9;
}

.practice-invitation__primary:hover,
.practice-invitation__primary:focus-visible,
.practice-invitation__secondary:hover,
.practice-invitation__secondary:focus-visible {
  opacity: 0.65;
}

.practice-invitation__secondary {
  padding-bottom: 0.125rem;
  border-bottom: var(--border-hairline) solid currentColor;
  text-decoration: none;
  color: var(--color-deep-espresso);
  font-family: var(--font-display);
  font-size: 1.0625rem;
  font-style: italic;
  line-height: 1;
  opacity: 0.9;
}

.practice-invitation__booking {
  width: min(100%, var(--container-standard));
  min-height: 42rem;
  padding-top: var(--space-7);
  text-align: left;
}

.practice-notes {
  padding-block: var(--section-large);
}

.practice-notes__list {
  display: flex;
  flex-direction: column;
  gap: var(--space-7);
  margin-top: var(--space-7);
}

.practice-notes .field-note-preview {
  grid-template-columns: 11.25rem minmax(0, 1fr);
}

.practice-notes__empty {
  font-family: var(--font-text);
  font-size: 1rem;
  line-height: 1.75;
}

@media (48rem <= width < 64rem) {
  .practice-positioning {
    min-height: 80rem;
  }

  .practice-positioning__portrait {
    left: calc(var(--page-gutter) * -1);
    width: min(70vw, 36rem);
  }

  .practice-method {
    padding-inline: var(--space-5);
  }
}

@media (width < 48rem) {
  .practice-lead {
    padding-top: 4rem;
  }

  .practice-lead h1 {
    line-height: 1.05;
  }

  .practice-positioning {
    min-height: 0;
    padding-top: 4rem;
  }

  .practice-positioning__inner {
    display: flex;
    min-height: 0;
    flex-direction: column;
  }

  .practice-positioning__body {
    gap: var(--space-5);
    font-size: 1.0625rem;
    line-height: 1.85;
  }

  .practice-positioning__portrait {
    position: relative;
    bottom: auto;
    left: auto;
    width: min(100%, 25rem);
    margin: var(--space-7) 0 0 calc(var(--page-gutter) * -1);
    align-self: flex-start;
  }

  .practice-method {
    padding: 5rem 0;
  }

  .practice-method__inner {
    gap: var(--space-5);
    font-size: 1.125rem;
    line-height: 1.75;
  }

  .practice-practical {
    padding-bottom: 5rem;
  }

  .practice-practical dl {
    gap: var(--space-6);
  }

  .practice-practical dl > div {
    grid-template-columns: 6.75rem minmax(0, 1fr);
    gap: var(--space-3);
  }

  .practice-practical dt {
    font-size: 0.6875rem;
    line-height: 1.5;
  }

  .practice-practical dd {
    font-size: 1rem;
    line-height: 1.65;
  }

  .practice-invitation {
    padding-block: 5rem;
  }

  .practice-invitation__primary {
    font-size: 1.25rem;
  }

  .practice-invitation__booking {
    min-height: 38rem;
    padding-top: var(--space-6);
  }

  .practice-notes {
    padding-block: 6rem;
  }

  .practice-notes__list {
    gap: var(--space-6);
  }

  .practice-notes .field-note-preview {
    display: flex;
  }
}

.page-research {
  background: var(--color-sand);
}

.page-research .site-header {
  position: absolute;
  z-index: 10;
  top: 0;
  right: 0;
  left: 0;
  background: transparent;
}

.research {
  color: var(--color-ink-black);
}

.research-hero {
  min-height: 43.3125rem;
  padding-block: 13.6875rem 6.25rem;
  background-color: oklch(91% 0.006 80);
  background-image: radial-gradient(
    oklch(78% 0.012 78 / 65%) 0.0625rem,
    transparent 0.1rem
  );
  background-position: top left;
  background-size: 1.5rem 1.5rem;
}

.research-hero__inner {
  width: calc(100% - (var(--page-gutter) * 2));
  max-width: var(--container-standard);
  margin-inline: auto;
}

.research-hero__header {
  display: flex;
  flex-direction: column;
  gap: 1.3125rem;
}

.research-hero__eyebrow,
.research-section__header h2 {
  font-family: var(--font-deck);
  font-size: 1.0625rem;
  font-weight: 400;
  line-height: 1;
  opacity: 0.6;
}

.research-hero__eyebrow {
  color: var(--color-ink-black);
  opacity: 0.5;
}

.research-hero h1 {
  color: var(--color-deep-espresso);
  font-family: var(--font-display-condensed);
  font-size: clamp(2.75rem, 2.15rem + 1.9vw, 3.25rem);
  font-weight: 500;
  line-height: 1;
}

.research-hero__columns {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 17.5rem));
  justify-content: space-between;
  gap: var(--space-7);
  margin-top: var(--space-7);
}

.research-hero__columns section {
  display: flex;
  flex-direction: column;
  gap: 1.0625rem;
}

.research-hero__columns h2,
.research-meta,
.research-revisions time,
.research-idea h3 {
  font-family: var(--font-mono);
  font-weight: 500;
  text-transform: uppercase;
}

.research-hero__columns h2 {
  font-size: 0.875rem;
  line-height: 1.5;
  opacity: 0.5;
}

.research-hero__columns p {
  font-family: var(--font-text);
  font-size: 1rem;
  line-height: 1.5;
  letter-spacing: 0.005em;
  opacity: 0.9;
}

.research-hero__columns em {
  font-size: 1.125rem;
  line-height: 1.5;
}

.research-content {
  display: flex;
  flex-direction: column;
  align-items: center;
}

.research-section__header {
  padding-block: var(--section-compact) var(--space-5);
  border-bottom: var(--border-hairline) solid var(--color-line);
}

.research-section__header h2 {
  font-style: italic;
}

.research-feature,
.research-item,
.research-idea {
  display: grid;
  grid-template-columns: 14.5rem minmax(0, 1fr);
  gap: var(--grid-gutter-standard);
}

.research-feature {
  padding-top: var(--space-7);
}

.research-meta {
  display: flex;
  flex-direction: column;
  gap: 0.375rem;
  font-size: 1rem;
  line-height: 1.96875;
  opacity: 0.5;
}

.research-feature__content,
.research-feature__teaser,
.research-feature__body {
  display: flex;
  flex-direction: column;
}

.research-feature__teaser {
  align-items: flex-start;
  gap: var(--space-6);
}

.research-feature__teaser h3 {
  color: var(--color-ink-black);
  font-family: var(--font-deck);
  font-size: 1.5rem;
  font-weight: 600;
  line-height: 1.5;
  opacity: 0.9;
}

.research-feature__body {
  gap: var(--space-5);
  font-family: var(--font-text);
  font-size: 1.125rem;
  line-height: 1.75;
  letter-spacing: 0.005em;
  opacity: 0.9;
}

.research-feature__body em {
  font-style: italic;
}

.research-text-link {
  display: inline-block;
  padding-bottom: 0.125rem;
  border-bottom: var(--border-hairline) solid var(--color-deep-espresso);
  color: var(--color-ink-black);
  font-family: var(--font-text);
  font-size: 0.9375rem;
  line-height: 1;
  opacity: 0.9;
  text-decoration: none;
  transition:
    border-color var(--duration-fast) var(--ease-standard),
    opacity var(--duration-fast) var(--ease-standard);
}

.research-text-link:hover,
.research-text-link:focus-visible {
  border-color: transparent;
  opacity: 0.65;
}

.research-revisions {
  display: flex;
  width: min(100%, var(--container-change));
  flex-direction: column;
  gap: var(--space-6);
  margin-top: var(--space-7);
  padding-left: var(--space-5);
  border-left: var(--border-hairline) solid var(--color-line);
}

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

.research-revisions time {
  font-size: 0.875rem;
  line-height: 1.5;
  opacity: 0.5;
}

.research-revisions p {
  font-family: var(--font-text);
  font-size: 1rem;
  line-height: 1.5;
  letter-spacing: 0.005em;
  opacity: 0.9;
}

.research-list {
  display: flex;
  flex-direction: column;
  gap: var(--space-6);
  padding-top: var(--space-7);
}

.research-item {
  padding-bottom: var(--space-6);
  border-bottom: var(--border-hairline) solid var(--color-line);
}

.research-item:last-child,
.research-idea:last-child {
  border-bottom: 0;
}

.research-item__content {
  display: flex;
  flex-direction: column;
  gap: var(--space-5);
}

.research-item h3 {
  color: var(--color-deep-espresso);
  font-family: var(--font-text);
  font-size: 1.25rem;
  font-weight: 600;
  line-height: 1.75;
  opacity: 0.9;
}

.research-item h3 a,
.research-idea h3 a {
  color: inherit;
  text-decoration-line: underline;
  text-decoration-color: transparent;
  text-decoration-thickness: var(--border-hairline);
  text-underline-offset: 0.2em;
  transition:
    opacity var(--duration-fast) var(--ease-standard),
    text-decoration-color var(--duration-fast) var(--ease-standard);
}

.research-item h3 a:hover,
.research-item h3 a:focus-visible,
.research-idea h3 a:hover,
.research-idea h3 a:focus-visible {
  opacity: 0.65;
  text-decoration-color: currentColor;
}

.research-item__content > p {
  font-family: var(--font-text);
  font-size: 1.125rem;
  line-height: 1.5;
  letter-spacing: 0.005em;
  opacity: 0.8;
}

.research-ideas {
  display: flex;
  flex-direction: column;
  gap: var(--space-6);
  padding-block: var(--space-7) var(--section-compact);
}

.research-idea {
  padding-bottom: var(--space-6);
  border-bottom: var(--border-hairline) solid var(--color-line);
}

.research-idea h3 {
  font-size: 0.875rem;
  line-height: 1.5;
  opacity: 0.5;
}

.research-idea p {
  font-family: var(--font-text);
  font-size: 1rem;
  line-height: 1.5;
  letter-spacing: 0.005em;
  opacity: 0.8;
}

.research-edges {
  display: flex;
  min-height: 48.25rem;
  align-items: center;
  justify-content: center;
  padding: var(--section-compact) var(--page-gutter) var(--section-default);
  background: var(--color-interlude-shy);
}

.research-edges__content {
  display: flex;
  width: min(100%, 36.875rem);
  flex-direction: column;
  gap: 1.75rem;
  text-align: center;
}

.research-edges h2 {
  color: var(--color-deep-espresso);
  font-family: var(--font-deck);
  font-size: 1.0625rem;
  font-weight: 400;
  line-height: 1;
  opacity: 0.6;
}

.research-edges__notes {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--space-5);
  font-family: var(--font-text);
  font-size: 1.125rem;
  line-height: 1.75;
  letter-spacing: 0.005em;
  opacity: 0.9;
}

@media (48rem <= width < 64rem) {
  .research-hero {
    padding-top: 11rem;
  }

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

  .research-feature,
  .research-item,
  .research-idea {
    grid-template-columns: 10rem minmax(0, 1fr);
  }
}

@media (width < 48rem) {
  .research-hero {
    min-height: 0;
    padding-block: 8.5rem 5rem;
  }

  .research-hero h1 {
    line-height: 1.05;
  }

  .research-hero__columns {
    grid-template-columns: 1fr;
    gap: var(--space-6);
    margin-top: var(--space-6);
  }

  .research-hero__columns section {
    gap: var(--space-3);
  }

  .research-section__header {
    padding-top: 5rem;
  }

  .research-feature,
  .research-item,
  .research-idea {
    grid-template-columns: 1fr;
  }

  .research-feature {
    gap: var(--space-5);
  }

  .research-meta {
    flex-direction: row;
    gap: var(--space-3);
    font-size: 0.75rem;
    line-height: 1.5;
  }

  .research-meta p + p::before {
    margin-right: var(--space-3);
    content: "·";
  }

  .research-feature__teaser h3 {
    font-size: clamp(1.25rem, 5.8vw, 1.5rem);
  }

  .research-feature__body,
  .research-item__content > p {
    font-size: 1.0625rem;
  }

  .research-revisions {
    margin-top: var(--space-6);
  }

  .research-list,
  .research-ideas {
    gap: var(--space-5);
    padding-top: var(--space-6);
  }

  .research-item,
  .research-idea {
    gap: var(--space-3);
    padding-bottom: var(--space-5);
  }

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

  .research-item h3 {
    font-size: 1.125rem;
    line-height: 1.6;
  }

  .research-edges {
    min-height: 0;
    padding-block: 6rem;
  }

  .research-edges__notes {
    font-size: 1.0625rem;
  }
}

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

.privacy {
  padding-block: var(--section-compact) var(--section-default);
  color: var(--color-ink-black);
}

.privacy__header {
  display: flex;
  flex-direction: column;
  gap: var(--space-5);
}

.privacy h1 {
  color: var(--color-deep-espresso);
  font-family: var(--font-display-condensed);
  font-size: clamp(2.75rem, 2.15rem + 1.9vw, 3.25rem);
  font-weight: 300;
  line-height: 1;
  opacity: 0.9;
}

.privacy__introduction {
  display: flex;
  max-width: 46.5rem;
  flex-direction: column;
  gap: var(--space-3);
  font-family: var(--font-deck);
  font-size: clamp(1.25rem, 1.1rem + 0.45vw, 1.375rem);
  line-height: 1.5;
  letter-spacing: 0.01em;
  opacity: 0.9;
}

.privacy__content {
  display: flex;
  width: min(100%, var(--container-reading));
  flex-direction: column;
  gap: var(--section-compact);
  margin-top: var(--section-compact);
}

.privacy__content section {
  display: flex;
  flex-direction: column;
  gap: var(--space-5);
}

.privacy__content h2 {
  color: var(--color-deep-espresso);
  font-family: var(--font-deck);
  font-size: 1.5rem;
  font-weight: 600;
  line-height: 1.5;
}

.privacy__content h2 span {
  display: block;
  margin-right: var(--space-2);
  font-family: var(--font-mono);
  font-size: 0.875rem;
  font-weight: 500;
  opacity: 0.5;
}

.privacy__content p,
.privacy__content li,
.privacy__definitions dd {
  font-family: var(--font-text);
  font-size: 1.125rem;
  line-height: 1.75;
  letter-spacing: 0.005em;
  opacity: 0.9;
}

.privacy__subsection,
.privacy__definitions > div {
  display: flex;
  flex-direction: column;
  gap: var(--space-2);
}

.privacy__subsection h3,
.privacy__definitions dt {
  font-family: var(--font-mono);
  font-size: 0.875rem;
  font-weight: 500;
  line-height: 1.5;
  opacity: 0.55;
  text-transform: uppercase;
}

.privacy__definitions {
  display: flex;
  flex-direction: column;
  gap: var(--space-5);
}

.privacy__content ul {
  display: flex;
  flex-direction: column;
  gap: var(--space-2);
  padding-left: 1.25rem;
  list-style: disc;
}

@media (width < 48rem) {
  .privacy {
    padding-block: 4rem 6rem;
  }

  .privacy h1 {
    line-height: 1.05;
  }

  .privacy__content {
    gap: 5rem;
    margin-top: 5rem;
  }

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

  .privacy__content h2 {
    font-size: 1.25rem;
  }

  .privacy__content p,
  .privacy__content li,
  .privacy__definitions dd {
    font-size: 1.0625rem;
  }
}

.page-not-found {
  background: var(--color-sand);
}

.not-found {
  display: grid;
  min-height: calc(100vh - 15.875rem);
  grid-template-columns: 18rem minmax(0, 1fr);
  padding-block: 14.25rem var(--section-default);
}

.not-found__label,
.not-found__content {
  padding-top: var(--space-4);
  border-top: var(--border-hairline) solid rgb(40 36 30 / 15%);
}

.not-found__label {
  padding-bottom: var(--space-4);
}

.not-found__label p {
  color: var(--color-ink-black);
  font-family: var(--font-mono);
  font-size: 0.75rem;
  font-weight: 400;
  line-height: 1;
  letter-spacing: 0.183em;
  opacity: 0.5;
  text-transform: uppercase;
}

.not-found__content {
  display: flex;
  max-width: 44.5rem;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-4);
  padding-right: 11.25rem;
}

.not-found__eyebrow {
  color: var(--color-deep-espresso);
  font-family: var(--font-deck);
  font-size: 1.0625rem;
  font-style: italic;
  line-height: 1;
  opacity: 0.5;
}

.not-found h1 {
  color: var(--color-deep-espresso);
  font-family: var(--font-display);
  font-size: clamp(2rem, 1.6rem + 1.25vw, 2.25rem);
  font-weight: 500;
  line-height: 1;
  letter-spacing: 0.01em;
}

.not-found__content > p:not(.not-found__eyebrow) {
  color: var(--color-ink-black);
  font-family: var(--font-text);
  font-size: 1rem;
  line-height: 1.935;
  opacity: 0.9;
}

.not-found a {
  padding-bottom: 0.125rem;
  border-bottom: var(--border-hairline) solid var(--color-deep-espresso);
  color: var(--color-ink-black);
  font-family: var(--font-text);
  font-size: 0.9375rem;
  line-height: 1;
  opacity: 0.9;
  text-decoration: none;
  transition:
    border-color var(--duration-fast) var(--ease-standard),
    opacity var(--duration-fast) var(--ease-standard);
}

.not-found a:hover,
.not-found a:focus-visible {
  border-color: transparent;
  opacity: 0.65;
}

@media (48rem <= width < 64rem) {
  .not-found {
    grid-template-columns: 12rem minmax(0, 1fr);
    padding-top: 11rem;
  }

  .not-found__content {
    padding-right: 4rem;
  }
}

@media (width < 48rem) {
  .not-found {
    min-height: calc(100vh - 14rem);
    grid-template-columns: 1fr;
    padding-block: 7rem 6rem;
  }

  .not-found__label {
    padding-bottom: var(--space-5);
  }

  .not-found__content {
    padding-right: 0;
  }

  .not-found h1 {
    line-height: 1.08;
  }
}

/* =========================================
   Work page – FAQ section
   ========================================= */

.work-faq {
  padding: 0 0 var(--space-8);
}

.work-faq__inner {
  grid-column: 2 / -3;
}

.work-faq__toggle {
  display: flex;
  align-items: center;
  gap: 0.4rem;
  background: none;
  border: none;
  padding: 0;
  cursor: pointer;
  color: inherit;
  text-align: left;
}

.work-faq__toggle-label {
  margin: 0;
}

.work-faq__chevron {
  display: inline-block;
  font-size: var(--fs-21);
  line-height: 1;
  color: var(--color-text);
  transition: transform 0.2s ease;
  transform: rotate(0deg);
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
}

.work-faq__toggle[aria-expanded="true"] .work-faq__chevron {
  transform: rotate(90deg);
}

.work-faq__body {
  margin-top: var(--space-6);
}

.work-faq__list {
  display: flex;
  flex-direction: column;
  gap: var(--space-5);
  margin: 0;
  padding: 0;
}

/* New style: question label — body size, italic, not bold */

.work-faq__question {
  font-family: var(--font-text);
  font-size: var(--fs-18);
  font-style: italic;
  font-weight: 400;
  line-height: var(--lh-body);
  letter-spacing: var(--tracking-soft);
  color: var(--color-text-strong);
  margin: 0 0 0.2em;
}

.work-faq__answer {
  margin: 0;
}

/* =========================================
   Large desktop
   ========================================= */

@media (min-width: 1600px) {
  .work-faq__inner {
    grid-column: 2 / 9;
  }
}

/* =========================================
   Small desktop / tablet landscape
   ========================================= */

@media (max-width: 1024px) {
  .work-faq__inner {
    grid-column: 2 / -2;
  }

  .work-faq__question {
    font-size: var(--fs-16);
  }
}

/* =========================================
   Mobile
   ========================================= */

@media (max-width: 768px) {
  .work-faq {
    padding: var(--space-6) 0 var(--space-7);
  }

  .work-faq__inner {
    grid-column: 1 / -1;
  }

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

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

.contact {
  width: calc(100% - (var(--page-gutter) * 2));
  max-width: var(--container-standard);
  margin-inline: auto;
  padding-block: var(--section-compact) var(--section-default);
  color: var(--color-deep-espresso);
}

.contact__header {
  display: flex;
  flex-direction: column;
  gap: var(--space-5);
}

.contact__header h1 {
  font-family: var(--font-display-condensed);
  font-size: clamp(2.75rem, 2.15rem + 1.9vw, 3.25rem);
  font-weight: 300;
  line-height: 1;
  opacity: 0.9;
}

.contact__header p {
  max-width: 62.5rem;
  font-family: var(--font-deck);
  font-size: clamp(1.25rem, 1.1rem + 0.45vw, 1.375rem);
  line-height: 1.5;
  letter-spacing: 0.01em;
  opacity: 0.9;
}

.contact__content {
  display: flex;
  width: min(100%, 30.5rem);
  flex-direction: column;
  gap: var(--space-7);
  margin-top: var(--section-compact);
}

.contact__email-reveal {
  display: flex;
  width: min(100%, 27.3125rem);
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-2);
}

.contact__email-reveal > p {
  color: var(--color-ink-black);
  font-family: var(--font-text);
  font-size: 1rem;
  line-height: 1.5;
  letter-spacing: 0.005em;
  opacity: 0.5;
}

.contact__email-button,
.contact__email-address a {
  padding-bottom: 0.125rem;
  border-bottom: var(--border-hairline) solid currentColor;
  color: var(--color-espresso-umber);
  font-family: var(--font-text);
  font-size: 0.9375rem;
  line-height: 1;
  opacity: 0.9;
  text-decoration: none;
}

.contact__email-button:hover,
.contact__email-button:focus-visible,
.contact__email-address a:hover,
.contact__email-address a:focus-visible {
  opacity: 0.65;
}

.contact__email-address {
  padding-top: var(--space-2);
}

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

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

.contact-field label {
  color: var(--color-espresso-umber);
  font-family: var(--font-text);
  font-size: 1rem;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.005em;
  opacity: 0.9;
}

.contact-field input,
.contact-field textarea {
  width: 100%;
  border: var(--border-hairline) solid var(--color-stone-grey);
  border-radius: 0.125rem;
  background:
    linear-gradient(rgb(255 255 255 / 40%), rgb(255 255 255 / 40%)),
    var(--color-field-ivory);
  color: var(--color-deep-espresso);
  font-family: var(--font-text);
  font-size: 1rem;
  line-height: 1.5;
  outline: none;
  transition:
    border-color var(--duration-fast) var(--ease-standard),
    box-shadow var(--duration-fast) var(--ease-standard);
}

.contact-field input {
  height: 3.25rem;
  padding: 0.75rem 1rem;
}

.contact-field textarea {
  min-height: 15.1875rem;
  padding: 1rem;
  resize: vertical;
}

.contact-field input:focus,
.contact-field textarea:focus {
  border-color: var(--color-espresso-umber);
  box-shadow: 0 0 0 0.125rem rgb(60 48 37 / 10%);
}

.contact-submit {
  align-self: flex-end;
  padding: 1.125rem 1.75rem;
  border: var(--border-hairline) solid rgb(60 48 37 / 80%);
  border-radius: var(--radius-control);
  color: var(--color-deep-espresso);
  font-family: var(--font-display);
  font-size: 1.0625rem;
  font-weight: 500;
  line-height: 1;
  opacity: 0.8;
  transition:
    background-color var(--duration-fast) var(--ease-standard),
    opacity var(--duration-fast) var(--ease-standard);
}

.contact-submit:hover,
.contact-submit:focus-visible {
  background: rgb(60 48 37 / 6%);
  opacity: 1;
}

.contact-submit:disabled {
  cursor: wait;
  opacity: 0.45;
}

.contact-message {
  display: none;
  font-family: var(--font-text);
  font-size: 0.9375rem;
  line-height: 1.5;
}

.contact-message.error {
  color: #8b3a3a;
}

.contact-success {
  display: none;
  padding-block: var(--space-7);
}

.contact-success.is-visible {
  display: block;
}

.contact-success p {
  font-family: var(--font-display-condensed);
  font-size: clamp(1.75rem, 1.4rem + 1vw, 2.125rem);
  font-weight: 300;
  line-height: 1.3;
}

.contact-success em {
  font-weight: 400;
}

@media (width < 48rem) {
  .contact {
    padding-block: 4rem 6rem;
  }

  .contact__header h1 {
    line-height: 1.05;
  }

  .contact__content {
    gap: var(--space-6);
    margin-top: 5rem;
  }

  .contact-form {
    gap: var(--space-5);
  }

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

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

  .contact-submit {
    align-self: stretch;
  }
}

.page-field-notes,
.page-field-note {
  background: var(--color-sand);
}

.field-notes-main {
  padding-block: 6.25rem;
}

.field-note-article {
  padding-bottom: 6.25rem;
  border-bottom: var(--border-hairline) solid var(--color-line);
}

.field-note-article__header {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-5);
  width: min(100%, var(--container-reading));
}

.field-note-article__eyebrow {
  margin-bottom: calc(var(--space-5) * -1 + var(--space-2));
  color: var(--color-espresso-umber);
  font-family: var(--font-deck);
  font-size: 1.0625rem;
  line-height: 1;
  opacity: 0.6;
}

.field-note-article__title {
  color: var(--color-deep-espresso);
  font-family: var(--font-display-condensed);
  font-size: 2.875rem;
  font-weight: 400;
  line-height: 1;
  opacity: 0.9;
}

.field-note-body {
  display: flex;
  flex-direction: column;
  gap: var(--space-5);
  width: min(100%, var(--container-article));
  padding-top: 6.25rem;
  color: var(--color-deep-espresso);
  font-family: var(--font-text);
  font-size: 1.25rem;
  line-height: 2;
}

.field-note-body:has(
    > .field-note-article-standfirst:first-child
  ) {
  padding-top: var(--space-5);
}

.field-note-body > * {
  width: 100%;
}

.field-note-body > p {
  opacity: 0.9;
}

.field-note-article-standfirst {
  margin-bottom: 4.75rem;
}

.field-note-article-standfirst__text {
  color: var(--color-ink-black);
  font-family: var(--font-display);
  font-size: 1.5rem;
  line-height: 1.2;
}

.field-note-article.is-collapsed
  .field-note-body
  > p:nth-of-type(3)
  ~ * {
  display: none;
}

.field-note-article__expand {
  display: inline-block;
  margin-top: var(--space-6);
  padding-bottom: 0.125rem;
  border-bottom: var(--border-hairline) solid var(--color-deep-espresso);
  color: var(--color-ink-black);
  font-family: var(--font-text);
  font-size: 0.9375rem;
  line-height: 1;
  opacity: 0.9;
  text-decoration: none;
}

.field-note-article:not(.is-collapsed) .field-note-article__expand {
  display: none;
}

.field-note-list {
  padding-top: var(--space-5);
  padding-bottom: 6.25rem;
}

.field-note-list__heading {
  margin-bottom: var(--space-7);
  color: var(--color-deep-espresso);
  font-family: var(--font-deck);
  font-size: 1.375rem;
  font-weight: 500;
  line-height: 1;
  opacity: 0.9;
}

.field-note-list__items {
  display: flex;
  flex-direction: column;
  gap: var(--space-7);
  width: min(100%, var(--container-article));
}

.field-note-preview {
  display: grid;
  grid-template-columns: var(--field-note-metadata-column) minmax(0, 1fr);
  -moz-column-gap: var(--grid-gutter-standard);
       column-gap: var(--grid-gutter-standard);
  align-items: start;
}

.field-note-preview__meta {
  color: var(--color-deep-espresso);
  font-family: var(--font-mono);
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.96875;
  opacity: 0.9;
  text-transform: uppercase;
}

.field-note-preview__link {
  display: flex;
  flex-direction: column;
  gap: var(--space-5);
  color: var(--color-ink-black);
  text-decoration: none;
}

.field-note-preview__copy {
  display: flex;
  flex-direction: column;
  gap: var(--space-5);
}

.field-note-preview__thumbnail {
  position: relative;
  width: min(100%, 24.0625rem);
  overflow: hidden;
  aspect-ratio: 385 / 216;
}

.field-note-preview__thumbnail-image {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.field-note-preview__play {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 3.75rem;
  height: 3.75rem;
  transform: translate(-50%, -50%);
  transition: transform var(--duration-fast) var(--ease-standard);
}

.field-note-preview__play-image {
  position: absolute;
  inset: 0;
  width: 3.75rem;
  height: 3.75rem;
  transition:
    opacity var(--duration-fast) var(--ease-standard),
    transform var(--duration-fast) var(--ease-standard);
}

.field-note-preview__play-image--hover {
  opacity: 0;
}

.field-note-preview__link:hover .field-note-preview__play-image--default,
.field-note-preview__link:focus-visible
  .field-note-preview__play-image--default {
  opacity: 0;
}

.field-note-preview__link:hover .field-note-preview__play-image--hover,
.field-note-preview__link:focus-visible
  .field-note-preview__play-image--hover {
  opacity: 1;
  transform: translateX(0.0625rem);
}

.field-note-preview__link:hover .field-note-preview__play,
.field-note-preview__link:focus-visible .field-note-preview__play {
  transform: translate(-50%, -50%) scale(1.02);
}

.field-note-preview__title {
  font-family: var(--font-deck);
  font-size: 1.375rem;
  font-weight: 500;
  line-height: 1;
  opacity: 0.9;
}

.field-note-preview__excerpt {
  font-family: var(--font-text);
  font-size: 1.125rem;
  line-height: 1.75;
  letter-spacing: 0.005em;
  opacity: 0.9;
}

.field-note-preview__link:hover .field-note-preview__title,
.field-note-preview__link:focus-visible .field-note-preview__title {
  text-decoration: underline;
  text-decoration-thickness: var(--border-hairline);
  text-underline-offset: 0.2em;
}

.field-notes-interlude {
  display: flex;
  min-height: 22.25rem;
  align-items: center;
  justify-content: center;
  padding: 6.25rem var(--page-gutter);
  background: var(--color-interlude-shy);
}

.field-notes-interlude__content {
  display: flex;
  flex-direction: column;
  gap: var(--space-5);
  width: min(100%, var(--container-reading));
  color: var(--color-deep-espresso);
  font-family: var(--font-deck);
  font-size: 1.375rem;
  line-height: 1.6818;
  letter-spacing: 0.01em;
  text-align: center;
}

.field-notes-interlude__content > :last-child {
  opacity: 0.9;
}

.field-notes-interlude__eyebrow {
  font-size: 1.0625rem;
  line-height: 1;
  opacity: 0.5;
}

.field-notes-more {
  padding-top: 6.25rem;
}

.field-note-list--secondary {
  padding: 0;
}

.field-note-list--secondary .field-note-list__items:empty {
  display: none;
}

.field-notes-notebook {
  display: flex;
  flex-direction: column;
  gap: var(--space-2);
  width: 100%;
  padding-block: 9.375rem;
  color: var(--color-ink-black);
}

.field-notes-notebook__heading {
  width: 100%;
  padding-top: var(--space-4);
  border-top: var(--border-hairline) solid var(--color-line);
  font-family: var(--font-deck);
  font-size: 1.0625rem;
  line-height: 1;
  opacity: 0.42;
}

.field-notes-notebook__entry {
  width: min(100%, var(--container-reading));
  font-family: var(--font-deck);
  font-size: 1.25rem;
  line-height: 1.85;
  opacity: 0.9;
}

.field-notes-notebook__date {
  font-family: var(--font-mono);
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.96875;
  opacity: 0.5;
  text-transform: uppercase;
}

.field-notes-empty {
  min-height: 50vh;
  padding-block: 6.25rem;
}

.field-notes-empty h1 {
  margin-bottom: var(--space-5);
  font-family: var(--font-display-condensed);
  font-size: 2.875rem;
  font-weight: 400;
}

.field-notes-empty p {
  font-size: 1.125rem;
}

@media (48rem <= width < 64rem) {
  .field-notes-main {
    padding-block: 5rem;
  }

  .field-note-article,
  .field-note-list {
    padding-bottom: 5rem;
  }

  .field-note-body {
    padding-top: 5rem;
  }

  .field-note-body:has(
      > .field-note-article-standfirst:first-child
    ) {
    padding-top: var(--space-5);
  }

  .field-note-preview {
    grid-template-columns: 9rem minmax(0, 1fr);
    -moz-column-gap: 1.25rem;
         column-gap: 1.25rem;
  }

  .field-note-preview__meta {
    font-size: 0.8125rem;
  }

  .field-notes-interlude {
    min-height: 20rem;
    padding-block: 5rem;
  }

  .field-notes-more {
    padding-top: 5rem;
  }

  .field-notes-notebook {
    padding-block: 7.5rem;
  }
}

@media (width < 48rem) {
  .field-notes-main {
    padding-block: 4rem;
  }

  .field-note-article {
    padding-bottom: 4rem;
  }

  .field-note-article__header {
    gap: var(--space-4);
  }

  .field-note-article__eyebrow {
    margin-bottom: calc(var(--space-4) * -1 + var(--space-2));
    font-size: 0.875rem;
  }

  .field-note-article__title {
    font-size: clamp(2.125rem, 11vw, 2.75rem);
    line-height: 1.05;
  }

  .field-note-article-standfirst {
    margin-bottom: 3rem;
  }

  .field-note-article-standfirst__text {
    font-size: 1.25rem;
    line-height: 1.35;
  }

  .field-note-body {
    gap: var(--space-4);
    padding-top: 4rem;
    font-size: 1.0625rem;
    line-height: 1.85;
  }

  .field-note-body:has(
      > .field-note-article-standfirst:first-child
    ) {
    padding-top: var(--space-4);
  }

  .field-note-article__expand {
    margin-top: var(--space-5);
    font-size: 0.875rem;
  }

  .field-note-list {
    padding-top: var(--space-5);
    padding-bottom: 4rem;
  }

  .field-note-list__heading {
    margin-bottom: var(--space-6);
    font-size: 1.125rem;
  }

  .field-note-list__items {
    gap: var(--space-6);
  }

  .field-note-preview {
    display: flex;
    flex-direction: column;
    gap: var(--space-2);
  }

  .field-note-preview__meta {
    font-size: 0.6875rem;
    line-height: 1.5;
  }

  .field-note-preview__link {
    gap: var(--space-3);
  }

  .field-note-preview__copy {
    gap: var(--space-3);
  }

  .field-note-preview__thumbnail {
    width: 100%;
    max-width: 24.0625rem;
  }

  .field-note-preview__title {
    font-size: 1.1875rem;
    line-height: 1.2;
  }

  .field-note-preview__excerpt {
    font-size: 1rem;
    line-height: 1.6;
  }

  .field-notes-interlude {
    min-height: auto;
    padding-block: 5rem;
  }

  .field-notes-interlude__content {
    gap: var(--space-4);
    font-size: 1.125rem;
    line-height: 1.65;
  }

  .field-notes-interlude__eyebrow {
    font-size: 0.875rem;
  }

  .field-notes-more {
    padding-top: 4rem;
  }

  .field-notes-notebook {
    padding-block: 6rem;
  }

  .field-notes-notebook__heading {
    font-size: 0.875rem;
  }

  .field-notes-notebook__entry {
    font-size: 1.0625rem;
    line-height: 1.7;
  }

  .field-notes-notebook__date {
    font-size: 0.6875rem;
    line-height: 1.5;
  }
}

.ghost-page {
  padding-block: var(--section-compact) var(--section-default);
}

.ghost-page__header,
.ghost-page__body {
  display: flex;
  flex-direction: column;
  gap: var(--space-5);
}

.ghost-page__header {
  margin-bottom: var(--space-7);
}

.ghost-page__header h1 {
  font-family: var(--font-display-condensed);
  font-size: clamp(2.5rem, 6vw, 3.25rem);
  font-weight: 300;
  line-height: 1.1;
}

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

.ghost-page__feature figcaption {
  font-family: var(--font-mono);
  font-size: 0.75rem;
  opacity: 0.65;
}

.ghost-page__body {
  font-size: 1.125rem;
  line-height: 1.8;
}

.ghost-page__body :is(h2, h3, h4) {
  margin-top: var(--space-5);
  font-family: var(--font-deck);
  line-height: 1.25;
}

:is(.ghost-page__body, .field-note-body) .kg-width-wide {
  width: min(100%, var(--container-article));
  margin-inline: auto;
}

:is(.ghost-page__body, .field-note-body) .kg-width-full {
  width: 100vw;
  max-width: none;
  margin-left: calc(50% - 50vw);
}

/*
 Partials
*/

/*
 * Shared v4 navigation
 *
 * At the 1440px reference viewport the inner shell is always 1000px wide.
 * Link padding and the 16px group gap reproduce the Figma component while
 * retaining a larger interactive target than the visible text.
 */

.site-header__inner {
  padding-block: var(--space-6);
}

.site-navigation {
  width: 100%;
  color: var(--color-text);
  font-weight: 400;
  line-height: 1;
}

.site-header .site-navigation {
  font-family: var(--font-display-condensed);
  font-size: 1.125rem;
}

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

.site-header .site-navigation__item--home {
  margin-right: auto;
}

.site-navigation__item--menu {
  display: none;
}

.site-navigation__menu-toggle {
  display: inline-flex;
  width: 2rem;
  min-height: 2.1875rem;
  align-items: center;
  justify-content: center;
  padding: var(--space-2) var(--space-1);
  color: inherit;
}

.site-navigation__menu-icon {
  position: relative;
  display: block;
  width: 1.5rem;
  height: 1.125rem;
}

.site-navigation__menu-icon-image {
  position: absolute;
  top: 50%;
  left: 50%;
  max-width: none;
  transition:
    opacity var(--duration-default) var(--ease-standard),
    transform var(--duration-default) var(--ease-standard);
}

.site-navigation__menu-icon-image--open {
  width: 1.5rem;
  height: 0.875rem;
  opacity: 1;
  transform: translate(-50%, -50%) rotate(0deg) scale(1);
}

.site-navigation__menu-icon-image--close {
  width: 1.125rem;
  height: 1.125rem;
  opacity: 0;
  transform: translate(-50%, -50%) rotate(-12deg) scale(0.82);
}

.site-header.is-menu-open .site-navigation__menu-icon-image--open {
  opacity: 0;
  transform: translate(-50%, -50%) rotate(10deg) scale(0.82);
}

.site-header.is-menu-open .site-navigation__menu-icon-image--close {
  opacity: 1;
  transform: translate(-50%, -50%) rotate(0deg) scale(1);
}

.site-navigation__link {
  display: inline-flex;
  align-items: center;
  padding: var(--space-2) var(--space-1);
  color: inherit;
  opacity: 0.9;
  text-decoration-line: underline;
  text-decoration-color: transparent;
  text-decoration-thickness: var(--border-hairline);
  text-underline-offset: 0.25rem;
  white-space: nowrap;
  transition:
    opacity var(--duration-fast) var(--ease-standard),
    text-decoration-color var(--duration-fast) var(--ease-standard);
}

.site-header .site-navigation__link {
  min-height: 2.4375rem;
}

.site-footer .site-navigation__link {
  min-height: 2.3125rem;
}

.site-navigation__link:hover,
.site-navigation__link:focus-visible,
.site-navigation__link.is-active {
  opacity: 1;
  text-decoration-color: currentColor;
}

@media (48rem <= width < 64rem) {
  .site-header__inner {
    padding-block: var(--space-5);
  }

  .site-navigation__list {
    gap: var(--space-3);
  }
}

@media (width < 48rem) {
  html.has-open-menu {
    overflow: hidden;
  }

  .site-header__inner {
    padding-block: var(--space-5);
  }

  .site-navigation__list {
    flex-wrap: wrap;
    -moz-column-gap: var(--space-3);
         column-gap: var(--space-3);
    row-gap: 0;
  }

  .site-header .site-navigation__item--home {
    flex: 1;
    margin-right: 0;
  }

  html.has-js .site-header .site-navigation__item--menu {
    display: block;
  }

  html.has-js .site-header:not(.is-menu-open)
    .site-navigation__item:not(.site-navigation__item--home, .site-navigation__item--menu) {
    display: none;
  }

  .site-header.is-menu-open {
    position: fixed;
    z-index: 100;
    inset: 0;
    overflow-y: auto;
    background: var(--color-sand);
  }

  .site-header.is-menu-open .site-header__inner {
    min-height: 100%;
  }

  .site-header.is-menu-open .site-navigation__list {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    -moz-column-gap: var(--space-5);
         column-gap: var(--space-5);
    row-gap: var(--space-4);
    align-items: flex-start;
  }

  .site-header.is-menu-open .site-navigation__item--home {
    grid-column: 1;
    grid-row: 1;
  }

  .site-header.is-menu-open .site-navigation__item--menu {
    grid-column: 2;
    grid-row: 1;
  }

  .site-header.is-menu-open
    .site-navigation__item:not(.site-navigation__item--home, .site-navigation__item--menu) {
    grid-column: 1;
  }

  .site-header.is-menu-open
    .site-navigation__item--menu
    + .site-navigation__item {
    margin-top: var(--space-2);
  }

  .site-header.is-menu-open
    .site-navigation__item:not(.site-navigation__item--home, .site-navigation__item--menu)
    .site-navigation__link {
    min-height: 2.4375rem;
    padding: var(--space-2) var(--space-1);
    white-space: normal;
  }
}

.site-footer {
  color: var(--color-text-inverse);
}

.site-footer__navigation {
  background: var(--color-stone-grey);
}

.site-footer__navigation-inner {
  padding-block: var(--space-5);
}

.site-footer .site-navigation {
  color: var(--color-text-inverse);
  font-family: var(--font-text);
  font-size: 1rem;
}

.site-footer .site-navigation__list {
  justify-content: flex-end;
}

.site-footer__legal {
  background: var(--color-dark-clay);
}

.site-footer__legal-inner {
  padding-block: var(--space-4);
}

.site-footer__legal-links {
  display: flex;
  align-items: center;
  gap: var(--space-2);
  color: var(--color-text-inverse);
  font-family: var(--font-text);
  font-size: 0.9375rem;
  font-weight: 500;
  line-height: 1;
  letter-spacing: 0.01em;
  opacity: 0.8;
}

.site-footer__legal-links a {
  color: inherit;
  text-decoration-line: underline;
  text-decoration-color: transparent;
  text-underline-offset: 0.2em;
  transition: text-decoration-color var(--duration-fast) var(--ease-standard);
}

.site-footer__legal-links a:hover,
.site-footer__legal-links a:focus-visible {
  text-decoration-color: currentColor;
}

@media (width < 48rem) {
  .site-footer__navigation-inner {
    padding-block: var(--space-4);
  }

  .site-footer .site-navigation__list {
    justify-content: flex-start;
  }

  .site-footer__legal-links {
    flex-wrap: wrap;
    font-size: 0.8125rem;
    line-height: 1.4;
  }
}

/* =========================================
   Subpage layout
   Legacy shared layout used by the old Work template
   Base = 1440 design
   ========================================= */

.subpage-content {
  grid-column: 2 / -3;
  padding: var(--space-10) 0 var(--space-9);
}

.subpage-block {
  margin-top: var(--space-8);
}

.subpage-block p + p {
  margin-top: 1em;
}

.subpage-block h2 {
  margin: 0 0 var(--space-2);
}

.text-divider {
  margin-block: var(--space-8);
  margin-inline: 40px;
}

@media (min-width: 1600px) {
  .subpage-content {
    grid-column: 2 / 9;
  }

  .text-divider {
    margin-inline: 50px;
  }
}

@media (max-width: 1024px) {
  .subpage-content {
    grid-column: 2 / -2;
    padding: var(--space-10) 0 var(--space-8);
  }

  .subpage-block {
    margin-top: var(--space-8);
  }

  .text-divider {
    margin-block: var(--space-8);
    margin-inline: 25px;
  }
}

@media (max-width: 768px) {
  .subpage-content {
    grid-column: 1 / -1;
    padding: var(--space-8) 0 var(--space-7);
  }

  .subpage-block {
    margin-top: var(--space-7);
  }

  .text-divider {
    margin-block: var(--space-6);
    margin-inline: 20px;
  }
}

/* =========================================
   Booking section
   ========================================= */

.booking-content {
  grid-column: 2 / -3;
  margin-top: var(--space-9);
  padding-bottom: var(--space-8);
  position: relative;
  z-index: 1;
}

.booking-title {
  margin: 0;
}

.booking-widget {
  margin-top: var(--space-7);
}

.booking-caption {
  margin-top: var(--space-6);
  margin-bottom: 0;
}

.booking-more {
  display: block;
  margin-top: 12px;
}

@media (min-width: 1600px) {
  .booking-content {
    grid-column: 3 / -3;
  }
}

@media (max-width: 1024px) {
  .booking-content {
    grid-column: 1 / -1;
    margin-top: var(--space-8);
    padding-bottom: var(--space-7);
  }

  .booking-widget {
    margin-top: var(--space-6);
  }

  .booking-caption {
    margin-top: var(--space-5);
  }

  .booking-more {
    margin-top: 8px;
  }
}

@media (max-width: 768px) {
  .booking-content {
    margin-top: var(--space-7);
    padding-bottom: var(--space-6);
  }

  .booking-widget {
    margin-top: var(--space-5);
  }

  .booking-caption {
    margin-top: var(--space-4);
  }

  .booking-more {
    margin-top: 4px;
  }
}

.field-notes-signup,
.signup-section {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 24.125rem;
  padding: 6.25rem var(--page-gutter);
  background: var(--color-interlude-shy);
}

.signup-widget {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--space-6);
  width: min(100%, var(--container-standard));
  color: var(--color-deep-espresso);
  text-align: center;
}

.signup-widget__copy {
  display: flex;
  flex-direction: column;
  gap: var(--space-4);
  width: 100%;
}

.signup-widget__title {
  font-family: var(--font-deck);
  font-size: 1.5rem;
  font-weight: 600;
  line-height: 1.5;
  opacity: 0.9;
}

.signup-widget__description {
  font-family: var(--font-deck);
  font-size: 1.375rem;
  line-height: 1.6818;
  letter-spacing: 0.01em;
  opacity: 0.9;
}

.signup-widget__form {
  display: grid;
  grid-template-columns: minmax(0, 26.4375rem) auto;
  gap: var(--space-5);
  width: min(100%, 33.75rem);
  text-align: left;
}

.signup-widget__input,
.signup-widget__button {
  min-height: 3.5625rem;
  border: var(--border-hairline) solid rgb(60 48 37 / 80%);
  border-radius: var(--radius-control);
}

.signup-widget__input {
  width: 100%;
  padding: 0 var(--space-4);
  background: #f3f3f3;
  font-family: var(--font-text);
  font-size: 1rem;
}

.signup-widget__button {
  padding: 1.125rem 1.75rem;
  color: var(--color-deep-espresso);
  font-family: var(--font-display);
  font-size: 1.0625rem;
  font-weight: 500;
  line-height: 1;
  opacity: 0.8;
}

.signup-widget__button:hover {
  background: rgb(212 209 195 / 35%);
}

.signup-widget__success,
.signup-widget__error {
  display: none;
  grid-column: 1 / -1;
  font-family: var(--font-text);
  font-size: 0.875rem;
  text-align: center;
}

.signup-widget__form.success .signup-widget__input,
.signup-widget__form.success .signup-widget__button {
  display: none;
}

.signup-widget__form.success .signup-widget__success,
.signup-widget__form.error .signup-widget__error {
  display: block;
}

@media (width < 48rem) {
  .field-notes-signup,
  .signup-section {
    min-height: auto;
    padding-block: 5rem;
  }

  .signup-widget {
    gap: var(--space-5);
  }

  .signup-widget__copy {
    gap: var(--space-3);
  }

  .signup-widget__title {
    font-size: 1.25rem;
  }

  .signup-widget__description {
    font-size: 1.0625rem;
    line-height: 1.6;
  }

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

  .signup-widget__button {
    justify-self: end;
  }
}
