/* =========================
BASE / THEME
========================= */
*{box-sizing:border-box;margin:0;padding:0}
:root{
  --brand-blue:#2054c6;
  --brand-blue-dark:#003a9e;
  --brand-purple:#7B5CF6;
  --brand-purple-soft:#a78bfa;
  --primary-gradient:linear-gradient(90deg,#2E6AFF 0%,#8A63FF 100%);
  --bg-deep:#071632;
  --text:#0f172a;
  --text-soft:#475569;
  --white:#fff;
  --light:#f7f9fc;
  --border:#e2e8f0;
  --cover-w: 360px;
}

.visually-hidden{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);border:0}

html,body{
  font-family:'Poppins',system-ui,Segoe UI,Roboto,Arial,sans-serif;
  font-weight:400;
  color:var(--text);background:#fff;scroll-behavior:smooth;overflow-x:hidden
}
img{max-width:100%;height:auto;display:block}
.container{max-width:1140px;margin:0 auto;padding:0 1.5rem}
h1,h2,h3,h4{font-family:'Poppins',sans-serif;color:var(--text);line-height:1.25}

/* =========================
TOP PROGRESS + NAV
========================= */
#progress-bar{position:fixed;top:0;left:0;height:4px;background:var(--brand-blue);width:0;z-index:10000}

.navbar{position:fixed;top:0;left:0;right:0;z-index:1000;padding:.25rem 0;background:transparent}
.nav-container{height:74px;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:0 1rem;max-width:1300px;margin:0 auto;position:relative}
.nav-surface{position:absolute;inset:0;height:74px;background:rgba(255,255,255,.82);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-radius:0 0 16px 16px;box-shadow:0 8px 25px rgba(0,0,0,.12);opacity:0;pointer-events:none;transition:opacity .25s}
.navbar.past-hero .nav-surface{opacity:1}
.logo{display:flex;align-items:center;gap:.75rem;z-index:2}
#logo-img{height:52px;width:auto}

.desktop-nav{display:flex;gap:2rem;list-style:none;z-index:2}
.desktop-nav a{font-family:'Poppins',sans-serif;font-weight:700;color:var(--brand-blue);text-decoration:none;font-size:16px;position:relative;white-space:nowrap}
.desktop-nav a::after{content:"";position:absolute;left:0;bottom:-6px;height:2px;width:0;background:currentColor;transition:width .25s}
.desktop-nav a:hover::after{width:100%}

