:root{
  --bg:#07121f;
  --bg2:#0b1b2b;
  --card:#0f243a;
  --stroke:rgba(255,255,255,.10);
  --text:rgba(255,255,255,.92);
  --muted:rgba(255,255,255,.72);
  --muted2:rgba(255,255,255,.58);
  --accent:#ffb020;
  --accent2:#19c37d;
  --shadow: 0 20px 60px rgba(0,0,0,.35);
  --radius: 18px;
  --radius2: 26px;
  --container: 1120px;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family: system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  color:var(--text);
  background: radial-gradient(1200px 600px at 20% 10%, rgba(255,176,32,.10), transparent 60%),
              radial-gradient(900px 500px at 90% 0%, rgba(25,195,125,.10), transparent 55%),
              linear-gradient(180deg, var(--bg), #060e18 70%);
}

a{color:inherit; text-decoration:none}
a:hover{opacity:.9}
.container{max-width:var(--container); padding:0 18px; margin:0 auto}
.muted{color:var(--muted)}
.small{font-size:.92rem}
.note{margin-top:12px}
.accent{color:var(--accent)}
.sr-only{position:absolute; left:-9999px}

.topbar{
  border-bottom: 1px solid var(--stroke);
  background: rgba(7,18,31,.7);
  backdrop-filter: blur(10px);
}
.topbar__inner{display:flex; gap:12px; align-items:center; justify-content:space-between; padding:10px 0}
.topbar__left{display:flex; gap:10px; align-items:center; flex-wrap:wrap}
.topbar__right{display:flex; gap:10px; align-items:center; flex-wrap:wrap; justify-content:flex-end}
.pill{
  font-size:.85rem;
  padding:6px 10px;
  border:1px solid var(--stroke);
  border-radius:999px;
  background: rgba(255,255,255,.04);
}
.dot{opacity:.6}

.header{
  position:sticky;
  top:0;
  z-index:50;
  border-bottom:1px solid var(--stroke);
  background: rgba(11,27,43,.65);
  backdrop-filter: blur(12px);
}
.header__inner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:14px 0;
  gap:16px;
}
.brand{display:flex; align-items:center; gap:12px}
.brand__logo{flex:0 0 auto}
.brand__name{font-weight:800; letter-spacing:.2px}
.brand__tag{font-size:.92rem; color:var(--muted2)}

.nav{display:flex; align-items:center; gap:14px}
.nav__menu{display:flex; align-items:center; gap:14px}
.nav__menu a{color:var(--muted); font-weight:600}
.nav__menu a:hover{color:var(--text)}
.nav__toggle{display:none; background:transparent; border:1px solid var(--stroke); border-radius:12px; padding:10px; cursor:pointer}
.burger{display:block; width:20px; height:2px; background:#fff; position:relative}
.burger::before,.burger::after{
  content:""; position:absolute; left:0; width:20px; height:2px; background:#fff;
}
.burger::before{top:-6px}
.burger::after{top:6px}

.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  padding:11px 14px;
  border-radius:14px;
  border:1px solid var(--stroke);
  background: rgba(255,255,255,.04);
  color:var(--text);
  font-weight:800;
  cursor:pointer;
  transition: transform .12s ease, background .12s ease;
}
.btn:hover{transform: translateY(-1px); background: rgba(255,255,255,.07)}
.btn--primary{
  background: linear-gradient(180deg, rgba(255,176,32,.95), rgba(255,176,32,.80));
  border-color: rgba(255,176,32,.35);
  color:#1b1203;
}
.btn--ghost{
  background: rgba(255,255,255,.03);
}
.btn--wa{
  background: rgba(25,195,125,.14);
  border-color: rgba(25,195,125,.25);
  font-weight:800;
}
.w100{width:100%}

.hero{padding:54px 0 22px}
.hero__grid{display:grid; grid-template-columns: 1.1fr .9fr; gap:22px; align-items:stretch}
.hero__copy h1{
  margin:0 0 12px;
  font-size: clamp(2rem, 3.4vw, 3.2rem);
  line-height:1.05;
  letter-spacing:-.6px;
}
.lead{color:var(--muted); font-size:1.06rem; line-height:1.6; max-width:62ch}
.hero__cta{display:flex; gap:12px; margin:18px 0 14px; flex-wrap:wrap}

