/* Generous page spacing and a tactile, two-leaf invitation. */
:root{--section-pad:clamp(40px,6.2vw,100px);--section-gutter:clamp(24px,5.5vw,88px)}
html{scroll-padding-top:28px}
main>header{display:none}
.hero{height:auto;min-height:clamp(650px,58vw,850px);max-height:none}
.hero-copy{padding:var(--section-pad) 0 var(--section-pad) var(--section-gutter);width:53%}
.hero-photo{inset:0 0 0 36%}
.hero-copy .event-details{margin-top:30px;margin-bottom:26px}
.hero h1{margin-top:30px;margin-bottom:22px}
.reception{padding:var(--section-pad) var(--section-gutter);grid-template-columns:53% 47%;gap:0}
.reception-copy{padding-right:7%}
.reception .event-details{margin:24px 0 25px}
.reception .map-frame{height:clamp(270px,25vw,380px)}
.gallery{padding:var(--section-pad) 0 calc(var(--section-pad)*.75)}
.gallery-header{margin-bottom:35px}
.photo-rail{padding-left:var(--section-gutter);padding-right:var(--section-gutter);scroll-padding-left:var(--section-gutter);gap:12px}
.gallery-item,.gallery-item:nth-child(3n+2){flex-basis:calc((100vw - 2*var(--section-gutter) - 48px)/5)}
.gallery-item img{height:19vw;max-height:310px}
.rail-arrow.previous{left:calc(var(--section-gutter) - 20px)}
.rail-arrow.next{right:calc(var(--section-gutter) - 20px)}
.closing{height:auto;min-height:clamp(430px,40vw,610px);max-height:none}
.closing-copy{padding:var(--section-pad) 0 var(--section-pad) calc(var(--section-gutter)*1.5);width:57%;min-height:inherit}
.closing-copy h2{margin-bottom:24px}
.closing-copy .ornament{margin:26px 0 15px}
footer{padding:55px var(--section-gutter) 28px}
/* Separate live paper leaves over a photographic still-life background. */
.invitation{background:#332016 url('assets/images/invitation-still-life.webp') center/cover no-repeat;isolation:isolate}
.invitation:before{content:'';position:absolute;inset:0;background:linear-gradient(180deg,#1c080b25,transparent 30%,#1c080b50);pointer-events:none;z-index:0}
.invitation>.floral,.candle-bokeh{display:none}
.intro-top{left:28px;right:28px;top:22px;color:#d0a065;z-index:10}
.intro-top>span:first-child{font-size:31px;color:#d0a065;text-shadow:0 1px 6px #17080b70}
.intro-top>span:nth-child(2){display:none}
.text-button{color:#fdf5e5;background:#3b060c45;border:1px solid #d9b77b55;border-radius:20px;padding:10px 15px;font:10px var(--serif);letter-spacing:1.5px;backdrop-filter:blur(5px)}
.book-stage{inset:75px 0 120px;perspective:2000px;z-index:3;align-items:center}
.book{width:min(1050px,76vw);height:min(660px,68svh);max-height:none;transform:rotate(-7deg) rotateX(5deg);transform-style:preserve-3d;background:#530711 url('assets/botanical-pattern.svg');border:2px solid #9f733e;border-radius:5px;box-shadow:1px 4px 0 #dac5a3,3px 8px 0 #816447,4px 12px 0 #c4ac89,9px 28px 42px #27100ba0,20px 45px 75px #27100b60;touch-action:none}
.book:before{content:'';position:absolute;inset:8px;border:1px solid #c2985b60;border-radius:2px;pointer-events:none}
.inside{inset:10px;padding:18px 20px 12px;background:#f8e5d2;box-shadow:inset 0 0 22px #5b382940}
.inside img{height:91%;object-position:50% 50%;border:1px solid #c5a471}
.inside>span{font-size:29px;line-height:1.2;padding-top:9px;color:#5c0a17}
.cover{top:-2px;bottom:-2px;filter:drop-shadow(3px 5px 3px #3b060c65)}
.left-cover{width:58%;left:-2px;transform-origin:0% 50%;z-index:3}
.right-cover{width:44%;right:-2px;transform-origin:100% 50%;z-index:4}
.cover-face,.cover-back{border:1px solid #bb995d;background:radial-gradient(ellipse at 25% 10%,#fdf5e5,#f1ddbf 75%),url('assets/paper.svg');box-shadow:inset 0 0 0 3px #e2cca3,inset 0 0 0 5px #d2b883,inset -10px 0 30px #9c733b12;overflow:hidden;display:block;padding:0!important}
.cover-face:after{content:'';position:absolute;inset:0;z-index:0;background:url('assets/paper.svg');opacity:1;pointer-events:none;mix-blend-mode:multiply}
.left-cover .cover-face,.left-cover .cover-back{border-radius:4px 62% 62% 4px /4px 50% 50% 4px!important}
.right-cover .cover-face,.right-cover .cover-back{border-radius:65% 4px 4px 65% /50% 4px 4px 50%!important}
.cover-back{background:url('assets/paper.svg'),#ebd5b5;box-shadow:inset 0 0 25px #9f733e35}
.cover-face .botanical{color:#c69c61;width:42%;height:75%;max-width:none;opacity:.3;left:auto;right:7%;bottom:-7%;filter:drop-shadow(1px 1px 0 #fff9e9)}
.right-cover .botanical{right:-2%;left:auto;top:auto;bottom:-7%;transform:rotate(-17deg);width:63%;height:85%;opacity:.27}
.cover-left-copy{position:absolute;z-index:2;left:8%;right:20%;top:12%;text-align:center;color:var(--color-heading)}
.cover-left-copy>.eyebrow{font-size:clamp(8px,.75vw,11px);letter-spacing:4px;white-space:nowrap}
.cover-left-copy h2{font:400 clamp(52px,5.8vw,89px)/.86 var(--font-display);letter-spacing:-2.2px;margin:26px 0 25px}
.cover-left-copy h2>span{white-space:nowrap;display:block;margin-left:4%}
.cover-left-copy h2 em{font-family:var(--script);font-weight:400;font-size:1.2em;line-height:0;color:#a66d28;vertical-align:-4px;margin-right:-8px}
.cover-left-copy .cover-event{font-size:clamp(8px,.95vw,14px);letter-spacing:4px}
.cover-divider{font:18px var(--serif);letter-spacing:1px;color:#ad7f43;margin:18px 0}
.cover-left-copy p{font:400 clamp(13px,1.25vw,19px)/1.35 var(--serif);color:#4f2f26}
.embossed-pavilion{position:absolute;bottom:2%;left:0;width:69%;height:25%;color:#c39d71;opacity:.35;filter:drop-shadow(1px 1px 0 #fff7df);pointer-events:none;z-index:1}
.cover-right-copy{position:absolute;top:21%;left:23%;right:8%;text-align:center;color:var(--color-heading);z-index:2;display:flex;flex-direction:column;align-items:center}
.cover-sprig{color:#ab7d40;font-size:31px;line-height:1;margin-bottom:18px}
.cover-right-copy>.eyebrow{font-size:clamp(8px,.85vw,12px);letter-spacing:4px}
.stationery-date{font:500 clamp(15px,1.65vw,24px)/1.3 var(--serif);white-space:nowrap;margin-top:9px}
.stationery-venue{font:500 clamp(13px,1.42vw,21px)/1.3 var(--serif);white-space:nowrap}
.stationery-location{font:400 clamp(12px,1.15vw,17px)/1.5 var(--serif);margin-top:4px}
.stationery-time{font:400 clamp(10px,.94vw,14px)/1.5 var(--serif);color:#795936;margin-top:10px}
.cover-right-copy .cover-divider{margin:17px 0}
.cover-right-copy .married-label{font-size:clamp(7px,.7vw,10px);letter-spacing:3px;line-height:2}
.top-flap,.cover-letter,.cover-bottom{display:none}
.ribbon{position:absolute;z-index:5;top:49%;left:54%;height:49%;width:11%;background:linear-gradient(88deg,#360611,#8d1d2e 18%,#490715 42%,#931e30 62%,#430710 85%);box-shadow:5px 6px 8px #2c0c1350;transform:rotate(-10deg);clip-path:polygon(0 0,90% 0,100% 100%,60% 90%,26% 100%);pointer-events:none}
.ribbon:after{content:'';position:absolute;inset:0;border-left:1px solid #c0746260;transform:rotate(12deg);background:linear-gradient(70deg,transparent 65%,#26051170)}
.wax{z-index:7;top:calc(49% - 30px);left:calc(57% - 50px);width:100px;height:100px;border:3px solid #b17c38;outline:1px solid #523110;border-radius:46% 50% 47% 49%;background:radial-gradient(circle at 35% 25%,#daa94e,#aa712c 42%,#835019 67%,#bc8941);box-shadow:0 6px 7px #35170780,inset 0 0 0 3px #f1d18a,inset 0 0 0 6px #8b571f,inset 0 2px 6px #f9df9850;color:#f0d290;text-shadow:1px 1px 0 #664017,-1px -1px 0 #f0c277;font:400 31px var(--serif);letter-spacing:1px;display:flex;justify-content:center;align-items:center;padding-top:11px}
.wax>span:not(.seal-leaf){font-size:22px;margin:0 4px}
.wax .seal-leaf{position:absolute;top:10px;left:0;right:0;margin:0;font-size:21px;line-height:1}
.intro-bottom{position:absolute;inset:auto 0 20px;display:block;height:83px;z-index:9;pointer-events:none}
.open-prompt{pointer-events:auto;position:absolute;bottom:0;left:50%;transform:translateX(-50%);display:flex;align-items:center;flex-direction:column;gap:10px;background:none;border:0;color:#fff1dd;font:10px var(--serif);letter-spacing:3px;text-shadow:0 2px 5px #29160c;white-space:nowrap;padding:6px 20px;min-height:80px}
.mouse-icon{width:20px;height:32px;border-color:#fff1dd;border-radius:13px}
.mouse-icon:before{left:8px;background:#fff1dd}
.prompt-flourish{color:#d1aa6a;font-size:15px;letter-spacing:1px;line-height:1}
.intro-side-note{position:fixed;right:4%;top:36%;color:#70481e;font:clamp(23px,2.6vw,39px)/1.2 var(--script);text-align:center;transform:rotate(-7deg);width:12%;text-shadow:0 1px 0 #fdf5e555}
.intro-side-note i{display:block;font:33px var(--serif);margin-top:14px}
@media(min-width:1600px){.book{width:min(1200px,74vw);height:min(740px,70svh)}.cover-left-copy h2{font-size:105px}}
@media(max-width:1000px) and (min-width:761px){.book{width:79vw;height:min(590px,65svh)}.cover-left-copy{left:7%;right:18%;top:15%}.cover-left-copy>.eyebrow{font-size:7px;letter-spacing:2.6px}.cover-left-copy h2{font-size:58px;margin:23px 0 20px}.cover-left-copy .cover-event{font-size:9px;letter-spacing:2px}.cover-left-copy p{font-size:14px}.cover-right-copy{top:20%;left:22%;right:7%}.stationery-date{font-size:16px}.stationery-venue{font-size:14px}.cover-right-copy .cover-divider{margin:13px 0}.wax{width:80px;height:80px;left:calc(57% - 40px);font-size:27px}.wax .seal-leaf{top:8px;font-size:17px}.intro-side-note{display:none}.closing-copy h2{font-size:48px}}
@media(max-width:760px){:root{--section-pad:48px;--section-gutter:24px}.hero{min-height:0;display:flex}.hero-copy{padding:55px var(--section-gutter) 25px;width:100%}.hero-photo{inset:auto;height:105vw;max-height:540px;min-height:360px}.hero h1{margin:28px 0 20px}.hero-copy .event-details{margin:26px 0}.reception{padding:48px var(--section-gutter);gap:32px}.reception-copy{padding:0}.reception .map-frame{height:280px}.reception .event-details{margin:24px 0}.gallery{padding:55px 0 45px}.gallery-header{margin-bottom:28px}.gallery-item,.gallery-item:nth-child(3n+2){flex-basis:72vw}.gallery-item img{height:88vw;max-height:450px}.photo-rail{gap:12px}.rail-arrow.previous{left:8px}.rail-arrow.next{right:8px}.closing{min-height:0;height:auto}.closing-copy{padding:55px 36px 24px;width:100%;min-height:0}.closing-photo{height:105vw;max-height:480px}.closing-copy h2{font-size:45px;white-space:normal}.closing-copy p{font-size:18px}.closing-copy .ornament{margin:24px 0 14px}footer{padding:46px var(--section-gutter) 26px}.invitation{background-position:43% center}.intro-top{top:16px;left:18px;right:18px}.intro-top>span:first-child{font-size:25px}.text-button{font-size:8px;letter-spacing:.7px;padding:9px 11px}.book-stage{inset:95px 0 125px;perspective:1400px}.book{width:91vw;height:min(570px,61svh);transform:rotate(-4deg) rotateX(3deg);box-shadow:1px 3px 0 #dac5a3,3px 6px 0 #816447,4px 9px 0 #c4ac89,7px 22px 32px #27100b90}.left-cover{width:58%}.right-cover{width:44%}.cover-left-copy{left:6%;right:17%;top:20%}.cover-left-copy>.eyebrow{font-size:5px;letter-spacing:1.3px}.cover-left-copy h2{font-size:clamp(33px,9vw,62px);letter-spacing:-1.4px;line-height:.9;margin:20px 0 19px}.cover-left-copy h2 em{font-size:1.2em;vertical-align:-2px;margin-right:-5px}.cover-left-copy .cover-event{font-size:6px;letter-spacing:1.6px}.cover-divider{font-size:11px;letter-spacing:0;margin:15px 0}.cover-left-copy p{font-size:clamp(11px,2.6vw,16px);line-height:1.4}.cover-right-copy{top:25%;left:23%;right:6%}.cover-sprig{font-size:23px;margin-bottom:14px}.cover-right-copy>.eyebrow{font-size:6px;letter-spacing:2px}.stationery-date{font-size:clamp(10px,2.8vw,17px);margin-top:7px;white-space:normal}.stationery-venue{font-size:clamp(9px,2.5vw,15px);white-space:normal;line-height:1.3}.stationery-location{font-size:clamp(9px,2.4vw,13px);line-height:1.35}.stationery-time{font-size:9px;line-height:1.3;margin-top:8px}.cover-right-copy .cover-divider{margin:12px 0}.cover-right-copy .married-label{font-size:5px;letter-spacing:1.5px;line-height:2}.wax{width:62px;height:62px;left:calc(57% - 31px);top:calc(48% - 18px);border-width:2px;font-size:22px;padding-top:8px;box-shadow:0 4px 5px #35170780,inset 0 0 0 2px #f1d18a,inset 0 0 0 4px #8b571f}.wax>span:not(.seal-leaf){font-size:15px;margin:0 2px}.wax .seal-leaf{font-size:15px;top:6px}.ribbon{top:48%;left:54%;width:12%;height:49%}.embossed-pavilion{width:75%;height:25%;bottom:2%;opacity:.3}.cover-face .botanical{width:55%;right:2%;height:80%;opacity:.25}.right-cover .botanical{width:70%;right:-4%;height:80%;bottom:-10%}.intro-bottom{bottom:22px;height:83px}.open-prompt{font-size:8px;letter-spacing:2px;gap:11px}.intro-side-note{display:none}.inside{padding:10px;inset:5px}.inside>span{font-size:22px}.petals i{scale:.6}.hero>.floral-left{top:-3%;left:-20%}}
@media(max-width:380px){.cover-left-copy h2{font-size:34px}.cover-left-copy .cover-event{letter-spacing:1.2px;font-size:5px}.cover-left-copy p{font-size:10px}.cover-right-copy{left:24%;right:5%}.stationery-date{font-size:10px}.stationery-venue{font-size:9px}.stationery-location{font-size:8px}.stationery-time{font-size:8px}.wax{width:56px;height:56px;left:calc(57% - 28px);font-size:20px}.cover-right-copy .cover-divider{margin:10px 0}.closing-copy{padding-left:28px;padding-right:28px}}
@media(max-height:700px) and (min-width:761px){.book-stage{inset:60px 0 115px}.book{height:calc(100svh - 205px);width:min(790px,73vw)}.cover-left-copy{top:13%}.cover-left-copy h2{font-size:56px;margin:18px 0}.cover-left-copy>.eyebrow{font-size:7px;letter-spacing:2.5px}.cover-left-copy .cover-event{font-size:9px;letter-spacing:2px}.cover-left-copy p{font-size:13px}.cover-divider{margin:13px 0;font-size:14px}.cover-right-copy{top:17%}.cover-sprig{font-size:24px;margin-bottom:10px}.stationery-date{font-size:17px}.stationery-venue{font-size:15px}.stationery-location{font-size:13px}.stationery-time{font-size:11px;margin-top:6px}.cover-right-copy .cover-divider{margin:11px 0}.cover-right-copy>.eyebrow{font-size:8px;letter-spacing:2.5px}.cover-right-copy .married-label{font-size:7px;letter-spacing:2px}.wax{width:76px;height:76px;left:calc(57% - 38px);font-size:26px}.wax .seal-leaf{font-size:17px;top:7px}.intro-side-note{display:none}}
@media(max-width:760px) and (max-height:700px){.book-stage{inset:75px 0 110px}.book{height:calc(100svh - 195px);width:88vw}.cover-left-copy{top:13%}.cover-left-copy h2{font-size:36px;margin:15px 0}.cover-left-copy p{font-size:10px}.cover-divider{margin:11px 0}.cover-right-copy{top:17%}.cover-sprig{font-size:20px;margin-bottom:10px}.cover-right-copy .cover-divider{margin:9px 0}.cover-right-copy .married-label{font-size:5px}.stationery-time{font-size:8px;margin-top:6px}.intro-bottom{bottom:14px}.open-prompt{font-size:7px}.mouse-icon{height:26px;width:17px}.mouse-icon:before{left:7px}}
@media(prefers-reduced-motion:reduce){.book{transform:rotate(-3deg)}.mouse-icon:before{animation:none}.text-button{backdrop-filter:none}}
.inside{opacity:0}
@media(min-width:1001px){.book-stage{padding-right:6%}.intro-side-note{right:1.3%;width:10%;font-size:clamp(23px,2.3vw,35px)}}
@media(max-width:760px){.cover-left-copy p{font-size:12px}.cover-right-copy{top:22%}.stationery-date{font-size:12px}.stationery-venue{font-size:11px}.stationery-location{font-size:11px}.stationery-time{font-size:10px}.cover-right-copy .married-label{font-size:6px}}
@media(max-width:380px){.cover-left-copy p{font-size:11px}.stationery-date{font-size:11px}.stationery-venue{font-size:10px}.stationery-location{font-size:10px}.stationery-time{font-size:9px}.cover-right-copy .married-label{font-size:5.5px}}
@media(max-width:760px) and (max-height:700px){.cover-left-copy p{font-size:10px}.stationery-date{font-size:10px}.stationery-venue{font-size:9px}.stationery-location{font-size:9px}.stationery-time{font-size:8px}.cover-right-copy .married-label{font-size:5px}}
