:root{
  /* Colores sacados del logo (aprox) */
  --ei-purple: #996dd2;
  --ei-purple-dark: #79549e;
  --ei-purple-soft: #ede3f8;
  --ei-teal: #1eacb9;

  --ei-ink: #1e1b22;
  --ei-muted: #6c6776;
  --ei-bg: #fbf8fd;

  --radius-xl: 22px;
  --shadow-soft: 0 12px 34px rgba(20, 10, 40, .10);
  --shadow-glow: 0 10px 35px rgba(153, 109, 210, .22);
}

*{ box-sizing: border-box; }
html{ scroll-behavior: smooth; }
body{
  font-family: "Poppins", system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  background: var(--ei-bg);
  color: var(--ei-ink);
}

.section{
  padding: 30px 0;
}
.section-soft{
  background: linear-gradient(180deg, rgba(237,227,248,.55), rgba(251,248,253,1));
}

.section-head{
  margin-bottom: 28px;
}
.section-title{
  font-family: "Playfair Display", serif;
  letter-spacing: .2px;
  margin-bottom: 10px;
}
.section-subtitle{
  color: var(--ei-muted);
  max-width: 780px;
  margin: 0 auto;
}

/* Navbar */
.nav-glass{
  backdrop-filter: blur(10px);
  background: rgba(251,248,253,.82);
  border-bottom: 1px solid rgba(121,84,158,.12);
}
.brand-logo{
  width: 60px;
  height: 60px;
  object-fit: contain;
}
.brand-title{
  font-weight: 600;
  line-height: 1.0;
}
.brand-subtitle{
  font-size: 12px;
  color: var(--ei-muted);
  margin-top: 2px;
}
.navbar .nav-link{
  color: rgba(30, 27, 34, .82);
  font-weight: 500;
}
.navbar .nav-link:hover{
  color: var(--ei-purple-dark);
}

.btn-primary{
  --bs-btn-bg: var(--ei-purple);
  --bs-btn-border-color: var(--ei-purple);
  --bs-btn-hover-bg: var(--ei-purple-dark);
  --bs-btn-hover-border-color: var(--ei-purple-dark);
  --bs-btn-active-bg: var(--ei-purple-dark);
  --bs-btn-active-border-color: var(--ei-purple-dark);
  --bs-btn-disabled-bg: var(--ei-purple);
  --bs-btn-disabled-border-color: var(--ei-purple);
}
.btn-outline-primary{
  --bs-btn-color: var(--ei-purple-dark);
  --bs-btn-border-color: rgba(121,84,158,.35);
  --bs-btn-hover-bg: var(--ei-purple-dark);
  --bs-btn-hover-border-color: var(--ei-purple-dark);
  --bs-btn-hover-color: #fff;
}
.btn-soft{
  box-shadow: var(--shadow-glow);
  border-radius: 999px;
}

/* WhatsApp float */
.wa-float{
  position: fixed;
  right: 18px;
  bottom: 18px;
  width: 56px;
  height: 56px;
  border-radius: 999px;
  display: grid;
  place-items: center;
  background: #25D366;
  color: #fff;
  font-size: 26px;
  box-shadow: 0 14px 30px rgba(0,0,0,.20);
  z-index: 9999;
  text-decoration: none;
  transform: translateY(0);
  transition: transform .2s ease, filter .2s ease;
}
.wa-float:hover{ transform: translateY(-2px); filter: brightness(1.02); }