.hero__badges{display:grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap:10px; margin-top:16px}
.badge{
  border:1px solid var(--stroke);
  border-radius: var(--radius);
  background: rgba(255,255,255,.03);
  padding:12px 12px;
}
.badge__title{font-weight:900}
.badge__text{color:var(--muted2); margin-top:4px; font-size:.92rem}

.hero__panel{position:relative}
.panel__card{
  height:100%;
  border:1px solid var(--stroke);
  border-radius: var(--radius2);
  background: linear-gradient(180deg, rgba(255,255,255,.04), rgba(255,255,255,.02));
  box-shadow: var(--shadow);
  padding:18px;
  position:relative;
  overflow:hidden;
}
.panel__kicker{
  display:inline-flex;
  padding:6px 10px;
  border-radius:999px;
  border:1px solid var(--stroke);
  background: rgba(255,255,255,.03);
  color:var(--muted);
  font-weight:800;
  font-size:.85rem;
}
.panel__title{margin:12px 0 8px; font-weight:950; font-size:1.2rem}
.panel__list{margin:0; padding-left:18px; color:var(--muted); line-height:1.6}
.panel__mini{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
  margin-top:14px;
}
.mini__item{
  border:1px solid var(--stroke);
  border-radius: var(--radius);
  background: rgba(255,255,255,.03);
  padding:12px;
}
.mini__big{font-size:1.2rem; font-weight:950}
.mini__small{color:var(--muted2); margin-top:2px; font-size:.92rem}
.panel__glow{
  position:absolute;
  inset:-40px -40px auto auto;
  width:260px; height:260px;
  background: radial-gradient(circle at 30% 30%, rgba(255,176,32,.25), transparent 60%);
  filter: blur(0px);
  pointer-events:none;
}

.section{padding:48px 0}
.section--alt{background: rgba(255,255,255,.02); border-top:1px solid var(--stroke); border-bottom:1px solid var(--stroke)}
.section__head{display:flex; align-items:flex-end; justify-content:space-between; gap:16px; margin-bottom:18px}
.section__head h2{margin:0; font-size:1.8rem; letter-spacing:-.4px}
.section__head p{margin:0; max-width:70ch}

.grid{display:grid; gap:14px}
.cards{grid-template-columns: repeat(3, minmax(0,1fr))}
.features{grid-template-columns: repeat(4, minmax(0,1fr))}
.apps{grid-template-columns: repeat(3, minmax(0,1fr))}
.resources{grid-template-columns: repeat(3, minmax(0,1fr))}
.quote{grid-template-columns: 1.2fr .8fr; align-items:start}

.card{
  border:1px solid var(--stroke);
  border-radius: var(--radius2);
  background: rgba(255,255,255,.03);
  padding:16px;
}
.card h3{margin:0 0 8px}
.card p{margin:0 0 10px; color:var(--muted); line-height:1.6}

.check{margin:0; padding-left:18px; color:var(--muted)}
.check li{margin:6px 0}

.callout{
  margin-top:16px;
  border:1px solid rgba(255,176,32,.25);
  border-radius: var(--radius2);
  background: rgba(255,176,32,.07);
  padding:14px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  flex-wrap:wrap;
}

.feature{
  border:1px solid var(--stroke);
  border-radius: var(--radius2);
  background: rgba(255,255,255,.03);
  padding:14px;
}
.feature h3{margin:0 0 8px}
.feature p{margin:0; color:var(--muted); line-height:1.6}

.app{
  border:1px solid var(--stroke);
  border-radius: var(--radius2);
  background: linear-gradient(180deg, rgba(255,255,255,.03), rgba(255,255,255,.02));
  padding:14px;
}
.app__title{font-weight:950; margin-bottom:6px}
.app__text{color:var(--muted); line-height:1.6}

.resource{
  border:1px solid var(--stroke);
  border-radius: var(--radius2);
  background: rgba(255,255,255,.03);
  padding:16px;
  display:block;
}
.resource__title{font-weight:950; margin-bottom:6px}
.resource__text{color:var(--muted); line-height:1.6}

.legal{margin-top:14px; font-size:.95rem}

