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

  :scope {
    /* Layout */
    display: grid;
    gap: var(--mrkt-space-L);

    /* Style */
    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: 48px 48px;
  }

  /* ---- Intro ---- */
  .intro {
    /* Layout */
    display: grid;
    gap: var(--mrkt-space-S);
  }

  .label {
    /* Style */
    color: var(--mrkt-color-primary-300);
  }

  .intro h2 {
    /* Layout */
    max-width: 18ch;

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

  .intro p {
    /* Layout */
    max-width: 52ch;

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

  /* ---- Board: brands | wires | category rail | wires | brands ---- */
  .board {
    /* Positioning */
    position: relative;

    /* Layout */
    display: grid;
    grid-template-columns:
      minmax(0, 1fr)
      minmax(2.5rem, 0.45fr)
      minmax(15rem, 0.8fr)
      minmax(2.5rem, 0.45fr)
      minmax(0, 1fr);
    align-items: stretch;
  }

  .wires {
    /* Positioning */
    position: absolute;
    inset: 0;

    /* Layout */
    width: 100%;
    height: 100%;
    overflow: visible;

    /* Style */
    pointer-events: none;
  }

  .wires path {
    /* Style */
    fill: none;
    stroke: var(--mrkt-color-white-a10);
    stroke-width: 1;
    stroke-dasharray: 1;
    stroke-dashoffset: 0;

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

  .wires path.is-on {
    /* Style */
    stroke: var(--mrkt-color-primary-300);
    stroke-width: 1.5;
  }

  .wires circle {
    /* Style */
    fill: var(--mrkt-color-white-a20);

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

  .wires circle.is-on {
    /* Style */
    fill: var(--mrkt-color-secondary);
  }

  /* ---- Category rail ---- */
  .rail {
    /* Positioning */
    position: relative;

    /* Layout */
    display: flex;
    grid-column: 3;
    flex-direction: column;
    justify-content: center;
    gap: var(--mrkt-space-XS);
  }

  .node {
    /* Positioning */
    position: relative;

    /* Layout */
    display: flex;
    align-items: center;
    gap: 0.75rem;
    padding: 0.875rem 1rem;

    /* Font */
    font-size: var(--mrkt-typo-body-S-size);
    font-weight: 600;
    text-align: left;

    /* Style */
    border: var(--mrkt-border-width) var(--mrkt-border-type) var(--mrkt-color-white-a10);
    border-radius: var(--mrkt-border-radius-S);
    background: var(--mrkt-color-primary-800);
    color: var(--mrkt-color-primary-200);
    cursor: pointer;

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

  .node span {
    /* Font */
    font-size: 0.75rem;
    font-weight: 500;

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

  .node:hover {
    /* Style */
    border-color: var(--mrkt-color-white-a20);
    color: var(--mrkt-color-white);
  }

  .node[aria-pressed="true"] {
    /* Style */
    border-color: var(--mrkt-color-white);
    background: var(--mrkt-color-white);
    color: var(--mrkt-color-primary-800);
  }

  .node[aria-pressed="true"] span {
    /* Style */
    color: var(--mrkt-color-secondary);
  }

  /* ---- Brand cells ---- */
  .cells {
    /* Positioning */
    position: relative;

    /* Layout */
    display: grid;
    grid-template-rows: repeat(3, minmax(7.5rem, 1fr));
    gap: var(--mrkt-space-XS);

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

  .cells--left {
    /* Layout */
    grid-column: 1;
  }

  .cells--right {
    /* Layout */
    grid-column: 5;
  }

  .cell {
    /* Positioning */
    position: relative;

    /* Layout */
    display: grid;
    place-items: center;
    padding: var(--mrkt-space-M);

    /* Style */
    border: var(--mrkt-border-width) var(--mrkt-border-type) var(--mrkt-color-white-a10);
    border-radius: var(--mrkt-border-radius-S);
    background: var(--mrkt-color-white-a05);
    cursor: default;

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

  /* Crosshair registration mark, top-right corner */
  .cell::after {
    /* Positioning */
    position: absolute;
    top: 0.625rem;
    right: 0.625rem;

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

    /* Style */
    background:
      linear-gradient(currentColor, currentColor) center / 100% 1px no-repeat,
      linear-gradient(currentColor, currentColor) center / 1px 100% no-repeat;
    color: var(--mrkt-color-white-a20);
  }

  .cell img {
    /* Layout */
    width: auto;
    height: 2.25rem;
    max-width: 78%;
    object-fit: contain;

    /* Style */
    filter: brightness(0) invert(1);
    opacity: 0.5;

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

  .idx {
    /* Positioning */
    position: absolute;
    top: 0.5rem;
    left: 0.75rem;

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

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

  .cell:hover,
  .cell:focus-visible {
    /* Style */
    border-color: var(--mrkt-color-white-a20);
  }

  .cell:hover img,
  .cell:focus-visible img {
    /* Style */
    opacity: 0.85;
  }

  .cell.is-lit {
    /* Style */
    border-color: var(--mrkt-color-white);
    background: var(--mrkt-color-white);
  }

  .cell.is-lit img {
    /* Style */
    filter: none;
    opacity: 1;
  }

  .cell.is-lit .idx {
    /* Style */
    color: var(--mrkt-color-accent-500);
  }

  .cell.is-lit::after {
    /* Style */
    color: var(--mrkt-color-secondary);
  }

  /* ---- Partners ---- */
  .partners {
    /* Layout */
    display: grid;
    grid-template-columns: minmax(12rem, auto) 1fr;
    align-items: center;
    gap: var(--mrkt-space-M);
    padding-top: var(--mrkt-space-M);

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

  .partners h3 {
    /* Style */
    color: var(--mrkt-color-primary-200);
  }

  .partner-list {
    /* Layout */
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: var(--mrkt-space-XS);

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

  .partner-list li {
    /* Layout */
    display: grid;
    place-items: center;
    min-height: 5rem;
    padding: var(--mrkt-space-S);

    /* Style */
    border: var(--mrkt-border-width) var(--mrkt-border-type) var(--mrkt-color-white-a10);
    border-radius: var(--mrkt-border-radius-S);

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

  .partner-list img {
    /* Layout */
    width: auto;
    height: 1.75rem;
    max-width: 80%;

    /* Style */
    filter: brightness(0) invert(1);
    opacity: 0.6;

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

  .partner-list li:hover {
    /* Style */
    background: var(--mrkt-color-white);
  }

  .partner-list li:hover img {
    /* Style */
    filter: none;
    opacity: 1;
  }

  /* ---- Tablet: wires get too cramped, drop to filter-chip mode ---- */
  @media (width < 1100px) {
    .board {
      /* Layout */
      grid-template-columns: repeat(3, minmax(0, 1fr));
      gap: var(--mrkt-space-XS);
    }

    .wires {
      /* Layout */
      display: none;
    }

    .rail {
      /* Layout */
      grid-column: 1 / -1;
      grid-row: 1;
      flex-direction: row;
      flex-wrap: wrap;
      justify-content: flex-start;
      margin-bottom: var(--mrkt-space-S);
    }

    .cells {
      /* Layout */
      display: contents;
    }

    .cell {
      /* Layout */
      min-height: 7rem;
    }

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

  @media (width < 768px) {
    .board {
      /* Layout */
      grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .rail {
      /* Layout */
      flex-wrap: nowrap;
      margin-inline: calc(var(--mrkt-section-padding-inline) * -1);
      padding-inline: var(--mrkt-section-padding-inline);
      overflow-x: auto;
      scrollbar-width: none;
    }

    .node {
      /* Layout */
      flex: none;
      padding: 0.625rem 0.875rem;

      /* Font */
      white-space: nowrap;
    }

    .cell {
      /* Layout */
      min-height: 5.5rem;
      padding: var(--mrkt-space-S);
    }

    .cell img {
      /* Layout */
      height: 1.625rem;
    }

    .partner-list {
      /* Layout */
      grid-template-columns: 1fr;
    }
  }
}