/* Hero */
.hero{
  position: relative;
  padding: 52px 0 76px;
  overflow: hidden;
  color: #fff;
}
.hero-bg{
  position: absolute;
  inset: 0;
  background: radial-gradient(1200px 600px at 20% 20%, rgba(30,172,185,.34), transparent 60%),
              radial-gradient(900px 500px at 80% 30%, rgba(237,227,248,.12), transparent 60%),
              linear-gradient(135deg, var(--ei-purple-dark), var(--ei-purple));
}
.hero-img{
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  opacity: .18; /* si no quieres imagen, borra la etiqueta <img> en HTML */
}
.hero-overlay{
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(20,10,40,.55), rgba(20,10,40,.25));
}
.hero-title{
  font-family: "Playfair Display", serif;
  text-shadow: 0 10px 30px rgba(0,0,0,.25);
}
.hero-lead{
  color: rgba(255,255,255,.86);
  max-width: 620px;
}
.badge-pill{
  display: inline-flex;
  align-items: center;
  padding: 10px 14px;
  border-radius: 999px;
  background: rgba(255,255,255,.14);
  border: 1px solid rgba(255,255,255,.18);
}
.chip{
  display: inline-flex;
  align-items: center;
  padding: 10px 14px;
  border-radius: 999px;
  background: rgba(255,255,255,.14);
  border: 1px solid rgba(255,255,255,.18);
  color: #fff;
  text-decoration: none;
}
.chip:hover{ background: rgba(255,255,255,.20); color:#fff; }
.hero-trust{
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  color: rgba(255,255,255,.88);
}
.trust-item{
  display:flex;
  align-items:center;
  gap:8px;
  background: rgba(255,255,255,.12);
  border: 1px solid rgba(255,255,255,.16);
  padding: 10px 12px;
  border-radius: 14px;
}

/* Hero card */
.hero-card{
  border-radius: var(--radius-xl);
  background: rgba(251,248,253,.94);
  color: var(--ei-ink);
  box-shadow: var(--shadow-soft);
  overflow: hidden;
}
.hero-card-top{
  padding: 18px 18px 12px;
  background: linear-gradient(90deg, rgba(237,227,248,.9), rgba(30,172,185,.12));
}
.hero-card-body{
  padding: 18px;
}

/* Hero social */
.hero-social{
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
}

.social-pill{
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 10px 14px;
  border-radius: 999px;
  background: rgba(255,255,255,.12);
  border: 1px solid rgba(255,255,255,.18);
  color: rgba(255,255,255,.92);
  text-decoration: none;
  transition: transform .2s ease, background .2s ease, border-color .2s ease;
}

.social-pill i{
  font-size: 18px;
}

.social-pill:hover{
  transform: translateY(-2px);
  background: rgba(255,255,255,.18);
  border-color: rgba(255,255,255,.26);
  color: #fff;
}

.social-pill:active{
  transform: translateY(0);
}

/* Cards */
.info-card{
  border-radius: var(--radius-xl);
  background: #fff;
  border: 1px solid rgba(121,84,158,.12);
  padding: 18px;
  box-shadow: 0 10px 28px rgba(20,10,40,.06);
  height: 100%;
}
.icon-bubble{
  width: 44px; height: 44px;
  display:grid; place-items:center;
  border-radius: 14px;
  background: linear-gradient(135deg, rgba(153,109,210,.18), rgba(30,172,185,.12));
  border: 1px solid rgba(121,84,158,.12);
  color: var(--ei-purple-dark);
  margin-bottom: 10px;
  font-size: 20px;
}

/* Services */
.service-card{
  border-radius: var(--radius-xl);
  background: #fff;
  border: 1px solid rgba(121,84,158,.12);
  padding: 20px;
  box-shadow: 0 10px 28px rgba(20,10,40,.06);
  height: 100%;
}
.service-top{
  display:flex;
  gap: 12px;
  align-items: flex-start;
  margin-bottom: 14px;
}
.service-icon{
  width: 52px; height: 52px;
  border-radius: 18px;
  display:grid; place-items:center;
  background: linear-gradient(135deg, rgba(153,109,210,.20), rgba(30,172,185,.12));
  color: var(--ei-purple-dark);
  font-size: 22px;
  border: 1px solid rgba(121,84,158,.12);
}
.service-list{
  list-style: none;
  padding: 0;
  margin: 0 0 16px;
  color: var(--ei-muted);
}
.service-list li{
  display:flex;
  gap:10px;
  align-items:flex-start;
  padding: 8px 0;
}
.service-list i{ color: var(--ei-teal); }

/* Steps */
.step-card{
  border-radius: var(--radius-xl);
  background: #fff;
  border: 1px solid rgba(121,84,158,.12);
  padding: 18px;
  box-shadow: 0 10px 28px rgba(20,10,40,.06);
  height: 100%;
  position: relative;
  overflow: hidden;
}
.step-number{
  width: 40px; height: 40px;
  display:grid; place-items:center;
  border-radius: 999px;
  background: var(--ei-purple-soft);
  color: var(--ei-purple-dark);
  border: 1px solid rgba(121,84,158,.18);
  font-weight: 700;
  margin-bottom: 10px;
}

/* Taller cards */
.taller-card{
  border-radius: var(--radius-xl);
  overflow: hidden;
  background: #fff;
  border: 1px solid rgba(121,84,158,.12);
  box-shadow: 0 10px 28px rgba(20,10,40,.06);
  height: 100%;
}
.taller-img{
  width: 100%;
  height: 300px;
  object-fit: cover;
}
.taller-body{
  padding: 16px;
}

.mini-card{
  display:flex;
  gap: 12px;
  align-items:flex-start;
  border-radius: var(--radius-xl);
  background: #fff;
  border: 1px solid rgba(121,84,158,.12);
  padding: 16px;
  box-shadow: 0 10px 28px rgba(20,10,40,.06);
  height: 100%;
}
.mini-icon{
  width: 44px; height: 44px;
  display:grid; place-items:center;
  border-radius: 16px;
  background: rgba(237,227,248,.75);
  border: 1px solid rgba(121,84,158,.12);
  color: var(--ei-purple-dark);
  font-size: 20px;
}

/* Hipno section */
.img-card{
  border-radius: var(--radius-xl);
  padding: 10px;
  background: rgba(255,255,255,.66);
  border: 1px solid rgba(121,84,158,.12);
  box-shadow: var(--shadow-soft);
}
.pills{
  display:flex; flex-wrap:wrap;
  gap:10px;
}
.pill{
  display:inline-flex; align-items:center;
  padding: 10px 12px;
  border-radius: 999px;
  background: #fff;
  border: 1px solid rgba(121,84,158,.12);
  color: var(--ei-purple-dark);
}
.clean-list{
  list-style:none;
  padding:0; margin:0;
  color: var(--ei-muted);
}
.clean-list li{
  display:flex; gap:10px;
  align-items:flex-start;
  padding: 8px 0;
}
.clean-list i{ color: var(--ei-teal); }

/* Glass cards */
.glass-card{
  border-radius: var(--radius-xl);
  padding: 20px;
  background: rgba(255,255,255,.75);
  border: 1px solid rgba(121,84,158,.12);
  box-shadow: 0 10px 28px rgba(20,10,40,.06);
  height: 100%;
}

.cta-strip{
  border-radius: var(--radius-xl);
  background: linear-gradient(135deg, var(--ei-purple-dark), var(--ei-purple));
  color:#fff;
  padding: 22px;
  display:flex;
  align-items:center;
  justify-content: space-between;
  gap: 14px;
  box-shadow: var(--shadow-glow);
}
.cta-strip p{ color: rgba(255,255,255,.85); }

.quote-card{
  border-radius: var(--radius-xl);
  background: #fff;
  border: 1px solid rgba(121,84,158,.12);
  padding: 18px;
  box-shadow: 0 10px 28px rgba(20,10,40,.06);
  height: 100%;
}

/* Contact */
.contact-card{
  border-radius: var(--radius-xl);
  background: rgba(255,255,255,.78);
  border: 1px solid rgba(121,84,158,.12);
  padding: 20px;
  box-shadow: 0 10px 28px rgba(20,10,40,.06);
}

/* Footer */
.footer{
  background: #0f0b18;
  color: rgba(255,255,255,.85);
}
.footer-logo{
  width: 42px;
  height: 42px;
  object-fit: contain;
}

/* Reveal */
.reveal{
  opacity: 0;
  transform: translateY(12px);
  transition: opacity .65s ease, transform .65s ease;
}
.reveal.is-visible{
  opacity: 1;
  transform: translateY(0);
}

/* Hipno video */
.video-card{
  padding: 12px;
}

.hipno-video{
  width: 100%;
  height: 360px;          /* desktop */
  display: block;
  object-fit: cover;      /* para que se vea pro */
  background: #000;       /* mientras carga */
}

@media (max-width: 991px){
  .section{ padding: 24px 0; }
  .hero{ padding: 28px 0 64px; }
  .cta-strip{ flex-direction: column; align-items: stretch; }
   .hipno-video{
    height: 240px; }
    .kintsugi-video-wrap{
    aspect-ratio: 4 / 3; /* prueba 4/3 o 3/2 */
  }
}

/* Video testimonial */
.video-testimonial-card{
  border-radius: var(--radius-xl);
  background: rgba(255,255,255,.78);
  border: 1px solid rgba(121,84,158,.12);
  box-shadow: var(--shadow-soft);
  padding: 14px;
}

.video-frame{
  width: 100%;
  aspect-ratio: 9 / 16;      /* ideal para videos verticales */
  border-radius: 18px;
  overflow: hidden;
  background: #000;
}

.video-testimonial{
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
}

.video-caption{
  margin-top: 12px;
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.tag-soft{
  display: inline-flex;
  align-items: center;
  padding: 8px 12px;
  border-radius: 999px;
  background: rgba(237,227,248,.75);
  border: 1px solid rgba(121,84,158,.12);
  color: var(--ei-purple-dark);
  font-size: 13px;
  font-weight: 500;
}

/* Texto al lado */
.testimonial-copy-card{
  border-radius: var(--radius-xl);
  background: rgba(255,255,255,.78);
  border: 1px solid rgba(121,84,158,.12);
  box-shadow: 0 10px 28px rgba(20,10,40,.06);
  padding: 22px;
}

.highlight-quote{
  margin-top: 14px;
  border-left: 4px solid rgba(30,172,185,.65);
  background: linear-gradient(90deg, rgba(30,172,185,.10), rgba(255,255,255,0));
  padding: 14px 14px 14px 16px;
  border-radius: 16px;
  color: rgba(30, 27, 34, .92);
  position: relative;
}
.highlight-quote i{
  color: rgba(121,84,158,.55);
  font-size: 20px;
  margin-right: 8px;
}

/* mini badges */
.mini-badges{
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.mini-badge{
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 10px 12px;
  border-radius: 14px;
  background: rgba(153,109,210,.10);
  border: 1px solid rgba(121,84,158,.12);
  color: var(--ei-purple-dark);
  font-weight: 500;
  font-size: 13px;
}

/* ===== Taller destacado Kintsugi ===== */
.kintsugi-feature{
  border-radius: 22px;
  background: linear-gradient(135deg, rgba(144, 97, 220, .12), rgba(255,255,255,.85));
  border: 1px solid rgba(144, 97, 220, .25);
  box-shadow: 0 18px 45px rgba(25, 15, 50, .08);
}

.kintsugi-video{
  border-radius: 18px;
  overflow: hidden;
  box-shadow: 0 12px 30px rgba(25, 15, 50, .12);
  border: 1px solid rgba(144, 97, 220, .22);
  background: #fff;
}

.kintsugi-badge{
  display: inline-flex;
  align-items: center;
  padding: .35rem .65rem;
  border-radius: 999px;
  font-size: .85rem;
  font-weight: 600;
  color: #5a2aa5;
  background: rgba(144, 97, 220, .14);
  border: 1px solid rgba(144, 97, 220, .22);
}

.kintsugi-pill{
  display: inline-flex;
  align-items: center;
  padding: .35rem .65rem;
  border-radius: 999px;
  font-size: .85rem;
  color: rgba(35, 25, 55, .85);
  background: rgba(255,255,255,.7);
  border: 1px solid rgba(0,0,0,.06);
}

.kintsugi-title{
  font-weight: 800;
  letter-spacing: -0.2px;
}

.kintsugi-text{
  color: rgba(35, 25, 55, .85);
  line-height: 1.55;
}

.kintsugi-list{
  list-style: none;
  padding: 0;
  margin: 0;
  display: grid;
  gap: .55rem;
}
.kintsugi-list li{
  display: flex;
  gap: .6rem;
  align-items: flex-start;
  color: rgba(35, 25, 55, .88);
}
.kintsugi-list i{
  margin-top: .15rem;
  color: #7b46d6;
}

.btn-kintsugi{
  background: #8f5fe0;
  border: 1px solid rgba(143, 95, 224, .25);
  color: #fff;
  border-radius: 14px;
  padding: .75rem 1rem;
  font-weight: 700;
}
.btn-kintsugi:hover{
  filter: brightness(.97);
  color: #fff;
}

.btn-outline-kintsugi{
  border: 1px solid rgba(143, 95, 224, .45);
  color: #6a33c7;
  border-radius: 14px;
  padding: .75rem 1rem;
  font-weight: 700;
  background: rgba(255,255,255,.65);
}
.btn-outline-kintsugi:hover{
  background: rgba(143, 95, 224, .10);
  color: #5a2aa5;
}

.kintsugi-note{
  color: rgba(35, 25, 55, .65);
}

/* Contenedor 16:9 bonito, con fondo para “barras” */
.kintsugi-video-wrap{
   aspect-ratio: 16 / 9;
  width: 100%;
  border-radius: 18px;
  overflow: hidden;
  background: rgba(10, 6, 18, .92);
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
}

/* Video vertical: que se vea completo sin estirarse */
.kintsugi-video-vertical{
   width: 100%;
  height: 100%;
  object-fit: contain;
  display: block;
  position: relative;
  z-index: 1;
}

/* Opcional: blur suave del mismo video como fondo (premium) */
.kintsugi-video-wrap::before{
  content: "";
  position: absolute;
  inset: 0;
  background: radial-gradient(circle at 30% 20%, rgba(143,95,224,.22), transparent 55%),
              radial-gradient(circle at 70% 60%, rgba(143,95,224,.18), transparent 55%);
  pointer-events: none;
}
.kintsugi-video-vertical{ position: relative; z-index: 1; }

@media (max-width: 576px){
  .kintsugi-video-wrap{
    aspect-ratio: 4 / 5;     /* prueba 3/4 si lo quieres aún más alto */
    max-height: 520px;       /* evita que se coma toda la pantalla */
    border-radius: 16px;
  }
}

.kintsugi-feature{ animation: softIn .6s ease both; }
@keyframes softIn{ from{opacity:0; transform:translateY(10px);} to{opacity:1; transform:none;} }

/* Masterclass poster simple */
.masterclass-card{
  border-radius: 22px;
  background: rgba(255,255,255,.78);
  border: 1px solid rgba(144, 97, 220, .18);
  box-shadow: 0 14px 40px rgba(25, 15, 50, .06);
  padding: 18px;
}

.masterclass-poster{
  border-radius: 18px;
  overflow: hidden;
  border: 1px solid rgba(144, 97, 220, .18);
  background: rgba(10, 6, 18, .92);
  display: grid;
  place-items: center;
}

.masterclass-poster img{
  width: 100%;
  height: 520px;     /* para posters verticales */
  object-fit: contain;
  display: block;
}

@media (max-width: 576px){
  .masterclass-poster img{
    height: 620px;   /* más grande en móvil */
  }
}
/* Carrusel de testimonios dentro de Talleres */
.kintsugi-testimonials{
  border-radius: 22px;
  background: rgba(255,255,255,.75);
  border: 1px solid rgba(144, 97, 220, .18);
  box-shadow: 0 14px 40px rgba(25, 15, 50, .06);
  padding: 18px;
}

.kintsugi-testimonials .carousel{
  border-radius: 18px;
  overflow: hidden;
  border: 1px solid rgba(144, 97, 220, .18);
  background: rgba(10, 6, 18, .92);
}

/* Contenedor de cada imagen */
.testimonial-shot{
  width: 100%;
  display: grid;
  place-items: center;
  background: rgba(10, 6, 18, .92);
}

/* La imagen se ve completa (ideal para capturas verticales de WhatsApp) */
.testimonial-shot img{
  width: 100%;
  height: 520px;          /* desktop */
  object-fit: contain;    /* clave para no recortar */
  background: rgba(10, 6, 18, .92);
}

/* Mobile: más alto para que se lea bien */
@media (max-width: 576px){
  .testimonial-shot img{
    height: 600px;
  }
}

/* Ajuste de indicadores para que se vean sobre fondo oscuro */
.kintsugi-testimonials .carousel-indicators [data-bs-target]{
  width: 8px;
  height: 8px;
  border-radius: 999px;
}
