:root{--cream:#fff6e8;--paper:#fffcf6;--burgundy:#3d202b;--muted:#705a58;--orange:#a83d26;--gold:#f4b84b;--teal:#286a6b;--line:#ddcdbd;--shadow:0 20px 70px #3d202b14}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--burgundy);font:16px/1.55 ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}body::before{content:"";position:fixed;inset:0;pointer-events:none;opacity:.13;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 120 120' xmlns='http://www.w3.org/2000/svg'%3E%3Ccircle cx='18' cy='17' r='1' fill='%23705a58'/%3E%3Ccircle cx='71' cy='82' r='1' fill='%23705a58'/%3E%3C/svg%3E");z-index:5}h1,h2,h3,p{margin-top:0}h1,h2,h3{line-height:1.04}h1,h2{font-family:Georgia,"Times New Roman",serif;letter-spacing:-.055em}h1{font-size:clamp(3.7rem,6vw,6.8rem);margin:16px 0 24px}h2{font-size:clamp(2.8rem,4.5vw,5.2rem);margin:9px 0 24px}h1 em,h2 em{font-weight:400;color:var(--orange)}h3{font-family:Georgia,serif;font-size:1.55rem}a{color:inherit}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{opacity:.5;cursor:not-allowed}input,select,textarea{color:var(--burgundy)}:focus-visible{outline:3px solid var(--teal);outline-offset:3px}[hidden]{display:none!important}.skip-link{position:absolute;left:-9999px;top:8px;background:var(--paper);padding:12px;z-index:20}.skip-link:focus{left:8px}.masthead{height:82px;padding:0 clamp(20px,5vw,84px);display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);background:var(--cream);position:relative;z-index:6}.wordmark{text-decoration:none;font-weight:900;font-size:.9rem;letter-spacing:.13em;white-space:nowrap}.spark{font-size:1.65rem;color:var(--orange);vertical-align:middle;line-height:0;margin-right:6px}.wordmark-year{font-weight:500;color:var(--muted)}.masthead nav{display:flex;gap:clamp(16px,2.3vw,40px);align-items:center}.masthead nav a{text-decoration:none;font-size:.88rem;font-weight:700}.masthead nav a:hover{text-decoration:underline;text-underline-offset:5px}.host-link{color:var(--orange)}.hero{min-height:650px;display:grid;grid-template-columns:49% 51%;overflow:hidden}.hero-copy{padding:clamp(55px,7vw,105px) 30px 70px clamp(24px,7vw,108px);align-self:center;position:relative;z-index:1}.eyebrow,.kicker{font-weight:900;letter-spacing:.18em;font-size:.76rem;color:var(--orange);margin:0}.eyebrow{display:flex;align-items:center;gap:12px}.eyebrow-line{height:1px;width:27px;background:var(--orange)}.hero-lede{font-family:Georgia,serif;font-style:italic;font-size:clamp(1.3rem,1.8vw,1.65rem);color:var(--muted);margin-bottom:36px}.date-line{display:flex;align-items:center;gap:15px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);width:fit-content;padding:10px 38px 10px 0}.date-day{font:normal clamp(3.2rem,4.4vw,4.8rem)/1 Georgia,serif;color:var(--orange);letter-spacing:-.08em}.date-line strong,.date-line small{display:block}.date-line strong{font-size:1.05rem}.date-line small{color:var(--muted)}.hosts{color:var(--muted);margin:24px 0 30px}.hosts strong{color:var(--burgundy)}.hero-actions{display:flex;align-items:center;gap:27px;flex-wrap:wrap}.button{border:0;border-radius:3px;background:var(--orange);color:white;min-height:52px;padding:13px 23px;display:inline-flex;align-items:center;justify-content:center;gap:20px;font-weight:800;text-decoration:none;box-shadow:0 8px 0 #6d241a18;transition:transform .2s,background .2s}.button:hover{background:#8f301e;transform:translateY(-2px)}.button.secondary{background:var(--burgundy)}.button.secondary:hover{background:#583142}.button-link{font-weight:800;text-decoration:none;border-bottom:1px solid var(--burgundy);padding:10px 0}.hero-art{min-height:650px;position:relative;background:#ddaa69}.hero-art img{width:100%;height:100%;object-fit:cover;object-position:62% 50%;display:block;position:absolute}.art-stamp{position:absolute;left:-50px;bottom:55px;width:128px;height:128px;display:grid;place-content:center;text-align:center;border-radius:50%;background:var(--gold);color:var(--burgundy);font-weight:900;font-size:.74rem;letter-spacing:.12em;line-height:1.25;transform:rotate(-13deg);border:4px solid var(--cream);box-shadow:var(--shadow)}.art-stamp b{font-size:1.3rem;line-height:1}.ticker{min-height:55px;background:var(--burgundy);color:var(--cream);display:flex;gap:50px;align-items:center;justify-content:center;white-space:nowrap;overflow:hidden;font-size:.75rem;letter-spacing:.2em;font-weight:800}.ticker b{color:var(--gold);font-size:1.5rem;font-weight:400}.section{padding:clamp(76px,8vw,135px) clamp(22px,7vw,110px)}.day-section{background:var(--paper)}.section-intro{max-width:670px;margin-bottom:50px}.section-intro>p:last-child,.table-heading p:last-child,.rsvp-heading>p:last-child,.gathering-section>div>p:not(.kicker){color:var(--muted);font-size:1.1rem;max-width:620px}.timeline{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.timeline-card{border:1px solid var(--line);padding:30px;min-height:245px;background:var(--cream);position:relative}.timeline-card.highlight{background:#f7d9ae;border-color:#e9b06e;transform:translateY(-12px)}.timeline-card:after{content:"";width:40px;height:4px;background:var(--orange);position:absolute;left:30px;bottom:25px}.timeline-icon{font-size:2rem;color:var(--orange)}.timeline-card .time{font-size:.75rem;font-weight:900;letter-spacing:.13em;color:var(--orange);margin:20px 0 6px}.timeline-card h3{margin:0 0 12px}.timeline-card>p:last-of-type{color:var(--muted);font-size:.94rem;margin:0 0 22px}.address-band{margin-top:55px;padding:30px 36px;background:var(--burgundy);color:var(--cream);display:flex;align-items:center;justify-content:space-between;gap:20px}.address-band>div{display:flex;gap:19px;align-items:center}.address-band .kicker{color:var(--gold);margin-bottom:7px}.address-band strong{font:normal 1.38rem/1.3 Georgia,serif}.address-icon{font-size:3rem;color:var(--gold)}.directions{color:var(--cream);font-weight:800;text-underline-offset:5px;white-space:nowrap}.rsvp-section{background:var(--cream);display:grid;grid-template-columns:minmax(270px, .8fr) minmax(350px,1.2fr);gap:clamp(30px,5vw,100px);align-items:start}.rsvp-heading{position:sticky;top:20px}.notice{background:#f5e4cf;border-left:5px solid var(--orange);padding:22px 25px;font-weight:650}.guest-greeting{display:flex;justify-content:space-between;gap:10px;align-items:center;background:var(--gold);padding:14px 20px;font-size:.8rem;font-weight:900;letter-spacing:.13em}.guest-greeting strong{font:normal 1.2rem Georgia,serif;letter-spacing:0}.rsvp-form{background:var(--paper);padding:clamp(22px,3vw,40px);border:1px solid var(--line);box-shadow:var(--shadow)}fieldset{border:0;padding:0;margin:0 0 28px}legend{font-weight:900;margin-bottom:13px}.choice-row{display:flex;flex-wrap:wrap;gap:8px}.choice-row label{display:block;cursor:pointer}.choice-row input{position:absolute;opacity:0}.choice-row span{display:block;padding:11px 15px;border:1px solid var(--line);background:var(--cream);font-weight:750}.choice-row input:checked+span{background:var(--burgundy);color:white;border-color:var(--burgundy)}.choice-row input:focus-visible+span{outline:3px solid var(--teal);outline-offset:3px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}.form-row label,.full-label,.custom-fields label,.admin-mini-form label,.admin-login label{font-weight:800;font-size:.9rem}.form-row input,.full-label textarea,.custom-fields input,.admin-mini-form input,.admin-login input,.admin-login select{display:block;width:100%;min-height:48px;border:1px solid #bca999;background:white;border-radius:2px;padding:10px 13px;margin-top:6px}.full-label textarea{min-height:90px;resize:vertical}.full-label span{font-weight:400;color:var(--muted)}.field-hint{font-size:.82rem;color:var(--muted);margin:10px 0 22px}.form-bottom{display:flex;flex-wrap:wrap;align-items:center;gap:18px;margin-top:24px}.saved-summary{margin:0;color:var(--teal);font-weight:800}.table-section{background:#f8dfbd}.table-heading{display:flex;justify-content:space-between;align-items:start;gap:30px}.table-flourish{font:8rem/.8 Georgia,serif;color:#db9e65;transform:rotate(-10deg)}.bring-list{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:34px}.bring-card{background:var(--paper);border:1px solid #deb995;padding:22px;min-height:215px;display:flex;flex-direction:column;box-shadow:0 6px 0 #b86c3820}.bring-top{display:flex;justify-content:space-between;gap:12px;align-items:start}.bring-category{font-size:.68rem;letter-spacing:.16em;font-weight:900;color:var(--orange);text-transform:uppercase}.bring-card h3{margin:6px 0 6px;font-size:1.45rem}.bring-card p{margin:0;color:var(--muted);font-size:.88rem}.bring-covered{font-weight:800!important;margin:12px 0 7px!important;color:var(--teal)!important}.contributors{font-size:.83rem!important;flex:1}.bring-card button{border:1px solid var(--burgundy);background:transparent;color:var(--burgundy);padding:9px 13px;min-height:42px;font-weight:800;text-align:left;margin-top:15px}.bring-card button:hover{background:var(--burgundy);color:white}.custom-form{margin-top:32px;background:var(--burgundy);color:white;padding:26px}.custom-form h3{margin:0 0 18px}.custom-fields{display:grid;grid-template-columns:2fr 1fr auto;gap:12px;align-items:end}.custom-fields input,.custom-fields select{display:block;width:100%;min-height:48px;border:1px solid #bca999;background:white;border-radius:2px;padding:10px 13px;margin-top:6px}.custom-form .button{background:var(--gold);color:var(--burgundy);box-shadow:none;white-space:nowrap}.custom-form .button:hover{background:#ffe19b}.my-contributions{margin-top:25px}.my-contributions h3{font-size:1.35rem}.mine-list{display:flex;flex-wrap:wrap;gap:9px}.mine-pill{background:var(--paper);border:1px solid var(--line);padding:6px 7px 6px 12px;display:flex;gap:12px;align-items:center}.mine-pill button{border:0;background:#f5dfd7;color:var(--orange);font-weight:900;min-height:32px;min-width:32px}.gathering-section{display:grid;grid-template-columns:.75fr 1.25fr;gap:55px;background:var(--paper)}.count-panel{background:var(--teal);color:white;display:grid;grid-template-columns:2fr 1fr 1fr;padding:22px}.count-panel>div{padding:10px 16px;border-right:1px solid #ffffff50}.count-panel>div:last-child{border:0}.count-panel strong{font:normal 3rem/1 Georgia,serif;display:block}.count-panel span{font-size:.8rem;font-weight:800}.attending-list{display:flex;flex-wrap:wrap;gap:9px;margin-top:22px}.attending-list span{background:var(--cream);border:1px solid var(--line);padding:9px 13px;font-weight:800}footer{background:var(--burgundy);color:var(--cream);display:flex;justify-content:space-between;gap:20px;padding:25px clamp(22px,7vw,110px);font-size:.82rem}.admin-section{background:#e9e1db;padding:clamp(60px,7vw,100px) clamp(22px,7vw,110px)}.admin-wrap{max-width:1300px;margin:auto}.admin-head{display:flex;justify-content:space-between;align-items:start}.admin-head h2{font-size:clamp(2.5rem,4vw,4.4rem)}.text-button{border:0;background:transparent;text-decoration:underline;font-weight:800;color:var(--orange);padding:10px}.admin-login{background:var(--paper);padding:26px;max-width:650px;display:grid;grid-template-columns:1fr 1fr;gap:13px;align-items:end}.admin-login button{grid-column:1/-1}.admin-stats{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:20px}.admin-stat{padding:15px 20px;background:var(--paper);min-width:150px}.admin-stat strong{font:normal 2rem Georgia,serif;display:block}.admin-stat span{font-size:.8rem;font-weight:800;color:var(--muted)}.admin-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.admin-panel{background:var(--paper);padding:25px;min-width:0}.admin-panel h3{margin:0 0 5px}.admin-panel-heading p{color:var(--muted);font-size:.9rem}.admin-mini-form{display:grid;grid-template-columns:1fr 1fr;gap:10px;background:#f5ece4;padding:15px;margin:15px 0 22px}.admin-mini-form button{grid-column:1/-1}.admin-record{border-top:1px solid var(--line);padding:15px 0}.admin-record h4{margin:0 0 5px;font-size:1rem}.admin-record p{font-size:.82rem;color:var(--muted);margin:2px 0}.admin-record-actions{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}.admin-record button{border:1px solid #bca999;background:var(--paper);padding:7px 10px;font-weight:800;font-size:.78rem;min-height:36px}.admin-record button:hover{background:var(--burgundy);color:white}.admin-record input{width:100%;padding:7px;border:1px solid var(--line);margin-top:6px}.toast{position:fixed;z-index:30;bottom:20px;right:20px;max-width:min(440px,calc(100vw - 40px));background:var(--burgundy);color:white;padding:14px 19px;box-shadow:var(--shadow);font-weight:800}
@media(max-width:1000px){.hero{grid-template-columns:53% 47%}.hero-copy{padding-left:35px}.bring-list{grid-template-columns:repeat(2,1fr)}.rsvp-section,.gathering-section{grid-template-columns:1fr}.rsvp-heading{position:static}.admin-grid{grid-template-columns:1fr}}
@media(max-width:700px){.masthead{height:auto;min-height:70px;padding:14px 20px;display:block}.masthead nav{gap:15px;overflow-x:auto;margin-top:9px;padding-bottom:3px}.masthead nav a{white-space:nowrap;font-size:.8rem}.hero{display:flex;flex-direction:column}.hero-copy{padding:50px 23px 45px;align-self:stretch;width:100%}.hero-art{min-height:390px}.art-stamp{left:auto;right:18px;bottom:20px;width:100px;height:100px}.timeline{grid-template-columns:1fr}.timeline-card,.timeline-card.highlight{transform:none;min-height:190px}.address-band{display:block;padding:25px}.directions{display:inline-block;margin-top:20px}.section{padding:65px 22px}.bring-list{grid-template-columns:1fr}.table-flourish{display:none}.custom-fields{grid-template-columns:1fr 1fr}.custom-fields label:first-child,.custom-fields button{grid-column:1/-1}.count-panel{padding:10px;grid-template-columns:repeat(3,1fr)}.count-panel>div{padding:8px}.count-panel strong{font-size:2.3rem}footer{display:block}.admin-section{padding:60px 22px}.admin-login,.admin-mini-form{grid-template-columns:1fr}.admin-login button,.admin-mini-form button{grid-column:auto}.hero-actions{gap:16px}}
@media(max-width:420px){h1{font-size:clamp(2.15rem,9vw,3rem)}.choice-row{display:grid}.choice-row label{width:100%}.choice-row span{width:100%}.date-line{padding-right:0}.admin-record-actions button{flex:1}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.button{transition:none}}

.community-dishes{margin-top:28px}.community-dishes h3{margin:0 0 12px}.community-list{display:flex;flex-wrap:wrap;gap:9px}.community-list span{background:var(--paper);padding:9px 13px;border:1px solid #deb995}
\n.admin-record summary{font-weight:850;cursor:pointer;padding:7px 0;list-style-position:inside}.admin-record details[open] summary{margin-bottom:10px}.admin-record details form{padding-left:14px;border-left:2px solid var(--line)}\n
.shared-bring{margin-top:38px;background:var(--paper);border:1px solid #deb995;padding:25px}.shared-bring-heading{display:flex;justify-content:space-between;gap:15px;align-items:baseline;border-bottom:1px solid var(--line);padding-bottom:14px}.shared-bring-heading h3{margin:0}.shared-bring-heading p{margin:0;color:var(--muted);font-size:.85rem}.shared-bring-row{display:grid;grid-template-columns:minmax(100px,.6fr) minmax(140px,1.4fr) minmax(120px,1fr);gap:15px;align-items:center;padding:13px 0;border-bottom:1px solid var(--line)}.shared-bring-row:last-child{border-bottom:0}.shared-bring-category{color:var(--orange);font-size:.73rem;font-weight:900;text-transform:uppercase;letter-spacing:.12em}.shared-bring-household{color:var(--muted)}.shared-bring-empty{margin:18px 0 0;color:var(--muted)}
@media(max-width:700px){.shared-bring-heading{display:block}.shared-bring-heading p{margin-top:6px}.shared-bring-row{grid-template-columns:1fr 1fr;gap:2px 12px}.shared-bring-category{grid-column:1/-1}.shared-bring-household{text-align:right}}

.household-name-label{display:block;margin:0 0 18px;font-weight:800;font-size:.9rem}.household-name-label input{display:block;width:100%;min-height:48px;border:1px solid #bca999;background:white;border-radius:2px;padding:10px 13px;margin-top:6px}.bring-card.is-selected{border-color:var(--teal);box-shadow:0 6px 0 #437b772b}.bring-card .claim-button{display:flex;justify-content:space-between;align-items:center;width:100%;border-radius:3px}.bring-card .claim-button.selected{background:var(--teal);border-color:var(--teal);color:white}.bring-card .claim-button.selected:hover{background:#2d625f}.claim-button small{text-decoration:underline;font-size:.75rem}.my-contributions{background:var(--paper);border:1px solid #deb995;padding:25px}.my-contributions-heading{display:flex;justify-content:space-between;align-items:baseline;gap:12px;border-bottom:1px solid var(--line);padding-bottom:14px}.my-contributions-heading h3,.my-contributions-heading p{margin:0}.my-contributions-heading p{color:var(--muted);font-size:.85rem}.mine-list{display:block}.mine-row{display:flex;justify-content:space-between;align-items:center;gap:15px;padding:12px 0;border-bottom:1px solid var(--line)}.mine-row:last-child{border-bottom:0}.mine-row small{display:block;font-size:.7rem;text-transform:uppercase;letter-spacing:.12em;color:var(--orange);font-weight:900}.mine-row strong{display:block;font-size:1rem}.mine-row button{background:transparent;border:1px solid var(--line);border-radius:3px;padding:7px 11px;color:var(--burgundy);font-weight:800}.mine-row button:hover{background:#f5dfd7}.mine-empty{margin:18px 0 0;color:var(--muted)}
@media(max-width:700px){.my-contributions-heading{display:block}.my-contributions-heading p{margin-top:6px}}
