

:root {
  --color-asphalt-950: #15191b;
  --color-asphalt-900: #202629;
  --color-asphalt-700: #4c5557;
  --color-warm-concrete: #d8d0c4;
  --color-concrete-light: #f1ece4;
  --color-sunset-orange: #e96832;
  --color-sunset-orange-pressed: #c94f20;
  --color-sunset-amber: #f2a044;
  --color-petrol-blue: #176579;
  --color-electric-lime: #b8d83d;
  --color-ink: #202326;
  --color-white: #fff9f0;
  --color-muted-ink: #59605f;

  --color-page: var(--color-warm-concrete);
  --color-surface: var(--color-concrete-light);
  --color-surface-dark: var(--color-asphalt-900);
  --color-text: var(--color-ink);
  --color-text-muted: var(--color-muted-ink);
  --color-text-inverse: var(--color-white);
  --color-border: rgb(32 35 38 / 18%);
  --color-border-dark: rgb(255 249 240 / 18%);
  --color-focus: var(--color-electric-lime);

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

  --text-body: 1rem;
  --text-lead: clamp(1.125rem, 1.4vw, 1.25rem);
  --text-meta: 0.75rem;
  --text-display: clamp(3rem, 8vw, 6.5rem);
  --text-hero: clamp(2.5rem, 6vw, 4.75rem);
  --text-section: clamp(2rem, 4vw, 3.25rem);
  --text-card: clamp(1.5rem, 2.5vw, 2rem);

  --line-body: 1.6;
  --line-lead: 1.45;
  --line-display: 0.88;
  --line-hero: 0.92;
  --line-heading: 0.95;
  --line-card: 0.98;

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

  --container-max: 75rem;
  --container-padding: 2rem;
  --content-max: 45rem;

  --radius-none: 0;
  --radius-sm: 0.25rem;
  --radius-md: 0.5rem;
  --radius-pill: 999px;

  --shadow-elevated: 0 8px 24px rgb(21 25 27 / 12%);

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

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

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

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

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

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

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

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

img,
video {
  height: auto;
}

iframe {
  display: block;
  max-width: 100%;
  border: 0;
}

a {
  color: var(--color-petrol-blue);
  text-decoration-thickness: 0.08em;
  text-underline-offset: 0.16em;
}

a:hover {
  color: var(--color-sunset-orange-pressed);
}

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

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

button,
select {
  text-transform: none;
}

button,
[type="button"],
[type="reset"],
[type="submit"] {
  min-height: 2.75rem;
  cursor: pointer;
}

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

input,
select,
textarea {
  width: 100%;
  border: 1px solid var(--color-border);
  border-radius: var(--radius-sm);
  background: var(--color-white);
  color: var(--color-text);
  line-height: 1.4;
}

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

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

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

legend {
  padding: 0;
}

label {
  display: inline-block;
  margin-block-end: var(--space-2);
  font-size: var(--text-meta);
  font-weight: 700;
  letter-spacing: 0.08em;
  line-height: 1.25;
  text-transform: uppercase;
}

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

th,
td {
  padding: var(--space-3);
  border-bottom: 1px solid var(--color-border);
  text-align: start;
  vertical-align: top;
}

th {
  font-size: var(--text-meta);
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

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

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

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

h2 {
  font-size: var(--text-section);
  line-height: var(--line-heading);
}

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

h4 {
  font-size: clamp(1.25rem, 2vw, 1.5rem);
  line-height: 1;
}

h5,
h6 {
  font-family: var(--font-body);
  font-size: var(--text-meta);
  font-weight: 700;
  letter-spacing: 0.08em;
  line-height: 1.25;
  text-transform: uppercase;
}

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

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

li::marker {
  color: var(--color-sunset-orange);
}

main ul:not([class]),
main ol:not([class]),
article ul:not([class]),
article ol:not([class]),
.content-list {
  display: grid;
  gap: var(--space-2);
}

blockquote {
  margin: 0 0 var(--space-5);
  padding: var(--space-4) 0 var(--space-4) var(--space-5);
  border-inline-start: 2px solid var(--color-sunset-orange);
  font-family: var(--font-heading);
  font-size: clamp(1.5rem, 3vw, 2.25rem);
  font-weight: 800;
  letter-spacing: -0.02em;
  line-height: 1;
}

blockquote p {
  margin: 0;
}

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

figcaption {
  margin-block-start: var(--space-2);
  color: var(--color-text-muted);
  font-size: 0.8125rem;
  line-height: 1.45;
}

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

code,
kbd {
  padding: 0.1em 0.3em;
  border-radius: var(--radius-sm);
  background: rgb(32 35 38 / 8%);
}

pre {
  margin: 0 0 var(--space-5);
  padding: var(--space-4);
  overflow: auto;
  border-radius: var(--radius-sm);
  background: var(--color-asphalt-900);
  color: var(--color-white);
}

::selection {
  background: var(--color-sunset-orange);
  color: var(--color-asphalt-950);
}

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

.content {
  max-width: var(--content-max);
}

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

.surface-light {
  background: var(--color-concrete-light);
  color: var(--color-text);
}

.surface-dark {
  background: var(--color-asphalt-950);
  color: var(--color-text-inverse);
}

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

.surface-dark a:hover {
  color: var(--color-electric-lime);
}

.eyebrow {
  display: inline-flex;
  align-items: center;
  gap: var(--space-2);
  margin-block-end: var(--space-3);
  color: var(--color-muted-ink);
  font-size: var(--text-meta);
  font-weight: 700;
  letter-spacing: 0.08em;
  line-height: 1.25;
  text-transform: uppercase;
}

.surface-dark .eyebrow {
  color: var(--color-sunset-amber);
}

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

.meta {
  color: var(--color-text-muted);
  font-size: var(--text-meta);
  font-weight: 700;
  letter-spacing: 0.08em;
  line-height: 1.35;
  text-transform: uppercase;
}

.surface-dark .meta {
  color: rgb(255 249 240 / 72%);
}

.card,
.panel {
  min-width: 0;
  padding: var(--space-5);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-sm);
  background: var(--color-surface);
  color: var(--color-text);
}

.card--elevated,
.panel--elevated {
  box-shadow: var(--shadow-elevated);
  transition: transform var(--transition-fast), box-shadow var(--transition-fast);
}

.card--elevated:hover,
.panel--elevated:hover {
  transform: translateY(-2px);
}

.card--dark,
.panel--dark {
  border-color: var(--color-border-dark);
  background: var(--color-asphalt-900);
  color: var(--color-text-inverse);
}

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

.button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: var(--space-2);
  min-width: 2.75rem;
  min-height: 2.75rem;
  padding: 0.75rem 1rem;
  border: 1px solid transparent;
  border-radius: var(--radius-sm);
  background: var(--color-sunset-orange);
  color: var(--color-asphalt-950);
  font-size: 0.875rem;
  font-weight: 700;
  line-height: 1;
  text-align: center;
  text-decoration: none;
  transition: transform var(--transition-fast), background-color var(--transition-fast), color var(--transition-fast);
}

.button:hover {
  transform: translateY(-1px);
  background: var(--color-sunset-orange-pressed);
  color: var(--color-asphalt-950);
}

.button:active {
  transform: translateY(0);
  background: var(--color-sunset-orange-pressed);
}

.button--secondary {
  border-color: currentColor;
  background: transparent;
  color: var(--color-petrol-blue);
}

.button--secondary:hover {
  background: var(--color-petrol-blue);
  color: var(--color-white);
}

.surface-dark .button--secondary {
  color: var(--color-white);
}

.surface-dark .button--secondary:hover {
  background: var(--color-white);
  color: var(--color-asphalt-950);
}

.button-group {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-3);
  min-width: 0;
}

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

.status {
  display: inline-flex;
  align-items: center;
  gap: var(--space-1);
  padding: 0.25rem 0.5rem;
  border-radius: var(--radius-pill);
  background: var(--color-electric-lime);
  color: var(--color-asphalt-950);
  font-size: 0.6875rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  line-height: 1.2;
  text-transform: uppercase;
}

.tabular {
  font-variant-numeric: tabular-nums;
}

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

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

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

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

  .button-group .button {
    flex: 1 1 12rem;
  }
}

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

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


.site-header {
  position: relative;
  z-index: 20;
  width: 100%;
  border-bottom: 1px solid rgb(32 35 38 / 15%);
  background: var(--color-warm-concrete);
  color: var(--color-asphalt-950);
}

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

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

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

.site-header__brand-text {
  overflow: hidden;
  font-family: var(--font-heading);
  font-size: 1.375rem;
  font-weight: 800;
  letter-spacing: -0.025em;
  line-height: 1;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.site-header__nav {
  min-width: 0;
  margin-left: auto;
}

.site-header__list {
  display: flex;
  align-items: center;
  gap: clamp(0.75rem, 1.5vw, 1.5rem);
  margin: 0;
  padding: 0;
  list-style: none;
}

.site-header__list li,
.site-header__list li + li {
  display: flex;
  align-items: center;
  margin: 0;
  padding: 0;
}

.site-header__link {
  display: inline-flex;
  min-height: 2.75rem;
  align-items: center;
  color: var(--color-asphalt-950);
  font-size: 0.8125rem;
  font-weight: 700;
  letter-spacing: 0.03em;
  line-height: 1;
  text-decoration: none;
  white-space: nowrap;
}

.site-header__link:hover,
.site-header__link[aria-current="page"] {
  color: var(--color-petrol-blue);
}

.site-header__link[aria-current="page"]::after {
  width: 0.5rem;
  height: 0.125rem;
  margin-left: var(--space-2);
  background: var(--color-sunset-orange);
  content: "";
}

.site-header__actions {
  display: flex;
  flex: 0 0 auto;
  align-items: center;
  gap: var(--space-2);
}

.site-header__play {
  min-height: 2.75rem;
  padding-inline: 0.875rem;
  font-size: 0.75rem;
  white-space: nowrap;
}

.site-header__toggle {
  display: none;
  width: 2.75rem;
  min-height: 2.75rem;
  padding: 0;
  border: 1px solid var(--color-asphalt-700);
  border-radius: var(--radius-sm);
  background: transparent;
  color: var(--color-asphalt-950);
}

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

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

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

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

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

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

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

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

@media (max-width: 960px) {
  .site-header__bar {
    min-height: 4.5rem;
    gap: var(--space-3);
  }

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

  .site-header__brand-text {
    font-size: 1.125rem;
  }

  .site-header__toggle {
    display: inline-flex;
    flex: 0 0 auto;
    align-items: center;
    justify-content: center;
  }

  .site-header__nav {
    position: absolute;
    z-index: 2;
    top: 100%;
    right: 0;
    left: 0;
    display: grid;
    max-height: 0;
    overflow: hidden;
    border-bottom: 0 solid var(--color-border);
    background: var(--color-concrete-light);
    opacity: 0;
    pointer-events: none;
    transform: translateY(-0.5rem);
    transition: max-height var(--transition-reveal), opacity var(--transition-reveal), transform var(--transition-reveal), border-width var(--transition-reveal);
  }

  .site-header__nav--open {
    max-height: min(75vh, 36rem);
    overflow-y: auto;
    border-bottom-width: 1px;
    opacity: 1;
    pointer-events: auto;
    transform: translateY(0);
  }

  .site-header__list {
    display: grid;
    gap: 0;
    padding: var(--space-3) var(--container-padding) var(--space-4);
  }

  .site-header__list li {
    border-bottom: 1px solid var(--color-border);
  }

  .site-header__list li:last-child {
    border-bottom: 0;
  }

  .site-header__link {
    width: 100%;
    min-height: 3rem;
    font-size: 0.9375rem;
  }

  .site-header__link[aria-current="page"]::after {
    margin-left: auto;
  }

  .site-header__play {
    display: none;
  }
}

@media (max-width: 420px) {
  .site-header__bar {
    min-height: 4.25rem;
  }

  .site-header__brand {
    gap: var(--space-2);
  }

  .site-header__brand-text {
    font-size: 1.0625rem;
  }
}


.site-footer {
  position: relative;
  overflow: clip;
  background: var(--color-asphalt-950);
  color: var(--color-white);
}

.site-footer::before {
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: repeating-linear-gradient(135deg, rgb(255 249 240 / 3%) 0 1px, transparent 1px 12px);
  content: "";
}

.site-footer__inner {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) minmax(0, 2fr);
  gap: var(--space-7);
  padding-block: var(--space-8) var(--space-7);
}

.site-footer__brand,
.site-footer__column {
  min-width: 0;
}

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

.site-footer__mark {
  display: inline-flex;
  align-items: center;
  gap: var(--space-3);
  width: fit-content;
  color: var(--color-white);
  font-family: var(--font-heading);
  font-size: 1.75rem;
  font-weight: 800;
  letter-spacing: -0.025em;
  line-height: 1;
  text-decoration: none;
}

.site-footer__mark img {
  width: 2.25rem;
  height: 2.25rem;
  object-fit: contain;
}

.site-footer__copy {
  max-width: 34rem;
  margin: 0;
  color: rgb(255 249 240 / 74%);
}

.site-footer__columns {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-6);
}

.site-footer__title {
  margin: 0;
  color: var(--color-sunset-amber);
  font-family: var(--font-body);
  font-size: var(--text-meta);
  font-weight: 700;
  letter-spacing: 0.08em;
  line-height: 1.25;
  text-transform: uppercase;
}

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

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

.site-footer__list a {
  color: rgb(255 249 240 / 82%);
  text-decoration-color: rgb(242 160 68 / 45%);
}

.site-footer__list a:hover {
  color: var(--color-electric-lime);
}

.site-footer__bottom {
  position: relative;
  display: flex;
  justify-content: space-between;
  gap: var(--space-4);
  padding-block: var(--space-4);
  border-top: 1px solid var(--color-border-dark);
  color: rgb(255 249 240 / 60%);
  font-size: var(--text-meta);
  font-weight: 700;
  letter-spacing: 0.06em;
  line-height: 1.4;
  text-transform: uppercase;
}

.site-footer__bottom p {
  margin: 0;
}

.site-consent {
  position: fixed;
  z-index: 30;
  right: max(var(--container-padding), env(safe-area-inset-right));
  bottom: max(var(--container-padding), env(safe-area-inset-bottom));
  left: max(var(--container-padding), env(safe-area-inset-left));
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: var(--space-4);
  align-items: center;
  width: min(100% - (var(--container-padding) * 2), 52rem);
  margin-inline: auto;
  padding: var(--space-4);
  border: 1px solid var(--color-border-dark);
  border-inline-start: 3px solid var(--color-sunset-orange);
  border-radius: var(--radius-md);
  background: var(--color-asphalt-900);
  box-shadow: var(--shadow-elevated);
  color: var(--color-white);
  transition: opacity var(--transition-reveal), transform var(--transition-reveal);
}

.site-consent[hidden] {
  display: none;
}

.site-consent--hiding {
  opacity: 0;
  transform: translateY(0.75rem);
}

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

.site-consent__title,
.site-consent__text {
  margin: 0;
}

.site-consent__title {
  font-size: 1.125rem;
}

.site-consent__text {
  color: rgb(255 249 240 / 76%);
  font-size: 0.875rem;
  line-height: 1.45;
}

.site-consent__text a {
  color: var(--color-sunset-amber);
}

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

.site-consent__button {
  min-height: 2.75rem;
  padding: 0.75rem 1rem;
  border: 1px solid var(--color-border-dark);
  border-radius: var(--radius-sm);
  background: transparent;
  color: var(--color-white);
  font-size: 0.875rem;
  font-weight: 700;
  line-height: 1;
  transition: transform var(--transition-fast), background-color var(--transition-fast), color var(--transition-fast);
}

.site-consent__button:hover {
  transform: translateY(-1px);
  background: var(--color-white);
  color: var(--color-asphalt-950);
}

.site-consent__button--accept {
  border-color: var(--color-sunset-orange);
  background: var(--color-sunset-orange);
  color: var(--color-asphalt-950);
}

.site-consent__button--accept:hover {
  background: var(--color-sunset-orange-pressed);
  color: var(--color-asphalt-950);
}

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

  .site-footer__inner {
    gap: var(--space-6);
    padding-block: var(--space-7) var(--space-6);
  }

  .site-footer__columns {
    gap: var(--space-5);
  }

  .site-footer__bottom {
    flex-direction: column;
  }

  .site-consent {
    grid-template-columns: 1fr;
    width: auto;
  }

  .site-consent__actions {
    width: 100%;
  }

  .site-consent__button {
    flex: 1 1 9rem;
  }
}


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

.cookie-policy-page .section {
  position: relative;
}

.cookie-hero {
  position: relative;
  overflow: hidden;
  padding-block: var(--space-9) var(--space-8);
  background-color: var(--color-asphalt-950);
}

.cookie-hero::before {
  position: absolute;
  inset: 0;
  background-image: repeating-linear-gradient(135deg, rgb(255 249 240 / 4%) 0 1px, transparent 1px 8px);
  content: "";
  opacity: .45;
  pointer-events: none;
}

.cookie-hero__grid {
  position: relative;
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  column-gap: var(--space-5);
}

.cookie-hero__copy {
  grid-column: 1 / span 7;
  min-width: 0;
  max-width: 41.25rem;
}

.cookie-hero__marker {
  width: .75rem;
  height: 2px;
  background: var(--color-sunset-orange);
}

.cookie-hero__copy h1 {
  margin-block-end: var(--space-5);
  font-size: var(--text-hero);
}

.cookie-hero__copy .lead {
  margin-block-end: var(--space-5);
}

.cookie-hero__notice {
  display: grid;
  gap: var(--space-2);
  padding-block-start: var(--space-4);
  border-block-start: 2px solid var(--color-sunset-orange);
  color: rgb(255 249 240 / 82%);
}

.cookie-hero__notice p {
  margin: 0;
}

.cookie-hero__route {
  position: relative;
  grid-column: 8 / span 5;
  min-width: 0;
  min-height: 19rem;
}

.cookie-hero__route span {
  position: absolute;
  height: 2px;
  background: rgb(242 160 68 / 28%);
  transform: rotate(-11deg);
}

.cookie-hero__route span:nth-child(1) { top: 24%; right: -8%; width: 78%; }
.cookie-hero__route span:nth-child(2) { top: 47%; right: 10%; width: 58%; background: rgb(233 104 50 / 60%); }
.cookie-hero__route span:nth-child(3) { top: 70%; right: -5%; width: 92%; }

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

.cookie-explainer__copy {
  grid-column: 1 / span 7;
  min-width: 0;
  max-width: 43.75rem;
}

.cookie-explainer__copy h2,
.cookie-categories__intro h2,
.cookie-register__copy h2,
.cookie-controls__copy h2,
.cookie-faq__intro h2 {
  margin-block-end: var(--space-5);
}

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

.cookie-duration__item {
  min-width: 0;
  padding-block-start: var(--space-4);
  border-block-start: 1px solid var(--color-border);
}

.cookie-duration__item p {
  margin-block-end: 0;
}

.cookie-functions {
  grid-column: 9 / span 4;
  display: grid;
  min-width: 0;
  gap: var(--space-3);
  padding: var(--space-6);
}

.cookie-functions h3 {
  margin: 0;
}

.cookie-functions__rows {
  display: grid;
  gap: 0;
}

.cookie-functions__row {
  display: grid;
  gap: var(--space-2);
  min-width: 0;
  padding-block: var(--space-3);
  border-block-start: 1px solid var(--color-border);
}

.cookie-functions__row span {
  color: var(--color-petrol-blue);
  font-size: var(--text-meta);
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.cookie-functions__row p {
  margin: 0;
  font-size: .9rem;
  line-height: 1.5;
}

.cookie-categories__intro {
  max-width: 42.5rem;
}

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

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

.cookie-category-card {
  display: grid;
  align-content: start;
  gap: var(--space-3);
  min-height: 100%;
}

.cookie-category-card h3,
.cookie-category-card p {
  margin: 0;
}

.cookie-category-card--essential {
  border-inline-start: 4px solid var(--color-petrol-blue);
}

.cookie-category-card--optional .meta {
  color: var(--color-sunset-amber);
}

.cookie-category-card__state {
  padding-block-start: var(--space-3);
  border-block-start: 1px solid var(--color-border);
  color: var(--color-muted-ink);
  font-size: .875rem;
}

.cookie-category-note {
  grid-column: 1 / -1;
  min-width: 0;
  padding-block-start: var(--space-4);
  border-block-start: 2px solid var(--color-sunset-orange);
}

.cookie-category-note p {
  max-width: 52rem;
  margin: 0;
}

.cookie-register__copy {
  max-width: 43.75rem;
}

.cookie-register__info {
  display: grid;
  gap: var(--space-2);
  margin-block-start: var(--space-5);
  padding: var(--space-3) var(--space-4);
  border-inline-start: 3px solid var(--color-petrol-blue);
  background: rgb(23 101 121 / 10%);
}

.cookie-register__info p {
  margin: 0;
}

.cookie-table-wrap {
  width: 100%;
  margin-block-start: var(--space-6);
}

.cookie-table th,
.cookie-table td {
  min-width: 0;
}

.cookie-table th {
  color: var(--color-petrol-blue);
}

.cookie-table td {
  width: 20%;
  line-height: 1.5;
}

.cookie-register__note {
  max-width: 43.75rem;
  margin-block-start: var(--space-5);
  padding-block-start: var(--space-4);
  border-block-start: 2px solid var(--color-sunset-orange);
}

.cookie-register__note p {
  margin: 0;
}

.cookie-controls {
  overflow: hidden;
}

.cookie-controls::before {
  position: absolute;
  inset: 0;
  background-image: repeating-linear-gradient(135deg, rgb(255 249 240 / 3%) 0 1px, transparent 1px 10px);
  content: "";
  pointer-events: none;
}

.cookie-controls .container {
  position: relative;
}

.cookie-controls__copy {
  max-width: 42.5rem;
}

.cookie-controls mark {
  padding: 0 .12em;
  background: transparent;
  color: var(--color-sunset-amber);
  font-weight: 700;
}

.cookie-steps {
  display: grid;
  gap: var(--space-4);
  width: 75%;
  max-width: 51.25rem;
  margin: var(--space-6) 0 0;
  padding: 0;
  list-style: none;
}

.cookie-steps > li {
  display: grid;
  grid-template-columns: 3.25rem minmax(0, 1fr);
  gap: var(--space-4);
  min-width: 0;
  padding-block: var(--space-4);
  border-block-start: 1px solid var(--color-border-dark);
}

.cookie-steps__number {
  min-width: 0;
  color: var(--color-sunset-amber);
  font-family: var(--font-heading);
  font-size: 1.75rem;
  font-weight: 800;
  line-height: 1;
}

.cookie-steps h3 {
  margin-block-end: var(--space-2);
}

.cookie-steps p {
  margin: 0;
  color: rgb(255 249 240 / 78%);
}

.cookie-warning {
  display: grid;
  gap: var(--space-3);
  width: 50%;
  min-width: 0;
  margin-block-start: var(--space-6);
  padding: var(--space-5);
  border: 1px solid var(--color-border-dark);
  border-radius: var(--radius-md);
}

.cookie-warning h3,
.cookie-warning p {
  margin: 0;
}

.cookie-warning p {
  color: rgb(255 249 240 / 78%);
}

.cookie-faq__intro {
  max-width: 42.5rem;
}

.cookie-faq__list {
  display: grid;
  gap: var(--space-3);
  width: 66.666%;
  max-width: 51.25rem;
  margin-block-start: var(--space-6);
}

.cookie-faq__item {
  min-width: 0;
  overflow: hidden;
  border: 1px solid var(--color-border);
  border-radius: var(--radius-md);
  background: var(--color-concrete-light);
}

.cookie-faq__item[open] {
  border-block-start: 2px solid var(--color-sunset-orange);
}

.cookie-faq__item--independent {
  border-inline-start: 3px solid var(--color-petrol-blue);
}

.cookie-faq__item summary {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 1.5rem;
  gap: var(--space-3);
  min-height: 2.75rem;
  padding: var(--space-4) var(--space-5);
  color: var(--color-ink);
  cursor: pointer;
  font-family: var(--font-heading);
  font-size: clamp(1.125rem, 2vw, 1.25rem);
  font-weight: 800;
  letter-spacing: -.02em;
  line-height: 1;
  list-style: none;
}

.cookie-faq__item summary::-webkit-details-marker {
  display: none;
}

.cookie-faq__item summary::after {
  align-self: center;
  content: "+";
  color: var(--color-petrol-blue);
  font-family: var(--font-body);
  font-size: 1.25rem;
  font-weight: 500;
  text-align: end;
}

.cookie-faq__item[open] summary::after {
  content: "−";
  color: var(--color-sunset-orange);
}

.cookie-faq__answer {
  overflow: hidden;
  padding: 0 var(--space-5) var(--space-5);
  animation: cookie-faq-reveal var(--transition-reveal);
}

.cookie-faq__answer p {
  margin: 0;
}

@keyframes cookie-faq-reveal {
  from { opacity: 0; transform: translateY(-.25rem); }
  to { opacity: 1; transform: translateY(0); }
}

@media (max-width: 980px) {
  .cookie-hero__grid,
  .cookie-explainer__grid {
    grid-template-columns: repeat(6, minmax(0, 1fr));
  }

  .cookie-hero__copy,
  .cookie-explainer__copy {
    grid-column: 1 / -1;
  }

  .cookie-hero__route {
    display: none;
  }

  .cookie-functions {
    grid-column: 1 / -1;
    max-width: 43.75rem;
  }

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

  .cookie-steps {
    width: 100%;
  }

  .cookie-warning {
    width: 100%;
    max-width: 43.75rem;
  }

  .cookie-faq__list {
    width: 100%;
  }
}

@media (max-width: 920px) {
  .cookie-table thead {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
  }

  .cookie-table,
  .cookie-table tbody,
  .cookie-table tr,
  .cookie-table td {
    display: block;
    width: 100%;
  }

  .cookie-table tr {
    overflow: hidden;
    border: 1px solid var(--color-border);
    border-radius: var(--radius-sm);
    background: var(--color-concrete-light);
  }

  .cookie-table td {
    display: grid;
    grid-template-columns: minmax(8.5rem, .75fr) minmax(0, 1.25fr);
    gap: var(--space-4);
    padding: var(--space-4);
    border-bottom: 1px solid var(--color-border);
  }

  .cookie-table td:last-child {
    border-bottom: 0;
  }

  .cookie-table td::before {
    content: attr(data-label);
    color: var(--color-petrol-blue);
    font-size: var(--text-meta);
    font-weight: 700;
    letter-spacing: .08em;
    line-height: 1.35;
    text-transform: uppercase;
  }
}

@media (max-width: 767px) {
  .cookie-hero {
    padding-block: var(--space-8) var(--space-7);
  }

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

  .cookie-hero__copy,
  .cookie-explainer__copy,
  .cookie-functions {
    grid-column: 1;
    width: 100%;
  }

  .cookie-hero__copy h1 {
    font-size: clamp(2.5rem, 12vw, 3.375rem);
  }

  .cookie-hero__copy .lead {
    max-width: 34em;
    font-size: 1.125rem;
  }

  .cookie-explainer__grid {
    gap: var(--space-5);
  }

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

  .cookie-functions {
    padding: var(--space-5);
  }

  .cookie-categories__intro,
  .cookie-register__copy,
  .cookie-controls__copy,
  .cookie-faq__intro {
    width: 100%;
    max-width: none;
  }

  .cookie-category-grid {
    gap: var(--space-4);
    margin-block-start: var(--space-5);
  }

  .cookie-category-card {
    padding: var(--space-5);
  }

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

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

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

  .cookie-steps__number {
    font-size: 1.35rem;
  }

  .cookie-warning {
    padding: var(--space-5);
  }

  .cookie-faq__list {
    gap: var(--space-3);
    margin-block-start: var(--space-5);
  }

  .cookie-faq__item summary {
    padding: var(--space-4);
  }

  .cookie-faq__answer {
    padding: 0 var(--space-4) var(--space-4);
  }
}


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

.terms-page .eyebrow {
  margin: 0;
}

.terms-hero,
.terms-closing {
  position: relative;
  overflow: hidden;
  background: var(--color-asphalt-950);
  color: var(--color-white);
}

.terms-hero::after,
.terms-closing::after {
  position: absolute;
  inset: 0 0 0 auto;
  width: 42%;
  background: repeating-linear-gradient(135deg, rgb(255 249 240 / 4%) 0 1px, transparent 1px 12px);
  content: "";
  pointer-events: none;
}

.terms-hero__grid,
.terms-role__grid,
.terms-external__grid,
.terms-closing__grid {
  display: grid;
  grid-template-columns: minmax(0, 7fr) minmax(0, 5fr);
  gap: var(--space-6);
  min-width: 0;
}

.terms-hero__grid {
  min-height: 29rem;
  padding-block: var(--space-9);
}

.terms-hero__copy,
.terms-role__copy,
.terms-external__copy,
.terms-closing__copy,
.terms-rights__copy,
.terms-liability__copy,
.terms-use__intro {
  min-width: 0;
}

.terms-hero__copy {
  grid-column: 1;
  align-self: center;
  width: 100%;
  max-width: 42.5rem;
  display: flex;
  flex-direction: column;
  gap: var(--space-4);
}

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

.terms-hero__aside,
.terms-external__aside,
.terms-closing__aside {
  grid-column: 2;
  min-width: 0;
}

.terms-route::before,
.terms-route::after {
  width: 1.75rem;
  height: 2px;
  background: var(--color-sunset-orange);
  content: "";
}

.terms-hero h1 {
  max-width: 42.5rem;
  font-size: var(--text-hero);
  line-height: var(--line-hero);
}

.terms-hero__intro {
  max-width: 42.5rem;
  font-size: var(--text-lead);
  font-weight: 500;
  line-height: var(--line-lead);
}

.terms-effective {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: var(--space-2);
  width: 100%;
  padding-top: var(--space-4);
  border-top: 2px solid var(--color-sunset-orange);
}

.terms-effective__label,
.terms-effective__value,
.terms-card-label,
.terms-status__title,
.terms-store-warning__label {
  font-size: var(--text-meta);
  font-weight: 700;
  letter-spacing: 0.08em;
  line-height: 1.35;
  text-transform: uppercase;
}

.terms-effective__label {
  color: var(--color-sunset-amber);
}

.terms-effective__value {
  color: rgb(255 249 240 / 76%);
}

.terms-hero__scope {
  max-width: 42.5rem;
  color: rgb(255 249 240 / 78%);
}

.terms-hero__scope a {
  color: var(--color-sunset-amber);
  overflow-wrap: anywhere;
}

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

.terms-role__grid {
  grid-template-columns: minmax(0, 7fr) minmax(17.5rem, 4fr);
  column-gap: calc(var(--space-6) + var(--space-4));
}

.terms-role__copy {
  grid-column: 1;
  width: 100%;
  max-width: 43.75rem;
}

.terms-role__copy h2,
.terms-use__intro h2,
.terms-rights__copy h2,
.terms-external__copy h2,
.terms-liability__copy h2,
.terms-closing__copy h2 {
  margin-top: var(--space-3);
}

.terms-statement {
  margin-top: var(--space-5);
  padding-left: var(--space-5);
  border-left: 2px solid var(--color-petrol-blue);
}

.terms-statement p {
  margin-bottom: 0;
  font-size: var(--text-lead);
  font-weight: 500;
  line-height: var(--line-lead);
}

.terms-separated {
  margin-top: var(--space-6);
}

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

.terms-status {
  grid-column: 2;
  align-self: start;
  width: 100%;
  min-width: 0;
  padding: var(--space-5);
  display: flex;
  flex-direction: column;
  gap: var(--space-4);
}

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

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

.terms-status__list {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 0;
  margin: 0;
}

.terms-status__row {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: var(--space-1);
  min-width: 0;
  padding-block: var(--space-3);
  border-top: 1px solid var(--color-border);
}

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

.terms-status__row dt {
  color: var(--color-muted-ink);
  font-size: 0.6875rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.terms-status__row dd {
  margin: 0;
  font-weight: 600;
  overflow-wrap: anywhere;
}

.terms-status__mark {
  display: inline-flex;
  align-self: flex-start;
  align-items: center;
  gap: var(--space-2);
  color: var(--color-ink);
  font-size: 0.6875rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.terms-status__mark::before {
  width: 0.5rem;
  height: 0.5rem;
  background: var(--color-sunset-orange);
  content: "";
}

.terms-use {
  padding-top: var(--space-7);
  background: var(--color-concrete-light);
}

.terms-use__intro {
  width: 100%;
  max-width: 42.5rem;
}

.terms-use__cards {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-5);
  width: 100%;
  margin-top: var(--space-6);
}

.terms-permitted,
.terms-restricted {
  width: 100%;
  min-width: 0;
  padding: var(--space-5);
}

.terms-permitted {
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
  border-top: 2px solid var(--color-petrol-blue);
}

.terms-restricted {
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
  border: 1px solid var(--color-border-dark);
  border-top: 2px solid var(--color-sunset-orange);
  background: var(--color-asphalt-900);
  color: var(--color-white);
  border-radius: var(--radius-sm);
}

.terms-permitted > *,
.terms-restricted > * {
  margin: 0;
}

.terms-card-label {
  color: var(--color-petrol-blue);
}

.terms-restricted .terms-card-label {
  color: var(--color-sunset-amber);
}

.terms-permitted ul,
.terms-restricted ul {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: var(--space-3);
  padding-left: 1.25rem;
}

.terms-use__closing {
  width: 100%;
  max-width: 42.5rem;
  margin-top: var(--space-6);
  margin-bottom: 0;
}

.terms-rights__copy,
.terms-liability__copy {
  width: 100%;
  max-width: 42.5rem;
}

.terms-rights__copy h3 {
  margin-top: var(--space-5);
}

.terms-rights__list {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: var(--space-2);
  margin-top: var(--space-5);
  padding-left: 1.25rem;
  border-left: 2px solid var(--color-sunset-orange);
}

.terms-third-party {
  margin-top: var(--space-6);
  padding: var(--space-5);
  border-left: 2px solid var(--color-petrol-blue);
  background: var(--color-concrete-light);
}

.terms-third-party > :last-child {
  margin-bottom: 0;
}

.terms-numbered {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: var(--space-3);
  margin-top: var(--space-5);
}

.terms-numbered span {
  color: var(--color-sunset-orange);
  font-weight: 800;
}

.terms-external {
  position: relative;
  overflow: hidden;
  background: var(--color-asphalt-950);
}

.terms-external::before {
  position: absolute;
  inset: 0 0 0 auto;
  width: 44%;
  background: linear-gradient(125deg, transparent 0 40%, rgb(23 101 121 / 40%) 40% 100%);
  content: "";
  pointer-events: none;
}

.terms-external__grid {
  position: relative;
  z-index: 1;
}

.terms-external__copy {
  grid-column: 1;
  width: 100%;
  max-width: 43.75rem;
}

.terms-external__copy .eyebrow {
  color: var(--color-sunset-amber);
}

.terms-play-link {
  display: inline-flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-3);
  width: 100%;
  min-height: 2.75rem;
  margin-top: var(--space-5);
  padding: var(--space-4);
  border-radius: var(--radius-sm);
  background: var(--color-sunset-orange);
  color: var(--color-asphalt-950);
  font-size: 0.875rem;
  font-weight: 700;
  line-height: 1.35;
  text-decoration: none;
  transition: transform var(--transition-fast), background-color var(--transition-fast);
}

.terms-play-link:hover {
  transform: translate(2px, -1px);
  background: var(--color-sunset-orange-pressed);
  color: var(--color-asphalt-950);
}

.terms-play-link:active {
  transform: translateY(0);
  background: var(--color-sunset-orange-pressed);
}

.terms-play-link > span[aria-hidden="true"] {
  flex: 0 0 auto;
  font-size: 1.25rem;
}

.terms-store-warning {
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
  width: 100%;
  margin-top: var(--space-5);
  padding: var(--space-5);
  border: 1px solid var(--color-border-dark);
  border-top: 2px solid var(--color-sunset-orange);
  background: var(--color-asphalt-900);
  border-radius: var(--radius-sm);
}

.terms-store-warning > * {
  margin: 0;
}

.terms-store-warning__label {
  color: var(--color-sunset-amber);
}

.terms-external__closing {
  margin-top: var(--space-5);
  padding-top: var(--space-4);
  border-top: 2px solid var(--color-sunset-orange);
}

.terms-liability {
  border-top: 2px solid var(--color-petrol-blue);
}

.terms-liability__points {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: var(--space-4);
  width: 100%;
  margin-top: var(--space-5);
}

.terms-liability__points p {
  display: grid;
  grid-template-columns: 2.5rem minmax(0, 1fr);
  gap: var(--space-3);
  margin: 0;
  padding-left: var(--space-4);
  border-left: 2px solid var(--color-petrol-blue);
}

.terms-liability__points span {
  color: var(--color-petrol-blue);
  font-size: var(--text-meta);
  font-weight: 800;
  letter-spacing: 0.08em;
}

.terms-summary {
  margin-top: var(--space-6);
  padding: var(--space-5);
  border: 1px solid var(--color-border);
  background: var(--color-concrete-light);
  border-radius: var(--radius-sm);
}

.terms-summary p {
  margin: 0;
}

.terms-closing__grid {
  position: relative;
  z-index: 1;
  min-height: 24rem;
  padding-block: var(--space-8);
}

.terms-closing__copy {
  grid-column: 1;
  align-self: center;
  width: 100%;
  max-width: 42.5rem;
}

.terms-closing__copy .eyebrow {
  color: var(--color-sunset-amber);
}

.terms-closing__copy h2 {
  margin-top: var(--space-3);
}

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

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

  .terms-role__copy,
  .terms-status {
    grid-column: 1;
  }

  .terms-status {
    max-width: none;
  }
}

