/* iVanNutrición · Invitación a primera consulta gratis, exclusiva de Inicio.
   Sustituye el bloque antiguo de objetivos sin tocar el hero, el menú o Reserva. */
body.page-home .ivn-free-visit {
  position:relative;
  isolation:isolate;
  padding:clamp(27px,4vw,61px) 0 clamp(39px,5vw,76px);
  overflow:hidden;
  background:
    radial-gradient(ellipse 62% 54% at 80% 12%,rgba(225,187,248,.31),transparent 80%),
    linear-gradient(155deg,#fdfaff 0%,#f8f0ff 58%,#fdf9ff 100%);
}
body.page-home .ivn-free-visit .wrap{
  position:relative;
  z-index:1;
}
body.page-home .ivn-free-visit-card {
  position:relative;
  overflow:hidden;
  isolation:isolate;
  display:grid;
  grid-template-columns:minmax(0,1.5fr) minmax(240px,.72fr);
  align-items:center;
  gap:clamp(24px,4vw,65px);
  min-height:310px;
  padding:clamp(30px,4.3vw,61px) clamp(26px,5.3vw,76px);
  border:1px solid rgba(255,255,255,.97);
  border-radius:clamp(23px,2.8vw,36px);
  background:linear-gradient(115deg,rgba(255,255,255,.96) 0%,rgba(255,250,255,.90) 49%,rgba(240,218,255,.76) 100%);
  box-shadow:0 22px 68px rgba(101,47,151,.13),inset 0 1px 0 #fff;
  -webkit-backdrop-filter:blur(14px);
  backdrop-filter:blur(14px);
}
body.page-home .ivn-free-visit-card::before{
  content:"";
  position:absolute;
  z-index:-1;
  width:450px;
  height:450px;
  right:-145px;
  top:-175px;
  border-radius:50%;
  background:radial-gradient(circle,rgba(207,119,246,.20),transparent 70%);
  pointer-events:none;
}
body.page-home .ivn-free-visit-card::after{
  content:"";
  position:absolute;
  z-index:-1;
  inset:auto -13% -65% 46%;
  height:270px;
  border-radius:50%;
  background:radial-gradient(ellipse,rgba(213,164,248,.21),transparent 74%);
  pointer-events:none;
}
body.page-home .ivn-free-visit-copy{position:relative;z-index:2}
body.page-home .ivn-free-visit-eyebrow{
  display:inline-flex;
  align-items:center;
  gap:9px;
  margin:0 0 16px;
  padding:8px 13px;
  border:1px solid rgba(185,117,223,.28);
  border-radius:999px;
  background:rgba(247,232,255,.79);
  color:#7725aa;
  font-size:11px;
  font-weight:850;
  line-height:1.2;
  letter-spacing:1.15px;
  text-transform:uppercase;
}
body.page-home .ivn-free-visit-eyebrow::before{
  content:"✦";
  font-size:14px;
  line-height:1;
  color:#ae3dda;
}
body.page-home .ivn-free-visit-title{
  max-width:800px;
  margin:0 0 18px;
  color:#24114f;
  font-size:clamp(34px,3.6vw,55px);
  font-weight:850;
  line-height:1.08;
  letter-spacing:-1.8px;
}
body.page-home .ivn-free-visit-title em{
  font-style:normal;
  color:#9829d4;
}
body.page-home .ivn-free-visit-description{
  max-width:690px;
  margin:0 0 15px;
  color:#55416f;
  font-size:clamp(15px,1.32vw,17px);
  line-height:1.64;
  font-weight:500;
}
body.page-home .ivn-free-visit-promise{
  display:flex;
  align-items:flex-start;
  gap:10px;
  max-width:650px;
  margin:0 0 25px;
  color:#49305d;
  font-size:14px;
  font-weight:670;
  line-height:1.5;
}
body.page-home .ivn-free-visit-promise svg{
  width:19px;
  height:19px;
  flex:none;
  margin-top:1px;
  color:#8730be;
}
body.page-home .ivn-free-visit-action{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:18px;
  max-width:100%;
  min-height:54px;
  padding:14px 25px;
  border:1px solid rgba(255,219,255,.96);
  border-radius:16px;
  background:linear-gradient(112deg,#7824d3,#9e2ddb 55%,#cb37cc);
  color:#fff;
  font-size:15px;
  line-height:1.3;
  font-weight:790;
  text-align:center;
  text-decoration:none;
  box-shadow:0 9px 25px rgba(121,40,189,.24),inset 0 1px 0 rgba(255,255,255,.4);
  transition:box-shadow .17s ease,filter .17s ease;
}
body.page-home .ivn-free-visit-action:hover,
body.page-home .ivn-free-visit-action:focus-visible{
  color:#fff;
  filter:brightness(1.065);
  box-shadow:0 12px 29px rgba(121,40,189,.35),inset 0 1px 0 rgba(255,255,255,.45);
}
body.page-home .ivn-free-visit-action:focus-visible{
  outline:3px solid #612094;
  outline-offset:4px;
}
body.page-home .ivn-free-visit-action svg{
  width:19px;
  height:19px;
  flex:none;
  stroke:currentColor;
}
body.page-home .ivn-free-visit-footnote{
  margin:12px 0 0;
  color:#766389;
  font-size:12px;
  font-weight:600;
  letter-spacing:.15px;
}
body.page-home .ivn-free-visit-emblem{
  position:relative;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  width:min(100%,283px);
  aspect-ratio:1;
  margin-inline:auto;
  border:1px solid rgba(255,255,255,.92);
  border-radius:50%;
  background:
    radial-gradient(circle at 30% 24%,rgba(255,255,255,.96) 0%,rgba(250,233,255,.96) 42%,rgba(210,160,248,.78) 100%);
  box-shadow:
    0 0 0 13px rgba(251,241,255,.70),
    0 0 0 14px rgba(180,112,223,.23),
    0 18px 46px rgba(123,49,166,.15),
    inset 0 8px 19px rgba(255,255,255,.9),
    inset 0 -12px 26px rgba(133,54,185,.09);
  color:#5e258d;
  text-align:center;
  pointer-events:none;
}
body.page-home .ivn-free-visit-emblem::before,
body.page-home .ivn-free-visit-emblem::after{
  content:"✦";
  position:absolute;
  color:#ba58e6;
  opacity:.85;
  text-shadow:0 0 13px rgba(217,147,252,.75);
}
body.page-home .ivn-free-visit-emblem::before{top:13%;right:14%;font-size:25px}
body.page-home .ivn-free-visit-emblem::after{bottom:20%;left:12%;font-size:15px}
body.page-home .ivn-free-visit-price{
  display:block;
  margin:0;
  color:#64209c;
  font-size:clamp(68px,7vw,99px);
  font-weight:880;
  line-height:1;
  letter-spacing:-6px;
  text-shadow:0 3px 0 rgba(255,255,255,.8);
}
body.page-home .ivn-free-visit-caption{
  display:block;
  max-width:170px;
  margin-top:5px;
  color:#583b73;
  font-size:12px;
  font-weight:780;
  letter-spacing:1.6px;
  line-height:1.55;
  text-transform:uppercase;
}
@media(max-width:1050px){
  body.page-home .ivn-free-visit-card{
    grid-template-columns:minmax(0,1fr) minmax(180px,.48fr);
  }
  body.page-home .ivn-free-visit-emblem{max-width:215px}
}
@media(max-width:760px){
  body.page-home .ivn-free-visit-card{
    display:flex;
    flex-direction:column-reverse;
    align-items:stretch;
    gap:27px;
    padding:29px 24px 32px;
  }
  body.page-home .ivn-free-visit-emblem{
    width:145px;
    height:145px;
    align-self:flex-start;
    margin:5px 0 0 15px;
  }
  body.page-home .ivn-free-visit-price{
    font-size:61px;
    letter-spacing:-4px;
  }
  body.page-home .ivn-free-visit-caption{font-size:9px;max-width:110px}
  body.page-home .ivn-free-visit-title{font-size:clamp(32px,7vw,46px);letter-spacing:-1.4px}
  body.page-home .ivn-free-visit-action{width:100%;padding:15px 14px}
}
@media(prefers-reduced-motion:reduce){
  body.page-home .ivn-free-visit-action{transition:none}
}
