/* Fuentes alojadas en el sitio (sin @import) */
@font-face{font-family:'Fraunces';font-style:italic;font-weight:400;font-display:swap;src:url(../fonts/fraunces-400-italic.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'Fraunces';font-style:normal;font-weight:900;font-display:swap;src:url(../fonts/fraunces-900.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'Poppins';font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/poppins-400.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'Poppins';font-style:normal;font-weight:500;font-display:swap;src:url(../fonts/poppins-500.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'Poppins';font-style:normal;font-weight:600;font-display:swap;src:url(../fonts/poppins-600.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'Poppins';font-style:normal;font-weight:700;font-display:swap;src:url(../fonts/poppins-700.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}

/* ---------- Base ---------- */
:root{
  --rosa-panel:#FDCDD9;
  --rosa-circulo:#FECBD9;
  --fucsia:#E12B64;
  --fucsia-texto:#C41F55;
  --fucsia-vivo:#F7467A;
  --rosa-burbuja:#FCA8C0;
  --azul:#13263A;
  --tinta:#0D2139;
  --gris:#6B6F7B;
  --gris-claro:#6F737D;
  --linea:#ECE7EA;
  --arco-rosa:#FECFDF;
  --arco-durazno:#FED4CA;
  --arco-celeste:#C6E7FD;
  --arco-lila:#E6DCF7;
  --serif:"Fraunces", Georgia, "Times New Roman", serif;
  --sans:"Poppins", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  /* 1u = 1 % del lienzo (hasta 1440 px de ancho); la portada además se ajusta a la altura de la pantalla */
  --u:min(1vw, 14.4px);
  --uh:min(1vw, 14.4px, 1.3vh);
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;background:#fff;color:var(--tinta);font-family:var(--sans);font-size:16px;line-height:1.55;-webkit-font-smoothing:antialiased}
img{display:block;max-width:100%;height:auto}
a{color:inherit}
button{font:inherit;color:inherit;background:none;border:0;padding:0;cursor:pointer}
h1,h2,h3,p{margin:0}
.ico{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.ico--relleno{fill:currentColor;stroke:none}
[hidden]{display:none!important}
:focus-visible{outline:2px solid var(--fucsia);outline-offset:3px;border-radius:6px}
.saltar{position:absolute;left:-999px;top:8px;z-index:100;background:var(--azul);color:#fff;padding:10px 16px;border-radius:999px}
.saltar:focus{left:12px}

.pastilla{display:inline-flex;align-items:center;background:var(--azul);color:#fff;font-weight:500;letter-spacing:.02em;text-transform:uppercase;border-radius:999px;white-space:nowrap}
.titular{font-family:var(--serif);font-weight:900;color:var(--fucsia);letter-spacing:-.02em;line-height:.98}

.boton{display:inline-flex;align-items:center;gap:10px;font-weight:600;text-decoration:none;border-radius:999px;padding:15px 28px;font-size:16px;transition:transform .2s ease,box-shadow .2s ease}
.boton .ico{width:20px;height:20px}
.boton:hover{transform:translateY(-2px)}
.boton--fucsia{background:#DB2860;color:#fff;box-shadow:0 10px 24px rgba(231,48,106,.28)}
.boton--azul{background:var(--azul);color:#fff;box-shadow:0 10px 24px rgba(19,38,58,.22)}

.seccion__titulo{font-family:var(--sans);font-weight:700;text-transform:uppercase;text-align:center;color:var(--tinta);letter-spacing:.01em;font-size:calc(var(--u)*3.3);line-height:1.15}
.seccion__sub{font-family:var(--serif);font-style:italic;font-weight:400;text-align:center;color:var(--tinta);font-size:calc(var(--u)*2.9);line-height:1.2;margin-top:4px}

/* ---------- Navegación (encima del hero, no fija) ---------- */
.nav{position:absolute;top:0;left:50%;transform:translateX(-50%);width:calc(var(--uh)*100);height:calc(var(--uh)*11.7);z-index:20;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:0 calc(var(--uh)*4)}
.nav__izq{display:flex;align-items:center;gap:calc(var(--uh)*1.6);padding-left:calc(var(--uh)*1)}
.nav__der{display:flex;justify-content:flex-end;align-items:center;gap:calc(var(--uh)*1.4);padding-right:calc(var(--uh)*.6)}
.nav__btn{position:relative;display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;color:var(--tinta)}
.nav__btn .ico{width:22px;height:22px;stroke-width:1.5}
.nav__izq .nav__btn .ico{width:28px;height:28px}
.nav__idioma{font-weight:500;font-size:calc(var(--uh)*1.55);color:var(--tinta)}
.nav__logo{display:block;width:calc(var(--uh)*7.4);margin-top:calc(var(--uh)*.3)}
.nav__logo img{width:100%;height:auto}
.nav__cuenta{position:absolute;top:-2px;right:-4px;min-width:17px;height:17px;padding:0 4px;border-radius:9px;background:var(--fucsia);color:#fff;font-size:10.5px;font-weight:600;line-height:17px;text-align:center}

/* Menú desplegable: cerrado = display:none (no ensancha la página) */
.menu{display:none;position:fixed;inset:0;z-index:60;background:var(--rosa-panel);padding:90px 28px 40px;flex-direction:column;gap:28px;overflow-y:auto}
.menu.abierto{display:flex}
.menu ul{list-style:none;margin:0;padding:0;display:grid;gap:6px}
.menu ul a{display:block;font-family:var(--serif);font-weight:900;font-size:clamp(30px,5vw,48px);line-height:1.15;color:var(--fucsia);text-decoration:none;padding:4px 0}
.menu ul a:hover{color:var(--azul)}
.menu .boton{align-self:flex-start}
.menu__cerrar{position:absolute;top:18px;right:22px;width:48px;height:48px;font-size:38px;line-height:1;color:var(--tinta)}
body.sin-scroll{overflow:hidden}

/* ---------- Hero ---------- */
.hero{position:relative;overflow-x:clip}
.hero__panel{position:absolute;left:0;top:0;width:50%;height:calc(var(--uh)*73.2);background:var(--rosa-panel)}
.hero__lienzo{position:relative;width:calc(var(--uh)*100);height:calc(var(--uh)*66.9);margin:0 auto}
.hero__circulo-blanco{position:absolute;left:calc(var(--uh)*15.65);top:calc(var(--uh)*-12.75);width:calc(var(--uh)*94.3);aspect-ratio:1;border-radius:50%;background:#fff}
.hero__circulo-rosa{position:absolute;left:calc(var(--uh)*36.9);top:calc(var(--uh)*8.5);width:calc(var(--uh)*51.8);aspect-ratio:1;border-radius:50%;background:var(--rosa-circulo)}
.hero__slides{position:absolute;inset:0}
.slide{position:absolute;inset:0}
.slide__texto{position:absolute;z-index:4;left:calc(var(--uh)*7);top:calc(var(--uh)*13.8)}
.slide .pastilla{height:calc(var(--uh)*3.9);padding:0 calc(var(--uh)*3);font-size:calc(var(--uh)*1.37)}
.slide .titular{margin-top:calc(var(--uh)*1.4);margin-left:calc(var(--uh)*-.3);font-size:calc(var(--uh)*10.2)}
.slide__sub{margin-top:calc(var(--uh)*1.8);font-size:calc(var(--uh)*2.45);line-height:1.18;max-width:calc(var(--uh)*40);color:var(--tinta)}
.slide__foto{position:absolute;z-index:3;left:calc(var(--uh)*39);top:calc(var(--uh)*9.1);width:calc(var(--uh)*45);max-width:none;-webkit-mask-image:linear-gradient(to bottom,#000 84%,transparent 99%);mask-image:linear-gradient(to bottom,#000 84%,transparent 99%);pointer-events:none;user-select:none}
.slide__foto--cuerpo{left:calc(var(--uh)*45);top:calc(var(--uh)*7);width:calc(var(--uh)*38)}
.slide.entra .slide__texto,.slide.entra .slide__foto{animation:entra .55s ease both}
@keyframes entra{from{opacity:.001;transform:translateY(14px)}to{opacity:1;transform:none}}

.burbuja{position:absolute;z-index:5;display:flex;align-items:center;justify-content:center;border-radius:50%;color:#fff;text-decoration:none;font-weight:500;text-transform:uppercase;letter-spacing:.02em;transition:transform .25s ease}
.burbuja:hover{transform:scale(1.06)}
.burbuja--fuerte{left:calc(var(--uh)*79);top:calc(var(--uh)*15.8);width:calc(var(--uh)*11.1);height:calc(var(--uh)*11.1);background:var(--fucsia-vivo);font-size:calc(var(--uh)*1.85)}
.burbuja--suave{left:calc(var(--uh)*85.4);top:calc(var(--uh)*33.5);width:calc(var(--uh)*10.4);height:calc(var(--uh)*10.4);background:var(--rosa-burbuja);font-size:calc(var(--uh)*1.45)}

.hero__flecha{position:absolute;z-index:6;display:inline-flex;align-items:center;gap:calc(var(--uh)*1.2);font-size:calc(var(--uh)*1.37);font-weight:500;text-transform:uppercase;letter-spacing:.02em}
.hero__flecha svg{width:calc(var(--uh)*3.2);height:calc(var(--uh)*1.6);fill:none;stroke:currentColor;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round}
.hero__flecha--izq{left:calc(var(--uh)*6.6);top:calc(var(--uh)*62.2);color:var(--gris-claro)}
.hero__flecha--der{right:calc(var(--uh)*4.2);top:calc(var(--uh)*58.8);color:var(--tinta)}
.hero__flecha--der i{display:inline-flex;align-items:center;justify-content:center;width:calc(var(--uh)*4.4);height:calc(var(--uh)*4.4);border-radius:50%;background:#E9E9EB}
.hero__flecha:hover{color:var(--fucsia)}

/* ---------- Tarjeta de beneficios (translúcida) ---------- */
.beneficios{position:relative;z-index:8;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));width:calc(var(--uh)*87.1);margin:0 0 0 calc(50% - var(--uh)*50 + var(--uh)*8.6);padding:calc(var(--uh)*3.3) calc(var(--uh)*1.5) calc(var(--uh)*3.1);background:rgba(255,255,255,.8);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-radius:16px;box-shadow:0 18px 50px rgba(19,38,58,.07)}
.beneficio{text-align:center;padding:0 calc(var(--uh)*1.2);border-left:1px solid var(--linea)}
.beneficio:first-child{border-left:0}
.beneficio__ico{width:calc(var(--uh)*6);height:calc(var(--uh)*6);fill:none;stroke:var(--tinta);stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;margin:0 auto calc(var(--uh)*1.7)}
.beneficio h2{font-size:calc(var(--uh)*1.5);font-weight:600;line-height:1.25;color:var(--tinta)}
.beneficio p{margin-top:calc(var(--uh)*.6);font-size:calc(var(--uh)*1.38);line-height:1.5;color:var(--gris)}

/* ---------- Eventos ---------- */
.eventos{width:calc(var(--u)*100);margin:0 auto;padding:calc(var(--u)*5) 0 calc(var(--u)*6)}
.eventos__cuerpo{display:grid;grid-template-columns:calc(var(--u)*21.2) minmax(0,1fr);margin-top:calc(var(--u)*4.3)}
.filtros{display:flex;flex-direction:column;align-items:flex-start;gap:calc(var(--u)*1.55);padding-left:calc(var(--u)*3.7);padding-top:calc(var(--u)*.4)}
.filtro{position:relative;font-size:calc(var(--u)*1.5);color:var(--gris);padding:2px 0 2px calc(var(--u)*4.3);text-align:left;transition:color .2s}
.filtro::before{content:"";position:absolute;left:0;top:50%;width:calc(var(--u)*3.1);height:2.5px;border-radius:2px;background:var(--tinta);transform:scaleX(0);transform-origin:left;transition:transform .25s}
.filtro.es-activo{color:var(--tinta);font-weight:600;font-size:calc(var(--u)*1.68)}
.filtro.es-activo::before{transform:scaleX(1)}
.filtro:hover{color:var(--tinta)}
.arcos{display:grid;grid-template-columns:repeat(3,calc(var(--u)*22.8));column-gap:calc(var(--u)*3);row-gap:calc(var(--u)*5);align-items:start}
.arco{transition:opacity .3s ease}
.arcos .arco:nth-child(3n+2){margin-top:calc(var(--u)*-3.4)}
.arcos.filtrado .arco{margin-top:0}
.arco__marco{position:relative;aspect-ratio:2/3;border-radius:999px 999px 0 0;overflow:hidden}
.arco--rosa .arco__marco{background:var(--arco-rosa)}
.arco--durazno .arco__marco{background:var(--arco-durazno)}
.arco--celeste .arco__marco{background:var(--arco-celeste)}
.arco--lila .arco__marco{background:var(--arco-lila)}
.arco__marco img{position:absolute;left:50%;bottom:0;width:104%;max-width:none;transform:translateX(-50%);transition:transform .45s ease}
.arco:hover .arco__marco img{transform:translateX(-50%) scale(1.03)}
.arco__acciones{position:absolute;right:calc(var(--u)*1.2);bottom:calc(var(--u)*1.2);display:flex;gap:calc(var(--u)*.7)}
.arco__btn{display:inline-flex;align-items:center;justify-content:center;width:calc(var(--u)*4.1);height:calc(var(--u)*4.1);min-width:34px;min-height:34px;border-radius:50%;background:#fff;color:var(--tinta);box-shadow:0 4px 12px rgba(19,38,58,.1);transition:background .2s,color .2s,transform .2s}
.arco__btn .ico{width:56%;height:56%;stroke-width:1.7}
.arco__btn:hover{transform:scale(1.08)}
.arco__btn[aria-pressed="true"]{background:var(--fucsia);color:#fff}
.arco__btn[data-accion="fav"][aria-pressed="true"] .ico{fill:currentColor}
.arco h3{margin-top:calc(var(--u)*1.6);text-align:center;font-size:calc(var(--u)*1.8);font-weight:600;color:var(--tinta)}
.arco p{text-align:center;font-size:calc(var(--u)*1.5);color:var(--gris)}
.eventos__nota{min-height:24px;margin-top:calc(var(--u)*2.5);text-align:center;font-size:15px;color:var(--fucsia-texto);font-weight:500}

/* ---------- Alta costura ---------- */
.costura{position:relative;display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);align-items:center;gap:calc(var(--u)*3);width:calc(var(--u)*91);margin:calc(var(--u)*2) auto 0;padding:calc(var(--u)*5) calc(var(--u)*6);background:var(--rosa-panel);border-radius:28px;overflow:hidden}
.costura::before{content:"";position:absolute;right:calc(var(--u)*-30);top:calc(var(--u)*-25);width:calc(var(--u)*80);aspect-ratio:1;border-radius:50%;background:#fff}
.costura__texto{position:relative;z-index:2}
.costura .pastilla{height:38px;padding:0 22px;font-size:13px}
.titular--seccion{font-size:calc(var(--u)*5.2);line-height:1;margin-top:calc(var(--u)*2)}
.costura__texto > p:not(.pastilla){margin-top:calc(var(--u)*2.2);font-size:calc(var(--u)*1.75);line-height:1.6;max-width:calc(var(--u)*40);color:var(--tinta)}
.costura .boton{margin-top:calc(var(--u)*3)}
.costura__foto{position:relative;z-index:1;height:calc(var(--u)*48);display:flex;justify-content:center}
.costura__circulo{position:absolute;left:50%;top:50%;width:calc(var(--u)*36);aspect-ratio:1;border-radius:50%;background:var(--rosa-circulo);transform:translate(-50%,-46%)}
.costura__foto img{position:relative;height:110%;width:auto;max-width:none;margin-top:calc(var(--u)*-1);-webkit-mask-image:linear-gradient(to bottom,#000 82%,transparent 100%);mask-image:linear-gradient(to bottom,#000 82%,transparent 100%)}
.burbuja--quieta{position:absolute;left:auto;right:calc(var(--u)*-.5);top:calc(var(--u)*3);width:calc(var(--u)*11.5);height:calc(var(--u)*11.5);font-size:calc(var(--u)*1.45);text-align:center;line-height:1.25;padding:10px}
.burbuja--quieta:hover{transform:none}

/* ---------- Cuentas claras ---------- */
.cuentas{width:calc(var(--u)*91);margin:0 auto;padding:calc(var(--u)*8) 0 calc(var(--u)*2)}
.cuentas__fila{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:calc(var(--u)*2);margin-top:calc(var(--u)*4.5)}
.cuenta{height:100%;padding:calc(var(--u)*3.4) calc(var(--u)*2.8);border-radius:24px;background:#fff;border:1px solid var(--linea);box-shadow:0 18px 40px rgba(19,38,58,.06);text-align:center}
.cuenta__ico{width:calc(var(--u)*5);height:calc(var(--u)*5);fill:none;stroke:var(--tinta);stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;margin:0 auto calc(var(--u)*1.6)}
.cuenta h3{font-family:var(--serif);font-weight:900;font-size:calc(var(--u)*2.6);color:var(--fucsia);line-height:1.1}
.cuenta p{margin-top:calc(var(--u)*1.1);font-size:calc(var(--u)*1.5);color:var(--gris);line-height:1.55}
.cuenta--total{background:#DB2860;border-color:#DB2860;box-shadow:0 18px 40px rgba(231,48,106,.25)}
.cuenta--total .cuenta__ico{stroke:#fff}
.cuenta--total h3,.cuenta--total p{color:#fff}
.cuentas__signo{font-family:var(--serif);font-weight:900;font-size:calc(var(--u)*5.5);color:var(--fucsia);line-height:1}

/* ---------- Pasos ---------- */
.pasos{width:calc(var(--u)*91);margin:0 auto;padding:calc(var(--u)*8) 0 calc(var(--u)*2)}
.pasos__lista{list-style:none;margin:calc(var(--u)*4.5) 0 0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:calc(var(--u)*2.4);counter-reset:paso}
.pasos__lista li{position:relative;padding:calc(var(--u)*3.2) calc(var(--u)*2.2) calc(var(--u)*2.8);border-radius:999px 999px 24px 24px;background:var(--arco-rosa);text-align:center}
.pasos__lista li:nth-child(2){background:var(--arco-durazno)}
.pasos__lista li:nth-child(3){background:var(--arco-celeste)}
.pasos__lista li:nth-child(4){background:var(--arco-lila)}
.pasos__num{display:inline-flex;align-items:center;justify-content:center;width:calc(var(--u)*5.6);height:calc(var(--u)*5.6);margin-top:calc(var(--u)*2);border-radius:50%;background:#fff;font-family:var(--serif);font-weight:900;font-size:calc(var(--u)*2.8);color:var(--fucsia);box-shadow:0 6px 16px rgba(19,38,58,.08)}
.pasos__lista h3{margin-top:calc(var(--u)*1.8);font-size:calc(var(--u)*1.75);font-weight:600;line-height:1.3}
.pasos__lista p{margin-top:calc(var(--u)*.8);font-size:calc(var(--u)*1.42);line-height:1.55;color:#4b5060}

/* ---------- Preguntas ---------- */
.faq{width:min(calc(var(--u)*76),900px);margin:0 auto;padding:calc(var(--u)*8) 0 calc(var(--u)*2)}
.faq__lista{margin-top:calc(var(--u)*4);display:grid;gap:12px}
.faq__item{border-radius:18px;background:#fff;border:1px solid var(--linea);box-shadow:0 8px 24px rgba(19,38,58,.04);overflow:hidden}
.faq__item summary{list-style:none;cursor:pointer;position:relative;padding:20px 64px 20px 26px;font-weight:600;font-size:17px;line-height:1.4}
.faq__item summary::-webkit-details-marker{display:none}
.faq__item summary::after{content:"+";position:absolute;right:20px;top:50%;width:32px;height:32px;margin-top:-16px;border-radius:50%;background:var(--rosa-panel);color:var(--fucsia);font-size:22px;font-weight:500;line-height:32px;text-align:center;transition:transform .25s}
.faq__item[open] summary::after{transform:rotate(45deg)}
.faq__item p{padding:0 26px 22px;color:#4b5060;font-size:16px;line-height:1.65}

/* ---------- Cierre ---------- */
.cierre{width:calc(var(--u)*91);margin:0 auto;padding:calc(var(--u)*8) 0 calc(var(--u)*7)}
.cierre__caja{position:relative;overflow:hidden;text-align:center;padding:calc(var(--u)*6) calc(var(--u)*5);border-radius:28px;background:var(--rosa-panel)}
.cierre__caja::before{content:"";position:absolute;left:50%;top:-60%;width:calc(var(--u)*70);aspect-ratio:1;border-radius:50%;background:rgba(255,255,255,.55);transform:translateX(-50%)}
.cierre__caja > *{position:relative}
.cierre__caja .titular--seccion{margin-top:0}
.cierre__caja p{margin:calc(var(--u)*1.8) auto 0;max-width:560px;font-size:calc(var(--u)*1.75);line-height:1.6}
.cierre__caja .boton{margin-top:calc(var(--u)*3)}

/* ---------- Pie ---------- */
.pie{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:40px;width:calc(var(--u)*91);margin:0 auto;padding:56px 0 30px;border-top:1px solid var(--linea)}
.pie__marca img{width:80px;height:80px}
.pie__marca p{margin-top:16px;max-width:320px;color:var(--gris);font-size:15px;line-height:1.6}
.pie__col{display:flex;flex-direction:column;gap:8px;font-size:15px;color:var(--gris)}
.pie__col h2{font-size:15px;font-weight:600;color:var(--tinta);margin-bottom:6px}
.pie__col a{text-decoration:none}
.pie__col a:hover{color:var(--fucsia)}
.pie__legal{grid-column:1/-1;padding-top:22px;border-top:1px solid var(--linea);font-size:13.5px;color:var(--gris-claro)}

.wa-flotante{position:fixed;right:22px;bottom:22px;z-index:40;display:flex;align-items:center;justify-content:center;width:58px;height:58px;border-radius:50%;background:#25D366;color:#fff;box-shadow:0 10px 26px rgba(0,0,0,.18);transition:transform .2s,opacity .3s,visibility .3s;opacity:0;visibility:hidden}
.wa-flotante.visible{opacity:1;visibility:visible}
.wa-flotante .ico{width:30px;height:30px}
.wa-flotante:hover{transform:scale(1.06)}

/* ---------- Menú con vestidos por tipo ---------- */
.menu__cols{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:calc(var(--u)*4);align-items:start}
.menu__titulo{font-family:var(--serif);font-style:italic;font-size:22px;color:var(--tinta);margin-bottom:10px}
.menu .menu__tipos ul{gap:2px}
.menu .menu__tipos ul a{font-family:var(--sans);font-weight:600;font-size:clamp(16px,1.5vw,20px);line-height:1.35;color:var(--tinta);padding:7px 0}
.menu .menu__tipos ul a:hover{color:var(--fucsia)}
.boton--borde{background:transparent;color:var(--tinta);box-shadow:inset 0 0 0 2px var(--tinta)}
.boton--borde:hover{background:var(--tinta);color:#fff}
.arco__enlace{display:block;margin-top:6px;text-align:center;font-size:calc(var(--u)*1.3);font-weight:600;color:var(--fucsia-texto);text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1.5px;line-height:1.3}
.arco__enlace:hover{color:var(--azul)}
.eventos__mas{margin:calc(var(--u)*2.5) auto 0;max-width:calc(var(--u)*80);text-align:center;font-size:calc(var(--u)*1.5);line-height:1.8;color:var(--gris)}
.eventos__mas a{display:inline-block;margin:0 calc(var(--u)*.8);font-weight:600;color:var(--fucsia-texto);text-underline-offset:3px;text-decoration-thickness:1.5px}
.eventos__mas a:hover{color:var(--azul)}

/* ---------- Páginas internas ---------- */
.pg-hero{position:relative;background:var(--rosa-panel);overflow-x:clip;padding:calc(var(--uh)*12.5) 0 calc(var(--uh)*5.5)}
.pg-hero__in{position:relative;display:grid;grid-template-columns:minmax(0,1.12fr) minmax(0,.88fr);align-items:center;gap:calc(var(--uh)*3);width:calc(var(--uh)*100);margin:0 auto;padding:0 calc(var(--uh)*7)}
.pg-ruta{display:flex;flex-wrap:wrap;align-items:center;gap:8px;font-size:14px;color:var(--tinta)}
.pg-ruta a{text-decoration:underline;text-underline-offset:3px}
.pg-ruta [aria-current]{font-weight:600}
.pg-titular{margin-top:calc(var(--u)*1.8);font-size:clamp(40px,calc(var(--u)*5.6),84px);line-height:1.02;letter-spacing:-.02em}
.pg-lead{margin-top:calc(var(--u)*2);max-width:calc(var(--u)*46);font-size:clamp(16px,calc(var(--u)*1.6),21px);line-height:1.6;color:var(--tinta)}
.pg-lead a,.pg-cuerpo a,.faq__item p a{color:var(--fucsia-texto);text-underline-offset:3px;text-decoration-thickness:1.5px}
.pg-lead a:hover,.pg-cuerpo a:hover,.faq__item p a:hover{color:var(--azul)}
.pg-acciones{display:flex;flex-wrap:wrap;gap:14px;margin-top:calc(var(--u)*2.8)}
.pg-puntos{list-style:none;margin:calc(var(--u)*2.6) 0 0;padding:0;display:flex;flex-wrap:wrap;gap:10px 22px;font-size:14.5px;font-weight:500;color:var(--tinta)}
.pg-puntos li{position:relative;padding-left:20px}
.pg-puntos li::before{content:"";position:absolute;left:0;top:.5em;width:9px;height:9px;border-radius:50%;background:var(--fucsia)}
.pg-hero__foto{position:relative;aspect-ratio:3/4;max-height:calc(var(--uh)*60)}
.pg-hero__c1{position:absolute;left:-6%;right:-14%;top:2%;aspect-ratio:1;border-radius:50%;background:#fff}
.pg-hero__c2{position:absolute;left:8%;right:2%;top:14%;aspect-ratio:1;border-radius:50%;background:var(--rosa-circulo)}
.pg-hero__foto img{position:absolute;left:50%;bottom:0;height:104%;width:auto;max-width:none;transform:translateX(-50%);-webkit-mask-image:linear-gradient(to bottom,#000 86%,transparent 100%);mask-image:linear-gradient(to bottom,#000 86%,transparent 100%)}

.pg-cuerpo{width:min(calc(var(--u)*78),880px);margin:0 auto;padding:calc(var(--u)*7) 0 calc(var(--u)*1)}
.pg-seccion + .pg-seccion{margin-top:calc(var(--u)*5.5)}
.pg-h2{font-family:var(--serif);font-weight:900;color:var(--tinta);font-size:clamp(26px,calc(var(--u)*2.9),42px);line-height:1.1;letter-spacing:-.01em}
.pg-cuerpo p{margin-top:16px;font-size:17px;line-height:1.75;color:#2b3345}
.pg-lista{list-style:none;margin:22px 0 0;padding:0;display:grid;gap:12px}
.pg-lista li{padding:18px 24px 20px;border-radius:20px;background:#fff;border:1px solid var(--linea);box-shadow:0 8px 24px rgba(19,38,58,.04);font-size:16.5px;line-height:1.65;color:#2b3345}
.pg-lista strong{display:block;margin-bottom:2px;font-family:var(--serif);font-weight:900;font-size:21px;color:var(--fucsia-texto)}
.pg-aviso{margin-top:26px;padding:24px 28px 26px;border-radius:24px;background:var(--arco-rosa)}
.pg-seccion:nth-child(even) .pg-aviso{background:var(--arco-lila)}
.pg-aviso .pg-aviso__t{margin:0;font-family:var(--serif);font-style:italic;font-size:20px;color:var(--fucsia-texto)}
.pg-aviso p:not(.pg-aviso__t){margin-top:8px;font-size:16.5px}

.pg-otros{width:calc(var(--u)*91);margin:0 auto;padding:calc(var(--u)*8) 0 calc(var(--u)*2)}
.pg-otros__grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:calc(var(--u)*1.6);margin-top:calc(var(--u)*4)}
.pg-card{display:flex;flex-direction:column;gap:6px;padding:calc(var(--u)*2.2) calc(var(--u)*2);border-radius:22px;text-decoration:none;background:var(--arco-rosa);transition:transform .2s ease,box-shadow .2s ease}
.pg-card--1{background:var(--arco-durazno)}
.pg-card--2{background:var(--arco-celeste)}
.pg-card--3{background:var(--arco-lila)}
.pg-card:hover{transform:translateY(-3px);box-shadow:0 14px 30px rgba(19,38,58,.1)}
.pg-card__t{font-family:var(--serif);font-weight:900;font-size:calc(var(--u)*1.9);line-height:1.15;color:var(--fucsia-texto)}
.pg-card__d{font-size:calc(var(--u)*1.25);line-height:1.5;color:var(--tinta)}

.interna .faq__item p{padding-top:0}
@media (max-width:1100px){.pg-otros__grid{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* ---------- Celular y tableta vertical ---------- */
@media (max-width:760px){
  :root{--u:1vw;--uh:1vw}
  body{font-size:15px}
  .nav{width:100%;height:76px;padding:0 14px}
  .nav__izq{gap:6px;padding-left:0}
  .nav__der{gap:2px;padding-right:0}
  .nav__btn{width:38px;height:38px}
  .nav__btn .ico{width:21px;height:21px}
  .nav__izq .nav__btn .ico{width:26px;height:26px}
  .nav__idioma{font-size:14px}
  .nav__logo{width:46px;margin-top:2px}

  .hero__panel{width:100%;height:100%}
  .hero__lienzo{width:100%;height:auto;padding:92px 20px 0}
  .hero__circulo-blanco{left:-8vw;top:auto;bottom:4vw;width:116vw}
  .hero__circulo-rosa{left:8vw;top:auto;bottom:20vw;width:84vw}
  .hero__slides{position:relative;inset:auto}
  .slide{position:relative;inset:auto}
  .slide__texto{position:relative;left:auto;top:auto}
  .slide .pastilla{height:34px;padding:0 18px;font-size:12.5px}
  .slide .titular{margin-top:14px;font-size:clamp(52px,17vw,84px);line-height:.98}
  .slide__sub{margin-top:14px;font-size:17px;line-height:1.35;max-width:300px}
  .solo-pc{display:none}
  .slide__foto,.slide__foto--cuerpo{position:relative;left:auto;top:auto;width:80vw;margin:10px auto 0}
  .slide__foto--cuerpo{width:66vw}
  .burbuja--fuerte{left:auto;right:4vw;top:176px;bottom:auto;width:70px;height:70px;font-size:11.5px}
  .burbuja--suave{left:auto;right:7vw;top:258px;bottom:auto;width:58px;height:58px;font-size:9px}
  .hero__flecha{font-size:11.5px;gap:8px}
  .hero__flecha svg{width:26px;height:13px}
  .hero__flecha--izq{left:20px;top:auto;bottom:7vw}
  .hero__flecha--der{right:20px;left:auto;top:auto;bottom:5vw}
  .hero__flecha--der i{width:34px;height:34px}

  .beneficios{grid-template-columns:1fr;width:auto;margin:-26px 14px 0;padding:8px 18px;border-radius:18px}
  .beneficio{display:grid;grid-template-columns:52px 1fr;column-gap:14px;align-items:center;text-align:left;padding:16px 0;border-left:0;border-top:1px solid var(--linea)}
  .beneficio:first-child{border-top:0}
  .beneficio__ico{grid-row:1/3;width:46px;height:46px;margin:0}
  .beneficio h2{font-size:16px}
  .beneficio p{margin-top:2px;font-size:14px;line-height:1.45}
  .beneficio p br{display:none}

  .seccion__titulo{font-size:22px;padding:0 16px}
  .seccion__sub{font-size:20px;padding:0 16px}
  .eventos{width:100%;padding:52px 0 40px}
  .eventos__cuerpo{display:block;margin-top:22px}
  .filtros{flex-direction:row;gap:8px;overflow-x:auto;padding:4px 16px 12px;scrollbar-width:none}
  .filtros::-webkit-scrollbar{display:none}
  .filtro{flex:0 0 auto;padding:9px 16px;border-radius:999px;background:#F6F2F4;font-size:14px}
  .filtro::before{display:none}
  .filtro.es-activo{background:var(--azul);color:#fff;font-size:14px}
  .arcos{display:flex;gap:14px;overflow-x:auto;scroll-snap-type:x mandatory;padding:12px 16px 6px;scrollbar-width:none}
  .arcos::-webkit-scrollbar{display:none}
  .arco{flex:0 0 62vw;scroll-snap-align:center}
  .arcos .arco:nth-child(3n+2){margin-top:0}
  .arco__acciones{right:10px;bottom:10px;gap:6px}
  .arco__btn{width:40px;height:40px}
  .arco h3{margin-top:12px;font-size:17px}
  .arco p{font-size:14px}

  .costura{grid-template-columns:1fr;width:auto;margin:10px 14px 0;padding:34px 22px 0;border-radius:24px;gap:6px}
  .costura::before{right:-35vw;top:auto;bottom:-25vw;width:125vw;transform:none}
  .titular--seccion{font-size:clamp(34px,10vw,46px)}
  .costura__texto > p:not(.pastilla){font-size:16px;max-width:none}
  .costura .boton{margin-top:22px}
  .costura__foto{height:118vw}
  .costura__circulo{width:72vw}
  .burbuja--quieta{right:0;top:12vw;width:84px;height:84px;font-size:10.5px}

  .cuentas,.pasos,.faq,.cierre{width:auto;padding-left:16px;padding-right:16px}
  .cuentas{padding-top:60px}
  .cuentas__fila{grid-template-columns:1fr;gap:10px;margin-top:26px}
  .cuenta{padding:26px 22px}
  .cuenta__ico{width:46px;height:46px}
  .cuenta h3{font-size:26px}
  .cuenta p{font-size:15px}
  .cuentas__signo{text-align:center;font-size:40px}
  .pasos{padding-top:60px}
  .pasos__lista{grid-template-columns:1fr 1fr;gap:12px;margin-top:26px}
  .pasos__lista li{padding:22px 14px 22px}
  .pasos__num{width:46px;height:46px;font-size:24px;margin-top:10px}
  .pasos__lista h3{font-size:15.5px;margin-top:12px}
  .pasos__lista p{font-size:13.5px}
  .faq{padding-top:60px}
  .faq__lista{margin-top:24px}
  .faq__item summary{font-size:16px;padding:18px 58px 18px 20px}
  .faq__item p{padding:0 20px 20px;font-size:15px}
  .cierre{padding-top:60px;padding-bottom:50px}
  .cierre__caja{padding:44px 22px}
  .cierre__caja p{font-size:16px}
  .cierre__caja .boton{margin-top:22px}
  .pie{grid-template-columns:1fr 1fr;gap:28px 20px;width:auto;margin:0 16px;padding:44px 0 96px}
  .pie__marca{grid-column:1/-1}
  .pie__col--contacto{grid-column:1/-1}
  .wa-flotante{right:16px;bottom:16px;width:54px;height:54px}
  .menu__cols{grid-template-columns:1fr;gap:26px}
  .menu .menu__tipos ul a{font-size:17px;padding:6px 0}
  .menu ul a{font-size:30px}
  .eventos__mas{max-width:none;padding:0 20px;font-size:14.5px;line-height:1.9}
  .eventos__mas a{margin:0 6px}
  .arco__enlace{font-size:13.5px}
  .pg-hero{padding:96px 0 40px}
  .pg-hero__in{grid-template-columns:1fr;width:auto;padding:0 20px;gap:26px}
  .pg-titular{font-size:clamp(38px,11.5vw,56px);margin-top:14px}
  .pg-lead{max-width:none;font-size:16.5px;margin-top:16px}
  .pg-acciones{margin-top:22px}
  .pg-acciones .boton{padding:14px 22px;font-size:15px}
  .pg-puntos{margin-top:20px;flex-direction:column;gap:8px}
  .pg-hero__foto{width:74vw;max-height:none;margin:6px auto 0}
  .pg-hero__c1{left:-10%;right:-10%}
  .pg-cuerpo{width:auto;padding:46px 20px 0}
  .pg-seccion + .pg-seccion{margin-top:42px}
  .pg-cuerpo p{font-size:16px;line-height:1.7}
  .pg-lista li{padding:16px 18px 18px;font-size:15.5px}
  .pg-lista strong{font-size:19px}
  .pg-aviso{padding:20px 20px 22px}
  .pg-aviso p:not(.pg-aviso__t){font-size:15.5px}
  .pg-otros{width:auto;padding:60px 16px 0}
  .pg-otros__grid{grid-template-columns:1fr;gap:10px;margin-top:26px}
  .pg-card{padding:18px 20px}
  .pg-card__t{font-size:22px}
  .pg-card__d{font-size:14.5px}
}
@media (max-width:380px){
  .pasos__lista{grid-template-columns:1fr}
}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation:none!important;transition:none!important}
}
