/* ZEUS — formulario de postulación: una sola página, una sola columna de lectura, pensado para uso desde el celular. */
.pf-page{min-height:100vh;padding:150px 5vw 90px;position:relative;overflow:hidden;background:#090909;color:#fff}
.pf-page:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 82% 6%,rgba(237,28,36,.18),transparent 34%),linear-gradient(rgba(255,255,255,.03) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.03) 1px,transparent 1px);background-size:auto,54px 54px,54px 54px;pointer-events:none}
.pf-wrap{position:relative;z-index:2;max-width:860px;margin:auto}
.pf-title{font-size:clamp(44px,8vw,88px);line-height:.88;letter-spacing:-.065em;margin:0 0 22px;font-weight:900}.pf-title span{color:var(--red)}
.pf-lead{color:#d0d0d0;font-size:17px;line-height:1.65;margin-bottom:30px;max-width:680px}.pf-lead b{color:#fff}

/* Secciones: una debajo de otra */
#pf{display:flex;flex-direction:column;gap:22px}
.pf-card{border:1px solid #262626;background:rgba(15,15,15,.88);border-radius:20px;padding:28px 28px 30px;position:relative;overflow:hidden}
.pf-card:before{content:"";position:absolute;left:0;top:0;width:100%;height:3px;background:linear-gradient(90deg,var(--red) 0,var(--red) 70px,transparent 70px)}
.pf-card>header{display:flex;gap:14px;align-items:center;margin-bottom:22px;padding-bottom:18px;border-bottom:1px solid #222}
.pf-card>header i{flex:none;width:42px;height:42px;border-radius:50%;background:var(--red);display:grid;place-items:center;font-style:normal;font-weight:900;font-size:19px}
.pf-card>header h2{font-size:22px;font-weight:800;letter-spacing:-.02em;line-height:1.2}
.pf-card>header p{color:#a8a8a8;font-size:14.5px;line-height:1.5;margin-top:4px}
.pf-note{color:#a8a8a8;font-size:14px;line-height:1.6}

/* Campos */
.pf-fields{display:grid;grid-template-columns:1fr 1fr;gap:22px 18px}.pf-full{grid-column:1/-1}
.pf-f{display:flex;flex-direction:column;gap:8px;min-width:0;scroll-margin-top:190px}
.pf-f>label{font-size:15.5px;font-weight:700;color:#f1f1f1;line-height:1.35}
.pf-f>label em,.pf-check em,.pf-policy summary em{font-style:normal;color:#8a8a8a;font-weight:500}
.req{color:#ff4b52;margin-left:3px}
.pf-help{font-size:13px;color:#8f8f8f;line-height:1.45}
.pf-f input:not([type=checkbox]):not([type=radio]):not([type=file]),.pf-f select{width:100%;min-height:54px;background:#0b0b0b;color:#fff;border:1.5px solid #333;border-radius:12px;padding:14px 16px;font-size:16px;outline:none;transition:border-color .2s,box-shadow .2s;color-scheme:dark}
.pf-f select{appearance:none;background-image:linear-gradient(45deg,transparent 50%,#999 50%),linear-gradient(135deg,#999 50%,transparent 50%);background-position:calc(100% - 22px) 50%,calc(100% - 15px) 50%;background-size:7px 7px;background-repeat:no-repeat;padding-right:42px}
.pf-f input:focus,.pf-f select:focus{border-color:var(--red);box-shadow:0 0 0 4px rgba(237,28,36,.18)}
.pf-f select:disabled{opacity:.45;cursor:not-allowed}.pf-f select[data-locked]{pointer-events:none;opacity:.6}
.pf-age{min-height:54px;display:flex;align-items:center;background:#0b0b0b;border:1.5px dashed #333;border-radius:12px;padding:0 16px;font-size:16px;color:#bdbdbd;font-weight:700}
.pf-f.invalid input,.pf-f.invalid select{border-color:#ff4b52}
.pf-err{display:none;color:#ff7a80;font-size:14px;font-weight:600;line-height:1.4}.pf-f.invalid .pf-err,.pf-err.show{display:block}
.pf-f.invalid .pf-help{display:none}

/* Sí / No grandes */
.pf-yn{display:grid;grid-template-columns:1fr 1fr;gap:12px;max-width:420px}
.pf-yn .pf-chip span{display:flex;align-items:center;justify-content:center;min-height:56px;border-radius:14px;font-size:17px;font-weight:800;width:100%}
.pf-yn .pf-chip{display:block}
/* Opciones múltiples */
.pf-chips{display:flex;flex-wrap:wrap;gap:10px}
.pf-chip{position:relative;cursor:pointer}.pf-chip input{position:absolute;opacity:0;inset:0;width:100%;height:100%;cursor:pointer}
.pf-chip span{display:inline-flex;align-items:center;gap:8px;min-height:48px;padding:11px 18px;border:1.5px solid #333;border-radius:12px;font-size:15px;font-weight:600;color:#d0d0d0;background:#0b0b0b;transition:.15s;user-select:none}
.pf-chip span:before{content:"";flex:none;width:18px;height:18px;border-radius:5px;border:1.5px solid #555;transition:.15s}
.pf-yn .pf-chip span:before{display:none}
.pf-chip input[type=radio]+span:before{border-radius:50%}
.pf-chip:hover span{border-color:#666}
.pf-chip input:checked+span{background:rgba(237,28,36,.16);border-color:var(--red);color:#fff}
.pf-chip input:checked+span:before{background:var(--red) center/12px no-repeat url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M2 6.5l2.5 2.5L10 3' fill='none' stroke='%23fff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");border-color:var(--red)}
.pf-yn .pf-chip input:checked+span{background:var(--red);border-color:var(--red)}
.pf-chip input:focus-visible+span{box-shadow:0 0 0 4px rgba(237,28,36,.35)}

/* Archivos */
.pf-drop{display:flex;align-items:center;gap:14px;border:2px dashed #3e3e3e;border-radius:14px;padding:20px;cursor:pointer;color:#ccc;font-size:15.5px;font-weight:600;transition:.2s;background:#0b0b0b;min-height:72px}
.pf-drop:hover{border-color:var(--red);color:#fff}.pf-drop.has{border-style:solid;border-color:#2e8b57;color:#fff;background:#0d1a12}
.pf-drop b{display:grid;place-items:center;width:40px;height:40px;border-radius:50%;background:rgba(237,28,36,.16);color:var(--red);font-size:20px;flex:none}
.pf-drop.has b{background:#2e8b57;color:#fff}
.pf-sm{padding:14px 16px;font-size:14.5px;min-height:60px}.pf-sm b{width:34px;height:34px;font-size:17px}
.pf-photo{display:grid;grid-template-columns:190px 1fr;gap:22px;align-items:center}
.pf-drop-photo{flex-direction:column;justify-content:center;text-align:center;min-height:260px;padding:12px;overflow:hidden;position:relative}
.pf-drop-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.pf-drop-photo #photoTxt{display:flex;flex-direction:column;align-items:center;gap:10px;font-size:14px}
.pf-tips{list-style:none;color:#bcbcbc;font-size:15px;line-height:2}.pf-tips li:before{content:"✓  ";color:#2e8b57;font-weight:800}
.pf-optional{padding-top:6px;border-top:1px solid #222}.pf-opt-title{font-size:15px;font-weight:700;color:#cfcfcf;margin-top:8px}.pf-opt-title em{font-style:normal;color:#8a8a8a;font-weight:500}

/* Confirmación */
.pf-policy{border:1px solid #2c2c2c;border-radius:14px;margin-bottom:20px;background:#0b0b0b}
.pf-policy summary{cursor:pointer;padding:16px 18px;font-size:15px;font-weight:700;color:#e3e3e3;line-height:1.4}
.pf-policy-body{padding:6px 20px 20px;max-height:320px;overflow:auto;color:#b0b0b0;font-size:14px;line-height:1.7;border-top:1px solid #1d1d1d}
.pf-policy-body h3{font-size:16px;color:#fff;margin:14px 0 8px}.pf-policy-body h4{font-size:13px;letter-spacing:.1em;text-transform:uppercase;color:var(--red);margin:18px 0 6px}.pf-policy-body p{margin-bottom:9px}.pf-policy-body ul{padding-left:20px}.pf-policy-body li{margin-bottom:7px}
.pf-check{display:flex;gap:14px;align-items:flex-start;font-size:15.5px;color:#e0e0e0;line-height:1.55;margin:14px 0 6px;cursor:pointer;padding:14px 16px;border:1.5px solid #2c2c2c;border-radius:14px;background:#0b0b0b}
.pf-check input{appearance:none;flex:none;width:26px;height:26px;margin-top:1px;border:2px solid #555;border-radius:8px;background:#0b0b0b;display:grid;place-items:center;cursor:pointer;transition:.15s}
.pf-check input:checked{background:var(--red);border-color:var(--red)}.pf-check input:checked:after{content:"✓";color:#fff;font-size:17px;font-weight:900}
.pf-check input:focus-visible{box-shadow:0 0 0 4px rgba(237,28,36,.35)}
.pf-submit{margin-top:24px;width:100%;justify-content:center;position:relative;border:0;cursor:pointer;font-size:17px;padding:22px 28px;min-height:66px}
.pf-submit:disabled{opacity:.75;cursor:progress}
.pf-spin{display:none;width:20px;height:20px;border:3px solid rgba(255,255,255,.35);border-top-color:#fff;border-radius:50%;animation:pfspin .7s linear infinite}
.pf-submit.loading .pf-spin{display:inline-block;margin-left:12px}.pf-submit.loading .pf-btn-t b{display:none}
@keyframes pfspin{to{transform:rotate(360deg)}}
.pf-fine{text-align:center;color:#8a8a8a;font-size:13px;margin-top:14px}
.pf-global-err{margin-top:16px;border:1.5px solid rgba(255,75,82,.55);background:rgba(255,75,82,.09);color:#ffb0b4;border-radius:12px;padding:14px 16px;font-size:15px;font-weight:600}
.pf-hp{position:absolute!important;left:-9999px;width:1px;height:1px;opacity:0}
.pf-done{border:1px solid #262626;background:rgba(15,15,15,.9);border-radius:22px;padding:56px 28px;text-align:center}
.pf-done-ic{width:72px;height:72px;border-radius:50%;background:#2e8b57;display:grid;place-items:center;font-size:36px;margin:0 auto 22px}
.pf-done h2{font-size:30px;margin-bottom:14px}.pf-done p{color:#c6c6c6;line-height:1.7;margin-bottom:12px;font-size:16.5px}.pf-done b{color:#fff;letter-spacing:.04em;font-size:19px}.pf-done .btn{margin-top:20px}
[hidden]{display:none!important}

@media(max-width:700px){
  .pf-page{padding:120px 16px 70px}.pf-lead{font-size:16px}
    .pf-card{padding:22px 18px 24px;border-radius:18px}
  .pf-card>header{margin-bottom:20px;padding-bottom:16px;gap:12px}.pf-card>header h2{font-size:19px}.pf-card>header i{width:36px;height:36px;font-size:16px}
  .pf-fields{grid-template-columns:1fr;gap:20px}
  .pf-photo{grid-template-columns:1fr}.pf-drop-photo{min-height:300px}
  .pf-chips{gap:8px}.pf-chip{flex:1 1 calc(50% - 8px)}.pf-chip span{width:100%}
  .pf-yn{max-width:none}
}
@media(prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}

/* Subgrupos dentro de cada sección: título + línea para separar bloques */
.pf-sub{grid-column:1/-1;display:flex;align-items:center;gap:14px;font-size:12.5px;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:var(--red);margin-top:10px}
.pf-sub:first-child{margin-top:0}
.pf-sub:after{content:"";flex:1;height:1px;background:#2a2a2a}
.pf-fields{gap:26px 20px}
.pf-row3{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
/* cada pregunta Sí/No en su propio recuadro para que no se mezclen */
.pf-f:has(>.pf-yn){background:#0d0d0d;border:1px solid #232323;border-radius:14px;padding:16px 16px 18px}
.pf-card>header{margin-bottom:26px}
@media(max-width:700px){.pf-row3{grid-template-columns:1fr}.pf-fields{gap:22px}}
