:root{--forest:#123b32;--forest-deep:#092820;--gold:#c9a65a;--gold-light:#e3cd91;--paper:#f4e9d2;--ink:#26372f;--font-display:"Iowan Old Style","Baskerville","Times New Roman",serif;--font-sans:"Avenir Next","Helvetica Neue",Arial,sans-serif}*{box-sizing:border-box}body,html{min-height:100%}body{margin:0;color:var(--ink);background:#e8e2d7;font-family:var(--font-sans),sans-serif}button{font:inherit}.wedding-stage{position:relative;min-height:100svh;display:grid;place-items:center;overflow:hidden;padding:30px 12px 64px;background:radial-gradient(circle at 50% 42%,rgba(255,255,255,.92),transparent 38%),linear-gradient(145deg,#eee9e0,#dcd4c7)}.wedding-stage:before{content:"";position:absolute;inset:18px;border:1px solid rgba(47,67,57,.12);pointer-events:none}.ambient-light{position:absolute;width:min(90vw,820px);height:28%;left:50%;top:63%;transform:translate(-50%,-50%);background:radial-gradient(ellipse,rgba(38,35,27,.18),transparent 68%);filter:blur(18px)}.passport{--book-w:min(94vw,720px);--book-h:calc(var(--book-w) * .675);position:relative;width:var(--book-w);height:var(--book-h);padding:0;border:0;color:inherit;background:transparent;perspective:1500px;cursor:default;-webkit-tap-highlight-color:transparent;filter:drop-shadow(0 24px 20px rgba(29,28,23,.18))}.passport-experience,.passport-interaction-slot{display:contents}.mobile-passport-chrome{display:none}.passport-open-control{position:absolute;z-index:20;top:0;left:25%;width:50%;height:100%;padding:0;border:0;border-radius:8px 12px 12px 8px;background:transparent;cursor:pointer}.passport-open-control:focus-visible{outline:2px solid var(--gold);outline-offset:12px}.passport-spread,.spread-wrap{position:absolute;inset:0}.passport:not(.is-open) .spread-wrap{pointer-events:none}.page-turn-stack,.passport-navigator,.spread-layer{position:absolute;inset:0}.passport-navigator{overflow:hidden;border-radius:5px 9px 9px 5px;perspective:1500px;transform-style:preserve-3d;pointer-events:none;isolation:isolate}.passport-navigator button{pointer-events:auto}.spread-layer{z-index:4;overflow:hidden;border-radius:inherit;transform-style:preserve-3d}.spread-layer--visible{pointer-events:none}.spread-layer--visible button{position:relative;z-index:20;pointer-events:auto}.passport-spread{display:grid;grid-template-columns:1fr 1fr;border-radius:5px 9px 9px 5px;box-shadow:0 2px 3px rgba(41,33,19,.2),0 18px 46px rgba(41,33,19,.17),0 0 0 1px rgba(111,86,48,.08);overflow:hidden;transform:rotateX(1.2deg);transform-style:preserve-3d}.passport-page{position:relative;min-width:0;overflow:hidden;padding:clamp(12px,3.2vw,30px);text-align:left;background-color:var(--paper);background-image:radial-gradient(ellipse at 18% 74%,transparent 0 27%,rgba(50,103,78,.027) 27.2% 27.55%,transparent 27.8% 33%,rgba(50,103,78,.018) 33.2% 33.5%,transparent 33.8%),radial-gradient(ellipse at 88% 20%,transparent 0 21%,rgba(168,126,60,.026) 21.2% 21.5%,transparent 21.8% 27%,rgba(168,126,60,.018) 27.2% 27.5%,transparent 27.8%),linear-gradient(125deg,rgba(175,130,59,.045),transparent 42%,rgba(119,87,39,.025)),repeating-linear-gradient(0deg,transparent 0 8px,rgba(78,99,82,.01) 8px 9px),repeating-linear-gradient(90deg,transparent 0 10px,rgba(78,99,82,.008) 10px 11px);border:1px solid rgba(99,76,41,.14)}.passport-page:before{content:"";position:absolute;inset:0;pointer-events:none;background:repeating-radial-gradient(ellipse at 48% 112%,transparent 0 14px,rgba(41,87,67,.018) 14.5px 15px,transparent 15.5px 22px),linear-gradient(90deg,rgba(91,61,25,.035),transparent 4%,transparent 96%,rgba(91,61,25,.05));mix-blend-mode:multiply}.passport-page:after{content:"GM";position:absolute;right:-3%;bottom:-15%;color:rgba(38,74,59,.035);font:600 clamp(90px,15vw,170px)/1 var(--font-display),serif}.passport-page--left{border-radius:5px 0 0 5px;box-shadow:inset -28px 0 28px -30px rgba(43,29,12,.7),inset 4px 0 7px rgba(91,61,25,.055),inset 0 -3px 5px rgba(91,61,25,.06)}.passport-page--right{border-radius:0 7px 7px 0;box-shadow:inset 28px 0 28px -30px rgba(43,29,12,.7),inset -4px 0 7px rgba(91,61,25,.065),inset 0 -3px 5px rgba(91,61,25,.06)}.book-spine{position:absolute;z-index:4;top:.6%;bottom:.8%;left:50%;width:12px;transform:translateX(-50%);background:linear-gradient(90deg,rgba(46,31,13,.15),rgba(119,88,43,.05) 24%,rgba(255,250,235,.52) 48%,rgba(91,61,25,.08) 72%,rgba(46,31,13,.16));box-shadow:-5px 0 11px rgba(56,39,17,.11),5px 0 11px rgba(56,39,17,.1);opacity:.82}.book-spine:after{content:"";position:absolute;top:2%;bottom:2%;left:50%;width:1px;background:rgba(79,52,20,.22);box-shadow:1px 0 rgba(255,255,255,.48)}.field-label,.identity-fields span,.page-kicker{font:500 clamp(5px,1.3vw,9px)/1.4 var(--font-sans),sans-serif;letter-spacing:.18em;text-transform:uppercase}.page-kicker{color:#6d7e70;border-bottom:1px solid rgba(45,78,61,.22);padding-bottom:8px}.portrait-placeholder{position:absolute;top:17%;left:9%;right:9%;height:50%;overflow:hidden;border:1px solid rgba(44,69,55,.25);background:#c8c1ae;box-shadow:0 5px 14px rgba(44,35,20,.14)}.portrait-placeholder:after{content:"";position:absolute;inset:5px;border:1px solid rgba(255,255,255,.45)}.portrait-placeholder img{object-fit:cover;object-position:50% 40%}.identity-copy{position:absolute;top:71%;left:9%;right:9%;display:grid;grid-template-columns:1.2fr 1fr;grid-column-gap:10%;column-gap:10%}.identity-copy .field-label,.identity-copy h1{grid-column:1}.identity-copy h1{margin:3px 0 0;color:#21483a;font:600 clamp(13px,2.8vw,22px)/.95 var(--font-display),serif;text-transform:uppercase}.field-label{margin:0;color:#8a7560}.identity-fields{grid-column:2;grid-row:1/span 2;display:grid;grid-gap:7px;gap:7px}.identity-fields div{display:grid;grid-gap:2px;gap:2px;border-top:1px solid rgba(63,83,71,.16);padding-top:5px}.identity-fields span{color:#8a7560;letter-spacing:.08em}.identity-fields strong{font:500 clamp(7px,1.7vw,12px)/1.2 var(--font-display),serif}.machine-line{position:absolute;left:9%;right:8%;bottom:8%;overflow:hidden;white-space:nowrap;color:#4d6559;font:500 clamp(5px,1.25vw,8px)/1 monospace;letter-spacing:.08em}.page-number{position:absolute;right:7%;bottom:4%;color:#9b8868;font-size:clamp(6px,1vw,9px)}.contents-page{position:relative;height:100%}.contents-page h2{margin:clamp(10px,2.6vw,22px) 0 clamp(9px,2vw,17px);color:#21483a;font:500 clamp(19px,4.25vw,38px)/.95 var(--font-display),serif;letter-spacing:.045em;text-transform:uppercase}.contents-page ol{display:grid;grid-gap:clamp(4px,1vw,8px);gap:clamp(4px,1vw,8px);margin:0;padding:0;list-style:none}.contents-page li{min-width:0}.contents-row{width:100%;display:grid;grid-template-columns:auto 1fr auto;align-items:baseline;grid-gap:clamp(5px,1.2vw,10px);gap:clamp(5px,1.2vw,10px)}.contents-page button.contents-row{padding:1px 0;border:0;background:transparent;cursor:pointer}.contents-row>span:first-child{color:#a1814c;font:600 clamp(6px,1.3vw,9px)/1 var(--font-sans),sans-serif;letter-spacing:.1em}.contents-row i{border-bottom:1px solid rgba(58,75,64,.18)}.contents-page .menu-label{max-width:190px;color:#263b31;text-align:right;font:500 clamp(7px,1.55vw,11px)/1.15 var(--font-sans),sans-serif;letter-spacing:.015em}.contents-page button.contents-row:hover .menu-label{color:#9a773f}.contents-page button.contents-row:focus-visible{outline:1px solid var(--gold);outline-offset:3px}.section-placeholder{position:absolute;inset:20% 10% 12%;display:grid;align-content:center}.section-placeholder p{margin:0 0 8px;color:#8a7560;font:500 clamp(6px,1.25vw,9px)/1.4 var(--font-sans),sans-serif;letter-spacing:.16em;text-transform:uppercase}.section-placeholder h2{max-width:90%;margin:0;color:#21483a;font:500 clamp(22px,4.5vw,40px)/.98 var(--font-display),serif;letter-spacing:.035em;text-transform:uppercase}.section-placeholder--copy p{max-width:70%;color:#52665a;font:400 clamp(8px,1.7vw,13px)/1.5 var(--font-display),serif;letter-spacing:.02em;text-transform:none}.return-to-contents{position:absolute;z-index:5;right:8%;bottom:8%;padding:4px 0;border:0;border-bottom:1px solid rgba(154,119,63,.28);color:#6f765f;background:transparent;font:500 clamp(6px,1.25vw,9px)/1 var(--font-sans),sans-serif;letter-spacing:.12em;text-transform:uppercase;cursor:pointer}.return-to-contents span{margin-right:.35em;color:#a1814c}.return-to-contents:focus-visible{outline:1px solid var(--gold);outline-offset:3px}.section-page{--detail-green:#21483a;--detail-gold:#9f7c42;isolation:isolate}.section-page>*{z-index:1}.section-page-header{position:relative;z-index:25;display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;grid-gap:clamp(5px,1.2vw,10px);gap:clamp(5px,1.2vw,10px);pointer-events:none}.section-page-header strong{color:var(--detail-gold);font-weight:600;letter-spacing:.14em}.section-page-header .section-contents-control{pointer-events:auto}.section-stamp{position:absolute;top:7%;left:9%;right:7%;height:21%;display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-rows:auto 1fr;align-content:center;grid-gap:4px 12px;gap:4px 12px;transform:rotate(-1.2deg);border:1px solid rgba(125,78,49,.38);border-radius:47% 52% 46% 51%/18% 22% 17% 24%;padding:clamp(7px,1.6vw,13px) clamp(10px,2.3vw,18px);color:rgba(103,62,40,.72);background:repeating-linear-gradient(2deg,transparent 0 5px,rgba(126,75,47,.025) 5px 6px),radial-gradient(ellipse at 18% 45%,rgba(151,99,62,.05),transparent 58%);text-transform:uppercase}.section-stamp:before{content:"";position:absolute;inset:4px 5px;border:1px solid rgba(125,78,49,.18);border-radius:inherit}.section-stamp span{grid-column:1;grid-row:1;align-self:end;font:500 clamp(4px,.8vw,6px)/1 var(--font-sans),sans-serif;letter-spacing:.17em}.section-stamp strong{grid-column:1;grid-row:2;align-self:center;color:rgba(72,61,45,.82);font:500 clamp(12px,2.6vw,22px)/.9 var(--font-display),serif;letter-spacing:.055em}.section-stamp--long strong{padding-right:6px;font-size:clamp(10px,2.15vw,18px);letter-spacing:.025em}.section-stamp b{grid-row:1/3;grid-column:2;align-self:center;padding-left:12px;border-left:1px solid rgba(125,78,49,.25);font:500 clamp(25px,5.8vw,47px)/.8 var(--font-display),serif}.section-graphic{position:absolute;top:32%;left:9%;width:84%;height:42%;overflow:hidden;border:1px solid rgba(54,72,61,.22);box-shadow:inset 0 0 0 4px rgba(247,238,218,.36),0 4px 10px rgba(44,35,20,.11)}.section-graphic:before{content:"";position:absolute;z-index:2;inset:5px;border:1px solid rgba(249,242,225,.52);pointer-events:none}.section-graphic svg{display:block;width:100%;height:100%}.section-photo img{object-fit:cover}.section-photo--weekend img{object-position:50% 48%}.section-photo--travel img{object-position:50% 42%}.section-photo--stay img{object-position:50% 27%}.section-photo--packing img{object-position:50% 61%}.section-photo--gifts img{object-position:50% 38%}.section-photo--faqs img{object-position:50% 28%}.section-photo--rsvp img{object-position:50% 42%}.wedding-section-graphic{background:linear-gradient(158deg,#e2d6bd,#aeb6a1)}.wedding-section-graphic svg{filter:sepia(.12) saturate(.78)}.graphic-sun{fill:#ead7a7;opacity:.92}.graphic-hill{stroke:rgba(37,68,51,.18);stroke-width:1}.graphic-hill--far{fill:#9eaa92}.graphic-hill--near{fill:#6e806c}.graphic-arch{fill:none;stroke:rgba(244,235,211,.88);stroke-width:5}.graphic-aisle{fill:rgba(233,217,183,.48)}.graphic-cypress{fill:#385b49;opacity:.78}.graphic-flight-line{fill:none;stroke:rgba(244,235,211,.52);stroke-width:1;stroke-dasharray:4 5}.travel-map-graphic{background:radial-gradient(circle at 30% 26%,transparent 0 18%,rgba(54,89,69,.055) 18.5% 19%,transparent 19.5%),linear-gradient(145deg,#e8ddc7,#c8cbb7)}.context-section-graphic{background:radial-gradient(circle at 50% 44%,rgba(243,235,211,.92),rgba(190,195,172,.56)),linear-gradient(155deg,#ddd2b8,#aab5a2)}.context-section-graphic svg{color:var(--detail-green)}.context-orbit{fill:none;stroke:rgba(159,124,66,.28);stroke-width:1;stroke-dasharray:2 5}.context-symbol{fill:none;stroke:currentColor;stroke-width:2.1;stroke-linecap:round;stroke-linejoin:round}.context-route{fill:none;stroke:rgba(159,124,66,.5);stroke-width:1.2;stroke-dasharray:4 4}.context-section-graphic--food .context-symbol path:last-child,.context-section-graphic--rsvp .context-symbol circle{fill:rgba(159,124,66,.11)}.context-section-graphic--gifts .context-symbol,.context-section-graphic--rsvp .context-symbol{stroke:#7e6338}.placeholder-section-content{padding-right:2px}.italy-outline{fill:rgba(65,93,72,.26);stroke:#496b58;stroke-width:1.4}.italy-island{fill:rgba(65,93,72,.2);stroke:#496b58;stroke-width:1}.tuscany-region{fill:rgba(178,139,72,.46);stroke:#9d7740;stroke-width:1.2}.map-routes{fill:none;stroke:rgba(129,87,52,.65);stroke-width:1.4;stroke-dasharray:4 4}.map-markers circle{fill:#f1e5cb;stroke:#8d643f;stroke-width:1.5}.map-markers .destination-marker{fill:#a77d42;stroke:#f1e5cb;stroke-width:2}.map-labels{fill:#536b5c;font:600 7px var(--font-sans),sans-serif;letter-spacing:.08em}.map-labels .destination-label{fill:#765936;font-size:8px}.map-compass{fill:#9d7740}.map-north{fill:#765936;font:600 7px var(--font-sans),sans-serif}.section-metadata{position:absolute;top:78%;left:9%;right:7%;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:clamp(5px,1vw,9px);gap:clamp(5px,1vw,9px);margin:0}.section-metadata:has(>div:nth-child(3)){grid-template-columns:repeat(3,minmax(0,1fr))}.section-metadata>div{padding-top:5px;border-top:1px solid rgba(159,124,66,.24)}.section-metadata dt{color:#907b64;font:500 clamp(4px,.85vw,7px)/1 var(--font-sans),sans-serif;letter-spacing:.13em;text-transform:uppercase}.section-metadata dd{margin:2px 0 0;color:#2e493c;font:500 clamp(6px,1.25vw,10px)/1.15 var(--font-display),serif}.metadata-lines{display:grid;grid-gap:1px;gap:1px}.metadata-lines>span{white-space:nowrap}.section-scroll-frame{position:absolute;top:16%;right:8%;bottom:14%;left:10%;overflow:hidden}.section-scrollable-content{height:100%;overflow-x:hidden;overflow-y:auto;pointer-events:auto;touch-action:pan-y;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;scrollbar-width:none;padding:1px 2% 16px 0}.section-scrollable-content::-webkit-scrollbar{display:none}.section-scrollable-content:focus-visible{outline:1px solid rgba(159,124,66,.45);outline-offset:2px}.section-scroll-frame:after{content:"";position:absolute;right:0;bottom:0;left:0;height:18%;background:linear-gradient(transparent,rgba(244,233,210,.94));opacity:0;pointer-events:none;transition:opacity .2s}.section-scroll-frame[data-has-more=true]:after{opacity:1}.section-scroll-hint{position:absolute;z-index:2;right:1%;bottom:1px;display:flex;align-items:center;gap:3px;color:rgba(122,99,64,.58);opacity:0;font:500 clamp(3px,.7vw,5px)/1 var(--font-sans),sans-serif;letter-spacing:.12em;text-transform:uppercase;pointer-events:none;transition:opacity .2s}.section-scroll-hint i{color:var(--detail-gold);font-size:1.2em;font-style:normal}.section-scroll-frame[data-has-more=true] .section-scroll-hint{opacity:1}.wedding-section-content{display:grid;grid-gap:clamp(8px,1.7vw,14px);gap:clamp(8px,1.7vw,14px)}.wedding-welcome{padding-right:9%}.wedding-welcome p{max-width:90%;margin:0;color:#334e41;font:400 clamp(7px,1.42vw,11px)/1.38 var(--font-display),serif}.wedding-welcome p:first-letter{color:var(--detail-gold);font-size:1.65em;line-height:.7}.wedding-venue{padding-left:7px;border-left:1px solid rgba(159,124,66,.27)}.wedding-itinerary-heading p,.wedding-venue p{margin:0;color:#927952;font:600 clamp(4px,.85vw,7px)/1 var(--font-sans),sans-serif;letter-spacing:.15em;text-transform:uppercase}.wedding-venue h3{margin:3px 0 1px;color:var(--detail-green);font:500 clamp(7px,1.45vw,12px)/1 var(--font-display),serif}.wedding-venue>span{color:#6f7d72;font:500 clamp(4px,.85vw,7px)/1 var(--font-sans),sans-serif;letter-spacing:.08em;text-transform:uppercase}.wedding-itinerary-heading{display:flex;align-items:baseline;justify-content:space-between;gap:5px}.wedding-itinerary-heading>span{color:#8a897b;font:500 clamp(3.5px,.75vw,6px)/1 var(--font-sans),sans-serif;letter-spacing:.08em;text-transform:uppercase}.wedding-itinerary ol{display:grid;grid-gap:2px;gap:2px;margin:5px 0 0;padding:0;list-style:none}.wedding-itinerary li{display:grid;grid-template-columns:34px 1fr;align-items:baseline;border-bottom:1px dotted rgba(57,78,66,.22);padding-bottom:1px}.wedding-itinerary time{color:var(--detail-gold);font:600 clamp(4px,.9vw,7px)/1 var(--font-sans),sans-serif;letter-spacing:.08em}.wedding-itinerary li>span{color:#41584c;font:500 clamp(5px,1vw,8px)/1.1 var(--font-display),serif}.wedding-coordinates{justify-self:end;color:rgba(49,76,61,.5);font:500 clamp(3.5px,.75vw,6px)/1 monospace;letter-spacing:.08em}.travel-section-content{display:grid;grid-gap:clamp(12px,2.4vw,20px);gap:clamp(12px,2.4vw,20px)}.travel-info-section{padding-left:8px;border-left:1px solid rgba(159,124,66,.25)}.travel-info-section>p:first-child{margin:0 0 3px;color:#927952;font:600 clamp(4px,.85vw,7px)/1 var(--font-sans),sans-serif;letter-spacing:.14em;text-transform:uppercase}.travel-info-section h3{margin:0 0 4px;color:var(--detail-green);font:500 clamp(8px,1.55vw,13px)/1 var(--font-display),serif}.travel-info-section p:not(:first-child){margin:0 0 5px;color:#455c50;font:400 clamp(6px,1.2vw,9px)/1.4 var(--font-display),serif}.travel-info-section p:last-child{margin-bottom:0}.content-list{display:grid;grid-gap:3px;gap:3px;margin:6px 0 0;padding-left:15px;color:#455c50;font:400 clamp(6px,1.2vw,9px)/1.4 var(--font-display),serif}.content-list li::marker{color:var(--detail-gold)}.content-schedule{display:grid;grid-gap:3px;gap:3px;margin:6px 0 0}.content-schedule div{display:grid;grid-template-columns:minmax(62px,.8fr) 1fr;grid-gap:7px;gap:7px;border-bottom:1px dotted rgba(57,78,66,.22);padding-bottom:2px}.content-schedule dt{color:var(--detail-gold);font:600 clamp(5px,1vw,8px)/1.2 var(--font-sans),sans-serif}.content-schedule dd{margin:0;color:#455c50;font:500 clamp(6px,1.2vw,9px)/1.2 var(--font-display),serif}.wedding-entry-stamp{position:absolute;right:7%;top:17%;width:clamp(38px,8vw,58px);aspect-ratio:1;display:grid;place-content:center;transform:rotate(8deg);border:1px solid rgba(150,104,67,.2);border-radius:50%;color:rgba(139,91,58,.34);text-align:center;text-transform:uppercase;pointer-events:none}.wedding-entry-stamp:before{content:"";position:absolute;inset:3px;border:1px solid;border-radius:inherit}.wedding-entry-stamp span{font:600 clamp(4px,.8vw,6px)/1 var(--font-sans),sans-serif;letter-spacing:.12em}.wedding-entry-stamp strong{margin:2px 0;font:600 clamp(5px,1vw,8px)/1 var(--font-display),serif}.wedding-entry-stamp small{font:500 clamp(3px,.65vw,5px)/1 var(--font-sans),sans-serif;letter-spacing:.08em}.section-page-number{position:absolute;right:9%;bottom:4%;color:#9b8868;font:500 clamp(4px,.8vw,7px)/1 var(--font-sans),sans-serif;letter-spacing:.12em}.section-left-page .section-page-number{right:auto;left:9%}.section-contents-control{position:relative;z-index:5;padding:clamp(3px,.65vw,5px) clamp(5px,1vw,8px);border:1px solid rgba(139,105,57,.3);border-radius:999px;color:#465d51;background:rgba(244,233,210,.72);font:500 clamp(5px,1vw,8px)/1 var(--font-sans),sans-serif;letter-spacing:.11em;text-transform:uppercase;cursor:pointer}.spread-layer--visible .section-contents-control{z-index:25}.section-contents-control span{margin-right:.35em;color:var(--detail-gold)}.section-contents-control:hover{color:#8a6938}.section-contents-control:focus-visible{outline:1px solid var(--gold);outline-offset:3px}.passport-close-control{position:absolute;z-index:25;top:5.2%;right:8%;padding:clamp(3px,.65vw,5px) clamp(5px,1vw,8px);border:1px solid rgba(139,105,57,.3);border-radius:999px;color:#465d51;background:rgba(244,233,210,.72);font:500 clamp(5px,1vw,8px)/1 var(--font-sans),sans-serif;letter-spacing:.1em;text-transform:uppercase;cursor:pointer}.passport-close-control span{margin-right:.25em;color:var(--detail-gold,#9f7c42)}.passport-close-control:hover{color:#8a6938}.passport-close-control:focus-visible{outline:1px solid var(--gold);outline-offset:3px}@media (min-width:521px){.contents-page .passport-close-control{top:0;right:0}}.mobile-page-focus-trigger,.mobile-spread-reset{display:none}.page-turn-stack{z-index:12;overflow:hidden;border-radius:inherit;pointer-events:none;transform-style:preserve-3d;contain:paint;isolation:isolate}.page-turn-swap-shield{position:absolute;z-index:8;inset:.6% 0 .8%;border:1px solid rgba(107,82,45,.12);border-radius:5px 8px 8px 5px;background-color:#f4e9d2;background-image:radial-gradient(ellipse at 18% 74%,transparent 0 27%,rgba(50,103,78,.024) 27.2% 27.55%,transparent 27.8%),radial-gradient(ellipse at 88% 20%,transparent 0 21%,rgba(168,126,60,.022) 21.2% 21.5%,transparent 21.8%),linear-gradient(125deg,rgba(175,130,59,.04),transparent 42%,rgba(119,87,39,.022));box-shadow:inset 0 0 13px rgba(75,50,20,.06)}.page-turn-swap-trigger{position:absolute;width:1px;height:1px;pointer-events:none}.turning-sheet{position:absolute;top:.6%;width:50%;height:98.6%;border-radius:1px 7px 7px 1px;transform-style:preserve-3d;will-change:transform,filter;isolation:isolate}.page-turn-stack--backward .turning-sheet{border-radius:7px 1px 1px 7px}.turning-sheet__face{position:absolute;inset:-1px;overflow:hidden;border:1px solid rgba(107,82,45,.14);border-radius:inherit;backface-visibility:hidden;-webkit-backface-visibility:hidden;transform-style:flat;opacity:1;background-color:#f4ead5;background-image:radial-gradient(ellipse at 82% 25%,transparent 0 25%,rgba(47,96,74,.026) 25.3% 25.65%,transparent 26%),linear-gradient(105deg,rgba(126,91,42,.05),transparent 24%,rgba(255,255,255,.18) 52%,transparent 78%),repeating-linear-gradient(0deg,transparent 0 9px,rgba(64,88,70,.01) 9px 10px);box-shadow:inset 0 0 11px rgba(75,50,20,.07)}.turning-sheet__face:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(59,38,14,.12),transparent 8%,transparent 78%,rgba(255,255,255,.3));opacity:.55}.turning-sheet__back{transform:rotateY(180deg);background-color:#f0e4cd}.turning-sheet__back:after{transform:scaleX(-1)}.page-turn-spine-overlay{position:absolute;z-index:30;top:.6%;bottom:.8%;left:50%;width:12px;transform:translateX(-50%);background:linear-gradient(90deg,rgba(46,31,13,.14),rgba(255,250,235,.46) 48%,rgba(46,31,13,.15));box-shadow:-5px 0 10px rgba(56,39,17,.1),5px 0 10px rgba(56,39,17,.09);opacity:.75}.page-turn-spine-overlay:after{content:"";position:absolute;top:2%;bottom:2%;left:50%;width:1px;background:rgba(79,52,20,.2);box-shadow:1px 0 rgba(255,255,255,.42)}.passport-cover{position:absolute;z-index:8;top:0;width:50%;height:100%;transform-style:preserve-3d;transform-origin:left center;border-radius:8px 12px 12px 8px}.passport.is-open .passport-cover{pointer-events:none}.cover-inside,.passport-cover-face{position:absolute;inset:0;-webkit-backface-visibility:hidden;backface-visibility:hidden;border-radius:inherit}.passport-cover-face{z-index:2;color:var(--gold-light);background-color:var(--forest);background-image:radial-gradient(circle at 20% 30%,rgba(255,255,255,.035),transparent 25%),repeating-linear-gradient(88deg,transparent 0 2px,rgba(255,255,255,.018) 2px 3px),repeating-linear-gradient(2deg,transparent 0 3px,rgba(0,0,0,.025) 3px 4px),linear-gradient(125deg,rgba(255,255,255,.05),transparent 40%,rgba(0,0,0,.12));border:1px solid #08261e;box-shadow:inset 0 0 0 2px rgba(204,171,93,.08),inset 12px 0 22px rgba(0,0,0,.18),4px 8px 15px rgba(20,29,24,.25)}.cover-inside{transform:rotateY(180deg);background:rgba(244,236,217,.04);border:1px solid rgba(85,64,35,.12);box-shadow:inset -16px 0 25px rgba(54,38,18,.08)}.cover-frame{position:absolute;inset:6%;display:flex;flex-direction:column;align-items:center;border:1px solid rgba(217,184,105,.48);padding:9% 7%}.cover-frame:after,.cover-frame:before{content:"";position:absolute;inset:5px;border:1px solid rgba(217,184,105,.18)}.cover-country{margin:0;font:500 clamp(9px,2vw,15px)/1 var(--font-sans),sans-serif;letter-spacing:.34em;text-transform:uppercase}.monogram{width:clamp(60px,16vw,118px);aspect-ratio:1;display:grid;place-items:center;margin:auto 0;border:1px solid rgba(221,188,111,.6);border-radius:50%;outline:1px solid rgba(221,188,111,.22);outline-offset:6px}.monogram:after,.monogram:before{content:"";position:absolute;width:22%;height:1px;background:var(--gold);opacity:.55}.monogram:before{transform:translateX(-178%)}.monogram:after{transform:translateX(178%)}.monogram span{font:500 clamp(25px,6vw,48px)/1 var(--font-display),serif;letter-spacing:-.08em}.cover-title{text-align:center;text-transform:uppercase}.cover-title h2{margin:0 0 7px;font:500 clamp(13px,3vw,22px)/1 var(--font-display),serif;letter-spacing:.11em}.cover-title p{margin:0;font:500 clamp(6px,1.4vw,10px)/1 var(--font-sans),sans-serif;letter-spacing:.22em}.cover-flourish{display:flex;align-items:center;width:58%;gap:8px;margin-top:9%}.cover-flourish i{flex:1 1;height:1px;background:rgba(221,188,111,.45)}.cover-flourish b{font-size:8px;font-weight:400}.interaction-hint{position:absolute;left:0;right:0;bottom:clamp(22px,5vh,44px);margin:0;color:#53645b;text-align:center;font:500 9px/1 var(--font-sans),sans-serif;letter-spacing:.2em;text-transform:uppercase;transition:opacity .3s}.wedding-stage:has(.passport.is-open) .interaction-hint{opacity:0}@media (max-width:520px){.wedding-stage{padding-inline:8px}.passport{--book-w:min(96vw,430px)}.passport-page{padding:11px}.page-kicker{padding-bottom:5px}.contents-page h2{margin-top:9px}.portrait-placeholder{top:17%}.identity-copy{top:71%}.contents-page ol{gap:3px}.contents-page li{gap:4px}.contents-page .menu-label{max-width:124px;font-size:clamp(6.5px,2.15vw,9px);line-height:1.05}.section-stamp{top:7%;height:21%;gap:2px 7px;padding:6px 9px}.section-stamp b{padding-left:8px}.section-graphic{top:32%;height:42%}.section-metadata{top:78%;gap:5px}.section-scroll-frame{top:17%;bottom:15%}.wedding-section-content{gap:7px}.wedding-welcome{padding-right:8%}.wedding-venue{padding-left:5px}.wedding-itinerary ol{gap:1px;margin-top:4px}.wedding-itinerary li{grid-template-columns:29px 1fr}.wedding-entry-stamp{right:6%;top:18%;width:37px}.travel-section-content{gap:10px}.travel-info-section{padding-left:5px}.passport:not(.is-opening):has(.mobile-readable-spread[data-focused-page]){--book-h:calc(var(--book-w) * 1.45)}.passport:not(.is-opening):has(.mobile-readable-spread[data-focused-page]) .passport-cover{opacity:0;pointer-events:none}.passport{transition:height .28s ease}.mobile-readable-spread[data-focused-page]{display:block}.mobile-readable-spread[data-focused-page=left] .passport-page--right,.mobile-readable-spread[data-focused-page=right] .passport-page--left{display:none}.mobile-readable-spread[data-focused-page] .passport-page{width:100%;height:100%;border-radius:7px;box-shadow:inset 4px 0 7px rgba(91,61,25,.045),inset -4px 0 7px rgba(91,61,25,.045),inset 0 -3px 5px rgba(91,61,25,.06)}.mobile-readable-spread[data-focused-page] .book-spine,.section-detail-spread[data-focused-page] .section-contents-control{display:none}.mobile-page-focus-trigger{position:absolute;z-index:14;inset:0;display:block;width:100%;padding:0;border:0;color:#705d3e;background:transparent;cursor:zoom-in}.spread-layer--visible .mobile-page-focus-trigger{position:absolute}.mobile-page-focus-trigger span{position:absolute;left:50%;bottom:7%;transform:translateX(-50%);padding:4px 7px;border:1px solid rgba(139,105,57,.2);border-radius:999px;background:rgba(244,233,210,.82);font:600 5px/1 var(--font-sans),sans-serif;letter-spacing:.12em;text-transform:uppercase;white-space:nowrap}.mobile-readable-spread[data-focused-page] .mobile-page-focus-trigger{display:none}.initial-spread .contents-page nav,.initial-spread .passport-close-control{position:relative;z-index:25}.initial-spread .passport-close-control{position:absolute}.spread-layer--visible .initial-spread .contents-page button.menu-label{z-index:30}.initial-spread[data-focused-page] .page-kicker{font-size:8px}.initial-spread[data-focused-page] .portrait-placeholder{top:16%;left:8%;width:40%;height:49%}.initial-spread[data-focused-page] .portrait-placeholder span{font-size:10px}.initial-spread[data-focused-page] .identity-copy{top:18%;left:53%;right:7%}.initial-spread[data-focused-page] .field-label{font-size:8px}.initial-spread[data-focused-page] .identity-copy h1{font-size:28px}.initial-spread[data-focused-page] .identity-fields span{font-size:7px}.initial-spread[data-focused-page] .identity-fields strong{font-size:13px}.initial-spread[data-focused-page] .machine-line{font-size:8px}.initial-spread[data-focused-page] .contents-page h2{font-size:34px}.initial-spread[data-focused-page] .contents-page ol{gap:8px}.initial-spread[data-focused-page] .contents-page li{gap:7px}.initial-spread[data-focused-page] .contents-page li>span:first-child{font-size:8px}.initial-spread[data-focused-page] .contents-page .menu-label{max-width:230px;font-size:13px}.initial-spread[data-focused-page] .passport-close-control{font-size:7px}.mobile-spread-reset{position:absolute;z-index:30;left:50%;bottom:3.5%;display:block;transform:translateX(-50%);padding:5px 8px;border:1px solid rgba(139,105,57,.26);border-radius:999px;color:#5c6a60;background:rgba(244,233,210,.94);font:600 7px/1 var(--font-sans),sans-serif;letter-spacing:.1em;text-transform:uppercase;white-space:nowrap;cursor:zoom-out}.spread-layer--visible .mobile-spread-reset{position:absolute}.mobile-spread-reset span{margin-right:3px;color:var(--gold)}.mobile-spread-reset:focus-visible{outline:1px solid var(--gold);outline-offset:3px}.section-detail-spread[data-focused-page] .section-stamp{padding:10px 14px}.section-detail-spread[data-focused-page] .section-stamp span{font-size:7px}.section-detail-spread[data-focused-page] .section-stamp strong{font-size:23px}.section-detail-spread[data-focused-page] .section-stamp--long strong{font-size:19px}.section-detail-spread[data-focused-page] .section-stamp b{font-size:42px}.section-detail-spread[data-focused-page] .section-metadata{gap:13px}.section-detail-spread[data-focused-page] .section-metadata dt{font-size:7px}.section-detail-spread[data-focused-page] .section-metadata dd{font-size:12px}.section-detail-spread[data-focused-page] .page-kicker{font-size:8px}.section-detail-spread[data-focused-page] .section-scrollable-content{padding-bottom:28px}.section-detail-spread[data-focused-page] .wedding-section-content{gap:18px}.section-detail-spread[data-focused-page] .wedding-welcome p{font-size:16px}.section-detail-spread[data-focused-page] .travel-info-section>p:first-child,.section-detail-spread[data-focused-page] .wedding-itinerary-heading p,.section-detail-spread[data-focused-page] .wedding-venue p{font-size:7px}.section-detail-spread[data-focused-page] .travel-info-section h3,.section-detail-spread[data-focused-page] .wedding-venue h3{font-size:17px}.section-detail-spread[data-focused-page] .wedding-venue>span{font-size:7px}.section-detail-spread[data-focused-page] .wedding-itinerary ol{gap:5px}.section-detail-spread[data-focused-page] .wedding-itinerary li{grid-template-columns:48px 1fr}.section-detail-spread[data-focused-page] .wedding-itinerary time{font-size:7px}.section-detail-spread[data-focused-page] .wedding-itinerary li>span{font-size:12px}.section-detail-spread[data-focused-page] .travel-section-content{gap:20px}.section-detail-spread[data-focused-page] .travel-info-section{padding-left:9px}.section-detail-spread[data-focused-page] .content-list,.section-detail-spread[data-focused-page] .content-schedule dd,.section-detail-spread[data-focused-page] .travel-info-section p:not(:first-child){font-size:12px}.section-detail-spread[data-focused-page] .content-schedule dt{font-size:9px}.section-detail-spread[data-focused-page] .section-page-number{font-size:7px}.section-detail-spread[data-focused-page] .section-scroll-hint{font-size:6px}}@media (prefers-reduced-motion:reduce){*,:after,:before{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.rsvp-flow{display:grid;grid-gap:10px;gap:10px;color:#385044;font:400 clamp(6px,1.2vw,9px)/1.4 var(--font-display),serif}.rsvp-flow h3{margin:0;color:var(--detail-green);font:500 clamp(10px,2vw,16px)/1.05 var(--font-display),serif}.rsvp-flow p{margin:0}.rsvp-progress{color:#927952;font:600 clamp(4px,.85vw,7px)/1 var(--font-sans),sans-serif;letter-spacing:.13em;text-transform:uppercase}.rsvp-guest-list{margin:0;padding-left:18px}.rsvp-person{display:grid;grid-gap:8px;gap:8px;margin:0;border:1px solid rgba(159,124,66,.25);padding:8px}.rsvp-person legend{color:var(--detail-green);font-weight:600;padding:0 4px}.rsvp-flow label{display:grid;grid-gap:3px;gap:3px;color:#6f604c;font:600 clamp(5px,1vw,8px)/1.2 var(--font-sans),sans-serif;letter-spacing:.05em}.rsvp-flow input,.rsvp-flow select,.rsvp-flow textarea{width:100%;min-height:28px;border:1px solid rgba(59,80,67,.28);border-radius:3px;padding:6px;color:#263b31;background:rgba(255,251,239,.68);font:400 max(9px,1em)/1.35 var(--font-sans),sans-serif}.rsvp-flow textarea{min-height:54px;resize:vertical}.rsvp-question{display:grid;grid-gap:5px;gap:5px}.rsvp-choice{display:flex;flex-wrap:wrap;gap:5px}.rsvp-actions button,.rsvp-choice button,.rsvp-primary{min-height:28px;border:1px solid rgba(139,105,57,.35);border-radius:999px;padding:5px 9px;color:#40584b;background:rgba(244,233,210,.88);font:600 clamp(5px,1vw,8px)/1 var(--font-sans),sans-serif;text-transform:uppercase;letter-spacing:.08em;cursor:pointer}.rsvp-choice button[aria-pressed=true],.rsvp-primary{color:#f5ead4;background:#21483a}.rsvp-actions{display:flex;justify-content:space-between;gap:8px}.rsvp-error{color:#8b3f32;font-weight:600}.rsvp-review{border-left:1px solid rgba(159,124,66,.35);padding-left:7px}.rsvp-flight{display:grid;grid-gap:5px;gap:5px;margin:0;border:0;padding:0}.rsvp-flight>legend{padding:0;color:#6f604c;font:600 clamp(5px,1vw,8px)/1.2 var(--font-sans),sans-serif;letter-spacing:.05em}.rsvp-flight-options{display:grid;grid-gap:4px;gap:4px}.rsvp-flight-options label{display:flex;align-items:center;gap:6px;border:1px solid rgba(59,80,67,.2);border-radius:4px;padding:5px;background:rgba(255,251,239,.45);cursor:pointer}.rsvp-flight-options label:has(input:checked){border-color:#315e4d;background:rgba(49,94,77,.1)}.rsvp-flight-options input{width:auto;min-height:0;margin:0;accent-color:#21483a}.rsvp-flight-options span{display:grid;color:#52665a;font-weight:400}.rsvp-flight-options strong{color:#263b31}.admin-shell,.invitation-error{min-height:100svh;padding:clamp(24px,5vw,64px);color:#26372f;background:#e8e2d7;font-family:var(--font-sans),sans-serif}.invitation-error{display:grid;place-items:center;text-align:center}.invitation-error div{max-width:560px}.admin-shell h1,.admin-shell h2,.invitation-error h1{font-family:var(--font-display),serif;color:#123b32}.admin-shell{max-width:1100px;margin:auto}.admin-shell header{display:flex;justify-content:space-between;align-items:flex-end;gap:20px}.admin-shell nav{display:flex;flex-wrap:wrap;gap:8px;margin:24px 0}.admin-shell a,.admin-shell button{color:#123b32}.admin-shell nav a{border:1px solid #b8aa90;border-radius:999px;padding:7px 11px;text-decoration:none}.admin-shell nav a.active{color:#fff;background:#123b32}.admin-main-nav{padding-bottom:16px;border-bottom:1px solid #c7b99f}.admin-filter-nav{margin-top:16px!important}.admin-rsvp-overview{border:1px solid #b8aa90;border-radius:10px;padding:clamp(18px,3vw,28px);background:#f4e9d2;box-shadow:0 8px 24px rgba(38,55,47,.06)}.admin-rsvp-heading{display:flex;align-items:baseline;justify-content:space-between;gap:16px;margin-bottom:18px}.admin-rsvp-heading p{margin:0;color:#786c58;font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase}.admin-rsvp-heading h2{margin:0;font-size:clamp(24px,3vw,32px);font-weight:500}.admin-rsvp-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:10px;gap:10px;margin:0}.admin-rsvp-summary div{min-width:0;border:1px solid rgba(158,141,112,.45);border-radius:7px;padding:14px;background:rgba(255,255,255,.32)}.admin-rsvp-summary dt{color:#6f634f;font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.admin-rsvp-summary dd{margin:8px 0 0;color:#123b32;font:500 clamp(36px,5vw,54px)/.9 var(--font-display),serif}.admin-response-rate{margin-top:18px}.admin-response-rate p{margin:0 0 9px;color:#4f5e54}.admin-response-rate strong{color:#123b32}.admin-response-rate progress{display:block;width:100%;height:7px;overflow:hidden;border:0;border-radius:999px;background:#ded3bd}.admin-response-rate progress::-webkit-progress-bar{border-radius:999px;background:#ded3bd}.admin-response-rate progress::-webkit-progress-value{border-radius:999px;background:#315e4d}.admin-response-rate progress::-moz-progress-bar{border-radius:999px;background:#315e4d}.admin-coach-overview,.admin-travel-overview{margin-top:16px;border:1px solid #c7b99f;border-radius:10px;padding:clamp(18px,3vw,28px);background:#f4e9d2}.admin-travel-heading{display:flex;align-items:baseline;justify-content:space-between;gap:16px;margin-bottom:18px}.admin-travel-heading p,.admin-travel-panel-heading p{margin:0;color:#786c58;font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase}.admin-travel-heading h2{margin:0;font-size:clamp(22px,3vw,30px);font-weight:500}.admin-coach-airports,.admin-flight-sections{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:14px;gap:14px}.admin-coach-airports>section,.admin-travel-panel{min-width:0;border:1px solid rgba(158,141,112,.45);border-radius:8px;padding:14px;background:rgba(255,255,255,.24)}.admin-travel-panel-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:12px}.admin-travel-panel-heading h3{margin:3px 0 0;color:#123b32;font:500 21px/1.05 var(--font-display),serif}.admin-travel-panel-heading>strong{flex:none;border-radius:999px;padding:5px 8px;color:#665b49;background:#ded3bd;font-size:11px;font-weight:700}.admin-airport-cards,.admin-coach-summary,.admin-travel-cards{display:grid;grid-gap:8px;gap:8px;margin:0}.admin-travel-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-airport-cards>div,.admin-coach-summary>div,.admin-travel-cards>div{min-width:0;border:1px solid rgba(158,141,112,.35);border-radius:6px;padding:11px;background:rgba(255,255,255,.38)}.admin-airport-cards dt,.admin-coach-summary dt,.admin-travel-cards dt{color:#665b49;font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.admin-travel-cards dt span{display:block;margin-top:4px;color:#887a64;font-size:11px;font-weight:500;letter-spacing:0;text-transform:none}.admin-airport-cards dd,.admin-coach-summary dd,.admin-travel-cards dd{margin:8px 0 0;color:#123b32;font:500 32px/.9 var(--font-display),serif}.admin-airport-cards .admin-travel-card-muted,.admin-travel-cards .admin-travel-card-muted{background:#e7decc}.admin-coach-summary{grid-template-columns:repeat(3,minmax(0,1fr));margin-bottom:14px}.admin-coach-summary dd{font-size:clamp(36px,5vw,48px)}.admin-airport-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-table{display:grid;grid-gap:12px;gap:12px}.admin-card,.admin-detail,.admin-login form{display:block;border:1px solid #c7b99f;border-radius:8px;padding:18px;background:#f4e9d2;text-decoration:none}.admin-card h2{margin:0}.admin-card dl{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));grid-gap:10px;gap:10px}.admin-card dt{color:#786c58;font-size:11px;text-transform:uppercase}.admin-card dd{margin:3px 0}.status{float:right;border-radius:999px;padding:4px 8px;font-size:11px;text-transform:uppercase}.status--responded{color:#fff;background:#315e4d}.status--not_responded{background:#ded3bd}.admin-detail{margin-top:16px}.admin-detail small{font:500 12px var(--font-sans),sans-serif;text-transform:uppercase}.admin-login{display:grid;place-items:center}.admin-login form{width:min(100%,420px);display:grid;grid-gap:14px;gap:14px}.admin-login label{display:grid;grid-gap:5px;gap:5px}.admin-login input{min-height:42px;padding:8px}.admin-login button{min-height:42px;color:white;border:0;background:#123b32}.admin-error{color:#8b3f32}.admin-success{color:#315e4d;font-weight:700}.admin-actions,.admin-copy-link,.admin-inline-actions,.admin-title-row{display:flex;align-items:center;justify-content:space-between;gap:12px}.admin-title-row h1,.admin-title-row h2{margin-bottom:4px}.admin-inline-actions{justify-content:flex-end}.admin-button-link,.admin-inline-actions a,.admin-shell button{border:1px solid #9e8d70;border-radius:5px;padding:9px 13px;background:#efe4d0;text-decoration:none;cursor:pointer;font:600 13px var(--font-sans),sans-serif}.admin-primary,.admin-shell button.admin-primary{color:#fff;border-color:#123b32;background:#123b32}.admin-shell button:disabled{cursor:not-allowed;opacity:.55}.admin-copy-link{justify-content:flex-start;flex-wrap:wrap;margin:12px 0}.admin-copy-link code,.admin-detail code{overflow-wrap:anywhere;border-radius:4px;padding:7px 9px;background:rgba(255,255,255,.45)}.admin-manage-card{color:#26372f}.admin-guest-list{display:grid;grid-gap:6px;gap:6px;margin-top:14px}.admin-guest-list>div{display:flex;align-items:center;justify-content:space-between;gap:16px;border-top:1px solid rgba(158,141,112,.35);padding-top:8px}.admin-guest-list span:first-child{display:grid}.admin-guest-list small{color:#786c58;text-transform:uppercase}.guest-response{border-radius:999px;padding:5px 8px;background:#ded3bd;font-size:12px;white-space:nowrap}.guest-response--answered{color:#fff;background:#315e4d}.admin-editor,.admin-import-panel,.admin-search{display:grid;grid-gap:16px;gap:16px;border:1px solid #c7b99f;border-radius:8px;padding:18px;background:#f4e9d2}.admin-search{grid-template-columns:minmax(220px,2fr) minmax(160px,1fr) auto;align-items:end;margin-bottom:20px}.admin-shell label{display:grid;grid-gap:6px;gap:6px;color:#5e5547;font-size:13px;font-weight:700}.admin-shell input,.admin-shell select,.admin-shell textarea{min-width:0;min-height:42px;border:1px solid #ad9e84;border-radius:4px;padding:8px 10px;color:#26372f;background:#fffaf0;font:inherit}.admin-guest-editor{display:grid;grid-gap:12px;gap:12px}.admin-guest-editor fieldset{margin:0;border:1px solid #b8aa90;border-radius:6px;padding:14px}.admin-guest-editor legend{padding:0 6px;color:#123b32;font-weight:700}.admin-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:12px;gap:12px}.admin-text-button{margin-top:12px}.admin-delete-panel{margin-top:28px;border-top:1px solid #b27b70;padding-top:18px}.admin-shell button.admin-danger{color:#fff;border-color:#7a3329;background:#7a3329}.admin-import-preview{display:grid;grid-gap:12px;gap:12px;border-top:1px solid #c7b99f;padding-top:12px}.admin-import-preview dl{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:8px;gap:8px}.admin-import-preview dl div{border-radius:5px;padding:10px;background:rgba(255,255,255,.45)}.admin-import-preview dt{color:#786c58;font-size:11px;text-transform:uppercase}.admin-import-preview dd{margin:4px 0 0;font-size:20px}.admin-import-group{display:flex;justify-content:space-between;gap:12px;border-bottom:1px solid rgba(158,141,112,.35);padding-bottom:7px}.admin-flight-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:8px;gap:8px}.admin-flight-summary div{border-radius:5px;padding:9px;background:rgba(255,255,255,.4)}.admin-flight-summary dt{color:#786c58;font-size:11px}.admin-flight-summary dd{margin:4px 0 0;color:#123b32;font-size:20px;font-weight:700}@media(max-width:520px){.section-detail-spread[data-focused-page] .rsvp-flow{gap:14px;font-size:12px}.section-detail-spread[data-focused-page] .rsvp-flow h3{font-size:20px}.section-detail-spread[data-focused-page] .rsvp-flow label{font-size:10px}.section-detail-spread[data-focused-page] .rsvp-actions button,.section-detail-spread[data-focused-page] .rsvp-choice button,.section-detail-spread[data-focused-page] .rsvp-primary{min-height:40px;font-size:9px;padding:8px 12px}.section-detail-spread[data-focused-page] .rsvp-flow input,.section-detail-spread[data-focused-page] .rsvp-flow select,.section-detail-spread[data-focused-page] .rsvp-flow textarea{min-height:42px;font-size:16px}.section-detail-spread[data-focused-page] .rsvp-flight-options input{width:auto;min-height:0}.admin-card dl{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-guest-list>div,.admin-import-group,.admin-shell header,.admin-title-row{align-items:flex-start;flex-direction:column}.admin-form-grid,.admin-search{grid-template-columns:1fr}.admin-import-preview dl{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-flight-summary{grid-template-columns:1fr}.admin-rsvp-heading{align-items:flex-start;flex-direction:column;gap:4px}.admin-rsvp-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-rsvp-summary div{padding:12px}.admin-rsvp-summary dd{font-size:40px}.admin-travel-heading{align-items:flex-start;flex-direction:column;gap:4px}.admin-coach-airports,.admin-flight-sections{grid-template-columns:1fr}.admin-coach-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-travel-cards{grid-template-columns:1fr 1fr}}@media (max-width:860px){body:has(.wedding-stage),html:has(.wedding-stage){width:100%;height:100dvh;min-height:0;overflow:hidden;overscroll-behavior:none}body:has(.wedding-stage){position:fixed;inset:0}.wedding-stage{--mobile-stage-pad-top:max(18px,env(safe-area-inset-top));--mobile-stage-pad-bottom:max(24px,env(safe-area-inset-bottom));--mobile-stage-gap:clamp(8px,1.2dvh,12px);--mobile-navigation-height:72px;position:fixed;inset:0;width:100%;height:100dvh;min-height:0;overflow:hidden;overscroll-behavior:none;touch-action:manipulation;padding:var(--mobile-stage-pad-top) max(8px,env(safe-area-inset-right)) var(--mobile-stage-pad-bottom) max(8px,env(safe-area-inset-left))}.wedding-stage:before{inset:max(8px,env(safe-area-inset-top)) 7px max(8px,env(safe-area-inset-bottom))}.passport-experience{--mobile-interaction-height:30px;width:100%;min-width:0;max-width:100%;display:grid;grid-template-rows:auto var(--mobile-interaction-height);justify-items:center;align-items:start;grid-gap:var(--mobile-stage-gap);gap:var(--mobile-stage-gap);overflow:visible}.passport-experience[data-passport-open=true]{--mobile-interaction-height:var(--mobile-navigation-height)}.passport-interaction-slot{width:100%;height:var(--mobile-interaction-height);display:grid;place-items:start center}.passport{--book-w:min(96vw,560px,calc((100dvh - var(--mobile-stage-pad-top) - var(--mobile-stage-pad-bottom) - var(--mobile-stage-gap) - var(--mobile-navigation-height)) / 1.45));--book-h:calc(var(--book-w) * 1.45);justify-self:unsafe center;transition:width .64s cubic-bezier(.22,.72,.2,1),height .64s cubic-bezier(.22,.72,.2,1)}.passport,.passport.is-opening,.passport:not(.is-open){margin-inline:0}.passport.mobile-reader-active,.passport.mobile-reader-ready{--book-w:min(96vw,560px,calc((100dvh - var(--mobile-stage-pad-top) - var(--mobile-stage-pad-bottom) - var(--mobile-stage-gap) - var(--mobile-navigation-height)) / 1.45));--book-h:calc(var(--book-w) * 1.45)}.passport.mobile-reader-ready .passport-cover{opacity:0;pointer-events:none;transition:opacity .18s ease}.passport-cover{width:100%}.passport-open-control{left:0;width:100%}.passport-cover-face .cover-frame{inset:5%;padding:8% 6%}.passport-cover-face .cover-country{font-size:clamp(11px,2.8vw,15px)}.passport-cover-face .monogram{width:clamp(76px,21vw,112px)}.passport-cover-face .monogram span{font-size:clamp(30px,8vw,44px)}.passport-cover-face .cover-title h2{margin-bottom:8px;font-size:clamp(17px,4.6vw,22px)}.passport-cover-face .cover-title p{font-size:clamp(8px,2.1vw,10px)}.passport-cover-face .cover-flourish{width:64%;margin-top:8%}.passport-cover-face .cover-flourish b{font-size:10px}.interaction-hint{position:static;align-self:start;padding-inline:16px;font-size:9px;line-height:1.35}.mobile-readable-spread[data-focused-page]{display:block;touch-action:pan-y;transform:none}.mobile-readable-spread[data-focused-page] .passport-page{position:absolute;inset:0;width:100%;height:100%;border-radius:8px;padding:clamp(18px,5vw,24px);box-shadow:inset 5px 0 9px rgba(91,61,25,.05),inset -5px 0 9px rgba(91,61,25,.05),inset 0 -4px 7px rgba(91,61,25,.065);transition:opacity .22s ease,transform .3s cubic-bezier(.22,.72,.2,1)}.mobile-readable-spread[data-focused-page=left] .passport-page--left,.mobile-readable-spread[data-focused-page=right] .passport-page--right{z-index:2;display:block;opacity:1;visibility:visible;transform:translateX(0);pointer-events:auto}.mobile-readable-spread[data-focused-page=left] .passport-page--right{z-index:1;display:block;opacity:0;visibility:hidden;transform:translateX(4%);pointer-events:none}.mobile-readable-spread[data-focused-page=right] .passport-page--left{z-index:1;display:block;opacity:0;visibility:hidden;transform:translateX(-4%);pointer-events:none}.mobile-readable-spread:not([data-reader-entry=true])[data-navigation-direction=forward] .passport-page--left,.mobile-readable-spread:not([data-reader-entry=true])[data-navigation-direction=forward] .passport-page--right{transform-origin:center left;animation:mobile-page-forward .28s cubic-bezier(.22,.72,.2,1)}.mobile-readable-spread:not([data-reader-entry=true])[data-navigation-direction=backward] .passport-page--left,.mobile-readable-spread:not([data-reader-entry=true])[data-navigation-direction=backward] .passport-page--right{transform-origin:center right;animation:mobile-page-backward .28s cubic-bezier(.22,.72,.2,1)}.mobile-readable-spread .mobile-page-focus-trigger,.mobile-readable-spread[data-focused-page] .book-spine,.mobile-spread-reset{display:none}.mobile-passport-chrome{position:absolute;z-index:45;top:calc(100% + var(--mobile-stage-gap));left:50%;width:min(80vw,310px);height:var(--mobile-navigation-height);display:grid;grid-template-columns:52px minmax(0,1fr) 52px;grid-template-rows:48px 20px;align-items:center;transform:translateX(-50%);opacity:0;visibility:hidden;pointer-events:none;transition:opacity .2s ease,visibility 0s linear .2s}.mobile-passport-chrome[data-visible=true]{opacity:1;visibility:visible;pointer-events:auto;transition-delay:0s}.mobile-passport-arrow{width:52px;height:48px;display:grid;place-items:center;border:0;color:rgba(33,72,58,.9);background:transparent;font:400 31px/1 var(--font-display),serif;cursor:pointer}.mobile-passport-arrow:disabled{visibility:hidden;pointer-events:none}.mobile-passport-progress{display:grid;justify-items:center;grid-gap:6px;gap:6px;color:#315044;font:600 10px/1 var(--font-sans),sans-serif;letter-spacing:.2em;text-transform:uppercase}.mobile-passport-progress small{color:rgba(49,80,68,.76);font:600 8px/1 var(--font-sans),sans-serif;letter-spacing:.16em}.mobile-passport-close{position:absolute;left:50%;bottom:0;min-height:24px;display:inline-flex;align-items:center;border:0;border-bottom:1px solid rgba(83,100,91,.22);transform:translateX(-50%);padding:0 2px;color:rgba(83,100,91,.72);background:transparent;font:600 7px/1 var(--font-sans),sans-serif;letter-spacing:.12em;text-transform:uppercase;cursor:pointer}.mobile-passport-arrow:focus-visible,.mobile-passport-close:focus-visible{outline:2px solid var(--gold);outline-offset:2px}.initial-spread[data-focused-page] .passport-close-control{display:none}.initial-spread[data-focused-page] .page-kicker{min-height:36px;border:0;padding-right:48px;font-size:8px;opacity:0}.initial-spread[data-focused-page] .portrait-placeholder{top:12%;left:8%;right:8%;width:auto;height:56%}.initial-spread[data-focused-page] .identity-copy{top:72%;left:8%;right:8%}.initial-spread[data-focused-page] .field-label{font-size:8px}.initial-spread[data-focused-page] .identity-copy h1{font-size:clamp(24px,7vw,30px)}.initial-spread[data-focused-page] .identity-copy h1.identity-name--long{font-size:clamp(18px,5.5vw,24px);line-height:.9}.initial-spread[data-focused-page] .identity-copy h1.identity-name--extra-long{font-size:clamp(14px,4.2vw,18px);line-height:.92}.initial-spread[data-focused-page] .identity-fields span{font-size:7px}.initial-spread[data-focused-page] .identity-fields strong{font-size:13px}.initial-spread[data-focused-page] .machine-line{bottom:9%;font-size:8px}.initial-spread[data-focused-page] .page-number{bottom:8%}.initial-spread[data-focused-page] .contents-page h2{margin:32px 0 12px;font-size:clamp(34px,9.8vw,42px)}.initial-spread[data-focused-page] .contents-page nav{position:absolute;z-index:25;top:25%;right:0;bottom:4%;left:0;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;scrollbar-width:none}.initial-spread[data-focused-page] .contents-page nav::-webkit-scrollbar{display:none}.initial-spread[data-focused-page] .contents-page ol{gap:1px}.initial-spread[data-focused-page] .contents-page li{min-height:clamp(44px,11.8vw,50px)}.initial-spread[data-focused-page] .contents-row{min-height:clamp(44px,11.8vw,50px);align-items:center;gap:8px;border-bottom:1px solid rgba(58,75,64,.12);padding:3px 1px}.initial-spread[data-focused-page] .contents-row>span:first-child{font-size:10px}.initial-spread[data-focused-page] .contents-page .menu-label{max-width:260px;font-size:15px;line-height:1.12}.initial-spread[data-focused-page] .contents-page .page-number{display:none}.section-detail-spread[data-focused-page] .section-stamp{top:11%;height:20%;padding:10px 14px}.section-detail-spread[data-focused-page] .section-graphic{top:33%;left:6%;width:88%;height:45%}.section-detail-spread[data-focused-page] .section-metadata{top:81%;left:6%;right:6%}.section-detail-spread[data-focused-page] .section-stamp span{font-size:7px}.section-detail-spread[data-focused-page] .section-stamp strong{font-size:clamp(22px,6.7vw,28px)}.section-detail-spread[data-focused-page] .section-stamp--long strong{font-size:clamp(18px,5.2vw,22px)}.section-detail-spread[data-focused-page] .section-photo--stay img{object-position:50% 23%}.section-detail-spread[data-focused-page] .section-photo--faqs img{object-position:50% 22%}.section-detail-spread[data-focused-page] .section-stamp b{font-size:clamp(42px,12vw,50px)}.section-detail-spread[data-focused-page] .section-metadata{gap:13px}.section-detail-spread[data-focused-page] .section-metadata dt{font-size:7px}.section-detail-spread[data-focused-page] .section-metadata dd{font-size:12px}.section-detail-spread[data-focused-page] .page-kicker{min-height:31px;padding-right:48px;font-size:8px}.section-detail-spread[data-focused-page] .section-page-header{grid-template-columns:minmax(0,1fr) auto}.section-detail-spread[data-focused-page] .section-page-header>span{visibility:hidden}.section-detail-spread[data-focused-page] .section-contents-control,.section-detail-spread[data-focused-page] .section-page-header>strong{display:none}.section-detail-spread[data-focused-page] .section-scroll-frame{top:17%;bottom:8%}.section-detail-spread[data-focused-page] .section-scrollable-content{padding:10px 4% 28px 0;scroll-padding-block:58px 80px}.section-detail-spread[data-focused-page] .wedding-section-content{gap:18px}.section-detail-spread[data-focused-page] .wedding-welcome p{font-size:17px;line-height:1.42}.section-detail-spread[data-focused-page] .travel-info-section>p:first-child,.section-detail-spread[data-focused-page] .wedding-itinerary-heading p,.section-detail-spread[data-focused-page] .wedding-venue p{font-size:7px}.section-detail-spread[data-focused-page] .travel-info-section h3,.section-detail-spread[data-focused-page] .wedding-venue h3{font-size:17px}.section-detail-spread[data-focused-page] .wedding-venue>span{font-size:7px}.section-detail-spread[data-focused-page] .wedding-itinerary ol{gap:5px}.section-detail-spread[data-focused-page] .wedding-itinerary li{grid-template-columns:48px 1fr}.section-detail-spread[data-focused-page] .wedding-itinerary time{font-size:7px}.section-detail-spread[data-focused-page] .wedding-itinerary li>span{font-size:14px;line-height:1.25}.section-detail-spread[data-focused-page] .travel-section-content{gap:20px}.section-detail-spread[data-focused-page] .travel-info-section{padding-left:9px}.section-detail-spread[data-focused-page] .travel-info-section p:not(:first-child){font-size:14px;line-height:1.48}.section-detail-spread[data-focused-page] .section-page-number{bottom:5%;font-size:7px}.section-detail-spread[data-focused-page] .section-scroll-hint{font-size:6px}.section-detail-spread[data-focused-page] .rsvp-flow{gap:16px;font-size:14px;line-height:1.45}.section-detail-spread[data-focused-page] .rsvp-flow h3{font-size:20px}.section-detail-spread[data-focused-page] .rsvp-flow label{font-size:12px;line-height:1.3}.section-detail-spread[data-focused-page] .rsvp-actions button,.section-detail-spread[data-focused-page] .rsvp-choice button,.section-detail-spread[data-focused-page] .rsvp-primary{min-height:44px;font-size:9px;padding:8px 12px}.section-detail-spread[data-focused-page] .rsvp-flow input,.section-detail-spread[data-focused-page] .rsvp-flow select,.section-detail-spread[data-focused-page] .rsvp-flow textarea{min-height:44px;font-size:16px}.section-detail-spread[data-focused-page] .rsvp-flow input:focus,.section-detail-spread[data-focused-page] .rsvp-flow select:focus,.section-detail-spread[data-focused-page] .rsvp-flow textarea:focus{scroll-margin-block:64px 96px}}@keyframes mobile-page-forward{0%{opacity:.7;transform:translateX(3%) rotateY(-2deg)}to{opacity:1;transform:translateX(0) rotateY(0)}}@keyframes mobile-page-backward{0%{opacity:.7;transform:translateX(-3%) rotateY(2deg)}to{opacity:1;transform:translateX(0) rotateY(0)}}@media (max-width:860px) and (orientation:landscape){.wedding-stage{--mobile-stage-pad-top:max(8px,env(safe-area-inset-top));--mobile-stage-pad-bottom:max(8px,env(safe-area-inset-bottom));--mobile-stage-gap:6px;--mobile-navigation-height:56px}.passport,.passport.mobile-reader-active,.passport.mobile-reader-ready{--book-w:min(64vw,430px,calc((100dvh - var(--mobile-stage-pad-top) - var(--mobile-stage-pad-bottom) - var(--mobile-stage-gap) - var(--mobile-navigation-height)) / 1.45));--book-h:calc(var(--book-w) * 1.45)}.mobile-passport-chrome{height:var(--mobile-navigation-height);grid-template-rows:36px 16px}.mobile-passport-arrow{height:36px}}@media (prefers-reduced-motion:reduce) and (max-width:860px){.mobile-readable-spread[data-focused-page] .passport-page,.passport{transition-duration:.01ms!important}}