@media (max-width: 859px) {
  .terms-external__grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .terms-external__copy {
    grid-column: 1;
  }

  .terms-external__aside {
    display: none;
  }

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

@media (max-width: 819px) {
  .terms-hero__grid,
  .terms-closing__grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .terms-hero__grid {
    min-height: 0;
    padding-block: var(--space-7);
  }

  .terms-hero__aside,
  .terms-closing__aside {
    display: none;
  }

  .terms-hero::after,
  .terms-closing::after {
    display: none;
  }

  .terms-closing__grid {
    min-height: 0;
    padding-block: var(--space-7);
  }

  .terms-closing__copy {
    grid-column: 1;
  }

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

@media (max-width: 767px) {
  .terms-hero h1 {
    font-size: clamp(2.75rem, 12vw, 3.25rem);
  }

  .terms-hero__copy,
  .terms-role__copy,
  .terms-rights__copy,
  .terms-liability__copy,
  .terms-use__intro,
  .terms-external__copy,
  .terms-closing__copy {
    max-width: none;
  }

  .terms-role,
  .terms-use,
  .terms-rights,
  .terms-external,
  .terms-liability {
    padding-block: var(--space-7);
  }

  .terms-status,
  .terms-permitted,
  .terms-restricted,
  .terms-store-warning,
  .terms-third-party,
  .terms-summary {
    padding: var(--space-5);
  }

  .terms-play-link {
    align-items: flex-start;
  }

  .terms-liability__points p {
    grid-template-columns: 2.25rem minmax(0, 1fr);
  }
}

@media (max-width: 479px) {
  .terms-effective {
    align-items: flex-start;
    flex-direction: column;
  }

  .terms-route::after {
    display: none;
  }

  .terms-status__row {
    gap: var(--space-2);
  }

  .terms-numbered,
  .terms-liability__points p {
    grid-template-columns: minmax(0, 1fr);
    gap: var(--space-2);
  }

  .terms-numbered span {
    display: block;
  }
}


.privacy-page {
  background: var(--color-warm-concrete);
}

.privacy-page .section {
  position: relative;
}

.privacy-page .eyebrow > span {
  color: var(--color-sunset-orange);
  font-weight: 800;
}

.privacy-hero {
  overflow: hidden;
  padding-block: var(--space-9) var(--space-8);
}

.privacy-hero::after {
  position: absolute;
  inset: auto -7rem 2rem auto;
  width: 20rem;
  height: 2px;
  background: var(--color-sunset-orange);
  content: "";
  transform: rotate(-12deg);
}

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

.privacy-hero__copy {
  grid-column: 1 / 2;
  width: 100%;
  min-width: 0;
  max-width: 42.5rem;
}

.privacy-hero__copy h1 {
  max-width: 44rem;
}

.privacy-document-card {
  grid-column: 3 / 4;
  display: flex;
  width: 100%;
  min-width: 0;
  flex-direction: column;
  gap: var(--space-4);
  padding: var(--space-6);
  border: 1px solid var(--color-border-dark);
  border-radius: var(--radius-sm);
  background: var(--color-asphalt-900);
  color: var(--color-white);
}

.privacy-document-card p {
  margin: 0;
}

.privacy-document-card__rule,
.privacy-update__rule {
  width: 4rem;
  height: 2px;
  background: var(--color-sunset-orange);
}

.privacy-document-card__list,
.privacy-play-panel__list {
  display: grid;
  width: 100%;
  min-width: 0;
  margin: 0;
  border-top: 1px solid var(--color-border-dark);
}

.privacy-document-card__list > div,
.privacy-play-panel__list > div {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: var(--space-1);
  width: 100%;
  min-width: 0;
  padding-block: var(--space-3);
  border-bottom: 1px solid var(--color-border-dark);
}

.privacy-document-card dt,
.privacy-play-panel dt,
.privacy-definition-list dt {
  color: rgb(255 249 240 / 68%);
  font-size: var(--text-meta);
  font-weight: 700;
  letter-spacing: 0.08em;
  line-height: 1.25;
  text-transform: uppercase;
}

.privacy-document-card dd,
.privacy-play-panel dd,
.privacy-definition-list dd {
  min-width: 0;
  margin: 0;
  overflow-wrap: anywhere;
}

.privacy-data {
  border-top: 1px solid var(--color-border);
}

.privacy-data__copy,
.privacy-retention__copy,
.privacy-rights__copy,
.privacy-update__copy {
  width: 100%;
  min-width: 0;
  max-width: 43.75rem;
}

.privacy-data__copy h3 {
  margin-block-start: var(--space-6);
}

.privacy-cookie-note {
  display: flex;
  width: 100%;
  min-width: 0;
  flex-direction: column;
  gap: var(--space-3);
  margin-block-start: var(--space-6);
  padding: var(--space-5);
  border: 1px solid var(--color-border);
  border-inline-start: 3px solid var(--color-petrol-blue);
  border-radius: var(--radius-sm);
  background: var(--color-concrete-light);
}

.privacy-cookie-note p,
.privacy-cookie-note h3 {
  margin: 0;
}

.privacy-principles {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--space-5);
  width: 100%;
  min-width: 0;
  margin-block-start: var(--space-7);
}

.privacy-principles > * {
  width: 100%;
  min-width: 0;
}

.privacy-principle-card {
  display: flex;
  min-height: 13rem;
  flex-direction: column;
  gap: var(--space-3);
  border-top: 2px solid var(--color-sunset-orange);
}

.privacy-principle-card p,
.privacy-principle-card h3 {
  margin: 0;
}

.privacy-principle-card p:last-child {
  color: var(--color-muted-ink);
}

.privacy-purpose__copy {
  grid-column: 1 / 2;
  width: 100%;
  min-width: 0;
  max-width: 45rem;
}

.privacy-numbered-list {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: var(--space-5);
  width: 100%;
  min-width: 0;
  margin-block-start: var(--space-6);
}

.privacy-numbered-list > article {
  display: grid;
  grid-template-columns: 3rem minmax(0, 1fr);
  gap: var(--space-4);
  width: 100%;
  min-width: 0;
  padding-block-start: var(--space-4);
  border-top: 1px solid var(--color-border);
}

.privacy-numbered-list > article > span {
  color: var(--color-sunset-orange);
  font-size: var(--text-meta);
  font-weight: 700;
  letter-spacing: 0.08em;
}

.privacy-numbered-list > article > div {
  width: 100%;
  min-width: 0;
}

.privacy-numbered-list h3 {
  margin-block-end: var(--space-3);
}

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

.privacy-boundary-panel {
  grid-column: 3 / 4;
  display: flex;
  width: 100%;
  min-width: 0;
  flex-direction: column;
  gap: var(--space-4);
  margin-block-start: var(--space-8);
  padding: var(--space-6);
  border-radius: var(--radius-md);
  background: var(--color-petrol-blue);
  color: var(--color-white);
}

.privacy-boundary-panel .eyebrow {
  color: var(--color-concrete-light);
}

.privacy-boundary-panel .eyebrow > span {
  color: var(--color-electric-lime);
}

.privacy-boundary-panel h3,
.privacy-boundary-panel p {
  margin: 0;
}

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

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

.privacy-retention-block,
.privacy-services-block {
  width: 100%;
  min-width: 0;
  margin-block-start: var(--space-6);
}

.privacy-retention-block h3,
.privacy-services-block h3 {
  margin-block-end: var(--space-3);
}

.privacy-security-card {
  display: flex;
  width: 100%;
  min-width: 0;
  flex-direction: column;
  gap: var(--space-3);
  margin-block-start: var(--space-5);
  border-inline-start: 3px solid var(--color-petrol-blue);
}

.privacy-security-card p,
.privacy-security-card h3 {
  margin: 0;
}

.privacy-security-card__signal,
.privacy-play-panel__signal {
  display: inline-block;
  width: 0.55rem;
  height: 0.55rem;
  margin-inline-end: var(--space-1);
  border-radius: 50%;
  background: var(--color-electric-lime);
}

.privacy-definition-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-4);
  width: 100%;
  min-width: 0;
  margin: 0;
}

.privacy-definition-list > div {
  display: flex;
  width: 100%;
  min-width: 0;
  flex-direction: column;
  gap: var(--space-2);
  padding: var(--space-4);
  border-top: 2px solid var(--color-sunset-orange);
  background: rgb(255 249 240 / 28%);
}

.privacy-definition-list dt {
  color: var(--color-muted-ink);
}

.privacy-definition-list dd {
  color: var(--color-text);
}

.privacy-road-motif {
  display: flex;
  grid-column: 2 / 3;
  width: 100%;
  min-width: 0;
  align-items: flex-end;
  justify-content: center;
  gap: var(--space-5);
  overflow: hidden;
  opacity: 0.35;
}

.privacy-road-motif span {
  display: block;
  width: 2px;
  height: 11rem;
  background: var(--color-asphalt-700);
  transform: rotate(20deg);
}

.privacy-road-motif span:nth-child(2) {
  height: 18rem;
  background: var(--color-sunset-orange);
}

.privacy-road-motif span:nth-child(3) {
  height: 8rem;
}

.privacy-rights__copy {
  max-width: 45rem;
}

.privacy-rights-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-5);
  width: 100%;
  min-width: 0;
  max-width: 45rem;
  margin-block-start: var(--space-6);
}

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

.privacy-right-card {
  display: flex;
  min-height: 11.5rem;
  flex-direction: column;
  gap: var(--space-3);
}

.privacy-right-card h3,
.privacy-right-card p {
  margin: 0;
}

.privacy-right-card p:last-child {
  color: var(--color-muted-ink);
}

.privacy-contact-box {
  display: flex;
  width: 100%;
  min-width: 0;
  max-width: 45rem;
  flex-direction: column;
  gap: var(--space-3);
  margin-block-start: var(--space-6);
  padding: var(--space-5);
  border: 1px solid var(--color-border);
  border-top: 2px solid var(--color-sunset-orange);
  border-radius: var(--radius-sm);
  background: var(--color-concrete-light);
}

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

.privacy-remedy {
  width: 100%;
  min-width: 0;
  max-width: 45rem;
  margin-block-start: var(--space-6);
}

.privacy-remedy h3 {
  color: var(--color-petrol-blue);
}

.privacy-remedy p {
  margin-block-end: 0;
}

.privacy-external {
  overflow: hidden;
  background: var(--color-asphalt-950);
}

.privacy-external::before {
  position: absolute;
  inset: 0 0 0 58%;
  background: var(--color-petrol-blue);
  content: "";
  opacity: 0.45;
  clip-path: polygon(12% 0, 100% 0, 100% 100%, 0 100%);
}

.privacy-external__grid {
  position: relative;
}

.privacy-external__copy {
  grid-column: 1 / 2;
  width: 100%;
  min-width: 0;
  max-width: 43.75rem;
}

.privacy-play-panel {
  display: flex;
  grid-column: 3 / 4;
  width: 100%;
  min-width: 0;
  flex-direction: column;
  gap: var(--space-4);
  padding: var(--space-6);
  border: 1px solid var(--color-border-dark);
  border-radius: var(--radius-sm);
  background: var(--color-asphalt-900);
  color: var(--color-white);
}

.privacy-play-panel h3,
.privacy-play-panel p {
  margin: 0;
}

.privacy-play-panel__button {
  width: 100%;
  min-width: 0;
  margin-block-start: var(--space-2);
  text-align: left;
}

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

.privacy-update__copy p {
  margin-block-end: var(--space-5);
}

.privacy-update-card {
  display: flex;
  width: min(100%, 25rem);
  min-width: 0;
  flex-direction: column;
  gap: var(--space-3);
  margin-block-start: var(--space-6);
  border-top: 2px solid var(--color-sunset-orange);
}

.privacy-update-card p {
  margin: 0;
}

.privacy-update-card__date {
  font-family: var(--font-heading);
  font-size: clamp(1.5rem, 2.5vw, 2rem);
  font-weight: 800;
  line-height: var(--line-card);
}

@media (max-width: 1199px) {
  .privacy-hero__grid,
  .privacy-purpose__grid,
  .privacy-external__grid {
    grid-template-columns: minmax(0, 4fr) minmax(0, 2fr);
  }

  .privacy-hero__copy,
  .privacy-purpose__copy,
  .privacy-external__copy {
    grid-column: 1 / 2;
  }

  .privacy-document-card,
  .privacy-boundary-panel,
  .privacy-play-panel {
    grid-column: 2 / 3;
  }

  .privacy-document-card,
  .privacy-boundary-panel,
  .privacy-play-panel {
    padding: var(--space-5);
  }

  .privacy-boundary-panel {
    margin-block-start: var(--space-7);
  }

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

  .privacy-retention__copy {
    grid-column: 1 / 2;
    max-width: 45rem;
  }

  .privacy-road-motif {
    display: none;
  }
}

@media (max-width: 959px) {
  .privacy-principles {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

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

@media (max-width: 919px) {
  .privacy-purpose__grid,
  .privacy-external__grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .privacy-purpose__copy,
  .privacy-external__copy,
  .privacy-boundary-panel,
  .privacy-play-panel {
    grid-column: 1 / 2;
  }

  .privacy-boundary-panel,
  .privacy-play-panel {
    margin-block-start: var(--space-2);
  }

  .privacy-external::before {
    inset: 52% 0 0 0;
    clip-path: polygon(0 8%, 100% 0, 100% 100%, 0 100%);
  }
}

@media (max-width: 767px) {
  .privacy-hero {
    padding-block: var(--space-8) var(--space-7);
  }

  .privacy-hero::after {
    width: 10rem;
    right: -4rem;
    bottom: 1rem;
    transform: rotate(-7deg);
  }

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

  .privacy-hero__copy,
  .privacy-document-card {
    grid-column: 1 / 2;
  }

  .privacy-hero__copy h1 {
    font-size: clamp(2.5rem, 12vw, 3.5rem);
  }

  .privacy-document-card {
    padding: var(--space-5);
  }

  .privacy-data__copy,
  .privacy-retention__copy,
  .privacy-rights__copy,
  .privacy-update__copy,
  .privacy-purpose__copy,
  .privacy-external__copy {
    max-width: none;
  }

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

  .privacy-principles > :nth-child(3) {
    grid-column: 1 / 2;
  }

  .privacy-principle-card,
  .privacy-right-card {
    min-height: 0;
  }

  .privacy-purpose__grid,
  .privacy-external__grid {
    grid-template-columns: minmax(0, 1fr);
    gap: var(--space-6);
  }

  .privacy-purpose__copy,
  .privacy-external__copy,
  .privacy-boundary-panel,
  .privacy-play-panel {
    grid-column: 1 / 2;
  }

  .privacy-numbered-list > article {
    grid-template-columns: minmax(0, 1fr);
    gap: var(--space-2);
  }

  .privacy-boundary-panel,
  .privacy-play-panel {
    margin-block-start: 0;
    padding: var(--space-5);
  }

  .privacy-definition-list {
    grid-template-columns: minmax(0, 1fr);
    gap: var(--space-3);
  }

  .privacy-update-card {
    width: 100%;
    margin-block-start: var(--space-5);
  }

  .privacy-external::before {
    inset: 58% 0 0 0;
    clip-path: polygon(0 5%, 100% 0, 100% 100%, 0 100%);
  }

  .privacy-play-panel__button {
    justify-content: flex-start;
    min-height: 3.25rem;
  }
}


.offline-play-page {
  background: var(--color-warm-concrete);
}

.offline-play-page .eyebrow::before {
  width: 1.5rem;
  height: 2px;
  background: var(--color-sunset-orange);
  content: "";
}

.offline-hero {
  position: relative;
  overflow: hidden;
  padding-block: var(--space-9) var(--space-8);
  background: var(--color-warm-concrete);
}

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

.offline-hero__grid > * {
  min-width: 0;
}

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

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

.offline-hero__copy h1 {
  font-size: var(--text-hero);
  line-height: var(--line-hero);
}

.offline-hero__copy .lead {
  max-width: 41rem;
}

.offline-hero__actions {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-2);
  min-width: 0;
}

.offline-hero__note,
.offline-hero__independent {
  color: var(--color-muted-ink);
  font-size: 0.8125rem;
  line-height: 1.45;
}

.offline-hero__independent {
  max-width: 38rem;
  padding-inline-start: var(--space-4);
  border-inline-start: 2px solid var(--color-petrol-blue);
}

.offline-hero__media {
  width: min(100%, 42rem);
  min-width: 0;
  margin: 0 calc(var(--container-padding) * -1) 0 0;
  overflow: hidden;
  clip-path: polygon(9% 0, 100% 0, 100% 100%, 0 100%);
}

.offline-hero__media img {
  width: 100%;
  height: 31rem;
  object-fit: cover;
  object-position: center;
}

.offline-hero__media figcaption {
  padding: var(--space-2) var(--container-padding) 0 var(--space-5);
}

.offline-play-action {
  min-height: 2.75rem;
}

.offline-store__layout {
  display: grid;
  grid-template-columns: minmax(18.75rem, 4fr) minmax(0, 8fr);
  gap: var(--space-7);
  align-items: start;
}

.offline-store__layout > * {
  min-width: 0;
}

.offline-store__intro {
  max-width: 23rem;
  padding-inline-start: var(--space-4);
  border-inline-start: 2px solid var(--color-petrol-blue);
}

.offline-store__intro .eyebrow {
  margin-block-start: 0;
}

.offline-store__cards {
  display: grid;
  grid-template-columns: repeat(2, minmax(15.625rem, 1fr));
  gap: var(--space-4);
  min-width: 0;
}

.offline-store__cards > * {
  min-width: 0;
}

.offline-data-card {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-3);
  min-width: 0;
  padding: var(--space-5);
}

.offline-data-card > * {
  margin: 0;
}

.offline-data-card__value {
  font-family: var(--font-heading);
  font-size: clamp(2.25rem, 4vw, 3.5rem);
  font-weight: 800;
  letter-spacing: -0.025em;
  line-height: 0.9;
}

.offline-status-list {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--space-3);
  width: 100%;
  min-width: 0;
}

.offline-status-list__item {
  display: grid;
  grid-template-columns: 0.625rem minmax(0, 1fr);
  gap: var(--space-2);
  min-width: 0;
  padding-block-start: var(--space-3);
  border-top: 1px solid var(--color-border);
}

.offline-status-list__item > * {
  min-width: 0;
}

.offline-status-list__mark {
  width: 0.5rem;
  height: 0.5rem;
  margin-block-start: 0.35rem;
  border-radius: 50%;
  background: var(--color-sunset-amber);
}

.offline-status-list__item div {
  display: flex;
  flex-direction: column;
  gap: var(--space-1);
}

.offline-status-list__item strong {
  font-size: var(--text-meta);
  letter-spacing: 0.06em;
  line-height: 1.25;
  text-transform: uppercase;
}

.offline-status-list__item span:not(.offline-status-list__mark) {
  color: var(--color-muted-ink);
  font-size: 0.875rem;
  line-height: 1.45;
}

.offline-change-card {
  grid-column: 1 / -1;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--space-3) var(--space-5);
  min-width: 0;
  padding: var(--space-5);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-sm);
  background: var(--color-concrete-light);
}

.offline-change-card > * {
  min-width: 0;
  margin: 0;
}

.offline-change-card .meta {
  flex: 0 0 100%;
}

.offline-change-card p:not(.meta) {
  flex: 1 1 28rem;
}

.offline-change-card a {
  flex: 0 1 auto;
  font-weight: 700;
}

.offline-route {
  position: relative;
  overflow: hidden;
  background: var(--color-asphalt-950);
}

