:root{
  --text: rgba(255,255,255,.92);
  --muted: rgba(255,255,255,.68);
  --line: rgba(255,255,255,.16);
  --shadow: 0 18px 60px rgba(0,0,0,.55);
}
html,body{height:100%; margin:0; background:#000; font-family:system-ui, -apple-system, Segoe UI, Roboto, Arial;}
a{color:inherit}
/* Fade overlay */
#fadeOverlay{
  position:fixed;
  inset:0;
  background:#000;
  opacity:1;
  pointer-events:none;
  transition: opacity .55s ease;
  z-index:9999;
}
body.loaded #fadeOverlay{ opacity:0; }
body.fading #fadeOverlay{
  opacity:1;
  pointer-events:auto;
}
/* Optional subtle vignette helper */
.vignette{
  position:fixed; inset:0; pointer-events:none;
  background: radial-gradient(circle at center, rgba(0,0,0,0) 35%, rgba(0,0,0,.84) 100%);
}

/* UI pills */
.pill{display:inline-flex;align-items:center;gap:10px;padding:10px 14px;border-radius:999px;border:1px solid var(--line);background:rgba(255,255,255,.06);color:var(--text);text-decoration:none;font-size:13px;letter-spacing:1px;backdrop-filter: blur(10px);} .pill:hover{background:rgba(255,255,255,.10);border-color:rgba(255,255,255,.22)}


/* Demo page layout helpers */
.page{
  position:relative;
  z-index:2;
  min-height:100%;
  padding:56px 22px 40px;
}
.container{
  width:min(1100px, 94vw);
  margin:0 auto;
}
.hero{
  border-radius:26px;
  border:1px solid var(--line);
  background: rgba(0,0,0,.34);
  backdrop-filter: blur(10px);
  box-shadow: var(--shadow);
  overflow:hidden;
  position:relative;
  padding:24px 22px;
}
.hero::before{
  content:"";
  position:absolute;
  inset:-1px;
  background: radial-gradient(800px 340px at 20% 20%, var(--accent, rgba(255,255,255,.18)), transparent 60%);
  pointer-events:none;
  opacity:.70;
}
.hero h1{
  position:relative;
  margin:0 0 10px;
  color:var(--text);
  letter-spacing:5px;
  text-transform:uppercase;
  font-weight:300;
  font-size:26px;
}
.hero p{
  position:relative;
  margin:0;
  color:var(--muted);
  font-size:13px;
  line-height:1.7;
  max-width:70ch;
}
.hero .hero-actions{
  position:relative;
  margin-top:14px;
  display:flex;
  gap:10px;
  flex-wrap:wrap;
}
.section{
  margin-top:16px;
  border-radius:22px;
  border:1px solid var(--line);
  background: rgba(0,0,0,.28);
  backdrop-filter: blur(10px);
  box-shadow: 0 12px 40px rgba(0,0,0,.40);
  padding:18px;
}
.section h2{
  margin:0 0 12px;
  color:rgba(255,255,255,.88);
  letter-spacing:3px;
  text-transform:uppercase;
  font-weight:300;
  font-size:16px;
}
.grid{
  display:grid;
  gap:12px;
}
.grid.two{ grid-template-columns: repeat(2, minmax(0, 1fr)); }
.grid.three{ grid-template-columns: repeat(3, minmax(0, 1fr)); }
@media (max-width: 860px){
  .grid.two, .grid.three{ grid-template-columns: 1fr; }
  .page{ padding-top:46px; }
}
.card{
  border-radius:16px;
  border:1px solid var(--line);
  background: rgba(255,255,255,.04);
  padding:14px;
}
.card .k{
  color:rgba(255,255,255,.86);
  font-size:12px;
  letter-spacing:2px;
  text-transform:uppercase;
  margin-bottom:8px;
}
.card .v{
  color:var(--muted);
  font-size:12.5px;
  line-height:1.65;
}
.media{
  border-radius:18px;
  border:1px solid var(--line);
  background: rgba(255,255,255,.03);
  overflow:hidden;
}
.media video{
  width:100%;
  height:260px;
  display:block;
  object-fit:cover;
  filter: grayscale(100%) contrast(112%);
  transform: scale(1.02);
}
.badges{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:12px;
}
.badge{
  border-radius:999px;
  border:1px solid var(--line);
  background: rgba(255,255,255,.05);
  padding:9px 12px;
  color:rgba(255,255,255,.80);
  font-size:12px;
  letter-spacing:1px;
}
.footerbar{
  margin-top:18px;
  display:flex;
  justify-content:space-between;
  gap:10px;
  flex-wrap:wrap;
  color:rgba(255,255,255,.60);
  font-size:12px;
  letter-spacing:1px;
  padding:0 4px;
}
