:root {
  --void:#08090a;
  --carbon:#0f1011;
  --graphite:#23252a;
  --fog:#8a8f98;
  --mist:#d0d6e0;
  --paper:#fff;
  --lime:#e4f222;
  --line:rgba(255,255,255,.09);
  --line-strong:rgba(255,255,255,.17);
  --sans:"Inter",ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  --mono:"JetBrains Mono",ui-monospace,SFMono-Regular,Consolas,monospace;
  --container:1200px;
  --header:72px;
  --radius:12px;
  --ease-out:cubic-bezier(.22,1,.36,1);
  --motion-fast:180ms;
  --motion-base:520ms;
  color-scheme:dark;
}

*,*::before,*::after { box-sizing:border-box; }
html { scroll-behavior:smooth; scroll-padding-top:calc(var(--header) + 28px); scrollbar-gutter:stable; }
body { margin:0; min-width:320px; background:var(--void); color:var(--mist); font-family:var(--sans); line-height:1.7; -webkit-font-smoothing:antialiased; }
h1,h2,h3,p,ul,ol,dl,dd,figure { margin:0; }
ul,ol { padding-left:1.25rem; }
a { color:inherit; text-decoration:none; }
img { display:block; max-width:100%; }
:focus-visible { outline:1px solid var(--lime); outline-offset:4px; }
.container { width:min(calc(100% - 56px),var(--container)); margin-inline:auto; }
.skip-link { position:fixed; z-index:1000; top:12px; left:12px; padding:10px 14px; transform:translateY(-160%); border-radius:6px; background:var(--lime); color:var(--void); font-size:13px; font-weight:600; }
.skip-link:focus { transform:translateY(0); }

.legal-main { padding:calc(var(--header) + 84px) 0 112px; }
.breadcrumbs { display:flex; flex-wrap:wrap; gap:8px; margin-bottom:36px; padding:0; color:var(--fog); font:10px var(--mono); text-transform:uppercase; }
.breadcrumbs li { display:flex; gap:8px; list-style:none; }
.breadcrumbs li:not(:last-child)::after { content:"/"; color:var(--graphite); }
.breadcrumbs a:hover,.breadcrumbs a:focus-visible { color:var(--paper); }
.legal-hero { display:grid; grid-template-columns:minmax(0,1fr) 260px; align-items:end; gap:56px; padding-bottom:64px; border-bottom:1px solid var(--line); }
.legal-hero h1 { max-width:850px; color:var(--paper); font-size:clamp(48px,6.5vw,86px); font-weight:500; line-height:.96; letter-spacing:-.055em; overflow-wrap:break-word; hyphens:auto; }
.legal-meta { color:var(--fog); font:10px/1.7 var(--mono); text-transform:uppercase; }
.legal-draft { margin-top:28px; padding:16px 18px; border:1px solid rgba(228,242,34,.28); border-radius:8px; background:rgba(228,242,34,.045); color:var(--mist); font-size:13px; }
.legal-draft strong { color:var(--lime); }

.legal-layout { display:grid; grid-template-columns:250px minmax(0,720px); justify-content:space-between; gap:72px; padding-top:64px; }
.legal-nav { position:sticky; top:calc(var(--header) + 28px); align-self:start; }
.legal-nav p { margin-bottom:14px; color:var(--fog); font:10px var(--mono); text-transform:uppercase; }
.legal-nav ul { padding:0; border-top:1px solid var(--line); }
.legal-nav li { list-style:none; border-bottom:1px solid var(--line); }
.legal-nav a { min-height:46px; display:flex; align-items:center; color:var(--fog); font-size:12px; transition:color .18s ease; }
.legal-nav a:hover,.legal-nav a:focus-visible,.legal-nav a[aria-current="page"] { color:var(--paper); }
.legal-nav a[aria-current="page"]::before { content:""; width:6px; height:6px; margin-right:9px; border-radius:50%; background:var(--lime); }