.offline-route::before {
  position: absolute;
  inset: 0;
  opacity: 0.08;
  background-image: repeating-linear-gradient(120deg, transparent 0 3.5rem, var(--color-white) 3.5rem 3.625rem, transparent 3.625rem 7rem);
  content: "";
  pointer-events: none;
}

.offline-route__layout {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 7fr) minmax(20.625rem, 5fr);
  gap: var(--space-7);
  align-items: start;
}

.offline-route__layout > * {
  min-width: 0;
}

.offline-route__narrative {
  max-width: 40rem;
}

.offline-route__narrative .status {
  margin-block-end: var(--space-3);
}

.offline-route__narrative h2 {
  margin-block-end: var(--space-5);
}

.offline-route__panels {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--space-4);
  min-width: 0;
}

.offline-route__panels > * {
  min-width: 0;
}

.offline-dark-card,
.offline-warning-card,
.offline-advice-card {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-3);
  min-width: 0;
  padding: var(--space-5);
  border: 1px solid var(--color-border-dark);
  border-radius: var(--radius-sm);
  background: var(--color-asphalt-900);
  color: var(--color-white);
}

.offline-dark-card > *,
.offline-warning-card > *,
.offline-advice-card > * {
  margin: 0;
}

.offline-dark-card__number {
  color: var(--color-electric-lime);
  font-family: var(--font-heading);
  font-size: 2rem;
  font-weight: 800;
  line-height: 0.9;
}

.offline-warning-card {
  border-inline-start: 2px solid var(--color-sunset-orange);
}

.offline-advice-card {
  background: var(--color-petrol-blue);
}

.offline-steps__head {
  display: grid;
  grid-template-columns: minmax(0, 7fr) minmax(25rem, 5fr);
  gap: var(--space-7);
  align-items: center;
  margin-block-end: var(--space-6);
}

.offline-steps__head > * {
  min-width: 0;
}

.offline-steps__copy {
  max-width: 40.625rem;
}

.offline-steps__copy .lead {
  max-width: 40rem;
}

.offline-steps__media {
  width: 100%;
  min-width: 0;
  margin: 0;
  overflow: hidden;
  border-radius: var(--radius-md);
}

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

.offline-step-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--space-4);
  min-width: 0;
}

.offline-step-grid > * {
  min-width: 0;
}

.offline-step-card {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-3);
  min-width: 0;
  padding: var(--space-5);
}

.offline-step-card > * {
  margin: 0;
}

.offline-step-card__number {
  color: var(--color-petrol-blue);
  font-family: var(--font-heading);
  font-size: 3rem;
  font-weight: 800;
  line-height: 0.88;
}

.offline-step-card--lime .offline-step-card__number {
  color: #617700;
}

.offline-practical-note {
  display: grid;
  grid-template-columns: minmax(8rem, 2fr) minmax(0, 8fr);
  gap: var(--space-4);
  align-items: start;
  min-width: 0;
  margin-block-start: var(--space-5);
  padding: var(--space-5);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-sm);
  background: var(--color-concrete-light);
}

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

.offline-monetization {
  background: var(--color-asphalt-900);
  color: var(--color-white);
}

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

.offline-monetization__layout > * {
  min-width: 0;
}

.offline-monetization__copy {
  max-width: 40rem;
}

.offline-monetization__copy h3 {
  margin-block-start: var(--space-6);
}

.offline-amber-rule {
  padding-inline-start: var(--space-4);
  border-inline-start: 2px solid var(--color-sunset-amber);
}

.offline-monetization blockquote {
  max-width: 37.5rem;
  margin-block-start: var(--space-6);
  border-inline-start-color: var(--color-sunset-orange);
}

.offline-compare-card {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: var(--space-4);
  min-width: 0;
  padding: var(--space-5);
  border: 1px solid var(--color-border-dark);
  border-radius: var(--radius-sm);
  background: var(--color-asphalt-950);
}

.offline-compare-card > * {
  min-width: 0;
  margin: 0;
}

.offline-compare-card__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-4);
  min-width: 0;
}

.offline-compare-card__grid > * {
  min-width: 0;
}

.offline-compare-card__item {
  min-width: 0;
  padding-block-start: var(--space-3);
  border-top: 2px solid var(--color-sunset-orange);
}

.offline-compare-card__item .meta {
  margin-block-end: var(--space-2);
}

.offline-compare-card__item p:last-child {
  margin: 0;
}

.offline-choice__container {
  max-width: 60.5rem;
}

.offline-choice__intro {
  max-width: 45rem;
  margin-inline: auto;
}

.offline-choice__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(22.5rem, 1fr));
  gap: var(--space-5);
  min-width: 0;
  margin-block-start: var(--space-6);
}

.offline-choice__grid > * {
  min-width: 0;
}

.offline-choice__card {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-3);
  min-width: 0;
  padding: var(--space-6);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-sm);
}

.offline-choice__card > * {
  margin: 0;
}

.offline-choice__card--play {
  border-inline-start: 2px solid var(--color-sunset-orange);
  background: var(--color-warm-concrete);
}

.offline-choice__card--read {
  border-inline-start: 2px solid var(--color-petrol-blue);
  background: var(--color-concrete-light);
}

.offline-choice__links {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-3);
  min-width: 0;
}

.offline-choice__links > * {
  min-width: 0;
  font-weight: 700;
}

.offline-faq {
  background: var(--color-warm-concrete);
}

.offline-faq__intro {
  max-width: 42.5rem;
  margin-block-end: var(--space-6);
}

.offline-faq__list {
  display: grid;
  grid-template-columns: 1fr;
  min-width: 0;
  overflow: hidden;
  border: 1px solid var(--color-border);
  border-radius: var(--radius-md);
  background: var(--color-concrete-light);
}

.offline-faq__list > * {
  min-width: 0;
}

.offline-faq__item + .offline-faq__item {
  border-top: 1px solid var(--color-border);
}

.offline-faq__button {
  display: grid;
  grid-template-columns: minmax(0, 4fr) auto;
  gap: var(--space-4);
  width: 100%;
  min-width: 0;
  min-height: 3.5rem;
  padding: var(--space-5);
  border: 0;
  background: transparent;
  color: var(--color-text);
  font-family: var(--font-heading);
  font-size: clamp(1.25rem, 2vw, 1.6rem);
  font-weight: 800;
  letter-spacing: -0.02em;
  line-height: 1;
  text-align: left;
}

.offline-faq__button > * {
  min-width: 0;
}

.offline-faq__icon {
  color: var(--color-petrol-blue);
  font-family: var(--font-body);
  font-size: 1.5rem;
  font-weight: 400;
  line-height: 1;
  transition: transform var(--transition-reveal);
}

.offline-faq__item.is-open .offline-faq__button {
  border-bottom: 2px solid var(--color-sunset-orange);
}

.offline-faq__item.is-open .offline-faq__icon {
  transform: rotate(45deg);
}

.offline-faq__answer {
  display: grid;
  grid-template-columns: minmax(0, 4fr) minmax(0, 8fr);
  overflow: hidden;
  max-height: 0;
  opacity: 0;
  transition: max-height var(--transition-reveal), opacity var(--transition-reveal);
}

.offline-faq__answer::before {
  content: "";
}

.offline-faq__answer > div {
  grid-column: 2;
  min-width: 0;
  max-width: 42.5rem;
  padding: 0 var(--space-5) var(--space-5);
}

.offline-faq__answer p:last-child {
  margin-bottom: 0;
}

.offline-faq__answer.is-visible {
  max-height: 38rem;
  opacity: 1;
}

.offline-final {
  padding-block-start: var(--space-7);
  background: var(--color-concrete-light);
}

.offline-final__panel {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: var(--space-5);
  align-items: center;
  width: min(100%, 50rem);
  min-width: 0;
  margin-inline: auto;
  padding: var(--space-6);
  border: 1px solid var(--color-border-dark);
  border-radius: var(--radius-md);
  background: var(--color-asphalt-950);
  color: var(--color-white);
}

.offline-final__panel > * {
  min-width: 0;
  margin: 0;
}

.offline-final__content {
  max-width: 32.5rem;
}

.offline-final__content .eyebrow {
  color: var(--color-sunset-amber);
}

.offline-final__content h2 {
  margin-block: var(--space-3) var(--space-4);
}

.offline-final__meta {
  grid-column: 1 / -1;
  max-width: 35rem;
  color: rgb(255 249 240 / 72%);
  font-size: 0.8125rem;
  line-height: 1.45;
}

@media (max-width: 1199px) {
  .offline-hero__grid {
    grid-template-columns: minmax(0, 1fr);
    gap: var(--space-6);
  }

  .offline-hero__copy {
    max-width: 42.5rem;
  }

  .offline-hero__media {
    width: calc(100% + var(--container-padding));
    max-width: none;
    margin-left: 0;
  }

  .offline-hero__media img {
    height: 26rem;
  }

  .offline-store__layout {
    grid-template-columns: 1fr;
    gap: var(--space-5);
  }

  .offline-store__intro {
    max-width: 42rem;
  }

  .offline-route__layout,
  .offline-monetization__layout {
    grid-template-columns: minmax(0, 7fr) minmax(20.625rem, 5fr);
    gap: var(--space-5);
  }

  .offline-steps__head {
    grid-template-columns: 1fr;
    gap: var(--space-5);
  }

  .offline-steps__media {
    width: min(100%, 42rem);
  }
}

@media (max-width: 959px) {
  .offline-route__layout,
  .offline-monetization__layout {
    grid-template-columns: 1fr;
  }

  .offline-route__narrative,
  .offline-monetization__copy {
    max-width: 40rem;
  }

  .offline-route__panels,
  .offline-compare-card {
    width: 100%;
  }

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

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

@media (max-width: 899px) {
  .offline-faq__answer {
    grid-template-columns: 1fr;
  }

  .offline-faq__answer > div {
    grid-column: 1;
  }
}

@media (max-width: 819px) {
  .offline-choice__grid {
    grid-template-columns: 1fr;
  }
}

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

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

  .offline-hero__copy h1 {
    font-size: clamp(2.5rem, 12vw, 3.5rem);
  }

  .offline-hero__media {
    width: 100%;
    margin: 0;
    clip-path: polygon(7% 0, 100% 0, 100% 100%, 0 100%);
  }

  .offline-hero__media img {
    height: auto;
    aspect-ratio: 16 / 10;
    object-position: 62% center;
  }

  .offline-hero__media figcaption {
    padding-inline: var(--space-3);
  }

  .offline-store__cards {
    grid-template-columns: 1fr;
  }

  .offline-change-card {
    grid-column: auto;
    flex-direction: column;
    align-items: flex-start;
  }

  .offline-change-card .meta,
  .offline-change-card p:not(.meta),
  .offline-change-card a {
    flex: 0 1 auto;
  }

  .offline-route__layout,
  .offline-monetization__layout {
    gap: var(--space-5);
  }

  .offline-route__narrative,
  .offline-monetization__copy,
  .offline-steps__copy,
  .offline-faq__intro {
    max-width: none;
  }

  .offline-step-grid {
    grid-template-columns: 1fr;
  }

  .offline-step-grid > :nth-child(3) {
    grid-column: auto;
  }

  .offline-practical-note {
    grid-template-columns: 1fr;
    gap: var(--space-2);
  }

  .offline-compare-card__grid {
    grid-template-columns: 1fr;
  }

  .offline-compare-card__item + .offline-compare-card__item {
    border-top-color: var(--color-sunset-orange);
  }

  .offline-choice__card {
    padding: var(--space-5);
  }

  .offline-faq__button {
    grid-template-columns: minmax(0, 1fr) auto;
    padding: var(--space-4) var(--space-5);
  }

  .offline-faq__answer > div {
    padding: 0 var(--space-5) var(--space-5);
  }

  .offline-final__panel {
    grid-template-columns: 1fr;
    padding: var(--space-5);
  }

  .offline-final__panel > .offline-play-action {
    width: 100%;
  }
}

@media (max-width: 479px) {
  .offline-hero__actions,
  .offline-hero__actions .offline-play-action {
    width: 100%;
  }

  .offline-hero__actions .offline-play-action {
    justify-content: center;
  }

  .offline-data-card,
  .offline-dark-card,
  .offline-warning-card,
  .offline-advice-card,
  .offline-step-card {
    padding: var(--space-5);
  }
}


.gh-page {
  background: var(--color-warm-concrete);
}

.gh-page .gh-route > span {
  width: 18px;
  height: 2px;
  background: var(--color-sunset-orange);
}

.gh-hero {
  position: relative;
  overflow: hidden;
  padding-block: var(--space-9) var(--space-8);
  background: var(--color-warm-concrete);
}

.gh-hero__grid,
.gh-readable__grid,
.gh-gallery__grid,
.gh-sound__grid,
.gh-facts__grid,
.gh-faq__grid,
.gh-verdict__grid,
.gh-offline__grid {
  display: grid;
  grid-template-columns: minmax(0, 7fr) minmax(0, 5fr);
  gap: var(--space-6);
  align-items: center;
}

.gh-hero__copy {
  grid-column: 1;
  width: 100%;
  min-width: 0;
  max-width: 680px;
}

.gh-hero__copy h1 {
  font-size: var(--text-hero);
  line-height: var(--line-hero);
}

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

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

.gh-play-button {
  min-height: 48px;
}

.gh-hero__media {
  grid-column: 2;
  width: 100%;
  min-width: 0;
  margin: 0;
  min-height: 450px;
  overflow: hidden;
  border-radius: var(--radius-md);
  box-shadow: var(--shadow-elevated);
  clip-path: polygon(10% 0, 100% 0, 100% 100%, 0 100%);
}

.gh-hero__media img {
  width: 100%;
  height: 100%;
  min-width: 0;
  object-fit: cover;
  object-position: 62% center;
}

.gh-readable {
  background: var(--color-warm-concrete);
}

.gh-readable__analysis {
  grid-column: 1;
  width: 100%;
  min-width: 0;
  max-width: 700px;
  border-inline-start: 4px solid var(--color-petrol-blue);
  padding-inline-start: var(--space-5);
}

.gh-readable__analysis blockquote {
  max-width: 520px;
}

.gh-watch-panel {
  grid-column: 2;
  width: 100%;
  min-width: 0;
  background: var(--color-concrete-light);
}

.gh-watch-panel__items {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--space-5);
  min-width: 0;
  margin-top: var(--space-4);
}

.gh-watch-panel__items > div {
  width: 100%;
  min-width: 0;
  padding-top: var(--space-4);
  border-top: 1px solid var(--color-border);
}

.gh-gallery-section {
  position: relative;
  overflow: hidden;
  background: var(--color-asphalt-900);
}

.gh-gallery__intro {
  grid-column: 1;
  width: 100%;
  min-width: 0;
  max-width: 520px;
}

.gh-gallery__intro p {
  max-width: 520px;
}

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

.gh-gallery__card {
  width: 100%;
  min-width: 0;
  margin: 0;
  overflow: hidden;
  border: 1px solid var(--color-border-dark);
  border-radius: var(--radius-md);
  background: var(--color-concrete-light);
  color: var(--color-ink);
  transition: transform var(--transition-fast);
}

.gh-gallery__card:hover {
  transform: translateY(-2px);
}

.gh-gallery__card--wide {
  grid-column: 1 / -1;
}

.gh-gallery__card img {
  width: 100%;
  height: 230px;
  min-width: 0;
  object-fit: cover;
}

.gh-gallery__card--wide img {
  height: 275px;
  clip-path: polygon(0 0, 100% 0, 100% 100%, 3% 100%);
}

.gh-gallery__card figcaption {
  margin: 0;
  padding: var(--space-4);
  color: var(--color-ink);
}

.gh-gallery__card figcaption .meta {
  display: block;
  margin-bottom: var(--space-2);
}

.gh-balance > .container > h2 {
  max-width: 680px;
}

.gh-balance__grid {
  display: grid;
  grid-template-columns: minmax(0, 5fr) minmax(0, 5fr) minmax(0, 2fr);
  gap: var(--space-5);
  min-width: 0;
}

.gh-balance-card,
.gh-update-note {
  width: 100%;
  min-width: 0;
}

.gh-balance-card {
  border-top: 3px solid var(--color-sunset-orange);
}

.gh-balance-card--blue {
  border-top-color: var(--color-petrol-blue);
}

.gh-balance-card .meta {
  display: block;
  margin-bottom: var(--space-3);
}

.gh-update-note {
  align-self: stretch;
  padding: var(--space-5) 0 0 var(--space-4);
  border-top: 1px solid var(--color-border);
  border-inline-start: 2px solid var(--color-asphalt-700);
}

.gh-update-note .meta {
  display: block;
  margin-bottom: var(--space-3);
}

.gh-sound {
  position: relative;
  background-color: var(--color-petrol-blue);
  background-image: repeating-linear-gradient(135deg, rgb(255 249 240 / 4%) 0 1px, transparent 1px 9px);
}

.gh-sound__copy {
  grid-column: 1;
  width: 100%;
  min-width: 0;
  max-width: 700px;
}

.gh-sound__copy p {
  max-width: 680px;
}

.gh-sound__quote {
  grid-column: 2;
  width: 100%;
  min-width: 0;
  max-width: 390px;
  margin: 0;
  align-self: center;
  padding: var(--space-5) 0;
  border-inline-start: 0;
  border-bottom: 3px solid var(--color-sunset-orange);
  color: var(--color-white);
  font-size: clamp(2rem, 3vw, 2.8rem);
}

.gh-related__intro {
  width: 100%;
  min-width: 0;
  max-width: 520px;
}

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

.gh-related-card {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-3);
  width: 100%;
  min-width: 0;
  color: var(--color-text);
  text-decoration: none;
}

.gh-related-card h3,
.gh-related-card p {
  margin: 0;
}

.gh-related-card .meta {
  color: var(--color-muted-ink);
}

.gh-text-link {
  color: var(--color-petrol-blue);
  font-weight: 700;
  text-decoration: underline;
  text-decoration-thickness: 0.08em;
  text-underline-offset: 0.16em;
}

.gh-offline {
  position: relative;
  overflow: hidden;
  padding-block: var(--space-7);
  background: var(--color-asphalt-950);
}

.gh-offline__copy {
  grid-column: 1;
  width: 100%;
  min-width: 0;
  max-width: 760px;
}

.gh-offline__copy p {
  max-width: 680px;
}

.gh-availability {
  display: inline-flex;
  align-items: center;
  gap: var(--space-2);
  margin-bottom: var(--space-3);
  color: var(--color-electric-lime);
  font-size: var(--text-meta);
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.gh-availability > span {
  width: 12px;
  height: 2px;
  background: var(--color-electric-lime);
}

.gh-offline__link {
  color: var(--color-sunset-amber);
  font-weight: 700;
}

.gh-route-art {
  grid-column: 2;
  width: 100%;
  min-width: 0;
  min-height: 180px;
  opacity: 0.24;
  background: linear-gradient(125deg, transparent 0 34%, var(--color-petrol-blue) 34% 38%, transparent 38% 56%, var(--color-sunset-amber) 56% 58%, transparent 58%);
}

.gh-facts__intro {
  grid-column: 1;
  width: 100%;
  min-width: 0;
  max-width: 470px;
}

.gh-facts__content {
  display: flex;
  grid-column: 2;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-4);
  width: 100%;
  min-width: 0;
}

.gh-fact-card {
  width: 100%;
  min-width: 0;
  padding: 0;
  overflow: hidden;
  background: var(--color-concrete-light);
}

.gh-fact-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 2fr);
  gap: var(--space-4);
  align-items: center;
  width: 100%;
  min-width: 0;
  padding: var(--space-4) var(--space-5);
  border-bottom: 1px solid var(--color-border);
}

.gh-fact-row:last-child {
  border-bottom: 0;
}

.gh-fact-row > * {
  min-width: 0;
}

.gh-fact-row strong,
.gh-fact-row a {
  justify-self: end;
  text-align: right;
  overflow-wrap: anywhere;
}

.gh-facts__cta-copy {
  width: 100%;
  min-width: 0;
  max-width: 520px;
  margin: 0;
}

.gh-faq__intro {
  grid-column: 1;
  width: 100%;
  min-width: 0;
  max-width: 460px;
}

.gh-faq__list {
  display: grid;
  grid-column: 2;
  grid-template-columns: 1fr;
  gap: var(--space-2);
  width: 100%;
  min-width: 0;
  max-width: 820px;
}

.gh-faq__item {
  width: 100%;
  min-width: 0;
  border-top: 1px solid var(--color-border);
  border-bottom: 1px solid var(--color-border);
}

.gh-faq__item h3 {
  margin: 0;
}

.gh-faq__item button {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-4);
  width: 100%;
  min-width: 0;
  padding: var(--space-4) 0;
  border: 0;
  background: transparent;
  color: var(--color-ink);
  font-weight: 700;
  text-align: left;
}

.gh-faq__item button span {
  flex: 0 0 auto;
  font-size: 1.4rem;
  line-height: 1;
  transform: rotate(0deg);
  transition: transform var(--transition-reveal);
}

.gh-faq__item button[aria-expanded="true"] span {
  transform: rotate(90deg);
}

.gh-faq__item:has(button[aria-expanded="true"]) {
  border-top: 2px solid var(--color-sunset-orange);
}

.gh-faq__answer {
  display: grid;
  grid-template-rows: 0fr;
  min-width: 0;
  opacity: 0;
  transition: grid-template-rows var(--transition-reveal), opacity var(--transition-reveal);
}

.gh-faq__answer.is-open {
  grid-template-rows: 1fr;
  opacity: 1;
}

.gh-faq__answer > div {
  min-width: 0;
  overflow: hidden;
}

.gh-faq__answer p {
  margin: 0;
  padding: 0 0 var(--space-5);
}

.gh-verdict {
  background: var(--color-asphalt-950);
}

.gh-verdict__copy {
  grid-column: 1;
  width: 100%;
  min-width: 0;
  max-width: 700px;
}

.gh-verdict__copy p {
  max-width: 650px;
}

.gh-verdict__cta {
  display: flex;
  grid-column: 2;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-4);
  width: 100%;
  min-width: 0;
}

.gh-verdict__cta h3,
.gh-verdict__cta p {
  margin: 0;
}

.gh-verdict__cta p {
  max-width: 360px;
}

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

  .gh-hero__media {
    min-height: 390px;
  }
}

@media (max-width: 1050px) {
  .gh-gallery__grid {
    grid-template-columns: 1fr;
  }

  .gh-gallery__intro,
  .gh-gallery {
    grid-column: 1 / -1;
  }

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

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

  .gh-update-note {
    grid-column: 1 / -1;
    padding: var(--space-4) 0 0 var(--space-4);
  }
}

@media (max-width: 1024px) {
  .gh-readable__grid {
    grid-template-columns: 1fr;
  }

  .gh-readable__analysis,
  .gh-watch-panel {
    grid-column: 1;
  }

  .gh-watch-panel {
    max-width: none;
  }
}

@media (max-width: 1000px) {
  .gh-faq__grid {
    grid-template-columns: 1fr;
  }

  .gh-faq__intro,
  .gh-faq__list {
    grid-column: 1;
  }

  .gh-faq__list {
    max-width: 820px;
  }
}

@media (max-width: 980px) {
  .gh-hero__grid,
  .gh-sound__grid,
  .gh-facts__grid {
    grid-template-columns: 1fr;
  }

  .gh-hero__copy,
  .gh-hero__media,
  .gh-sound__copy,
  .gh-sound__quote,
  .gh-facts__intro,
  .gh-facts__content {
    grid-column: 1;
  }

  .gh-hero__copy {
    max-width: 680px;
  }

  .gh-hero__media {
    min-height: 380px;
    clip-path: polygon(6% 0, 100% 0, 100% 100%, 0 100%);
  }

  .gh-sound__quote {
    max-width: none;
  }

  .gh-facts__intro {
    max-width: 470px;
  }
}

@media (max-width: 940px) {
  .gh-verdict__grid {
    grid-template-columns: 1fr;
  }

  .gh-verdict__copy,
  .gh-verdict__cta {
    grid-column: 1;
  }
}

@media (max-width: 900px) {
  .gh-related__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .gh-related-card:nth-child(3) {
    grid-column: 1 / -1;
  }

  .gh-offline__grid {
    grid-template-columns: 1fr;
  }

  .gh-offline__copy {
    grid-column: 1;
  }

  .gh-route-art {
    display: none;
  }
}

@media (max-width: 820px) {
  .gh-balance__grid {
    grid-template-columns: 1fr;
  }

  .gh-update-note {
    grid-column: 1;
  }
}

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

  .gh-hero__copy h1 {
    font-size: clamp(2.5rem, 12vw, 3.5rem);
  }

  .gh-hero__copy .lead {
    max-width: 100%;
    font-size: 1.125rem;
  }

  .gh-hero__action {
    align-items: stretch;
  }

  .gh-hero__action .button {
    width: min(100%, 360px);
  }

  .gh-hero__media {
    min-height: 440px;
    margin-top: var(--space-2);
    clip-path: polygon(7% 0, 100% 0, 100% 100%, 0 100%);
  }

  .gh-hero__media img {
    object-position: 62% center;
  }

  .gh-readable__analysis {
    padding-inline-start: var(--space-4);
  }

  .gh-watch-panel__items {
    gap: 0;
  }

  .gh-watch-panel__items > div {
    padding-block: var(--space-4);
  }

  .gh-gallery-section {
    padding-inline: 0;
  }

  .gh-gallery-section > .container {
    padding-right: 0;
  }

  .gh-gallery__grid {
    gap: var(--space-5);
  }

  .gh-gallery {
    display: flex;
    gap: var(--space-4);
    overflow-x: auto;
    padding-bottom: var(--space-2);
    scroll-snap-type: x mandatory;
    scrollbar-width: thin;
  }

  .gh-gallery__card,
  .gh-gallery__card--wide {
    flex: 0 0 84vw;
    width: 84vw;
    scroll-snap-align: start;
  }

  .gh-gallery__card img,
  .gh-gallery__card--wide img {
    height: auto;
    aspect-ratio: 3 / 2;
    clip-path: none;
  }

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

  .gh-related-card:nth-child(3) {
    grid-column: 1;
  }

  .gh-offline {
    padding-block: var(--space-5);
  }

  .gh-fact-row {
    grid-template-columns: 1fr;
    gap: var(--space-2);
    padding: var(--space-4);
  }

  .gh-fact-row strong,
  .gh-fact-row a {
    justify-self: start;
    text-align: left;
  }

  .gh-facts__button,
  .gh-verdict__cta .button {
    width: 100%;
  }

  .gh-verdict__cta {
    padding: var(--space-5);
  }
}


main[data-city-report] {
  background: var(--color-warm-concrete);
}

[data-city-report] .city-container {
  width: min(100%, calc(var(--container-max) + (var(--container-padding) * 2)));
  margin-inline: auto;
  padding-inline: var(--container-padding);
}

[data-city-report] .city-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: var(--space-2);
  margin: 0;
  color: var(--color-petrol-blue);
  font-size: var(--text-meta);
  font-weight: 700;
  letter-spacing: 0.08em;
  line-height: 1.25;
  text-transform: uppercase;
}

[data-city-report] .city-eyebrow::before {
  width: 1.5rem;
  height: 2px;
  background: var(--color-sunset-orange);
  content: "";
}

[data-city-report] .city-hero {
  position: relative;
  overflow: hidden;
  padding-block: var(--space-9) var(--space-8);
}

[data-city-report] .city-hero::after {
  position: absolute;
  top: 2.3rem;
  left: 50%;
  width: min(36vw, 30rem);
  height: 3px;
  background: repeating-linear-gradient(110deg, transparent 0 14px, rgb(233 104 50 / 52%) 14px 28px);
  content: "";
  transform: translateX(-18%) rotate(-10deg);
}

[data-city-report] .city-hero-grid {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: minmax(0, 7fr) minmax(0, 5fr);
  gap: var(--space-7);
  align-items: start;
}

[data-city-report] .city-hero-copy,
[data-city-report] .city-hero-facts,
[data-city-report] .city-hero-media {
  min-width: 0;
}

[data-city-report] .city-hero-copy {
  display: flex;
  flex-direction: column;
  gap: var(--space-4);
  max-width: 42.5rem;
}

[data-city-report] .city-hero-copy h1,
[data-city-report] .city-section-heading h2,
[data-city-report] .city-verdict-copy h2,
[data-city-report] .city-cta-inner h2 {
  margin: 0;
}

[data-city-report] .city-hero-copy h1 {
  max-width: 10ch;
  color: var(--color-asphalt-950);
  font-size: clamp(2.5rem, 6vw, 4.75rem);
  line-height: var(--line-hero);
}

[data-city-report] .city-hero-copy .lead {
  max-width: 41rem;
  margin: 0;
}

[data-city-report] .city-hero-copy p:not(.lead) {
  max-width: 40rem;
  margin: 0;
}

