/* Landing de postulaciones — mismo sistema visual que los flyers:
   negro, rosa neón, Playfair Display + Montserrat, aros de neón. */
:root{
  --bg:#040004; --pink:#ff2d95; --pink2:#ff5cb0; --hot:#ff0a80;
  --txt:#f6eef2; --muted:#cdbcc6; --line:rgba(255,45,149,.42); --aviso:#ffd166;
  --serif:'Playfair Display',Georgia,'Times New Roman',serif;
  --sans:'Montserrat',system-ui,-apple-system,'Segoe UI',Roboto,sans-serif;
}
*,*::before,*::after{box-sizing:border-box}
*{margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;scroll-padding-top:12px}
body{background:var(--bg);color:var(--txt);font:400 17px/1.6 var(--sans);overflow-x:hidden;-webkit-font-smoothing:antialiased}
img,svg{display:block;max-width:100%}
a{color:var(--pink2)}
[hidden]{display:none!important}
.centro{text-align:center}

/* ---------- textos ---------- */
.eyebrow{font:600 .74rem/1.5 var(--sans);letter-spacing:.3em;text-transform:uppercase;color:var(--pink2)}
h1{font:900 clamp(3.2rem,15.5vw,7rem)/.98 var(--serif);margin:14px 0 18px}
h1.largo{font-size:clamp(2.2rem,10vw,5.2rem);line-height:1.04}
h1 span,h1 em{display:block}
#h1a{white-space:pre-line;text-shadow:0 0 18px rgba(255,255,255,.22)}
h1 em,h2 em{font-style:italic;font-weight:900;color:var(--pink2);text-shadow:0 0 6px var(--pink),0 0 22px var(--hot),0 0 46px var(--hot)}
h2{font:800 clamp(2rem,7.8vw,3.4rem)/1.06 var(--serif);margin:10px 0 18px}
h2 em{display:block;text-shadow:0 0 6px var(--pink),0 0 20px var(--hot)}
h3{font:700 1.08rem/1.3 var(--sans)}
.lead{font-size:1.06rem;font-weight:300;color:#f1e6ec;max-width:44rem;margin-bottom:30px}
.lead strong{font-weight:600;color:#fff}
.centro .lead{margin-left:auto;margin-right:auto}

/* ---------- botones ---------- */
/* el degradado es un poco más oscuro que el de los flyers para que el texto blanco
   se lea bien al sol (contraste 4.5:1 o más); el brillo sigue siendo el rosa neón */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:56px;padding:16px 34px;border-radius:999px;border:0;cursor:pointer;
  background:linear-gradient(90deg,#d6006b,#e2127a);color:#fff;font:800 1rem/1.15 var(--sans);letter-spacing:.14em;text-transform:uppercase;text-decoration:none;text-align:center;
  box-shadow:0 0 22px rgba(255,10,128,.75),0 0 60px rgba(255,10,128,.38);transition:transform .15s ease,box-shadow .15s ease}
.btn:hover{transform:translateY(-1px);box-shadow:0 0 28px rgba(255,10,128,.9),0 0 76px rgba(255,10,128,.5)}
.btn:active{transform:translateY(1px)}
.btn[disabled]{opacity:.6;cursor:progress}
.btn-ghost{background:rgba(4,0,4,.4);border:2px solid var(--pink);color:var(--pink2);box-shadow:0 0 16px rgba(255,10,128,.45),inset 0 0 14px rgba(255,10,128,.18)}
.btn-full{display:flex;width:100%}
.btn .ico{width:24px;height:24px;stroke:currentColor;filter:none}
.enlace{display:block;min-height:44px;margin:14px auto 0;padding:8px 12px;border:0;background:none;color:var(--pink2);font:600 .92rem/1.2 var(--sans);text-decoration:underline;cursor:pointer}
:focus-visible{outline:3px solid #fff;outline-offset:3px}

/* ---------- encabezado ---------- */
.hero{position:relative;display:flex;flex-direction:column;align-items:center;text-align:center;padding:178px 20px 52px;overflow:hidden;
  background:radial-gradient(120% 55% at 50% -8%,rgba(255,20,140,.28),transparent 62%),radial-gradient(70% 40% at 100% 100%,rgba(255,20,140,.16),transparent 60%),radial-gradient(60% 40% at 0% 85%,rgba(160,0,90,.18),transparent 60%)}
.hero-deco::before,.hero-deco::after{content:"";position:absolute;left:50%;border-radius:50%;transform:translateX(-50%);pointer-events:none}
.hero-deco::before{width:680px;height:680px;top:-505px;border:3px solid var(--pink);
  box-shadow:0 0 16px var(--pink),0 0 44px var(--hot),inset 0 0 16px var(--pink),inset 0 0 44px rgba(255,10,128,.45)}
.hero-deco::after{width:760px;height:760px;top:-565px;border:2px solid var(--pink);opacity:.5;box-shadow:0 0 10px var(--pink),inset 0 0 10px var(--pink)}
.hero .logo{position:absolute;top:16px;left:50%;transform:translateX(-50%);width:150px;height:auto;mix-blend-mode:screen}
.hero .eyebrow{max-width:21rem}
.sub{max-width:34rem;font-size:1.06rem;font-weight:300;color:#f1e6ec;margin:0 auto 28px}
.cta-fila{display:flex;flex-direction:column;gap:14px;width:100%;max-width:26rem}
.cta-fila .btn{padding-left:18px;padding-right:18px;font-size:.95rem;letter-spacing:.1em}
.hero-nota{margin-top:22px;font-size:.76rem;line-height:1.7;letter-spacing:.13em;text-transform:uppercase;color:var(--muted)}
.hero-nota strong{display:block;color:var(--pink2);font-weight:800}

/* ---------- secciones ---------- */
section{position:relative;padding:52px 20px}
section.alt{background:rgba(255,10,128,.05);border-top:1px solid rgba(255,45,149,.2);border-bottom:1px solid rgba(255,45,149,.2)}
.wrap{max-width:1080px;margin:0 auto}
.wrap.estrecho{max-width:720px}
.ico{width:44px;height:44px;flex:none;stroke:var(--pink2);fill:none;stroke-width:2.6;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 0 6px var(--hot))}
.grid{display:grid;gap:14px}

/* en el celular la tarjeta va en horizontal (ícono a la izquierda) para que la página no se alargue */
.card{display:grid;grid-template-columns:auto 1fr;column-gap:16px;align-items:start;padding:20px;border:1.5px solid var(--line);border-radius:22px;
  background:linear-gradient(160deg,rgba(255,10,128,.12),rgba(255,10,128,.02));box-shadow:0 0 22px rgba(255,10,128,.16),inset 0 0 22px rgba(255,10,128,.08)}
.card .ico{grid-row:1 / span 2}
.card h3{margin:0 0 4px}
.card p,.paso p{color:var(--muted);font-size:.98rem}
.chips{list-style:none;display:flex;flex-wrap:wrap;gap:10px;margin-top:22px}
.chips li{padding:9px 16px;border:1.5px solid var(--line);border-radius:999px;background:rgba(255,10,128,.07);font-size:.88rem;font-weight:600}

.pasos{list-style:none;display:grid;gap:14px}
.paso{display:flex;gap:18px;align-items:flex-start;padding:20px 22px;border:1.5px solid var(--line);border-radius:22px;background:rgba(4,0,4,.55);box-shadow:0 0 22px rgba(255,10,128,.14)}
.num{font:italic 900 3.2rem/1 var(--serif);color:var(--pink2);text-shadow:0 0 6px var(--pink),0 0 20px var(--hot);min-width:44px;text-align:center}
.paso h3{text-transform:uppercase;letter-spacing:.06em;margin-bottom:4px}

.claro{list-style:none;display:grid;gap:16px}
.claro li{display:flex;gap:14px;align-items:flex-start}
.claro .ico{width:30px;height:30px;margin-top:1px}
.claro p{color:var(--muted)}
.claro strong{color:#fff;font-weight:600}

/* ---------- formulario ---------- */
.requisitos{margin:-14px 0 26px;font-size:.95rem;color:var(--muted)}
.requisitos strong{color:var(--txt);font-weight:600}
.aviso-dev{margin-bottom:18px;padding:14px 16px;border:1.5px dashed var(--aviso);border-radius:14px;color:#ffe6b0;font-size:.86rem}
.aviso-dev ul{margin-top:6px;padding-left:1.1rem;display:grid;gap:4px}
.form,.exito{padding:24px 20px;border:1.5px solid var(--pink);border-radius:26px;background:rgba(4,0,4,.72);
  box-shadow:0 0 30px rgba(255,10,128,.28),inset 0 0 30px rgba(255,10,128,.08)}
.campo{margin-bottom:18px;border:0;min-width:0}
.fila{display:grid;grid-template-columns:6.5rem 1fr;gap:14px}
label,legend{display:block;font-weight:600;font-size:.95rem;margin-bottom:8px}
.opc{font-weight:400;color:var(--muted);white-space:nowrap}
input[type=text],select{width:100%;min-height:54px;padding:14px 16px;border-radius:14px;border:1.5px solid rgba(255,255,255,.22);
  background-color:#0d060b;color:#fff;font:400 16px/1.4 var(--sans);-webkit-appearance:none;appearance:none}
select{padding-right:42px;background-repeat:no-repeat;background-position:right 14px center;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16'%3E%3Cpath d='M3 6l5 5 5-5' fill='none' stroke='%23ff5cb0' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")}
select option{background:#160a13;color:#fff}
input::placeholder{color:#93808c;opacity:1}
input[type=text]:focus,select:focus{border-color:var(--pink);box-shadow:0 0 0 3px rgba(255,45,149,.3);outline:0}
.ayuda{margin-top:6px;font-size:.84rem;color:var(--muted)}

/* los avisos van en ámbar para que no se confundan con el rosa de la decoración */
input[aria-invalid=true],select[aria-invalid=true]{border-color:var(--aviso)!important;box-shadow:0 0 0 3px rgba(255,209,102,.22)}
fieldset[aria-invalid=true] .radio{border-color:var(--aviso)}
.error{margin-top:6px;color:#ffdca3;font-size:.88rem;font-weight:600}
.error::before{content:"⚠ "}

/* casillas y opciones dibujadas a mano para que combinen con el fondo oscuro */
.radios{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.radio{display:flex;align-items:center;gap:10px;margin:0;padding:12px 16px;min-height:52px;border:1.5px solid rgba(255,255,255,.22);border-radius:14px;cursor:pointer;font-weight:500}
.radio input,.check input{-webkit-appearance:none;appearance:none;display:grid;place-content:center;width:22px;height:22px;flex:none;
  border:2px solid rgba(255,255,255,.5);background:#0d060b;cursor:pointer}
.radio input{border-radius:50%}
.check input{border-radius:6px}
.radio input::before{content:"";width:10px;height:10px;border-radius:50%;background:var(--pink2);box-shadow:0 0 8px var(--hot);transform:scale(0)}
.check input::before{content:"";width:12px;height:12px;background:var(--pink2);clip-path:polygon(14% 44%,0 65%,50% 100%,100% 16%,80% 0,43% 62%);transform:scale(0)}
.radio input:checked,.check input:checked{border-color:var(--pink)}
.radio input:checked::before,.check input:checked::before{transform:scale(1)}
.radio:has(input:checked){border-color:var(--pink);background:rgba(255,10,128,.14)}
.check{display:flex;gap:12px;align-items:flex-start;margin:0;font-weight:400;font-size:.95rem;cursor:pointer}
.check input{margin-top:2px}
.check input[aria-invalid=true]{border-color:var(--aviso)}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.form .btn{padding-left:20px;padding-right:20px;font-size:.95rem;letter-spacing:.1em}
.nota{margin-top:14px;font-size:.86rem;color:var(--muted);text-align:center}
.exito{text-align:center}
.exito .ico.grande{width:64px;height:64px;margin:0 auto 14px}
.exito h3{font:800 1.7rem/1.15 var(--serif);margin-bottom:10px}
.exito h3:focus{outline:0}
.exito p{color:var(--muted);margin-bottom:22px}

/* ---------- contacto y preguntas ---------- */
.contactos{display:grid;gap:14px;max-width:26rem;margin:0 auto}
.faq details{border-bottom:1px solid rgba(255,255,255,.14)}
.faq summary{position:relative;list-style:none;cursor:pointer;padding:18px 44px 18px 0;font-weight:600}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";position:absolute;right:6px;top:50%;transform:translateY(-50%);font:300 1.8rem/1 var(--sans);color:var(--pink2)}
.faq details[open] summary::after{content:"–"}
.faq details p{padding:0 0 18px;color:var(--muted)}

/* ---------- pie ---------- */
.pie{padding:52px 20px 118px;text-align:center;border-top:1px solid rgba(255,45,149,.25);background:radial-gradient(80% 60% at 50% 100%,rgba(255,20,140,.14),transparent 70%)}
.logo-pie{width:120px;height:auto;margin:0 auto 10px;mix-blend-mode:screen}
.pie-marca{font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.pie-edad{margin-top:4px;font-size:.92rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:var(--pink2)}
.pie-legal{margin-top:14px;font-size:.86rem;color:var(--muted)}
.privacidad{display:grid;gap:10px;margin:34px auto 0;padding-top:26px;border-top:1px solid rgba(255,255,255,.12);text-align:left;font-size:.86rem;color:var(--muted)}
.privacidad h2{margin:0;font:700 .86rem/1.3 var(--sans);letter-spacing:.2em;text-transform:uppercase;color:var(--txt)}
.privacidad strong{color:var(--txt);font-weight:600}
.copy{margin-top:28px;font-size:.8rem;color:#93808c}

/* ---------- botón fijo (celular y tablet) ---------- */
.fijo{position:fixed;left:0;right:0;bottom:0;z-index:20;padding:22px 16px calc(12px + env(safe-area-inset-bottom));
  background:linear-gradient(180deg,rgba(4,0,4,0),rgba(4,0,4,.94) 38%)}
.fijo .btn{max-width:26rem;margin:0 auto}

/* ---------- aparición al hacer scroll ---------- */
.js .reveal{opacity:0;transform:translateY(14px);transition:opacity .45s ease,transform .45s ease}
.js .reveal.in{opacity:1;transform:none}

/* ---------- pantallas más anchas ---------- */
@media (min-width:640px){
  .eyebrow{font-size:.82rem}
  .hero .eyebrow{max-width:none}
  .hero-nota strong{display:inline}
  .hero-nota span::before{content:"· "}
  .cta-fila{flex-direction:row;justify-content:center;width:auto;max-width:none}
  section{padding:72px 28px}
  .g4{grid-template-columns:repeat(2,1fr)}
  .card{display:block;padding:26px 22px}
  .card h3{margin:14px 0 6px}
  .pasos{grid-template-columns:repeat(3,1fr)}
  .paso{flex-direction:column;gap:8px}
  .form,.exito{padding:36px 34px}
}
@media (min-width:900px){
  .hero{min-height:100vh;justify-content:center;padding-top:326px}
  .hero-deco::before{width:1300px;height:1300px;top:-1010px}
  .hero-deco::after{width:1450px;height:1450px;top:-1125px}
  .hero .logo{top:34px;width:220px}
  .g4{grid-template-columns:repeat(4,1fr)}
  /* títulos centrados, como el encabezado: así no saltan de columna entre secciones anchas y angostas */
  section .wrap>.eyebrow,section .wrap>h2{text-align:center}
  section .wrap>.lead,section .wrap>.requisitos{margin-left:auto;margin-right:auto;text-align:center}
  .chips{justify-content:center}
  .fijo{display:none!important}
  .pie{padding-bottom:64px}
}

@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .js .reveal{opacity:1;transform:none;transition:none}
  .btn{transition:none}
}
/* con colores forzados (alto contraste) la marca de las casillas tiene que seguir viéndose */
@media (forced-colors:active){
  .radio input,.check input{border-color:CanvasText}
  .radio input::before,.check input::before{background:CanvasText;forced-color-adjust:none}
}
