

:root {
  --color-asphalt-950: #12171a;
  --color-graphite-900: #1c2428;
  --color-graphite-700: #344047;
  --color-paper-50: #f7f4ec;
  --color-paper-100: #fffdf8;
  --color-ink-900: #172024;
  --color-ink-500: #5b686a;
  --color-route-red: #c94b3c;
  --color-route-red-dark: #9f352d;
  --color-map-amber: #d79a43;
  --color-lane-white: #d9e0dc;
  --color-success-green: #3d8066;

  --color-border-light: #d9ded8;
  --color-focus-light: #ffffff;
  --color-focus-dark: #172024;

  --font-heading: "Barlow Condensed", "Arial Narrow", sans-serif;
  --font-body: "Inter", ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont,
    "Segoe UI", sans-serif;

  --text-meta: 0.75rem;
  --text-utility: 0.875rem;
  --text-body: 1rem;
  --text-lead: 1.125rem;
  --text-h3: clamp(1.25rem, 1.1rem + 0.5vw, 1.375rem);
  --text-h2: clamp(1.625rem, 1.35rem + 1vw, 1.875rem);
  --text-h1: clamp(1.875rem, 1.35rem + 2vw, 2.75rem);
  --text-display: clamp(2.25rem, 1.65rem + 2.5vw, 3.5rem);

  --leading-meta: 1.333;
  --leading-utility: 1.429;
  --leading-body: 1.625;
  --leading-lead: 1.556;
  --leading-heading: 1;
  --leading-display: 1.036;

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

  --container-max: 75rem;
  --reading-max: 46rem;
  --gutter: 1.5rem;

  --radius-sm: 0.25rem;
  --radius-md: 0.5rem;
  --radius-lg: 0.625rem;
  --radius-xl: 1rem;

  --border-light: 1px solid var(--color-border-light);
  --border-dark: 1px solid var(--color-graphite-700);
  --shadow-floating: 0 12px 32px rgba(10, 15, 17, 0.16);

  --transition-fast: 160ms ease-out;
  --transition-base: 220ms ease-out;
}

@media (max-width: 899px) {
  :root {
    --gutter: 1.25rem;
  }
}

@media (max-width: 599px) {
  :root {
    --gutter: 1rem;
  }
}

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

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

body {
  min-width: 0;
  min-height: 100vh;
  margin: 0;
  overflow-x: hidden;
  background: var(--color-paper-50);
  color: var(--color-ink-900);
  font-family: var(--font-body);
  font-size: var(--text-body);
  font-weight: 400;
  line-height: var(--leading-body);
  text-rendering: optimizeLegibility;
}

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

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

img,
video {
  height: auto;
}

img {
  font-style: italic;
}

svg {
  fill: currentColor;
}

a {
  color: var(--color-route-red-dark);
  text-decoration-thickness: 1px;
  text-underline-offset: 0.16em;
  transition: color var(--transition-fast), text-decoration-color var(--transition-fast);
}

a:hover {
  color: var(--color-route-red);
}

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

:where(.surface-dark, .surface-asphalt, .panel-dark) :focus-visible {
  outline-color: var(--color-focus-light);
}

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

button,
select {
  text-transform: none;
}

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

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

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

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

input::placeholder,
textarea::placeholder {
  color: var(--color-ink-500);
  opacity: 1;
}

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

input:focus,
select:focus,
textarea:focus {
  border-color: var(--color-route-red);
  box-shadow: 0 0 0 2px rgba(201, 75, 60, 0.2);
  outline: none;
}

label {
  display: inline-block;
  margin-block-end: var(--space-2);
  color: var(--color-ink-900);
  font-size: var(--text-utility);
  font-weight: 600;
  line-height: var(--leading-utility);
}

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

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

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

th,
td {
  padding: var(--space-3) var(--space-4);
  border-block-end: var(--border-light);
  text-align: start;
  vertical-align: top;
}

th {
  color: var(--color-ink-900);
  font-size: var(--text-utility);
  font-weight: 600;
}

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

h1,
h2,
h3,
h4,
h5,
h6 {
  margin-block-start: 0;
  color: var(--color-ink-900);
  font-family: var(--font-heading);
  font-weight: 700;
  line-height: var(--leading-heading);
  text-wrap: balance;
}

h1 {
  margin-block-end: var(--space-5);
  font-size: var(--text-h1);
  letter-spacing: -0.02em;
}

h2 {
  margin-block: var(--space-7) var(--space-4);
  font-size: var(--text-h2);
  letter-spacing: -0.015em;
}

h3 {
  margin-block: var(--space-5) var(--space-3);
  font-size: var(--text-h3);
  letter-spacing: -0.01em;
}

h4,
h5,
h6 {
  margin-block: var(--space-4) var(--space-2);
  font-size: var(--text-lead);
  letter-spacing: 0;
}

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

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

li {
  min-width: 0;
}

.content-list > li + li,
.rich-text > ul > li + li,
.rich-text > ol > li + li,
.article-content > ul > li + li,
.article-content > ol > li + li {
  margin-block-start: var(--space-2);
}

blockquote {
  margin: 0 0 var(--space-5);
  padding: var(--space-4) var(--space-5);
  border-inline-start: 3px solid var(--color-route-red);
  background: var(--color-paper-100);
  color: var(--color-ink-900);
}

blockquote > :last-child {
  margin-block-end: 0;
}

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

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

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

code,
kbd {
  border-radius: var(--radius-sm);
  background: rgba(23, 32, 36, 0.08);
  padding: 0.08em 0.3em;
  font-size: 0.9em;
}

pre {
  margin: 0 0 var(--space-5);
  overflow-x: auto;
  padding: var(--space-4);
  border-radius: var(--radius-md);
  background: var(--color-graphite-900);
  color: var(--color-paper-50);
}

pre code {
  background: transparent;
  padding: 0;
}

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

strong,
b {
  font-weight: 600;
}

::selection {
  background: rgba(201, 75, 60, 0.28);
  color: var(--color-ink-900);
}

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

.reading-column {
  width: min(100%, var(--reading-max));
}

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

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

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

.surface-paper {
  background: var(--color-paper-50);
  color: var(--color-ink-900);
}

.surface-elevated {
  background: var(--color-paper-100);
  color: var(--color-ink-900);
}

.surface-asphalt {
  background: var(--color-asphalt-950);
  color: var(--color-paper-50);
}

.surface-dark,
.panel-dark {
  background: var(--color-graphite-900);
  color: var(--color-paper-50);
}

.surface-asphalt :is(h1, h2, h3, h4, h5, h6),
.surface-dark :is(h1, h2, h3, h4, h5, h6),
.panel-dark :is(h1, h2, h3, h4, h5, h6) {
  color: var(--color-paper-50);
}

.surface-asphalt :is(p, small, figcaption),
.surface-dark :is(p, small, figcaption),
.panel-dark :is(p, small, figcaption) {
  color: var(--color-lane-white);
}

.surface-asphalt a,
.surface-dark a,
.panel-dark a {
  color: var(--color-paper-50);
}

.surface-asphalt a:hover,
.surface-dark a:hover,
.panel-dark a:hover {
  color: var(--color-map-amber);
}

.card,
.panel {
  border: var(--border-light);
  border-radius: var(--radius-lg);
  background: var(--color-paper-100);
  color: var(--color-ink-900);
  padding: var(--space-5);
}

.card--roomy,
.panel--roomy {
  padding: var(--space-6);
}

.card--dark,
.panel--dark {
  border: var(--border-dark);
  background: var(--color-graphite-900);
  color: var(--color-paper-50);
}

.card--dark :is(h1, h2, h3, h4, h5, h6),
.panel--dark :is(h1, h2, h3, h4, h5, h6) {
  color: var(--color-paper-50);
}

.card--dark :is(p, small),
.panel--dark :is(p, small) {
  color: var(--color-lane-white);
}

.card > :last-child,
.panel > :last-child,
.card--dark > :last-child,
.panel--dark > :last-child,
.content-group > :last-child,
.compact-group > :last-child {
  margin-block-end: 0;
}

.content-group > :last-child:is(ul, ol, figure, blockquote, pre) {
  margin-block-end: 0;
}

.route-rule {
  border-inline-start: 3px solid var(--color-route-red);
  padding-inline-start: var(--space-4);
}

.eyebrow,
.route-label {
  display: flex;
  align-items: center;
  gap: var(--space-2);
  margin-block-end: var(--space-3);
  color: var(--color-route-red);
  font-family: var(--font-heading);
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  line-height: var(--leading-meta);
  text-transform: uppercase;
}

.eyebrow--amber,
.route-label--amber {
  color: var(--color-map-amber);
}

.route-label::before {
  width: 0.5rem;
  height: 0.5rem;
  flex: 0 0 auto;
  border-radius: 50%;
  background: currentColor;
  content: "";
}

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

.display-heading {
  margin-block-end: var(--space-5);
  font-size: var(--text-display);
  line-height: var(--leading-display);
  letter-spacing: -0.025em;
}

.meta {
  color: var(--color-ink-500);
  font-size: var(--text-meta);
  font-weight: 500;
  letter-spacing: 0.08em;
  line-height: var(--leading-meta);
  text-transform: uppercase;
}

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

.button,
.button-secondary,
.button-link {
  display: inline-flex;
  min-width: 0;
  min-height: 2.75rem;
  align-items: center;
  justify-content: center;
  gap: var(--space-2);
  border-radius: var(--radius-md);
  padding: 0.625rem 1rem;
  font-family: var(--font-heading);
  font-size: var(--text-utility);
  font-weight: 700;
  letter-spacing: 0.01em;
  line-height: 1.2;
  text-align: center;
  text-decoration: none;
  transition: background-color var(--transition-fast), border-color var(--transition-fast),
    color var(--transition-fast), transform var(--transition-fast);
}

.button {
  border: 1px solid var(--color-route-red);
  background: var(--color-route-red);
  color: #ffffff;
}

.button:hover {
  border-color: var(--color-route-red-dark);
  background: var(--color-route-red-dark);
  color: #ffffff;
}

.button:active {
  transform: translateY(1px);
}

.button-secondary {
  border: 1px solid var(--color-graphite-700);
  background: transparent;
  color: var(--color-ink-900);
}

.button-secondary:hover {
  border-color: var(--color-route-red);
  background: var(--color-route-red);
  color: #ffffff;
}

.surface-asphalt .button-secondary,
.surface-dark .button-secondary,
.panel-dark .button-secondary {
  border-color: var(--color-lane-white);
  color: var(--color-paper-50);
}

.button-link {
  min-height: auto;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: var(--color-route-red-dark);
  justify-content: flex-start;
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 0.16em;
}

.button-link:hover {
  color: var(--color-route-red);
  background: transparent;
}

.button--external::after,
.external-link::after {
  display: inline-block;
  margin-inline-start: 0.15em;
  content: "↗";
  font-size: 0.9em;
  line-height: 1;
}

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

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

.media-frame {
  overflow: hidden;
  border: var(--border-light);
  border-radius: var(--radius-xl);
  background: var(--color-paper-100);
}

.media-frame--dark {
  border-color: var(--color-graphite-700);
  background: var(--color-graphite-900);
}

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

.skip-link {
  position: fixed;
  z-index: 1000;
  top: var(--space-2);
  left: var(--space-2);
  transform: translateY(-200%);
  border-radius: var(--radius-sm);
  background: var(--color-paper-100);
  color: var(--color-ink-900);
  padding: var(--space-3) var(--space-4);
  font-weight: 600;
  box-shadow: var(--shadow-floating);
}

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

@media (max-width: 719px) {
  .section {
    padding-block: var(--space-7);
  }

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

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

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

  .card--roomy,
  .panel--roomy {
    padding: var(--space-5);
  }

  .action-group {
    align-items: stretch;
  }

  .action-group > .button,
  .action-group > .button-secondary {
    flex: 1 1 12rem;
  }
}

@media (max-width: 479px) {
  h2 {
    margin-block-start: var(--space-6);
  }

  .button,
  .button-secondary {
    width: 100%;
  }

  .action-group > .button,
  .action-group > .button-secondary {
    flex-basis: 100%;
  }
}

@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    scroll-behavior: auto !important;
    transition-duration: 0.01ms !important;
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
  }
}


.site-header{position:relative;z-index:100;background:var(--color-asphalt-950);border-block-end:1px solid var(--color-graphite-700)}
.site-header__inner{min-height:4.5rem;display:flex;align-items:center;gap:var(--space-4)}
.site-header__brand{display:flex;flex:0 1 auto;min-width:0;align-items:center;gap:0.625rem;color:var(--color-paper-50);text-decoration:none}
.site-header__brand:hover{color:var(--color-paper-50)}
.site-header__logo{width:2.375rem;height:2.375rem;max-width:none;flex:0 0 2.375rem;object-fit:contain}
.site-header__brand-text{display:flex;min-width:0;flex-direction:column;font-family:var(--font-heading);font-size:0.9375rem;font-weight:700;letter-spacing:0.01em;line-height:.88;white-space:nowrap}
.site-header__brand-text span+span{color:var(--color-map-amber);font-size:.8em}
.site-header__nav{display:flex;min-width:0;flex:1;align-items:center;justify-content:flex-end;gap:var(--space-4)}
.site-header__nav-list{display:flex;min-width:0;align-items:center;gap:clamp(.65rem,1.3vw,1.25rem);margin:0;padding:0;list-style:none}
.site-header__nav-list li,.site-header__nav-list li+li{margin:0;padding:0}
.site-header__nav-list a{display:inline-flex;min-height:2.75rem;align-items:center;color:var(--color-paper-50);font-family:var(--font-heading);font-size:.9rem;font-weight:700;letter-spacing:.01em;line-height:1;text-decoration:none;white-space:nowrap}
.site-header__nav-list a:hover,.site-header__nav-list a[aria-current="page"]{color:var(--color-map-amber)}
.site-header__play{flex:0 0 auto;white-space:nowrap}
.site-header__mobile-contact,.site-header__toggle{display:none}
.site-header :focus-visible{outline-color:var(--color-focus-light)}
@media (max-width:999px){
 .site-header__inner{min-height:4rem;justify-content:space-between}
 .site-header__logo{width:2rem;height:2rem;flex-basis:2rem}
 .site-header__brand-text{font-size:.8125rem;line-height:.95}
 .site-header__brand-text span+span{font-size:.85em}
 .site-header__toggle{display:inline-flex;width:2.75rem;height:2.75rem;flex:0 0 2.75rem;align-items:center;justify-content:center;border:1px solid var(--color-graphite-700);border-radius:var(--radius-md);background:transparent;color:var(--color-paper-50)}
 .site-header__toggle:hover,.site-header__toggle[aria-expanded="true"]{border-color:var(--color-route-red);background:var(--color-route-red)}
 .site-header__toggle-lines{display:grid;width:1.2rem;gap:.25rem}
 .site-header__toggle-lines span{display:block;width:100%;height:2px;background:currentColor;transition:transform var(--transition-fast),opacity var(--transition-fast)}
 .site-header__toggle[aria-expanded="true"] .site-header__toggle-lines span:first-child{transform:translateY(.375rem) rotate(45deg)}
 .site-header__toggle[aria-expanded="true"] .site-header__toggle-lines span:nth-child(2){opacity:0}
 .site-header__toggle[aria-expanded="true"] .site-header__toggle-lines span:last-child{transform:translateY(-.375rem) rotate(-45deg)}
 .site-header__nav{position:absolute;top:100%;right:0;left:0;display:none;max-height:calc(100vh - 4rem);overflow-y:auto;border-block:1px solid var(--color-graphite-700);background:var(--color-graphite-900);box-shadow:var(--shadow-floating);padding:var(--space-4) max(var(--gutter), calc((100vw - var(--container-max))/2));}
 .site-header__nav.is-open{display:flex;flex-direction:column;align-items:stretch;gap:var(--space-4)}
 .site-header__nav-list{width:100%;flex-direction:column;align-items:stretch;gap:0}
 .site-header__nav-list a{width:100%;min-height:3rem;border-block-end:1px solid var(--color-graphite-700);font-size:1rem}
 .site-header__mobile-contact{display:block}
 .site-header__play{width:100%}
}
@media (max-width:479px){.site-header__inner{gap:var(--space-3)}.site-header__brand{gap:.5rem}.site-header__brand-text{font-size:.8125rem}}