[data-city-report] .city-hero-facts {
  display: flex;
  flex-direction: column;
  gap: var(--space-4);
  padding: var(--space-6);
  border: 1px solid var(--color-border-dark);
  border-radius: var(--radius-sm);
  background: var(--color-asphalt-900);
  color: var(--color-white);
}

[data-city-report] .city-fact-title {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-3);
}

[data-city-report] .city-fact-title h2 {
  margin: 0;
  font-size: var(--text-card);
}

[data-city-report] .city-fact-mark {
  width: 0.625rem;
  height: 0.625rem;
  flex: 0 0 0.625rem;
  border-radius: 50%;
  background: var(--color-sunset-orange);
}

[data-city-report] .city-fact-list {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 0;
  margin: 0;
}

[data-city-report] .city-fact-list > div {
  display: grid;
  grid-template-columns: minmax(5.5rem, 0.8fr) minmax(0, 1.2fr);
  gap: var(--space-3);
  padding-block: var(--space-3);
  border-top: 1px solid var(--color-border-dark);
}

[data-city-report] .city-fact-list dt,
[data-city-report] .city-observation-list dt,
[data-city-report] .city-meta-item dt {
  font-size: 0.6875rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

[data-city-report] .city-fact-list dt {
  color: rgb(255 249 240 / 68%);
}

[data-city-report] .city-fact-list dd,
[data-city-report] .city-observation-list dd,
[data-city-report] .city-meta-item dd {
  margin: 0;
}

[data-city-report] .city-fact-list dd {
  color: var(--color-white);
  font-weight: 600;
}

[data-city-report] .city-play-button {
  width: 100%;
  min-width: 0;
}

[data-city-report] .city-play-button span:first-child {
  flex: 1 1 auto;
}

[data-city-report] .city-play-arrow {
  font-size: 1.2em;
  line-height: 1;
  transform: skewX(-12deg);
}

[data-city-report] .city-hero-media {
  grid-column: 1 / -1;
  width: min(100%, 68rem);
  justify-self: end;
  margin-top: calc(var(--space-7) * -0.25);
}

[data-city-report] .city-hero-media figure,
[data-city-report] .city-gallery-card figure {
  margin: 0;
}

[data-city-report] .city-hero-media img {
  width: 100%;
  aspect-ratio: 16 / 9;
  object-fit: cover;
  object-position: 68% center;
  clip-path: polygon(0 10%, 100% 0, 100% 100%, 0 92%);
}

[data-city-report] .city-hero-media figcaption {
  max-width: 46rem;
  margin: var(--space-2) 0 0 auto;
}

[data-city-report] .city-reading-section {
  padding-block: var(--space-8);
  background: var(--color-concrete-light);
}

[data-city-report] .city-reading-grid {
  display: grid;
  grid-template-columns: minmax(0, 7fr) minmax(0, 1fr) minmax(0, 4fr);
  gap: var(--space-6);
  align-items: start;
}

[data-city-report] .city-reading-copy,
[data-city-report] .city-observation-card {
  min-width: 0;
}

[data-city-report] .city-reading-copy {
  display: flex;
  flex-direction: column;
  gap: var(--space-5);
  max-width: 43.75rem;
}

[data-city-report] .city-section-heading {
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
}

[data-city-report] .city-section-heading p,
[data-city-report] .city-reading-copy p {
  margin: 0;
}

[data-city-report] .city-section-heading h2 {
  max-width: 13ch;
}

[data-city-report] .city-blue-rule {
  padding-left: var(--space-5);
  border-left: 3px solid var(--color-petrol-blue);
}

[data-city-report] .city-decision-list {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: var(--space-4);
  margin: 0;
  padding: 0;
  list-style: none;
}

[data-city-report] .city-decision-list > li {
  display: grid;
  grid-template-columns: 2.75rem minmax(0, 1fr);
  gap: var(--space-4);
  align-items: start;
}

[data-city-report] .city-decision-number {
  display: grid;
  width: 2.5rem;
  min-width: 0;
  height: 2.5rem;
  place-items: center;
  border-top: 2px solid var(--color-sunset-orange);
  color: var(--color-petrol-blue);
  font-family: var(--font-heading);
  font-size: 1.75rem;
  font-weight: 800;
  line-height: 1;
}

[data-city-report] .city-decision-list h3,
[data-city-report] .city-decision-list p {
  margin: 0;
}

[data-city-report] .city-decision-list h3 {
  margin-bottom: var(--space-2);
  font-size: 1.6rem;
}

[data-city-report] .city-observation-card {
  display: flex;
  flex-direction: column;
  gap: var(--space-4);
  grid-column: 3;
  padding: var(--space-5);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-sm);
  background: var(--color-warm-concrete);
}

[data-city-report] .city-observation-card h3 {
  margin: 0;
}

[data-city-report] .city-observation-list {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 0;
  margin: 0;
}

[data-city-report] .city-observation-list > div {
  display: grid;
  grid-template-columns: minmax(4.8rem, 0.7fr) minmax(0, 1.3fr);
  gap: var(--space-3);
  padding-block: var(--space-3);
  border-top: 1px solid var(--color-border);
}

[data-city-report] .city-observation-list dt {
  color: var(--color-petrol-blue);
}

[data-city-report] .city-gallery-section {
  padding-block: var(--space-8);
  background: var(--color-warm-concrete);
}

[data-city-report] .city-gallery-intro {
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
  max-width: 42.5rem;
}

[data-city-report] .city-gallery-intro h2,
[data-city-report] .city-gallery-intro p {
  margin: 0;
}

[data-city-report] .city-gallery-intro h2 {
  max-width: 15ch;
}

[data-city-report] .city-gallery-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--space-5);
  margin-top: var(--space-6);
}

[data-city-report] .city-gallery-card {
  display: flex;
  flex-direction: column;
  min-width: 0;
  overflow: hidden;
  border: 1px solid var(--color-border);
  border-radius: var(--radius-sm);
  background: var(--color-concrete-light);
  transition: transform var(--transition-fast), box-shadow var(--transition-fast);
}

[data-city-report] .city-gallery-card:hover {
  box-shadow: var(--shadow-elevated);
  transform: translateY(-2px);
}

[data-city-report] .city-gallery-card figure {
  min-width: 0;
  overflow: hidden;
}

[data-city-report] .city-gallery-card img {
  width: 100%;
  aspect-ratio: 3 / 2;
  object-fit: cover;
  transition: transform var(--transition-fast);
}

[data-city-report] .city-gallery-card:last-child img {
  aspect-ratio: 16 / 9;
}

[data-city-report] .city-gallery-card:hover img {
  transform: translateX(2px);
}

[data-city-report] .city-gallery-card figcaption {
  display: flex;
  flex-direction: column;
  gap: var(--space-2);
  margin: 0;
  padding: var(--space-4);
  border-top: 2px solid var(--color-sunset-orange);
  color: var(--color-ink);
}

[data-city-report] .city-gallery-card:last-child figcaption {
  border-top-color: var(--color-petrol-blue);
}

[data-city-report] .city-gallery-label {
  color: var(--color-petrol-blue);
  font-size: 0.6875rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

[data-city-report] .city-gallery-card figcaption span:last-child {
  font-size: 0.9375rem;
  line-height: 1.55;
}

[data-city-report] .city-tactics-section {
  position: relative;
  overflow: hidden;
  padding-block: var(--space-8);
  background: var(--color-petrol-blue);
  color: var(--color-white);
}

[data-city-report] .city-tactics-section::before,
[data-city-report] .city-offline-section::before,
[data-city-report] .city-meta-section::before,
[data-city-report] .city-cta-section::before {
  position: absolute;
  inset: 0;
  z-index: 0;
  background-image: radial-gradient(rgb(255 249 240 / 4%) 1px, transparent 1px);
  background-size: 7px 7px;
  content: "";
  pointer-events: none;
}

[data-city-report] .city-tactics-grid {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: minmax(0, 7fr) minmax(0, 5fr);
  gap: var(--space-7);
  align-items: start;
}

[data-city-report] .city-tactics-copy,
[data-city-report] .city-tactic-stack {
  min-width: 0;
}

[data-city-report] .city-tactics-copy {
  display: flex;
  flex-direction: column;
  gap: var(--space-4);
  max-width: 41.25rem;
}

[data-city-report] .city-tactics-copy h2,
[data-city-report] .city-tactics-copy p {
  margin: 0;
}

[data-city-report] .city-tactics-copy h2 {
  max-width: 12ch;
}

[data-city-report] .city-tactics-section .city-eyebrow {
  color: var(--color-sunset-amber);
}

[data-city-report] .city-tactic-stack {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: var(--space-4);
}

[data-city-report] .city-tactic-card {
  display: grid;
  grid-template-columns: 4.25rem minmax(0, 1fr);
  gap: var(--space-4);
  min-width: 0;
  padding: var(--space-5);
  border: 1px solid var(--color-border-dark);
  border-radius: var(--radius-sm);
  background: var(--color-asphalt-900);
  transition: transform var(--transition-fast);
}

[data-city-report] .city-tactic-card:hover {
  transform: translateY(-2px);
}

[data-city-report] .city-tactic-number {
  position: relative;
  color: var(--color-sunset-amber);
  font-family: var(--font-heading);
  font-size: 2.5rem;
  font-weight: 800;
  line-height: 0.9;
}

[data-city-report] .city-tactic-card:nth-child(2) .city-tactic-number::after {
  display: block;
  width: 2.5rem;
  height: 2px;
  margin-top: var(--space-2);
  background: var(--color-sunset-orange);
  content: "";
}

[data-city-report] .city-tactic-card:nth-child(3) .city-tactic-number::after {
  display: block;
  width: 0.55rem;
  height: 0.55rem;
  margin-top: var(--space-2);
  border-radius: 50%;
  background: var(--color-electric-lime);
  content: "";
}

[data-city-report] .city-tactic-content {
  min-width: 0;
}

[data-city-report] .city-tactic-content h3,
[data-city-report] .city-tactic-content p {
  margin: 0;
}

[data-city-report] .city-tactic-content h3 {
  margin-bottom: var(--space-2);
}

[data-city-report] .city-tactics-quote {
  position: relative;
  z-index: 1;
  max-width: 56rem;
  margin: var(--space-7) 0 0 auto;
  padding: var(--space-5) 0 var(--space-5) var(--space-5);
  border-left-color: var(--color-sunset-orange);
  color: var(--color-white);
}

[data-city-report] .city-offline-section {
  position: relative;
  padding-block: var(--space-8);
  background: var(--color-asphalt-950);
  color: var(--color-white);
}

[data-city-report] .city-offline-card {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  gap: var(--space-4);
  width: min(100%, 35rem);
  margin-inline: auto;
  padding: var(--space-6);
  border: 1px solid var(--color-border-dark);
  border-radius: var(--radius-md);
  background: var(--color-asphalt-900);
  text-align: center;
}

[data-city-report] .city-offline-card > * {
  min-width: 0;
}

[data-city-report] .city-offline-card .status {
  align-self: center;
}

[data-city-report] .city-offline-card h2,
[data-city-report] .city-offline-card p {
  margin: 0;
}

[data-city-report] .city-offline-card h2 {
  max-width: 15ch;
  margin-inline: auto;
}

[data-city-report] .city-inline-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: var(--space-2);
  min-height: 2.75rem;
  color: var(--color-sunset-amber);
  font-weight: 700;
  transition: transform var(--transition-fast), color var(--transition-fast);
}

[data-city-report] .city-inline-link:hover {
  color: var(--color-electric-lime);
  transform: translateX(2px);
}

[data-city-report] .city-verdict-section {
  padding-block: var(--space-8);
  background: var(--color-warm-concrete);
}

[data-city-report] .city-verdict-grid {
  display: grid;
  grid-template-columns: minmax(0, 7fr) minmax(0, 5fr);
  gap: var(--space-7);
  align-items: start;
}

[data-city-report] .city-verdict-copy,
[data-city-report] .city-balance-card,
[data-city-report] .city-store-panel {
  min-width: 0;
}

[data-city-report] .city-verdict-copy {
  display: flex;
  flex-direction: column;
  gap: var(--space-4);
  max-width: 43.75rem;
}

[data-city-report] .city-verdict-copy p {
  margin: 0;
}

[data-city-report] .city-verdict-keyline {
  color: var(--color-petrol-blue);
  font-size: var(--text-lead);
  font-weight: 600;
  line-height: var(--line-lead);
}

[data-city-report] .city-balance-card {
  display: flex;
  flex-direction: column;
  gap: var(--space-4);
  padding: var(--space-5);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-sm);
  background: var(--color-concrete-light);
}

[data-city-report] .city-balance-card > h3 {
  margin: 0;
}

[data-city-report] .city-balance-groups {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-4);
}

[data-city-report] .city-balance-group {
  min-width: 0;
}

[data-city-report] .city-balance-group + .city-balance-group {
  padding-left: var(--space-4);
  border-left: 1px solid var(--color-border);
}

[data-city-report] .city-balance-group h4 {
  margin: 0 0 var(--space-3);
}

[data-city-report] .city-balance-group ul {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: var(--space-2);
  margin: 0;
  padding-left: 1rem;
}

[data-city-report] .city-balance-group li {
  min-width: 0;
  font-size: 0.9375rem;
}

[data-city-report] .city-store-panel {
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
  grid-column: 1;
  width: 100%;
  max-width: 43.75rem;
  margin-top: var(--space-6);
  padding: var(--space-5);
  border: 1px solid var(--color-border);
  border-top: 3px solid var(--color-sunset-orange);
  border-radius: var(--radius-sm);
  background: var(--color-concrete-light);
}

[data-city-report] .city-store-panel h3,
[data-city-report] .city-store-panel p {
  margin: 0;
}

[data-city-report] .city-meta-section {
  position: relative;
  padding-block: var(--space-8);
  background: var(--color-asphalt-900);
  color: var(--color-white);
}

[data-city-report] .city-meta-intro,
[data-city-report] .city-meta-matrix {
  position: relative;
  z-index: 1;
  min-width: 0;
}

[data-city-report] .city-meta-intro {
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
  max-width: 42.5rem;
}

[data-city-report] .city-meta-intro h2,
[data-city-report] .city-meta-intro p {
  margin: 0;
}

[data-city-report] .city-meta-intro .city-eyebrow {
  color: var(--color-sunset-amber);
}

[data-city-report] .city-meta-matrix {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1px;
  width: min(100%, 62.5rem);
  margin: var(--space-6) auto 0;
  border: 1px solid var(--color-border-dark);
  background: var(--color-border-dark);
}

[data-city-report] .city-meta-item {
  display: flex;
  flex-direction: column;
  gap: var(--space-2);
  min-width: 0;
  min-height: 8rem;
  padding: var(--space-4);
  background: var(--color-asphalt-950);
}

[data-city-report] .city-meta-item dt {
  color: rgb(255 249 240 / 66%);
}

[data-city-report] .city-meta-item dd {
  color: var(--color-white);
  font-weight: 600;
  overflow-wrap: anywhere;
}

[data-city-report] .city-meta-action {
  grid-column: 1 / -1;
  min-width: 0;
  padding: var(--space-4);
  background: var(--color-asphalt-950);
}

[data-city-report] .city-meta-action .button {
  width: 100%;
}

[data-city-report] .city-faq-section {
  padding-block: var(--space-8);
  background: var(--color-concrete-light);
}

[data-city-report] .city-faq-intro {
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
  max-width: 41.25rem;
}

[data-city-report] .city-faq-intro h2,
[data-city-report] .city-faq-intro p {
  margin: 0;
}

[data-city-report] .city-faq-list {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: var(--space-3);
  width: min(100%, 53rem);
  margin: var(--space-6) auto 0;
}

[data-city-report] .city-faq-item {
  min-width: 0;
  overflow: hidden;
  border: 1px solid var(--color-border);
  border-radius: var(--radius-md);
  background: var(--color-warm-concrete);
}

[data-city-report] .city-faq-button {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 2.75rem;
  gap: var(--space-3);
  width: 100%;
  min-width: 0;
  min-height: 3.5rem;
  padding: var(--space-4) var(--space-5);
  border: 0;
  border-left: 3px solid transparent;
  background: transparent;
  color: var(--color-ink);
  font-weight: 700;
  text-align: left;
}

[data-city-report] .city-faq-button[aria-expanded="true"] {
  border-left-color: var(--color-sunset-orange);
}

[data-city-report] .city-faq-icon {
  display: grid;
  width: 2rem;
  height: 2rem;
  place-items: center;
  align-self: center;
  color: var(--color-petrol-blue);
  font-size: 1.5rem;
  line-height: 1;
}

[data-city-report] .city-faq-button[aria-expanded="true"] .city-faq-icon::before {
  content: "−";
}

[data-city-report] .city-faq-button[aria-expanded="false"] .city-faq-icon::before {
  content: "+";
}

[data-city-report] .city-faq-answer {
  max-height: 0;
  overflow: hidden;
  opacity: 0;
  transition: max-height var(--transition-reveal), opacity var(--transition-reveal), padding var(--transition-reveal);
}

[data-city-report] .city-faq-answer.is-open {
  max-height: 36rem;
  padding: 0 var(--space-5) var(--space-5) calc(var(--space-5) + 3px);
  opacity: 1;
}

[data-city-report] .city-faq-answer.is-closing {
  max-height: 0;
  padding: 0 var(--space-5) 0 calc(var(--space-5) + 3px);
  opacity: 0;
}

[data-city-report] .city-faq-answer p {
  max-width: 42.5rem;
  margin: 0;
}

[data-city-report] .city-faq-answer .status {
  margin-right: var(--space-2);
  vertical-align: middle;
}

[data-city-report] .city-cta-section {
  position: relative;
  padding-block: var(--space-8);
  background: linear-gradient(115deg, var(--color-asphalt-950), var(--color-petrol-blue));
  color: var(--color-white);
}

[data-city-report] .city-cta-inner {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  gap: var(--space-4);
  width: min(100%, 35rem);
  margin-inline: auto;
  text-align: center;
}

[data-city-report] .city-cta-inner > * {
  min-width: 0;
}

[data-city-report] .city-cta-inner .city-eyebrow {
  align-self: center;
  color: var(--color-sunset-amber);
}

[data-city-report] .city-cta-inner h2 {
  max-width: 14ch;
  margin-inline: auto;
}

[data-city-report] .city-cta-inner p {
  margin: 0;
}

[data-city-report] .city-cta-inner .button {
  align-self: center;
  min-width: 16rem;
}

[data-city-report] .city-independent-note {
  color: rgb(255 249 240 / 72%);
  font-size: 0.8125rem;
}

@media (max-width: 1039px) {
  [data-city-report] .city-hero-grid {
    grid-template-columns: minmax(0, 4fr) minmax(0, 2fr);
    gap: var(--space-5);
  }

  [data-city-report] .city-hero-media {
    grid-column: 1 / -1;
    width: 100%;
    margin-top: var(--space-5);
  }

  [data-city-report] .city-reading-grid {
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: var(--space-5);
  }

  [data-city-report] .city-reading-copy {
    grid-column: 1 / -1;
  }

  [data-city-report] .city-observation-card {
    grid-column: 1 / span 3;
  }

  [data-city-report] .city-gallery-grid {
    grid-template-columns: repeat(6, minmax(0, 1fr));
  }

  [data-city-report] .city-gallery-card:nth-child(1),
  [data-city-report] .city-gallery-card:nth-child(2) {
    grid-column: span 3;
  }

  [data-city-report] .city-gallery-card:nth-child(3) {
    grid-column: 1 / -1;
  }

  [data-city-report] .city-gallery-card:nth-child(3) img {
    aspect-ratio: 16 / 9;
  }

  [data-city-report] .city-tactics-grid,
  [data-city-report] .city-verdict-grid {
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: var(--space-5);
  }

  [data-city-report] .city-tactics-copy,
  [data-city-report] .city-verdict-copy {
    grid-column: 1 / -1;
  }

  [data-city-report] .city-tactic-stack,
  [data-city-report] .city-balance-card {
    grid-column: 1 / -1;
  }

  [data-city-report] .city-tactic-stack {
    grid-template-columns: repeat(6, minmax(0, 1fr));
  }

  [data-city-report] .city-tactic-card:nth-child(1),
  [data-city-report] .city-tactic-card:nth-child(2) {
    grid-column: span 3;
  }

  [data-city-report] .city-tactic-card:nth-child(3) {
    grid-column: 1 / -1;
  }

  [data-city-report] .city-store-panel {
    grid-column: 1 / -1;
  }
}

@media (max-width: 767px) {
  [data-city-report] .city-hero {
    padding-block: var(--space-7);
  }

  [data-city-report] .city-hero::after {
    top: 1.5rem;
    left: 65%;
    width: 11rem;
    transform: translateX(0) rotate(-7deg);
  }

  [data-city-report] .city-hero-grid,
  [data-city-report] .city-reading-grid,
  [data-city-report] .city-tactics-grid,
  [data-city-report] .city-verdict-grid {
    grid-template-columns: minmax(0, 1fr);
    gap: var(--space-5);
  }

  [data-city-report] .city-hero-copy {
    grid-column: 1;
    grid-row: 1;
    gap: var(--space-4);
  }

  [data-city-report] .city-hero-copy h1 {
    max-width: 12ch;
    font-size: clamp(2.5rem, 12vw, 3.5rem);
  }

  [data-city-report] .city-hero-media {
    grid-column: 1;
    grid-row: 2;
    margin-top: 0;
  }

  [data-city-report] .city-hero-media img {
    object-position: 58% center;
    clip-path: polygon(0 7%, 100% 0, 100% 100%, 0 94%);
  }

  [data-city-report] .city-hero-facts {
    grid-column: 1;
    grid-row: 3;
    padding: var(--space-5);
  }

  [data-city-report] .city-fact-list > div,
  [data-city-report] .city-observation-list > div {
    grid-template-columns: minmax(0, 1fr);
    gap: var(--space-1);
  }

  [data-city-report] .city-reading-section,
  [data-city-report] .city-gallery-section,
  [data-city-report] .city-tactics-section,
  [data-city-report] .city-offline-section,
  [data-city-report] .city-verdict-section,
  [data-city-report] .city-meta-section,
  [data-city-report] .city-faq-section,
  [data-city-report] .city-cta-section {
    padding-block: var(--space-7);
  }

  [data-city-report] .city-observation-card,
  [data-city-report] .city-reading-copy,
  [data-city-report] .city-tactics-copy,
  [data-city-report] .city-tactic-stack,
  [data-city-report] .city-verdict-copy,
  [data-city-report] .city-balance-card,
  [data-city-report] .city-store-panel {
    grid-column: 1;
  }

  [data-city-report] .city-gallery-grid {
    display: flex;
    width: calc(100% + var(--container-padding));
    gap: var(--space-3);
    margin-top: var(--space-5);
    overflow-x: auto;
    padding-right: var(--container-padding);
    scroll-snap-type: x mandatory;
    scrollbar-width: thin;
  }

  [data-city-report] .city-gallery-card,
  [data-city-report] .city-gallery-card:nth-child(1),
  [data-city-report] .city-gallery-card:nth-child(2),
  [data-city-report] .city-gallery-card:nth-child(3) {
    flex: 0 0 84%;
    grid-column: auto;
    scroll-snap-align: start;
  }

  [data-city-report] .city-gallery-card img,
  [data-city-report] .city-gallery-card:last-child img,
  [data-city-report] .city-gallery-card:nth-child(3) img {
    aspect-ratio: 16 / 9;
  }

  [data-city-report] .city-tactic-stack {
    grid-template-columns: minmax(0, 1fr);
  }

  [data-city-report] .city-tactic-card,
  [data-city-report] .city-tactic-card:nth-child(1),
  [data-city-report] .city-tactic-card:nth-child(2),
  [data-city-report] .city-tactic-card:nth-child(3) {
    grid-column: 1;
  }

  [data-city-report] .city-tactics-quote {
    margin-top: var(--space-6);
  }

  [data-city-report] .city-offline-card,
  [data-city-report] .city-cta-inner {
    width: 100%;
    margin-inline: 0;
    text-align: left;
  }

  [data-city-report] .city-offline-card .status,
  [data-city-report] .city-cta-inner .city-eyebrow,
  [data-city-report] .city-cta-inner .button {
    align-self: flex-start;
  }

  [data-city-report] .city-offline-card h2,
  [data-city-report] .city-cta-inner h2 {
    margin-inline: 0;
  }

  [data-city-report] .city-balance-groups {
    grid-template-columns: minmax(0, 1fr);
    gap: var(--space-5);
  }

  [data-city-report] .city-balance-group + .city-balance-group {
    padding-top: var(--space-5);
    padding-left: 0;
    border-top: 1px solid var(--color-border);
    border-left: 0;
  }

  [data-city-report] .city-meta-matrix {
    grid-template-columns: minmax(0, 1fr);
  }

  [data-city-report] .city-meta-item {
    display: grid;
    grid-template-columns: minmax(7rem, 0.75fr) minmax(0, 1.25fr);
    min-height: 0;
  }

  [data-city-report] .city-meta-action {
    grid-column: 1;
  }

  [data-city-report] .city-faq-list {
    width: 100%;
  }

  [data-city-report] .city-faq-button {
    padding: var(--space-4);
  }

  [data-city-report] .city-faq-answer.is-open {
    padding: 0 var(--space-4) var(--space-5) calc(var(--space-4) + 3px);
  }

  [data-city-report] .city-cta-inner .button {
    width: 100%;
    min-width: 0;
  }
}

@media (prefers-reduced-motion: reduce) {
  [data-city-report] .city-gallery-card,
  [data-city-report] .city-gallery-card img,
  [data-city-report] .city-tactic-card,
  [data-city-report] .city-inline-link,
  [data-city-report] .city-faq-answer {
    transition: none;
  }
}


.kapcsolat-page {
  background: var(--color-warm-concrete);
}

.kapcsolat-page .eyebrow > span {
  color: var(--color-sunset-orange);
  font-size: 1rem;
}

.kapcsolat-hero {
  position: relative;
  overflow: hidden;
  padding-block: var(--space-9) var(--space-8);
  background: var(--color-warm-concrete);
}

.kapcsolat-hero::before,
.kapcsolat-support::before,
.kapcsolat-play-cta::before {
  position: absolute;
  inset: 0;
  pointer-events: none;
  content: "";
  opacity: 0.04;
  background-image: repeating-linear-gradient(135deg, transparent 0 24px, currentColor 25px 26px, transparent 27px 56px);
}

.kapcsolat-hero::after {
  position: absolute;
  right: -8vw;
  bottom: 0;
  width: min(46vw, 580px);
  height: 10px;
  background: var(--color-sunset-orange);
  clip-path: polygon(0 35%, 100% 0, 100% 65%, 0 100%);
  content: "";
}

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

.kapcsolat-hero__grid > * {
  min-width: 0;
}

.kapcsolat-hero__copy {
  width: 100%;
  max-width: 43rem;
}

.kapcsolat-hero__copy h1 {
  max-width: 11ch;
}

.kapcsolat-hero__copy .lead {
  max-width: 42rem;
}

.kapcsolat-hero__copy > :last-child {
  max-width: 40rem;
  margin-block-end: 0;
}

.kapcsolat-boundary-card {
  display: flex;
  flex-direction: column;
  gap: var(--space-4);
  width: 100%;
  min-width: 0;
  padding: var(--space-6);
  border: 1px solid var(--color-border-dark);
  border-inline-start: 2px solid var(--color-sunset-orange);
  border-radius: var(--radius-sm);
  background: var(--color-asphalt-900);
  color: var(--color-white);
}

.kapcsolat-boundary-card > * {
  min-width: 0;
  margin: 0;
}

.kapcsolat-boundary-card__label,
.kapcsolat-support-panel__label,
.kapcsolat-privacy-panel__label {
  color: var(--color-sunset-amber);
  font-size: var(--text-meta);
  font-weight: 700;
  letter-spacing: 0.08em;
  line-height: 1.25;
}

.kapcsolat-boundary-card h2 {
  font-size: clamp(1.75rem, 3vw, 2.35rem);
  line-height: var(--line-card);
}

.kapcsolat-play-link {
  display: inline-flex;
  align-items: center;
  gap: var(--space-2);
  align-self: flex-start;
  min-height: 2.75rem;
  color: var(--color-sunset-amber);
  font-weight: 700;
  text-decoration: none;
  transition: transform var(--transition-fast), color var(--transition-fast);
}

.kapcsolat-play-link:hover {
  color: var(--color-electric-lime);
  transform: translate(2px, -1px);
}

.kapcsolat-section-intro,
.kapcsolat-form-intro,
.kapcsolat-process__intro,
.kapcsolat-faq__intro {
  width: 100%;
  min-width: 0;
}

.kapcsolat-section-intro {
  max-width: 39rem;
  margin-block-end: var(--space-6);
}

