:root{--paper:#F7F3EE;--ink:#353434;--deep:#242323;--accent:#D7AB7B;--accent-dark:#BE8E5B;--rule:#E3D9CC;--muted:#7A736B;--card:#FBF8F4;--bad:#9B2C2C}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--paper);color:var(--ink);font-family:'Open Sans',sans-serif;font-size:16px;line-height:1.5}
main{max-width:28rem;margin:0 auto;padding:20px 16px 48px}
[hidden]{display:none!important}
.logo{display:block;height:44px;width:auto;margin:0 0 28px}
h1{font-family:'Cormorant Garamond',serif;font-weight:600;font-size:34px;line-height:1.1;margin:0;color:var(--deep)}
h2{font-family:'Cormorant Garamond',serif;font-weight:600;font-size:24px;margin:28px 0 8px;color:var(--deep)}
.rule{height:2px;width:44px;background:var(--accent);margin:14px 0 16px}
.eyebrow{margin:0 0 6px;font-size:12px;letter-spacing:.15em;text-transform:uppercase;color:var(--accent-dark);font-weight:700}
.muted{color:var(--muted)}
.warn{border:1px solid var(--accent-dark);background:var(--card);padding:12px 14px;margin:14px 0}
.error{color:var(--bad);margin:10px 0}
label,legend{display:block;font-weight:600;margin:16px 0 6px;padding:0}
fieldset{border:0;margin:0;padding:0;min-width:0}
input[type=text],input[type=password],input[type=tel],input[type=email]{width:100%;min-height:48px;padding:10px 12px;font:inherit;color:var(--ink);background:#fff;border:1px solid var(--rule);border-radius:0}
input:focus,button:focus-visible{outline:2px solid var(--accent-dark);outline-offset:2px}
button{display:block;width:100%;min-height:48px;margin-top:12px;padding:10px 16px;font:inherit;font-weight:600;border:1px solid var(--deep);border-radius:0;cursor:pointer;background:var(--card);color:var(--deep)}
button.primary{background:var(--deep);color:#fff}
button.secondary{background:transparent}
button.danger{background:transparent;color:var(--bad);border-color:var(--bad)}
button:disabled{opacity:.5;cursor:default}
.people{list-style:none;margin:0 0 8px;padding:0}
.people li{border:1px solid var(--rule);background:var(--card);padding:12px 14px;margin-bottom:10px}
.people li.current{border-color:var(--accent-dark)}
.person-info{display:block;width:auto;min-height:44px;margin:0;padding:0;border:0;background:none;text-align:left;font-weight:400;color:var(--ink)}
.person-info .n{display:block;font-weight:700}
.person-info .c{display:block;color:var(--muted);font-size:14px;overflow-wrap:anywhere}
.people li button.primary{margin-top:8px}
.radio{display:flex;align-items:center;gap:12px;min-height:48px;margin:0;font-weight:400;border-bottom:1px solid var(--rule);cursor:pointer}
.radio input{width:22px;height:22px;margin:0;accent-color:var(--deep)}
.current-tag{margin:8px 0 0}
.people .c+.c{margin-top:0}