.site-footer{border-block-start:1px solid var(--color-graphite-700);padding-block:var(--space-8) var(--space-5)}
.site-footer__inner{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:var(--space-7) var(--space-8)}
.site-footer__brand-block{display:flex;flex-direction:column;align-items:flex-start;gap:var(--space-4)}
.site-footer__brand-block p{max-width:34rem;margin:0;color:var(--color-lane-white);font-size:var(--text-utility);line-height:var(--leading-utility)}
.site-footer__brand{display:inline-flex;align-items:center;gap:.75rem;color:var(--color-paper-50);font-family:var(--font-heading);font-size:1.35rem;font-weight:700;letter-spacing:-.01em;line-height:1;text-decoration:none}
.site-footer__brand:hover{color:var(--color-paper-50)}
.site-footer__logo{width:2.75rem;height:2.75rem;max-width:none;object-fit:contain}
.site-footer__play{width:auto}
.site-footer__nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-6)}
.site-footer__nav-group{min-width:0}
.site-footer__nav h2{margin:0 0 var(--space-3);color:var(--color-map-amber);font-size:1rem;letter-spacing:.02em}
.site-footer__nav ul{display:grid;gap:var(--space-2);margin:0;padding:0;list-style:none}
.site-footer__nav li,.site-footer__nav li+li{margin:0;padding:0}
.site-footer__nav a{color:var(--color-paper-50);font-size:var(--text-utility);line-height:var(--leading-utility)}
.site-footer__nav a:hover{color:var(--color-map-amber)}
.site-footer__bottom{grid-column:1/-1;display:flex;justify-content:space-between;gap:var(--space-6);border-block-start:1px solid var(--color-graphite-700);padding-block-start:var(--space-5)}
.site-footer__bottom p{max-width:46rem;margin:0;color:var(--color-lane-white);font-size:var(--text-meta);line-height:var(--leading-utility)}
.site-footer__bottom p:last-child{flex:0 0 auto;text-align:end}
.site-footer :focus-visible{outline-color:var(--color-focus-light)}
.site-consent{position:fixed;z-index:200;right:var(--space-4);bottom:var(--space-4);left:var(--space-4);transform:translateY(0);opacity:1;transition:opacity var(--transition-base),transform var(--transition-base)}
.site-consent[hidden]{display:none}
.site-consent.is-hiding{transform:translateY(1rem);opacity:0;pointer-events:none}
.site-consent__inner{display:flex;width:min(100%,64rem);align-items:center;justify-content:space-between;gap:var(--space-5);margin-inline:auto;border:var(--border-dark);border-radius:var(--radius-lg);background:var(--color-graphite-900);padding:var(--space-4) var(--space-5);box-shadow:var(--shadow-floating)}
.site-consent__copy h2{margin:0 0 var(--space-1);color:var(--color-paper-50);font-size:1.15rem}
.site-consent__copy p{margin:0;color:var(--color-lane-white);font-size:var(--text-utility);line-height:var(--leading-utility)}
.site-consent__copy a{color:var(--color-paper-50)}
.site-consent__actions{display:flex;flex:0 0 auto;flex-wrap:wrap;gap:var(--space-2)}
.site-consent__button{min-height:2.75rem;border:1px solid var(--color-lane-white);border-radius:var(--radius-md);padding:.625rem 1rem;background:transparent;color:var(--color-paper-50);font-family:var(--font-heading);font-size:var(--text-utility);font-weight:700;line-height:1.2;transition:background-color var(--transition-fast),border-color var(--transition-fast),color var(--transition-fast)}
.site-consent__button--accept{border-color:var(--color-route-red);background:var(--color-route-red);color:#fff}
.site-consent__button:hover{border-color:var(--color-route-red);background:var(--color-route-red-dark);color:#fff}
.site-consent :focus-visible{outline-color:var(--color-focus-light)}
@media (max-width:719px){.site-footer{padding-block:var(--space-7) var(--space-5)}.site-footer__inner{grid-template-columns:1fr;gap:var(--space-6)}.site-footer__bottom{grid-column:auto;flex-direction:column;gap:var(--space-3)}.site-footer__bottom p:last-child{text-align:start}.site-consent__inner{align-items:flex-start;flex-direction:column}.site-consent__actions{width:100%}.site-consent__button{flex:1 1 8rem}}
@media (max-width:479px){.site-footer__nav{grid-template-columns:1fr}.site-footer__play{width:100%}.site-consent{right:var(--space-3);bottom:var(--space-3);left:var(--space-3)}.site-consent__inner{padding:var(--space-4)}.site-consent__actions{flex-direction:column}.site-consent__button{width:100%}}


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

.cookie-policy-briefing {
  overflow: hidden;
  position: relative;
  padding-block: var(--space-9);
}

.cookie-policy-briefing__inner {
  display: grid;
  grid-template-columns: minmax(0, 47.5rem) minmax(0, 1fr);
  gap: var(--space-8);
  align-items: stretch;
}

.cookie-policy-briefing__copy,
.cookie-policy-briefing__route-field,
.cookie-policy-layout > *,
.cookie-policy-duration-row > *,
.cookie-policy-links-panel > * {
  min-width: 0;
}

.cookie-policy-briefing__copy {
  width: min(100%, 47.5rem);
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-3);
}

.cookie-policy-briefing__copy .route-label,
.cookie-policy-briefing__copy h1,
.cookie-policy-briefing__copy .lead,
.cookie-policy-briefing__copy .cookie-policy-scope-note {
  margin: 0;
}

.cookie-policy-briefing h1 {
  color: var(--color-paper-50);
  font-size: 2.75rem;
  line-height: 1.09;
}

.cookie-policy-briefing .lead {
  width: min(100%, 62ch);
  color: var(--color-paper-50);
  font-size: var(--text-lead);
  line-height: var(--leading-lead);
}

.cookie-policy-scope-note {
  width: min(100%, 62ch);
  border: 1px solid var(--color-graphite-700);
  border-inline-start: 3px solid var(--color-route-red);
  background: rgba(28, 36, 40, 0.68);
  color: var(--color-lane-white);
  padding: var(--space-4) var(--space-5);
  font-size: var(--text-utility);
  line-height: var(--leading-utility);
}

.cookie-policy-scope-note strong {
  color: var(--color-paper-50);
}

.cookie-policy-scope-note a {
  color: var(--color-paper-50);
}

.cookie-policy-briefing__route-field {
  position: relative;
  width: 100%;
  min-height: 15rem;
  opacity: 0.2;
}

.cookie-policy-briefing__route-field::before,
.cookie-policy-briefing__route-field::after {
  position: absolute;
  content: "";
}

.cookie-policy-briefing__route-field::before {
  inset: 12% 8% 15% 4%;
  border: 1px solid var(--color-graphite-700);
  background-image: linear-gradient(var(--color-graphite-700) 1px, transparent 1px), linear-gradient(90deg, var(--color-graphite-700) 1px, transparent 1px);
  background-size: 2.5rem 2.5rem;
  transform: skewY(-8deg);
}

.cookie-policy-briefing__route-field::after {
  top: 49%;
  right: -8%;
  width: 110%;
  border-top: 2px dashed var(--color-lane-white);
  transform: rotate(-15deg);
}

.cookie-policy-briefing__route-field span {
  position: absolute;
  width: 0.5rem;
  height: 0.5rem;
  border-radius: 50%;
  background: var(--color-map-amber);
}

.cookie-policy-briefing__route-field span:nth-child(1) { top: 18%; right: 22%; }
.cookie-policy-briefing__route-field span:nth-child(2) { top: 39%; right: 48%; background: var(--color-route-red); }
.cookie-policy-briefing__route-field span:nth-child(3) { bottom: 24%; right: 12%; }
.cookie-policy-briefing__route-field span:nth-child(4) { bottom: 12%; left: 20%; background: var(--color-lane-white); }

.cookie-policy-content {
  padding-block: var(--space-9);
}

.cookie-policy-layout {
  display: grid;
  grid-template-columns: minmax(0, 45rem) minmax(15rem, 20rem);
  grid-template-areas: "article index";
  justify-content: start;
  gap: var(--space-8);
  align-items: start;
}

.cookie-policy-article {
  grid-area: article;
  width: min(100%, 45rem);
}

.cookie-policy-index {
  grid-area: index;
  width: min(100%, 20rem);
  border-inline-start: 1px solid var(--color-border-light);
  padding-inline-start: var(--space-5);
  position: sticky;
  top: var(--space-6);
}

.cookie-policy-index .route-label,
.cookie-policy-index h2,
.cookie-policy-index ol {
  margin: 0;
}

.cookie-policy-index h2 {
  font-size: var(--text-h3);
}

.cookie-policy-index nav {
  margin-top: var(--space-4);
}

.cookie-policy-index ol {
  display: flex;
  flex-direction: column;
  gap: var(--space-2);
  padding-inline-start: 1.25rem;
}

.cookie-policy-index li {
  width: 100%;
}

.cookie-policy-index a {
  display: inline-block;
  width: 100%;
  color: var(--color-ink-900);
  font-size: var(--text-utility);
  line-height: var(--leading-utility);
}

.cookie-policy-index a:hover,
.cookie-policy-index a:focus-visible {
  color: var(--color-route-red-dark);
}

.cookie-policy-section {
  width: 100%;
  scroll-margin-top: var(--space-8);
}

.cookie-policy-section + .cookie-policy-section {
  margin-top: var(--space-9);
  padding-top: var(--space-8);
  border-top: 1px solid var(--color-border-light);
}

.cookie-policy-section > .route-label,
.cookie-policy-section > h2 {
  width: min(100%, 45rem);
}

.cookie-policy-section > .route-label {
  margin-bottom: var(--space-3);
}

.cookie-policy-section > h2 {
  margin-top: 0;
}

.cookie-policy-foundation__unit,
.cookie-policy-category,
.cookie-policy-choices__unit,
.cookie-policy-external__unit,
.cookie-policy-retention__unit,
.cookie-policy-related__copy {
  width: min(100%, 45rem);
}

.cookie-policy-foundation__unit--divided {
  margin-top: var(--space-6);
  padding-top: var(--space-6);
  border-top: 1px solid var(--color-border-light);
}

.cookie-policy-clarification,
.cookie-policy-browser-note,
.cookie-policy-reference-panel,
.cookie-policy-links-panel {
  border: var(--border-light);
  border-radius: var(--radius-lg);
  background: var(--color-paper-100);
}

.cookie-policy-clarification {
  width: min(100%, 62ch);
  margin-top: var(--space-6);
  border-inline-start: 3px solid var(--color-route-red);
  padding: var(--space-5);
}

.cookie-policy-clarification > :last-child,
.cookie-policy-browser-note > :last-child,
.cookie-policy-reference-panel > :last-child,
.cookie-policy-effect-note > :last-child,
.cookie-policy-duration-row > div > :last-child,
.cookie-policy-links-panel > :last-child {
  margin-bottom: 0;
}

.cookie-policy-category {
  margin-top: var(--space-7);
  padding-inline-start: var(--space-5);
  border-inline-start: 3px solid var(--color-graphite-700);
}

.cookie-policy-category--necessary {
  border-color: var(--color-success-green);
}

.cookie-policy-category--preferences {
  border-color: var(--color-map-amber);
}

.cookie-policy-category--measurement {
  border-color: var(--color-route-red);
}

.cookie-policy-category__marker {
  margin-bottom: var(--space-2);
  color: var(--color-ink-500);
  font-family: var(--font-heading);
  font-size: var(--text-meta);
  font-weight: 700;
  letter-spacing: 0.08em;
  line-height: var(--leading-meta);
  text-transform: uppercase;
}

.cookie-policy-category--necessary .cookie-policy-category__marker { color: var(--color-success-green); }
.cookie-policy-category--preferences .cookie-policy-category__marker { color: #9a661c; }
.cookie-policy-category--measurement .cookie-policy-category__marker { color: var(--color-route-red-dark); }

.cookie-policy-category__caution {
  margin-bottom: 0;
  color: var(--color-ink-500);
  font-size: var(--text-utility);
  line-height: var(--leading-utility);
}

.cookie-policy-choices__unit + .cookie-policy-choices__unit,
.cookie-policy-external__unit + .cookie-policy-reference-panel,
.cookie-policy-reference-panel + .cookie-policy-external__unit,
.cookie-policy-retention__unit + .cookie-policy-retention__unit {
  margin-top: var(--space-7);
}

.cookie-policy-focus-sample {
  display: flex;
  align-items: center;
  gap: var(--space-2);
  width: min(100%, 40rem);
  margin-top: var(--space-5);
  border-top: 2px solid var(--color-route-red);
  padding-top: var(--space-3);
  color: var(--color-ink-500);
  font-size: var(--text-utility);
  line-height: var(--leading-utility);
}

.cookie-policy-focus-sample span {
  width: 0.5rem;
  height: 0.5rem;
  flex: 0 0 auto;
  border-radius: 50%;
  background: var(--color-route-red);
}

.cookie-policy-browser-note {
  width: min(100%, 40rem);
  margin-top: var(--space-5);
  padding: var(--space-4) var(--space-5);
  color: var(--color-ink-500);
  font-size: var(--text-utility);
  line-height: var(--leading-utility);
}

.cookie-policy-effect-note {
  width: min(100%, 64ch);
  margin-top: var(--space-7);
  border: 1px solid rgba(215, 154, 67, 0.7);
  border-radius: var(--radius-lg);
  background: var(--color-paper-100);
  padding: var(--space-5);
}

.cookie-policy-effect-note .route-label {
  margin-bottom: var(--space-3);
}

.cookie-policy-reference-panel {
  width: min(100%, 45rem);
  padding: var(--space-5);
}

.cookie-policy-reference-panel__url {
  overflow-wrap: anywhere;
  word-break: break-word;
}

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

.cookie-policy-duration-row {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-4);
  width: 100%;
  margin-top: var(--space-5);
}

.cookie-policy-duration-row > div {
  width: 100%;
  border: var(--border-light);
  border-radius: var(--radius-lg);
  background: var(--color-paper-100);
  padding: var(--space-4);
}

.cookie-policy-duration-row .route-label,
.cookie-policy-duration-row h4 {
  margin-top: 0;
}

.cookie-policy-duration-row h4 {
  margin-bottom: var(--space-2);
}

.cookie-policy-duration-row p {
  font-size: var(--text-utility);
  line-height: var(--leading-utility);
}

.cookie-policy-path-note {
  margin-bottom: 0;
  color: var(--color-ink-500);
  font-size: var(--text-utility);
}

.cookie-policy-related__copy {
  width: min(100%, 64ch);
}

.cookie-policy-links-panel {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: var(--space-3);
  width: min(100%, 35rem);
  margin-top: var(--space-6);
  border-top: 3px solid var(--color-route-red);
  padding: var(--space-5);
}

.cookie-policy-links-panel .route-label,
.cookie-policy-links-panel h3 {
  margin: 0;
}

.cookie-policy-links-panel > a {
  display: flex;
  min-height: 2.75rem;
  flex-direction: column;
  justify-content: center;
  gap: var(--space-1);
  border-bottom: 1px solid var(--color-border-light);
  color: var(--color-route-red-dark);
  font-weight: 600;
  text-decoration-thickness: 1px;
}

.cookie-policy-links-panel > a:last-child {
  border-bottom: 0;
}

.cookie-policy-links-panel > a span {
  color: var(--color-ink-500);
  font-size: var(--text-utility);
  font-weight: 400;
  line-height: var(--leading-utility);
}

@media (max-width: 899px) {
  .cookie-policy-briefing__inner {
    grid-template-columns: minmax(0, 1fr);
    gap: var(--space-5);
  }

  .cookie-policy-briefing__route-field {
    display: none;
  }

  .cookie-policy-layout {
    grid-template-columns: minmax(0, 1fr);
    grid-template-areas: "index" "article";
    gap: var(--space-7);
  }

  .cookie-policy-index {
    width: 100%;
    position: static;
    border: var(--border-light);
    border-inline-start: 3px solid var(--color-route-red);
    border-radius: var(--radius-lg);
    background: var(--color-paper-100);
    padding: var(--space-5);
  }

  .cookie-policy-index nav {
    margin-top: var(--space-3);
  }

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

  .cookie-policy-article {
    width: min(100%, 45rem);
  }
}

@media (max-width: 719px) {
  .cookie-policy-briefing {
    padding-block: var(--space-7);
  }

  .cookie-policy-briefing__copy {
    gap: var(--space-3);
  }

  .cookie-policy-briefing h1 {
    font-size: 1.875rem;
    line-height: 1.133;
  }

  .cookie-policy-briefing .lead {
    width: 100%;
    font-size: var(--text-body);
    line-height: var(--leading-body);
  }

  .cookie-policy-scope-note {
    width: 100%;
  }

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

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

  .cookie-policy-index ol {
    grid-template-columns: minmax(0, 1fr);
  }

  .cookie-policy-section + .cookie-policy-section {
    margin-top: var(--space-8);
    padding-top: var(--space-7);
  }

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

  .cookie-policy-choices__unit + .cookie-policy-choices__unit,
  .cookie-policy-external__unit + .cookie-policy-reference-panel,
  .cookie-policy-reference-panel + .cookie-policy-external__unit,
  .cookie-policy-retention__unit + .cookie-policy-retention__unit {
    margin-top: var(--space-6);
  }

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

  .cookie-policy-clarification,
  .cookie-policy-browser-note,
  .cookie-policy-effect-note,
  .cookie-policy-reference-panel,
  .cookie-policy-links-panel {
    width: 100%;
  }
}

@media (max-width: 479px) {
  .cookie-policy-scope-note,
  .cookie-policy-index,
  .cookie-policy-clarification,
  .cookie-policy-effect-note,
  .cookie-policy-reference-panel,
  .cookie-policy-links-panel {
    padding: var(--space-4);
  }

  .cookie-policy-category {
    padding-inline-start: var(--space-4);
  }

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


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

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

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

.terms-hero__copy {
  width: min(100%, 43.75rem);
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
  align-items: flex-start;
}

.terms-hero__copy > :is(.eyebrow, .display-heading, .lead) {
  margin: 0;
}

.terms-hero__copy .lead {
  width: min(100%, 64ch);
}

.terms-hero__lane {
  display: flex;
  width: 8.5rem;
  min-width: 0;
  gap: var(--space-2);
  margin-block: var(--space-2) var(--space-1);
}

.terms-hero__lane span {
  width: 2rem;
  height: 2px;
  background: var(--color-lane-white);
  opacity: 0.7;
}

.terms-acceptance {
  width: min(100%, 66ch);
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
  border-inline-start: 3px solid var(--color-route-red);
  border-radius: var(--radius-sm);
  background: var(--color-paper-100);
  color: var(--color-ink-900);
  padding: var(--space-4) var(--space-5);
}

.terms-acceptance p {
  margin: 0;
}

.terms-hero__ornament {
  position: relative;
  min-width: 0;
  min-height: 19rem;
  overflow: hidden;
  border-inline-start: 1px solid rgba(217, 224, 220, 0.18);
  background-image: linear-gradient(rgba(217, 224, 220, 0.1) 1px, transparent 1px), linear-gradient(90deg, rgba(217, 224, 220, 0.1) 1px, transparent 1px);
  background-size: 2.5rem 2.5rem;
  opacity: 0.82;
}

.terms-hero__route-line {
  position: absolute;
  top: 20%;
  right: -10%;
  width: 120%;
  border-top: 2px dashed var(--color-lane-white);
  transform: rotate(-28deg);
  opacity: 0.55;
}

.terms-hero__route-dot {
  position: absolute;
  top: 37%;
  right: 38%;
  width: 0.9rem;
  height: 0.9rem;
  border-radius: 50%;
  background: var(--color-map-amber);
  box-shadow: 0 0 0 0.5rem rgba(215, 154, 67, 0.12);
}

.terms-hero__north {
  position: absolute;
  right: var(--space-5);
  bottom: var(--space-5);
  color: var(--color-map-amber);
  font-family: var(--font-heading);
  font-size: 1rem;
  font-weight: 700;
  letter-spacing: 0.08em;
}

.terms-document {
  padding-block: var(--space-9) var(--space-10);
}

.terms-document__layout {
  display: grid;
  grid-template-columns: minmax(15rem, 3fr) minmax(0, 9fr);
  gap: var(--space-8);
  align-items: start;
}

.terms-contents {
  width: 100%;
  min-width: 0;
  border: var(--border-light);
  border-radius: var(--radius-lg);
  background: var(--color-paper-100);
  padding: var(--space-5);
}

.terms-contents > :is(.route-label, h2) {
  margin: 0;
}

.terms-contents > h2 {
  margin-block-end: var(--space-4);
}

.terms-contents__list {
  display: flex;
  flex-direction: column;
  gap: var(--space-1);
  margin: 0;
  padding: 0;
  list-style: none;
}

.terms-contents__list li {
  width: 100%;
  min-width: 0;
}

.terms-contents__list a {
  display: flex;
  width: 100%;
  min-width: 0;
  min-height: 2.75rem;
  align-items: center;
  gap: var(--space-2);
  border-bottom: 1px solid rgba(217, 222, 216, 0.8);
  color: var(--color-ink-900);
  font-family: var(--font-heading);
  font-weight: 700;
  line-height: 1.15;
  text-decoration: none;
}

.terms-contents__list li:last-child a {
  border-bottom: 0;
}

.terms-contents__list a:hover {
  color: var(--color-route-red-dark);
  text-decoration: underline;
  text-decoration-thickness: 2px;
  text-underline-offset: 0.16em;
}

.terms-contents__list a span {
  flex: 0 0 1.65rem;
  color: var(--color-map-amber);
  font-size: var(--text-meta);
  letter-spacing: 0.06em;
}

.terms-article {
  width: min(100%, 46.25rem);
  min-width: 0;
}

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

.terms-clause + .terms-clause {
  margin-block-start: var(--space-9);
}

.terms-clause > h2 {
  margin-block-start: 0;
}

.terms-clause > h3 {
  margin-block-start: var(--space-5);
}

.terms-callout,
.terms-note,
.terms-prohibited,
.terms-policy-panel,
.terms-liability,
.terms-source {
  margin-block: var(--space-5);
}

.terms-callout {
  width: min(100%, 64ch);
  border: var(--border-light);
  border-inline-start: 3px solid var(--color-route-red);
  border-radius: var(--radius-sm) var(--radius-lg) var(--radius-lg) var(--radius-sm);
  background: var(--color-paper-100);
  padding: var(--space-5);
}

.terms-callout > :is(.route-label, p) {
  margin: 0;
}

.terms-callout > .route-label + p {
  margin-block-start: var(--space-3);
}

.terms-note {
  width: min(100%, 68ch);
  border-inline-start: 3px solid var(--color-map-amber);
  background: rgba(215, 154, 67, 0.1);
  padding: var(--space-3) var(--space-4);
}

.terms-note p,
.terms-muted-note,
.terms-external-note,
.terms-last-updated {
  margin: 0;
}

.terms-source {
  display: grid;
  grid-template-columns: minmax(0, 28%) minmax(0, 72%);
  width: 100%;
  min-width: 0;
  border: var(--border-dark);
  border-radius: var(--radius-lg);
  background: var(--color-graphite-900);
  color: var(--color-paper-50);
  overflow: hidden;
}

.terms-source__label,
.terms-source a {
  min-width: 0;
  padding: var(--space-4);
}

.terms-source__label {
  border-inline-end: var(--border-dark);
  color: var(--color-map-amber);
  font-family: var(--font-heading);
  font-weight: 700;
  letter-spacing: 0.04em;
}

.terms-source a {
  display: flex;
  min-height: 2.75rem;
  align-items: center;
  color: var(--color-paper-50);
  overflow-wrap: anywhere;
}

.terms-prohibited {
  width: 100%;
  border: var(--border-light);
  border-radius: var(--radius-lg);
  background: var(--color-paper-100);
  padding: var(--space-5);
}

.terms-prohibited ol {
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
  margin: 0;
  padding: 0;
  list-style: none;
}

.terms-prohibited li {
  display: grid;
  grid-template-columns: 2rem minmax(0, 1fr);
  gap: var(--space-3);
  width: 100%;
  min-width: 0;
  align-items: start;
}

.terms-prohibited li > span {
  display: grid;
  width: 2rem;
  min-width: 2rem;
  height: 2rem;
  place-items: center;
  border-radius: 50%;
  background: var(--color-route-red);
  color: #fff;
  font-family: var(--font-heading);
  font-weight: 700;
}

.terms-prohibited li p {
  margin: 0;
}

.terms-muted-note {
  width: min(100%, 68ch);
  color: var(--color-ink-500);
  font-size: var(--text-utility);
}

.terms-external-note {
  width: min(100%, 68ch);
  display: flex;
  gap: var(--space-2);
  align-items: baseline;
  color: var(--color-ink-500);
  font-size: var(--text-utility);
}

.terms-external-note span {
  color: var(--color-route-red);
  font-weight: 700;
}

.terms-liability {
  width: 100%;
  border: var(--border-dark);
  border-top: 3px solid var(--color-route-red);
  border-radius: var(--radius-lg);
  background: var(--color-graphite-900);
  padding: var(--space-6);
}

.terms-liability > :is(h3, p) {
  width: min(100%, 42.5rem);
}

.terms-liability h3 {
  margin-block-start: 0;
}

.terms-liability p {
  margin-block-end: 0;
  color: var(--color-lane-white);
}

.terms-policy-panel {
  display: flex;
  flex-direction: column;
  width: 100%;
  border: var(--border-light);
  border-radius: var(--radius-lg);
  background: var(--color-paper-100);
  overflow: hidden;
}

.terms-policy-panel a {
  display: grid;
  grid-template-columns: 8.75rem minmax(0, 1fr);
  gap: var(--space-4);
  width: 100%;
  min-width: 0;
  min-height: 2.75rem;
  align-items: center;
  padding: var(--space-3) var(--space-4);
  color: var(--color-ink-900);
}

.terms-policy-panel a + a {
  border-top: var(--border-light);
}

.terms-policy-panel a:hover {
  color: var(--color-route-red-dark);
}

.terms-policy-panel span {
  min-width: 0;
  color: var(--color-ink-500);
  font-family: var(--font-heading);
  font-weight: 700;
}

.terms-policy-panel strong {
  min-width: 0;
  font-weight: 600;
}

.terms-last-updated {
  color: var(--color-ink-500);
  padding-block-start: var(--space-2);
}

.terms-clause--closing {
  padding-block-end: var(--space-2);
}

@media (max-width: 979px) {
  .terms-document__layout {
    grid-template-columns: minmax(0, 1fr);
    gap: var(--space-7);
  }

  .terms-contents {
    width: 100%;
  }

  .terms-article {
    width: min(100%, 46.25rem);
  }
}

@media (max-width: 899px) {
  .terms-hero {
    padding-block: var(--space-8);
  }

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

  .terms-hero__ornament {
    display: none;
  }
}

@media (max-width: 759px) {
  .terms-document {
    padding-block: var(--space-8);
  }

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

  .terms-source__label {
    border-inline-end: 0;
    border-bottom: var(--border-dark);
  }
}

@media (max-width: 719px) {
  .terms-hero {
    padding-block: var(--space-7);
  }

  .terms-hero__copy {
    width: 100%;
  }

  .terms-hero__copy .display-heading {
    font-size: 1.875rem;
    line-height: 1.133;
  }

  .terms-acceptance,
  .terms-callout,
  .terms-prohibited,
  .terms-liability {
    padding: var(--space-4);
  }

  .terms-clause + .terms-clause {
    margin-block-start: var(--space-8);
  }

  .terms-prohibited li {
    grid-template-columns: 1.5rem minmax(0, 1fr);
    gap: var(--space-2);
  }

  .terms-prohibited li > span {
    width: 1.5rem;
    min-width: 1.5rem;
    height: 1.5rem;
    font-size: var(--text-utility);
  }
}

@media (max-width: 679px) {
  .terms-policy-panel a {
    grid-template-columns: minmax(0, 1fr);
    gap: var(--space-1);
    align-content: center;
  }
}

@media (max-width: 479px) {
  .terms-contents {
    padding: var(--space-4);
  }

  .terms-contents__list a {
    min-height: 2.75rem;
  }

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


.contact-page {
  background: var(--color-paper-50);
}

.contact-hero {
  position: relative;
  overflow: hidden;
  padding-block: var(--space-10) var(--space-9);
}

.contact-hero::before {
  position: absolute;
  inset: 0;
  opacity: 0.16;
  background-image: linear-gradient(var(--color-lane-white) 1px, transparent 1px), linear-gradient(90deg, var(--color-lane-white) 1px, transparent 1px);
  background-size: 72px 72px;
  content: "";
  pointer-events: none;
}

.contact-hero__layout {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 7fr) minmax(20rem, 5fr);
  align-items: center;
  gap: var(--space-6);
}

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

.contact-hero__copy .route-label,
.contact-hero__copy .display-heading,
.contact-hero__copy .lead {
  margin: 0;
}

.contact-hero__copy .display-heading {
  color: var(--color-paper-50);
  font-size: clamp(2.75rem, 2rem + 2.8vw, 3.5rem);
}

.contact-hero__copy .lead {
  max-width: 60ch;
  color: var(--color-paper-50);
}

.contact-hero__action {
  margin-top: var(--space-2);
}

.contact-hero__motif {
  position: relative;
  min-width: 0;
  min-height: 19rem;
  overflow: hidden;
  border: 1px solid rgba(217, 224, 220, 0.22);
  border-radius: var(--radius-xl);
  background: rgba(28, 36, 40, 0.36);
}

.contact-hero__motif::before,
.contact-hero__motif::after {
  position: absolute;
  content: "";
  pointer-events: none;
}

.contact-hero__motif::before {
  inset: 1.5rem;
  border: 1px solid rgba(217, 224, 220, 0.18);
  background-image: linear-gradient(90deg, transparent 49.5%, rgba(217, 224, 220, 0.18) 50%, transparent 50.5%), linear-gradient(transparent 49.5%, rgba(217, 224, 220, 0.18) 50%, transparent 50.5%);
  background-size: 4rem 4rem;
}

.contact-hero__motif::after {
  width: 13rem;
  height: 13rem;
  right: 2.5rem;
  bottom: -5rem;
  border: 2px solid rgba(201, 75, 60, 0.68);
  border-radius: 50%;
}

.contact-hero__north {
  position: absolute;
  z-index: 1;
  top: 2rem;
  right: 2rem;
  color: var(--color-map-amber);
  font-family: var(--font-heading);
  font-size: 0.875rem;
  font-weight: 700;
  letter-spacing: 0.08em;
}

.contact-hero__north::before {
  position: absolute;
  top: 1.25rem;
  left: 0.2rem;
  width: 0;
  height: 0;
  border-right: 0.35rem solid transparent;
  border-bottom: 0.85rem solid var(--color-map-amber);
  border-left: 0.35rem solid transparent;
  content: "";
}

.contact-hero__route-dot {
  position: absolute;
  z-index: 2;
  top: 44%;
  right: 32%;
  width: 0.875rem;
  height: 0.875rem;
  border-radius: 50%;
  background: var(--color-map-amber);
  box-shadow: 0 0 0 0.4rem rgba(215, 154, 67, 0.15);
}

.contact-hero__route-line {
  position: absolute;
  top: 25%;
  right: 19%;
  width: 45%;
  height: 52%;
  border-top: 3px solid var(--color-route-red);
  border-right: 3px solid var(--color-route-red);
  transform: skewY(-20deg);
}

.contact-hero__lane {
  position: absolute;
  width: 78%;
  height: 3px;
  background: repeating-linear-gradient(90deg, var(--color-lane-white) 0 1.75rem, transparent 1.75rem 3rem);
  opacity: 0.72;
  transform: rotate(-27deg);
}

.lane-one {
  top: 34%;
  left: -20%;
}

.lane-two {
  top: 64%;
  left: 11%;
}

.contact-hero__mobile-route {
  display: none;
}

.contact-reasons__intro {
  width: min(100%, 43.75rem);
}

.contact-reasons__intro > :last-child {
  margin-bottom: 0;
}

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

.contact-reason-card {
  display: flex;
  min-width: 0;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-3);
  border: var(--border-light);
  border-radius: var(--radius-lg);
  background: var(--color-paper-100);
  padding: var(--space-5);
}

.contact-reason-card > * {
  margin: 0;
}

.contact-reason-card h3 {
  font-size: var(--text-h3);
}

.contact-reason-card--correction {
  border-top: 3px solid var(--color-route-red);
}

.contact-reason-card__graphite-label {
  color: var(--color-graphite-700);
}

.contact-workspace {
  padding-top: var(--space-7);
}

.contact-workspace__grid {
  display: grid;
  grid-template-columns: minmax(31.25rem, 7fr) minmax(20rem, 5fr);
  align-items: start;
  gap: var(--space-5);
}

.contact-form-panel {
  min-width: 0;
  border: var(--border-light);
  border-radius: var(--radius-lg);
  background: var(--color-paper-100);
  padding: var(--space-6);
}

.contact-form-panel__intro {
  width: min(100%, 62ch);
}

.contact-form-status:empty {
  display: none;
}

.contact-form-status {
  width: min(100%, 62ch);
  margin-bottom: var(--space-4);
  border-left: 3px solid var(--color-success-green);
  background: rgba(61, 128, 102, 0.1);
  color: var(--color-ink-900);
  padding: var(--space-3) var(--space-4);
  font-weight: 600;
}

.contact-form {
  display: flex;
  min-width: 0;
  max-width: 43.75rem;
  flex-direction: column;
  gap: var(--space-4);
}

.contact-form__summary {
  border-left: 3px solid var(--color-route-red);
  background: rgba(201, 75, 60, 0.1);
  color: var(--color-ink-900);
  padding: var(--space-3) var(--space-4);
}

.contact-form__summary p,
.contact-form__summary ul {
  margin: 0;
}

.contact-form__summary ul {
  margin-top: var(--space-2);
}

.contact-form__field {
  display: flex;
  min-width: 0;
  width: 100%;
  flex-direction: column;
  align-items: stretch;
}

.contact-form__field label {
  width: 100%;
}

.contact-form__field input,
.contact-form__field textarea {
  min-width: 0;
  width: 100%;
}

.contact-form__field textarea {
  min-height: 11rem;
}

.contact-form__field input[aria-invalid="true"],
.contact-form__field textarea[aria-invalid="true"] {
  border-color: var(--color-route-red);
}

.contact-form__error {
  min-height: 1.25rem;
  margin: var(--space-1) 0 0;
  color: var(--color-route-red-dark);
  font-size: var(--text-utility);
  font-weight: 600;
  line-height: var(--leading-utility);
}

.contact-form__actions {
  display: flex;
  min-width: 0;
  flex-wrap: wrap;
  align-items: flex-start;
  gap: var(--space-4);
  padding-top: var(--space-2);
}

.contact-form__actions > .button {
  flex: 0 0 auto;
}

.contact-form__note {
  min-width: 0;
  max-width: 50ch;
  margin: 0;
  color: var(--color-ink-500);
  font-size: var(--text-utility);
  line-height: var(--leading-utility);
}

.contact-form__note span {
  color: var(--color-map-amber);
  font-size: 0.75rem;
}

.contact-guidance {
  position: sticky;
  top: var(--space-5);
  display: flex;
  min-width: 0;
  flex-direction: column;
  align-items: stretch;
  gap: var(--space-4);
  border: var(--border-dark);
  border-radius: var(--radius-lg);
  padding: var(--space-6);
}

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

.contact-guidance__list {
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: var(--space-5);
  margin: 0;
  padding: 0;
  list-style: none;
}

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

.contact-guidance__number {
  display: block;
  min-width: 0;
  color: var(--color-map-amber);
  font-family: var(--font-heading);
  font-size: 1.25rem;
  font-weight: 700;
  line-height: 1;
}

.contact-guidance__list h3,
.contact-guidance__list p {
  margin: 0;
}

.contact-guidance__list h3 {
  margin-bottom: var(--space-2);
}

.contact-boundary__callout {
  width: min(100%, 47.5rem);
  background: var(--color-paper-100);
  padding: var(--space-6);
}

.contact-boundary__callout > :last-child {
  margin-bottom: 0;
}

.contact-official {
  padding-top: var(--space-7);
}

.contact-official__panel {
  display: grid;
  grid-template-columns: minmax(0, 7fr) max-content;
  align-items: center;
  gap: var(--space-6);
  border: var(--border-dark);
  border-radius: var(--radius-lg);
  padding: var(--space-6);
}

.contact-official__copy {
  min-width: 0;
  max-width: 50ch;
}

.contact-official__copy > :last-child {
  margin-bottom: 0;
}

.contact-official__action {
  min-width: 0;
  white-space: nowrap;
}

.contact-reading__intro {
  width: min(100%, 43.75rem);
}

.contact-reading__intro > :last-child {
  margin-bottom: 0;
}

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

.contact-reading-card {
  display: flex;
  min-width: 0;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-3);
  border: var(--border-light);
  border-radius: var(--radius-lg);
  background: var(--color-paper-100);
  padding: var(--space-5);
}