.kapcsolat-section-intro .lead,
.kapcsolat-form-intro .lead,
.kapcsolat-process__intro .lead,
.kapcsolat-faq__intro .lead {
  margin-block-end: 0;
}

.kapcsolat-category-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-5);
  width: 100%;
}

.kapcsolat-category-grid > * {
  min-width: 0;
}

.kapcsolat-category-card {
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
  min-width: 0;
  min-height: 100%;
  padding: var(--space-5);
  border: 1px solid var(--color-border);
  border-inline-start: 2px solid var(--color-sunset-orange);
  border-radius: var(--radius-sm);
  background: var(--color-concrete-light);
  color: var(--color-text);
  text-decoration: none;
  transition: transform var(--transition-fast), box-shadow var(--transition-fast), border-color var(--transition-fast);
}

.kapcsolat-category-card:hover {
  color: var(--color-text);
  box-shadow: var(--shadow-elevated);
  transform: translateY(-2px);
}

.kapcsolat-category-card--blue {
  border-inline-start-color: var(--color-petrol-blue);
}

.kapcsolat-category-card--amber {
  border-inline-start-color: var(--color-sunset-amber);
}

.kapcsolat-category-card > * {
  min-width: 0;
  margin: 0;
}

.kapcsolat-category-card__number,
.kapcsolat-process-card__number {
  color: var(--color-sunset-orange);
  font-size: var(--text-meta);
  font-weight: 700;
  letter-spacing: 0.08em;
}

.kapcsolat-category-card h3 {
  font-size: clamp(1.7rem, 2.4vw, 2rem);
}

.kapcsolat-category-card__prompt {
  display: grid;
  gap: var(--space-1);
  margin-block-start: auto;
  padding-block-start: var(--space-3);
  border-block-start: 1px solid var(--color-border);
  color: var(--color-muted-ink);
  font-size: 0.6875rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  line-height: 1.35;
}

.kapcsolat-category-card__prompt strong {
  color: var(--color-text);
  font-size: 0.75rem;
  letter-spacing: 0;
}

.kapcsolat-support {
  position: relative;
  overflow: hidden;
}

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

.kapcsolat-support__grid > * {
  min-width: 0;
}

.kapcsolat-support__copy {
  width: 100%;
  max-width: 42rem;
}

.kapcsolat-support__copy .lead {
  max-width: 40rem;
}

.kapcsolat-support__copy blockquote {
  max-width: 38rem;
}

.kapcsolat-boundary-compare {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-4);
  width: 100%;
  max-width: 42rem;
}

.kapcsolat-boundary-compare > * {
  min-width: 0;
}

.kapcsolat-compare-card {
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
  min-width: 0;
  padding-block-start: var(--space-4);
  border-block-start: 2px solid var(--color-sunset-orange);
}

.kapcsolat-compare-card > * {
  min-width: 0;
  margin: 0;
}

.kapcsolat-compare-card h3 {
  font-size: clamp(1.45rem, 2vw, 1.75rem);
}

.kapcsolat-compare-card ul {
  display: grid;
  gap: var(--space-2);
  padding-inline-start: 1.25rem;
}

.kapcsolat-support-panel {
  display: flex;
  flex-direction: column;
  gap: var(--space-4);
  width: 100%;
  min-width: 0;
  padding: var(--space-6);
  border: 1px solid rgb(255 249 240 / 20%);
  border-radius: var(--radius-md);
  background: var(--color-petrol-blue);
  color: var(--color-white);
  box-shadow: var(--shadow-elevated);
}

.kapcsolat-support-panel > * {
  min-width: 0;
  margin: 0;
}

.kapcsolat-support-panel h3 {
  font-size: clamp(1.8rem, 3vw, 2.35rem);
}

.kapcsolat-support-panel ol {
  display: grid;
  gap: var(--space-3);
  padding-inline-start: 1.5rem;
}

.kapcsolat-support-panel__button {
  align-self: flex-start;
}

.kapcsolat-form-layout {
  display: grid;
  grid-template-columns: minmax(0, 8fr) minmax(0, 4fr);
  gap: var(--space-6);
  align-items: start;
}

.kapcsolat-form-layout > * {
  min-width: 0;
}

.kapcsolat-form-main {
  width: 100%;
  min-width: 0;
}

.kapcsolat-form-intro {
  max-width: 39rem;
  margin-block-end: var(--space-6);
}

.kapcsolat-required-note {
  color: var(--color-muted-ink);
  font-size: 0.875rem;
}

.kapcsolat-required-note span,
.kapcsolat-field label span {
  color: var(--color-sunset-orange);
}

.kapcsolat-form {
  display: flex;
  flex-direction: column;
  gap: var(--space-5);
  width: 100%;
  min-width: 0;
  padding: var(--space-6);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-sm);
  background: var(--color-white);
}

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

.kapcsolat-form__name-row {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-4);
  width: 100%;
}

.kapcsolat-form__name-row > * {
  min-width: 0;
}

.kapcsolat-field {
  display: flex;
  flex-direction: column;
  gap: var(--space-2);
  width: 100%;
  min-width: 0;
}

.kapcsolat-field > * {
  min-width: 0;
  margin: 0;
}

.kapcsolat-field label,
.kapcsolat-consent label {
  margin: 0;
}

.kapcsolat-field input,
.kapcsolat-field select,
.kapcsolat-field textarea {
  border-color: var(--color-asphalt-700);
}

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

.kapcsolat-field__help,
.kapcsolat-field__error {
  font-size: 0.875rem;
  line-height: 1.45;
}

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

.kapcsolat-field__error {
  min-height: 0;
  color: #9f3718;
  font-weight: 700;
}

.kapcsolat-field.has-error input,
.kapcsolat-field.has-error select,
.kapcsolat-field.has-error textarea {
  border-color: #9f3718;
}

.kapcsolat-form__summary {
  padding: var(--space-4);
  border-inline-start: 2px solid var(--color-sunset-orange);
  background: rgb(233 104 50 / 10%);
  color: var(--color-ink);
  font-weight: 700;
}

.kapcsolat-form__guidance {
  display: flex;
  flex-direction: column;
  gap: var(--space-2);
  width: 100%;
  min-width: 0;
  padding: var(--space-4);
  border-inline-start: 2px solid var(--color-sunset-orange);
  background: var(--color-concrete-light);
}

.kapcsolat-form__guidance > * {
  min-width: 0;
  margin: 0;
}

.kapcsolat-optional {
  color: var(--color-muted-ink);
  font-size: 0.6875rem;
}

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

.kapcsolat-consent > * {
  min-width: 0;
}

.kapcsolat-consent input {
  width: 1.125rem;
  min-height: 1.125rem;
  margin-block-start: 0.18rem;
  accent-color: var(--color-sunset-orange);
}

.kapcsolat-form__submit {
  align-self: flex-start;
}

.kapcsolat-form__success {
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
  padding: var(--space-5);
  border-inline-start: 2px solid var(--color-electric-lime);
  background: rgb(184 216 61 / 16%);
}

.kapcsolat-form__success > * {
  min-width: 0;
  margin: 0;
}

.kapcsolat-form__success h3 {
  font-size: clamp(1.6rem, 2vw, 2rem);
}

.kapcsolat-privacy-panel {
  display: flex;
  flex-direction: column;
  gap: var(--space-4);
  width: 100%;
  min-width: 0;
  padding: var(--space-6);
  border: 1px solid var(--color-border);
  border-block-start: 2px solid var(--color-petrol-blue);
  border-radius: var(--radius-sm);
  background: var(--color-concrete-light);
}

.kapcsolat-privacy-panel > * {
  min-width: 0;
  margin: 0;
}

.kapcsolat-privacy-panel h3 {
  font-size: clamp(1.7rem, 2.5vw, 2.1rem);
}

.kapcsolat-process__intro {
  max-width: 42.5rem;
  margin-block-end: var(--space-6);
}

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

.kapcsolat-process-grid > * {
  min-width: 0;
}

.kapcsolat-process-card {
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
  min-width: 0;
  min-height: 100%;
  padding: var(--space-5);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-sm);
  background: var(--color-concrete-light);
}

.kapcsolat-process-card > * {
  min-width: 0;
  margin: 0;
}

.kapcsolat-process-card h3 {
  font-size: clamp(1.7rem, 2.4vw, 2rem);
}

.kapcsolat-principles {
  background: var(--color-asphalt-900);
  color: var(--color-white);
}

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

.kapcsolat-principles__grid > * {
  min-width: 0;
}

.kapcsolat-principles__quote {
  width: 100%;
  max-width: 27rem;
}

.kapcsolat-principles__quote .eyebrow {
  color: var(--color-sunset-amber);
}

.kapcsolat-principles__quote blockquote {
  margin-block-end: 0;
  font-size: clamp(2.1rem, 3.8vw, 3.2rem);
}

.kapcsolat-principle-list {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--space-4);
  width: 100%;
}

.kapcsolat-principle-list > * {
  min-width: 0;
}

.kapcsolat-principle-card {
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
  min-width: 0;
  min-height: 100%;
  padding: var(--space-5);
  border: 1px solid var(--color-border-dark);
  border-inline-start: 2px solid var(--color-sunset-orange);
  border-radius: var(--radius-sm);
  background: var(--color-asphalt-950);
}

.kapcsolat-principle-card--blue {
  border-inline-start-color: var(--color-petrol-blue);
}

.kapcsolat-principle-card--amber {
  border-inline-start-color: var(--color-sunset-amber);
}

.kapcsolat-principle-card > * {
  min-width: 0;
  margin: 0;
}

.kapcsolat-principle-card .meta {
  color: var(--color-sunset-amber);
}

.kapcsolat-principle-card h3 {
  font-size: clamp(1.55rem, 2.1vw, 1.85rem);
}

.kapcsolat-faq {
  background: var(--color-warm-concrete);
}

.kapcsolat-faq__intro {
  max-width: 39rem;
  margin-block-end: var(--space-6);
}

.kapcsolat-faq-list {
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
  width: 100%;
}

.kapcsolat-faq-list > * {
  min-width: 0;
}

.kapcsolat-faq-item {
  overflow: hidden;
  border: 1px solid var(--color-border);
  border-radius: var(--radius-md);
  background: var(--color-concrete-light);
}

.kapcsolat-faq-item h3 {
  margin: 0;
}

.kapcsolat-faq-button {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 2rem;
  gap: var(--space-4);
  align-items: center;
  width: 100%;
  min-width: 0;
  min-height: 3.25rem;
  padding: var(--space-4) var(--space-5);
  border: 0;
  background: transparent;
  color: var(--color-text);
  font-family: var(--font-heading);
  font-size: clamp(1.4rem, 2.5vw, 1.8rem);
  font-weight: 800;
  letter-spacing: -0.025em;
  line-height: 1;
  text-align: start;
}

.kapcsolat-faq-button > * {
  min-width: 0;
}

.kapcsolat-faq-button > span {
  display: block;
  color: var(--color-sunset-orange);
  font-family: var(--font-body);
  font-size: 1.5rem;
  font-weight: 400;
  text-align: center;
  transition: transform var(--transition-reveal);
}

.kapcsolat-faq-item.is-open {
  border-block-end: 2px solid var(--color-sunset-orange);
}

.kapcsolat-faq-item.is-open .kapcsolat-faq-button > span {
  transform: rotate(45deg);
}

.kapcsolat-faq-answer {
  display: grid;
  grid-template-rows: 1fr;
  opacity: 1;
  transition: grid-template-rows var(--transition-reveal), opacity var(--transition-reveal);
}

.kapcsolat-faq-answer[hidden] {
  display: none;
}

.kapcsolat-faq-answer > div {
  min-width: 0;
  overflow: hidden;
  max-width: 47.5rem;
  padding: 0 var(--space-5) var(--space-5);
}

.kapcsolat-faq-answer p {
  margin: 0;
}

.kapcsolat-play-cta {
  position: relative;
  overflow: hidden;
  padding-block: var(--space-7);
  background: var(--color-asphalt-950);
  color: var(--color-white);
}

.kapcsolat-play-cta::after {
  position: absolute;
  top: 0;
  right: 0;
  width: 30%;
  height: 100%;
  background: var(--color-petrol-blue);
  clip-path: polygon(18% 0, 100% 0, 100% 100%, 0 100%);
  content: "";
  opacity: 0.6;
}

.kapcsolat-play-cta__grid {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: minmax(0, 8fr) minmax(0, 4fr);
  gap: var(--space-6);
  align-items: center;
}

.kapcsolat-play-cta__grid > * {
  min-width: 0;
}

.kapcsolat-play-cta__copy {
  width: 100%;
  max-width: 35rem;
}

.kapcsolat-play-cta__copy .eyebrow {
  color: var(--color-sunset-amber);
}

.kapcsolat-play-cta__copy p:last-child {
  margin-block-end: 0;
}

.kapcsolat-play-cta__action {
  display: flex;
  justify-content: flex-end;
  width: 100%;
  min-width: 0;
}

.kapcsolat-play-cta__action > * {
  min-width: 0;
}

.kapcsolat-play-cta__action .button {
  min-height: 3rem;
}

@media (max-width: 1050px) {
  .kapcsolat-principles__grid {
    grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
  }

  .kapcsolat-principle-list {
    grid-template-columns: minmax(0, 1fr);
  }
}

@media (max-width: 1024px) {
  .kapcsolat-hero__grid,
  .kapcsolat-support__grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .kapcsolat-hero__copy,
  .kapcsolat-support__copy {
    max-width: 42rem;
  }

  .kapcsolat-boundary-card,
  .kapcsolat-support-panel {
    max-width: none;
  }
}

@media (max-width: 960px) {
  .kapcsolat-form-layout {
    grid-template-columns: minmax(0, 1fr);
  }

  .kapcsolat-form__name-row {
    grid-template-columns: minmax(0, 1fr);
  }
}

@media (max-width: 900px) {
  .kapcsolat-category-grid,
  .kapcsolat-process-grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .kapcsolat-category-card,
  .kapcsolat-process-card {
    min-height: auto;
  }
}

@media (max-width: 840px) {
  .kapcsolat-play-cta__grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .kapcsolat-play-cta__action {
    justify-content: flex-start;
  }
}

@media (max-width: 767px) {
  .kapcsolat-hero {
    padding-block: var(--space-8) var(--space-7);
  }

  .kapcsolat-hero::after {
    right: -10vw;
    width: 62vw;
    height: 8px;
    clip-path: polygon(0 42%, 100% 0, 100% 58%, 0 100%);
  }

  .kapcsolat-hero__copy h1 {
    max-width: 12ch;
    font-size: clamp(2.75rem, 13vw, 3.25rem);
  }

  .kapcsolat-boundary-card,
  .kapcsolat-support-panel,
  .kapcsolat-form,
  .kapcsolat-privacy-panel {
    padding: var(--space-5);
  }

  .kapcsolat-boundary-compare {
    grid-template-columns: minmax(0, 1fr);
  }

  .kapcsolat-compare-card + .kapcsolat-compare-card {
    margin-block-start: var(--space-2);
  }

  .kapcsolat-support__copy,
  .kapcsolat-support__copy .lead,
  .kapcsolat-support__copy blockquote {
    max-width: none;
  }

  .kapcsolat-support-panel__button,
  .kapcsolat-form__submit {
    width: 100%;
    min-height: 3rem;
  }

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

  .kapcsolat-principles__quote {
    max-width: none;
  }

  .kapcsolat-principles__quote blockquote {
    font-size: clamp(2.1rem, 10vw, 2.5rem);
  }

  .kapcsolat-principle-list {
    grid-template-columns: minmax(0, 1fr);
  }

  .kapcsolat-faq-button {
    min-height: 3.5rem;
    padding: var(--space-4);
  }

  .kapcsolat-faq-answer > div {
    padding: 0 var(--space-4) var(--space-4);
  }

  .kapcsolat-play-cta::after {
    width: 52%;
    clip-path: polygon(9% 0, 100% 0, 100% 100%, 0 100%);
  }

  .kapcsolat-play-cta__action .button {
    width: 100%;
    min-height: 3rem;
  }
}

@media (max-width: 480px) {
  .kapcsolat-category-card,
  .kapcsolat-process-card,
  .kapcsolat-principle-card {
    padding: var(--space-5);
  }

  .kapcsolat-boundary-card h2,
  .kapcsolat-support-panel h3 {
    font-size: 1.9rem;
  }

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

  .kapcsolat-faq-button {
    grid-template-columns: minmax(0, 1fr) 1.5rem;
    gap: var(--space-2);
    font-size: 1.45rem;
  }
}


.driving-report {
  background: var(--color-warm-concrete);
  overflow: clip;
}

.driving-report__hero {
  position: relative;
  min-height: 43rem;
  isolation: isolate;
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  align-items: stretch;
  padding-block: var(--space-9);
  background: var(--color-warm-concrete);
}

.driving-report__hero-media {
  position: absolute;
  inset: 0 0 0 auto;
  z-index: -1;
  width: 61%;
  min-width: 0;
  overflow: hidden;
  clip-path: polygon(12% 0, 100% 0, 100% 100%, 0 100%);
  background: var(--color-asphalt-900);
}

.driving-report__hero-media::after {
  position: absolute;
  inset: 0;
  content: "";
  background: linear-gradient(90deg, rgb(21 25 27 / 68%) 0%, rgb(21 25 27 / 10%) 58%, rgb(21 25 27 / 18%) 100%);
}

.driving-report__hero-media img,
.driving-report__maneuver-media img,
.driving-report__route-media img {
  width: 100%;
  max-width: 100%;
  height: 100%;
  object-fit: cover;
}

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

.driving-report__hero-grid > * {
  min-width: 0;
}

.driving-report__hero-copy {
  grid-column: 1;
  width: 100%;
  max-width: 43.125rem;
  display: flex;
  flex-direction: column;
  gap: var(--space-4);
  align-self: start;
}

.driving-report__hero-copy > * {
  margin: 0;
}

.driving-report__hero-copy .eyebrow::after {
  width: 4rem;
  height: 2px;
  content: "";
  background: var(--color-sunset-orange);
}

.driving-report__route-dot,
.driving-report__lime-dot {
  width: 0.5rem;
  height: 0.5rem;
  flex: 0 0 auto;
  background: var(--color-sunset-orange);
  transform: rotate(45deg);
}

.driving-report__lime-dot {
  border-radius: 50%;
  background: var(--color-electric-lime);
  transform: none;
}

.driving-report__hero-copy h1 {
  font-size: var(--text-hero);
  max-width: 10ch;
}

.driving-report__hero-copy .lead {
  max-width: 42rem;
}

.driving-report__quickfacts {
  grid-column: 2;
  width: 100%;
  min-width: 0;
  align-self: end;
  display: flex;
  flex-direction: column;
  gap: var(--space-4);
  padding: var(--space-5);
  border: 1px solid var(--color-border-dark);
  border-top: 2px solid var(--color-sunset-orange);
  border-radius: var(--radius-sm);
  background: var(--color-asphalt-900);
  color: var(--color-white);
  box-shadow: var(--shadow-elevated);
}

.driving-report__quickfacts > * {
  margin: 0;
}

.driving-report__quickfacts-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-3);
  min-width: 0;
}

.driving-report__facts-list {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 0;
  margin: 0;
}

.driving-report__facts-list > div {
  display: grid;
  grid-template-columns: minmax(5.5rem, 0.8fr) minmax(0, 1.2fr);
  gap: var(--space-3);
  min-width: 0;
  padding-block: var(--space-3);
  border-top: 1px solid var(--color-border-dark);
}

.driving-report__facts-list dt,
.driving-report__facts-list dd {
  min-width: 0;
  margin: 0;
}

.driving-report__facts-list dt {
  color: rgb(255 249 240 / 65%);
  font-size: var(--text-meta);
  font-weight: 700;
  letter-spacing: 0.08em;
  line-height: 1.35;
  text-transform: uppercase;
}

.driving-report__facts-list dd {
  font-size: 0.875rem;
  font-weight: 600;
  line-height: 1.35;
}

.driving-report__facts-note {
  color: rgb(255 249 240 / 72%);
  font-size: 0.8125rem;
  line-height: 1.45;
}

.driving-report__play-button {
  width: 100%;
}

.driving-report__rhythm {
  background: var(--color-concrete-light);
}

.driving-report__rhythm-grid {
  display: grid;
  grid-template-columns: minmax(0, 7fr) minmax(16.25rem, 5fr);
  gap: var(--space-8);
  align-items: start;
}

.driving-report__rhythm-grid > * {
  min-width: 0;
}

.driving-report__rhythm-copy {
  grid-column: 1;
  width: 100%;
  max-width: 42.5rem;
}

.driving-report__rhythm-copy blockquote {
  max-width: 35rem;
  margin-block: var(--space-5);
}

.driving-report__observations {
  width: 100%;
  max-width: 35rem;
  margin: var(--space-5) 0 0;
  padding: 0;
  list-style: none;
  counter-reset: observation;
}

.driving-report__observations li {
  position: relative;
  min-width: 0;
  padding: var(--space-4) 0 var(--space-4) 3rem;
  border-top: 1px solid var(--color-border);
  counter-increment: observation;
}

.driving-report__observations li::before {
  position: absolute;
  inset: var(--space-4) auto auto 0;
  color: var(--color-sunset-orange);
  content: "0" counter(observation);
  font-family: var(--font-heading);
  font-size: 1.5rem;
  font-weight: 800;
  line-height: 1;
}

.driving-report__compass {
  grid-column: 2;
  width: 100%;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: var(--space-4);
  padding: var(--space-6);
  background: var(--color-petrol-blue);
  color: var(--color-white);
}

.driving-report__compass > * {
  margin: 0;
}

.driving-report__compass .meta {
  color: var(--color-sunset-amber);
}

.driving-report__compass p {
  font-family: var(--font-heading);
  font-size: clamp(2rem, 3.3vw, 3rem);
  font-weight: 800;
  letter-spacing: -0.025em;
  line-height: 0.96;
}

.driving-report__compass-line {
  width: 4.5rem;
  height: 2px;
  background: var(--color-sunset-orange);
}

.driving-report__maneuver {
  background: var(--color-warm-concrete);
}

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

.driving-report__maneuver-grid > * {
  min-width: 0;
}

.driving-report__maneuver-media {
  grid-column: 1;
  width: 100%;
  min-width: 0;
}

.driving-report__maneuver-media img {
  aspect-ratio: 3 / 2;
  clip-path: polygon(0 0, 100% 0, 94% 100%, 0 100%);
}

.driving-report__maneuver-media figcaption,
.driving-report__route-media figcaption {
  max-width: 32.5rem;
}

.driving-report__maneuver-copy {
  grid-column: 2;
  width: 100%;
  max-width: 42.5rem;
}

.driving-report__checklist {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 0;
  width: 100%;
  max-width: 37.5rem;
  margin-block: var(--space-5);
  border-top: 1px solid var(--color-border);
}

.driving-report__checklist > div {
  display: grid;
  grid-template-columns: minmax(8rem, 0.8fr) minmax(0, 1.2fr);
  gap: var(--space-4);
  min-width: 0;
  padding-block: var(--space-3);
  border-bottom: 1px solid var(--color-border);
}

.driving-report__checklist span {
  min-width: 0;
  color: var(--color-petrol-blue);
  font-size: var(--text-meta);
  font-weight: 700;
  letter-spacing: 0.08em;
  line-height: 1.35;
  text-transform: uppercase;
}

.driving-report__checklist p {
  min-width: 0;
  margin: 0;
  font-size: 0.9375rem;
  line-height: 1.5;
}

.driving-report__critical-note {
  display: flex;
  flex-direction: column;
  gap: var(--space-2);
  width: 100%;
  max-width: 32.5rem;
  padding: var(--space-4) 0 var(--space-4) var(--space-5);
  border-inline-start: 2px solid var(--color-sunset-orange);
}

.driving-report__critical-note > * {
  margin: 0;
}

.driving-report__critical-note p {
  line-height: 1.55;
}

.driving-report__challenges {
  background: var(--color-concrete-light);
}

.driving-report__challenge-intro {
  width: 100%;
  max-width: 40.625rem;
}

.driving-report__challenge-cards {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--space-5);
  width: 100%;
  margin-top: var(--space-6);
}

.driving-report__challenge-cards > * {
  min-width: 0;
  width: 100%;
}

.driving-report__challenge-card {
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
  min-height: 100%;
  margin: 0;
  border-top: 2px solid var(--color-asphalt-700);
}

.driving-report__challenge-card > * {
  margin: 0;
}

.driving-report__challenge-card--position {
  border-top-color: var(--color-petrol-blue);
}

.driving-report__challenge-card--risk {
  border-top-color: var(--color-sunset-orange);
}

.driving-report__upgrade {
  position: relative;
  background: var(--color-asphalt-950);
}

.driving-report__upgrade::before {
  position: absolute;
  inset: 0;
  opacity: 0.05;
  content: "";
  background-image: repeating-linear-gradient(135deg, transparent 0 24px, var(--color-white) 25px 26px, transparent 27px 54px);
  pointer-events: none;
}

.driving-report__upgrade-grid {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 7fr) minmax(18rem, 5fr);
  gap: var(--space-8);
  align-items: start;
}

.driving-report__upgrade-grid > * {
  min-width: 0;
}

.driving-report__upgrade-copy {
  grid-column: 1;
  width: 100%;
  max-width: 41.875rem;
}

.driving-report__upgrade-panels {
  grid-column: 2;
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: var(--space-4);
  width: 100%;
}

.driving-report__upgrade-panels > * {
  width: 100%;
  min-width: 0;
}

.driving-report__upgrade-panel,
.driving-report__style-panel {
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
  margin: 0;
  padding: var(--space-5);
}

.driving-report__upgrade-panel > *,
.driving-report__style-panel > * {
  margin: 0;
}

.driving-report__upgrade-list {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 0;
  width: 100%;
  border-top: 1px solid var(--color-border-dark);
}

.driving-report__upgrade-list p {
  display: grid;
  grid-template-columns: minmax(5.25rem, 0.65fr) minmax(0, 1.35fr);
  gap: var(--space-3);
  min-width: 0;
  margin: 0;
  padding-block: var(--space-3);
  border-bottom: 1px solid var(--color-border-dark);
  font-size: 0.875rem;
  line-height: 1.45;
}

