:root{--green:#123524;--green-d:#0b2418;--gold:#a8842f;--gold-l:#c9a24a;--ivory:#f6efdf;--ink:#16130f}
*{box-sizing:border-box}[hidden]{display:none!important}
body{margin:0;min-height:100vh;color:var(--ink);font-family:"Cormorant Garamond",Georgia,serif;font-size:19px;line-height:1.45;
 background:radial-gradient(circle at 15% 10%,rgba(201,162,74,.18),transparent 30%),radial-gradient(circle at 85% 90%,rgba(122,24,40,.35),transparent 35%),linear-gradient(160deg,var(--green),var(--green-d));padding:28px 12px}
.scene{position:fixed;inset:0;pointer-events:none;overflow:hidden}
.garland{position:absolute;top:0;left:0;width:100%;height:120px}
.pine{position:absolute;bottom:-10px;width:140px;opacity:.35}.p-l{left:-20px}.p-r{right:-20px;transform:scaleX(-1)}
.bauble{position:absolute;border-radius:50%;background:radial-gradient(circle at 35% 30%,#fff3c4,var(--gold-l) 35%,#7a5a17);box-shadow:0 4px 14px rgba(0,0,0,.4)}
.bauble::before{content:"";position:absolute;left:50%;bottom:100%;width:1px;height:60px;background:var(--gold-l);opacity:.6}
.b1{width:26px;height:26px;left:8%;top:70px}.b2{width:18px;height:18px;left:24%;top:96px;background:radial-gradient(circle at 35% 30%,#f2b3bd,#7a1828 50%,#3d0a13)}
.b3{width:22px;height:22px;right:12%;top:62px}.b4{width:16px;height:16px;right:30%;top:88px;background:radial-gradient(circle at 35% 30%,#f2b3bd,#7a1828 50%,#3d0a13)}
@media(max-width:700px){.pine,.b2,.b4{display:none}}
.poster{position:relative;max-width:640px;margin:40px auto 0;background:linear-gradient(180deg,#fbf6ea,var(--ivory));text-align:center;padding:44px 26px 30px;
 outline:1px solid var(--gold-l);outline-offset:-10px;border:6px solid var(--green-d);box-shadow:0 30px 80px rgba(0,0,0,.55)}
.kicker,.date,.label,.program h3{font-family:"Cormorant SC",serif;text-transform:uppercase;letter-spacing:.28em;margin:0}
.kicker{font-size:.95rem;color:var(--green)}
.crest{width:44px;margin:14px auto 4px;display:block}
h1{margin:0;line-height:.95}
.t1{display:block;font-weight:600;text-transform:uppercase;font-size:clamp(2.6rem,11vw,4.6rem);letter-spacing:.02em;color:var(--ink)}
.t2{display:block;font-style:italic;font-weight:600;text-transform:uppercase;font-size:clamp(3rem,13vw,5.4rem);color:var(--gold);letter-spacing:.06em}
.date{margin-top:14px;font-size:1.05rem;color:var(--ink)}
.rule{border:0;height:1px;width:60%;margin:22px auto;background:linear-gradient(90deg,transparent,var(--gold-l),transparent)}
.intro p{margin:0 auto .7em;max-width:440px}
.program{display:grid;grid-template-columns:repeat(3,1fr);margin:26px 0 6px}
.program>div{padding:0 6px}.program>div+div{border-left:1px solid rgba(168,132,47,.5)}
.program svg{width:42px;height:42px}
.program h3{font-size:.78rem;letter-spacing:.14em;margin-top:6px;font-weight:600}
.time{margin:2px 0 0;font-size:1.35rem;color:var(--green);font-weight:600}.time em{font-weight:500;color:var(--gold)}
.block{margin:20px 0}
.label{font-size:.95rem;font-weight:600}
.gold-italic{font-style:italic;font-weight:600;color:var(--gold);font-size:2rem;margin:2px 0 4px}
.small{font-size:1rem;margin:0 auto;max-width:440px}
.caps{font-variant:small-caps;letter-spacing:.03em}
.note{border:1px solid var(--gold-l);margin:14px auto 0;max-width:380px;padding:10px 14px;font-size:.98rem}
.closing{font-style:italic;margin:22px 0}
.btn{display:inline-block;font-family:"Cormorant SC",serif;letter-spacing:.18em;text-transform:uppercase;font-size:1rem;font-weight:600;
 background:var(--green);color:var(--ivory);border:1px solid var(--gold);outline:1px solid var(--green);padding:14px 26px;text-decoration:none;cursor:pointer}
.btn:hover{background:var(--green-d)}.btn:disabled{opacity:.6}
.signup{text-align:left;max-width:440px;margin:0 auto}.signup .label{text-align:center;margin-bottom:14px}
label{display:block;font-weight:600;margin:0 0 14px}
input:not([type=radio]),textarea{display:block;width:100%;margin-top:4px;padding:11px 12px;border:1px solid #c9b88f;border-radius:2px;font:inherit;font-size:17px;background:#fffdf7}
input:focus,textarea:focus{outline:2px solid var(--gold-l);border-color:var(--gold-l)}
fieldset{border:0;padding:0;margin:0 0 14px}legend{font-weight:600;margin-bottom:4px}
.radio{display:inline-flex;gap:6px;align-items:center;font-weight:500;margin-right:24px}
input[type=radio]{accent-color:var(--green);width:18px;height:18px}
.signup .btn{width:100%}
.hp{position:absolute;left:-9999px;height:0;overflow:hidden}
.err{color:#7a1828;font-weight:600;min-height:1em;margin:0 0 8px}
.privacy{font-size:.85rem;color:#5b5243;font-style:italic}
#thanks{text-align:center}
.foot{font-family:"Cormorant SC",serif;letter-spacing:.25em;font-size:.75rem;color:var(--gold);margin:26px 0 0}
.stats-note{font-size:.78rem;color:#8a7d66;font-style:italic;margin:6px 0 0}
@media(max-width:480px){body{padding:16px 8px;font-size:18px}.poster{margin-top:30px;padding:36px 16px 24px}.program h3{letter-spacing:.06em;font-size:.72rem}.time{font-size:1.15rem}.kicker,.date{letter-spacing:.18em}}
