:root{
    --azul:#123b78;
    --azul2:#1e5eb7;
    --celeste:#eaf4ff;
    --amarillo:#ffd54a;
    --verde:#28a745;
    --texto:#1f2937;
    --gris:#6b7280;
    --fondo:#f5f8fc;
    --blanco:#ffffff;
    --borde:#dce6f2;
}
*{box-sizing:border-box}
body{
    margin:0;
    font-family:Inter,Segoe UI,Arial,sans-serif;
    background:linear-gradient(180deg,#eef6ff 0,#f8fbff 40%,#f5f8fc 100%);
    color:var(--texto);
}
a{text-decoration:none;color:inherit}
.header{
    background:linear-gradient(135deg,var(--azul),var(--azul2));
    color:#fff;
    padding:20px 0;
    box-shadow:0 8px 30px rgba(18,59,120,.18);
}
.wrap{width:min(1100px,92%);margin:auto}
.brand{display:flex;align-items:center;gap:14px}
.logo{
    width:54px;height:54px;border-radius:16px;
    display:grid;place-items:center;
    background:var(--amarillo);
    color:var(--azul);
    font-size:28px;font-weight:900;
    box-shadow:inset 0 0 0 3px rgba(255,255,255,.45)
}
.brand h1{font-size:24px;margin:0}
.brand small{display:block;opacity:.85;margin-top:3px}
.hero{
    margin:34px auto 22px;
    background:var(--blanco);
    border:1px solid var(--borde);
    border-radius:24px;
    padding:34px;
    box-shadow:0 18px 50px rgba(31,41,55,.08)
}
.hero h2{font-size:34px;margin:0 0 10px;color:var(--azul)}
.hero p{color:var(--gris);font-size:17px;line-height:1.65}
.badge{
    display:inline-flex;align-items:center;gap:7px;
    background:var(--celeste);color:var(--azul);
    border-radius:999px;padding:8px 12px;
    font-size:13px;font-weight:700;margin-bottom:14px
}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:20px}
.card{
    background:#fff;border:1px solid var(--borde);
    border-radius:20px;padding:24px;
    box-shadow:0 12px 35px rgba(31,41,55,.06)
}
.card h3{margin:0 0 8px;color:var(--azul)}
.meta{color:var(--gris);font-size:14px;margin-bottom:18px}
.btn{
    display:inline-block;border:none;cursor:pointer;
    background:linear-gradient(135deg,var(--azul2),var(--azul));
    color:white;padding:13px 18px;border-radius:12px;
    font-weight:800;font-size:15px;
    box-shadow:0 8px 20px rgba(30,94,183,.24)
}
.btn:hover{transform:translateY(-1px)}
.btn-sec{background:#edf4ff;color:var(--azul);box-shadow:none}
.story{
    background:#fff;border:1px solid var(--borde);
    border-radius:22px;padding:34px;
    line-height:1.9;font-size:18px;
    box-shadow:0 14px 40px rgba(31,41,55,.07)
}
.story p{margin:0 0 18px}
.question{
    background:#fff;border:1px solid var(--borde);
    border-radius:18px;padding:22px;margin-bottom:18px
}
.question h3{font-size:18px;margin:0 0 16px;color:#17315e}
.option{
    display:block;border:1px solid var(--borde);
    padding:12px 14px;border-radius:12px;margin:9px 0;
    cursor:pointer;background:#fbfdff
}
.option:hover{background:#f0f6ff;border-color:#b9d2f2}
.option input{margin-right:10px}
.result{
    text-align:center;background:#fff;border:1px solid var(--borde);
    border-radius:24px;padding:38px;
    box-shadow:0 18px 45px rgba(31,41,55,.08)
}
.score{font-size:62px;font-weight:900;color:var(--azul);margin:10px 0}
.success{color:var(--verde);font-weight:800}
.table{
    width:100%;border-collapse:collapse;background:#fff;
    border-radius:16px;overflow:hidden
}
.table th,.table td{padding:14px;border-bottom:1px solid var(--borde);text-align:left}
.table th{background:#f0f6ff;color:var(--azul)}
.notice{
    background:#fff7d6;border:1px solid #f4dd7a;
    color:#6b5600;padding:14px;border-radius:12px;margin:15px 0
}
.footer{
    text-align:center;color:var(--gris);
    padding:30px 0 45px;font-size:13px
}
@media(max-width:700px){
    .hero{padding:24px}
    .hero h2{font-size:27px}
    .story{padding:23px;font-size:17px}
}
