:root{--ink:#0b1430;--muted:#4a5573;--blue:#0b2fa0;--gold:#e6b800;--bg:#f6f5f1;--line:#d9d8d2;--err:#b3261e;--radius:10px}
*{box-sizing:border-box}
html,body{margin:0;background:var(--bg);color:var(--ink);font:400 17px/1.55 "Inter Tight",system-ui,sans-serif}
body{min-height:100dvh;display:flex;flex-direction:column}
.hero{flex:1;width:min(760px,100% - 32px);margin:0 auto;padding:14vh 0 8vh}
.brand{display:flex;align-items:flex-start;gap:4px;margin-bottom:56px}
.logo{width:min(420px,80vw);height:auto;display:block}
.tm{font-size:14px;font-weight:600;color:var(--ink);line-height:1}
.kicker{margin:0 0 14px;font-size:13px;letter-spacing:.14em;text-transform:uppercase;color:var(--blue);font-weight:600}
.kicker::before{content:"";display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--gold);margin-right:10px;vertical-align:1px}
h1{font:500 clamp(34px,5.4vw,56px)/1.08 "Newsreader",Georgia,serif;letter-spacing:-.015em;margin:0 0 22px;text-wrap:balance}
.lede{max-width:56ch;color:var(--muted);margin:0 0 14px}
.reveal{margin:0 0 36px;font-weight:600;color:var(--ink)}
.cta{appearance:none;border:0;border-radius:999px;background:var(--blue);color:#fff;font:600 16px/1 inherit;font-family:inherit;padding:16px 26px;cursor:pointer;transition:transform .16s cubic-bezier(.2,.8,.2,1),background .2s}
.cta:hover{background:#0a2788}.cta:active{transform:scale(.97)}
.cta:focus-visible,input:focus-visible,textarea:focus-visible,.close:focus-visible{outline:2px solid var(--gold);outline-offset:3px}
.cta[disabled]{opacity:.55;cursor:progress}
.foot{width:min(760px,100% - 32px);margin:0 auto;padding:24px 0 32px;border-top:1px solid var(--line);display:flex;flex-wrap:wrap;gap:8px 24px;justify-content:space-between;font-size:13px;color:var(--muted)}
dialog{border:0;border-radius:16px;padding:0;width:min(600px,100% - 24px);max-height:calc(100dvh - 24px);background:#fff;color:var(--ink);box-shadow:0 30px 80px rgba(11,20,48,.25)}
dialog::backdrop{background:rgba(11,20,48,.45);backdrop-filter:blur(3px)}
dialog[open]{animation:pop .22s cubic-bezier(.2,.8,.2,1)}
@keyframes pop{from{opacity:0;transform:translateY(8px) scale(.98)}}
@media (prefers-reduced-motion:reduce){dialog[open]{animation:none}.cta{transition:none}}
form{padding:28px;display:grid;gap:16px}
.dlg-head{display:flex;justify-content:space-between;align-items:center}
.dlg-head h2{margin:0;font:500 28px/1.1 "Newsreader",Georgia,serif}
.close{border:0;background:none;font-size:28px;line-height:1;cursor:pointer;color:var(--muted);padding:4px 8px;border-radius:6px}
fieldset{border:0;margin:0;padding:0}
legend{font-weight:600;margin-bottom:10px}
.reasons{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.reasons legend{grid-column:1/-1}
.reasons label{display:flex;gap:10px;align-items:center;border:1px solid var(--line);border-radius:var(--radius);padding:10px 12px;cursor:pointer;font-size:15px;transition:border-color .15s,background .15s}
.reasons label:has(input:checked){border-color:var(--blue);background:#eef1fb}
.reasons input{accent-color:var(--blue)}
.reasons .err{grid-column:1/-1}
.row{display:grid;grid-template-columns:1fr 1fr;gap:16px}
label{display:grid;gap:6px;font-size:14px;font-weight:500}
.opt{color:var(--muted);font-weight:400}
input:not([type=radio]):not([type=checkbox]),textarea{font:inherit;font-size:16px;border:1px solid var(--line);border-radius:var(--radius);padding:11px 12px;background:#fff;color:var(--ink);width:100%}
textarea{resize:vertical;min-height:110px}
.consent{display:flex;gap:10px;align-items:flex-start;font-weight:400;color:var(--muted);font-size:14px}
.consent input{margin-top:3px;accent-color:var(--blue)}
.err{color:var(--err);font-size:13px;font-weight:400;min-height:0}
.err:empty{display:none}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.ts{min-height:65px}
.actions{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap}
.status{margin:0;font-size:14px;color:var(--muted)}
.status.ok{color:#1d6b3a}.status.bad{color:var(--err)}
@media (max-width:560px){.reasons,.row{grid-template-columns:1fr}form{padding:22px 18px}.hero{padding-top:9vh}}
