:root{
  --bg:#f5f8ff;
  --surface:#ffffff;
  --card:#ffffff;
  --text:#0b1220;
  --muted:rgba(11, 18, 32, 0.518);
  --line:rgba(11,18,32,.10);
  --accent:#2563eb;
  --accent2:#06b6d4;
  --shadow:0 18px 50px rgba(15, 23, 42, 0.052);
  --radius:16px;
  --radius2:22px;
  --max:1120px;
  --font: system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, "Apple Color Emoji","Segoe UI Emoji";
}


*{box-sizing:border-box}
html,body{height:100%}
body{
  margin:0;
  font-family:var(--font);
  color:var(--text);
  background: radial-gradient(900px 700px at 15% -10%, rgba(37, 100, 235, 0.118), transparent 55%),
              radial-gradient(900px 700px at 85% 0%, rgba(6,182,212,.10), transparent 60%),
              linear-gradient(180deg, #f5f8ff00 0%, #eef6ff 45%, #f7fbff00 100%);
  line-height:1.55;
}

a{color:var(--accent); text-decoration:none}
a:hover{text-decoration:underline}
p{margin:0 0 12px}
h1,h2,h3{line-height:1.15; margin:0 0 12px}
h1{font-size:clamp(28px,3.4vw,44px)}
h2{font-size:clamp(20px,2.4vw,28px)}
h3{font-size:18px}
ul{margin:0 0 12px; padding-left:18px}
li{margin:6px 0}
strong{color:var(--text)}

.container{max-width:var(--max); margin:0 auto; padding:0 18px}
.section{padding:34px 0}
.alt{background:linear-gradient(180deg, transparent, rgba(255,255,255,.03), transparent)}
.center{text-align:center}

.skip-link{
  position:absolute; left:-999px; top:auto; width:1px; height:1px; overflow:hidden;
}
.skip-link:focus{
  position:fixed; left:14px; top:14px; width:auto; height:auto;
  background:rgba(0,0,0,.6); padding:10px 12px; border-radius:12px; z-index:9999;
}

.site-header{
  position:sticky; top:0; z-index:50;
  /* Navbar con fondo gráfico (incluye el logo dentro de la imagen) */
  background-color:#ffffff;
  background-image:url('../img/navbar-bg.png');
  background-repeat:no-repeat;
  background-position:left center;
  background-size:contain;
  border-bottom:1px solid var(--line);
  box-shadow:0 10px 30px rgba(15,23,42,.06);
  min-height:86px;
}
.header-inner{display:flex; align-items:center; justify-content:space-between; gap:12px; padding:14px 18px}
.brand{display:block; width:220px; height:46px; flex:0 0 auto}
.brand-logo{height:34px; width:auto; display:block}
.brand.small .brand-logo{height:30px}
.brand-name{color:var(--text)}
.nav{display:flex; align-items:center; gap:14px; flex-wrap:wrap; justify-content:flex-end}
.nav a{color:var(--text); opacity:.9}
.nav a:hover{opacity:1; text-decoration:none}
.nav .btn{color:#06101f}
.nav .active{opacity:1; border-bottom:2px solid rgba(37,99,235,.65); padding-bottom:4px}

.nav-toggle{
  display:none;
  border:1px solid var(--line);
  background:rgba(255,255,255,.75);
  color:var(--text);
  border-radius:12px;
  padding:8px 10px;
  font-weight:600;
}

.hero{padding:38px 0 20px}
.hero-inner{display:grid; grid-template-columns:1.1fr .9fr; gap:18px; align-items:center}
.hero-copy .lead{font-size:18px; color:var(--muted); max-width:58ch}
.hero-points{display:flex; gap:14px; flex-wrap:wrap; padding:0; margin:16px 0 0; list-style:none}
.hero-points li{
  border:1px solid var(--line);
  background:rgba(255,255,255,.04);
  padding:8px 10px; border-radius:999px;
  color:var(--muted);
}

.hero-art{display:flex; justify-content:flex-end}
.hero-card{
  width:min(420px,100%);
  background:linear-gradient(180deg, rgba(255,255,255,.06), rgba(255,255,255,.03));
  border:1px solid var(--line);
  border-radius:var(--radius2);
  padding:16px;
  box-shadow:var(--shadow);
}
.pill{
  display:inline-flex; align-items:center; gap:8px;
  padding:6px 10px; border-radius:999px;
  border:1px solid var(--line);
  background:rgba(106,228,255,.10);
  color:var(--text);
  font-weight:700;
  font-size:13px;
}
.lines{margin:14px 0 12px}
.line{
  height:12px; border-radius:10px;
  background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.06);
  margin:10px 0;
}
.line.w80{width:80%}
.line.w60{width:60%}
.hero-badges{display:flex; gap:10px; flex-wrap:wrap}
.badge{
  font-size:12px; font-weight:700;
  padding:7px 10px;
  border-radius:999px;
  background:rgba(168,255,138,.10);
  border:1px solid var(--line);
  color:var(--text);
}

.card{
  background:rgba(255,255,255,.05);
  border:1px solid var(--line);
  border-radius:var(--radius);
  padding:18px;
  box-shadow:0 10px 30px rgba(0,0,0,.18);
}
.card h2{margin-top:0}
.muted{color:var(--muted)}
.hr{border:0; border-top:1px solid var(--line); margin:16px 0}
.note{color:var(--muted); font-size:14px}

.grid{display:grid; gap:14px}
.grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}
.grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}

