/* RESET */
* {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
}

body {
    font-family: Arial, Helvetica, sans-serif;
    background: #ffffff;
    color: #000000;
    line-height: 1.6;
}

/* LAYOUT */
.page {
    min-height: 100vh;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 3rem 1.25rem;
}

.container {
    width: 100%;
    max-width: 640px;
    text-align: center;
}

/* LOGO */
.logo {
    max-width: 260px;
    width: 100%;
    margin-bottom: 1rem;
}

/* HEADINGS */
h1 {
    font-size: clamp(1.9rem, 4vw, 2.5rem);
    margin-bottom: 1rem;
}

h2 {
    font-size: 1.5rem;
    margin-bottom: 0.75rem;
}

/* INTRO */
.intro {
    font-size: 1.05rem;
    margin-bottom: 2.5rem;
    color: #333;
}

.contactinfo {margin-top:-1em; padding-bottom:1em;}

/* FORM */
.contact-form {
    text-align: left;
}
a {color:#000; text-decoration:none;}
a:visited {color;#000; text-decoration:underline;}

.contact-form label {
    display: block;
    font-size: 0.9rem;
    margin-bottom: 1.25rem;
    color: #111;
}

.contact-form input,
.contact-form textarea {
    width: 100%;
    margin-top: 0.35rem;
    padding: 0.65rem 0.75rem;
    background: #f7f7f7;
    border: 1px solid #ddd;
    font-size: 0.95rem;
    color: #000;
}

.contact-form textarea {
    resize: vertical;
}

/* CAPTCHA */
.captcha {
    margin: 1.5rem 0;
}

/* BUTTON */
button {
    background: #111;
    color: #fff;
    border: none;
    padding: 0.75rem 1.75rem;
    font-size: 0.95rem;
    cursor: pointer;
}

button:hover {
    opacity: 0.9;
}

/* ERROR */
.form-error {
    background: #fce8e8;
    color: #900;
    padding: 0.75rem;
    margin-bottom: 1.5rem;
    text-align: center;
    font-size: 0.9rem;
}

/* THANK YOU */
.thank-you {
    background: #f7f7f7;
    padding: 2rem;
}

/* FOOTER */
footer {
    text-align: center;
    padding: 1rem;
    font-size: 0.85rem;
    color: #777;
}

/* MOBILE */
@media (max-width: 600px) {
    .page {
        padding: 2rem 1rem;
    }
}
