:root{color-scheme:light;--paper:#f6f4f0;--ink:#344f3c;--olive:#6b7a50;--line:#cdd2c6;--quiet:#59665a;--white:#fffefa;--error:#8c3024}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:17px/1.6 "Segoe UI",Arial,sans-serif}button,input,select{font:inherit}button,input,select,summary,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.55}a{color:inherit}button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible,a:focus-visible,[tabindex="-1"]:focus-visible{outline:3px solid #8b6b28;outline-offset:4px}input,select{min-height:48px;border:1px solid #9ca995;border-radius:4px;background:var(--white);color:var(--ink);padding:10px 12px;width:100%}input[readonly]{background:#eeeee7}input[type=checkbox],input[type=radio]{width:21px;min-height:21px;height:21px;accent-color:var(--ink);flex-shrink:0}label{display:block;font-weight:600;font-size:16px;margin-bottom:6px}h1,h2,h3,p{margin-top:0}h2,h3{font-family:Georgia,"Times New Roman",serif;font-weight:400;line-height:1.2}h2{font-size:34px;margin-bottom:14px}h3{font-size:25px}p{margin-bottom:16px}.ewd{overflow:hidden}.skip{position:absolute;left:16px;top:-90px;z-index:5;background:var(--white);padding:12px}.skip:focus{top:10px}.invitation{position:relative;text-align:center;padding:65px 24px 36px;max-width:1180px;margin:auto;border-bottom:1px solid var(--line)}.botanical{position:absolute;top:-12px;left:-20px;width:245px;height:auto;pointer-events:none;opacity:.65}.welcome{font-size:17px;position:relative;margin-bottom:8px}.invitation h1{font:italic 76px/1.35 "Segoe Script","Brush Script MT",Georgia,serif;letter-spacing:-3px;margin:4px 0 9px;position:relative}.invitation h1 span{font-size:.5em;letter-spacing:0}.date{letter-spacing:.035em;font-size:18px}.date span{padding:0 8px}.event{display:flex;justify-content:center;gap:56px;margin-top:26px;font-size:15px;line-height:1.65}.event p{margin-bottom:10px}.event p+p{color:var(--quiet);border-left:1px solid var(--line);padding-left:50px}.invitation-note{font:italic 20px Georgia,serif;margin:22px 0 0}main{max-width:1080px;margin:auto;padding:40px 30px 0}.introduction{display:grid;grid-template-columns:1.2fr 1fr;gap:56px;align-items:start;margin-bottom:30px}.introduction>div>p{max-width:58ch;color:var(--quiet)}.payment{padding:18px 0 12px 22px;border-left:3px solid var(--olive);font-size:15px}.payment p{margin:6px 0 0;color:var(--quiet)}.notice{background:#e8ecdf;border-left:3px solid var(--olive);padding:15px 18px;margin:18px 0}.deadline{font-size:15px}.steps ol{display:flex;list-style:none;padding:0;margin:30px 0;border-bottom:1px solid var(--line);gap:34px}.steps li{padding:0 0 13px;color:var(--quiet);font-size:16px}.steps li[aria-current]{color:var(--ink);font-weight:700;border-bottom:3px solid var(--ink);margin-bottom:-1px}.step{padding-top:8px}.step h2{font-size:29px}.muted{color:var(--quiet);font-size:15px}.person{position:relative;border:0;border-bottom:1px solid var(--line);padding:20px 0 26px;margin:10px 0 18px;min-width:0}.person legend{font:23px Georgia,serif;padding:0 12px 0 0}.person-fields{display:grid;grid-template-columns:1fr 1fr 170px;gap:18px}.remove-person{border:0;background:transparent;text-decoration:underline;color:var(--quiet);font-size:14px;min-height:40px;padding:4px 0;margin-top:12px}.button{display:inline-flex;align-items:center;justify-content:center;gap:9px;border:1px solid var(--ink);border-radius:5px;background:var(--ink);color:#fffefa;padding:12px 22px;font-size:16px;line-height:1.35;min-height:49px;text-decoration:none;text-align:center;font-weight:600}.button:hover:not(:disabled){background:#263e2e}.button.secondary{background:transparent;color:var(--ink)}.button.secondary:hover:not(:disabled){background:#e8ecdf}.add-person{font-weight:400;font-size:15px;margin:0 0 26px}.add-person span{font-size:24px;line-height:1}.email-field{max-width:610px}.email-field p{margin-top:7px}.actions{display:flex;justify-content:flex-end;gap:12px;margin:28px 0 8px;flex-wrap:wrap}.actions .secondary{margin-right:auto}.menu-person{padding:20px 0 30px;border-bottom:1px solid var(--line);margin-bottom:20px}.menu-person h3{margin:0 0 5px}.dish-options{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:20px}.dish{position:relative;display:grid;grid-template-columns:24px 1fr;gap:12px;border:1px solid #a9b39f;border-radius:6px;padding:20px;cursor:pointer;background:var(--white);font-weight:400;margin:0;align-items:start;min-width:0}.dish:has(input:checked){border:2px solid var(--ink);padding:19px;background:#e8eddf}.dish:has(input:focus-visible){outline:3px solid #8b6b28;outline-offset:3px}.dish input{margin:4px 0}.dish strong{display:block;font:24px/1.25 Georgia,serif;margin-bottom:8px}.dish-description{display:block;font-size:15px;color:var(--quiet);margin-bottom:14px;white-space:pre-line}.dish-price{display:block;font-size:18px;font-weight:600}.summary-list{list-style:none;padding:0;margin:22px 0}.summary-list li{display:flex;justify-content:space-between;gap:20px;padding:18px 0;border-bottom:1px solid var(--line)}.summary-list strong{display:block;font-size:18px}.summary-list small{display:block;color:var(--quiet)}.summary-price{white-space:nowrap;align-self:center;font-weight:600}.ack{display:flex;align-items:flex-start;gap:12px;font-weight:400;margin:28px 0 16px;max-width:74ch}.ack input{margin:4px 0 0}.privacy-note{max-width:85ch;font-size:14px}.form-message{border-left:3px solid var(--error);padding:12px 16px;background:#f5e8e0;color:var(--error);margin:20px 0}.confirmation{padding:25px 0}.confirmation-mark{display:inline-flex;border:1px solid var(--ink);border-radius:50%;width:48px;height:48px;justify-content:center;align-items:center;font-size:27px;margin-bottom:18px}.confirmation>p{max-width:75ch}.confirmation input{font-size:14px}.at-the-table{margin-top:65px;padding-top:35px;border-top:1px solid var(--line)}.section-intro{display:flex;align-items:baseline;justify-content:space-between;gap:24px}.section-intro p{color:var(--quiet);font-size:15px}details{border-bottom:1px solid var(--line);padding:12px 0}summary{cursor:pointer;font:25px/1.4 Georgia,serif;padding:12px 0;min-height:48px}summary span{font:14px "Segoe UI",Arial,sans-serif;color:var(--quiet);float:right;margin-top:9px}.info-dish{padding:12px 0;border-top:1px solid #dde0d7}.info-dish h4{font-weight:600;margin:0;display:flex;justify-content:space-between;gap:20px}.info-dish p{font-size:15px;color:var(--quiet);margin:4px 0}.drinks{padding-top:27px;max-width:75ch}.drinks h3{margin-bottom:8px}.drinks p{color:var(--quiet);font-size:16px}footer{text-align:center;padding:55px 20px 40px;color:var(--quiet)}footer p{margin-bottom:12px}.signature{font:italic 33px "Segoe Script",Georgia,serif;color:var(--ink)}[hidden]{display:none!important}.honeypot{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.sr-only{position:absolute;width:1px;height:1px;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
@media(max-width:700px){body{font-size:16px}.invitation{padding:50px 22px 30px}.botanical{width:145px;left:-35px;opacity:.45}.invitation h1{font-size:47px;letter-spacing:-2px;margin:10px 0 18px}.welcome{font-size:15px}.date{font-size:15px;max-width:270px;margin:0 auto}.event{gap:15px;font-size:14px;margin-top:22px}.event p{width:50%}.event p+p{padding-left:15px}.invitation-note{font-size:17px;margin-top:18px}main{padding:28px 20px 0}h2{font-size:29px}.introduction{display:block;margin-bottom:26px}.payment{margin-top:22px;padding:10px 0 10px 16px}.steps ol{gap:0;justify-content:space-between;margin-top:22px}.steps li{font-size:14px}.step h2{font-size:27px}.person-fields{grid-template-columns:1fr 1fr;gap:14px}.person-fields>div:last-child{grid-column:1/-1;max-width:220px}.add-person{width:100%;font-size:14px;padding:11px}.dish-options{grid-template-columns:1fr}.dish{padding:17px}.dish:has(input:checked){padding:16px}.dish strong{font-size:23px}.actions{gap:10px}.actions .button{width:100%}.summary-list li{gap:10px}.summary-list strong{font-size:16px}.summary-price{font-size:15px}.section-intro{display:block}.section-intro h2{margin-bottom:6px}summary{font-size:23px}summary span{font-size:12px}.at-the-table{margin-top:42px}.ack{font-size:15px}footer{padding-top:35px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
select{appearance:none;-webkit-appearance:none;padding-right:44px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='m4 6 4 4 4-4' fill='none' stroke='%23344f3c' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 16px center;background-size:16px 16px}

@font-face{font-family:"Garet";src:url("fonts/Garet-Book.woff2") format("woff2");font-weight:400 700;font-style:normal;font-display:swap}
@font-face{font-family:"Garet";src:url("fonts/Garet-Heavy.woff2") format("woff2");font-weight:800 900;font-style:normal;font-display:swap}
@font-face{font-family:"Amsterdam One";src:url("fonts/AmsterdamOne.woff2") format("woff2");font-weight:400;font-style:normal;font-display:swap}
body{font-family:"Garet","Century Gothic","Segoe UI",sans-serif}
h2,h3,.person legend,.dish strong,summary{font-family:"Garet","Century Gothic","Segoe UI",sans-serif;font-weight:500}
.invitation h1,.signature{font-family:"Amsterdam One","Segoe Script","Brush Script MT",cursive;font-style:normal}
.invitation h1{letter-spacing:0;font-weight:400;white-space:nowrap;line-height:2.1;margin:52px 0 68px}
.signature{line-height:2.1}
.invitation h1 a{color:inherit;text-decoration:none}.invitation h1 a:hover{color:#536644}
@media(max-width:700px){.invitation h1{font-size:clamp(24px,7.4vw,47px);line-height:2.3;margin:38px 0 50px}.invitation h1 span{font-size:.65em}.welcome{margin-bottom:20px}}
textarea{font:inherit;min-height:100px;border:1px solid #9ca995;border-radius:4px;background:var(--white);color:var(--ink);padding:12px;width:100%;resize:vertical}
textarea:focus-visible{outline:3px solid #8b6b28;outline-offset:3px}
.gift-note{max-width:760px;margin:22px auto 0;padding:20px 28px;border-top:1px solid var(--line);background:#ebece2;position:relative}
.gift-note .invitation-note{font:600 22px/1.4 "Garet","Century Gothic","Segoe UI",sans-serif;margin:0 0 10px}
.gift-note>p:last-child{font-size:16px;line-height:1.65;margin:0}
.option-toggle{display:flex;gap:12px;align-items:flex-start;margin:22px 0 12px;font-weight:500}
.option-toggle input{margin-top:3px}
.extra-fields{padding:18px 22px;background:#e9eddf;border-left:3px solid var(--olive);margin-bottom:18px}
.extra-fields .muted{margin:8px 0 0}
.summary-note{font-size:15px;white-space:pre-line;overflow-wrap:anywhere;margin:8px 0 0;color:var(--quiet)}
.summary-price{white-space:normal;min-width:95px;text-align:right}
.dish strong{font-size:22px}.info-dish h4 span:first-child{min-width:0}.info-dish h4 span:last-child{white-space:nowrap}
@media(max-width:700px){.gift-note{padding:18px 16px}.gift-note .invitation-note{font-size:20px}.gift-note>p:last-child{font-size:15px}.extra-fields{padding:16px}.dish strong{font-size:21px}.section-intro p{max-width:28ch}}

.deadline{padding:18px 22px;margin:24px 0;border:1px solid var(--olive);background:#e9eddf;font-size:18px;line-height:1.5}.deadline strong{display:block;font-weight:700}.deadline span{display:block;margin-top:6px;font-size:15px;font-weight:400;color:var(--quiet)}

.celebration-plan{position:relative;max-width:760px;margin:22px auto 0;text-align:left}.celebration-plan summary{font-size:20px;text-align:center}.celebration-plan p{font-size:15px;margin:14px 0;color:var(--quiet)}
