/* Acorpf Talent — misma identidad que acorpf.com */
:root{--n950:#020a24;--n900:#041335;--n800:#07204f;--n700:#0a2d6b;--b600:#0054b4;--b500:#0c78cc;--b400:#3a93dd;--b200:#849ccc;--gold:#c9a24c;--gold2:#e2c27b;--ink:#0b1a3a;--muted:#5b6b8c;--line:#dfe6f2;--paper:#f4f7fc;--ok:#1f9d6b;--warn:#c98a12;--bad:#c8463b;--r:16px;--shadow:0 20px 50px -24px rgba(2,10,36,.45);--ease:cubic-bezier(.2,.7,.2,1)}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;font-family:Poppins,system-ui,sans-serif;color:var(--ink);background:var(--paper);line-height:1.6;font-size:15.5px;min-height:100vh;display:flex;flex-direction:column}
a{color:var(--b600);text-decoration:none}a:hover{text-decoration:underline}
h1,h2,h3,h4{margin:0 0 .4em;line-height:1.2}
p{margin:0 0 1em}
img{max-width:100%}
.wrap{width:100%;max-width:1180px;margin:0 auto;padding:0 20px}
.main{flex:1;padding:32px 0 60px}
.z-publica .main{padding:0}

/* Header */
.top{background:var(--n900);color:#fff;position:sticky;top:0;z-index:50;box-shadow:0 8px 24px -16px rgba(0,0,0,.6)}
.top .wrap{display:flex;align-items:center;justify-content:space-between;gap:20px;height:68px}
.brand{display:flex;align-items:center;gap:10px;color:#fff;text-decoration:none!important}
.brand img{border-radius:50%}
.brand strong{display:block;font-size:16px;letter-spacing:.02em}
.brand strong em{font-style:normal;color:var(--gold2)}
.brand small{display:block;font-size:10.5px;opacity:.7;margin-top:-2px}
.nav{display:flex;align-items:center;gap:4px}
.nav a{color:rgba(255,255,255,.8);font-size:14px;font-weight:500;padding:8px 12px;border-radius:30px;text-decoration:none}
.nav a:hover,.nav a.on{color:#fff;background:rgba(255,255,255,.08)}
.nav a.on{box-shadow:inset 0 -2px 0 var(--gold)}
.nav a.out{opacity:.7}
.nav .btn{color:var(--n950)}
.burger{display:none;background:none;border:1px solid rgba(255,255,255,.25);border-radius:10px;width:42px;height:42px;position:relative;cursor:pointer}
.burger span{position:absolute;left:11px;right:11px;height:2px;background:#fff}
.burger span:nth-child(1){top:14px}.burger span:nth-child(2){top:20px}.burger span:nth-child(3){top:26px}

/* Buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;background:var(--gold);color:var(--n950);border:0;font:inherit;font-weight:600;font-size:14.5px;padding:12px 22px;border-radius:40px;cursor:pointer;text-decoration:none!important;transition:transform .25s var(--ease),box-shadow .25s;box-shadow:0 10px 24px -12px rgba(201,162,76,.8)}
.btn:hover{transform:translateY(-2px)}
.btn:disabled{opacity:.45;cursor:not-allowed;transform:none}
.btn-dark{background:var(--n900);color:#fff;box-shadow:0 10px 24px -14px rgba(2,10,36,.8)}
.btn-blue{background:linear-gradient(135deg,var(--b500),var(--b600));color:#fff}
.btn-ghost{background:transparent;color:var(--n900);border:1.5px solid var(--line);box-shadow:none}
.btn-ghost:hover{border-color:var(--b500)}
.btn-danger{background:var(--bad);color:#fff;box-shadow:none}
.btn-sm{padding:8px 16px;font-size:13.5px}
.btn-block{width:100%}

/* Cards & layout */
.card{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:26px;box-shadow:0 14px 34px -30px rgba(7,32,79,.6)}
.card+.card{margin-top:20px}
.card h2{font-size:20px}
.grid{display:grid;gap:20px}
.g2{grid-template-columns:1fr 1fr}.g3{grid-template-columns:repeat(3,1fr)}.g4{grid-template-columns:repeat(4,1fr)}
.page-title{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;flex-wrap:wrap;margin-bottom:24px}
.page-title h1{font-size:28px;margin:0;border-left:5px solid var(--gold);padding-left:14px}
.page-title p{margin:6px 0 0;color:var(--muted)}
.muted{color:var(--muted)}.small{font-size:13px}
.center{text-align:center}
.stack>*+*{margin-top:12px}
hr{border:0;border-top:1px solid var(--line);margin:22px 0}

/* Flash */
.flash{padding:14px 18px;border-radius:12px;margin-bottom:18px;font-weight:500;border:1px solid}
.flash.ok{background:#e8f7f0;color:#14674a;border-color:#bfe8d5}
.flash.error{background:#fdecea;color:#8f2b22;border-color:#f6c8c2}
.flash.info{background:#eaf2fd;color:#0a4280;border-color:#c5dbf7}

/* Forms */
.form{display:grid;gap:16px}
.field{display:flex;flex-direction:column;gap:6px}
.field label{font-size:13.5px;font-weight:600}
.field .hint{font-size:12.5px;color:var(--muted)}
input[type=text],input[type=email],input[type=password],input[type=tel],input[type=number],input[type=date],select,textarea{font:inherit;font-size:15px;color:var(--ink);background:#fff;border:1.5px solid var(--line);border-radius:12px;padding:12px 14px;width:100%;outline:none;transition:border-color .2s,box-shadow .2s}
input:focus,select:focus,textarea:focus{border-color:var(--b500);box-shadow:0 0 0 4px rgba(12,120,204,.12)}
textarea{min-height:110px;resize:vertical}
.check{display:flex;gap:12px;align-items:flex-start;font-size:14px;line-height:1.5}
.check input{margin-top:3px;width:18px;height:18px;flex:none;accent-color:var(--n800)}
.auth{max-width:520px;margin:0 auto}
.tabs{display:flex;background:var(--paper);border-radius:40px;padding:4px;margin-bottom:22px}
.tabs a{flex:1;text-align:center;padding:10px;border-radius:40px;font-weight:600;color:var(--muted);text-decoration:none}
.tabs a.on{background:var(--n900);color:#fff}

/* Tags */
.tag{display:inline-block;font-size:12px;font-weight:600;padding:4px 10px;border-radius:20px;background:var(--paper);color:var(--muted);white-space:nowrap}
.tag.elite{background:#fff3d6;color:#8a6410}.tag.alto{background:#e2f0ff;color:#0a4f9e}.tag.rec{background:#e5f6ee;color:#16704f}
.tag.eval{background:#fdf1e2;color:#a2610c}.tag.no{background:#fdeaea;color:#9e2e25}.tag.gris{background:#eef1f6;color:#6a7690}
.tag.gold{background:var(--gold);color:var(--n950)}.tag.blue{background:var(--n800);color:#fff}

/* Tables */
.table-wrap{overflow-x:auto}
table.t{width:100%;border-collapse:collapse;font-size:14.5px}
.t th{text-align:left;font-size:12px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);font-weight:600;padding:10px 12px;border-bottom:2px solid var(--line);white-space:nowrap}
.t td{padding:12px;border-bottom:1px solid var(--line);vertical-align:middle}
.t tr.short td{background:#fffaf0}
.t tr:hover td{background:var(--paper)}

/* KPI */
.kpi{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:20px}
.kpi b{display:block;font-size:30px;line-height:1.1;color:var(--n900)}
.kpi span{font-size:13px;color:var(--muted)}

/* Score ring */
.ring{--v:0;--c:var(--b500);width:132px;height:132px;border-radius:50%;background:conic-gradient(var(--c) calc(var(--v)*1%),#e8edf6 0);display:grid;place-items:center;flex:none;position:relative}
.ring::after{content:"";position:absolute;inset:12px;border-radius:50%;background:#fff}
.ring b{position:relative;z-index:1;font-size:36px;line-height:1;text-align:center;color:var(--n900)}
.ring b small{display:block;font-size:12px;color:var(--muted);font-weight:500}
.ring.sm{width:64px;height:64px}.ring.sm::after{inset:7px}.ring.sm b{font-size:18px}

/* Bars */
.bars{display:grid;gap:12px}
.bar label{display:flex;justify-content:space-between;font-size:13.5px;font-weight:500;margin-bottom:4px}
.bar i{display:block;height:9px;border-radius:9px;background:#e8edf6;overflow:hidden}
.bar i::before{content:"";display:block;height:100%;width:calc(var(--v)*1%);background:linear-gradient(90deg,var(--b500),var(--n700));border-radius:9px;animation:grow 1s var(--ease)}
@keyframes grow{from{width:0}}

/* Public landing */
.hero-t{background:radial-gradient(120% 120% at 100% 0%,var(--n700),var(--n950) 60%);color:#fff;padding:90px 0 110px;position:relative;overflow:hidden}
.hero-t::after{content:"";position:absolute;right:-160px;top:-160px;width:520px;height:520px;border-radius:50%;border:70px solid rgba(201,162,76,.08)}
.hero-t .wrap{position:relative;z-index:1;display:grid;grid-template-columns:1.2fr 1fr;gap:50px;align-items:center}
.eyebrow{font-size:12.5px;letter-spacing:.16em;text-transform:uppercase;font-weight:600;color:var(--gold)}
.hero-t h1{font-size:clamp(34px,5vw,58px);font-weight:800;margin:14px 0 18px}
.hero-t h1 span{color:var(--gold2)}
.hero-t p{font-size:18px;color:rgba(255,255,255,.78);max-width:560px}
.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:24px}
.hero-actions .btn-ghost{color:#fff;border-color:rgba(255,255,255,.35)}
.demo-card{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.14);border-radius:22px;padding:26px;backdrop-filter:blur(8px);animation:bob 6s ease-in-out infinite}
.demo-card .row{display:flex;align-items:center;gap:14px;padding:12px 0;border-bottom:1px solid rgba(255,255,255,.08)}
.demo-card .row:last-child{border:0}
.demo-card .av{width:40px;height:40px;border-radius:50%;background:linear-gradient(135deg,var(--b400),var(--n700));display:grid;place-items:center;font-weight:700}
.demo-card .sc{margin-left:auto;font-weight:800;font-size:22px;color:var(--gold2)}
@keyframes bob{50%{transform:translateY(-10px)}}
.sec{padding:80px 0}
.sec.white{background:#fff}
.sec h2{font-size:clamp(26px,3.4vw,38px);text-align:center;margin-bottom:10px}
.sec .lead{text-align:center;color:var(--muted);max-width:640px;margin:0 auto 44px}
.steps{display:grid;grid-template-columns:repeat(5,1fr);gap:16px;counter-reset:s}
.steps div{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:22px;position:relative}
.steps div::before{counter-increment:s;content:"0" counter(s);font-weight:800;font-size:28px;color:var(--gold);display:block;margin-bottom:6px}
.steps h4{font-size:16px}.steps p{font-size:13.5px;color:var(--muted);margin:0}
.plans{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;align-items:stretch}
.plan{background:linear-gradient(170deg,var(--n800),var(--n950));color:#fff;border-radius:22px;padding:30px 26px;display:flex;flex-direction:column;gap:14px}
.plan.feat{background:linear-gradient(170deg,var(--b600),var(--n800) 70%);box-shadow:0 0 0 2px var(--gold)}
.plan h3{font-family:"Bebas Neue",Poppins;font-size:40px;letter-spacing:.03em;font-weight:400;margin:0;line-height:1}
.plan .price{font-size:32px;font-weight:800;color:var(--gold2)}
.plan .price small{font-size:14px;color:rgba(255,255,255,.65);font-weight:500}
.plan ul{margin:0;padding:0;list-style:none;display:grid;gap:8px;flex:1;font-size:14.5px}
.plan li::before{content:"✓";color:var(--gold);margin-right:8px;font-weight:700}
.svc-list{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.svc-list div{background:#fff;border:1px solid var(--line);border-radius:14px;padding:18px}
.svc-list b{display:block;color:var(--n800)}
.svc-list span{color:var(--gold);font-weight:700}

/* Vacancy cards */
.vac{display:flex;justify-content:space-between;gap:20px;align-items:center}
.vac h3{font-size:18px;margin:0 0 4px}
.meta{display:flex;flex-wrap:wrap;gap:6px 14px;font-size:13.5px;color:var(--muted)}

/* ===== Cuestionario ===== */
.quiz{max-width:720px;margin:0 auto}
.quiz-top{display:flex;justify-content:space-between;align-items:center;font-size:13.5px;color:var(--muted);margin-bottom:10px;gap:10px}
.quiz-top b{color:var(--n800)}
.progress{height:10px;border-radius:10px;background:#e3e9f4;overflow:hidden;margin-bottom:26px}
.progress i{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--gold),var(--gold2));border-radius:10px;transition:width .5s var(--ease)}
.qcard{background:#fff;border:1px solid var(--line);border-radius:22px;padding:34px;box-shadow:var(--shadow);min-height:340px;display:flex;flex-direction:column}
.qcard.anim{animation:qin .45s var(--ease)}
.qcard.back{animation:qback .45s var(--ease)}
@keyframes qin{from{opacity:0;transform:translateX(40px)}}
@keyframes qback{from{opacity:0;transform:translateX(-40px)}}
.qblock{font-size:12px;letter-spacing:.14em;text-transform:uppercase;font-weight:700;color:var(--gold);margin-bottom:8px}
.qtext{font-size:clamp(20px,2.6vw,25px);font-weight:700;margin-bottom:8px}
.qhelp{color:var(--muted);font-size:14px;margin-bottom:18px}
.opts{display:grid;gap:10px;margin-top:10px}
.opt{display:flex;align-items:center;gap:14px;padding:15px 18px;border:1.5px solid var(--line);border-radius:14px;cursor:pointer;font-weight:500;transition:.2s;background:#fff;text-align:left;font:inherit;font-size:15.5px;color:var(--ink);width:100%}
.opt:hover{border-color:var(--b400);background:#f7faff}
.opt.sel{border-color:var(--n800);background:var(--n900);color:#fff}
.opt kbd{width:28px;height:28px;flex:none;border-radius:8px;display:grid;place-items:center;font:600 13px Poppins;background:var(--paper);color:var(--muted)}
.opt.sel kbd{background:var(--gold);color:var(--n950)}
.scale{display:grid;gap:8px;margin-top:16px}
.scale.s5{grid-template-columns:repeat(5,1fr)}.scale.s10{grid-template-columns:repeat(10,1fr)}
.scale button{padding:16px 0;border:1.5px solid var(--line);border-radius:12px;background:#fff;font:700 17px Poppins;color:var(--n800);cursor:pointer;transition:.2s}
.scale button:hover{border-color:var(--b400)}
.scale button.sel{background:var(--n900);color:#fff;border-color:var(--n900)}
.scale-labels{display:flex;justify-content:space-between;font-size:12.5px;color:var(--muted);margin-top:6px}
.qnav{display:flex;justify-content:space-between;align-items:center;margin-top:auto;padding-top:26px;gap:12px}
.saved{font-size:12.5px;color:var(--ok);opacity:0;transition:opacity .3s}
.saved.on{opacity:1}
.block-intro{text-align:center;justify-content:center;align-items:center}
.block-intro .big{font-size:54px;font-weight:800;color:var(--gold);line-height:1}
.done-ico{width:80px;height:80px;border-radius:50%;background:var(--ok);color:#fff;display:grid;place-items:center;font-size:40px;margin:0 auto 16px}

/* Informe / CV imprimible */
.doc{background:#fff;max-width:900px;margin:0 auto;border-radius:16px;box-shadow:var(--shadow);overflow:hidden}
.doc-head{background:linear-gradient(120deg,var(--n900),var(--n700));color:#fff;padding:32px 40px;display:flex;justify-content:space-between;gap:24px;align-items:center}
.doc-head h1{font-size:28px;margin:0}
.doc-head p{margin:4px 0 0;opacity:.8}
.doc-body{padding:32px 40px}
.doc h2{font-size:15px;text-transform:uppercase;letter-spacing:.1em;color:var(--n700);border-bottom:2px solid var(--gold);padding-bottom:6px;margin:26px 0 14px}
.doc h2:first-child{margin-top:0}
.kv{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.kv div{background:var(--paper);border-radius:12px;padding:14px}
.kv small{display:block;font-size:12px;color:var(--muted)}
.kv b{font-size:18px;color:var(--n900)}
.alert-box{background:#fff6e6;border-left:4px solid var(--warn);padding:12px 16px;border-radius:8px;font-size:14px;margin-bottom:8px}
.doc-actions{display:flex;gap:10px;justify-content:center;margin:0 auto 20px;max-width:900px;flex-wrap:wrap}
.cv-item{margin-bottom:12px}.cv-item b{display:block}.cv-item span{color:var(--muted);font-size:13.5px}
.watermark{font-size:11.5px;color:var(--muted);text-align:center;padding:14px;border-top:1px solid var(--line)}

/* Footer */
.foot{background:var(--n950);color:rgba(255,255,255,.6);font-size:13px;padding:22px 0}
.foot .wrap{display:flex;justify-content:space-between;gap:14px;flex-wrap:wrap}
.foot a{color:rgba(255,255,255,.8)}

/* Legal text */
.legal{max-width:820px;margin:0 auto}
.legal h2{font-size:19px;margin-top:28px}
.legal li{margin-bottom:6px}

@media (max-width:960px){
  .burger{display:block}
  .nav{position:absolute;top:68px;left:0;right:0;background:var(--n900);flex-direction:column;align-items:stretch;padding:10px 16px 18px;display:none}
  .nav-open .nav{display:flex}
  .nav a{padding:12px 14px}
  .hero-t .wrap{grid-template-columns:1fr}
  .steps{grid-template-columns:1fr 1fr}
  .plans,.g3,.g4{grid-template-columns:1fr 1fr}
  .svc-list{grid-template-columns:1fr 1fr}
  .kv{grid-template-columns:1fr 1fr}
}
@media (max-width:640px){
  .g2,.g3,.g4,.plans,.steps,.svc-list{grid-template-columns:1fr}
  .qcard{padding:24px 18px;border-radius:18px}
  .scale.s10{grid-template-columns:repeat(5,1fr)}
  .vac{flex-direction:column;align-items:flex-start}
  .doc-head,.doc-body{padding:24px 20px}
  .doc-head{flex-direction:column;align-items:flex-start}
  .card{padding:20px}
  .hero-t{padding:60px 0 70px}
}
@media print{
  .top,.foot,.doc-actions,.no-print{display:none!important}
  body{background:#fff}
  .main{padding:0}
  .doc{box-shadow:none;border-radius:0;max-width:none}
  .doc-head{-webkit-print-color-adjust:exact;print-color-adjust:exact}
  .kv div,.bar i,.bar i::before,.tag,.ring{-webkit-print-color-adjust:exact;print-color-adjust:exact}
  .bar i::before{animation:none}
  .doc h2{break-after:avoid}
  .cv-item,.kv{break-inside:avoid}
}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
