/* Dedicated policy pages built from the host site's existing brand tokens. */
.legal-page { min-width: 320px; min-height: 100dvh; color: var(--brand-text); background: radial-gradient(circle at 82% 0%, color-mix(in srgb, var(--brand-lime) 12%, transparent), transparent 28rem), var(--brand-bg); }
.legal-shell { min-height: 100dvh; display: flex; flex-direction: column; }
.legal-site-header { position: sticky; z-index: 100; top: 0; border-bottom: 1px solid rgba(255,255,255,.1); background: color-mix(in srgb, var(--brand-bg) 90%, transparent); box-shadow: 0 10px 30px rgba(0,0,0,.18); backdrop-filter: blur(18px); }
.legal-header-inner { width: min(100%, 1180px); min-height: 72px; margin-inline: auto; padding: 10px 24px; display: flex; align-items: center; gap: 24px; }
.legal-brand { flex: 0 0 auto; border-radius: 8px; transition: filter .18s ease, transform .18s ease; }
.legal-brand img { width: 150px; height: auto; display: block; }
.legal-header-nav { min-width: 0; margin-left: auto; display: flex; align-items: center; gap: 4px; }
.legal-header-nav a, .legal-back { min-height: 38px; padding: 0 12px; border: 1px solid transparent; border-radius: 9px; color: var(--brand-muted); display: inline-flex; align-items: center; justify-content: center; font-size: 12px; font-weight: 700; white-space: nowrap; transition: color .18s ease, border-color .18s ease, background-color .18s ease, transform .18s ease; }
.legal-header-nav a[aria-current="page"] { border-color: color-mix(in srgb, var(--brand-lime) 32%, transparent); color: var(--brand-text); background: color-mix(in srgb, var(--brand-lime) 11%, transparent); }
.legal-back { flex: 0 0 auto; border-color: rgba(255,255,255,.16); color: var(--brand-text); gap: 8px; }
.legal-back svg { flex: 0 0 auto; width: 20px; height: 20px; transition: transform .18s ease; }
.legal-header-nav a:hover, .legal-back:hover { border-color: color-mix(in srgb, var(--brand-aqua) 36%, transparent); color: var(--brand-text); background: color-mix(in srgb, var(--brand-lime) 10%, transparent); transform: translateY(-1px); }
.legal-back:hover svg { transform: translateX(-2px); }
.legal-brand:focus-visible, .legal-header-nav a:focus-visible, .legal-back:focus-visible, .legal-toc a:focus-visible, .legal-article a:focus-visible { outline: 3px solid var(--brand-aqua); outline-offset: 3px; }
.legal-main { width: min(100%, 1180px); margin-inline: auto; padding: 34px 24px 80px; }
.legal-breadcrumb { margin-bottom: 20px; color: var(--brand-muted); display: flex; align-items: center; gap: 8px; font-size: 12px; }
.legal-breadcrumb a, .legal-section a { color: var(--brand-aqua); text-decoration: underline; text-underline-offset: 3px; }
.legal-breadcrumb a:hover, .legal-section a:hover { color: var(--brand-text); }
.legal-hero { position: relative; overflow: hidden; padding: clamp(28px,5vw,58px); border: 1px solid rgba(255,255,255,.12); border-radius: 18px; background: linear-gradient(115deg,color-mix(in srgb,var(--brand-lime) 16%,transparent),transparent 48%),var(--brand-surface); box-shadow: 0 24px 70px rgba(0,0,0,.28); }
.legal-hero::after { content:""; position:absolute; top:0; right:0; width:min(36%,360px); height:3px; border-radius:0 18px 0 99px; background:var(--brand-lime); }
.legal-eyebrow { margin:0 0 12px; color:var(--brand-aqua); font-size:11px; line-height:1; font-weight:800; letter-spacing:.13em; text-transform:uppercase; }
.legal-hero h1 { max-width:820px; margin:0; font-size:clamp(34px,5vw,62px); line-height:1; letter-spacing:-.045em; }
.legal-hero > p:not(.legal-eyebrow) { max-width:760px; margin:18px 0 0; color:color-mix(in srgb,var(--brand-text) 82%,transparent); font-size:clamp(14px,1.6vw,17px); line-height:1.65; }
.legal-meta { margin-top:24px; display:flex; flex-wrap:wrap; gap:8px; }
.legal-meta span { min-height:32px; padding:0 11px; border:1px solid rgba(255,255,255,.12); border-radius:999px; color:var(--brand-muted); background:color-mix(in srgb,var(--brand-bg) 62%,transparent); display:inline-flex; align-items:center; font-size:11px; font-weight:650; }
.legal-layout { min-width:0; margin-top:26px; display:grid; grid-template-columns:236px minmax(0,1fr); align-items:start; gap:28px; }
.legal-toc { min-width:0; position:sticky; top:94px; padding:16px; border:1px solid rgba(255,255,255,.12); border-radius:14px; background:color-mix(in srgb,var(--brand-surface) 88%,transparent); backdrop-filter:blur(14px); }
.legal-toc > strong { margin-bottom:10px; color:var(--brand-text); display:block; font-size:12px; }
.legal-toc nav { display:grid; gap:4px; }
.legal-toc a { min-height:36px; padding:8px 10px; border-radius:8px; color:var(--brand-muted); display:flex; align-items:center; font-size:11px; line-height:1.35; transition:color .18s ease,background-color .18s ease,transform .18s ease; }
.legal-toc a:hover { color:var(--brand-text); background:color-mix(in srgb,var(--brand-lime) 10%,transparent); transform:translateX(2px); }
.legal-article { min-width:0; border:1px solid rgba(255,255,255,.12); border-radius:16px; background:var(--brand-surface); }
.legal-section { padding:clamp(22px,3vw,34px); scroll-margin-top:96px; }
.legal-section + .legal-section { border-top:1px solid rgba(255,255,255,.1); }
.legal-section h2 { margin:0 0 15px; font-size:clamp(21px,2.5vw,29px); line-height:1.14; letter-spacing:-.025em; }
.legal-section h3 { margin:22px 0 9px; color:var(--brand-text); font-size:15px; }
.legal-section p, .legal-section li { color:color-mix(in srgb,var(--brand-text) 78%,transparent); font-size:14px; line-height:1.72; }
.legal-section p { margin:0 0 13px; }
.legal-section p:last-child { margin-bottom:0; }
.legal-section ul, .legal-section ol { margin:12px 0 0; padding-left:20px; }
.legal-section li + li { margin-top:8px; }
.legal-section code { padding:2px 5px; border-radius:5px; color:var(--brand-aqua); background:var(--brand-surface-strong); font-size:.9em; }
.legal-note { margin:18px 0 0; padding:16px 18px; border-left:3px solid var(--brand-lime); border-radius:0 10px 10px 0; background:var(--brand-surface-strong); }
.legal-note strong, .legal-card strong { margin-bottom:5px; color:var(--brand-text); display:block; font-size:13px; }
.legal-note p, .legal-card p { margin:0; font-size:13px; }
.legal-cards { margin-top:17px; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
.legal-card { padding:16px; border:1px solid rgba(255,255,255,.11); border-radius:11px; background:var(--brand-surface-strong); }
.legal-table-wrap { width:100%; margin-top:16px; overflow-x:auto; border:1px solid rgba(255,255,255,.12); border-radius:11px; }
.legal-table { width:100%; min-width:620px; border-collapse:collapse; }
.legal-table th, .legal-table td { padding:13px 14px; text-align:left; vertical-align:top; font-size:12px; line-height:1.55; }
.legal-table th { color:var(--brand-text); background:var(--brand-surface-strong); }
.legal-table td { color:color-mix(in srgb,var(--brand-text) 78%,transparent); }
.legal-table tr + tr td, .legal-table th + th, .legal-table td + td { border-color:rgba(255,255,255,.09); border-style:solid; border-width:1px 0 0 1px; }
.legal-cta-row { margin-top:18px; display:flex; flex-wrap:wrap; gap:9px; }
.legal-cta { min-height:42px; padding:0 15px; border:1px solid color-mix(in srgb,var(--brand-aqua) 34%,transparent); border-radius:9px; color:var(--brand-text)!important; background:color-mix(in srgb,var(--brand-lime) 11%,transparent); display:inline-flex; align-items:center; justify-content:center; font-size:12px; font-weight:800; text-decoration:none!important; transition:border-color .18s ease,background-color .18s ease,transform .18s ease; }
.legal-cta:hover { border-color:var(--brand-aqua); background:color-mix(in srgb,var(--brand-lime) 19%,transparent); transform:translateY(-2px); }
.legal-footer { width:min(100%,1440px); margin:auto auto 0; }

@media (max-width:900px) {
  .legal-header-inner { min-height:66px; padding-inline:18px; gap:12px; }
  .legal-brand img { width:138px; }
  .legal-header-nav { display:none; }
  .legal-back { margin-left:auto; min-height:36px; padding-inline:10px; font-size:11px; }
  .legal-main { padding:26px 18px 60px; }
  .legal-layout { grid-template-columns:1fr; gap:14px; }
  .legal-toc { position:static; width:100%; padding:12px; overflow:hidden; }
  .legal-toc nav { min-width:0; width:100%; display:flex; gap:6px; overflow-x:auto; scrollbar-width:thin; }
  .legal-toc a { flex:0 0 auto; min-height:34px; background:var(--brand-surface-strong); white-space:nowrap; }
  .legal-toc a:hover { transform:translateY(-1px); }
  .legal-section { scroll-margin-top:78px; }
}
@media (max-width:560px) {
  .legal-header-inner { padding-inline:12px; }
  .legal-back span { display:none; }
  .legal-back { width:40px; padding-inline:0; }
  .legal-back svg { width:22px; height:22px; }
  .legal-main { padding:20px 12px 46px; }
  .legal-breadcrumb { margin-bottom:14px; }
  .legal-hero { padding:25px 20px; border-radius:14px; }
  .legal-hero h1 { font-size:clamp(31px,11vw,43px); }
  .legal-hero > p:not(.legal-eyebrow) { margin-top:14px; font-size:14px; }
  .legal-meta { margin-top:18px; }
  .legal-layout { margin-top:14px; }
  .legal-article { border-radius:13px; }
  .legal-section { padding:21px 18px; }
  .legal-section p, .legal-section li { font-size:13px; line-height:1.65; }
  .legal-cards { grid-template-columns:1fr; }
  .legal-footer { padding-inline:12px; }
}
@media (prefers-reduced-motion:reduce) { .legal-page *, .legal-page *::before, .legal-page *::after { scroll-behavior:auto!important; transition-duration:.01ms!important; } }
