body {
    margin: 0;
    background: #f7f7f8;
    color: #1c1c1e;
    font-family: system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
    line-height: 1.6;
}

main {
    max-width: 760px;
    margin: 0 auto;
    padding: 2rem 1.25rem 4rem;
    background: #ffffff;
    min-height: 100vh;
}

h1 { font-size: 1.8rem; margin-top: 0; }
h2 { font-size: 1.25rem; margin-top: 2rem; }

table {
    width: 100%;
    border-collapse: collapse;
    font-size: 0.95rem;
    margin: 1rem 0;
}

th, td {
    border: 1px solid #d0d0d5;
    padding: 0.5rem 0.6rem;
    text-align: left;
    vertical-align: top;
}

th { background: #eeeef1; }

a { color: #0b57d0; }

footer {
    margin-top: 3rem;
    font-size: 0.9rem;
    color: #555;
}

.contact-form { margin: 1.5rem 0; }

.contact-form .field { display: block; margin-bottom: 1rem; }

.contact-form .field span { display: block; font-size: 0.9rem; margin-bottom: 0.3rem; }

.required-mark { font-size: 18pt; font-weight: bold; line-height: 0; vertical-align: middle; }

.contact-form input,
.contact-form textarea {
    width: 100%;
    box-sizing: border-box;
    padding: 0.6rem;
    font: inherit;
    border: 1px solid #b5b5bb;
    border-radius: 6px;
    background: #ffffff;
}

.contact-form textarea { min-height: 9rem; resize: vertical; }

.contact-form button {
    padding: 0.7rem 2rem;
    font: inherit;
    border: 1px solid #0b57d0;
    border-radius: 6px;
    background: #0b57d0;
    color: #ffffff;
    cursor: pointer;
}

.contact-form button:disabled { opacity: 0.5; cursor: default; }

.hp { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }

#contact-status { margin: 1rem 0; font-weight: bold; }
.status-ok { color: #1a7f37; }
.status-error { color: #b42318; }
