.legal-page { background: #fffdf8; }
.legal-page .breadcrumb { padding-top: 28px; padding-bottom: 28px; }
.legal-intro { padding: 78px 0 84px; overflow: hidden; color: #fff; background: linear-gradient(125deg, #4d3d2c 0%, #2e261d 100%); }
.legal-intro__grid { display: grid; grid-template-columns: minmax(0, 1.12fr) minmax(300px, .72fr); gap: clamp(46px, 9vw, 132px); align-items: end; }
.legal-intro h1 { max-width: 720px; margin: 0 0 20px; color: #fff; font-size: clamp(3rem, 6vw, 5.3rem); }
.legal-intro .eyebrow { color: #f4df9e; }
.legal-intro__grid > div > p:not(.eyebrow):not(.legal-intro__updated) { max-width: 650px; margin-bottom: 0; color: #f7f1e6; font-size: clamp(1.04rem, 1.45vw, 1.18rem); }
.legal-intro__updated { margin: 25px 0 0; color: #e8d497; font-size: .78rem; font-weight: 800; letter-spacing: .04em; }
.legal-intro__panel { position: relative; padding: 34px; overflow: hidden; border: 1px solid rgba(247, 232, 181, .27); border-radius: var(--radius-large); background: rgba(255, 255, 255, .08); box-shadow: 0 22px 48px rgba(0, 0, 0, .16); }
.legal-intro__panel::after { position: absolute; right: -28px; bottom: -76px; width: 170px; height: 170px; border: 1px solid rgba(247, 232, 181, .2); border-radius: 50%; content: ""; }
.legal-intro__panel > * { position: relative; z-index: 1; }
.legal-intro__panel span { display: block; margin-bottom: 18px; color: #f4df9e; font-size: .73rem; font-weight: 800; letter-spacing: .13em; }
.legal-intro__panel strong { display: block; max-width: 330px; color: #fff; font-size: 1.55rem; line-height: 1.16; }
.legal-intro__panel p { max-width: 330px; margin: 14px 0 0; color: #f7f1e6; font-size: .93rem; }
.legal-intro--disclaimer { background: linear-gradient(125deg, #5f4a2e 0%, #32271d 100%); }

.legal-layout { display: grid; grid-template-columns: 184px minmax(0, 790px); gap: clamp(52px, 10vw, 168px); padding: 94px 0 120px; align-items: start; }
.legal-toc { position: sticky; top: 108px; display: grid; gap: 4px; height: fit-content; padding: 0 0 0 17px; border-left: 1px solid var(--color-line); font-size: .84rem; }
.legal-toc p { margin: 0 0 8px; color: var(--color-primary-dark); font-size: .72rem; font-weight: 800; letter-spacing: .13em; text-transform: uppercase; }
.legal-toc a { padding: 5px 0; color: var(--color-muted); transition: color .22s ease, transform .22s ease; }
.legal-toc a:hover { color: var(--color-primary-dark); transform: translateX(3px); }
.legal-content section { position: relative; padding: 0 0 43px; margin: 0 0 43px; border-bottom: 1px solid var(--color-line); scroll-margin-top: 120px; }
.legal-content section:last-child { margin-bottom: 0; border-bottom: 0; }
.legal-section__number { margin: 0 0 11px; color: var(--color-primary-dark); font-size: .74rem; font-weight: 800; letter-spacing: .13em; }
.legal-content h2 { max-width: 670px; margin: 0 0 17px; color: #332b22; font-size: clamp(1.85rem, 3.1vw, 2.5rem); }
.legal-content p, .legal-content li { color: var(--color-muted); }
.legal-content p { max-width: 740px; margin-bottom: 16px; }
.legal-content p:last-child { margin-bottom: 0; }
.legal-content ul { display: grid; gap: 9px; margin: 18px 0; padding-left: 21px; }
.legal-content li::marker { color: var(--color-primary-dark); }
.legal-content a { color: var(--color-primary-dark); font-weight: 800; text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 3px; }
.legal-contact { padding: 36px !important; border: 0 !important; border-radius: var(--radius-large); background: #f3e7bf; }
.legal-contact h2 { margin-bottom: 14px; }
.legal-contact p { color: #5e513e; }

@media (max-width: 900px) { .legal-intro__grid, .legal-layout { grid-template-columns: 1fr; } .legal-intro__grid { gap: 32px; } .legal-intro__panel { max-width: 560px; } .legal-layout { gap: 0; padding-top: 66px; } .legal-toc { display: none; } }
@media (max-width: 620px) { .legal-page .breadcrumb { padding-top: 20px; padding-bottom: 20px; } .legal-intro { padding: 56px 0 62px; } .legal-intro h1 { font-size: clamp(2.7rem, 13vw, 3.55rem); } .legal-intro__panel { padding: 26px; border-radius: 20px; } .legal-intro__panel strong { font-size: 1.35rem; } .legal-layout { padding: 56px 0 74px; } .legal-content section { padding-bottom: 32px; margin-bottom: 32px; } .legal-contact { padding: 27px !important; border-radius: 20px; } }