.contact-reading-card > * {
  margin: 0;
}

.contact-reading-card h3 {
  width: 100%;
}

.contact-reading-card h3 a {
  color: var(--color-ink-900);
  text-decoration-thickness: 1px;
}

.contact-reading-card h3 a:hover,
.contact-reading-card h3 a:focus-visible {
  color: var(--color-route-red-dark);
}

.contact-reading-card .button-link {
  min-height: 2.75rem;
  margin-top: auto;
}

.contact-source {
  padding-top: var(--space-6);
}

.contact-source__note {
  width: min(100%, 47.5rem);
  border-top: var(--border-light);
  padding-top: var(--space-5);
}

.contact-source__note > :last-child {
  margin-bottom: 0;
}

@media (max-width: 899px) {
  .contact-hero {
    padding-block: var(--space-9) var(--space-8);
  }

  .contact-hero__layout {
    grid-template-columns: minmax(0, 1fr) minmax(20rem, 0.72fr);
  }

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

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

  .contact-guidance {
    position: static;
  }
}

@media (max-width: 759px) {
  .contact-hero {
    padding-block: var(--space-8);
  }

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

  .contact-hero__copy {
    max-width: 37.5rem;
  }

  .contact-hero__motif {
    display: none;
  }

  .contact-hero__mobile-route {
    display: block;
    width: 4.5rem;
    height: 1rem;
    border-top: 2px solid var(--color-map-amber);
    background: repeating-linear-gradient(90deg, var(--color-lane-white) 0 0.75rem, transparent 0.75rem 1.25rem);
    opacity: 0.9;
  }

  .contact-hero__copy .display-heading {
    font-size: 1.875rem;
    line-height: 1.133;
  }

  .contact-official__panel {
    grid-template-columns: minmax(0, 1fr);
    justify-items: start;
    gap: var(--space-4);
  }

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

@media (max-width: 719px) {
  .contact-hero__action {
    width: min(100%, 20rem);
  }

  .contact-form-panel,
  .contact-guidance,
  .contact-boundary__callout,
  .contact-official__panel {
    padding: var(--space-5);
  }

  .contact-form__actions {
    flex-direction: column;
    align-items: stretch;
  }

  .contact-form__actions > .button {
    width: min(100%, 22.5rem);
  }

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

@media (max-width: 479px) {
  .contact-hero__action,
  .contact-form__actions > .button,
  .contact-official__action {
    width: 100%;
  }

  .contact-guidance__list > li {
    grid-template-columns: 2rem minmax(0, 1fr);
    gap: var(--space-2);
  }
}


#privacy-policy-page {
  background: var(--color-paper-50);
}

.privacy-policy-intro {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  padding-block: var(--space-9) var(--space-8);
}

.privacy-policy-intro__texture {
  position: absolute;
  z-index: -1;
  inset: 0;
  opacity: 0.18;
  background-image:
    linear-gradient(90deg, transparent 0 8%, rgba(217, 224, 220, 0.45) 8% 8.25%, transparent 8.25% 100%),
    linear-gradient(rgba(217, 224, 220, 0.24) 1px, transparent 1px),
    linear-gradient(90deg, rgba(217, 224, 220, 0.24) 1px, transparent 1px),
    repeating-linear-gradient(90deg, transparent 0 3.5rem, rgba(217, 224, 220, 0.9) 3.5rem 4.75rem, transparent 4.75rem 7.5rem);
  background-size: 100% 100%, 5rem 5rem, 5rem 5rem, 100% 3px;
  background-position: center, center, center, 72% 82%;
  pointer-events: none;
}

.privacy-policy-intro__container {
  display: grid;
  grid-template-columns: minmax(0, 15rem) minmax(0, 46.25rem) minmax(0, 1fr);
}

.privacy-policy-intro__reading {
  grid-column: 2;
  min-width: 0;
  max-width: 46.25rem;
}

.privacy-policy-intro__reading h1 {
  color: var(--color-paper-50);
  font-size: clamp(2.75rem, 2.25rem + 1.4vw, 3.5rem);
  line-height: 1.036;
}

.privacy-policy-intro__reading .lead {
  max-width: 62ch;
  color: var(--color-paper-50);
}

.privacy-policy-intro__scope {
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
  max-width: 66ch;
  border: var(--border-light);
  border-radius: var(--radius-lg);
  padding: var(--space-5);
}

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

.privacy-policy-intro__scope p {
  margin: 0;
}

.privacy-policy-intro__scope-meta {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: var(--space-2);
}

.privacy-policy-intro__date {
  color: var(--color-ink-500);
  font-size: var(--text-utility);
  line-height: var(--leading-utility);
}

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

.privacy-policy-layout {
  display: grid;
  grid-template-columns: minmax(13.75rem, 15.625rem) minmax(0, 46.25rem) minmax(0, 1fr);
  column-gap: var(--space-6);
  align-items: start;
}

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

.privacy-policy-index {
  grid-column: 1;
  position: sticky;
  top: calc(var(--space-8) + 1rem);
  width: 100%;
  min-width: 0;
  border-inline-start: 3px solid var(--color-route-red);
  padding-inline-start: var(--space-4);
}

.privacy-policy-index h2 {
  margin: 0 0 var(--space-3);
  font-size: var(--text-h3);
}

.privacy-policy-index__list {
  display: flex;
  flex-direction: column;
  gap: 0;
  margin: 0;
  padding: 0;
  list-style: none;
  counter-reset: policy-index;
}

.privacy-policy-index__list > li {
  counter-increment: policy-index;
  width: 100%;
  min-width: 0;
  border-block-start: 1px solid var(--color-border-light);
}

.privacy-policy-index__list > li:last-child {
  border-block-end: 1px solid var(--color-border-light);
}

.privacy-policy-index__list > li::before {
  color: var(--color-map-amber);
  content: counter(policy-index, decimal-leading-zero);
  font-family: var(--font-heading);
  font-size: var(--text-meta);
  font-weight: 700;
  letter-spacing: 0.06em;
}

.privacy-policy-index__list a {
  display: grid;
  grid-template-columns: 1.8rem minmax(0, 1fr);
  align-items: center;
  min-height: 2.75rem;
  color: var(--color-ink-900);
  font-family: var(--font-heading);
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.1;
  text-decoration: none;
}

.privacy-policy-index__list a::before {
  width: 0.42rem;
  height: 0.42rem;
  border-radius: 50%;
  background: var(--color-map-amber);
  content: "";
}

.privacy-policy-index__list a:hover,
.privacy-policy-index__list a:focus-visible {
  color: var(--color-route-red);
  text-decoration: underline;
  text-decoration-thickness: 2px;
}

.privacy-policy-article {
  grid-column: 2;
  width: 100%;
  min-width: 0;
  max-width: 46.25rem;
}

.privacy-policy-article__section {
  width: 100%;
  min-width: 0;
  scroll-margin-top: var(--space-8);
}

.privacy-policy-article__section + .privacy-policy-article__section {
  margin-block-start: var(--space-9);
}

.privacy-policy-article__section > h2 {
  margin-block-start: 0;
}

.privacy-policy-clause-stack {
  display: flex;
  flex-direction: column;
  gap: var(--space-6);
  width: 100%;
  min-width: 0;
}

.privacy-policy-clause-stack > * {
  width: 100%;
  min-width: 0;
}

.privacy-policy-clause h3 {
  margin-block-start: 0;
}

.privacy-policy-clause p {
  max-width: 70ch;
}

.privacy-policy-margin-note {
  max-width: 62ch !important;
  border-inline-start: 3px solid var(--color-map-amber);
  padding-inline-start: var(--space-3);
  color: var(--color-ink-500);
  font-size: var(--text-utility);
  line-height: var(--leading-utility);
}

.privacy-policy-source-note {
  display: flex;
  flex-direction: column;
  gap: var(--space-2);
  width: 100%;
  max-width: 62ch;
  border: var(--border-light);
  border-block-start: 3px solid var(--color-route-red);
  border-radius: var(--radius-lg);
  background: var(--color-paper-100);
  padding: var(--space-4);
}

.privacy-policy-source-note > * {
  min-width: 0;
}

.privacy-policy-source-note p {
  margin: 0;
}

.privacy-policy-source-note a,
.privacy-policy-external-action {
  overflow-wrap: anywhere;
  word-break: break-word;
}

.privacy-policy-use-list {
  display: flex;
  flex-direction: column;
  gap: var(--space-5);
  margin: 0;
  padding: 0;
  list-style: none;
}

.privacy-policy-use-list > li {
  display: grid;
  grid-template-columns: 2.25rem minmax(0, 1fr);
  column-gap: var(--space-3);
  width: 100%;
  min-width: 0;
}

.privacy-policy-use-list__marker {
  width: 2.25rem;
  min-width: 0;
  padding-block-start: 0.2rem;
  color: var(--color-route-red);
  font-family: var(--font-heading);
  font-size: var(--text-utility);
  font-weight: 700;
  letter-spacing: 0.06em;
  line-height: 1.1;
}

.privacy-policy-use-list__content {
  min-width: 0;
}

.privacy-policy-use-list__content h3 {
  margin-block-start: 0;
}

.privacy-policy-use-list__content p {
  max-width: 70ch;
}

.privacy-policy-use-list__label {
  margin-block-end: var(--space-2);
  color: var(--color-route-red);
  font-family: var(--font-heading);
  font-size: var(--text-meta);
  font-weight: 700;
  letter-spacing: 0.08em;
  line-height: var(--leading-meta);
  text-transform: uppercase;
}

.privacy-policy-cookies {
  position: relative;
}

.privacy-policy-cookies__motif {
  position: absolute;
  top: 5rem;
  left: calc(100% + var(--space-7));
  width: 8rem;
  height: 3rem;
  opacity: 0.2;
  background: repeating-linear-gradient(90deg, var(--color-graphite-700) 0 1px, transparent 1px 0.8rem);
  pointer-events: none;
}

.privacy-policy-cookies__copy {
  display: flex;
  flex-direction: column;
  gap: var(--space-4);
  width: 100%;
  min-width: 0;
}

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

.privacy-policy-cookies__copy h3 {
  margin: 0;
}

.privacy-policy-cookies__copy p {
  max-width: 70ch;
  margin: 0;
}

.privacy-policy-definition,
.privacy-policy-practical-note {
  width: 100%;
  min-width: 0;
  border-radius: var(--radius-lg);
  padding: var(--space-4);
}

.privacy-policy-definition {
  max-width: 58ch;
  border: var(--border-light);
  background: var(--color-paper-100);
}

.privacy-policy-practical-note {
  border: 1px solid var(--color-success-green);
  background: rgba(61, 128, 102, 0.06);
}

.privacy-policy-practical-note p {
  max-width: 66ch;
}

.privacy-policy-clause--caution {
  border-inline-start: 3px solid var(--color-map-amber);
  padding-inline-start: var(--space-4);
}

.privacy-policy-external-action {
  display: inline-flex;
  min-height: 2.75rem;
  align-items: center;
  margin-block-start: var(--space-2);
  font-weight: 600;
}

.privacy-policy-independence {
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
  width: 100%;
  max-width: 62ch;
  margin-block-start: var(--space-6);
  border: var(--border-dark);
  border-block-start: 3px solid var(--color-route-red);
  border-radius: var(--radius-lg);
  padding: var(--space-5);
}

.privacy-policy-independence > * {
  min-width: 0;
  margin: 0;
}

.privacy-policy-independence h3 {
  color: var(--color-paper-50);
}

.privacy-policy-independence p {
  color: var(--color-lane-white);
  max-width: 62ch;
}

.privacy-policy-clause--route {
  border-block-start: 1px solid var(--color-border-light);
  padding-block-start: var(--space-5);
}

.privacy-policy-limitation-note {
  max-width: 58ch !important;
  border-inline-start: 3px solid var(--color-graphite-700);
  padding-inline-start: var(--space-3);
  color: var(--color-ink-500);
  font-size: var(--text-utility);
  line-height: var(--leading-utility);
}

.privacy-policy-effective-reminder {
  color: var(--color-ink-500);
  font-size: var(--text-utility);
  line-height: var(--leading-utility);
}

.privacy-policy-contact-section {
  margin-block-end: var(--space-8);
}

.privacy-policy-contact-panel {
  display: flex;
  flex-direction: column;
  gap: var(--space-5);
  width: 100%;
  max-width: 46.25rem;
  border: var(--border-dark);
  border-block-start: 3px solid var(--color-route-red);
  border-radius: var(--radius-lg);
  padding: var(--space-6);
}

.privacy-policy-contact-panel > * {
  min-width: 0;
}

.privacy-policy-contact-panel__copy {
  width: 100%;
  max-width: 60ch;
}

.privacy-policy-contact-panel__copy p {
  margin: 0;
  color: var(--color-lane-white);
}

.privacy-policy-contact-panel__action {
  width: fit-content;
  min-width: 0;
}

@media (max-width: 1100px) {
  .privacy-policy-intro__container {
    grid-template-columns: minmax(0, 12rem) minmax(0, 46.25rem) minmax(0, 1fr);
  }

  .privacy-policy-layout {
    grid-template-columns: minmax(13.75rem, 15rem) minmax(0, 46.25rem);
    column-gap: var(--space-5);
  }

  .privacy-policy-cookies__motif {
    display: none;
  }
}

@media (max-width: 899px) {
  .privacy-policy-intro__container {
    display: block;
  }

  .privacy-policy-intro__reading {
    width: 100%;
  }

  .privacy-policy-layout {
    display: flex;
    flex-direction: column;
    gap: var(--space-7);
  }

  .privacy-policy-layout > * {
    width: 100%;
  }

  .privacy-policy-index {
    position: static;
    border: var(--border-light);
    border-inline-start: 3px solid var(--color-route-red);
    border-radius: var(--radius-lg);
    background: var(--color-paper-100);
    padding: var(--space-4);
  }

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

  .privacy-policy-index__list > li:last-child {
    border-block-end: 0;
  }

  .privacy-policy-article {
    max-width: 46.25rem;
  }
}

@media (max-width: 719px) {
  .privacy-policy-intro {
    padding-block: var(--space-7);
  }

  .privacy-policy-intro__reading h1 {
    font-size: 1.875rem;
    line-height: 1.133;
  }

  .privacy-policy-intro__scope {
    padding: var(--space-4);
  }

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

  .privacy-policy-layout {
    gap: var(--space-6);
  }

  .privacy-policy-index__list {
    display: flex;
    flex-direction: column;
    gap: 0;
  }

  .privacy-policy-index__list > li:last-child {
    border-block-end: 1px solid var(--color-border-light);
  }

  .privacy-policy-article__section + .privacy-policy-article__section {
    margin-block-start: var(--space-8);
  }

  .privacy-policy-use-list > li {
    grid-template-columns: 1.75rem minmax(0, 1fr);
    column-gap: var(--space-2);
  }

  .privacy-policy-use-list__marker {
    width: 1.75rem;
    font-size: 0.6875rem;
  }

  .privacy-policy-clause--caution {
    padding-inline-start: var(--space-3);
  }

  .privacy-policy-independence,
  .privacy-policy-contact-panel {
    padding: var(--space-5);
  }

  .privacy-policy-limitation-note {
    max-width: none !important;
  }
}

@media (max-width: 479px) {
  .privacy-policy-intro__scope-meta {
    align-items: flex-start;
    flex-direction: column;
    gap: var(--space-1);
  }

  .privacy-policy-index {
    padding: var(--space-3);
  }

  .privacy-policy-index__list a {
    grid-template-columns: 1.5rem minmax(0, 1fr);
    font-size: 0.9375rem;
  }

  .privacy-policy-contact-panel__action {
    width: 100%;
  }
}


.city-exploration-guide {
  background: var(--color-paper-50);
}

.city-exploration-guide .ceg-hero {
  position: relative;
  overflow: hidden;
  padding-block: var(--space-9);
}

.city-exploration-guide .ceg-hero::after {
  position: absolute;
  inset: 0 0 0 auto;
  width: 13%;
  opacity: 0.18;
  background: repeating-linear-gradient(180deg, transparent 0 22px, var(--color-lane-white) 22px 30px, transparent 30px 54px);
  content: "";
  pointer-events: none;
}

.city-exploration-guide .ceg-hero__grid,
.city-exploration-guide .ceg-feature__grid,
.city-exploration-guide .ceg-source__panel {
  display: grid;
  grid-template-columns: minmax(0, 7fr) minmax(0, 5fr);
  gap: var(--space-6);
  align-items: center;
}

.city-exploration-guide .ceg-hero__copy,
.city-exploration-guide .ceg-feature__copy,
.city-exploration-guide .ceg-source__copy,
.city-exploration-guide .ceg-hero__media,
.city-exploration-guide .ceg-feature__media,
.city-exploration-guide .ceg-source__motif {
  min-width: 0;
  width: 100%;
}

.city-exploration-guide .ceg-hero__copy {
  position: relative;
  z-index: 1;
  max-width: 54ch;
}

.city-exploration-guide .ceg-hero__copy .lead {
  max-width: 52ch;
}

.city-exploration-guide .ceg-hero__actions {
  margin-block-end: var(--space-3);
}

.city-exploration-guide .ceg-hero__helper {
  margin-block-end: var(--space-5);
  color: var(--color-lane-white);
  font-size: var(--text-utility);
  line-height: var(--leading-utility);
}

.city-exploration-guide .ceg-boundary {
  max-width: 44ch;
  border-color: var(--color-route-red);
}

.city-exploration-guide .ceg-boundary p {
  margin-block-end: 0;
  color: var(--color-lane-white);
  font-size: var(--text-utility);
  line-height: var(--leading-utility);
}

.city-exploration-guide .ceg-hero__media {
  position: relative;
  z-index: 1;
  margin: 0;
}

.city-exploration-guide .ceg-hero__media img {
  width: 100%;
  aspect-ratio: 16 / 9;
  object-fit: cover;
  object-position: center;
}

.city-exploration-guide .ceg-hero__media figcaption,
.city-exploration-guide .ceg-feature__media figcaption {
  max-width: 54ch;
}

.city-exploration-guide .ceg-orientation__intro {
  width: min(100%, 45rem);
  margin-inline: auto;
}

.city-exploration-guide .ceg-sequence {
  display: grid;
  grid-template-columns: 4.5rem minmax(0, 45rem);
  justify-content: center;
  margin-block-start: var(--space-6);
}

.city-exploration-guide .ceg-sequence__item {
  display: contents;
}

.city-exploration-guide .ceg-sequence__number {
  min-width: 0;
  padding-block: var(--space-1) var(--space-6);
  color: var(--color-route-red);
  font-family: var(--font-heading);
  font-size: 2rem;
  font-weight: 700;
  line-height: 1;
}

.city-exploration-guide .ceg-sequence__copy {
  min-width: 0;
  padding-block-end: var(--space-6);
  border-inline-start: 1px solid var(--color-map-amber);
  padding-inline-start: var(--space-5);
}

.city-exploration-guide .ceg-sequence__copy h3 {
  margin-block-start: 0;
}

.city-exploration-guide .ceg-sequence__copy p {
  max-width: 45rem;
}

.city-exploration-guide .ceg-sequence__copy > :last-child {
  margin-block-end: 0;
}

.city-exploration-guide .ceg-observation {
  position: relative;
}

.city-exploration-guide .ceg-observation::before {
  position: absolute;
  inset: 14% auto auto 2%;
  width: 10rem;
  height: 10rem;
  opacity: 0.12;
  background-image: linear-gradient(var(--color-graphite-700) 1px, transparent 1px), linear-gradient(90deg, var(--color-graphite-700) 1px, transparent 1px);
  background-size: 1.5rem 1.5rem;
  content: "";
  pointer-events: none;
}

.city-exploration-guide .ceg-observation__heading {
  position: relative;
  z-index: 1;
  width: min(100%, 62ch);
}

.city-exploration-guide .ceg-observation__cards,
.city-exploration-guide .ceg-resets__grid,
.city-exploration-guide .ceg-checklist__grid,
.city-exploration-guide .ceg-related__grid {
  display: grid;
  gap: var(--space-5);
}

.city-exploration-guide .ceg-observation__cards {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin-block-start: var(--space-6);
}

.city-exploration-guide .ceg-observation__card {
  min-width: 0;
  width: 100%;
}

.city-exploration-guide .ceg-observation__card p:not(.meta) {
  max-width: 31ch;
}

.city-exploration-guide .ceg-ticks {
  width: 4.5rem;
  height: 0.45rem;
  margin-block-end: var(--space-4);
  background: repeating-linear-gradient(90deg, var(--color-map-amber) 0 2px, transparent 2px 12px);
}

.city-exploration-guide .ceg-feature__copy {
  max-width: 45rem;
}

.city-exploration-guide .ceg-feature__units {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: var(--space-5);
}

.city-exploration-guide .ceg-feature__units > div {
  min-width: 0;
  width: 100%;
}

.city-exploration-guide .ceg-feature__units h3 {
  margin-block-start: 0;
}

.city-exploration-guide .ceg-feature__units p {
  max-width: 68ch;
}

.city-exploration-guide .ceg-feature__units > div > :last-child {
  margin-block-end: 0;
}

.city-exploration-guide .ceg-feature__media {
  margin: 0;
  border-inline-start: 1px solid var(--color-route-red);
  padding-inline-start: var(--space-5);
}

.city-exploration-guide .ceg-feature__media img {
  width: 100%;
  aspect-ratio: 3 / 2;
  object-fit: cover;
  object-position: center;
}

.city-exploration-guide .ceg-resets__heading {
  width: min(100%, 64ch);
}

.city-exploration-guide .ceg-resets__grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin-block-start: var(--space-6);
}

