.legal-page { color: var(--ink); background: var(--paper); }
.legal-page .site-header { background: rgba(8,10,9,.96); }
.legal-hero { padding: 190px 0 90px; color: var(--white); background: var(--black); }
.legal-hero .section-label { margin-bottom: 45px; }
.legal-hero h1 { max-width: 960px; margin: 0; font-size: clamp(54px, 8vw, 112px); font-weight: 300; line-height: .92; letter-spacing: -.06em; }
.legal-hero h1 em { color: var(--lime); font-family: Georgia, serif; font-weight: 400; }
.legal-hero p:last-child { max-width: 620px; margin: 35px 0 0; color: #8e928a; line-height: 1.8; }
.legal-content { padding: 100px 0 140px; }
.legal-layout { display: grid; grid-template-columns: 250px minmax(0, 760px); justify-content: space-between; gap: 80px; }
.legal-aside { position: sticky; top: 105px; align-self: start; }
.legal-aside p { margin: 0 0 12px; color: #777b73; font-size: 9px; text-transform: uppercase; letter-spacing: .15em; }
.legal-aside a { display: block; padding: 8px 0; color: #666a62; font-size: 12px; }
.legal-aside a:hover { color: #718209; }
.legal-article section { padding: 0 0 48px; margin: 0 0 48px; border-bottom: 1px solid var(--line); scroll-margin-top: 110px; }
.legal-article section:last-child { margin-bottom: 0; }
.legal-article h2 { margin: 0 0 24px; font-size: clamp(29px, 3vw, 42px); font-weight: 300; letter-spacing: -.035em; }
.legal-article h3 { margin: 30px 0 12px; font-size: 18px; font-weight: 500; }
.legal-article p,
.legal-article li { color: #62665e; font-size: 14px; line-height: 1.85; }
.legal-article p { margin: 0 0 18px; }
.legal-article ul { padding-left: 20px; margin: 0 0 18px; }
.legal-article strong { color: var(--ink); }
.legal-company { display: grid; grid-template-columns: 1fr 1fr; gap: 2px; margin-top: 28px; }
.legal-company div { padding: 18px; background: #e4e1d8; }
.legal-company dt { color: #858980; font-size: 8px; text-transform: uppercase; letter-spacing: .14em; }
.legal-company dd { margin: 7px 0 0; font-size: 13px; }
.legal-notice { padding: 22px; color: #50544d; background: rgba(154,173,23,.1); border-left: 2px solid #91a80d; }
.legal-updated { margin-top: 55px; color: #8a8e86; font-size: 10px; text-transform: uppercase; letter-spacing: .13em; }

@media (max-width: 800px) {
  .legal-hero { padding: 140px 0 70px; }
  .legal-layout { grid-template-columns: 1fr; gap: 55px; }
  .legal-aside { position: static; display: grid; grid-template-columns: 1fr 1fr; }
  .legal-aside p { grid-column: span 2; }
}

@media (max-width: 520px) {
  .legal-company { grid-template-columns: 1fr; }
  .legal-aside { grid-template-columns: 1fr; }
  .legal-aside p { grid-column: auto; }
}
