body {
    margin: 0;
    padding: 0;
    font-family: Arial, sans-serif;
    background: #f0f4f8;
    color: #222;
}
.skip-link { position:absolute; left:-9999px; top:8px; z-index:1000; background:#fff; color:#003366; padding:10px 14px; }
.skip-link:focus { left:8px; }
.site-nav { min-height:76px; padding:10px max(18px, calc((100% - 1040px) / 2)); display:flex; align-items:center; justify-content:space-between; gap:24px; background:#fff; border-bottom:1px solid #dce5ec; }
.site-nav .brand img { display:block; width:auto; height:58px; }
.nav-links { display:flex; flex-wrap:wrap; align-items:center; gap:24px; }
.nav-links a { color:#003366; font-weight:700; text-decoration:none; }
.nav-links a:hover, .nav-links a:focus-visible { text-decoration:underline; text-underline-offset:4px; }
.container {
    max-width: 980px;
    margin: 30px auto;
    background: #fff;
    border-radius: 12px;
    box-shadow: 0 8px 24px rgba(0,0,0,0.08);
    padding: 30px;
}
.header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    margin-bottom: 24px;
}
.logo { height: 70px; }
.logo2 { height: 56px; }
h1, h2, h3 { color: #003366; margin: 0 0 14px 0; }
.intro { background: #f7fafc; border-left: 5px solid #003366; padding: 16px; border-radius: 8px; margin-bottom: 22px; }
.privacy-note { background:#fff8e8; border:1px solid #ecd79b; padding:14px 16px; border-radius:8px; margin-bottom:22px; }
.form-group, .question { margin-bottom: 18px; }
label { display: block; font-weight: 700; margin-bottom: 6px; }
input[type="text"], input[type="email"], input[type="password"] {
    width: 100%;
    padding: 12px;
    border: 1px solid #cfd8e3;
    border-radius: 8px;
    box-sizing: border-box;
}
input:focus-visible, button:focus-visible, a:focus-visible { outline:3px solid #0b78b4; outline-offset:3px; }
.honeypot { position:absolute; left:-9999px; width:1px; height:1px; overflow:hidden; }
.consent { display:flex; align-items:flex-start; gap:10px; font-weight:400; line-height:1.5; margin:24px 0; }
.consent input { margin-top:4px; flex:0 0 auto; }
.consent a { color:#003366; }
.result-container { max-width:760px; }
.question {
    background: #fff;
    border: 1px solid #dde7f0;
    border-left: 5px solid #003366;
    padding: 14px;
    border-radius: 8px;
}
.options label { display: inline-block; margin-right: 16px; font-weight: 400; }
.button, .submit-btn {
    display: inline-block;
    padding: 12px 22px;
    border: 0;
    border-radius: 8px;
    background: #cc0000;
    color: #fff;
    text-decoration: none;
    cursor: pointer;
    font-size: 16px;
}
.button.secondary { background: #003366; }
.notice { padding: 12px 14px; border-radius: 8px; margin-bottom: 16px; }
.notice.error { background: #fff1f1; color: #8a1f1f; border: 1px solid #efc2c2; }
.notice.success { background: #eef9ef; color: #1c5a28; border: 1px solid #bfe3c5; }
.topbar { display:flex; justify-content:space-between; align-items:center; margin-bottom:18px; }
.meta { font-size: 14px; color: #555; }
footer { text-align:center; color:#666; font-size:14px; margin-top:28px; }
@media (max-width: 700px) {
    .site-nav { align-items:flex-start; }
    .site-nav .brand img { height:46px; }
    .nav-links { justify-content:flex-end; gap:12px 16px; font-size:14px; }
    .container { margin: 0; border-radius: 0; padding: 18px; }
    .header { flex-direction: column; align-items: flex-start; }
    .options label { display:block; margin: 8px 0; }
}
