* { box-sizing: border-box; }
body { margin: 0; color: var(--kd-text-primary); background: #faf9ff; font-family: var(--kd-font-sans); font-size: 20px; line-height: 1.65; }
a { color: var(--kd-brand-ai); text-underline-offset: .2em; }
a:hover { color: var(--kd-brand-ai-hover); }
a:focus-visible { outline: 2px solid var(--kd-brand-ai); outline-offset: 5px; }
.legal-shell { width: min(1200px, calc(100% - 96px)); margin-inline: auto; }
.legal-header { position: sticky; top: 0; z-index: 10; border-top: 3px solid var(--kd-brand-ai); border-bottom: 1px solid var(--kd-border-subtle); background: rgb(255 255 255 / 94%); backdrop-filter: blur(16px); }
.legal-nav { display: flex; align-items: center; justify-content: space-between; gap: 24px; min-height: 92px; }
.legal-brand { display: inline-flex; }
.legal-brand img { width: 170px; height: auto; }
.legal-close { display: inline-flex; align-items: center; gap: 16px; padding: 10px 24px; border: 1px solid var(--kd-border-strong); border-radius: 999px; color: var(--kd-text-primary); text-decoration: none; font-weight: 600; }
.legal-close:hover { color: var(--kd-brand-ai); border-color: var(--kd-brand-ai); background: var(--kd-brand-ai-soft); }
.legal-close svg { width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 1.5; }
.legal-main { padding-block: 64px; }
.legal-document { padding: clamp(24px, 5vw, 72px); border: 1px solid #e5defb; border-radius: 24px; background: white; box-shadow: 0 24px 80px rgb(40 31 94 / 5%); }
h1 { max-width: 960px; margin: 0; font-size: clamp(36px, 4vw, 60px); line-height: 1.1; font-weight: 500; letter-spacing: -.045em; overflow-wrap: break-word; }
h1 span { color: var(--kd-brand-ai); }
.legal-meta { margin: 24px 0 40px; color: var(--kd-text-secondary); }
h2 { margin: 48px 0 20px; font-size: clamp(24px, 2.5vw, 32px); font-weight: 600; line-height: 1.3; letter-spacing: -.025em; }
p { margin: 0 0 20px; }
ul { margin: 0 0 24px; padding-left: 1.3em; }
li { margin-bottom: 8px; padding-left: 8px; }
li::marker { color: var(--kd-brand-ai); }
.legal-details { padding: 24px 28px; border-radius: 16px; background: var(--kd-brand-ai-soft); overflow-wrap: anywhere; }
.legal-details p:last-child { margin-bottom: 0; }
.legal-return { display: inline-flex; gap: 16px; margin-top: 24px; font-weight: 600; text-decoration: none; }
.legal-footer { padding-bottom: 32px; color: var(--kd-text-secondary); }
@media (max-width: 640px) {
  .legal-shell { width: calc(100% - 32px); }
  .legal-nav { min-height: 80px; gap: 12px; }
  .legal-brand img { width: 132px; }
  .legal-close { gap: 8px; padding: 8px 14px; }
  .legal-main { padding-block: 24px; }
  .legal-document { padding: 24px 20px; border-radius: 20px; }
  .legal-details { padding: 20px; }
  .legal-return { display: block; }
}
