:root{
  --bg:#f6f2f7;
  --bg-2:#efe9f2;
  --white:#ffffff;
  --text:#151528;
  --muted:#6e6873;
  --line:rgba(120,52,105,.16);

  --primary:#a02d78;
  --primary-2:#c65a9c;
  --secondary:#5f96a1;
  --wine:#701550;

  --gradient-main:linear-gradient(135deg,#9b1d68 0%,#c95a9c 52%,#6fa3ad 100%);
  --gradient-soft:linear-gradient(135deg,#fff 0%,#f8ecf4 55%,#eef8fa 100%);
  --gradient-band:linear-gradient(90deg,#9b1d68 0%,#c95a9c 48%,#5f96a1 100%);
  --gradient-gold:linear-gradient(135deg,#ffd66f 0%,#f5aa3d 100%);

  --shadow:0 24px 70px rgba(64,40,70,.14);
  --shadow-strong:0 34px 90px rgba(64,40,70,.20);
  --container:1240px;
}

*{
  box-sizing:border-box;
}

html{
  scroll-behavior:smooth;
}

body{
  margin:0;
  font-family:'Inter',sans-serif;
  color:var(--text);
  background:var(--bg);
}

img{
  max-width:100%;
  display:block;
}

a{
  text-decoration:none;
}

.container{
  width:min(var(--container),calc(100% - 44px));
  margin:0 auto;
}

.page-wrap{
  overflow:hidden;
}

.ondas-bg{
  display:none !important;
}

/* BOTONES */

.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:58px;
  padding:0 30px;
  border-radius:20px;
  font-weight:900;
  color:#fff;
  border:0;
  cursor:pointer;
  transition:transform .22s ease,box-shadow .22s ease,opacity .22s ease;
}

.btn:hover{
  transform:translateY(-3px);
}

.btn-primary{
  background:var(--gradient-main);
  box-shadow:0 18px 42px rgba(160,45,120,.24);
}

.btn-secondary{
  color:var(--wine);
  background:#fff;
  border:1px solid rgba(112,21,80,.22);
  box-shadow:0 14px 34px rgba(64,40,70,.08);
}

.btn-top{
  min-height:50px;
  padding:0 24px;
  color:#2b1c0d;
  background:var(--gradient-gold);
  box-shadow:0 14px 34px rgba(245,170,61,.22);
}

/* HERO */

.hero-clean{
  position:relative;
  padding:18px 0 0;
  background:var(--bg);
  overflow:hidden;
}

.hero-bg,
.hero-glow,
.hero-grid-lines{
  display:none !important;
}

/* HEADER */

.hero-nav{
  position:relative;
  z-index:10;
  min-height:88px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:22px;
  padding:12px 24px;
  border-radius:28px;
  background:rgba(255,255,255,.94);
  border:1px solid rgba(112,21,80,.12);
  box-shadow:0 18px 50px rgba(64,40,70,.12);
  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
}

.brand{
  display:flex;
  align-items:center;
}

.brand-logo{
  height:64px;
  width:auto;
  object-fit:contain;
}

.nav-actions{
  display:flex;
  align-items:center;
  gap:22px;
}

.nav-link{
  color:var(--wine);
  font-weight:900;
}

/* HERO IMAGE */

.hero-image-full{
  position:relative;
  z-index:1;
  width:100%;
  height:650px;
  margin-top:0;
  overflow:hidden;
  background:#f8eaf3;
}

.hero-image-full img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center 38%;
}

/* EYEBROW */

.section-eyebrow{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:54px;
  padding:0 34px;
  border-radius:999px;
  background:rgba(160,45,120,.075);
  border:1px solid rgba(160,45,120,.18);
  color:var(--primary);
  font-weight:900;
  font-size:1rem;
}

/* MASTER CLASS / EVENT SUMMARY */

.event-summary-section{
  position:relative;
  z-index:5;
  margin-top:36px;
  padding:86px 0 92px;
  overflow:hidden;
  background:
    linear-gradient(
      90deg,
      rgba(246,242,247,.88) 0%,
      rgba(246,242,247,.54) 45%,
      rgba(246,242,247,.88) 100%
    ),
    url("../img/ultra-master-bg.jpg") center center / cover no-repeat;
}
.event-summary-section::before{
  content:"";
  position:absolute;
  inset:0;
  background:
    radial-gradient(circle at 50% 42%, rgba(255,255,255,.44), transparent 45%),
    linear-gradient(
      180deg,
      rgba(246,242,247,.38) 0%,
      rgba(246,242,247,.12) 48%,
      rgba(246,242,247,.60) 100%
    );
  pointer-events:none;
  z-index:0;
}

.event-summary-section > .container{
  position:relative;
  z-index:2;
  display:grid;
  grid-template-columns:1fr;
  gap:32px;
  padding:44px;
  border-radius:38px;
  background:rgba(255,255,255,.88);
  border:1px solid rgba(255,255,255,.66);
  box-shadow:var(--shadow-strong);
  backdrop-filter:blur(14px);
  -webkit-backdrop-filter:blur(14px);
  overflow:hidden;
}

/* Imagen médica detrás de la tarjeta */
.event-summary-section > .container::before{
  content:"";
  position:absolute;
  left:50%;
  top:58%;
  width:190%;
  height:650px;
  transform:translate(-50%,-50%);
  background:url("../img/ondas.png") center center / contain no-repeat;
  opacity:.42;
  pointer-events:none;
  z-index:0;
}

/* Onda encima del fondo */

.event-summary-section > .container::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(
    180deg,
    rgba(255,255,255,.78) 0%,
    rgba(255,255,255,.46) 52%,
    rgba(255,255,255,.82) 100%
  );
  pointer-events:none;
  z-index:1;
}

.event-summary-section > .container > *{
  position:relative;
  z-index:2;
}

.event-summary-text{
  order:1;
}

.event-summary-info{
  order:2;
}

.event-summary-actions{
  order:3;
  display:flex;
  gap:24px;
  flex-wrap:wrap;
  padding-top:6px;
}

.event-summary-actions .btn{
  min-width:230px;
}

.event-summary-text .section-eyebrow{
  margin-bottom:24px;
  background:rgba(255,255,255,.68);
  backdrop-filter:blur(8px);
  -webkit-backdrop-filter:blur(8px);
}

.event-summary-text h2{
  margin:0 0 20px;
  font-size:clamp(3rem,5.2vw,5.25rem);
  line-height:.98;
  letter-spacing:-.06em;
  color:var(--text);
}

.event-summary-text p{
  max-width:980px;
  margin:0;
  color:var(--muted);
  font-size:1.16rem;
  line-height:1.78;
}

.event-summary-info{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:0;
  padding-top:28px;
  border-top:1px solid rgba(112,21,80,.14);
}

.summary-item{
  display:flex;
  align-items:center;
  gap:18px;
  padding:0 26px;
  border-right:1px solid rgba(112,21,80,.14);
}

.summary-item:first-child{
  padding-left:0;
}

.summary-item:last-child{
  border-right:0;
  padding-right:0;
}

.summary-item span{
  width:58px;
  height:58px;
  flex:0 0 58px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:50%;
  background:var(--gradient-main);
  box-shadow:0 14px 32px rgba(160,45,120,.20);
  font-size:1.3rem;
}

.summary-item small{
  display:block;
  margin-bottom:6px;
  color:var(--primary);
  font-weight:900;
  font-size:.92rem;
}

.summary-item strong{
  display:block;
  color:var(--text);
  font-size:1.08rem;
  line-height:1.22;
}

.summary-item p{
  margin:6px 0 0;
  color:var(--muted);
  font-size:.92rem;
  line-height:1.45;
}



/* BASE SECTIONS */

.section-bg-ultra,
.speakers-section,
.media-showcase-section{
  position:relative;
  overflow:hidden;
  background:var(--bg);
}

.section-bg-ultra::before,
.speakers-section::before,
.media-showcase-section::before{
  content:"";
  position:absolute;
  left:50%;
  top:50%;
  width:135vw;
  height:620px;
  transform:translate(-50%,-50%);
  background:url("../img/ondas.png") center center / contain no-repeat;
  opacity:.18;
  pointer-events:none;
  z-index:0;
}

.section-bg-ultra > .container,
.speakers-section > .container,
.media-showcase-section > .container{
  position:relative;
  z-index:2;
}

/* MARQUEE */

.brand-marquee-section{
  padding:22px 0 26px;
  background:var(--bg);
}

.brand-marquee{
  position:relative;
  overflow:hidden;
  border-radius:28px;
  background:#fff;
  border:1px solid rgba(112,21,80,.10);
  padding:30px 0;
  box-shadow:var(--shadow);
}

.brand-marquee::before,
.brand-marquee::after{
  content:"";
  position:absolute;
  top:0;
  width:120px;
  height:100%;
  z-index:2;
  pointer-events:none;
}

.brand-marquee::before{
  left:0;
  background:linear-gradient(to right,#fff,transparent);
}

.brand-marquee::after{
  right:0;
  background:linear-gradient(to left,#fff,transparent);
}

.brand-marquee-track{
  display:flex;
  align-items:center;
  gap:120px;
  width:max-content;
  animation:marqueeMove 34s linear infinite;
}

.brand-marquee-track img{
  height:78px;
  width:auto;
  object-fit:contain;
  opacity:.95;
}

@keyframes marqueeMove{
  from{
    transform:translateX(0);
  }
  to{
    transform:translateX(-50%);
  }
}
/* PROGRAMA ACADÉMICO */

.program-preview-section{
  position:relative;
  padding:92px 0 102px;
  background:var(--bg);
  overflow:hidden;
}

/* FONDO MÉDICO DETRÁS DE LA TARJETA */
.program-preview-section::before{
  content:"";
  position:absolute;
  inset:0;
  background:url("../img/ultra-master-bg.jpg") center center / cover no-repeat;
  opacity:.34;
  filter:grayscale(100%) contrast(115%) brightness(95%);
  pointer-events:none;
  z-index:0;
}

/* VELO SUAVE, PERO NO LO TAPA */
.program-preview-section::after{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(
      90deg,
      rgba(246,242,247,.88) 0%,
      rgba(246,242,247,.38) 45%,
      rgba(246,242,247,.88) 100%
    );
  pointer-events:none;
  z-index:1;
}

.program-float-wrap{
  position:relative;
  z-index:2;
  overflow:visible;
}

.program-preview-card{
  position:relative;
  z-index:2;
  max-width:900px;
  margin:0 auto;
  padding:56px 48px;
  border-radius:36px;
  text-align:center;
  overflow:hidden;
  background:rgba(255,255,255,.88);
  border:1px solid rgba(255,255,255,.62);
  box-shadow:
    0 30px 80px rgba(64,40,70,.18),
    inset 0 1px 0 rgba(255,255,255,.70);
  backdrop-filter:blur(14px);
  -webkit-backdrop-filter:blur(14px);
}

.program-preview-card::before{
  content:"";
  position:absolute;
  left:50%;
  top:57%;
  width:235%;
  height:760px;
  transform:translate(-50%,-50%);
  background:url("../img/ondas.png") center center / contain no-repeat;
  opacity:.72;
  pointer-events:none;
  z-index:0;
}

.program-preview-card::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(
    180deg,
    rgba(255,255,255,.78) 0%,
    rgba(255,255,255,.42) 48%,
    rgba(255,255,255,.82) 100%
  );
  pointer-events:none;
  z-index:1;
}

.program-preview-card > *{
  position:relative;
  z-index:3;
}

.program-preview-card .section-eyebrow{
  margin-bottom:34px;
  background:rgba(255,255,255,.66);
  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
}

.program-preview-card h2{
  margin:0 auto 16px;
  max-width:780px;
  font-size:clamp(2.2rem,4.4vw,4.25rem);
  line-height:1.02;
  letter-spacing:-.055em;
  color:var(--text);
}

.program-preview-card p{
  max-width:720px;
  margin:0 auto 30px;
  color:var(--muted);
  line-height:1.8;
  font-size:1.08rem;
}

.program-click-btn{
  gap:12px;
  margin-top:8px;
  position:relative;
  z-index:4;
}

.program-click-btn span{
  font-size:1.4rem;
}

/* ICONOS FLOTANTES PC */

.program-floating-icon{
  position:absolute;
  z-index:5;
  width:178px;
  height:178px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:34px;
  background:rgba(255,255,255,.90);
  border:1px solid rgba(255,255,255,.85);
  box-shadow:
    0 30px 80px rgba(64,40,70,.18),
    inset 0 1px 0 rgba(255,255,255,.9);
  backdrop-filter:blur(14px);
  -webkit-backdrop-filter:blur(14px);
  pointer-events:none;
  animation:floatIcon 6s ease-in-out infinite;
}

.program-floating-icon img{
  width:100px;
  height:100px;
  object-fit:contain;
}

.icon-transductor{
  --x:-50%;
  --y:-50%;
  --r:-10deg;
  left:8%;
  top:52%;
  transform:translate(var(--x),var(--y)) rotate(var(--r));
  animation-delay:0s;
}

.icon-utero{
  --x:50%;
  --y:-50%;
  --r:8deg;
  right:8%;
  top:18%;
  transform:translate(var(--x),var(--y)) rotate(var(--r));
  animation-delay:1.2s;
}

.icon-feto{
  --x:50%;
  --y:50%;
  --r:-7deg;
  right:8%;
  bottom:12%;
  transform:translate(var(--x),var(--y)) rotate(var(--r));
  animation-delay:2.2s;
}

@keyframes floatIcon{
  0%,100%{
    transform:translate(var(--x),var(--y)) translateY(0) scale(1) rotate(var(--r));
  }
  50%{
    transform:translate(var(--x),var(--y)) translateY(-16px) scale(1.035) rotate(var(--r));
  }
}

/* TABLET */

@media(max-width:1100px){
  .program-floating-icon{
    width:130px;
    height:130px;
    border-radius:28px;
    opacity:.88;
  }

  .program-floating-icon img{
    width:72px;
    height:72px;
  }

  .icon-transductor{
    left:5%;
  }

  .icon-utero{
    right:5%;
  }

  .icon-feto{
    right:5%;
  }
}

/* MOBILE */

@media(max-width:768px){
  .program-preview-section{
    padding:44px 0;
  }

  .program-preview-card{
  padding:34px 22px;
  border-radius:28px;
  background:rgba(255,255,255,.90);
}

  .program-preview-card::before{
    width:300%;
    height:500px;
    top:56%;
    opacity:.75;
  }

  .program-preview-card h2{
    font-size:clamp(2.05rem,9vw,3.1rem);
  }

  .program-preview-card p{
    font-size:1rem;
    line-height:1.65;
  }

  .program-floating-icon{
    width:58px;
    height:58px;
    border-radius:16px;

    /* MÁS VISIBLES */
    background:rgba(255,255,255,.62);
    border:1px solid rgba(255,255,255,.65);
    opacity:.68;

    box-shadow:0 14px 34px rgba(64,40,70,.12);

    backdrop-filter:blur(8px);
    -webkit-backdrop-filter:blur(8px);
  }

  .program-floating-icon img{
    width:32px;
    height:32px;

    /* ICONO MÁS VISIBLE */
    opacity:.95;
  }

  .icon-transductor{
    --x:-12%;
    --y:-50%;
    --r:-8deg;
    left:8px;
    top:50%;
  }

  .icon-utero{
    --x:12%;
    --y:-10%;
    --r:6deg;
    right:8px;
    top:28px;
  }

  .icon-feto{
    --x:12%;
    --y:20%;
    --r:-7deg;
    right:8px;
    bottom:28px;
  }
}

/* CELULARES PEQUEÑOS */

@media(max-width:430px){
  .program-floating-icon{
    width:48px;
    height:48px;
    border-radius:14px;
    opacity:.34;
  }

  .program-floating-icon img{
    width:26px;
    height:26px;
  }

  .icon-transductor{
    left:6px;
    top:48%;
  }

  .icon-utero{
    right:6px;
    top:20px;
  }

  .icon-feto{
    right:6px;
    bottom:20px;
  }
}
/* SPEAKERS */

.speakers-section{
  padding:58px 0;
}

.section-head{
  text-align:center;
  max-width:860px;
  margin:0 auto 46px;
}

.section-head .section-eyebrow{
  margin-bottom:34px;
}

.section-head h2{
  font-size:clamp(2.2rem,4vw,4rem);
  margin:0 0 14px;
  line-height:1.05;
  color:var(--text);
  letter-spacing:-.04em;
}

.section-head p{
  margin:0 auto;
  max-width:760px;
  line-height:1.8;
  color:var(--muted);
  font-size:1.08rem;
}

.speakers-grid{
  display:grid;
  grid-template-columns:1.15fr 1fr 1fr;
  gap:28px;
  align-items:stretch;
}

.speaker-card{
  position:relative;
  background:rgba(255,255,255,.96);
  border:1px solid rgba(112,21,80,.10);
  border-radius:32px;
  padding:32px 28px;
  box-shadow:var(--shadow);
  overflow:hidden;
  transition:transform .22s ease,box-shadow .22s ease;
}

.speaker-card:hover{
  transform:translateY(-6px);
  box-shadow:0 28px 70px rgba(64,40,70,.17);
}

.speaker-main{
  background:rgba(255,255,255,.98);
}

.speaker-image{
  position:relative;
  width:330px;
  height:330px;
  margin:0 auto 28px;
  display:flex;
  align-items:center;
  justify-content:center;
}

.speaker-image::before{
  content:"";
  position:absolute;
  inset:0;
  border-radius:50%;
  border:7px solid rgba(160,45,120,.16);
  z-index:0;
}

.speaker-image::after{
  content:"";
  position:absolute;
  width:180px;
  height:180px;
  border-radius:50%;
  background:rgba(160,45,120,.12);
  z-index:0;
}

.speaker-photo{
  position:relative;
  z-index:2;
  width:225px;
  height:225px;
  object-fit:contain;
  object-position:center bottom;
  border:0;
  border-radius:0;
  padding:0;
  background:transparent;
  box-shadow:none;
}

.speaker-main .speaker-photo{
  width:245px;
  height:245px;
}

.speaker-flag-img{
  position:absolute;
  left:58px;
  bottom:76px;
  z-index:4;
  width:52px;
  height:52px;
  object-fit:cover;
  border-radius:50%;
  border:4px solid #fff;
  background:#fff;
  box-shadow:0 10px 24px rgba(64,40,70,.20);
}

.speaker-info h3,
.speaker-card h4{
  margin:0 0 12px;
  color:var(--wine);
  letter-spacing:-.02em;
}

.speaker-info h3{
  font-size:2rem;
  line-height:1.08;
}

.speaker-card h4{
  font-size:1.75rem;
  line-height:1.15;
}

.speaker-role{
  margin:0 0 16px;
  font-weight:800;
  color:var(--secondary);
  line-height:1.5;
}

.speaker-desc,
.speaker-card p{
  margin:0;
  color:var(--muted);
  line-height:1.75;
  font-size:1rem;
}

@media(max-width:1100px){
  .speakers-grid{
    grid-template-columns:1fr;
  }

  .speaker-image{
    width:300px;
    height:300px;
  }

  .speaker-photo,
  .speaker-main .speaker-photo{
    width:220px;
    height:220px;
  }

  .speaker-flag-img{
    left:50px;
    bottom:68px;
  }
}
@media(max-width:768px){

  .speaker-image{
    width:240px;
    height:240px;
    overflow:visible;
  }

  .speaker-image::before{
    border-width:5px;
  }

  .speaker-image::after{
    width:135px;
    height:135px;
  }

  .speaker-photo,
  .speaker-main .speaker-photo{
    width:175px;
    height:175px;
  }

  .speaker-flag-img{
    width:40px !important;
    height:40px !important;
    left:auto !important;
    right:42px !important;
    bottom:44px !important;
    border:2px solid #fff;
    transform:none !important;
  }
}

@media(max-width:430px){

  .speaker-image{
    width:220px;
    height:220px;
  }

  .speaker-photo,
  .speaker-main .speaker-photo{
    width:160px;
    height:160px;
  }

  .speaker-flag-img{
    width:30px !important;
    height:30px !important;
    right:38px !important;
    bottom:40px !important;
  }
}
/* BENEFICIOS / EXPERIENCIA ACADÉMICA */

.benefits-premium{
  position:relative;
  padding:96px 0;
  overflow:hidden;
  background:
    linear-gradient(
      90deg,
      rgba(246,242,247,.92) 0%,
      rgba(246,242,247,.56) 48%,
      rgba(246,242,247,.92) 100%
    ),
    url("../img/Doppler.png") center center / cover no-repeat;
}

.benefits-premium::before{
  content:"";
  position:absolute;
  inset:0;
  background:
    radial-gradient(circle at 50% 38%, rgba(255,255,255,.42), transparent 46%),
    linear-gradient(
      180deg,
      rgba(246,242,247,.42) 0%,
      rgba(246,242,247,.18) 50%,
      rgba(246,242,247,.68) 100%
    );
  pointer-events:none;
  z-index:0;
}

.benefits-premium::after{
  content:"";
  position:absolute;
  left:50%;
  top:60%;
  width:170%;
  height:620px;
  transform:translate(-50%,-50%);
  background:url("../img/ondas.png") center center / contain no-repeat;
  opacity:.34;
  pointer-events:none;
  z-index:1;
}

.benefits-premium > .container,
.benefits-premium-head,
.benefits-premium-grid{
  position:relative;
  z-index:2;
}

/* Si en el HTML todavía existe este div, lo neutralizamos */
.benefits-bg-card{
  position:relative;
  padding:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
  overflow:visible;
}

.benefits-bg-card::before,
.benefits-bg-card::after{
  display:none;
}

.benefits-premium .wave-overlay{
  display:none;
}

.benefits-premium-head{
  max-width:900px;
  margin:0 auto 48px;
  text-align:center;
}

.benefits-premium-head .section-eyebrow{
  margin-bottom:30px;
  background:rgba(255,255,255,.58);
  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
}

.benefits-premium-head h2{
  margin:0 auto;
  max-width:880px;
  font-size:clamp(2.4rem,4.5vw,4.4rem);
  line-height:1.02;
  letter-spacing:-.05em;
  color:var(--text);
}

.benefits-premium-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:28px;
}

.benefit-premium-card{
  position:relative;
  min-height:280px;
  padding:34px;
  border-radius:32px;
  background:rgba(255,255,255,.92);
  border:1px solid rgba(255,255,255,.72);
  box-shadow:0 25px 70px rgba(64,40,70,.14);
  backdrop-filter:blur(12px);
  -webkit-backdrop-filter:blur(12px);
}

.benefit-premium-number{
  width:62px;
  height:62px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:20px;
  margin-bottom:22px;
  background:var(--gradient-main);
  color:#fff;
  font-weight:900;
  font-size:1.05rem;
}

.benefit-premium-card h3{
  margin:0 0 14px;
  font-size:1.55rem;
  line-height:1.12;
  color:var(--wine);
}

.benefit-premium-card p{
  margin:0;
  color:var(--muted);
  font-size:1.02rem;
  line-height:1.8;
}

/* MEDIA */

.media-showcase-section{
  padding:58px 0;
}

.media-showcase-head{
  max-width:860px;
  margin:0 auto 46px;
  text-align:center;
}

.media-showcase-head .section-eyebrow{
  margin-bottom:34px;
}

.media-showcase-head h2{
  margin:0 0 14px;
  font-size:clamp(2.2rem,4vw,4rem);
  line-height:1.04;
  letter-spacing:-.04em;
  color:var(--text);
}

.media-showcase-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:28px;
}

