@font-face{font-family:Bodoni;src:url(/fonts/bodoni-regular.ttf)format("truetype");font-style:normal;font-weight:400;font-display:swap}@font-face{font-family:Bodoni;src:url(/fonts/bodoni-medium.ttf)format("truetype");font-style:normal;font-weight:500;font-display:swap}@font-face{font-family:Bodoni;src:url(/fonts/bodoni-italic.ttf)format("truetype");font-style:italic;font-weight:400;font-display:swap}@font-face{font-family:Manrope;src:url(/fonts/manrope-regular.ttf)format("truetype");font-weight:400;font-display:swap}@font-face{font-family:Manrope;src:url(/fonts/manrope-medium.ttf)format("truetype");font-weight:500;font-display:swap}@font-face{font-family:Manrope;src:url(/fonts/manrope-semibold.ttf)format("truetype");font-weight:600;font-display:swap}:root{--paper:#fcf8e6;--paper-light:#fcf8e6;--wine:#5b0e19;--ink:#2c1d19;--muted:#6c5c4f;--olive:#5c5f2f;--line:#d2c8af;--brass:#5c5f2f;--wine-hover:#761a29;--olive-paper:#efeed8;--wine-paper:#f4e8d6;--serif:Baskerville,Georgia,serif;--sans:Manrope,Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{background:var(--paper);color:var(--ink);font-family:var(--sans);margin:0;font-size:16px;line-height:1.75}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.5}a{color:inherit;text-decoration:none}a:hover{-webkit-text-decoration-color:var(--wine);text-decoration-color:var(--wine)}button{color:inherit}button svg,a svg{flex-shrink:0}p{max-width:70ch;margin:0 0 1.1em}h1,h2,h3{font-family:var(--serif);text-wrap:balance;margin:0;font-weight:400;line-height:1.18}h2{letter-spacing:-.025em;color:var(--wine);font-size:clamp(2.6rem,4.1vw,3.7rem)}h2 em{font-weight:400}h3{font-size:1.6rem}::selection{background:var(--wine-paper);color:var(--wine)}:focus-visible{outline:2px solid var(--wine);outline-offset:5px}strong{font-weight:600}img{max-width:100%;height:auto;display:block}figure{margin:0}button{background:0 0;border:0}svg{vertical-align:middle}section[id]{scroll-margin-top:30px}.skip{z-index:99;background:var(--wine);color:#fff;padding:15px;position:fixed;top:-100px;left:20px}.skip:focus{top:10px}.sr-only{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.site-header{border-bottom:1px solid var(--line);z-index:5;align-items:center;gap:35px;height:100px;margin:0 5%;display:flex;position:relative}.brand{font:32px var(--serif);letter-spacing:-.02em;color:var(--wine);white-space:nowrap}.brand span{color:var(--brass);margin:0 3px;font-style:italic}.nav{gap:28px;margin:auto;font-size:14px;font-weight:500;display:flex}.nav a{padding:12px 0;position:relative}.nav a:after{content:"";background:var(--wine);transform-origin:0;height:1px;transition:transform .25s;position:absolute;bottom:5px;left:0;right:0;transform:scaleX(0)}.nav a:hover:after{transform:scaleX(1)}.header-date{white-space:nowrap;font-size:14px}.menu-toggle{min-width:44px;min-height:44px;display:none}.hero{grid-template-columns:1fr 1fr;align-items:center;gap:9%;max-width:1320px;margin:0 auto;padding:70px 6% 74px;display:grid}.hero-copy{padding:15px 0}.hero-invitation{max-width:280px;margin-bottom:30px;font-size:14px;line-height:1.8}.hero h1{letter-spacing:-.035em;color:var(--wine);font-size:clamp(4.3rem,7.5vw,6rem);line-height:1.04}.hero h1 span{color:var(--brass);margin-left:12px;font-size:.63em;font-style:italic}.hero-rule{background:var(--brass);width:58px;height:1px;margin:35px 0 26px}.hero-date{margin-bottom:3px;font-size:14px;font-weight:600}.hero-place{margin-bottom:30px;font-size:14px}.hero-place span{padding:0 6px}.hero-deadline{color:var(--muted);max-width:320px;margin-top:16px;font-size:14px}.button{border-radius:2px;justify-content:center;align-items:center;gap:19px;min-height:48px;padding:13px 23px;font-size:14px;font-weight:600;line-height:1.5;transition:background .2s,color .2s,transform .2s;display:inline-flex}.button:hover{transform:translateY(-2px)}.primary{background:var(--wine);color:var(--paper-light)}.primary:hover{background:var(--wine-hover)}.outline{border:1px solid var(--wine);color:var(--wine)}.outline:hover{background:var(--wine-paper)}.hero-art{align-self:center;margin-right:10px;padding:18px 18px 0;position:relative}.hero-art img{aspect-ratio:.84;object-fit:cover;border-radius:47% 47% 2px 2px;animation:1.3s cubic-bezier(.16,1,.3,1) both opening}.art-outline{border:1px solid var(--brass);pointer-events:none;border-radius:48% 48% 0 0;position:absolute;inset:3px 3px 45px}.hero-art figcaption{letter-spacing:.035em;text-align:center;color:var(--muted);padding:18px 0 0;font-size:14px}.art-seal{background:var(--wine);width:80px;height:80px;color:var(--paper);border:5px solid var(--paper);font:23px var(--serif);border-radius:50%;justify-content:center;align-items:center;gap:5px;display:flex;position:absolute;bottom:23px;left:-24px;transform:rotate(-10deg)}.art-seal span{color:#d1bca2;font-size:18px;font-style:italic}@keyframes opening{0%{clip-path:inset(0 0 12%);filter:sepia(.18)}to{clip-path:inset(0);filter:sepia(0)}}.section-wrap{margin:auto;padding:100px max(7%,50vw - 570px)}.letter{text-align:center;background:var(--paper-light);border-block:1px solid var(--line);padding:75px 25px 95px}.ornament{width:125px;height:24px;color:var(--brass);margin:0 auto 36px;display:block}.letter h2{font-size:clamp(2.7rem,4vw,3.6rem)}.letter>p{max-width:560px;margin:27px auto 0;font-size:14px;line-height:1.9}.letter .signature{font:italic 25px var(--serif);color:var(--wine);margin-top:25px}.celebration{grid-template-columns:1fr 1fr;align-items:center;gap:11%;display:grid}.venue-copy>p{max-width:380px;margin-top:27px;font-size:14px}.address{color:var(--wine);gap:14px;margin:26px 0 12px;font-size:14px;display:flex}.address svg{margin-top:3px}.address strong,.address span{display:block}.address span{color:var(--muted);font-size:14px}.text-link{text-underline-offset:5px;color:var(--wine);align-items:center;gap:10px;min-height:44px;padding:9px 0;font-size:14px;font-weight:600;text-decoration:underline;display:inline-flex}.text-link:hover{color:var(--wine-hover)}.day-program{border-block:1px solid var(--brass);padding:25px 0}.program-date{border-bottom:1px solid var(--line);align-items:center;gap:15px;padding-bottom:22px;font-size:14px;font-weight:600;display:flex}.day-program ol{margin:30px 0 15px;padding:0;list-style:none}.day-program li{gap:25px;margin-bottom:28px;display:flex}.time{min-width:60px;font:26px var(--serif);color:var(--wine);padding-top:2px}.time.after{padding-left:13px}.day-program h3{margin-bottom:6px;font-size:23px}.day-program p{margin:0;font-size:14px}.practical{grid-template-columns:1fr 1fr;gap:11%;padding-top:0;padding-bottom:90px;display:grid}.practical>div{border-top:1px solid var(--line);padding-top:25px}.practical h3{color:var(--wine);margin-bottom:13px;font-size:25px}.practical p{max-width:430px;font-size:14px}.rsvp{background:var(--wine);color:var(--paper);grid-template-columns:1fr 1fr;align-items:start;gap:11%;display:grid}.rsvp h2{color:inherit}.rsvp>div>p{max-width:400px;margin-top:25px;font-size:14px}.rsvp .small{color:#e4d8c5}.rsvp a,.rsvp .text-link{color:inherit}.rsvp-form{border-top:1px solid #aa8272;padding-top:25px}.small{color:var(--muted);font-size:14px;line-height:1.8}form label{margin:18px 0 7px;font-size:14px;font-weight:500;display:block}form label span{color:var(--muted);margin-left:5px;font-size:14px;font-weight:400}input,select,textarea{background:var(--paper-light);color:var(--ink);border:1px solid #b0a58c;border-radius:2px;width:100%;min-height:46px;padding:11px 12px;font-size:14px;line-height:1.55}input::placeholder,textarea::placeholder{color:var(--muted);opacity:1}textarea{resize:vertical;min-height:86px}input[type=radio],input[type=checkbox]{width:17px;height:17px;min-height:17px;accent-color:var(--wine);flex-shrink:0}fieldset{border:0;margin:20px 0;padding:0}legend{margin-bottom:10px;font-size:14px;font-weight:600}.rsvp .button.primary{background:var(--paper);color:var(--wine);margin-top:12px}.rsvp form>.small{margin:13px 0}.rsvp label span{color:#e4d8c5}.attendance label,.checkbox{align-items:center;gap:10px;font-weight:400;line-height:1.7;display:flex}.attendance label{margin:12px 0}.attendance input,.rsvp input[type=checkbox]{accent-color:var(--paper)}.form-heading h3{margin-bottom:2px;font-size:27px}.form-heading button{margin-bottom:10px}.success-block h3{margin:22px 0 15px;font-size:32px}.success-block p{font-size:14px}.error{background:var(--wine-paper);color:var(--wine);border-radius:2px;max-width:none;padding:15px 18px;font-size:14px;line-height:1.65}.success{background:var(--olive-paper);color:var(--olive);align-items:flex-start;gap:10px;max-width:none;padding:13px 17px;font-size:14px;display:flex}.success svg{flex-shrink:0;margin-top:2px}.success button{margin-left:auto}.rsvp .error{margin-top:17px}.section-intro{grid-template-columns:1fr 1fr;align-items:center;gap:11%;margin-bottom:40px;display:grid}.section-intro p,.section-intro .small{font-size:14px}.preparation{background:var(--olive-paper);color:var(--ink);align-items:flex-start;gap:10px;max-width:none;padding:15px 18px;font-size:14px;display:flex}.preparation svg{flex-shrink:0;margin-top:2px}.gift-filters{border-bottom:1px solid var(--line);flex-wrap:wrap;gap:8px;margin-bottom:32px;padding:16px 0 22px;display:flex}.gift-filters button{min-height:36px;color:var(--muted);border-radius:30px;padding:8px 15px;font-size:14px}.gift-filters .active{background:var(--wine);color:var(--paper)}.gift-grid{grid-template-columns:repeat(3,1fr);gap:30px;display:grid}.gift{border:1px solid var(--line);background:var(--paper-light);flex-direction:column;display:flex}.gift-art{background:var(--wine-paper);height:145px;color:var(--wine);justify-content:center;align-items:center;display:flex;position:relative;overflow:hidden}.gift:nth-child(2) .gift-art{background:var(--olive-paper);color:var(--olive)}.gift:nth-child(3) .gift-art{background:var(--wine-paper);color:var(--wine)}.gift:nth-child(4) .gift-art{background:var(--olive-paper);color:var(--olive)}.gift:nth-child(5) .gift-art{background:var(--wine-paper);color:var(--ink)}.gift-art-ring{opacity:.22;border:1px solid;border-radius:50%;width:99px;height:99px;position:absolute}.gift-art>svg{transition:transform .3s}.gift:hover .gift-art>svg{transform:translateY(-4px)}.gift-body{flex-direction:column;flex:1;padding:24px;display:flex}.gift h3{color:var(--wine);margin-bottom:12px;font-size:26px;line-height:1.2}.gift p{min-height:44px;margin-bottom:22px;font-size:14px;line-height:1.85}.gift-footer{justify-content:space-between;align-items:center;gap:10px;margin-top:auto;display:flex}.gift-footer strong{font-size:14px;font-weight:500}.gift-select{border:1px solid var(--line);width:44px;height:44px;color:var(--wine);border-radius:50%;justify-content:center;align-items:center;display:flex}.gift-select:hover,.custom-gift{background:var(--wine);color:var(--paper)}.custom-gift .gift-art{color:var(--paper);background:#6b2230}.custom-gift h3,.custom-gift .gift-select{color:inherit}.custom-gift .gift-select:hover{background:var(--paper);color:var(--wine)}.custom-gift .gift-footer strong{font-size:14px}.payment-notes{border-top:1px solid var(--line);grid-template-columns:1fr;gap:35px;margin-top:40px;padding-top:25px;display:grid}.payment-notes p{font-size:14px;line-height:1.9}.payment-notes strong{color:var(--wine)}.table-section{background:var(--olive-paper);grid-template-columns:1fr 1fr;align-items:center;gap:11%;display:grid}.table-section>div>p{max-width:380px;margin-top:22px;font-size:14px}.table-result{text-align:center;border:1px solid #a8a17c;padding:35px}.table-symbol{width:66px;height:66px;color:var(--olive);border:1px solid #a8a17c;border-radius:50%;justify-content:center;align-items:center;margin:0 auto 20px;display:flex}.table-result h3{color:var(--wine);font-size:28px}.table-result p{margin:15px auto}.table-result .button{width:100%;margin-top:13px}.faq{grid-template-columns:1fr 1fr;align-items:start;gap:11%;display:grid}.faq details{border-bottom:1px solid var(--line)}.faq details:first-child{border-top:1px solid var(--line)}summary{cursor:pointer;list-style:none}summary::-webkit-details-marker{display:none}.faq summary{justify-content:space-between;align-items:center;gap:25px;padding:22px 0;font-size:14px;font-weight:500;display:flex}.faq summary svg{flex-shrink:0;transition:transform .2s}.faq details[open] summary svg{transform:rotate(180deg)}.faq details p{padding:0 25px 13px 0;font-size:14px;line-height:1.9}.closing{text-align:center;border-top:1px solid var(--line);padding:80px 25px 100px}.closing>p{margin:0 auto 25px;font-size:14px}.closing h2{font-size:clamp(3.3rem,6vw,5rem)}.closing>span{font:italic 25px var(--serif);color:var(--wine);margin-top:30px;display:block}footer{border-top:1px solid var(--line);color:var(--muted);flex-wrap:wrap;justify-content:space-between;gap:15px;padding:30px 5%;font-size:14px;display:flex}footer a{align-items:center;gap:10px;display:flex}footer>p{flex-basis:100%;max-width:none;margin:5px 0 0;font-size:14px}.gift-dialog{background:var(--paper-light);width:min(570px,100% - 28px);max-height:90svh;color:var(--ink);overscroll-behavior:contain;border:0;padding:45px 40px;overflow:auto}.gift-dialog::backdrop{background:#27181a99}.dialog-close{min-width:44px;min-height:44px;position:absolute;top:12px;right:12px}.gift-dialog h2{margin:20px 0;font-size:35px}.gift-dialog .button{width:100%;margin-top:20px}.gift-dialog .dialog-amount{font:36px var(--serif);color:var(--wine);margin:20px 0}.dialog-amount span{font:11px var(--sans)}.payment-choice label{border:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:10px;padding:14px;display:flex}.payment-choice label span{margin-left:auto;font-size:14px}.commission{background:var(--olive-paper);color:var(--ink);padding:16px;font-size:14px;line-height:1.85}.commission a{text-decoration:underline}.receipt dl{-webkit-user-select:text;user-select:text;overflow-wrap:anywhere;font-size:14px}.receipt dl>div{border-bottom:1px solid var(--line);grid-template-columns:110px 1fr;gap:10px;padding:9px 0;display:grid}dd,dt{margin:0}.receipt dt{color:var(--muted)}.access-page{max-width:750px;padding:12vh 8%}.access-page h1{color:var(--wine);margin:40px 0 25px;font-size:clamp(3rem,6vw,5rem)}.access-page p{margin-bottom:30px}.access-page>a:last-child{margin-top:20px;text-decoration:underline;display:block}.organizer{background:var(--paper-light);min-height:100vh}.organizer-header{border-bottom:1px solid var(--line);align-items:center;gap:30px;padding:28px 5%;display:flex}.organizer-header h1{color:var(--wine);font-size:30px}.organizer-header p{margin:8px 0 0;font-size:14px}.organizer-header .button{margin-left:auto}.organizer-tabs{border-bottom:1px solid var(--line);gap:30px;padding:0 5%;display:flex;overflow:auto}.organizer-tabs button{white-space:nowrap;border-bottom:2px solid #0000;border-radius:0;padding:20px 0 17px;font-size:14px}.organizer-tabs button[aria-current]{border-bottom-color:var(--wine);color:var(--wine);font-weight:600}.organizer-main{max-width:1600px;min-height:70vh;margin:auto;padding:45px 5% 80px}.panel-title{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:25px;margin-bottom:30px;display:flex}.panel-title h2{font-size:36px}.panel-title p{margin:10px 0 0;font-size:14px}.summary-strip{border-bottom:1px solid var(--line);flex-wrap:wrap;gap:35px;margin-bottom:35px;padding:25px 0 35px;display:flex}.summary-strip>div{flex:1;min-width:140px}.summary-strip strong{font:36px var(--serif);color:var(--wine);display:block}.summary-strip span{margin-top:7px;font-size:14px;display:block}.admin-columns{grid-template-columns:1.1fr 1fr;gap:35px;display:grid}.admin-section{border:1px solid var(--line);margin-bottom:30px;padding:30px}.admin-section h3{color:var(--wine);margin:0 0 17px;font-size:27px}.admin-section p{font-size:14px}.setup-list,.compact-list{margin:0;padding:0;list-style:none}.setup-list li{border-bottom:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:12px;padding:17px 0;font-size:14px;display:flex}.setup-list li>svg{flex-shrink:0}.setup-list li button{text-underline-offset:4px;align-items:center;gap:10px;margin-left:28px;font-size:14px;text-decoration:underline;display:flex}.setup-list .done{color:var(--olive)}.compact-list li{border-bottom:1px solid var(--line);padding:12px 0;font-size:14px}.compact-list span{color:var(--muted);font-size:14px;display:block}.admin-add{background:var(--olive-paper);flex-wrap:wrap;align-items:end;gap:18px;margin-bottom:30px;padding:22px 25px;display:flex}.admin-add label{flex:1;min-width:150px;margin:0}.admin-add label>input{margin-top:7px}.admin-add button{margin-bottom:0}.task-add{grid-template-columns:repeat(3,1fr);display:grid}.search-field{max-width:400px;margin-bottom:25px;font-size:14px;display:block}.search-field input{margin-top:6px}.table-scroll{border:1px solid var(--line);width:100%;overflow-x:auto}table{border-collapse:collapse;text-align:left;width:100%;font-size:14px}th{background:var(--olive-paper);white-space:nowrap;padding:16px;font-size:14px;font-weight:600}td{vertical-align:top;border-top:1px solid var(--line);min-width:110px;padding:17px 16px}td>strong,td>span,td>code{display:block}td>span{color:var(--muted);margin-top:6px;font-size:14px}td>code{font:10px var(--sans);overflow-wrap:anywhere;margin-top:10px}td .text-link{white-space:nowrap;font-size:14px}td details{min-width:170px}td details summary{text-underline-offset:4px;font-size:14px;text-decoration:underline}td details p{margin-top:12px;font-size:14px}td select,td input{min-width:130px;padding:10px;font-size:14px}td input[type=checkbox]{width:17px;min-width:17px}.status{background:var(--olive-paper);white-space:nowrap;padding:3px 8px;font-size:14px!important;display:inline-block!important}.status.yes{background:var(--olive-paper);color:var(--olive)}.status.no{background:var(--wine-paper);color:var(--wine)}.icon-button{min-width:44px;min-height:44px;color:var(--wine);border:1px solid var(--line);justify-content:center;align-items:center;display:inline-flex}.icon-button:hover{background:var(--wine-paper)}.danger{color:var(--wine)}.empty{text-align:center;background:var(--olive-paper);color:var(--muted);padding:50px 25px;font-size:14px}.empty p{margin:0 auto 25px}.seating-plan{grid-template-columns:repeat(3,1fr);gap:28px;display:grid}.seating-table{border:1px solid var(--line);text-align:center;margin-bottom:25px;padding:30px}.round-table{border:1px solid var(--brass);background:var(--paper);border-radius:50%;flex-direction:column;justify-content:center;width:165px;height:165px;margin:0 auto 20px;padding:18px;display:flex}.round-table strong{font:23px var(--serif);color:var(--wine);line-height:1.3}.round-table span{margin-top:10px;font-size:14px}.seating-table p{font-size:14px}.seating-table ul{text-align:left;padding:0;list-style:none}.seating-table li{border-bottom:1px solid var(--line);padding:10px 0;font-size:14px}.seating-table li span{color:var(--muted);font-size:14px;display:block}.action-row{justify-content:space-between;align-items:center;gap:10px;display:flex}.edit-table{max-width:600px}.form-grid{grid-template-columns:1fr 1fr;gap:0 25px;display:grid}.form-grid .wide{grid-column:1/-1}.config-form label>input,.config-form label>textarea{margin-top:7px}.config-form h3:not(:first-child){margin-top:40px}.faq-edit{border-bottom:1px solid var(--line);grid-template-columns:1fr 1.5fr auto;align-items:center;gap:15px;padding:10px 0 20px;display:grid}.gift-editor{grid-template-columns:repeat(2,1fr);gap:25px;margin:25px 0;display:grid}.gift-edit{border-top:1px solid var(--line);padding:10px 0}.gift-edit>label{margin-top:12px}.save-bar{border-top:1px solid var(--line);margin-top:35px;padding-top:25px}.remove-confirm{z-index:10;background:var(--wine-paper);border:1px solid #aa8272;flex-wrap:wrap;align-items:center;gap:15px;padding:22px;display:flex;position:sticky;bottom:20px}.remove-confirm p{flex:1;min-width:220px;margin:0;font-size:14px}.danger-button{background:var(--wine);color:#fff}.organizer-footer{font-size:14px}@media (min-width:1500px){.hero{padding-inline:70px}.site-header{max-width:1380px;margin:auto}}@media (max-width:1050px){.nav{gap:20px}.header-date span{display:none}.hero{gap:5%;padding:65px 5%}.hero h1{font-size:5.5rem}.hero-art{margin-right:0}.section-wrap{padding-inline:6%}.gift-grid{gap:18px}.gift-body{padding:20px}.gift h3{font-size:24px}.admin-columns{grid-template-columns:1fr}.seating-plan{grid-template-columns:repeat(2,1fr)}}@media (max-width:760px){html{scroll-padding-top:80px}.site-header{gap:12px;height:76px;margin:0 6%}.brand{font-size:28px}.header-date{margin-left:auto;font-size:14px}.menu-toggle{justify-content:center;align-items:center;margin-right:-12px;display:flex}.nav{background:var(--paper-light);border-bottom:1px solid var(--line);padding:20px 7%;display:none;position:absolute;top:76px;left:-7%;right:-7%;box-shadow:0 15px 25px #352d2b12}.nav.open{flex-direction:column;gap:6px;display:flex}.nav a{font-size:14px}.hero{text-align:center;grid-template-columns:1fr;gap:32px;padding:38px 7% 48px}.hero-copy{padding:0}.hero-invitation{max-width:240px;margin:0 auto 22px;font-size:14px}.hero h1{font-size:4.7rem;line-height:1.02}.hero h1 span{margin-left:5px}.hero-rule{width:42px;margin:24px auto 20px}.hero-date{font-size:14px}.hero-place{margin-bottom:23px;font-size:14px}.hero-deadline{max-width:260px;margin:13px auto 0;font-size:14px}.hero-art{width:94%;max-width:370px;margin:0 auto;padding:14px 14px 0}.hero-art img{aspect-ratio:1;object-position:50% 58%}.art-outline{inset:2px 2px 40px}.art-seal{width:65px;height:65px;font-size:19px;bottom:17px;left:-15px}.art-seal span{font-size:15px}.hero-art figcaption{padding-top:15px;font-size:14px;line-height:1.7}.section-wrap{padding:65px 7%}h2{font-size:2.65rem}.letter{padding:55px 7% 65px}.letter h2{font-size:2.6rem}.letter>p{max-width:440px;font-size:14px}.ornament{width:100px;margin-bottom:26px}.celebration,.rsvp,.section-intro,.table-section,.faq{grid-template-columns:1fr;gap:35px}.celebration{gap:40px}.venue-copy>p{margin-top:20px;font-size:14px}.day-program{padding-top:22px}.practical{grid-template-columns:1fr;gap:22px;padding-top:0;padding-bottom:58px}.practical p{font-size:14px}.practical h3{font-size:24px}.rsvp>div>p{max-width:100%;margin-top:20px;font-size:14px}.rsvp-form{padding-top:15px}.section-intro{gap:24px;margin-bottom:20px}.section-intro p{font-size:14px}.gift-filters{gap:3px;padding:10px 0 18px}.gift-filters button{min-height:40px;padding-inline:10px;font-size:14px}.gift-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.gift-art{height:110px}.gift-art svg{width:35px;height:35px}.gift-art-ring{width:77px;height:77px}.gift-body{padding:17px 13px}.gift h3{font-size:22px}.gift p{margin-bottom:16px;font-size:14px;line-height:1.8}.gift-footer{flex-wrap:wrap;align-items:start;gap:3px}.gift-footer strong{margin-top:13px;font-size:14px}.gift-select{margin-left:auto}.custom-gift .gift-footer strong{max-width:85px;font-size:14px}.payment-notes{gap:20px;margin-top:26px;padding-top:20px}.payment-notes p{font-size:14px}.table-result{padding:28px 20px}.table-section>div>p{max-width:100%;margin-top:18px}.faq{gap:30px}.faq summary{font-size:14px}.closing{padding:60px 7% 70px}.closing h2{font-size:4rem}.closing>p{font-size:14px}footer{flex-direction:column;gap:9px;padding:25px 7%}footer>p{font-size:14px}.gift-dialog{padding:40px 23px 30px}.gift-dialog h2{font-size:30px}.gift-dialog .dialog-amount{font-size:32px}.organizer-header{flex-wrap:wrap;gap:15px;padding:22px 6%}.organizer-header h1{font-size:25px}.organizer-header .button{min-height:44px;margin:0 0 0 auto;padding:10px 15px;font-size:14px}.organizer-tabs{gap:23px;padding-inline:6%}.organizer-tabs button{padding-top:16px;font-size:14px}.organizer-main{padding:30px 6% 50px}.panel-title{gap:15px;margin-bottom:24px}.panel-title h2{font-size:30px}.panel-title p{font-size:14px}.summary-strip{gap:25px}.summary-strip>div{flex:1;min-width:40%}.summary-strip strong{font-size:30px}.summary-strip span{font-size:14px}.admin-section{padding:22px}.admin-section h3{font-size:25px}.admin-add{grid-template-columns:1fr;gap:15px;padding:20px;display:grid}.admin-add label{min-width:0}.admin-add .button{margin-top:3px}.seating-plan{grid-template-columns:1fr}.seating-table{padding:25px}.form-grid,.gift-editor,.faq-edit{grid-template-columns:1fr}.form-grid .wide{grid-column:auto}.faq-edit{gap:0}.faq-edit .icon-button{width:44px;margin-top:10px}.gift-editor{gap:15px}.config-form label{font-size:14px}.remove-confirm{gap:10px;padding:17px;bottom:10px}.organizer-footer{flex-direction:row}table{font-size:14px}td{padding:14px 12px}}@media (max-width:360px){.hero h1{font-size:4.2rem}.gift-grid{grid-template-columns:1fr}.gift-art{height:125px}.gift h3{font-size:25px}.gift-footer{flex-wrap:nowrap}.custom-gift .gift-footer strong{max-width:none}.header-date{font-size:14px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition:none!important;animation:none!important}.hero-art img{clip-path:none}}.hero-copy,.section-wrap>div,.admin-section,.panel-title>div,.gift-body{min-width:0}h1,h2,h3,td,dd,.gift-body p,.receipt-reference strong{overflow-wrap:anywhere}.nav{font-size:14px}input,select,textarea{font-size:16px}.small{font-size:14px}.button{min-height:50px;font-size:14px}.hero-invitation,.hero-date,.hero-place,.hero-deadline{font-size:14px}.hero-art figcaption{font-size:12px;line-height:1.8}.letter>p,.venue-copy>p,.section-intro p,.rsvp>div>p,.table-section>div>p{font-size:16px}.date-ribbon{border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--olive-paper);justify-content:center;align-items:center;gap:45px;padding:18px 7%;font-size:14px;display:flex}.date-ribbon>span{align-items:center;gap:10px;display:flex}.date-ribbon strong{color:var(--wine)}.date-ribbon .text-link{margin-left:15px}.day-program p,.practical p,.faq details p,.gift p{font-size:15px}.gift h3{font-size:28px}.gift-art{height:165px}.gift-footer{align-items:center}.gift-select{flex-shrink:0;width:48px;height:48px}.custom-gift .gift-footer strong{max-width:150px;font-size:14px}.payment-notes p{font-size:14px}.gift-dialog>form>p,.receipt>p{font-size:15px}.payment-choice label{font-size:15px;line-height:1.6}.payment-choice .unavailable{color:var(--muted);background:var(--olive-paper)}.payment-choice label span{font-size:13px}.commission,.preparation{font-size:14px}.receipt-reference{border-block:1px solid var(--line);padding:16px 0}.receipt-reference strong{font:25px var(--serif);color:var(--wine);-webkit-user-select:all;user-select:all;margin-top:6px;display:block}.receipt-actions{border-top:1px solid var(--line);flex-wrap:wrap;gap:25px;margin-top:25px;padding-top:15px;display:flex}.another-gift{border-top:1px solid var(--line);margin-top:20px;padding-top:15px;font-size:14px}.another-gift summary{text-underline-offset:5px;padding-block:10px;text-decoration:underline}.another-gift p{margin-top:15px}.guest-tools{flex-wrap:wrap;align-items:end;gap:25px;margin-bottom:25px;display:flex}.guest-tools>.search-field{flex:1;min-width:220px;margin:0}.guest-tools>.small{margin:0 0 12px}.search-field select{margin-top:7px}.refresh-row{border-bottom:1px solid var(--line);color:var(--muted);justify-content:space-between;align-items:center;gap:20px;margin-bottom:30px;padding-bottom:15px;font-size:13px;display:flex}.unsaved-note{background:var(--wine-paper);flex-wrap:wrap;align-items:center;gap:14px;margin-bottom:25px;padding:22px;display:flex}.unsaved-note p{flex:1;min-width:220px;margin:0;font-size:14px}.editor-form{background:var(--paper);scroll-margin-top:30px}.editor-form .action-row{flex-wrap:wrap;justify-content:flex-start;margin-top:25px}.save-bar{background:var(--paper-light);z-index:2;justify-content:space-between;align-items:center;gap:20px;margin-bottom:-10px;padding-block:20px;display:flex;position:sticky;bottom:0}.save-bar>span{color:var(--muted);font-size:14px}.seating-summary,.budget-balance{border-block:1px solid var(--line);max-width:none;padding:18px 0;font-size:14px}.table-assign{text-align:left;margin:25px 0 12px;font-size:14px;display:block}.table-assign select{margin-top:7px}.seating-table li{justify-content:space-between;align-items:center;gap:12px;font-size:14px;display:flex}.seating-table li span{white-space:nowrap;font-size:12px}.summary-strip span,.panel-title p,.admin-section p,.setup-list li,.compact-list li,.organizer-tabs button{font-size:14px}@media (max-width:1000px){.site-header{gap:15px}.header-date{margin-left:auto}.menu-toggle{justify-content:center;align-items:center;display:flex}.nav{background:var(--paper-light);border-bottom:1px solid var(--line);padding:20px 7%;display:none;position:absolute;top:100%;left:-7%;right:-7%}.nav.open{flex-direction:column;gap:5px;display:flex}.nav a{padding-block:12px;font-size:15px}}@media (max-width:760px){.hero{padding-top:30px}.hero-copy .button{width:auto}.hero-art figcaption{font-size:12px}.hero-art{margin-top:5px}.date-ribbon{grid-template-columns:1fr 1fr;gap:8px 15px;padding:16px 7%;font-size:14px;display:grid}.date-ribbon .text-link{grid-column:1/-1;justify-content:center;margin:0}.date-ribbon>span{justify-content:center;gap:6px}.gift-grid{grid-template-columns:1fr;gap:22px}.gift{grid-template-columns:95px minmax(0,1fr);display:grid}.gift-art{height:100%;min-height:190px}.gift-art-ring{width:67px;height:67px}.gift-art svg{width:33px;height:33px}.gift-body{padding:22px 18px}.gift h3{font-size:26px}.gift p{min-height:0;margin-bottom:14px;font-size:14px}.gift-footer{flex-wrap:nowrap;gap:6px}.gift-footer strong{font-size:14px}.custom-gift .gift-footer strong{max-width:110px}.gift-select{width:46px;height:46px}.payment-notes{grid-template-columns:1fr;gap:4px}.table-result{padding:25px 18px}.table-result .button{gap:12px}.refresh-row{align-items:flex-start;gap:15px;font-size:12px}.refresh-row .text-link{white-space:nowrap;padding-top:0;font-size:13px}.guest-tools{gap:15px}.guest-tools>.search-field{flex-basis:100%;min-width:0}.guest-tools>.small{margin-bottom:0}.panel-title>.action-row{flex-wrap:wrap;gap:12px}.save-bar{flex-wrap:wrap;align-items:flex-start;gap:10px}.save-bar>span{font-size:13px}.summary-strip strong{font-size:32px}.summary-strip>div{min-width:43%}.form-heading .small{font-size:14px}.receipt-actions{gap:10px 20px}footer{font-size:13px}footer>p{font-size:12px}.organizer-footer{padding-bottom:35px}}@media print{@page{margin:15mm;size:A4}body{color:#000;background:#fff;padding:0;font-size:11pt}.organizer-header{padding:0 0 20px;display:block}.organizer-header .brand{display:none}.organizer-tabs,.organizer-footer,.organizer-header>.button,.refresh-row,.admin-add,.editor-form,.table-assign,.panel-title .action-row,.seating-table .action-row,.error,.success,.unsaved-note,.remove-confirm{display:none!important}.organizer-main{padding:0}.organizer-header h1{font-size:22pt}.organizer-main:not([data-section=Mesas]){display:none}.seating-plan{grid-template-columns:1fr 1fr;gap:15px;display:grid}.seating-table{break-inside:avoid;border-color:#aaa;margin:0;padding:20px}.round-table{background:#fff;width:120px;height:120px}.round-table strong{color:#000;font-size:18pt}.round-table span,.seating-table li,.seating-table p{font-size:10pt}.seating-table li span{font-size:9pt}.panel-title h2{color:#000;font-size:22pt}}.organizer-main>.error,.organizer-main>.success{z-index:12;position:sticky;top:12px}@media print{.organizer-main>.error,.organizer-main>.success{display:none!important}}.rsvp-fields,.gift-fields{border:0;min-width:0;margin:0;padding:0}.rsvp-fields:disabled,.gift-fields:disabled{opacity:.7}.table-query-actions{flex-wrap:wrap;justify-content:center;gap:8px 22px;margin-top:15px;display:flex}.table-query-actions .text-link{font-size:14px}.draft-reset{justify-content:center;align-self:end}.attention-list{border-top:1px solid var(--line);margin:8px 0 30px}.attention-list button{text-align:left;border-bottom:1px solid var(--line);align-items:center;gap:15px;width:100%;padding:15px 0;font-size:14px;display:flex}.attention-list strong{font:30px var(--serif);color:var(--wine);min-width:38px}.attention-list span{flex:1}.attention-list svg{flex-shrink:0}.due-overdue{color:var(--wine);font-weight:600}.remove-dialog{border:1px solid var(--line);background:var(--paper-light);width:min(540px,90vw);max-height:85dvh;color:var(--ink);padding:35px;overflow:auto}.remove-dialog::backdrop{background:#352d2b80}.remove-dialog h2{font-size:32px}.remove-dialog p{margin:20px 0 30px;font-size:16px;line-height:1.8}.remove-dialog .action-row{flex-wrap:wrap;justify-content:flex-end}@media (max-width:760px){.table-query-actions{flex-direction:column;align-items:center}.remove-dialog{padding:28px 22px}.remove-dialog h2,.attention-list strong{font-size:28px}}@media print{.remove-dialog,.draft-reset{display:none!important}}.admin-add{display:block}.admin-add>.create-fields{border:0;flex-wrap:wrap;align-items:end;gap:20px;min-width:0;margin:0;padding:0;display:flex}.admin-add.task-add>.create-fields{grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.create-fields:disabled{opacity:.7}@media (max-width:760px){.admin-add>.create-fields,.admin-add.task-add>.create-fields{grid-template-columns:1fr;gap:15px;display:grid}}.config-fields{border:0;min-width:0;margin:0;padding:0}.config-fields:disabled{opacity:.7}.bulk-section{margin-bottom:30px}.bulk-section .panel-title{margin-bottom:20px}.bulk-section .panel-title h3{margin-bottom:10px}.bulk-section .panel-title>.text-link{white-space:nowrap}.bulk-section textarea{margin:8px 0 20px;line-height:1.7}.bulk-section .action-row{flex-wrap:wrap;justify-content:flex-start;margin-top:20px}.bulk-section .error,.bulk-section .success{margin-top:20px}.bulk-section .success-block{text-align:left;padding:15px 0}.bulk-section .form-grid select{margin-top:8px}.import-actions{flex-wrap:wrap;align-items:center;gap:25px;margin:22px 0;display:flex}.file-choice{cursor:pointer;text-underline-offset:5px;align-items:center;gap:10px;margin:0;padding:12px 0;font-size:14px;text-decoration:underline;display:flex;position:relative}.file-choice input{opacity:0;cursor:pointer;width:100%;margin:0;padding:0;position:absolute;inset:0}.file-choice:focus-within{outline:2px solid var(--wine);outline-offset:4px}.import-preview{min-width:720px}.import-preview td{white-space:normal;max-width:300px}.import-preview td:last-child{min-width:200px}.selection-bar{border-block:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:20px;margin-bottom:25px;padding:20px 0;display:flex}.selection-bar p{flex:1;min-width:200px;margin:0;font-size:15px}.selection-bar p span{color:var(--muted);margin-top:5px;font-size:13px;display:block}.selection-column{text-align:center;width:54px;min-width:54px;padding:12px}.selection-column input{width:20px;height:20px;accent-color:var(--wine);cursor:pointer;margin:0}@media (max-width:760px){.bulk-section .panel-title{flex-direction:column;align-items:flex-start;gap:8px}.bulk-section{padding:22px 18px}.bulk-section .action-row>.button{justify-content:center;width:100%}.import-actions{flex-direction:column;align-items:flex-start;gap:12px}.selection-bar{gap:12px}.selection-bar p{flex-basis:100%}.selection-bar .button{padding-inline:15px;font-size:13px}}@media print{.selection-bar,.bulk-section{display:none!important}}.row-select{cursor:pointer;justify-content:center;align-items:center;width:44px;height:44px;margin:0 auto;display:flex}.row-select input{width:20px;height:20px;accent-color:var(--wine);margin:0}.selection-column{padding:4px}@font-face{font-family:Baskerville;src:url(/fonts/supplied-baskerville-regular.woff2)format("woff2");font-style:normal;font-weight:400;font-display:swap}@font-face{font-family:Baskerville;src:url(/fonts/supplied-baskerville-semibold.woff2)format("woff2");font-style:normal;font-weight:600;font-display:swap}@font-face{font-family:Baskerville;src:url(/fonts/supplied-baskerville-bold.woff2)format("woff2");font-style:normal;font-weight:700;font-display:swap}@font-face{font-family:Baskerville;src:url(/fonts/supplied-baskerville-italic.woff2)format("woff2");font-style:italic;font-weight:400;font-display:swap}@font-face{font-family:Carattere;src:url(/fonts/supplied-carattere.woff2)format("woff2");font-weight:400;font-style:normal;font-display:swap}.invitation-header{background:var(--paper);margin:0;padding-inline:5%}.invitation-opening{background:var(--paper);text-align:center;flex-direction:column;align-items:center;padding:24px clamp(8px,2.5vw,32px) 36px;display:flex}.invitation-viewer{width:min(100%,760px)}.invitation-viewport{width:100%;overflow:hidden}.supplied-artwork{aspect-ratio:1440/1639.04;width:100%;position:relative}.supplied-artwork iframe{pointer-events:none;border:0;width:100%;height:100%;display:block;position:absolute;inset:0}.invitation-loading{background:var(--paper);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:12px;padding:24px;display:flex;position:absolute;inset:0}.invitation-loading p{font:18px/1.6 var(--serif);color:var(--wine);margin:0}.invitation-loading .text-link{font:14px/1.6 var(--sans);min-height:44px}.supplied-location-link,.supplied-rsvp-link{min-height:44px;display:block;position:absolute;transform:translateY(-50%)}.supplied-location-link{border-radius:40px;width:17.6215%;height:3.5655%;top:59.1523%;left:23.3792%}.supplied-rsvp-link{width:68.0833%;height:9.3152%;top:87.471%;left:16.2604%}.supplied-location-link:hover,.supplied-rsvp-link:hover{outline:1px solid var(--wine);outline-offset:4px}:is(.supplied-location-link:focus-visible,.supplied-rsvp-link:focus-visible){outline:2px solid var(--wine);outline-offset:5px}.invitation-viewport.expanded{overscroll-behavior:contain;border:1px solid var(--line);max-height:82svh;overflow:auto}.invitation-viewport.expanded .supplied-artwork{width:max(100%,1100px)}.invitation-zoom{justify-content:center;min-height:44px;margin-top:8px;font-size:14px}.invitation-zoom-hint{color:var(--muted);margin:4px auto 0;font-size:14px}.opening-actions{flex-wrap:wrap;justify-content:center;align-items:center;gap:12px 28px;max-width:100%;margin-top:0;display:flex}.opening-actions .text-link{min-height:44px;font-size:16px}.opening-deadline{color:var(--muted);margin:8px 0 0;font-size:16px;line-height:1.7}.nav .nav-artwork-link{align-items:center;width:190px;min-height:44px;padding:0;display:flex}.nav-artwork-link img{width:100%;height:auto}.nav .nav-artwork-link:after{display:none}.supplied-ornament{object-fit:contain;pointer-events:none;width:64px;height:auto;margin:0 auto 28px;display:block}.letter .signature,.closing>span{font-family:Carattere,cursive;font-size:42px;font-style:normal;font-weight:400;line-height:1.3}.venue-ornament{width:190px;margin:0 0 28px}.gifts-ornament{width:min(210px,50%);margin:0 auto 42px}.table-section>div:first-child{padding-left:60px;position:relative}.table-ornament{width:36px;height:auto;margin:0;position:absolute;top:4px;left:0}.closing-ornament{width:min(300px,65%);margin:0 auto 36px}.rsvp,.custom-gift{background:var(--wine);color:var(--paper)}.rsvp .button.primary:hover{background:var(--olive-paper);color:var(--wine)}.table-section{background:var(--olive-paper)}@media (max-width:1000px){.invitation-header .nav{padding-inline:6%;left:0;right:0}}@media (max-width:760px){.invitation-opening{padding:12px 5px 28px}.invitation-header{padding-inline:6%}.invitation-zoom{font-size:14px}.opening-deadline{padding-inline:12px;font-size:16px}.nav .nav-artwork-link{width:260px;max-width:100%;min-height:48px}.supplied-ornament{width:52px;margin-bottom:24px}.venue-ornament{width:160px;margin:0 0 24px}.gifts-ornament{width:165px;margin:0 auto 32px}.table-section>div:first-child{padding-left:46px}.table-ornament{width:29px;margin:0}.closing-ornament{width:240px;margin:0 auto 28px}}@media print{.invitation-zoom,.invitation-zoom-hint,.supplied-location-link,.supplied-rsvp-link{display:none}.invitation-viewport.expanded{border:0;max-height:none;overflow:visible}.invitation-viewport.expanded .supplied-artwork{width:100%}}.wedding-page{--reading:Baskerville,Georgia,serif;--calligraphy:Carattere,cursive}.wedding-page .section-wrap{padding-block:88px}.wedding-page h2{letter-spacing:-.015em;font-size:clamp(2.3rem,3.6vw,3.25rem);line-height:1.15}.wedding-page h2 em{font:400 1.4em/1.08 var(--calligraphy);letter-spacing:0;margin-top:4px;display:block}.wedding-page .letter p,.wedding-page .venue-copy>p,.wedding-page .practical p,.wedding-page .section-intro p,.wedding-page .table-section>div>p,.wedding-page .payment-notes p{font-family:var(--reading);font-size:20px;line-height:1.65}.wedding-page .section-intro .small{font-size:17px}.wedding-page .date-ribbon{background:var(--paper);border-block:1px solid var(--wine);max-width:1000px;font-family:var(--reading);gap:40px;margin:12px auto 0;padding:18px 24px;font-size:19px}.wedding-page .date-ribbon .text-link{font-family:var(--sans);font-size:14px}.wedding-page .letter{background:var(--paper);border:0;padding:64px 6%}.letter-inner{border:1px solid var(--wine);outline:1px solid var(--line);outline-offset:7px;max-width:850px;margin:auto;padding:48px 8%}.letter-inner h2{font-size:clamp(2.2rem,3.5vw,3.1rem)}.letter-inner>p{max-width:48ch;margin:28px auto 0}.wedding-page .letter .signature{font:400 44px/1.3 var(--calligraphy);color:var(--wine);margin-top:25px}.wedding-page .couple-gallery{grid-template-columns:minmax(0,1.045fr) minmax(0,1fr);align-items:start;gap:30px;max-width:1000px;margin:48px auto 0;scroll-margin-top:28px;display:grid}.wedding-page .couple-photo{border:1px solid var(--wine);outline:1px solid var(--line);outline-offset:7px;background:var(--paper);min-width:0;margin:0;padding:8px}.wedding-page .couple-photo img{width:100%;height:auto;display:block}.wedding-page .couple-photo-portrait{grid-area:1/2/span 2;scroll-margin-top:24px}.wedding-page .celebration{gap:9%;padding-top:44px}.venue-copy{text-align:center;min-width:0}.wedding-page .venue-ornament{width:175px;margin:0 auto 26px}.wedding-page .venue-copy>p{max-width:36ch;margin:24px auto}.wedding-page .address{font-family:var(--reading);justify-content:center;font-size:19px;line-height:1.5}.wedding-page .address span{font-family:var(--reading);font-size:17px}.wedding-page .day-program{border-color:var(--wine);padding:28px 0}.wedding-page .program-date{font:18px/1.5 var(--reading);color:var(--olive);border:0;justify-content:center;padding:0 0 20px}.wedding-page .day-program h3{font-family:var(--reading);color:var(--wine);font-size:26px}.wedding-page .day-program p{font:19px/1.5 var(--reading)}.wedding-page .time{min-width:74px;font-size:31px}.wedding-page .practical{padding-top:0;padding-bottom:64px}.wedding-page .practical h3{font-size:27px}.wedding-page .rsvp{background:var(--paper);color:var(--ink);border-block:1px solid var(--wine);align-items:center;gap:9%;position:relative}.wedding-page .rsvp h2{font:400 clamp(3.2rem,5.2vw,4.8rem)/1.12 var(--calligraphy);color:var(--wine);letter-spacing:0}.wedding-page .rsvp>div>p{font:20px/1.65 var(--reading);margin-top:23px}.wedding-page .rsvp .small{color:var(--muted);font-size:16px}.wedding-page .rsvp>div>p.small{font-size:18px}.wedding-page .rsvp label span{color:var(--muted)}.wedding-page .rsvp input[type=radio],.wedding-page .rsvp input[type=checkbox]{accent-color:var(--olive)}.wedding-page .rsvp .text-link{color:var(--wine)}.wedding-page .rsvp-ornament{width:220px;max-width:75%;margin:0 0 26px}.wedding-page .rsvp-form{border:1px solid var(--olive);outline:1px solid var(--line);outline-offset:6px;background:var(--paper);padding:28px 32px}.wedding-page .rsvp-form>form>label:first-child{margin-top:0}.wedding-page .button.primary{background:var(--olive);color:var(--paper);border:1px solid var(--olive);border-radius:1px;min-height:50px;padding:13px 22px;position:relative}.wedding-page .button.primary:before{content:"";border:1px solid var(--paper);pointer-events:none;position:absolute;inset:4px}.wedding-page .button.primary:hover{background:var(--wine);border-color:var(--wine);transform:none}.wedding-page .gifts-ornament{width:180px;margin-bottom:32px}.wedding-page .section-intro{gap:9%;margin-bottom:30px}.wedding-page .gift-explanation{border-block:1px solid var(--line);font:20px/1.55 var(--reading);color:var(--ink);margin-bottom:24px;padding:20px 0}.wedding-page .gift-explanation strong{color:var(--wine);font-weight:600}.wedding-page .gift-filters{border:0;gap:8px;margin-bottom:0;padding:8px 0 20px}.wedding-page .gift-filters button{font:18px/1.3 var(--reading);border:1px solid var(--line);min-height:44px;color:var(--olive);border-radius:1px;padding:9px 16px}.wedding-page .gift-filters button.active{background:var(--olive);border-color:var(--olive);color:var(--paper)}.wedding-page .gift-filters button:hover:not(.active){border-color:var(--olive)}.wedding-page .gift-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 48px}.wedding-page .gift{border:0;border-bottom:1px solid var(--line);color:var(--ink);background:0 0;grid-template-columns:54px minmax(0,1fr);align-items:start;padding:28px 0;display:grid}.wedding-page .gift-art{height:auto;min-height:0;color:var(--wine);background:0 0;padding-top:3px;display:block;overflow:visible}.wedding-page .gift:nth-child(n) .gift-art{background:0 0}.wedding-page .gift-flower{width:44px;max-width:100%;height:auto;margin:0}.wedding-page .custom-gift .gift-flower{width:54px}.wedding-page .gift-body{min-width:0;padding:0 0 0 15px}.wedding-page .gift h3{font:400 29px/1.15 var(--reading);color:var(--wine);margin-bottom:10px}.wedding-page .gift p{font:18px/1.55 var(--reading);min-height:0;margin-bottom:17px}.wedding-page .gift-footer{flex-wrap:wrap;align-items:center;gap:10px}.wedding-page .gift-footer strong{font:20px/1.4 var(--reading);color:var(--ink);margin:0}.wedding-page .gift-select{border:1px solid var(--olive);width:auto;height:auto;min-height:44px;font:18px/1.4 var(--reading);color:var(--olive);white-space:nowrap;border-radius:1px;gap:10px;padding:8px 13px}.wedding-page .gift-select:hover{background:var(--olive);color:var(--paper)}.wedding-page .custom-gift .gift-footer strong{max-width:none;font-size:18px}.wedding-page .payment-notes{border-color:var(--wine);gap:40px;margin-top:35px}.wedding-page .payment-notes strong{color:var(--olive);font-weight:600}.wedding-page .table-section{background:var(--paper);border-block:1px solid var(--wine);gap:9%}.wedding-page .table-result{border-color:var(--olive);outline:1px solid var(--line);outline-offset:6px;background:var(--paper);padding:30px}.wedding-page .table-symbol{border:0;width:50px;height:auto;margin-bottom:18px}.wedding-page .table-symbol .supplied-ornament{width:46px;margin:0}.wedding-page .table-result>p{font:19px/1.5 var(--reading)}.wedding-page .faq-heading>.supplied-ornament{width:165px;margin:0 0 26px}.wedding-page .faq summary{font:20px/1.4 var(--reading);min-height:56px;color:var(--ink);padding:20px 0}.wedding-page .faq details p{font:18px/1.65 var(--reading)}.wedding-page .closing{border-color:var(--wine);padding:70px 7% 80px}.wedding-page .closing>p{font:19px/1.6 var(--reading)}.wedding-page .closing h2{font-size:clamp(2.8rem,5vw,4rem)}.wedding-page .closing>span{font-size:46px}.gift-dialog{border:1px solid var(--olive);outline:1px solid var(--paper);outline-offset:-7px;background:var(--paper)}.gift-dialog-ornament{width:46px;height:auto;margin:0 auto 18px;display:block}.gift-dialog h2{letter-spacing:0;text-align:center;padding-inline:10px;font:400 44px/1.12 Carattere,cursive}.gift-dialog form>h2+p{text-align:center;font:19px/1.5 Baskerville,Georgia,serif}.gift-dialog .gift-symbolic-note{border-block:1px solid var(--line);color:var(--ink);margin:20px 0;padding:14px 0;font:18px/1.5 Baskerville,Georgia,serif}.gift-dialog .gift-symbolic-note strong{color:var(--wine);font-weight:600}.gift-dialog .receipt>p{font:19px/1.55 Baskerville,Georgia,serif}.gift-dialog .button.primary{background:var(--olive);color:var(--paper);border:1px solid var(--olive);border-radius:1px;position:relative}.gift-dialog .button.primary:before{content:"";border:1px solid var(--paper);pointer-events:none;position:absolute;inset:4px}.gift-dialog .button.primary:hover:not(:disabled){background:var(--wine);border-color:var(--wine);transform:none}@media (max-width:1000px){.wedding-page .gift-grid{column-gap:28px}.wedding-page .gift{grid-template-columns:40px minmax(0,1fr)}.wedding-page .gift h3{font-size:26px}}@media (max-width:760px){.wedding-page .section-wrap{padding-block:58px;padding-inline:7%}.wedding-page h2{font-size:clamp(2rem,8.5vw,2.65rem)}.wedding-page h2 em{font-size:1.4em;line-height:1.08}.wedding-page .date-ribbon{gap:8px 10px;max-width:calc(100% - 34px);margin-top:8px;padding:16px 8px;font-size:18px}.wedding-page .date-ribbon .event-end-summary{grid-column:1/-1}.wedding-page .letter{padding:46px 7%}.letter-inner{outline-offset:5px;padding:30px 18px}.letter-inner>p{margin-top:23px}.wedding-page .letter p,.wedding-page .venue-copy>p,.wedding-page .practical p,.wedding-page .section-intro p,.wedding-page .table-section>div>p,.wedding-page .payment-notes p{font-size:19px;line-height:1.6}.wedding-page .letter .signature{margin-top:22px;font-size:40px}.wedding-page .couple-gallery{grid-template-columns:1fr;gap:28px;margin-top:36px;scroll-margin-top:20px}.wedding-page .couple-photo{outline-offset:4px;padding:6px}.wedding-page .couple-photo-portrait{grid-area:auto}.wedding-page .celebration{gap:35px;padding-top:14px}.wedding-page .venue-ornament{width:145px}.wedding-page .day-program{padding:22px 0}.wedding-page .day-program li{gap:17px}.wedding-page .day-program h3{font-size:25px}.wedding-page .day-program p{font-size:18px}.wedding-page .practical{padding-top:0;padding-bottom:48px}.wedding-page .rsvp{gap:32px}.wedding-page .rsvp-ornament{width:195px;margin:0 auto 22px}.wedding-page .rsvp>div:first-child{text-align:center}.wedding-page .rsvp h2{font-size:clamp(3rem,12.4vw,4rem)}.wedding-page .rsvp>div>p{font-size:19px;line-height:1.6}.wedding-page .rsvp-form{outline-offset:4px;padding:24px 18px}.wedding-page .rsvp .button.primary{gap:12px;width:100%}.wedding-page .attendance label,.wedding-page .rsvp .checkbox{min-height:44px;margin-block:4px;padding-block:6px}.wedding-page .gift-filters button{min-height:44px}.wedding-page .gifts-ornament{width:145px;margin-bottom:27px}.wedding-page .section-intro{gap:22px;margin-bottom:25px}.wedding-page .section-intro .small{font-size:17px}.wedding-page .gift-grid{grid-template-columns:1fr;gap:0}.wedding-page .gift{grid-template-columns:42px minmax(0,1fr);padding:25px 0}.wedding-page .gift-flower{width:34px}.wedding-page .custom-gift .gift-flower{width:40px}.wedding-page .gift-body{padding-left:12px}.wedding-page .gift h3{font-size:28px}.wedding-page .gift p{font-size:18px}.wedding-page .gift-filters{gap:7px;padding-bottom:15px}.wedding-page .gift-filters button{padding:8px 12px;font-size:17px}.wedding-page .gift-footer{flex-wrap:wrap;gap:10px}.wedding-page .gift-select{margin-left:auto;font-size:17px}.wedding-page .payment-notes{gap:10px;margin-top:28px}.wedding-page .table-section{gap:30px}.wedding-page .table-result{outline-offset:4px;padding:25px 17px}.wedding-page .table-result input{font-size:16px}.wedding-page .table-result .button{gap:10px;min-height:48px;font-size:15px}.wedding-page .faq{gap:25px}.wedding-page .faq-heading>.supplied-ornament{width:140px;margin:0 auto 22px}.wedding-page .faq-heading{text-align:center}.wedding-page .faq summary{gap:18px;font-size:20px}.wedding-page .closing{padding:55px 7% 65px}.wedding-page .closing h2{font-size:3.2rem}.wedding-page .closing>span{font-size:42px}.gift-dialog h2{font-size:40px}}.wedding-page .opening-deadline{font-family:var(--reading);color:#a0273e;border-block:1px solid #a0273e;max-width:700px;margin:28px auto 20px;padding:20px 16px;font-size:clamp(24px,3.5vw,32px);font-weight:700;line-height:1.35}.wedding-page .date-ribbon{justify-content:center;display:flex}.wedding-page .date-ribbon .text-link{margin:0}.wedding-page .letter-inner{color:#fcf8e6;background:#a0273e;border-color:#fcf8e6;outline-color:#a0273e}.wedding-page .letter-inner h2,.wedding-page .letter-inner h2 em,.wedding-page .letter-inner p{color:#fcf8e6}.arrival-directions{margin-top:16px}.wedding-page .day-program .time{white-space:nowrap;flex-shrink:0;align-items:baseline;gap:4px;min-width:105px;display:inline-flex}.wedding-page .day-program .time small{font-size:14px;display:inline}.dresscode-swatches{flex-wrap:wrap;gap:12px;margin-top:22px;display:flex}.dresscode-swatches span{border:1px solid #0002;border-radius:50%;width:38px;height:38px;display:block}.venue-map{border:1px solid var(--line);border-radius:4px;width:100%;height:300px;margin-top:24px;display:block}.wedding-page .illustrated-gift{grid-template-columns:minmax(0,1fr);align-content:start;gap:20px}.wedding-page .illustrated-gift .gift-art{padding:0;overflow:hidden}.wedding-page .gift-illustration{aspect-ratio:1;object-fit:contain;border:1px solid var(--line);width:100%;height:auto;display:block}.wedding-page .illustrated-gift .gift-body{flex-direction:column;padding:0 0 6px;display:flex}.wedding-page .illustrated-gift .gift-footer{margin-top:auto}@media (prefers-reduced-motion:no-preference){.wedding-page .gift-illustration{transition:border-color .24s}.wedding-page .gift-select,.wedding-page .gift-filters button,.wedding-page .text-link{transition:background-color .18s,color .18s,border-color .18s,transform .14s}.wedding-page .gift-select svg,.wedding-page .text-link svg,.wedding-page .button svg{transition:transform .22s cubic-bezier(.16,1,.3,1)}.wedding-page button:active:not(:disabled){transform:scale(.98)}.gift-dialog[open]{animation:.28s cubic-bezier(.16,1,.3,1) gift-dialog-arrive}.gift-dialog[open]::backdrop{animation:.18s ease-out gift-backdrop-arrive}.wedding-page .faq details[open] p{animation:.22s ease-out answer-arrive}.wedding-page .success-block>svg{animation:.26s ease-out answer-arrive}}@media (hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){.wedding-page .illustrated-gift:hover .gift-illustration{border-color:var(--wine)}.wedding-page .gift-select:hover svg,.wedding-page .text-link:hover svg,.wedding-page .button:hover svg{transform:translate(2px,-2px)}}@keyframes gift-dialog-arrive{0%{opacity:.55;transform:translateY(14px)scale(.985)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes gift-backdrop-arrive{0%{opacity:0}to{opacity:1}}@keyframes answer-arrive{0%{opacity:.5;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}@media (max-width:600px){.wedding-page .illustrated-gift{gap:18px;padding-block:28px}.wedding-page .illustrated-gift .gift-body{padding:0}}.gift-transfer .gift-dialog-ornament{width:34px;margin-bottom:12px}.gift-transfer h2{margin:12px 0}.gift-transfer>.dialog-amount{text-align:center;margin:12px 0 22px}.gift-transfer .free-amount{font:22px/1.4 Baskerville,Georgia,serif}.bank-details h3{color:var(--wine);margin-bottom:8px;font:600 17px/1.5 Manrope,sans-serif}.bank-details dl{-webkit-user-select:text;user-select:text;overflow-wrap:anywhere;font:14px/1.55 Manrope,sans-serif}.bank-details dl>div{border-bottom:1px solid var(--line);grid-template-columns:125px minmax(0,1fr);gap:12px;padding:7px 0;display:grid}.bank-details dt{color:var(--muted)}.bank-details dd{-webkit-user-select:all;user-select:all}.bank-details .small{margin:14px 0 0;font:13px/1.65 Manrope,sans-serif}.bank-details .button{margin-top:20px}.gift-transfer>.gift-description{margin-top:24px;font:18px/1.5 Baskerville,Georgia,serif}.gift-transfer>.gift-symbolic-note{border:0;margin:12px 0 24px;padding:0;font-size:16px}.gift-notification{border-top:1px solid var(--line);padding-top:8px}.gift-notification summary{min-height:52px;color:var(--wine);justify-content:space-between;align-items:center;gap:16px;font:600 14px/1.5 Manrope,sans-serif;display:flex}.gift-notification summary svg{flex-shrink:0;transition:transform .2s ease-out}.gift-notification[open] summary svg{transform:rotate(180deg)}.gift-notification>p{margin:10px 0 20px;font:14px/1.7 Manrope,sans-serif}.gift-contact{margin:24px 0 0;font:14px/1.7 Manrope,sans-serif}.gift-contact .text-link,.faq-contact .text-link{display:inline-flex}.faq-contact{margin:24px 0 0;font:19px/1.6 Baskerville,Georgia,serif}.transfer-loading{min-height:230px;font-size:15px}@media (max-width:480px){.gift-transfer .bank-details dl>div{grid-template-columns:105px minmax(0,1fr);gap:8px}.bank-details dl{font-size:13px}.bank-details .button{padding-inline:12px;font-size:13px}.gift-transfer h2{font-size:36px}}@media (prefers-reduced-motion:reduce){.gift-notification summary svg{transition:none}}.wedding-page .event-details time{color:var(--wine);display:block}.wedding-page .event-details strong{font-weight:600}.wedding-page .date-ribbon{flex-wrap:wrap;gap:8px 32px}.wedding-page .date-ribbon .share-status{text-align:center;font:14px/1.7 var(--sans);color:var(--muted);overflow-wrap:anywhere;flex-basis:100%;margin:0}.share-status a{text-underline-offset:4px;text-decoration:underline}.invitation-viewport.expanded{scroll-behavior:auto;max-height:72svh;scroll-padding:0}.invitation-zoom{margin-top:14px}.invitation-zoom-hint{font-family:var(--sans);max-width:55ch;line-height:1.65}@media (max-width:480px){.wedding-page .date-ribbon{column-gap:18px}}.menu-intro{margin:28px 0 8px}.menu-intro h4,.menu-saved h4{font:600 18px/1.4 var(--serif);color:var(--wine);margin:0 0 12px}.menu-intro p{font:16px/1.65 var(--serif);margin:0}.person-menu{border-top:1px solid var(--line);min-width:0;margin:26px 0 30px;padding:18px 0 0}.person-menu legend{font:600 20px/1.4 var(--serif);color:var(--wine);margin-bottom:0;padding-right:16px}.person-menu-grid{grid-template-columns:minmax(0,1fr);display:grid}.person-menu-grid>div{min-width:0}.person-menu-grid select{max-width:100%}.person-menu-grid .menu-option-detail{font:13px/1.6 var(--sans);color:var(--muted);margin:8px 0 0}.person-menu-grid .menu-description{font:14px/1.65 var(--sans);color:var(--muted);grid-column:1/-1;margin:12px 0 0}.menu-saved{text-align:left;border-top:1px solid var(--line);margin:24px 0;padding-top:20px}.menu-saved ul{margin:0;padding:0;list-style:none}.menu-saved li{border-bottom:1px solid var(--line);font:14px/1.8 var(--sans);overflow-wrap:anywhere;padding:16px 0}.menu-saved li strong,.menu-saved li span{display:block}.menu-saved li strong{color:var(--wine);margin-bottom:5px;font-size:16px}.menu-organization{margin-top:36px}.menu-organization .panel-title h3{font-size:28px}.menu-counts{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px 30px;margin:28px 0;display:grid}.menu-counts h4{color:var(--wine);font:600 21px/1.4 var(--serif);margin:0 0 12px}.menu-counts dl{margin:0;font-size:14px}.menu-counts dl>div{border-bottom:1px solid var(--line);justify-content:space-between;gap:16px;padding:9px 0;display:flex}.menu-counts dd{font-variant-numeric:tabular-nums;font-weight:600}.menu-detail-table{min-width:920px}.menu-detail-table td{white-space:normal;max-width:260px}.guest-menu-list{padding-left:18px;font-size:14px;line-height:1.7}.guest-menu-list li{margin:10px 0}@media (max-width:1000px){.menu-counts{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:760px){.menu-counts{grid-template-columns:minmax(0,1fr)}.menu-organization .panel-title{flex-direction:column;align-items:flex-start}.menu-organization .panel-title .button{width:100%}}.invitation-loading~a{visibility:hidden}.wedding-page .code-help{margin:20px 0 0}.wedding-page .code-help .text-link{min-height:0;font:inherit;line-height:inherit;text-underline-offset:4px;text-decoration:underline;display:inline}.no-script-note{max-width:70ch;font:15px/1.7 var(--sans);color:var(--wine);margin:20px auto;padding:16px 24px}.no-script-note a{text-decoration:underline}.wedding-page .page-reading-cue{width:min(100%,620px);min-height:44px;color:var(--wine);font:16px/1.5 var(--sans);text-align:left;justify-content:center;align-items:center;gap:18px;margin:0 auto 24px;padding:12px 16px;display:flex}.page-reading-cue strong,.page-reading-cue span>span{display:block}.page-reading-cue strong{margin-bottom:3px;font-size:20px;font-weight:700}.page-reading-cue>svg{flex-shrink:0}.page-reading-cue:hover strong{text-underline-offset:4px;text-decoration:underline}.wedding-page .opening-code-reminder{border-bottom:1px solid var(--line);width:min(100%,620px);font:16px/1.6 var(--sans);text-align:center;margin:0 auto 8px;padding:12px 16px 20px}.opening-code-reminder strong{color:var(--wine);font:700 22px/1.35 var(--serif);margin-bottom:10px;display:block}.opening-code-reminder span{display:block}@media (max-width:480px){.wedding-page .page-reading-cue{gap:14px;margin-bottom:12px;padding:10px 16px;font-size:15px}.page-reading-cue strong{font-size:19px}}.wedding-page .code-entry-shortcut{max-width:100%;min-height:48px;font:600 16px/1.4 var(--sans);justify-content:center;margin-top:18px}@media (max-width:480px){.wedding-page .code-entry-shortcut{width:100%}}
