/* Shared styles for terms.html and privacy.html */
:root {
  --black:  #060608;
  --dark:   #0d0d10;
  --card:   #111115;
  --card2:  #151519;
  --border: rgba(255,255,255,0.07);
  --border2:rgba(255,255,255,0.12);
  --green:  #6abf3f;
  --green-dim: #4a8c2a;
  --green-glow: rgba(106,191,63,0.18);
  --white:  #f0f0f0;
  --muted:  #b8b8b8;
  --muted2: #8d8d8d;
  --font-display: 'Bebas Neue', sans-serif;
  --font-body:    'Barlow', sans-serif;
  --font-cond:    'Barlow Condensed', sans-serif;
  color-scheme: dark;
}
:root[data-theme="light"] {
  --black:  #f7f8f4;
  --dark:   #ecefe8;
  --card:   #ffffff;
  --card2:  #f1f4ed;
  --border: rgba(13,18,12,0.12);
  --border2:rgba(13,18,12,0.18);
  --green:  #3f8425;
  --green-dim: #2e6618;
  --green-glow: rgba(63,132,37,0.16);
  --white:  #10140f;
  --muted:  #4f5b4a;
  --muted2: #6e7968;
  color-scheme: light;
}

*, *::before, *::after { margin:0; padding:0; box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { background:var(--black); color:var(--white); font-family:var(--font-body); overflow-x:hidden; min-width:0; }
img, picture, video, canvas, svg { max-width:100%; }

/* NAV */
nav { position:fixed; top:0; left:0; right:0; z-index:1000; display:flex; align-items:center; justify-content:space-between; padding:20px 48px; background:linear-gradient(to bottom, rgba(6,6,8,0.95) 0%, transparent 100%); transition:backdrop-filter 0.3s, background 0.3s; }
nav.scrolled { background:rgba(6,6,8,0.93); backdrop-filter:blur(14px); border-bottom:1px solid var(--border); }
:root[data-theme="light"] nav { background:linear-gradient(to bottom,rgba(247,248,244,0.96) 0%,transparent 100%); }
:root[data-theme="light"] nav.scrolled { background:rgba(247,248,244,0.94); }
.nav-logo { display:flex; align-items:center; text-decoration:none; }
.nav-logo-img { display:block; width:auto; height:48px; max-width:160px; object-fit:contain; }
.nav-logo-light { display:none; width:auto; height:48px; max-width:160px; object-fit:contain; }
:root[data-theme="light"] .nav-logo-img { display:none; }
:root[data-theme="light"] .nav-logo-light { display:block; }
.nav-links { display:flex; gap:28px; list-style:none; }
.nav-links a { font-family:var(--font-cond); font-size:12px; letter-spacing:0.18em; text-transform:uppercase; color:var(--muted); text-decoration:none; transition:color 0.2s; }
.nav-links a:hover { color:var(--white); }
.nav-actions { display:flex; align-items:center; gap:12px; }
.nav-cta { font-family:var(--font-cond); font-size:12px; letter-spacing:0.2em; text-transform:uppercase; color:var(--green); border:1px solid var(--green); padding:10px 22px; text-decoration:none; transition:background 0.2s, color 0.2s; }
.nav-cta:hover { background:var(--green); color:var(--black); }
.nav-theme-toggle { width:42px; height:42px; border:1px solid var(--border2); background:var(--card); color:var(--white); display:inline-flex; align-items:center; justify-content:center; cursor:pointer; transition:border-color .2s, color .2s, background .2s; }
.nav-theme-toggle:hover { border-color:var(--green); color:var(--green); }
.theme-icon { width:18px; height:18px; }
.theme-icon .moon, :root[data-theme="light"] .theme-icon .sun { display:none; }
:root[data-theme="light"] .theme-icon .moon { display:block; }
.nav-ham { display:none; flex-direction:column; gap:5px; background:none; border:none; cursor:pointer; padding:8px; z-index:1001; }
.nav-ham span { width:24px; height:2px; background:var(--white); display:block; transition:transform .3s ease, opacity .3s ease; }
.nav-ham.active span:nth-child(1) { transform:rotate(45deg) translate(5px,5px); }
.nav-ham.active span:nth-child(2) { opacity:0; }
.nav-ham.active span:nth-child(3) { transform:rotate(-45deg) translate(7px,-7px); }
.mobile-menu { position:fixed; inset:0; background:var(--black); z-index:1000; display:flex; flex-direction:column; align-items:center; justify-content:center; opacity:0; pointer-events:none; transition:opacity .3s ease; }
.mobile-menu.active { opacity:1; pointer-events:all; }
.mobile-menu-links { list-style:none; text-align:center; padding:0; }
.mobile-menu-links li { margin:20px 0; opacity:0; transform:translateY(20px); transition:opacity .4s ease, transform .4s ease; }
.mobile-menu.active .mobile-menu-links li { opacity:1; transform:translateY(0); }
.mobile-menu.active .mobile-menu-links li:nth-child(1){transition-delay:.1s;} .mobile-menu.active .mobile-menu-links li:nth-child(2){transition-delay:.15s;} .mobile-menu.active .mobile-menu-links li:nth-child(3){transition-delay:.2s;} .mobile-menu.active .mobile-menu-links li:nth-child(4){transition-delay:.25s;} .mobile-menu.active .mobile-menu-links li:nth-child(5){transition-delay:.3s;}
.mobile-menu-links a { font-family:var(--font-display); font-size:36px; letter-spacing:.02em; text-transform:uppercase; color:var(--white); text-decoration:none; transition:color .2s; }
.mobile-menu-links a:hover { color:var(--green); }
.mobile-menu-cta { margin-top:32px; opacity:0; transform:translateY(20px); transition:opacity .4s ease, transform .4s ease; }
.mobile-menu.active .mobile-menu-cta { opacity:1; transform:translateY(0); transition-delay:.35s; }
.mobile-theme-toggle { margin-top:16px; }

/* PAGE HERO */
.legal-hero {
  padding: 160px 48px 80px;
  border-bottom: 1px solid var(--border);
  background: var(--dark);
  position: relative;
  overflow: hidden;
}
.legal-hero::before {
  content: '';
  position: absolute;
  inset: 0;
  background: radial-gradient(ellipse 60% 80% at 20% 50%, rgba(106,191,63,0.05) 0%, transparent 65%);
  pointer-events: none;
}
.legal-hero-inner { position:relative; z-index:1; max-width:760px; }
.legal-eyebrow {
  font-family: var(--font-cond);
  font-size: 11px;
  letter-spacing: 0.35em;
  text-transform: uppercase;
  color: var(--green);
  margin-bottom: 20px;
  display: flex;
  align-items: center;
  gap: 14px;
}
.legal-eyebrow::before { content:''; width:28px; height:1px; background:var(--green); flex-shrink:0; }
.legal-hero h1 {
  font-family: var(--font-display);
  font-size: clamp(52px, 8vw, 96px);
  line-height: 0.93;
  letter-spacing: 0.02em;
  text-transform: uppercase;
  margin-bottom: 28px;
}
.legal-hero h1 em { color:var(--green); font-style:normal; }
.legal-meta {
  display: flex;
  gap: 32px;
  flex-wrap: wrap;
}
.legal-meta-item {
  font-family: var(--font-cond);
  font-size: 11px;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--muted2);
}
.legal-meta-item span { color:var(--muted); }