.city-exploration-guide .ceg-reset-card {
  min-width: 0;
  width: 100%;
}

.city-exploration-guide .ceg-reset-card p:not(.meta) {
  max-width: 36ch;
}

.city-exploration-guide .ceg-reset-card--rule {
  border-inline-start: 3px solid var(--color-route-red);
}

.city-exploration-guide .ceg-checklist__header {
  border-block-start: 3px solid var(--color-graphite-900);
  padding-block-start: var(--space-5);
}

.city-exploration-guide .ceg-checklist__grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin-block-start: var(--space-6);
}

.city-exploration-guide .ceg-checklist__panel {
  min-width: 0;
  width: 100%;
}

.city-exploration-guide .ceg-checklist__panel h3 {
  margin-block-start: 0;
}

.city-exploration-guide .ceg-checklist__list {
  max-width: 42ch;
  margin-block-end: 0;
  padding-inline-start: 0;
  list-style: none;
}

.city-exploration-guide .ceg-checklist__list li {
  position: relative;
  padding-inline-start: var(--space-5);
}

.city-exploration-guide .ceg-checklist__list li::before {
  position: absolute;
  top: 0.63em;
  left: 0;
  width: 0.55rem;
  height: 0.55rem;
  border: 2px solid var(--color-success-green);
  border-radius: 50%;
  content: "";
}

.city-exploration-guide .ceg-checklist__note {
  width: min(100%, 58ch);
  margin-block-start: var(--space-5);
}

.city-exploration-guide .ceg-checklist__note p {
  margin-block-end: 0;
}

.city-exploration-guide .ceg-related__heading,
.city-exploration-guide .ceg-related__closing {
  width: min(100%, 62ch);
}

.city-exploration-guide .ceg-related__grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin-block-start: var(--space-6);
}

.city-exploration-guide .ceg-related__module {
  min-width: 0;
  width: 100%;
}

.city-exploration-guide .ceg-related__module p:not(.route-label) {
  max-width: 32ch;
}

.city-exploration-guide .ceg-related__module--decision {
  border-block-start: 3px solid var(--color-route-red);
}

.city-exploration-guide .ceg-related__closing {
  margin-block-start: var(--space-5);
}

.city-exploration-guide .ceg-related__closing p {
  margin-block-end: 0;
}

.city-exploration-guide .ceg-source__panel {
  position: relative;
  overflow: hidden;
  padding: var(--space-6);
}

.city-exploration-guide .ceg-source__copy {
  max-width: 64ch;
}

.city-exploration-guide .ceg-source__copy h2 {
  margin-block-start: 0;
}

.city-exploration-guide .ceg-source__copy h3 {
  margin-block-start: var(--space-5);
}

.city-exploration-guide .ceg-source__copy p {
  max-width: 64ch;
}

.city-exploration-guide .ceg-source__copy > :last-child {
  margin-block-end: 0;
}

.city-exploration-guide .ceg-source__copy a {
  color: var(--color-paper-50);
  text-decoration-color: var(--color-map-amber);
}

.city-exploration-guide .ceg-source__copy a:hover {
  color: var(--color-map-amber);
}

.city-exploration-guide .ceg-source__motif {
  align-self: stretch;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--space-4);
  opacity: 0.2;
  padding: var(--space-5);
}

.city-exploration-guide .ceg-source__motif span {
  min-width: 0;
  width: 100%;
  border-inline-start: 2px solid var(--color-map-amber);
  background: repeating-linear-gradient(180deg, transparent 0 18px, var(--color-lane-white) 18px 24px, transparent 24px 42px);
  transform: skewX(-12deg);
}

.city-exploration-guide .ceg-final {
  position: relative;
  overflow: hidden;
}

.city-exploration-guide .ceg-final::before {
  position: absolute;
  inset: auto 0 0;
  height: 0.5rem;
  background: repeating-linear-gradient(90deg, var(--color-route-red) 0 3rem, transparent 3rem 5rem);
  content: "";
  opacity: 0.65;
}

.city-exploration-guide .ceg-final__block {
  position: relative;
  z-index: 1;
  display: flex;
  width: min(100%, 38.75rem);
  min-width: 0;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-4);
  margin-inline: auto;
}

.city-exploration-guide .ceg-final__block > * {
  min-width: 0;
  margin: 0;
}

.city-exploration-guide .ceg-final__block p {
  max-width: 52ch;
}

