:root{
  --bg:#0b1220;
  --panel:#0f1a2f;
  --soft:#0c1628;
  --card:#0f1a2f;
  --text:#eaf0ff;
  --muted:#b7c3df;
  --line:rgba(255,255,255,.10);
  --accent:#20c1d8;
  --accent2:#ff7a18;
  --white:#ffffff;
  --shadow:0 18px 50px rgba(0,0,0,.35);
  --radius:18px;
  --radius2:26px;
  --container:1120px;
  --pad:22px;
  --h1:clamp(2.1rem,3.3vw,3.2rem);
  --h2:clamp(1.6rem,2.3vw,2.2rem);
  --h3:1.1rem;
  --lead:1.08rem;
  --base:16px;
}

/* Reset */
*{box-sizing:border-box}
html,body{height:100%}

body{
  margin:0;
  font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Arial;
  font-size:var(--base);
  color:var(--text);
  line-height:1.55;
  overflow-x:hidden;
  background:
    radial-gradient(1200px 700px at 15% 0%, rgba(32,193,216,.22), transparent 60%),
    radial-gradient(1000px 650px at 95% 5%, rgba(255,122,24,.20), transparent 60%),
    linear-gradient(180deg,#0b1220,#070b14);
}

a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
strong{color:#fff}

.container{
  width:min(var(--container),calc(100% - 2*var(--pad)));
  margin-inline:auto;
}

/* Header / Nav */
.header{
  position:sticky;
  top:0;
  z-index:50;
  backdrop-filter:blur(10px);
  background:rgba(7,11,20,.72);
  border-bottom:1px solid rgba(255,255,255,.08);
}

.header__inner{
  display:flex;
  justify-content:space-between;
  align-items:center;
  padding:14px 0;
  gap:16px;
}

.header__actions{display:flex;gap:10px;align-items:center}

.iconbtn{
  display:none;
  width:44px;
  height:44px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.14);
  background:rgba(255,255,255,.06);
  cursor:pointer;
}

.iconbtn__bars{
  width:18px;
  height:12px;
  position:relative;
  margin:auto;
}

.iconbtn__bars::before,
.iconbtn__bars::after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  height:2px;
  background:#fff;
  border-radius:2px;
}

.iconbtn__bars::before{top:0}
.iconbtn__bars::after{bottom:0}

/* Botones */
.btn{
  position:relative;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  border-radius:999px;
  padding:12px 16px;
  font-weight:800;
  border:1px solid transparent;
  cursor:pointer;
  overflow:hidden;
}

.btn--primary{
  background:linear-gradient(135deg,var(--accent),var(--accent2));
  color:#07101f;
}

.btn--primary::after{
  content:"";
  position:absolute;
  inset:-2px;
  border-radius:999px;
  background:linear-gradient(120deg,transparent,rgba(255,255,255,.45),transparent);
  opacity:.6;
  animation:shine 3.5s infinite;
}

@keyframes shine{
  from{transform:translateX(-120%)}
  to{transform:translateX(120%)}
}

/* HERO glow */
.homeHero{
  position:relative;
  min-height:calc(100svh - 120px);
  display:flex;
  align-items:center;
  overflow:hidden;
}

.homeHero::before,
.homeHero::after{
  content:"";
  position:absolute;
  width:480px;
  height:480px;
  border-radius:50%;
  filter:blur(120px);
  opacity:.35;
  animation:floatGlow 14s ease-in-out infinite alternate;
  pointer-events:none;
}

.homeHero::before{
  background:rgba(32,193,216,.55);
  top:-120px;
  left:-120px;
}

.homeHero::after{
  background:rgba(255,122,24,.45);
  bottom:-160px;
  right:-120px;
  animation-delay:4s;
}

@keyframes floatGlow{
  from{transform:translateY(0)}
  to{transform:translateY(40px)}
}

/* Cards hover */
.card,
.navCard,
.quickCard{
  transition:transform .35s ease,box-shadow .35s ease;
}

.card:hover,
.navCard:hover,
.quickCard:hover{
  transform:translateY(-6px);
  box-shadow:0 25px 60px rgba(32,193,216,.18);
}

/* Fade titles */
.h2,
.homeHero__title{
  opacity:0;
  transform:translateY(20px);
  animation:fadeUp .8s ease forwards;
}

@keyframes fadeUp{
  to{opacity:1;transform:translateY(0)}
}

/* Soft light section */
.section--softLight{
  background:
    radial-gradient(600px 300px at 50% 0%, rgba(255,255,255,.08), transparent 70%),
    linear-gradient(180deg, rgba(255,255,255,.03), transparent);
}

/* Mobile */
@media (max-width:980px){
  .nav{display:none}
  .iconbtn{display:inline-flex}

  .header__actions > a{display:none}
}

