.plan-hero{ min-height:0; padding-top:calc(var(--alto-nav, 84px) + 90px); padding-bottom:clamp(60px,4.4vh,89px); }
.plan-hero{ position:relative; }
.plan-hero .section__inner{ position:relative; z-index:1; }
.plan-hero .section__inner{ display:grid; grid-template-columns:minmax(0,1fr) minmax(0,.92fr);
  align-items:end; }
.plan-hero__cabeza{ display:flex; flex-direction:column; }
.plan-hero__titulo{ margin:0; font-size:clamp(2rem,4.2vw,3.6rem); font-weight:800; line-height:1.03;
  letter-spacing:-.035em; text-wrap:balance; }
.plan-hero .lead{ margin:0; max-width:none; text-align:left; padding-bottom:.18em; }

.plan-atajos{ grid-column:1 / -1; margin-top:70px;
  display:grid; gap:clamp(12px,1.4vw,20px); }
.plan-atajos--2{ grid-template-columns:repeat(2,minmax(0,1fr)); }
.plan-atajos--3{ grid-template-columns:repeat(3,minmax(0,1fr)); }
.plan-atajo{ position:relative; display:flex; flex-direction:column; align-items:center;
  gap:clamp(10px,1.1vw,16px);
  padding:clamp(20px,2vw,30px) clamp(14px,1.4vw,20px) clamp(18px,1.8vw,26px);
  border:1px solid rgba(0,0,0,.1); border-radius:16px; background:#fff;
  color:inherit; text-decoration:none;
  transition:border-color .3s var(--ease-out), background .3s var(--ease-out),
             transform .3s var(--ease-out), box-shadow .3s var(--ease-out); }
.plan-atajo:hover{ background:#fff; border-color:rgba(0,0,0,.18);
  transform:translateY(-4px); box-shadow:0 22px 40px -26px rgba(0,0,0,.38); }
.plan-atajo:focus-visible{ outline:2px solid var(--accent); outline-offset:3px; }
.plan-atajo__lienzo{ display:flex; align-items:center; justify-content:center;
  width:100%; height:clamp(92px,8.4vw,136px); }
.plan-atajo__lienzo img{ max-width:100%; height:100%; width:auto; object-fit:contain; display:block;
  transition:transform .35s var(--ease-out); }
.plan-atajo:hover .plan-atajo__lienzo img{ transform:translateY(-3px) scale(1.05); }
.plan-atajo__nombre{ font-size:clamp(1rem,1.15vw,1.12rem); font-weight:800; line-height:1.25;
  letter-spacing:-.02em; text-align:center; }
.plan-atajo__precio{ font-size:.92rem; font-weight:700; letter-spacing:.01em; color:var(--marca); }
.plan-atajo__flecha{ position:absolute; right:12px; bottom:12px; width:16px; height:16px; opacity:.28;
  transition:opacity .3s var(--ease-out), transform .3s var(--ease-out); }
.plan-atajo:hover .plan-atajo__flecha{ opacity:.9; transform:translate(2px,-2px); }

.plan-seccion{ min-height:0;
  padding-top:calc(clamp(70px,10vh,140px) + 30px);
  padding-bottom:calc(clamp(70px,10vh,140px) + 30px); }
.plan-seccion .eyebrow{ margin-bottom:14px; }
.plan-seccion__titulo{ font-size:clamp(1.7rem,3.2vw,2.7rem); font-weight:800; line-height:1.06;
  letter-spacing:-.03em; margin:0 0 18px; text-wrap:balance; }
.plan-seccion__precio{ margin:0 0 14px; font-size:clamp(1.05rem,1.5vw,1.3rem); font-weight:800;
  letter-spacing:-.02em; color:var(--marca); }
.plan-seccion__entradilla{ margin:0 0 clamp(26px,3vw,40px); max-width:46ch;
  font-size:1rem; font-weight:300; line-height:1.6; opacity:.78; }
.plan-seccion__prosa{ display:flex; flex-direction:column; gap:14px; max-width:46ch;
  font-size:.95rem; font-weight:300; line-height:1.6; opacity:.8; }
.plan-seccion__prosa p{ margin:0; }
.plan-seccion__cta{ display:flex; width:max-content; margin-top:clamp(26px,2.6vw,38px); }