@media (max-width: 959px) {
  .city-exploration-guide .ceg-observation__cards {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .city-exploration-guide .ceg-related__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 799px) {
  .city-exploration-guide .ceg-sequence {
    grid-template-columns: minmax(0, 1fr);
    gap: var(--space-5);
  }

  .city-exploration-guide .ceg-sequence__item {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: var(--space-2);
  }

  .city-exploration-guide .ceg-sequence__number {
    padding-block: 0;
  }

  .city-exploration-guide .ceg-sequence__copy {
    padding-block-end: 0;
    border-inline-start: 0;
    border-block-start: 1px solid var(--color-map-amber);
    padding-inline-start: 0;
    padding-block-start: var(--space-4);
  }

  .city-exploration-guide .ceg-checklist__grid {
    grid-template-columns: minmax(0, 1fr);
  }
}

@media (max-width: 759px) {
  .city-exploration-guide .ceg-feature__grid,
  .city-exploration-guide .ceg-source__panel {
    grid-template-columns: minmax(0, 1fr);
  }

  .city-exploration-guide .ceg-feature__media {
    border-inline-start: 0;
    border-block-start: 1px solid var(--color-route-red);
    padding-inline-start: 0;
    padding-block-start: var(--space-5);
  }

  .city-exploration-guide .ceg-feature__media img {
    aspect-ratio: 4 / 3;
  }

  .city-exploration-guide .ceg-source__motif {
    display: none;
  }
}

@media (max-width: 719px) {
  .city-exploration-guide .ceg-hero {
    padding-block: var(--space-8);
  }

  .city-exploration-guide .ceg-hero__grid {
    grid-template-columns: minmax(0, 1fr);
    gap: var(--space-6);
  }

  .city-exploration-guide .ceg-hero__copy,
  .city-exploration-guide .ceg-hero__copy .lead,
  .city-exploration-guide .ceg-boundary {
    max-width: none;
  }

  .city-exploration-guide .ceg-hero__media img {
    aspect-ratio: 4 / 3;
    object-position: center;
  }

  .city-exploration-guide .ceg-observation__cards,
  .city-exploration-guide .ceg-resets__grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .city-exploration-guide .ceg-observation__card p:not(.meta),
  .city-exploration-guide .ceg-reset-card p:not(.meta) {
    max-width: none;
  }
}

@media (max-width: 679px) {
  .city-exploration-guide .ceg-related__grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .city-exploration-guide .ceg-related__module p:not(.route-label) {
    max-width: none;
  }
}

@media (max-width: 599px) {
  .city-exploration-guide .ceg-hero::after {
    width: 7%;
  }

  .city-exploration-guide .ceg-source__panel {
    padding: var(--space-5);
  }

  .city-exploration-guide .ceg-final__block {
    width: 100%;
    margin-inline: 0;
  }
}


.gameplay-guide-page { background: var(--color-paper-50); }
.gameplay-guide-page section { scroll-margin-top: 5rem; }
.gameplay-guide-page .gg-hero { position: relative; overflow: hidden; padding-block: var(--space-9); }
.gameplay-guide-page .gg-hero::before { position: absolute; inset: 0; opacity: .18; background: repeating-linear-gradient(90deg, transparent 0 46px, var(--color-lane-white) 46px 62px, transparent 62px 110px); content: ""; pointer-events: none; }
.gameplay-guide-page .gg-hero__layout { position: relative; display: grid; grid-template-columns: minmax(0, 7fr) minmax(320px, 5fr); gap: var(--space-6); align-items: center; }
.gameplay-guide-page .gg-hero__copy { min-width: 0; max-width: 60ch; }
.gameplay-guide-page .gg-hero__position { max-width: 48ch; color: var(--color-lane-white); font-size: var(--text-utility); }
.gameplay-guide-page .gg-hero__actions { align-items: flex-start; }
.gameplay-guide-page .gg-hero__action-note { max-width: 48ch; margin: 0; color: var(--color-lane-white); font-size: var(--text-utility); }
.gameplay-guide-page .gg-hero__media { width: 100%; min-width: 0; margin: 0; }
.gameplay-guide-page .gg-hero__media img { width: 100%; aspect-ratio: 16 / 9; object-position: 68% center; }
.gameplay-guide-page .gg-hero__media figcaption { padding: var(--space-2) var(--space-3) var(--space-3); }
.gameplay-guide-page .gg-first-session__container { width: min(100% - (var(--gutter) * 2), 56.25rem); margin-inline: auto; }
.gameplay-guide-page .gg-first-session__intro { max-width: 72ch; }
.gameplay-guide-page .gg-step-list { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--space-5); margin: var(--space-6) 0 0; padding: 0; list-style: none; }
.gameplay-guide-page .gg-step-list__item { display: grid; grid-template-columns: 3rem minmax(0, 1fr); gap: var(--space-4); min-width: 0; }
.gameplay-guide-page .gg-step-list__rail { position: relative; width: 3rem; min-width: 0; color: var(--color-map-amber); font-family: var(--font-heading); font-size: 1.25rem; font-weight: 700; }
.gameplay-guide-page .gg-step-list__rail::after { position: absolute; top: 2rem; bottom: calc(var(--space-5) * -1); left: .45rem; width: 1px; background: var(--color-border-light); content: ""; }
.gameplay-guide-page .gg-step-list__item:last-child .gg-step-list__rail::after { display: none; }
.gameplay-guide-page .gg-step-list__content { min-width: 0; max-width: 45rem; }
.gameplay-guide-page .gg-step-list__content h3 { margin-block-start: 0; }
.gameplay-guide-page .gg-step-list__inset { border: var(--border-light); background: var(--color-paper-100); padding: var(--space-3) var(--space-4); }
.gameplay-guide-page .gg-response__intro { max-width: 62ch; }
.gameplay-guide-page .gg-response__cards { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-5); margin-top: var(--space-6); }
.gameplay-guide-page .gg-response-card { min-width: 0; padding: var(--space-5); }
.gameplay-guide-page .gg-response-card--accent { border-top: 3px solid var(--color-route-red); }
.gameplay-guide-page .gg-response-card__indicator { width: 3rem; height: .5rem; margin-bottom: var(--space-4); }
.gameplay-guide-page .gg-response-card__indicator--accel { background: linear-gradient(90deg, var(--color-route-red) 0 30%, var(--color-border-light) 30% 45%, var(--color-border-light) 55% 70%, var(--color-border-light) 80% 100%); }
.gameplay-guide-page .gg-response-card__indicator--brake { border-left: .5rem solid var(--color-map-amber); border-bottom: 1px solid var(--color-border-light); }
.gameplay-guide-page .gg-response-card__indicator--camera { border: 1px solid var(--color-graphite-700); background: linear-gradient(90deg, transparent 0 18%, var(--color-graphite-700) 18% 22%, transparent 22% 78%, var(--color-graphite-700) 78% 82%, transparent 82%); }
.gameplay-guide-page .gg-drift__layout { display: grid; grid-template-columns: minmax(0, 7fr) minmax(320px, 5fr); gap: var(--space-6); align-items: start; }
.gameplay-guide-page .gg-drift__copy { min-width: 0; max-width: 64ch; }
.gameplay-guide-page .gg-drift__copy h3 { display: flex; gap: var(--space-3); align-items: baseline; }
.gameplay-guide-page .gg-drift__copy h3 span { color: var(--color-route-red); font-size: var(--text-utility); letter-spacing: .08em; }
.gameplay-guide-page .gg-drift__media { width: 100%; min-width: 0; margin: 0; }
.gameplay-guide-page .gg-drift__media img { width: 100%; aspect-ratio: 3 / 2; object-position: 62% center; }
.gameplay-guide-page .gg-drift__media figcaption { padding: var(--space-2) var(--space-3) var(--space-3); }
.gameplay-guide-page .gg-explore__panel { position: relative; width: min(100%, 50rem); overflow: hidden; border: var(--border-light); border-radius: var(--radius-lg); background: var(--color-paper-100); padding: var(--space-6); }
.gameplay-guide-page .gg-explore__panel::before { position: absolute; inset: 0; opacity: .1; background-image: linear-gradient(var(--color-graphite-700) 1px, transparent 1px), linear-gradient(90deg, var(--color-graphite-700) 1px, transparent 1px); background-size: 28px 28px; content: ""; pointer-events: none; }
.gameplay-guide-page .gg-explore__intro, .gameplay-guide-page .gg-checklist { position: relative; }
.gameplay-guide-page .gg-explore__intro { max-width: 62ch; }
.gameplay-guide-page .gg-checklist { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--space-5); margin-top: var(--space-5); }
.gameplay-guide-page .gg-checklist__item { display: grid; grid-template-columns: 2rem minmax(0, 1fr); gap: var(--space-3); min-width: 0; }
.gameplay-guide-page .gg-checklist__marker { width: 2rem; min-width: 0; color: var(--color-success-green); font-weight: 700; }
.gameplay-guide-page .gg-checklist__copy { min-width: 0; max-width: 64ch; }
.gameplay-guide-page .gg-checklist__copy h3 { margin-block-start: 0; }
.gameplay-guide-page .gg-practice { position: relative; overflow: hidden; }
.gameplay-guide-page .gg-practice__panel { padding: var(--space-6); }
.gameplay-guide-page .gg-practice__heading { max-width: 56ch; }
.gameplay-guide-page .gg-practice__stages { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--space-5); margin-top: var(--space-6); }
.gameplay-guide-page .gg-practice-stage { position: relative; min-width: 0; padding-top: var(--space-4); }
.gameplay-guide-page .gg-practice-stage::before { position: absolute; top: .35rem; right: calc(50% + 1rem); left: -1.5rem; height: 1px; background: var(--color-graphite-700); content: ""; }
.gameplay-guide-page .gg-practice-stage:first-child::before { display: none; }
.gameplay-guide-page .gg-practice-stage__dot { position: absolute; top: 0; left: 0; width: .75rem; height: .75rem; border-radius: 50%; background: var(--color-map-amber); }
.gameplay-guide-page .gg-practice-stage--final { border-bottom: 3px solid var(--color-route-red); }
.gameplay-guide-page .gg-practice-stage .meta { color: var(--color-map-amber); }
.gameplay-guide-page .gg-troubleshoot__container { width: min(100% - (var(--gutter) * 2), 57.5rem); margin-inline: auto; }
.gameplay-guide-page .gg-troubleshoot__heading { max-width: 72ch; }
.gameplay-guide-page .gg-diagnostics { display: grid; grid-template-columns: minmax(0, 1fr); margin-top: var(--space-6); }
.gameplay-guide-page .gg-diagnostic { display: grid; grid-template-columns: 11.25rem minmax(0, 1fr); gap: var(--space-5); min-width: 0; padding-block: var(--space-5); border-top: var(--border-light); }
.gameplay-guide-page .gg-diagnostic__issue, .gameplay-guide-page .gg-diagnostic__response { min-width: 0; }
.gameplay-guide-page .gg-diagnostic__issue h3 { margin-block: var(--space-2) 0; }
.gameplay-guide-page .gg-diagnostic__response { max-width: 66ch; }
.gameplay-guide-page .gg-controls-note { max-width: 56ch; margin-top: var(--space-5); padding: var(--space-4); border-block: var(--border-light); background: var(--color-paper-100); }
.gameplay-guide-page .gg-controls-note h3 { margin-block-start: 0; }
.gameplay-guide-page .gg-related__intro { max-width: 58ch; }
.gameplay-guide-page .gg-related__cards { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-5); margin-top: var(--space-6); }
.gameplay-guide-page .gg-related-card { display: flex; flex-direction: column; align-items: stretch; gap: var(--space-3); min-width: 0; }
.gameplay-guide-page .gg-related-card > * { min-width: 0; margin: 0; }
.gameplay-guide-page .gg-related-card h3 { font-size: var(--text-h3); }
.gameplay-guide-page .gg-related-card a { margin-top: auto; font-weight: 600; }
.gameplay-guide-page .gg-related-card:hover { border-color: var(--color-route-red); }
.gameplay-guide-page .gg-related-card__graphite-label { display: flex; align-items: center; gap: var(--space-2); color: var(--color-graphite-700); font-family: var(--font-heading); font-size: var(--text-meta); font-weight: 700; letter-spacing: .08em; line-height: var(--leading-meta); text-transform: uppercase; }
.gameplay-guide-page .gg-related-card__graphite-label::before { width: .5rem; height: .5rem; border-radius: 50%; background: currentColor; content: ""; }
.gameplay-guide-page .gg-source__panel { width: min(100%, 47.5rem); border: var(--border-light); border-radius: var(--radius-lg); background: var(--color-paper-100); padding: var(--space-5); }
.gameplay-guide-page .gg-source__panel > h2 { margin-block-start: 0; }
.gameplay-guide-page .gg-source__row { max-width: 41.25rem; padding-block: var(--space-4); }
.gameplay-guide-page .gg-source__row + .gg-source__row { border-top: var(--border-light); }
.gameplay-guide-page .gg-source__row h3 { margin-block-start: 0; }
.gameplay-guide-page .gg-final { padding-top: 0; }
.gameplay-guide-page .gg-final__panel { display: flex; align-items: center; justify-content: space-between; gap: var(--space-6); padding: var(--space-6); }
.gameplay-guide-page .gg-final__copy { min-width: 0; max-width: 54ch; }
.gameplay-guide-page .gg-final__copy > :last-child { margin-block-end: 0; }
.gameplay-guide-page .gg-final__action { flex: 0 0 auto; min-width: 0; }
@media (max-width: 899px) {
.gameplay-guide-page .gg-hero__layout, .gameplay-guide-page .gg-drift__layout { grid-template-columns: minmax(0, 1fr); }
.gameplay-guide-page .gg-hero__copy, .gameplay-guide-page .gg-drift__copy { max-width: 64ch; }
.gameplay-guide-page .gg-hero__media img { aspect-ratio: 4 / 3; }
.gameplay-guide-page .gg-drift__media { order: 2; }
.gameplay-guide-page .gg-drift__media img { aspect-ratio: 4 / 3; }
.gameplay-guide-page .gg-response__cards, .gameplay-guide-page .gg-related__cards { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.gameplay-guide-page .gg-response__cards > :last-child, .gameplay-guide-page .gg-related__cards > :last-child { grid-column: 1 / -1; }
.gameplay-guide-page .gg-practice__stages { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.gameplay-guide-page .gg-practice-stage:nth-child(3)::before { display: none; }
}
@media (max-width: 699px) {
.gameplay-guide-page .gg-final__panel { flex-direction: column; align-items: stretch; }
.gameplay-guide-page .gg-final__action { width: 100%; }
.gameplay-guide-page .gg-final__action .button { width: 100%; }
.gameplay-guide-page .gg-diagnostic { grid-template-columns: minmax(0, 1fr); gap: var(--space-2); }
.gameplay-guide-page .gg-diagnostic__response { max-width: 100%; }
}
@media (max-width: 679px) {
.gameplay-guide-page .gg-practice__stages { grid-template-columns: minmax(0, 1fr); gap: var(--space-4); }
.gameplay-guide-page .gg-practice-stage { padding-left: var(--space-5); padding-top: 0; border-bottom: 0; }
.gameplay-guide-page .gg-practice-stage::before { top: -1rem; bottom: calc(100% - .25rem); right: auto; left: .35rem; width: 1px; height: auto; }
.gameplay-guide-page .gg-practice-stage:first-child::before { display: none; }
.gameplay-guide-page .gg-practice-stage__dot { top: .2rem; left: 0; }
.gameplay-guide-page .gg-practice-stage--final { border-bottom: 3px solid var(--color-route-red); padding-bottom: var(--space-3); }
}
@media (max-width: 619px) {
.gameplay-guide-page .gg-response__cards, .gameplay-guide-page .gg-related__cards { grid-template-columns: minmax(0, 1fr); gap: var(--space-4); }
.gameplay-guide-page .gg-response__cards > :last-child, .gameplay-guide-page .gg-related__cards > :last-child { grid-column: auto; }
}
@media (max-width: 479px) {
.gameplay-guide-page .gg-hero { padding-block: var(--space-7); }
.gameplay-guide-page .gg-hero__layout { gap: var(--space-5); }
.gameplay-guide-page .gg-hero__actions { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--space-3); }
.gameplay-guide-page .gg-hero__actions .button { width: 100%; }
.gameplay-guide-page .gg-step-list__item { grid-template-columns: minmax(0, 1fr); gap: var(--space-2); }
.gameplay-guide-page .gg-step-list__rail { width: auto; }
.gameplay-guide-page .gg-step-list__rail::after { display: none; }
.gameplay-guide-page .gg-explore__panel, .gameplay-guide-page .gg-practice__panel, .gameplay-guide-page .gg-final__panel { padding: var(--space-5); }
.gameplay-guide-page .gg-checklist__item { grid-template-columns: 1.5rem minmax(0, 1fr); gap: var(--space-2); }
.gameplay-guide-page .gg-checklist__marker { width: 1.5rem; }
}


.game-features-page {
  background: var(--color-paper-50);
}

.game-features-page .section {
  position: relative;
}

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

.gf-hero::after {
  position: absolute;
  inset: 0 auto 0 8%;
  width: 2px;
  background: repeating-linear-gradient(to bottom, transparent 0 20px, rgba(217, 224, 220, 0.16) 20px 34px);
  content: "";
  pointer-events: none;
}

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

.gf-hero__copy,
.gf-hero__media {
  min-width: 0;
  width: 100%;
}

.gf-hero__copy {
  max-width: 58ch;
}

.gf-hero__copy .display-heading {
  font-size: clamp(2.75rem, 2.25rem + 2.2vw, 3.5rem);
  margin-block-end: var(--space-5);
}

.gf-hero__copy .lead {
  max-width: 56ch;
  margin-block-end: 0;
}

.gf-hero__actions {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-3);
  margin-block-start: var(--space-5);
  min-width: 0;
}

.gf-hero__source,
.gf-hero__independence {
  color: var(--color-lane-white);
  font-size: var(--text-utility);
  line-height: var(--leading-utility);
  margin: 0;
}

.gf-hero__independence {
  max-width: 58ch;
  margin-block-start: var(--space-4);
}

.gf-hero__media {
  margin: 0;
}

.gf-hero__media > img {
  aspect-ratio: 16 / 9;
  object-position: 68% center;
}

.gf-hero__media figcaption {
  padding: var(--space-2) var(--space-3) var(--space-3);
}

.gf-systems {
  background: var(--color-paper-100);
}

.gf-systems__heading {
  max-width: 64ch;
}

.gf-systems__heading > :last-child,
.gf-condition__heading > :last-child,
.gf-drift__intro > :last-child,
.gf-connection__heading > :last-child,
.gf-next-routes__heading > :last-child {
  margin-block-end: 0;
}

.gf-systems__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--space-4);
  margin-block-start: var(--space-6);
}

.gf-system-card {
  display: grid;
  grid-template-columns: 2rem minmax(0, 1fr);
  gap: var(--space-3);
  min-width: 0;
  width: 100%;
  border-top: 1px solid var(--color-border-light);
  padding: var(--space-4) 0;
  color: var(--color-ink-900);
  text-decoration: none;
}

.gf-system-card:hover,
.gf-system-card:focus-visible {
  color: var(--color-route-red-dark);
}

.gf-system-card__number {
  color: var(--color-route-red);
  font-family: var(--font-heading);
  font-size: 1.25rem;
  font-weight: 700;
  line-height: 1;
}

.gf-system-card span > span,
.gf-system-card strong {
  display: block;
}

.gf-system-card strong {
  margin-block-end: var(--space-2);
  font-family: var(--font-heading);
  font-size: var(--text-h3);
  line-height: var(--leading-heading);
}

.gf-system-card span > span {
  color: var(--color-ink-500);
  font-size: var(--text-utility);
  line-height: var(--leading-utility);
}

.gf-foundation::before,
.gf-exploration::before {
  position: absolute;
  top: 30%;
  left: max(var(--gutter), calc((100% - var(--container-max)) / 2));
  width: 1px;
  height: 6rem;
  background: repeating-linear-gradient(to bottom, var(--color-map-amber) 0 5px, transparent 5px 12px);
  content: "";
  opacity: 0.45;
}

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

.gf-foundation__reading,
.gf-exploration__reading {
  min-width: 0;
  width: 100%;
  max-width: 45rem;
}

.gf-foundation__keyline {
  min-width: 0;
  width: 100%;
  align-self: center;
  border: var(--border-light);
  border-left: 3px solid var(--color-route-red);
  border-radius: var(--radius-lg);
  background: var(--color-paper-100);
  padding: var(--space-5);
}

.gf-foundation__keyline p:last-child {
  margin: 0;
  font-family: var(--font-heading);
  font-size: var(--text-h3);
  font-weight: 700;
  line-height: 1.1;
}

.gf-drift {
  background: #efede5;
}

.gf-drift__intro {
  max-width: 60ch;
  margin-block-end: var(--space-6);
}

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

.gf-drift__media,
.gf-drift__content {
  min-width: 0;
  width: 100%;
}

.gf-drift__media > img {
  aspect-ratio: 3 / 2;
  object-position: 62% center;
}

.gf-drift__media figcaption {
  padding: var(--space-2) var(--space-3) var(--space-3);
}

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

.gf-drift__explanation,
.gf-drift__next {
  min-width: 0;
  width: 100%;
}

.gf-drift__explanation {
  border-top: 3px solid var(--color-route-red);
}

.gf-drift__explanation h3,
.gf-drift__next h3 {
  margin-block-start: 0;
}

.gf-drift__next {
  max-width: 40ch;
}

.gf-exploration__note {
  min-width: 0;
  width: 100%;
  max-width: 27rem;
  align-self: center;
}

.gf-exploration__note h3 {
  margin-block-start: 0;
}

.gf-condition {
  background: var(--color-paper-100);
}

.gf-condition__heading {
  max-width: 60ch;
}

.gf-condition__cards {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-5);
  margin-block-start: var(--space-6);
}

.gf-condition-card {
  min-width: 0;
  width: 100%;
}

.gf-condition-card h3 {
  margin-block-start: 0;
}

.gf-condition-card__marker {
  width: 4rem;
  height: 3px;
  margin-block-end: var(--space-4);
}

.gf-condition-card__marker--amber {
  background: var(--color-map-amber);
}

.gf-condition-card__marker--red {
  background: var(--color-route-red);
}

.gf-condition__note {
  min-width: 0;
  width: 100%;
  margin-block-start: var(--space-5);
  padding: var(--space-5);
}

.gf-condition__note p:last-child {
  max-width: 54ch;
  margin-block-end: 0;
}

.gf-connection__inner {
  max-width: 57.5rem;
}

.gf-connection__heading {
  max-width: 42rem;
}

.gf-route-steps {
  display: flex;
  flex-direction: column;
  gap: var(--space-5);
  margin-block-start: var(--space-6);
}

.gf-route-step {
  display: grid;
  grid-template-columns: 7.5rem minmax(0, 1fr);
  min-width: 0;
  width: 100%;
}

.gf-route-step__rail,
.gf-route-step__copy {
  min-width: 0;
}

.gf-route-step__rail {
  position: relative;
  width: 100%;
}

.gf-route-step__rail::after {
  position: absolute;
  top: 3.5rem;
  bottom: calc(var(--space-5) * -1);
  left: 1.5rem;
  width: 1px;
  background: repeating-linear-gradient(to bottom, var(--color-graphite-700) 0 5px, transparent 5px 11px);
  content: "";
  opacity: 0.55;
}

.gf-route-step:last-child .gf-route-step__rail::after {
  display: none;
}

.gf-route-step__rail span {
  display: grid;
  width: 3rem;
  height: 3rem;
  place-items: center;
  border: 1px solid var(--color-route-red);
  border-radius: 50%;
  background: var(--color-paper-100);
  color: var(--color-route-red);
  font-family: var(--font-heading);
  font-size: 1.75rem;
  font-weight: 700;
  line-height: 1;
}

.gf-route-step__copy {
  max-width: 40rem;
}

.gf-route-step__copy h3 {
  margin-block-start: 0;
}

.gf-connection__takeaway {
  min-width: 0;
  width: calc(100% - 7.5rem);
  max-width: 40rem;
  margin-block-start: var(--space-6);
  margin-inline-start: 7.5rem;
}

.gf-connection__takeaway p:last-child {
  margin-block-end: 0;
}

.gf-next-routes {
  background: #efede5;
}

.gf-next-routes__heading {
  max-width: 58ch;
}

.gf-next-routes__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--space-5);
  margin-block-start: var(--space-6);
}

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

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

.gf-next-route .button-link {
  min-height: 2.75rem;
  margin-block-start: auto;
}

.gf-checkpoint {
  padding-block: var(--space-8);
}

.gf-checkpoint__panel {
  position: relative;
  overflow: hidden;
  padding: var(--space-8) var(--space-5);
}

.gf-checkpoint__panel::after {
  position: absolute;
  right: 8%;
  bottom: 0;
  width: 2px;
  height: 50%;
  background: repeating-linear-gradient(to bottom, transparent 0 18px, rgba(217, 224, 220, 0.16) 18px 31px);
  content: "";
}

.gf-checkpoint__copy {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--space-4);
  min-width: 0;
  width: min(100%, 40rem);
  margin-inline: auto;
  position: relative;
  z-index: 1;
  text-align: center;
}

.gf-checkpoint__copy > * {
  margin: 0;
}

.gf-checkpoint__copy .eyebrow {
  align-self: center;
}

.gf-checkpoint__note {
  max-width: 62ch;
  color: var(--color-lane-white);
  font-size: var(--text-utility);
  line-height: var(--leading-utility);
}

.gf-boundary {
  padding-block-end: var(--space-9);
}

.gf-boundary__content {
  width: min(100%, 46.25rem);
  margin-inline: auto;
}

.gf-boundary__note {
  border-top: var(--border-light);
  padding-block: var(--space-5);
}

.gf-boundary__note:last-child {
  border-bottom: var(--border-light);
}