.driving-report__upgrade-list b {
  color: var(--color-electric-lime);
  font-size: var(--text-meta);
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.driving-report__style-panel {
  border-top: 2px solid var(--color-sunset-orange);
  background: var(--color-petrol-blue);
  color: var(--color-white);
}

.driving-report__style-panel .meta {
  color: var(--color-sunset-amber);
}

.driving-report__routes {
  background: var(--color-warm-concrete);
}

.driving-report__routes-intro {
  width: 100%;
  max-width: 41.25rem;
}

.driving-report__routes-grid {
  display: grid;
  grid-template-columns: minmax(0, 8fr) minmax(16.25rem, 4fr);
  gap: var(--space-6);
  align-items: start;
  width: 100%;
  margin-top: var(--space-6);
}

.driving-report__routes-grid > * {
  min-width: 0;
}

.driving-report__route-media {
  grid-column: 1;
  width: 100%;
  min-width: 0;
}

.driving-report__route-media img {
  aspect-ratio: 16 / 9;
  clip-path: polygon(0 0, 100% 0, 100% 92%, 4% 100%, 0 100%);
}

.driving-report__visibility-panel {
  grid-column: 2;
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
  width: 100%;
  margin: 0;
}

.driving-report__visibility-panel > * {
  margin: 0;
}

.driving-report__visibility-panel dl {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 0;
  margin: 0;
}

.driving-report__visibility-panel dl > div {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: var(--space-1);
  min-width: 0;
  padding-block: var(--space-3);
  border-top: 1px solid var(--color-border);
}

.driving-report__visibility-panel dt,
.driving-report__visibility-panel dd {
  margin: 0;
}

.driving-report__visibility-panel dt {
  color: var(--color-petrol-blue);
  font-size: var(--text-meta);
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.driving-report__visibility-panel dd {
  font-size: 0.9375rem;
  line-height: 1.5;
}

.driving-report__store {
  background: var(--color-petrol-blue);
  color: var(--color-white);
}

.driving-report__store-grid {
  display: grid;
  grid-template-columns: minmax(0, 7fr) minmax(20rem, 5fr);
  gap: var(--space-8);
  align-items: start;
}

.driving-report__store-grid > * {
  min-width: 0;
}

.driving-report__store-copy {
  grid-column: 1;
  width: 100%;
  max-width: 41.25rem;
}

.driving-report__store-copy .eyebrow,
.driving-report__store .meta {
  color: var(--color-sunset-amber);
}

.driving-report__store-panel {
  grid-column: 2;
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 0;
  width: 100%;
  padding: var(--space-5);
  border: 1px solid var(--color-border-dark);
  border-radius: var(--radius-sm);
  background: var(--color-asphalt-900);
}

.driving-report__store-panel > * {
  min-width: 0;
}

.driving-report__store-status {
  display: grid;
  grid-template-columns: minmax(9rem, 0.9fr) minmax(0, 1.1fr);
  gap: var(--space-3);
  padding-block: var(--space-3);
  border-bottom: 1px solid var(--color-border-dark);
}

.driving-report__store-status span {
  color: var(--color-electric-lime);
  font-size: var(--text-meta);
  font-weight: 700;
  letter-spacing: 0.08em;
  line-height: 1.35;
  text-transform: uppercase;
}

.driving-report__store-status p,
.driving-report__store-link p {
  margin: 0;
  font-size: 0.875rem;
  line-height: 1.5;
}

.driving-report__store-link {
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
  padding-top: var(--space-4);
  border-bottom: 2px solid var(--color-petrol-blue);
}

.driving-report__store-link a {
  color: var(--color-sunset-amber);
  font-weight: 700;
}

.driving-report__verdict {
  background: var(--color-warm-concrete);
}

.driving-report__verdict-grid {
  display: grid;
  grid-template-columns: minmax(0, 7fr) minmax(17.5rem, 4fr) minmax(0, 1fr);
  gap: var(--space-6);
  align-items: end;
}

.driving-report__verdict-grid > * {
  min-width: 0;
}

.driving-report__verdict-copy {
  grid-column: 1;
  width: 100%;
  max-width: 42.5rem;
}

.driving-report__verdict-cta {
  grid-column: 2;
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
  width: 100%;
  margin: 0;
  padding: var(--space-5);
  border-top: 2px solid var(--color-sunset-orange);
  background: var(--color-sunset-orange);
  color: var(--color-asphalt-950);
}

.driving-report__verdict-cta > * {
  margin: 0;
}

.driving-report__verdict-cta .meta {
  color: var(--color-asphalt-950);
}

.driving-report__verdict-cta .button {
  width: 100%;
  border-color: var(--color-asphalt-950);
  background: var(--color-asphalt-950);
  color: var(--color-white);
}

.driving-report__verdict-cta .button:hover {
  background: var(--color-asphalt-700);
  color: var(--color-white);
}

.driving-report__faq {
  position: relative;
  background: var(--color-concrete-light);
}

.driving-report__faq::after {
  position: absolute;
  inset: 0 max(0px, calc((100% - 75rem) / 2)) 0 auto;
  width: 18%;
  opacity: 0.1;
  content: "";
  background: repeating-linear-gradient(135deg, transparent 0 25px, var(--color-petrol-blue) 26px 28px, transparent 29px 54px);
  pointer-events: none;
}

.driving-report__faq-layout {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: minmax(0, 8fr) minmax(0, 4fr);
  gap: var(--space-6);
  align-items: start;
}

.driving-report__faq-layout > * {
  min-width: 0;
}

.driving-report__faq-intro {
  grid-column: 1;
  width: 100%;
  max-width: 38.75rem;
}

.driving-report__faq-list {
  grid-column: 1;
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 0;
  width: 100%;
  max-width: 48.75rem;
  margin-top: var(--space-5);
  border-top: 1px solid var(--color-border);
}

.driving-report__faq-item {
  width: 100%;
  min-width: 0;
  border-bottom: 1px solid var(--color-border);
}

.driving-report__faq-item h3 {
  margin: 0;
  font-family: var(--font-body);
  font-size: 1rem;
  letter-spacing: 0;
  line-height: 1.35;
}

.driving-report__faq-item button {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-4);
  width: 100%;
  min-height: 3.5rem;
  padding: var(--space-4) 0;
  border: 0;
  background: transparent;
  color: var(--color-ink);
  font-weight: 700;
  text-align: left;
}

.driving-report__faq-item button span {
  flex: 0 0 auto;
  color: var(--color-sunset-orange);
  font-family: var(--font-heading);
  font-size: 2rem;
  font-weight: 800;
  line-height: 0.8;
  transition: transform var(--transition-reveal);
}

.driving-report__faq-item button[aria-expanded="true"] span {
  transform: rotate(45deg);
}

.driving-report__faq-answer {
  display: grid;
  grid-template-rows: 0fr;
  opacity: 0;
  transition: grid-template-rows var(--transition-reveal), opacity var(--transition-reveal), border-color var(--transition-reveal);
}

.driving-report__faq-answer > div {
  min-height: 0;
  overflow: hidden;
}

.driving-report__faq-answer p {
  max-width: 46rem;
  margin: 0;
  padding: 0 0 var(--space-5) var(--space-5);
  border-inline-start: 2px solid transparent;
}

.driving-report__faq-answer.is-open {
  grid-template-rows: 1fr;
  opacity: 1;
}

.driving-report__faq-answer.is-open p {
  border-inline-start-color: var(--color-sunset-orange);
}

@media (max-width: 1199px) {
  .driving-report__hero {
    min-height: 39rem;
    padding-block: var(--space-8);
  }

  .driving-report__hero-grid {
    grid-template-columns: minmax(0, 4fr) minmax(18.125rem, 2fr);
  }

  .driving-report__rhythm-grid,
  .driving-report__upgrade-grid,
  .driving-report__store-grid {
    grid-template-columns: minmax(0, 4fr) minmax(16.25rem, 2fr);
    gap: var(--space-6);
  }

  .driving-report__maneuver-grid {
    gap: var(--space-6);
  }

  .driving-report__challenge-cards {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .driving-report__challenge-card--risk {
    grid-column: 1 / span 1;
  }

  .driving-report__routes-grid {
    grid-template-columns: minmax(0, 4fr) minmax(16.25rem, 2fr);
  }

  .driving-report__verdict-grid {
    grid-template-columns: minmax(0, 4fr) minmax(17.5rem, 2fr);
  }
}

@media (max-width: 1050px) {
  .driving-report__routes-grid {
    grid-template-columns: repeat(6, minmax(0, 1fr));
  }

  .driving-report__route-media {
    grid-column: 1 / -1;
  }

  .driving-report__visibility-panel {
    grid-column: 1 / span 4;
  }
}

@media (max-width: 1024px) {
  .driving-report__maneuver-grid {
    grid-template-columns: minmax(0, 1fr);
    gap: var(--space-6);
  }

  .driving-report__maneuver-media,
  .driving-report__maneuver-copy {
    grid-column: 1;
  }

  .driving-report__maneuver-copy {
    max-width: 42.5rem;
  }
}

@media (max-width: 1000px) {
  .driving-report__upgrade-grid {
    grid-template-columns: repeat(6, minmax(0, 1fr));
  }

  .driving-report__upgrade-copy {
    grid-column: 1 / -1;
  }

  .driving-report__upgrade-panels {
    grid-column: 1 / -1;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 980px) {
  .driving-report__rhythm-grid {
    grid-template-columns: minmax(0, 1fr);
    gap: var(--space-6);
  }

  .driving-report__rhythm-copy,
  .driving-report__compass {
    grid-column: 1;
  }

  .driving-report__compass {
    max-width: 32.5rem;
  }
}

@media (max-width: 960px) {
  .driving-report__store-grid {
    grid-template-columns: minmax(0, 1fr);
    gap: var(--space-6);
  }

  .driving-report__store-copy,
  .driving-report__store-panel {
    grid-column: 1;
  }

  .driving-report__store-panel {
    max-width: 43rem;
  }
}

@media (max-width: 950px) {
  .driving-report__verdict-grid {
    grid-template-columns: repeat(6, minmax(0, 1fr));
  }

  .driving-report__verdict-copy {
    grid-column: 1 / -1;
  }

  .driving-report__verdict-cta {
    grid-column: 1 / span 3;
  }
}

@media (max-width: 900px) {
  .driving-report__hero {
    display: flex;
    flex-direction: column;
    gap: var(--space-6);
    min-height: 0;
    padding: 0 0 var(--space-7);
  }

  .driving-report__hero-media {
    position: relative;
    order: 2;
    width: 100%;
    height: auto;
    aspect-ratio: 16 / 9;
    clip-path: none;
  }

  .driving-report__hero-media::after {
    background: linear-gradient(90deg, rgb(21 25 27 / 32%), rgb(21 25 27 / 8%));
  }

  .driving-report__hero-grid {
    order: 1;
    grid-template-columns: minmax(0, 4fr) minmax(16rem, 2fr);
    padding-top: var(--space-7);
  }

  .driving-report__faq::after {
    display: none;
  }

  .driving-report__faq-layout {
    grid-template-columns: minmax(0, 1fr);
  }

  .driving-report__faq-intro,
  .driving-report__faq-list {
    grid-column: 1;
  }
}

@media (max-width: 767px) {
  .driving-report__hero {
    gap: var(--space-5);
    padding-bottom: var(--space-7);
  }

  .driving-report__hero-grid {
    grid-template-columns: minmax(0, 1fr);
    gap: var(--space-5);
    padding-top: var(--space-7);
  }

  .driving-report__hero-copy,
  .driving-report__quickfacts {
    grid-column: 1;
  }

  .driving-report__hero-copy h1 {
    max-width: 11ch;
    font-size: clamp(2.625rem, 12vw, 3.125rem);
  }

  .driving-report__hero-copy .lead {
    font-size: 1.125rem;
  }

  .driving-report__quickfacts {
    padding: var(--space-5);
  }

  .driving-report__facts-list > div,
  .driving-report__checklist > div,
  .driving-report__store-status,
  .driving-report__upgrade-list p {
    grid-template-columns: minmax(0, 1fr);
    gap: var(--space-2);
  }

  .driving-report__rhythm-grid,
  .driving-report__upgrade-grid,
  .driving-report__store-grid {
    grid-template-columns: minmax(0, 1fr);
    gap: var(--space-5);
  }

  .driving-report__rhythm-copy,
  .driving-report__compass,
  .driving-report__upgrade-copy,
  .driving-report__upgrade-panels,
  .driving-report__store-copy,
  .driving-report__store-panel {
    grid-column: 1;
  }

  .driving-report__rhythm-copy blockquote,
  .driving-report__observations,
  .driving-report__checklist,
  .driving-report__critical-note {
    max-width: none;
  }

  .driving-report__compass {
    max-width: none;
    padding: var(--space-5);
  }

  .driving-report__compass p {
    font-size: clamp(2rem, 9vw, 2.5rem);
  }

  .driving-report__maneuver-grid {
    gap: var(--space-5);
  }

  .driving-report__maneuver-media img {
    clip-path: polygon(0 0, 100% 0, 96% 100%, 0 100%);
  }

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

  .driving-report__challenge-card--risk {
    grid-column: 1;
  }

  .driving-report__upgrade-panels {
    grid-template-columns: minmax(0, 1fr);
  }

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

  .driving-report__route-media,
  .driving-report__visibility-panel {
    grid-column: 1;
  }

  .driving-report__visibility-panel {
    max-width: none;
  }

  .driving-report__route-media img {
    clip-path: polygon(0 0, 100% 0, 100% 96%, 3% 100%, 0 100%);
  }

  .driving-report__store-panel {
    max-width: none;
  }

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

  .driving-report__verdict-copy,
  .driving-report__verdict-cta {
    grid-column: 1;
  }

  .driving-report__faq-answer p {
    padding-left: var(--space-4);
  }
}

@media (prefers-reduced-motion: reduce) {
  .driving-report__faq-answer,
  .driving-report__faq-item button span {
    transition: none;
  }
}


.faq-page {
  background: var(--color-warm-concrete);
}

.faq-page .eyebrow::before {
  width: 1.5rem;
  height: 2px;
  background: var(--color-sunset-orange);
  content: "";
}

.faq-hero {
  position: relative;
  overflow: hidden;
  padding-block: var(--space-9);
  background: var(--color-warm-concrete);
}

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

.faq-hero__copy,
.faq-hero__media,
.faq-tools__intro,
.faq-tools__search,
.faq-tools__toggle,
.faq-tools__filters,
.faq-accordion-column,
.faq-motor__copy,
.faq-motor__side,
.faq-monetization__copy,
.faq-status-card,
.faq-data-card,
.faq-related-card {
  min-width: 0;
}

.faq-hero__copy {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-4);
  max-width: 38.75rem;
}

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

.faq-hero__copy h1 {
  font-size: var(--text-hero);
  line-height: var(--line-hero);
}

.faq-hero__copy .lead {
  max-width: 38.75rem;
}

.faq-hero__independence {
  max-width: 35rem;
  padding-block-start: var(--space-4);
  border-top: 2px solid var(--color-petrol-blue);
  color: var(--color-muted-ink);
}

.faq-hero__media {
  width: 100%;
  margin: 0;
  overflow: hidden;
  border-radius: var(--radius-md);
  clip-path: polygon(0 0, 100% 0, 92% 100%, 0 100%);
  box-shadow: var(--shadow-elevated);
}

.faq-hero__media img {
  width: 100%;
  height: clamp(28rem, 42vw, 39rem);
  max-width: none;
  object-fit: cover;
  object-position: 52% center;
}

.faq-hero__media figcaption {
  margin: 0;
  padding: var(--space-3) var(--space-4);
  background: var(--color-concrete-light);
}

.faq-hero__routes {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--space-3);
  width: 100%;
  margin-top: var(--space-2);
}

.faq-route-card {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-2);
  min-width: 0;
  min-height: 9rem;
  padding: var(--space-4);
  border: 1px solid var(--color-border-dark);
  border-radius: var(--radius-sm);
  background: var(--color-asphalt-900);
  color: var(--color-white);
  text-decoration: none;
  transition: transform var(--transition-fast), background-color var(--transition-fast);
}

.faq-route-card:hover {
  transform: translateY(-2px);
  background: var(--color-asphalt-950);
  color: var(--color-white);
}

.faq-route-card .meta {
  color: var(--color-sunset-amber);
}

.faq-route-card strong {
  font-family: var(--font-heading);
  font-size: 1.55rem;
  line-height: 1;
  letter-spacing: -0.02em;
}

.faq-route-card span:last-child {
  color: rgb(255 249 240 / 74%);
  font-size: 0.78rem;
  line-height: 1.35;
}

.faq-tools {
  background: var(--color-concrete-light);
}

.faq-tools__grid {
  display: grid;
  grid-template-columns: minmax(0, 4fr) minmax(22.5rem, 5fr) minmax(0, 3fr);
  gap: var(--space-5) var(--space-6);
  align-items: end;
}

.faq-tools__intro {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-3);
  max-width: 32.5rem;
}

.faq-tools__intro > * {
  margin: 0;
}

.faq-tools__intro h2 {
  font-size: var(--text-section);
}

.faq-tools__search {
  display: flex;
  flex-direction: column;
  gap: var(--space-2);
  width: 100%;
}

.faq-tools__search label,
.faq-tools__search p {
  margin: 0;
}

.faq-tools__search input {
  min-height: 3.25rem;
  border-color: var(--color-asphalt-700);
  background: var(--color-white);
}

.faq-tools__count {
  color: var(--color-muted-ink);
  font-size: var(--text-meta);
  font-weight: 700;
  letter-spacing: 0.04em;
}

.faq-tools__toggle {
  justify-self: end;
  width: 100%;
  max-width: 15rem;
}

.faq-tools__filters {
  grid-column: 1 / -1;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-3);
  padding-top: var(--space-4);
  border-top: 1px solid var(--color-border);
}

.faq-filter-list {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-2);
  width: 100%;
}

.faq-filter {
  min-width: 0;
  min-height: 2.75rem;
  padding: 0.625rem 0.875rem;
  border: 1px solid var(--color-border);
  border-radius: var(--radius-sm);
  background: transparent;
  color: var(--color-ink);
  font-size: 0.875rem;
  font-weight: 700;
}

.faq-filter:hover,
.faq-filter.is-active {
  border-color: var(--color-petrol-blue);
  background: var(--color-petrol-blue);
  color: var(--color-white);
}

.faq-section-intro {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-3);
}

.faq-section-intro > * {
  margin: 0;
}

.faq-gameplay__intro {
  max-width: 42.5rem;
  margin-bottom: var(--space-6);
}

.faq-gameplay__intro .lead {
  max-width: 42.5rem;
}

.faq-accordion-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-5);
}

.faq-accordion-column,
.faq-motor__questions,
.faq-monetization__questions {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: var(--space-4);
  width: 100%;
}

.faq-item {
  width: 100%;
  overflow: hidden;
  border: 1px solid var(--color-border);
  border-radius: var(--radius-md);
  background: var(--color-concrete-light);
}

.faq-item[hidden] {
  display: none;
}

.faq-item h3 {
  margin: 0;
}

.faq-item h3 button {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-4);
  width: 100%;
  min-width: 0;
  min-height: 4.5rem;
  padding: var(--space-4) var(--space-5);
  border: 0;
  background: transparent;
  color: var(--color-ink);
  font-family: var(--font-heading);
  font-size: clamp(1.3rem, 2vw, 1.65rem);
  font-weight: 800;
  letter-spacing: -0.02em;
  line-height: 1;
  text-align: left;
}

.faq-item h3 button span {
  flex: 0 0 auto;
  color: var(--color-sunset-orange);
  font-family: var(--font-body);
  font-size: 1.7rem;
  font-weight: 400;
  transition: transform var(--transition-reveal);
}

.faq-item.is-open {
  border-top: 2px solid var(--color-sunset-orange);
}

.faq-item.is-open h3 button span {
  transform: rotate(45deg);
}

.faq-answer {
  overflow: hidden;
  transition: opacity var(--transition-reveal);
}

.faq-answer[hidden] {
  display: none;
}

.faq-answer__inner {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-4);
  max-width: 35rem;
  padding: 0 var(--space-5) var(--space-5);
}

.faq-answer__inner > * {
  margin: 0;
}

.faq-inline-note {
  width: 100%;
  padding: var(--space-3);
  border-left: 2px solid var(--color-petrol-blue);
  background: rgb(23 101 121 / 8%);
}

.faq-motor {
  background: var(--color-warm-concrete);
}

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

.faq-motor__copy {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-5);
  max-width: 41.25rem;
}

.faq-motor__copy > * {
  margin: 0;
}

.faq-motor__copy .lead {
  max-width: 41.25rem;
}

.faq-motor__side {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: var(--space-5);
  width: 100%;
}

.faq-motor__media {
  width: 100%;
  margin: 0;
}

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

.faq-motor__media figcaption {
  max-width: 32.5rem;
}

.faq-variable-panel {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-3);
  width: 100%;
  padding: var(--space-5);
  border-left: 3px solid var(--color-petrol-blue);
  background: var(--color-concrete-light);
}

.faq-variable-panel > * {
  margin: 0;
}

.faq-variable-panel p {
  max-width: 32rem;
}

.faq-monetization {
  position: relative;
  overflow: hidden;
  background: var(--color-petrol-blue);
}

.faq-monetization::before,
.faq-cta-section::before {
  position: absolute;
  inset: 0;
  opacity: 0.04;
  background-image: radial-gradient(circle at 20% 20%, var(--color-white) 0 1px, transparent 1px), radial-gradient(circle at 75% 60%, var(--color-white) 0 1px, transparent 1px);
  background-size: 9px 9px, 13px 13px;
  content: "";
  pointer-events: none;
}

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

.faq-monetization__copy {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-5);
  max-width: 42.5rem;
}

.faq-monetization__copy > * {
  margin: 0;
}

.faq-monetization__copy .lead {
  max-width: 42.5rem;
}

.faq-item--dark {
  border-color: var(--color-border-dark);
  background: var(--color-asphalt-900);
  color: var(--color-white);
}

.faq-item--dark h3 button {
  color: var(--color-white);
}

.faq-item--dark .faq-answer__inner {
  max-width: 38.75rem;
}

.faq-item--dark .faq-answer__inner a {
  color: var(--color-sunset-amber);
}

.faq-answer__yes,
.faq-status-card__orange {
  display: inline-flex;
  align-items: center;
  min-height: 1.5rem;
  padding: 0.2rem 0.5rem;
  border-radius: var(--radius-pill);
  background: var(--color-sunset-orange);
  color: var(--color-asphalt-950);
  font-size: 0.6875rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  line-height: 1.2;
  text-transform: uppercase;
}

.faq-status-card {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: var(--space-4);
  width: 100%;
  padding: var(--space-6);
  border: 1px solid var(--color-border-dark);
  border-radius: var(--radius-md);
  background: var(--color-asphalt-900);
  color: var(--color-white);
}

.faq-status-card > * {
  margin: 0;
}

.faq-status-card h3 {
  font-size: clamp(1.75rem, 2.5vw, 2rem);
}

.faq-status-card dl {
  display: flex;
  flex-direction: column;
  gap: 0;
  margin: 0;
  border-top: 1px solid var(--color-border-dark);
}

.faq-status-card dl > div {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: var(--space-3);
  align-items: center;
  min-width: 0;
  padding-block: var(--space-4);
  border-bottom: 1px solid var(--color-border-dark);
}

.faq-status-card dt,
.faq-status-card dd {
  min-width: 0;
  margin: 0;
}

.faq-status-card dt {
  color: rgb(255 249 240 / 70%);
  font-size: var(--text-meta);
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.faq-status-card dd {
  text-align: right;
  font-weight: 700;
}

.faq-status-card p {
  color: rgb(255 249 240 / 74%);
  font-size: 0.875rem;
}

.faq-store__intro {
  max-width: 41.25rem;
  margin-bottom: var(--space-6);
}

.faq-store__intro .lead {
  max-width: 41.25rem;
}

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

.faq-data-card {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: space-between;
  gap: var(--space-4);
  min-height: 10.5rem;
  padding: var(--space-5);
  border: 1px solid var(--color-border);
  border-top: 2px solid var(--color-petrol-blue);
  border-radius: var(--radius-sm);
  background: var(--color-white);
}

.faq-data-card strong,
.faq-data-card a {
  max-width: 100%;
  color: var(--color-ink);
  font-family: var(--font-heading);
  font-size: 1.65rem;
  font-weight: 800;
  letter-spacing: -0.02em;
  line-height: 1;
  overflow-wrap: anywhere;
}

.faq-data-card a {
  color: var(--color-petrol-blue);
}

.faq-store__explanation {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-3);
  max-width: 41.25rem;
  margin-top: var(--space-6);
  padding-left: var(--space-5);
  border-left: 3px solid var(--color-petrol-blue);
}

.faq-store__explanation > * {
  margin: 0;
}

.faq-store__explanation p {
  max-width: 41.25rem;
}

.faq-more {
  background: var(--color-asphalt-950);
}

.faq-more__intro {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-3);
  max-width: 42.5rem;
}

.faq-more__intro > * {
  margin: 0;
}

.faq-more__intro p {
  max-width: 42.5rem;
}

.faq-more__media {
  width: 100%;
  margin: var(--space-6) 0 var(--space-5);
}

.faq-more__media img {
  width: 100%;
  aspect-ratio: 16 / 9;
  object-fit: cover;
  object-position: center;
}

.faq-more__media figcaption {
  max-width: 42rem;
  color: rgb(255 249 240 / 70%);
}

.faq-more blockquote {
  max-width: 31.25rem;
  margin-bottom: var(--space-6);
  color: var(--color-white);
}

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

.faq-related-card {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-3);
  min-height: 16rem;
  padding: var(--space-5);
  border: 1px solid var(--color-border-dark);
  border-radius: var(--radius-sm);
  background: var(--color-asphalt-900);
  color: var(--color-white);
  text-decoration: none;
  transition: transform var(--transition-fast), border-color var(--transition-fast);
}

.faq-related-card > * {
  margin: 0;
}

.faq-related-card:hover {
  transform: translateY(-2px);
  border-color: var(--color-sunset-orange);
  color: var(--color-white);
}

.faq-related-card h3 {
  font-size: 1.85rem;
}

.faq-related-card p {
  color: rgb(255 249 240 / 76%);
}

.faq-related-card__arrow {
  margin-top: auto;
  color: var(--color-sunset-amber);
  font-weight: 700;
  transition: transform var(--transition-fast);
}

.faq-related-card:hover .faq-related-card__arrow {
  transform: translateX(4px);
}

.faq-cta-section {
  position: relative;
  overflow: hidden;
  background: var(--color-asphalt-950);
}

.faq-cta-section .container {
  position: relative;
}

.faq-cta-panel {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-5);
  max-width: 45rem;
  margin-inline: auto;
  padding: var(--space-7);
  border-radius: var(--radius-md);
  background: var(--color-concrete-light);
  color: var(--color-ink);
}

.faq-cta-panel > * {
  margin: 0;
}

.faq-cta-panel h2 {
  max-width: 38.75rem;
}

.faq-cta-panel .lead {
  max-width: 40rem;
}

.faq-cta-button {
  min-height: 3.25rem;
}

.faq-cta-panel__external {
  color: var(--color-muted-ink);
  font-size: 0.8125rem;
}

.faq-checklist {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: var(--space-4);
  width: 100%;
  max-width: 40rem;
  padding-top: var(--space-5);
  border-top: 1px solid var(--color-border);
}

.faq-checklist > * {
  margin: 0;
}

.faq-checklist ul {
  display: flex;
  flex-direction: column;
  gap: 0;
  width: 100%;
  padding: 0;
  list-style: none;
}

.faq-checklist li {
  display: grid;
  grid-template-columns: minmax(0, 0.42fr) minmax(0, 0.58fr);
  gap: var(--space-4);
  min-width: 0;
  padding-block: var(--space-3);
  border-bottom: 1px solid var(--color-border);
}

.faq-checklist li span {
  color: var(--color-muted-ink);
  font-size: var(--text-meta);
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.faq-checklist li strong {
  min-width: 0;
  text-align: right;
}

.faq-checklist p {
  max-width: 40rem;
}

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

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

  .faq-hero__copy,
  .faq-motor__copy {
    max-width: 41.25rem;
  }

  .faq-hero__media {
    clip-path: polygon(0 0, 100% 0, 95% 100%, 0 100%);
  }

  .faq-hero__media img {
    height: min(55vw, 34rem);
  }

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

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

  .faq-status-card {
    max-width: none;
  }
}

@media (max-width: 980px) {
  .faq-tools__grid {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  }

  .faq-tools__intro {
    grid-column: 1 / -1;
  }

  .faq-tools__search {
    grid-column: 1 / -1;
  }

  .faq-tools__toggle {
    grid-column: 1 / -1;
    justify-self: start;
  }

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

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

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

  .faq-related-card:last-child {
    grid-column: 1 / -1;
  }
}

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

  .faq-hero__grid {
    gap: var(--space-5);
  }

  .faq-hero__copy {
    gap: var(--space-4);
    max-width: none;
  }

  .faq-hero__copy h1 {
    font-size: clamp(2.5rem, 12vw, 3.25rem);
  }

  .faq-hero__copy .lead,
  .faq-hero__independence {
    max-width: none;
  }

  .faq-hero__media {
    clip-path: polygon(0 0, 100% 0, 94% 100%, 0 100%);
  }

  .faq-hero__media img {
    height: auto;
    aspect-ratio: 16 / 10;
    object-position: 56% center;
  }

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

  .faq-route-card {
    min-height: 0;
  }

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

  .faq-tools__intro,
  .faq-tools__search,
  .faq-tools__toggle,
  .faq-tools__filters {
    grid-column: 1;
  }

  .faq-tools__toggle {
    max-width: none;
  }

  .faq-filter-list {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .faq-filter {
    width: 100%;
  }

  .faq-gameplay__intro,
  .faq-store__intro,
  .faq-more__intro,
  .faq-monetization__copy,
  .faq-motor__copy {
    max-width: none;
  }

  .faq-item h3 button {
    min-height: 4rem;
    padding: var(--space-4);
    font-size: clamp(1.3rem, 6vw, 1.5rem);
  }

  .faq-answer__inner {
    max-width: none;
    padding: 0 var(--space-4) var(--space-4);
  }

  .faq-motor__grid,
  .faq-monetization__grid {
    gap: var(--space-5);
  }

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

  .faq-motor__media img {
    aspect-ratio: 4 / 3;
  }

  .faq-status-card {
    padding: var(--space-5);
  }

  .faq-data-grid,
  .faq-related-grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .faq-data-card {
    display: grid;
    grid-template-columns: minmax(0, 0.42fr) minmax(0, 0.58fr);
    align-items: center;
    min-height: 0;
    gap: var(--space-4);
  }

  .faq-data-card strong,
  .faq-data-card a {
    font-size: 1.35rem;
    text-align: right;
  }

  .faq-store__explanation {
    max-width: none;
  }

  .faq-more__media {
    margin-block: var(--space-5);
  }

  .faq-more__media img {
    aspect-ratio: 16 / 10;
    object-position: left center;
  }

  .faq-related-card:last-child {
    grid-column: 1;
  }

  .faq-cta-panel {
    max-width: none;
    padding: var(--space-5);
  }

  .faq-cta-button {
    width: 100%;
    min-height: 3.25rem;
  }
}

