:root { --ink:#17324d; --muted:#62758a; --line:#dce5eb; --teal:#087f83; --soft:#edf7f6; --paper:#fff; --bg:#f3f6f8; }
* { box-sizing:border-box; }
body { margin:0; color:var(--ink); background:var(--bg); font-family:Roboto,"Helvetica Neue",Arial,sans-serif; line-height:1.65; }
a { color:var(--teal); }
.legal-header { position:sticky; top:0; z-index:10; display:flex; align-items:center; justify-content:space-between; min-height:72px; padding:12px clamp(20px,5vw,76px); border-bottom:1px solid rgba(220,229,235,.9); background:rgba(255,255,255,.96); backdrop-filter:blur(12px); }
.legal-brand img { display:block; width:126px; height:auto; }
.legal-nav { display:flex; flex-wrap:wrap; gap:8px; }
.legal-nav a { padding:8px 12px; border-radius:9px; color:#4b6175; font-size:14px; font-weight:700; text-decoration:none; }
.legal-nav a:hover,.legal-nav a[aria-current="page"] { color:var(--teal); background:var(--soft); }
.legal-main { display:grid; grid-template-columns:minmax(250px,330px) minmax(0,850px); justify-content:center; gap:clamp(24px,4vw,54px); padding:clamp(34px,6vw,76px) clamp(18px,4vw,54px); }
.legal-summary { align-self:start; position:sticky; top:110px; }
.legal-kicker { color:var(--teal); font-size:11px; font-weight:900; letter-spacing:1.6px; }
.legal-summary h1 { margin:10px 0 14px; font-size:clamp(30px,4vw,45px); line-height:1.08; letter-spacing:-1.4px; }
.legal-summary>p { margin:0 0 24px; color:var(--muted); font-size:16px; }
.legal-summary dl { margin:0; padding-top:18px; border-top:1px solid var(--line); }
.legal-summary dl div { display:grid; grid-template-columns:96px 1fr; gap:8px; margin-bottom:8px; }
.legal-summary dt { color:var(--muted); font-size:12px; font-weight:700; text-transform:uppercase; }
.legal-summary dd { margin:0; font-size:13px; font-weight:700; }
.legal-document { padding:clamp(25px,5vw,54px); border:1px solid var(--line); border-radius:20px; background:var(--paper); box-shadow:0 22px 60px rgba(23,50,77,.08); }
.legal-document section+section { margin-top:38px; padding-top:34px; border-top:1px solid #e8eef2; }
.legal-document h2 { margin:0 0 12px; font-size:21px; line-height:1.3; }
.legal-document p { margin:0 0 13px; color:#40576d; }
.legal-document ul,.legal-document ol { margin:12px 0 0; padding-left:22px; color:#40576d; }
.legal-document li+li { margin-top:7px; }
.legal-callout,.legal-note { padding:22px!important; border:0!important; border-radius:14px; background:var(--soft); }
.legal-note { background:#fff6dd; }
.legal-table-wrap { overflow-x:auto; border:1px solid var(--line); border-radius:12px; }
.legal-table-wrap table { width:100%; border-collapse:collapse; min-width:560px; }
.legal-table-wrap th,.legal-table-wrap td { padding:13px 15px; border-bottom:1px solid var(--line); text-align:left; vertical-align:top; }
.legal-table-wrap th { color:var(--ink); background:#f5f8fa; font-size:13px; }
.legal-table-wrap td { color:#40576d; font-size:14px; }
.legal-table-wrap tr:last-child td { border-bottom:0; }
.legal-cookie-settings { padding:11px 17px; border:0; border-radius:9px; color:#fff; background:var(--teal); font:inherit; font-weight:800; cursor:pointer; }
.legal-help { margin-top:12px!important; font-size:13px; }
.legacy-terms { margin-top:16px; border:1px solid var(--line); border-radius:14px; overflow:hidden; }
.legacy-terms summary { display:flex; align-items:center; justify-content:space-between; gap:15px; padding:16px 18px; color:#fff; background:var(--ink); cursor:pointer; list-style:none; }
.legacy-terms summary::-webkit-details-marker { display:none; }
.legacy-terms summary span { font-weight:800; }
.legacy-terms summary small { color:#cbd8e2; }
.legacy-terms summary::after { content:'+'; display:inline-flex; align-items:center; justify-content:center; width:26px; height:26px; flex:0 0 26px; border-radius:7px; background:rgba(255,255,255,.12); font-size:20px; }
.legacy-terms[open] summary::after { content:'−'; }
.legacy-terms-content { max-height:70vh; padding:24px; overflow:auto; background:#fbfcfd; }
.legacy-terms-content img { display:block; max-width:180px; height:auto; margin:0 auto 15px; }
.legacy-terms-content p,.legacy-terms-content li { color:#40576d; font-size:13px; line-height:1.65; }
.legacy-terms-content p[align="justify"] { text-align:justify; }
.legacy-terms-content ol,.legacy-terms-content ul { padding-left:22px; }
.legal-footer { display:flex; justify-content:space-between; gap:18px; padding:24px clamp(20px,5vw,76px); border-top:1px solid var(--line); color:var(--muted); background:#fff; font-size:12px; }
@media(max-width:850px){ .legal-header{align-items:flex-start;flex-direction:column;gap:10px}.legal-main{grid-template-columns:1fr}.legal-summary{position:static} }
@media(max-width:540px){ .legal-header{padding:12px 16px}.legal-nav{gap:3px}.legal-nav a{padding:6px 8px;font-size:12px}.legal-document{padding:22px 18px;border-radius:14px}.legacy-terms summary{align-items:flex-start;flex-direction:column}.legacy-terms summary::after{position:absolute;right:28px}.legacy-terms-content{padding:18px 14px}.legal-footer{flex-direction:column} }
