.legal-panel {
  max-width: 790px;
  padding: clamp(20px, 4vw, 44px);
  overflow-wrap: anywhere;
}

.legal-panel .studio-heading { font-size: clamp(38px, 6vw, 68px); }
.legal-panel h2 { margin-top: 26px; font-size: clamp(25px, 4vw, 33px); }
.legal-panel > p { max-width: 70ch; margin: 8px 0 14px; }
.legal-panel a { color: var(--ink); text-decoration: underline; text-underline-offset: 2px; }
.legal-panel .legal-note { border-left: 3px solid var(--yellow); padding-left: 12px; }
.legal-details { display: grid; grid-template-columns: minmax(105px, 1fr) minmax(0, 2fr); gap: 8px 14px; margin-block: 12px; font-size: 14px; }
.legal-details dt { font-weight: 700; }
.legal-details dd { margin: 0; color: var(--muted); }
.cookie-notice {
  position: fixed;
  z-index: 8;
  inset-inline: 12px;
  bottom: max(12px, env(safe-area-inset-bottom));
  width: min(620px, calc(100% - 24px));
  margin-inline: auto;
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 12px 14px;
  border: 1px solid var(--line);
  border-radius: 10px;
  background: var(--white);
  box-shadow: 0 8px 28px #1112;
  font-size: 13px;
}
.cookie-notice a { text-decoration: underline; text-underline-offset: 2px; }
.cookie-notice .button { margin-left: auto; flex-shrink: 0; }
@media (max-width: 420px) {
  .cookie-notice { align-items: start; flex-direction: column; }
}