.media-video-card{
  display:flex;
  flex-direction:column;
  border-radius:32px;
  padding:18px;
  background:rgba(255,255,255,.96);
  border:1px solid rgba(112,21,80,.10);
  box-shadow:var(--shadow);
}

.media-video-frame,
.video-horizontal{
  width:100%;
  aspect-ratio:16 / 9;
  border-radius:24px;
  overflow:hidden;
  background:#000;
}

.media-video-frame iframe,
.video-horizontal iframe{
  width:100%;
  height:100%;
  border:0;
  display:block;
}

.media-video-info{
  padding:18px 4px 4px;
}

.media-video-info h4{
  margin:0 0 8px;
  font-size:1.25rem;
  color:var(--wine);
}

.media-video-info p{
  margin:0;
  color:var(--muted);
  line-height:1.7;
  font-size:.98rem;
}

.media-gallery-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:20px;
}

.media-gallery-item{
  aspect-ratio:1 / 1;
  border-radius:26px;
  overflow:hidden;
  background:#fff;
  border:1px solid rgba(112,21,80,.10);
  box-shadow:var(--shadow);
  transition:transform .22s ease;
}

.media-gallery-item:hover{
  transform:translateY(-5px);
}

.media-gallery-item img{
  width:100%;
  height:100%;
  object-fit:cover;
}

