:root{
    --bg:#ffffff; --text:#0f172a; --muted:#64748b; --border:#e5e7eb;
    --ring:#3c50e0; --primary:#3c50e0; --primary-hover:#3646c7;
}

*{box-sizing:border-box}
html,body{height:100%}
body.page{margin:0;background:#fff;color:var(--text);
    font:16px/1.5 "Inter","Noto Sans KR",system-ui,-apple-system,Segoe UI,Roboto,"Helvetica Neue",Arial}
a{color:var(--primary);text-decoration:none}
a:hover{opacity:.9}

.split{display:grid;grid-template-columns:1fr 1fr;min-height:100vh}
.left{display:grid;place-items:center;background:#fff}
.right{
    position:relative;background:#2f3034;color:#fff;overflow:hidden;
    display:grid;place-items:center;padding:48px;
}
@media (max-width:1024px){ .split{grid-template-columns:1fr} .right{display:none} }

.form-wrap{width:min(520px,92%)}
.brand{font-size:40px;margin:18px 0 6px;font-weight:800;letter-spacing:-.02em}
.subtitle{margin:0 0 30px;color:var(--muted)}

.alert{padding:12px 14px;border-radius:10px;margin:12px 0 18px;
    font-size:14px;background:#f1f5f9;color:#0f172a;border:1px solid #e2e8f0}
.alert.error{background:#fee2e2;border-color:#fecaca;color:#991b1b}
.alert.info{background:#e0e7ff;border-color:#c7d2fe;color:#3730a3}

.form{margin-top:10px}
.field{position:relative;margin:34px 0} /* +16px 늘림(기존 ~18px) */
.label{display:inline-block;margin:0 0 8px;font-weight:600}
.req{color:#f43f5e;font-weight:700;margin-left:6px}
.input{
    width:100%;padding:14px;border:1px solid var(--border);border-radius:10px;
    background:#fff;outline:0;transition:.15s;font-size:16px
}
.input::placeholder{color:#94a3b8}
.input:focus{border-color:var(--ring);box-shadow:0 0 0 4px color-mix(in srgb,var(--ring) 20%,transparent)}

.support-row{margin-top:10px;font-size:14px}

.btn{
    display:inline-flex;align-items:center;justify-content:center;width:100%;
    height:52px;border-radius:12px;border:0;cursor:pointer;font-weight:600;transition:.15s;
    margin-top:28px; /* 버튼 위 간격 +16px */
}
.btn.primary{background:var(--primary);color:#fff}
.btn.primary:hover{background:var(--primary-hover)}

.hero-img{
    max-width:min(520px,80%);height:auto;display:block;object-fit:contain;opacity:.95;
}