.plan-dupla{ display:grid; grid-template-columns:1fr .92fr;
  gap:clamp(30px,4vw,64px); align-items:start; }
.plan-dupla--invertida .plan-dupla__panel{ order:2; }
.plan-dupla--invertida .plan-dupla__objeto{ order:1; }
.plan-dupla__objeto{ position:relative; display:flex; align-items:flex-start; justify-content:center;
  align-self:start; }
.plan-dupla__objeto img{ width:min(100%,520px); height:auto; display:block;
  animation:floaty 7s ease-in-out infinite; }

.plan-precio{ position:absolute; top:6%; right:2%; z-index:2; margin:0;
  display:flex; flex-direction:column; align-items:center; justify-content:center;
  width:clamp(108px,10vw,134px); aspect-ratio:1; border-radius:999px;
  background:var(--marca); color:#fff; text-align:center;
  box-shadow:0 22px 38px -22px rgba(0,0,0,.45); }
.plan-precio em{ display:block; font-style:normal; font-size:.78rem; font-weight:500;
  letter-spacing:.06em; text-transform:uppercase; opacity:.7; }
.plan-precio strong{ display:block; font-size:clamp(1.7rem,2.4vw,2.3rem); font-weight:800;
  line-height:1; letter-spacing:-.04em; }
.plan-precio strong::after{ content:'\20ac'; margin-left:2px; font-size:.5em; vertical-align:super; }
.plan-precio span{ display:block; margin-top:2px; font-size:.84rem; font-weight:500; opacity:.85; }

.plan-acordeon{ display:flex; flex-direction:column; border-top:1px solid var(--border); }
.plan-item{ border-bottom:1px solid var(--border); }
.plan-item summary{ position:relative; z-index:1; display:flex; align-items:center;
  justify-content:space-between; gap:clamp(16px,2vw,28px); cursor:pointer; list-style:none;
  padding:clamp(16px,1.8vw,22px) clamp(12px,1.4vw,18px); }
.plan-item summary::-webkit-details-marker{ display:none; }
.plan-item summary::before{ content:''; position:absolute; inset:0; z-index:-1; opacity:0;
  background:rgba(0,0,0,.035); transition:opacity .28s var(--ease-out); }
.plan-item summary:hover::before, .plan-item summary:focus-visible::before{ opacity:1; }
.plan-item__head{ font-size:clamp(.98rem,1.2vw,1.12rem); font-weight:700; line-height:1.3;
  letter-spacing:-.02em; text-wrap:balance; }
.plan-item__chev{ flex:none; width:19px; height:19px; opacity:.5;
  transition:transform .3s var(--ease-out); }
.plan-item[open] .plan-item__chev{ transform:rotate(180deg); }
.plan-item__texto{ margin:0; padding:0 clamp(12px,1.4vw,18px) clamp(18px,2vw,26px);
  font-size:.9rem; font-weight:300; line-height:1.6; opacity:.75; }
.plan-item__texto p{ margin:0 0 12px; }
.plan-item__texto p:last-child{ margin-bottom:0; }
.plan-item__lista{ margin:0; padding:0; list-style:none; display:grid; gap:8px; }
.plan-item__lista li{ position:relative; padding-left:20px; }
.plan-hero .lead strong,
.plan-seccion__entradilla strong,
.plan-seccion__prosa strong,
.plan-prestaciones li strong,
.plan-item__texto strong{ font-weight:700; }
.plan-prestaciones{ margin:0; padding:0; list-style:none; display:grid; gap:14px; }
.plan-prestaciones li{ display:flex; align-items:flex-start; gap:13px;
  font-size:.95rem; font-weight:300; line-height:1.45; }
.plan-prestaciones li svg{ flex:none; margin-top:2px; }
.plan-item__lista li::before{ content:''; position:absolute; left:2px; top:.52em;
  width:7px; height:7px; border-radius:999px; background:var(--accent); opacity:.65; }

.plan-tabla{ position:relative; display:grid; column-gap:clamp(10px,1.2vw,18px);
  align-items:stretch; background:transparent; isolation:isolate;
  width:100%; max-width:1080px; margin-inline:auto; }
