.legal-page { margin: 0; background: #f5f2ee; color: #373431; font-family: "Manrope", Arial, sans-serif; }
.legal-page .header { position: relative; background: #fff; }
.legal-page .legal-hero { padding: clamp(70px,8vw,118px) 0 clamp(48px,6vw,82px); background: #211f1d; color: #fff; }
.legal-page .legal-hero .container,
.legal-page .legal-content .container { width: min(100% - 48px, 1080px); margin: 0 auto; }
.legal-page .legal-kicker { display: inline-flex; align-items: center; gap: .65rem; color: #ff9ba4; font-size: .66rem; font-weight: 800; letter-spacing: .15em; text-transform: uppercase; }
.legal-page .legal-kicker::before { content: ''; width: 22px; height: 2px; background: currentColor; }
.legal-page .legal-hero h1 { max-width: 820px; margin: .8rem 0 1rem; color: #fff; font-size: clamp(2.5rem,6vw,5.25rem); line-height: .98; letter-spacing: -.055em; }
.legal-page .legal-hero p { max-width: 680px; margin: 0; color: rgba(255,255,255,.7); font-size: .95rem; line-height: 1.75; }
.legal-page .legal-updated { display: block; margin-top: 1.2rem; color: rgba(255,255,255,.48); font-size: .7rem; }
.legal-page .legal-content { padding: clamp(56px,6vw,90px) 0; }
.legal-page .legal-layout { display: grid; grid-template-columns: 220px minmax(0,1fr); gap: clamp(2rem,6vw,5rem); align-items: start; }
.legal-page .legal-toc { position: sticky; top: 110px; display: grid; gap: .65rem; padding: 1.1rem; border: 1px solid #ddd7d0; border-radius: 10px; background: #fff; }
.legal-page .legal-toc strong { margin-bottom: .25rem; font-size: .7rem; letter-spacing: .11em; text-transform: uppercase; }
.legal-page .legal-toc a { color: #6d6660; font-size: .74rem; text-decoration: none; }
.legal-page .legal-toc a:hover { color: #eb5361; }
.legal-page .legal-article { padding: clamp(1.45rem,4vw,3rem); border: 1px solid #e0dad4; border-radius: 12px; background: #fff; }
.legal-page .legal-article section + section { margin-top: 2.6rem; padding-top: 2.6rem; border-top: 1px solid #e7e1db; }
.legal-page .legal-article h2 { margin: 0 0 .8rem; color: #211f1d; font-size: clamp(1.4rem,3vw,2rem); line-height: 1.15; letter-spacing: -.035em; }
.legal-page .legal-article h3 { margin: 1.5rem 0 .55rem; color: #2e2b28; font-size: 1rem; }
.legal-page .legal-article p,
.legal-page .legal-article li { color: #625d58; font-size: .85rem; line-height: 1.75; }
.legal-page .legal-article ul { padding-left: 1.2rem; }
.legal-page .legal-article a { color: #c63f4c; text-underline-offset: 3px; }
.legal-page .legal-table-wrap { overflow-x: auto; margin-top: 1rem; }
.legal-page table { width: 100%; min-width: 650px; border-collapse: collapse; }
.legal-page th,
.legal-page td { padding: .85rem; border: 1px solid #e1dbd5; text-align: left; vertical-align: top; font-size: .75rem; line-height: 1.55; }
.legal-page th { background: #f5f1ed; color: #393531; }
.legal-page .legal-settings-button { min-height: 46px; margin-top: .6rem; padding: .75rem 1rem; border: 0; border-radius: 8px; background: #eb5361; color: #fff; font: inherit; font-size: .78rem; font-weight: 800; cursor: pointer; }
.legal-page .footer { margin-top: 0; }

@media (max-width: 780px) {
    .legal-page .legal-hero .container,
    .legal-page .legal-content .container { width: min(100% - 32px, 1080px); }
    .legal-page .legal-layout { grid-template-columns: 1fr; }
    .legal-page .legal-toc { position: static; grid-template-columns: repeat(2,minmax(0,1fr)); }
    .legal-page .legal-toc strong { grid-column: 1/-1; }
}

@media (max-width: 480px) {
    .legal-page .legal-hero { padding: 56px 0 46px; }
    .legal-page .legal-hero h1 { font-size: clamp(2.1rem,12vw,2.75rem); }
    .legal-page .legal-content { padding: 42px 0; }
    .legal-page .legal-toc { grid-template-columns: 1fr; }
    .legal-page .legal-article { padding: 1.15rem; }
}
