:root{--forest:#102d26;--forest2:#183a30;--ivory:#f7f3e9;--paper:#fffcf5;--gold:#b8a67b;--ink:#20342c}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--ivory);color:var(--ink);margin:0;font-family:DM Sans,Arial,sans-serif;font-weight:300}button,input{font:inherit}a{color:inherit}main{width:100%;overflow:hidden}.forest{background:var(--forest);color:var(--ivory)}.ivory{background:var(--ivory);color:var(--ink)}section{width:100%;position:relative}.section-inner{text-align:center;width:min(100% - 40px,950px);margin:auto;padding:100px 0}.section-inner.narrow{max-width:690px}.smallcaps,.eyebrow,.venue-kicker,.formal{letter-spacing:.27em;text-transform:uppercase;font-size:11px;font-weight:500}.eyebrow{color:var(--gold);justify-content:center;align-items:center;gap:16px;margin:0 0 20px;display:flex}.eyebrow span{opacity:.65;background:currentColor;width:30px;height:1px}.display{letter-spacing:-.035em;margin:0 0 28px;font-family:Italiana,Times New Roman,serif;font-size:clamp(47px,7vw,86px);font-weight:400;line-height:1.02}.display i{font-family:Playfair Display,serif;font-size:.65em;font-weight:400}.section-copy{max-width:680px;margin:0 auto 32px;font-family:Playfair Display,serif;font-size:17px;line-height:1.85}.fine-rule{background:var(--gold);width:76px;height:1px;margin:30px auto}.topbar{z-index:20;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#f7f3e9f2;border-bottom:1px solid #102d2622;justify-content:space-between;align-items:center;width:100%;height:70px;padding:0 clamp(20px,5vw,72px);display:flex;position:sticky;top:0}.topbar a{text-decoration:none}.monogram{font-family:Italiana,serif;font-size:29px}.monogram span{color:#9a8356;margin:0 3px;font-size:16px}.topbar nav{gap:clamp(14px,3vw,36px);display:flex}.topbar nav a{text-transform:uppercase;letter-spacing:.16em;font-size:11px}.topbar nav a:hover,.text-link:hover{color:#a18a5d}.envelope-screen{z-index:100;background:radial-gradient(circle at center,#1b4035,var(--forest) 70%);place-items:center;transition:opacity .85s,visibility .85s;display:grid;position:fixed;inset:0}.envelope-screen.opened{opacity:0;visibility:hidden;pointer-events:none}.envelope-intro{text-align:center;color:var(--ivory);width:min(100% - 32px,520px)}.envelope-intro h1{margin:15px 0 55px;font:400 clamp(35px,7vw,64px)/1.2 Italiana,serif}.envelope-intro h1 i,.seal i{color:var(--gold);font-family:Playfair Display,serif;font-weight:400}.envelope{cursor:pointer;perspective:600px;background:0 0;border:0;width:min(78vw,330px);height:220px;margin:auto;display:block;position:relative}.envelope-body{clip-path:polygon(0 0,50% 58%,100% 0,100% 100%,0 100%);background:#eee6d4;position:absolute;inset:28px 0 0;box-shadow:0 22px 45px #0005}.envelope-flap{clip-path:polygon(0 0,100% 0,50% 100%);z-index:2;transform-origin:top;background:#fffaf0;width:100%;height:120px;transition:transform .65s;position:absolute;top:28px;left:0}.envelope:hover .envelope-flap,.envelope:focus-visible .envelope-flap{transform:rotateX(45deg)}.seal{z-index:3;color:#fff7e8;background:#ad8764;border-radius:50%;place-items:center;width:58px;height:58px;font:19px Italiana,serif;display:grid;position:absolute;top:116px;left:50%;transform:translate(-50%);box-shadow:0 2px 8px #4b372c66}.open-prompt{color:var(--ivory);cursor:pointer;text-transform:uppercase;letter-spacing:.24em;background:0 0;border:0;margin-top:30px;font-size:11px}.open-prompt:hover{color:var(--gold)}.hero{background-image:radial-gradient(circle at 10% 15%,#31554755,#0000 28%),radial-gradient(circle at 85% 80%,#35524655,#0000 30%),linear-gradient(140deg,#102d26,#193b31 54%,#0b261f);place-items:center;min-height:calc(100svh - 70px);padding:32px;display:grid}.hero-inner{text-align:center;border:1px solid #b8a67b70;width:min(100%,960px);padding:clamp(50px,8vw,100px) 20px;position:relative}.hero-inner:before,.hero-inner:after{content:"✧";color:var(--gold);font-size:22px;position:absolute;left:50%;transform:translate(-50%)}.hero-inner:before{top:17px}.hero-inner:after{bottom:17px}.hero .smallcaps{color:var(--gold);margin:0 0 48px}.intro-line{font-family:Playfair Display,serif;font-size:clamp(15px,2vw,20px);font-style:italic}.hero h2{letter-spacing:-.05em;margin:12px 0;font:400 clamp(64px,11vw,145px)/.98 Italiana,serif}.hero h2 em{color:var(--gold);vertical-align:20%;font:italic .45em Playfair Display,serif}.hero-date,.hero-place{text-transform:uppercase;letter-spacing:.18em;font-size:12px;line-height:2}.hero-date span{color:var(--gold);padding:0 9px}.hero-place{color:#e0d6bd}.outline-button,.solid-button,.submit-button{text-transform:uppercase;letter-spacing:.16em;cursor:pointer;padding:15px 28px;font-size:11px;font-weight:600;text-decoration:none;transition:background .2s,color .2s,transform .2s;display:inline-block}.outline-button{border:1px solid var(--gold);color:var(--ivory);margin-top:28px}.outline-button:hover{background:var(--gold);color:var(--forest)}.solid-button,.submit-button{border:1px solid var(--forest);background:var(--forest);color:var(--ivory)}.solid-button:hover,.submit-button:hover{background:#285044;transform:translateY(-2px)}.save-date{background:radial-gradient(circle at 50% 55%,#fffdf7,var(--ivory) 68%)}.date-lockup{letter-spacing:-.07em;white-space:nowrap;margin:38px auto 2px;font:400 clamp(75px,14vw,180px)/1 Italiana,serif}.date-lockup i{color:var(--gold);margin:0 .12em;font-style:normal}.location-note{text-transform:uppercase;letter-spacing:.25em;font-size:12px}.split-note{border-top:1px solid #b8a67b66;border-bottom:1px solid #b8a67b66;grid-template-columns:1fr 1fr;gap:30px;max-width:690px;margin:60px auto 30px;padding:22px 0;font:italic 17px/1.6 Playfair Display,serif;display:grid}.split-note p:first-child{border-right:1px solid #b8a67b66;padding-right:30px}.text-link{letter-spacing:.18em;text-transform:uppercase;text-underline-offset:6px;font-size:11px}.invitation{text-align:center;background:#14342b}.invitation .section-inner{padding:120px 0}.invitation .script{color:var(--gold);font:italic 26px Playfair Display,serif}.invitation p:not(.eyebrow):not(.script){letter-spacing:.08em;font-size:14px;line-height:1.8}.invitation strong{font:400 30px Italiana,serif}.entourage .section-inner{max-width:800px}.parents-grid,.roles-grid,.attire-grid{grid-template-columns:1fr 1fr;gap:30px;display:grid}.parents-grid{margin:60px 0}.parents-grid>div:first-child,.roles-grid>div:first-child,.attire-grid>div:first-child{border-right:1px solid #b8a67b66}.entourage h3{margin:15px 0 0;font:400 25px Italiana,serif}.entourage .parents-grid p:not(.smallcaps){color:#6b746e;margin:5px 0 22px;font-size:11px}.entourage .smallcaps{color:#9a8356}.subheading{margin:45px 0 25px!important;font-size:38px!important}.sponsor-head,.sponsor-row{grid-template-columns:1fr 1fr;gap:20px;display:grid}.sponsor-head{text-transform:uppercase;letter-spacing:.2em;color:#9a8356;margin-bottom:10px;font-size:11px}.sponsor-row{border-top:1px solid #b8a67b4d;padding:12px 0;font:18px Italiana,serif}.sponsor-row:last-child{border-bottom:1px solid #b8a67b4d}.roles-grid{margin:50px 0}.flower-girls h3{margin:8px 0}.countdown{background:#193b31}.clock{grid-template-columns:repeat(4,1fr);gap:8px;margin:50px auto 0;display:grid}.clock>div{border-right:1px solid #b8a67b77}.clock>div:last-child{border:0}.clock strong{font:400 clamp(44px,8vw,85px) Italiana,serif;display:block}.clock span{text-transform:uppercase;letter-spacing:.25em;color:var(--gold);font-size:10px}.venue .section-inner{max-width:760px}.venue-kicker{color:#9a8356;margin:0 0 6px}.venue p:not(.eyebrow):not(.venue-kicker){font-size:15px}.map-panel{background:repeating-linear-gradient(45deg,#e9e4d8 0 1px,#0000 1px 22px),#f1ecdf;border:1px solid #b8a67b88;flex-direction:column;justify-content:center;align-items:center;height:300px;margin:45px 0 25px;display:flex}.map-mark{color:#8d7654;font-size:60px}.map-panel p{margin:5px;font:400 24px Italiana,serif!important}.map-panel small,.asset-note,.qr-placeholder small{letter-spacing:.09em;color:#757d73;font-size:11px}.arrival-note{max-width:600px;line-height:1.8;margin:42px auto 0!important}.timeline-list{max-width:520px;margin:55px auto 0}.timeline-list>div{text-align:left;grid-template-columns:1fr 26px 1fr;align-items:center;gap:18px;min-height:72px;display:grid}.timeline-list time{text-align:right;color:var(--gold);font:20px Italiana,serif}.timeline-list strong{font:400 28px Italiana,serif}.timeline-dot{background:var(--gold);border-radius:50%;width:9px;height:9px;margin:auto;position:relative}.timeline-list>div:not(:last-child) .timeline-dot:after{content:"";background:#b8a67b88;width:1px;height:63px;position:absolute;top:9px;left:4px}.gifts .section-inner{max-width:760px}.qr-grid{grid-template-columns:1fr 1fr;gap:20px;max-width:590px;margin:50px auto 0;display:grid}.qr-placeholder{border:1px dashed #b8a67b;flex-direction:column;justify-content:center;align-items:center;min-height:220px;padding:30px;display:flex}.qr-placeholder span{color:#b8a67b;font-size:48px}.qr-placeholder p{text-transform:uppercase;letter-spacing:.14em;margin:10px 0 5px;font-size:12px}.formal{color:var(--gold);margin:25px 0 48px;font-size:14px}.attire-grid h3{font:400 30px/1.3 Italiana,serif}.attire-grid .smallcaps{color:var(--gold)}.asset-note{color:#cabf9f;margin:50px 0 0}.faq-list{text-align:left;margin-top:45px}.faq-list details{border-top:1px solid #b8a67b66;padding:0 4px}.faq-list details:last-child{border-bottom:1px solid #b8a67b66}.faq-list summary{cursor:pointer;justify-content:space-between;gap:20px;padding:20px 0;font:400 21px Italiana,serif;list-style:none;display:flex}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary span{color:#9a8356;font:300 25px DM Sans,sans-serif}.faq-list details[open] summary span{transform:rotate(45deg)}.faq-list details p{color:#4f5b53;margin:0 0 24px;font-size:14px;line-height:1.7}.rsvp{background:#15362c}.rsvp .section-copy{max-width:570px}.rsvp form{text-align:left;max-width:520px;margin:45px auto 0}.rsvp form>label,.rsvp legend{text-transform:uppercase;letter-spacing:.17em;color:#d9cba9;margin:0 0 11px;font-size:11px;display:block}.rsvp input[type=text]{width:100%;color:var(--ink);background:#f8f4eb;border:1px solid #b8a67b88;border-radius:0;margin-bottom:28px;padding:16px}.rsvp input:focus{outline:2px solid var(--gold);outline-offset:2px}.rsvp fieldset{border:0;margin:0 0 26px;padding:0}.radio-row{cursor:pointer;border:1px solid #b8a67b88;align-items:center;gap:12px;margin:10px 0;padding:16px;font-size:14px;display:flex}.radio-row:has(input:checked){background:#2d5145}.radio-row input{accent-color:#cbb68a;width:18px;height:18px}.submit-button{color:#15362c;background:#dfd1af;border-color:#dfd1af;width:100%}.submit-button:disabled{opacity:.55;cursor:not-allowed}.form-status{text-align:center;min-height:24px;font-size:13px}.honeypot{opacity:0!important;position:absolute!important;left:-9999px!important}footer{color:var(--ivory);text-align:center;background:#0d281f;flex-direction:column;gap:12px;padding:45px 20px;display:flex}footer p{margin:0;font:400 35px Italiana,serif}footer p i{color:var(--gold);font:italic 20px Playfair Display,serif}footer span,footer a{text-transform:uppercase;letter-spacing:.19em;font-size:10px}footer a{margin-top:12px}@media (max-width:650px){.topbar{height:60px;padding:0 18px}.topbar nav{gap:14px}.topbar nav a{letter-spacing:.08em;font-size:10px}.section-inner{width:calc(100% - 38px);padding:78px 0}.hero{min-height:calc(100svh - 60px);padding:14px}.hero-inner{padding:75px 13px}.hero .smallcaps{margin-bottom:38px}.hero h2{font-size:clamp(60px,13vw,100px)}.hero-date{letter-spacing:.09em;font-size:10px}.hero-place{font-size:10px}.date-lockup{font-size:clamp(67px,15vw,105px)}.split-note{margin:42px auto 28px;display:block}.split-note p:first-child{border-bottom:1px solid #b8a67b66;border-right:0;padding:0 0 18px}.split-note p:last-child{padding-top:2px}.parents-grid,.roles-grid,.attire-grid{gap:14px}.entourage h3{font-size:20px}.sponsor-row{gap:12px;font-size:16px}.sponsor-head{gap:12px;font-size:9px}.clock strong{font-size:clamp(34px,10vw,64px)}.clock span{letter-spacing:.1em;font-size:8px}.qr-grid{gap:10px}.qr-placeholder{min-height:175px;padding:15px}.map-panel{height:230px}.attire-grid h3{font-size:22px}.faq-list summary{font-size:19px}}@media (max-width:380px){.topbar nav a{font-size:9px}.topbar nav{gap:9px}.hero h2{font-size:57px}.date-lockup{font-size:64px}.parents-grid{display:block}.parents-grid>div:first-child{border-bottom:1px solid #b8a67b66;border-right:0;margin-bottom:25px;padding-bottom:20px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}.portrait-section{text-align:center;padding:0 20px 95px}.portrait-frame{border:1px solid #b8a67b88;max-width:450px;margin:auto;padding:14px}.portrait-oval{color:#756f61;text-transform:uppercase;letter-spacing:.18em;background:linear-gradient(140deg,#d7d1c2,#eee9dc 55%,#c7bda9);border:1px solid #b8a67b88;border-radius:50% 50% 0 0;place-items:center;height:490px;font-size:11px;line-height:2;display:grid}.portrait-caption{margin:25px 0 0;font:italic 24px Playfair Display,serif}@media (max-width:650px){.portrait-frame{max-width:340px}.portrait-oval{height:380px}}.date-names{color:#9a8356;margin:0 0 20px;font:italic 23px Playfair Display,serif}.seal{justify-content:center;align-items:center;gap:3px;display:flex}.seal i{font-size:15px}
@font-face{font-family:Bodoni Moda;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/bodoni-moda-normal-400.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Cormorant Garamond;font-style:italic;font-weight:400;font-display:swap;src:url(/fonts/cormorant-garamond-italic-400.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Cormorant Garamond;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/cormorant-garamond-normal-400.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Cormorant Garamond;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/cormorant-garamond-normal-500.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
:root{--forest:#202419;--forest2:#323a22;--ivory:#fff5dd;--paper:#fff9e9;--gold:#f9de85;--ink:#2b3121;--olive:#7b8e3d;--lime:#b6bf53;--orange:#fa7818;--rose:#e78b90;--berry:#a52351}::selection{background:var(--rose);color:#21190f}body{background:var(--ivory);color:var(--ink)}.forest{background-color:var(--forest);color:#fff6de}.ivory{background-color:var(--ivory);color:var(--ink)}.topbar{background:#fff7e8ed;border-color:#7b8e3d38}.topbar nav a{transition:color .3s,letter-spacing .3s}.topbar nav a:hover{color:var(--berry);letter-spacing:.2em}.monogram span{color:var(--berry)}.eyebrow{color:var(--orange)}.eyebrow span{background:var(--olive);width:26px}.fine-rule{background:var(--rose)}.display{color:inherit}.display i{color:var(--rose)}.envelope-screen{isolation:isolate;background:#17160f}.envelope-screen:before{content:"";opacity:.8;z-index:-1;background:linear-gradient(90deg,#17150de6,#17150dbd),url(/floral-lilies.jpg) 50% 42%/cover;position:absolute;inset:0}.envelope-intro{position:relative}.envelope-intro h1 i{color:var(--rose)}.envelope-body{background:#fff1cf}.envelope-flap{background:#fff9e9}.seal{background:var(--berry);color:var(--ivory);box-shadow:0 3px 12px #140b0c88}.seal i{color:var(--gold)}.open-prompt{transition:color .25s,transform .35s}.open-prompt:hover{color:var(--gold);transform:translateY(5px)}.envelope{transition:transform .5s cubic-bezier(.2,.8,.2,1)}.envelope:hover{transform:translateY(-6px)}.envelope-flap{transition:transform .72s cubic-bezier(.2,.8,.2,1)}.envelope-screen.opening .envelope-flap{transform:rotateX(160deg)}.envelope-screen.opening .envelope-body{transition:transform .8s;transform:translateY(18px)}.envelope-screen.opening .seal{opacity:0;transition:opacity .35s,transform .6s;transform:translate(-50%,-22px)scale(.7)}.envelope-screen.opening .envelope-intro h1,.envelope-screen.opening .open-prompt{opacity:0;transition:opacity .5s,transform .6s;transform:translateY(-12px)}.envelope-screen.opening{transition:opacity .8s .75s,visibility .8s .75s}.hero{isolation:isolate;background:#191d13;overflow:hidden}.hero:before{content:"";filter:saturate(.94);z-index:-2;background:url(/floral-lilies.jpg) 55% 37%/cover no-repeat;animation:30s ease-in-out infinite alternate floral-drift;position:absolute;inset:-5%}.hero:after{content:"";z-index:-1;background:linear-gradient(90deg,#161a12ea 0%,#171b13ca 48%,#171a12a6 100%);position:absolute;inset:0}.hero-inner{z-index:1;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#131a1266;border-color:#f9de858c}.hero-inner:before,.hero-inner:after{color:var(--orange)}.hero .smallcaps{color:var(--lime)}.hero h2 em{color:var(--rose)}.hero-date span{color:var(--orange)}.hero-place{color:#ffe2a0}.outline-button{border-color:var(--gold);color:#fff7dc;transition:background .35s,color .35s,transform .35s;position:relative;overflow:hidden}.outline-button:hover{background:var(--gold);color:#222819;transform:translateY(-3px)}.save-date{background:radial-gradient(circle at 50% 42%,#fffcf2,#fff3d6 70%)}.date-names{color:var(--berry)}.date-lockup{color:var(--olive)}.date-lockup i{color:var(--orange)}.location-note{color:var(--berry)}.split-note,.split-note p:first-child{border-color:#7b8e3d55}.text-link{color:var(--berry);transition:color .3s}.text-link:hover{color:var(--orange)}.portrait-section{background:linear-gradient(#fff3d6,#fbefd1)}.portrait-frame{border-color:var(--olive);box-shadow:0 22px 70px #3d362018}.portrait-oval{color:#fff0c8;border-color:var(--gold);background:linear-gradient(#2a2b1a88,#222716b0),url(/floral-lilies.jpg) 50% 34%/cover;overflow:hidden}.portrait-oval span{-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#14170d82;border:1px solid #f9de8599;padding:18px 26px}.portrait-caption{color:var(--berry)}.invitation{background:linear-gradient(90deg,#171912ef,#171912d5),url(/floral-lilies.jpg) 50% 52%/cover}.invitation .script{color:var(--rose)}.invitation strong{color:var(--gold)}.entourage{background:#fff7e6}.entourage .smallcaps,.sponsor-head{color:var(--berry)}.entourage .parents-grid p:not(.smallcaps){color:#66704b}.parents-grid>div:first-child,.roles-grid>div:first-child,.attire-grid>div:first-child,.sponsor-row,.sponsor-row:last-child{border-color:#7b8e3d55}.sponsor-row{transition:background .3s,color .3s,padding .3s}.sponsor-row:hover{color:var(--berry);background:#f9de853d;padding-left:8px;padding-right:8px}.countdown{background:linear-gradient(90deg,#242a18eb,#242a18dc),url(/floral-lilies.jpg) 50% 65%/cover}.clock>div{border-color:#f9de8566}.clock strong{color:var(--gold)}.clock span{color:var(--rose)}.venue{background:#fff4dc}.venue-kicker{color:var(--berry)}.map-panel{border-color:var(--olive);background:linear-gradient(125deg,#f9de853b,#b6bf533d),repeating-linear-gradient(45deg,#7b8e3d1c 0 1px,#0000 1px 22px)}.map-mark{color:var(--orange)}.map-panel small,.asset-note,.qr-placeholder small{color:#686e50}.solid-button{background:var(--olive);border-color:var(--olive);color:#fffdf1;transition:background .3s,transform .35s,box-shadow .35s}.solid-button:hover{background:var(--berry);border-color:var(--berry);box-shadow:0 10px 24px #a5235133}.timeline{background:linear-gradient(90deg,#22281aec,#22281ad9),url(/floral-lilies.jpg) 50% 70%/cover}.timeline-list time{color:var(--gold)}.timeline-dot{background:var(--orange);box-shadow:0 0 0 5px #fa78182c}.timeline-list>div:not(:last-child) .timeline-dot:after{background:var(--lime)}.timeline-list strong{transition:color .3s,transform .3s}.timeline-list>div:hover strong{color:var(--rose);transform:translate(5px)}.gifts{background:#fff8e7}.qr-placeholder{border-color:var(--olive);transition:background .4s,transform .4s,box-shadow .4s}.qr-placeholder:first-child span{color:var(--orange)}.qr-placeholder:last-child span{color:var(--berry)}.qr-placeholder:hover{background:#f9de8540;transform:translateY(-5px);box-shadow:0 14px 30px #342d1b16}.attire{background:linear-gradient(90deg,#252819ee,#252819d4),url(/floral-lilies.jpg) 50% 30%/cover}.formal{color:var(--gold)}.attire-grid .smallcaps{color:var(--rose)}.asset-note{color:#f1dfb3}.faq{background:#fff5dd}.faq-list details,.faq-list details:last-child{border-color:#7b8e3d6b}.faq-list summary{transition:color .3s,padding-left .3s}.faq-list summary:hover{color:var(--berry);padding-left:6px}.faq-list summary span{color:var(--orange);transition:transform .35s}.faq-list details p{color:#565d43}.rsvp{background:linear-gradient(90deg,#221c19f2,#251b1ade),url(/floral-lilies.jpg) 50%/cover}.rsvp form>label,.rsvp legend{color:var(--gold)}.rsvp input[type=text]{border-color:var(--gold);background:#fff8e9}.rsvp input:focus{outline-color:var(--rose)}.radio-row{border-color:#f9de8588;transition:background .3s,border-color .3s,transform .3s}.radio-row:hover{border-color:var(--rose);transform:translate(4px)}.radio-row:has(input:checked){border-color:var(--rose);background:#a5235175}.radio-row input{accent-color:var(--berry)}.submit-button{background:var(--gold);border-color:var(--gold);color:#292815;transition:background .35s,color .35s,transform .35s,box-shadow .35s}.submit-button:hover{background:var(--orange);border-color:var(--orange);color:#241b11;box-shadow:0 12px 30px #fa781844}footer{background:linear-gradient(90deg,#1c2118f3,#1c2118e6),url(/floral-lilies.jpg) 50% 68%/cover}footer p i{color:var(--rose)}footer a{transition:color .3s}footer a:hover{color:var(--gold)}.motion-ready .hero-inner,.motion-ready .section-inner,.motion-ready .portrait-frame,.motion-ready .portrait-caption,.motion-ready footer{opacity:0;transition:opacity .95s,transform 1.1s cubic-bezier(.19,1,.22,1);transform:translateY(34px)}.motion-ready .hero-inner.is-visible,.motion-ready .section-inner.is-visible,.motion-ready .portrait-frame.is-visible,.motion-ready .portrait-caption.is-visible,.motion-ready footer.is-visible{opacity:1;transform:none}.motion-ready .hero-inner.is-visible h2{animation:1.25s cubic-bezier(.19,1,.22,1) both title-rise}.motion-ready .hero-inner.is-visible .hero-date{animation:1.25s cubic-bezier(.19,1,.22,1) .2s both title-rise}@keyframes floral-drift{0%{transform:translate(-1%)scale(1)}to{transform:translate(1.2%,-1%)scale(1.08)}}@keyframes title-rise{0%{opacity:0;transform:translateY(22px)}to{opacity:1;transform:none}}@media (max-width:650px){.hero:before{background-position:58% 35%}.hero:after{background:#161a12c9}.hero-inner{background:#161a1280}.envelope-screen:before{background-position:57% 40%}.invitation,.countdown,.timeline,.attire,.rsvp{background-position:57%}.portrait-oval{background-position:56% 35%}.motion-ready .hero-inner,.motion-ready .section-inner,.motion-ready .portrait-frame,.motion-ready .portrait-caption,.motion-ready footer{transform:translateY(22px)}}@media (prefers-reduced-motion:reduce){.hero:before{animation:none}.motion-ready .hero-inner,.motion-ready .section-inner,.motion-ready .portrait-frame,.motion-ready .portrait-caption,.motion-ready footer{opacity:1;transition:none;transform:none}.motion-ready .hero-inner.is-visible h2,.motion-ready .hero-inner.is-visible .hero-date{animation:none}.envelope,.envelope-flap,.envelope-screen,.open-prompt,.sponsor-row,.qr-placeholder,.radio-row,.submit-button{transition:none}}
.reading-progress{z-index:120;background:linear-gradient(90deg,var(--olive),var(--gold),var(--rose),var(--berry));transform-origin:0;pointer-events:none;width:100%;height:3px;position:fixed;top:0;left:0;transform:scaleX(0)}main{overflow:clip}.topbar{transition:transform .9s cubic-bezier(.19,1,.22,1),background .35s}main:not(.invitation-open) .topbar{transform:translateY(-100%)}.invitation-open .topbar{transform:translateY(0)}.envelope-screen{transition:opacity .85s .55s,visibility .85s .55s;overflow:hidden}.envelope-screen:after{content:"";z-index:-1;opacity:0;pointer-events:none;background:radial-gradient(circle at 50% 58%,#f9de8538,#0000 42%);transition:opacity 1.2s,transform 1.4s cubic-bezier(.19,1,.22,1);position:absolute;inset:-30%;transform:scale(.65)}.envelope-screen.opening:after{opacity:1;transform:scale(1.35)}.envelope-intro{transition:transform 1.1s cubic-bezier(.19,1,.22,1)}.envelope-screen.opening .envelope-intro{transform:translateY(18px)}.envelope{filter:drop-shadow(0 26px 28px #0505028c);height:250px;overflow:visible}.envelope:disabled{cursor:default}.envelope-letter{z-index:1;color:#443421;background:linear-gradient(145deg,#fffdf4,#f2dfb6);border:1px solid #e5c98a;flex-direction:column;justify-content:center;align-items:center;gap:12px;width:86%;height:181px;transition:transform 1.05s cubic-bezier(.19,1,.22,1) .18s,box-shadow 1.05s .18s;display:flex;position:absolute;top:38px;left:7%;transform:translateY(25px)scale(.9);box-shadow:0 5px 20px #140d0759}.envelope-letter:before{content:"✧";color:var(--berry);font-size:18px;position:absolute;top:17px}.envelope-letter span{white-space:nowrap;font:400 clamp(19px,5vw,30px) Italiana,serif}.envelope-letter i{color:var(--berry);font:italic .7em Playfair Display,serif}.envelope-letter small{letter-spacing:.25em;color:#7b6b49;font-size:9px}.envelope-body{z-index:2;filter:drop-shadow(0 5px 5px #35220c45)}.envelope-flap{z-index:3;backface-visibility:hidden;transition:transform .9s cubic-bezier(.19,1,.22,1)}.seal{z-index:4}.envelope-screen.opening .envelope-flap{transform:rotateX(178deg)}.envelope-screen.opening .envelope-letter{transform:translateY(-96px)rotate(-2deg)scale(1.03);box-shadow:0 24px 42px #100e0966}.envelope-screen.opening .envelope-intro h1,.envelope-screen.opening .open-prompt{opacity:0;transform:translateY(-20px)}.envelope{aspect-ratio:10/7;filter:drop-shadow(0 22px 24px #0008);background:#e9e6dc;width:min(84vw,440px);height:auto;box-shadow:inset 0 0 24px #6a64564d}.envelope-body{clip-path:none;box-shadow:none;filter:none;background:url(/linen-front.svg) 50%/100% 100% no-repeat;inset:0}.envelope-flap{clip-path:none;filter:drop-shadow(0 5px 4px #322e2866);background:url(/linen-flap.svg) top/100% 100% no-repeat;height:68%;top:0}.envelope-letter{background:#fffdf5;border-color:#e6e1d3;height:81%;top:9%}.seal{display:none}.envelope-screen.opening .envelope-letter{transform:translateY(-64%)rotate(-2deg)scale(1.01)}.envelope-screen.opening .envelope-body{transform:none}.hero-inner{opacity:0;transition:opacity 1.1s .1s,transform 1.35s cubic-bezier(.19,1,.22,1) .1s,border-color .5s;transform:translateY(42px)scale(.965)}.invitation-open .hero-inner{opacity:1;transform:none}.hero-inner:hover{border-color:#f9de85c9}.hero-inner>*{opacity:0}.invitation-open .hero-inner>*{animation:1s cubic-bezier(.19,1,.22,1) both cinematic-enter}.invitation-open .hero-inner>.smallcaps{animation-delay:.28s}.invitation-open .hero-inner>.intro-line{animation-delay:.39s}.invitation-open .hero-inner>h2{animation-delay:.53s}.invitation-open .hero-inner>.fine-rule{animation-delay:.67s}.invitation-open .hero-inner>.hero-date{animation-delay:.78s}.invitation-open .hero-inner>.hero-place{animation-delay:.9s}.invitation-open .hero-inner>.outline-button{animation-delay:1.03s}.hero-embers{z-index:0;pointer-events:none;position:absolute;inset:0;overflow:hidden}.hero-embers span{opacity:0;background:#ffe3a0;border-radius:50%;width:4px;height:4px;animation:8s ease-in-out infinite ember-rise;position:absolute;box-shadow:0 0 12px 4px #e9b95a8c}.hero-embers span:first-child{animation-delay:0s;top:78%;left:12%}.hero-embers span:nth-child(2){width:3px;height:3px;animation-delay:2.5s;top:46%;left:24%}.hero-embers span:nth-child(3){animation-delay:1s;top:75%;left:81%}.hero-embers span:nth-child(4){width:2px;height:2px;animation-delay:4s;top:32%;left:89%}.hero-embers span:nth-child(5){width:2px;height:2px;animation-delay:5.2s;top:83%;left:57%}.hero-embers span:nth-child(6){animation-delay:3.1s;top:17%;left:68%}.cinematic-reveal{opacity:0;filter:blur(5px);transition:opacity 1s var(--reveal-delay,0s) ease,transform 1.15s var(--reveal-delay,0s) cubic-bezier(.19,1,.22,1),filter 1s var(--reveal-delay,0s) ease;transform:translateY(44px)scale(.985)}.cinematic-reveal.is-visible{opacity:1;filter:blur();transform:none}.display.cinematic-reveal{transition-duration:1.15s,1.3s,1s;transform:translateY(52px)}.display.cinematic-reveal.is-visible{transform:none}.portrait-frame.cinematic-reveal{transform:translateY(55px)scale(.94)}.portrait-frame.cinematic-reveal.is-visible{transform:none}.timeline-list>div .timeline-dot:after{transform-origin:top;transition:transform .8s cubic-bezier(.19,1,.22,1) .3s;transform:scaleY(0)}.timeline-list>div.is-visible .timeline-dot:after{transform:scaleY(1)}.clock strong{animation:5s ease-in-out infinite alternate clock-glow}.clock>div:nth-child(2) strong{animation-delay:1s}.clock>div:nth-child(3) strong{animation-delay:2s}.clock>div:nth-child(4) strong{animation-delay:3s}.outline-button:before,.solid-button:before,.submit-button:before{content:"";pointer-events:none;background:linear-gradient(110deg,#0000 30%,#ffffff4d 50%,#0000 70%);transition:transform .75s;position:absolute;inset:0;transform:translate(-130%)}.outline-button:hover:before,.solid-button:hover:before,.submit-button:hover:before{transform:translate(130%)}.solid-button,.submit-button{position:relative;overflow:hidden}.faq-list details[open] p{animation:.45s cubic-bezier(.19,1,.22,1) both faq-open}@keyframes cinematic-enter{0%{opacity:0;filter:blur(4px);transform:translateY(22px)}to{opacity:1;filter:blur();transform:none}}@keyframes ember-rise{0%,to{opacity:0;transform:translateY(14px)}35%{opacity:.55}65%{opacity:.3;transform:translate(12px,-22px)}}@keyframes clock-glow{0%{text-shadow:0 0 #0000}to{text-shadow:0 0 24px #f9de8542}}@keyframes faq-open{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}@media (max-width:650px){.cinematic-reveal{filter:blur(3px);transform:translateY(26px)scale(.99)}.hero-embers span:nth-child(2),.hero-embers span:nth-child(4),.hero-embers span:nth-child(6){display:none}.envelope-letter{height:170px}}@media (prefers-reduced-motion:reduce){.topbar,.hero-inner,.envelope-screen,.envelope-intro,.envelope-flap,.envelope-letter,.envelope-body,.seal,.timeline-dot:after{transition:none!important}.hero-inner,.hero-inner>*,.cinematic-reveal,.display.cinematic-reveal,.portrait-frame.cinematic-reveal{opacity:1!important;filter:none!important;clip-path:none!important;animation:none!important;transform:none!important}.hero-embers{display:none}.clock strong,.faq-list details[open] p{animation:none!important}.reading-progress{display:none}}
.envelope-screen:before{filter:saturate(.3);opacity:1;background:linear-gradient(90deg,#141a14ef,#161b15c9),url(/floral-lilies.jpg) 50% 43%/cover}.envelope-screen:after{background:radial-gradient(at 50% 58%,#d8cba025,#0000 56%)}.envelope-intro{width:min(100% - 38px,680px);padding:28px 0}.envelope-intro>.smallcaps{letter-spacing:.34em;color:#c3b99d;margin-bottom:22px;font-size:9px}.envelope-intro h1{letter-spacing:.015em;color:#f4f0e5;margin:0 0 68px;font:400 clamp(32px,5vw,51px)/1.2 Italiana,serif}.envelope-intro h1 i{color:#c5b48a;font-size:.72em}.envelope{filter:none;background:linear-gradient(145deg,#eeeadf,#bdb6a3);border:1px solid #d4cbb5;width:min(80vw,450px);transition:transform .9s cubic-bezier(.19,1,.22,1),box-shadow .9s;transform:rotate(-3deg);box-shadow:1px 1px #d4cdbc,3px 4px #b6ad99,5px 7px #e0d9c9,0 35px 60px #0008}.envelope:before{content:"";z-index:-1;background:#dcd5c5;border:1px solid #a99b7d;position:absolute;inset:10px -7px -9px 9px;transform:rotate(2deg);box-shadow:0 10px 26px #0004}.envelope:hover,.envelope:focus-visible{transform:rotate(-1deg)translateY(-5px);box-shadow:1px 1px #d4cdbc,3px 4px #b6ad99,5px 7px #e0d9c9,0 45px 70px #0008}.envelope:focus-visible{outline-offset:12px;outline:1px solid #d2c29b}.envelope-flap{filter:drop-shadow(0 5px 5px #302b255c)}.envelope-ribbon{z-index:3;background:linear-gradient(#a79a80,#d0c4ae 10%,#f7f1e4 43%,#e5dccb 56%,#eee7d7 85%,#bdb4a0);border-top:1px solid #fff9e566;border-bottom:1px solid #8b7a583d;height:27px;transition:opacity .55s .1s,transform .85s .1s;position:absolute;top:61%;left:-1px;right:-1px;box-shadow:0 2px 3px #30261540}.seal{color:#8a7854;z-index:5;text-shadow:0 1px #fff9e2;background:radial-gradient(at 35% 25%,#faf3df 0%,#d5c8a9 55%,#ac9871 100%);border:1px solid #cbb891;border-radius:46% 49% 44% 48%;flex-direction:column;gap:0;width:76px;height:76px;font-size:18px;display:flex;top:calc(61% - 24px);transform:translate(-50%)rotate(3deg);box-shadow:inset 0 0 0 4px #e8dcc2,inset 0 0 0 5px #b9a47e,inset 0 0 0 7px #e4d7b9,2px 5px 8px #2e261a66}.seal-wreath{color:#9a8861;margin-bottom:0;font:26px/1 Playfair Display,serif}.seal>span:last-child{letter-spacing:-.05em;line-height:1.2}.seal i{color:#8a7854;font-size:11px}.envelope-letter{outline-offset:-12px;color:#615139;outline:1px solid #b6a27c;box-shadow:inset 0 0 0 17px #fffaf0}.envelope-letter:before{content:"❦";color:#ad9870;font-size:25px;top:20px}.envelope-letter span{font-size:clamp(21px,4.5vw,31px)}.envelope-letter i{color:#9a8763}.open-prompt{letter-spacing:.2em;color:#e3dac4;border-bottom:1px solid #ac9c7566;align-items:center;gap:22px;margin-top:54px;padding:12px 0;font-size:9px;display:inline-flex}.open-prompt span{color:#b9a67d;font-size:16px;transition:transform .4s}.open-prompt:hover{color:#fff8e8;transform:none}.open-prompt:hover span{transform:translate(3px,-3px)}.splash-date{letter-spacing:.16em;color:#a9aa96;margin:26px 0 0;font-size:9px}.splash-date span{color:#aa9874;margin:0 10px}.envelope-screen.opening .envelope{transition:transform 1.2s cubic-bezier(.19,1,.22,1);transform:rotate(0)translateY(18px)}.envelope-screen.opening .seal{opacity:0;transition:opacity .45s,transform .65s;transform:translate(-50%,18px)rotate(12deg)scale(.95)}.envelope-screen.opening .envelope-ribbon{opacity:0;transform:translate(30px)}.envelope-screen.opening .envelope-flap{transition-duration:1.15s;transition-delay:.4s}.envelope-screen.opening .envelope-letter{transition-duration:1.2s;transition-delay:.8s;transform:translateY(-68%)rotate(0)scale(1.01)}.envelope-screen.opening .splash-date{opacity:0;transition:opacity .5s}@media (max-width:650px){.envelope-intro h1{margin-bottom:62px}.envelope{width:min(80vw,370px)}.seal{width:64px;height:64px;font-size:16px;top:calc(61% - 18px)}.seal-wreath{font-size:21px}.envelope-ribbon{height:26px}.open-prompt{margin-top:45px}.splash-date{margin-top:22px}}@media (max-height:650px){.envelope-intro{padding:16px 0}.envelope-intro h1{margin-bottom:35px;font-size:32px}.envelope{width:min(65vw,330px)}.envelope-intro>.smallcaps{margin-bottom:14px}.open-prompt{margin-top:28px}.splash-date{margin-top:15px}}@media (prefers-reduced-motion:reduce){.envelope,.envelope-ribbon,.open-prompt span,.splash-date{transition:none!important}}
:root{--gold:#c9b47f}.display,.hero h2{letter-spacing:-.045em;font-family:Bodoni Moda,Times New Roman,serif;font-weight:400}.display{font-size:clamp(43px,6.5vw,78px);line-height:1.13}.entourage h3,.attire-grid h3,.timeline-list strong,.timeline-list time{font-family:Cormorant Garamond,Georgia,serif;font-weight:500}.section-copy,.intro-line,.split-note,.date-names,.portrait-caption{font-family:Cormorant Garamond,Georgia,serif}.section-copy{font-size:21px;line-height:1.65}.eyebrow{color:#9c8655;letter-spacing:.3em;font-size:10px}.forest .eyebrow{color:#c9b47f}.hero-inner{outline-offset:-13px;background:#121b1494;border:0;outline:1px solid #c9b47f66;padding:44px 28px 54px}.hero-inner:before,.hero-inner:after{content:"";border-style:solid;border-color:#c9b47fa6;width:68px;height:68px;font-size:0;left:auto;transform:none}.hero-inner:before{border-width:1px 0 0 1px;top:5px;left:5px}.hero-inner:after{border-width:0 1px 1px 0;bottom:5px;right:5px}.hero h2{margin:10px 0 20px;font-size:clamp(62px,10vw,124px);line-height:1.08}.hero h2 em{color:#c9b47f;font-family:Cormorant Garamond,serif}.hero .smallcaps{color:#c8bea5;letter-spacing:.32em;margin-bottom:16px;font-size:9px}.intro-line{margin:12px 0;font-size:21px}.hero-date{letter-spacing:.17em;font-size:10px}.hero-place{color:#c9b47f;font-size:10px}.hero .outline-button{border-color:#c9b47f80;margin-top:18px;font-size:9px}.estate-crest{outline-offset:5px;color:#d8c99f;border:1px solid #c9b47f88;border-radius:50%;outline:1px solid #c9b47f44;flex-direction:column;justify-content:center;width:106px;height:106px;margin:4px auto 30px;display:flex;position:relative}.estate-crest:before,.estate-crest:after{content:"❧";color:#c9b47f88;font:36px Georgia,serif;position:absolute;top:32px}.estate-crest:before{left:-28px;transform:rotate(-75deg)}.estate-crest:after{right:-28px;transform:rotate(105deg)}.estate-crest>span{letter-spacing:-.09em;font:40px/1 Bodoni Moda,serif}.estate-crest i{margin:0 3px;font:italic 25px Cormorant Garamond,serif}.estate-crest small{letter-spacing:.15em;margin-top:11px;font-size:7px}.invitation-open .hero-inner>.estate-crest{animation-delay:.12s}.date-lockup{letter-spacing:-.065em;font-family:Bodoni Moda,serif;font-weight:400}.date-lockup i{color:#b29c66}.invitation .section-inner{position:relative}.invitation .section-inner:after{content:"";outline-offset:6px;pointer-events:none;border:1px solid #c9b47f38;outline:1px solid #c9b47f24;position:absolute;inset:32px -10px}.envelope-intro{width:min(100% - 20px,900px);padding:20px 0}.envelope-intro h1{letter-spacing:-.025em;margin-bottom:40px;font-family:Bodoni Moda,serif;font-size:clamp(30px,4vw,50px)}.envelope-intro h1 i{font-family:Cormorant Garamond,serif}.envelope{perspective:1800px;width:min(91vw,680px,142.8svh - 456.96px);transform:rotate(-2deg)}.envelope:hover,.envelope:focus-visible{transform:rotate(-1deg)translateY(-3px)}.envelope-flap{filter:none;transform-style:preserve-3d;backface-visibility:visible;background:0 0;transition:transform 1.2s cubic-bezier(.45,0,.2,1) .45s;transform:rotateX(0)}.flap-front,.flap-back{backface-visibility:hidden;position:absolute;inset:0}.flap-front{filter:drop-shadow(0 5px 4px #322e2866);background:url(/linen-flap.svg) top/100% 100% no-repeat}.flap-back{background:linear-gradient(175deg,#b9ae97,#e8e0ce 70%,#d7ccb5);transform:rotateX(180deg);-webkit-mask:url(/linen-flap.svg) top/100% 100% no-repeat;mask:url(/linen-flap.svg) top/100% 100% no-repeat}.envelope:not(:disabled):hover .envelope-flap,.envelope:not(:disabled):focus-visible .envelope-flap{transform:rotateX(0)}.envelope-letter{z-index:1;height:80%;transition:transform 1.2s cubic-bezier(.22,.61,.36,1) 1.5s,box-shadow 1.2s 1.5s;top:9%;transform:translateY(10%)scale(.96)}.envelope-letter span{font-family:Bodoni Moda,serif;font-size:clamp(20px,4.3vw,40px)}.envelope-screen.opening .envelope-intro{transform:none}.envelope-screen.opening .envelope{transform:rotate(0)translateY(14svh)}.envelope-screen.opening .envelope-flap{transition:transform 1.2s cubic-bezier(.45,0,.2,1) .45s;animation:1.7s forwards flap-depth;transform:rotateX(-180deg)}.envelope-screen.opening .envelope-letter{transition:transform 1.2s cubic-bezier(.22,.61,.36,1) 1.5s,box-shadow 1.2s 1.5s;transform:translateY(-88%)scale(1)}.envelope-screen,.envelope-screen.opening{transition:opacity .85s,visibility .85s}.open-prompt{margin-top:38px}.splash-date{margin-top:18px}@keyframes flap-depth{0%,62%{z-index:3}63%,to{z-index:0}}@media (max-width:650px){.envelope{width:min(88vw,142.8svh - 342.72px)}.envelope-intro h1{margin-bottom:44px;font-size:clamp(28px,7.3vw,40px)}.hero{padding:12px}.hero-inner{padding:38px 16px 42px}.hero h2{font-size:clamp(55px,13vw,83px)}.estate-crest{width:82px;height:82px;margin-bottom:28px}.estate-crest>span{font-size:31px}.estate-crest i{font-size:20px}.estate-crest small{font-size:6px}.estate-crest:before,.estate-crest:after{font-size:30px;top:23px}.hero .smallcaps{font-size:8px}.intro-line{font-size:18px}.hero-date{letter-spacing:.07em;font-size:9px}.section-copy{font-size:20px}.open-prompt{margin-top:36px}.seal{width:70px;height:70px;top:calc(61% - 22px)}}@media (max-height:650px) and (min-width:651px){.envelope-intro h1{margin-bottom:24px;font-size:30px}.envelope{width:min(70vw,142.8svh - 292.74px)}.open-prompt{margin-top:24px}.splash-date{margin-top:12px}}@media (prefers-reduced-motion:reduce){.envelope-screen.opening .envelope-flap{transition:none;animation:none}.envelope-screen.opening .envelope-letter{transition:none}}
:is(html:has(.chapter-site),body:has(.chapter-site)){overscroll-behavior:none;height:100%;overflow:hidden}.chapter-site{isolation:isolate;height:100dvh;position:relative;overflow:hidden}.chapter-site .topbar{z-index:90;position:fixed;inset:0 0 auto}.chapter-panel{overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#a795694d transparent;visibility:hidden;opacity:0;pointer-events:none;z-index:1;scroll-behavior:auto;flex-direction:column;width:100%;height:calc(100dvh - 134px);inset:70px 0 64px;overflow:hidden auto;min-height:0!important;display:flex!important;position:fixed!important}.chapter-panel.is-active{visibility:visible;opacity:1;pointer-events:auto;z-index:3;animation:.9s cubic-bezier(.22,.61,.36,1) both chapter-open}.chapter-panel.is-leaving{visibility:visible;opacity:0;z-index:2;animation:.9s cubic-bezier(.22,.61,.36,1) both chapter-close}.chapter-site[data-direction=previous] .chapter-panel.is-active{animation-name:chapter-open-back}.chapter-site[data-direction=previous] .chapter-panel.is-leaving{animation-name:chapter-close-back}.chapter-panel .section-inner{flex-shrink:0;width:min(100% - 56px,950px);margin:auto;padding:48px 0}.chapter-panel .section-inner.narrow{max-width:690px}.chapter-panel .cinematic-reveal{opacity:1;filter:none;transform:none}.chapter-panel.is-active .section-inner>.eyebrow,.chapter-panel.is-active .section-inner>.display,.chapter-panel.is-active .section-inner>.section-copy,.chapter-panel.is-active .section-inner>.date-lockup{animation:.85s cubic-bezier(.19,1,.22,1) .22s both chapter-type}.chapter-panel.is-active .section-inner>.display{animation-delay:.3s}.chapter-panel.is-active .section-inner>.section-copy{animation-delay:.38s}.chapter-panel.hero{justify-content:flex-start;align-items:center;padding:28px}.chapter-panel.hero:before{animation:none;inset:0;transform:none}.chapter-panel.hero .hero-inner{flex-shrink:0;width:min(100%,960px);margin:auto;padding:32px 24px}.chapter-panel.hero .estate-crest{width:84px;height:84px;margin-bottom:24px}.chapter-panel.hero .estate-crest>span{font-size:32px}.chapter-panel.hero .estate-crest:before,.chapter-panel.hero .estate-crest:after{top:22px}.chapter-panel.hero h2{font-size:clamp(58px,8vw,108px)}.chapter-panel.hero .fine-rule{margin:20px auto}.chapter-panel.hero .hero-date{margin:10px 0}.chapter-panel.portrait-section{justify-content:center;align-items:center;padding:38px 20px}.chapter-panel .portrait-frame{width:min(100%,360px);margin:0 auto}.chapter-panel .portrait-oval{height:min(50dvh,420px)}.chapter-panel .portrait-caption{margin:22px 0 0}.chapter-panel .parents-grid{margin:35px 0}.chapter-panel .roles-grid{margin:32px 0}.chapter-panel .map-panel{height:220px;margin:28px 0 20px}.chapter-panel .arrival-note{margin-top:25px!important}.chapter-panel .timeline-list{margin-top:30px}.chapter-panel .timeline-list>div{min-height:64px}.chapter-panel .timeline-list>div .timeline-dot:after{height:55px;transform:scaleY(1)}.chapter-panel .qr-grid{margin-top:30px}.chapter-panel .qr-placeholder{min-height:175px}.chapter-panel .faq-list,.chapter-panel.rsvp form{margin-top:28px}.chapter-panel.rsvp .section-copy{margin-bottom:20px}.chapter-panel.rsvp input[type=text]{margin-bottom:22px}footer.chapter-panel{justify-content:center;align-items:center;padding:40px 20px}.chapter-controls{z-index:91;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);color:#343c2d;opacity:0;visibility:hidden;background:#fff8eaef;border-top:1px solid #a3916838;justify-content:center;align-items:center;gap:26px;height:64px;padding:0 20px;transition:opacity .5s;display:flex;position:fixed;inset:auto 0 0}.invitation-open .chapter-controls{opacity:1;visibility:visible}.chapter-controls>div{justify-content:center;align-items:center;gap:16px;min-width:235px;display:flex}.chapter-controls button{color:#726442;cursor:pointer;background:0 0;border:1px solid #a3916866;border-radius:50%;width:36px;height:36px;font-size:18px;transition:background .2s,transform .2s}.chapter-controls button:hover:not(:disabled){background:#d8c69c33;transform:translateY(-2px)}.chapter-controls button:disabled{opacity:.25;cursor:default}.chapter-counter{white-space:nowrap;font:15px Cormorant Garamond,Georgia,serif}.chapter-counter i{color:#8c8c78;margin-left:3px;font-style:normal}.chapter-title{text-transform:uppercase;letter-spacing:.2em;font-size:8px}.reading-progress{background:#b7a06b;transition:transform .8s cubic-bezier(.19,1,.22,1)}@keyframes chapter-open{0%{opacity:0;clip-path:inset(100% 0 0);transform:translateY(4%)}to{opacity:1;clip-path:inset(0);transform:none}}@keyframes chapter-open-back{0%{opacity:0;clip-path:inset(0 0 100%);transform:translateY(-4%)}to{opacity:1;clip-path:inset(0);transform:none}}@keyframes chapter-close{0%{opacity:1;transform:none}to{opacity:0;transform:translateY(-3%)scale(.98)}}@keyframes chapter-close-back{0%{opacity:1;transform:none}to{opacity:0;transform:translateY(3%)scale(.98)}}@keyframes chapter-type{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}@media (max-width:650px){.chapter-panel{height:calc(100dvh - 122px);inset:60px 0 62px}.chapter-panel .section-inner{width:calc(100% - 40px);padding:38px 0}.chapter-panel.hero{padding:20px 14px}.chapter-panel.hero .hero-inner{padding:30px 16px}.chapter-panel.hero h2{font-size:clamp(52px,13vw,78px)}.chapter-panel.hero .intro-line{font-size:17px}.chapter-panel.hero .estate-crest{width:72px;height:72px;margin-bottom:22px}.chapter-panel.hero .estate-crest>span{font-size:27px}.chapter-panel.hero .estate-crest small{font-size:5px}.chapter-panel.hero .estate-crest:before,.chapter-panel.hero .estate-crest:after{top:18px}.chapter-panel .display{font-size:clamp(39px,10.5vw,58px)}.chapter-panel .section-copy{font-size:19px}.chapter-panel .map-panel{height:180px}.chapter-panel .qr-placeholder{min-height:150px}.chapter-panel .split-note{margin:28px auto 22px}.chapter-panel .date-lockup{margin-top:24px}.chapter-panel .parents-grid{gap:16px}.chapter-controls{gap:14px;height:62px;padding:0 14px}.chapter-controls>div{gap:12px;min-width:220px}.chapter-title{letter-spacing:.16em;font-size:7px}.chapter-controls button{width:32px;height:32px}}.chapter-panel.save-date .split-note{margin:26px auto 22px;padding:14px 0}.chapter-panel.save-date .date-lockup{margin:24px auto 2px;font-size:clamp(67px,12vw,115px)}.chapter-panel.save-date .eyebrow,.chapter-panel.save-date .date-names{margin-bottom:12px}@media (min-width:651px) and (max-height:850px){.chapter-panel .section-inner{padding:28px 0}.chapter-panel .display{margin-bottom:22px;font-size:58px}.chapter-panel.hero .hero-inner{padding:24px}.chapter-panel.hero h2{margin-bottom:12px;font-size:min(8vw,11dvh)}.chapter-panel.hero .estate-crest{width:64px;height:64px;margin-bottom:18px}.chapter-panel.hero .estate-crest>span{font-size:25px}.chapter-panel.hero .estate-crest small{margin-top:7px;font-size:5px}.chapter-panel.hero .estate-crest:before,.chapter-panel.hero .estate-crest:after{font-size:28px;top:14px}.chapter-panel.hero .intro-line{margin:8px 0;font-size:19px}.chapter-panel.hero .fine-rule{margin:14px auto}.chapter-panel.hero .outline-button{margin-top:12px}.chapter-panel .map-panel{height:150px;margin:20px 0}.chapter-panel .arrival-note{margin-top:18px!important}.chapter-panel.rsvp .section-copy{font-size:18px;line-height:1.5}.chapter-panel.rsvp form{margin-top:20px}.chapter-panel.rsvp input[type=text]{margin-bottom:16px;padding:12px}.chapter-panel.rsvp fieldset{margin-bottom:16px}.chapter-panel.rsvp .radio-row{padding:12px}}@media (prefers-reduced-motion:reduce){.chapter-panel,.chapter-panel.is-active,.chapter-panel.is-leaving,.chapter-panel.is-active .section-inner>*{clip-path:none!important;animation:none!important;transform:none!important}.chapter-panel.is-leaving{visibility:hidden}.reading-progress{transition:none}}
