@scope (.mrkt-sortiment) {
  /* Reset Elementor Defaults */
  :scope .e-div-block-base,
  .elementor :scope {
    padding: 0;
    min-width: 0;
    min-height: 0;
  }

  :scope {
    /* Layout */
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: var(--mrkt-space-M);

    /* Tile heights: resting / stuck. The bar's margin makes up the difference. */
    --tile-h: 12rem;
    --tile-h-stuck: 4.75rem;
  }

  /* =========================================================
     HEAD: heading | intro
     ========================================================= */
  .head {
    /* Layout */
    display: grid;
    grid-template-columns: minmax(0, 7fr) minmax(0, 5fr);
    align-items: end;
    gap: var(--mrkt-space-L);
  }

  .head h2 {
    /* Style */
    color: var(--mrkt-color-accent-950);
  }

  .head p {
    /* Layout */
    max-width: 42ch;

    /* Style */
    color: var(--mrkt-color-text-muted);
  }

  /* =========================================================
     STICKY CATEGORY BAR
     ========================================================= */
  .bar {
    /* Positioning */
    position: sticky;
    top: var(--mrkt-header-height);
    z-index: 20;

    /* Layout */
    margin-inline: calc(var(--mrkt-section-padding-inline) * -1);
    padding: var(--mrkt-space-S) var(--mrkt-section-padding-inline);

    /* Style */
    background: var(--mrkt-color-background-alt);

    /* Transitions */
    transition:
      box-shadow var(--mrkt-transition-base) var(--mrkt-transition-curve),
      margin-bottom var(--mrkt-transition-slow) var(--mrkt-transition-curve);
  }

  /* Tiles shrink while stuck; the margin grows by the same amount on the same curve,
     so content below never moves. Without this, scroll anchoring flips the stuck
     state back and forth (jitter). */
  .bar.is-stuck {
    /* Layout */
    margin-bottom: calc(var(--tile-h) - var(--tile-h-stuck));

    /* Style */
    box-shadow: 0 1px 0 var(--mrkt-color-border), var(--mrkt-shadow-S);
  }

  .tiles {
    /* Layout */
    display: grid;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: var(--mrkt-space-S);
  }

  .tile {
    /* Positioning */
    position: relative;
    isolation: isolate;

    /* Layout */
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    align-items: flex-start;
    gap: 0.125rem;
    height: var(--tile-h);
    padding: 0.875rem 1rem;
    overflow: hidden;

    /* Font */
    text-align: left;

    /* Style */
    border: 0;
    border-radius: var(--mrkt-border-radius-S);
    background: var(--mrkt-color-accent-800);
    color: var(--mrkt-color-white);
    cursor: pointer;

    /* Transitions */
    transition:
      transform var(--mrkt-transition-slow) var(--mrkt-transition-curve),
      height var(--mrkt-transition-slow) var(--mrkt-transition-curve),
      box-shadow var(--mrkt-transition-slow) var(--mrkt-transition-curve);
  }

  .tile img {
    /* Positioning */
    position: absolute;
    inset: 0;
    z-index: -2;

    /* Layout */
    width: 100%;
    height: 100%;
    object-fit: cover;

    /* Style */
    filter: grayscale(1) contrast(1.05);
    opacity: 0.5;
    transform: scale(1.1);

    /* Transitions */
    transition:
      filter var(--mrkt-transition-slow) var(--mrkt-transition-curve),
      opacity var(--mrkt-transition-slow) var(--mrkt-transition-curve),
      transform var(--mrkt-transition-slow) var(--mrkt-transition-curve);
  }

  /* Legibility scrim */
  .tile::before {
    /* Positioning */
    position: absolute;
    inset: 0;
    z-index: -1;

    /* Layout */
    content: "";

    /* Style */
    background: linear-gradient(to top, oklch(from var(--mrkt-color-accent-950) l c h / 0.85), transparent 75%);
  }

  /* Active marker: the claim's red divider, laid flat */
  .tile::after {
    /* Positioning */
    position: absolute;
    inset: auto 0 0;

    /* Layout */
    height: 4px;
    content: "";

    /* Style */
    background: var(--mrkt-color-secondary);
    transform: scaleX(0);
    transform-origin: left;

    /* Transitions */
    transition: transform var(--mrkt-transition-slow) var(--mrkt-transition-curve);
  }

  .tile-num {
    /* Font */
    font-size: 0.75rem;

    /* Style */
    color: var(--mrkt-color-white-a60);
  }

  .tile-name {
    /* Font */
    font-family: var(--mrkt-font-heading);
    font-size: var(--mrkt-typo-h6-size);
    font-weight: 700;
    line-height: 1.2;

    /* Style */
    opacity: 0.8;
  }

  .tile:hover img {
    /* Style */
    filter: grayscale(0.4);
    opacity: 0.8;
  }

  .tile[aria-selected="true"] {
    /* Positioning */
    z-index: 1;

    /* Style */
    box-shadow: var(--mrkt-shadow-L);
    transform: scale(1.05);
  }

  .tile[aria-selected="true"] img {
    /* Style */
    filter: none;
    opacity: 1;
    transform: scale(1);
  }

  .tile[aria-selected="true"]::before {
    /* Style */
    background: linear-gradient(to top, oklch(from var(--mrkt-color-primary-900) l c h / 0.9), transparent 80%);
  }

  .tile[aria-selected="true"]::after {
    /* Style */
    transform: scaleX(1);
  }

  .tile[aria-selected="true"] .tile-name {
    /* Style */
    opacity: 1;
  }

  .tile[aria-selected="true"] .tile-num {
    /* Style */
    color: var(--mrkt-color-white);
  }

  /* Compact once stuck */
  .is-stuck .tile {
    /* Layout */
    height: var(--tile-h-stuck);
  }

  /* =========================================================
     SHARED PANEL PARTS
     ========================================================= */
  .panels {
    /* Layout */
    padding-top: var(--mrkt-space-M);
  }

  .panel > * {
    /* Transitions */
    animation: panel-in 640ms var(--mrkt-transition-curve) both;
  }

  .panel > :nth-child(2) { animation-delay: 70ms; }
  .panel > :nth-child(3) { animation-delay: 140ms; }
  .panel > :nth-child(4) { animation-delay: 210ms; }
  .panel > :nth-child(5) { animation-delay: 280ms; }

  figure {
    /* Positioning */
    position: relative;

    /* Layout */
    overflow: hidden;

    /* Style */
    background: var(--mrkt-color-accent-200);
  }

  figure > img {
    /* Layout */
    width: 100%;
    height: 100%;
    object-fit: cover;
  }

  h3 {
    /* Style */
    color: var(--mrkt-color-accent-950);
  }

  .tag {
    /* Positioning */
    position: absolute;
    right: 0;
    bottom: 0;

    /* Layout */
    padding: 0.5rem 0.875rem;

    /* Font */
    font-size: 0.75rem;

    /* Style */
    background: var(--mrkt-color-primary);
    color: var(--mrkt-color-white);
  }

  .chips {
    /* Layout */
    display: flex;
    flex-wrap: wrap;
    align-content: start;
    gap: var(--mrkt-space-XS);

    /* Font */
    list-style: none;
  }

  .chips li {
    /* Layout */
    padding: 0.375rem 0.75rem;

    /* Style */
    border: var(--mrkt-border-width) var(--mrkt-border-type) var(--mrkt-color-border);
    border-radius: var(--mrkt-border-radius-S);
    background: var(--mrkt-color-accent-50);
    color: var(--mrkt-color-accent-800);
  }

  .actions {
    /* Layout */
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: var(--mrkt-space-S) var(--mrkt-space-M);
  }

  .brands-link {
    /* Layout */
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    min-height: 3rem;

    /* Font */
    text-decoration: none;

    /* Style */
    color: var(--mrkt-color-primary);
  }

  .brands-link--light {
    /* Style */
    color: var(--mrkt-color-white);
  }

  .brands-link i {
    /* Transitions */
    transition: transform var(--mrkt-transition-base) var(--mrkt-transition-curve);
  }

  .brands-link:hover i {
    /* Style */
    transform: translateX(0.25rem);
  }

  @keyframes panel-in {
    from { opacity: 0; transform: translateY(1rem); }
  }

  /* =========================================================
     01 · BENTO
     ========================================================= */
  .panel--bento {
    /* Layout */
    display: grid;
    grid-template-columns: repeat(12, minmax(0, 1fr));
    gap: var(--mrkt-space-S);
  }

  .b-img {
    /* Layout */
    grid-column: 1 / 8;
    grid-row: 1 / 3;
    min-height: 30rem;
  }

  .b-img img {
    /* Positioning */
    position: absolute;
    inset: 0;
  }

  .b-intro,
  .b-guide,
  .b-chips {
    /* Layout */
    padding: var(--mrkt-space-M);

    /* Style */
    background: var(--mrkt-color-surface);
  }

  .b-intro {
    /* Layout */
    display: grid;
    align-content: start;
    gap: var(--mrkt-space-S);
    grid-column: 8 / 13;
  }

  .b-intro p {
    /* Style */
    color: var(--mrkt-color-text-muted);
  }

  .b-guide {
    /* Layout */
    grid-column: 8 / 13;
  }

  .b-guide h4 {
    /* Layout */
    margin-bottom: var(--mrkt-space-S);

    /* Style */
    color: var(--mrkt-color-primary);
  }

  .b-guide dl div {
    /* Layout */
    display: grid;
    grid-template-columns: 6.5rem 1fr;
    gap: var(--mrkt-space-S);
    padding-block: 0.75rem;

    /* Style */
    border-top: var(--mrkt-border-width) var(--mrkt-border-type) var(--mrkt-color-border-soft);
  }

  .b-guide dt {
    /* Font */
    font-weight: 700;

    /* Style */
    color: var(--mrkt-color-primary-800);
  }

  .b-guide dd {
    /* Font */
    font-size: var(--mrkt-typo-body-S-size);

    /* Style */
    color: var(--mrkt-color-text-muted);
  }

  .b-chips {
    /* Layout */
    grid-column: 1 / 6;
  }

  .b-cta {
    /* Positioning */
    position: relative;

    /* Layout */
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    gap: var(--mrkt-space-M);
    grid-column: 6 / 13;
    padding: var(--mrkt-space-M);

    /* Style */
    background-color: var(--mrkt-color-primary);
    background-image:
      linear-gradient(var(--mrkt-color-white-a05) 1px, transparent 1px),
      linear-gradient(90deg, var(--mrkt-color-white-a05) 1px, transparent 1px);
    background-size: 24px 24px;
    color: var(--mrkt-color-white);
  }

  .b-cta::before {
    /* Positioning */
    position: absolute;
    top: 0;
    left: 0;

    /* Layout */
    width: 3.5rem;
    height: 3px;
    content: "";

    /* Style */
    background: var(--mrkt-color-secondary);
  }

  .b-cta p {
    /* Layout */
    max-width: 36ch;
  }

  /* =========================================================
     02 · OVERLAP EDITORIAL
     ========================================================= */
  .panel--overlap {
    /* Layout */
    display: grid;
    grid-template-columns: repeat(12, minmax(0, 1fr));
    column-gap: var(--mrkt-space-M);
  }

  .o-words {
    /* Layout */
    display: grid;
    grid-column: 1 / 5;
    grid-row: 1;
    align-self: start;
    padding-top: var(--mrkt-space-S);
  }

  .o-words span:nth-child(1) { color: var(--mrkt-color-primary-800); }
  .o-words span:nth-child(2) { color: var(--mrkt-color-primary-400); }
  .o-words span:nth-child(3) { color: var(--mrkt-color-primary-300); }

  .o-img {
    /* Layout */
    grid-column: 5 / 13;
    grid-row: 1;
    aspect-ratio: 16 / 9;
  }

  .o-card {
    /* Positioning */
    position: relative;
    z-index: 1;

    /* Layout */
    display: grid;
    gap: var(--mrkt-space-M);
    grid-column: 1 / 9;
    grid-row: 2;
    margin-top: calc(var(--mrkt-space-XL) * -1);
    padding: var(--mrkt-space-L);

    /* Style */
    background: var(--mrkt-color-surface);
    box-shadow: var(--mrkt-shadow-M);
  }

  .o-card::before {
    /* Positioning */
    position: absolute;
    top: 0;
    left: 0;

    /* Layout */
    width: 3.5rem;
    height: 3px;
    content: "";

    /* Style */
    background: var(--mrkt-color-secondary);
  }

  .o-card > p {
    /* Layout */
    max-width: 52ch;

    /* Style */
    color: var(--mrkt-color-text-muted);
  }

  .o-cols {
    /* Layout */
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: var(--mrkt-space-M);
  }

  .o-cols h4 {
    /* Layout */
    padding-bottom: var(--mrkt-space-XS);
    margin-bottom: var(--mrkt-space-XS);

    /* Style */
    border-bottom: 2px solid var(--mrkt-color-primary);
    color: var(--mrkt-color-primary-800);
  }

  .o-cols ul {
    /* Layout */
    display: grid;
    gap: 0.375rem;

    /* Font */
    list-style: none;

    /* Style */
    color: var(--mrkt-color-accent-700);
  }

  .o-note {
    /* Layout */
    display: grid;
    gap: var(--mrkt-space-XS);
    grid-column: 9 / 13;
    grid-row: 2;
    align-self: center;
    padding-top: var(--mrkt-space-M);

    /* Style */
    border-top: 2px solid var(--mrkt-color-primary);
  }

  .o-note i {
    /* Font */
    font-size: 2rem;

    /* Style */
    color: var(--mrkt-color-secondary);
  }

  .o-note .mrkt-typo-h5 {
    /* Style */
    color: var(--mrkt-color-primary-800);
  }

  .o-note .mrkt-typo-body-S {
    /* Style */
    color: var(--mrkt-color-text-muted);
  }

  /* =========================================================
     03 · COMPARISON MATRIX
     ========================================================= */
  .panel--compare {
    /* Layout */
    display: grid;
    grid-template-columns: minmax(0, 4fr) minmax(0, 8fr);
    gap: var(--mrkt-space-L);
  }

  .c-side {
    /* Layout */
    display: flex;
    flex-direction: column;
    gap: var(--mrkt-space-S);
  }

  .c-side p {
    /* Style */
    color: var(--mrkt-color-text-muted);
  }

  .c-img {
    /* Layout */
    flex: 1;
    min-height: 14rem;
    margin-top: var(--mrkt-space-S);
  }

  .c-img img {
    /* Positioning */
    position: absolute;
    inset: 0;
  }

  .c-main {
    /* Layout */
    display: flex;
    flex-direction: column;
    gap: var(--mrkt-space-M);
    padding: var(--mrkt-space-L);
    overflow-x: auto;

    /* Style */
    background: var(--mrkt-color-surface);
    box-shadow: var(--mrkt-shadow-S);
  }

  .c-table {
    /* Layout */
    width: 100%;
    min-width: 34rem;

    /* Style */
    border-collapse: collapse;
  }

  .c-table caption {
    /* Layout */
    padding-bottom: var(--mrkt-space-S);

    /* Font */
    text-align: left;

    /* Style */
    color: var(--mrkt-color-primary);
  }

  .c-table th,
  .c-table td {
    /* Layout */
    padding: 1rem;

    /* Font */
    text-align: left;
    vertical-align: middle;

    /* Style */
    border-bottom: var(--mrkt-border-width) var(--mrkt-border-type) var(--mrkt-color-border);
  }

  .c-table thead th {
    /* Font */
    font-family: var(--mrkt-font-heading);
    font-size: var(--mrkt-typo-h5-size);
    font-weight: 700;

    /* Style */
    border-bottom: 2px solid var(--mrkt-color-accent-900);
    color: var(--mrkt-color-primary-800);
  }

  .c-table tbody th {
    /* Font */
    font-weight: 600;

    /* Style */
    color: var(--mrkt-color-accent-700);
  }

  .c-table tbody tr {
    /* Transitions */
    transition: background-color var(--mrkt-transition-fast) var(--mrkt-transition-curve);
  }

  .c-table tbody tr:hover {
    /* Style */
    background: var(--mrkt-color-primary-100);
  }

  .c-table .ph-check {
    /* Font */
    font-size: 1.25rem;

    /* Style */
    color: var(--mrkt-color-primary);
  }

  .c-table .ph-x {
    /* Font */
    font-size: 1.25rem;

    /* Style */
    color: var(--mrkt-color-secondary);
  }

  /* =========================================================
     04 · STAGE: full photo, floating use cases
     ========================================================= */
  .panel--stage {
    /* Positioning */
    position: relative;
    isolation: isolate;

    /* Layout */
    display: grid;
    grid-template-columns: minmax(0, 6fr) minmax(0, 5fr);
    align-items: end;
    gap: var(--mrkt-space-L);
    min-height: 36rem;
    padding: var(--mrkt-space-L);
    overflow: hidden;

    /* Style */
    color: var(--mrkt-color-white);
  }

  .panel--stage::before {
    /* Positioning */
    position: absolute;
    inset: 0;
    z-index: -1;

    /* Layout */
    content: "";

    /* Style */
    background: linear-gradient(90deg,
      oklch(from var(--mrkt-color-primary-900) l c h / 0.94) 0%,
      oklch(from var(--mrkt-color-primary-900) l c h / 0.7) 45%,
      oklch(from var(--mrkt-color-primary-900) l c h / 0.15) 100%);
  }

  .s-bg {
    /* Positioning */
    position: absolute;
    inset: 0;
    z-index: -2;

    /* Layout */
    width: 100%;
    height: 100%;
    object-fit: cover;

    /* Transitions */
    animation: none !important;
  }

  .s-copy {
    /* Layout */
    display: flex;
    flex-direction: column;
    gap: var(--mrkt-space-M);
  }

  .s-copy h3 {
    /* Style */
    color: var(--mrkt-color-white);
  }

  .s-copy p {
    /* Layout */
    max-width: 40ch;

    /* Style */
    color: var(--mrkt-color-primary-100);
  }

  .s-uses {
    /* Layout */
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1px;

    /* Font */
    list-style: none;

    /* Style */
    background: var(--mrkt-color-border);
    box-shadow: var(--mrkt-shadow-L);
  }

  .s-uses li {
    /* Layout */
    display: grid;
    gap: 0.25rem;
    padding: var(--mrkt-space-M);

    /* Style */
    background: var(--mrkt-color-surface);
    color: var(--mrkt-color-text);

    /* Transitions */
    transition: background-color var(--mrkt-transition-base) var(--mrkt-transition-curve);
  }

  .s-uses li:hover {
    /* Style */
    background: var(--mrkt-color-primary-100);
  }

  .s-uses i {
    /* Layout */
    margin-bottom: var(--mrkt-space-XS);

    /* Font */
    font-size: 1.75rem;

    /* Style */
    color: var(--mrkt-color-primary);
  }

  .s-uses h4 {
    /* Style */
    color: var(--mrkt-color-primary-800);
  }

  .s-uses p {
    /* Style */
    color: var(--mrkt-color-text-muted);
  }

  /* =========================================================
     05 · HOTSPOTS
     ========================================================= */
  .panel--hotspots {
    /* Layout */
    display: grid;
    grid-template-columns: minmax(0, 8fr) minmax(0, 4fr);
    align-items: center;
    gap: var(--mrkt-space-L);
  }

  .h-img {
    /* Layout */
    overflow: visible;
  }

  .spot {
    /* Positioning */
    position: absolute;
    top: var(--y);
    left: var(--x);

    /* Layout */
    display: grid;
    place-items: center;
    width: 2.25rem;
    height: 2.25rem;

    /* Font */
    font-family: var(--mrkt-font-mono);
    font-size: 0.8125rem;
    font-weight: 500;

    /* Style */
    border: 2px solid var(--mrkt-color-white);
    border-radius: var(--mrkt-border-radius-full);
    background: var(--mrkt-color-primary);
    box-shadow: var(--mrkt-shadow-M);
    color: var(--mrkt-color-white);
    cursor: pointer;
    transform: translate(-50%, -50%);

    /* Transitions */
    transition:
      background-color var(--mrkt-transition-base) var(--mrkt-transition-curve),
      transform var(--mrkt-transition-base) var(--mrkt-transition-curve);
  }

  /* Pulse ring: invites interaction, disabled under reduced motion */
  .spot::before {
    /* Positioning */
    position: absolute;
    inset: -2px;

    /* Layout */
    content: "";

    /* Style */
    border: 2px solid var(--mrkt-color-primary);
    border-radius: inherit;

    /* Transitions */
    animation: pulse 2.4s var(--mrkt-transition-curve) infinite;
  }

  .spot:nth-of-type(2n)::before { animation-delay: 0.6s; }
  .spot:nth-of-type(3n)::before { animation-delay: 1.2s; }

  .spot.is-on,
  .spot:hover {
    /* Style */
    background: var(--mrkt-color-secondary);
    transform: translate(-50%, -50%) scale(1.15);
  }

  .h-side {
    /* Layout */
    display: flex;
    flex-direction: column;
    gap: var(--mrkt-space-M);
  }

  .h-side > p {
    /* Style */
    color: var(--mrkt-color-text-muted);
  }

  .h-legend {
    /* Font */
    list-style: none;

    /* Style */
    border-bottom: var(--mrkt-border-width) var(--mrkt-border-type) var(--mrkt-color-border);
  }

  .h-legend li {
    /* Layout */
    display: grid;
    grid-template-columns: 2.25rem 1fr;
    align-items: center;
    padding-block: 0.625rem;

    /* Style */
    border-top: var(--mrkt-border-width) var(--mrkt-border-type) var(--mrkt-color-border);
    color: var(--mrkt-color-accent-700);
    cursor: default;

    /* Transitions */
    transition: color var(--mrkt-transition-base) var(--mrkt-transition-curve);
  }

  .h-legend span {
    /* Layout */
    display: grid;
    place-items: center;
    width: 1.5rem;
    height: 1.5rem;

    /* Font */
    font-size: 0.75rem;

    /* Style */
    background: var(--mrkt-color-accent-100);
    color: var(--mrkt-color-primary);

    /* Transitions */
    transition:
      background-color var(--mrkt-transition-base) var(--mrkt-transition-curve),
      color var(--mrkt-transition-base) var(--mrkt-transition-curve);
  }

  .h-legend li.is-on {
    /* Style */
    color: var(--mrkt-color-primary-800);
  }

  .h-legend li.is-on span {
    /* Style */
    background: var(--mrkt-color-secondary);
    color: var(--mrkt-color-white);
  }

  @keyframes pulse {
    0% { opacity: 0.8; transform: scale(1); }
    70%, 100% { opacity: 0; transform: scale(1.8); }
  }

  /* =========================================================
     06 · CINEMATIC BANNER + PROCESS
     ========================================================= */
  .panel--steps {
    /* Layout */
    display: grid;
    gap: var(--mrkt-space-L);
  }

  .st-banner {
    /* Layout */
    aspect-ratio: 21 / 8;
  }

  .st-banner::after {
    /* Positioning */
    position: absolute;
    inset: 0;

    /* Layout */
    content: "";

    /* Style */
    background: linear-gradient(to top, oklch(from var(--mrkt-color-primary-900) l c h / 0.85), transparent 60%);
  }

  .st-banner figcaption {
    /* Positioning */
    position: absolute;
    bottom: 0;
    left: 0;
    z-index: 1;

    /* Layout */
    display: grid;
    gap: var(--mrkt-space-XS);
    padding: var(--mrkt-space-L);
  }

  .st-banner h3 {
    /* Style */
    color: var(--mrkt-color-white);
  }

  .st-banner p {
    /* Layout */
    max-width: 48ch;

    /* Style */
    color: var(--mrkt-color-primary-100);
  }

  .st-steps {
    /* Positioning */
    position: relative;

    /* Layout */
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: var(--mrkt-space-M);

    /* Font */
    list-style: none;
  }

  /* The connecting wire */
  .st-steps::before {
    /* Positioning */
    position: absolute;
    top: 0.4375rem;
    inset-inline: 0;

    /* Layout */
    height: 1px;
    content: "";

    /* Style */
    background: var(--mrkt-color-primary-300);
  }

  .st-steps li {
    /* Positioning */
    position: relative;

    /* Layout */
    display: grid;
    gap: 0.25rem;
    padding-top: var(--mrkt-space-M);
  }

  .st-steps li::before {
    /* Positioning */
    position: absolute;
    top: 0;
    left: 0;

    /* Layout */
    width: 0.875rem;
    height: 0.875rem;
    content: "";

    /* Style */
    border: 2px solid var(--mrkt-color-primary);
    border-radius: var(--mrkt-border-radius-full);
    background: var(--mrkt-color-background-alt);
  }

  .st-steps li:first-child::before {
    /* Style */
    border-color: var(--mrkt-color-secondary);
    background: var(--mrkt-color-secondary);
  }

  .st-steps span {
    /* Font */
    font-size: 0.75rem;

    /* Style */
    color: var(--mrkt-color-accent-500);
  }

  .st-steps h4 {
    /* Style */
    color: var(--mrkt-color-primary-800);
  }

  .st-steps p {
    /* Style */
    color: var(--mrkt-color-text-muted);
  }

  /* =========================================================
     RESPONSIVE
     ========================================================= */
  @media (width < 1301px) {
    .panel--stage {
      /* Layout */
      grid-template-columns: 1fr;
      align-items: start;
    }
  }

  @media (width < 900px) {
    .head {
      /* Layout */
      grid-template-columns: 1fr;
      gap: var(--mrkt-space-S);
    }

    .tiles {
      /* Layout */
      display: flex;
      margin-inline: calc(var(--mrkt-section-padding-inline) * -1);
      padding: 0.375rem var(--mrkt-section-padding-inline);
      overflow-x: auto;
      scroll-snap-type: x mandatory;
      scroll-padding-inline: var(--mrkt-section-padding-inline);
      scrollbar-width: none;
    }

    :scope {
      --tile-h: 5.5rem;
      --tile-h-stuck: 4rem;
    }

    .tile {
      /* Layout */
      flex: 0 0 9.5rem;
      padding: 0.625rem 0.75rem;
      scroll-snap-align: start;
    }

    .tile-name {
      /* Font */
      font-size: 0.875rem;
    }

    .panel--bento > *,
    .panel--overlap > * {
      /* Layout */
      grid-column: 1 / -1;
      grid-row: auto;
    }

    .b-img {
      /* Layout */
      min-height: 16rem;
    }

    .o-words {
      /* Layout */
      display: flex;
      flex-wrap: wrap;
      column-gap: 0.3em;
      padding-bottom: var(--mrkt-space-S);

      /* Font */
      font-size: var(--mrkt-typo-h4-size);
    }

    .o-card {
      /* Layout */
      margin: calc(var(--mrkt-space-L) * -1) var(--mrkt-space-S) 0;
      padding: var(--mrkt-space-M);
    }

    .o-cols {
      /* Layout */
      grid-template-columns: 1fr 1fr;
    }

    .panel--compare,
    .panel--hotspots {
      /* Layout */
      grid-template-columns: 1fr;
      gap: var(--mrkt-space-M);
    }

    .c-main {
      /* Layout */
      padding: var(--mrkt-space-M) var(--mrkt-space-S);
    }

    .c-img {
      /* Layout */
      flex: none;
      aspect-ratio: 16 / 9;
    }

    .panel--stage {
      /* Layout */
      min-height: 0;
      padding: var(--mrkt-space-M) var(--mrkt-space-S);
    }

    .panel--stage::before {
      /* Style */
      background: oklch(from var(--mrkt-color-primary-900) l c h / 0.82);
    }

    .s-uses {
      /* Layout */
      grid-template-columns: 1fr;
    }

    .spot {
      /* Layout */
      width: 1.75rem;
      height: 1.75rem;

      /* Font */
      font-size: 0.6875rem;
    }

    .st-banner {
      /* Layout */
      aspect-ratio: 4 / 3;
    }

    .st-banner figcaption {
      /* Layout */
      padding: var(--mrkt-space-M);
    }

    .st-steps {
      /* Layout */
      grid-template-columns: 1fr 1fr;
      row-gap: var(--mrkt-space-L);
    }

    .st-steps::before {
      /* Layout */
      display: none;
    }
  }
}
