/* Job One+ Impacto — se apoya en los tokens y componentes de landing-final.css */

.imp-page{--gold:#d4ae5a;--ok:#1f7a4d;--ok-soft:#e5f4ec;--imp-field:#fff}
[data-theme="dark"] .imp-page,[data-theme="dark"] body.imp-page{--ok:#6fd3a0;--ok-soft:#10301f;--imp-field:#0b1330}
.imp-page main{padding-top:66px}
.imp-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* Tipografía */
.imp-h1{font-family:'Fraunces',serif;font-weight:500;font-size:clamp(42px,5.6vw,72px);line-height:1.02;letter-spacing:-.02em;color:var(--tx)}
.imp-h1 em{font-style:italic;color:var(--pink)}
.imp-h2{font-family:'Fraunces',serif;font-weight:500;font-size:clamp(30px,3.4vw,40px);line-height:1.12;letter-spacing:-.01em;color:var(--tx)}
.imp-h2-italic{font-style:italic;color:#fff}
.imp-lead{font-size:19px;line-height:1.6;color:var(--tx2);max-width:540px}
.imp-sub{font-size:17px;line-height:1.6;color:var(--tx2)}
.imp-note{font-size:13px;color:var(--tx3)}
.imp-head{display:flex;flex-direction:column;gap:12px;max-width:660px;margin-bottom:36px}
.imp-head .eyebrow{margin-bottom:0}

/* Botones */
.imp-btn-lg{padding:15px 26px;font-size:14.5px;min-height:48px;justify-content:center}
.imp-btn-block{width:100%}
.imp-actions{display:flex;flex-wrap:wrap;gap:12px}

/* Secciones */
.imp-section{padding-top:88px;padding-bottom:88px}
.imp-section-tight{padding-bottom:16px}
.imp-band{background:var(--surface);border-top:1px solid var(--bd);border-bottom:1px solid var(--bd)}
.imp-navy{background:var(--navy);color:#fff}
[data-theme="dark"] .imp-navy{background:#0b1640;border-top:1px solid var(--bd);border-bottom:1px solid var(--bd)}

/* Hero */
.imp-hero{padding:72px 0 56px}
.imp-hero-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:56px;align-items:center}
.imp-hero-copy{display:flex;flex-direction:column;gap:24px}
.imp-hero-copy .eyebrow{margin-bottom:0}
.imp-hero-media{position:relative}
.imp-hero-photo{height:480px}
.imp-status-card{position:absolute;left:20px;right:20px;bottom:20px;z-index:3;display:flex;gap:14px;align-items:center;background:var(--navy);color:#fff;border-radius:16px;padding:18px 20px;box-shadow:var(--shadow)}
.imp-status-card div{display:flex;flex-direction:column;gap:2px}
.imp-status-card strong{font-size:15px}
.imp-status-card span:not(.imp-dot){font-size:13px;color:#c9cfea}
.imp-dot{width:10px;height:10px;border-radius:50%;background:#22c07a;box-shadow:0 0 0 5px rgba(34,192,122,.18);flex:none}

/* Contador */
.imp-stats{display:grid;grid-template-columns:repeat(3,1fr) 1.3fr;gap:24px;align-items:end;background:var(--surface);border:1px solid var(--bd);border-radius:var(--rl);padding:28px 32px}
.imp-stat{display:flex;flex-direction:column;gap:6px}
.imp-stat-n{font-family:'Fraunces',serif;font-size:46px;line-height:1;color:var(--tx)}
.imp-stat-l{font-size:14px;color:var(--tx2)}
.imp-stat-note{font-size:13px;line-height:1.5;color:var(--tx3)}

/* Programas */
.imp-grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.imp-prog{display:flex;flex-direction:column;gap:14px;background:var(--surface);border:1px solid var(--bd);border-radius:var(--rl);padding:28px}
.imp-prog h3{font-family:'Fraunces',serif;font-weight:500;font-size:26px;color:var(--tx)}
.imp-prog p{font-size:15px;line-height:1.6;color:var(--tx2)}
.imp-prog-active{background:var(--navy);border-color:var(--navy)}
[data-theme="dark"] .imp-prog-active{background:#132257;border-color:var(--bd2)}
.imp-prog-active h3{color:#fff}
.imp-prog-active p{color:#c9cfea}
.imp-chip{align-self:flex-start;font-size:12px;font-weight:700;padding:6px 11px;border-radius:99px;background:rgba(184,23,90,.1);color:var(--pink)}
[data-theme="dark"] .imp-chip{background:rgba(212,83,126,.16)}
.imp-chip-live{background:rgba(34,192,122,.16);color:#7eeab8}
.imp-link-light{margin-top:auto;color:#fff;font-weight:700;font-size:14.5px;text-decoration:underline;text-underline-offset:4px}
.imp-link-light:hover{color:#f4c0d1}

/* La beca */
.imp-grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.imp-item{display:flex;flex-direction:column;gap:10px;border:1px solid var(--bd);border-radius:18px;padding:24px;background:var(--bg)}
.imp-item-n{font-family:'JetBrains Mono',monospace;font-size:12px;font-weight:600;letter-spacing:.12em;color:var(--pink)}
.imp-item h3{font-size:18px;font-weight:700;color:var(--tx);line-height:1.3}
.imp-item p{font-size:15px;line-height:1.55;color:var(--tx2)}
.imp-steps{list-style:none;display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:40px}
.imp-steps li{display:flex;gap:16px;align-items:flex-start}
.imp-steps div{display:flex;flex-direction:column;gap:2px}
.imp-steps strong{font-size:16px;color:var(--tx)}
.imp-steps span:not(.imp-step-n){font-size:14px;line-height:1.5;color:var(--tx2)}
.imp-step-n{width:40px;height:40px;border-radius:50%;background:var(--navy);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:800;flex:none}
[data-theme="dark"] .imp-step-n{background:var(--pink)}

/* Empresas */
.imp-sponsor-grid{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:start}
.imp-sponsor-copy{display:flex;flex-direction:column;gap:22px}
.imp-sponsor-copy>p{font-size:17px;line-height:1.65;color:#c9cfea}
.imp-eyebrow-gold{color:var(--gold);margin-bottom:0}
.imp-eyebrow-gold::before{background:var(--gold)}
.imp-list-light,.imp-list{list-style:none;display:flex;flex-direction:column;gap:12px}
.imp-list-light li{position:relative;padding-left:22px;font-size:15px;line-height:1.5;color:#e3e6f5}
.imp-list-light li::before{content:"";position:absolute;left:0;top:8px;width:9px;height:9px;border-radius:2px;background:var(--gold)}
.imp-package{background:var(--surface);color:var(--tx);border-radius:24px;padding:32px;display:flex;flex-direction:column;gap:22px;box-shadow:var(--shadow)}
.imp-package-top{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;flex-wrap:wrap}
.imp-kicker{font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--tx3)}
.imp-package h3{font-family:'Fraunces',serif;font-weight:500;font-size:30px;color:var(--tx)}
.imp-price{text-align:right;display:flex;flex-direction:column;gap:2px}
.imp-price strong{font-size:26px;font-weight:800;color:var(--tx)}
.imp-price strong.imp-price-ask{font-size:18px}
.imp-price span{font-size:13px;color:var(--tx3)}
.imp-list li{position:relative;padding-left:22px;font-size:15px;line-height:1.5;color:var(--tx)}
.imp-list li::before{content:"";position:absolute;left:0;top:8px;width:9px;height:9px;border-radius:2px;background:var(--pink)}
.imp-ads{border-radius:16px;background:rgba(184,23,90,.08);padding:20px;display:flex;flex-direction:column;gap:8px}
[data-theme="dark"] .imp-ads{background:rgba(212,83,126,.14)}
.imp-ads-head{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.imp-ads-badge{font-size:12px;font-weight:800;padding:5px 10px;border-radius:99px;background:var(--pink);color:#fff}
.imp-ads-season{font-size:13px;font-weight:700;color:var(--pink)}
.imp-ads-amount{font-size:17px;font-weight:800;color:var(--tx)}
.imp-ads p{font-size:14px;line-height:1.5;color:var(--tx2)}
.imp-ads-off{background:transparent;border:1.5px dashed var(--bd2)}
.imp-ads-off .imp-ads-amount{font-size:15px}
.imp-fine{font-size:12px;line-height:1.55;color:var(--tx3)}

/* Formularios */
.imp-tabs{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:20px}
.imp-tabs button{min-height:46px;padding:0 22px;border-radius:99px;font:700 14.5px 'Figtree',sans-serif;cursor:pointer;background:transparent;color:var(--tx);border:1.5px solid var(--bd2);transition:all .18s}
.imp-tabs button:hover{border-color:var(--pink);color:var(--pink)}
.imp-tabs button[aria-selected="true"]{background:var(--navy);border-color:var(--navy);color:#fff}
[data-theme="dark"] .imp-tabs button[aria-selected="true"]{background:var(--pink);border-color:var(--pink)}
.imp-card{background:var(--surface);border:1px solid var(--bd);border-radius:24px;padding:32px}
.imp-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.imp-full{grid-column:1/-1}
.imp-fld{display:flex;flex-direction:column;gap:6px}
.imp-fld label{font-size:13px;font-weight:700;color:var(--tx)}
.imp-fld input,.imp-fld select{min-height:48px;padding:0 14px;border-radius:12px;border:1.5px solid var(--bd2);background:var(--imp-field);color:var(--tx);font:500 15px 'Figtree',sans-serif;width:100%}
.imp-fld input:focus,.imp-fld select:focus,.imp-chk input:focus-visible,.imp-tabs button:focus-visible{outline:2px solid var(--pink);outline-offset:2px}
.imp-fld.imp-invalid input,.imp-fld.imp-invalid select{border-color:#c2273d}
.imp-checks{display:flex;flex-direction:column;gap:12px}
.imp-chk{display:flex;gap:10px;align-items:flex-start;font-size:13.5px;line-height:1.5;color:var(--tx2);cursor:pointer}
.imp-chk input{width:18px;height:18px;margin-top:2px;accent-color:var(--pink);flex:none}
.imp-chk a{color:var(--pink);text-decoration:underline;text-underline-offset:3px}
.imp-chk.imp-invalid{color:#c2273d}
.imp-form-error{font-size:14px;font-weight:600;color:#c2273d;background:rgba(194,39,61,.08);border-radius:10px;padding:12px 14px}
[data-theme="dark"] .imp-form-error,[data-theme="dark"] .imp-chk.imp-invalid{color:#ff8a9a}
.imp-hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.imp-done{display:flex;flex-direction:column;gap:12px;align-items:flex-start;padding:12px 0}
.imp-done h3{font-family:'Fraunces',serif;font-weight:500;font-size:30px;color:var(--tx)}
.imp-done p{font-size:16px;line-height:1.6;color:var(--tx2);max-width:560px}
.imp-done .imp-folio{font-size:14px;color:var(--tx3)}
.imp-done .imp-folio strong{font-family:'JetBrains Mono',monospace;color:var(--tx)}
.imp-done::before{content:"";width:48px;height:6px;border-radius:99px;background:var(--ok);margin-bottom:6px}
button[disabled]{opacity:.6;cursor:wait}

/* Preguntas */
.imp-faq-wrap{max-width:860px;margin:0 auto;padding-left:28px;padding-right:28px;padding-top:0}
.imp-faq{margin-top:24px;border-top:1px solid var(--bd)}
.imp-faq details{border-bottom:1px solid var(--bd);padding:20px 0}
.imp-faq summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:16px;font-weight:700;font-size:17px;color:var(--tx)}
.imp-faq summary::-webkit-details-marker{display:none}
.imp-faq summary::after{content:"+";font-size:24px;line-height:1;color:var(--pink);transition:transform .2s;flex:none}
.imp-faq details[open] summary::after{transform:rotate(45deg)}
.imp-faq p{margin-top:12px;font-size:15px;line-height:1.6;color:var(--tx2)}

/* Pie */
.imp-footer{border-top:1px solid var(--bd);background:var(--surface)}
.imp-footer-in{padding-top:36px;padding-bottom:36px;display:flex;flex-wrap:wrap;gap:24px;align-items:center;justify-content:space-between}
.imp-footer-brand{display:flex;align-items:center;gap:18px;flex-wrap:wrap}
.imp-footer-brand p{font-size:13px;line-height:1.5;color:var(--tx2);max-width:520px}
.imp-footer-links{display:flex;gap:22px;font-size:13px;font-weight:600}
.imp-footer-links a{color:var(--tx2)}
.imp-footer-links a:hover{color:var(--pink)}

/* Responsivo */
@media (max-width:1024px){
  .imp-grid-4{grid-template-columns:repeat(2,1fr)}
  .imp-stats{grid-template-columns:repeat(3,1fr)}
  .imp-stat-note{grid-column:1/-1}
}
@media (max-width:900px){
  .imp-hero-grid,.imp-sponsor-grid{grid-template-columns:1fr}
  .imp-hero-photo{height:380px}
  .imp-grid-3,.imp-steps{grid-template-columns:1fr}
  .imp-hide-sm{display:none}
}
@media (max-width:600px){
  .imp-hero{padding:44px 0 36px}
  .imp-section{padding-top:64px;padding-bottom:64px}
  .imp-grid-4,.imp-stats,.imp-form{grid-template-columns:1fr}
  .imp-card,.imp-package{padding:22px}
  .imp-faq-wrap{padding-left:18px;padding-right:18px}
  .imp-price{text-align:left}
}
