:root{
  --bg:#F7FAFF;
  --text:#0B1220;
  --muted:#51607A;
  --primary:#0B4BFF;
  --primary2:#00C2FF;
  --card:#FFFFFF;
  --border:rgba(11,75,255,.12);
  --shadow: 0 16px 48px rgba(11,18,32,.10);
}
*{box-sizing:border-box}
html,body{margin:0;padding:0;font-family: ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial; background:var(--bg); color:var(--text);}
a{color:inherit}
.container{max-width:1120px;margin:0 auto;padding:0 20px}
.nav{position:sticky;top:0;z-index:50;background:rgba(247,250,255,.75);backdrop-filter: blur(12px);border-bottom:1px solid rgba(11,75,255,.10)}
.nav-inner{display:flex;align-items:center;justify-content:space-between;height:70px}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none}
.brand img{
  height:48px;
  width:auto;
  display:block;
}
.brand{
  background:linear-gradient(135deg, rgba(11,75,255,.08), rgba(0,194,255,.05));
  padding:8px 16px;
  border-radius:16px;
  border:1px solid rgba(11,75,255,.15);
  box-shadow:0 8px 20px rgba(11,75,255,.08);
}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:12px 16px;border-radius:14px;text-decoration:none;font-weight:700;border:1px solid transparent;transition:.2s}
.btn-primary{background:linear-gradient(135deg,var(--primary),var(--primary2));color:white;box-shadow:0 16px 28px rgba(11,75,255,.25)}
.btn-ghost{background:rgba(255,255,255,.65);border-color:rgba(11,75,255,.18)}
.hero{padding:56px 0 26px}
.hero-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:28px;align-items:stretch}
@media (max-width: 920px){.hero-grid{grid-template-columns:1fr;}.hero{padding-top:30px}}
.kicker{display:inline-flex;gap:10px;align-items:center;padding:8px 12px;border-radius:999px;background:rgba(11,75,255,.08);border:1px solid rgba(11,75,255,.14);color:var(--muted);font-weight:700;font-size:13px}
.h1{font-size:44px;line-height:1.05;margin:14px 0 12px;font-weight:900;letter-spacing:-.9px}
@media (max-width: 520px){.h1{font-size:36px}}
.sub{font-size:18px;line-height:1.55;color:var(--muted);margin:0 0 18px}
.badges{display:flex;flex-wrap:wrap;gap:10px;margin:12px 0 22px}
.badge{font-size:13px;font-weight:800;color:#0B1220;background:rgba(255,255,255,.8);border:1px solid rgba(11,75,255,.14);padding:8px 10px;border-radius:999px}
.card{background:var(--card);border:1px solid var(--border);border-radius:22px;box-shadow:var(--shadow);overflow:hidden}
.media{position:relative;overflow:hidden}
.media img{width:100%;display:block;aspect-ratio: 4 / 3;object-fit:cover}
.media::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(11,75,255,0) 55%, rgba(11,18,32,.12));}
.card-pad{padding:18px}
.small{font-size:13px;color:var(--muted);line-height:1.5}
.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
@media (max-width: 920px){.grid3{grid-template-columns:1fr}}
.section{padding:34px 0}
.h2{font-size:28px;margin:0 0 10px;font-weight:900;letter-spacing:-.4px}
.p{margin:0;color:var(--muted);line-height:1.65}
.feature{padding:18px;border-radius:18px;border:1px solid rgba(11,75,255,.12);background:linear-gradient(180deg,rgba(255,255,255,.85),rgba(255,255,255,.65))}
.feature h3{margin:0 0 6px;font-size:16px;font-weight:900}
.feature ul{margin:10px 0 0;padding-left:18px;color:var(--muted);line-height:1.7}
.split{display:grid;grid-template-columns:1fr 1fr;gap:18px;align-items:center}
@media (max-width: 920px){.split{grid-template-columns:1fr}}
.hr{height:1px;background:rgba(11,75,255,.12);margin:22px 0}
.cta{padding:34px 0 60px}
.cta-box{padding:22px;background:linear-gradient(135deg,rgba(11,75,255,.10),rgba(0,194,255,.08));border:1px solid rgba(11,75,255,.16);border-radius:22px}
.cta-row{display:flex;flex-wrap:wrap;gap:12px;align-items:center;justify-content:space-between}
.footer{padding:22px 0 34px;color:var(--muted);font-size:13px}
.kv{display:flex;gap:10px;flex-wrap:wrap}
.kv a{color:var(--primary);font-weight:800;text-decoration:none}
.kv a:hover{text-decoration:underline}

.embed-wrap{
  position:relative;
  width:100%;
  aspect-ratio: 16 / 9;
  background: rgba(11,75,255,.06);
}
.embed-wrap iframe{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  border:0;
}

/* Hero embed */
.embed-hero{
  aspect-ratio: 4 / 3;
}
@media (max-width: 920px){
  .embed-hero{ aspect-ratio: 16 / 9; }
}

