:root{--paper:#faf6ed;--ink:#30281f;--rust:#9b391f;--deep:#4b281b;--gold:#ddb76d;--line:#e5d9c5;--muted:#6e6357;--hero:#f0e5cf;--green:#415743}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.6 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}a{color:inherit}button,input,select{font:inherit}.review{background:var(--deep);color:#fff7e9;padding:10px max(24px,calc((100vw - 1160px)/2));display:flex;justify-content:space-between;gap:16px;font-size:12px;align-items:center}.review strong{letter-spacing:1.2px;font-size:10px}.review span{display:block;opacity:.8}.review label{display:flex;align-items:center;gap:10px;white-space:nowrap}.review select{border:1px solid #ffffff50;border-radius:5px;padding:5px;background:#fff8e9;color:#30281f;font-size:12px}header{max-width:1160px;margin:auto;padding:25px 0;display:flex;justify-content:space-between;align-items:center}.wordmark{display:flex;gap:12px;align-items:center;text-decoration:none;font-size:13px;letter-spacing:1.5px;font-weight:700}.mark{font:26px Georgia,serif;border:1px solid var(--gold);border-radius:50%;width:48px;height:48px;display:grid;place-items:center;color:var(--rust)}.wordmark small{display:block;font-weight:400;letter-spacing:.3px;font-size:11px;color:var(--muted)}.nav-link{font-size:13px;text-decoration:none;font-weight:600}.nav-link span{margin-left:12px;color:var(--rust)}main{max-width:1160px;margin:auto}.hero{display:grid;grid-template-columns:1.35fr .8fr;background:var(--hero);border-radius:8px;overflow:hidden;min-height:480px}.hero-copy{padding:48px 48px 38px}.eyebrow{font-size:10px;font-weight:750;letter-spacing:2px;color:var(--rust);margin:0 0 20px}.year{font-size:11px;letter-spacing:1.6px;color:var(--muted);margin:22px 0 10px}h1,h2{font-family:Georgia,"Times New Roman",serif;font-weight:400;letter-spacing:-1.3px;line-height:1.12}h1{font-size:48px;margin:0 0 22px}h1 em,h2 em{color:var(--rust);font-weight:400}h1 em{font-size:43px}.intro{max-width:495px;color:var(--muted);font-size:15px}.intro strong{color:var(--ink);font-weight:600}.button{background:var(--rust);color:white;display:flex;justify-content:space-between;gap:25px;align-items:center;text-decoration:none;border:0;border-radius:4px;padding:15px 22px;font-weight:650;font-size:14px;cursor:pointer}.button:hover{filter:brightness(.92)}.hero-button{display:inline-flex;margin-top:15px}.hero-note{font-size:12px;color:var(--muted);margin:12px 0 0}.art{background:#98602e;position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center;flex-direction:column;border-left:5px solid var(--gold)}.art:before{content:"";position:absolute;inset:15px;border:1px solid #f8e4a456;pointer-events:none}.art-kicker{color:#ffe7a9;letter-spacing:3px;font-size:11px;position:absolute;top:33px;z-index:1}.art img{height:270px;width:250px;object-fit:cover;transform:rotate(4deg);border-radius:45% 42% 42% 42%;box-shadow:0 10px 30px #3d221c44;margin-top:10px}.art-caption{color:#fff3d9;z-index:1;text-align:center;font:italic 26px Georgia,serif;margin-top:20px}.art-caption small{display:block;font:10px/2.5 -apple-system,sans-serif;letter-spacing:.5px}.art-year{position:absolute;bottom:-50px;right:-8px;color:#f8dd9b18;font:220px Georgia,serif}.details{display:grid;grid-template-columns:repeat(3,1fr);padding:28px 0 29px;border-bottom:1px solid var(--line);gap:20px}.details>div{display:flex;flex-direction:column;padding-left:25px;border-left:1px solid var(--line)}.details>div:first-child{padding-left:0;border:0}.detail-label{font-size:9px;letter-spacing:2px;color:var(--rust);font-weight:750;margin-bottom:6px}.details strong{font-size:15px;font-weight:650}.details span:last-child{font-size:13px;color:var(--muted)}.rsvp-layout{display:grid;grid-template-columns:.85fr 1.15fr;gap:85px;padding:65px 0}.welcome{padding-top:20px}.welcome h2{font-size:47px;margin:18px 0 22px}.welcome>p:not(.eyebrow){color:var(--muted);font-size:14px}.need{margin-top:28px;padding:18px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.need h3{font-size:14px;margin:0 0 5px}.need p{margin:0;font-size:14px}.need a{color:var(--rust);font-weight:650}.small{font-size:12px!important;margin-top:22px}.postcard-link{font-size:12px;color:var(--rust);text-underline-offset:4px}.form-card{background:#fff;border:1px solid var(--line);padding:32px;border-radius:8px;box-shadow:0 12px 35px #51320d09}.step{font-size:9px;letter-spacing:1.5px;font-weight:700;color:var(--rust)}.form-title h2{font-size:32px;letter-spacing:-.6px;margin:6px 0 8px}.form-title p{font-size:13px;color:var(--muted);margin:0 0 25px}.name-row{display:grid;grid-template-columns:1fr 1fr;gap:15px}form label{font-size:12px;font-weight:650}input:not([type=radio]){width:100%;padding:11px 12px;border:1px solid #d6cec0;background:#fffefb;border-radius:4px;margin-top:6px;color:var(--ink);font-size:15px}input:focus-visible,select:focus-visible,button:focus-visible,a:focus-visible{outline:3px solid var(--gold);outline-offset:3px}.party-label{display:block;margin-top:20px}.party-label input{display:block;width:100px}.party-label small{display:block;color:var(--muted);font-size:11px;font-weight:400;margin-top:4px}fieldset{padding:0;margin:24px 0;border:0;min-width:0}legend{font-size:12px;font-weight:650}.field-note{color:var(--muted);font-size:11px;margin:2px 0 12px}.seatings{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.seat{cursor:pointer;position:relative}.seat input{position:absolute;top:11px;right:9px;accent-color:var(--rust)}.seat span{display:flex;flex-direction:column;border:1px solid var(--line);border-radius:5px;padding:13px 10px;background:#fdfbf7}.seat small{font-size:8px;letter-spacing:.4px;padding-top:15px;color:var(--muted)}.seat strong{font:25px Georgia,serif;margin:5px 0}.seat em{font-size:10px;font-style:normal;color:var(--muted);font-weight:400}.seat input:checked+span{border-color:var(--rust);background:#fcf1e6;box-shadow:inset 0 0 0 1px var(--rust)}.seat input:focus-visible+span{outline:3px solid var(--gold)}.submit{width:100%}.preview-note{font-size:10px;color:var(--muted);text-align:center;margin-bottom:0}#confirmation h3{font:30px Georgia,serif;margin:10px 0}#confirmation p{font-size:14px}#confirmation{border-top:1px solid var(--line);padding-top:22px}.check{display:grid;place-items:center;background:#ebf0e7;color:var(--green);border-radius:50%;width:42px;height:42px;font-size:24px}.sample{background:#fff2d5;padding:10px;border-radius:4px;font-size:12px!important}.text-button{background:none;border:0;color:var(--rust);text-decoration:underline;cursor:pointer;padding:5px 0;font-size:13px}.sponsors{border-top:1px solid var(--line);padding:35px 0 40px;text-align:center}.sponsor-row{display:flex;justify-content:center;align-items:center;gap:55px}.sponsor-row a{display:flex;flex-direction:column;align-items:center;text-decoration:none;gap:15px;font-size:13px}.sponsor-row img{object-fit:contain;background:white;border-radius:4px}.angel{width:106px;height:125px}.kiwanis{width:170px;height:125px}.plus{font:24px Georgia,serif;color:var(--gold)}footer{max-width:1160px;margin:auto;border-top:1px solid var(--line);padding:20px 0 30px;display:flex;justify-content:space-between;color:var(--muted);font-size:10px}body[data-look=classic]{--paper:#f7f8f3;--hero:#e6ece3;--rust:#365a43;--deep:#243f32;--gold:#c9ab60;--line:#d8dfd3}body[data-look=classic] .art{background:#4d6344}body[data-look=simple]{--paper:#fff;--hero:#fff5e6;--rust:#a34224;--deep:#3b302c;--line:#eadfcd}body[data-look=simple] .art{background:#d3a462}body[data-look=simple] h1{font-family:-apple-system,sans-serif;font-size:42px;font-weight:750;letter-spacing:-1.8px}body[data-look=simple] h1 em{font-size:40px;font-weight:500}@media(max-width:1220px){header,main,footer{margin-left:30px;margin-right:30px}.hero-copy{padding:35px}.rsvp-layout{gap:50px}}@media(max-width:800px){.hero{grid-template-columns:1fr}.art{display:none}.rsvp-layout{gap:30px;grid-template-columns:1fr 1.2fr}.welcome h2{font-size:36px}.form-card{padding:24px}.details{gap:15px}.details strong{font-size:13px}.details span:last-child{font-size:12px}.review{align-items:flex-start}.review label{display:block}.review select{display:block;margin-top:4px}}@media(max-width:600px){header,main,footer{margin-left:20px;margin-right:20px}header{padding:20px 0}.wordmark{font-size:11px;letter-spacing:1px}.mark{width:38px;height:38px;font-size:22px}.nav-link{font-size:11px}.nav-link span{margin-left:3px}.hero-copy{padding:30px 24px}.hero h1{font-size:37px}.hero h1 em{font-size:35px}.eyebrow{font-size:8px;letter-spacing:1.5px}.hero{min-height:0}.details{grid-template-columns:1fr;padding:25px 0;gap:19px}.details>div{padding-left:0;border:0}.details strong{font-size:15px}.rsvp-layout{grid-template-columns:1fr;padding:30px 0;gap:28px}.welcome{padding-top:0}.welcome h2{font-size:38px}.welcome h2 br{display:none}.welcome h2 br:after{content:' '}.welcome h2 em{display:block}.welcome>p{max-width:460px}.form-card{padding:25px 20px}.sponsor-row{gap:20px}.sponsor-row a{font-size:11px;max-width:150px}.angel{height:110px;width:100px}.kiwanis{height:110px;width:140px}.plus{font-size:20px}.review{padding:10px 20px;gap:10px}.review>div{max-width:200px}.review span{font-size:10px}.review label{font-size:10px}.review select{max-width:145px}footer{display:block}footer span{display:block}.seat strong{font-size:23px}}

/* Review revisions: partner identity, heading hierarchy, and larger artwork. */
header{padding:17px 0;gap:20px}
.partner-logos{display:flex;align-items:center;gap:22px;text-decoration:none}
.partner-logos img{object-fit:contain;display:block;background:#fff;border-radius:3px}
.header-angel{width:64px;height:76px}.header-kiwanis{width:115px;height:76px}
.hero-copy{display:flex;flex-direction:column;align-items:flex-start;justify-content:center}
.hero h1{font-size:49px;line-height:1.08;margin:0 0 17px;max-width:570px}
.feast-subtitle{font:32px/1.2 Georgia,serif;color:var(--rust);margin:0 0 5px}
.hero-tagline{font:italic 25px/1.3 Georgia,serif;color:var(--rust);margin:0 0 18px}
.hero-copy .intro{margin-top:0}.hero-button{flex-shrink:0}
.art{border-left:0;background:#bb803c;min-height:480px}
.art:before{display:none}
.art img{position:absolute;inset:0;height:100%;width:100%;object-fit:cover;object-position:52% center;transform:none;border-radius:0;box-shadow:none;margin:0}
.art:after{content:"";position:absolute;inset:0;background:linear-gradient(#3b281866,transparent 25%,transparent 65%,#3b2818e0)}
.art-kicker{top:20px;z-index:2;color:white;text-shadow:0 1px 5px #000}
.art-caption{position:absolute;bottom:24px;left:10px;right:10px;z-index:2;margin:0;font-size:24px}
.art-year{display:none}
.volunteer-note{font-size:13px!important;border-left:3px solid var(--gold);padding:10px 14px;margin:22px 0;background:var(--hero)}
@media(max-width:1000px) and (min-width:801px){.hero h1{font-size:43px}.feast-subtitle{font-size:29px}}
@media(max-width:600px){header{padding:14px 0}.partner-logos{gap:12px}.header-angel{width:48px;height:58px}.header-kiwanis{width:84px;height:58px}.hero h1{font-size:39px}.feast-subtitle{font-size:28px}.hero-tagline{font-size:22px}}

.phone-label{display:block;margin-top:20px}.phone-label small{display:block;font-size:11px;font-weight:400;color:var(--muted);margin-top:4px}

[hidden]{display:none!important}.plan-visit{border-top:1px solid var(--line);padding:20px 0;margin:24px 0 15px}.plan-visit h3{font-size:15px;margin:0 0 10px}.plan-visit a{font-size:12px;color:var(--rust);text-underline-offset:3px}.plan-visit p{font-size:13px;margin:20px 0 9px}.calendar-links{display:flex;flex-wrap:wrap;gap:10px 16px}.plan-visit small{font-size:11px;display:block;color:var(--muted);margin-top:12px}#form-error{background:#fff0e8;color:#8a321d;padding:12px;font-size:13px}.seat:has(input:disabled){opacity:.55;cursor:not-allowed}.seat .closed-note{color:#8a321d;font-size:10px;font-weight:650}button:disabled{opacity:.6;cursor:wait}

/* Visual event calendar and venue map. */
.details{grid-template-columns:1fr 1fr;align-items:start;gap:24px}
.details>div{min-width:0}.details>div>span:not(.detail-label){font-size:13px;color:var(--muted)}
.event-calendar{background:#fffdf8;border:1px solid var(--line);border-radius:7px;margin-top:18px;padding:13px 14px 10px;min-height:242px}
.event-calendar table{border-collapse:collapse;width:100%;table-layout:fixed;text-align:center}
.event-calendar caption{text-align:left;font:21px/1.3 Georgia,serif;color:var(--ink);padding-bottom:9px}
.event-calendar caption span{font:12px -apple-system,sans-serif;color:var(--muted);margin-left:5px}
.event-calendar th{font-size:9px;letter-spacing:.5px;font-weight:650;color:var(--muted);height:24px}
.event-calendar td{height:27px;padding:0;font-size:12px;color:var(--ink)}
.dinner-date a{display:inline-grid;place-items:center;background:var(--rust);color:white;border-radius:50%;width:27px;height:27px;text-decoration:none;font-weight:750}
.event-calendar p{display:flex;align-items:center;gap:7px;margin:10px 0 0;padding-top:9px;border-top:1px solid var(--line);font-size:10px;color:var(--muted)}
.event-calendar i{width:8px;height:8px;background:var(--rust);border-radius:50%;display:inline-block;flex-shrink:0}
.venue-map{height:242px;margin-top:18px;border:1px solid var(--line);border-radius:7px;overflow:hidden;background:var(--hero)}
.venue-map iframe{display:block;width:100%;height:100%;border:0}
.detail-map-link{font-size:11px;color:var(--rust);margin-top:8px;text-underline-offset:3px}
@media(min-width:601px) and (max-width:900px){.details{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.details{grid-template-columns:1fr;gap:25px}.event-calendar{max-width:360px}.venue-map{height:245px}.details>div{padding-left:0;border-left:0}}

.anti-spam{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}

.reservation-deadline{margin:20px 0;padding:18px 20px;border-left:5px solid var(--rust);border-radius:4px;background:var(--hero)}.reservation-deadline>span{display:block;font-size:13px;font-weight:700;color:var(--rust);letter-spacing:1px;text-transform:uppercase}.reservation-deadline>strong{display:block;font-size:26px;line-height:1.25;margin:5px 0;color:var(--ink)}.form-title .reservation-deadline p{font-size:14px;color:var(--muted);margin:8px 0 0}@media(max-width:600px){.reservation-deadline{padding:16px}.reservation-deadline>strong{font-size:23px}}

.community-host{margin:0;padding:12px 20px;text-align:center;background:var(--deep);color:#fff7e9;font-size:16px;line-height:1.5}.community-host strong{font-weight:700}
