/* ═══════════════════════════════════════════════════════════
   Legal document — rare-book / ledger styling
   Shared across /term, /privacy, /anti-fraud
   Palette: ink / wine / wine-deep / gold / cream / paper
   ═══════════════════════════════════════════════════════════ */

.legal-page {
    --l-ink:#0b0508;
    --l-wine:#850c3e;
    --l-wine-deep:#4a0621;
    --l-wine-dark:#2a0410;
    --l-gold:#ffd700;
    --l-gold-soft:#e6b800;
    --l-cream:#f5efe4;
    --l-paper:#faf6ed;
    --l-rule:rgba(11,5,8,.14);
    --l-mute:rgba(11,5,8,.56);
    --l-body:#2a1e22;
    background:var(--l-paper);
    color:var(--l-ink);
    font-family:'Helvetica Neue',Arial,sans-serif;
    -webkit-font-smoothing:antialiased;
    font-feature-settings:"ss01","kern";
}

/* ──── Top scroll-progress bar ──── */
.legal-progress{
    position:fixed;top:0;left:0;right:0;z-index:9999;
    height:3px;background:rgba(133,12,62,.08);pointer-events:none;
}
.legal-progress::before{
    content:'';display:block;height:100%;width:var(--scroll,0%);
    background:linear-gradient(90deg,var(--l-wine) 0%,var(--l-gold) 100%);
    box-shadow:0 1px 10px rgba(255,215,0,.35);
    transition:width .08s linear;
}

