:root{--navy:#0b2a4a;--navy-700:#103759;--navy-900:#071c33;--teal:#14b8a6;--teal-light:#7de9db;--green:#16a34a;--ink:#0f172a;--muted:#526276;--line:#e4e9f0;--bg:#f4f7fa}
*{box-sizing:border-box}html{min-height:100%;background:var(--bg)}body{margin:0;min-height:100vh;font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink)}a{color:var(--navy);text-underline-offset:3px}a:focus-visible,button:focus-visible,input:focus-visible{outline:3px solid var(--teal);outline-offset:3px}
.auth-page{display:grid;place-items:center;padding:28px 16px;background:radial-gradient(circle at 15% 8%,rgba(20,184,166,.15),transparent 32%),linear-gradient(150deg,#f8fbfd,#edf3f8)}.auth-card{width:min(100%,480px);padding:34px clamp(22px,6vw,42px);border:1px solid var(--line);border-radius:22px;background:#fff;box-shadow:0 18px 55px rgba(11,42,74,.12)}.auth-brand{display:inline-flex;align-items:center;gap:10px;color:var(--navy);font-size:.93rem;font-weight:900;letter-spacing:.04em;text-decoration:none}.auth-brand svg{width:34px;height:38px}.auth-kicker{margin:26px 0 8px;color:#0d9488;font-size:.76rem;font-weight:900;letter-spacing:.12em;text-transform:uppercase}.auth-card h1{margin:0;color:var(--navy);font-size:clamp(1.8rem,6vw,2.35rem);line-height:1.1;letter-spacing:-.04em}.auth-lede{margin:12px 0 22px;color:var(--muted);line-height:1.6}.google-button{display:flex;align-items:center;justify-content:center;gap:12px;width:100%;min-height:50px;border:1px solid #cbd5df;border-radius:10px;background:#fff;color:#1f2937;font-weight:800;text-decoration:none;transition:background .15s,border-color .15s}.google-button:hover{background:#f8fafc;border-color:#94a3b8}.google-button svg{width:20px;height:20px;flex:none}.auth-divider{display:flex;align-items:center;gap:12px;margin:20px 0;color:#64748b;font-size:.88rem}.auth-divider:before,.auth-divider:after{content:"";height:1px;flex:1;background:var(--line)}.auth-form{display:grid;gap:12px}.auth-form label{font-size:.92rem;font-weight:800;color:var(--navy)}.auth-form input{width:100%;min-height:48px;padding:12px 14px;border:1px solid #bdcbd8;border-radius:10px;font:inherit;background:#fff}.auth-form button{min-height:48px;padding:12px 16px;border:0;border-radius:10px;background:var(--navy);color:#fff;font:inherit;font-weight:800;cursor:pointer}.auth-form button:hover{background:var(--navy-700)}.auth-form button:disabled{opacity:.62;cursor:wait}.auth-code{display:grid;gap:12px;margin-top:8px}.auth-form .auth-secondary{background:#f1f5f9;color:var(--navy)}.auth-status{min-height:1.4em;margin:14px 0;color:var(--navy);font-size:.9rem;line-height:1.45}.auth-switch{margin:20px 0 0;text-align:center;color:var(--muted);font-size:.92rem}.auth-switch a{font-weight:800}.auth-back{display:block;margin:0 auto 18px;width:min(100%,480px);color:var(--navy);font-size:.9rem;font-weight:700}.auth-small{margin:20px 0 0;color:#64748b;font-size:.8rem;line-height:1.5;text-align:center}
.promo-page{background:#f5f8fb}.promo-header{display:flex;align-items:center;justify-content:space-between;gap:18px;max-width:1180px;margin:auto;padding:18px 22px}.promo-brand{display:inline-flex;align-items:center;gap:10px;color:var(--navy);font-weight:900;text-decoration:none}.promo-brand svg{width:34px;height:38px}.promo-nav{display:flex;align-items:center;gap:18px;font-size:.9rem;font-weight:700}.promo-nav a{text-decoration:none}.promo-nav .promo-nav-cta{padding:10px 15px;border-radius:999px;background:var(--navy);color:#fff}.promo-hero{position:relative;isolation:isolate;display:grid;grid-template-columns:1.05fr .95fr;align-items:center;gap:32px;max-width:1180px;min-height:440px;margin:0 auto;padding:52px 28px;overflow:hidden;border-radius:26px;background:linear-gradient(115deg,rgba(7,28,51,.97),rgba(11,42,74,.91) 52%,rgba(16,55,89,.74)),url('/assets/img/blog-portada.webp') center/cover no-repeat;color:#fff}.promo-hero:after{content:"";position:absolute;z-index:0;inset:0;background-image:radial-gradient(rgba(125,233,219,.15) 1px,transparent 1px);background-size:22px 22px;pointer-events:none}.promo-copy,.promo-visual{position:relative;z-index:2}.promo-eyebrow{display:inline-flex;padding:8px 12px;border:1px solid rgba(125,233,219,.42);border-radius:999px;background:rgba(20,184,166,.14);color:var(--teal-light);font-size:.8rem;font-weight:800}.promo-copy h1{max-width:620px;margin:18px 0 14px;font-size:clamp(2.3rem,6vw,4rem);line-height:1.03;letter-spacing:-.05em}.promo-copy p{max-width:580px;margin:0;color:#d3dfed;font-size:1.1rem;line-height:1.65}.promo-actions{display:flex;flex-wrap:wrap;align-items:center;gap:14px;margin-top:26px}.promo-button{display:inline-flex;align-items:center;justify-content:center;min-height:50px;padding:13px 22px;border-radius:999px;background:var(--green);color:#fff;font-weight:900;text-decoration:none}.promo-button:hover{background:#15803d}.promo-login{color:#fff;font-weight:800;text-underline-offset:4px}.promo-no-payment{margin-top:15px!important;font-size:.88rem!important;color:#bcd0e1!important}.promo-visual{display:grid;place-items:center;min-height:300px}.promo-vortex{position:absolute;width:min(76vw,390px);height:min(76vw,390px);border-radius:50%;background:conic-gradient(from 18deg,transparent 0 7%,rgba(20,184,166,.12) 10%,#14b8a6 20%,#7de9db 28%,#0f766e 37%,#35d9c8 48%,#0d9488 58%,#a5f3e8 68%,#14b8a6 76%,rgba(20,184,166,.12) 87%,transparent 96%),radial-gradient(ellipse at center,rgba(20,184,166,.5),transparent 69%);clip-path:polygon(13% 3%,87% 3%,75% 62%,61% 96%,39% 96%,25% 62%);filter:blur(13px);opacity:.88;mix-blend-mode:screen;animation:turquoise-tornado 20s linear infinite}.promo-vortex:after{content:"";position:absolute;inset:12%;border:12px solid rgba(125,233,219,.38);border-left-color:transparent;border-bottom-color:rgba(20,184,166,.08);border-radius:50%;transform:rotate(-25deg) scaleX(.75)}.promo-shield{position:relative;z-index:1;width:min(68%,270px);filter:drop-shadow(0 16px 28px rgba(0,0,0,.28))}.promo-benefits{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;max-width:1180px;margin:24px auto;padding:0 22px}.promo-benefit{padding:20px;border:1px solid var(--line);border-radius:16px;background:#fff}.promo-benefit strong{display:block;margin-bottom:7px;color:var(--navy)}.promo-benefit p{margin:0;color:var(--muted);font-size:.92rem;line-height:1.5}.promo-footer{max-width:1180px;margin:26px auto 0;padding:20px 22px 32px;color:#64748b;font-size:.85rem;text-align:center}@keyframes turquoise-tornado{0%{transform:rotate(0deg) scaleX(.78)}50%{transform:rotate(180deg) scaleX(.9)}100%{transform:rotate(360deg) scaleX(.78)}}@media(prefers-reduced-motion:reduce){.promo-vortex{animation:none}}
@media(max-width:760px){.promo-header{padding:15px 17px}.promo-nav{gap:12px}.promo-hero{grid-template-columns:1fr;min-height:auto;margin:0 12px;padding:40px 24px 30px}.promo-visual{min-height:230px}.promo-vortex{width:min(72vw,320px);height:min(72vw,320px)}.promo-shield{width:min(55%,210px)}.promo-benefits{grid-template-columns:1fr;margin-top:14px;padding:0 12px}.promo-copy h1{font-size:clamp(2.25rem,11vw,3.4rem)}}@media(max-width:420px){.promo-nav a:first-child{display:none}.promo-actions{align-items:stretch;flex-direction:column}.promo-button{text-align:center}}
/* casilla opcional de newsletter (registro) */
.auth-check{display:flex;align-items:flex-start;gap:11px;margin:0 0 16px;padding:12px 14px;border:1px solid var(--line);border-radius:10px;background:#f8fbfd;color:var(--navy);font-size:.9rem;line-height:1.45;cursor:pointer}
.auth-check input{flex:none;width:20px;height:20px;margin:1px 0 0;accent-color:#0d9488;cursor:pointer}
.auth-check em{color:#64748b;font-style:normal}
/* confirmación visible: cuenta creada / sesión ya iniciada */
.auth-done{display:none;text-align:center;padding:8px 0 2px}
.auth-card.is-done > :not(.auth-brand):not(.auth-done){display:none!important}
.auth-card.is-done > .auth-done{display:block}
.auth-done-ic{display:grid;place-items:center;width:62px;height:62px;margin:18px auto 16px;border-radius:50%;background:#ccfbf1;color:#0f766e;font-size:2rem;font-weight:900;animation:auth-pop .35s ease-out both}
.auth-done h2{margin:0 0 8px;color:var(--navy);font-size:1.5rem;line-height:1.2;letter-spacing:-.03em}
.auth-done p{margin:0 0 20px;color:var(--muted);line-height:1.55}
.auth-done-go{display:flex;align-items:center;justify-content:center;min-height:48px;border-radius:10px;background:var(--navy);color:#fff;font-weight:800;text-decoration:none}
.auth-done-go:hover{background:var(--navy-700)}
.auth-done-out{display:block;width:100%;margin-top:10px;min-height:44px;border:0;border-radius:10px;background:#f1f5f9;color:var(--navy);font:inherit;font-weight:800;cursor:pointer}
.auth-done-out:disabled{opacity:.62;cursor:wait}
@keyframes auth-pop{from{transform:scale(.6);opacity:0}to{transform:scale(1);opacity:1}}
@media(prefers-reduced-motion:reduce){.auth-done-ic{animation:none}}
/* ===== layout adaptativo de registro/ingreso =====
   Celular y tablet: una columna angosta y centrada (como antes, pero bien centrada).
   PC (≥960px): ocupa toda la pantalla — panel de beneficios a la izquierda, formulario a la derecha. */
.auth-page{display:block;min-height:100vh;padding:clamp(14px,3vw,36px) clamp(12px,3vw,36px)}
.auth-page > div{width:100%;max-width:1320px;margin:0 auto}
.auth-back{width:auto;margin:0 0 14px}
.auth-shell{display:grid;grid-template-columns:minmax(0,1fr)}
.auth-side{display:none}
.auth-card{width:min(100%,520px);margin:0 auto}
.auth-side-tag{display:inline-flex;align-self:flex-start;padding:8px 13px;border:1px solid rgba(125,233,219,.42);border-radius:999px;background:rgba(20,184,166,.14);color:#7de9db;font-size:.78rem;font-weight:800;letter-spacing:.08em}
.auth-side h2{max-width:560px;margin:22px 0 14px;font-size:clamp(2.1rem,3.6vw,3.4rem);line-height:1.05;letter-spacing:-.045em;color:#fff}
.auth-side-lead{max-width:520px;margin:0 0 28px;color:#cfe0ee;font-size:1.12rem;line-height:1.6}
.auth-side-list{display:grid;gap:14px;max-width:520px;margin:0;padding:0;list-style:none}
.auth-side-list li{position:relative;padding-left:34px;color:#e6f1f8;font-weight:600;line-height:1.45}
.auth-side-list li:before{content:"✓";position:absolute;left:0;top:0;display:grid;place-items:center;width:22px;height:22px;border-radius:50%;background:#14b8a6;color:#04332e;font-size:.8rem;font-weight:900}
@media(min-width:960px){
  .auth-page{padding:clamp(18px,2.5vw,40px)}
  .auth-shell{grid-template-columns:minmax(0,1fr) minmax(0,1fr);min-height:calc(100vh - (2 * clamp(18px,2.5vw,40px)) - 44px);border-radius:28px;overflow:hidden;background:#fff;box-shadow:0 24px 70px rgba(11,42,74,.16)}
  .auth-side{position:relative;isolation:isolate;display:flex;flex-direction:column;justify-content:center;padding:clamp(40px,5vw,88px);overflow:hidden;background:linear-gradient(135deg,#071c33,#0b2a4a 55%,#0f5c63)}
  .auth-side:after{content:"";position:absolute;z-index:-1;inset:0;background-image:radial-gradient(rgba(125,233,219,.14) 1px,transparent 1px);background-size:22px 22px;pointer-events:none}
  .auth-side .promo-vortex{right:-120px;bottom:-140px;z-index:-1;opacity:.55}
  .auth-card{display:flex;flex-direction:column;justify-content:center;width:100%;margin:0;padding:clamp(36px,4.5vw,80px);border:0;border-radius:0;box-shadow:none}
  .auth-card > *{width:100%;max-width:460px;margin-left:auto;margin-right:auto}
}
