@layer sections {
  .section--first {
    padding-top: calc(var(--header-height) + clamp(22px, 3vw, 40px));
  }

  .compact-section-head {
    display: flex;
    align-items: end;
    justify-content: space-between;
    margin-bottom: 28px;
    gap: 28px;
  }

  .compact-section-head :is(h1, h2) {
    margin-top: 8px;
    max-width: 900px;
    font-size: clamp(34px, 3.5vw, 54px);
    line-height: 0.95;
    hyphens: none;
    overflow-wrap: break-word;
  }

  .compact-section-head p {
    max-width: 500px;
    color: var(--ink-muted);
    font-size: 14px;
  }

  .section--first > .shell > .section-head,
  .section--first > .shell > .split-layout > .section-head,
  .section--first .issue-detail__grid .section-head {
    margin-bottom: clamp(30px, 4vw, 48px);
  }

  .section--first > .shell > .section-head h2,
  .section--first > .shell > .split-layout > .section-head h2,
  .section--first .issue-detail__grid .section-head h2 {
    font-size: clamp(38px, 4.4vw, 64px);
  }

  .catalog-toolbar {
    margin-bottom: clamp(30px, 3.5vw, 48px);
  }

  .catalog-toolbar h1 {
    font-size: clamp(46px, 4.8vw, 74px);
    line-height: 0.88;
  }

  .catalog-grid,
  .related-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 20px;
  }

  .related-models--showcase {
    position: relative;
    overflow: clip;
    isolation: isolate;
    padding-top: clamp(104px, 9vw, 156px);
    padding-bottom: clamp(112px, 10vw, 172px);
    background: #e3e0d6;
  }

  .related-models--showcase::before,
  .related-models--showcase::after {
    position: absolute;
    right: 50%;
    width: 100vw;
    content: "";
    pointer-events: none;
    transform: translateX(50%);
  }

  .related-models--showcase::before {
    z-index: 0;
    top: 0;
    height: clamp(104px, 9vw, 156px);
    background: linear-gradient(to bottom, var(--ink), rgba(11, 14, 10, 0));
  }

  .related-models--showcase::after {
    z-index: 2;
    bottom: 0;
    height: clamp(208px, 18vw, 300px);
    background: linear-gradient(
      to bottom,
      rgba(11, 14, 10, 0) 0%,
      rgba(11, 14, 10, 0.02) 20%,
      rgba(11, 14, 10, 0.14) 42%,
      rgba(11, 14, 10, 0.62) 68%,
      var(--ink) 88%,
      var(--ink) 100%
    );
  }

  .related-models--showcase > .shell {
    position: relative;
    z-index: 1;
  }

  .related-models--showcase .section-head {
    position: relative;
    z-index: 3;
  }

  .related-models__showcase {
    display: grid;
    position: relative;
    z-index: 1;
    gap: clamp(72px, 8vw, 136px);
  }

  .related-models--showcase .home-model-panel {
    --home-model-panel-surface: #e3e0d6;
    --home-model-panel-surface-rgb: 227 224 214;
  }

  @media (min-width: 761px) {
    .related-models--showcase .home-model-panel + .home-model-panel::before {
      top: calc(-1 * clamp(72px, 8vw, 136px));
      bottom: calc(-1 * clamp(72px, 8vw, 136px));
      background: linear-gradient(
        to bottom,
        rgb(var(--home-model-panel-surface-rgb) / 0) 0%,
        rgb(var(--home-model-panel-surface-rgb) / 0.42) 12%,
        rgb(var(--home-model-panel-surface-rgb) / 0.9) 24%,
        var(--home-model-panel-surface) 34%,
        var(--home-model-panel-surface) 100%
      );
    }

    .related-models--showcase .home-model-panel + .home-model-panel.home-model-panel--strong {
      --home-model-panel-surface: #d8dbd8;
      --home-model-panel-surface-rgb: 216 219 216;
    }
  }

  .related-models__actions {
    position: relative;
    z-index: 3;
    margin-top: clamp(32px, 4vw, 56px);
  }

  .catalog-screen {
    position: relative;
    display: flex;
    min-height: 100svh;
    overflow: hidden;
    align-items: center;
  }

  .catalog-screen > .shell {
    position: relative;
    width: var(--shell);
  }

  .catalog-screen--light {
    color: var(--ink);
    background: var(--paper);
  }


  .catalog-screen--dark {
    color: var(--paper);
    background: var(--ink);
  }


  .catalog-screen--dark .section-intro,
  .catalog-screen--dark .faq-list details > p {
    color: rgba(242, 240, 231, 0.7);
  }

  .catalog-screen--dark .catalog-disclaimer,
  .catalog-screen--dark .section-eyebrow {
    color: rgba(242, 240, 231, 0.58);
  }

  .catalog-screen--dark .mini-package,
  .catalog-screen--dark .mini-package > div,
  .catalog-screen--dark .faq-list,
  .catalog-screen--dark .faq-list details {
    border-color: var(--line-light);
  }

  .catalog-screen--dark .mini-package span {
    color: var(--acid);
  }

  .catalog-grid .model-card,
  .related-grid .model-card {
    display: block;
  }

  .catalog-grid .model-card__media,
  .related-grid .model-card__media {
    height: auto;
    aspect-ratio: 4 / 3;
  }

  .catalog-grid .model-card__body,
  .related-grid .model-card__body {
    padding: 24px;
  }

  .catalog-grid .model-card :is(h2, h3),
  .related-grid .model-card :is(h2, h3) {
    font-size: clamp(31px, 3vw, 48px);
  }

  .catalog-disclaimer {
    max-width: 820px;
    margin-top: 28px;
    line-height: 1.6;
  }

  .selection-lab {
    isolation: isolate;
    padding-block: clamp(88px, 8vw, 128px);
    background: var(--paper-warm);
  }

  .selection-lab::before {
    position: absolute;
    z-index: -1;
    top: 44%;
    right: clamp(-52px, -2vw, -18px);
    color: var(--acid);
    content: "?";
    font-size: clamp(410px, 43vw, 690px);
    font-weight: 850;
    letter-spacing: -0.12em;
    line-height: 0.7;
    opacity: 0.34;
    transform: translateY(-50%);
    pointer-events: none;
  }

  .catalog-selection {
    display: grid;
    min-height: min(720px, calc(100svh - 176px));
    align-content: center;
    grid-template-columns: repeat(12, minmax(0, 1fr));
    column-gap: 24px;
  }

  .catalog-selection__copy {
    position: relative;
    z-index: 2;
    display: grid;
    grid-column: 1 / 9;
    justify-items: start;
    gap: 22px;
  }

  .catalog-selection__copy h2 {
    max-width: 1040px;
    font-size: clamp(76px, 8.2vw, 126px);
    line-height: 0.84;
  }

  .catalog-selection__copy > p:last-of-type {
    max-width: 560px;
    color: var(--ink-muted);
    font-size: clamp(18px, 1.6vw, 23px);
    line-height: 1.45;
  }

  .catalog-selection__choices {
    position: relative;
    z-index: 2;
    display: grid;
    margin-top: clamp(54px, 6vw, 88px);
    border-block: 1px solid var(--line);
    grid-column: 1 / -1;
    grid-row: 2;
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .catalog-selection__choices li + li {
    border-left: 1px solid var(--line);
  }

  .catalog-selection__choices a {
    position: relative;
    display: grid;
    min-height: 176px;
    padding: 26px clamp(24px, 2.5vw, 40px) 30px;
    overflow: hidden;
    align-items: end;
    grid-template-columns: minmax(0, 1fr) auto;
    grid-template-rows: auto 1fr;
    gap: 24px;
  }

  .catalog-selection__choices a::before {
    position: absolute;
    inset: 0;
    background: var(--acid);
    content: "";
    transform: translateY(calc(100% + 1px));
    transition: transform 0.45s var(--ease-out);
  }

  .catalog-selection__choices a:hover::before,
  .catalog-selection__choices a:focus-visible::before {
    transform: translateY(0);
  }

  .catalog-selection__choice-index,
  .catalog-selection__choice-copy,
  .catalog-selection__choices svg {
    position: relative;
    z-index: 1;
  }

  .catalog-selection__choice-index {
    color: var(--moss-ink);
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 0.12em;
    grid-column: 1 / -1;
    text-transform: uppercase;
  }

  .catalog-selection__choice-copy {
    display: grid;
    min-width: 0;
    gap: 3px;
  }

  .catalog-selection__choice-copy strong {
    font-size: clamp(29px, 2.55vw, 40px);
    letter-spacing: -0.05em;
    line-height: 1;
  }

  .catalog-selection__choice-copy small {
    color: var(--muted);
    font-size: 13px;
  }

  .catalog-selection__choices svg,
  .catalog-selection__unsure svg {
    width: 23px;
    fill: none;
    stroke: currentColor;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 1.5;
    transition: transform 0.3s var(--ease-out);
  }

  .catalog-selection__choices a:hover svg,
  .catalog-selection__choices a:focus-visible svg,
  .catalog-selection__unsure:hover svg,
  .catalog-selection__unsure:focus-visible svg {
    transform: translateX(5px);
  }

  .catalog-selection__unsure {
    position: relative;
    z-index: 2;
    display: inline-flex;
    min-height: 48px;
    margin-bottom: 3px;
    border-bottom: 1px solid currentColor;
    align-items: center;
    justify-self: end;
    align-self: end;
    grid-column: 10 / -1;
    grid-row: 1;
    gap: 14px;
    font-size: 13px;
    font-weight: 750;
  }

  .service-preview {
    isolation: isolate;
    background: var(--ink);
  }

  .service-preview::before {
    position: absolute;
    z-index: 0;
    inset: 0;
    background-image:
      linear-gradient(90deg, rgb(11 14 10 / 58%) 0%, rgb(11 14 10 / 24%) 48%, transparent 72%),
      linear-gradient(180deg, transparent 46%, rgb(11 14 10 / 58%) 100%),
      url("/public/images/catalog/service-graffiti-v1-1586.jpg");
    background-position: center, center, right center;
    background-repeat: no-repeat;
    background-size: 100% 100%, 100% 100%, cover;
    content: "";
    pointer-events: none;
  }

  .service-preview > .shell {
    z-index: 1;
  }

  .service-preview .section-head {
    position: relative;
    max-width: 1250px;
    margin-bottom: clamp(56px, 7vw, 96px);
  }

  .service-preview .section-head::after {
    width: min(240px, 20vw);
    height: 7px;
    margin-top: 8px;
    background: var(--acid);
    content: "";
  }

  .service-preview .section-head h2 {
    font-size: clamp(76px, 8vw, 128px);
    line-height: 0.82;
  }

  .catalog-faq {
    background: var(--paper-warm);
  }

  .catalog-faq .split-layout {
    grid-template-columns: minmax(450px, 0.9fr) minmax(580px, 1.1fr);
    gap: clamp(70px, 8vw, 140px);
  }

  .catalog-faq .section-head {
    position: relative;
  }

  .catalog-faq .section-head::after {
    width: 78px;
    height: 7px;
    margin-top: 10px;
    background: var(--orange);
    content: "";
  }

  .catalog-faq .section-head h2 {
    max-width: 620px;
    font-size: clamp(94px, 9vw, 148px);
    line-height: 0.8;
  }

  .catalog-faq .faq-list summary {
    padding-block: 32px;
    font-size: clamp(25px, 2.2vw, 35px);
    line-height: 1.08;
  }

  .catalog-location-cta {
    color: var(--paper);
    border-bottom: 1px solid var(--line-light);
    background: var(--ink);
  }

  .catalog-location-cta .location-cta__grid,
  .catalog-location-cta .location-cta__grid em {
    color: var(--paper);
  }

  .catalog-location-cta .section-eyebrow {
    color: rgba(242, 240, 231, 0.58);
  }

  .mini-package {
    display: grid;
    border: 0;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    column-gap: clamp(50px, 7vw, 120px);
  }

  .mini-package > div {
    display: grid;
    min-height: 138px;
    padding: 28px 0;
    border-top: 1px solid var(--line-light);
    border-right: 0;
    border-bottom: 0;
    align-items: end;
    grid-template-columns: 58px minmax(0, 1fr);
    gap: 20px;
  }

  .mini-package span {
    color: var(--acid);
    font-size: 10px;
    font-weight: 800;
    letter-spacing: 0.12em;
  }

  .mini-package strong {
    font-size: clamp(23px, 2vw, 32px);
    line-height: 1;
  }

  .check-section,
  .warranty-note {
    background: var(--paper-warm);
  }

  .model-page {
    --model-hero-bg: #ece8df;
    --model-hero-ink: var(--ink);
    --model-word: rgba(11, 14, 10, 0.065);
    --model-stage: #e9e5dc;
    --model-proof-bg: var(--ink);
    --model-proof-ink: var(--paper);
    --model-gallery-bg: var(--paper-warm);
    --model-gallery-ink: var(--ink);
    --model-offer-bg: var(--paper-deep);
    --model-proof-bg: #68743a;
    --model-proof-ink: var(--paper);
    --model-gallery-bg: #dedbd1;
    --model-offer-bg: #f0eee5;
    --model-service-bg: #242a18;
    --model-service-accent: var(--acid);
    --model-related-bg: #e3e0d6;
  }

  .model-page[data-model-theme="deep-moss"] {
    --model-hero-bg: #172219;
    --model-hero-ink: var(--paper);
    --model-word: rgba(242, 240, 231, 0.055);
    --model-proof-bg: var(--acid);
    --model-proof-ink: var(--ink);
    --model-gallery-bg: #1f2c21;
    --model-gallery-ink: var(--paper);
    --model-offer-bg: #e5e2d8;
    --model-service-bg: var(--orange);
    --model-service-ink: var(--ink);
    --model-service-accent: var(--ink);
    --model-service-line: rgba(11, 14, 10, 0.25);
    --model-related-bg: #d9ddd3;
    --model-faq-bg: #172219;
    --model-faq-ink: var(--paper);
    --model-faq-muted: rgba(242, 240, 231, 0.7);
    --model-faq-line: rgba(242, 240, 231, 0.22);
  }

  .model-page[data-model-theme="industrial-orange"] {
    --model-hero-bg: var(--orange);
    --model-word: rgba(11, 14, 10, 0.095);
    --model-proof-bg: var(--ink);
    --model-proof-ink: var(--paper);
    --model-gallery-bg: #e2ddd2;
    --model-offer-bg: #151814;
    --model-offer-ink: var(--paper);
    --model-offer-muted: rgba(242, 240, 231, 0.7);
    --model-offer-line: rgba(242, 240, 231, 0.22);
    --model-offer-button: var(--acid);
    --model-offer-button-ink: var(--ink);
    --model-service-bg: var(--acid);
    --model-service-ink: var(--ink);
    --model-service-accent: var(--orange-ink);
    --model-service-line: rgba(11, 14, 10, 0.22);
    --model-related-bg: #ebe7dc;
  }

  .model-page[data-model-theme="sand-acid"] {
    --model-hero-bg: #d3c2a5;
    --model-word: rgba(11, 14, 10, 0.07);
    --model-proof-bg: var(--acid);
    --model-proof-ink: var(--ink);
    --model-gallery-bg: #e9e0cf;
    --model-offer-bg: var(--acid);
    --model-service-bg: #191c17;
    --model-service-accent: var(--acid);
    --model-related-bg: #ddd4c3;
  }

  .model-hero {
    position: relative;
    min-height: max(760px, 100svh);
    overflow: hidden;
    color: var(--model-hero-ink);
    background: var(--model-hero-bg);
  }

  .model-hero__inner {
    position: relative;
    min-height: max(760px, 100svh);
  }

  .model-hero .breadcrumbs {
    position: absolute;
    z-index: 5;
    top: calc(var(--header-height) + 22px);
    left: 0;
    color: rgba(11, 14, 10, 0.72);
  }

  .model-hero--dark .breadcrumbs {
    color: rgba(242, 240, 231, 0.76);
  }

  .model-hero .hero-kicker {
    color: var(--ink-muted);
  }

  .model-hero--dark .hero-kicker {
    color: rgba(242, 240, 231, 0.82);
  }

  .model-hero__word {
    position: absolute;
    z-index: 0;
    top: 46%;
    left: 50%;
    width: max-content;
    color: var(--model-word);
    font-size: clamp(170px, 25vw, 430px);
    font-weight: 900;
    letter-spacing: -0.1em;
    line-height: 0.7;
    white-space: nowrap;
    transform: translate(-51%, -50%);
    user-select: none;
  }

  .model-hero__title {
    position: absolute;
    z-index: 3;
    top: 17%;
    left: 0;
    max-width: min(510px, 39vw);
    min-width: 0;
  }

  .model-hero__title h1 {
    margin-top: 14px;
    font-size: clamp(68px, 8.4vw, 138px);
    font-weight: 760;
    letter-spacing: -0.085em;
    line-height: 0.76;
    overflow-wrap: anywhere;
  }

  .model-hero__title h1 span {
    display: block;
    margin-bottom: 10px;
    font-size: 0.16em;
    font-weight: 800;
    letter-spacing: 0.14em;
    line-height: 1;
    text-transform: uppercase;
  }

  .model-hero__title > p:last-child {
    max-width: 420px;
    margin-top: 24px;
    font-size: clamp(15px, 1.25vw, 18px);
    line-height: 1.48;
    overflow-wrap: anywhere;
  }

  .model-hero__media {
    position: absolute;
    z-index: 1;
    inset: 9% 10% 9% 15%;
    overflow: hidden;
    background: var(--model-stage);
  }

  .model-hero__media img {
    width: 100%;
    height: 100%;
    object-fit: contain;
  }

  .model-page[data-product-slug="u2"] .model-hero__media {
    background: transparent;
  }

  @media (min-width: 1001px) and (max-width: 1439px) {
    .model-page[data-product-slug="u2"] .model-hero__media img {
      transform: scale(1.05);
      transform-origin: 56% 52%;
    }

    .model-page[data-product-slug="u2"] .model-hero__word {
      top: 49%;
      left: 58%;
      font-size: clamp(145px, 17vw, 235px);
    }
  }

  @media (min-width: 1440px) {
    .model-page[data-product-slug="u2"] .model-hero__media img {
      transform: scale(1.14);
      transform-origin: 56% 52%;
    }

    .model-page[data-product-slug="u2"] .model-hero__word {
      top: 49%;
      left: 63%;
      font-size: clamp(150px, 18vw, 320px);
    }
  }

  .model-image-notice {
    position: absolute;
    right: 16px;
    bottom: 12px;
    max-width: calc(100% - 32px);
    padding: 5px 7px;
    color: rgba(11, 14, 10, 0.68);
    background: rgba(242, 240, 231, 0.72);
    font-size: 8px;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
  }

  .model-hero__commercial {
    position: absolute;
    z-index: 4;
    bottom: 28px;
    left: 0;
    display: flex;
    align-items: end;
    gap: 26px;
    min-width: 0;
  }

  .model-hero__price {
    display: grid;
    min-width: 180px;
    gap: 2px;
  }

  .model-hero__price > span,
  .model-hero__color-status > span {
    opacity: 0.68;
    font-size: 9px;
    font-weight: 800;
    letter-spacing: 0.13em;
    text-transform: uppercase;
  }

  .model-hero__price strong {
    font-size: clamp(29px, 3vw, 46px);
    letter-spacing: -0.055em;
  }

  .model-hero__price small,
  .model-color-picker small {
    opacity: 0.7;
    font-size: 10px;
  }

  .model-hero__actions {
    display: flex;
    min-width: 0;
    flex-wrap: wrap;
    gap: 8px;
  }

  .model-page[data-model-variant="vertical"] .model-hero__actions .button--ghost-light {
    color: var(--paper);
    border-color: var(--ink);
    background: var(--ink);
  }

  .model-hero__colors {
    position: absolute;
    z-index: 4;
    top: calc(var(--header-height) + 28px);
    right: 0;
  }

  .model-page[data-model-layout="performance"] .model-hero__colors {
    padding: 12px 14px;
    color: var(--ink);
    background: rgb(242 240 231 / 90%);
    backdrop-filter: blur(8px);
  }

  .model-color-picker {
    margin: 0;
    padding: 0;
    border: 0;
  }

  .model-color-picker legend {
    margin-bottom: 10px;
    font-size: 11px;
    font-weight: 750;
  }

  .model-color-picker output {
    color: currentColor;
    font-weight: 800;
  }

  .model-color-picker__options {
    display: flex;
    gap: 8px;
    margin-bottom: 8px;
  }

  .model-page .color-swatch {
    display: grid;
    width: 44px;
    height: 44px;
    padding: 4px;
    border: 1px solid transparent;
    border-radius: 50%;
    place-items: center;
  }

  .model-page .color-swatch > span {
    width: 100%;
    height: 100%;
    border: 1px solid rgba(11, 14, 10, 0.3);
    background: var(--swatch);
    border-radius: 50%;
  }

  .model-page .color-swatch[data-selected] {
    border-color: currentColor;
  }

  .model-hero__color-status {
    display: grid;
    max-width: 160px;
    gap: 3px;
    text-align: right;
  }

  .model-hero__color-status strong {
    font-size: 13px;
  }

  .model-page[data-model-variant="offset"] .model-hero__title {
    top: 22%;
    max-width: min(430px, 34vw);
  }

  .model-page[data-model-variant="offset"] .model-hero__media {
    inset: 10% -3% 8% 35%;
  }

  .model-page[data-model-variant="offset"] .model-hero__word {
    top: 38%;
    font-size: clamp(135px, 20vw, 330px);
  }

  .model-page[data-model-layout="performance"] .model-hero__media {
    inset: 13% 2% 10% 31%;
    border: 1px solid rgba(242, 240, 231, 0.16);
  }

  .model-page[data-model-layout="performance"] .model-hero__title {
    top: 18%;
    max-width: min(500px, 37vw);
  }

  .model-page[data-model-layout="performance"] .model-color-picker output {
    color: var(--ink);
  }

  .model-page[data-model-variant="vertical"] .model-hero__media {
    inset: 11% -2% 6% 40%;
  }

  .model-page[data-model-variant="vertical"] .model-hero__word {
    top: 51%;
    right: -0.12em;
    left: auto;
    font-size: clamp(120px, 18vw, 300px);
    transform: translateY(-50%) rotate(90deg);
  }

  .model-page[data-model-variant="vertical"] .model-hero__title {
    top: 16%;
    max-width: min(440px, 34vw);
  }

  .model-page[data-model-variant="industrial"] .model-hero::before {
    position: absolute;
    inset: 0 50% 0 0;
    background-image:
      linear-gradient(rgba(11, 14, 10, 0.09) 1px, transparent 1px),
      linear-gradient(90deg, rgba(11, 14, 10, 0.09) 1px, transparent 1px);
    background-size: 44px 44px;
    content: "";
  }

  .model-page[data-model-variant="industrial"] .model-hero__title {
    top: 21%;
    max-width: min(480px, 39vw);
  }

  .model-page[data-model-variant="industrial"] .model-hero__media {
    inset: 0 0 0 50%;
  }

  .model-page[data-model-variant="industrial"] .model-hero__word {
    top: 45%;
    left: 24%;
    font-size: clamp(230px, 34vw, 540px);
  }

  .model-page[data-model-variant="modular"] .model-hero__media {
    inset: 14% -5% 1% 34%;
  }

  .model-page[data-model-variant="modular"] .model-hero__title {
    top: 19%;
    max-width: min(460px, 37vw);
  }

  .model-page[data-model-variant="modular"] .model-hero__word {
    top: 37%;
    font-size: clamp(150px, 22vw, 360px);
  }

  .model-proof {
    color: var(--model-proof-ink);
    background: var(--model-proof-bg);
  }

  .model-proof__grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .model-proof p {
    display: flex;
    align-items: center;
    min-height: 118px;
    padding: 24px clamp(22px, 4vw, 64px);
    border-right: 1px solid currentColor;
    gap: 20px;
    min-width: 0;
  }

  .model-proof p:last-child {
    border-right: 0;
  }

  .model-proof span {
    opacity: 0.78;
    font-size: 10px;
    font-weight: 850;
  }

  .model-proof strong {
    font-size: clamp(16px, 1.55vw, 22px);
    overflow-wrap: anywhere;
  }

  .model-gallery-section {
    color: var(--model-gallery-ink);
    background: var(--model-gallery-bg);
  }

  .model-gallery__heading {
    display: grid;
    align-items: end;
    margin-bottom: clamp(42px, 6vw, 88px);
    grid-template-columns: minmax(120px, 0.35fr) minmax(0, 1fr);
    gap: 32px;
  }

  .model-gallery__heading .section-eyebrow {
    color: currentColor;
    opacity: 0.78;
  }

  .model-gallery__heading h2 {
    max-width: 990px;
    font-size: clamp(54px, 7.4vw, 112px);
    letter-spacing: -0.07em;
    line-height: 0.88;
  }

  .model-gallery {
    display: grid;
    gap: 12px;
  }

  .model-gallery__item {
    position: relative;
    min-width: 0;
    margin: 0;
    overflow: hidden;
    background: var(--model-stage);
  }

  .model-gallery__item img {
    width: 100%;
    height: 100%;
    object-fit: contain;
  }

  .model-gallery__item figcaption {
    position: absolute;
    right: 10px;
    bottom: 10px;
    left: 10px;
    width: max-content;
    max-width: calc(100% - 20px);
    padding: 7px 9px;
    color: var(--paper);
    background: rgba(11, 14, 10, 0.78);
    font-size: 9px;
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
  }

  .model-gallery--mosaic {
    grid-template-columns: repeat(12, 1fr);
    grid-template-rows: repeat(3, minmax(230px, 26vw));
  }

  .model-gallery--mosaic .model-gallery__item--1 {
    grid-area: 1 / 1 / 3 / 8;
  }

  .model-gallery--mosaic .model-gallery__item--2 {
    grid-area: 1 / 8 / 2 / 13;
  }

  .model-gallery--mosaic .model-gallery__item--3 {
    grid-area: 2 / 8 / 3 / 13;
  }

  .model-gallery--mosaic .model-gallery__item--4 {
    grid-area: 3 / 1 / 4 / 13;
  }

  .model-gallery--filmstrip {
    grid-auto-columns: minmax(330px, 42vw);
    grid-auto-flow: column;
    overflow-x: auto;
    padding-bottom: 16px;
    scroll-snap-type: x mandatory;
    scrollbar-color: currentColor transparent;
  }

  .model-gallery--filmstrip .model-gallery__item {
    aspect-ratio: 5 / 4;
    scroll-snap-align: start;
  }

  .model-gallery--stage {
    grid-template-columns: repeat(3, 1fr);
  }

  .model-gallery--stage .model-gallery__item:first-child {
    aspect-ratio: 16 / 7;
    grid-column: 1 / -1;
  }

  .model-gallery--stage .model-gallery__item:not(:first-child) {
    aspect-ratio: 5 / 4;
  }

  .model-gallery--diptych .model-gallery__item {
    width: 72%;
    margin-left: auto;
    aspect-ratio: 5 / 4;
  }

  .model-gallery--editorial-pair .model-gallery__item {
    width: 66%;
    margin-right: auto;
    aspect-ratio: 5 / 4;
  }

  .model-gallery--modules .model-gallery__item {
    width: 76%;
    margin-left: 8%;
    aspect-ratio: 16 / 10;
    border: 22px solid var(--acid);
  }

  .model-offer {
    color: var(--model-offer-ink);
    background: var(--model-offer-bg);
  }

  .model-offer__grid {
    display: grid;
    align-items: start;
    grid-template-columns: minmax(0, 0.82fr) minmax(420px, 1.18fr);
    gap: clamp(60px, 10vw, 160px);
  }

  .model-offer__intro .section-eyebrow {
    color: var(--model-offer-muted);
  }

  .model-offer__intro h2 {
    max-width: 750px;
    margin-top: 22px;
    font-size: clamp(54px, 6.7vw, 102px);
    letter-spacing: -0.075em;
    line-height: 0.88;
  }

  .model-page[data-model-variant="modular"] .model-offer__intro h2 {
    min-width: 0;
    font-size: clamp(48px, 5vw, 78px);
    letter-spacing: -0.065em;
  }

  .model-offer__intro > p:not(.section-eyebrow) {
    max-width: 600px;
    margin-top: 28px;
    color: var(--model-offer-muted);
    font-size: clamp(16px, 1.35vw, 20px);
  }

  .model-offer__intro .button {
    margin-top: 38px;
  }

  .model-offer .button--dark {
    color: var(--model-offer-button-ink);
    background: var(--model-offer-button);
  }

  .model-offer__facts dl {
    border-top: 1px solid var(--model-offer-line);
  }

  .model-offer__facts dl > div {
    display: flex;
    justify-content: space-between;
    gap: 30px;
    padding: 19px 0;
    border-bottom: 1px solid var(--model-offer-line);
  }

  .model-offer__facts dt {
    color: var(--model-offer-muted);
  }

  .model-offer__facts dd {
    text-align: right;
    font-weight: 750;
  }

  .model-offer__facts details {
    border-bottom: 1px solid var(--model-offer-line);
  }

  .model-offer__facts summary {
    position: relative;
    padding: 28px 44px 28px 0;
    cursor: pointer;
    list-style: none;
    font-size: clamp(20px, 2vw, 28px);
    font-weight: 750;
  }

  .model-offer__facts summary::-webkit-details-marker {
    display: none;
  }

  .model-offer__facts summary span,
  .model-offer__facts summary span::after {
    position: absolute;
    top: 50%;
    right: 3px;
    width: 18px;
    height: 1.5px;
    background: currentColor;
    content: "";
  }

  .model-offer__facts summary span::after {
    top: 0;
    right: 0;
    transform: rotate(90deg);
  }

  .model-offer__facts details[open] summary span {
    transform: rotate(45deg);
  }

  .model-offer__facts details > p {
    max-width: 620px;
    padding: 0 42px 20px 0;
    color: var(--model-offer-muted);
  }

  .model-offer__facts details .text-link {
    margin-bottom: 28px;
  }

  .model-service {
    position: relative;
    color: var(--model-service-ink);
    background: var(--model-service-bg);
  }

  .model-service--graphic {
    display: grid;
    min-height: 680px;
    padding-block: clamp(94px, 11vw, 160px);
    align-items: center;
  }

  .model-service__grid {
    display: grid;
    align-items: end;
    grid-template-columns: minmax(0, 1fr) minmax(420px, 0.78fr);
    gap: clamp(70px, 10vw, 160px);
  }

  .model-service .section-eyebrow {
    color: currentColor;
    opacity: 0.82;
  }

  .model-service h2 {
    max-width: 900px;
    margin-top: 22px;
    font-size: clamp(64px, 8vw, 124px);
    letter-spacing: -0.08em;
    line-height: 0.82;
    overflow-wrap: anywhere;
  }

  .model-service__grid > div > p:not(.section-eyebrow) {
    max-width: 520px;
    margin-top: 30px;
    opacity: 0.86;
    font-size: clamp(16px, 1.4vw, 20px);
  }

  .model-service .text-link {
    margin-top: 34px;
    color: var(--model-service-accent);
  }

  .model-service ol {
    border-top: 1px solid var(--model-service-line);
  }

  .model-service ol li {
    display: flex;
    align-items: center;
    justify-content: space-between;
    min-height: 92px;
    border-bottom: 1px solid var(--model-service-line);
    gap: 24px;
  }

  .model-service ol span {
    color: var(--model-service-accent);
    font-size: 10px;
    font-weight: 850;
  }

  .model-service ol strong {
    font-size: clamp(21px, 2vw, 30px);
  }

  .model-service--photo {
    display: grid;
    min-height: 820px;
    grid-template-columns: minmax(0, 1.35fr) minmax(360px, 0.65fr);
  }

  .model-service__photos {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
  }

  .model-service__photos figure {
    position: relative;
    min-height: 360px;
    margin: 0;
    overflow: hidden;
  }

  .model-service__photos figure:first-child {
    grid-column: 1 / -1;
  }

  .model-service__photos img {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }

  .model-service__photos figcaption {
    position: absolute;
    right: 14px;
    bottom: 12px;
    padding: 6px 8px;
    color: var(--paper);
    background: rgba(11, 14, 10, 0.76);
    font-size: 9px;
    text-transform: uppercase;
  }

  .model-service__photo-copy {
    display: flex;
    justify-content: flex-end;
    padding: clamp(50px, 7vw, 100px);
    flex-direction: column;
  }

  .model-service__photo-copy h2 {
    font-size: clamp(54px, 6vw, 90px);
  }

  .model-page .related-models {
    background: var(--model-related-bg);
  }

  .model-page .faq-section {
    color: var(--model-faq-ink);
    background: var(--model-faq-bg);
  }

  .model-page .faq-section .section-eyebrow {
    color: var(--model-faq-muted);
  }

  .model-page .faq-list,
  .model-page .faq-list details {
    border-color: var(--model-faq-line);
  }

  .model-page .faq-list details > p {
    color: var(--model-faq-muted);
  }

  .use-case-list {
    border-top: 1px solid var(--line);
  }

  .use-case-list > div {
    display: grid;
    padding: 25px 0;
    border-bottom: 1px solid var(--line);
    grid-template-columns: 60px minmax(200px, 0.65fr) minmax(0, 1fr);
    gap: 20px;
  }

  .use-case-list span {
    color: var(--moss-ink);
    font-size: 10px;
    font-weight: 800;
  }

  .use-case-list :is(h2, h3) {
    font-size: 26px;
  }

  .use-case-list p {
    color: var(--ink-muted);
  }

  .transport-repair,
  .repair-directions,
  .issue-detail {
    background: var(--paper);
  }

  .transport-list,
  .direction-list {
    border-top: 1px solid var(--line);
  }

  .transport-list a,
  .direction-list a {
    display: grid;
    align-items: center;
    min-height: 150px;
    padding: 26px 0;
    border-bottom: 1px solid var(--line);
    grid-template-columns: 70px minmax(260px, 0.75fr) minmax(260px, 1.25fr) 28px;
    gap: 24px;
    transition: padding 0.35s var(--ease-out);
  }

  .direction-list a {
    grid-template-columns: 70px 1fr 28px;
  }

  .transport-list a:hover,
  .direction-list a:hover {
    padding-inline: 22px;
    background: var(--acid);
  }

  .transport-list > a > span,
  .direction-list > a > span {
    color: var(--muted);
    font-size: 10px;
    font-weight: 800;
  }

  .transport-list :is(h2, h3),
  .direction-list :is(h2, h3) {
    min-width: 0;
    font-size: clamp(31px, 3.25vw, 50px);
    letter-spacing: -0.045em;
    line-height: 0.95;
    hyphens: none;
    overflow-wrap: break-word;
  }

  .transport-list p,
  .direction-list p {
    color: var(--ink-muted);
  }

}