/* CONTENT LAYOUT */
.legal-wrap {
  display: grid;
  grid-template-columns: 220px 1fr;
  gap: 0;
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 48px;
}

/* SIDEBAR TOC */
.legal-toc {
  padding: 64px 32px 64px 0;
  position: sticky;
  top: 90px;
  height: fit-content;
  border-right: 1px solid var(--border);
}
.legal-toc h3 {
  font-family: var(--font-cond);
  font-size: 10px;
  letter-spacing: 0.3em;
  text-transform: uppercase;
  color: var(--green);
  margin-bottom: 20px;
}
.legal-toc ol {
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.legal-toc ol a {
  font-family: var(--font-cond);
  font-size: 12px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--muted2);
  text-decoration: none;
  display: block;
  padding: 6px 0;
  border-left: 2px solid transparent;
  padding-left: 12px;
  transition: color 0.2s, border-color 0.2s;
  line-height: 1.4;
}
.legal-toc ol a:hover { color:var(--white); border-color:var(--green); }

/* BODY CONTENT */
.legal-body {
  padding: 64px 0 100px 56px;
}
.legal-section {
  padding-bottom: 56px;
  border-bottom: 1px solid var(--border);
  margin-bottom: 56px;
}
.legal-section:last-child { border-bottom:none; margin-bottom:0; }
.legal-section-num {
  font-family: var(--font-display);
  font-size: 13px;
  color: rgba(106,191,63,0.35);
  letter-spacing: 0.1em;
  margin-bottom: 8px;
}
.legal-section h2 {
  font-family: var(--font-display);
  font-size: clamp(28px, 3.5vw, 42px);
  letter-spacing: 0.02em;
  text-transform: uppercase;
  line-height: 1;
  margin-bottom: 24px;
}
.legal-section h2 em { color:var(--green); font-style:normal; }
.legal-section h3 {
  font-family: var(--font-cond);
  font-size: 14px;
  font-weight: 600;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--white);
  margin: 28px 0 10px;
}
.legal-section p {
  font-family: var(--font-body);
  font-size: 15px;
  font-weight: 300;
  color: var(--muted);
  line-height: 1.85;
  margin-bottom: 16px;
}
.legal-section p:last-child { margin-bottom:0; }
.legal-section ul, .legal-section ol {
  margin: 12px 0 16px 0;
  padding-left: 20px;
}
.legal-section li {
  font-family: var(--font-body);
  font-size: 15px;
  font-weight: 300;
  color: var(--muted);
  line-height: 1.85;
  margin-bottom: 6px;
}
.legal-section a { color:var(--green); text-decoration:none; transition:opacity .2s; }
.legal-section a:hover { opacity:0.8; }
.legal-highlight {
  border-left: 2px solid var(--green);
  padding: 16px 20px;
  background: rgba(106,191,63,0.04);
  margin: 24px 0;
}
.legal-highlight p { margin-bottom:0; }

