/* CutbackLab · estilos compartidos de las páginas interiores */
:root{--fondo:#091540;--fondo2:#0B1A4A;--tarjeta:#0E2050;--tarjeta2:#16296A;--borde:#22357A;--borde2:#2D4392;--borde3:#3B52A3;--texto:#F2F4FA;--texto2:#C3CAE0;--texto3:#A7B0CC;--acento:#4D8DFF;--ok:#3DDC97;--ko:#FF9A9A}
*{box-sizing:border-box}
[hidden]{display:none!important}
html{scroll-behavior:smooth}
body{margin:0;background:var(--fondo);color:var(--texto);font-family:'Manrope',sans-serif}
a{color:var(--texto)}a:hover{color:#fff}
:focus-visible{outline:2px solid var(--acento);outline-offset:3px}
.wrap{max-width:1240px;margin:0 auto;padding:0 24px}
.wrap-s{max-width:880px;margin:0 auto;padding:0 24px}

/* cabecera */
.cab{border-bottom:1px solid var(--borde)}
.cab .wrap{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px;padding-top:18px;padding-bottom:18px}
.logo{display:flex;align-items:center;gap:10px;text-decoration:none}
.logo b{font-family:'Barlow Condensed',sans-serif;font-weight:800;font-size:24px;letter-spacing:.08em;color:var(--texto)}
.logo b span{color:var(--acento)}
.menu{display:flex;flex-wrap:wrap;align-items:center;gap:8px;font-size:15px;font-weight:600}
.menu a{text-decoration:none;color:var(--texto2);padding:10px 14px;border-radius:999px;min-height:44px;display:inline-flex;align-items:center}
.menu a:hover{color:var(--texto);background:var(--tarjeta)}
.menu a[aria-current="page"]{background:var(--acento);color:var(--fondo)}

/* tipografía */
.kicker{font-size:13px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--acento)}
.h1{margin:0;font-family:'Barlow Condensed',sans-serif;font-weight:800;font-size:clamp(40px,6vw,72px);line-height:.98;text-transform:uppercase}
.h2{margin:0;font-family:'Barlow Condensed',sans-serif;font-weight:700;font-size:clamp(28px,3.4vw,36px);line-height:1.05;text-transform:uppercase}
.lead{margin:0;font-size:18px;line-height:1.65;color:var(--texto2)}
p{line-height:1.65}
.muted{color:var(--texto3)}

/* botones */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:0 26px;border-radius:999px;border:0;background:var(--acento);color:var(--fondo);font:700 16px 'Manrope',sans-serif;text-decoration:none;cursor:pointer}
.btn:hover{background:#6FA3FF;color:var(--fondo)}
.btn:disabled{opacity:.6;cursor:default}
.btn-g{background:transparent;border:1px solid var(--borde3);color:var(--texto)}
.btn-g:hover{background:var(--tarjeta);color:var(--texto)}
.btn-s{min-height:44px;padding:0 18px;font-size:14px}
.btn-peligro{background:transparent;border:1px solid #8C3B52;color:var(--ko)}
.btn-peligro:hover{background:#3A1730;color:var(--ko)}

/* tarjetas y etiquetas */
.card{background:var(--tarjeta);border:1px solid var(--borde);border-radius:20px;padding:28px}
.chip{display:inline-flex;align-items:center;gap:8px;border-radius:999px;padding:6px 14px;font-size:13px;font-weight:600;background:var(--tarjeta2)}
.chip-borde{background:transparent;border:1px solid var(--acento);font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase}
.punto{width:7px;height:7px;border-radius:50%;background:var(--acento)}

/* formularios */
.campo{width:100%;min-height:48px;padding:12px 16px;border-radius:12px;border:1px solid var(--borde2);background:var(--fondo);color:var(--texto);font:15px 'Manrope',sans-serif}
.campo::placeholder{color:#7F8BB3}
textarea.campo{min-height:120px;resize:vertical;line-height:1.6}
select.campo{appearance:auto}
.etq{display:block;font-size:13px;font-weight:700;color:var(--texto2);margin-bottom:8px}
.grid2{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:18px}
.aviso{border-radius:12px;padding:12px 16px;font-size:14px;line-height:1.5}
.aviso-ok{background:#0D3B3A;border:1px solid var(--ok);color:#CFF7E6}
.aviso-ko{background:#3A1730;border:1px solid #FF7A7A;color:#FFD9D9}
.aviso[hidden]{display:none}

/* pie */
.pie{border-top:1px solid var(--borde);margin-top:96px}
.pie .wrap{display:flex;flex-wrap:wrap;justify-content:space-between;gap:20px;padding-top:32px;padding-bottom:32px;font-size:14px;color:var(--texto3)}
.pie nav{display:flex;flex-wrap:wrap;gap:20px}
.pie a{color:var(--texto3)}

@media (max-width:640px){.card{padding:20px}.menu a{padding:10px 10px}}
