:root{--g:#1f3a2d;--g2:#2d5240;--cream:#f4efe3;--cream2:#ebe3d0;--ink:#1d2a23;--mut:#5f6f65;--gold:#b08d57;--line:#d9d0b9;--err:#a33a2f}
@media(prefers-color-scheme:dark){:root{--g:#cfe3d5;--g2:#9ec2ab;--cream:#13201a;--cream2:#1b2c23;--ink:#ecefe9;--mut:#a3b3a9;--gold:#d2b07a;--line:#2c4338;--err:#e58c80}}
*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}
body{background:var(--cream);color:var(--ink);font-family:Inter,system-ui,sans-serif;line-height:1.6;-webkit-font-smoothing:antialiased}
.wrap{max-width:560px;margin:0 auto;padding:0 16px 80px}
h1,h2,h3,.serif{font-family:'Playfair Display',Georgia,serif;font-weight:600;color:var(--g)}
h1{font-size:2.1rem;line-height:1.15}h2{font-size:1.45rem;margin:26px 0 8px}h3{font-size:1.1rem;margin-bottom:6px}
p{margin:0 0 12px}a{color:var(--g2)}
.hero{padding:44px 0 18px;text-align:center}.logo{width:64px;height:64px;margin:0 auto 14px;display:block}
.kicker{letter-spacing:.25em;text-transform:uppercase;font-size:.72rem;color:var(--gold);margin-bottom:10px}
.lead{font-size:1.08rem;color:var(--mut)}
.card{background:var(--cream2);border:1px solid var(--line);border-radius:16px;padding:18px;margin:14px 0}
.btn{display:block;width:100%;border:0;border-radius:999px;background:var(--g);color:var(--cream);font:600 1rem Inter,sans-serif;padding:15px 22px;cursor:pointer;text-align:center;text-decoration:none}
.btn:disabled{opacity:.5}.btn.alt{background:transparent;color:var(--g);border:1.5px solid var(--g)}.btn.small{display:inline-block;width:auto;padding:9px 16px;font-size:.88rem}
label{display:block;font-size:.88rem;font-weight:600;margin:12px 0 4px}
input[type=text],input[type=email],input[type=tel],input[type=password],textarea,select{width:100%;padding:13px 14px;border:1px solid var(--line);border-radius:12px;background:var(--cream);color:var(--ink);font:1rem Inter,sans-serif}
textarea{min-height:110px}
.chk{display:flex;gap:10px;align-items:flex-start;font-size:.88rem;font-weight:400;margin:10px 0}.chk input{margin-top:4px;width:18px;height:18px;flex:none}
.err{color:var(--err);font-size:.9rem;margin:10px 0}.ok{color:var(--g2)}.mut{color:var(--mut);font-size:.9rem}
.list{list-style:none}.list li{display:flex;gap:12px;align-items:center;padding:13px 0;border-bottom:1px solid var(--line);cursor:pointer}
.list li.off{opacity:.5;cursor:default}.dot{width:30px;height:30px;border-radius:50%;border:1.5px solid var(--g2);display:grid;place-items:center;flex:none;font-size:.85rem;color:var(--g)}
.dot.done{background:var(--g);color:var(--cream)}.dot.open{border-width:2.5px}
.bar{height:8px;border-radius:99px;background:var(--line);overflow:hidden;margin:8px 0}.bar i{display:block;height:100%;background:var(--g2)}
audio,video{width:100%;border-radius:12px;margin:8px 0;background:#000}
.topbar{display:flex;justify-content:space-between;align-items:center;padding:14px 0}.topbar a{font-size:.9rem}
.notice{font-size:.82rem;color:var(--mut);border-top:1px solid var(--line);margin-top:26px;padding-top:12px}
.tag{display:inline-block;font-size:.72rem;padding:2px 9px;border-radius:99px;border:1px solid var(--line);color:var(--mut)}
.msg{white-space:pre-wrap}
table{width:100%;border-collapse:collapse;font-size:.88rem}th,td{padding:8px 6px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}
fieldset.sec{border:1px solid var(--line);border-radius:14px;padding:6px 14px 12px;margin:18px 0 6px}fieldset.sec legend{font:600 .78rem Inter,sans-serif;letter-spacing:.14em;text-transform:uppercase;color:var(--gold);padding:0 8px}
