:root {
  --ink:#05050a;
  --white:#fff;
  --lemon:#e1ffbb;
  --navy:#001a6e;
  --blue:#174ae5;
  --mist:#f4f4ff;
  --quiet:#626a7d;
  --line:#d9deeb;
  --surface:#fff;
  --max:1200px;
}
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--white); color:var(--ink); font:400 16px/1.7 Inter,Arial,sans-serif; -webkit-font-smoothing:antialiased; }
a { color:inherit; }
button { font:inherit; }
::selection { color:var(--ink); background:var(--lemon); }
.wrap { width:min(var(--max),calc(100% - 56px)); margin:0 auto; }
h1,h2,h3,p { margin-top:0; }
h1,h2,h3 { font-family:"Roboto Flex",Roboto,Arial,sans-serif; }
.site-header { position:absolute; z-index:20; inset:0 0 auto; height:86px; }
.header-inner { height:100%; display:flex; align-items:center; gap:32px; }
.logo { display:block; width:128px; }
.nav { margin-left:auto; display:flex; align-items:center; gap:27px; }
.nav a { display:inline-flex; align-items:center; gap:6px; color:#333949; text-decoration:none; font-size:13px; font-weight:500; }
.nav a:hover,.nav a.active { color:var(--blue); }
.nav .lucide { width:14px; height:14px; stroke-width:1.8; }
.legal-hero { position:relative; overflow:hidden; padding:160px 0 82px; background:linear-gradient(116deg,#f8f9ff 0%,#eef3ff 58%,#e3ecff 100%); }
.legal-hero::before { content:""; position:absolute; width:570px; height:570px; right:-110px; top:-75px; border:1px solid rgba(23,74,229,.14); border-radius:50%; box-shadow:0 0 0 80px rgba(23,74,229,.035),0 0 0 160px rgba(23,74,229,.025); }
.hero-copy { position:relative; z-index:1; max-width:850px; }
.eyebrow { display:flex; align-items:center; gap:9px; margin-bottom:22px; color:var(--blue); font:700 11px/1 "Roboto Flex",Arial,sans-serif; letter-spacing:.16em; text-transform:uppercase; }
.eyebrow .lucide { width:17px; height:17px; stroke-width:1.8; }
h1 { margin-bottom:24px; font-size:clamp(54px,6vw,84px); font-weight:570; line-height:.98; letter-spacing:-.052em; }
.hero-copy > p { max-width:700px; margin-bottom:0; color:#50586b; font-size:19px; }
.legal-meta { position:relative; z-index:1; display:flex; flex-wrap:wrap; gap:10px 28px; margin-top:40px; padding-top:20px; border-top:1px solid rgba(23,74,229,.15); color:#60697c; font-size:12px; }
.legal-meta span { display:flex; align-items:center; gap:7px; }
.legal-meta .lucide { width:14px; height:14px; color:var(--blue); stroke-width:1.8; }
.legal-shell { display:grid; grid-template-columns:230px minmax(0,760px); justify-content:space-between; gap:84px; padding:82px 0 120px; }
.contents { align-self:start; position:sticky; top:28px; }
.contents summary { list-style:none; color:#18203a; font:650 13px/1.2 "Roboto Flex",sans-serif; letter-spacing:.04em; text-transform:uppercase; cursor:default; }
.contents summary::-webkit-details-marker { display:none; }
.contents nav { display:grid; gap:4px; margin-top:18px; padding-left:14px; border-left:1px solid var(--line); }
.contents a { padding:6px 0 6px 12px; color:#697185; text-decoration:none; font-size:12px; line-height:1.35; }
.contents a:hover { color:var(--blue); }
.legal-document { min-width:0; }
.legal-document > section { scroll-margin-top:30px; padding:46px 0; border-top:1px solid var(--line); }
.legal-document > section:first-child { padding-top:0; border-top:0; }
.legal-document h2 { margin-bottom:18px; color:#101522; font-size:31px; font-weight:580; line-height:1.12; letter-spacing:-.03em; }
.legal-document h3 { margin:30px 0 10px; color:#18203a; font-size:20px; font-weight:580; line-height:1.25; letter-spacing:-.015em; }
.legal-document p { margin-bottom:17px; color:#4d5568; }
.legal-document p:last-child { margin-bottom:0; }
.legal-document ul { margin:16px 0 20px; padding-left:22px; color:#4d5568; }
.legal-document li { margin:8px 0; padding-left:5px; }
.legal-document a { color:var(--blue); text-underline-offset:3px; }
.legal-document strong { color:#192039; font-weight:650; }
.legal-document code { padding:2px 5px; border:1px solid #dfe3ee; border-radius:4px; background:#f4f6fb; color:#17265b; font-size:.86em; }
.legal-terms > h2 { scroll-margin-top:30px; margin-top:46px; padding-top:46px; border-top:1px solid var(--line); }
.legal-terms > h2:first-child { margin-top:0; padding-top:0; border-top:0; }
#warranty-disclaimer + p,#limitation-of-liability + p { font-size:13px; line-height:1.78; }
.legal-note { margin:22px 0; padding:19px 21px; border-left:3px solid var(--blue); background:var(--mist); }
.legal-note p { margin:0; color:#333d57; }
.legal-uppercase { font-size:13px; line-height:1.75; }
footer { border-top:1px solid var(--line); background:var(--white); color:var(--ink); }
.footer-inner { min-height:106px; display:flex; align-items:center; gap:22px; color:#777f92; font-size:13px; }
.footer-logo { width:90px; }
.footer-inner nav { margin-left:auto; display:flex; flex-wrap:wrap; gap:12px 19px; justify-content:flex-end; }
.footer-inner a { text-decoration:none; }
.footer-inner a:hover { color:var(--blue); }
html[data-theme="dark"] body { background:var(--ink); color:var(--white); }
html[data-theme="dark"] .logo { filter:invert(1); }
html[data-theme="dark"] .nav a { color:#aeb5c8; }
html[data-theme="dark"] .nav a:hover,html[data-theme="dark"] .nav a.active { color:var(--white); }
html[data-theme="dark"] .legal-hero { background:radial-gradient(circle at 84% 24%,rgba(23,74,229,.34),transparent 33%),linear-gradient(125deg,var(--ink) 0%,#07102b 100%); }
html[data-theme="dark"] .legal-hero::before { border-color:rgba(225,255,187,.1); box-shadow:0 0 0 80px rgba(225,255,187,.022),0 0 0 160px rgba(23,74,229,.04); }
html[data-theme="dark"] .eyebrow { color:var(--lemon); }
html[data-theme="dark"] .hero-copy > p,html[data-theme="dark"] .legal-meta { color:#aeb6c8; }
html[data-theme="dark"] .legal-meta { border-color:rgba(255,255,255,.13); }
html[data-theme="dark"] .legal-meta .lucide { color:var(--lemon); }
html[data-theme="dark"] .contents summary,html[data-theme="dark"] .legal-document h2,html[data-theme="dark"] .legal-document h3,html[data-theme="dark"] .legal-document strong { color:#f5f6fa; }
html[data-theme="dark"] .contents nav,html[data-theme="dark"] .legal-document > section { border-color:rgba(255,255,255,.13); }
html[data-theme="dark"] .legal-terms > h2 { border-color:rgba(255,255,255,.13); }
html[data-theme="dark"] .contents a,html[data-theme="dark"] .legal-document p,html[data-theme="dark"] .legal-document ul { color:#a4adbf; }
html[data-theme="dark"] .contents a:hover,html[data-theme="dark"] .legal-document a { color:var(--lemon); }
html[data-theme="dark"] .legal-note { border-color:var(--lemon); background:#0d1428; }
html[data-theme="dark"] .legal-note p { color:#c4cad7; }
html[data-theme="dark"] .legal-document code { border-color:rgba(255,255,255,.14); background:#101625; color:var(--lemon); }
@media(max-width:820px) {
  .wrap { width:min(100% - 30px,var(--max)); }
  .site-header { height:72px; }
  .logo { width:103px; }
  .nav a { display:none; }
  .nav a.active { display:inline-flex; }
  .legal-hero { padding:126px 0 66px; }
  .legal-hero::before { width:420px; height:420px; right:-230px; }
  h1 { font-size:clamp(46px,13.5vw,64px); }
  .hero-copy > p { font-size:17px; }
  .legal-shell { grid-template-columns:1fr; gap:34px; padding:58px 0 82px; }
  .contents { position:static; padding:16px 18px; border:1px solid var(--line); border-radius:10px; }
  .contents summary { cursor:pointer; }
  .contents nav { margin-bottom:5px; }
  .legal-document > section { padding:37px 0; }
  .legal-document h2 { font-size:27px; }
  .legal-document p,.legal-document ul { font-size:15px; }
  .footer-inner { padding:28px 0; flex-direction:column; justify-content:center; text-align:center; }
  .footer-inner nav { margin-left:0; justify-content:center; }
}