@layer pages {
  .u2-pro-page {
    --u2-paper: var(--paper);
    --u2-ink: var(--ink);
    color: var(--u2-ink);
    background: var(--u2-paper);
    overflow: clip;
  }

  .u2-pro-hero {
    position: relative;
    height: 100svh;
    min-height: 720px;
    overflow: hidden;
    isolation: isolate;
    color: var(--paper);
  }

  .u2-pro-hero::after {
    position: absolute;
    z-index: 1;
    inset: 42% 0 0;
    background: linear-gradient(180deg, rgba(11, 14, 10, 0) 0%, rgba(11, 14, 10, 0.58) 100%);
    content: "";
    pointer-events: none;
  }

  .u2-pro-hero__media {
    z-index: 1;
    display: block;
    height: 100%;
    background-color: var(--u2-ink);
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
  }

  .u2-pro-page[data-product-slug="u2-pro"] .u2-pro-hero__media {
    background-image: url("/public/images/models/u2-pro/hero/u2-pro-hero-composite-desktop-1600.webp");
  }

  .u2-pro-page[data-product-slug="u2"] .u2-pro-hero__media {
    background-image: url("/public/images/models/strong-u2/hero/strong-u2-hero-desktop-1600.webp");
  }

  .u2-pro-hero__media img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center 58%;
  }

  .u2-pro-hero__picture {
    display: block;
    height: 100%;
  }

  @media (max-width: 760px) {
    .u2-pro-hero__media--mobile-placeholder > .u2-pro-hero__picture {
      display: none;
    }
  }

  .u2-pro-hero__content {
    position: absolute;
    z-index: 2;
    inset: 0;
    display: flex;
    align-items: end;
    justify-content: space-between;
    height: 100%;
    padding-bottom: 32px;
    gap: 24px;
  }

  .u2-pro-hero__brand {
    margin-bottom: 8px;
    font-size: clamp(24px, 2.7vw, 38px);
    font-weight: 800;
    letter-spacing: -0.055em;
    line-height: 0.86;
    text-transform: uppercase;
  }

  .u2-pro-hero__notice {
    max-width: 360px;
    margin-top: 12px;
    color: rgba(242, 240, 231, 0.72);
    font-size: 10px;
    line-height: 1.35;
  }

  .u2-pro-hero__title h1 {
    font-size: clamp(38px, 4.2vw, 60px);
    letter-spacing: -0.075em;
    line-height: 0.88;
  }

  .u2-pro-hero__price {
    display: flex;
    align-items: baseline;
    gap: 10px;
    margin-top: 14px;
    color: var(--paper);
  }

  .u2-pro-hero__price > span {
    color: rgba(242, 240, 231, 0.72);
    font-size: 10px;
    font-weight: 800;
    letter-spacing: 0.12em;
    line-height: 1;
    text-transform: uppercase;
  }

  .u2-pro-hero__price strong {
    font-size: clamp(20px, 2.05vw, 30px);
    font-weight: 700;
    letter-spacing: -0.045em;
    line-height: 1;
    white-space: nowrap;
  }

  .u2-pro-hero__cta {
    display: inline-flex;
    align-items: center;
    min-height: 48px;
    padding: 0 2px;
    border-bottom: 1px solid currentColor;
    gap: 24px;
    font-size: 13px;
    font-weight: 750;
  }

  .u2-pro-hero__cta svg {
    width: 18px;
    fill: none;
    stroke: currentColor;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 1.5;
  }

  .u2-pro-hero__cta:focus-visible {
    outline: 2px solid var(--acid);
    outline-offset: 5px;
  }

  .u2-pro-specs {
    min-height: 100svh;
    background: var(--u2-paper);
  }

  .u2-pro-specs__stage {
    position: relative;
    min-height: max(760px, 100svh);
    padding-block: clamp(96px, 10vw, 144px) 56px;
  }

  .u2-pro-specs__media {
    position: absolute;
    inset: 17% 20% 2%;
  }

  .u2-pro-specs__media img {
    width: 100%;
    height: 100%;
    object-fit: contain;
  }

  .u2-pro-specs__item {
    position: absolute;
    z-index: 2;
    max-width: 260px;
  }

  .u2-pro-specs__item--1 {
    top: 20%;
    left: 0;
  }

  .u2-pro-specs__item--2 {
    top: 20%;
    right: 0;
    text-align: right;
  }

  .u2-pro-specs__item--3 {
    bottom: 12%;
    left: 0;
  }

  .u2-pro-specs__item--4 {
    right: 0;
    bottom: 12%;
    text-align: right;
  }

  .u2-pro-specs__item p {
    display: flex;
    align-items: baseline;
    justify-content: inherit;
    gap: 8px;
    white-space: nowrap;
  }

  .u2-pro-specs__item--2 p,
  .u2-pro-specs__item--4 p {
    justify-content: flex-end;
  }

  .u2-pro-specs__item p > span {
    font-size: clamp(14px, 1.25vw, 18px);
    font-weight: 750;
  }

  .u2-pro-specs__item strong {
    display: inline-flex;
    align-items: flex-start;
    font-size: clamp(56px, 6.6vw, 104px);
    font-weight: 790;
    letter-spacing: -0.075em;
    line-height: 1.25;
  }

  .u2-pro-specs__item small {
    display: block;
    margin-top: 12px;
    color: var(--ink-muted);
    font-size: 11px;
  }

  .u2-pro-odometer__digit {
    display: inline-block;
    height: 1.25em;
    overflow: hidden;
    letter-spacing: 0;
    line-height: 1.25em;
  }

  .u2-pro-odometer__reel {
    display: flex;
    flex-direction: column;
    transform: translateY(0);
    transition: transform 1.05s cubic-bezier(0.12, 0.74, 0.2, 1) var(--u2-odometer-delay);
  }

  .u2-pro-odometer__reel > span {
    display: block;
    height: 1.25em;
    flex: 0 0 1.25em;
    line-height: 1.25em;
  }

  [data-editorial-odometer].is-running .u2-pro-odometer__reel {
    transform: translateY(calc(var(--u2-odometer-step) * -1.25em));
  }

  .u2-pro-odometer__separator {
    line-height: 1.25;
  }

  .wish-story {
    position: relative;
    min-height: 92svh;
    overflow: hidden;
    padding-block: clamp(112px, 12vw, 184px);
    background: var(--u2-paper);
  }

  .wish-story::before {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 62%;
    width: 1px;
    background: var(--line);
    content: "";
  }

  .wish-story::after {
    position: absolute;
    right: -0.06em;
    bottom: -0.11em;
    color: rgba(11, 14, 10, 0.045);
    content: "2026";
    font-size: clamp(170px, 25vw, 390px);
    font-weight: 850;
    letter-spacing: -0.11em;
    line-height: 0.78;
    pointer-events: none;
  }

  .wish-story__grid {
    position: relative;
    z-index: 1;
    display: grid;
    min-height: 62svh;
    align-items: end;
    grid-template-columns: minmax(0, 1.35fr) minmax(300px, 0.65fr);
    gap: clamp(64px, 9vw, 144px);
  }

  .wish-story__heading > p,
  .wish-terrain__heading > p,
  .wish-control__heading > p {
    margin-bottom: 22px;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: 0.14em;
    text-transform: uppercase;
  }

  .wish-story__heading h2 {
    max-width: 980px;
    font-size: clamp(70px, 8.6vw, 132px);
    letter-spacing: -0.085em;
    line-height: 0.84;
  }

  .wish-story__copy {
    max-width: 470px;
    padding-bottom: 8px;
    font-size: clamp(17px, 1.35vw, 21px);
    line-height: 1.48;
  }

  .wish-story__copy p + p {
    margin-top: 28px;
    padding-top: 28px;
    border-top: 1px solid var(--line);
  }

  .wish-terrain {
    min-height: 100svh;
    padding-block: clamp(104px, 11vw, 168px);
    color: var(--paper);
    background: var(--u2-ink);
  }

  .wish-terrain__shell {
    display: grid;
    min-height: 72svh;
    align-content: space-between;
    gap: clamp(88px, 11vw, 164px);
  }

  .wish-terrain__heading {
    display: grid;
    align-items: end;
    grid-template-columns: minmax(160px, 0.38fr) minmax(0, 1fr);
    gap: 40px;
  }

  .wish-terrain__heading > p {
    margin: 0 0 10px;
    color: var(--orange);
  }

  .wish-terrain__heading h2 {
    max-width: 960px;
    font-size: clamp(64px, 8vw, 122px);
    letter-spacing: -0.08em;
    line-height: 0.84;
  }

  .wish-terrain__routes {
    display: grid;
    border-top: 1px solid rgba(242, 240, 231, 0.28);
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .wish-terrain__routes article {
    position: relative;
    min-height: 290px;
    padding: 28px clamp(28px, 4vw, 64px) 0 0;
  }

  .wish-terrain__routes article + article {
    padding-right: 0;
    padding-left: clamp(28px, 4vw, 64px);
    border-left: 1px solid rgba(242, 240, 231, 0.28);
  }

  .wish-terrain__routes span {
    color: var(--orange);
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 0.12em;
  }

  .wish-terrain__routes h3 {
    margin-top: 34px;
    font-size: clamp(54px, 6vw, 92px);
    letter-spacing: -0.07em;
    line-height: 0.86;
  }

  .wish-terrain__routes p {
    max-width: 480px;
    margin-top: 26px;
    color: rgba(242, 240, 231, 0.7);
    font-size: clamp(15px, 1.2vw, 19px);
    line-height: 1.5;
  }

  .wish-control {
    min-height: 100svh;
    padding-block: clamp(104px, 11vw, 168px);
    color: var(--ink);
    background: var(--orange);
  }

  .wish-control__grid {
    display: grid;
    align-items: start;
    grid-template-columns: minmax(280px, 0.68fr) minmax(0, 1.32fr);
    gap: clamp(64px, 10vw, 156px);
  }

  .wish-control__heading {
    position: sticky;
    top: calc(var(--header-height) + 32px);
  }

  .wish-control__heading h2 {
    max-width: 520px;
    font-size: clamp(64px, 6.8vw, 104px);
    letter-spacing: -0.08em;
    line-height: 0.84;
  }

  .wish-control__list {
    margin: 0;
    padding: 0;
    list-style: none;
  }

  .wish-control__list li {
    display: grid;
    min-height: 154px;
    align-items: start;
    padding-block: 28px;
    border-top: 1px solid rgba(11, 14, 10, 0.34);
    grid-template-columns: 48px minmax(160px, 0.72fr) minmax(220px, 1fr);
    gap: 24px;
  }

  .wish-control__list li:last-child {
    border-bottom: 1px solid rgba(11, 14, 10, 0.34);
  }

  .wish-control__list span {
    padding-top: 7px;
    font-size: 10px;
    font-weight: 850;
    letter-spacing: 0.12em;
  }

  .wish-control__list h3 {
    font-size: clamp(28px, 2.7vw, 42px);
    letter-spacing: -0.055em;
    line-height: 0.94;
  }

  .wish-control__list p {
    max-width: 430px;
    padding-top: 3px;
    font-size: clamp(15px, 1.2vw, 18px);
    line-height: 1.45;
  }

  .u2-pro-comfort {
    --u2-comfort-stage-width: min(1340px, 90vw);
    --u2-comfort-wide-scale: 1;
    --u2-comfort-wide-y: 0px;
    --u2-comfort-vertical: 0;
    --u2-comfort-vertical-y: 140px;
    --u2-comfort-copy: 0;
    --u2-comfort-detail: 0;
    --u2-comfort-detail-y: 70px;
    --u2-comfort-copy-gap: clamp(24px, 2vw, 32px);
    --u2-comfort-overlap: clamp(120px, 10vw, 180px);
    position: relative;
    background: var(--u2-paper);
  }

  .u2-pro-media-placeholder {
    display: grid;
    width: 100%;
    height: 100%;
    min-height: 220px;
    place-items: center;
    padding: 24px;
    color: var(--ink-muted);
    border: 1px solid var(--line);
    background: #e3e0d6;
    text-align: center;
  }

  .u2-pro-media-placeholder span {
    max-width: 280px;
    font-size: 10px;
    font-weight: 750;
    letter-spacing: 0.1em;
    line-height: 1.45;
    text-transform: uppercase;
  }

  .u2-pro-hero__media > .u2-pro-media-placeholder {
    min-height: 100%;
    color: rgba(242, 240, 231, 0.68);
    border: 0;
    background: var(--ink-muted);
  }

  .u2-pro-media-placeholder--hero-mobile {
    display: none;
  }

  .u2-pro-comfort .u2-pro-media-placeholder {
    color: rgba(242, 240, 231, 0.62);
    border-color: rgba(242, 240, 231, 0.24);
    background: #181b17;
  }

  .u2-pro-comfort__intro {
    display: grid;
    justify-items: center;
    padding-block: clamp(96px, 10vw, 156px) clamp(68px, 7vw, 108px);
    text-align: center;
  }

  .u2-pro-comfort__brand {
    margin: 0;
    font-size: clamp(34px, 4.4vw, 64px);
    font-weight: 750;
    letter-spacing: -0.085em;
    line-height: 0.86;
  }

  .u2-pro-comfort__intro h2 {
    margin: 12px 0 0;
    font-size: clamp(76px, 10.8vw, 154px);
    letter-spacing: -0.105em;
    line-height: 0.78;
  }

  .u2-pro-comfort__mosaic {
    position: relative;
    overflow: clip;
    isolation: isolate;
    padding-bottom: clamp(140px, 13vw, 220px);
    background: var(--u2-paper);
  }

  .u2-pro-comfort__mosaic::before {
    position: absolute;
    z-index: 0;
    top: clamp(300px, 29vw, 460px);
    right: 0;
    bottom: 0;
    left: 0;
    background: var(--u2-ink);
    content: "";
    pointer-events: none;
  }

  .u2-pro-comfort__wide-frame {
    position: relative;
    z-index: 2;
    width: var(--u2-comfort-stage-width);
    aspect-ratio: 16 / 9;
    margin: 0 auto;
    overflow: hidden;
    background: var(--u2-ink);
    transform-origin: left bottom;
  }

  .u2-pro-comfort__wide {
    position: absolute;
    inset: 0;
    margin: 0;
    overflow: hidden;
  }

  .u2-pro-comfort.is-motion-ready .u2-pro-comfort__wide-frame {
    transform: translate3d(0, var(--u2-comfort-wide-y), 0) scale(var(--u2-comfort-wide-scale));
    will-change: transform;
  }

  .u2-pro-comfort__wide img,
  .u2-pro-comfort__vertical img,
  .u2-pro-comfort__detail img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
  }

  .u2-pro-comfort__composition {
    position: relative;
    z-index: 1;
    display: grid;
    width: var(--u2-comfort-stage-width);
    align-items: start;
    padding-top: clamp(32px, 2vw, 36px);
    padding-bottom: clamp(12px, 2vw, 32px);
    color: var(--paper);
    column-gap: clamp(56px, 6vw, 96px);
    grid-template-areas:
      "copy vertical"
      "detail vertical";
    grid-template-columns: minmax(0, 1fr) minmax(320px, 0.74fr);
    row-gap: clamp(56px, 7vw, 104px);
    pointer-events: none;
  }

  .u2-pro-comfort__copy {
    grid-area: copy;
    width: min(100%, 468px);
    max-width: 468px;
    margin-left: 0;
    position: relative;
    z-index: 1;
  }

  .u2-pro-comfort__copy h3 {
    margin: 0;
    font-size: clamp(48px, 3.65vw, 64px);
    letter-spacing: -0.055em;
    line-height: 1.04;
  }

  .u2-pro-comfort__copy > p:last-child {
    max-width: 468px;
    margin-top: 24px;
    color: rgba(242, 240, 231, 0.78);
    font-size: clamp(16px, 1.22vw, 21px);
    line-height: 1.45;
  }

  .u2-pro-comfort__vertical,
  .u2-pro-comfort__detail {
    position: relative;
    margin: 0;
    overflow: hidden;
  }

  .u2-pro-comfort__vertical {
    grid-area: vertical;
    z-index: 3;
    width: min(100%, 520px);
    aspect-ratio: 2 / 3;
    justify-self: end;
  }

  .u2-pro-comfort__detail {
    grid-area: detail;
    z-index: 2;
    width: min(100%, 680px);
    aspect-ratio: 16 / 9;
  }

  .u2-pro-comfort.is-motion-ready .u2-pro-comfort__vertical {
    opacity: var(--u2-comfort-vertical);
    transform: translate3d(0, var(--u2-comfort-vertical-y), 0);
    will-change: opacity, transform;
  }

  .u2-pro-comfort.is-motion-ready .u2-pro-comfort__copy {
    opacity: var(--u2-comfort-copy);
    transform: translate3d(calc((1 - var(--u2-comfort-copy)) * -54px), 0, 0);
    will-change: opacity, transform;
  }

  .u2-pro-comfort.is-motion-ready .u2-pro-comfort__detail {
    opacity: var(--u2-comfort-detail);
    transform: translate3d(0, var(--u2-comfort-detail-y), 0);
    will-change: opacity, transform;
  }

  .u2-pro-practicality {
    min-height: 100svh;
    padding-block: clamp(88px, 9vw, 136px);
    background: var(--u2-paper);
  }

  .u2-pro-practicality__stage {
    position: relative;
    aspect-ratio: 1000 / 650;
  }

  .u2-pro-practicality__media {
    position: absolute;
    inset: 0 0 0 auto;
    width: 80%;
    margin: 0;
  }

  .u2-pro-practicality__media img {
    width: 100%;
    height: 100%;
    object-fit: contain;
  }

  .u2-pro-practicality__lines {
    position: absolute;
    z-index: 2;
    inset: 0;
    width: 100%;
    height: 100%;
    overflow: visible;
    pointer-events: none;
  }

  .u2-pro-practicality__lines path {
    fill: none;
    stroke: var(--ink);
    stroke-dasharray: 1;
    stroke-dashoffset: 0;
    stroke-linecap: square;
    stroke-linejoin: miter;
    stroke-width: 1.6;
    shape-rendering: geometricPrecision;
    vector-effect: non-scaling-stroke;
    transition: stroke-dashoffset 1.05s var(--ease-out);
  }

  .u2-pro-practicality__lines path:nth-child(2) {
    transition-delay: 0.18s;
  }

  .u2-pro-practicality__lines path:nth-child(3) {
    transition-delay: 0.36s;
  }

  .u2-pro-practicality__marker {
    fill: var(--orange);
    opacity: 0;
    transform: scale(0.35);
    transform-box: fill-box;
    transform-origin: center;
    transition: opacity 0.35s ease, transform 0.55s var(--ease-out);
  }

  .u2-pro-practicality__marker--seat {
    transition-delay: 0.82s;
  }

  .u2-pro-practicality__marker--case {
    transition-delay: 1s;
  }

  .u2-pro-practicality__marker--wheel {
    transition-delay: 1.18s;
  }

  .u2-pro-practicality__note {
    --u2-note-delay: 0.24s;
    --u2-note-offset: -32px;
    position: absolute;
    z-index: 3;
    left: 0;
    width: fit-content;
    max-width: min(200px, 20%);
    padding-block: 8px;
    background: var(--u2-paper);
    transition: opacity 0.65s var(--ease-out) var(--u2-note-delay), transform 0.65s var(--ease-out) var(--u2-note-delay);
  }

  .u2-pro-practicality__note--seat {
    top: 14%;
    max-width: min(185px, 20%);
  }

  .u2-pro-practicality__note--case {
    --u2-note-delay: 0.42s;
    top: 5%;
    left: calc(65% - min(120px, 11%));
    width: min(240px, 22%);
    max-width: min(240px, 22%);
    background: var(--u2-paper);
    text-align: center;
  }

  .u2-pro-practicality__note--case p {
    margin-inline: auto;
  }

  .u2-pro-practicality__note--wheel {
    --u2-note-delay: 0.6s;
    top: 74%;
  }

  .u2-pro-practicality__note h3 {
    font-size: clamp(28px, 3.2vw, 50px);
    letter-spacing: -0.06em;
    line-height: 0.9;
  }

  .u2-pro-practicality__note p {
    max-width: 220px;
    margin-top: 9px;
    color: var(--ink-muted);
    font-size: 12px;
    line-height: 1.4;
  }

  .js .u2-pro-practicality:not(.is-visible) .u2-pro-practicality__lines path {
    stroke-dashoffset: 1;
  }

  .js .u2-pro-practicality:not(.is-visible) :is(.u2-pro-practicality__note, .u2-pro-practicality__marker) {
    opacity: 0;
  }

  .js .u2-pro-practicality:not(.is-visible) .u2-pro-practicality__note {
    transform: translate3d(var(--u2-note-offset), 0, 0);
  }

  .js .u2-pro-practicality:not(.is-visible) .u2-pro-practicality__marker {
    transform: scale(0.35);
  }

  .u2-pro-practicality.is-visible .u2-pro-practicality__marker {
    opacity: 1;
    transform: scale(1);
  }

  .u2-pro-lead {
    min-height: 78svh;
    padding-block: clamp(96px, 11vw, 164px);
    scroll-margin-top: var(--header-height);
    color: var(--paper);
    background: var(--u2-ink);
  }

  .u2-pro-lead__grid {
    display: grid;
    align-items: end;
    grid-template-columns: minmax(0, 1fr) minmax(420px, 0.72fr);
    gap: clamp(60px, 10vw, 160px);
  }

  .u2-pro-lead__copy > p {
    margin-bottom: 18px;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: 0.13em;
    text-transform: uppercase;
  }

  .u2-pro-lead__copy h2 {
    max-width: 850px;
    font-size: clamp(62px, 8vw, 124px);
    letter-spacing: -0.085em;
    line-height: 0.82;
  }

  .u2-pro-lead__form {
    display: grid;
    padding-top: 28px;
    border-top: 1px solid rgba(242, 240, 231, 0.32);
    gap: 18px;
  }

  .u2-pro-lead__form .text-field {
    display: grid;
    gap: 8px;
  }

  .u2-pro-lead__form .text-field > span {
    font-size: 10px;
    font-weight: 800;
    letter-spacing: 0.12em;
    text-transform: uppercase;
  }

  .u2-pro-lead__form .text-field input {
    width: 100%;
    min-height: 62px;
    padding: 14px 0;
    color: var(--paper);
    border: 0;
    border-bottom: 1px solid rgba(242, 240, 231, 0.44);
    border-radius: 0;
    outline: 0;
    background: transparent;
    font-size: clamp(22px, 2.4vw, 34px);
  }

  .u2-pro-lead__form .text-field input::placeholder {
    color: rgba(242, 240, 231, 0.4);
  }

  .u2-pro-lead__form .text-field input:focus {
    border-color: var(--acid);
  }

  .u2-pro-lead__form .text-field input:focus-visible {
    outline: 2px solid var(--acid);
    outline-offset: 5px;
  }

  .u2-pro-lead__form .text-field small {
    color: rgba(242, 240, 231, 0.62);
    font-size: 11px;
  }

  .u2-pro-lead__form .form-submit {
    width: 100%;
    min-height: 58px;
    margin-top: 8px;
    color: var(--ink);
    border: 0;
    background: var(--acid);
  }

  .u2-pro-lead__form .form-submit:focus-visible {
    outline: 2px solid var(--paper);
    outline-offset: 4px;
  }

  .u2-pro-lead__form .form-legal,
  .u2-pro-lead__form .form-legal a {
    color: rgba(242, 240, 231, 0.64);
  }

  .u2-pro-lead__form .form-message:is(.is-error, .is-success) {
    margin-bottom: 4px;
    padding: 14px;
  }

  .u2-pro-page .related-models {
    background: #e3e0d6;
  }

  @media (max-width: 1000px) {
    .u2-pro-hero {
      min-height: 680px;
    }

    .u2-pro-specs__stage {
      display: grid;
      min-height: 0;
      padding-block: 92px;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: 28px 22px;
    }

    .u2-pro-specs__media {
      grid-column: 1 / -1;
    }

    .u2-pro-specs__media,
    .u2-pro-specs__item {
      position: relative;
      inset: auto;
    }

    .u2-pro-specs__media {
      height: min(112vw, 620px);
      margin-block: 10px 8px;
    }

    .u2-pro-specs__item,
    .u2-pro-specs__item--2,
    .u2-pro-specs__item--4 {
      max-width: none;
      text-align: left;
    }

    .u2-pro-specs__item--2 p,
    .u2-pro-specs__item--4 p {
      justify-content: flex-start;
    }

    .u2-pro-specs__item strong {
      font-size: clamp(54px, 10vw, 84px);
    }

    .wish-story {
      min-height: 0;
      padding-block: 112px;
    }

    .wish-story::before {
      left: 24px;
    }

    .wish-story__grid {
      min-height: 0;
      grid-template-columns: 1fr;
      gap: 72px;
    }

    .wish-story__copy {
      width: min(70%, 620px);
      max-width: none;
      justify-self: end;
    }

    .wish-terrain {
      min-height: 0;
      padding-block: 112px;
    }

    .wish-terrain__shell {
      min-height: 0;
    }

    .wish-terrain__heading {
      grid-template-columns: 1fr;
      gap: 22px;
    }

    .wish-control {
      min-height: 0;
      padding-block: 112px;
    }

    .wish-control__grid {
      grid-template-columns: 1fr;
      gap: 76px;
    }

    .wish-control__heading {
      position: relative;
      top: auto;
    }

    .wish-control__heading h2 {
      max-width: 760px;
    }

    .u2-pro-comfort {
      --u2-comfort-stage-width: calc(100% - 48px);
      padding-block: 0 96px;
    }

    .u2-pro-comfort__intro {
      padding-block: clamp(82px, 11vw, 112px) clamp(56px, 7vw, 82px);
    }

    .u2-pro-comfort__brand {
      font-size: clamp(32px, 5.2vw, 52px);
    }

    .u2-pro-comfort__intro h2 {
      font-size: clamp(68px, 12vw, 112px);
    }

    .u2-pro-comfort__mosaic {
      padding-bottom: 100px;
    }

    .u2-pro-comfort__mosaic::before {
      top: clamp(214px, 31vw, 300px);
    }

    .u2-pro-comfort__wide-frame {
      width: var(--u2-comfort-stage-width);
    }

    .u2-pro-comfort__composition {
      display: grid;
      width: var(--u2-comfort-stage-width);
      padding-top: 32px;
      column-gap: 40px;
      grid-template-areas:
        "copy vertical"
        "detail vertical";
      grid-template-columns: minmax(0, 1fr) minmax(260px, 0.72fr);
      row-gap: 64px;
    }

    .u2-pro-comfort__vertical {
      width: min(100%, 360px);
    }

    .u2-pro-comfort__copy {
      width: min(100%, 520px);
      max-width: 100%;
      margin-left: 0;
    }

    .u2-pro-comfort__detail {
      width: min(100%, 620px);
    }

    .u2-pro-practicality {
      min-height: 0;
    }

    .u2-pro-practicality__stage {
      display: grid;
      aspect-ratio: auto;
      gap: 0;
    }

    .u2-pro-practicality__media {
      position: relative;
      inset: auto;
      width: 100%;
      height: min(66vw, 590px);
      margin-bottom: 30px;
    }

    .u2-pro-practicality__lines {
      display: none;
    }

    .u2-pro-practicality__note {
      position: relative;
      top: auto;
      left: auto;
      width: 100%;
      max-width: 100%;
      padding: 24px 0;
      border-top: 1px solid var(--line);
      background: transparent;
    }

    .u2-pro-practicality__note--case {
      top: auto;
      left: auto;
      width: 100%;
      text-align: left;
    }

    .u2-pro-practicality__note--case p {
      margin-inline: 0;
    }

    .u2-pro-practicality__note::after {
      display: block;
      width: 100%;
      height: 1px;
      margin-top: 20px;
      background: var(--ink);
      content: "";
      transform: scaleX(1);
      transform-origin: left;
      transition: transform 0.8s var(--ease-out);
    }

    .js .u2-pro-practicality:not(.is-visible) .u2-pro-practicality__note::after {
      transform: scaleX(0);
    }

    .u2-pro-practicality__note p {
      max-width: 380px;
    }

    .u2-pro-lead__grid {
      grid-template-columns: 1fr;
      gap: 70px;
    }
  }

  @media (max-width: 760px) {
    .u2-pro-hero {
      height: auto;
      min-height: 0;
      aspect-ratio: 941 / 1672;
    }

    .u2-pro-hero__media img {
      object-position: center;
    }

    .u2-pro-page[data-product-slug="u2-pro"] .u2-pro-hero__media {
      background-image: url("/public/images/models/u2-pro/hero/u2-pro-hero-composite-mobile-960.webp");
    }

    .u2-pro-page[data-product-slug="u2"] .u2-pro-hero__media {
      background-image: url("/public/images/models/strong-u2/hero/strong-u2-hero-mobile-941.webp");
    }

    .u2-pro-hero__content {
      padding-bottom: 22px;
      gap: 16px;
    }

    .u2-pro-hero__brand {
      margin-bottom: 6px;
      font-size: 24px;
    }

    .u2-pro-hero__notice {
      max-width: 220px;
      margin-top: 8px;
      font-size: 8px;
    }

    .u2-pro-hero__title h1 {
      font-size: 34px;
    }

    .u2-pro-hero__price {
      gap: 8px;
      margin-top: 10px;
    }

    .u2-pro-hero__price > span {
      font-size: 9px;
    }

    .u2-pro-hero__price strong {
      font-size: clamp(20px, 5.5vw, 24px);
    }

    .u2-pro-hero__cta {
      min-height: 44px;
      gap: 12px;
      font-size: 12px;
    }

    .u2-pro-specs__stage {
      padding-block: 78px;
      gap: 30px 16px;
    }

    .u2-pro-specs__media {
      width: calc(100% + 32px);
      height: min(112vw, 480px);
      margin: 2px -16px 0;
    }

    .u2-pro-specs__item p {
      display: block;
      white-space: normal;
    }

    .u2-pro-specs__item p > span {
      display: block;
      margin-bottom: 5px;
      font-size: 11px;
    }

    .u2-pro-specs__item p > span:last-child {
      display: inline;
      margin-left: 4px;
    }

    .u2-pro-specs__item strong {
      font-size: clamp(40px, 12vw, 58px);
    }

    .u2-pro-specs__item small {
      margin-top: 9px;
      font-size: 10px;
      line-height: 1.35;
    }

    .u2-pro-media-placeholder--hero-desktop {
      display: none;
    }

    .u2-pro-media-placeholder--hero-mobile {
      display: grid;
    }

    .wish-story {
      padding-block: 90px;
    }

    .wish-story::before {
      display: none;
    }

    .wish-story::after {
      right: -0.02em;
      bottom: -0.04em;
      font-size: 44vw;
    }

    .wish-story__grid {
      gap: 54px;
    }

    .wish-story__heading > p,
    .wish-terrain__heading > p,
    .wish-control__heading > p {
      margin-bottom: 18px;
    }

    .wish-story__heading h2 {
      font-size: clamp(56px, 16vw, 78px);
    }

    .wish-story__copy {
      width: 100%;
      font-size: 16px;
    }

    .wish-story__copy p + p {
      margin-top: 22px;
      padding-top: 22px;
    }

    .wish-terrain {
      padding-block: 90px;
    }

    .wish-terrain__shell {
      gap: 76px;
    }

    .wish-terrain__heading h2 {
      font-size: clamp(58px, 16vw, 78px);
    }

    .wish-terrain__routes {
      grid-template-columns: 1fr;
    }

    .wish-terrain__routes article {
      min-height: 0;
      padding: 26px 0 48px;
    }

    .wish-terrain__routes article + article {
      padding: 26px 0 0;
      border-top: 1px solid rgba(242, 240, 231, 0.28);
      border-left: 0;
    }

    .wish-terrain__routes h3 {
      margin-top: 28px;
      font-size: clamp(54px, 15vw, 72px);
    }

    .wish-terrain__routes p {
      margin-top: 22px;
      font-size: 15px;
    }

    .wish-control {
      padding-block: 90px;
    }

    .wish-control__grid {
      gap: 58px;
    }

    .wish-control__heading h2 {
      font-size: clamp(58px, 16vw, 78px);
    }

    .wish-control__list li {
      min-height: 0;
      padding-block: 24px;
      grid-template-columns: 34px minmax(0, 1fr);
      gap: 10px 16px;
    }

    .wish-control__list h3 {
      font-size: 30px;
    }

    .wish-control__list p {
      grid-column: 2;
      padding-top: 0;
      font-size: 15px;
    }

    .u2-pro-comfort {
      --u2-comfort-stage-width: calc(100% - 32px);
      padding-bottom: 78px;
    }

    .u2-pro-comfort__intro {
      padding-block: 76px 58px;
    }

    .u2-pro-comfort__brand {
      font-size: 32px;
    }

    .u2-pro-comfort__intro h2 {
      margin-top: 10px;
      font-size: clamp(64px, 18vw, 86px);
    }

    .u2-pro-comfort__mosaic {
      padding-bottom: 78px;
    }

    .u2-pro-comfort__mosaic::before {
      top: clamp(96px, 30vw, 190px);
    }

    .u2-pro-comfort__wide-frame {
      width: var(--u2-comfort-stage-width);
    }

    .u2-pro-comfort__composition {
      width: var(--u2-comfort-stage-width);
      padding-top: 64px;
      gap: 42px;
      grid-template-areas:
        "vertical"
        "copy"
        "detail";
      grid-template-columns: 1fr;
    }

    .u2-pro-comfort__vertical {
      width: 86%;
      justify-self: end;
    }

    .u2-pro-comfort__copy {
      width: 100%;
      max-width: 100%;
      margin-left: 0;
    }

    .u2-pro-comfort__copy h3 {
      font-size: clamp(54px, 16vw, 76px);
    }

    .u2-pro-comfort__copy > p:last-child {
      margin-top: 22px;
      font-size: 15px;
    }

    .u2-pro-comfort__detail {
      width: 100%;
    }

    .u2-pro-practicality {
      padding-block: 76px;
    }

    .u2-pro-practicality__media {
      width: calc(100% + 32px);
      height: 72vw;
      margin-inline: -16px;
    }

    .u2-pro-practicality__note h3 {
      font-size: 38px;
    }

    .u2-pro-lead {
      min-height: 0;
      padding-block: 82px;
    }

    .u2-pro-lead__grid {
      gap: 54px;
    }

    .u2-pro-lead__copy h2 {
      font-size: clamp(52px, 15vw, 70px);
    }

    .u2-pro-lead__form .text-field input {
      min-height: 58px;
      font-size: 24px;
    }
  }

  @media (min-width: 761px) {
    .u2-pro-comfort.is-motion-ready .u2-pro-comfort__composition {
      z-index: 3;
      display: grid;
      min-height: clamp(700px, 56vw, 900px);
      margin-top: calc(var(--u2-comfort-overlap) * -1);
      padding: calc(var(--u2-comfort-overlap) + var(--u2-comfort-wide-y) + var(--u2-comfort-copy-gap)) 0 0;
      align-content: start;
      row-gap: var(--u2-comfort-copy-gap);
    }

    .u2-pro-comfort.is-motion-ready .u2-pro-comfort__copy {
      position: relative;
      top: auto;
      left: auto;
      width: min(468px, 100%);
      max-width: none;
      margin: 0;
      z-index: 3;
    }

    .u2-pro-comfort.is-motion-ready .u2-pro-comfort__vertical {
      position: absolute;
      top: 0;
      right: 0;
      width: min(520px, 100%);
      margin: 0;
      justify-self: auto;
      z-index: 4;
    }

    .u2-pro-comfort.is-motion-ready .u2-pro-comfort__detail {
      position: relative;
      top: auto;
      left: auto;
      width: min(680px, 100%);
      margin: calc(var(--u2-comfort-detail-y) * -1) 0 0;
      z-index: 3;
    }
  }

  @media (min-width: 761px) and (max-width: 1000px) {
    .u2-pro-comfort {
      --u2-comfort-overlap: clamp(96px, 12vw, 132px);
    }

    .u2-pro-comfort.is-motion-ready .u2-pro-comfort__composition {
      min-height: clamp(700px, 88vw, 760px);
    }

    .u2-pro-comfort.is-motion-ready .u2-pro-comfort__vertical {
      width: min(360px, 100%);
    }

    .u2-pro-comfort.is-motion-ready .u2-pro-comfort__detail {
      width: min(620px, 100%);
    }
  }

  @media (prefers-reduced-motion: reduce) {
    .u2-pro-comfort__wide-frame,
    .u2-pro-comfort__wide,
    .u2-pro-comfort__copy,
    .u2-pro-comfort__vertical,
    .u2-pro-comfort__detail,
    .u2-pro-practicality__note,
    .u2-pro-practicality__lines path,
    .u2-pro-practicality__marker,
    .u2-pro-practicality__note::after {
      opacity: 1 !important;
      transform: none !important;
      transition: none !important;
    }

  }
}
