.legal-hero,.legal-layout { width:min(1200px,calc(100% - 112px)); }
.legal-hero { position:relative; isolation:isolate; padding-top:42px; }
.legal-hero::before { content:""; position:absolute; inset:-100px calc(50% - 50vw) -30px; z-index:-1; pointer-events:none; background:radial-gradient(ellipse at 72% 15%,#ac80ed13,transparent 65%); }
.legal-back { display:inline-flex; align-items:center; gap:8px; color:#aaa3b8; font-size:14px; }
.legal-back .icon { width:16px; height:16px; }
.legal-back:hover { color:var(--accent); }
.legal-heading { display:flex; align-items:center; justify-content:space-between; gap:32px; padding-block:40px 44px; }
.legal-heading .eyebrow { margin-bottom:18px; }
.legal-heading h1 { font-size:clamp(40px,4.8vw,64px); line-height:1.13; letter-spacing:-.055em; text-wrap:balance; }
.legal-heading p { margin-top:20px; max-width:760px; color:#aaa3b8; font-size:17px; line-height:1.7; }
.legal-seal { flex-shrink:0; display:grid; place-items:center; width:106px; height:106px; border:1px solid #b7a0ff30; border-radius:27px; color:var(--accent); background:linear-gradient(135deg,#b7a0ff12,#b7a0ff03); transform:rotate(-8deg); box-shadow:0 0 60px #b7a0ff0a,inset 0 1px #ffffff0b; }
.legal-seal .icon { width:42px; height:42px; }
.legal-toolbar { display:flex; align-items:center; justify-content:space-between; gap:24px; border-bottom:1px solid var(--line); }
.legal-documents { display:flex; gap:30px; min-width:0; padding-bottom:1px; margin-bottom:-1px; overflow-x:auto; overflow-y:hidden; scrollbar-width:none; }
.legal-documents::-webkit-scrollbar { display:none; }
.legal-documents a { padding:17px 0; border-bottom:2px solid transparent; margin-bottom:-1px; color:#a9a1b5; font-size:15px; font-weight:600; white-space:nowrap; }
.legal-documents a[aria-current="page"] { border-color:var(--accent); color:var(--text); }
.legal-documents a:hover { color:var(--accent); }
.legal-download { display:inline-flex; align-items:center; gap:9px; color:var(--accent-bright); font-size:14px; font-weight:600; }
.legal-download .icon { width:17px; height:17px; }
.legal-download:hover { color:var(--text); }
button.legal-download { padding:0; border:0; background:none; font-family:inherit; cursor:pointer; }
.legal-layout { display:grid; grid-template-columns:270px minmax(0,1fr); gap:72px; align-items:start; padding-block:52px 100px; }
.legal-sidebar { position:sticky; top:120px; min-width:0; }
.legal-toc { border:1px solid var(--line); border-radius:16px; background:linear-gradient(145deg,#17141e99,#11111799); }
.legal-toc summary { display:flex; align-items:center; justify-content:space-between; gap:16px; padding:19px 20px; cursor:pointer; list-style:none; font-size:15px; font-weight:600; }
.legal-toc summary::-webkit-details-marker { display:none; }
.legal-toc summary>span { display:flex; flex-direction:column; gap:3px; }
.legal-toc summary small { color:#9d94ac; font-size:12px; font-weight:400; }
.legal-toc summary .icon { width:17px; height:17px; color:var(--accent); transition:transform .2s; }
.legal-toc[open] summary .icon { transform:rotate(180deg); }
.legal-toc nav { border-top:1px solid var(--line); padding:10px; max-height:calc(100dvh - 280px); overflow-y:auto; scrollbar-width:thin; scrollbar-color:#514360 transparent; overscroll-behavior:contain; }
.legal-toc ol { list-style:none; padding:0; margin:0; }
.legal-toc a { display:grid; grid-template-columns:max-content minmax(0,1fr); gap:6px; padding:10px; border-radius:7px; font-size:14px; line-height:1.55; color:#a9a1b5; transition:color .2s,background .2s; }
.legal-toc a>span:first-child { color:#ad9ac8; font-variant-numeric:tabular-nums; font-size:inherit; font-weight:600; white-space:nowrap; }
.legal-toc a:hover,.legal-toc a[aria-current="location"] { color:var(--text); background:#b7a0ff0e; }
.legal-toc a[aria-current="location"]>span:first-child { color:var(--accent); }
.legal-sidebar-link { display:flex; align-items:center; gap:10px; font-size:14px; color:#a9a1b5; padding:20px 4px; }
.legal-sidebar-link .icon { width:17px; height:17px; color:var(--accent); }
.legal-sidebar-link .icon:last-child { margin-left:auto; }
.legal-sidebar-link:hover { color:var(--text); }
.legal-main { min-width:0; }
.legal-content { color:#c5bfd0; font-size:17px; line-height:1.9; overflow-wrap:anywhere; }
.legal-section { padding-bottom:48px; }
.legal-section+.legal-section { padding-top:42px; border-top:1px solid var(--line); }
.legal-section h2 { display:grid; grid-template-columns:max-content minmax(0,1fr); align-items:baseline; gap:8px; color:var(--text); font-size:27px; font-weight:600; line-height:1.4; letter-spacing:-.035em; margin-bottom:26px; scroll-margin-top:24px; text-wrap:pretty; }
.legal-section-number { color:var(--accent); font:inherit; letter-spacing:inherit; font-variant-numeric:tabular-nums; white-space:nowrap; }
.legal-content p { margin:0; }
.legal-content p+p { margin-top:20px; }
.legal-content ol,.legal-content ul { margin:20px 0 0; padding-left:28px; list-style:revert; }
.legal-content li { padding-left:7px; }
.legal-content li+li { margin-top:20px; }
.legal-content li::marker { color:#b7a0ffb3; font-weight:600; font-variant-numeric:tabular-nums; font-size:.9em; }
.legal-content li>ol,.legal-content li>ul { margin-top:14px; padding-left:24px; }
.legal-content li li+li { margin-top:10px; }
.legal-content ol[type="a"] { list-style-type:lower-alpha; }
.legal-content ul { list-style-type:disc; }
.legal-notice-heading { font-size:15px; color:var(--accent); margin:32px 0 0; letter-spacing:.08em; }
.legal-notice-heading+ol { padding:24px 24px 24px 46px; background:#b7a0ff06; border:1px solid #b7a0ff22; border-radius:14px; }
.legal-content a { color:var(--accent-bright); text-decoration:underline; text-underline-offset:4px; }
.legal-content strong { color:var(--text); font-weight:600; }
.legal-content h3 { margin:36px 0 0; color:var(--text); font-size:20px; font-weight:600; line-height:1.45; letter-spacing:-.025em; }
.legal-section>*+* { margin-top:20px; }
.legal-highlights { padding:26px 26px 26px 48px!important; border:1px solid #b7a0ff22; border-radius:14px; background:#b7a0ff06; }
.legal-note { padding:18px 22px; border-left:2px solid var(--accent); border-radius:0 12px 12px 0; background:#b7a0ff08; color:#e0d4ee; font-size:16px; }
.legal-definitions { margin:0; border-top:1px solid var(--line); }
.legal-definitions>div { padding:16px 0; border-bottom:1px solid var(--line); }
.legal-definitions dt { color:var(--text); font-weight:600; }
.legal-definitions dd { margin:4px 0 0; }
.legal-form { padding:26px 28px; border:1px dashed #75608d; border-radius:14px; font-size:15px; line-height:1.8; }
.legal-form p+p { margin-top:12px; }
.legal-table-wrap { margin-block:25px; }
.legal-table { width:100%; table-layout:fixed; border-collapse:separate; border-spacing:0; font-size:14px; line-height:1.7; border:1px solid var(--line); border-radius:12px; overflow:hidden; text-align:left; }
.legal-content li .legal-table caption { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; padding:0; }
.legal-table caption { text-align:left; font-size:14px; font-weight:600; color:var(--text); padding-bottom:14px; }
.legal-table th,.legal-table td { vertical-align:top; padding:14px 12px; border-bottom:1px solid var(--line); border-right:1px solid var(--line); font-weight:400; }
.legal-table th:last-child,.legal-table td:last-child { border-right:0; }
.legal-table thead th { background:#b7a0ff0e; color:var(--accent-bright); font-weight:600; font-size:12px; }
.legal-table thead th:nth-child(1) { width:19%; }
.legal-table thead th:nth-child(2) { width:20%; }
.legal-table thead th:nth-child(3) { width:27%; }
.legal-table thead th:nth-child(4) { width:34%; }
.legal-table-pairs thead th:nth-child(1) { width:32%; }
.legal-table-pairs thead th:nth-child(2) { width:68%; }
.legal-table-purposes thead th:nth-child(1) { width:24%; }
.legal-table-purposes thead th:nth-child(2) { width:42%; }
.legal-table-purposes thead th:nth-child(3) { width:34%; }
.legal-table tbody th { color:#e4dced; }
.legal-table tbody tr:nth-child(even):not(.legal-table-group) { background:#ffffff02; }
.legal-table tbody tr:last-child>* { border-bottom:0; }
.legal-table-group th { background:#b7a0ff08; font-size:12px; letter-spacing:.06em; color:var(--accent-bright); }
.legal-end { display:flex; align-items:center; justify-content:space-between; gap:20px; padding-top:26px; border-top:1px solid var(--line); }
.legal-end .eyebrow { margin:0; }
@media(max-width:1100px) {
    .legal-layout { grid-template-columns:230px minmax(0,1fr); gap:40px; }
    .legal-hero,.legal-layout { width:calc(100% - 64px); }
    .legal-section h2 { font-size:25px; }
}
@media(max-width:850px) {
    .legal-layout { display:block; padding-top:28px; }
    .legal-sidebar { position:static; margin-bottom:40px; }
    .legal-sidebar-link { display:none; }
    .legal-toc nav { max-height:380px; }
    .legal-heading { padding-block:28px 34px; }
    .legal-seal { width:80px; height:80px; border-radius:22px; }
    .legal-seal .icon { width:32px; height:32px; }
    .legal-content { max-width:760px; margin:auto; }
}
@media(max-width:600px) {
    .legal-hero,.legal-layout { width:calc(100% - 40px); }
    .legal-hero { padding-top:25px; }
    .legal-heading { gap:0; }
    .legal-heading h1 { font-size:39px; }
    .legal-heading p { font-size:16px; margin-top:16px; }
    .legal-seal { display:none; }
    .legal-toolbar { flex-wrap:wrap; gap:0; }
    .legal-documents { gap:22px; width:100%; }
    .legal-documents a { font-size:14px; }
    .legal-toolbar>.legal-download { padding-block:17px; }
    .legal-layout { padding-bottom:64px; }
    .legal-section h2 { font-size:23px; gap:8px; margin-bottom:22px; }
    .legal-content { font-size:16px; line-height:1.85; }
    .legal-content ol,.legal-content ul { padding-left:22px; }
    .legal-content li { padding-left:4px; }
    .legal-content li>ol,.legal-content li>ul { padding-left:20px; }
    .legal-section { padding-bottom:34px; }
    .legal-section+.legal-section { padding-top:30px; }
    .legal-notice-heading+ol { padding:20px 18px 20px 36px; }
    .legal-highlights { padding:20px 18px 20px 36px!important; }
    .legal-form { padding:20px; }
    .legal-content h3 { font-size:19px; margin-top:30px; }
    .legal-table { display:block; border:0; border-radius:0; font-size:15px; }
    .legal-table caption { display:block; }
    .legal-table thead { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
    .legal-table tbody { display:block; }
    .legal-table tr { display:block; border:1px solid var(--line); border-radius:10px; padding:5px 16px; margin-bottom:16px; background:#121017; }
    .legal-table th,.legal-table td { display:block; width:100%; padding:12px 0; border:0; }
    .legal-table [data-label]::before { content:attr(data-label); display:block; color:#a99bbd; font-size:12px; font-weight:600; margin-bottom:5px; }
    .legal-table tbody tr>*+* { border-top:1px solid var(--line); }
    .legal-table-group { border:0!important; padding:0!important; background:none!important; }
    .legal-table-group th { background:none; padding-top:14px; }
    .legal-end { flex-wrap:wrap; }
}
@media print {
    body.spaceis-site { background:white; color:#111; }
    .site-header,.site-footer,.legal-back,.legal-seal,.legal-toolbar,.legal-sidebar,.legal-end,.cookie-banner,.cookie-reopen,.cookie-dialog,.motion-toggle,.reading-progress { display:none!important; }
    .legal-hero,.legal-layout { display:block; width:100%; padding:0; }
    .legal-hero::before { display:none; }
    .legal-heading { padding-block:0 24px; }
    .legal-heading h1 { font-size:28pt; }
    .legal-heading p,.legal-content,.legal-section h2,.legal-section-number,.legal-heading .eyebrow,.legal-notice-heading { color:#111; }
    .legal-content { font-size:11pt; line-height:1.55; }
    .legal-section h2 { font-size:17pt; break-after:avoid; }
    .legal-section { padding-block:20px; }
    .legal-table,.legal-table th,.legal-table td { color:#111!important; border-color:#ccc; }
    .legal-table tr { break-inside:avoid; }
    .legal-content strong,.legal-content h3,.legal-content code,.legal-content a,.legal-definitions dt,.legal-note { color:#111; }
    .legal-highlights,.legal-note,.legal-form,.legal-content code { background:none; border-color:#999; }
    .legal-form,.legal-definitions>div { break-inside:avoid; }
    .legal-content h3 { break-after:avoid; }
    .motion-ready [data-reveal] { opacity:1!important; transform:none!important; }
}