/* REGISTRO */

.form-section{
  position:relative;
  overflow:hidden;

  background:
    linear-gradient(
      90deg,
      rgba(246,242,247,.88) 0%,
      rgba(246,242,247,.72) 45%,
      rgba(246,242,247,.90) 100%
    ),
    url("../img/ultra-master-bg.jpg") center center / cover no-repeat;
}


.form-section::after{
  content:"";
  position:absolute;
  inset:0;
  background:
    radial-gradient(circle at 30% 50%, rgba(255,255,255,.6), transparent 40%),
    radial-gradient(circle at 70% 40%, rgba(255,255,255,.5), transparent 50%);
  pointer-events:none;
  z-index:1;
}
.form-section > .container{
  position:relative;
  z-index:2;
}

.form-wrapper{
  position:relative;
  display:grid;
  grid-template-columns:.92fr 1.08fr;
  gap:38px;
  align-items:center;
  overflow:visible;
}

.form-wrapper::before{
  content:"";
  position:absolute;
  left:38%;
  top:58%;
  width:170%;
  height:720px;
  transform:translate(-50%,-50%);
  background:url("../img/ondas.png") center center / contain no-repeat;
  opacity:.56;
  pointer-events:none;
  z-index:0;
}

.form-wrapper > *{
  position:relative;
  z-index:2;
}

