@layer layout {
  .shell {
    width: 100%;
    max-width: var(--shell-max);
    margin-inline: auto;
    padding-inline: var(--edge);
  }

  [data-surface] {
    background-color: var(--surface);
    color: var(--on-surface);
  }

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

  .section--lg {
    padding-block: var(--section-y-lg);
  }

  .section--xl {
    padding-block: var(--section-y-xl);
  }

  .section--ruled {
    border-top: var(--rule-strong) solid var(--divider-strong);
  }

  .section--bleed {
    position: relative;
    overflow: hidden;
  }

  .section__head {
    display: flex;
    flex-wrap: wrap;
    gap: var(--gap-head);
    align-items: baseline;
    justify-content: space-between;
    margin-block-end: var(--gap-head);
  }

  .section__head--end {
    align-items: end;
  }

  .split {
    display: grid;
    grid-template-columns: minmax(0, 5fr) minmax(0, 6fr);
    gap: clamp(2rem, 5vw, 3rem) var(--gap-split);
    align-items: start;
  }

  @media (max-width: 45em) {
    .split {
      grid-template-columns: 1fr;
    }
  }
}
