:root {
  color-scheme: dark;
  --bg:#101821; --gradient:radial-gradient(ellipse at 20% 0%,#2d3437,transparent 65%),#101821;
  --card-bg:#19232e; --border:#35414b; --text:#f3f4f4; --muted:#acb7c3;
  --input-bg:#121c26; --input-border:#4a5867; --accent:#f0c181; --hover:#ffcf91;
  --button-text:#25251f; --error:#f69c9c; --error-bg:#3c292e; --success:#77cbb1;
}
body.light-theme {
  color-scheme:light;
  --bg:#f6f4ee; --gradient:radial-gradient(ellipse at 20% 0%,#eee4d4,transparent 65%),#f6f4ee;
  --card-bg:#fffefb; --border:#d8d8ce; --text:#24313a; --muted:#586671;
  --input-bg:#fff; --input-border:#a5afb5; --accent:#865421; --hover:#704218;
  --button-text:#fff; --error:#a02a38; --error-bg:#fff0f0; --success:#257359;
}
* { box-sizing:border-box; }
[hidden] { display:none !important; }
body { margin:0; min-height:100vh; background:var(--gradient); color:var(--text); font-family:ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif; }
button,input,textarea,select { font:inherit; }
a { color:var(--accent); text-underline-offset:4px; }
a:focus-visible,button:focus-visible { outline:3px solid var(--accent); outline-offset:4px; }
.container { width:min(1080px,calc(100% - 48px)); margin:auto; }
.site-header { display:flex; justify-content:space-between; align-items:center; gap:16px; padding:24px 0; border-bottom:1px solid var(--border); }
.brand { display:flex; align-items:center; gap:13px; color:var(--text); text-decoration:none; font-size:12px; font-weight:700; letter-spacing:.04em; }
.brand img { border-radius:50%; object-fit:contain; background:#fff; }
.theme-toggle { width:44px; height:44px; flex-shrink:0; display:grid; place-items:center; border:1px solid var(--border); border-radius:50%; color:var(--text); background:var(--card-bg); cursor:pointer; }
.theme-toggle svg { width:20px; height:20px; fill:none; stroke:currentColor; stroke-width:1.6; }
.moon { display:none; }
.light-theme .sun { display:none; }
.light-theme .moon { display:block; }
.back-link { display:inline-block; margin:24px 0 30px; color:var(--muted); font-size:13px; text-decoration:none; }
.layout { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,440px); gap:60px; align-items:start; }
.eyebrow { font-size:11px; letter-spacing:.1em; text-transform:uppercase; font-weight:700; color:var(--accent); }
h1 { margin:15px 0 22px; font-size:clamp(38px,4.8vw,56px); font-weight:650; letter-spacing:-.045em; line-height:1.13; }
.lead { max-width:390px; color:var(--muted); font-size:16px; line-height:1.75; }
.letter-art { margin:26px 0; max-width:420px; overflow:hidden; border:1px solid var(--border); border-radius:18px; color:var(--accent); }
.letter-art svg { display:block; width:100%; }
.info-note { margin:24px 0; padding-left:17px; border-left:2px solid var(--accent); }
.info-note strong { font-size:17px; font-weight:600; }
.info-note p { color:var(--muted); font-size:14px; line-height:1.7; max-width:370px; }
.small { color:var(--muted); font-size:12px; line-height:1.7; }
.panel { padding:30px; border:1px solid var(--border); border-radius:20px; background:var(--card-bg); box-shadow:0 24px 60px #0002; }
h2 { margin:0 0 12px; font-size:25px; font-weight:650; letter-spacing:-.025em; }
.subtitle { margin:0 0 24px; color:var(--muted); font-size:14px; line-height:1.7; }
form { display:flex; flex-direction:column; gap:19px; }
.field { display:flex; flex-direction:column; gap:8px; min-width:0; }
label { font-size:13px; font-weight:600; line-height:1.5; }
.optional { font-weight:400; color:var(--muted); }
.required { color:var(--accent); }
input,select,textarea { width:100%; min-height:49px; padding:12px 13px; border:1px solid var(--input-border); border-radius:9px; color:var(--text); background:var(--input-bg); font-size:16px; outline:none; }
textarea { resize:vertical; line-height:1.6; min-height:155px; }
input::placeholder,textarea::placeholder { color:var(--muted); opacity:.85; }
input:focus,select:focus,textarea:focus { border-color:var(--accent); box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 20%,transparent); }
[aria-invalid="true"] { border-color:var(--error); }
.hint,.field-error { margin:0; font-size:12px; line-height:1.5; }
.hint { color:var(--muted); }
.field-error { color:var(--error); }
.counter { text-align:right; }
.privacy { margin:0; color:var(--muted); font-size:12px; line-height:1.7; }
.turnstile-slot { min-height:65px; }
.primary-button { display:flex; justify-content:center; align-items:center; gap:12px; width:100%; min-height:49px; padding:13px 18px; border:0; border-radius:9px; background:var(--accent); color:var(--button-text); font-size:14px; font-weight:700; cursor:pointer; transition:background .2s; }
.primary-button:hover { background:var(--hover); }
.primary-button:disabled { opacity:.6; cursor:wait; }
.status { margin:20px 0 0; padding:13px; border:1px solid var(--error); border-radius:9px; background:var(--error-bg); color:var(--error); font-size:14px; line-height:1.6; overflow-wrap:anywhere; }
.status ul { margin:8px 0 0; padding-left:20px; }
.success { outline:none; }
.success-icon { display:grid; place-items:center; margin-bottom:20px; width:44px; height:44px; border:1px solid var(--success); border-radius:50%; color:var(--success); font-size:24px; }
.success p { font-size:14px; line-height:1.7; }
.success .small { font-size:12px; }
.confirmed-email { color:var(--success); font-weight:600; overflow-wrap:anywhere; }
.success .primary-button { margin-top:24px; }
footer { margin:50px 0 24px; padding-top:20px; border-top:1px solid var(--border); font-size:12px; color:var(--muted); line-height:1.8; }
@media(max-width:800px) {
  .layout { grid-template-columns:1fr; gap:28px; }
  .intro h1 br { display:none; }
  .letter-art { display:none; }
  .intro .info-note { margin:18px 0; }
  .lead { max-width:none; }
}
@media(max-width:480px) {
  .container { width:calc(100% - 28px); }
  .panel { padding:22px 18px; }
  .site-header { padding:18px 0; }
  .brand { font-size:11px; gap:9px; }
  .brand img { width:44px; height:44px; }
  .back-link { margin:20px 0; }
}
@media(prefers-reduced-motion:reduce) { * { transition:none !important; } }
