:root{
  --ink:#07070a;
  --ink-raised:#111114;
  --ink-sunken:#020203;
  --hairline:rgba(255,255,255,0.09);
  --hairline-strong:rgba(255,255,255,0.18);
  --text:#f4f2ee;
  --text-dim:#9d9ba3;
  --text-faint:#68656f;
  --prism-cyan:#8fe9d6;
  --prism-violet:#b79bff;
  --radius-lg:26px;
  --radius-md:16px;
  --radius-sm:10px;
  --ease:cubic-bezier(0.16,1,0.3,1);
}

*{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;}
body{
  background:var(--ink);
  color:var(--text);
  font-family:'Inter',-apple-system,BlinkMacSystemFont,'Helvetica Neue',sans-serif;
  -webkit-font-smoothing:antialiased;
  line-height:1.5;
}
a{color:inherit; text-decoration:none;}
.display{font-family:'Bricolage Grotesque',-apple-system,sans-serif;}

@media (prefers-reduced-motion: reduce){
  *{animation-duration:0.01ms !important; animation-iteration-count:1 !important; transition-duration:0.01ms !important;}
}

/* ---------- Liquid glass primitive ---------- */
.glass{
  position:relative;
  background:linear-gradient(180deg, rgba(0,0,0,0.32) 0%, rgba(0,0,0,0.16) 48%, rgba(0,0,0,0.30) 100%);
  -webkit-backdrop-filter:blur(28px) saturate(180%);
  backdrop-filter:blur(28px) saturate(180%);
  border:1px solid rgba(255,255,255,0.10);
  isolation:isolate;
  overflow:hidden;
}
.glass::before{
  content:'';
  position:absolute; inset:0;
  background:
    radial-gradient(circle 200px at var(--mx,50%) var(--my,0%), rgba(255,255,255,0.14), transparent 70%),
    linear-gradient(180deg, rgba(255,255,255,0.16) 0%, rgba(255,255,255,0.02) 14%, transparent 40%),
    linear-gradient(180deg, transparent 85%, rgba(255,255,255,0.05) 100%);
  pointer-events:none;
  z-index:1;
  transition:background 0.15s ease-out;
}
.glass::after{
  content:'';
  position:absolute;
  top:-40%; left:-20%;
  width:160%; height:220%;
  background:conic-gradient(from 200deg at 30% 20%,
    rgba(143,233,214,0.14), rgba(183,155,255,0.10) 22%, transparent 42%,
    rgba(183,155,255,0.08) 58%, transparent 76%, rgba(143,233,214,0.12) 100%);
  filter:blur(34px);
  opacity:0.6;
  pointer-events:none;
  z-index:0;
  animation:causticDrift 24s ease-in-out infinite;
}
.glass > *{position:relative; z-index:2;}
@keyframes causticDrift{
  0%{ transform:translate(0,0) rotate(0deg); }
  50%{ transform:translate(3%, 4%) rotate(8deg); }
  100%{ transform:translate(0,0) rotate(0deg); }
}
@media (prefers-reduced-motion: reduce){ .glass::after{ animation:none; } }

/* ---------- Sticky header (nav + optional countdown bar) ---------- */
.site-header{
  position:sticky; top:0; z-index:100;
  background:rgba(7,7,10,0.72);
  -webkit-backdrop-filter:blur(20px) saturate(150%);
  backdrop-filter:blur(20px) saturate(150%);
  border-bottom:1px solid var(--hairline);
  transition:background 0.4s ease, border-color 0.4s ease;
}
.site-header.scrolled{
  background:rgba(7,7,10,0.94);
  border-bottom-color:var(--hairline-strong);
}
.nav{
  display:flex; align-items:center; justify-content:space-between;
  padding:16px 32px;
}
.nav-brand{display:flex; align-items:center; gap:10px; font-weight:600; font-size:15px; letter-spacing:-0.01em;}
.nav-mark{
  width:20px; height:8px; border-radius:5px; flex-shrink:0;
  background:linear-gradient(115deg,var(--prism-cyan),var(--prism-violet));
}
.nav-links{display:flex; gap:32px; font-size:13.5px; color:var(--text-dim);}
.nav-links a{transition:color 0.2s ease;}
.nav-links a:hover{color:var(--text);}
.nav-cta{
  font-size:13px; font-weight:600; padding:9px 18px; border-radius:100px;
  background:var(--text); color:var(--ink);
  transition:background 0.2s ease, transform 0.2s var(--ease);
}
.nav-cta:hover{background:#d8d8dc; transform:translateY(-1px);}
.nav-back{font-size:13.5px; color:var(--text-dim); transition:color 0.2s ease;}
.nav-back:hover{color:var(--text);}
@media (max-width:820px){ .nav-links{display:none;} }

/* ---------- Buttons ---------- */
.btn-primary{
  padding:13px 26px; border-radius:100px; font-size:15px; font-weight:600;
  background:var(--text); color:var(--ink);
  box-shadow:0 1px 0 rgba(255,255,255,0.4) inset;
  transition:transform 0.35s var(--ease), background 0.25s ease, box-shadow 0.35s ease;
  display:inline-block;
}
.btn-primary:hover{background:#e2e2e6; transform:translateY(-2px); box-shadow:0 10px 24px -8px rgba(255,255,255,0.22), 0 1px 0 rgba(255,255,255,0.4) inset;}
.btn-primary:active{transform:translateY(0) scale(0.97);}
.btn-primary .btn-label{display:inline-flex; align-items:center; gap:8px;}
.btn-primary.downloading{pointer-events:none; opacity:0.85;}
.btn-primary.downloaded{background:#f0f0f2;}

.btn-secondary{
  padding:13px 24px; border-radius:100px; font-size:15px; font-weight:600;
  border:1px solid rgba(255,255,255,0.16); color:var(--text);
  background:rgba(255,255,255,0.03);
  -webkit-backdrop-filter:blur(12px);
  backdrop-filter:blur(12px);
  transition:transform 0.35s var(--ease), border-color 0.25s ease, background 0.25s ease;
  display:inline-block;
}
.btn-secondary:hover{border-color:rgba(255,255,255,0.32); background:rgba(255,255,255,0.07); transform:translateY(-2px);}
.btn-secondary:active{transform:translateY(0) scale(0.97);}

/* ---------- Chips / badges ---------- */
.chip{
  display:inline-flex; align-items:center; gap:6px;
  font-size:12.5px; font-weight:500; color:var(--text-dim);
  padding:7px 14px; border-radius:100px;
  border:1px solid var(--hairline); background:rgba(255,255,255,0.03);
}
.chip b{color:var(--text); font-weight:600;}
.badge{
  font-size:13px; color:var(--text-dim); padding:9px 16px; border-radius:100px;
  border:1px solid var(--hairline-strong); background:rgba(255,255,255,0.02);
  -webkit-backdrop-filter:blur(10px); backdrop-filter:blur(10px);
  transition:border-color 0.3s ease, color 0.3s ease, transform 0.3s var(--ease);
}
.badge:hover{border-color:rgba(255,255,255,0.28); color:var(--text); transform:translateY(-2px);}

/* ---------- Footer ---------- */
footer{border-top:1px solid var(--hairline); padding:48px 24px;}
.footer-inner{
  max-width:1080px; margin:0 auto;
  display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:20px;
}
.footer-brand{display:flex; align-items:center; gap:10px; font-size:13.5px; color:var(--text-faint);}
.footer-links{display:flex; gap:24px; font-size:13px; color:var(--text-faint);}
.footer-links a{transition:color 0.2s ease;}
.footer-links a:hover{color:var(--text-dim);}
