.full-review-page {
  background: var(--color-paper);
  color: var(--color-asphalt);
}

.full-review-page .container {
  max-inline-size: 80rem;
}

.full-review-page a {
  font-weight: 500;
}

.fr-masthead {
  padding-block: var(--space-8) var(--space-9);
}

.fr-masthead__grid,
.fr-lens__grid,
.fr-exploration__grid,
.fr-flow__grid,
.fr-missions__grid,
.fr-driving__grid,
.fr-fit__grid,
.fr-dossier__grid,
.fr-cta__grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: var(--space-6);
}

.fr-masthead__copy,
.fr-masthead__media,
.fr-lens__reading,
.fr-lens__margin-note,
.fr-exploration__copy,
.fr-exploration__media,
.fr-flow__reading,
.fr-flow__pull,
.fr-flow__callout,
.fr-missions__intro,
.fr-missions__criteria,
.fr-missions__continue,
.fr-driving__media,
.fr-driving__copy,
.fr-fit__intro,
.fr-fit__statements,
.fr-fit__caution,
.fr-dossier__heading,
.fr-dossier__links,
.fr-cta__copy,
.fr-cta__button {
  min-inline-size: 0;
  inline-size: 100%;
}

.fr-masthead__copy h1 {
  max-inline-size: 13ch;
  margin-block-end: var(--space-5);
  color: var(--color-mist);
  font-size: clamp(2.625rem, 2.1rem + 3vw, 4.5rem);
  line-height: var(--leading-display);
}

.fr-masthead__copy .lead {
  max-inline-size: 46rem;
  color: var(--color-mist);
}

.fr-masthead__meta {
  margin-block: 0;
}

.fr-figure {
  margin: 0;
}

.fr-figure img {
  inline-size: 100%;
  max-inline-size: 100%;
  object-fit: cover;
}

.fr-figure figcaption {
  margin-block-start: var(--space-2);
  color: var(--color-slate);
  font-family: var(--font-heading);
  font-size: var(--text-caption);
  line-height: var(--leading-caption);
}

.fr-figure--hero img {
  aspect-ratio: 16 / 10;
  object-position: 65% center;
}

.fr-scope-rail {
  display: flex;
  flex-direction: column;
  gap: var(--space-4);
  margin-block-start: var(--space-5);
  padding: var(--space-5);
  border: 1px solid var(--color-border-dark);
  background: var(--color-ink-raised);
  color: var(--color-mist);
}