.actions{display:flex; gap:10px; flex-wrap:wrap; margin-top:12px}
.btn{
  display:inline-flex; align-items:center; justify-content:center;
  gap:8px;
  border-radius:14px;
  padding:10px 14px;
  font-weight:800;
  background:linear-gradient(135deg, var(--accent), var(--accent2));
  color:#04101c;
  border:0;
  box-shadow:0 14px 34px rgba(0,0,0,.25);
}
.btn:hover{text-decoration:none; filter:brightness(1.02)}
.btn-ghost{
  background:rgba(255,255,255,.75);
  color:var(--text);
  border:1px solid var(--line);
  box-shadow:none;
}
.btn-sm{padding:8px 10px; border-radius:12px; font-weight:800}
.full{width:100%}

.steps{display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; margin-top:14px}
.step{
  border:1px solid var(--line);
  background:rgba(255,255,255,.04);
  border-radius:var(--radius);
  padding:14px;
}
.step-num{
  width:32px;height:32px;border-radius:12px;
  display:grid; place-items:center;
  background:rgba(106,228,255,.12);
  border:1px solid var(--line);
  font-weight:900;
  margin-bottom:10px;
}

.callout{
  margin-top:14px;
  padding:14px 14px;
  border-radius:var(--radius);
  background:linear-gradient(135deg, rgba(106,228,255,.10), rgba(168,255,138,.07));
  border:1px solid var(--line);
  display:flex; align-items:center; justify-content:space-between; gap:12px;
}

.quote p{font-size:16px; margin-bottom:10px}

.breadcrumbs{margin-bottom:12px}
.breadcrumbs ol{list-style:none; padding:0; margin:0; display:flex; flex-wrap:wrap; gap:8px; color:var(--muted); font-size:14px}
.breadcrumbs li::after{content:"/"; margin-left:8px; opacity:.6}
.breadcrumbs li:last-child::after{content:""}
.breadcrumbs a{color:var(--muted)}
.breadcrumbs a:hover{color:var(--text); text-decoration:none}

.faq details{
  border:1px solid var(--line);
  background:rgba(255,255,255,.03);
  border-radius:14px;
  padding:12px 12px;
  margin:10px 0;
}
.faq summary{cursor:pointer; font-weight:800}

.pricing .price-tag{font-size:22px; font-weight:900; margin:6px 0 10px}
.price.highlight{outline:2px solid rgba(106,228,255,.35)}
.clean{list-style:none; padding:0}
.clean li{margin:8px 0; padding-left:0}

.site-footer{border-top:1px solid var(--line); padding:26px 0; margin-top:24px}
.footer-grid{display:grid; grid-template-columns:1.4fr repeat(3,1fr); gap:14px}
.site-footer h3{font-size:14px; text-transform:uppercase; letter-spacing:.12em; opacity:.9}
.site-footer ul{list-style:none; padding:0; margin:0}
.site-footer li{margin:8px 0}
.footer-bottom{display:flex; justify-content:space-between; padding-top:14px; color:var(--muted); font-size:14px}

.cta .cta-inner{
  border:1px solid var(--line);
  background:linear-gradient(135deg, rgba(106,228,255,.10), rgba(168,255,138,.08));
  border-radius:var(--radius2);
  padding:18px;
  display:flex; align-items:center; justify-content:space-between; gap:12px;
}

@media (max-width: 920px){
  .hero-inner{grid-template-columns:1fr; }
  .hero-art{justify-content:flex-start}
  .grid.three{grid-template-columns:1fr}
  .steps{grid-template-columns:1fr}
  .footer-grid{grid-template-columns:1fr 1fr}
}
@media (max-width: 720px){
  .site-header{background-size:160px auto; min-height:78px}
  .brand{width:160px; height:40px}

  .nav-toggle{display:inline-flex}
  .nav{
    display:none;
    width:100%;
    padding:10px 0 6px;
    border-top:1px solid var(--line);
    justify-content:flex-start;
  }
  .nav.open{display:flex}
  .header-inner{flex-wrap:wrap}
  .grid.two{grid-template-columns:1fr}
  .footer-grid{grid-template-columns:1fr}
  .callout{flex-direction:column; align-items:flex-start}
  .cta .cta-inner{flex-direction:column; align-items:flex-start}
}


/* Light theme image sections */
.hero-art{display:flex; align-items:center; justify-content:flex-end}
.hero-image{
  width:100%;
  max-width:560px;
  height:auto;
  border-radius:28px;
  box-shadow: var(--shadow);
  border:1px solid var(--line);
  background:#fff;
}
.steps-figure,
.pricing-figure,
.app-figure{margin:22px 0 0}
.steps-figure img,
.pricing-figure img,
.app-figure img{
  width:100%;
  height:auto;
  border-radius:22px;
  border:1px solid var(--line);
  box-shadow: var(--shadow);
  background:#fff;
}
@media (max-width: 960px){
  .hero-image{max-width:520px}
}



/* Accesibilidad */
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