.plan-tabla--2,
.plan-tabla--2 .plan-tabla__tarjetas{ grid-template-columns:repeat(3,minmax(0,1fr)); }
.plan-tabla--3,
.plan-tabla--3 .plan-tabla__tarjetas{ grid-template-columns:repeat(4,minmax(0,1fr)); }
.plan-tabla__cabecera,
.plan-tabla__cuerpo,
.plan-tabla__fila{ display:contents; }
.plan-tabla__tarjetas{ position:absolute; inset:0; z-index:0; display:grid;
  column-gap:inherit; pointer-events:none; }
.plan-tabla__tarjeta{ grid-column:var(--col); grid-row:1;
  background:#fff; border-radius:18px; box-shadow:0 30px 60px -44px rgba(0,0,0,.4); }
.plan-tabla__rotulo,
.plan-tabla__plan,
.plan-tabla__celda{ position:relative; z-index:1; }
.plan-tabla__rotulo{ grid-column:1; display:flex; align-items:center;
  padding:clamp(12px,1.3vw,16px) clamp(14px,1.6vw,22px) clamp(12px,1.3vw,16px) 0;
  font-size:.92rem; font-weight:400; line-height:1.3; }
.plan-tabla__rotulo--cab{ align-items:flex-end; padding-bottom:clamp(20px,2.2vw,28px);
  font-size:.72rem; font-weight:800; letter-spacing:.08em; text-transform:uppercase; opacity:.5; }
.plan-tabla__plan .btn{ margin-top:auto; }
.plan-tabla__plan{ display:flex; flex-direction:column; align-items:center; gap:10px;
  padding:clamp(24px,2.6vw,34px) clamp(12px,1.4vw,22px) clamp(20px,2.2vw,28px);
  text-align:center; }
.plan-tabla__nombre{ margin:0; font-size:clamp(1.05rem,1.4vw,1.3rem); font-weight:800;
  letter-spacing:-.02em; }
.plan-tabla__precio{ margin:0; display:flex; flex-direction:row; flex-wrap:wrap;
  align-items:baseline; justify-content:center; gap:4px; }
.plan-tabla__precio em{ width:100%; font-style:normal; font-size:.8rem; font-weight:500;
  letter-spacing:.06em; text-transform:uppercase; opacity:.55; }
.plan-tabla__precio strong{ font-size:clamp(1.5rem,2vw,2rem); font-weight:800; line-height:1;
  letter-spacing:-.04em; color:var(--marca); }
.plan-tabla__precio span{ font-size:.9rem; font-weight:500; opacity:.7; }
.plan-tabla__sub{ margin:0; max-width:34ch; font-size:.88rem; font-weight:300; line-height:1.45;
  text-wrap:balance; opacity:.62; }
.plan-tabla__celda{ display:flex; align-items:center; justify-content:center;
  padding:clamp(12px,1.3vw,16px) 10px; }
.plan-tabla__fila:last-child .plan-tabla__rotulo,
.plan-tabla__fila:last-child .plan-tabla__celda{ padding-bottom:clamp(26px,3vw,40px); }
.plan-tabla__valor{ font-size:.88rem; font-weight:700; letter-spacing:-.01em; }
.plan-tic{ width:21px; height:21px; color:#2E9E6B; }
.plan-cruz{ width:19px; height:19px; opacity:.22; }

.plan-resumenes{ display:none; flex-direction:column; gap:14px;
  width:100%; max-width:620px; margin-inline:auto; }
.plan-resumen{ border:1px solid rgba(0,0,0,.1); border-radius:16px; background:#fff;
  padding:0 clamp(16px,4vw,22px); }
.plan-resumen summary{ display:flex; align-items:center; flex-wrap:wrap; gap:10px;
  padding:20px 0; cursor:pointer; list-style:none; }
.plan-resumen summary::-webkit-details-marker{ display:none; }
.plan-resumen__nombre{ flex:1; font-size:1.15rem; font-weight:800; letter-spacing:-.02em; }
.plan-resumen__precio{ display:flex; align-items:baseline; gap:4px; }
.plan-resumen__precio em{ font-style:normal; font-size:.62rem; font-weight:400;
  letter-spacing:.06em; text-transform:uppercase; opacity:.55; }
.plan-resumen__precio strong{ font-size:1.5rem; font-weight:800; letter-spacing:-.04em; color:var(--marca); }
.plan-resumen__precio span{ font-size:.72rem; font-weight:400; opacity:.6; }
.plan-resumen__ver{ width:100%; font-size:.85rem; font-weight:700; letter-spacing:.08em;
  text-transform:uppercase; opacity:.5; }
.plan-resumen[open] .plan-resumen__ver{ opacity:.85; }
.plan-resumen__lista{ margin:0 0 20px; padding:0 0 4px; list-style:none;
  display:grid; gap:11px; border-top:1px solid rgba(0,0,0,.08); padding-top:18px; }
.plan-resumen__linea{ display:flex; align-items:flex-start; gap:11px;
  font-size:.9rem; font-weight:300; line-height:1.4; }
.plan-resumen__linea svg{ flex:none; margin-top:2px; }
.plan-resumen__linea--no{ opacity:.42; text-decoration:line-through;
  text-decoration-thickness:1px; }
.plan-resumen__cta{ margin-bottom:22px; }

.plan-atajos--4{ grid-template-columns:repeat(4,minmax(0,1fr)); }
.plan-atajo--diag{ font:inherit; text-align:center; cursor:pointer;
  color:#fff; background:var(--marca); border-color:var(--marca-oscuro); }
.plan-atajo--diag:hover{ background:var(--marca-oscuro); border-color:var(--marca-oscuro);
  box-shadow:0 22px 40px -26px rgba(0,0,0,.5); }
.plan-atajo--diag .plan-atajo__precio{ color:#fff; font-weight:700; opacity:.82; }
.plan-atajo--diag .plan-atajo__flecha{ opacity:.55; }
.plan-atajo--diag:hover .plan-atajo__flecha{ opacity:1; }

.dmodal__aviso{ margin:10px 0 0; font-size:.88rem; font-weight:300; line-height:1.45; opacity:.55; }

.dmodal__informe{ margin-top:clamp(20px,2.2vw,28px);
  border:1px solid rgba(0,0,0,.1); border-radius:16px; background:#fff;
  padding:clamp(18px,2vw,26px); }
.dmodal__informe[hidden]{ display:none; }
.dmodal__rotulo{ margin:0 0 12px; font-size:.72rem; font-weight:800; letter-spacing:.08em;
  text-transform:uppercase; opacity:.55; }
.dmodal__datos{ margin:0 0 clamp(18px,2vw,24px); padding:0; list-style:none;
  display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px clamp(16px,1.8vw,24px); }
.dmodal__dato{ display:flex; align-items:baseline; justify-content:space-between; gap:12px;
  padding-bottom:9px; border-bottom:1px solid rgba(0,0,0,.07);
  font-size:.9rem; font-weight:300; line-height:1.35; }
.dmodal__dato b{ font-weight:700; text-align:right; }
.dmodal__veredicto{ margin:0 0 6px; font-size:.72rem; font-weight:800; letter-spacing:.08em;
  text-transform:uppercase; opacity:.55; }
.dmodal__plan{ margin:0 0 10px; font-size:clamp(1.25rem,2.2vw,1.7rem); font-weight:800;
  line-height:1.12; letter-spacing:-.03em; }
.dmodal__plan{ margin-bottom:4px; }
.dmodal__plan em{ font-style:normal; color:var(--verde); }
.dmodal__precio{ margin:0 0 10px; font-size:1.05rem; font-weight:700; color:var(--marca); }
.dmodal__porque{ margin:0; font-size:.92rem; font-weight:300; line-height:1.6; opacity:.8; }
.dmodal__porque + .dmodal__porque{ margin-top:8px; }
.dmodal__elegido{ margin:clamp(20px,2.2vw,28px) 0 0; padding:12px 16px; border-radius:12px;
  background:rgba(46,158,107,.1); color:var(--verde-oscuro);
  font-size:.88rem; font-weight:700; }
.dmodal__cargando{ display:flex; align-items:center; gap:12px;
  font-size:.9rem; font-weight:300; opacity:.75; }
.dmodal__cargando i{ display:block; width:16px; height:16px; border-radius:999px;
  border:2px solid rgba(0,0,0,.15); border-top-color:var(--verde);
  animation:dmodal-gira .7s linear infinite; }
@keyframes dmodal-gira{ to{ transform:rotate(360deg); } }

@media (max-width:900px){
  .plan-hero{ padding-top:calc(var(--alto-nav, 84px) + 36px); padding-bottom:48px; }
  .plan-atajos{ margin-top:40px; }
  .plan-seccion{ padding-top:56px; padding-bottom:56px; }
  .plan-atajos--4{ grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:620px){
  .dmodal__datos{ grid-template-columns:1fr; }
}
@media (prefers-reduced-motion: reduce){
  .dmodal__cargando i{ animation:none; }
}

.pmodal{ --verde:var(--marca); --verde-oscuro:var(--marca-oscuro);
  width:min(720px, calc(100vw - 2 * var(--pad))); max-width:none; max-height:calc(100vh - 40px);
  padding:0; border:none; border-radius:20px; background:var(--bg); color:var(--fg);
  box-shadow:0 60px 120px -50px rgba(0,0,0,.55); overflow:visible; }
.pmodal::backdrop{ background:rgba(0,0,0,.55); -webkit-backdrop-filter:blur(6px); backdrop-filter:blur(6px); }
@keyframes pmodal-entra{ from{ opacity:0; transform:translateY(16px) scale(.98); } to{ opacity:1; transform:none; } }
@keyframes pmodal-sale{ from{ opacity:1; transform:none; } to{ opacity:0; transform:translateY(8px) scale(.99); } }
@keyframes pmodal-fondo-entra{ from{ opacity:0; } to{ opacity:1; } }
@keyframes pmodal-fondo-sale{ from{ opacity:1; } to{ opacity:0; } }
.pmodal[open]{ animation:pmodal-entra .36s var(--ease-out) both; }
.pmodal[open]::backdrop{ animation:pmodal-fondo-entra .36s var(--ease-out) both; }
.pmodal.is-cerrando{ animation:pmodal-sale .22s var(--ease-out) both; }
.pmodal.is-cerrando::backdrop{ animation:pmodal-fondo-sale .22s var(--ease-out) both; }
.pmodal__caja{ position:relative; max-height:calc(100vh - 40px); overflow-y:auto;
  overscroll-behavior:contain; padding:clamp(24px,2.6vw,36px); border-radius:inherit; }
.pmodal__cerrar{ position:absolute; top:clamp(16px,1.6vw,22px); right:clamp(16px,1.6vw,22px); z-index:2;
  display:flex; align-items:center; justify-content:center; width:40px; height:40px;
  padding:0; border:1px solid rgba(0,0,0,.12); border-radius:999px;
  background:transparent; color:inherit; cursor:pointer;
  transition:background .25s var(--ease-out), border-color .25s var(--ease-out); }
.pmodal__cerrar:hover{ background:rgba(0,0,0,.05); border-color:rgba(0,0,0,.22); }
.pmodal__cerrar svg{ width:19px; height:19px; display:block; }
.pmodal__titulo{ margin:0; padding-right:48px; font-size:clamp(1.3rem,2.2vw,1.8rem);
  font-weight:300; line-height:1.14; letter-spacing:-.03em; text-wrap:balance; }
.pmodal__titulo strong{ font-weight:800; }
.pmodal__titulo-paso[hidden]{ display:none; }
.pmodal__progreso{ display:flex; gap:6px; margin:clamp(18px,2vw,26px) 0 0; padding:0; }
.pmodal__progreso i{ display:block; flex:1; height:3px; border-radius:999px; background:rgba(0,0,0,.12);
  transition:background .3s var(--ease-out); }
.pmodal__progreso i.is-activo{ background:var(--verde); }
.pmodal__paso{ margin:0; padding:0; border:none; }
.pmodal__paso[hidden]{ display:none; }
.pmodal [hidden]{ display:none; }
.pmodal__pregunta{ display:block; padding:0; margin:clamp(18px,2vw,26px) 0 0; font-size:.85rem;
  font-weight:800; letter-spacing:.08em; text-transform:uppercase; opacity:.55; }

.pmodal__planes{ display:grid; gap:12px; margin:clamp(18px,2vw,26px) 0 0; padding:0; border:0; min-width:0; }
.pmodal__plan{ display:block; cursor:pointer; }
.pmodal__plan input{ position:absolute; width:1px; height:1px; opacity:0; pointer-events:none; }
.pmodal__plan-caja{ display:flex; align-items:center; gap:clamp(14px,1.6vw,20px);
  padding:clamp(12px,1.4vw,16px) clamp(14px,1.6vw,20px);
  border:1.5px solid rgba(0,0,0,.12); border-radius:14px; background:#fff;
  transition:border-color .25s var(--ease-out), box-shadow .25s var(--ease-out); }
.pmodal__plan:hover .pmodal__plan-caja{ border-color:rgba(0,0,0,.28); }
.pmodal__plan input:checked + .pmodal__plan-caja{ border-color:var(--verde);
  box-shadow:0 0 0 1.5px var(--verde) inset; }
.pmodal__plan input:focus-visible + .pmodal__plan-caja{ outline:2px solid var(--accent); outline-offset:3px; }
.pmodal__plan-img{ flex:none; width:46px; height:46px; object-fit:contain; display:block; }
.pmodal__plan-nombre{ flex:1; font-size:1rem; font-weight:800; letter-spacing:-.02em; }
.pmodal__plan-precio{ flex:none; font-size:.95rem; font-weight:700; color:var(--marca); }
.pmodal__plan input:checked + .pmodal__plan-caja .pmodal__plan-precio{ color:var(--verde); opacity:1; }

.pmodal__campos{ display:grid; grid-template-columns:1fr; gap:clamp(16px,1.8vw,22px);
  margin-top:clamp(18px,2vw,26px); }
.pmodal__campo{ display:flex; flex-direction:column; gap:6px; margin-top:clamp(18px,2vw,26px); }
.pmodal__campos .pmodal__campo{ margin-top:0; }
.pmodal__etiqueta{ font-size:.85rem; font-weight:700; letter-spacing:.08em; text-transform:uppercase;
  opacity:.55; }
.pmodal__etiqueta em{ font-style:normal; font-weight:400; text-transform:none; letter-spacing:0; }
.pmodal__obliga{ color:var(--accent); font-weight:800; }
.pmodal__campo input, .pmodal__campo textarea{ width:100%; padding:11px 14px;
  border:1px solid rgba(0,0,0,.14); border-radius:10px; background:#fff; color:inherit;
  font:inherit; font-size:.94rem; resize:vertical;
  transition:border-color .25s var(--ease-out); }
.pmodal__campo input:focus, .pmodal__campo textarea:focus{ outline:none; border-color:var(--fg); }
.pmodal__campo input:user-invalid, .pmodal__campo textarea:user-invalid{ border-color:var(--accent); }

.pmodal__legal{ position:relative; display:flex; align-items:flex-start; gap:11px; margin-top:16px;
  font-size:.86rem; font-weight:300; line-height:1.45; cursor:pointer; }
.pmodal__legal input{ flex:none; appearance:none; -webkit-appearance:none; margin:1px 0 0;
  width:19px; height:19px; border:1.5px solid rgba(0,0,0,.28); border-radius:5px;
  background-color:#fff; cursor:pointer;
  transition:background-color .2s var(--ease-out), border-color .2s var(--ease-out); }
.pmodal__legal input:checked{ background-color:var(--verde); border-color:var(--verde);
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='3.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m5 13 4.5 4.5L19 7'/%3E%3C/svg%3E");
  background-repeat:no-repeat; background-position:center; background-size:12px 12px; }
.pmodal__legal input:focus-visible{ outline:2px solid var(--accent); outline-offset:2px; }
.pmodal__legal input:user-invalid{ border-color:var(--accent); }
.pmodal__legal a{ color:inherit; text-decoration:underline; text-underline-offset:3px;
  transition:color .25s var(--ease-out); }
.pmodal__legal a:hover{ color:var(--accent); }

.pmodal__pie{ display:flex; align-items:center; justify-content:space-between; gap:18px;
  margin-top:clamp(24px,2.6vw,34px); }
.pmodal__pie:has(.pmodal__enviar:only-child){ justify-content:flex-end; }
.pmodal__enviar{ flex:none; padding:14px 28px; }
.pmodal__enviar[disabled]{ opacity:.65; cursor:progress; }
.pmodal__atras{ padding:0; border:none; background:none; color:inherit; cursor:pointer;
  display:inline-flex; align-items:center; gap:8px; font-size:.8rem; font-weight:700; opacity:.6;
  transition:opacity .25s var(--ease-out); }
.pmodal__atras:hover{ opacity:1; }
.pmodal__atras span{ transition:transform .3s var(--ease-out); }
.pmodal__atras:hover span{ transform:translateX(-3px); }

.pconf{ width:min(430px, calc(100vw - 2 * var(--pad))); max-width:none;
  padding:0; border:none; border-radius:18px; background:var(--bg); color:var(--fg);
  box-shadow:0 50px 100px -40px rgba(0,0,0,.6); }
.pconf::backdrop{ background:rgba(0,0,0,.45); -webkit-backdrop-filter:blur(3px); backdrop-filter:blur(3px); }
.pconf[open]{ animation:pmodal-entra .28s var(--ease-out) both; }
.pconf[open]::backdrop{ animation:pmodal-fondo-entra .28s var(--ease-out) both; }
.pconf__caja{ padding:clamp(24px,2.6vw,32px); }
.pconf__titulo{ margin:0 0 8px; font-size:1.08rem; font-weight:800; line-height:1.3;
  letter-spacing:-.02em; text-wrap:balance; }
.pconf__texto{ margin:0; font-size:.9rem; font-weight:300; line-height:1.5; opacity:.7; }
.pconf__acciones{ display:flex; align-items:center; justify-content:flex-end; flex-wrap:wrap;
  gap:10px; margin-top:clamp(20px,2.2vw,26px); }
body.modal-abierto{ overflow:hidden; }

.plan-cierre .section__inner{ text-align:center; }
.plan-cierre .lead{ margin-inline:auto; }
.plan-cierre__vias{ display:flex; align-items:center; justify-content:center; flex-wrap:wrap;
  gap:clamp(18px,2.4vw,32px); margin-top:clamp(28px,3vw,44px); }
.plan-cierre__iconos{ display:flex; align-items:center; gap:12px; }
.plan-cierre__iconos a{ display:flex; align-items:center; justify-content:center;
  width:50px; height:50px; border:1px solid var(--border); border-radius:999px; color:inherit;
  transition:background .18s var(--ease-out), color .18s var(--ease-out),
             border-color .18s var(--ease-out), transform .18s var(--ease-out); }
.plan-cierre__iconos a:hover{ background:var(--marca); color:#fff; border-color:var(--marca);
  transform:translateY(-2px); }
.plan-cierre__iconos svg{ width:22px; height:22px; display:block; }

@media (max-width:1100px){
  .plan-tabla__rotulo{ font-size:.85rem; }
}
@media (max-width:900px){
  .plan-hero .section__inner{ grid-template-columns:1fr; }
  .plan-hero .lead{ padding-top:0; margin-top:20px; font-size:15px; line-height:1.6; }
  .plan-hero__titulo{ margin-bottom:0; }
  .plan-atajos{ gap:25px; }

  .plan-dupla{ display:flex; flex-direction:column; gap:0; }
  .plan-dupla__panel,
  .plan-dupla--invertida .plan-dupla__panel{ display:contents; }
  .plan-dupla .eyebrow{ order:1; }
  .plan-seccion__titulo{ order:2; }
  .plan-seccion__precio{ order:3; }
  .plan-seccion__entradilla{ order:4; }
  .plan-dupla__objeto,
  .plan-dupla--invertida .plan-dupla__objeto{ order:5; margin:4px 0 24px; }
  .plan-acordeon,
  .plan-prestaciones{ order:6; }
  .plan-seccion__cta{ order:7; }
  .plan-dupla__objeto img{ width:min(66%,270px); }
  .plan-precio{ top:0; right:4%; }
  .plan-tabla{ display:none; }
  .plan-resumenes{ display:flex; }

  .plan-item summary,
  .plan-item__texto{ padding-left:0; padding-right:0; }
}
@media (max-width:620px){
  .plan-atajos{ grid-template-columns:1fr; }
}
@media (prefers-reduced-motion: reduce){
  .pmodal[open], .pmodal[open]::backdrop,
  .pmodal.is-cerrando, .pmodal.is-cerrando::backdrop,
  .pconf[open], .pconf[open]::backdrop{ animation:none; }
  body[data-page="mantenimiento"] *,
  body[data-page="alojamiento"] *{ transition-duration:.01ms !important; }
  .plan-dupla__objeto img{ animation:none; }
}