.prose { min-width:0; }
.prose > p:first-child { color:var(--mist); font-size:18px; }
.prose h2 { margin:58px 0 18px; color:var(--paper); font-size:clamp(27px,3vw,36px); font-weight:500; line-height:1.14; letter-spacing:-.035em; }
.prose h3 { margin:34px 0 12px; color:var(--paper); font-size:19px; font-weight:500; }
.prose p + p,.prose p + ul,.prose p + ol,.prose ul + p,.prose ol + p,.prose dl + p,.prose table + p { margin-top:16px; }
.prose li + li { margin-top:8px; }
.prose a { color:var(--lime); text-decoration:underline; text-decoration-color:rgba(228,242,34,.4); text-underline-offset:4px; }
.prose strong { color:var(--paper); font-weight:500; }
.prose code,.placeholder { padding:2px 5px; border-radius:4px; background:rgba(228,242,34,.08); color:var(--lime); font-family:var(--mono); font-size:.88em; overflow-wrap:anywhere; }
.legal-details { display:grid; gap:1px; margin-top:18px; overflow:hidden; border:1px solid var(--line); border-radius:8px; background:var(--line); }
.legal-details div { display:grid; grid-template-columns:190px 1fr; gap:20px; padding:14px 16px; background:var(--carbon); }
.legal-details dt { color:var(--fog); font:10px var(--mono); text-transform:uppercase; }
.legal-details dd { min-width:0; color:var(--mist); font-size:13px; overflow-wrap:anywhere; }
.legal-table-wrap { margin-top:18px; overflow-x:auto; border:1px solid var(--line); border-radius:8px; }
.legal-table { width:100%; min-width:620px; border-collapse:collapse; background:var(--carbon); font-size:12px; }
.legal-table th,.legal-table td { padding:14px 16px; border-bottom:1px solid var(--line); text-align:left; vertical-align:top; }
.legal-table th { color:var(--fog); font:10px var(--mono); text-transform:uppercase; }
.legal-table tr:last-child td { border-bottom:0; }
.legal-list { margin-top:16px; }
.legal-list li::marker { color:var(--lime); }
.legal-note { margin-top:22px; padding:18px; border-left:2px solid var(--lime); background:var(--carbon); color:var(--mist); font-size:13px; }

.document-grid { display:grid; grid-template-columns:1fr 1fr; gap:12px; margin-top:44px; }
.document-card { min-height:230px; display:flex; flex-direction:column; padding:28px; border:1px solid var(--line); border-radius:var(--radius); background:var(--carbon); transition:border-color .24s ease,background-color .24s ease,transform .24s ease; }
.document-card:hover,.document-card:focus-visible { border-color:var(--line-strong); background:#131516; transform:translateY(-2px); }
.document-card span { color:var(--lime); font:10px var(--mono); }
.document-card h2 { margin-top:42px; color:var(--paper); font-size:25px; font-weight:500; line-height:1.1; }
.document-card p { margin-top:12px; color:var(--fog); font-size:13px; }
.document-card b { margin-top:auto; padding-top:24px; color:var(--paper); font-size:12px; font-weight:400; }

.motion-ready .site-header { animation:header-in 480ms var(--ease-out) both; }
.motion-ready .breadcrumbs { animation:content-in 560ms 50ms var(--ease-out) both; }
.motion-ready .legal-hero { animation:content-in 680ms 100ms var(--ease-out) both; }
.motion-ready .reveal { opacity:0; translate:0 24px; transition:opacity var(--motion-base) ease,translate var(--motion-base) var(--ease-out); transition-delay:var(--reveal-delay,0ms); }
.motion-ready .reveal.is-visible { opacity:1; translate:0 0; }

@keyframes header-in {
  from { opacity:0; transform:translateY(-14px); }
}

@keyframes content-in {
  from { opacity:0; transform:translateY(24px); }
}

@media (max-width:960px) {
  .container { width:min(calc(100% - 40px),var(--container)); }
}

@media (max-width:840px) {
  .legal-hero { grid-template-columns:1fr; gap:24px; }
  .legal-layout { grid-template-columns:1fr; gap:48px; }
  .legal-nav { position:static; }
  .legal-nav ul { display:grid; grid-template-columns:1fr 1fr; }
  .legal-nav li:nth-child(odd) { border-right:1px solid var(--line); }
  .legal-nav a { padding-right:12px; }
}

@media (max-width:640px) {
  :root { --header:64px; }
  .container { width:calc(100% - 32px); }
  .legal-main { padding-top:calc(var(--header) + 58px); padding-bottom:80px; }
  .legal-hero { padding-bottom:44px; }
  .legal-hero h1 { font-size:clamp(42px,13vw,60px); }
  .legal-layout { padding-top:44px; }
  .legal-nav ul { grid-template-columns:1fr; }
  .legal-nav li:nth-child(odd) { border-right:0; }
  .legal-details div { grid-template-columns:1fr; gap:6px; }
  .document-grid { grid-template-columns:1fr; }
  .document-card { min-height:210px; }
}

@media (prefers-reduced-motion:reduce) {
  html { scroll-behavior:auto; }
  *,*::before,*::after { animation-duration:.01ms!important; animation-iteration-count:1!important; transition-duration:.01ms!important; }
  .document-card:hover,.document-card:focus-visible { transform:none; }
  .motion-ready .reveal { opacity:1!important; translate:none!important; }
}
