.vba-wrap {
    --vba-primary:#243c2f;
    --vba-accent:#b98b5f;
    display:flex;
    justify-content:center;
    padding:32px 16px;
}
.vba-card {
    width:100%;
    max-width:620px;
    background:#fff;
    border:1px solid rgba(0,0,0,.08);
    border-radius:24px;
    box-shadow:0 18px 50px rgba(0,0,0,.08);
    padding:30px;
}
.vba-logo {
    max-width:180px;
    height:auto;
    display:block;
    margin:0 auto 22px;
}
.vba-card h1 {
    color:var(--vba-primary);
    font-size:clamp(32px, 8vw, 52px);
    line-height:1.02;
    margin:0 0 14px;
    text-align:center;
}
.vba-sub {
    color:var(--vba-primary);
    font-size:19px;
    line-height:1.45;
    text-align:center;
    margin-bottom:22px;
}
.vba-form {
    display:grid;
    gap:14px;
    margin-top:24px;
}
.vba-form label {
    display:grid;
    gap:6px;
    font-weight:700;
    color:var(--vba-primary);
}
.vba-form input {
    width:100%;
    min-height:48px;
    border:1px solid #d9d9d9;
    border-radius:12px;
    padding:10px 12px;
    font-size:16px;
}
.vba-form button,
.vba-button {
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:54px;
    padding:14px 22px;
    border:0;
    border-radius:999px;
    background:var(--vba-accent);
    color:#fff;
    text-decoration:none;
    font-size:18px;
    font-weight:800;
    cursor:pointer;
    text-align:center;
}
.vba-form small {
    display:block;
    text-align:center;
    color:#555;
}
.vba-error {
    background:#fff3f0;
    border:1px solid #f0b7aa;
    color:#7a2e22;
    border-radius:12px;
    padding:12px 14px;
    margin:18px 0;
}
.vba-hp {
    display:none !important;
}
.vba-center {
    text-align:center;
}
.vba-note {
    margin-top:24px;
    padding:16px;
    border-radius:16px;
    background:#f8f5f1;
}
@media (max-width:480px) {
    .vba-card { padding:24px 18px; border-radius:18px; }
}
