@font-face{font-family:'Bodoni Moda';font-style:normal;font-weight:500;font-display:swap;src:url('/static/fonts/bodoni.ttf') format('truetype')}
@font-face{font-family:Jost;font-style:normal;font-weight:400;font-display:swap;src:url('/static/fonts/jost.ttf') format('truetype')}
@font-face{font-family:Jost;font-style:normal;font-weight:500 700;font-display:swap;src:url('/static/fonts/jost-medium.ttf') format('truetype')}
:root{--bg:#e7e5df;--surface:#f0efeb;--ink:#303a2e;--muted:#52594a;--olive:#374332;--sage:#a3aa91;--accent:#693e46;--accent-ink:#f0efeb;--brass:#c3ab72;--gap:clamp(20px,2.2vw,32px);--body:18px;--small:16px;--lead:28px;--head:clamp(38px,4.2vw,62px);--display:clamp(44px,6.6vw,92px);--ease:cubic-bezier(.16,1,.3,1)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0;color:var(--ink);background:var(--bg);font:400 var(--body)/1.55 Jost,sans-serif}h1,h2,h3,p,figure{margin:0}h1,h2,h3{font-family:'Bodoni Moda',serif;font-weight:500;letter-spacing:-.035em;line-height:1.05;text-wrap:balance}h1{font-size:var(--display)}h2{font-size:var(--head)}h3{font-size:var(--lead)}p{max-width:60ch;text-wrap:pretty}a{color:inherit;text-underline-offset:5px;text-decoration-thickness:1px;transition:opacity .18s,transform .18s}a:hover{opacity:.72}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid var(--brass);outline-offset:5px}img{display:block;width:100%;height:auto}button,input,textarea,select{font:inherit}button,.button{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:12px 30px;border:0;border-radius:0;background:var(--accent);color:var(--accent-ink);font-weight:500;text-decoration:none;cursor:pointer;transition:transform .18s,opacity .18s}button:hover,.button:hover{opacity:.88;transform:translateY(-2px)}button:active,.button:active{transform:translateY(1px)}.skip-link{position:absolute;left:var(--gap);top:-90px;z-index:9;padding:12px;background:var(--surface)}.skip-link:focus{top:8px}.site-header{display:flex;justify-content:space-between;align-items:center;gap:24px;padding:24px var(--gap);background:var(--olive);color:var(--surface)}.wordmark{font-family:'Bodoni Moda',serif;font-size:var(--lead);text-decoration:none;letter-spacing:-.035em}.site-header nav{display:flex;gap:36px}.site-header nav a{text-decoration:none;font-size:var(--small)}.nav-rsvp{padding:8px 0;min-width:70px;text-align:right}.invitation-page{position:relative;z-index:1;background:var(--bg)}.hero{position:relative;display:grid;place-items:center;min-height:740px;padding:38px var(--gap) 55px;background:var(--olive);overflow:hidden}.table-setting{position:absolute;inset:0;display:grid;place-items:center;pointer-events:none}.table-setting img{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);height:auto;width:clamp(650px,95vw,1100px);max-width:none}.invitation{position:relative;width:620px;max-width:100%;padding:45px 32px 32px;text-align:center;background:var(--surface);clip-path:polygon(0 20px,20px 20px,20px 0,calc(100% - 20px) 0,calc(100% - 20px) 20px,100% 20px,100% calc(100% - 20px),calc(100% - 20px) calc(100% - 20px),calc(100% - 20px) 100%,20px 100%,20px calc(100% - 20px),0 calc(100% - 20px))}.invitation h1{font-size:clamp(44px,6.1vw,88px);line-height:.98}.hero-description{font-size:var(--body);margin:30px auto 26px}.event-date{font-family:'Bodoni Moda',serif;font-size:var(--lead);margin:0 auto 8px;letter-spacing:-.02em}.event-hours{margin:0 auto 24px;font-size:var(--small)}.location-note{margin:18px auto 0;font-size:var(--small)}.section-pad{padding:120px var(--gap)}.intro-row{display:grid;grid-template-columns:1fr 1fr;gap:12%;align-items:end;margin-bottom:72px}.intro-row>p{max-width:36ch;justify-self:end}.afternoon-layout{display:grid;grid-template-columns:1fr 1fr;gap:12%;align-items:center}.still-life img{aspect-ratio:1/1;object-fit:cover;object-position:center 64%}.still-life figcaption{font-size:var(--small);margin-top:14px}.schedule-slip{padding:44px;background:var(--surface);clip-path:polygon(0 0,100% 0,100% calc(100% - 10px),95% 100%,90% calc(100% - 10px),85% 100%,80% calc(100% - 10px),75% 100%,70% calc(100% - 10px),65% 100%,60% calc(100% - 10px),55% 100%,50% calc(100% - 10px),45% 100%,40% calc(100% - 10px),35% 100%,30% calc(100% - 10px),25% 100%,20% calc(100% - 10px),15% 100%,10% calc(100% - 10px),5% 100%,0 calc(100% - 10px))}.schedule-slip h3{font-size:var(--head)}dl{margin:30px 0}dl>div{display:flex;justify-content:space-between;gap:20px;padding:8px 0}dd{margin:0;font-weight:500;font-variant-numeric:tabular-nums}.schedule-slip p{margin:20px 0}.calendar-link{display:inline-block;margin:10px 0}.guest-section{background:var(--sage)}.guest-intro{display:flex;justify-content:space-between;gap:50px;align-items:end;margin-bottom:60px}.guest-intro>p{max-width:33ch}.guest-empty{display:grid;grid-template-columns:1fr 1fr;gap:8%;align-items:center}.guest-empty img{max-height:310px;object-fit:cover;object-position:center 42%}.guest-empty h3{font-size:var(--head);margin-bottom:20px}.guest-empty a{display:inline-block;margin-top:20px}.guest-book{display:grid;gap:24px}.guest-entry{display:grid;grid-template-columns:1fr 1fr 2fr;gap:32px;padding:32px;background:var(--surface)}.guest-entry h3{overflow-wrap:anywhere}.guest-entry>div{display:grid;grid-template-columns:1fr 1fr;gap:28px}.guest-entry p{overflow-wrap:anywhere}.guest-status{font-size:var(--small)}.ideas-section{background:var(--olive);display:grid;grid-template-columns:1fr 1fr;gap:8%;align-items:start}.menu-surround{color:var(--surface)}.menu-art{aspect-ratio:4/5;object-fit:cover}.menu-aside{font-size:var(--lead);margin-top:32px}.menu-sheet{background:var(--surface);padding:48px 40px}.menu-sheet h2{text-align:center}.menu-sheet>p{margin:24px auto;text-align:center}.food-ideas{list-style:none;padding:0;margin:35px 0}.food-ideas li+li{margin-top:4px}.food-ideas a{display:flex;justify-content:space-between;gap:20px;padding:13px 0;text-decoration:none}.food-ideas a span{color:var(--accent);font-size:var(--lead)}.food-ideas a:hover{transform:translateX(4px)}.menu-note{font-size:var(--small)}summary{cursor:pointer;min-height:44px;padding:10px 0}.dietary-disclosure{font-size:var(--small)}.dietary-disclosure p{padding:12px 0}.rsvp-section{display:grid;grid-template-columns:1fr 1fr;gap:8%;align-items:start;background:var(--olive);color:var(--surface)}.rsvp-message>p{font-size:var(--lead);margin:28px 0}.rsvp-message img{aspect-ratio:2/1;object-fit:cover;margin-top:35px}.reply-card{padding:44px;background:var(--surface);color:var(--ink)}.reply-card h3{font-size:var(--head)}.reply-card>p{margin:20px 0}.reply-card form button{width:100%}.privacy-note,.returning-note{font-size:var(--small)}.privacy-note{margin:24px 0}.returning-note{margin-bottom:0!important}label{display:block;margin:24px 0 0}input,textarea,select{display:block;width:100%;min-width:0;max-width:100%;padding:12px;margin-top:8px;background:var(--bg);color:var(--ink);border:1px solid var(--sage);border-radius:0}input::placeholder,textarea::placeholder{color:var(--muted);opacity:1}textarea{resize:vertical}input[readonly]{font-size:var(--small)}.site-footer{position:relative;padding:64px var(--gap) 32px;background:var(--accent);color:var(--surface)}.footer-top{display:flex;justify-content:space-between;gap:40px;align-items:center}.signoff{font:500 var(--head)/.98 'Bodoni Moda',serif;letter-spacing:-.04em}.footer-top>div{min-width:30%}.footer-top>div p{margin-bottom:24px}.footer-top a{display:inline-block;padding:4px 0}.credits{font-size:var(--small);margin-top:36px}.credits p{margin:16px 0}.text-button{background:none;color:inherit;padding:6px 0;min-height:44px;text-decoration:underline;text-underline-offset:5px}.account-sheet{position:relative;z-index:1;max-width:880px;margin:56px auto 80px;padding:48px;background:var(--surface)}.account-sheet h1{font-size:var(--head);margin-bottom:32px}.account-sheet h2{font-size:var(--lead);margin:28px 0 16px}.account-sheet p{margin:16px 0}.account-sheet form>button{margin-top:28px}.account-sheet article{padding:28px;margin:28px 0;background:var(--bg)}.flash{padding:20px;background:var(--sage);max-width:none}.copy-button{margin-top:12px}.copy-status{font-size:var(--small)}
@media(min-width:1600px){.section-pad{padding-left:max(var(--gap),calc((100vw - 1450px)/2));padding-right:max(var(--gap),calc((100vw - 1450px)/2))}}
@media(max-width:900px){.site-header nav{gap:18px}.hero{min-height:690px}.invitation{width:550px}.table-setting img{width:1000px}.intro-row,.afternoon-layout{gap:6%}.schedule-slip{padding:28px}.ideas-section,.rsvp-section{gap:5%}.menu-sheet,.reply-card{padding:28px}.guest-entry{grid-template-columns:1fr 1fr}.guest-entry>div{grid-column:1/-1}.guest-intro{display:block}.guest-intro>p{margin-top:22px;max-width:50ch}.section-pad{padding-top:90px;padding-bottom:90px}}
@media(max-width:600px){:root{--body:18px;--head:40px;--lead:24px}.site-header{padding:20px var(--gap);flex-wrap:wrap;gap:16px}.wordmark{font-size:24px}.site-header nav{order:3;width:100%;justify-content:space-between;gap:12px}.site-header nav a{font-size:var(--small)}.hero{min-height:0;padding-top:30px;padding-bottom:35px}.table-setting img{width:650px;opacity:.7}.invitation{padding:38px 20px 30px;width:100%}.invitation h1{font-size:clamp(38px,11.2vw,65px)}.hero-description{font-size:18px;margin:26px auto 24px}.hero-description br{display:none}.event-date{font-size:24px}.event-hours{font-size:16px}.location-note{font-size:16px}.intro-row,.afternoon-layout,.guest-empty,.ideas-section,.rsvp-section{grid-template-columns:1fr}.intro-row{gap:24px;margin-bottom:36px}.intro-row>p{justify-self:start;max-width:40ch}.afternoon-layout{gap:36px}.still-life img{aspect-ratio:5/4}.schedule-slip{padding:28px}.section-pad{padding-top:68px;padding-bottom:68px}.guest-intro{margin-bottom:36px}.guest-empty{gap:30px}.guest-empty img{max-height:240px}.guest-empty h3{font-size:var(--head)}.ideas-section{gap:36px}.menu-surround{display:grid;grid-template-columns:1fr 1fr;gap:20px;align-items:center}.menu-art{aspect-ratio:4/5}.menu-aside{font-size:18px;margin:0}.menu-sheet{padding:32px 24px}.menu-sheet h2{font-size:var(--head)}.menu-sheet>p{text-align:left}.food-ideas{margin:24px 0}.rsvp-section{gap:36px}.rsvp-message>p{font-size:24px}.rsvp-message img{margin-top:24px;aspect-ratio:2/1}.reply-card{padding:30px 24px}.reply-card h3{font-size:var(--head)}.guest-entry{gap:20px;padding:24px}.guest-entry>div{grid-template-columns:1fr;gap:16px}.guest-entry h3{font-size:var(--lead);grid-column:1/-1}.guest-entry>.guest-status{grid-column:1/-1}.site-footer{position:relative;padding-top:48px}.footer-top{display:block}.signoff{font-size:var(--head)}.footer-top>div{margin-top:32px}.account-sheet{margin:24px var(--gap) 40px;padding:28px 22px}.account-sheet h1{font-size:40px}.account-sheet article{padding:18px}.privacy-note,.returning-note{font-size:16px}}
.guest-book-art{width:100%;max-height:240px;object-fit:cover;object-position:center 40%;margin-bottom:32px}.still-life{overflow:hidden}.still-life img{animation:table-drift 20s ease-in-out infinite alternate}@keyframes table-drift{from{transform:scale(1)}to{transform:scale(1.035)}}

.section-down{position:fixed;z-index:10;left:50%;bottom:calc(18px + env(safe-area-inset-bottom,0px));transform:translateX(-50%);width:52px;height:52px;min-height:52px;padding:0;border:2px solid var(--surface);border-radius:50%;background:var(--olive);color:var(--surface);box-shadow:0 3px 14px #0003} /* taste-skill-ignore: shadow belongs to the real floating section-navigation overlay */
.section-down[hidden]{display:none}.section-down svg{fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.section-down:hover{opacity:1;transform:translate(-50%,-3px)}.section-down:active{transform:translate(-50%,1px)}
.dietary-choices{border:0;padding:0;margin:28px 0 20px;min-width:0}.dietary-choices legend{font-weight:500;padding:0;margin-bottom:10px}.dietary-choices>p,.extra-dietary-notes p,.food-helper p{font-size:var(--small)}.checkbox-grid{display:grid;grid-template-columns:1fr 1fr;gap:6px 16px;margin-top:14px}.checkbox-grid label{display:flex;align-items:center;gap:10px;margin:0;min-height:46px;cursor:pointer}.checkbox-grid input[type=checkbox]{width:22px;height:22px;flex:0 0 22px;margin:0;padding:0;accent-color:var(--accent)}.checkbox-grid span{font-size:var(--small)}.extra-dietary-notes{margin:20px 0}.extra-dietary-notes label{margin-top:10px}.extra-dietary-notes p{margin:14px 0}.food-helper{margin:24px 0}.food-helper>summary{padding:14px 18px;background:var(--olive);color:var(--surface);font-weight:500}.food-helper>p{margin:18px 0}.food-helper-results{max-height:460px;overflow:auto;overscroll-behavior:contain;padding-right:10px}.food-category{margin:24px 0}.food-category h4{font-size:var(--lead);margin:0 0 18px}.food-helper article{background:transparent;padding:0;margin:0 0 24px}.food-helper article button{background:var(--bg);color:var(--ink);display:block;width:100%;text-align:left;min-height:48px;padding:12px 14px;margin:0}.food-helper article p{margin:8px 0 0}.food-safety-note{font-weight:500}.autosave-status{min-height:28px;margin-top:20px}@media(max-width:360px){.checkbox-grid{grid-template-columns:1fr}}
.calendar-callout{padding:24px;background:var(--sage);color:var(--ink);margin-bottom:32px}.account-sheet .calendar-callout h2{margin:0 0 16px;font-size:var(--lead)}.calendar-callout .button{margin-top:8px}.calendar-return{margin:20px auto 0;font-size:var(--small)}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}.site-footer{position:relative}}
