
    .deck {
      margin: 0;
      padding: 0;
    }

    .legal-panel {
      min-height: 100vh;
      min-height: 100svh;
      scroll-snap-align: start;
      display: grid;
      align-items: center;
      padding: clamp(5rem, 9vh, 7rem) clamp(1.5rem, 6vw, 6rem) clamp(2rem, 5vh, 4rem);
      position: relative;
    }

    .legal-inner {
      width: min(1120px, 100%);
      margin: auto;
    }

    .legal-panel h1,
    .legal-panel h2,
    .legal-panel h3 {
      font-family: 'Fraunces', Georgia, 'Times New Roman', serif;
      font-weight: 700;
      letter-spacing: -0.035em;
    }

    .legal-panel h1 {
      max-width: 900px;
      margin: 0 0 1.25rem;
      font-size: clamp(3rem, 8vw, 7rem);
      line-height: 0.98;
    }

    .legal-panel h2 {
      max-width: 900px;
      margin: 0 0 1rem;
      font-size: clamp(2.5rem, 6vw, 5.5rem);
      line-height: 1.02;
    }

    .legal-panel h3 {
      margin: 0 0 0.7rem;
      font-size: clamp(1.35rem, 2.4vw, 2rem);
      line-height: 1.15;
    }

    .legal-panel p {
      max-width: 70ch;
      margin: 0 0 1rem;
      line-height: 1.75;
    }

    .legal-panel a {
      color: var(--color-primary-text);
      text-decoration-thickness: 1px;
      text-underline-offset: 0.2em;
    }

    .legal-panel a:hover {
      text-decoration-thickness: 2px;
    }

    .legal-hero {
      background: var(--color-bg);
      color: var(--color-text);
    }

    .legal-identity {
      background: var(--color-surface);
      color: var(--color-text);
    }

    .legal-use {
      background: var(--color-text);
      color: var(--color-bg);
    }

    .legal-intellectual {
      background: var(--color-tonal-bg);
      color: var(--color-tonal-text);
    }

    .legal-availability {
      background: var(--color-secondary);
      color: var(--color-on-secondary);
    }

    .legal-links {
      background: var(--color-category-0);
      color: var(--color-on-category-0);
    }

    .legal-jurisdiction {
      background: var(--color-bg);
      color: var(--color-text);
    }

    .hero-layout {
      display: grid;
      grid-template-columns: minmax(0, 1.3fr) minmax(250px, 0.7fr);
      align-items: end;
      gap: clamp(2rem, 6vw, 5rem);
    }

    .eyebrow {
      display: inline-block;
      margin-bottom: 1rem;
      color: var(--color-primary-text);
      font-size: 0.78rem;
      font-weight: 500;
      letter-spacing: 0.17em;
      text-transform: uppercase;
    }

    .legal-meta {
      display: flex;
      flex-wrap: wrap;
      gap: 0.6rem 1.4rem;
      margin: 1.5rem 0 1.2rem;
      color: var(--color-muted);
      font-size: 0.92rem;
    }

    .hero-intro {
      max-width: 55ch;
      font-size: clamp(1.05rem, 1.6vw, 1.3rem);
    }

    .hero-note {
      padding: 1.5rem;
      background: var(--color-tonal-bg);
      color: var(--color-tonal-text);
      border: 1px solid var(--color-border);
      border-radius: 20px;
      box-shadow: var(--shadow-medium);
    }

    .hero-note p:last-child {
      margin-bottom: 0;
    }

    .hero-note a {
      color: var(--color-tonal-primary-text);
    }

    .contents {
      margin-top: 1.5rem;
    }

    .contents summary {
      width: fit-content;
      padding: 0.65rem 1rem;
      border: 1px solid var(--color-border);
      border-radius: 999px;
      cursor: pointer;
      font-weight: 500;
    }

    .contents-list {
      display: flex;
      flex-wrap: wrap;
      gap: 0.35rem 1rem;
      margin: 1rem 0 0;
      padding: 0;
      list-style: none;
    }

    .contents-list a {
      font-size: 0.92rem;
    }

    .identity-layout {
      display: grid;
      grid-template-columns: 0.8fr 1.2fr;
      gap: clamp(2rem, 7vw, 6rem);
      align-items: start;
    }

    .identity-list {
      display: grid;
      grid-template-columns: minmax(120px, 0.65fr) 1.35fr;
      margin: 0;
      border-top: 1px solid var(--color-border);
    }

    .identity-list dt,
    .identity-list dd {
      margin: 0;
      padding: 1rem 0;
      border-bottom: 1px solid var(--color-border);
    }

    .identity-list dt {
      padding-right: 1rem;
      font-weight: 500;
    }

    .identity-list dd {
      overflow-wrap: anywhere;
    }

    .legal-use a {
      color: var(--color-primary);
    }

    .rule-list {
      display: grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: 2rem clamp(2rem, 6vw, 5rem);
      margin-top: 2.25rem;
    }

    .rule-item {
      padding-top: 1rem;
      border-top: 1px solid var(--color-border);
    }

    .rule-item p:last-child {
      margin-bottom: 0;
    }

    .section-number {
      display: block;
      margin-bottom: 0.7rem;
      color: var(--color-primary-text);
      font-size: 0.8rem;
      font-weight: 500;
      letter-spacing: 0.14em;
    }

    .ip-layout {
      display: grid;
      grid-template-columns: minmax(0, 0.9fr) minmax(280px, 1.1fr);
      align-items: center;
      gap: clamp(2rem, 7vw, 6rem);
    }

    .ip-callout {
      padding: clamp(1.5rem, 3vw, 2.5rem);
      background: var(--color-tonal-surface);
      color: var(--color-tonal-text);
      border: 1px solid var(--color-border);
      border-radius: 20px;
      box-shadow: var(--shadow-medium);
    }

    .ip-callout p:last-child {
      margin-bottom: 0;
    }

    .ip-callout .ti {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      width: 2.75rem;
      height: 2.75rem;
      margin-bottom: 1.3rem;
      background: rgba(109,150,159, 0.16);
      color: var(--color-tonal-primary-text);
      font-size: 1.35rem;
    }

    .availability-copy {
      display: grid;
      grid-template-columns: 0.8fr 1.2fr;
      gap: clamp(2rem, 7vw, 6rem);
      align-items: start;
    }

    .availability-points {
      margin: 0;
      padding: 0;
      list-style: none;
    }

    .availability-points li {
      padding: 1rem 0;
      border-top: 1px solid var(--color-border);
    }

    .availability-points li:last-child {
      border-bottom: 1px solid var(--color-border);
    }

    .legal-links .links-layout {
      display: grid;
      grid-template-columns: minmax(0, 1fr) minmax(260px, 0.7fr);
      gap: clamp(2rem, 7vw, 6rem);
      align-items: center;
    }

    .link-note {
      padding: 1.5rem;
      background: var(--color-category-1);
      color: var(--color-on-category-1);
      border: 1px solid var(--color-border);
      border-radius: 20px;
      box-shadow: var(--shadow-medium);
    }

    .link-note p:last-child {
      margin-bottom: 0;
    }

    .closing-layout {
      display: grid;
      grid-template-columns: minmax(0, 1.2fr) minmax(260px, 0.8fr);
      align-items: center;
      gap: clamp(2rem, 7vw, 6rem);
    }

    .contact-block {
      padding: 1.75rem;
      background: var(--color-surface);
      color: var(--color-text);
      border: 1px solid var(--color-border);
      border-radius: 20px;
      box-shadow: var(--shadow-medium);
    }

    .contact-block p:last-child {
      margin-bottom: 0;
    }

    .legal-button {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      gap: 0.65rem;
      min-height: 48px;
      margin-top: 0.75rem;
      padding: 0.8rem 1.4rem;
      background: var(--color-primary);
      color: var(--color-on-primary) !important;
      border-radius: 999px;
      box-shadow: var(--shadow-medium);
      font-weight: 500;
      text-decoration: none !important;
      transition: transform 0.2s ease;
    }

    .legal-button:hover {
      transform: scale(1.02);
    }

    .back-top {
      display: inline-block;
      margin-top: 1.5rem;
      font-size: 0.92rem;
    }

    .legal-dots {
      position: fixed;
      z-index: 40;
      top: 50%;
      right: 1.5rem;
      display: grid;
      gap: 0.75rem;
      margin: 0;
      padding: 0;
      transform: translateY(-50%);
      list-style: none;
    }

    .legal-dots a {
      display: block;
      width: 0.75rem;
      height: 0.75rem;
      border: 1px solid var(--color-indicator);
      border-radius: 50%;
      background: var(--color-border);
    }

    .legal-dots a:hover,
    .legal-dots a:focus-visible {
      background: var(--color-indicator);
    }

    @media (max-width: 768px) {
      .hero-layout,
      .identity-layout,
      .ip-layout,
      .availability-copy,
      .legal-links .links-layout,
      .closing-layout {
        grid-template-columns: 1fr;
      }

      .rule-list {
        grid-template-columns: 1fr;
        gap: 1.5rem;
      }

      .identity-list {
        grid-template-columns: 1fr;
      }

      .identity-list dt {
        padding-bottom: 0.15rem;
        border-bottom: 0;
      }

      .identity-list dd {
        padding-top: 0.15rem;
      }

      .legal-dots {
        display: none;
      }

      .contents-list {
        display: grid;
      }
    }

    @media (max-height: 640px) {
      .legal-panel {
        padding-top: 5rem;
        padding-bottom: 2rem;
      }
    }

    @media (prefers-reduced-motion: reduce) {
      .legal-button {
        transition: none;
      }
    }
  