:root { color-scheme:light; --black:#0e0e0e; --green:#97c93a; --green-dark:#3f6315; --green-wash:#f2f8e6; --ink:#0e0e0e; --ink-soft:#5c625a; --line:#dde1d8; --danger:#a52a23; }
* { box-sizing:border-box; }
[hidden] { display:none!important; }
body { margin:0; color:var(--ink); background:#f7f8f5; font-family:Inter,-apple-system,"Segoe UI",sans-serif; font-size:15px; line-height:1.5; }
a { color:inherit; text-underline-offset:3px; }
button,input,select,textarea { font:inherit; }
.marca { display:flex; justify-content:space-between; align-items:center; gap:20px; background:var(--black); border-bottom:4px solid var(--green); padding:20px max(24px,calc((100vw - 1120px)/2)); }
.marca img { display:block; width:170px; height:auto; }
.marca-enlace { color:#fff; font-size:13px; text-decoration:none; }
.marca-enlace span { color:var(--green); margin-left:8px; }
.escena { display:grid; grid-template-columns:.8fr 1.2fr; gap:64px; max-width:1120px; padding:60px 24px; margin:0 auto; align-items:start; }
.introduccion { padding-top:28px; }
.eyebrow { margin:0 0 12px; font-size:11px; font-weight:700; text-transform:uppercase; letter-spacing:.12em; color:var(--green-dark); }
h1,h2,h3 { font-family:"Space Grotesk",Inter,sans-serif; letter-spacing:-.035em; line-height:1.1; }
h1 { font-size:clamp(38px,4vw,56px); margin:0 0 24px; }
.introduccion>p:not(.eyebrow) { color:var(--ink-soft); font-size:17px; line-height:1.65; max-width:350px; }
.enlace-perfil { display:block; margin-top:40px; padding:18px 0; border-top:1px solid #ccd3c4; font-weight:600; font-size:14px; line-height:1.6; text-decoration:none; }
.enlace-perfil span { display:inline-block; margin-left:8px; }
.tarjeta { min-width:0; border:1px solid var(--line); border-top:4px solid var(--green); background:#fff; border-radius:8px; padding:30px; box-shadow:0 10px 28px -18px rgba(14,14,14,.18); }
.form-encabezado { display:flex; align-items:end; justify-content:space-between; gap:16px; margin-bottom:26px; }
.form-encabezado .eyebrow { margin-bottom:7px; }
.form-encabezado h2 { margin:0; font-size:28px; }
.form-tiempo { color:var(--ink-soft); font-size:11px; white-space:nowrap; margin:0 0 3px; }
.progreso { display:flex; margin:0 0 30px; padding:0; list-style:none; gap:10px; }
.progreso-paso { display:flex; align-items:center; gap:7px; flex:1; padding:0 0 16px; color:#747b6d; border-bottom:2px solid #e6e9e2; font-size:12px; }
.progreso-paso span { display:grid; place-items:center; width:25px; height:25px; flex:0 0 25px; border:1px solid #d3d9cc; border-radius:50%; font-size:11px; font-weight:700; }
.progreso-paso b { font-weight:600; }
.progreso-paso.activo { border-color:var(--green); color:var(--ink); }
.progreso-paso.activo span { background:var(--green); border-color:var(--green); }
.paso h3 { font-size:23px; margin:0 0 10px; }
.texto-paso { font-size:13px; line-height:1.65; color:var(--ink-soft); margin:0 0 24px; }
.campo { display:flex; flex-direction:column; gap:7px; margin:0 0 19px; min-width:0; }
.campos-dos { display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.campo label { font-size:13px; font-weight:600; }
.opcional { font-size:11px; font-weight:400; color:var(--ink-soft); margin-left:5px; }
input,select,textarea { display:block; width:100%; padding:12px 13px; border:1px solid #cbd2c4; border-radius:5px; background:#fff; color:var(--ink); min-height:46px; font-size:15px; }
input::placeholder,textarea::placeholder { color:#767b71; }
textarea { resize:vertical; min-height:80px; }
input:disabled,select:disabled { background:#f5f6f3; color:#676d60; }
input[type="file"] { max-width:100%; font-size:12px; padding:10px; border-style:dashed; background:#fafcf7; }
input[type="file"]::file-selector-button { border:1px solid #cbd2c4; border-radius:4px; background:#fff; color:var(--ink); padding:7px 8px; margin-right:8px; cursor:pointer; font:inherit; }
:focus-visible { outline:3px solid #577f19; outline-offset:3px; }
input:focus-visible,select:focus-visible,textarea:focus-visible { outline:2px solid #577f19; outline-offset:1px; }
.ayuda { font-size:11px; color:var(--ink-soft); line-height:1.6; }
.acciones-paso { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-top:28px; }
.accion-nota { color:var(--ink-soft); font-size:11px; }
button { display:inline-flex; justify-content:center; align-items:center; gap:16px; min-height:46px; padding:12px 18px; border:1px solid transparent; border-radius:5px; font-family:"Space Grotesk",Inter,sans-serif; font-weight:600; cursor:pointer; transition:background .15s; }
.boton-principal { background:var(--green); border-color:var(--green); color:var(--black); }
.boton-principal:hover { background:#a9d652; }
.boton-secundario { color:var(--ink); background:#fff; border-color:#cbd2c4; }
.boton-secundario:hover { background:#f3f5ef; }
button:disabled { cursor:wait; opacity:.6; }
.resumen { padding:15px 16px; margin:22px 0; border:1px solid #dde7cf; border-radius:5px; background:var(--green-wash); font-size:12px; }
.resumen b { display:block; margin-bottom:5px; font-size:13px; }
.resumen p { margin:0; color:var(--ink-soft); line-height:1.7; }
.consentimiento { display:flex; align-items:start; gap:10px; font-size:11px; color:#4c5347; line-height:1.65; }
.consentimiento input { width:18px; height:18px; min-height:0; flex:0 0 18px; margin:3px 0 0; accent-color:#50791a; }
.resultado { margin:20px 0 0; padding:12px 14px; border-radius:5px; background:var(--green-wash); color:var(--green-dark); font-size:13px; line-height:1.5; }
.resultado.error { color:var(--danger); background:#fff0ed; border:1px solid #ebc1b8; }
.pie-formulario { margin:28px 0 0; padding-top:18px; border-top:1px solid #edf0e9; color:#6b7264; font-size:10px; }
.pie-formulario span { margin:0 6px; }
.campo-trampa { position:absolute; left:-10000px; width:1px; height:1px; overflow:hidden; }
.confirmacion { padding:18px 0; }
.confirmacion-icono { display:grid; place-items:center; width:50px; height:50px; background:var(--green); border-radius:50%; font-size:25px; margin-bottom:25px; }
.confirmacion h3 { font-size:30px; margin:0 0 16px; }
.confirmacion>p:not(.eyebrow) { color:var(--ink-soft); }
.embebido body { background:#fff; }
.embebido .fuera-embed { display:none; }
.embebido .escena { display:block; max-width:850px; padding:4px 2px; }
.embebido .tarjeta { box-shadow:none; }
@media(max-width:900px) { .escena { gap:30px; grid-template-columns:.75fr 1.25fr; padding:40px 22px; } .tarjeta { padding:26px; } .form-tiempo { display:none; } }
@media(max-width:680px) { .marca { padding:16px 20px; } .marca img { width:135px; } .marca-enlace { font-size:11px; max-width:135px; text-align:right; } .escena { display:block; padding:28px 16px; } .introduccion { padding:0 4px 32px; } h1 { font-size:38px; } .introduccion>p:not(.eyebrow) { max-width:none; font-size:15px; } .enlace-perfil { margin-top:24px; padding:14px 0 0; } .tarjeta { padding:22px 18px; } .form-encabezado { margin-bottom:25px; } .form-encabezado h2 { font-size:26px; } .progreso { gap:6px; margin-bottom:25px; } .progreso-paso { font-size:11px; gap:5px; } .progreso-paso span { width:23px; height:23px; flex-basis:23px; } .paso h3 { font-size:22px; } .campos-dos { grid-template-columns:1fr; gap:0; } input,select,textarea { font-size:16px; } button { font-size:14px; padding:12px 14px; gap:8px; } .embebido .tarjeta { padding:24px 17px; } .consentimiento { font-size:12px; } }
@media(prefers-reduced-motion:reduce) { * { transition:none!important; scroll-behavior:auto!important; } }
.formulario-postulacion { padding:0; overflow:hidden; border:10px solid var(--green); border-radius:18px; background:#fff; box-shadow:0 18px 40px -20px rgba(30,48,11,.32); }
.form-marca { display:flex; align-items:center; justify-content:space-between; gap:16px; min-height:56px; padding:10px 18px; background:#0e0e0e; border-bottom:4px solid #c3e78d; }
.form-marca img { display:block; width:130px; height:auto; max-height:40px; object-fit:contain; }
.form-marca>span { padding:4px 8px; border:1px solid #526b27; border-radius:999px; color:#b5da6d; font-size:7px; font-weight:600; line-height:1.5; letter-spacing:.12em; text-transform:uppercase; }
.form-contenido { padding:34px 34px 26px; }
.formulario-postulacion .form-encabezado { display:block; margin-bottom:28px; }
.form-perfil,.formulario-postulacion .progreso-paso b { position:absolute; width:1px; height:1px; padding:0; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; }
.formulario-postulacion h2 { font-family:Inter,-apple-system,"Segoe UI",sans-serif; font-size:30px; font-weight:700; line-height:1.22; letter-spacing:-.045em; margin:0; }
.formulario-postulacion h2::after { content:''; display:block; width:28px; height:3px; border-radius:4px; background:var(--green); margin-top:12px; }
.form-subtitulo { margin:12px 0 0; color:var(--ink-soft); font-size:12px; line-height:1.7; }
.formulario-postulacion .progreso { gap:0; margin:0 0 16px; }
.formulario-postulacion .progreso-paso { position:relative; display:flex; align-items:center; flex:1; gap:0; padding:0; border:0; }
.formulario-postulacion .progreso-paso:last-child { flex:0 0 28px; }
.formulario-postulacion .progreso-paso::after { content:''; height:1px; background:#e0e4db; flex:1; margin:0 5px; }
.formulario-postulacion .progreso-paso:last-child::after { display:none; }
.formulario-postulacion .progreso-paso span { width:28px; height:28px; flex-basis:28px; border-color:#e0e4db; background:#fff; color:#737b6b; font-size:10px; }
.formulario-postulacion .progreso-paso.activo span { border-color:var(--green); background:var(--green); color:#162208; box-shadow:0 0 0 3px #f1f8e6; }
.paso-etiqueta { margin:0 0 8px; color:#526f20; font-size:9px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; }
.formulario-postulacion .paso h3 { font-family:Inter,-apple-system,"Segoe UI",sans-serif; font-size:20px; font-weight:600; line-height:1.35; letter-spacing:-.025em; margin:0 0 11px; }
.formulario-postulacion .texto-paso { font-size:11px; line-height:1.6; margin-bottom:24px; }
.formulario-postulacion .campo { gap:6px; margin-bottom:18px; }
.formulario-postulacion .campo label { font-size:11px; font-weight:500; line-height:1.5; }
.formulario-postulacion .campos-dos { grid-template-columns:1fr; gap:0; }
.formulario-postulacion input,.formulario-postulacion select,.formulario-postulacion textarea { border:1px solid #dce0d6; border-radius:8px; min-height:47px; padding:12px 13px; font-size:12px; }
.formulario-postulacion input::placeholder,.formulario-postulacion textarea::placeholder { color:#7b8075; }
.formulario-postulacion .acciones-paso { margin-top:24px; gap:10px; }
.formulario-postulacion .acciones-paso button { flex:1; min-height:48px; border-radius:8px; font-family:Inter,-apple-system,"Segoe UI",sans-serif; font-size:12px; font-weight:600; padding:13px 14px; }
.formulario-postulacion .boton-principal { box-shadow:0 8px 18px -9px rgba(84,115,21,.5); }
.formulario-postulacion .consentimiento input { width:18px; height:18px; min-height:18px; margin-top:3px; padding:0; border-radius:4px; }
.formulario-postulacion input[type='file'] { font-size:11px; }
.formulario-postulacion .pie-formulario { font-size:9px; margin-top:24px; }
.embebido body { background:transparent; }
.embebido .escena { width:100%; max-width:none; margin:0; padding:0; }
.embebido .formulario-postulacion { width:100%; border:0; padding:0; border-radius:14px; box-shadow:none; }
@media(max-width:440px) { .form-contenido { padding:27px 22px 23px; } .formulario-postulacion h2 { font-size:27px; } .form-marca { padding-inline:18px; } .form-marca img { width:118px; } .formulario-postulacion input,.formulario-postulacion select,.formulario-postulacion textarea { font-size:16px; } .formulario-postulacion .campo label { font-size:12px; } .formulario-postulacion .ayuda { font-size:11px; } .formulario-postulacion .consentimiento { font-size:11px; } }
@media(max-width:359px) { .form-contenido { padding:24px 18px 22px; } .formulario-postulacion h2 { font-size:25px; } .form-marca { padding-inline:15px; } }