.form-side{
  position:relative;
  z-index:2;
  padding:18px 8px 0;
}

.form-side .section-eyebrow{
  margin-bottom:34px;
  background:rgba(255,255,255,.58);
  backdrop-filter:blur(8px);
  -webkit-backdrop-filter:blur(8px);
}

.form-side h2{
  margin:0 0 14px;
  font-size:clamp(2.6rem,4.6vw,4.4rem);
  line-height:1.02;
  letter-spacing:-.055em;
  color:var(--text);
}

.form-side p{
  margin:0 0 8px;
  max-width:560px;
  color:var(--muted);
  font-size:1.08rem;
  line-height:1.85;
}

.form-equipo-wrap{
  position:relative;
  z-index:2;
  width:100%;
  max-width:560px;
  margin:-28px auto 0;
  pointer-events:none;
}

.form-equipo-wrap::before{
  content:"";
  position:absolute;
  left:50%;
  bottom:2%;
  width:82%;
  height:110px;
  transform:translateX(-50%);
  background:radial-gradient(ellipse, rgba(112,21,80,.20), transparent 70%);
  filter:blur(12px);
  z-index:0;
}

.form-equipo-img{
  position:relative;
  z-index:1;
  width:100%;
  max-height:570px;
  object-fit:contain;
  filter:drop-shadow(0 30px 42px rgba(64,40,70,.20));
  animation:equipoFloat 6s ease-in-out infinite;
}