.gf-boundary__note .meta {
  margin-block-end: var(--space-3);
}

.gf-boundary__note p:last-child {
  margin-block-end: 0;
}

@media (max-width: 899px) {
  .gf-hero__grid,
  .gf-foundation__grid,
  .gf-exploration__grid,
  .gf-drift__grid {
    grid-template-columns: 1fr;
  }

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

  .gf-hero__copy,
  .gf-foundation__reading,
  .gf-exploration__reading {
    max-width: 46rem;
  }

  .gf-hero__media {
    max-width: 46rem;
  }

  .gf-foundation__keyline,
  .gf-exploration__note {
    max-width: 46rem;
    align-self: start;
  }

  .gf-drift__media {
    max-width: 46rem;
  }

  .gf-drift__content {
    max-width: 46rem;
  }

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

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

  .gf-next-route:last-child {
    grid-column: 1 / -1;
  }

  .gf-route-step {
    grid-template-columns: 4rem minmax(0, 1fr);
  }

  .gf-connection__takeaway {
    width: calc(100% - 4rem);
    margin-inline-start: 4rem;
  }
}

@media (max-width: 719px) {
  .gf-hero {
    padding-block: var(--space-8);
  }

  .gf-hero::after,
  .gf-foundation::before,
  .gf-exploration::before {
    display: none;
  }

  .gf-hero__copy .display-heading {
    font-size: 2.25rem;
    line-height: 1.11;
  }

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

  .gf-hero__media > img {
    aspect-ratio: 4 / 3;
    object-position: center;
  }

  .gf-systems__grid,
  .gf-condition__cards,
  .gf-next-routes__grid {
    grid-template-columns: 1fr;
  }

  .gf-next-route:last-child {
    grid-column: auto;
  }

  .gf-drift__media > img {
    aspect-ratio: 4 / 3;
    object-position: center;
  }

  .gf-condition__note {
    padding: var(--space-5);
  }

  .gf-checkpoint__panel {
    padding: var(--space-6) var(--space-5);
  }
}

@media (max-width: 599px) {
  .gf-route-step {
    grid-template-columns: 1fr;
    gap: var(--space-3);
  }

  .gf-route-step__rail::after {
    display: none;
  }

  .gf-route-step__rail {
    height: 3rem;
  }

  .gf-route-step__copy {
    max-width: none;
  }

  .gf-connection__takeaway {
    width: 100%;
    max-width: none;
    margin-inline-start: 0;
  }

  .gf-checkpoint__panel::after {
    display: none;
  }
}


.about-page {
  overflow: clip;
}

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

.about-hero {
  position: relative;
  padding-block: var(--space-9);
  isolation: isolate;
}

.about-hero::before,
.about-close::before {
  position: absolute;
  z-index: -1;
  inset: 0;
  opacity: 0.16;
  background-image: linear-gradient(90deg, transparent 0 18%, var(--color-lane-white) 18% 20%, transparent 20% 36%, var(--color-lane-white) 36% 38%, transparent 38% 100%);
  background-size: 180px 2px;
  background-repeat: repeat-x;
  background-position: left 24px bottom 42px;
  content: "";
  pointer-events: none;
}

.about-hero__grid,
.about-lens__grid,
.about-context__grid,
.about-close__grid {
  display: grid;
  grid-template-columns: minmax(0, 7fr) minmax(20rem, 5fr);
  gap: var(--space-6);
  align-items: center;
}

.about-hero__copy,
.about-lens__visual,
.about-context__copy,
.about-close__copy,
.about-close__actions {
  min-width: 0;
}

.about-hero__copy {
  width: min(100%, 58ch);
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-3);
}

.about-hero__copy > :is(h1, p) {
  margin: 0;
}

.about-hero__copy .lead {
  margin-block-start: var(--space-2);
}

.about-independence {
  width: min(100%, 31.25rem);
  margin-block-start: var(--space-3);
  border-inline-start: 3px solid var(--color-route-red);
}

.about-independence .route-label,
.about-independence p {
  max-width: 46ch;
}

.about-hero__media {
  width: 100%;
  max-width: 100%;
  margin: 0;
}

.about-hero__media img {
  aspect-ratio: 16 / 9;
  object-position: center right;
}

.about-hero__media figcaption {
  padding: var(--space-3) var(--space-4);
  margin: 0;
}

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

.about-why__reading {
  width: min(100%, 70ch);
  min-width: 0;
}

.about-why__callout {
  width: 100%;
  min-width: 0;
  border: 1px solid color-mix(in srgb, var(--color-map-amber) 45%, var(--color-border-light));
  border-radius: var(--radius-lg);
  background: #fff7e8;
  padding: var(--space-5);
}

.about-why__callout > :last-child {
  margin-block-end: 0;
}

.about-why__tick {
  display: block;
  width: 2.5rem;
  height: 0.375rem;
  margin-block-end: var(--space-4);
  background: repeating-linear-gradient(90deg, var(--color-map-amber) 0 0.35rem, transparent 0.35rem 0.7rem);
}

.about-why__callout h3,
.about-why__callout p {
  max-width: 44ch;
}

.about-questions__intro {
  width: min(100%, 62ch);
}

.about-questions__cards {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-5);
  margin-block-start: var(--space-6);
}

.about-question-card {
  min-width: 0;
  padding: var(--space-6);
  border-block-start: 3px solid var(--color-route-red);
}

.about-question-card > :last-child {
  margin-block-end: 0;
}

.about-question-card p:not(.route-label),
.about-question-card a {
  max-width: 42ch;
}

.about-lens__grid {
  grid-template-columns: minmax(22.5rem, 5fr) minmax(25rem, 7fr);
  align-items: stretch;
}

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

.about-lens__visual h2,
.about-lens__figure {
  margin: 0;
}

.about-lens__figure {
  width: 100%;
}

.about-lens__figure img {
  width: 100%;
  aspect-ratio: 3 / 2;
  object-position: left center;
}

.about-lens__figure figcaption {
  padding: var(--space-2) var(--space-3);
}

.about-lens__panel {
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: var(--space-5);
  padding: var(--space-6);
}

.about-observation {
  display: grid;
  grid-template-columns: 2.5rem minmax(0, 1fr);
  gap: var(--space-3);
  min-width: 0;
  padding-block-end: var(--space-5);
  border-block-end: var(--border-dark);
}

.about-observation:last-child {
  padding-block-end: 0;
  border-block-end: 0;
}

.about-observation__number {
  color: var(--color-map-amber);
  font-family: var(--font-heading);
  font-size: 1.25rem;
  font-weight: 700;
}

.about-observation h3,
.about-observation p {
  max-width: 40ch;
}

.about-observation h3 {
  margin-block-start: 0;
}

.about-observation p {
  margin-block-end: 0;
}

.about-sources__reading {
  width: min(100%, 68ch);
  margin-inline: auto;
}

.about-source-entry {
  display: grid;
  grid-template-columns: 2.5rem minmax(0, 1fr);
  gap: var(--space-4);
  min-width: 0;
  padding-block: var(--space-5);
  border-block-end: var(--border-light);
}

.about-source-entry__marker {
  display: grid;
  width: 2rem;
  height: 2rem;
  place-items: center;
  border-radius: 50%;
  background: var(--color-route-red);
  color: #fff;
  font-family: var(--font-heading);
  font-weight: 700;
  line-height: 1;
}

.about-source-entry h3 {
  margin-block-start: 0;
}

.about-source-entry p {
  margin-block-end: 0;
}

.about-reference-panel {
  width: min(100%, 35rem);
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-3);
  margin-block-start: var(--space-6);
}

.about-reference-panel > :is(h3, p) {
  margin: 0;
}

.about-reference-panel p {
  max-width: 48ch;
}

.about-routes__heading {
  width: min(100%, 48rem);
}

.about-route-index {
  width: min(100%, 57.5rem);
  margin: var(--space-6) auto 0;
  border-block-start: var(--border-light);
}

.about-route-row {
  display: grid;
  grid-template-columns: 10.625rem minmax(0, 1fr) 7.5rem;
  gap: var(--space-4);
  align-items: start;
  min-width: 0;
  padding-block: var(--space-5);
  border-block-end: var(--border-light);
}

.about-route-row h3,
.about-route-row p,
.about-route-row > a {
  min-width: 0;
  margin: 0;
}

.about-route-row h3 {
  font-size: 1.25rem;
}

.about-route-row p {
  max-width: 64ch;
}

.about-route-row > a {
  align-self: center;
  font-weight: 600;
}

.about-audience__intro {
  width: min(100%, 58ch);
}

.about-audience__cards {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--space-5);
  margin-block-start: var(--space-6);
}

.about-audience-card {
  min-width: 0;
  padding: var(--space-5);
}

.about-audience-card:nth-child(1) {
  border-inline-start: 3px solid var(--color-route-red);
}

.about-audience-card:nth-child(2) {
  border-block-start: 3px solid var(--color-map-amber);
}

.about-audience-card h3,
.about-audience-card p {
  max-width: 38ch;
}

.about-context__grid {
  align-items: start;
}

.about-context__copy {
  width: min(100%, 64ch);
}

.about-context__inset {
  width: min(100%, 48ch);
  margin-block-start: var(--space-5);
}

.about-context__inset p {
  margin-block-end: 0;
}

.about-context__media {
  width: 100%;
  margin: 0;
}

.about-context__media img {
  width: 100%;
  aspect-ratio: 3 / 2;
  object-position: center;
}

.about-context__media figcaption {
  padding: var(--space-2) var(--space-3);
}

.about-close {
  position: relative;
  padding-block: var(--space-8);
  isolation: isolate;
}

.about-close__grid {
  align-items: start;
}

.about-close__copy {
  width: min(100%, 54ch);
}

.about-close__copy h2 {
  margin-block-start: 0;
}

.about-close__actions {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: var(--space-5);
}

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

.about-close__actions h3,
.about-close__actions p {
  margin: 0;
}

.about-close__actions p {
  max-width: 44ch;
}

@media (max-width: 920px) {
  .about-hero__grid,
  .about-lens__grid,
  .about-context__grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .about-hero__media {
    order: 2;
  }

  .about-lens__visual,
  .about-context__copy,
  .about-context__media {
    width: 100%;
  }
}

@media (max-width: 899px) {
  .about-audience__cards {
    grid-template-columns: minmax(0, 1fr);
  }

  .about-audience-card {
    width: 100%;
  }
}

@media (max-width: 860px) {
  .about-why__grid,
  .about-close__grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .about-why__reading,
  .about-why__callout,
  .about-close__copy,
  .about-close__actions {
    width: 100%;
  }

  .about-route-row {
    grid-template-columns: 10.625rem minmax(0, 1fr);
  }

  .about-route-row > a {
    grid-column: 2;
    justify-self: start;
  }
}

@media (max-width: 820px) {
  .about-questions__cards {
    grid-template-columns: minmax(0, 1fr);
  }

  .about-question-card {
    width: 100%;
  }
}

@media (max-width: 720px) {
  .about-hero {
    padding-block: var(--space-7);
  }

  .about-hero::before,
  .about-close::before {
    background-size: 120px 2px;
    background-position: left 16px bottom 24px;
  }

  .about-hero__copy {
    width: 100%;
  }

  .about-hero__copy .display-heading {
    font-size: clamp(2.25rem, 10vw, 2.5rem);
    line-height: 1.11;
  }

  .about-hero__media img,
  .about-lens__figure img,
  .about-context__media img {
    aspect-ratio: 4 / 3;
  }

  .about-hero__media img {
    object-position: center right;
  }

  .about-lens__figure img {
    object-position: left center;
  }

  .about-why__grid,
  .about-hero__grid,
  .about-lens__grid,
  .about-context__grid,
  .about-close__grid {
    gap: var(--space-5);
  }

  .about-question-card,
  .about-lens__panel,
  .about-why__callout {
    padding: var(--space-5);
  }

  .about-route-row {
    grid-template-columns: minmax(0, 1fr);
    gap: var(--space-3);
  }

  .about-route-row > a {
    grid-column: auto;
  }

  .about-reference-panel {
    width: 100%;
  }

  .about-close__actions .button,
  .about-close__actions .button-secondary {
    width: 100%;
  }
}

@media (max-width: 479px) {
  .about-observation,
  .about-source-entry {
    grid-template-columns: minmax(0, 1fr);
    gap: var(--space-2);
  }

  .about-observation__number,
  .about-source-entry__marker {
    justify-self: start;
  }

  .about-independence {
    width: 100%;
  }
}


.game-review-page {
  background: var(--color-paper-50);
}

.game-review-page__hero {
  position: relative;
  overflow: hidden;
  padding-block: var(--space-9);
}

.game-review-page__hero::after {
  position: absolute;
  inset: 0 0 0 56%;
  z-index: 0;
  opacity: 0.16;
  background-image: linear-gradient(90deg, transparent 0 47%, var(--color-lane-white) 47% 48%, transparent 48% 100%), linear-gradient(var(--color-lane-white) 1px, transparent 1px);
  background-size: 44px 44px, 44px 44px;
  content: "";
  pointer-events: none;
}

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

.game-review-page__hero-grid > * { min-width: 0; }

.game-review-page__hero-copy {
  display: flex;
  min-width: 0;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-4);
}

.game-review-page__hero-copy > :is(h1, p) { margin: 0; }
.game-review-page__hero-copy .lead { max-width: 60ch; }
.game-review-page__hero-copy .display-heading { max-width: 16ch; }

.game-review-page__position {
  display: flex;
  width: min(100%, 48ch);
  flex-direction: column;
  gap: var(--space-3);
  border-top: 3px solid var(--color-route-red);
  padding: var(--space-5);
}
.game-review-page__position > * { margin: 0; }
.game-review-page__position h2 { font-size: var(--text-h3); }

.game-review-page__hero-actions {
  display: flex;
  width: min(100%, 60ch);
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-3);
}
.game-review-page__source-line { margin: 0; color: var(--color-lane-white); font-size: var(--text-utility); line-height: var(--leading-utility); }

.game-review-page__hero-media { width: 100%; margin: 0; }
.game-review-page__hero-media .media-frame { width: 100%; }
.game-review-page__hero-media img { width: 100%; aspect-ratio: 16 / 9; object-position: right center; }
.game-review-page__hero-media figcaption { color: var(--color-lane-white); }

.game-review-page__framework-heading { width: min(100%, 64ch); }
.game-review-page__framework-heading > :last-child { margin-bottom: 0; }

.game-review-page__lens-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--space-5);
  margin-top: var(--space-6);
}
.game-review-page__lens-grid > * { min-width: 0; }
.game-review-page__lens-card { display: flex; flex-direction: column; gap: var(--space-3); }
.game-review-page__lens-card > * { margin: 0; }
.game-review-page__lens-card--red { border-inline-start: 3px solid var(--color-route-red); }
.game-review-page__lens-card--amber { border-inline-start: 3px solid var(--color-map-amber); }

.game-review-page__gameplay { border-block: var(--border-light); }
.game-review-page__gameplay-grid {
  display: grid;
  grid-template-columns: minmax(0, 7fr) minmax(17.5rem, 5fr);
  gap: var(--space-6);
  align-items: start;
}
.game-review-page__gameplay-grid > * { min-width: 0; }
.game-review-page__analysis-column { width: min(100%, 70ch); }
.game-review-page__analysis-column .lead { max-width: 66ch; }
.game-review-page__route-divider { width: 100%; height: 1px; margin-block: var(--space-5); background: repeating-linear-gradient(90deg, var(--color-graphite-700) 0 20px, transparent 20px 32px); }
.game-review-page__in-game-label { margin-bottom: var(--space-2); color: var(--color-map-amber); font-family: var(--font-heading); font-size: var(--text-meta); font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.game-review-page__utility-rail { display: flex; min-width: 0; flex-direction: column; gap: var(--space-3); padding: var(--space-5); }
.game-review-page__utility-rail > * { margin: 0; }
.game-review-page__utility-rail h3 { font-size: var(--text-h3); }
.game-review-page__rail-note { padding-top: var(--space-3); border-top: var(--border-dark); font-size: var(--text-utility); }

.game-review-page__controls-heading { width: min(100%, 66ch); }
.game-review-page__controls-heading > :last-child { margin-bottom: 0; }
.game-review-page__controls-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-6); margin-top: var(--space-6); }
.game-review-page__controls-grid > * { min-width: 0; }
.game-review-page__control-unit { width: 100%; min-width: 0; border-top: 1px solid var(--color-graphite-700); padding-top: var(--space-4); }
.game-review-page__handling-note { display: flex; flex-direction: column; gap: var(--space-3); border: var(--border-light); background: var(--color-paper-100); padding: var(--space-5); }
.game-review-page__handling-note > * { margin: 0; }
.game-review-page__next-read { width: 100%; margin-top: var(--space-6); }
.game-review-page__next-read p { width: min(100%, 62ch); margin: 0; }

.game-review-page__exploration { background: var(--color-paper-100); border-block: var(--border-light); }
.game-review-page__exploration-grid { display: grid; grid-template-columns: minmax(20rem, 5fr) minmax(0, 7fr); gap: var(--space-6); align-items: start; }
.game-review-page__exploration-grid > * { min-width: 0; }
.game-review-page__exploration-media { width: 100%; margin: 0; }
.game-review-page__exploration-media img { width: 100%; aspect-ratio: 3 / 2; object-position: center; }
.game-review-page__exploration-media figcaption { display: flex; gap: var(--space-2); align-items: center; }
.game-review-page__exploration-media figcaption span { width: .5rem; height: .5rem; flex: 0 0 auto; border-radius: 50%; background: var(--color-map-amber); }
.game-review-page__exploration-copy { width: min(100%, 62ch); }
.game-review-page__vehicle-inset { width: min(100%, 44ch); margin-top: var(--space-5); }
.game-review-page__vehicle-inset > :last-child { margin-bottom: 0; }

.game-review-page__presentation-reading { width: min(100%, 45rem); margin-inline: auto; }
.game-review-page__presentation-reading .lead { max-width: 70ch; }
.game-review-page__presentation-source { width: min(100%, 58ch); margin-block: var(--space-5); border-inline-start: 3px solid var(--color-route-red); background: var(--color-paper-100); padding: var(--space-4) var(--space-5); }
.game-review-page__presentation-source p { margin: 0; }
.game-review-page__graphite-divider { width: 100%; height: 1px; margin-top: var(--space-5); background: var(--color-graphite-700); }

.game-review-page__balance { background: var(--color-paper-100); border-block: var(--border-light); }
.game-review-page__balance-heading { width: min(100%, 64ch); }
.game-review-page__balance-heading > :last-child { margin-bottom: 0; }
.game-review-page__balance-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-5); margin-top: var(--space-6); }
.game-review-page__balance-grid > * { min-width: 0; }
.game-review-page__strength-stack, .game-review-page__limitation-stack { display: flex; min-width: 0; flex-direction: column; gap: var(--space-5); }
.game-review-page__balance-card { display: flex; min-width: 0; flex-direction: column; gap: var(--space-3); padding: var(--space-5); }
.game-review-page__balance-card > * { margin: 0; }
.game-review-page__strength-card { border-top: 3px solid var(--color-success-green); }
.game-review-page__caution-card { border-top: 3px solid var(--color-map-amber); }
.game-review-page__success-line { color: var(--color-lane-white); font-family: var(--font-heading); font-size: var(--text-meta); font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.game-review-page__related-links { display: flex; flex-wrap: wrap; gap: var(--space-3); font-size: var(--text-utility); }
.game-review-page__balanced-takeaway { width: min(100%, 62ch); margin-top: var(--space-6); margin-bottom: 0; }

.game-review-page__verdict-panel { display: flex; width: min(100%, 47.5rem); margin-inline: auto; flex-direction: column; gap: var(--space-4); border-top: 3px solid var(--color-route-red); padding: var(--space-6); }
.game-review-page__verdict-panel > * { margin: 0; }
.game-review-page__verdict-panel .lead { max-width: 66ch; }
.game-review-page__verdict-note { width: min(100%, 56ch); color: var(--color-ink-500); font-size: var(--text-utility); line-height: var(--leading-utility); }

.game-review-page__related { border-top: var(--border-light); }
.game-review-page__related-heading { width: min(100%, 58ch); }
.game-review-page__related-heading > :last-child { margin-bottom: 0; }
.game-review-page__related-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-5); margin-top: var(--space-6); }
.game-review-page__related-grid > * { min-width: 0; }
.game-review-page__related-card { display: flex; min-width: 0; flex-direction: column; gap: var(--space-3); }
.game-review-page__related-card > * { margin: 0; }
.game-review-page__related-card h3 a { color: inherit; text-decoration: none; }
.game-review-page__related-card:hover { border-color: var(--color-route-red); }
.game-review-page__related-card .button-link { margin-top: auto; min-height: 2.75rem; }

