/* ============================================================
   Barliva — shared design system  (site.css)
   Energetic, professional. Self-contained, no external fonts.
   ============================================================ */
:root{
  --bg:#070b16;
  --bg-soft:#0c1226;
  --ink:#eef2fb;
  --muted:#9aa6c2;
  --muted-2:#7a87a8;
  --line:rgba(148,163,184,.16);
  --line-2:rgba(148,163,184,.26);
  --card:rgba(20,28,52,.55);
  --card-2:rgba(28,38,68,.65);

  --green:#22e07a;
  --lime:#a3f53d;
  --emerald:#10b981;
  --violet:#8b5cf6;
  --cyan:#22d3ee;
  --amber:#fbbf24;
  --coral:#fb7185;

  --grad-brand:linear-gradient(120deg,var(--green),var(--cyan) 55%,var(--violet));
  --grad-lime:linear-gradient(135deg,var(--lime),var(--green));
  --grad-cta:linear-gradient(135deg,#16d672,#0ea5e9);
  --radius:18px;
  --radius-lg:26px;
  --shadow:0 30px 60px -30px rgba(0,0,0,.75);
  --glow:0 12px 40px -8px rgba(34,224,122,.45);
  --ring:0 0 0 1px var(--line);
  --maxw:1120px;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Inter,Helvetica,Arial,sans-serif;
  color:var(--ink);
  background:var(--bg);
  line-height:1.65;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}

/* ---- animated gradient-mesh backdrop ---- */
.bg-mesh{position:fixed;inset:0;z-index:-2;overflow:hidden;pointer-events:none}
.bg-mesh::before,.bg-mesh::after,.bg-mesh i{
  content:"";position:absolute;border-radius:50%;filter:blur(80px);opacity:.55;
}
.bg-mesh::before{width:620px;height:620px;left:-120px;top:-160px;
  background:radial-gradient(circle,#1bbf6b,transparent 65%);animation:float1 18s ease-in-out infinite}
.bg-mesh::after{width:560px;height:560px;right:-140px;top:80px;
  background:radial-gradient(circle,#7c3aed,transparent 65%);opacity:.42;animation:float2 22s ease-in-out infinite}
.bg-mesh i{width:520px;height:520px;left:40%;bottom:-220px;
  background:radial-gradient(circle,#0ea5e9,transparent 65%);opacity:.38;animation:float3 26s ease-in-out infinite}
.bg-grid{position:fixed;inset:0;z-index:-1;pointer-events:none;
  background-image:linear-gradient(rgba(148,163,184,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(148,163,184,.045) 1px,transparent 1px);
  background-size:64px 64px;mask-image:radial-gradient(circle at 50% 0%,#000 0%,transparent 70%)}
@keyframes float1{0%,100%{transform:translate(0,0) scale(1)}50%{transform:translate(60px,40px) scale(1.08)}}
@keyframes float2{0%,100%{transform:translate(0,0) scale(1)}50%{transform:translate(-50px,30px) scale(1.12)}}
@keyframes float3{0%,100%{transform:translate(0,0) scale(1)}50%{transform:translate(-40px,-50px) scale(1.1)}}

.wrap{max-width:var(--maxw);margin:0 auto;padding:0 24px}
a{color:inherit;text-decoration:none}

/* ---- top nav ---- */
.nav{position:sticky;top:0;z-index:50;backdrop-filter:saturate(160%) blur(14px);
  background:linear-gradient(180deg,rgba(7,11,22,.85),rgba(7,11,22,.35));border-bottom:1px solid var(--line)}
.nav .inner{display:flex;align-items:center;justify-content:space-between;height:66px}
.brand{display:flex;align-items:center;gap:12px;font-weight:850;font-size:21px;letter-spacing:-.02em}
.brand .mark{width:38px;height:38px;border-radius:11px;display:grid;place-items:center;
  background:var(--grad-lime);box-shadow:var(--glow);transition:transform .25s ease}
.brand:hover .mark{transform:rotate(-8deg) scale(1.06)}
.brand .mark svg{width:22px;height:22px}
.navlinks{display:flex;gap:28px;align-items:center;color:var(--muted);font-size:15px;font-weight:500}
.navlinks a{position:relative;transition:color .2s}
.navlinks a:hover{color:var(--ink)}
.navlinks a::after{content:"";position:absolute;left:0;right:100%;bottom:-6px;height:2px;border-radius:2px;background:var(--grad-lime);transition:right .25s ease}
.navlinks a:hover::after{right:0}
@media(max-width:760px){.navlinks{display:none}}

/* ---- buttons ---- */
.btn{display:inline-flex;align-items:center;gap:10px;font-weight:700;font-size:15px;
  padding:12px 22px;border-radius:14px;border:1px solid transparent;cursor:pointer;transition:transform .18s ease,box-shadow .25s ease,background .25s}
.btn-primary{color:#04210f;background:var(--grad-cta);box-shadow:var(--glow)}
.btn-primary:hover{transform:translateY(-3px);box-shadow:0 20px 50px -10px rgba(34,224,122,.6)}
.btn-ghost{color:var(--ink);background:rgba(255,255,255,.04);border-color:var(--line-2)}
.btn-ghost:hover{transform:translateY(-3px);border-color:var(--green);background:rgba(34,224,122,.08)}

/* ---- store badges ---- */
.stores{display:flex;gap:14px;flex-wrap:wrap}
.store{display:inline-flex;align-items:center;gap:12px;background:rgba(2,6,16,.7);border:1px solid var(--line-2);
  padding:11px 20px;border-radius:15px;transition:transform .18s ease,border-color .25s,box-shadow .25s}
.store:hover{transform:translateY(-3px);border-color:var(--line-2);box-shadow:0 18px 40px -18px rgba(0,0,0,.8)}
.store svg{width:26px;height:26px;flex:none}
.store small{display:block;font-size:11px;color:#9fb0c9;line-height:1}
.store strong{display:block;font-size:18px;letter-spacing:-.02em;margin-top:2px}

/* ---- pills / eyebrows ---- */
.pill{display:inline-flex;align-items:center;gap:8px;font-size:13px;font-weight:650;
  color:#d7ffe9;background:rgba(34,224,122,.1);border:1px solid rgba(34,224,122,.28);padding:7px 14px;border-radius:999px}
.pill .dot{width:8px;height:8px;border-radius:50%;background:var(--green);box-shadow:0 0 0 4px rgba(34,224,122,.25);animation:pulse 2.2s infinite}
@keyframes pulse{0%,100%{box-shadow:0 0 0 0 rgba(34,224,122,.35)}50%{box-shadow:0 0 0 7px rgba(34,224,122,0)}}
.eyebrow{display:inline-block;color:#7ee7ff;font-weight:750;font-size:13px;letter-spacing:.16em;text-transform:uppercase}

/* ---- gradient text ---- */
.grad-text{background:var(--grad-brand);-webkit-background-clip:text;background-clip:text;color:transparent}
.grad-lime-text{background:var(--grad-lime);-webkit-background-clip:text;background-clip:text;color:transparent}

/* ---- cards ---- */
.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius-lg);padding:26px;
  backdrop-filter:blur(8px);transition:transform .22s ease,border-color .25s,background .25s}
.card:hover{transform:translateY(-6px);border-color:var(--line-2);background:var(--card-2)}
.card .ico{width:50px;height:50px;border-radius:14px;display:grid;place-items:center;margin-bottom:16px;
  background:linear-gradient(135deg,rgba(34,224,122,.18),rgba(139,92,246,.18));border:1px solid var(--line-2)}
.card .ico svg{width:25px;height:25px;stroke:#9bf6c4}

/* ---- section scaffolding ---- */
section{padding:64px 0;position:relative}
h1,h2,h3{letter-spacing:-.025em;line-height:1.08}
h2.h{font-size:clamp(28px,3.6vw,42px);font-weight:850;margin:12px 0 0}
.sub{color:var(--muted);max-width:58ch;margin:14px 0 0;font-size:17px}

/* ---- reveal on scroll ---- */
.reveal{opacity:0;transform:translateY(22px);transition:opacity .7s cubic-bezier(.2,.7,.2,1),transform .7s cubic-bezier(.2,.7,.2,1)}
.reveal.in{opacity:1;transform:none}

/* ---- footer ---- */
.foot{border-top:1px solid var(--line);margin-top:40px;padding:40px 0 30px}
.foot .cols{display:flex;justify-content:space-between;gap:30px;flex-wrap:wrap;align-items:flex-start}
.foot .links{display:flex;gap:22px;flex-wrap:wrap;color:var(--muted);font-size:14px}
.foot .links a{transition:color .2s}.foot .links a:hover{color:var(--ink)}
.foot .copy{color:var(--muted-2);font-size:13px;margin-top:22px}

/* ============================================================
   Legal / document pages
   ============================================================ */
.doc{max-width:860px;margin:0 auto;padding:54px 24px 20px}
.doc .hero-mini{margin-bottom:30px}
.doc h1{font-size:clamp(32px,4.4vw,46px);font-weight:850;margin:14px 0 8px}
.doc .updated{color:var(--muted);font-size:14px}
.doc .badge-row{display:flex;gap:10px;flex-wrap:wrap;margin-top:14px}
.doc .chip{font-size:12.5px;color:#cdd7ea;background:rgba(255,255,255,.04);border:1px solid var(--line-2);border-radius:999px;padding:5px 12px}
.doc .intro{font-size:18px;color:#cdd7ea;margin:22px 0 28px}
.toc{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:20px 24px;margin:0 0 38px;backdrop-filter:blur(8px)}
.toc h2{font-size:12.5px;letter-spacing:.13em;text-transform:uppercase;color:#7ee7ff;margin:0 0 12px}
.toc ol{margin:0;padding-left:20px;columns:2;column-gap:34px}
@media(max-width:600px){.toc ol{columns:1}}
.toc a{color:#cbd5e1;transition:color .2s}.toc a:hover{color:var(--ink)}
.doc h2.sec{font-size:24px;font-weight:800;margin:42px 0 12px;padding-top:20px;border-top:1px solid var(--line);scroll-margin-top:84px}
.doc h2.sec .n{background:var(--grad-lime);-webkit-background-clip:text;background-clip:text;color:transparent;font-variant-numeric:tabular-nums;margin-right:10px}
.doc h3{font-size:17.5px;margin:24px 0 6px;color:#e3ebf8}
.doc p,.doc li{color:#c4cee2}
.doc ul,.doc ol.body{padding-left:22px}.doc li{margin:7px 0}
.doc a[href^="mailto"],.doc a[href^="http"],.doc a[href^="/"]{color:#7ee7ff}
.doc a[href^="mailto"]:hover,.doc a:hover{text-decoration:underline}
.tbl{width:100%;border-collapse:separate;border-spacing:0;margin:16px 0;font-size:14.5px;border:1px solid var(--line);border-radius:14px;overflow:hidden}
.tbl th,.tbl td{text-align:left;padding:12px 14px;border-bottom:1px solid var(--line);vertical-align:top}
.tbl tr:last-child td{border-bottom:none}
.tbl th{background:rgba(255,255,255,.04);color:#e6edf8;font-weight:700}
.note{border-radius:14px;padding:15px 20px;margin:20px 0;font-size:14.5px}
.note.good{background:rgba(34,224,122,.08);border:1px solid rgba(34,224,122,.28);color:#bdf3d4}
.note.warn{background:rgba(251,191,36,.08);border:1px solid rgba(251,191,36,.3);color:#f0dcab}
.note.info{background:rgba(34,211,238,.07);border:1px solid rgba(34,211,238,.28);color:#bdeaf3}
code{background:rgba(2,6,16,.6);border:1px solid var(--line-2);border-radius:6px;padding:2px 7px;font-size:13.5px;color:#dbe6f5}
.doc strong{color:var(--ink)}
.disclaimer{color:var(--muted-2);font-size:13px;margin-top:18px}

/* ---- back link ---- */
.backlink{display:inline-flex;align-items:center;gap:8px;color:var(--muted);font-size:14px;transition:color .2s,gap .2s}
.backlink:hover{color:var(--ink);gap:11px}

@media (prefers-reduced-motion: reduce){
  *{animation:none!important;scroll-behavior:auto!important}
  .reveal{opacity:1;transform:none;transition:none}
  .bg-mesh::before,.bg-mesh::after,.bg-mesh i{animation:none}
}
