/* ═══════════════════════════════════════════════════════════════════════
   N-ERGY — legal pages (/legal/, /terms/, /privacy/, /refund/, /pricing/).
   Tokens, nav, eyebrow and footer mirror site/index.html; keep them in sync.
   ═══════════════════════════════════════════════════════════════════════ */
@font-face{font-family:'Geist';src:url('/media/fonts/GeistVariable.woff2') format('woff2');
  font-weight:100 900;font-style:normal;font-display:swap}
@font-face{font-family:'GeistMono';src:url('/media/fonts/GeistMonoVariable.woff2') format('woff2');
  font-weight:100 900;font-style:normal;font-display:swap}

:root{
  --void:#05080B;
  --void-2:#080C11;
  --panel:#0A0F15;
  --ink:#F4F7FB;
  --ink-2:#A6B3BF;
  --ink-3:#63717C;
  --line:rgba(255,255,255,.085);
  --line-2:rgba(255,255,255,.045);
  --amber:#F5923B;
  --amber-2:#FFBE7A;
  --amber-deep:#C56A1E;
  --steel:#8FB8E8;
  --sans:'Geist',system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  --mono:'GeistMono',ui-monospace,"SF Mono",Menlo,monospace;
  --pad:clamp(1.25rem,4vw,4.5rem);
  --maxw:1380px;
  --ease:cubic-bezier(.16,.84,.3,1);
  --navh:74px;
}