@keyframes equipoFloat{
  0%,100%{
    transform:translateY(0);
  }
  50%{
    transform:translateY(-10px);
  }
}

.form-card{
  padding:36px;
  border-radius:34px;
  background:rgba(255,255,255,.96);
  border:1px solid rgba(112,21,80,.10);
  box-shadow:0 28px 80px rgba(64,40,70,.14);
  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
}

.form-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:18px 20px;
}

.field{
  display:flex;
  flex-direction:column;
  gap:10px;
}

.field-full{
  grid-column:1 / -1;
}

.field label{
  font-size:.95rem;
  font-weight:800;
  color:var(--text);
}

.field input{
  width:100%;
  min-height:58px;
  padding:0 18px;
  border-radius:16px;
  border:1px solid rgba(112,21,80,.14);
  background:rgba(251,248,251,.92);
  color:var(--text);
  outline:none;
  transition:border-color .18s ease, box-shadow .18s ease, background .18s ease;
}

.field input:focus{
  border-color:rgba(160,45,120,.55);
  box-shadow:0 0 0 4px rgba(160,45,120,.10);
  background:#fff;
}

.checkbox-field{
  margin-top:4px;
}

.checkbox-wrap{
  display:flex;
  align-items:flex-start;
  gap:12px;
  font-weight:500 !important;
  color:var(--muted) !important;
  line-height:1.6;
}

