/* Shared base styles for legal pages (imprint, privacy, terms).
   Mirrors the design tokens and the nav/footer from index.html so the
   legal pages feel like the same site without re-shipping the entire
   landing-page CSS. */

:root{
  --bg:        #0A0A0A;
  --bg-2:      #111111;
  --card:      #141414;
  --card-2:    #1A1A1A;
  --line:      #232323;
  --line-2:    #2E2E2E;
  --text:      #F5F5F5;
  --text-2:    #B5B5B5;
  --text-3:    #6E6E6E;
  --brand:     #FF6B00;
  --brand-2:   #FF8533;
  --brand-d:   #C25200;
  --maxw:      1240px;
  --readable:  720px;

  --display:   'Anton', 'Bebas Neue', system-ui, sans-serif;
  --body:      'Manrope', system-ui, -apple-system, sans-serif;
  --mono:      'JetBrains Mono', ui-monospace, monospace;
}

*{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;}
body{
  background:var(--bg);
  color:var(--text);
  font-family:var(--body);
  font-size:16px;
  line-height:1.65;
  font-feature-settings:'ss01','cv11';
  text-rendering:optimizeLegibility;
  -webkit-font-smoothing:antialiased;
}

img{max-width:100%;display:block;}
a{color:inherit;text-decoration:none;}
button{font:inherit;cursor:pointer;border:0;background:0;color:inherit;}

body::before{
  content:'';
  position:fixed;inset:0;
  background:
    radial-gradient(900px 600px at 80% -10%, rgba(255,107,0,.10), transparent 60%),
    radial-gradient(700px 500px at -10% 30%, rgba(255,107,0,.05), transparent 60%);
  pointer-events:none;z-index:0;
}

.wrap{max-width:var(--maxw);margin:0 auto;padding:0 24px;position:relative;z-index:1;}

/* ─────────── nav (mirrors index.html) ─────────── */
.nav{
  position:sticky;top:0;z-index:50;
  background:rgba(10,10,10,.78);
  backdrop-filter:blur(14px) saturate(140%);
  -webkit-backdrop-filter:blur(14px) saturate(140%);
  border-bottom:1px solid var(--line);
}
.nav-inner{
  display:flex;align-items:center;justify-content:space-between;
  height:64px;
}
.brand{
  font-family:var(--display);
  font-size:26px;
  font-style:italic;
  letter-spacing:.5px;
  display:inline-flex;align-items:center;gap:10px;
  user-select:none;
}
.brand .o{color:var(--brand);}
.brand-mark{
  width:34px;height:34px;
  display:block;flex-shrink:0;
  filter:drop-shadow(0 0 12px rgba(255,107,0,.28));
  transition:filter .2s, transform .2s;
}
.brand:hover .brand-mark{
  filter:drop-shadow(0 0 18px rgba(255,107,0,.50));
  transform:translateY(-1px);
}
.foot-brand .brand-mark{width:28px;height:28px;}
.nav-links{display:flex;gap:32px;align-items:center;}
.nav-links a{
  font-size:13px;font-weight:600;color:var(--text-2);
  letter-spacing:.04em;text-transform:uppercase;
  transition:color .15s;
}
.nav-links a:hover{color:var(--text);}
.nav-cta{
  display:inline-flex;align-items:center;gap:8px;
  background:var(--brand);color:#000;
  font-weight:800;font-size:13px;letter-spacing:.04em;text-transform:uppercase;
  padding:10px 18px;
  transition:transform .15s, background .15s;
}
.nav-cta:hover{background:var(--brand-2);transform:translateY(-1px);}
@media (max-width:760px){.nav-links a:not(.nav-cta){display:none;}}

/* ─────────── legal page content ─────────── */
.legal{
  padding:80px 0 120px;
  position:relative;z-index:1;
}
@media (max-width:760px){.legal{padding:48px 0 80px;}}
.legal-inner{max-width:var(--readable);margin:0 auto;}

.legal h1{
  font-family:var(--display);font-style:italic;
  font-size:clamp(48px, 7vw, 84px);line-height:.96;
  text-transform:uppercase;letter-spacing:-.005em;
  margin-bottom:8px;
}
.legal-meta{
  font-family:var(--mono);font-size:11px;
  color:var(--text-3);letter-spacing:.18em;text-transform:uppercase;
  margin-bottom:48px;
}
.legal h2{
  font-family:var(--display);font-style:italic;
  font-size:clamp(24px, 3vw, 32px);line-height:1.1;
  text-transform:uppercase;letter-spacing:-.005em;
  margin:48px 0 16px;
  color:var(--text);
}
.legal h3{
  font-size:17px;font-weight:700;
  margin:28px 0 8px;
  color:var(--text);
}
.legal p, .legal li{
  color:var(--text-2);
  margin-bottom:14px;
}
.legal a{
  color:var(--brand);
  text-decoration:underline;
  text-underline-offset:3px;
}
.legal a:hover{color:var(--brand-2);}
.legal ul, .legal ol{padding-left:22px;margin-bottom:18px;}
.legal li{margin-bottom:8px;}
.legal hr{
  border:0;border-top:1px solid var(--line);
  margin:40px 0;
}
.legal strong{color:var(--text);font-weight:700;}
.legal .placeholder{
  color:var(--brand);background:rgba(255,107,0,.08);
  padding:1px 6px;border-radius:3px;
  font-family:var(--mono);font-size:.92em;
}
.legal .info-block{
  border:1px solid var(--line);
  background:var(--card);
  padding:24px 28px;
  margin:24px 0;
}
.legal .info-block p{margin-bottom:6px;}
.legal .info-block p:last-child{margin-bottom:0;}
.legal .toc{
  border:1px solid var(--line);
  padding:20px 24px;
  margin:0 0 48px;
  background:var(--card);
}
.legal .toc strong{
  display:block;font-family:var(--mono);font-size:11px;
  color:var(--text-3);letter-spacing:.18em;text-transform:uppercase;
  margin-bottom:10px;
}
.legal .toc ol{
  list-style-position:inside;padding:0;margin:0;
  columns:2;column-gap:24px;
}
@media (max-width:600px){.legal .toc ol{columns:1;}}
.legal .toc li{margin-bottom:4px;font-size:14px;}
.legal .toc a{color:var(--text-2);text-decoration:none;}
.legal .toc a:hover{color:var(--brand);}

/* ─────────── footer (mirrors index.html) ─────────── */
footer{
  background:var(--bg);
  border-top:1px solid var(--line);
  padding:64px 0 40px;
  position:relative;z-index:1;
}
.foot-grid{
  display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:48px;
  margin-bottom:48px;
}
@media (max-width:760px){.foot-grid{grid-template-columns:1fr 1fr;gap:32px;}}
.foot-brand .brand{font-size:34px;}
.foot-brand p{
  color:var(--text-3);font-size:13px;margin-top:14px;max-width:300px;
}
.foot-col h4{
  font-family:var(--mono);font-size:11px;
  color:var(--brand);letter-spacing:.18em;text-transform:uppercase;
  margin-bottom:18px;font-weight:700;
}
.foot-col a{
  display:block;font-size:14px;color:var(--text-2);
  padding:6px 0;transition:color .15s;
}
.foot-col a:hover{color:var(--brand);}
.foot-base{
  border-top:1px solid var(--line);
  padding-top:28px;
  display:flex;justify-content:space-between;flex-wrap:wrap;gap:14px;
  font-size:12px;color:var(--text-3);
}
.foot-base .mono{font-family:var(--mono);letter-spacing:.06em;}
