/* Facenition legal pages. Standalone, because index.html carries its styles
   inline and there is nothing to share with. Tokens copied from it so the two
   stay in step; if the palette moves in index.html, move it here too. */

:root{
  --bg:#0a0a0b; --bg-elev:#111114; --bg-deep:#050506;
  --ink:#e8e6e0; --ink-dim:#9a958a; --ink-faint:#5a564d;
  --line:rgba(232,230,224,.08); --line-strong:rgba(232,230,224,.18);
  --accent:#8ec4d6; --accent-bright:#b8dde9; --accent-deep:#5a8da0;
  --serif:'Space Grotesk','Helvetica Neue',sans-serif;
  --sans:'Inter',-apple-system,BlinkMacSystemFont,'Helvetica Neue',sans-serif;
  --mono:'JetBrains Mono','Courier New',monospace;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;overflow-x:hidden}
html,body{width:100%;max-width:100%}
body{font-family:var(--sans);background:var(--bg);color:var(--ink);line-height:1.5;
  overflow-x:hidden;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
::selection{background:var(--accent);color:var(--bg)}
/* the same film of noise the front page carries, so the pages feel of a piece */
body::before{content:'';position:fixed;inset:0;pointer-events:none;z-index:1000;opacity:.05;
  background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='3'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}

nav{position:fixed;top:0;left:0;right:0;z-index:100;padding:24px 48px;display:flex;
  justify-content:space-between;align-items:center;
  background:linear-gradient(180deg,rgba(10,10,11,.92),rgba(10,10,11,0));
  backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
.brand{display:flex;align-items:flex-start;text-decoration:none}
.brand-mark{display:block;height:30px;width:auto}
.brand-reg{align-self:flex-start;margin:1px 0 0 3px;font-family:var(--sans);font-size:24px;
  line-height:1;font-weight:400;color:var(--ink-dim)}
.nav-back{font-family:var(--mono);font-size:12px;letter-spacing:.08em;text-transform:uppercase;
  color:var(--ink-dim);text-decoration:none;transition:color .2s}
.nav-back:hover{color:var(--accent)}

.legal{max-width:780px;margin:0 auto;padding:170px 48px 120px}
.legal-eyebrow{font-family:var(--mono);font-size:11px;letter-spacing:.15em;text-transform:uppercase;
  color:var(--accent);margin-bottom:22px}
.legal h1{font-family:var(--serif);font-weight:500;font-size:clamp(36px,5.4vw,58px);line-height:1.04;
  letter-spacing:-.03em;margin-bottom:20px}
.legal-dates{font-family:var(--mono);font-size:12px;color:var(--ink-faint);letter-spacing:.04em;
  padding-bottom:36px;margin-bottom:44px;border-bottom:1px solid var(--line)}
.legal h2{font-family:var(--serif);font-weight:500;font-size:26px;letter-spacing:-.02em;
  margin:64px 0 18px;scroll-margin-top:110px}
.legal h3{font-family:var(--sans);font-weight:600;font-size:16px;margin:34px 0 12px;color:var(--ink)}
.legal p{color:var(--ink-dim);font-size:16px;line-height:1.72;margin-bottom:18px}
.legal ul{list-style:none;margin:0 0 22px}
.legal li{color:var(--ink-dim);font-size:16px;line-height:1.7;margin-bottom:11px;
  padding-left:22px;position:relative}
.legal li::before{content:'';position:absolute;left:2px;top:12px;width:6px;height:1px;
  background:var(--accent-deep)}
.legal b,.legal strong{color:var(--ink);font-weight:600}
.legal a{color:var(--accent);text-decoration:none}
.legal a:hover{color:var(--accent-bright);text-decoration:underline}
.legal code{font-family:var(--mono);font-size:.86em;color:var(--accent-bright);
  background:var(--bg-elev);border:1px solid var(--line);border-radius:4px;padding:.1em .4em}

/* the one thing on each page that must not be skimmed past */
.legal-note{background:var(--bg-elev);border:1px solid var(--line-strong);border-left:2px solid var(--accent);
  border-radius:4px;padding:26px 30px;margin:44px 0}
.legal-note h3{margin-top:0}
.legal-note p:last-child,.legal-note ul:last-child,.legal-note li:last-child{margin-bottom:0}

.legal-toc{border:1px solid var(--line);border-radius:4px;padding:24px 28px;margin-bottom:16px;
  background:var(--bg-elev)}
.legal-toc h6{font-family:var(--mono);font-size:11px;letter-spacing:.15em;text-transform:uppercase;
  color:var(--ink-faint);font-weight:400;margin-bottom:16px}
.legal-toc a{display:block;font-size:14px;padding:.22em 0;color:var(--ink-dim)}
.legal-toc a:hover{color:var(--accent);text-decoration:none}

footer{padding:70px 48px 40px;border-top:1px solid var(--line);background:var(--bg-deep)}
.footer-bottom{display:flex;justify-content:space-between;align-items:center;gap:20px;
  font-family:var(--mono);font-size:11px;color:var(--ink-faint);letter-spacing:.05em}
.footer-legal-links{display:flex;gap:22px}
.footer-legal-links a{color:var(--ink-faint);text-decoration:none;transition:color .2s}
.footer-legal-links a:hover{color:var(--accent)}
.footer-legal-links a[aria-current=page]{color:var(--ink-dim)}

@media (max-width:820px){
  nav{padding:18px 24px}
  .legal{padding:130px 24px 90px}
  .legal h2{font-size:23px;margin-top:52px}
  .legal p,.legal li{font-size:15px}
  footer{padding:56px 24px 36px}
  .footer-bottom{flex-direction:column;align-items:flex-start;gap:16px}
}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
