:root {
  --ink: #050608;
  --ink-soft: #0c0e14;
  --primary: #216ff3;
  --primary-600: #1a5bcf;
  --font-display: "Space Grotesk", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --font-body: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --font-mono: "IBM Plex Mono", monospace;
  --container: 1380px;
  --ease: cubic-bezier(.16, .84, .44, 1);
}

*, *::before, *::after { box-sizing: border-box; }
html { min-width: 320px; scroll-behavior: smooth; scroll-padding-top: 110px; }
body { margin: 0; min-height: 100vh; overflow-x: hidden; font-family: var(--font-body); color: #fff; background: var(--ink); line-height: 1.65; -webkit-font-smoothing: antialiased; }
body.menu-open { overflow: hidden; }
a { color: inherit; text-decoration: none; }
button { font: inherit; cursor: pointer; }
img, svg { display: block; max-width: 100%; }
ul { margin: 0; padding: 0; list-style: none; }
h1, h2, h3, h4 { margin: 0; font-family: var(--font-display); line-height: 1.06; letter-spacing: -.04em; }
p { margin: 0; }
.wrap { width: min(calc(100% - 56px), var(--container)); margin-inline: auto; }

.btn { min-height: 46px; display: inline-flex; align-items: center; justify-content: center; padding: 12px 22px; border: 1px solid transparent; border-radius: 999px; font-weight: 600; font-size: 14px; white-space: nowrap; transition: transform .18s var(--ease), background .18s ease, border-color .18s ease; }
.btn:hover { transform: translateY(-2px); }
.btn-primary { color: #fff; background: var(--primary); }
.btn-primary:hover { background: var(--primary-600); }
.btn-ghost-light { color: #fff; border-color: rgba(255,255,255,.14); }

.site-header { position: fixed; inset: 0 0 auto; z-index: 500; padding: 18px 0 0; transition: transform .35s var(--ease), padding .25s ease; }
.site-header.is-hidden { transform: translateY(calc(-100% - 20px)); }
.site-header .header-wrap { height: 64px; display: flex; align-items: center; justify-content: space-between; padding: 0 10px 0 22px; border: 1px solid rgba(255,255,255,.08); border-radius: 999px; background: rgba(8,9,11,.24); backdrop-filter: blur(16px); -webkit-backdrop-filter: blur(16px); transition: background .25s ease, box-shadow .25s ease; }
.site-header.is-scrolled .header-wrap { background: rgba(8,9,11,.84); box-shadow: 0 18px 50px rgba(0,0,0,.3); }
.logo { display: flex; align-items: center; flex: none; }
.logo-mark { width: 100px; height: 50px; background: url('/logos/1transparent/1_white.png') center/contain no-repeat; }
.main-nav ul { display: flex; align-items: center; gap: 34px; }
.main-nav a, .header-home { color: rgba(255,255,255,.8); font-size: 14px; font-weight: 600; }
.main-nav a:hover, .header-home:hover { color: #fff; }
.header-actions { display: flex; align-items: center; gap: 16px; }
.header-actions .btn-primary { min-height: 42px; padding: 11px 20px; }
.nav-toggle { display: none; width: 42px; height: 42px; padding: 9px 10px; border: 0; border-radius: 50%; color: #fff; background: rgba(255,255,255,.08); }
.nav-toggle span { display: block; width: 20px; height: 2px; margin: 4px auto; border-radius: 999px; background: currentColor; }

.mobile-nav { position: fixed; inset: 0; z-index: 700; opacity: 0; pointer-events: none; background: rgba(7,7,8,.98); transition: opacity .25s ease; }
.mobile-nav.is-open { opacity: 1; pointer-events: auto; }
.mobile-nav-panel { min-height: 100%; display: flex; flex-direction: column; padding: max(16px, env(safe-area-inset-top)) 20px max(22px, env(safe-area-inset-bottom)); }
.mobile-nav-top { display: flex; align-items: center; justify-content: space-between; }
.mobile-nav-close { width: 44px; height: 44px; display: grid; place-items: center; border: 0; border-radius: 50%; color: #fff; background: rgba(255,255,255,.08); }
.mobile-nav-content { flex: 1; display: flex; flex-direction: column; justify-content: center; }
.mobile-nav-label { margin-bottom: 18px; color: var(--primary); font-family: var(--font-mono); font-size: 11px; letter-spacing: .13em; text-transform: uppercase; }
.mobile-nav-content li a { display: block; padding: 10px 0; color: #fff; font-family: var(--font-display); font-size: clamp(36px, 10vw, 52px); font-weight: 600; letter-spacing: -.04em; }
.mobile-nav-actions { display: grid; gap: 10px; margin-top: 30px; }

.legal-hero { position: relative; min-height: 500px; overflow: hidden; padding: 178px 0 92px; background:
  radial-gradient(circle at 50% -18%, rgba(42, 93, 220, .78), transparent 37%),
  radial-gradient(circle at 78% 4%, rgba(27, 60, 157, .38), transparent 30%),
  linear-gradient(180deg, #101a48 0%, #080d20 42%, #050608 100%); }
.legal-hero::before { content: ""; position: absolute; inset: 0; pointer-events: none; background: linear-gradient(90deg, rgba(255,255,255,.018) 1px, transparent 1px), linear-gradient(rgba(255,255,255,.014) 1px, transparent 1px); background-size: 48px 48px; mask-image: linear-gradient(to bottom, rgba(0,0,0,.5), transparent 80%); }
.legal-hero::after { content: ""; position: absolute; inset: auto 0 0; height: 140px; background: linear-gradient(to bottom, transparent, #050608); pointer-events: none; }
.hero-glow { position: absolute; width: 760px; height: 330px; left: 50%; top: -110px; transform: translateX(-50%); border-radius: 50%; background: rgba(49,101,238,.18); filter: blur(80px); }
.hero-content { position: relative; z-index: 1; max-width: 900px; text-align: center; }
.eyebrow { margin-bottom: 18px; color: #76a4ff; font-family: var(--font-mono); font-size: 11px; letter-spacing: .17em; text-transform: uppercase; }
.hero-content h1 { font-size: clamp(58px, 7vw, 96px); font-weight: 600; letter-spacing: -.055em; }
.hero-intro { max-width: 760px; margin: 30px auto 0; color: rgba(255,255,255,.78); font-size: clamp(17px, 1.7vw, 22px); line-height: 1.55; text-wrap: balance; }
.last-updated { display: inline-flex; margin-top: 28px; padding: 8px 13px; border: 1px solid rgba(255,255,255,.1); border-radius: 999px; color: rgba(255,255,255,.58); background: rgba(255,255,255,.035); font-family: var(--font-mono); font-size: 10px; letter-spacing: .08em; text-transform: uppercase; }

.legal-body { position: relative; padding: 70px 0 140px; background: #050608; }
.legal-layout { display: grid; grid-template-columns: 240px minmax(0, 900px); gap: 90px; justify-content: center; align-items: start; }
.legal-nav { position: sticky; top: 120px; padding: 24px 0 24px 22px; border-left: 1px solid rgba(255,255,255,.1); }
.legal-nav > p { margin-bottom: 16px; color: rgba(255,255,255,.44); font-family: var(--font-mono); font-size: 10px; letter-spacing: .13em; text-transform: uppercase; }
.legal-nav nav { display: grid; gap: 12px; }
.legal-nav a { color: rgba(255,255,255,.52); font-size: 13px; line-height: 1.35; transition: color .18s ease, transform .18s ease; }
.legal-nav a:hover { color: #fff; transform: translateX(4px); }
.legal-content { min-width: 0; }
.policy-section { position: relative; padding: 54px 0; border-bottom: 1px solid rgba(255,255,255,.09); }
.policy-section:first-child { padding-top: 0; }
.policy-section:last-child { border-bottom: 0; }
.intro-section { color: rgba(255,255,255,.72); font-size: 18px; line-height: 1.78; }
.intro-section p + p, .policy-section p + p { margin-top: 18px; }
.section-number { display: block; margin-bottom: 15px; color: #4e8cff; font-family: var(--font-mono); font-size: 11px; letter-spacing: .14em; }
.policy-section h2 { max-width: 760px; font-size: clamp(31px, 3.4vw, 46px); font-weight: 600; }
.policy-section h3 { margin-top: 30px; color: rgba(255,255,255,.95); font-size: 18px; letter-spacing: -.02em; }
.policy-section > p { margin-top: 20px; color: rgba(255,255,255,.68); font-size: 16px; line-height: 1.75; }
.policy-section ul { display: grid; gap: 12px; margin-top: 20px; }
.policy-section li { position: relative; padding-left: 24px; color: rgba(255,255,255,.67); font-size: 16px; line-height: 1.62; }
.policy-section li::before { content: ""; position: absolute; left: 2px; top: .72em; width: 6px; height: 6px; border-radius: 50%; background: var(--primary); box-shadow: 0 0 0 5px rgba(33,111,243,.1); }
.policy-callout { margin-top: 30px; padding: 22px 24px; border: 1px solid rgba(92,145,255,.24); border-radius: 16px; color: rgba(255,255,255,.72); background: linear-gradient(135deg, rgba(33,111,243,.11), rgba(255,255,255,.025)); }
.policy-callout strong { color: #fff; }
.service-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; margin-top: 28px; }
.service-grid div { min-height: 130px; padding: 22px; border: 1px solid rgba(255,255,255,.09); border-radius: 16px; background: rgba(255,255,255,.025); }
.service-grid strong { display: block; color: #fff; font-family: var(--font-display); font-size: 17px; }
.service-grid span { display: block; margin-top: 8px; color: rgba(255,255,255,.55); font-size: 14px; line-height: 1.55; }
.contact-card {display: grid;grid-template-columns: 1fr auto;gap: 5px 24px;align-items: center;margin-top: 28px;padding: 24px 26px;transition: border-color .2s ease, transform .2s ease, background .2s ease;}
.contact-card:hover {transform: translateY(-2px);}
.contact-card span { color: rgba(255,255,255,.48); font-size: 13px; }
.contact-card strong { color: #fff; font-size: 16px; font-weight: 600; }
.contact-card svg { grid-column: 2; grid-row: 1 / span 2; color: #76a4ff; }

.footer-backdrop { padding: 0 24px 24px; background: #050608; }
.site-footer { width: min(100%, 1480px); margin: 0 auto; padding: 68px 72px 28px; border: 1px solid rgba(255,255,255,.08); border-radius: 30px; background: #0b0c10; }
.footer-top { display: grid; grid-template-columns: 1.8fr repeat(3, .7fr); gap: 50px; }
.footer-brand p { max-width: 360px; margin-top: 22px; color: rgba(255,255,255,.55); font-size: 14px; line-height: 1.65; }
.footer-col h4 { color: #fff; font-size: 14px; letter-spacing: -.01em; }
.footer-col ul { display: grid; gap: 10px; margin-top: 18px; }
.footer-col a { color: rgba(255,255,255,.52); font-size: 13px; }
.footer-col a:hover, .footer-col a[aria-current="page"] { color: #fff; }
.footer-bottom { display: flex; justify-content: space-between; gap: 20px; margin-top: 58px; padding-top: 22px; border-top: 1px solid rgba(255,255,255,.08); color: rgba(255,255,255,.38); font-size: 12px; }

@media (max-width: 980px) {
  .main-nav, .header-home { display: none; }
  .nav-toggle { display: block; }
  .legal-layout { grid-template-columns: 1fr; gap: 0; }
  .legal-nav { display: none; }
  .legal-content { width: min(100%, 860px); margin-inline: auto; }
  .site-footer { padding: 54px 34px 26px; }
  .footer-top { grid-template-columns: 1.4fr 1fr 1fr; }
  .footer-brand { grid-column: 1 / -1; }
}

@media (max-width: 680px) {
  .wrap { width: calc(100% - 36px); }
  .site-header { padding-top: 10px; }
  .site-header .header-wrap { width: calc(100% - 24px); height: 60px; padding: 0 8px 0 15px; }
  .logo-mark { width: 88px; height: 42px; }
  .header-actions { gap: 8px; }
  .header-actions .btn-primary { min-height: 42px; padding: 10px 14px; font-size: 12px; }
  .legal-hero { min-height: 470px; padding: 150px 0 76px; }
  .hero-content h1 { font-size: clamp(48px, 15vw, 70px); }
  .hero-intro { margin-top: 24px; font-size: 16px; }
  .legal-body { padding: 40px 0 90px; }
  .policy-section { padding: 42px 0; }
  .intro-section { font-size: 16px; }
  .policy-section h2 { font-size: 31px; }
  .policy-section > p, .policy-section li { font-size: 15px; }
  .service-grid { grid-template-columns: 1fr; }
  .contact-card { padding: 20px; }
  .contact-card strong { font-size: 14px; overflow-wrap: anywhere; }
  .footer-backdrop { padding: 0; }
  .site-footer { width: 100%; padding: 50px 22px 24px; border-right: 0; border-bottom: 0; border-left: 0; border-radius: 28px 28px 0 0; }
  .footer-top { grid-template-columns: 1fr 1fr; gap: 34px 24px; }
  .footer-brand { grid-column: 1 / -1; }
  .footer-bottom { flex-direction: column; margin-top: 42px; }
}

@media (max-width: 420px) {
  .header-actions .btn-primary { display: none; }
  .footer-top { grid-template-columns: 1fr; }
  .footer-brand { grid-column: auto; }
}
