.legal-page-banner .banner-main-content-wrap { padding-block: clamp(56px, 7vw, 104px) }
.legal-page-banner .banner-content { max-width: 900px }
.legal-page-banner .banner-content .sub-title { display: inline-flex; align-items: center; gap: 10px; margin-bottom: 18px; color: rgba(255,255,255,.72); font-size: 11px; font-weight: 600; letter-spacing: .2em }
.legal-page-banner .banner-content .sub-title::before { width: 28px; height: 1px; background: #b89a5b; content: "" }
.legal-page-banner .banner-content h1 { max-width: 820px; font-size: clamp(36px,5vw,66px); line-height: 1.06; letter-spacing: -.035em }
.legal-page-banner .banner-content > p { max-width: 700px; margin: 22px 0 0; color: rgba(255,255,255,.68); font-size: clamp(14px,1.4vw,16px); line-height: 1.8 }

.legal-page-shell { position: relative; overflow: hidden; background: radial-gradient(circle at 8% 12%,rgba(184,154,91,.08),transparent 28%),linear-gradient(180deg,#f7f6f2 0%,#eeece6 100%) }
.legal-page-shell::before { position: absolute; top: 0; left: 50%; width: min(100% - 30px,1290px); height: 1px; background: linear-gradient(90deg,transparent,rgba(140,116,64,.42),transparent); content: ""; transform: translateX(-50%) }
.legal-page-card { position: relative; overflow: hidden; border: 1px solid rgba(26,27,31,.08); border-radius: 3px; background: rgba(255,255,255,.96); box-shadow: 0 28px 80px rgba(20,21,25,.08) }
.legal-page-card::before { position: absolute; inset: 0 auto 0 0; width: 3px; background: linear-gradient(180deg,#b89a5b,rgba(184,154,91,.08) 38%,transparent 78%); content: "" }
.legal-page-card__header { min-height: 78px; padding: 21px clamp(26px,4vw,54px); border-bottom: 1px solid rgba(26,27,31,.08); background: linear-gradient(90deg,#f2f0ea,#faf9f6); display: flex; align-items: center; justify-content: space-between; gap: 24px }
.legal-page-card__header span { display: inline-flex; align-items: center; gap: 11px; color: #806936; font-size: 10px; font-weight: 700; letter-spacing: .19em; line-height: 1.4; text-transform: uppercase }
.legal-page-card__header span::before { width: 7px; height: 7px; border: 1px solid #9a7e42; border-radius: 50%; content: "" }
.legal-page-card__header p { margin: 0; color: #73736e; font-size: 12px; line-height: 1.6; text-align: right }

.legal-page-content { max-width: 830px; margin-inline: auto; padding: clamp(42px,6vw,76px) clamp(26px,6vw,70px) clamp(52px,7vw,86px); color: #50514f; font-size: clamp(15px,1.3vw,16px); line-height: 1.9 }
.legal-page-content > :first-child { margin-top: 0 !important }
.legal-page-content > :last-child { margin-bottom: 0 !important }
.legal-page-content h1,.legal-page-content h2,.legal-page-content h3,.legal-page-content h4,.legal-page-content h5,.legal-page-content h6 { color: var(--title-color); font-family: var(--font-exo2); font-weight: 600; text-wrap: balance }
.legal-page-content h2 { position: relative; margin: 48px 0 18px; padding-top: 20px; font-size: clamp(23px,2.5vw,30px); line-height: 1.3; letter-spacing: -.018em }
.legal-page-content h2::before { position: absolute; top: 0; left: 0; width: 38px; height: 2px; background: #a98b4d; content: "" }
.legal-page-content h3 { margin: 34px 0 13px; font-size: clamp(18px,2vw,21px); line-height: 1.4 }
.legal-page-content h4,.legal-page-content h5,.legal-page-content h6 { margin: 28px 0 10px; font-size: 16px; line-height: 1.45 }
.legal-page-content p { margin: 0 0 20px }
.legal-page-content strong,.legal-page-content b { color: #222328; font-weight: 650 }
.legal-page-content a { color: #806936; font-weight: 600; text-decoration: underline; text-decoration-color: rgba(128,105,54,.38); text-decoration-thickness: 1px; text-underline-offset: 4px; transition: color .2s ease,text-decoration-color .2s ease }
.legal-page-content a:hover { color: #4f4021; text-decoration-color: currentColor }
.legal-page-content ul,.legal-page-content ol { margin: 0 0 24px; padding-left: 0; list-style: none; counter-reset: legal-list }
.legal-page-content li { position: relative; margin-bottom: 11px; padding-left: 28px }
.legal-page-content ul > li::before { position: absolute; top: .72em; left: 4px; width: 6px; height: 6px; border: 1px solid #9a7e42; border-radius: 50%; content: "" }
.legal-page-content ol > li { counter-increment: legal-list }
.legal-page-content ol > li::before { position: absolute; top: 0; left: 0; color: #8c7440; content: counter(legal-list) "."; font-weight: 700 }
.legal-page-content blockquote { margin: 32px 0; padding: 24px 28px; border: 0; border-left: 3px solid #a98b4d; background: #f5f3ed; color: #323338; font-size: 15px; line-height: 1.8 }
.legal-page-content hr { height: 1px; margin: 42px 0; border: 0; background: linear-gradient(90deg,rgba(26,27,31,.16),transparent) }
.legal-page-content table { width: 100%; margin: 28px 0; border: 1px solid rgba(26,27,31,.1); border-collapse: collapse; background: #fff; font-size: 14px; line-height: 1.65 }
.legal-page-content th,.legal-page-content td { padding: 14px 16px; border: 1px solid rgba(26,27,31,.09); text-align: left; vertical-align: top }
.legal-page-content th { background: #f1efe9; color: #25262a; font-weight: 650 }
.legal-page-content img,.legal-page-content iframe,.legal-page-content video { max-width: 100%; height: auto; margin: 28px 0 }

@media (max-width: 991px) {
    .legal-page-shell { padding-top: 80px; padding-bottom: 80px }
}

@media (max-width: 767px) {
    .legal-page-banner .banner-main-content-wrap { padding-block: 50px 62px }
    .legal-page-banner .banner-content h1 { font-size: clamp(32px,10vw,44px) }
    .legal-page-shell { padding-top: 56px; padding-bottom: 56px }
    .legal-page-card__header { min-height: auto; padding: 18px 22px; align-items: flex-start; flex-direction: column; gap: 7px }
    .legal-page-card__header p { text-align: left }
    .legal-page-content { padding: 36px 24px 46px; font-size: 14px; line-height: 1.8 }
    .legal-page-content h2 { margin-top: 38px }
    .legal-page-content table { display: block; overflow-x: auto; white-space: nowrap }
}

@media print {
    .legal-page-banner,.legal-page-card__header,header,footer { display: none !important }
    .legal-page-shell,.legal-page-card { padding: 0 !important; border: 0; background: #fff; box-shadow: none }
    .legal-page-content { max-width: none; padding: 0; color: #000; font-size: 11pt }
}
