.legal-shell { background: #fff; color: var(--ink); }
.legal-topbar { position: sticky; top: 0; z-index: 50; min-height: 58px; border-bottom: 2px solid var(--ink); background: #fff; }
.legal-topbar-inner { position: relative; min-height: 56px; display: flex; align-items: center; justify-content: space-between; }
.legal-home { display: grid; width: 40px; height: 40px; place-items: center; border: 2px solid var(--ink); background: var(--yellow); color: var(--ink); box-shadow: 3px 3px 0 var(--ink); transition: transform .16s ease, box-shadow .16s ease; }
.legal-home:hover, .legal-home:focus-visible { transform: translate(2px, 2px); box-shadow: 1px 1px 0 var(--ink); }
.legal-home svg { width: 23px; height: 23px; fill: currentColor; }
.legal-topbar-logo { position: absolute; top: 50%; left: 50%; display: flex; width: 104px; height: 46px; align-items: center; justify-content: center; transform: translate(-50%, -50%); }
.legal-topbar-logo img { display: block; width: 100%; height: 100%; object-fit: contain; filter: brightness(0); }
.legal-topbar .menu-toggle { width: 42px; height: 40px; border-color: var(--ink); background: #fff; }
.legal-topbar .menu-toggle span { background: var(--ink); }

.legal-content { min-height: 60vh; padding: 42px 0 64px; background: #fff; color: var(--ink); }
.legal-content .narrow { width: min(760px, calc(100% - 40px)); }
.legal-content h1 { margin: 0 0 28px; color: var(--ink); font-size: clamp(2.05rem, 3.7vw, 3.3rem); line-height: .95; letter-spacing: -.05em; text-transform: uppercase; }
.legal-content h2 { margin: 26px 0 8px; color: var(--ink); font-size: clamp(1.02rem, 1.5vw, 1.28rem); line-height: 1.18; letter-spacing: -.02em; text-transform: none; }
.legal-content p { margin: 0 0 12px; color: var(--ink); font-size: .82rem; line-height: 1.55; }
.legal-content a { color: var(--ink); font-weight: 750; text-decoration-thickness: 1.5px; text-underline-offset: 3px; overflow-wrap: anywhere; }
.legal-content a:hover, .legal-content a:focus-visible { background: var(--yellow); }
.legal-content + .site-footer { border-top: 2px solid var(--ink); }

@media (max-width: 680px) {
  .legal-topbar, .legal-topbar-inner { min-height: 54px; }
  .legal-topbar-logo { width: 86px; height: 40px; }
  .legal-content { padding: 34px 0 54px; }
  .legal-content .narrow { width: min(100% - 28px, 880px); }
  .legal-content h1 { margin-bottom: 24px; font-size: clamp(1.95rem, 9vw, 2.8rem); overflow-wrap: anywhere; }
  .legal-content h2 { margin-top: 24px; }
}