/* Carousel */
.carousel-card .card-pad{border-top:1px solid rgba(11,75,255,.10)}
.carousel{
  position:relative;
  background: rgba(11,75,255,.04);
}
.carousel-track{
  display:flex;
  width:100%;
  transform: translateX(0%);
  transition: transform .35s ease;
}
.carousel-slide{
  min-width:100%;
  display:flex;
  align-items:center;
  justify-content:center;
  padding: 10px;
}
.carousel-slide img{
  width:100%;
  height:auto;
  max-height: 520px;
  object-fit: cover;
  border-radius: 18px;
  box-shadow: 0 14px 40px rgba(11,18,32,.12);
}
/* Plan slide: show scaled and crisp */
.carousel-slide.is-plan img{
  object-fit: contain;
  background:#fff;
  padding:10px;
}
.carousel-btn{
  position:absolute;
  top:50%;
  transform: translateY(-50%);
  width:44px;height:44px;
  border-radius:14px;
  border:1px solid rgba(11,75,255,.18);
  background: rgba(255,255,255,.82);
  backdrop-filter: blur(10px);
  box-shadow: 0 12px 28px rgba(11,75,255,.12);
  cursor:pointer;
}
.carousel-btn:hover{background:#fff}
.carousel-btn.prev{left:12px}
.carousel-btn.next{right:12px}
.carousel-dots{
  position:absolute;
  left:0; right:0; bottom:10px;
  display:flex;
  gap:8px;
  justify-content:center;
}
.carousel-dots .dot{
  width:9px;height:9px;
  border-radius:999px;
  border:0;
  background: rgba(11,75,255,.24);
  cursor:pointer;
}
.carousel-dots .dot.active{
  width:22px;
  background: linear-gradient(135deg, var(--primary), var(--primary2));
}

/* Top contact bar */
.top-contact{
  background: linear-gradient(90deg, var(--primary), var(--primary2));
  color:#fff;
  font-weight:600;
  font-size:14px;
}
.contact-inner{
  display:flex;
  gap:20px;
  justify-content:center;
  padding:8px 0;
}
.contact-inner a{
  color:#fff;
  text-decoration:none;
}
.contact-inner a:hover{
  text-decoration:underline;
}

/* Form */
.form{
  display:grid;
  gap:12px;
}
.form input, .form textarea{
  padding:12px;
  border-radius:10px;
  border:1px solid rgba(11,75,255,.2);
  font-size:14px;
}

/* Pulse effect */
.pulse-link{
  display:inline-block;
  animation: pulse 1.8s infinite;
  font-weight:700;
  cursor:pointer;
}
@keyframes pulse{
  0%{transform:scale(1)}
  50%{transform:scale(1.05)}
  100%{transform:scale(1)}
}


/* Fixed top contact + header */
:root{
  --topbar-h: 40px;
  --header-h: 76px;
}
.top-contact{
  position:fixed;
  top:0;
  left:0;
  right:0;
  z-index: 9999;
}
#site-header.header{
  position:fixed;
  top: var(--topbar-h);
  left:0;
  right:0;
  z-index: 9998;
  backdrop-filter: blur(14px);
}
body{
  padding-top: calc(var(--topbar-h) + var(--header-h));
}
/* Ensure header inner height */
.header .nav{
  min-height: var(--header-h);
}

/* Hero pulse link */
.pulse-link{
  color: var(--primary);
  text-decoration:none;
  display:inline-block;
}
.pulse-link:hover{ text-decoration:underline; }

/* Thank you message */
.thanks{
  padding:14px 14px;
  border-radius:14px;
  background: rgba(11,75,255,.06);
  border:1px solid rgba(11,75,255,.18);
  font-weight:600;
}

/* Responsive contact bar */
.contact-inner{
  flex-wrap: wrap;
}
.contact-item{
  padding: 6px 8px;
  border-radius: 999px;
  background: rgba(255,255,255,.12);
  line-height: 1.2;
  white-space: nowrap;
}
@media (max-width: 520px){
  .contact-inner{
    justify-content: center;
    gap: 10px;
  }
  .contact-inner a{
    font-size: 13px;
  }
  .contact-item{
    width: 100%;
    text-align: center;
    white-space: normal;
  }
  :root{
    --topbar-h: 116px; /* allow multi-line contact bar */
  }
}

/* --- Ajuste del embed del recorrido --- */
.embed-wrap.embed-hero{
  position: relative;
  width: 100%;
  aspect-ratio: 16 / 9;   /* mantiene proporción */
  min-height: 520px;      /* altura en desktop */
  overflow: hidden;
  border-radius: 18px;
  background: #fff;
}

.embed-wrap.embed-hero iframe{
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  border: 0;
}

@media (max-width: 820px){
  .embed-wrap.embed-hero{
    min-height: 420px;
  }
}
@media (max-width: 520px){
  .embed-wrap.embed-hero{
    min-height: 360px;
  }
}

