/* Styles for the legal notice page; inherits the portfolio theme variables. */
.legal-main { padding-block: clamp(58px, 8vw, 105px) clamp(80px, 10vw, 130px); }
.legal-heading { max-width: 820px; padding-bottom: 35px; border-bottom: 1px solid var(--line); }
.legal-heading .eyebrow { margin-bottom: 20px; }
.legal-heading h1 { margin: 0 0 18px; font-size: clamp(3rem, 8vw, 6rem); line-height: .98; font-weight: 620; }
.legal-heading h1 span { color: var(--soft); font-weight: 440; }
.legal-intro { max-width: 690px; color: var(--muted); font-size: .95rem; line-height: 1.8; margin: 0; }
.legal-draft-warning { margin: 26px 0 0; padding: 17px 19px; border: 1px solid var(--line); background: var(--surface-muted); color: var(--muted); font-size: .82rem; line-height: 1.7; }
.legal-draft-warning strong { display: block; margin-bottom: 4px; color: var(--ink); font-size: .76rem; text-transform: uppercase; letter-spacing: .06em; }
.legal-content { max-width: 820px; padding-top: 16px; }
.legal-section { padding: 27px 0; border-bottom: 1px solid var(--line); }
.legal-section h2 { margin: 0 0 15px; font-size: 1.27rem; letter-spacing: -.045em; font-weight: 600; }
.legal-section p, .legal-section li { color: var(--muted); font-size: .88rem; line-height: 1.85; }
.legal-section p:last-child { margin-bottom: 0; }
.legal-section ul { padding-left: 1.2rem; margin: 12px 0 0; }
.legal-section li + li { margin-top: 8px; }
.legal-section a { color: var(--ink); text-decoration: underline; text-decoration-color: var(--soft); text-underline-offset: 3px; overflow-wrap: anywhere; }
.legal-fields { display: grid; grid-template-columns: minmax(150px, .45fr) minmax(0, 1fr); gap: 0; margin: 0; }
.legal-fields dt, .legal-fields dd { margin: 0; padding: 12px 0; border-bottom: 1px solid var(--line); font-size: .84rem; line-height: 1.65; }
.legal-fields dt { color: var(--soft); padding-right: 20px; }
.legal-fields dd { color: var(--ink); overflow-wrap: anywhere; }
.legal-fields dt:last-of-type, .legal-fields dd:last-of-type { border-bottom: 0; }
.legal-placeholder { color: var(--ink); background: var(--surface-muted); padding: 2px 4px; overflow-wrap: anywhere; }
.legal-updated { color: var(--soft); font: .65rem/1.7 var(--mono); margin-top: 25px; }
.legal-footer-note { max-width: 820px; margin: 24px 0 0; font-size: .74rem; line-height: 1.7; color: var(--soft); }
@media (max-width: 680px) {
  .legal-main { padding-top: 55px; }
  .legal-fields { grid-template-columns: 1fr; }
  .legal-fields dt { border-bottom: 0; padding: 13px 0 3px; font-size: .72rem; }
  .legal-fields dd { padding: 0 0 13px; }
  .legal-section p, .legal-section li { font-size: .84rem; }
}