.form label{display:block; font-weight:800; font-size:.95rem; color:var(--muted); margin-bottom:10px}
.form input,.form select,.form textarea{
  width:100%;
  margin-top:6px;
  padding:11px 12px;
  border-radius:14px;
  border:1px solid var(--stroke);
  background: rgba(0,0,0,.18);
  color:var(--text);
  outline:none;
}
.form input:focus,.form select:focus,.form textarea:focus{
  border-color: rgba(255,176,32,.35);
  box-shadow: 0 0 0 3px rgba(255,176,32,.14);
}
.form__row{display:grid; grid-template-columns:1fr 1fr; gap:12px}
.form__actions{display:flex; gap:10px; flex-wrap:wrap; margin-top:12px}

.checkbox{display:flex; gap:10px; align-items:flex-start; font-weight:700}
.checkbox input{width:auto; margin-top:3px}

.info h3{margin:0 0 6px}
.info__item{display:flex; justify-content:space-between; gap:10px; padding:10px 0; border-bottom:1px solid var(--stroke)}
.info__item:last-of-type{border-bottom:none}
.info__label{color:var(--muted2); font-weight:800}
.info__value a{color:var(--text); text-decoration:underline}
.divider{height:1px; background:var(--stroke); margin:14px 0}

.faq{display:grid; gap:10px}
.faq__item{
  border:1px solid var(--stroke);
  border-radius: var(--radius2);
  background: rgba(255,255,255,.03);
  padding:12px 14px;
}
.faq__item summary{cursor:pointer; font-weight:950}
.faq__content{color:var(--muted); margin-top:8px; line-height:1.6}

.footer{
  border-top:1px solid var(--stroke);
  padding:28px 0 18px;
  background: rgba(7,18,31,.55);
}
.footer__grid{display:grid; grid-template-columns: 1.4fr .6fr .6fr .6fr; gap:16px}
.footer__brand{display:flex; align-items:center; gap:10px}
.footer__mark{
  width:44px; height:44px;
  border-radius:16px;
  display:grid; place-items:center;
  background: rgba(255,176,32,.12);
  border:1px solid rgba(255,176,32,.18);
  font-weight:950;
  color:var(--accent);
}
.footer__name{font-weight:950}
.footer__muted{color:var(--muted2); margin-top:2px}
.footer__col{display:grid; gap:8px; align-content:start}
.footer__title{font-weight:950; margin-bottom:4px}
.footer__col a{color:var(--muted); font-weight:700}
.footer__col a:hover{color:var(--text)}
.footer__bottom{
  display:flex; justify-content:space-between; gap:12px; flex-wrap:wrap;
  border-top:1px solid var(--stroke);
  margin-top:18px;
  padding-top:12px;
}

.cookie{
  position:fixed;
  left:14px; right:14px; bottom:14px;
  max-width: var(--container);
  margin:0 auto;
  display:none;
  gap:12px;
  align-items:center;
  justify-content:space-between;
  border:1px solid var(--stroke);
  border-radius: var(--radius2);
  background: rgba(11,27,43,.85);
  backdrop-filter: blur(10px);
  padding:12px 14px;
  box-shadow: var(--shadow);
}

@media (max-width: 980px){
  .hero__grid{grid-template-columns:1fr; }
  .hero__badges{grid-template-columns:1fr}
  .cards{grid-template-columns:1fr}
  .features{grid-template-columns:1fr 1fr}
  .apps{grid-template-columns:1fr}
  .resources{grid-template-columns:1fr}
  .quote{grid-template-columns:1fr}
  .footer__grid{grid-template-columns:1fr 1fr}
}

@media (max-width: 720px){
  .nav__toggle{display:inline-flex}
  .nav__menu{
    display:none;
    position:absolute;
    top:72px;
    right:18px;
    left:18px;
    padding:12px;
    border:1px solid var(--stroke);
    border-radius: var(--radius2);
    background: rgba(11,27,43,.92);
    backdrop-filter: blur(12px);
    flex-direction:column;
    align-items:stretch;
    gap:10px;
  }
  .nav__menu a{padding:10px; border-radius:14px; background: rgba(255,255,255,.03)}
  .form__row{grid-template-columns:1fr}
}
/* Galería */
.gallery{grid-template-columns: repeat(3, minmax(0,1fr))}
.gallery__item{padding:12px}
.gallery__item img{
  width:100%;
  height:220px;
  object-fit:cover;
  border-radius:16px;
  border:1px solid var(--stroke);
  display:block;
}
.gallery__item figcaption{
  margin-top:10px;
  color:var(--muted);
  font-weight:700;
  line-height:1.4;
}

@media (max-width: 980px){
  .gallery{grid-template-columns:1fr}
  .gallery__item img{height:200px}
}