@layer legal {
  .legal-page {
    margin: 0;
    background: #f3f5f6;
    color: #12171b;
  }
  .legal-header {
    min-height: 86px;
    padding: 18px clamp(22px, 5vw, 72px);
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    border-bottom: 1px solid #d4dadd;
    background: rgba(248, 249, 249, 0.96);
  }
  .legal-brand { min-width: 0; }
  .legal-brand img { width: min(230px, 54vw); height: auto; }
  .legal-back { flex-shrink: 0; white-space: nowrap; font-size: 13px; font-weight: 800; letter-spacing: .02em; }
  .legal-main {
    width: min(1180px, calc(100% - 48px));
    margin: 0 auto;
    padding: clamp(56px, 8vw, 112px) 0 96px;
  }
  .legal-kicker { color: #1478c8; font-size: var(--gt-text-small); font-weight: 700; letter-spacing: 0.12em; }
  .legal-main h1 { margin: 16px 0 8px; max-width: 23ch; font-size: var(--gt-title-utility); line-height: 1.08; letter-spacing: -.035em; text-wrap: balance; overflow-wrap: anywhere; }
  .legal-updated { margin: 0; color: #68747b; font-size: 13px; }
  .legal-layout { margin-top: 64px; display: grid; grid-template-columns: 240px minmax(0, 720px); gap: clamp(40px, 8vw, 110px); align-items: start; }
  .legal-layout > * { min-width: 0; }
  .legal-copy { overflow-wrap: anywhere; }
  .legal-nav { position: sticky; top: 28px; display: grid; border-top: 1px solid #ccd4d8; }
  .legal-nav a { padding: 14px 0; border-bottom: 1px solid #d8dee1; font-size: 13px; font-weight: 750; }
  .legal-nav a[aria-current="page"] { color: var(--gt-blue-deep); text-decoration: underline; text-decoration-thickness: 2px; text-underline-offset: 5px; }

  .legal-copy h2 { margin: 48px 0 14px; font-size: clamp(1.55rem, 2.5vw, 2.25rem); line-height: 1.1; letter-spacing: -.025em; }
  .legal-copy h2:first-child { margin-top: 0; }
  .legal-copy h3 { margin: 30px 0 10px; font-size: 1.05rem; }
  .legal-copy p, .legal-copy li { color: #445159; font-size: 1rem; line-height: 1.72; }
  .legal-copy ul { padding-left: 1.25rem; }
  .legal-copy a { color: #075995; text-decoration: underline; text-underline-offset: 3px; }
  .legal-callout { margin: 28px 0; padding: 22px 24px; border-left: 3px solid #1478c8; background: #fff; }
  .legal-callout p { margin: 0; color: #1e2a31; }





  .cookie-notice { position: fixed; z-index: 5000; left: max(18px, env(safe-area-inset-left)); right: max(18px, env(safe-area-inset-right)); bottom: max(18px, env(safe-area-inset-bottom)); margin: 0 auto; max-width: 860px; padding: 18px 20px; display: grid; grid-template-columns: 1fr auto; gap: 20px; align-items: center; border: 1px solid #cad3d7; background: #fff; color: #172027; box-shadow: 0 20px 60px rgba(0,0,0,.18); }
  .cookie-notice[hidden] { display: none !important; }
  .cookie-notice p { margin: 0; font-size: 13px; line-height: 1.55; }
  .cookie-notice > div { display: flex; gap: 10px; align-items: center; }
  .cookie-notice a, .cookie-notice button { min-height: 40px; padding: 10px 14px; border: 1px solid #1c2a32; background: transparent; color: inherit; font: inherit; font-size: 12px; font-weight: 800; cursor: pointer; }
  .cookie-notice button { background: #11171b; color: #fff; }
  @media (max-width: 760px) {
    .legal-header { min-height: 76px; padding: 14px 20px; }
    .legal-main { width: 100%; padding: 54px 24px 72px; }
    .legal-layout { margin-top: 46px; grid-template-columns: minmax(0, 1fr); gap: 36px; }
    .legal-nav { position: static; }
    .legal-copy p, .legal-copy li { line-height: 1.68; }

    .cookie-notice { grid-template-columns: 1fr; bottom: max(12px, env(safe-area-inset-bottom)); }
    .cookie-notice > div { justify-content: stretch; }
    .cookie-notice a, .cookie-notice button { flex: 1; text-align: center; }
  }
}
