.legal-main { max-width: 820px; padding-block: 48px 64px; overflow-wrap: anywhere; }
.legal-main h1 { font-size: clamp(2rem, 7vw, 3.5rem); line-height: 1.15; margin-block: 24px; }
.legal-main h2 { font-size: 1.4rem; margin-block: 32px 12px; }
.legal-main p { line-height: 1.75; margin-block: 14px; }
.legal-main a, .legal-footer a { text-decoration: underline; text-underline-offset: 3px; }
.legal-lead { font-size: 1.12rem; }
.legal-details { line-height: 1.7; }
.legal-details dt { font-weight: 700; }
.legal-details dd { margin-inline-start: 0; margin-block-end: 12px; }
.legal-links { display: flex; flex-wrap: wrap; gap: 14px 24px; }
.legal-footer { padding-block: 32px; border-block-start: 1px solid #d2c8b6; }
#deletion { margin-block-start: 32px; padding: 24px; border: 1px solid #d2c8b6; border-radius: 16px; }
#deletion form { display: grid; gap: 16px; }
#deletion [hidden] { display: none; }
#deletion input[type=email], #deletion input[type=text] { min-width: 0; width: 100%; border: 1px solid #766957; padding: 12px; border-radius: 8px; font: inherit; background: #fffdf8; color: #15202b; }
#deletion button { padding: 14px 20px; border: 0; border-radius: 10px; font: inherit; font-weight: 700; background: #23534e; color: white; cursor: pointer; min-height: 48px; }
#deletion button:disabled { opacity: .6; cursor: wait; }
#deletion .danger-button { background: #913323; }
#deletion .secondary-button { margin-block-start: 20px; background: transparent; color: #23534e; text-decoration: underline; }
.confirm-row { display: flex; gap: 12px; align-items: start; line-height: 1.6; }
.confirm-row input { margin-block-start: 6px; width: 22px; height: 22px; flex-shrink: 0; }
:focus-visible { outline: 3px solid #c2502c; outline-offset: 4px; }
@media (max-width: 420px) { #deletion { padding: 16px; } }