.game-review-page__official { background: var(--color-paper-50); }
.game-review-page__official-panel { position: relative; display: flex; width: 100%; min-width: 0; flex-direction: column; align-items: flex-start; gap: var(--space-4); overflow: hidden; padding: var(--space-7); }
.game-review-page__official-panel::after { position: absolute; right: var(--space-7); bottom: var(--space-6); width: 10rem; height: 1px; opacity: .35; background: repeating-linear-gradient(90deg, var(--color-lane-white) 0 18px, transparent 18px 30px); content: ""; }
.game-review-page__official-copy { position: relative; z-index: 1; width: min(100%, 54ch); }
.game-review-page__official-copy > :last-child { margin-bottom: 0; }
.game-review-page__official-panel > .button { position: relative; z-index: 1; }
.game-review-page__official-note { position: relative; z-index: 1; width: min(100%, 64ch); margin: 0; color: var(--lane-white, var(--color-lane-white)); font-size: var(--text-utility); line-height: var(--leading-utility); }

@media (max-width: 959px) {
  .game-review-page__gameplay-grid { grid-template-columns: 1fr; }
  .game-review-page__analysis-column { width: min(100%, 70ch); }
  .game-review-page__utility-rail { width: min(100%, 36rem); }
}

@media (max-width: 939px) {
  .game-review-page__lens-grid, .game-review-page__related-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 899px) {
  .game-review-page__hero { padding-block: var(--space-8); }
  .game-review-page__hero::after { inset-inline-start: 68%; }
  .game-review-page__hero-grid { grid-template-columns: 1fr; }
  .game-review-page__hero-copy { width: min(100%, 60ch); }
  .game-review-page__hero-media { width: min(100%, 42rem); }
  .game-review-page__exploration-grid { grid-template-columns: 1fr; }
  .game-review-page__exploration-media { width: min(100%, 42rem); }
  .game-review-page__exploration-copy { width: min(100%, 62ch); }
}

@media (max-width: 759px) {
  .game-review-page__balance-grid { grid-template-columns: 1fr; }
  .game-review-page__strength-stack, .game-review-page__limitation-stack { width: 100%; }
}

@media (max-width: 719px) {
  .game-review-page__hero { padding-block: var(--space-7); }
  .game-review-page__hero::after { display: none; }
  .game-review-page__hero-copy, .game-review-page__hero-media { width: 100%; }
  .game-review-page__hero-copy .display-heading { font-size: 2.25rem; line-height: 1.11; }
  .game-review-page__hero-media img { aspect-ratio: 4 / 3; object-position: right center; }
  .game-review-page__controls-grid { grid-template-columns: 1fr; }
  .game-review-page__exploration-media { width: 100%; }
  .game-review-page__exploration-media img { aspect-ratio: 4 / 3; object-position: center; }
  .game-review-page__presentation-reading { width: 100%; }
  .game-review-page__official-panel { padding: var(--space-5); }
  .game-review-page__official-panel::after { display: none; }
}

@media (max-width: 639px) {
  .game-review-page__lens-grid, .game-review-page__related-grid { grid-template-columns: 1fr; }
  .game-review-page__lens-card, .game-review-page__related-card { width: 100%; }
  .game-review-page__utility-rail { width: 100%; }
  .game-review-page__verdict-panel { width: 100%; padding: var(--space-5); }
}

@media (max-width: 479px) {
  .game-review-page__position, .game-review-page__handling-note, .game-review-page__balance-card { padding: var(--space-5); }
  .game-review-page__hero-actions { width: 100%; }
  .game-review-page__hero-actions .button { width: 100%; }
  .game-review-page__official-panel > .button { width: 100%; }
}


.controls-guide-page {
  background: var(--color-paper-50);
}

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

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

.controls-hero::before {
  position: absolute;
  inset: 0;
  opacity: 0.16;
  background-image: repeating-linear-gradient(90deg, transparent 0 58px, var(--color-lane-white) 58px 60px, transparent 60px 108px);
  content: "";
  pointer-events: none;
}

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

.controls-hero__copy,
.controls-hero__media,
.controls-steering__main,
.controls-steering__note,
.controls-camera__feature,
.controls-camera__support,
.drift-phase,
.scenario-card,
.related-card {
  min-width: 0;
}

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

.controls-hero__copy .route-label,
.controls-hero__copy h1,
.controls-hero__copy .lead {
  margin: 0;
}

.controls-hero__copy .display-heading {
  max-width: 14ch;
}

.controls-hero__copy .lead {
  max-width: 58ch;
}

.controls-source-card {
  display: flex;
  width: min(100%, 44ch);
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-3);
  border: var(--border-dark);
  padding: var(--space-5);
}

.controls-source-card > * {
  margin: 0;
}

.controls-source-card .button {
  margin-top: var(--space-1);
}

.controls-hero__media {
  width: 100%;
}

.controls-hero__media img {
  width: 100%;
  aspect-ratio: 16 / 9;
  object-fit: cover;
  object-position: 65% center;
}

.controls-hero__media figcaption {
  padding: 0 var(--space-3) var(--space-3);
}

.controls-routine__reading {
  width: min(100%, 45rem);
  margin-inline: auto;
}

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

.routine-step {
  display: grid;
  grid-template-columns: 44px minmax(0, 1fr);
  gap: var(--space-4);
}

.routine-step__number {
  color: var(--color-map-amber);
  font-family: var(--font-heading);
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 1;
}

.routine-step__copy {
  max-width: 70ch;
}

.routine-step__copy h3 {
  margin-top: 0;
}

.controls-steering__grid,
.controls-camera__grid {
  display: grid;
  grid-template-columns: minmax(320px, 7fr) minmax(320px, 5fr);
  gap: var(--space-5);
  align-items: start;
}

.controls-steering__main,
.controls-camera__support {
  display: flex;
  flex-direction: column;
  gap: var(--space-4);
}

.controls-advice-card,
.controls-steering__note,
.controls-camera__text-card,
.controls-camera__note {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-3);
}

.controls-advice-card > *,
.controls-steering__note > *,
.controls-camera__text-card > *,
.controls-camera__note > * {
  margin: 0;
}

.controls-advice-card {
  border-top: 3px solid var(--color-route-red);
}

.controls-advice-card p:not(.route-label) {
  max-width: 54ch;
}

.controls-steering__note {
  width: 100%;
  padding: var(--space-6);
}

.controls-steering__note p:not(.route-label) {
  max-width: 40ch;
}

.controls-pace {
  position: relative;
  overflow: hidden;
}

.controls-pace::before {
  position: absolute;
  inset: 0;
  opacity: 0.12;
  background-image: linear-gradient(var(--color-graphite-700) 1px, transparent 1px), linear-gradient(90deg, var(--color-graphite-700) 1px, transparent 1px);
  background-size: 56px 56px;
  content: "";
  pointer-events: none;
}

.controls-pace__inner {
  position: relative;
  width: min(100%, 57.5rem);
  margin-inline: auto;
}

.controls-pace__list {
  border-top: var(--border-light);
}

.pace-row {
  display: grid;
  grid-template-columns: 72px minmax(0, 1fr) 72px;
  gap: var(--space-4);
  align-items: start;
  padding-block: var(--space-5);
  border-bottom: var(--border-light);
}

.pace-row__marker {
  color: var(--color-route-red);
  font-family: var(--font-heading);
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 1;
}

.pace-row__marker--tip {
  color: var(--color-success-green);
}

.pace-row__copy {
  max-width: 60ch;
}

.pace-row__copy h3 {
  margin-top: 0;
}

.pace-row__endcap {
  width: 100%;
  height: 2px;
  margin-top: var(--space-3);
  background: repeating-linear-gradient(90deg, var(--color-map-amber) 0 12px, transparent 12px 20px);
}

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

.controls-camera__figure {
  width: 100%;
}

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

.controls-camera__figure figcaption {
  padding: 0 var(--space-3) var(--space-3);
}

.controls-camera__feature-copy {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-3);
}

.controls-camera__feature-copy > * {
  margin: 0;
}

.controls-camera__feature-copy p:not(.route-label) {
  max-width: 52ch;
}

.controls-camera__text-card p:not(.route-label),
.controls-camera__note p:not(.route-label) {
  max-width: 46ch;
}

.controls-camera__note {
  width: 100%;
  padding: var(--space-5);
}

.controls-drift {
  position: relative;
  overflow: hidden;
}

.controls-drift::before {
  position: absolute;
  top: 48%;
  right: 8%;
  left: 8%;
  height: 2px;
  opacity: 0.22;
  background: repeating-linear-gradient(90deg, var(--color-lane-white) 0 18px, transparent 18px 34px);
  content: "";
}

.controls-drift__heading {
  position: relative;
  width: min(100%, 44rem);
  margin-bottom: var(--space-6);
}

.controls-drift__heading h2 {
  margin-top: 0;
}

.controls-drift__heading p {
  margin-bottom: 0;
  max-width: 52ch;
}

.controls-drift__phases {
  position: relative;
  display: grid;
  grid-template-columns: repeat(3, minmax(300px, 1fr));
  gap: var(--space-5);
}

.drift-phase {
  display: grid;
  grid-template-columns: 64px minmax(0, 1fr);
  gap: var(--space-3);
}

.drift-phase__number {
  color: var(--color-route-red);
  font-family: var(--font-heading);
  font-size: 3.25rem;
  font-weight: 700;
  line-height: 0.9;
}

.drift-phase__copy {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-3);
}

.drift-phase__copy > * {
  margin: 0;
}

.drift-phase__copy p:not(.route-label) {
  max-width: 44ch;
}

.controls-scenarios__grid,
.controls-related__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(300px, 1fr));
  gap: var(--space-5);
}

.scenario-card,
.related-card {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-3);
}

.scenario-card > *,
.related-card > * {
  margin: 0;
}

.scenario-card p:not(.route-label) {
  max-width: 40ch;
}

.controls-checklist__panel {
  width: min(100%, 58rem);
  margin-inline: auto;
  border: var(--border-dark);
  border-top: 3px solid var(--color-route-red);
  border-radius: var(--radius-lg);
  background: var(--color-paper-100);
  padding: var(--space-6);
}

.controls-checklist__panel h2 {
  margin-top: 0;
}

.controls-checklist__rows {
  border-top: var(--border-light);
}

.check-row {
  display: grid;
  grid-template-columns: 180px minmax(0, 1fr);
  gap: var(--space-5);
  padding-block: var(--space-5);
  border-bottom: var(--border-light);
}

.check-row__label {
  display: flex;
  align-items: flex-start;
  gap: var(--space-2);
  min-width: 0;
}

.check-row__label span {
  display: grid;
  width: 1.25rem;
  height: 1.25rem;
  flex: 0 0 auto;
  place-items: center;
  border: 1px solid var(--color-success-green);
  color: var(--color-success-green);
  font-size: 0.75rem;
  font-weight: 700;
}

.check-row__label p {
  margin: 0;
  font-family: var(--font-heading);
  font-size: var(--text-utility);
  font-weight: 700;
  letter-spacing: 0.06em;
  line-height: var(--leading-utility);
  text-transform: uppercase;
}

.check-row__copy {
  max-width: 600px;
}

.check-row__copy p {
  margin: 0;
}

.controls-related__intro {
  width: min(100%, 60ch);
}

.controls-related__intro h2 {
  margin-top: 0;
}

.controls-related__media {
  width: 100%;
  margin-bottom: var(--space-5);
}

.controls-related__media img {
  width: 100%;
  aspect-ratio: 3 / 2;
  max-height: 19rem;
  object-fit: cover;
  object-position: center;
}

.controls-related__media figcaption {
  padding: 0 var(--space-3) var(--space-3);
}

.related-card p:not(.route-label) {
  max-width: 38ch;
}

.controls-final {
  padding-top: var(--space-7);
}

.controls-final__panel {
  padding: var(--space-8) var(--space-6);
}

.controls-final__copy {
  display: flex;
  width: min(100%, 42.5rem);
  margin-inline: auto;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-4);
}

.controls-final__copy > * {
  margin: 0;
}

.controls-final__copy h2 {
  max-width: 18ch;
}

.controls-final__copy > p:not(.route-label):not(.controls-final__note) {
  max-width: 48ch;
}

.controls-final__note {
  max-width: 44ch;
  color: var(--color-lane-white);
  font-size: var(--text-utility);
  line-height: var(--leading-utility);
}

@media (max-width: 980px) {
  .controls-drift::before { display: none; }
  .controls-drift__phases { grid-template-columns: minmax(0, 1fr); }
  .drift-phase { width: min(100%, 48rem); }
}

@media (max-width: 900px) {
  .controls-hero__grid,
  .controls-steering__grid,
  .controls-camera__grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .controls-hero__media { order: 2; }
  .controls-hero__copy { order: 1; }
  .controls-hero__media img { aspect-ratio: 16 / 9; }
  .controls-steering__note,
  .controls-camera__support { width: 100%; }
  .controls-scenarios__grid,
  .controls-related__grid { grid-template-columns: minmax(0, 1fr); }
  .scenario-card,
  .related-card { width: 100%; }
}

@media (max-width: 860px) {
  .pace-row { grid-template-columns: 48px minmax(0, 1fr); }
  .pace-row__endcap { display: none; }
}

@media (max-width: 760px) {
  .check-row { grid-template-columns: minmax(0, 1fr); gap: var(--space-3); }
  .check-row__copy { max-width: none; }
}

@media (max-width: 719px) {
  .controls-hero { padding-block: var(--space-7); }
  .controls-hero__grid { gap: var(--space-5); }
  .controls-hero__copy .display-heading { max-width: none; font-size: 1.875rem; line-height: 1.133; }
  .controls-hero__copy .lead { max-width: none; }
  .controls-source-card { width: 100%; }
  .controls-hero__media img { aspect-ratio: 4 / 3; object-position: center; }
  .controls-routine__reading { width: 100%; }
  .routine-step { grid-template-columns: minmax(0, 1fr); gap: var(--space-2); }
  .routine-step__copy { max-width: none; }
  .controls-steering__grid,
  .controls-camera__grid { gap: var(--space-4); }
  .controls-advice-card p:not(.route-label),
  .controls-steering__note p:not(.route-label),
  .controls-camera__feature-copy p:not(.route-label),
  .controls-camera__text-card p:not(.route-label),
  .controls-camera__note p:not(.route-label) { max-width: none; }
  .controls-steering__note { padding: var(--space-5); }
  .controls-pace__inner { width: 100%; }
  .pace-row { grid-template-columns: minmax(0, 1fr); gap: var(--space-2); padding-block: var(--space-5); }
  .pace-row__copy { max-width: none; }
  .controls-camera__figure img { aspect-ratio: 4 / 3; }
  .controls-drift__heading { width: 100%; }
  .drift-phase { grid-template-columns: minmax(0, 1fr); gap: var(--space-2); width: 100%; }
  .drift-phase__number { font-size: 1.875rem; }
  .drift-phase__copy p:not(.route-label) { max-width: none; }
  .controls-checklist__panel { width: 100%; padding: var(--space-5); }
  .controls-related__intro { width: 100%; }
  .controls-related__media img { aspect-ratio: 4 / 3; max-height: none; }
  .related-card p:not(.route-label),
  .scenario-card p:not(.route-label) { max-width: none; }
  .controls-final__panel { padding: var(--space-6) var(--space-5); }
  .controls-final__copy { width: 100%; }
  .controls-final__copy h2 { max-width: none; }
}

@media (max-width: 479px) {
  .controls-source-card .button,
  .controls-final__copy .button { width: 100%; }
}


.drift-tips-page {
  background: var(--color-paper-50);
}

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

.drift-tips-page section[id] {
  scroll-margin-top: 6rem;
}

.drift-tips-hero {
  position: relative;
  overflow: hidden;
  padding-block: var(--space-9);
}

.drift-tips-hero::before {
  position: absolute;
  inset: 0;
  opacity: 0.18;
  background-image: linear-gradient(90deg, transparent 0 48%, var(--color-lane-white) 48% 49%, transparent 49% 100%), linear-gradient(0deg, transparent 0 49%, var(--color-graphite-700) 49% 50%, transparent 50% 100%);
  background-size: 88px 88px;
  content: "";
  pointer-events: none;
}

.drift-tips-hero__grid {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 7fr) minmax(320px, 5fr);
  gap: var(--space-7);
  align-items: center;
}

.drift-tips-hero__copy,
.drift-tips-hero__media {
  min-width: 0;
  width: 100%;
}

.drift-tips-hero__copy {
  max-width: 56ch;
}

.drift-tips-hero__copy .display-heading {
  color: var(--color-paper-50);
}

.drift-tips-hero__lead {
  max-width: 54ch;
  margin-block-end: 0;
  color: var(--color-paper-50);
  font-size: var(--text-lead);
  line-height: var(--leading-lead);
}

.drift-tips-hero__actions {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-3);
  width: 100%;
  margin-top: var(--space-6);
}

.drift-tips-hero__note {
  max-width: 42ch;
  margin: 0;
  color: var(--color-lane-white);
  font-size: var(--text-utility);
  line-height: var(--leading-utility);
}

.drift-tips-hero__media img {
  width: 100%;
  height: 100%;
  min-height: 22rem;
  object-fit: cover;
  object-position: 72% center;
}

.drift-tips-hero__media figcaption {
  padding: var(--space-3) var(--space-4);
}

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

.drift-rhythm__sequence,
.drift-rhythm__utility {
  min-width: 0;
  width: 100%;
}

.drift-rhythm__sequence {
  max-width: 47.5rem;
}

.drift-rhythm__intro {
  max-width: 72ch;
}

.drift-rhythm__steps {
  display: flex;
  flex-direction: column;
  gap: var(--space-5);
  margin: var(--space-6) 0 0;
  padding: 0;
  list-style: none;
}

.drift-rhythm__step {
  display: grid;
  grid-template-columns: 3.5rem minmax(0, 1fr);
  gap: var(--space-4);
  min-width: 0;
  padding-left: var(--space-4);
  border-left: 1px solid var(--color-border-light);
}

.drift-rhythm__step:last-child {
  border-left: 3px solid var(--color-route-red);
}

.drift-rhythm__step > div {
  min-width: 0;
  max-width: 64ch;
}

.drift-rhythm__number,
.drift-entry__marker,
.drift-summary__list span {
  color: var(--color-map-amber);
  font-family: var(--font-heading);
  font-size: 1.125rem;
  font-weight: 700;
  line-height: 1;
}

.drift-rhythm__step h3 {
  margin-top: 0;
}

.drift-rhythm__utility {
  display: flex;
  flex-direction: column;
  gap: var(--space-4);
  border: var(--border-dark);
  border-top: 3px solid var(--color-map-amber);
  border-radius: var(--radius-lg);
  padding: var(--space-6);
}

.drift-rhythm__utility > * {
  margin: 0;
}

.drift-rhythm__utility-links {
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
  width: 100%;
}

.drift-rhythm__utility-links a {
  width: fit-content;
  max-width: 100%;
}

.drift-corners__heading,
.drift-balance__heading,
.drift-recovery__heading,
.drift-practice__heading,
.drift-related__heading {
  max-width: 62ch;
}

.drift-corners__heading .lead,
.drift-recovery__heading .lead,
.drift-practice__heading .lead,
.drift-related__heading .lead {
  max-width: 62ch;
}

.drift-corners__cards,
.drift-related__cards {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--space-5);
  width: 100%;
  margin-top: var(--space-6);
}

.drift-corners__card,
.drift-related__card {
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
  min-width: 0;
  width: 100%;
}

.drift-corners__card > *,
.drift-related__card > * {
  margin: 0;
}

.drift-corners__card h3,
.drift-related__card h3 {
  margin-top: 0;
}

.drift-corners__card p {
  max-width: 48ch;
}

.drift-corners__card--red {
  border-top: 3px solid var(--color-route-red);
}

.drift-corners__motif {
  display: block;
  width: 4.5rem;
  height: 0.75rem;
  opacity: 0.5;
  background: repeating-linear-gradient(90deg, var(--color-graphite-700) 0 1rem, transparent 1rem 1.5rem);
}

.drift-balance__feature {
  display: grid;
  grid-template-columns: minmax(0, 7fr) minmax(320px, 5fr);
  gap: var(--space-7);
  align-items: start;
  margin-top: var(--space-6);
}

.drift-balance__copy,
.drift-balance__media {
  min-width: 0;
  width: 100%;
}

.drift-balance__copy {
  display: flex;
  flex-direction: column;
  gap: var(--space-5);
  max-width: 60ch;
}

.drift-balance__copy article {
  min-width: 0;
  width: 100%;
}

.drift-balance__copy article + article {
  padding-top: var(--space-5);
  border-top: 1px solid var(--color-border-light);
}

.drift-balance__copy h3 {
  margin-top: 0;
}

.drift-balance__media img {
  width: 100%;
  min-height: 28rem;
  object-fit: cover;
  object-position: 68% center;
}

.drift-entry__header {
  width: min(100%, 47.5rem);
  margin-inline: auto;
}

.drift-entry__header .lead {
  max-width: 60ch;
}

.drift-entry__sequence {
  display: flex;
  flex-direction: column;
  gap: var(--space-6);
  width: min(100%, 60rem);
  margin: var(--space-7) auto 0;
}

.drift-entry__stage {
  display: grid;
  grid-template-columns: 4.5rem minmax(0, 1fr);
  gap: var(--space-5);
  min-width: 0;
  width: 100%;
  padding-bottom: var(--space-6);
  border-bottom: 1px dashed var(--color-graphite-700);
}