@media (max-width: 460px) {
  .faq-filter-list {
    grid-template-columns: minmax(0, 1fr);
  }

  .faq-status-card dl > div,
  .faq-checklist li {
    grid-template-columns: minmax(0, 1fr);
    gap: var(--space-2);
  }

  .faq-status-card dd,
  .faq-checklist li strong {
    text-align: left;
  }

  .faq-data-card {
    grid-template-columns: minmax(0, 1fr);
    gap: var(--space-2);
  }

  .faq-data-card strong,
  .faq-data-card a {
    text-align: left;
  }
}


.game-overview-page {
  background: var(--color-warm-concrete);
}

.game-overview-page .eyebrow::before {
  width: 1.5rem;
  height: 2px;
  background: var(--color-sunset-orange);
  content: "";
}

.go-hero {
  overflow: hidden;
  padding-block: var(--space-9) var(--space-8);
  background: var(--color-warm-concrete);
}

.go-hero__grid,
.go-dashboard__grid,
.go-evidence__grid,
.go-challenges__grid {
  display: grid;
  min-width: 0;
}

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

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

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

.go-hero__copy h1 {
  max-width: 33rem;
  font-size: var(--text-hero);
  line-height: var(--line-hero);
}

.go-hero__copy .lead {
  max-width: 38.75rem;
}

.go-hero__theses {
  display: grid;
  width: 100%;
  min-width: 0;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  border-block: 1px solid var(--color-border);
}

.go-hero__theses > div {
  display: flex;
  min-width: 0;
  padding: var(--space-3) var(--space-4);
  flex-direction: column;
  gap: var(--space-1);
}

.go-hero__theses > div + div {
  border-inline-start: 1px solid var(--color-border);
}

.go-hero__theses strong {
  font-size: var(--text-meta);
  letter-spacing: .08em;
  text-transform: uppercase;
}

.go-hero__theses span {
  color: var(--color-muted-ink);
  font-size: .875rem;
  line-height: 1.45;
}

.go-hero__action {
  display: flex;
  min-width: 0;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-2);
}

.go-hero__action p {
  margin: 0;
}

.go-hero__media {
  width: calc(100% + 3rem);
  min-width: 0;
  margin: 0 -3rem 0 0;
  overflow: hidden;
  aspect-ratio: 16 / 9;
  clip-path: polygon(8% 0, 100% 0, 100% 100%, 0 100%);
}

.go-hero__media img,
.go-evidence__image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.go-dashboard {
  background: var(--color-warm-concrete);
}

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

.go-dashboard__narrative {
  min-width: 0;
  max-width: 42.5rem;
}

.go-dashboard__narrative > .go-dashboard__verdict {
  max-width: 41.25rem;
}

.go-dashboard blockquote {
  max-width: 41.25rem;
}

.go-balance {
  display: grid;
  min-width: 0;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-5);
  margin-top: var(--space-5);
}

.go-balance > section {
  min-width: 0;
  padding-top: var(--space-3);
  border-top: 2px solid var(--color-sunset-orange);
}

.go-balance h3 {
  margin-bottom: var(--space-3);
}

.go-balance ul {
  margin-bottom: 0;
}

.go-store-card {
  display: flex;
  min-width: 0;
  min-height: 100%;
  padding: var(--space-6);
  flex-direction: column;
  gap: var(--space-5);
  border: 1px solid var(--color-border-dark);
  border-radius: var(--radius-sm);
  background: var(--color-asphalt-900);
  color: var(--color-white);
}

.go-store-card > * {
  margin: 0;
}

.go-store-card dl {
  display: grid;
  min-width: 0;
  margin: 0;
}

.go-store-card dl > div {
  display: grid;
  min-width: 0;
  grid-template-columns: minmax(6.5rem, .75fr) minmax(0, 1.25fr);
  gap: var(--space-3);
  padding-block: var(--space-3);
  border-top: 1px solid var(--color-border-dark);
}

.go-store-card dt,
.go-store-card dd {
  min-width: 0;
  margin: 0;
}

.go-store-card dt {
  color: rgb(255 249 240 / 68%);
  font-size: var(--text-meta);
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.go-store-card dd {
  font-variant-numeric: tabular-nums;
  line-height: 1.42;
}

.go-rhythm {
  position: relative;
}

.go-rhythm .container {
  position: relative;
}

.go-rhythm__intro {
  width: min(100%, 41.25rem);
}

.go-rhythm__road {
  position: absolute;
  top: 1.5rem;
  right: var(--container-padding);
  display: flex;
  width: min(32%, 21rem);
  min-width: 0;
  transform: rotate(-8deg);
  gap: var(--space-3);
  opacity: .18;
}

.go-rhythm__road span {
  display: block;
  width: 100%;
  height: 2px;
  background: var(--color-petrol-blue);
}

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

.go-rhythm-card {
  display: flex;
  min-width: 0;
  padding: var(--space-5);
  flex-direction: column;
  gap: var(--space-3);
}

.go-rhythm-card > * {
  margin: 0;
}

.go-rhythm-card__number {
  color: var(--color-petrol-blue);
  font-size: var(--text-meta);
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.go-rhythm-card:nth-child(3) {
  border-inline-start: 3px solid var(--color-petrol-blue);
}

.go-evidence {
  position: relative;
  overflow: hidden;
  background: var(--color-asphalt-950);
}

.go-evidence::before {
  position: absolute;
  inset: 0;
  pointer-events: none;
  background-image: radial-gradient(rgb(255 249 240 / 8%) 1px, transparent 1px);
  background-size: 12px 12px;
  content: "";
  opacity: .2;
}

.go-evidence .container {
  position: relative;
}

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

.go-evidence__primary,
.go-evidence__secondary {
  min-width: 0;
  margin: 0;
}

.go-evidence__image {
  overflow: hidden;
  width: 100%;
  border-radius: var(--radius-md);
}

.go-evidence__primary .go-evidence__image {
  aspect-ratio: 3 / 2;
  clip-path: polygon(7% 0, 100% 0, 100% 100%, 0 100%);
}

.go-evidence__secondary .go-evidence__image {
  aspect-ratio: 16 / 10;
}

.go-evidence__image img {
  transition: transform var(--transition-fast);
}

.go-evidence__image:hover img {
  transform: scale(1.02);
}

.go-evidence figcaption {
  max-width: 28.75rem;
  color: rgb(255 249 240 / 78%);
}

.go-evidence figcaption .meta {
  display: block;
  margin-bottom: var(--space-2);
  color: var(--color-sunset-amber);
}

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

.go-evidence__narrative > * {
  margin: 0;
}

.go-evidence__narrative > p {
  max-width: 38.75rem;
}

.go-evidence__secondary {
  width: min(100%, 34rem);
  margin-top: var(--space-3);
}

.go-challenges {
  background: var(--color-warm-concrete);
}

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

.go-challenges__copy {
  min-width: 0;
  max-width: 42.5rem;
}

.go-challenges__statement {
  max-width: 34rem;
  margin-top: var(--space-5);
  color: var(--color-petrol-blue);
  font-family: var(--font-heading);
  font-size: clamp(1.6rem, 3vw, 2.25rem);
  font-weight: 800;
  letter-spacing: -.02em;
  line-height: 1;
}

.go-challenges__note {
  max-width: 32.5rem;
  margin-top: var(--space-5);
  padding: var(--space-4);
  border-inline-start: 3px solid var(--color-petrol-blue);
  background: rgb(23 101 121 / 9%);
  color: var(--color-petrol-blue);
  font-weight: 500;
}

.go-challenges__stack {
  display: grid;
  min-width: 0;
  grid-template-columns: minmax(0, 1fr);
  gap: var(--space-3);
}

.go-challenges__stack article {
  display: grid;
  min-width: 0;
  grid-template-columns: 3rem minmax(0, 1fr);
  gap: var(--space-3);
  padding: var(--space-4);
  border: 1px solid var(--color-border);
  border-inline-start: 2px solid var(--color-asphalt-700);
  background: var(--color-concrete-light);
  transition: border-color var(--transition-fast), transform var(--transition-fast);
}

.go-challenges__stack article:hover {
  border-inline-start-color: var(--color-sunset-amber);
  transform: translateY(-2px);
}

.go-challenges__stack article > span {
  color: var(--color-petrol-blue);
  font-family: var(--font-heading);
  font-size: 2rem;
  font-weight: 800;
  line-height: 1;
}

.go-challenges__stack article div {
  min-width: 0;
}

.go-challenges__stack h3,
.go-challenges__stack p {
  margin: 0;
}

.go-challenges__stack p {
  margin-top: var(--space-2);
}

.go-offline {
  background: linear-gradient(135deg, var(--color-petrol-blue) 0%, var(--color-asphalt-950) 54%);
}

.go-offline__heading {
  width: min(100%, 41.25rem);
}

.go-offline__panel {
  display: flex;
  width: min(100%, 50rem);
  min-width: 0;
  margin: var(--space-6) auto 0;
  padding: var(--space-6);
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-3);
  border: 1px solid var(--color-border-dark);
  border-top: 2px solid var(--color-electric-lime);
  border-radius: var(--radius-md);
  background: var(--color-asphalt-900);
}

.go-offline__panel > * {
  margin: 0;
}

.go-offline__panel p {
  max-width: 38.75rem;
  color: rgb(255 249 240 / 82%);
}

.go-business-cards {
  display: grid;
  min-width: 0;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-5);
  margin-top: var(--space-5);
}

.go-business-card {
  display: flex;
  min-width: 0;
  padding: var(--space-5);
  flex-direction: column;
  gap: var(--space-3);
  border: 1px solid var(--color-border-dark);
  border-radius: var(--radius-sm);
  background: var(--color-asphalt-900);
  color: var(--color-white);
}

.go-business-card > * {
  margin: 0;
}

.go-business-card p {
  color: rgb(255 249 240 / 80%);
}

.go-checklist {
  display: flex;
  width: min(100%, 57.5rem);
  min-width: 0;
  margin: var(--space-5) auto 0;
  padding: var(--space-5);
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-4);
  background: var(--color-asphalt-900);
}

.go-checklist ol {
  display: grid;
  width: 100%;
  min-width: 0;
  margin: 0;
  padding: 0;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--space-4);
  list-style: none;
}

.go-checklist li {
  display: grid;
  min-width: 0;
  grid-template-columns: 1.5rem minmax(0, 1fr);
  gap: var(--space-2);
}

.go-checklist strong {
  color: var(--color-electric-lime);
}

.go-critique {
  background: var(--color-concrete-light);
}

.go-critique__intro {
  width: min(100%, 38.75rem);
}

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

.go-pro-card,
.go-con-card {
  display: flex;
  min-width: 0;
  padding: var(--space-6);
  flex-direction: column;
  gap: var(--space-4);
  border-radius: var(--radius-sm);
}

.go-pro-card {
  border: 1px solid var(--color-border);
  background: var(--color-warm-concrete);
}

.go-con-card {
  border: 1px solid var(--color-border-dark);
  background: var(--color-asphalt-900);
  color: var(--color-white);
}

.go-pro-card > *,
.go-con-card > * {
  margin: 0;
}

.go-pro-card > div,
.go-con-card > div {
  min-width: 0;
  padding-top: var(--space-4);
  border-top: 1px solid var(--color-border);
}

.go-con-card > div {
  border-color: var(--color-border-dark);
}

.go-pro-card h4,
.go-pro-card p,
.go-con-card h4,
.go-con-card p {
  margin: 0;
}

.go-pro-card p,
.go-con-card p {
  margin-top: var(--space-2);
}

.go-con-card p {
  color: rgb(255 249 240 / 80%);
}

.go-critique__closing {
  width: min(100%, 38.75rem);
  margin: var(--space-6) 0 0;
  font-weight: 600;
}

.go-faq {
  background: var(--color-concrete-light);
}

.go-faq__intro {
  width: min(100%, 42.5rem);
}

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

.go-faq__item {
  min-width: 0;
  border: 1px solid var(--color-border);
  border-radius: var(--radius-md);
  background: var(--color-warm-concrete);
}

.go-faq__item h3 {
  margin: 0;
}

.go-faq__item button {
  display: grid;
  width: 100%;
  min-width: 0;
  min-height: 3.5rem;
  padding: var(--space-4) var(--space-5);
  grid-template-columns: minmax(0, 1fr) 2rem;
  gap: var(--space-3);
  border: 0;
  background: transparent;
  color: var(--color-ink);
  font-family: var(--font-heading);
  font-size: clamp(1.4rem, 2.5vw, 1.8rem);
  font-weight: 800;
  letter-spacing: -.02em;
  line-height: 1;
  text-align: left;
}

.go-faq__item button span {
  display: grid;
  width: 2rem;
  height: 2rem;
  place-items: center;
  color: var(--color-petrol-blue);
  font-family: var(--font-body);
  font-size: 1.5rem;
  font-weight: 400;
  transition: transform var(--transition-reveal);
}

.go-faq__item button[aria-expanded="true"] {
  border-top: 2px solid var(--color-sunset-orange);
}

.go-faq__item button[aria-expanded="true"] span {
  transform: rotate(45deg);
}

.go-faq__answer {
  display: grid;
  max-height: 0;
  min-width: 0;
  grid-template-rows: 0fr;
  overflow: hidden;
  opacity: 0;
  transition: max-height var(--transition-reveal), opacity var(--transition-reveal);
}

.go-faq__answer.is-open {
  max-height: 40rem;
  grid-template-rows: 1fr;
  opacity: 1;
}

.go-faq__answer > div {
  min-width: 0;
  overflow: hidden;
  padding-inline: var(--space-5);
}

.go-faq__answer p {
  width: min(100%, 45rem);
  margin: 0;
  padding-bottom: var(--space-5);
}

.go-final {
  background: var(--color-asphalt-950);
}

.go-final__panel {
  width: min(100%, 50rem);
  min-width: 0;
  margin-inline: auto;
  padding: var(--space-6);
  border-top: 3px solid var(--color-sunset-orange);
  border-radius: var(--radius-md);
  background: var(--color-petrol-blue);
}

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

.go-final__content > * {
  margin: 0;
}

.go-final__content .button {
  width: 100%;
  min-height: 3.25rem;
}

@media (max-width: 1023px) {
  .go-hero__grid {
    grid-template-columns: minmax(0, 4fr) minmax(0, 2fr);
  }

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

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

@media (max-width: 980px) {
  .go-hero__grid {
    grid-template-columns: minmax(0, 1fr);
    gap: var(--space-5);
  }

  .go-hero__copy {
    max-width: 42.5rem;
  }

  .go-hero__media {
    order: 2;
    max-width: 50rem;
  }
}

@media (max-width: 920px) {
  .go-challenges__grid {
    grid-template-columns: minmax(0, 1fr);
  }

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

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

  .go-store-card {
    width: min(100%, 42.5rem);
  }
}

@media (max-width: 840px) {
  .go-rhythm__cards {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

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

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

@media (max-width: 760px) {
  .go-business-cards {
    grid-template-columns: minmax(0, 1fr);
  }

  .go-checklist ol {
    grid-template-columns: minmax(0, 1fr);
  }
}

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

  .go-hero__copy h1 {
    font-size: clamp(2.5rem, 12vw, 3.5rem);
  }

  .go-hero__copy .lead {
    font-size: 1.125rem;
  }

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

  .go-hero__theses > div {
    padding-inline: 0;
  }

  .go-hero__theses > div + div {
    border-top: 1px solid var(--color-border);
    border-inline-start: 0;
  }

  .go-hero__action,
  .go-hero__action .button {
    width: 100%;
  }

  .go-hero__media {
    aspect-ratio: 4 / 3;
    clip-path: polygon(6% 0, 100% 0, 100% 100%, 0 100%);
  }

  .go-balance,
  .go-rhythm__cards,
  .go-evidence__grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .go-rhythm__cards > :nth-child(3) {
    grid-column: auto;
  }

  .go-rhythm__road {
    display: none;
  }

  .go-evidence__grid {
    gap: var(--space-5);
  }

  .go-evidence__narrative {
    display: contents;
  }

  .go-evidence__narrative > .eyebrow,
  .go-evidence__narrative > h2,
  .go-evidence__narrative > p {
    order: -2;
  }

  .go-evidence__primary,
  .go-evidence__secondary {
    width: 86vw;
    scroll-snap-align: start;
  }

  .go-evidence__primary {
    order: 2;
  }

  .go-evidence__secondary {
    order: 3;
  }

  .go-evidence__grid {
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-4);
  }

  .go-evidence__grid > .go-evidence__primary,
  .go-evidence__grid > .go-evidence__narrative {
    min-width: 0;
  }

  .go-evidence__narrative {
    width: 100%;
  }

  .go-evidence__primary,
  .go-evidence__secondary {
    flex: 0 0 86vw;
  }

  .go-evidence__grid::after {
    flex: 0 0 1px;
    content: "";
  }

  .go-evidence__primary,
  .go-evidence__secondary {
    margin-right: var(--space-4);
  }

  .go-evidence__grid {
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    scrollbar-width: thin;
  }

  .go-evidence__narrative > .eyebrow,
  .go-evidence__narrative > h2,
  .go-evidence__narrative > p {
    flex: 0 0 100%;
  }

  .go-evidence__narrative > .go-evidence__secondary {
    display: inline-block;
  }

  .go-evidence__primary .go-evidence__image {
    clip-path: polygon(6% 0, 100% 0, 100% 100%, 0 100%);
  }

  .go-store-card dl > div {
    grid-template-columns: minmax(5.5rem, .7fr) minmax(0, 1.3fr);
  }

  .go-offline__panel,
  .go-business-card,
  .go-pro-card,
  .go-con-card,
  .go-final__panel {
    padding: var(--space-5);
  }

  .go-faq__item button {
    padding: var(--space-4);
  }

  .go-faq__answer > div {
    padding-inline: var(--space-4);
  }
}

@media (max-width: 480px) {
  .go-store-card dl > div {
    grid-template-columns: minmax(0, 1fr);
    gap: var(--space-1);
  }

  .go-challenges__stack article {
    grid-template-columns: minmax(0, 1fr);
  }

  .go-challenges__stack article > span {
    font-size: 1.5rem;
  }

  .go-final__content .button {
    white-space: normal;
  }
}


.motor-page {
  background: var(--color-warm-concrete);
}

.motor-page .eyebrow > span {
  color: var(--color-sunset-orange);
}

.motor-hero {
  position: relative;
  overflow: hidden;
  padding-block: var(--space-9) var(--space-8);
  background: var(--color-warm-concrete);
}

.motor-hero::after {
  position: absolute;
  z-index: 0;
  inset: auto -8% 9% auto;
  width: 42%;
  height: 2px;
  background: var(--color-sunset-orange);
  content: "";
  opacity: 0.65;
  transform: rotate(-10deg);
}

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

.motor-hero__copy,
.motor-hero__media,
.motor-split__copy,
.motor-split__media,
.motor-verdict__copy,
.motor-verdict__panel,
.motor-offline__copy,
.motor-offline__card,
.motor-close__copy,
.motor-close__panel {
  min-width: 0;
  width: 100%;
}

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

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

.motor-hero h1 {
  max-width: 8ch;
  font-size: var(--text-hero);
}

.motor-hero__lead {
  max-width: 39rem;
}

.motor-hero__quote {
  max-width: 29rem;
  border-inline-start-color: var(--color-petrol-blue);
}

.motor-hero__quote em {
  color: var(--color-sunset-orange);
  font-style: normal;
}

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

.motor-hero__action p {
  margin: 0;
  max-width: 34rem;
}

.motor-play-link {
  min-height: 3rem;
}

.motor-play-link span[aria-hidden="true"] {
  font-size: 1.15em;
  line-height: 1;
}

.motor-hero__media {
  margin: 0;
  overflow: hidden;
  border-radius: var(--radius-md);
  box-shadow: var(--shadow-elevated);
  clip-path: polygon(8% 0, 100% 0, 100% 100%, 0 100%, 0 8%);
}

.motor-hero__media img {
  width: 100%;
  max-width: none;
  aspect-ratio: 16 / 9;
  object-fit: cover;
  object-position: 60% center;
}

.motor-hero__media figcaption {
  margin: 0;
  padding: var(--space-3) var(--space-4);
  background: var(--color-concrete-light);
}

.motor-lenses__intro {
  max-width: 41.25rem;
}

.motor-lenses__intro::before {
  display: block;
  width: 4rem;
  height: 2px;
  margin-bottom: var(--space-3);
  background: var(--color-sunset-orange);
  content: "";
}

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

.motor-lenses__cards > * {
  min-width: 0;
  width: 100%;
}

.motor-lens-card {
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
  min-height: 100%;
}

.motor-lens-card > * {
  margin: 0;
}

.motor-lens-card__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-3);
  min-width: 0;
  padding-bottom: var(--space-3);
  border-bottom: 1px solid var(--color-border);
}

.motor-lens-card__head .meta {
  margin: 0;
}

.motor-gauge {
  flex: 0 0 auto;
  width: 3.5rem;
  height: 1.75rem;
  border: 2px solid var(--color-petrol-blue);
  border-bottom: 0;
  border-radius: 3.5rem 3.5rem 0 0;
}

.motor-status-mark {
  flex: 0 0 auto;
  width: 0.625rem;
  height: 0.625rem;
  background: var(--color-petrol-blue);
}

.motor-lens-card--amber .motor-status-mark {
  background: var(--color-sunset-amber);
}

.motor-split__grid {
  align-items: start;
}

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

.motor-split__copy > * {
  margin: 0;
}

.motor-split__copy h2 {
  max-width: 11ch;
}

.motor-split__body {
  max-width: 38.75rem;
}

.motor-split__body p:last-child {
  margin-bottom: 0;
}

.motor-check {
  display: flex;
  align-items: flex-start;
  gap: var(--space-3);
  width: min(100%, 30rem);
  padding: var(--space-4);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-sm);
  background: var(--color-concrete-light);
}

.motor-check > span {
  display: grid;
  flex: 0 0 1.5rem;
  width: 1.5rem;
  height: 1.5rem;
  place-items: center;
  background: var(--color-electric-lime);
  color: var(--color-asphalt-950);
  font-weight: 800;
}

.motor-check p {
  margin: 0;
}

.motor-split__media {
  margin: 0;
}

.motor-split__media img {
  width: 100%;
  max-width: none;
  aspect-ratio: 3 / 2;
  object-fit: cover;
  object-position: 70% center;
  clip-path: polygon(8% 0, 100% 0, 100% 100%, 0 100%, 0 8%);
}

.motor-split__media figcaption {
  margin-top: var(--space-3);
}

.motor-split__media figcaption span,
.motor-gallery figcaption span {
  display: block;
  margin-bottom: var(--space-1);
  color: var(--color-petrol-blue);
  font-size: var(--text-meta);
  font-weight: 700;
  letter-spacing: 0.08em;
  line-height: 1.25;
  text-transform: uppercase;
}

.motor-steps {
  position: relative;
  overflow: hidden;
}

.motor-steps::before {
  position: absolute;
  inset: 0;
  background-image: linear-gradient(135deg, rgb(255 249 240 / 3%) 25%, transparent 25%, transparent 50%, rgb(255 249 240 / 3%) 50%, rgb(255 249 240 / 3%) 75%, transparent 75%);
  background-size: 1.25rem 1.25rem;
  content: "";
  pointer-events: none;
}

.motor-steps > .container {
  position: relative;
}

.motor-steps__intro {
  max-width: 38.75rem;
}

.motor-steps__grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: var(--space-4);
  margin-top: var(--space-6);
}

.motor-steps__grid > * {
  min-width: 0;
  width: 100%;
}

.motor-step-card {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: var(--space-4);
  min-height: 100%;
  padding: var(--space-5);
  border: 1px solid var(--color-border-dark);
  border-top: 2px solid transparent;
  background: var(--color-asphalt-900);
  color: var(--color-white);
  transition: transform var(--transition-fast), border-color var(--transition-fast);
}

.motor-step-card:hover {
  border-top-color: var(--color-sunset-orange);
  transform: translateY(-2px);
}

.motor-step-card__number {
  color: var(--color-sunset-orange);
  font-family: var(--font-heading);
  font-size: 2rem;
  font-weight: 800;
  letter-spacing: -0.025em;
  line-height: 1;
}

.motor-step-card__content {
  min-width: 0;
}

.motor-step-card__content .meta {
  margin: 0 0 var(--space-2);
}

.motor-step-card__content h3 {
  margin-bottom: var(--space-3);
}

.motor-step-card__content p:last-child {
  margin-bottom: 0;
  color: rgb(255 249 240 / 82%);
}

.motor-step-card--style .motor-step-card__number {
  color: var(--color-sunset-amber);
}

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

.motor-traffic__top > *,
.motor-store__top > * {
  min-width: 0;
  width: 100%;
}

.motor-traffic__copy {
  max-width: 42.5rem;
}

.motor-observation {
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
  min-width: 0;
  padding: var(--space-5);
  background: var(--color-petrol-blue);
  color: var(--color-white);
}

.motor-observation > * {
  margin: 0;
}

.motor-observation .meta {
  color: var(--color-sunset-amber);
}

.motor-observation p:last-child {
  font-family: var(--font-heading);
  font-size: clamp(1.5rem, 2.5vw, 2rem);
  font-weight: 800;
  letter-spacing: -0.02em;
  line-height: 1;
}

.motor-gallery {
  width: 100%;
  margin-top: var(--space-6);
}

.motor-gallery__item {
  width: 100%;
  margin: 0;
}

.motor-gallery__item img {
  width: 100%;
  max-width: none;
  aspect-ratio: 16 / 9;
  object-fit: cover;
  object-position: center;
  clip-path: polygon(3% 0, 100% 0, 100% 100%, 0 100%, 0 5%);
}

.motor-gallery__item figcaption {
  width: min(100%, 35rem);
  margin-top: var(--space-3);
}

.motor-verdict__grid {
  align-items: center;
}

.motor-verdict__copy {
  max-width: 41.25rem;
}

.motor-verdict__panel {
  display: flex;
  flex-direction: column;
  gap: var(--space-5);
  padding: var(--space-6);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-sm);
  background: var(--color-concrete-light);
  color: var(--color-ink);
}

.motor-verdict__item {
  display: flex;
  flex-direction: column;
  gap: var(--space-2);
  min-width: 0;
  padding-top: var(--space-5);
  border-top: 2px solid var(--color-sunset-orange);
}

.motor-verdict__item--positive {
  padding-top: 0;
  border-top: 0;
}

.motor-verdict__item--positive h3::before {
  display: inline-block;
  width: 0.7rem;
  height: 0.7rem;
  margin-right: var(--space-2);
  background: var(--color-electric-lime);
  content: "";
}

.motor-verdict__item > * {
  margin: 0;
}

.motor-store__copy {
  max-width: 38.75rem;
}

.motor-store__panel {
  display: flex;
  flex-direction: column;
  gap: var(--space-4);
  padding: var(--space-5);
  background: var(--color-asphalt-900);
  color: var(--color-white);
}

.motor-store__panel > * {
  margin: 0;
}

.motor-store__panel > .meta {
  color: var(--color-sunset-amber);
}

.motor-store__row {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: var(--space-3);
  min-width: 0;
  padding-top: var(--space-4);
  border-top: 1px solid var(--color-border-dark);
}

.motor-store__row > span {
  width: 0.625rem;
  height: 0.625rem;
  margin-top: 0.4rem;
  background: var(--color-sunset-amber);
}

.motor-store__row > div {
  min-width: 0;
}

.motor-store__row h3 {
  margin-bottom: var(--space-2);
}

.motor-store__row p {
  margin: 0;
  color: rgb(255 249 240 / 78%);
}

.motor-store__cta {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: var(--space-5);
  align-items: center;
  min-width: 0;
  margin-top: var(--space-6);
  padding: var(--space-5);
  background: var(--color-sunset-orange);
  color: var(--color-asphalt-950);
}

.motor-store__cta > * {
  min-width: 0;
  width: 100%;
}

.motor-store__cta p {
  margin: 0;
}

.motor-store__cta .meta {
  margin-bottom: var(--space-1);
  color: var(--color-asphalt-950);
}

.motor-store__cta .button {
  width: auto;
  justify-self: end;
  border-color: var(--color-asphalt-950);
  background: var(--color-asphalt-950);
  color: var(--color-white);
}

.motor-store__cta .button:hover {
  background: var(--color-asphalt-900);
  color: var(--color-white);
}

.motor-offline {
  position: relative;
  overflow: hidden;
  background: var(--color-petrol-blue);
  color: var(--color-white);
}

