/* legal.css — shared stylesheet for Orbitex legal pages */
:root{
  --paper:      #1a1815;
  --paper-tint: #211e1a;
  --ink:        #F5F1E8;
  --ink-dim:    #b8b2a3;
  --ink-faint:  #8a8578;
  --rule:       #3a352e;
  --rule-soft:  #2a2621;
  --accent:     #D96A2E;
  --font-sans:  'Inter', 'Helvetica Neue', sans-serif;
  --font-mono:  'JetBrains Mono', monospace;
}

*, *::before, *::after { box-sizing:border-box; margin:0; padding:0; }
html { scroll-behavior:smooth; }

body{
  font-family:var(--font-sans);
  background:var(--paper);
  color:var(--ink);
  font-size:15px;
  font-weight:400;
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
  min-height:100vh;
}

/* Grid background */
body::before{
  content:"";
  position:fixed; inset:0; z-index:0; pointer-events:none;
  background-image:
    linear-gradient(to right,  var(--rule-soft) 1px, transparent 1px),
    linear-gradient(to bottom, var(--rule-soft) 1px, transparent 1px);
  background-size:60px 60px;
  opacity:.35;
  mask-image: radial-gradient(ellipse at 50% 0%, black 30%, transparent 80%);
  -webkit-mask-image: radial-gradient(ellipse at 50% 0%, black 30%, transparent 80%);
}

/* Nav */
.nav{
  position:sticky; top:0; z-index:40;
  display:grid;
  grid-template-columns:auto 1fr auto;
  gap:2rem; align-items:center;
  padding:1rem clamp(1.25rem, 4vw, 3rem);
  background:rgba(26,24,21,.85);
  backdrop-filter:blur(8px);
  -webkit-backdrop-filter:blur(8px);
  border-bottom:1px solid var(--rule);
}
.nav-logo{
  display:flex; align-items:center; gap:.6rem;
  text-decoration:none; color:var(--ink);
  font-size:14px; font-weight:500;
}
.nav-logo svg{ width:20px; height:20px; }
.nav-logo em{
  font-style:normal;
  font-family:var(--font-mono); font-size:10px;
  color:var(--ink-faint); letter-spacing:1px;
  margin-left:.3rem;
}
.nav-doc-title{
  text-align:center;
  font-family:var(--font-mono); font-size:10px;
  letter-spacing:.25em; text-transform:uppercase;
  color:var(--ink-faint);
}
.nav-back{
  font-family:var(--font-mono); font-size:11px;
  letter-spacing:.15em; text-transform:uppercase;
  padding:.5rem .9rem;
  color:var(--ink-dim); text-decoration:none;
  border:1px solid var(--rule);
  transition:all .2s;
  display:inline-flex; align-items:center; gap:.4rem;
}
.nav-back:hover{ color:var(--accent); border-color:var(--accent); }

/* Page wrapper */
.page{
  position:relative; z-index:1;
  max-width:760px;
  margin:0 auto;
  padding:4rem clamp(1.25rem, 4vw, 3rem) 8rem;
}

/* Masthead */
.masthead{
  padding-bottom:3rem;
  border-bottom:1px solid var(--rule);
  margin-bottom:4rem;
}
.masthead-meta{
  font-family:var(--font-mono); font-size:10px;
  letter-spacing:.3em; text-transform:uppercase;
  color:var(--ink-faint);
  margin-bottom:1.5rem;
  display:flex; gap:2rem; flex-wrap:wrap;
}
.masthead-meta .ac{ color:var(--accent); }
.masthead h1{
  font-size:clamp(24px, 4vw, 36px);
  font-weight:500; letter-spacing:-.3px;
  line-height:1.15; margin-bottom:1rem;
}
.masthead-sub{
  font-size:14px; color:var(--ink-dim); max-width:60ch;
  line-height:1.65;
}

/* Table of contents */
.toc{
  background:var(--paper-tint);
  border:1px solid var(--rule);
  padding:1.5rem 1.75rem;
  margin-bottom:4rem;
}
.toc-head{
  font-family:var(--font-mono); font-size:10px;
  letter-spacing:.3em; text-transform:uppercase;
  color:var(--ink-faint); margin-bottom:1rem;
}
.toc ol{
  list-style:none;
  display:flex; flex-direction:column; gap:.4rem;
}
.toc ol li{
  display:flex; gap:1.2rem; align-items:baseline;
}
.toc-n{
  font-family:var(--font-mono); font-size:10px;
  color:var(--ink-faint); letter-spacing:.1em;
  min-width:2rem;
}
.toc a{
  color:var(--ink-dim); text-decoration:none;
  font-size:13px;
  transition:color .2s, padding .2s;
}
.toc a:hover{ color:var(--accent); padding-left:.3rem; }

/* Content */
.legal-body{ display:flex; flex-direction:column; gap:3.5rem; }

.legal-section{ scroll-margin-top:5rem; }

.legal-section-head{
  display:grid;
  grid-template-columns:2.5rem 1fr;
  gap:1rem; align-items:baseline;
  padding-bottom:1rem;
  border-bottom:1px solid var(--rule);
  margin-bottom:1.75rem;
}
.legal-section-n{
  font-family:var(--font-mono); font-size:10px;
  color:var(--ink-faint); letter-spacing:.15em;
  padding-top:.3rem;
}
.legal-section h2{
  font-size:18px; font-weight:500; letter-spacing:-.2px;
}

.legal-section p{
  color:var(--ink-dim); font-size:14px;
  line-height:1.75; margin-bottom:1rem;
}
.legal-section p:last-child{ margin-bottom:0; }

.legal-section ul, .legal-section ol{
  list-style:none;
  display:flex; flex-direction:column; gap:.5rem;
  margin-bottom:1rem; padding-left:.5rem;
}
.legal-section li{
  color:var(--ink-dim); font-size:14px; line-height:1.65;
  display:flex; gap:.75rem;
}
.legal-section li::before{
  content:"◦"; color:var(--accent);
  font-size:10px; padding-top:.35rem; flex-shrink:0;
}

.legal-section strong{ color:var(--ink); font-weight:500; }
.legal-section a{ color:var(--accent); text-decoration:none; }
.legal-section a:hover{ text-decoration:underline; }

/* Callout box */
.callout{
  border-left:2px solid var(--accent);
  padding:.85rem 1.25rem;
  background:rgba(217,106,46,.06);
  margin:1.25rem 0;
}
.callout p{
  font-size:13px !important;
  color:var(--ink-dim);
  margin-bottom:0 !important;
}
.callout strong{ color:var(--accent); }

/* Footer */
.legal-footer{
  border-top:1px solid var(--rule);
  padding:2rem 0 0;
  margin-top:5rem;
  display:flex; justify-content:space-between; flex-wrap:wrap; gap:1rem;
  font-family:var(--font-mono); font-size:10px;
  letter-spacing:.15em; text-transform:uppercase;
  color:var(--ink-faint);
}
.legal-footer a{ color:var(--ink-dim); text-decoration:none; transition:color .2s; }
.legal-footer a:hover{ color:var(--accent); }
.legal-footer-links{ display:flex; gap:2rem; flex-wrap:wrap; }

@media (max-width:600px){
  .nav-doc-title{ display:none; }
  .masthead-meta{ gap:1rem; }
}