/* ──── Monumental banner ──── */
.legal-banner{
    position:relative;min-height:480px;padding:88px 0 64px;overflow:hidden;
    background:
        radial-gradient(ellipse 85% 60% at 15% 22%, rgba(133,12,62,.68), transparent 62%),
        radial-gradient(ellipse 50% 40% at 92% 85%, rgba(255,215,0,.08), transparent 60%),
        linear-gradient(180deg,#18070f 0%,#0a0408 100%);
    color:var(--l-cream);
    border-bottom:1px solid rgba(255,215,0,.18);
}
.legal-banner::before{
    content:'';position:absolute;inset:0;
    background-image:
        linear-gradient(90deg,rgba(255,215,0,.05) 1px,transparent 1px),
        linear-gradient(0deg, rgba(255,215,0,.05) 1px,transparent 1px);
    background-size:100px 100px;
    mask-image:radial-gradient(ellipse 70% 70% at 30% 50%,#000,transparent 75%);
    pointer-events:none;
}
.legal-banner::after{
    content:'';position:absolute;top:50%;right:-220px;
    width:560px;height:560px;border:1px solid rgba(255,215,0,.14);
    border-radius:50%;transform:translateY(-50%);pointer-events:none;
}

.legal-banner__topbar{
    position:absolute;top:30px;left:40px;right:40px;z-index:2;
    display:flex;justify-content:space-between;align-items:center;
    font-size:10px;letter-spacing:.24em;text-transform:uppercase;
    color:rgba(255,215,0,.72);font-weight:700;
}
.legal-banner__topbar .crumb::before{
    content:'';display:inline-block;width:24px;height:1px;
    background:var(--l-gold);vertical-align:middle;margin-right:12px;
}
.legal-banner__topbar .doc-no::after{
    content:'';display:inline-block;width:24px;height:1px;
    background:var(--l-gold);vertical-align:middle;margin-left:12px;
}
.legal-banner__topbar .crumb a{color:inherit;text-decoration:none;opacity:.75;transition:opacity .2s,color .2s}
.legal-banner__topbar .crumb a:hover{color:var(--l-gold);opacity:1}
.legal-banner__topbar .sep{margin:0 10px;opacity:.4}

.legal-banner__wrap{
    position:relative;z-index:1;
    max-width:1240px;margin:0 auto;padding:0 40px;
    display:grid;grid-template-columns:1fr auto;gap:60px;
    align-items:end;min-height:340px;
}
.legal-banner__kicker{
    font-size:12px;letter-spacing:.3em;text-transform:uppercase;
    color:var(--l-gold);font-weight:700;margin-bottom:30px;
    display:inline-block;padding:6px 14px;border:1px solid rgba(255,215,0,.35);
}
.legal-banner__title{
    font-size:clamp(46px,7.2vw,122px);font-weight:800;line-height:.88;
    letter-spacing:-.03em;margin:0;max-width:900px;color:var(--l-cream);
}
.legal-banner__title span{color:var(--l-gold)}
.legal-banner__subtitle{
    margin-top:26px;font-size:17px;line-height:1.68;
    color:rgba(245,239,228,.72);max-width:580px;font-weight:300;
}
.legal-banner__meta{
    display:flex;gap:60px;flex-wrap:wrap;
    padding-top:32px;margin:44px 0 0;
    border-top:1px solid rgba(245,239,228,.16);max-width:760px;
}
.legal-banner__meta div{margin:0}
.legal-banner__meta dt{
    font-size:9px;letter-spacing:.24em;text-transform:uppercase;
    color:rgba(255,215,0,.6);font-weight:700;margin-bottom:6px;
}
.legal-banner__meta dd{
    margin:0;font-size:14px;font-weight:500;color:var(--l-cream);
}

/* Seal emblem */
.legal-seal{
    position:relative;width:210px;height:210px;flex-shrink:0;
    align-self:center;margin-bottom:10px;
}
.legal-seal svg{width:100%;height:100%;display:block}
.legal-seal__icon{
    position:absolute;inset:0;display:flex;align-items:center;justify-content:center;
    font-size:46px;color:var(--l-gold);
    text-shadow:0 0 24px rgba(255,215,0,.4);
}
.legal-seal__ring{
    position:absolute;inset:10px;border:1px solid rgba(255,215,0,.22);border-radius:50%;
}
@keyframes l-seal-spin{from{transform:rotate(0deg)}to{transform:rotate(360deg)}}
.legal-seal__text{animation:l-seal-spin 60s linear infinite;transform-origin:center}

/* ──── Document shell (2-col: ToC + main) ──── */
.legal-shell{
    max-width:1240px;margin:0 auto;padding:96px 40px 140px;
    display:grid;grid-template-columns:240px 1fr;gap:90px;
    position:relative;
}

/* ToC rail */
.legal-toc{
    position:sticky;top:40px;align-self:start;
}
.legal-toc__label{
    font-size:9px;letter-spacing:.28em;text-transform:uppercase;
    color:var(--l-wine);font-weight:800;margin-bottom:24px;
}
.legal-toc__label::before{
    content:'';display:inline-block;width:20px;height:1px;
    background:var(--l-wine);vertical-align:middle;margin-right:12px;
}
.legal-toc__list{list-style:none;margin:0;padding:0}
.legal-toc__item{
    position:relative;padding:12px 0 12px 32px;
    border-top:1px solid var(--l-rule);
    transition:padding-left .3s,background-color .3s;
}
.legal-toc__item:last-child{border-bottom:1px solid var(--l-rule)}
.legal-toc__item a{
    display:block;text-decoration:none;color:var(--l-mute);
    font-size:12.5px;line-height:1.4;font-weight:500;
    transition:color .3s;
}
.legal-toc__item::before{
    content:attr(data-num);position:absolute;left:0;top:13px;
    font-size:10px;font-weight:800;color:var(--l-wine);
    letter-spacing:.06em;transition:color .3s;
}
.legal-toc__item:hover{padding-left:38px}
.legal-toc__item:hover a{color:var(--l-ink)}
.legal-toc__item.is-active{padding-left:38px;background:rgba(133,12,62,.035)}
.legal-toc__item.is-active::before{color:var(--l-gold)}
.legal-toc__item.is-active a{color:var(--l-wine);font-weight:700}
.legal-toc__item.is-active::after{
    content:'';position:absolute;left:-3px;top:14px;
    width:3px;height:22px;background:var(--l-gold);
}
.legal-toc__print{
    display:block;margin-top:32px;padding:15px 18px;
    font-size:10px;letter-spacing:.22em;text-transform:uppercase;
    color:var(--l-wine);background:transparent;
    border:1px solid var(--l-wine);cursor:pointer;width:100%;
    font-weight:800;font-family:inherit;
    transition:background .25s,color .25s,letter-spacing .25s;
}
.legal-toc__print:hover{background:var(--l-wine);color:var(--l-cream);letter-spacing:.26em}
.legal-toc__print i{margin-right:8px}

/* ──── Main reading column ──── */
.legal-main{max-width:790px;min-width:0}

.legal-intro{
    font-size:19px;line-height:1.74;color:var(--l-body);
    margin:0 0 84px;font-weight:400;padding-bottom:36px;
    border-bottom:1px solid var(--l-rule);
}
.legal-intro::first-letter{
    font-size:96px;line-height:.82;float:left;
    padding:8px 16px 0 0;color:var(--l-wine);font-weight:800;
}
.legal-intro strong{color:var(--l-wine);font-weight:700}

/* Section */
.legal-section{
    margin:0 0 96px;scroll-margin-top:36px;position:relative;
}
.legal-section__head{
    display:grid;grid-template-columns:110px 1fr;gap:28px;
    align-items:baseline;margin-bottom:40px;
    padding-bottom:22px;border-bottom:2px solid var(--l-ink);
}
.legal-section__num{
    font-size:72px;font-weight:900;line-height:.82;
    color:var(--l-wine);letter-spacing:-.04em;
    position:relative;
}
.legal-section__num::after{
    content:'';position:absolute;bottom:8px;left:0;
    width:26px;height:3px;background:var(--l-gold);
}
.legal-section__title{
    font-size:24px;font-weight:800;line-height:1.15;
    color:var(--l-ink);margin:0;letter-spacing:-.01em;
}
.legal-section__title small{
    display:block;font-size:10px;font-weight:800;
    color:var(--l-wine);letter-spacing:.24em;
    text-transform:uppercase;margin-bottom:8px;
}

/* Pair grid — 2-col subsections */
.legal-pair{display:grid;grid-template-columns:1fr 1fr;gap:44px 48px}
.legal-pair > div{
    position:relative;padding-left:20px;
    border-left:1px solid var(--l-rule);
    transition:border-left-color .35s,padding-left .35s;
}
.legal-pair > div:hover{border-left-color:var(--l-wine);padding-left:24px}
.legal-pair .clause{
    display:inline-block;font-size:9px;font-weight:800;
    letter-spacing:.18em;color:rgba(11,5,8,.4);
    margin-bottom:4px;font-variant-numeric:tabular-nums;
}
.legal-pair h4{
    font-size:15px;font-weight:800;color:var(--l-ink);
    margin:0 0 10px;letter-spacing:-.003em;line-height:1.3;
    text-transform:uppercase;
}
.legal-pair p{
    font-size:14.5px;line-height:1.72;color:var(--l-body);
    margin:0;font-weight:400;
}

/* ──── Signature block ──── */
.legal-signature{
    margin-top:90px;padding:54px 0 16px;text-align:center;
    position:relative;
}
.legal-signature::before{
    content:'';position:absolute;top:0;left:50%;transform:translateX(-50%);
    width:180px;height:0;
    border-top:1px solid var(--l-ink);
    box-shadow:0 3px 0 -2px var(--l-ink);
}
.legal-signature__mark{
    display:inline-block;font-size:22px;color:var(--l-gold);
    margin-bottom:22px;letter-spacing:10px;
}
.legal-signature__line{
    font-size:11px;font-weight:800;letter-spacing:.3em;
    text-transform:uppercase;color:var(--l-wine);margin-bottom:8px;
}
.legal-signature__sub{
    font-size:11px;color:var(--l-mute);letter-spacing:.12em;
}
.legal-signature__contact{
    margin-top:26px;font-size:12px;color:var(--l-mute);
}
.legal-signature__contact a{
    color:var(--l-wine);font-weight:700;text-decoration:none;
    border-bottom:1px solid var(--l-wine);padding-bottom:1px;
    transition:color .25s,border-color .25s;
}
.legal-signature__contact a:hover{color:var(--l-gold);border-color:var(--l-gold)}

/* ──── Load-in animations ──── */
@keyframes l-up{
    from{opacity:0;transform:translateY(22px)}
    to  {opacity:1;transform:translateY(0)}
}
.legal-page .anim{animation:l-up .9s cubic-bezier(.2,.8,.2,1) both}
.legal-page .d1{animation-delay:.08s}
.legal-page .d2{animation-delay:.2s}
.legal-page .d3{animation-delay:.32s}
.legal-page .d4{animation-delay:.44s}
.legal-page .d5{animation-delay:.56s}
.legal-page .d6{animation-delay:.68s}

/* ──── Responsive ──── */
@media (max-width:1100px){
    .legal-shell{grid-template-columns:1fr;gap:56px;padding:64px 32px 90px}
    .legal-toc{position:static}
    .legal-banner__wrap{grid-template-columns:1fr;gap:40px}
    .legal-seal{width:150px;height:150px;justify-self:start}
}
@media (max-width:720px){
    .legal-banner{min-height:400px;padding:92px 0 44px}
    .legal-banner__topbar{left:24px;right:24px}
    .legal-banner__wrap{padding:0 24px}
    .legal-banner__meta{gap:30px}
    .legal-banner__kicker{padding:5px 11px}
    .legal-pair{grid-template-columns:1fr;gap:32px}
    .legal-section__head{grid-template-columns:70px 1fr;gap:18px}
    .legal-section__num{font-size:52px}
    .legal-section__title{font-size:20px}
    .legal-intro{font-size:17px}
}

/* ──── RTL support ──── */
html[dir="rtl"] .legal-toc__label::before,
html[dir="rtl"] .legal-banner__topbar .crumb::before{margin-right:0;margin-left:12px}
html[dir="rtl"] .legal-banner__topbar .doc-no::after{margin-left:0;margin-right:12px}
html[dir="rtl"] .legal-toc__item{padding:12px 32px 12px 0}
html[dir="rtl"] .legal-toc__item::before{left:auto;right:0}
html[dir="rtl"] .legal-toc__item:hover,
html[dir="rtl"] .legal-toc__item.is-active{padding-right:38px;padding-left:0}
html[dir="rtl"] .legal-toc__item.is-active::after{left:auto;right:-3px}
html[dir="rtl"] .legal-section__head{direction:rtl}
html[dir="rtl"] .legal-section__num::after{left:auto;right:0}
html[dir="rtl"] .legal-pair > div{padding-left:0;padding-right:20px;border-left:none;border-right:1px solid var(--l-rule)}
html[dir="rtl"] .legal-pair > div:hover{padding-right:24px;border-right-color:var(--l-wine)}
html[dir="rtl"] .legal-intro::first-letter{float:right;padding:8px 0 0 16px}

/* ──── Print ──── */
@media print{
    .legal-progress,.legal-banner,.legal-toc,
    .top-bar,.site-header,.site-nav,.newsletter,.footer{display:none !important}
    .legal-shell{display:block;padding:0;max-width:100%}
    .legal-main{max-width:100%}
    .legal-page{background:#fff;color:#000}
    .legal-section__num{font-size:32px;color:#000}
    .legal-section__head{border-bottom:1px solid #000}
    .legal-pair p,.legal-intro{font-size:11pt;color:#000;line-height:1.55}
    .legal-pair > div{border-left-color:#999;padding-left:14px}
    .legal-pair h4{color:#000}
    .legal-intro::first-letter{color:#000}
    .legal-signature__line,.legal-signature__mark{color:#000}
    a{color:#000;text-decoration:underline}
    .legal-section{break-inside:avoid;page-break-inside:avoid}
}