.checkbox-wrap input{
  width:18px;
  height:18px;
  min-height:auto;
  margin-top:3px;
}

.btn-submit{
  width:100%;
}

.form-message{
  min-height:24px;
  margin-top:6px;
  font-weight:700;
  font-size:1rem;
  line-height:1.6;
}

.form-message.success{
  color:#178848;
}

.form-message.error{
  color:#c23434;
}

.btn-loading{
  opacity:.75;
  pointer-events:none;
  filter:saturate(.85);
}

input.error{
  border:1px solid #ff6b6b !important;
  box-shadow:0 0 0 2px rgba(255,107,107,.2);
}

.checkbox-wrap.error{
  outline:1px solid #ff6b6b;
  border-radius:8px;
  padding:6px;
}

@media(max-width:1100px){
  .form-wrapper{
    grid-template-columns:1fr;
  }

  .form-side{
    text-align:center;
  }

  .form-side p{
    margin-left:auto;
    margin-right:auto;
  }

  .form-equipo-wrap{
    max-width:420px;
    margin:4px auto 0;
  }

  .form-equipo-img{
    max-height:460px;
  }
}

@media(max-width:768px){
  .form-section{
    padding:44px 0 54px;
  }

  .registro-bg-medico{
    opacity:.28;
    background-position:center top;
  }

  .form-wrapper{
    gap:26px;
  }

  .form-wrapper::before{
    left:50%;
    top:38%;
    width:280%;
    height:640px;
    opacity:.42;
  }

  .form-side{
    padding:0;
    text-align:left;
  }

  .form-side h2{
    font-size:clamp(2.4rem,12vw,3.5rem);
  }

  .form-side p{
    font-size:1rem;
    line-height:1.7;
  }

  .form-equipo-wrap{
    max-width:300px;
    margin:4px auto 0;
  }

  .form-equipo-img{
    max-height:360px;
  }

  .form-card{
    padding:22px;
    border-radius:26px;
  }

  .form-grid{
    grid-template-columns:1fr;
  }
}
/* MODALES */

.loading-overlay,
.success-modal{
  position:fixed;
  inset:0;
  background:rgba(20,21,39,.72);
  backdrop-filter:blur(6px);
  -webkit-backdrop-filter:blur(6px);
  display:flex;
  align-items:center;
  justify-content:center;
  opacity:0;
  visibility:hidden;
  transition:opacity .22s ease,visibility .22s ease;
  z-index:9998;
}

.success-modal{
  z-index:9999;
}

.loading-overlay.active,
.success-modal.active{
  opacity:1;
  visibility:visible;
}

.loading-box,
.success-box{
  width:min(92vw,520px);
  padding:34px 28px;
  border-radius:28px;
  background:#fff;
  border:1px solid rgba(112,21,80,.10);
  text-align:center;
  box-shadow:0 20px 60px rgba(0,0,0,.25);
}

.loading-box h3,
.success-box h3{
  margin:0 0 10px;
  font-size:1.5rem;
  color:var(--wine);
}

.loading-box p,
.success-box p{
  margin:0 0 22px;
  color:var(--muted);
  line-height:1.7;
}

.loader-spinner{
  width:60px;
  height:60px;
  margin:0 auto 18px;
  border-radius:50%;
  border:4px solid rgba(160,45,120,.16);
  border-top-color:var(--primary);
  animation:spinLoader 1s linear infinite;
}

.success-icon{
  width:72px;
  height:72px;
  margin:0 auto 18px;
  border-radius:50%;
  display:flex;
  align-items:center;
  justify-content:center;
  background:var(--gradient-main);
  color:#fff;
  font-weight:900;
  font-size:2rem;
}

@keyframes spinLoader{
  to{
    transform:rotate(360deg);
  }
}

/* PROGRAMA PAGE */

.program-page{
  min-height:100vh;
  padding:24px 0 100px;
  background:var(--bg);
}

.program-page-nav{
  margin-bottom:70px;
}

.program-page-head{
  max-width:920px;
  margin:0 auto 40px;
  text-align:center;
}

.program-page-head h1{
  margin:18px 0 16px;
  font-size:clamp(2.5rem,5vw,5rem);
  line-height:.98;
  letter-spacing:-.055em;
  color:var(--text);
}

.program-page-head p{
  max-width:760px;
  margin:0 auto;
  color:var(--muted);
  font-size:1.08rem;
  line-height:1.85;
}

.program-page-actions{
  display:flex;
  justify-content:center;
  gap:16px;
  flex-wrap:wrap;
  margin-top:32px;
}

