:root {
    color-scheme: light;
    font-family: system-ui, -apple-system, "Segoe UI", sans-serif;
    color: #302c28;
    background: #f7f5f1;
    font-synthesis: none;
}
* { box-sizing: border-box; }
body.captcha-page {
    margin: 0;
    min-height: 100vh;
    min-height: 100svh;
    display: flex;
    flex-direction: column;
    background: radial-gradient(ellipse at 50% 35%, #fff9ec, transparent 65%);
}
.captcha-brand { display: flex; align-items: center; justify-content: center; gap: 12px; padding: 32px 20px 12px; font-size: 22px; font-weight: 700; letter-spacing: -.5px; }
.captcha-brand small { display: block; margin-top: 3px; font-size: 11px; letter-spacing: .3px; font-weight: 400; color: #67615a; }
.captcha-brand-mark { display: grid; place-items: center; width: 44px; height: 44px; border: 1px solid #d6b67f; border-radius: 12px; color: #855411; font-family: Georgia, serif; font-size: 28px; }
.captcha-main { flex: 1; display: grid; place-items: center; padding: 28px 20px; }
.captcha-card { width: 100%; max-width: 480px; padding: 40px; text-align: center; border: 1px solid #e6e1d8; border-radius: 24px; background: #fff; box-shadow: 0 16px 60px #57482b0a; }
.captcha-icon { display: grid; place-items: center; margin: 0 auto 24px; width: 64px; height: 64px; color: #956115; background: #fbf3e5; border: 1px solid #efdfc3; border-radius: 20px; }
.captcha-eyebrow { margin: 0 0 12px; color: #855411; font-size: 11px; font-weight: 700; letter-spacing: 1.6px; text-transform: uppercase; }
h1 { margin: 0; font-size: clamp(26px, 6vw, 32px); line-height: 1.25; letter-spacing: -.8px; font-weight: 650; }
.captcha-intro { margin: 18px 0 24px; color: #67615a; font-size: 15px; line-height: 1.7; }
.cf-turnstile { width: 100%; margin: 16px 0; }
.cf-turnstile:empty { margin: 0; }
.captcha-submit { display: block; width: 100%; padding: 15px 16px; border: 1px solid #a56a14; border-radius: 10px; background: #b87818; color: #fff; font: inherit; font-size: 15px; font-weight: 650; cursor: pointer; text-decoration: none; transition: background .15s; }
.captcha-submit:hover { background: #986113; }
.captcha-submit:disabled { cursor: wait; opacity: .65; }
:focus-visible { outline: 3px solid #73490e; outline-offset: 4px; }
.captcha-help { margin: 16px 0 24px; color: #67615a; font-size: 12px; line-height: 1.7; }
.captcha-alert, .captcha-status { padding: 12px; border-radius: 8px; background: #fff4e6; color: #75450a; font-size: 13px; line-height: 1.6; overflow-wrap: anywhere; }
.captcha-troubleshooting { border-top: 1px solid #eee9e1; padding-top: 20px; text-align: left; font-size: 13px; color: #67615a; line-height: 1.7; }
.captcha-troubleshooting summary { cursor: pointer; color: #57482f; }
.captcha-troubleshooting p { margin-bottom: 0; }
.captcha-note { margin-top: 24px; color: #767069; font-size: 11px; }
.captcha-page footer { padding: 12px 20px 24px; text-align: center; font-size: 12px; }
.captcha-page footer a { color: #67615a; text-underline-offset: 3px; }
@media (max-width: 480px) {
    .captcha-brand { padding-top: 24px; }
    .captcha-main { padding: 20px 12px; }
    .captcha-card { padding: 28px 20px; border-radius: 18px; }
}