.drift-entry__stage > div {
  min-width: 0;
  max-width: 62ch;
}

.drift-entry__stage h3 {
  margin-top: 0;
}

.drift-entry__stage--exit {
  padding-bottom: 0;
  border-bottom: 0;
  border-left: 3px solid var(--color-route-red);
  padding-left: var(--space-4);
}

.drift-recovery__cards {
  display: grid;
  grid-template-columns: repeat(2, minmax(320px, 1fr));
  gap: var(--space-5);
  width: 100%;
  margin-top: var(--space-6);
}

.drift-recovery__card {
  position: relative;
  min-width: 0;
  width: 100%;
}

.drift-recovery__card p:not(.meta) {
  max-width: 44ch;
}

.drift-recovery__card--positive {
  border-top: 3px solid var(--color-success-green);
}

.drift-recovery__ticks {
  display: block;
  width: 3rem;
  height: 0.5rem;
  margin-bottom: var(--space-3);
  opacity: 0.5;
  background: repeating-linear-gradient(90deg, var(--color-graphite-700) 0 0.35rem, transparent 0.35rem 0.7rem);
}

.drift-practice__feature {
  display: grid;
  grid-template-columns: minmax(320px, 5fr) minmax(0, 7fr);
  gap: var(--space-7);
  align-items: start;
  margin-top: var(--space-6);
}

.drift-practice__media,
.drift-practice__guidance {
  min-width: 0;
  width: 100%;
}

.drift-practice__media img {
  width: 100%;
  min-height: 25rem;
  object-fit: cover;
  object-position: center;
}

.drift-practice__guidance {
  display: flex;
  flex-direction: column;
  gap: var(--space-5);
  max-width: 60ch;
}

.drift-practice__guidance > article {
  min-width: 0;
  width: 100%;
}

.drift-practice__guidance h3 {
  margin-top: 0;
}

.drift-practice__inset {
  max-width: 42ch;
}

.drift-practice__prompt {
  display: flex;
  flex-direction: column;
  gap: var(--space-2);
  width: 100%;
  margin-top: var(--space-6);
  border: var(--border-dark);
  border-left: 3px solid var(--color-route-red);
  border-radius: var(--radius-lg);
  padding: var(--space-5) var(--space-6);
}

.drift-practice__prompt > * {
  margin: 0;
}

.drift-practice__prompt p:last-child {
  max-width: 45ch;
}

.drift-related__card {
  border-top: 3px solid var(--color-route-red);
}

.drift-related__card .button-link {
  min-height: 2.75rem;
  margin-top: auto;
}

.drift-summary {
  padding-block: var(--space-9);
}

.drift-summary__panel {
  display: flex;
  flex-direction: column;
  gap: var(--space-5);
  width: 100%;
  border: var(--border-dark);
  border-top: 3px solid var(--color-route-red);
  border-radius: var(--radius-lg);
  padding: var(--space-6);
}

.drift-summary__panel > * {
  margin: 0;
}

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

.drift-summary__list article {
  min-width: 0;
  width: 100%;
  padding-right: var(--space-3);
}

.drift-summary__list article + article {
  border-left: 1px dashed var(--color-graphite-700);
  padding-left: var(--space-4);
}

.drift-summary__list h3 {
  margin-top: var(--space-2);
}

.drift-summary__list p {
  max-width: 34ch;
  margin-bottom: 0;
  color: var(--color-lane-white);
}

.drift-summary__closing {
  max-width: 55ch;
  color: var(--color-lane-white);
}

.drift-cta__panel {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-4);
  width: min(100%, 47.5rem);
  margin-inline: auto;
  border-top: 3px solid var(--color-route-red);
  padding: var(--space-7);
}

.drift-cta__panel > * {
  margin: 0;
}

.drift-cta__panel > p:not(.eyebrow):not(.drift-cta__source) {
  max-width: 58ch;
}

.drift-cta__source {
  max-width: 60ch;
  color: var(--color-ink-500);
  font-size: var(--text-utility);
  line-height: var(--leading-utility);
}

@media (max-width: 979px) {
  .drift-corners__cards,
  .drift-related__cards {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .drift-corners__card:nth-child(3),
  .drift-related__card:nth-child(3) {
    grid-column: 1 / -1;
  }
}

@media (max-width: 919px) {
  .drift-rhythm__layout {
    grid-template-columns: minmax(0, 1fr);
  }

  .drift-rhythm__utility {
    max-width: 47.5rem;
  }
}

@media (max-width: 859px) {
  .drift-entry__sequence {
    width: min(100%, 47.5rem);
  }

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

@media (max-width: 819px) {
  .drift-balance__feature,
  .drift-practice__feature {
    grid-template-columns: minmax(0, 1fr);
  }

  .drift-balance__media {
    order: -1;
  }

  .drift-balance__copy,
  .drift-practice__guidance {
    max-width: 60ch;
  }

  .drift-balance__media img,
  .drift-practice__media img {
    min-height: 0;
    aspect-ratio: 4 / 3;
  }

  .drift-balance__media img {
    object-position: 62% center;
  }
}

@media (max-width: 719px) {
  .drift-tips-hero {
    padding-block: var(--space-8);
  }

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

  .drift-tips-hero__copy {
    max-width: 100%;
  }

  .drift-tips-hero__lead {
    max-width: 100%;
  }

  .drift-tips-hero__media {
    order: 2;
  }

  .drift-tips-hero__media img {
    min-height: 0;
    aspect-ratio: 4 / 3;
    object-position: 66% center;
  }

  .drift-recovery__cards {
    grid-template-columns: minmax(0, 1fr);
  }

  .drift-summary {
    padding-block: var(--space-8);
  }

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

  .drift-summary__list article:nth-child(4) {
    grid-column: 1 / 2;
  }

  .drift-summary__list article:nth-child(4),
  .drift-summary__list article:nth-child(5) {
    border-top: 1px dashed var(--color-graphite-700);
    padding-top: var(--space-4);
  }
}

@media (max-width: 619px) {
  .drift-corners__cards,
  .drift-related__cards {
    grid-template-columns: minmax(0, 1fr);
  }

  .drift-corners__card:nth-child(3),
  .drift-related__card:nth-child(3) {
    grid-column: auto;
  }
}

@media (max-width: 679px) {
  .drift-summary__list {
    grid-template-columns: minmax(0, 1fr);
  }

  .drift-summary__list article,
  .drift-summary__list article:nth-child(4) {
    grid-column: auto;
    padding-right: 0;
  }

  .drift-summary__list article + article,
  .drift-summary__list article:nth-child(4),
  .drift-summary__list article:nth-child(5) {
    border-top: 1px dashed var(--color-graphite-700);
    border-left: 0;
    padding-top: var(--space-4);
    padding-left: 0;
  }
}

@media (max-width: 479px) {
  .drift-tips-hero__actions .button,
  .drift-cta__panel .button {
    width: 100%;
  }

  .drift-rhythm__step {
    grid-template-columns: minmax(0, 1fr);
    gap: var(--space-2);
    padding-left: var(--space-3);
  }

  .drift-rhythm__utility,
  .drift-summary__panel,
  .drift-cta__panel {
    padding: var(--space-5);
  }

  .drift-practice__prompt {
    padding: var(--space-5);
  }
}


.home-page {
  overflow: clip;
}

.home-hero {
  position: relative;
  padding-block: var(--space-9);
  isolation: isolate;
}

.home-hero::before,
.home-final::before {
  position: absolute;
  inset: 0;
  z-index: -1;
  opacity: 0.16;
  background-image: repeating-linear-gradient(90deg, transparent 0 54px, var(--color-lane-white) 54px 56px, transparent 56px 112px);
  content: "";
}

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

.home-hero__copy,
.home-hero__media {
  min-width: 0;
  width: 100%;
}

.home-hero__copy {
  max-width: 40.625rem;
}

.home-hero__copy .lead {
  max-width: 60ch;
}

.home-hero__actions {
  margin-block-end: var(--space-5);
}

.home-hero__source {
  max-width: 52ch;
  margin: 0;
  border-inline-start: 1px solid var(--color-graphite-700);
  color: var(--color-lane-white);
  font-size: var(--text-utility);
  line-height: var(--leading-utility);
  padding-inline-start: var(--space-3);
}

.home-hero__media img {
  aspect-ratio: 16 / 9;
  object-position: right center;
}

.home-hero__media figcaption {
  padding: var(--space-2) var(--space-3);
}

.home-overview {
  position: relative;
}

.home-overview::before {
  position: absolute;
  inset: auto 0 0;
  height: 16rem;
  opacity: 0.09;
  background-image: linear-gradient(var(--color-graphite-700) 1px, transparent 1px), linear-gradient(90deg, var(--color-graphite-700) 1px, transparent 1px);
  background-size: 40px 40px;
  content: "";
  pointer-events: none;
}

.home-overview .container,
.home-routes .container,
.home-fit .container,
.home-review .container,
.home-continue .container {
  position: relative;
}

.home-overview__intro,
.home-routes__intro,
.home-fit__intro,
.home-continue__intro {
  width: min(100%, 62ch);
  margin-block-end: var(--space-6);
}

.home-overview__core,
.home-overview__supporting,
.home-fit__cards,
.home-continue__cards {
  display: grid;
  gap: var(--space-4);
}

.home-overview__core {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin-block-end: var(--space-4);
}

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

.home-topic-card,
.home-fit__cards > article,
.home-continue__cards > article {
  min-width: 0;
  width: 100%;
}

.home-topic-card {
  border-block-start: 3px solid var(--color-route-red);
}

.home-topic-card:nth-child(even) {
  border-block-start-color: var(--color-map-amber);
}

.home-topic-card p:not(.route-label) {
  max-width: 34ch;
}

.home-driving__heading {
  width: min(100%, 62ch);
  margin-block-end: var(--space-6);
}

.home-driving__figure {
  width: 100%;
  margin-block-end: var(--space-6);
}

.home-driving__figure img {
  width: 100%;
  aspect-ratio: 16 / 9;
  object-fit: cover;
  object-position: center;
}

.home-driving__figure figcaption {
  padding-inline: var(--space-3);
}

.home-driving__grid,
.home-beginner__grid {
  display: grid;
  grid-template-columns: minmax(0, 7fr) minmax(20rem, 5fr);
  gap: var(--space-6);
  align-items: start;
}

.home-driving__article,
.home-route-notes,
.home-steps,
.home-reading-rail {
  min-width: 0;
  width: 100%;
}

.home-driving__article {
  max-width: 46rem;
}

.home-route-notes,
.home-reading-rail,
.home-utility-card {
  padding: var(--space-5);
}

.home-route-notes h3,
.home-reading-rail h3 {
  margin-block-start: 0;
}

.home-route-notes ul {
  margin-block-end: 0;
}

.home-routes__grid {
  display: grid;
  grid-template-columns: minmax(0, 7fr) minmax(0, 5fr);
  gap: var(--space-5);
  align-items: stretch;
}

.home-city-block,
.home-routes__side,
.home-route-block,
.home-utility-card {
  min-width: 0;
  width: 100%;
}

.home-city-block {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  padding: 0;
  overflow: hidden;
}

.home-city-block img {
  width: 100%;
  height: 100%;
  min-height: 20rem;
  object-fit: cover;
  object-position: center;
}

.home-city-block > div {
  min-width: 0;
  padding: var(--space-5);
}

.home-city-block p:not(.route-label),
.home-route-block p:not(.route-label),
.home-utility-card p:not(.route-label) {
  max-width: 48ch;
}

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

.home-routes__utilities {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-5);
  margin-block-start: var(--space-5);
}

.home-beginner__heading {
  width: min(100%, 46rem);
  margin-block-end: var(--space-6);
}

.home-steps {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: var(--space-5);
  margin: 0;
  padding: 0;
  list-style: none;
}

.home-steps > li {
  display: grid;
  grid-template-columns: 2.5rem minmax(0, 1fr);
  gap: var(--space-3);
  min-width: 0;
  width: 100%;
  border-inline-start: 1px solid var(--color-border-light);
  padding-inline-start: var(--space-3);
}

.home-steps > li > span {
  color: var(--color-route-red);
  font-family: var(--font-heading);
  font-size: 1.875rem;
  font-weight: 700;
  line-height: 1;
}

.home-steps h3 {
  margin-block-start: 0;
}

.home-reading-rail {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: var(--space-3);
}

.home-reading-rail > * {
  min-width: 0;
}

.home-reading-rail a {
  width: 100%;
}

.home-drift {
  position: relative;
}

.home-drift__intro {
  width: min(100%, 56ch);
  margin-block-end: var(--space-6);
}

.home-drift__diagram {
  position: relative;
  display: grid;
  grid-template-columns: repeat(7, minmax(11.25rem, 1fr));
  gap: var(--space-3);
  min-width: 0;
  padding: var(--space-6);
  border: var(--border-dark);
  background: var(--color-graphite-900);
}

.home-drift__line {
  position: absolute;
  z-index: 0;
  top: 50%;
  left: 4%;
  width: 92%;
  height: 3px;
  background: var(--color-route-red);
  transform: rotate(-5deg);
}

.home-drift__diagram article {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: 2rem minmax(0, 1fr);
  gap: var(--space-2);
  min-width: 11.25rem;
  width: 100%;
  padding: var(--space-3);
  background: var(--color-graphite-900);
}

.home-drift__diagram article:nth-of-type(even) {
  margin-block-start: var(--space-7);
}

.home-drift__diagram article > span {
  display: grid;
  width: 2rem;
  height: 2rem;
  place-items: center;
  border-radius: 50%;
  background: var(--color-route-red);
  color: #fff;
  font-family: var(--font-heading);
  font-weight: 700;
}

.home-drift__diagram h3 {
  margin-block: 0 var(--space-2);
  font-size: 1.25rem;
}

.home-drift__diagram p {
  max-width: 30ch;
  margin: 0;
  color: var(--color-lane-white);
  font-size: var(--text-utility);
  line-height: var(--leading-utility);
}

.home-drift__link {
  margin-block-start: var(--space-5);
}

.home-fit__cards {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin-block-end: var(--space-5);
}

.home-fit__cards p:not(.route-label) {
  max-width: 34ch;
}

.home-fit__note {
  width: min(100%, 64ch);
  border: var(--border-light);
  border-inline-start: 3px solid var(--color-map-amber);
  padding: var(--space-5);
}

.home-fit__note h3 {
  margin-block-start: 0;
}

.home-review__method {
  width: min(100%, 60ch);
  margin-block-end: var(--space-5);
  border-block-start: 3px solid var(--color-route-red);
  background: var(--color-paper-100);
  padding: var(--space-5);
}

.home-review__method p,
.home-review__closing {
  margin-block-end: 0;
}

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

.home-review__rows > article {
  display: grid;
  grid-template-columns: minmax(0, 3fr) minmax(0, 4.5fr) minmax(0, 4.5fr);
  gap: var(--space-5);
  min-width: 0;
  width: 100%;
  border-block-end: var(--border-light);
  padding-block: var(--space-5);
}

.home-review__rows h3,
.home-review__rows h4 {
  margin-block-start: 0;
}

.home-review__rows h4 {
  color: var(--color-ink-500);
  font-family: var(--font-body);
  font-size: var(--text-meta);
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.home-review__rows p {
  margin-block-end: 0;
}

.home-review__closing {
  margin-block-start: var(--space-5);
}

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

.home-continue__cards p:not(.route-label) {
  max-width: 34ch;
}

.home-source__panel {
  width: min(100%, 50rem);
  margin-inline: auto;
  border: var(--border-light);
  background: var(--color-paper-100);
  padding: var(--space-5);
}

.home-source__panel p {
  max-width: 62ch;
}

.home-source__panel h2 {
  margin-block-start: 0;
}

.home-final {
  position: relative;
  text-align: center;
}

.home-final__copy {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--space-4);
  width: min(100%, 40rem);
  margin-inline: auto;
}

.home-final__copy > * {
  min-width: 0;
  margin: 0;
}

.home-final__copy p {
  max-width: 56ch;
}

.home-final__copy small {
  max-width: 60ch;
  color: var(--color-lane-white);
}

@media (max-width: 1099px) {
  .home-overview__supporting { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .home-continue__cards { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 979px) {
  .home-drift__diagram {
    grid-template-columns: minmax(0, 1fr);
    gap: var(--space-4);
  }
  .home-drift__line { top: var(--space-5); bottom: var(--space-5); left: 2.75rem; width: 3px; height: auto; transform: none; }
  .home-drift__diagram article,
  .home-drift__diagram article:nth-of-type(even) { margin: 0; min-width: 0; }
}

@media (max-width: 959px) {
  .home-routes__grid { grid-template-columns: minmax(0, 1fr); }
  .home-routes__side { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 899px) {
  .home-driving__grid,
  .home-beginner__grid { grid-template-columns: minmax(0, 1fr); }
  .home-driving__article { max-width: 46rem; }
  .home-route-notes,
  .home-reading-rail { max-width: 46rem; }
}

@media (max-width: 819px) {
  .home-fit__cards { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .home-fit__cards > article:last-child { grid-column: 1 / -1; }
}

@media (max-width: 779px) {
  .home-hero { padding-block: var(--space-8); }
  .home-hero__grid { grid-template-columns: minmax(0, 1fr); }
  .home-hero__copy { max-width: none; }
}

@media (max-width: 759px) {
  .home-review__rows > article { grid-template-columns: minmax(0, 1fr); gap: var(--space-3); }
}

@media (max-width: 719px) {
  .home-hero__media img,
  .home-driving__figure img { aspect-ratio: 4 / 3; }
  .home-hero__media img { object-position: 72% center; }
  .home-overview__core,
  .home-overview__supporting,
  .home-routes__side,
  .home-routes__utilities,
  .home-fit__cards,
  .home-continue__cards { grid-template-columns: minmax(0, 1fr); }
  .home-fit__cards > article:last-child { grid-column: auto; }
  .home-city-block { grid-template-columns: minmax(0, 1fr); }
  .home-city-block img { min-height: 0; aspect-ratio: 4 / 3; }
  .home-drift__diagram { padding: var(--space-5); }
  .home-drift__intro,
  .home-overview__intro,
  .home-routes__intro,
  .home-fit__intro,
  .home-continue__intro,
  .home-driving__heading,
  .home-beginner__heading { width: 100%; }
  .home-final__copy { width: 100%; }
}

@media (max-width: 479px) {
  .home-hero__copy .display-heading { font-size: 2.25rem; line-height: 1.11; }
  .home-hero__actions { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--space-3); }
  .home-hero__actions > a { width: 100%; }
  .home-steps > li { grid-template-columns: minmax(0, 1fr); }
  .home-steps > li > span { width: 2.5rem; }
  .home-final__copy .button { width: 100%; }
}


.thank-you-page {
  background: var(--color-paper-50);
}

.thank-you-page__section {
  display: grid;
  min-height: clamp(30rem, 68vh, 43rem);
  align-items: center;
  padding-block: var(--space-8);
}

.thank-you-page__panel {
  position: relative;
  width: min(100%, 46rem);
  margin-inline: auto;
  overflow: hidden;
  border: var(--border-light);
  border-top: 3px solid var(--color-route-red);
  border-radius: var(--radius-lg);
  background: var(--color-paper-100);
  padding: var(--space-7);
  text-align: center;
}

.thank-you-page__panel::before {
  position: absolute;
  top: 0;
  right: 0;
  width: 8rem;
  height: 100%;
  opacity: 0.12;
  background: repeating-linear-gradient(
    135deg,
    transparent 0 1rem,
    var(--color-graphite-700) 1rem 1.125rem,
    transparent 1.125rem 2rem
  );
  content: "";
  pointer-events: none;
}

.thank-you-page__status {
  display: grid;
  width: 3.25rem;
  height: 3.25rem;
  margin-inline: auto;
  place-items: center;
  border-radius: 50%;
  background: var(--color-success-green);
  color: #ffffff;
  font-family: var(--font-heading);
  font-size: 2rem;
  font-weight: 700;
  line-height: 1;
}

.thank-you-page__content {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: var(--space-4);
  margin-block-start: var(--space-5);
}

.thank-you-page__content .eyebrow,
.thank-you-page__content h1,
.thank-you-page__content p {
  margin-block: 0;
}

.thank-you-page__content .eyebrow {
  justify-content: center;
}

.thank-you-page__content .lead {
  max-width: 38rem;
  margin-inline: auto;
}

.thank-you-page__content > p:not(.lead) {
  max-width: 42rem;
  margin-inline: auto;
  color: var(--color-ink-500);
}

.thank-you-page__actions {
  justify-content: center;
  margin-block-start: var(--space-2);
}

@media (max-width: 719px) {
  .thank-you-page__section {
    min-height: 0;
    padding-block: var(--space-7);
  }

  .thank-you-page__panel {
    padding: var(--space-6) var(--space-5);
  }
}

@media (max-width: 479px) {
  .thank-you-page__panel {
    padding: var(--space-5);
  }

  .thank-you-page__status {
    width: 3rem;
    height: 3rem;
  }
}