.hamburger{display:none;width:30px;height:24px;position:relative;border:none;background:transparent;z-index:2;cursor:pointer}
.hamburger span{position:absolute;left:0;width:100%;height:3px;background:var(--brand-blue);border-radius:3px;transition:all .3s}
.hamburger span:nth-child(1){top:0}
.hamburger span:nth-child(2){top:10px}
.hamburger span:nth-child(3){top:20px}
.hamburger.is-active span{background:#fff}
.hamburger.is-active span:nth-child(1){transform:rotate(45deg) translate(6px,6px)}
.hamburger.is-active span:nth-child(2){opacity:0}
.hamburger.is-active span:nth-child(3){transform:rotate(-45deg) translate(6px,-6px)}

.mobile-nav{position:fixed;inset:0;background:rgba(7,22,50,.97);backdrop-filter:blur(6px);display:flex;flex-direction:column;align-items:center;justify-content:center;transform:translateX(100%);transition:transform .45s cubic-bezier(.77,0,.18,1);z-index:999}
.mobile-nav.is-active{transform:translateX(0)}
.mobile-nav li{list-style:none;margin:.25rem 0}
.mobile-nav a{color:#fff;text-decoration:none;font-family:'Poppins',sans-serif;font-weight:700;font-size:1.8rem;white-space:nowrap}

/* =========================
HERO
========================= */
/* El padding superior reserva la franja blanca sobre la que se lee el menú */
.hero{position:fixed;top:0;left:0;width:100%;height:100vh;display:flex;z-index:1;padding:78px 0 0}
.hero-panel{flex:1;position:relative;overflow:hidden;cursor:pointer;transition:flex .85s cubic-bezier(.16,.84,.44,1)}
.hero-panel.expanded{flex:4}
.hero-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;filter:grayscale(75%);transition:filter .5s, object-position .5s}
.hero-panel:first-child:not(.expanded) .hero-image{object-position:-230px center}
.hero-panel:first-child.expanded .hero-image{object-position:left center}
.hero-panel.expanded .hero-image{filter:grayscale(0%)}

.panel-title-wrap{position:absolute;bottom:0;left:0;right:0;padding:3rem;z-index:3}
.panel-title{color:#fff;font-size:clamp(1.6rem,4vw,2.5rem);font-family:'Poppins',sans-serif;font-weight:900;line-height:1.3;text-shadow:0 6px 18px rgba(0,0,0,.6);opacity:0;word-break:keep-all}
.panel-title.is-active{opacity:1}
.panel-title span{display:inline-block}
.panel-title .word{white-space:nowrap}

/* =========================
CONTENIDO
========================= */
.page{position:relative;z-index:2;background:#fff;margin-top:100vh}
section{padding:clamp(3.6rem,6vw,5rem) 0}
.section-header{text-align:center;max-width:820px;margin:0 auto 2.2rem}
.section-title{font-size:clamp(2.1rem,4.2vw,3rem);font-family:'Poppins',sans-serif;font-weight:700;line-height:1.2;margin:0;text-transform:uppercase}

.section-title.gradient,
#sobre-mi .section-title{
  background:none !important;
  -webkit-background-clip:initial !important;
  background-clip:initial !important;
  -webkit-text-fill-color:var(--brand-blue) !important;
  color:var(--brand-blue) !important;
}

.section-sub{color:var(--text-soft);font-size:1.1rem;line-height:1.8;font-family:'Poppins',sans-serif;font-weight:400}
@media (min-width:981px){
  .panel-title{font-size:clamp(1.4rem,3.2vw,2.25rem)}
}

@media (max-width:980px){
  .hero{height:100svh}
  .page{margin-top:100svh}
  .hero-panel:first-child .hero-image{object-position:left center}
  .panel-title-wrap{padding:2rem 1rem}
  .panel-title{font-size:1.5rem;line-height:1.4}
  .hero-panel{transition:flex .55s cubic-bezier(.2,.8,.2,1)}
}

/* Badges */
.badges{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:1rem}
.badge{background:#eef2ff;color:#1e3a8a;border:1px solid #c7d2fe;padding:.35rem .65rem;border-radius:999px;font-size:.82rem;font-family:'Poppins',sans-serif;font-weight:700}

/* ======= SOBRE MÍ ======= */
.about{background:#fff}
.about-grid{display:grid;grid-template-columns:1.05fr 1fr;gap:3rem;align-items:center}
.about-photo{position:relative}
.about-frame{background:transparent;border:none;border-radius:18px;padding:0;transform:perspective(1400px) rotateY(-12deg) rotateX(4deg) scale(1.02);transition:transform .5s, filter .5s;filter:drop-shadow(0 25px 60px rgba(0,0,0,.25))}
.about-frame img{display:block;border-radius:18px}
.about-frame:hover{transform:perspective(1400px) rotateY(0) rotateX(0) scale(1.02);filter:drop-shadow(0 40px 90px rgba(0,0,0,.28))}
.about-card{background:var(--light);border:1px solid var(--border);border-radius:16px;padding:2rem}
.about-card p{color:var(--text-soft);margin:.75rem 0;font-family:'Poppins',sans-serif;font-weight:400}

/* Layout en grid para Charlas y Empresas */
.content-grid-layout{display:grid;grid-template-columns:300px 1fr;gap:2.5rem;align-items:center;max-width:960px;margin:2.5rem auto 0}
#empresas .content-grid-layout{grid-template-columns:1fr 300px}
#empresas .talks-wrap{grid-column:1;grid-row:1}
#empresas .replicated-image-wrapper{grid-column:2;grid-row:1}

.replicated-image-wrapper{max-width:300px;width:100%;margin:0}
.replicated-frame{background:transparent;border:none;border-radius:18px;padding:0;transform:perspective(1400px) rotateY(-12deg) rotateX(4deg) scale(1.02);transition:transform .5s, filter .5s;filter:drop-shadow(0 25px 60px rgba(0,0,0,.25))}
.replicated-frame img{display:block;border-radius:18px;width:100%}
.replicated-frame:hover{transform:perspective(1400px) rotateY(0) rotateX(0) scale(1.02);filter:drop-shadow(0 40px 90px rgba(0,0,0,.28))}

@media (max-width:980px){
  .content-grid-layout,
  #empresas .content-grid-layout{grid-template-columns:1fr}
  .replicated-image-wrapper{margin:0 auto 2.5rem}
  #empresas .talks-wrap,
  #empresas .replicated-image-wrapper{grid-column:1;grid-row:auto}
}
@media (min-width:981px){
  #logos.partners{padding-top:3rem;padding-bottom:4rem}
  #logos.partners .container{display:flex;flex-direction:column;justify-content:center;gap:1.5rem}
  .content-grid-layout{align-items:center;grid-template-columns:420px 1fr}
  #empresas .content-grid-layout{grid-template-columns:1fr 420px}
  .replicated-image-wrapper{max-width:95%}
  .replicated-image-wrapper,
  .replicated-frame,
  .replicated-frame img{height:auto}
  .replicated-frame img{object-fit:cover}
}

/* ======= CHARLAS ======= */
.talks{background:var(--bg-deep);color:#eaf0ff;position:relative;overflow:hidden}
.talks .section-title{color:#fff;-webkit-text-fill-color:#fff;background:none}
.talks .section-sub{color:#c7d2fe}
.talks-wrap{max-width:960px;margin:0;display:flex;flex-direction:column;gap:1rem}
.talk-item{position:relative;border:1px solid rgba(255,255,255,.08);background:rgba(255,255,255,.03);border-radius:16px;padding:1.15rem 1.25rem 1.15rem 3.25rem;overflow:hidden;transition:transform .22s,box-shadow .22s}
.talk-item::before{content:"";position:absolute;inset:0;transform:translateX(-110%);background:linear-gradient(90deg,rgba(46,106,255,.95),rgba(138,99,255,.95));transition:transform .45s}
.talk-item:hover::before{transform:translateX(0)}
.talk-item:hover{transform:translateY(-3px);box-shadow:0 15px 35px rgba(0,0,0,.28)}
.talk-item .lead{position:relative;z-index:2;font-weight:800;font-size:1.05rem;font-family:'Poppins',sans-serif}
.talk-item .desc{position:relative;z-index:2;color:#dbe7ff;margin-top:.35rem;font-family:'Poppins',sans-serif;font-weight:400}
.talk-item .emoji{position:absolute;left:1rem;top:1rem;z-index:2;opacity:.9}
.talk-cta{margin-top:1.25rem}
.talk-cta .btn{padding:.9rem 1.2rem}

/* ======= EMPRESAS ======= */
.empresas{background:var(--bg-deep);color:#eaf0ff;padding-top:0}
.empresas .section-title{color:#fff;-webkit-text-fill-color:#fff;background:none}
.empresas .section-sub{color:#c7d2fe}
#empresas .talks-wrap{margin:0}

/* ======= LOGOS ======= */
.partners{padding-bottom:.5rem}
.partners .heading{position:relative;text-align:center;margin:-.6rem auto .6rem;font-family:'Poppins',sans-serif;font-weight:900;letter-spacing:.08em;text-transform:uppercase;color:#0f172a}
.partners .heading span{position:relative;display:inline-block;padding:0 .9rem}
.partners .heading::before,.partners .heading::after{content:"";display:inline-block;vertical-align:middle;width:22vw;max-width:220px;height:2px;background:linear-gradient(90deg,#cbd5e1,#93c5fd);margin:0 .6rem;border-radius:2px}
.logo-marquee{position:relative;overflow:hidden;padding:1rem 0;cursor:grab}
.logo-track{display:flex;gap:3rem;align-items:center;will-change:transform;width:max-content}
.logo-track img{height:95px;width:auto;max-width:none;filter:grayscale(15%);opacity:.95;transition:transform .3s, filter .3s, opacity .3s}
.logo-track img:hover{transform:scale(1.1);filter:none;opacity:1}
@media (min-width:981px){
  #logos .container{padding-left:3rem;padding-right:3rem}
  .logo-marquee{padding:1rem 2.5rem}
}
.logo-marquee,.logo-track img{user-select:none}
.logo-marquee:active{cursor:grabbing}

@media (max-width:768px){
  .partners .heading{display:flex;align-items:center;justify-content:center;flex-wrap:nowrap;gap:.6rem;font-size:1rem}
  .partners .heading::before,
  .partners .heading::after{flex:1;max-width:80px;margin:0}
  .partners .heading span{white-space:nowrap}
  .logo-track img{height:60px}
}

/* =========================
LIBROS
========================= */
.ebooks{background:#eef2ff;position:relative}

#libros .container{max-width:1420px;padding-inline:2rem}
@media (min-width:1600px){#libros .container{max-width:1500px}}
#libros .book-title{font-family:'Poppins',sans-serif;font-weight:800;font-size:clamp(1.25rem,2.2vw,1.6rem);line-height:1.25;margin:.2rem 0 .35rem}
#libros .book-featured .btn{display:inline-flex;align-items:center;margin-top:.75rem;width:auto;white-space:nowrap}
.book-featured{display:grid;grid-template-columns:var(--cover-w) minmax(0,1fr);gap:2.2rem;align-items:center;margin:0 0 3rem 0;padding-inline:2rem}
.book-cover3d{background:transparent;border:none;border-radius:16px;padding:0;transform:perspective(1400px) rotateY(-12deg) rotateX(4deg) scale(1.02);transition:transform .5s;filter:drop-shadow(0 35px 70px rgba(0,0,0,.22));width:var(--cover-w);max-width:100%}
.book-cover3d img{border-radius:16px;width:100%;height:auto}
.book-cover3d:hover{transform:perspective(1400px) rotateY(0) rotateX(0) scale(1.02)}
.book-copy{min-width:0}
.book-copy p{color:var(--text-soft);margin:.75rem 0;font-size:1.02rem;overflow-wrap:anywhere;hyphens:auto;font-family:'Poppins',sans-serif;font-weight:400}
.books-innov{display:grid;grid-template-columns:1fr;gap:1.8rem;margin:0 0 3rem 0}

.book-neo{--card-pad:clamp(1rem,2.4vw,2rem);display:grid;grid-template-columns:minmax(0,1fr) minmax(0,var(--cover-w));gap:clamp(1rem,2vw,1.6rem);align-items:center;background:#fff;border:1px solid var(--border);border-radius:18px;padding:var(--card-pad);overflow:hidden}
.book-neo.reverse{grid-template-columns:minmax(0,1fr) minmax(0,var(--cover-w))}
.book-neo .copy{min-width:0}
.book-neo .copy p{color:var(--text-soft);margin:.65rem 0;line-height:1.7;font-family:'Poppins',sans-serif;font-weight:400}
.book-neo .book-bullets{margin:.3rem 0 0 1.15rem}
.book-neo .book-bullets li{margin:.22rem 0}
.book-copy li,
.book-neo .book-bullets li{color:var(--text-soft)}
.book-copy ul{margin-left:1.15rem}
.book-neo .media{position:relative}
.book-neo .cover{width:var(--cover-w);max-width:100%;aspect-ratio:3/4;margin-inline:auto;border-radius:16px;overflow:hidden;filter:drop-shadow(0 28px 60px rgba(0,0,0,.18));will-change:transform}
.book-neo .cover img{width:100%;height:100%;object-fit:cover;animation:floaty 6s ease-in-out infinite}
.book-neo .media::after{content:"";position:absolute;inset:auto 0 -22% 0;height:46%;background:radial-gradient(60% 60% at 50% 30%,rgba(46,106,255,.16),transparent 70%);filter:blur(20px);pointer-events:none}
#libro2 .cover{width:calc(var(--cover-w) * .75);aspect-ratio:3/4;overflow:visible}
#libro2 .cover img{object-fit:contain !important;transform:none !important;animation:none !important}
#libro2 .media::after{content:none !important}
.book-neo .btn{display:inline-flex;margin-top:.75rem;white-space:nowrap}
.book-neo#libro2 .cover{width:calc(var(--cover-w) * .85)}
.book-neo#libro2 .cover img{animation:none !important;transform:none !important}
.book-neo#libro2 .media::after{content:none}
@media (min-width:980px){.books-innov{gap:2rem}.book-neo{padding:clamp(1.2rem,2.6vw,2.2rem)}}
@media (max-width:979px){.book-featured{grid-template-columns:1fr;gap:1.2rem;padding-inline:0}.book-cover3d{width:100%;max-width:82vw;margin:0 auto}.book-neo,.book-neo.reverse{grid-template-columns:1fr}.book-neo .cover{width:min(70vw,var(--cover-w))}.book-neo#libro2 .cover{width:min(52vw,calc(var(--cover-w) * .75))}#libros .btn,#libros .book-featured .btn{white-space:normal}}
@keyframes floaty{0%{transform:translateY(0) rotate(-1deg)}50%{transform:translateY(-8px) rotate(1deg)}100%{transform:translateY(0) rotate(-1deg)}}
.ebooks .cta-unificado{margin-top:3rem;text-align:center}
.ebooks .cta-unificado .cta-wrap{max-width:860px;margin:0 auto}
.ebooks .cta-unificado p{font-weight:800;font-size:clamp(1.06rem,1.2vw,1.18rem);margin-bottom:1rem;color:#0f172a;font-family:'Poppins',sans-serif}

/* ======= WORKSHOP ======= */
.workshop{background:#0d1a3a;color:#fff;position:relative;overflow:hidden}
.workshop .section-title{-webkit-text-fill-color:#fff;color:#fff;background:none}
.workshop .section-sub{color:#c7d2fe;position:relative;z-index:1}
.workshop .section-header{position:relative;z-index:1}
.workshop-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:2.5rem;align-items:center}
.workshop .copy p{color:rgba(255,255,255,.86);margin:.6rem 0;font-family:'Poppins',sans-serif;font-weight:400}
.workshop ul{margin:.2rem 0 1rem 1.1rem;list-style:none}
.workshop ul li{margin:.3rem 0}
.workshop .btn{margin-top:.6rem}

@keyframes dynamic-glow-drift{
  0%{transform:translate(0,0) scale(1) rotate(0deg);opacity:1}
  50%{transform:translate(40px,-60px) scale(1.3) rotate(20deg);opacity:.8}
  100%{transform:translate(0,0) scale(1) rotate(0deg);opacity:1}
}
.workshop::before,.workshop::after,
.contact::before,.contact::after{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;animation:dynamic-glow-drift 12s ease-in-out infinite alternate}
.workshop::before{background:radial-gradient(600px 600px at 20% 30%,rgba(46,106,255,.35),transparent 60%)}
.workshop::after{background:radial-gradient(700px 700px at 80% 70%,rgba(138,99,255,.32),transparent 60%);animation-delay:-6s}
.workshop .workshop-grid{position:relative;z-index:1}

/* ======= VIDEOS ======= */
.videos{background:#0d1a3a;color:#fff;position:relative}
.videos .section-title{-webkit-text-fill-color:#fff;color:#fff;background:none}
.videos .section-sub{color:#c7d2fe}
.videos-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.6rem;margin-top:2rem}
.video-item{cursor:pointer}
.video-thumb{position:relative;border-radius:16px;overflow:hidden;box-shadow:0 14px 35px rgba(0,0,0,.35)}
.video-thumb img{width:100%;aspect-ratio:16/9;object-fit:cover;transition:transform .35s}
.video-thumb::after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(0,0,0,.55),transparent 60%)}
.video-item:hover img{transform:scale(1.05)}
.play{position:absolute;left:14px;bottom:14px;width:56px;height:56px;border-radius:999px;background:#fff;display:grid;place-items:center;z-index:2}
.play svg{width:26px;height:26px;fill:var(--brand-blue);transform:translateX(2px)}
.video-meta h4{margin:.6rem 0 0;font-family:'Poppins',sans-serif;font-weight:800;color:#fff}
.video-meta p{color:#e5e7ff;font-family:'Poppins',sans-serif;font-weight:400}
@media (max-width:640px){.videos-grid{grid-template-columns:1fr}}

/* Lightbox */
.lightbox{position:fixed;inset:0;background:rgba(0,14,48,.88);backdrop-filter:blur(10px);display:flex;align-items:center;justify-content:center;opacity:0;visibility:hidden;transition:opacity .35s,visibility .35s;z-index:10000}
.lightbox.show{opacity:1;visibility:visible}
.lightbox-content{width:min(1100px,92vw);transform:scale(.86);transition:transform .35s;position:relative}
.lightbox.show .lightbox-content{transform:scale(1)}
.player{position:relative;width:100%;padding-top:56.25%;background:#000;border-radius:12px;overflow:hidden;box-shadow:0 25px 60px rgba(0,0,0,.6)}
.player iframe{position:absolute;inset:0;width:100%;height:100%}
.lightbox .close{position:absolute;top:-44px;right:-10px;width:36px;height:36px;border-radius:999px;border:2px solid rgba(255,255,255,.8);color:#fff;background:transparent;cursor:pointer}
.yt-fallback{display:none;position:absolute;right:14px;bottom:14px;background:#fff;color:#0f172a;font-family:'Poppins',sans-serif;font-weight:800;font-size:.9rem;border-radius:999px;padding:.5rem .8rem;text-decoration:none}
.yt-fallback.show{display:inline-flex}

/* ======= TESTIMONIOS ======= */
.testimonials-wrapper{position:relative;width:100%;height:600px;max-width:1100px;margin:2rem auto 0;overflow:hidden;cursor:grab;-webkit-mask-image:linear-gradient(to bottom,transparent 0%,black 15%,black 85%,transparent 100%);mask-image:linear-gradient(to bottom,transparent 0%,black 15%,black 85%,transparent 100%)}
.testimonials-container{width:100%;height:100%;position:relative;transform:rotateX(10deg) rotateZ(8deg) skewX(-8deg);transform-style:preserve-3d;will-change:transform}
.testimonial-card{position:absolute;max-width:560px;left:50%;transform:translateX(-50%);flex-shrink:0;background:#fff;border:1px solid var(--border);border-radius:16px;padding:1.5rem;user-select:none}
.testimonial-card .t-quote{color:#0f172a;font-size:1rem;line-height:1.7;font-family:'Poppins',sans-serif;font-weight:400}
.testimonial-card .t-author{margin-top:.6rem;font-family:'Poppins',sans-serif;font-weight:800;color:#334155;text-align:right}

@media (max-width:980px){
  .testimonials-wrapper{height:auto;max-width:100%;-webkit-mask-image:linear-gradient(to right,transparent 0%,black 10%,black 90%,transparent 100%);mask-image:linear-gradient(to right,transparent 0%,black 10%,black 90%,transparent 100%)}
  .testimonials-container{display:flex;position:static;height:auto;transform:none;width:max-content}
  .testimonial-card{position:static;max-width:none;width:80vw;left:auto;transform:none;margin:0 1.2rem 0 0}
}

/* ======= CONTACTO ======= */
.contact{position:relative;overflow:hidden}
.contact .section-sub{max-width:820px}
.contact .section-header{position:relative;z-index:1}
.contact-grid{display:grid;grid-template-columns:1.05fr 1fr;gap:3rem;margin-top:2rem;align-items:start;position:relative;z-index:1}

.contact-card{background:var(--light);border:1px solid var(--border);border-radius:16px;padding:1.6rem}
.contact-card p{color:var(--text-soft);margin:.5rem 0;font-family:'Poppins',sans-serif;font-weight:400}
.contact-intro{text-align:left;margin:1rem 0 0 0}
.form .group{margin-bottom:1rem}
.form label{display:block;margin-bottom:.35rem;font-family:'Poppins',sans-serif;font-weight:700}
.form input,.form textarea,.form select{width:100%;padding:1rem;border:1px solid var(--border);border-radius:12px;background:#f8fafc;font-family:'Poppins',sans-serif;font-weight:400;font-size:1rem}
.form textarea{min-height:130px;resize:vertical}
.form .hint{color:var(--text-soft);font-size:.9rem;margin-top:.35rem;font-family:'Poppins',sans-serif;font-weight:400}
.form p.hint{margin:0 0 1rem}
.form .hint a{color:var(--brand-blue)}
.form .hp-field{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.form button[disabled]{opacity:.7;cursor:wait}

.contact::before{background:radial-gradient(circle at 25% 40%,rgba(46,106,255,.22),transparent 50%)}
.contact::after{background:radial-gradient(circle at 75% 60%,rgba(138,99,255,.18),transparent 50%);animation-delay:-6s}

/* ======= FOOTER ======= */
.footer{background:#0f172a;color:#aab7d6;padding:4rem 0 2rem}
.footer .container{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:5rem}
.footer-logo a{display:block}
.footer-logo img{height:55px;width:auto;opacity:.75;transition:opacity .3s}
.footer-logo a:hover img{opacity:1}
.footer-content{text-align:left}
.footer .socials{margin-bottom:1rem}
.footer a,.footer a:visited,.footer a:active{color:inherit;text-decoration:none}
.footer a:hover{color:#cbd5e1}
.footer .quote{font-family:'Poppins',sans-serif;font-style:italic;max-width:600px;margin:0 0 2rem 0}
.footer .legal-link{margin-top:.4rem;font-size:.9rem;text-decoration:underline}

@media (max-width:768px){
  .footer .container{flex-direction:column;gap:2rem}
  .footer-logo{order:2;margin-top:1rem}
  .footer-content{order:1;text-align:center}
  .footer .quote{margin:0 auto 2rem}
}

/* ======= RESPONSIVE ======= */
@media (max-width:1200px){.book-featured{grid-template-columns:var(--cover-w) minmax(0,1fr)}}
@media (max-width:1240px){.desktop-nav{display:none}.hamburger{display:block}}
@media (max-width:980px){.about-grid,.book-featured,.workshop-grid,.contact-grid{grid-template-columns:1fr;gap:2rem}#libros .container{padding-left:1rem;padding-right:1rem}section{padding:4.2rem 0}}
#libros{--cover-w:calc(360px * 1.10)}

/* =========================
BOTONES
========================= */
.btn{display:inline-flex;align-items:center;gap:.5rem;border:none;border-radius:999px;font-family:'Poppins',sans-serif;font-size:1rem;font-weight:800;cursor:pointer;text-decoration:none;transition:transform .2s,box-shadow .2s}
.btn-primary{background:var(--primary-gradient);color:#fff;padding:.95rem 1.35rem;box-shadow:0 18px 40px rgba(46,106,255,.35)}
.btn-primary:hover{transform:translateY(-2px);box-shadow:0 24px 50px rgba(46,106,255,.45)}
.btn-outline{background:transparent;border:2px solid var(--brand-blue);color:var(--brand-blue);padding:.9rem 1.15rem}
.btn-outline:hover{background:var(--brand-blue);color:#fff}

@media (max-width:980px){.hero-panel:first-child .hero-image{object-position:-280px center !important}}
@media (max-width:520px){.hero-panel:first-child .hero-image{object-position:-270px center !important}}

/* =========================
MEJORAS VISUALES
========================= */
.section-enhanced-light{position:relative;z-index:3}
.section-enhanced-light::before{content:'';position:absolute;top:0;left:0;right:0;bottom:0;box-shadow:inset 0 12px 20px -15px rgba(0,0,0,.08),inset 0 -12px 20px -15px rgba(0,0,0,.08);pointer-events:none;z-index:-1}
.contact.section-enhanced-light::before{z-index:0}

.about-card,.book-neo,.contact-card{
  transition:transform .35s cubic-bezier(.25,.8,.25,1),box-shadow .35s cubic-bezier(.25,.8,.25,1);
  box-shadow:0 1.4px 2.2px rgba(0,0,0,.02),0 3.3px 5.3px rgba(0,0,0,.028),0 6.3px 10px rgba(0,0,0,.035),0 11.2px 17.9px rgba(0,0,0,.042),0 20.9px 33.4px rgba(0,0,0,.05),0 50px 80px rgba(0,0,0,.07);
}
.about-card:hover,.book-neo:hover,.contact-card:hover{
  transform:translateY(-7px);
  box-shadow:0 2.8px 2.2px rgba(0,0,0,.034),0 6.7px 5.3px rgba(0,0,0,.048),0 12.5px 10px rgba(0,0,0,.06),0 22.3px 17.9px rgba(0,0,0,.072),0 41.8px 33.4px rgba(0,0,0,.086),0 100px 80px rgba(0,0,0,.12);
}
.testimonial-card{
  box-shadow:0 1.4px 2.2px rgba(0,0,0,.02),0 3.3px 5.3px rgba(0,0,0,.028),0 6.3px 10px rgba(0,0,0,.035),0 11.2px 17.9px rgba(0,0,0,.042),0 20.9px 33.4px rgba(0,0,0,.05),0 50px 80px rgba(0,0,0,.07) !important;
}