*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{
  background:var(--void); color:var(--ink); font-family:var(--sans);
  font-size:17px; line-height:1.5; letter-spacing:-.011em;
  -webkit-font-smoothing:antialiased; text-rendering:optimizeLegibility;
  overflow-x:hidden;
}
::selection{background:rgba(245,146,59,.28); color:#fff}
a{color:inherit; text-decoration:none}
.w{max-width:var(--maxw); margin:0 auto; padding-inline:var(--pad)}

/* eyebrow / mono label */
.eye{font-family:var(--mono); font-size:.68rem; font-weight:500; letter-spacing:.22em;
  text-transform:uppercase; color:var(--ink-3); display:inline-flex; align-items:center; gap:.7rem}
.eye b{color:var(--amber); font-weight:600}
.eye::before{content:""; width:26px; height:1px;
  background:linear-gradient(90deg,var(--amber),transparent)}
.eye a{transition:color .22s} .eye a:hover b{color:var(--amber-2)}
.eye .sep{color:var(--ink-3); opacity:.6}

/* ── NAV ──────────────────────────────────────────────────────────────── */
.nav{position:fixed; inset:0 0 auto 0; z-index:60; transition:background .3s, border-color .3s, backdrop-filter .3s;
  border-bottom:1px solid transparent}
.nav.stuck{background:rgba(5,8,11,.72); backdrop-filter:blur(14px) saturate(1.2);
  border-bottom-color:var(--line-2)}
.nav .w{display:flex; align-items:center; justify-content:space-between; height:var(--navh)}
.brand{display:flex; align-items:center; gap:.7rem; color:var(--ink)}
.brand svg{width:26px; height:26px; display:block}
.brand span{font-weight:600; font-size:.96rem; letter-spacing:.16em}
.nav nav{display:flex; align-items:center; gap:2.2rem}
.nav nav a{font-size:.86rem; color:var(--ink-2); position:relative; transition:color .22s; padding-block:.4rem}
.nav nav a::after{content:""; position:absolute; left:0; right:0; bottom:.05rem; height:1px;
  background:var(--amber); transform:scaleX(0); transform-origin:left; transition:transform .3s var(--ease)}
.nav nav a:hover{color:var(--ink)} .nav nav a:hover::after{transform:scaleX(1)}
.btn{position:relative; overflow:hidden; display:inline-flex; align-items:center; gap:.5rem;
  font-weight:560; font-size:.86rem; letter-spacing:-.01em; color:#120A03;
  background:linear-gradient(180deg,var(--amber-2),var(--amber)); border:0; cursor:pointer;
  padding:.7em 1.25em; border-radius:3px; transition:transform .24s var(--ease), box-shadow .24s;
  box-shadow:0 1px 0 rgba(255,255,255,.25) inset, 0 6px 20px rgba(245,146,59,.16)}
.btn:hover{transform:translateY(-1px); box-shadow:0 1px 0 rgba(255,255,255,.3) inset, 0 12px 34px rgba(245,146,59,.34)}
.btn::before{content:""; position:absolute; top:0; left:-130%; width:55%; height:100%;
  background:linear-gradient(100deg,transparent,rgba(255,255,255,.5),transparent); transform:skewX(-18deg);
  transition:left .6s var(--ease)}
.btn:hover::before{left:150%}

/* ── PAGE HEAD ────────────────────────────────────────────────────────── */
.lhead{position:relative; padding:calc(var(--navh) + clamp(3.5rem,9vh,6.5rem)) 0 clamp(2.4rem,5vh,3.6rem)}
.lhead::before{content:""; position:absolute; inset:0; z-index:-1; pointer-events:none;
  background:
    radial-gradient(70% 120% at 88% 0%, rgba(245,146,59,.10), transparent 60%),
    radial-gradient(60% 90% at 6% 0%, rgba(60,90,130,.10), transparent 60%),
    linear-gradient(180deg, var(--void-2), var(--void))}
.lhead .eye{margin-bottom:2rem}
.lhead h1{font-size:clamp(2.3rem,5vw,4rem); line-height:1.02; letter-spacing:-.035em;
  font-weight:560; text-wrap:balance; max-width:22ch}
.lhead h1 em{font-style:normal; color:var(--amber-2)}
.lhead .lede{margin-top:1.4rem; font-size:clamp(1.02rem,1.4vw,1.2rem); line-height:1.55; color:var(--ink-2); max-width:42rem}
.lhead .meta{margin-top:1.4rem; font-family:var(--mono); font-size:.76rem; letter-spacing:.02em; color:var(--ink-3)}

/* ── /legal/ cards ────────────────────────────────────────────────────── */
.lcards{display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1.4rem;
  padding-bottom:clamp(5rem,12vh,8rem)}
.lcard{display:flex; flex-direction:column; border:1px solid var(--line); border-radius:6px; padding:1.8rem 1.7rem;
  background:linear-gradient(180deg,rgba(12,17,23,.5),rgba(8,12,17,.3));
  transition:border-color .3s, background .3s, transform .3s var(--ease)}
.lcard:hover,.lcard:focus-visible{border-color:rgba(245,146,59,.35);
  background:linear-gradient(180deg,rgba(245,146,59,.06),rgba(8,12,17,.3))}
.lcard b{font-size:1.2rem; font-weight:540; color:var(--ink); letter-spacing:-.01em; line-height:1.25}
.lcard p{font-size:.95rem; color:var(--ink-2); line-height:1.55; margin:.7rem 0 1.6rem}
.lcard .more{margin-top:auto; font-family:var(--mono); font-size:.8rem; letter-spacing:.04em; color:var(--ink-2);
  display:inline-flex; align-items:center; gap:.5rem; transition:color .22s}
.lcard .more .ar{color:var(--amber); transition:transform .24s var(--ease)}
.lcard:hover .more{color:var(--ink)} .lcard:hover .more .ar{transform:translateX(3px)}

/* ── document body + TOC ──────────────────────────────────────────────── */
.ldoc{display:grid; grid-template-columns:15rem minmax(0,1fr); gap:clamp(2.5rem,6vw,6rem); align-items:start;
  padding-bottom:clamp(5rem,12vh,8rem)}
.ldoc.notoc{grid-template-columns:minmax(0,1fr)}
.toc{position:sticky; top:calc(var(--navh) + 2rem); max-height:calc(100vh - var(--navh) - 4rem); overflow:auto;
  padding-right:.4rem; scrollbar-width:thin; scrollbar-color:var(--line) transparent}
.toc .tl{font-family:var(--mono); font-size:.62rem; letter-spacing:.2em; text-transform:uppercase; color:var(--ink-3);
  margin-bottom:1rem}
.toc ol{list-style:none; border-left:1px solid var(--line-2)}
.toc a{display:block; position:relative; padding:.38rem 0 .38rem 1rem; font-size:.82rem; line-height:1.35;
  color:var(--ink-3); transition:color .22s}
.toc a::before{content:""; position:absolute; left:-1px; top:0; bottom:0; width:1px; background:var(--amber);
  transform:scaleY(0); transition:transform .3s var(--ease)}
.toc a:hover{color:var(--ink-2)}
.toc a.on{color:var(--ink)} .toc a.on::before{transform:scaleY(1)}

.prose{max-width:65ch; color:var(--ink-2); font-size:1.02rem; line-height:1.7}
.prose > * + *{margin-top:1.1rem}
.prose h2{color:var(--ink); font-size:clamp(1.3rem,2vw,1.55rem); font-weight:560; letter-spacing:-.02em;
  line-height:1.25; margin-top:3.2rem; padding-top:2.2rem; border-top:1px solid var(--line-2);
  scroll-margin-top:calc(var(--navh) + 1.5rem)}
.prose > h2:first-child{margin-top:0; padding-top:0; border-top:0}
.prose h2 + *{margin-top:1.2rem}
.prose strong{color:var(--ink); font-weight:560}
.prose a{color:var(--amber-2); text-decoration:underline; text-decoration-color:rgba(255,190,122,.35);
  text-underline-offset:.2em; transition:text-decoration-color .22s, color .22s}
.prose a:hover{color:var(--amber-2); text-decoration-color:var(--amber-2)}
.prose ul{list-style:none}
.prose li{position:relative; padding-left:1.4rem}
.prose li + li{margin-top:.55rem}
.prose li::before{content:""; position:absolute; left:.1rem; top:.8em; width:.55rem; height:1px; background:var(--amber)}
.tbl{overflow-x:auto; -webkit-overflow-scrolling:touch; border:1px solid var(--line); border-radius:6px;
  background:linear-gradient(180deg,rgba(12,17,23,.5),rgba(8,12,17,.3))}
.prose .tbl{margin-top:1.6rem; margin-bottom:.5rem}
.tbl table{width:100%; border-collapse:collapse; font-size:.92rem; line-height:1.5; min-width:34rem}
.tbl th{font-family:var(--mono); font-size:.62rem; font-weight:500; letter-spacing:.16em; text-transform:uppercase;
  color:var(--ink-3); text-align:left; padding:.95rem 1.1rem; border-bottom:1px solid var(--line); white-space:nowrap}
.tbl td{padding:.85rem 1.1rem; vertical-align:top; border-top:1px solid var(--line-2)}
.tbl tr:first-child td{border-top:0}
.tbl td:first-child{color:var(--ink); font-weight:520}

/* ── FOOTER (mirrors index.html) ──────────────────────────────────────── */
.foot{border-top:1px solid var(--line-2); padding:2.4rem 0}
.foot .w{display:flex; align-items:center; justify-content:space-between; gap:1.5rem; flex-wrap:wrap}
.foot .brand span{color:var(--ink-2)}
.foot .ftag{font-family:var(--mono); font-size:.72rem; letter-spacing:.1em; color:var(--ink-3)}
.foot .flinks{display:flex; gap:1.6rem}
.foot .flinks a{font-family:var(--mono); font-size:.72rem; letter-spacing:.1em; color:var(--ink-3); transition:color .22s}
.foot .flinks a:hover{color:var(--amber)}
.foot .fcopy{font-family:var(--mono); font-size:.72rem; color:var(--ink-3)}

@media (max-width:1000px){
  .ldoc{grid-template-columns:minmax(0,1fr)}
  .toc{display:none}
}
@media (max-width:860px){
  .nav nav{display:none}
  .lcards{grid-template-columns:1fr}
}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *{transition:none!important}
}
