/**
 * Becas VPRO - Convocatoria de becas para el Diplomado -- estilos.
 * Extraido de becas-vpro.html.
 */

/* ═══════════════ TOKENS ═══════════════ */
:root{
  --bg:#1B1418;
  --bg-2:#241A20;
  --bg-3:#2E2129;
  --cream:#FAF4F1;
  --cream-2:#F2E7E2;
  --coral:#E89A8D;
  --coral-strong:#DE7F6E;
  --coral-soft:rgba(232,154,141,.14);
  --gold:#D4AF7A;
  --ink:#7C7082;
  --ink-strong:#2A2026;
  --ink-soft:#6E5D65;
  --txt:#F7EFEC;
  --txt-soft:#C9B8BC;
  --border:rgba(232,154,141,.16);
  --border-cream:rgba(42,32,38,.12);
  --err:#C0453B;
  --font-d:'Charis SIL',Georgia,serif;
  --font-b:'Outfit',system-ui,sans-serif;
  --font-title:'Work Sans','Outfit',sans-serif;
  --r-md:10px; --r-lg:16px; --r-xl:24px; --r-full:9999px;
  --ease:cubic-bezier(.4,0,.2,1);
  --shadow-cta:0 10px 30px rgba(222,127,110,.35);
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{font-family:var(--font-b);background:var(--bg);color:var(--txt);line-height:1.65;font-size:17px;-webkit-font-smoothing:antialiased}
img,svg{display:block;max-width:100%}
a{color:inherit}
.wrap{width:min(1120px,92%);margin-inline:auto}
@media(max-width:600px){.wrap{width:calc(100% - 48px)}}
section{padding:clamp(64px,9vw,110px) 0}

/* ═══════════════ TIPOGRAFÍA ═══════════════ */
h1,h2,h3{font-family:var(--font-title);font-weight:700;line-height:1.12;letter-spacing:-.01em}
h1{font-size:clamp(2.1rem,5.2vw,3.4rem)}
h2{font-size:clamp(1.7rem,3.6vw,2.5rem)}
h3{font-size:clamp(1.15rem,2vw,1.35rem)}
.em{font-family:var(--font-d);font-style:italic;font-weight:700;background:linear-gradient(90deg,var(--coral) 0%,#fff 50%,var(--coral) 100%);background-size:220% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;animation:emShine 5s ease-in-out infinite}
.em-light{font-family:var(--font-d);font-style:italic;font-weight:700;color:#D9705C}
@keyframes emShine{0%,100%{background-position:0% 0}50%{background-position:100% 0}}
@media (prefers-reduced-motion:reduce){.em{animation:none;background:none;-webkit-text-fill-color:currentColor;color:var(--coral)}}
.eyebrow{display:inline-flex;align-items:center;gap:8px;font-size:.8rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--coral);margin-bottom:18px}
.eyebrow::before{content:"";width:26px;height:2px;background:var(--coral);border-radius:2px}
.lead{font-size:clamp(1.02rem,1.6vw,1.18rem);color:var(--txt-soft);max-width:62ch}
.light{background:var(--cream);color:var(--ink-strong)}
.light .lead{color:var(--ink-soft)}
.light h2,.light h3{color:var(--ink-strong)}
.light .eyebrow{color:#D9705C}
.light .eyebrow::before{background:#D9705C}

/* ═══════════════ ANIMACIONES ═══════════════ */
.rv{opacity:0;transform:translateY(26px);transition:opacity .7s var(--ease),transform .7s var(--ease)}
.rv.in{opacity:1;transform:none}
.rv-d1{transition-delay:.08s}.rv-d2{transition-delay:.16s}.rv-d3{transition-delay:.24s}.rv-d4{transition-delay:.32s}
.rv-z{transform:scale(.93)}
.stagger>*{opacity:0;transform:translateY(24px);transition:opacity .6s var(--ease),transform .6s var(--ease)}
.stagger.in>*{opacity:1;transform:none}
.stagger.in>*:nth-child(1){transition-delay:.05s}
.stagger.in>*:nth-child(2){transition-delay:.13s}
.stagger.in>*:nth-child(3){transition-delay:.21s}
.stagger.in>*:nth-child(4){transition-delay:.29s}
.stagger.in>*:nth-child(5){transition-delay:.37s}
.stagger.in>*:nth-child(6){transition-delay:.45s}
@media (prefers-reduced-motion:reduce){
  .rv,.stagger>*{opacity:1;transform:none;transition:none}
  html{scroll-behavior:auto}
}

/* ═══════════════ BOTONES ═══════════════ */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;font-family:var(--font-b);font-weight:600;font-size:1.02rem;padding:16px 34px;border-radius:var(--r-full);text-decoration:none;border:none;cursor:pointer;transition:transform .18s var(--ease),box-shadow .18s var(--ease),background .18s var(--ease);min-height:52px}
.btn:active{transform:scale(.96)}
.btn-primary{background:var(--coral-strong);color:#fff;box-shadow:var(--shadow-cta)}
.btn-primary:hover{transform:translateY(-2px);background:#E9907E;box-shadow:0 14px 36px rgba(222,127,110,.45)}
.btn-primary:active{transform:none}
.btn-ghost{background:transparent;color:var(--txt);border:1.5px solid var(--border)}
.btn-ghost:hover{border-color:var(--coral);color:var(--coral)}
.light .btn-ghost{color:var(--ink-strong);border-color:var(--border-cream)}
.light .btn-ghost:hover{border-color:#D9705C;color:#D9705C}
.btn:disabled{opacity:.5;cursor:not-allowed;transform:none;box-shadow:none}
.btn svg{width:20px;height:20px;flex:none}

/* Movil: en pantallas pequenas los CTA de texto se veian demasiado grandes.
   (.hd .btn y .sticky-cta .btn tienen mas especificidad y conservan su
   tamano propio.) */
@media(max-width:600px){
  .btn{font-size:.9rem;padding:13px 26px;min-height:46px}
  .btn svg{width:18px;height:18px}
}

/* ═══════════════ HEADER ═══════════════ */
header{position:fixed;inset:0 0 auto 0;z-index:50;padding:16px 0;background:rgba(27,20,24,.62);backdrop-filter:blur(10px);border-bottom:1px solid transparent;transition:background .25s var(--ease),border-color .25s var(--ease),padding .25s var(--ease)}
header.scrolled{background:rgba(27,20,24,.92);border-color:var(--border);padding:12px 0}
.hd{display:flex;align-items:center;justify-content:space-between}
.logo{text-decoration:none;display:block}
@media(max-width:560px){.logo img{height:44px!important}}
.hd .btn{padding:11px 24px;min-height:44px;font-size:.92rem}
@media(max-width:560px){.hd .btn{display:none}}

/* ── Header sticky (lo activa el JS anadiendo .vpro-hdr-on al <html>) ──
   En reposo el header de la landing va en flujo normal y hace scroll con la
   pagina; cuando el scroll llega a el se fija arriba (.is-pinned), respetando
   el alto de la admin bar de WordPress si esta presente. Se scopa a .vpro-lp
   para NO tocar el header real del sitio (que tambien es <header>). */
.vpro-hdr-on .vpro-lp header{position:static}
.vpro-hdr-on .vpro-lp header.is-pinned{position:fixed;top:var(--wp-admin--admin-bar--height,0);left:0;right:0;animation:vpro-hdr-drop .28s var(--ease)}
@keyframes vpro-hdr-drop{from{transform:translateY(-100%)}to{transform:none}}
/* Con el header ya en flujo, el hero no necesita el gran padding superior
   que reservaba para el header fijo. */
.vpro-hdr-on .vpro-lp .hero{padding-top:clamp(40px,7vw,72px)}

/* ═══════════════ HERO ═══════════════ */
.hero{position:relative;overflow:hidden;padding-top:clamp(120px,16vw,168px);text-align:center}
.hero::before{content:"";position:absolute;inset:-30% -20% auto auto;width:760px;height:760px;border-radius:50%;background:radial-gradient(circle,rgba(232,154,141,.17),transparent 65%);pointer-events:none;animation:blobBreathe 12s ease-in-out infinite}
@keyframes blobBreathe{0%,100%{transform:scale(1) translate(0,0)}50%{transform:scale(1.15) translate(-3%,-2%)}}
@media (prefers-reduced-motion:reduce){.hero::before,.final::before{animation:none}}
.hero-in{position:relative;z-index:2}
.badge-cohorte{display:inline-flex;align-items:center;gap:10px;background:var(--coral-soft);border:1px solid var(--border);color:var(--coral);font-family:'Montserrat',var(--font-b);font-size:.78rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;padding:9px 18px;border-radius:var(--r-full);margin-bottom:22px}
.badge-cohorte .bc-a{display:inline-flex;align-items:center;gap:7px;white-space:nowrap}
.badge-cohorte .dot{width:8px;height:8px;border-radius:50%;background:var(--gold);animation:pulse 2s infinite}
@keyframes pulse{0%,100%{opacity:1}50%{opacity:.35}}
@media (prefers-reduced-motion:reduce){.badge-cohorte .dot{animation:none}}
@media(max-width:520px){
  h1{font-size:1.72rem}
  .badge-cohorte{flex-direction:column;align-items:flex-start;gap:4px;font-size:.72rem;padding:11px 18px;letter-spacing:.03em}
  .badge-cohorte .bc-sep{display:none}
}
.hero h1{max-width:17ch;margin:0 auto 20px}
.hero .lead{margin:0 auto}
.hero-cta{display:flex;flex-wrap:wrap;gap:14px;justify-content:center;margin-top:34px}
.hero-note{font-size:.86rem;color:var(--txt-soft);margin-top:20px;opacity:.85}

/* ═══════════════ FRANJA USTA + TRUST ═══════════════ */
.usta{padding:clamp(48px,7vw,80px) 0 0;text-align:center}
.usta-row{display:flex;align-items:center;justify-content:center;gap:4px;margin:30px 0 8px;flex-wrap:wrap}
.cert-mini{width:64px;height:64px;border-radius:14px;background:var(--coral-soft);border:1px solid var(--gold);display:grid;place-items:center;color:var(--gold);animation:stampHit 3.4s ease-in-out infinite}
@keyframes stampHit{0%,100%{transform:scale(1) rotate(-4deg)}8%{transform:scale(.86) rotate(-7deg)}18%{transform:scale(1.08) rotate(2deg)}28%{transform:scale(1) rotate(-4deg)}}
@media (prefers-reduced-motion:reduce){.cert-mini{animation:none}}
.trust-stats-card{background:var(--bg-3);border:1px solid var(--border);border-radius:var(--r-xl);padding:clamp(30px,4vw,44px) clamp(18px,3vw,32px);margin-top:36px}
.trust-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:32px 20px;text-align:center}
@media(min-width:821px){.trust-grid{grid-template-columns:repeat(4,1fr);gap:24px 20px}.trust-item:not(:first-child){border-left:1px solid var(--border)}}
.trust-item{padding:0 8px;transition:transform .25s var(--ease)}
.trust-item:hover{transform:translateY(-3px)}
.trust-item:hover .tic{transform:scale(1.12) rotate(-5deg)}
.trust-item b{display:block;font-family:var(--font-title);font-size:clamp(1.8rem,3.12vw,2.4rem);color:var(--coral)}
.trust-item span{display:block;font-size:.88rem;color:var(--txt-soft);max-width:16ch;margin-inline:auto}
.trust-item .tic{width:44px;height:44px;margin:0 auto 12px;border-radius:12px;background:var(--coral-soft);color:var(--coral);display:grid;place-items:center;transition:transform .25s var(--ease)}

/* ═══════════════ CONCEPTO ═══════════════ */
.concepto-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(32px,5vw,72px);align-items:center}
@media(max-width:860px){.concepto-grid{grid-template-columns:1fr}}
.quote-card{background:var(--bg-2);border:1px solid var(--border);border-left:3px solid var(--coral);border-radius:var(--r-lg);padding:30px 32px}
.quote-card p{color:var(--txt-soft);font-size:1rem}
.quote-card p+p{margin-top:14px}
.quote-card b{font-family:var(--font-d);font-style:italic;font-weight:700;color:var(--coral);font-size:1.2rem;display:block;margin-bottom:8px}

/* ═══════════════ TARJETAS DE BECA ═══════════════ */
.becas-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:22px;margin-top:48px}
@media(max-width:760px){.becas-grid{grid-template-columns:1fr}}
.beca{position:relative;background:var(--bg-2);border:1px solid var(--border);border-radius:var(--r-lg);padding:30px 28px;transition:transform .25s var(--ease),border-color .25s var(--ease)}
.beca:hover{transform:translateY(-4px);border-color:var(--coral)}
.beca.top{background:linear-gradient(155deg,rgba(212,175,122,.12),var(--bg-2) 55%);border-color:rgba(212,175,122,.4)}
.beca .tag{position:absolute;top:-11px;right:22px;background:var(--gold);color:#1B1418;font-family:'Montserrat',var(--font-b);font-size:.68rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;padding:5px 13px;border-radius:var(--r-full)}
.beca small{display:block;font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;color:var(--coral);margin-bottom:10px;font-weight:600}
.beca .pct{font-family:var(--font-title);font-size:clamp(2.6rem,6vw,3.4rem);line-height:1;color:var(--coral);margin-bottom:6px}
.beca.top .pct{color:var(--gold)}
.beca h3{margin-bottom:6px}
.beca p{font-size:.93rem;color:var(--txt-soft)}
.nota-precio{margin-top:32px;background:var(--bg-3);border:1px solid var(--border);border-radius:var(--r-lg);padding:26px 28px}
.nota-precio p{font-size:.95rem;color:var(--txt-soft)}
.nota-precio b{color:var(--txt);font-weight:600}
.nota-precio .valor{font-family:var(--font-title);font-size:1.6rem;color:var(--coral);display:block;margin:6px 0 12px}

/* ═══════════════ REQUISITOS ═══════════════ */
.req-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin-top:48px}
@media(max-width:760px){.req-grid{grid-template-columns:1fr}}
.req-card{background:#fff;border:1px solid var(--border-cream);border-radius:var(--r-lg);padding:30px 28px;box-shadow:0 14px 34px rgba(42,32,38,.06)}
.req-card h3{margin-bottom:18px}
.req-card ul{list-style:none}
.req-card li{position:relative;padding-left:30px;margin-bottom:13px;font-size:.95rem;color:var(--ink-soft)}
.req-card li:last-child{margin-bottom:0}
.req-card li::before{content:"";position:absolute;left:0;top:8px;width:13px;height:7px;border-left:2px solid #D9705C;border-bottom:2px solid #D9705C;transform:rotate(-45deg)}
.req-card.warn li::before{border:none;width:16px;height:16px;top:4px;border-radius:50%;background:rgba(212,175,122,.25);box-shadow:inset 0 0 0 1.5px var(--gold)}
.req-card b{color:var(--ink-strong);font-weight:600}

/* ═══════════════ PROCESO ═══════════════ */
.pasos{counter-reset:s;display:grid;grid-template-columns:repeat(5,1fr);gap:24px;margin-top:52px}
@media(max-width:900px){.pasos{grid-template-columns:repeat(2,1fr);gap:32px 20px}}
@media(max-width:520px){.pasos{grid-template-columns:1fr}}
.paso{position:relative;padding-top:58px}
.paso::before{counter-increment:s;content:counter(s,decimal-leading-zero);position:absolute;top:0;left:0;font-family:var(--font-d);font-style:italic;font-weight:700;font-size:2.6rem;line-height:1;color:var(--coral);opacity:.85}
.paso h3{font-size:1.08rem;margin-bottom:8px}
.paso p{font-size:.92rem;color:var(--txt-soft)}

/* ═══════════════ FORMULARIO ═══════════════ */
.form-card{max-width:780px;margin:48px auto 0;background:#fff;border:1px solid var(--border-cream);border-radius:var(--r-xl);padding:clamp(26px,4.5vw,52px);box-shadow:0 24px 60px rgba(42,32,38,.10);text-align:left}
.prog{margin-bottom:34px}
.prog-bar{height:4px;background:var(--cream-2);border-radius:var(--r-full);overflow:hidden}
.prog-fill{height:100%;background:var(--coral-strong);width:20%;border-radius:var(--r-full);transition:width .35s var(--ease)}
.prog-meta{display:flex;justify-content:space-between;margin-top:11px;font-size:.76rem;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-soft);font-weight:500}
fieldset{border:none}
.step-panel{display:none}
.step-panel.active{display:block;animation:fadeStep .32s var(--ease)}
@keyframes fadeStep{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
.step-title{font-family:var(--font-title);font-weight:700;font-size:clamp(1.3rem,2.6vw,1.6rem);color:var(--ink-strong);margin-bottom:6px}
.step-sub{font-size:.93rem;color:var(--ink-soft);margin-bottom:30px}
.field{margin-bottom:22px}
.field>label{display:block;font-size:.86rem;font-weight:600;color:var(--ink-strong);margin-bottom:9px}
.field .hint{display:block;font-weight:400;font-size:.79rem;color:var(--ink-soft);margin-top:3px}
.rq{color:#D9705C}
input[type=text],input[type=tel],input[type=email],input[type=number],select,textarea{
  width:100%;font-family:var(--font-b);font-size:1rem;font-weight:400;color:var(--ink-strong);
  padding:14px 16px;border:1px solid var(--border-cream);border-radius:var(--r-md);
  background:var(--cream);transition:border-color .18s var(--ease),box-shadow .18s var(--ease),background .18s var(--ease);
}
textarea{resize:vertical;min-height:112px;line-height:1.6}
input:focus,select:focus,textarea:focus{outline:none;border-color:var(--coral-strong);background:#fff;box-shadow:0 0 0 3px rgba(222,127,110,.16)}
input.invalid,select.invalid,textarea.invalid{border-color:var(--err);box-shadow:0 0 0 3px rgba(192,69,59,.10)}
select{appearance:none;background-image:url("data:image/svg+xml;charset=UTF-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%236E5D65' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;background-size:18px;padding-right:44px}
.row{display:grid;grid-template-columns:1fr 1fr;gap:18px}
@media(max-width:560px){.row{grid-template-columns:1fr}}
.opts{display:grid;gap:11px}
.opts.two{grid-template-columns:1fr 1fr}
@media(max-width:560px){.opts.two{grid-template-columns:1fr}}
.opt{position:relative;display:flex;align-items:flex-start;gap:13px;padding:15px 17px;border:1px solid var(--border-cream);border-radius:var(--r-md);cursor:pointer;background:var(--cream);transition:border-color .16s var(--ease),background .16s var(--ease);font-size:.96rem;color:var(--ink-strong)}
.opt:hover{border-color:var(--coral)}
.opt input{position:absolute;opacity:0;pointer-events:none}
.opt .box{flex:none;width:20px;height:20px;margin-top:2px;border:1.5px solid var(--ink);border-radius:50%;display:grid;place-items:center;transition:all .16s var(--ease)}
.opt .box::after{content:"";width:9px;height:9px;border-radius:50%;background:#fff;transform:scale(0);transition:transform .16s var(--ease)}
.opt input:checked~.box{border-color:var(--coral-strong);background:var(--coral-strong)}
.opt input:checked~.box::after{transform:scale(1)}
.opt:has(input:checked){border-color:var(--coral-strong);background:rgba(222,127,110,.09)}
.opt .txt strong{display:block;font-weight:600}
.opt .txt span{font-size:.84rem;color:var(--ink-soft)}
.legal{display:flex;gap:13px;align-items:flex-start;margin-bottom:16px;font-size:.88rem;color:var(--ink-soft);line-height:1.55;cursor:pointer}
.legal input{flex:none;width:20px;height:20px;margin-top:3px;accent-color:var(--coral-strong);cursor:pointer}
.legal a{color:var(--ink-strong);font-weight:600;text-decoration:underline;text-underline-offset:3px}
.legal b{color:var(--ink-strong);font-weight:600}
.err-msg{display:none;font-size:.82rem;color:var(--err);margin-top:7px;font-weight:500}
.err-msg.show{display:block}
.form-err{display:none;background:rgba(192,69,59,.07);border:1px solid rgba(192,69,59,.26);color:var(--err);border-radius:var(--r-md);padding:14px 16px;font-size:.9rem;margin-bottom:22px;font-weight:500}
.form-err.show{display:block}
.nav-btns{display:flex;justify-content:space-between;gap:14px;margin-top:34px;padding-top:26px;border-top:1px solid var(--border-cream)}
.aviso{background:rgba(212,175,122,.14);border:1px solid rgba(212,175,122,.5);border-radius:var(--r-md);padding:18px 20px;margin:6px 0 22px;font-size:.92rem;color:var(--ink-soft)}
.aviso b{color:var(--ink-strong);font-weight:600}
.resumen{background:linear-gradient(155deg,rgba(212,175,122,.13),var(--cream) 60%);border:1px solid rgba(212,175,122,.42);border-radius:var(--r-lg);padding:24px;margin-bottom:26px}
.resumen .r{display:flex;justify-content:space-between;gap:16px;font-size:.94rem;padding:7px 0;color:var(--ink-soft)}
.resumen .r strong{color:var(--ink-strong);font-weight:600;text-align:right}
.resumen .r.total{border-top:1px solid rgba(212,175,122,.5);margin-top:10px;padding-top:15px;align-items:center}
.resumen .big{font-family:var(--font-title);font-weight:700;font-size:1.9rem;color:#C08A4A;line-height:1}
.resumen .nota{font-size:.81rem;color:var(--ink-soft);margin-top:12px;opacity:.9}
.success{display:none;text-align:center}
.success.show{display:block;animation:fadeStep .4s var(--ease)}
.check{width:78px;height:78px;margin:0 auto 26px;border-radius:50%;background:rgba(222,127,110,.13);display:grid;place-items:center}
.check svg{width:36px;height:36px;stroke:var(--coral-strong);stroke-width:2.4;fill:none}
.success h3{font-size:clamp(1.5rem,3.4vw,2rem);margin-bottom:14px;color:var(--ink-strong)}
.success p{color:var(--ink-soft);max-width:52ch;margin:0 auto 12px;font-size:.98rem}
.success p b{color:var(--ink-strong);font-weight:600}
.next-steps{text-align:left;max-width:480px;margin:32px auto 0;padding:26px;background:var(--cream);border:1px solid var(--border-cream);border-radius:var(--r-lg)}
.next-steps h4{font-family:var(--font-b);font-size:.76rem;letter-spacing:.14em;text-transform:uppercase;color:#D9705C;margin-bottom:15px;font-weight:600}
.next-steps ol{padding-left:19px;font-size:.93rem;color:var(--ink-soft)}
.next-steps li{margin-bottom:10px}

/* ═══════════════ FAQ ═══════════════ */
.faq{max-width:760px;margin:48px auto 0;text-align:left}
.faq details{background:#fff;border:1px solid var(--border-cream);border-radius:var(--r-md);margin-bottom:12px;overflow:hidden}
.faq summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:16px;padding:20px 24px;font-weight:600;color:var(--ink-strong);font-size:1rem;transition:background .2s var(--ease)}
.faq summary:hover{background:var(--cream-2)}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";font-family:var(--font-d);font-size:1.5rem;color:#D9705C;transition:transform .25s var(--ease);flex:none;line-height:1}
.faq details[open] summary::after{transform:rotate(45deg)}
.faq .a{padding:0 24px 22px;font-size:.96rem;color:var(--ink-soft)}
.faq .a b{color:var(--ink-strong);font-weight:600}

/* ═══════════════ CIERRE ═══════════════ */
.final{position:relative;overflow:hidden;text-align:center}
.final::before{content:"";position:absolute;inset:auto -20% -40% auto;width:700px;height:700px;border-radius:50%;background:radial-gradient(circle,rgba(232,154,141,.14),transparent 65%);pointer-events:none;animation:blobBreathe 12s ease-in-out infinite}
.final .wrap{position:relative;z-index:2}

/* ═══════════════ TÉRMINOS ═══════════════ */
.terms{background:var(--bg-2);border-top:1px solid var(--border)}
.terms .wrap{max-width:860px}
.terms-body{font-size:.9rem;color:var(--txt-soft);margin-top:34px}
.terms-body h3{font-size:1.05rem;color:var(--txt);margin:28px 0 9px}
.terms-body h3:first-child{margin-top:0}
.terms-body ul{padding-left:22px;margin:9px 0}
.terms-body li{margin-bottom:7px}
.terms-body b{color:var(--txt);font-weight:600}
.terms-body .updated{font-size:.82rem;border-top:1px solid var(--border);padding-top:18px;margin-top:32px;opacity:.8}
.terms-toggle{display:inline-flex;align-items:center;gap:9px;background:transparent;border:1.5px solid var(--border);color:var(--txt);font-family:var(--font-b);font-weight:600;font-size:.92rem;padding:13px 26px;border-radius:var(--r-full);cursor:pointer;transition:border-color .2s var(--ease),color .2s var(--ease)}
.terms-toggle:hover{border-color:var(--coral);color:var(--coral)}
.terms-toggle svg{width:16px;height:16px;transition:transform .25s var(--ease)}
.terms-toggle[aria-expanded=true] svg{transform:rotate(180deg)}
#termsBody[hidden]{display:none}

/* ═══════════════ FOOTER ═══════════════ */
footer.site{background:var(--bg-2);border-top:1px solid var(--border);padding:44px 0;text-align:center}
footer.site img{margin-inline:auto}
footer.site p{font-size:.85rem;color:var(--txt-soft);margin-top:12px}
footer.site .legal-f{margin-top:18px;font-size:.78rem}
footer.site a{color:var(--txt-soft)}
footer.site a:hover{color:var(--coral)}

/* ═══════════════ STICKY + WA ═══════════════ */
.sticky-cta{position:fixed;left:0;right:0;bottom:0;z-index:90;background:rgba(27,20,24,.92);backdrop-filter:blur(10px);border-top:1px solid var(--border);padding:12px 16px;display:none;transform:translateY(100%);transition:transform .3s var(--ease)}
.sticky-cta.show{transform:none}
.sticky-cta .btn{width:100%;min-height:50px}
@media(max-width:760px){.sticky-cta{display:block}}
.wa-float{position:fixed;right:20px;bottom:20px;z-index:95;width:58px;height:58px;border-radius:50%;background:#25D366;display:grid;place-items:center;box-shadow:0 8px 24px rgba(0,0,0,.35);transition:transform .2s var(--ease);text-decoration:none}
.wa-float::before{content:"";position:absolute;inset:0;border-radius:50%;background:#25D366;animation:waPulse 2.6s ease-out infinite}
.wa-float:hover{transform:scale(1.08)}
@keyframes waPulse{0%{transform:scale(1);opacity:.5}100%{transform:scale(1.9);opacity:0}}
@media (prefers-reduced-motion:reduce){.wa-float::before{animation:none}}
.wa-float svg{width:30px;height:30px;fill:#fff;position:relative}
@media(max-width:760px){.wa-float{bottom:84px}}
@media print{header,.sticky-cta,.wa-float,.hero-cta{display:none}}
