@layer components {
  .dig-site-wrapper {
    overflow-x: clip;
  }

  .d1-main.dig-container > .d1-legal-document {
    width: 100vw;
    max-width: none;

    margin-top: calc(0px - var(--dig-spacing-lg));
    margin-right: calc(50% - 50vw);
    margin-left: calc(50% - 50vw);
  }

  .d1-legal-document {
    color: #071a2b;
    background: #f3f7fa;
  }

  .d1-legal-hero {
    border-bottom: 1px solid #cad5de;
    background:
      radial-gradient(
        circle at 78% 12%,
        rgba(25, 211, 243, 0.09),
        transparent 32rem
      ),
      linear-gradient(180deg, #f9fbfc 0%, #f3f7fa 100%);
  }

  .d1-legal-hero__inner {
    width: min(calc(100% - 3rem), 1240px);
    margin-inline: auto;
    padding: clamp(3.5rem, 5vw, 5rem) 0 clamp(3rem, 5vw, 4.75rem);
  }

  .d1-legal-eyebrow,
  .d1-legal-rail__label,
  .d1-legal-metadata dt,
  .d1-legal-contact span,
  .d1-legal-section__number,
  .d1-legal-section__note > span,
  .d1-legal-document__footer span {
    font-family: var(--dig-font-mono);
    font-size: 0.72rem;
    font-weight: 700;
    line-height: 1.2;
    letter-spacing: 0.14em;
    text-transform: uppercase;
  }

  .d1-legal-eyebrow {
    margin-bottom: 1.25rem;
    color: #167f94;
  }

  .d1-legal-title {
    max-width: 900px;
    margin: 0;
    color: #00152b;
    font-size: clamp(3rem, 6vw, 5.75rem);
    font-weight: 800;
    line-height: 0.96;
    letter-spacing: -0.055em;
  }

  .d1-legal-summary {
    max-width: 760px;
    margin: 2rem 0 0;
    color: #405568;
    font-size: clamp(1.05rem, 1.6vw, 1.3rem);
    line-height: 1.65;
  }

  .d1-legal-metadata {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    max-width: 760px;
    margin: 3rem 0 0;
    border-top: 1px solid #bfcdd7;
    border-bottom: 1px solid #bfcdd7;
  }

  .d1-legal-metadata > div {
    padding: 1rem 1.25rem;
    border-right: 1px solid #bfcdd7;
  }

  .d1-legal-metadata > div:first-child {
    padding-left: 0;
  }

  .d1-legal-metadata > div:last-child {
    border-right: 0;
  }

  .d1-legal-metadata dt {
    margin-bottom: 0.4rem;
    color: #637789;
  }

  .d1-legal-metadata dd {
    margin: 0;
    color: #06192b;
    font-size: 0.95rem;
    font-weight: 700;
  }

  .d1-legal-shell {
    display: grid;
    grid-template-columns: 260px minmax(0, 1fr);
    gap: clamp(3rem, 7vw, 7rem);
    width: min(calc(100% - 3rem), 1240px);
    margin-inline: auto;
    padding: clamp(3rem, 6vw, 6rem) 0 clamp(5rem, 8vw, 8rem);
  }

  .d1-legal-rail {
    min-width: 0;
  }

  .d1-legal-rail > nav {
    position: sticky;
    top: calc(var(--dig-header-height, 70px) + 2rem);
  }

  .d1-legal-rail__label {
    margin-bottom: 1rem;
    color: #607486;
  }

  .d1-legal-index {
    margin: 0;
    padding: 0;
    border-top: 1px solid #c9d4dc;
    list-style: none;
  }

  .d1-legal-index li {
    margin: 0;
    border-bottom: 1px solid #c9d4dc;
  }

  .d1-legal-index a {
    display: grid;
    grid-template-columns: 2rem minmax(0, 1fr);
    gap: 0.6rem;
    padding: 0.85rem 0;
    color: #43586a;
    font-size: 0.8rem;
    line-height: 1.35;
    text-decoration: none;
    transition:
      color 160ms ease,
      padding-left 160ms ease;
  }

  .d1-legal-index a span {
    color: #1497ad;
    font-family: var(--dig-font-mono);
    font-size: 0.7rem;
  }

  .d1-legal-index a:hover,
  .d1-legal-index a:focus-visible {
    padding-left: 0.35rem;
    color: #00152b;
  }

  .d1-legal-contact {
    display: grid;
    gap: 0.45rem;
    margin-top: 2.25rem;
  }

  .d1-legal-contact span {
    color: #607486;
  }

  .d1-legal-contact a {
    color: #00152b;
    font-size: 0.85rem;
    font-weight: 700;
    overflow-wrap: anywhere;
  }

  .d1-legal-content {
    min-width: 0;
  }

  .d1-legal-introduction {
    margin-bottom: 3.5rem;
    padding: 0 0 2rem;
    border-bottom: 2px solid #061b2d;
  }

  .d1-legal-introduction p {
    max-width: 850px;
    margin: 0 0 1rem;
    color: #20384b;
    font-size: 1.08rem;
    line-height: 1.75;
  }

  .d1-legal-introduction p:last-child {
    margin-bottom: 0;
  }

  .d1-legal-section {
    display: grid;
    grid-template-columns: 4rem minmax(0, 1fr);
    gap: 1.5rem;
    padding: 2.75rem 0;
    border-top: 1px solid #c9d4dc;
    scroll-margin-top: calc(var(--dig-header-height, 70px) + 2rem);
  }

  .d1-legal-section:first-of-type {
    border-top: 0;
  }

  .d1-legal-section__number {
    padding-top: 0.45rem;
    color: #139bb2;
  }

  .d1-legal-section__body h2 {
    margin: 0 0 1.4rem;
    color: #00152b;
    font-size: clamp(1.65rem, 3vw, 2.35rem);
    font-weight: 750;
    line-height: 1.08;
    letter-spacing: -0.035em;
  }

  .d1-legal-section__body p,
  .d1-legal-section__body li {
    color: #334b5e;
    font-size: 0.98rem;
    line-height: 1.75;
  }

  .d1-legal-section__body p {
    max-width: 850px;
    margin: 0 0 1rem;
  }

  .d1-legal-section__body ul {
    display: grid;
    gap: 0.65rem;
    max-width: 850px;
    margin: 1.35rem 0;
    padding: 0;
    list-style: none;
  }

  .d1-legal-section__body li {
    position: relative;
    padding-left: 1.35rem;
  }

  .d1-legal-section__body li::before {
    position: absolute;
    top: 0.72em;
    left: 0;
    width: 0.38rem;
    height: 0.38rem;
    background: #13b981;
    content: "";
  }

  .d1-legal-section__note {
    display: grid;
    grid-template-columns: 5rem minmax(0, 1fr);
    gap: 1.25rem;
    max-width: 850px;
    margin-top: 1.75rem;
    padding: 1.15rem 0;
    border-top: 1px solid #aebfcb;
    border-bottom: 1px solid #aebfcb;
  }

  .d1-legal-section__note > span {
    padding-top: 0.25rem;
    color: #0e8ca2;
  }

  .d1-legal-section__note p {
    margin: 0;
    color: #183246;
    font-size: 0.88rem;
  }

  .d1-legal-document__footer {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    margin-top: 4rem;
    padding: 1.5rem;
    color: #d8e4eb;
    background: #061b2d;
  }

  .d1-legal-document__footer > div {
    display: grid;
    gap: 0.35rem;
  }

  .d1-legal-document__footer span {
    color: #86a4b7;
  }

  .d1-legal-document__footer strong,
  .d1-legal-document__footer a {
    color: #ffffff;
    font-size: 0.9rem;
  }

  @media (max-width: 900px) {
    .d1-legal-shell {
      grid-template-columns: 1fr;
      gap: 3rem;
    }

    .d1-legal-rail > nav {
      position: static;
    }

    .d1-legal-index {
      display: grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .d1-legal-index li:nth-child(odd) {
      border-right: 1px solid #c9d4dc;
    }

    .d1-legal-index a {
      padding-right: 1rem;
    }
  }

  @media (max-width: 640px) {
    .d1-legal-hero__inner,
    .d1-legal-shell {
      width: min(calc(100% - 2rem), 1240px);
    }

    .d1-legal-hero__inner {
      padding-top: 2.75rem;
      padding-bottom: 2.75rem;
    }

    .d1-legal-title {
      font-size: clamp(2.6rem, 14vw, 4rem);
    }

    .d1-legal-metadata {
      grid-template-columns: 1fr;
    }

    .d1-legal-metadata > div,
    .d1-legal-metadata > div:first-child {
      padding: 0.85rem 0;
      border-right: 0;
      border-bottom: 1px solid #bfcdd7;
    }

    .d1-legal-metadata > div:last-child {
      border-bottom: 0;
    }

    .d1-legal-index {
      grid-template-columns: 1fr;
    }

    .d1-legal-index li:nth-child(odd) {
      border-right: 0;
    }

    .d1-legal-section {
      grid-template-columns: 1fr;
      gap: 0.6rem;
      padding: 2.25rem 0;
    }

    .d1-legal-section__number {
      padding: 0;
    }

    .d1-legal-section__note {
      grid-template-columns: 1fr;
      gap: 0.5rem;
    }

    .d1-legal-document__footer {
      grid-template-columns: 1fr;
      gap: 1.5rem;
    }
  }
}