/* FOOTER */
footer { padding:60px 48px 40px; border-top:1px solid var(--border); display:grid; grid-template-columns:1fr 1fr 1fr; gap:40px; align-items:start; }
.ft-brand { font-family:var(--font-display); font-size:28px; margin-bottom:12px; }
.ft-brand em { color:var(--green); font-style:normal; }
.ft-tag { font-family:var(--font-body); font-size:13px; font-weight:300; color:var(--muted); line-height:1.7; }
.ft-col h5 { font-family:var(--font-cond); font-size:11px; letter-spacing:0.3em; text-transform:uppercase; color:var(--green); margin-bottom:20px; }
.ft-col ul { list-style:none; display:flex; flex-direction:column; gap:10px; }
.ft-col ul a { font-family:var(--font-body); font-size:14px; font-weight:300; color:var(--muted); text-decoration:none; transition:color .2s; }
.ft-col ul a:hover { color:var(--white); }
.ft-bottom { grid-column:1/-1; padding-top:40px; border-top:1px solid var(--border); display:flex; justify-content:space-between; align-items:center; }
.ft-bottom p { font-family:var(--font-cond); font-size:11px; letter-spacing:0.15em; text-transform:uppercase; color:rgba(136,136,136,0.5); }
.ft-socials { display:flex; gap:20px; }
.ft-socials a { font-family:var(--font-cond); font-size:11px; letter-spacing:0.2em; text-transform:uppercase; color:var(--muted); text-decoration:none; transition:color .2s; }
.ft-socials a:hover { color:var(--green); }

/* FOCUS */
:where(a, button):focus-visible { outline:2px solid var(--green); outline-offset:3px; }

/* MOBILE */
@media(max-width:768px) {
  nav { padding:18px 24px; }
  .nav-links { display:none; }
  .nav-ham { display:flex; }
  .nav-actions .nav-cta { display:none; }
  .nav-logo-img, .nav-logo-light { height:42px; max-width:140px; }
  .legal-hero { padding:120px 24px 60px; }
  .legal-hero h1 { font-size:clamp(3.5rem,16vw,6rem); }
  .legal-wrap { grid-template-columns:1fr; padding:0 24px; }
  .legal-toc { display:none; }
  .legal-body { padding:48px 0 72px; }
  footer { grid-template-columns:1fr; padding:60px 24px 40px; text-align:center; }
  .ft-col ul { align-items:center; }
  .ft-bottom { flex-direction:column; gap:1rem; text-align:center; }
  .ft-socials { justify-content:center; }
}
@media(max-width:480px) {
  nav { padding:.875rem 1rem; }
  .nav-logo-img, .nav-logo-light { height:34px; max-width:120px; }
  .nav-ham { padding:.625rem; }
  .legal-hero { padding:110px 1rem 48px; }
  .legal-body { padding:36px 0 56px; }
  footer { padding:3.5rem 1rem 2.25rem; }
}