.program-page-tabs,
.program-tabs{
  display:flex;
  justify-content:center;
  gap:12px;
  margin:48px 0 34px;
}

.program-day-btn,
.tab-btn{
  min-height:48px;
  padding:0 24px;
  border-radius:999px;
  border:1px solid rgba(112,21,80,.16);
  background:#fff;
  color:var(--wine);
  font-weight:800;
  cursor:pointer;
  transition:.22s ease;
}

.program-day-btn.active,
.tab-btn.active{
  border-color:transparent;
  background:var(--gradient-main);
  color:#fff;
  box-shadow:0 14px 34px rgba(160,45,120,.20);
}

.program-day-panel,
.program-content{
  display:none;
}

.program-day-panel.active,
.program-content.active{
  display:block;
}

.program-day-title-card{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  padding:22px 28px;
  border-radius:28px 28px 0 0;
  background:var(--gradient-band);
}

.program-day-title-card span{
  color:#ffe4f3;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.06em;
}

.program-day-title-card h2{
  margin:0;
  font-size:clamp(1.6rem,3vw,2.4rem);
  color:#fff;
}

.program-table{
  border-radius:0 0 30px 30px;
  overflow:hidden;
  border:1px solid rgba(112,21,80,.10);
  background:#fff;
  box-shadow:var(--shadow);
}

.program-row{
  display:grid;
  grid-template-columns:260px 1fr;
  gap:24px;
  align-items:center;
  padding:22px 28px;
  border-bottom:1px solid rgba(112,21,80,.10);
  background:#fff;
}

.program-row:last-child{
  border-bottom:0;
}

.program-row:hover{
  background:#fbf5fa;
}

.program-hour,
.program-time{
  color:var(--primary);
  font-weight:900;
  font-size:1.02rem;
}

.program-detail h3{
  margin:0 0 6px;
  color:var(--text);
  font-size:1.14rem;
}

.program-detail p{
  margin:0;
  color:var(--muted);
  line-height:1.65;
}

.program-row.featured{
  background:#fbf5fa;
}

.program-row.live .program-detail h3{
  color:var(--wine);
}

.program-row.hands .program-detail h3{
  color:var(--secondary);
}

.program-row.break{
  opacity:.78;
}

.program-bottom-cta{
  max-width:760px;
  margin:54px auto 0;
  padding:42px 34px;
  border-radius:32px;
  text-align:center;
  background:#fff;
  border:1px solid rgba(112,21,80,.10);
  box-shadow:var(--shadow);
}

.program-bottom-cta h2{
  margin:0 0 10px;
  color:var(--text);
  font-size:clamp(1.8rem,3vw,3rem);
}

.program-bottom-cta p{
  margin:0 0 26px;
  color:var(--muted);
}

/* TABLET */

@media(max-width:1100px){
  .hero-image-full{
    height:560px;
  }

  .event-summary-info{
    grid-template-columns:repeat(2,1fr);
    gap:16px;
    border-top:0;
    padding-top:0;
  }

  .summary-item,
  .summary-item:first-child,
  .summary-item:last-child{
    padding:18px;
    border:1px solid rgba(112,21,80,.10);
    border-radius:20px;
    background:rgba(255,255,255,.88);
  }

  .speakers-grid,
  .benefits-premium-grid,
  .media-showcase-grid,
  .form-wrapper{
    grid-template-columns:1fr;
  }

  .speaker-main .speaker-image img{
    width:280px;
    height:280px;
  }

  .program-preview-card::before{
    width:245%;
    height:690px;
  }

  .form-wrapper::before{
    left:50%;
    width:210%;
  }

  .benefits-bg-card{
    padding:64px 34px 58px;
  }

  .benefits-premium-grid{
    grid-template-columns:1fr;
  }
}

/* MOBILE */

