:root { color-scheme: light; --on-accent:#fff; --bg:#fff; --fg:#1a1a1a; --muted:#555; --accent:#1b4f9c; --border:#ccd; --err:#b00020; --ok:#146c2e; }
* { box-sizing: border-box; }
body { margin:0; background:#fff; color:var(--fg); font:16px/1.5 system-ui,sans-serif; }
main { max-width:32rem; margin:0 auto; padding:2rem 16px; }
h1 { font-size:1.5rem; margin-top:0; }
label { display:block; margin:1rem 0 .25rem; font-weight:600; }
input[type=email], input[type=text], textarea { width:100%; padding:.6rem; border:1px solid var(--border); border-radius:6px; background:transparent; color:inherit; font:inherit; }
button { margin-top:1.25rem; padding:.7rem 1.4rem; border:0; border-radius:6px; background:var(--accent); color:var(--on-accent); font:inherit; font-weight:600; cursor:pointer; }
button[disabled] { opacity:.6; cursor:default; }
.hp { position:absolute; left:-10000px; }
#msg { margin-top:1rem; min-height:1.5rem; }
#msg.err { color:var(--err); } #msg.ok { color:var(--ok); }
.muted { color:var(--muted); font-size:.9rem; }
fieldset { border:1px solid var(--border); border-radius:6px; margin:1rem 0 0; padding:.5rem 1rem 1rem; }
label.choice { display:block; font-weight:400; margin:.5rem 0 0; }
label.choice .desc { display:block; color:var(--muted); font-size:.9rem; }

.skeleton { display:grid; gap:.75rem; padding:.25rem 0; }
.skeleton span { display:block; height:1.1rem; border-radius:4px; background:linear-gradient(90deg,#e6e9ee 25%,#f3f5f8 50%,#e6e9ee 75%); background-size:200% 100%; animation:shimmer 1.2s infinite linear; }
.skeleton span:nth-child(2) { width:80%; }
.skeleton span:nth-child(3) { width:60%; }
@keyframes shimmer { from { background-position:200% 0; } to { background-position:-200% 0; } }
@media (prefers-reduced-motion: reduce) { .skeleton span { animation:none; } }

.offices { margin-top:2rem; padding-top:1rem; border-top:1px solid #e8eaee; font-size:.8125rem; }
.offices h2 { margin:0 0 .35rem; font-size:.75rem; font-weight:500; letter-spacing:.04em; text-transform:uppercase; color:#6b7280; }
.offices ul { margin:0; padding-left:1rem; }
.offices li { margin:.2rem 0; }
.offices a { color:var(--accent); text-decoration:underline; text-underline-offset:2px; }
.offices a:hover, .offices a:focus-visible { text-decoration-thickness:2px; }