.motor-offline::after {
  position: absolute;
  right: -10%;
  bottom: 18%;
  width: 45%;
  height: 2px;
  background: rgb(255 249 240 / 28%);
  content: "";
  transform: rotate(-8deg);
}

.motor-offline__grid {
  position: relative;
  z-index: 1;
}

.motor-offline .eyebrow {
  color: var(--color-sunset-amber);
}

.motor-offline .eyebrow > span {
  color: var(--color-electric-lime);
}

.motor-offline__copy {
  max-width: 38.75rem;
}

.motor-offline__copy strong {
  color: var(--color-electric-lime);
}

.motor-offline__card {
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
  padding: var(--space-5);
  border: 1px solid var(--color-border-dark);
  background: var(--color-asphalt-950);
}

.motor-offline__card > * {
  margin: 0;
}

.motor-offline__card .meta {
  color: var(--color-white);
}

.motor-offline__card .meta span {
  display: inline-block;
  width: 0.65rem;
  height: 0.65rem;
  margin-right: var(--space-2);
  background: var(--color-electric-lime);
}

.motor-faq {
  position: relative;
  overflow: hidden;
  background: var(--color-concrete-light);
}

.motor-faq__layout {
  position: relative;
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: var(--space-5);
}

.motor-faq__intro {
  grid-column: 1 / span 7;
  min-width: 0;
  width: 100%;
  max-width: 38.75rem;
}

.motor-faq__items {
  z-index: 1;
  display: flex;
  grid-column: 1 / span 8;
  flex-direction: column;
  gap: var(--space-3);
  min-width: 0;
  width: 100%;
}

.motor-faq__item {
  min-width: 0;
  width: 100%;
  border-bottom: 1px solid var(--color-border);
}

.motor-faq__item h3 {
  margin: 0;
}

.motor-faq__item button {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: var(--space-4);
  align-items: center;
  width: 100%;
  min-height: 3.5rem;
  padding: var(--space-4) 0;
  border: 0;
  border-top: 2px solid transparent;
  background: transparent;
  color: var(--color-ink);
  font-family: var(--font-heading);
  font-size: clamp(1.5rem, 2.5vw, 2rem);
  font-weight: 800;
  letter-spacing: -0.025em;
  line-height: var(--line-card);
  text-align: left;
}

.motor-faq__item button > span:last-child {
  font-family: var(--font-body);
  font-size: 1.5rem;
  font-weight: 400;
  transition: transform var(--transition-reveal);
}

.motor-faq__item button[aria-expanded="true"] {
  border-top-color: var(--color-sunset-orange);
}

.motor-faq__item button[aria-expanded="true"] > span:last-child {
  transform: rotate(45deg);
}

.motor-faq__answer {
  display: grid;
  grid-template-rows: 0fr;
  opacity: 0;
  transition: grid-template-rows var(--transition-reveal), opacity var(--transition-reveal);
}

.motor-faq__answer.is-open {
  grid-template-rows: 1fr;
  opacity: 1;
}

.motor-faq__answer > div {
  min-height: 0;
  overflow: hidden;
}

.motor-faq__answer p {
  max-width: 42.5rem;
  margin: 0;
  padding: 0 0 var(--space-5);
}

.motor-faq__amber {
  display: inline-block;
  width: 0.625rem;
  height: 0.625rem;
  margin-right: var(--space-2);
  background: var(--color-sunset-amber);
}

.motor-faq__route {
  grid-column: 10 / span 3;
  grid-row: 2;
  min-width: 0;
  width: 100%;
  border-left: 2px solid rgb(23 101 121 / 22%);
  background: repeating-linear-gradient(145deg, transparent 0 2rem, rgb(23 101 121 / 10%) 2rem 2.125rem, transparent 2.125rem 4rem);
}

.motor-close {
  background: var(--color-asphalt-950);
  color: var(--color-white);
}

.motor-close .eyebrow {
  color: var(--color-sunset-amber);
}

.motor-close__copy {
  max-width: 38.75rem;
}

.motor-close__panel {
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
  padding: var(--space-5);
  border: 1px solid var(--color-border-dark);
  background: var(--color-asphalt-900);
}

.motor-close__panel > * {
  margin: 0;
}

.motor-close__panel .meta {
  color: var(--color-sunset-amber);
}

.motor-close__panel .button {
  width: 100%;
}

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

  .motor-hero__grid,
  .motor-split__grid,
  .motor-verdict__grid,
  .motor-offline__grid,
  .motor-close__grid,
  .motor-traffic__top,
  .motor-store__top {
    grid-template-columns: repeat(6, minmax(0, 1fr));
  }

  .motor-hero__copy,
  .motor-split__copy,
  .motor-verdict__copy,
  .motor-offline__copy,
  .motor-close__copy,
  .motor-traffic__copy,
  .motor-store__copy {
    grid-column: 1 / -1;
  }

  .motor-hero__media,
  .motor-split__media,
  .motor-verdict__panel,
  .motor-offline__card,
  .motor-close__panel,
  .motor-observation,
  .motor-store__panel {
    grid-column: 1 / -1;
  }

  .motor-hero__media {
    max-width: 52rem;
  }

  .motor-lenses__cards {
    grid-template-columns: repeat(6, minmax(0, 1fr));
  }

  .motor-lenses__cards > :nth-child(1),
  .motor-lenses__cards > :nth-child(2) {
    grid-column: span 3;
  }

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

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

  .motor-faq__layout {
    grid-template-columns: repeat(6, minmax(0, 1fr));
  }

  .motor-faq__intro,
  .motor-faq__items {
    grid-column: 1 / -1;
  }

  .motor-faq__route {
    display: none;
  }
}

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

  .motor-hero::after,
  .motor-offline::after {
    display: none;
  }

  .motor-hero__grid,
  .motor-split__grid,
  .motor-verdict__grid,
  .motor-offline__grid,
  .motor-close__grid,
  .motor-traffic__top,
  .motor-store__top {
    grid-template-columns: minmax(0, 1fr);
    gap: var(--space-5);
  }

  .motor-hero__copy,
  .motor-hero__media,
  .motor-split__copy,
  .motor-split__media,
  .motor-verdict__copy,
  .motor-verdict__panel,
  .motor-offline__copy,
  .motor-offline__card,
  .motor-close__copy,
  .motor-close__panel,
  .motor-traffic__copy,
  .motor-observation,
  .motor-store__copy,
  .motor-store__panel {
    grid-column: 1;
  }

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

  .motor-hero h1 {
    max-width: 100%;
    font-size: clamp(2.75rem, 14vw, 4rem);
  }

  .motor-hero__lead,
  .motor-hero__quote,
  .motor-split__body,
  .motor-check,
  .motor-traffic__copy,
  .motor-verdict__copy,
  .motor-store__copy,
  .motor-offline__copy,
  .motor-close__copy {
    max-width: 100%;
  }

  .motor-hero__media {
    order: 2;
    max-width: 100%;
    clip-path: polygon(6% 0, 100% 0, 100% 100%, 0 100%, 0 6%);
  }

  .motor-hero__action {
    order: 3;
  }

  .motor-hero__action .button,
  .motor-store__cta .button,
  .motor-close__panel .button {
    width: 100%;
  }

  .motor-hero__media img {
    aspect-ratio: 3 / 2;
    object-position: 62% center;
  }

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

  .motor-lenses__cards > :nth-child(n) {
    grid-column: 1;
  }

  .motor-lens-card {
    padding: var(--space-5);
  }

  .motor-split__media img {
    aspect-ratio: 4 / 3;
    clip-path: polygon(6% 0, 100% 0, 100% 100%, 0 100%, 0 6%);
  }

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

  .motor-step-card {
    grid-template-columns: 2.5rem minmax(0, 1fr);
    padding: var(--space-5);
  }

  .motor-step-card__number {
    font-size: 1.65rem;
  }

  .motor-gallery {
    display: flex;
    width: calc(100% + var(--container-padding));
    margin-right: calc(var(--container-padding) * -1);
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    scrollbar-width: thin;
  }

  .motor-gallery__item {
    flex: 0 0 calc(100% - var(--space-5));
    scroll-snap-align: start;
  }

  .motor-gallery__item img {
    aspect-ratio: 3 / 2;
    clip-path: polygon(5% 0, 100% 0, 100% 100%, 0 100%, 0 5%);
  }

  .motor-gallery__item figcaption {
    width: 100%;
    padding-right: var(--space-5);
  }

  .motor-verdict__panel,
  .motor-store__panel,
  .motor-offline__card,
  .motor-close__panel {
    padding: var(--space-5);
  }

  .motor-store__cta {
    grid-template-columns: minmax(0, 1fr);
    gap: var(--space-4);
    padding: var(--space-5);
  }

  .motor-store__cta .button {
    justify-self: stretch;
  }

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

  .motor-faq__intro,
  .motor-faq__items {
    grid-column: 1;
  }

  .motor-faq__item button {
    min-height: 3.25rem;
    font-size: clamp(1.35rem, 7vw, 1.75rem);
  }

  .motor-faq__answer p {
    padding-right: var(--space-4);
  }
}

@media (prefers-reduced-motion: reduce) {
  .motor-step-card,
  .motor-faq__answer,
  .motor-faq__item button > span:last-child {
    transition: none;
  }

  .motor-step-card:hover {
    transform: none;
  }
}


.home-page{overflow:hidden}.home-page .eyebrow{position:relative}.home-page .eyebrow::before{width:18px;height:2px;background:var(--color-sunset-orange);content:""}.home-hero{position:relative;isolation:isolate;padding-block:var(--space-9);background:var(--color-warm-concrete)}.home-hero__image{position:absolute;inset:0;z-index:-1;overflow:hidden}.home-hero__image::after{position:absolute;inset:0;background:linear-gradient(90deg,rgb(216 208 196 / 96%) 0%,rgb(216 208 196 / 84%) 42%,rgb(21 25 27 / 25%) 100%);content:""}.home-hero__image img{width:100%;height:100%;object-fit:cover;object-position:center right}.home-hero__container{display:grid;grid-template-columns:minmax(0,7fr) minmax(330px,5fr);gap:var(--space-6);align-items:start}.home-hero__copy{display:flex;flex-direction:column;gap:var(--space-4);min-width:0;max-width:43.75rem}.home-hero__copy>*{margin:0}.home-hero h1{font-size:var(--text-hero);line-height:var(--line-hero)}.home-hero__copy .lead{max-width:38.75rem}.home-hero__note{max-width:36rem;font-size:.9375rem;font-weight:500}.home-start-card{display:flex;flex-direction:column;gap:var(--space-5);min-width:330px;padding:var(--space-6);border:1px solid var(--color-border-dark);border-radius:var(--radius-md);background:rgb(32 38 41 / 96%);color:var(--color-white);box-shadow:var(--shadow-elevated)}.home-start-card__arc{width:86px;height:43px;border:2px solid var(--color-sunset-orange);border-bottom:0;border-radius:86px 86px 0 0}.home-start-card__rows{display:grid;grid-template-columns:1fr;gap:var(--space-3);min-width:0}.home-start-card__rows>div{display:flex;flex-direction:column;gap:var(--space-1);min-width:0;padding-block-end:var(--space-3);border-bottom:1px solid var(--color-border-dark)}.home-start-card__rows span,.home-fact span{font-size:var(--text-meta);font-weight:700;letter-spacing:.08em;line-height:1.25;text-transform:uppercase}.home-start-card__rows span{color:var(--color-sunset-amber)}.home-start-card__rows strong{min-width:0;overflow-wrap:anywhere;font-size:1rem}.home-start-card__button{align-self:flex-start}.home-facts{background:var(--color-warm-concrete)}.home-facts__grid{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,8fr);gap:var(--space-6);align-items:start}.home-facts__intro{min-width:0}.home-facts__intro p{max-width:25rem}.home-facts__cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--space-3);min-width:0}.home-fact{display:flex;flex-direction:column;justify-content:space-between;gap:var(--space-3);min-width:0;min-height:8.5rem;padding:var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-asphalt-900);color:var(--color-white)}.home-fact span{color:rgb(255 249 240 / 68%)}.home-fact strong{min-width:0;overflow-wrap:anywhere;font-size:1rem;line-height:1.25}.home-fact--offline strong::before{display:inline-block;width:8px;height:8px;margin-inline-end:8px;border-radius:50%;background:var(--color-electric-lime);content:""}.home-facts__note{grid-column:2;max-width:41.25rem;padding:var(--space-4);border-inline-start:3px solid var(--color-petrol-blue);background:var(--color-concrete-light);line-height:1.55}.home-feature__grid{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:var(--space-6);align-items:start}.home-feature__copy{min-width:0;max-width:43.125rem}.home-feature__media{min-width:0;margin:0}.home-feature__media img,.home-driving__media img,.home-tracks__media img,.home-graphics__media img{width:100%;max-width:100%;object-fit:cover;border-radius:var(--radius-md)}.home-feature--traffic .home-feature__media img{min-height:34rem;object-position:center}.home-feature__media figcaption span{display:block;margin-block-end:var(--space-1);font-size:var(--text-meta);font-weight:700;letter-spacing:.08em;text-transform:uppercase}.home-mini-review{display:grid;grid-template-columns:1fr;gap:var(--space-4);min-width:0;margin-block-start:var(--space-5)}.home-mini-review>div{min-width:0;padding-inline-start:var(--space-4);border-inline-start:2px solid var(--color-sunset-orange)}.home-mini-review h3{margin-block-end:var(--space-2)}.home-mini-review p{max-width:37.5rem;margin-block-end:0}.home-driving{position:relative;background:var(--color-asphalt-950)}.home-driving::before{position:absolute;inset:0;opacity:.04;background-image:repeating-linear-gradient(0deg,#fff 0 1px,transparent 1px 6px);pointer-events:none;content:""}.home-driving__grid{position:relative;display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:var(--space-6);align-items:start}.home-driving__copy{display:flex;flex-direction:column;gap:var(--space-5);min-width:0;max-width:43.75rem}.home-driving__copy>*{margin:0}.home-driving__copy .lead{max-width:38.75rem}.home-driving__cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-3);min-width:0}.home-driving__cards>.card{min-width:0;padding:var(--space-5)}.home-driving__cards h3{margin-block-end:var(--space-3)}.home-driving__cards p{margin:0}.home-driving__copy blockquote{max-width:35rem}.home-driving__tricks{max-width:37.5rem;padding-inline-start:var(--space-4);border-inline-start:2px solid var(--color-sunset-orange)}.home-driving__tricks h3,.home-driving__tricks p{margin:0}.home-driving__tricks{display:flex;flex-direction:column;gap:var(--space-2)}.home-driving__media{min-width:0;margin:0}.home-driving__media img{min-height:31rem;clip-path:polygon(0 0,100% 0,100% 92%,0 100%);object-position:center}.home-custom__cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-3);min-width:0;margin-block-start:var(--space-5)}.home-custom__cards>.card{min-width:0}.home-custom__cards h3{margin-block-end:var(--space-3)}.home-custom__cards p{margin:0}.home-feature--bikes .home-feature__media img{min-height:29rem;object-position:center}.home-tracks{background:linear-gradient(180deg,var(--color-warm-concrete) 0%,var(--color-concrete-light) 100%)}.home-tracks__grid{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:var(--space-6);align-items:start}.home-tracks__copy{min-width:0;max-width:43.125rem}.home-tracks__media{min-width:0;margin:0}.home-tracks__media img{min-height:24rem;object-position:center}.home-play-note{display:flex;flex-direction:column;gap:var(--space-3);grid-column:1;min-width:0;max-width:35rem;padding:var(--space-5);border-radius:var(--radius-md);background:var(--color-petrol-blue);color:var(--color-white)}.home-play-note p{margin:0}.home-play-note .meta{color:var(--color-sunset-amber)}.home-track-notes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-4);grid-column:2;min-width:0}.home-track-notes>article{min-width:0;padding-block-start:var(--space-4);border-top:2px solid var(--color-sunset-orange)}.home-track-notes h3{margin-block-end:var(--space-2)}.home-track-notes p{margin:0}.home-offline{background:var(--color-asphalt-950)}.home-offline__content{display:flex;flex-direction:column;align-items:flex-start;gap:var(--space-4);width:66.666%;min-width:0;max-width:40rem;margin-inline:auto}.home-offline__content>*{margin:0}.home-offline__content p{max-width:38.75rem}.home-graphics__grid{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:var(--space-6);align-items:start}.home-graphics__copy{min-width:0;max-width:38.125rem}.home-graphics__copy blockquote{max-width:32.5rem}.home-graphics__media{display:flex;flex-direction:column;gap:var(--space-2);min-width:0;margin:0}.home-graphics__media img{min-height:28rem;clip-path:polygon(8% 0,100% 0,100% 100%,0 100%);object-position:center}.home-graphics__media figcaption{max-width:33rem}.home-audience{background:var(--color-warm-concrete)}.home-audience__grid{display:grid;grid-template-columns:minmax(0,7fr) minmax(330px,5fr);gap:var(--space-6);align-items:start}.home-audience__copy{min-width:0;max-width:43.75rem}.home-audience__reasons{display:grid;grid-template-columns:1fr;gap:var(--space-4);min-width:0;margin-block-start:var(--space-5)}.home-audience__reasons>div{min-width:0;padding-inline-start:var(--space-4);border-inline-start:2px solid var(--color-sunset-orange)}.home-audience__reasons h3{margin-block-end:var(--space-2)}.home-audience__reasons p{max-width:40rem;margin:0}.home-verdict{display:flex;flex-direction:column;gap:var(--space-4);min-width:330px;padding:var(--space-6);border:1px solid var(--color-border-dark);border-radius:var(--radius-md);background:var(--color-asphalt-900);color:var(--color-white)}.home-verdict>*{margin:0}.home-verdict .meta{color:var(--color-sunset-amber)}.home-verdict ul{display:grid;gap:var(--space-2);padding-inline-start:1.25rem}.home-verdict .button{align-self:flex-start}.home-faq__grid{display:grid;grid-template-columns:minmax(0,3fr) minmax(0,7fr);column-gap:16.666%;align-items:start}.home-faq__intro{min-width:0;max-width:18.75rem}.home-faq__list{display:grid;grid-template-columns:1fr;gap:var(--space-2);min-width:0;max-width:47.5rem}.home-faq__item{min-width:0;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-white)}.home-faq__item button{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);width:100%;min-width:0;padding:var(--space-4);border:0;background:transparent;color:var(--color-ink);font-weight:700;text-align:left}.home-faq__item button span{flex:0 0 auto;color:var(--color-sunset-orange);font-size:1.5rem;line-height:1;transition:transform var(--transition-reveal)}.home-faq__item.is-open{border-top:2px solid var(--color-sunset-orange)}.home-faq__item.is-open button span{transform:rotate(45deg)}.home-faq__answer{max-height:0;overflow:hidden;opacity:0;transition:max-height var(--transition-reveal),opacity var(--transition-reveal)}.home-faq__answer.is-visible{max-height:24rem;opacity:1}.home-faq__answer p{margin:0;padding:0 var(--space-5) var(--space-5)}.home-faq__answer .status{margin-inline-end:var(--space-2)}.home-summary{position:relative;background:var(--color-asphalt-900)}.home-summary__grid{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,7fr) minmax(0,3fr);gap:var(--space-6)}.home-summary__marker{min-width:0;padding-top:var(--space-7);color:rgb(255 249 240 / 32%);font-family:var(--font-heading);font-size:2rem;font-weight:800;line-height:.9;letter-spacing:-.025em}.home-summary__copy{grid-column:2;min-width:0;max-width:43.75rem}.home-summary__copy blockquote{max-width:36rem}.home-summary__transition{max-width:39rem;margin-block-start:var(--space-5);padding-top:var(--space-4);border-top:2px solid var(--color-sunset-orange);color:rgb(255 249 240 / 78%)}.home-final{position:relative;padding-block:var(--space-9);background:var(--color-asphalt-950)}.home-final::before{position:absolute;inset:0;opacity:.12;background:repeating-linear-gradient(105deg,transparent 0 56px,rgb(255 249 240 / 32%) 57px 60px,transparent 61px 126px);content:""}.home-final__content{position:relative;display:flex;flex-direction:column;align-items:center;gap:var(--space-5);width:66.666%;min-width:0;max-width:47.5rem;margin-inline:auto;text-align:center}.home-final__content>*{margin:0}.home-final__content p{max-width:33.75rem;font-size:var(--text-lead);font-weight:500;line-height:var(--line-lead)}.home-final__content .button{min-height:3rem;padding-inline:var(--space-5)}
@media (max-width:1199px){.home-hero{padding-block:var(--space-8)}.home-facts__cards{grid-template-columns:repeat(3,minmax(0,1fr))}.home-feature--traffic .home-feature__media img{min-height:29rem}.home-driving__media img{min-height:26rem}.home-graphics__media img{min-height:23rem}}
@media (max-width:1019px){.home-hero__image{position:relative;height:20rem;margin-block-end:var(--space-6)}.home-hero__image::after{background:linear-gradient(90deg,rgb(21 25 27 / 18%),transparent)}.home-hero__container{grid-template-columns:minmax(0,4fr) minmax(0,2fr);gap:var(--space-5)}.home-start-card{min-width:0}.home-facts__grid{grid-template-columns:1fr}.home-facts__cards{grid-column:1;grid-template-columns:repeat(3,minmax(0,1fr))}.home-facts__note{grid-column:1}.home-feature__grid{grid-template-columns:minmax(0,4fr) minmax(0,2fr);gap:var(--space-5)}.home-feature--traffic .home-feature__media img{min-height:25rem}.home-driving__grid{grid-template-columns:1fr}.home-driving__copy{max-width:none}.home-driving__media{grid-row:2}.home-driving__media img{min-height:auto;max-height:30rem}.home-tracks__grid{grid-template-columns:minmax(0,4fr) minmax(0,2fr);gap:var(--space-5)}.home-play-note{grid-column:1}.home-track-notes{grid-column:2;grid-template-columns:1fr}.home-graphics__grid{grid-template-columns:1fr}.home-graphics__copy{max-width:none}.home-graphics__media img{min-height:auto}.home-audience__grid{grid-template-columns:minmax(0,4fr) minmax(0,2fr);gap:var(--space-5)}.home-verdict{min-width:0}.home-faq__grid{grid-template-columns:1fr;gap:var(--space-5)}.home-faq__intro{max-width:none}.home-summary__grid{grid-template-columns:1fr}.home-summary__marker{display:none}.home-summary__copy{grid-column:1}.home-offline__content,.home-final__content{width:100%}}
@media (max-width:899px){.home-facts__cards{grid-template-columns:repeat(2,minmax(0,1fr))}.home-feature__grid,.home-tracks__grid,.home-audience__grid{grid-template-columns:1fr}.home-feature__copy,.home-tracks__copy,.home-audience__copy{max-width:none}.home-feature__media,.home-tracks__media{grid-row:2}.home-feature--traffic .home-feature__media img,.home-feature--bikes .home-feature__media img{min-height:auto}.home-play-note{grid-column:1}.home-track-notes{grid-column:1;grid-template-columns:repeat(2,minmax(0,1fr))}.home-audience__copy{grid-row:1}.home-verdict{grid-row:2}.home-hero__container{grid-template-columns:1fr}.home-start-card{max-width:42rem}.home-hero__copy{max-width:none}}
@media (max-width:767px){.home-hero{padding-block:var(--space-7)}.home-hero__image{height:auto;aspect-ratio:16/10;margin-block-end:var(--space-5)}.home-hero__image img{object-position:62% center}.home-hero__container{display:flex;flex-direction:column;gap:var(--space-5)}.home-hero__copy{order:1}.home-start-card{order:2;width:100%;min-width:0;padding:var(--space-5)}.home-hero h1{font-size:clamp(2.5rem,12vw,3.5rem)}.home-start-card__button{width:100%}.home-facts__cards{grid-template-columns:1fr;gap:0;padding:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-concrete-light)}.home-fact{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;min-height:auto;padding:var(--space-4) 0;border:0;border-bottom:1px solid var(--color-border);border-radius:0;background:transparent;color:var(--color-ink)}.home-fact:last-child{border-bottom:0}.home-fact span{color:var(--color-muted-ink)}.home-fact strong{text-align:right}.home-feature__grid,.home-tracks__grid,.home-driving__grid,.home-graphics__grid,.home-audience__grid{gap:var(--space-5)}.home-feature--traffic .home-feature__media{order:2}.home-feature--traffic .home-feature__copy{order:1}.home-feature--traffic .home-feature__media img{aspect-ratio:3/2;min-height:auto}.home-mini-review{gap:var(--space-4)}.home-driving__media{grid-row:auto;order:0}.home-driving__grid{display:flex;flex-direction:column}.home-driving__copy{order:1}.home-driving__media{order:2;width:100%}.home-driving__media img{aspect-ratio:16/10;min-height:auto;clip-path:polygon(0 0,100% 0,100% 94%,0 100%)}.home-driving__cards,.home-custom__cards,.home-track-notes{grid-template-columns:1fr}.home-driving__cards>.card{padding:var(--space-5)}.home-feature--bikes .home-feature__media{order:2}.home-feature--bikes .home-feature__copy{order:1}.home-feature--bikes .home-feature__media img{aspect-ratio:16/10;min-height:auto}.home-tracks__media{grid-row:auto;order:2}.home-tracks__copy{order:1}.home-tracks__media img{aspect-ratio:3/2;min-height:auto}.home-play-note{order:3}.home-track-notes{order:4}.home-offline__content{gap:var(--space-4)}.home-offline__content .button{width:100%}.home-graphics__media img{aspect-ratio:16/10;min-height:auto;clip-path:polygon(6% 0,100% 0,100% 100%,0 100%)}.home-verdict{width:100%;min-width:0;padding:var(--space-5)}.home-verdict .button{width:100%}.home-faq__list{max-width:none}.home-faq__item button{min-height:3.25rem}.home-faq__answer p{padding-inline:var(--space-4);padding-block-end:var(--space-4)}.home-summary__copy{max-width:none}.home-final{padding-block:var(--space-8)}.home-final__content{gap:var(--space-4)}.home-final__content .button{width:100%;min-height:3rem}.home-final__content h2{font-size:clamp(2.5rem,11vw,3.25rem)}}


main.thank-you-page {
  display: grid;
  min-height: calc(100vh - 12rem);
  place-items: center;
  padding-block: var(--space-8);
  background:
    linear-gradient(135deg, rgb(23 101 121 / 10%) 0%, transparent 42%),
    var(--color-warm-concrete);
}

.thank-you-page__wrap {
  width: 100%;
}

.thank-you-page__panel {
  position: relative;
  display: grid;
  justify-items: center;
  gap: var(--space-5);
  max-width: 46rem;
  margin-inline: auto;
  padding: clamp(var(--space-6), 5vw, var(--space-8));
  overflow: hidden;
  border: 1px solid var(--color-border-dark);
  border-radius: var(--radius-md);
  background: var(--color-asphalt-900);
  color: var(--color-text-inverse);
  box-shadow: var(--shadow-elevated);
  text-align: center;
}

.thank-you-page__panel::before {
  position: absolute;
  inset: 0 auto 0 0;
  width: 0.35rem;
  background: var(--color-sunset-orange);
  content: "";
}

.thank-you-page__marker {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 3.5rem;
  height: 3.5rem;
  border: 2px solid var(--color-electric-lime);
  border-radius: 50%;
  color: var(--color-electric-lime);
  font-size: 1.5rem;
  font-weight: 800;
  line-height: 1;
}

.thank-you-page__eyebrow {
  margin: 0;
  color: var(--color-sunset-amber);
}

.thank-you-page__title {
  margin: 0;
  color: var(--color-white);
  font-size: var(--text-hero);
}

.thank-you-page__copy {
  max-width: 36rem;
  margin: 0;
  margin-inline: auto;
  color: rgb(255 249 240 / 82%);
  text-align: center;
}

.thank-you-page__next {
  width: min(100%, 36rem);
  margin: 0;
  margin-inline: auto;
  padding: var(--space-4) var(--space-5);
  border-block: 1px solid var(--color-border-dark);
  color: var(--color-white);
  font-size: 0.9375rem;
  line-height: 1.5;
  text-align: center;
}

.thank-you-page__actions {
  justify-content: center;
  margin: 0;
}

.thank-you-page__actions .button--secondary {
  border-color: rgb(255 249 240 / 55%);
}

@media (max-width: 767px) {
  main.thank-you-page {
    min-height: auto;
    padding-block: var(--space-7);
  }

  .thank-you-page__panel {
    gap: var(--space-4);
    padding: var(--space-6) var(--space-5);
  }

  .thank-you-page__actions {
    width: 100%;
  }

  .thank-you-page__actions .button {
    flex-basis: 100%;
  }
}