@media(max-width:768px){
  .container{
    width:min(var(--container),calc(100% - 22px));
  }

  .hero-clean{
    padding:10px 0 0;
  }

  .hero-nav{
    min-height:104px;
    justify-content:center;
    padding:12px;
    border-radius:24px;
  }

  .brand{
    width:100%;
    justify-content:center;
  }

  .brand-logo{
    height:54px;
    margin:0 auto;
  }

  .nav-actions{
    display:none;
  }

  .hero-image-full{
    height:auto;
    margin-top:0;
    overflow:visible;
    background:#f8eaf3;
  }

  .hero-image-full img{
    width:100%;
    height:auto;
    object-fit:contain;
    object-position:center center;
  }

  .event-summary-section{
    margin-top:14px;
    padding:0 0 28px;
  }

  .event-summary-section > .container{
    padding:22px 16px;
    border-radius:28px;
    gap:22px;
  }

  .event-summary-section > .container::before{
    width:260%;
    height:540px;
    top:52%;
    opacity:.55;
  }

  .event-summary-text .section-eyebrow{
    margin-bottom:18px;
  }

  .event-summary-text h2{
    font-size:clamp(2.15rem,10vw,3.4rem);
    line-height:1;
    letter-spacing:-.045em;
  }

  .event-summary-text p{
    font-size:1rem;
    line-height:1.65;
  }

  .event-summary-info{
    grid-template-columns:1fr;
    gap:12px;
    border-top:0;
    padding-top:0;
  }

  .summary-item,
  .summary-item:first-child,
  .summary-item:last-child{
    padding:16px;
    border-radius:20px;
    border:1px solid rgba(112,21,80,.10);
    background:rgba(255,255,255,.90);
    box-shadow:0 10px 24px rgba(64,40,70,.08);
  }

  .summary-item span{
    width:50px;
    height:50px;
    flex:0 0 50px;
  }

  .event-summary-actions{
    flex-direction:column;
    gap:14px;
  }

  .event-summary-actions .btn{
    width:100%;
    min-width:0;
  }

  .brand-marquee-section{
    padding:18px 0 22px;
  }

  .brand-marquee{
    border-radius:22px;
    padding:22px 0;
  }

  .brand-marquee-track{
    gap:70px;
    animation-duration:26s;
  }

  .brand-marquee-track img{
    height:58px;
  }

  .program-preview-section{
    padding:34px 0;
  }

  .program-preview-card{
    padding:34px 22px;
    border-radius:28px;
    background:rgba(255,255,255,.86);
  }

  .program-preview-card::before{
    width:300%;
    height:500px;
    top:56%;
    opacity:.75;
  }

  .program-preview-card::after{
    background:linear-gradient(
      180deg,
      rgba(255,255,255,.82) 0%,
      rgba(255,255,255,.44) 52%,
      rgba(255,255,255,.82) 100%
    );
  }

  .speakers-section,
  .benefits-premium,
  .media-showcase-section,
  .form-section{
    padding:34px 0;
  }

  .section-bg-ultra::before,
  .speakers-section::before,
  .media-showcase-section::before{
    width:200vw;
    height:560px;
    opacity:.20;
  }

  .benefits-bg-card{
    padding:44px 20px;
    border-radius:32px;
  }

  .benefits-bg-card::before{
    background:
      linear-gradient(
        180deg,
        rgba(246,242,247,.66) 0%,
        rgba(246,242,247,.56) 45%,
        rgba(246,242,247,.90) 100%
      ),
      url("../img/Doppler.png") center top / cover no-repeat;
  }

  .benefits-premium .wave-overlay{
    width:260%;
    height:520px;
    top:55%;
    opacity:.36;
  }

  .benefits-premium-grid{
    grid-template-columns:1fr;
    gap:18px;
  }

  .benefit-premium-card{
    min-height:auto;
    padding:26px 22px;
    border-radius:26px;
  }

  .form-wrapper::before{
    left:50%;
    top:45%;
    width:280%;
    height:680px;
    opacity:.55;
  }

  .section-eyebrow{
    min-height:48px;
    padding:0 24px;
    font-size:.95rem;
  }

  .section-head .section-eyebrow,
  .benefits-premium-head .section-eyebrow,
  .media-showcase-head .section-eyebrow,
  .program-preview-card .section-eyebrow,
  .form-side .section-eyebrow{
    margin-bottom:24px;
  }

  .section-head h2,
  .benefits-premium-head h2,
  .media-showcase-head h2,
  .program-preview-card h2{
    font-size:clamp(2.2rem,10vw,3.2rem);
    line-height:1.05;
  }

  .program-preview-card p{
    font-size:1rem;
    line-height:1.65;
  }

  .speaker-card{
    padding:26px 22px;
  }

  .speaker-image{
    min-height:260px;
  }

  .speaker-image img{
    width:230px;
    height:230px;
  }

  .speaker-main .speaker-image img{
    width:250px;
    height:250px;
  }

  .speaker-info h3{
    font-size:1.7rem;
  }

  .speaker-card h4{
    font-size:1.45rem;
  }

  .speaker-flag{
    font-size:1.45rem;
  }

  .media-gallery-grid{
    grid-template-columns:1fr 1fr;
    gap:14px;
  }

  .media-video-card{
    border-radius:24px;
    padding:14px;
  }

  .media-video-frame,
  .video-horizontal{
    border-radius:18px;
  }

  .form-side{
    padding:0;
  }

  .form-card{
    padding:22px;
    border-radius:24px;
  }

  .form-grid{
    grid-template-columns:1fr;
  }

  .program-row{
    grid-template-columns:1fr;
    gap:8px;
    padding:20px;
  }

  .program-day-title-card{
    flex-direction:column;
    align-items:flex-start;
    padding:22px;
  }

  .program-page-actions{
    flex-direction:column;
  }

  .program-page-actions .btn,
  .program-bottom-cta .btn{
    width:100%;
  }
}

/* SMALL MOBILE */

@media(max-width:430px){
  .brand-logo{
    height:50px;
  }

  .event-summary-section > .container{
    padding:20px 16px;
  }

  .event-summary-text h2{
    font-size:2.15rem;
  }

  .summary-item{
    gap:14px;
  }

  .program-preview-card{
    padding:30px 18px;
  }

  .program-preview-card h2{
    font-size:2rem;
  }
}

/* PERFORMANCE */

.brand-marquee-track,
.hero-image-full img,
.brand-logo,
.btn,
.speaker-card,
.benefit-premium-card,
.media-gallery-item{
  backface-visibility:hidden;
  -webkit-backface-visibility:hidden;
}

@media(prefers-reduced-motion:reduce){
  *{
    animation-duration:.01ms !important;
    animation-iteration-count:1 !important;
    scroll-behavior:auto !important;
  }
}
.speaker-name-flag{
  display:block;
}

.speaker-country{
  width:34px;
  height:34px;
  display:flex;
  align-items:center;
  justify-content:center;
  margin:0 0 14px;
  border-radius:50%;
  background:#fff;
  overflow:hidden;
  box-shadow:0 8px 18px rgba(64,40,70,.16);
  border:2px solid #fff;
}

.speaker-country img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
  transform:scale(1.18);
}

.speaker-info h3,
.speaker-card h4{
  margin-bottom:10px;
}
.speaker-name{
  display:flex;
  align-items:center;
  gap:10px;
  flex-wrap:wrap;
}

.flag-icon{
  width:32px;
  height:32px;
  object-fit:cover;
  border-radius:50%;
  flex-shrink:0;

  box-shadow:0 2px 6px rgba(0,0,0,.15);
  border:1.5px solid #fff;
}