.legal-page {
  --legal-navy: #102f46;
  --legal-blue: #185b7d;
  --legal-green: #188446;
  --legal-mint: #e9f6ee;
  --legal-cream: #f7f5ee;
  --legal-ink: #1c2e38;
  --legal-muted: #5a6c75;
  --legal-line: #d9e5e0;
  background: #fbfcfb;
  color: var(--legal-ink);
}
.legal-hero { position: relative; overflow: hidden; padding: clamp(4.5rem, 8vw, 7.5rem) 0 clamp(3.5rem, 6vw, 5.5rem); background: radial-gradient(circle at 12% 12%, rgba(80,203,126,.2), transparent 31%), radial-gradient(circle at 90% 85%, rgba(61,150,194,.2), transparent 34%), linear-gradient(135deg,#0c2b3f 0%,#133e55 48%,#115638 100%); color: #fff; }
.legal-hero::before,.legal-hero::after { position:absolute; content:""; border:1px solid rgba(255,255,255,.12); border-radius:50%; }
.legal-hero::before { top:-180px; right:-110px; width:430px; height:430px; }
.legal-hero::after { right:110px; bottom:-240px; width:390px; height:390px; }
.legal-hero-grid { position:relative; z-index:1; display:grid; grid-template-columns:minmax(0,1.25fr) minmax(280px,.75fr); gap:clamp(2rem,6vw,5rem); align-items:center; }
.legal-breadcrumbs { display:flex; flex-wrap:wrap; margin:0 0 1.2rem; gap:.5rem; color:rgba(255,255,255,.72); font-size:.86rem; font-weight:700; }
.legal-breadcrumbs a { color:#fff; }
.legal-kicker { margin:0 0 .9rem; color:#a9e3bd; font-size:.78rem; font-weight:900; letter-spacing:.14em; text-transform:uppercase; }
.legal-hero h1 { max-width:720px; margin:0; color:#fff; font-size:clamp(2.35rem,5.5vw,4.7rem); line-height:1.02; letter-spacing:-.055em; }
.legal-hero .legal-lead { max-width:760px; margin:1.35rem 0 0; color:rgba(255,255,255,.82); font-size:clamp(1.03rem,2vw,1.22rem); line-height:1.75; }
.legal-updated { display:inline-flex; align-items:center; margin-top:1.5rem; padding:.58rem .85rem; gap:.55rem; border:1px solid rgba(255,255,255,.18); border-radius:999px; background:rgba(255,255,255,.08); color:#e8f5ed; font-size:.78rem; font-weight:800; backdrop-filter:blur(8px); }
.legal-updated::before { width:.54rem; height:.54rem; border-radius:50%; background:#58d485; box-shadow:0 0 0 .28rem rgba(88,212,133,.14); content:""; }
.legal-identity-card { position:relative; padding:clamp(1.5rem,3vw,2.15rem); border:1px solid rgba(255,255,255,.2); border-radius:26px; background:rgba(255,255,255,.11); box-shadow:0 26px 65px rgba(0,0,0,.2); backdrop-filter:blur(15px); }
.legal-identity-mark { display:grid; width:54px; height:54px; margin-bottom:1.2rem; place-items:center; border-radius:17px; background:#fff; color:var(--legal-green); box-shadow:0 13px 28px rgba(0,0,0,.18); }
.legal-identity-mark svg { width:28px; height:28px; }
.legal-identity-card span { color:#bce8ca; font-size:.72rem; font-weight:900; letter-spacing:.12em; text-transform:uppercase; }
.legal-identity-card h2 { margin:.55rem 0 .65rem; color:#fff; font-size:clamp(1.25rem,2.3vw,1.62rem); }
.legal-identity-card p { margin:.32rem 0; color:rgba(255,255,255,.78); font-size:.91rem; line-height:1.55; }
.legal-identity-card a { color:#fff; font-weight:800; }
.legal-policy-bar { position:relative; z-index:2; margin-top:-1.7rem; }
.legal-policy-tabs { display:grid; grid-template-columns:repeat(3,1fr); overflow:hidden; border:1px solid var(--legal-line); border-radius:18px; background:#fff; box-shadow:0 18px 50px rgba(21,57,42,.12); }
.legal-policy-tabs a { display:flex; min-height:74px; align-items:center; justify-content:center; padding:1rem; gap:.7rem; color:#42565f; border-right:1px solid var(--legal-line); font-weight:850; text-align:center; }
.legal-policy-tabs a:last-child { border-right:0; }
.legal-policy-tabs a:hover { color:var(--legal-green); background:#f5faf7; }
.legal-policy-tabs a[aria-current="page"] { color:#fff; background:linear-gradient(135deg,var(--legal-green),#146b3c); }
.legal-policy-tabs svg { width:21px; height:21px; flex:0 0 21px; }
.legal-summary { padding:clamp(3.5rem,7vw,5.5rem) 0 1.5rem; }
.legal-summary-heading { max-width:760px; margin-bottom:1.8rem; }
.legal-summary-heading h2 { margin:0 0 .65rem; color:var(--legal-navy); font-size:clamp(1.8rem,3.4vw,2.65rem); letter-spacing:-.035em; }
.legal-summary-heading p { margin:0; color:var(--legal-muted); line-height:1.7; }
.legal-summary-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1rem; }
.legal-summary-card { padding:1.5rem; border:1px solid var(--legal-line); border-radius:19px; background:#fff; box-shadow:0 12px 34px rgba(24,69,46,.07); }
.legal-summary-icon { display:grid; width:44px; height:44px; margin-bottom:1rem; place-items:center; border-radius:14px; color:var(--legal-green); background:var(--legal-mint); }
.legal-summary-icon svg { width:23px; height:23px; }
.legal-summary-card h3 { margin:0 0 .5rem; color:var(--legal-navy); font-size:1.04rem; }
.legal-summary-card p { margin:0; color:var(--legal-muted); font-size:.91rem; line-height:1.6; }
.legal-content-section { padding:2rem 0 clamp(4.5rem,8vw,7rem); }
.legal-layout { display:grid; grid-template-columns:280px minmax(0,1fr); gap:clamp(2rem,5vw,4.5rem); align-items:start; }
.legal-toc { position:sticky; top:125px; overflow:hidden; border:1px solid var(--legal-line); border-radius:19px; background:#fff; box-shadow:0 14px 38px rgba(24,69,46,.08); }
.legal-toc-header { padding:1.15rem 1.25rem; color:#fff; background:linear-gradient(135deg,var(--legal-navy),var(--legal-blue)); }
.legal-toc-header span { display:block; color:#b8dce9; font-size:.68rem; font-weight:900; letter-spacing:.12em; text-transform:uppercase; }
.legal-toc-header strong { display:block; margin-top:.25rem; font-size:1.04rem; }
.legal-toc nav { display:grid; padding:.75rem; }
.legal-toc nav a { padding:.72rem .78rem; color:#52656e; border-radius:10px; font-size:.85rem; font-weight:750; line-height:1.35; }
.legal-toc nav a:hover { color:var(--legal-green); background:var(--legal-mint); }
.legal-toc-contact { margin:.35rem .75rem .75rem; padding:1rem; border-radius:12px; background:var(--legal-cream); }
.legal-toc-contact strong { display:block; color:var(--legal-navy); font-size:.88rem; }
.legal-toc-contact a { display:block; margin-top:.35rem; color:var(--legal-green); font-size:.82rem; font-weight:800; overflow-wrap:anywhere; }
.legal-document { min-width:0; }
.legal-document>.legal-intro { margin:0 0 1.5rem; padding:clamp(1.35rem,3vw,2rem); border-left:5px solid var(--legal-green); border-radius:0 17px 17px 0; background:var(--legal-mint); color:#345546; line-height:1.75; }
.legal-section { scroll-margin-top:130px; padding:clamp(1.6rem,4vw,2.35rem); border:1px solid var(--legal-line); border-radius:21px; background:#fff; box-shadow:0 12px 35px rgba(24,69,46,.055); }
.legal-section+.legal-section { margin-top:1rem; }
.legal-section-heading { display:flex; align-items:flex-start; margin-bottom:1rem; gap:1rem; }
.legal-section-number { display:grid; width:38px; height:38px; flex:0 0 38px; place-items:center; border-radius:12px; color:var(--legal-green); background:var(--legal-mint); font-size:.78rem; font-weight:950; }
.legal-section h2 { margin:.22rem 0 0; color:var(--legal-navy); font-size:clamp(1.3rem,2.5vw,1.7rem); letter-spacing:-.025em; }
.legal-section h3 { margin:1.35rem 0 .55rem; color:#23465a; font-size:1.05rem; }
.legal-section p { margin:.8rem 0; color:#465b65; line-height:1.78; }
.legal-section a { color:#126f43; font-weight:780; text-decoration:underline; text-decoration-color:rgba(18,111,67,.3); text-underline-offset:3px; }
.legal-section ul,.legal-section ol { display:grid; margin:1rem 0; padding-left:1.3rem; gap:.62rem; color:#465b65; line-height:1.65; }
.legal-section li::marker { color:var(--legal-green); font-weight:900; }
.legal-callout { margin:1.1rem 0; padding:1.1rem 1.2rem; border:1px solid #cce5d5; border-radius:14px; background:#f0faf4; color:#335543; }
.legal-callout strong { display:block; margin-bottom:.25rem; color:#165f37; }
.legal-callout.is-important { border-color:#ead8b5; background:#fff8ea; color:#68563a; }
.legal-callout.is-important strong { color:#855c13; }
.legal-table-wrap { overflow-x:auto; margin:1.2rem 0; border:1px solid var(--legal-line); border-radius:14px; }
.legal-table { width:100%; min-width:680px; border-collapse:collapse; background:#fff; font-size:.88rem; }
.legal-table th { padding:.9rem 1rem; color:#fff; background:var(--legal-navy); text-align:left; }
.legal-table td { padding:.95rem 1rem; color:#465b65; border-top:1px solid var(--legal-line); vertical-align:top; line-height:1.55; }
.legal-table tbody tr:nth-child(even) td { background:#f8fbf9; }
.legal-contact-panel { display:grid; grid-template-columns:minmax(0,1fr) auto; margin-top:1.2rem; padding:clamp(1.3rem,3vw,1.8rem); gap:1.5rem; align-items:center; border-radius:17px; color:#fff; background:linear-gradient(135deg,var(--legal-navy),#176742); }
.legal-contact-panel h3 { margin:0 0 .35rem; color:#fff; }
.legal-contact-panel p { margin:0; color:rgba(255,255,255,.76); }
.legal-contact-panel .button { white-space:nowrap; background:#fff; color:var(--legal-navy); border-color:#fff; }
.legal-note-footer { margin-top:1.3rem; color:#718087; font-size:.82rem; line-height:1.55; }
@media (max-width:980px) { .legal-hero-grid,.legal-layout { grid-template-columns:1fr; } .legal-identity-card { max-width:620px; } .legal-toc { position:static; } .legal-toc nav { grid-template-columns:repeat(2,minmax(0,1fr)); } .legal-toc-contact { display:none; } }
@media (max-width:720px) { .legal-hero { padding-top:3.6rem; } .legal-policy-tabs { grid-template-columns:1fr; } .legal-policy-tabs a { min-height:58px; border-right:0; border-bottom:1px solid var(--legal-line); } .legal-policy-tabs a:last-child { border-bottom:0; } .legal-summary-grid { grid-template-columns:1fr; } .legal-toc nav { grid-template-columns:1fr; } .legal-contact-panel { grid-template-columns:1fr; } .legal-contact-panel .button { width:100%; } .legal-section-heading { gap:.75rem; } }
@media (prefers-reduced-motion:reduce) { .legal-page * { scroll-behavior:auto!important; } }
