
:root{
  --bg:#05080d; --panel:#09111c; --panel2:#0c1522; --text:#f5f7fb; --muted:#aab6c6;
  --cyan:#10d8ef; --blue:#1169ff; --line:rgba(255,255,255,.11); --max:1220px;
}
*{box-sizing:border-box} html{scroll-behavior:smooth} body{
  margin:0;background:radial-gradient(circle at 75% 5%,rgba(17,105,255,.11),transparent 28%),var(--bg);
  color:var(--text);font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}
a{color:inherit;text-decoration:none}.wrap{width:min(var(--max),calc(100% - 40px));margin:auto}
header{position:fixed;inset:0 0 auto;z-index:50;background:rgba(4,7,12,.72);backdrop-filter:blur(18px);border-bottom:1px solid transparent}
.nav{height:76px;display:flex;align-items:center;gap:28px}.brand img{width:190px;max-height:52px;object-fit:contain}
nav{display:flex;gap:25px;margin-left:auto;align-items:center}nav a{font-size:.82rem;letter-spacing:.08em;text-transform:uppercase;color:#dce5f0}
.nav-cta,.btn.primary{border:1px solid var(--cyan);border-radius:12px;padding:13px 18px;color:var(--cyan)}
.menu{display:none;background:none;border:0;color:white;font-size:1.8rem}
.hero{min-height:100vh;display:grid;align-items:center;padding:110px 0 50px;overflow:hidden}
.hero-grid{display:grid;grid-template-columns:1.02fr .98fr;gap:35px;align-items:center}
.eyebrow{color:var(--cyan);font-size:.8rem;letter-spacing:.22em;text-transform:uppercase;font-weight:700}
h1,h2,h3{margin:0;line-height:.98}h1{font-size:clamp(2.55rem,4.85vw,5.05rem);letter-spacing:-.03em;line-height:1.08;max-width:760px;overflow:visible}
h1 span,h2 span{background:linear-gradient(90deg,var(--blue),var(--cyan));-webkit-background-clip:text;color:transparent;display:inline-block;padding-right:.08em}
.lead{color:#d1d9e4;font-size:1.12rem;line-height:1.7;max-width:650px;margin:28px 0}
.actions{display:flex;gap:14px;flex-wrap:wrap}.btn{display:inline-flex;gap:10px;align-items:center;padding:15px 21px;border:1px solid var(--line);border-radius:12px;font-weight:750;letter-spacing:.03em}
.btn.primary{background:linear-gradient(90deg,#0b58dc,#10cbe7);color:white;border:0}.btn:hover{transform:translateY(-2px)}
.hero-photo{position:relative;min-height:680px;display:flex;align-items:end;justify-content:center}
.hero-photo:before{content:"";position:absolute;width:72%;aspect-ratio:1;border-radius:50%;border:14px solid rgba(19,217,240,.4);box-shadow:0 0 65px #0a6fff55;top:10%;right:8%}
.hero-photo img{position:relative;z-index:2;width:100%;max-height:720px;object-fit:contain;filter:drop-shadow(0 28px 50px #000)}
.section{padding:110px 0;border-top:1px solid var(--line)}.section.dark{background:linear-gradient(180deg,#06101a,#05080d)}
.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center}
.section h2{font-size:clamp(2.5rem,5vw,5.7rem);letter-spacing:-.045em}.copy{color:var(--muted);line-height:1.75;font-size:1.06rem}
.stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);border:1px solid var(--line);margin-top:45px}
.stat{background:#07101a;padding:26px}.stat b{display:block;font-size:2rem}.stat small{color:var(--muted);text-transform:uppercase;letter-spacing:.08em}
.cabin-visual{position:relative;min-height:520px;border-radius:24px;overflow:hidden;background:linear-gradient(135deg,#031321,#071421);border:1px solid var(--line)}
.cabin-visual img{position:absolute;right:0;bottom:0;height:100%;width:66%;object-fit:contain;filter:drop-shadow(0 20px 40px #000)}
.cabin-door{position:absolute;left:8%;top:12%;width:270px;height:360px;border:2px solid #0ad9f5;border-radius:10px;background:linear-gradient(#081626,#02070d);box-shadow:0 0 35px #0ad9f533}
.cabin-door:before{content:"AL AIRE";position:absolute;top:20px;left:50%;transform:translateX(-50%);background:#9e221c;color:white;padding:8px 16px;border-radius:4px;font-weight:800;letter-spacing:.08em}
.book-wrap{background:transparent;padding:0;border-radius:0;display:flex;align-items:center;justify-content:center;min-height:560px}
.book-wrap img{max-height:630px;max-width:86%;filter:drop-shadow(0 34px 28px rgba(0,0,0,.42)) drop-shadow(0 0 42px rgba(16,216,239,.12));transform:translateY(-4px)}
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:45px}.card{border:1px solid var(--line);border-radius:18px;overflow:hidden;background:#08111b}.card img{width:100%;height:255px;object-fit:cover;object-position:center 18%}.card-body{padding:22px}.card p{color:var(--muted);line-height:1.55}
.about-photo img,.speaking-photo img{width:100%;max-height:620px;object-fit:contain;filter:drop-shadow(0 20px 45px #000)}
.topic-list{display:grid;gap:12px;margin:28px 0}.topic{padding:16px 0;border-bottom:1px solid var(--line);color:#d7e4ef}
.newsletter{display:grid;grid-template-columns:1fr 1fr;gap:35px;align-items:center;background:linear-gradient(120deg,#07111c,#081728);border:1px solid var(--line);padding:40px;border-radius:24px}
form{display:grid;grid-template-columns:1fr auto;gap:10px}input,textarea{width:100%;background:#050a10;border:1px solid #243247;color:white;border-radius:12px;padding:15px;font:inherit}textarea{min-height:130px;resize:vertical}.form-full{grid-column:1/-1}.status{font-size:.9rem;color:var(--cyan);margin-top:8px}
footer{padding:45px 0 100px;border-top:1px solid var(--line);color:var(--muted)}.footer-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:40px}.footer-grid img{width:190px}
.mobile-bar{display:none}
@media(max-width:900px){
  .wrap{width:min(100% - 28px,var(--max))}header .nav{height:66px}.brand img{width:150px}nav{display:none;position:absolute;top:66px;left:0;right:0;background:#05080df5;padding:24px;flex-direction:column;align-items:flex-start;border-bottom:1px solid var(--line)}
  nav.open{display:flex}.menu{display:block;margin-left:auto}.nav-cta{display:none}.hero{padding-top:85px}.hero-grid,.grid-2,.newsletter,.footer-grid{grid-template-columns:1fr}.hero-photo{min-height:430px;order:-1}.hero-photo img{max-height:470px}h1{font-size:clamp(2.28rem,9.7vw,3.95rem);line-height:1.08;max-width:100%}
  .stat-grid{grid-template-columns:1fr 1fr}.cards{grid-template-columns:1fr}.cabin-visual{min-height:430px}.cabin-door{width:200px;height:290px}.cabin-visual img{width:72%}.section{padding:75px 0}
  form{grid-template-columns:1fr}.mobile-bar{position:fixed;display:grid;grid-template-columns:repeat(4,1fr);bottom:0;left:0;right:0;z-index:60;background:rgba(3,7,12,.92);backdrop-filter:blur(18px);border-top:1px solid var(--line);padding:10px 8px max(10px,env(safe-area-inset-bottom))}
  .mobile-bar a{text-align:center;font-size:.69rem;color:#d5e0eb}.mobile-bar b{display:block;font-size:1.15rem;color:var(--cyan);margin-bottom:3px}
}


/* Fine-tuned portrait framing */
.card:nth-child(1) img{object-position:center 20%}
.card:nth-child(2) img{object-position:center 16%}
.card:nth-child(3) img{object-position:center 18%}

/* Social ecosystem */
.social-section{padding:55px 0;border-top:1px solid var(--line);background:#060b12}
.social-wrap{display:flex;align-items:center;justify-content:space-between;gap:28px;flex-wrap:wrap}
.social-copy h3{font-size:clamp(1.6rem,3vw,2.7rem);margin-top:7px}
.social-icons{display:flex;gap:14px;flex-wrap:wrap}
.social-icon{
  width:54px;height:54px;border-radius:15px;border:1px solid var(--line);
  display:grid;place-items:center;background:#09111b;transition:.25s ease;
}
.social-icon:hover{transform:translateY(-3px);border-color:var(--cyan);box-shadow:0 10px 30px rgba(16,216,239,.12)}
.social-icon svg{width:23px;height:23px;fill:#f4f8fb}
.social-icon.pending{opacity:.5;cursor:default}
.social-icon.pending:hover{transform:none;border-color:var(--line);box-shadow:none}

/* Floating WhatsApp */
.whatsapp-float{
  position:fixed;right:24px;bottom:24px;z-index:80;width:62px;height:62px;border-radius:50%;
  display:grid;place-items:center;background:#25D366;box-shadow:0 15px 40px rgba(0,0,0,.34);
  transition:transform .22s ease,box-shadow .22s ease;
}
.whatsapp-float:hover{transform:translateY(-4px) scale(1.03);box-shadow:0 18px 44px rgba(37,211,102,.22)}
.whatsapp-float svg{width:31px;height:31px;fill:white}
.whatsapp-label{
  position:absolute;right:72px;white-space:nowrap;background:#0a111a;border:1px solid var(--line);
  color:white;font-size:.76rem;padding:9px 11px;border-radius:9px;opacity:0;transform:translateX(7px);
  pointer-events:none;transition:.2s ease;
}
.whatsapp-float:hover .whatsapp-label{opacity:1;transform:translateX(0)}

@media(max-width:900px){
  .social-wrap{justify-content:center;text-align:center}
  .social-icons{justify-content:center;width:100%}
  .whatsapp-float{right:16px;bottom:84px;width:56px;height:56px}
  .whatsapp-label{display:none}
  .card img{height:280px;object-position:center 14%}
}

@media(max-width:900px){.book-wrap img{max-height:500px;max-width:92%}}


/* Fix transparent-image cutoffs and awkward empty gaps */
#luis .grid-2, #conferencias .grid-2{align-items:end}
.about-photo,.speaking-photo{
  position:relative;
  display:flex;
  align-items:flex-end;
  justify-content:center;
  min-height:640px;
  overflow:hidden;
  padding-top:18px;
}
.about-photo::after,.speaking-photo::after{
  content:"";
  position:absolute;
  left:0;right:0;bottom:0;
  height:1px;
  background:var(--line);
}
.about-photo img,.speaking-photo img{
  display:block;
  width:auto;
  height:100%;
  max-height:640px;
  max-width:100%;
  object-fit:contain;
  object-position:center bottom;
  filter:drop-shadow(0 24px 45px #000);
}
.speaking-photo img{transform:translateY(1px)}

/* Refine social section for 5 icons */
.social-icons{justify-content:flex-end}
@media(max-width:900px){
  #luis .grid-2, #conferencias .grid-2{align-items:center}
  .about-photo,.speaking-photo{min-height:430px;padding-top:0}
  .about-photo img,.speaking-photo img{max-height:430px}
}


/* HERO refinement: cleaner bottom cut */
.hero{
  min-height:auto;
  padding:118px 0 0;
  overflow:hidden;
  border-bottom:1px solid var(--line);
}
.hero-grid{
  align-items:end;
  min-height:calc(100vh - 119px);
  padding-bottom:0;
}
.hero-photo{
  min-height:565px;
  overflow:hidden;
}
.hero-photo img{
  display:block;
  max-height:650px;
  margin-bottom:-1px;
}
.hero-photo::after{
  content:"";
  position:absolute;
  left:0;right:0;bottom:0;
  height:1px;
  background:transparent;
}

/* Hero social icons under main CTAs */
.hero-social-wrap{
  margin-top:28px;
}
.hero-social-label{
  font-size:.78rem;
  letter-spacing:.22em;
  text-transform:uppercase;
  color:var(--muted);
  margin-bottom:14px;
}
.hero-social{
  display:flex;
  gap:12px;
  flex-wrap:wrap;
}
.hero-social-icon{
  width:48px;
  height:48px;
  border-radius:14px;
  border:1px solid var(--line);
  background:#09111b;
  display:grid;
  place-items:center;
  transition:.25s ease;
}
.hero-social-icon:hover{
  transform:translateY(-3px);
  border-color:var(--cyan);
  box-shadow:0 10px 28px rgba(16,216,239,.15);
}
.hero-social-icon svg{
  width:21px;
  height:21px;
  fill:#f4f8fb;
}

@media(max-width:900px){
  .hero{
    padding:86px 0 0;
  }
  .hero-grid{
    min-height:auto;
    gap:18px;
  }
  .hero-photo{
    min-height:390px;
    max-height:430px;
  }
  .hero-photo img{
    max-height:420px;
  }
  .hero-social-wrap{
    margin-top:24px;
    margin-bottom:8px;
  }
  .hero-social{
    gap:10px;
  }
  .hero-social-icon{
    width:44px;
    height:44px;
  }
  .hero-social-label{
    font-size:.72rem;
  }
}


/* HERO follow band centered with text between lines */
.hero-follow-band{
  padding:34px 0 42px;
  border-top:1px solid var(--line);
  background:linear-gradient(180deg,#04080d 0%, #06101a 100%);
}
.hero-follow-title{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:18px;
  margin-bottom:22px;
}
.hero-follow-title span{
  display:block;
  height:1px;
  flex:1 1 180px;
  max-width:340px;
  background:linear-gradient(90deg, transparent, rgba(16,216,239,.85));
}
.hero-follow-title span:last-child{
  background:linear-gradient(90deg, rgba(16,216,239,.85), transparent);
}
.hero-follow-title strong{
  font-size:.9rem;
  letter-spacing:.28em;
  text-transform:uppercase;
  color:#f0f5fb;
  font-weight:700;
  white-space:nowrap;
}
.hero-follow-icons{
  display:flex;
  justify-content:center;
  gap:18px;
  flex-wrap:wrap;
}
.hero-social-icon{
  width:58px;
  height:58px;
  border-radius:16px;
  border:1px solid var(--line);
  background:#09111b;
  display:grid;
  place-items:center;
  transition:.25s ease;
}
.hero-social-icon:hover{
  transform:translateY(-3px);
  border-color:var(--cyan);
  box-shadow:0 10px 28px rgba(16,216,239,.15);
}
.hero-social-icon svg{
  width:24px;
  height:24px;
  fill:#f4f8fb;
}

@media(max-width:900px){
  .hero-follow-band{
    padding:26px 0 34px;
  }
  .hero-follow-title{
    gap:12px;
    margin-bottom:18px;
  }
  .hero-follow-title span{
    flex-basis:70px;
  }
  .hero-follow-title strong{
    font-size:.78rem;
    letter-spacing:.22em;
  }
  .hero-follow-icons{
    gap:12px;
  }
  .hero-social-icon{
    width:50px;
    height:50px;
    border-radius:14px;
  }
  .hero-social-icon svg{
    width:21px;
    height:21px;
  }
}


/* Final Hero CTA spacing adjustment */
.hero .actions{
  margin-bottom:34px;
  transform:translateY(-10px);
}
@media(max-width:900px){
  .hero .actions{
    margin-bottom:28px;
    transform:translateY(-6px);
  }
}