.fr-scope-rail__title {
  margin: 0;
  color: var(--color-amber);
  font-family: var(--font-heading);
  font-size: var(--text-utility);
  font-weight: 600;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.fr-scope-rail dl {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 0;
  margin: 0;
}

.fr-scope-rail dl > div {
  display: grid;
  grid-template-columns: minmax(5rem, 0.8fr) minmax(0, 1.2fr);
  gap: var(--space-3);
  padding-block: var(--space-2);
  border-block-start: 1px solid var(--color-border-dark);
}

.fr-scope-rail dt,
.fr-scope-rail dd {
  min-inline-size: 0;
  margin: 0;
  font-family: var(--font-heading);
  font-size: var(--text-caption);
  line-height: var(--leading-caption);
}

.fr-scope-rail dt { color: var(--color-slate); }

.fr-lens__reading {
  max-inline-size: 46rem;
}

.fr-lens__margin-note {
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
  align-self: start;
  padding-block-start: var(--space-2);
  border-inline-start: 1px solid var(--color-border-light);
  padding-inline-start: var(--space-4);
}

.fr-lens__margin-note .eyebrow,
.fr-lens__margin-note p:last-child {
  margin: 0;
}

.fr-lens__margin-note p:last-child {
  max-inline-size: 18rem;
  font-family: var(--font-heading);
  font-size: var(--text-caption);
  font-weight: 500;
  line-height: var(--leading-caption);
}

.fr-key-line {
  max-inline-size: 36rem;
  margin-block: var(--space-6);
  padding-inline-start: var(--space-4);
  border-inline-start: var(--rule-accent);
  font-family: var(--font-heading);
  font-size: var(--text-h4);
  font-weight: 500;
  line-height: var(--leading-heading);
}

.fr-boundary-note {
  max-inline-size: 38rem;
  margin-block-start: var(--space-6);
  padding: var(--space-5);
  border-block-start: 3px solid var(--color-city-blue);
  background: var(--color-paper-muted);
}

.fr-boundary-note h3 {
  margin-block-start: 0;
}

.fr-boundary-note p:last-child { margin-block-end: 0; }

.fr-exploration__copy {
  max-inline-size: 46rem;
}

.fr-exploration__media img {
  aspect-ratio: 16 / 10;
  object-position: center;
}

.fr-chapter-aside {
  display: grid;
  grid-template-columns: minmax(3rem, auto) minmax(0, 1fr);
  gap: var(--space-4);
  max-inline-size: 34rem;
  margin-block-start: var(--space-6);
  padding: var(--space-5);
  background: color-mix(in srgb, var(--color-city-blue) 18%, var(--color-paper));
}

.fr-chapter-aside__number {
  margin: 0;
  color: var(--color-city-blue);
  font-family: var(--font-heading);
  font-size: var(--text-h2);
  font-weight: 600;
  line-height: 1;
}

.fr-chapter-aside h3 { margin-block-start: 0; }
.fr-chapter-aside p:last-child { margin-block-end: 0; }

.fr-flow__reading {
  max-inline-size: 45rem;
}

.fr-flow__pull {
  align-self: start;
  max-inline-size: 30rem;
  padding-inline-start: var(--space-4);
  border-inline-start: 3px solid var(--color-amber);
  font-family: var(--font-heading);
  font-size: var(--text-h3);
  font-weight: 500;
  line-height: var(--leading-heading);
}

.fr-flow__callout {
  max-inline-size: 42rem;
}

.fr-flow__callout .eyebrow { margin-block-start: 0; }

.fr-missions {
  color: var(--color-mist);
}

.fr-missions__intro {
  max-inline-size: 44rem;
}

.fr-missions__intro h2 { color: var(--color-mist); }
.fr-missions__intro .lead { color: var(--color-mist); }

.fr-missions__criteria {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  border-block-start: 1px solid var(--color-border-dark);
}

.fr-criterion {
  display: grid;
  grid-template-columns: minmax(3rem, auto) minmax(0, 1fr);
  gap: var(--space-4);
  padding-block: var(--space-5);
  border-block-end: 1px solid var(--color-border-dark);
}

.fr-criterion span {
  color: var(--color-amber);
  font-family: var(--font-heading);
  font-size: var(--text-h4);
  font-weight: 600;
  font-variant-numeric: tabular-nums;
}

.fr-criterion p {
  max-inline-size: 26rem;
  margin: 0;
  color: var(--color-mist);
}

.fr-missions__continue {
  max-inline-size: 28rem;
  justify-self: start;
  padding: var(--space-5);
  border: 1px solid var(--color-border-dark);
  background: var(--color-ink-raised);
}

.fr-missions__continue .eyebrow,
.fr-missions__continue h3 { margin-block-start: 0; }
.fr-missions__continue p:last-child { margin-block-end: 0; }

.fr-driving__copy {
  max-inline-size: 46rem;
}

.fr-driving__media img {
  aspect-ratio: 3 / 2;
  object-position: 65% center;
}

.fr-driving__label {
  margin-block: 0 var(--space-3);
  color: var(--color-city-blue);
  font-family: var(--font-heading);
  font-size: var(--text-utility);
  font-weight: 600;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.fr-driving__strip {
  max-inline-size: 38rem;
  margin-block-start: var(--space-6);
  padding: var(--space-4) var(--space-5);
  border-inline-start: var(--rule-accent);
  background: var(--color-paper-muted);
}

.fr-driving__strip p { margin: 0; }

.fr-fit__intro {
  max-inline-size: 44rem;
}

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

.fr-fit__statement {
  display: grid;
  grid-template-columns: minmax(2.5rem, auto) minmax(0, 1fr);
  gap: var(--space-3);
  padding-block-start: var(--space-4);
  border-block-start: 1px solid var(--color-border-light);
}

.fr-fit__statement > span {
  color: var(--color-amber);
  font-family: var(--font-heading);
  font-weight: 600;
  font-variant-numeric: tabular-nums;
}

.fr-fit__statement h3 { margin-block-start: 0; }
.fr-fit__statement p:last-child { margin-block-end: 0; }

.fr-fit__caution {
  max-inline-size: 42rem;
  padding: var(--space-5);
  border-inline-start: 3px solid var(--color-signal-red);
  background: var(--color-paper);
}

.fr-fit__caution h3 { margin-block-start: 0; }
.fr-fit__caution p:last-child { margin-block-end: 0; }

.fr-dossier { color: var(--color-mist); }

.fr-dossier__heading {
  max-inline-size: 34rem;
}

.fr-dossier__heading h2 { color: var(--color-mist); }
.fr-dossier__heading p:last-child { color: var(--color-slate); }

.fr-dossier__links {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  border-block-start: 1px solid var(--color-border-dark);
}

.fr-dossier__row {
  display: grid;
  grid-template-columns: minmax(2.5rem, auto) minmax(0, 1fr) auto;
  gap: var(--space-3);
  align-items: start;
  min-block-size: 7rem;
  padding-block: var(--space-5);
  border-block-end: 1px solid var(--color-border-dark);
  color: var(--color-mist);
  text-decoration: none;
}

.fr-dossier__number,
.fr-dossier__label,
.fr-dossier__arrow {
  font-family: var(--font-heading);
  font-weight: 600;
}

.fr-dossier__number {
  color: var(--color-amber);
  font-variant-numeric: tabular-nums;
}

.fr-dossier__label {
  grid-column: 2;
  color: var(--color-slate);
  font-size: var(--text-utility);
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.fr-dossier__content {
  display: flex;
  grid-column: 2;
  flex-direction: column;
  gap: var(--space-2);
  min-inline-size: 0;
}

.fr-dossier__content strong {
  font-family: var(--font-heading);
  font-size: var(--text-h4);
  line-height: var(--leading-heading);
}

.fr-dossier__content small {
  max-inline-size: 36rem;
  color: var(--color-slate);
  font-family: var(--font-body);
  font-size: var(--text-caption);
  line-height: var(--leading-caption);
}

.fr-dossier__arrow {
  grid-column: 3;
  grid-row: 1 / span 2;
  align-self: center;
  color: var(--color-amber);
  font-size: var(--text-h3);
}

.fr-dossier__row:hover,
.fr-dossier__row:focus-visible {
  padding-inline-start: var(--space-3);
  border-inline-start: 3px solid var(--color-amber);
}

.fr-final__lane {
  max-inline-size: 42rem;
}

.fr-final__lead {
  max-inline-size: 42rem;
  font-size: var(--text-lead);
  font-weight: 500;
  line-height: var(--leading-lead);
}

.fr-final__lane > p:last-child {
  max-inline-size: 38rem;
}

.fr-cta {
  padding-block-start: var(--space-9);
}

.fr-cta__grid {
  gap: var(--space-5);
  padding: var(--space-6);
  border: 1px solid var(--color-border-dark);
  background: var(--color-ink-raised);
}

.fr-cta__copy {
  max-inline-size: 38rem;
}

.fr-cta__copy h2 { color: var(--color-mist); margin-block-start: 0; }
.fr-cta__copy p:last-child { margin-block-end: 0; color: var(--color-mist); }

.fr-cta__button {
  inline-size: fit-content;
  min-inline-size: 11.25rem;
  min-block-size: 3rem;
  align-self: end;
}

@media (min-width: 48rem) {
  .fr-masthead { padding-block: var(--space-9) var(--space-10); }

  .fr-lens__grid {
    grid-template-columns: minmax(0, 4fr) minmax(0, 2fr);
    gap: var(--space-6);
  }

  .fr-lens__reading { grid-column: 1; grid-row: 1; }
  .fr-lens__margin-note { grid-column: 2; grid-row: 1; }

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

  .fr-flow__grid {
    grid-template-columns: minmax(0, 4fr) minmax(0, 2fr);
    gap: var(--space-6);
  }

  .fr-flow__reading { grid-column: 1; }
  .fr-flow__pull { grid-column: 2; }
  .fr-flow__callout { grid-column: 1; }

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

  .fr-cta__grid {
    grid-template-columns: minmax(0, 1fr) minmax(11.25rem, auto);
    align-items: end;
  }
}

@media (min-width: 64rem) {
  .fr-masthead__grid {
    grid-template-columns: repeat(12, minmax(0, 1fr));
    column-gap: 1.25rem;
    align-items: start;
  }

  .fr-masthead__copy { grid-column: 1 / span 7; }
  .fr-masthead__media { grid-column: 8 / span 5; }

  .fr-lens__grid {
    grid-template-columns: repeat(12, minmax(0, 1fr));
    column-gap: 1.25rem;
  }

  .fr-lens__reading { grid-column: 2 / span 7; }
  .fr-lens__margin-note { grid-column: 10 / span 3; }

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

  .fr-exploration__copy { grid-column: 1 / span 7; }
  .fr-exploration__media { grid-column: 8 / span 5; grid-row: 1; }

  .fr-flow__grid {
    grid-template-columns: repeat(12, minmax(0, 1fr));
    column-gap: 1.25rem;
  }

  .fr-flow__reading { grid-column: 2 / span 7; }
  .fr-flow__pull { grid-column: 10 / span 3; }
  .fr-flow__callout { grid-column: 2 / span 7; }

  .fr-missions__grid {
    grid-template-columns: repeat(12, minmax(0, 1fr));
    column-gap: 1.25rem;
  }

  .fr-missions__intro { grid-column: 1 / span 7; }
  .fr-missions__criteria { grid-column: 1 / -1; grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .fr-criterion { min-inline-size: 0; grid-template-columns: minmax(2.5rem, auto) minmax(0, 1fr); padding-inline: var(--space-4); border-block-end: 0; border-inline-end: 1px solid var(--color-border-dark); }
  .fr-criterion:last-child { border-inline-end: 0; }
  .fr-missions__continue { grid-column: 9 / span 4; justify-self: end; }

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

  .fr-driving__media { grid-column: 1 / span 5; grid-row: 1; }
  .fr-driving__copy { grid-column: 7 / span 6; }

  .fr-fit__grid {
    grid-template-columns: repeat(12, minmax(0, 1fr));
    column-gap: 1.25rem;
  }

  .fr-fit__intro { grid-column: 2 / span 7; }
  .fr-fit__statements { grid-column: 1 / -1; grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .fr-fit__caution { grid-column: 2 / span 7; }

  .fr-dossier__grid {
    grid-template-columns: repeat(12, minmax(0, 1fr));
    column-gap: 1.25rem;
  }

  .fr-dossier__heading { grid-column: 1 / span 5; }
  .fr-dossier__links { grid-column: 6 / span 7; }

  .fr-final__lane { margin-inline-start: calc((100% / 12) * 2 + (1.25rem * 2)); }

  .fr-cta__grid {
    grid-template-columns: repeat(12, minmax(0, 1fr));
    column-gap: 1.25rem;
  }

  .fr-cta__copy { grid-column: 3 / span 5; }
  .fr-cta__button { grid-column: 8 / span 2; justify-self: end; }
}

@media (min-width: 80rem) {
  .fr-masthead__grid,
  .fr-lens__grid,
  .fr-exploration__grid,
  .fr-flow__grid,
  .fr-missions__grid,
  .fr-driving__grid,
  .fr-fit__grid,
  .fr-dossier__grid,
  .fr-cta__grid {
    column-gap: 1.5rem;
  }

  .fr-final__lane { margin-inline-start: calc((100% / 12) * 2 + (1.5rem * 2)); }
}

@media (max-width: 63.9375rem) {
  .fr-masthead__copy h1 { max-inline-size: 16ch; }
}

@media (max-width: 56.1875rem) {
  .fr-exploration__grid,
  .fr-driving__grid { grid-template-columns: minmax(0, 1fr); }
  .fr-exploration__media { grid-row: auto; }
  .fr-driving__media { grid-row: auto; order: 2; }
  .fr-driving__copy { order: 1; }
  .fr-flow__grid { grid-template-columns: minmax(0, 1fr); }
  .fr-flow__reading,
  .fr-flow__pull,
  .fr-flow__callout { grid-column: 1; }
  .fr-flow__pull { max-inline-size: 30rem; }
}

@media (max-width: 57.4375rem) {
  .fr-missions__criteria { grid-template-columns: minmax(0, 1fr); }
  .fr-criterion { border-block-end: 1px solid var(--color-border-dark); border-inline-end: 0; }
  .fr-criterion:last-child { border-block-end: 1px solid var(--color-border-dark); }
  .fr-fit__statements { grid-template-columns: minmax(0, 1fr); }
}

@media (max-width: 54.9375rem) {
  .fr-dossier__grid { grid-template-columns: minmax(0, 1fr); }
}

@media (max-width: 47.9375rem) {
  .fr-masthead { padding-block: var(--space-7) var(--space-8); }
  .fr-masthead__copy h1 { font-size: clamp(2.625rem, 11vw, 3.25rem); max-inline-size: 15ch; }
  .fr-scope-rail { padding: var(--space-4); }
  .fr-lens__grid { gap: var(--space-5); }
  .fr-lens__margin-note { order: -1; }
  .fr-boundary-note,
  .fr-chapter-aside,
  .fr-fit__caution { padding: var(--space-4); }
  .fr-flow__pull { font-size: var(--text-h4); }
  .fr-dossier__row { min-block-size: 8rem; }
  .fr-cta { padding-block-start: var(--space-8); }
  .fr-cta__grid { padding: var(--space-5); }
}

@media (max-width: 26.25rem) {
  .fr-cta__button { inline-size: 100%; }
}
