@font-face{font-family:Cormorant;src:url('assets/fonts/cormorant.ttf') format('truetype');font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:GreatVibes;src:url('assets/fonts/great-vibes.ttf') format('truetype');font-style:normal;font-weight:400;font-display:swap}
:root{--ivory:#f6f0e8;--paper:#fffaf0;--wine:#511d2c;--dark:#29161e;--ink:#392e2b;--muted:#75665f;--gold:#b08a50;--pale:#e1c9a1;--line:#bc9b6866;--serif:Cormorant,Georgia,serif;--script:GreatVibes,'Brush Script MT',cursive}
*{box-sizing:border-box}html{scroll-behavior:auto;scroll-padding-top:70px}body{margin:0;background:var(--ivory);color:var(--ink);font:16px/1.7 Arial,sans-serif}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit}button{font:inherit;cursor:pointer}button:focus-visible,a:focus-visible{outline:2px solid var(--gold);outline-offset:7px}button{border:0}h1,h2,h3,p,figure,blockquote{margin:0}h2{font:400 clamp(3.3rem,6vw,5.7rem)/1.05 var(--serif);letter-spacing:-.03em}h2 em{font-weight:400;color:var(--wine)}h3{font:400 clamp(2.2rem,4vw,3.4rem)/1.12 var(--serif)}.section{padding:110px 6%;text-align:center}.eyebrow{font-size:.75rem;letter-spacing:.18em;line-height:1.9}.script{font:400 clamp(1.9rem,3.2vw,2.7rem)/1.45 var(--script)}.cross{font-size:1.7rem;color:var(--gold);display:block}.divider{display:block;color:var(--gold);font-size:1.3rem;margin:38px auto}.body-copy{font-size:1rem;line-height:1.9;color:var(--muted)}.masthead{height:72px;padding:0 5%;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line)}.masthead>span{font-size:.75rem;letter-spacing:.2em}.brand{font:1.8rem var(--serif);text-decoration:none}.brand i{color:var(--gold);font-size:1.2rem}.sound{background:transparent;display:flex;gap:10px;align-items:center;color:var(--wine);font-size:.8rem;min-height:44px}.sound-bars{display:flex;align-items:center;gap:3px;height:19px}.sound-bars i{width:2px;height:6px;background:currentColor}.sound-bars i:nth-child(2){height:16px}.sound-bars i:nth-child(3){height:11px}.sound[aria-pressed=true] i{animation:equalizer 1.1s ease-in-out infinite alternate}.sound i:nth-child(2){animation-delay:.25s}.sound i:nth-child(3){animation-delay:.6s}.sound i:nth-child(4){animation-delay:.1s}@keyframes equalizer{to{transform:scaleY(.4)}}
.hero{background:radial-gradient(ellipse at 50% 15%,#f9f2e5,#e7dbca);padding:30px 16px 40px;display:flex;align-items:center;flex-direction:column;min-height:calc(100svh - 72px);justify-content:center}.hero-frame{width:min(590px,100%);aspect-ratio:2/3;background:url('assets/ivory-arch.webp') center/100% 100% no-repeat;position:relative;box-shadow:0 14px 50px #3c24151c}.hero-content{position:absolute;inset:19% 18% 14%;display:flex;align-items:center;justify-content:space-between;flex-direction:column;text-align:center}.hero-blessing{font-size:clamp(.6rem,1vw,.79rem);line-height:1.65;letter-spacing:.07em;color:var(--wine);font-weight:500}.hero .cross{font-size:1.4rem;line-height:1}.hero h1{font:400 clamp(3.6rem,7vw,7rem)/.84 var(--serif);letter-spacing:-.045em;color:var(--wine);margin:12px 0 8px}.hero h1 span{display:block}.hero h1 i{display:block;font:400 .39em/1.3 var(--script);color:var(--gold);margin:5px 0}#couple-title:focus{outline:none}.hero-poem{font:italic clamp(1rem,1.7vw,1.4rem)/1.3 var(--serif)}.date-line{display:flex;align-items:center;justify-content:center;gap:12px;max-width:100%;margin-top:8px}.date-line span{font-size:.75rem;letter-spacing:.03em;line-height:1.4}.date-line b{font:400 2.7rem/1 var(--serif);border-inline:1px solid var(--line);padding:0 12px;color:var(--wine)}.place{font-size:.72rem;letter-spacing:.09em;line-height:1.5;margin-top:10px}.story-link{text-align:center;text-decoration:none;margin-top:28px;color:var(--wine)}.story-link span{font:400 clamp(1.6rem,3.5vw,2.6rem)/1.3 var(--script);display:block}.story-link i{font:1.4rem Arial;display:block;margin-top:13px;color:var(--gold);animation:float 2.6s ease-in-out infinite}@keyframes float{50%{transform:translateY(6px)}}
.invitation{max-width:1000px;margin:auto}.personal-greeting{font:italic 1.4rem var(--serif);color:var(--wine);margin:15px auto;overflow-wrap:anywhere}.verse-title{margin:32px 0}.verse-title span,.verse-title em{display:block}.scripture p{font:italic clamp(1.5rem,3vw,2.1rem)/1.4 var(--serif)}.scripture cite{font: .75rem/1.8 Arial,sans-serif;display:block;letter-spacing:.08em;margin-top:14px}.families{margin:30px 0;font:400 clamp(1.6rem,3vw,2.1rem)/1.45 var(--serif);color:var(--wine)}.families>span{display:block;font:1.6rem var(--script);color:var(--gold);margin:9px 0}.formal-names{font:400 clamp(3rem,5vw,4.2rem)/1.2 var(--serif);color:var(--wine);margin-top:32px}.formal-names i{font-family:var(--script);color:var(--gold);font-size:.65em;margin:0 .15em}
.promise-scene{background:var(--wine);color:var(--ivory);display:grid;grid-template-columns:1fr 1.1fr;gap:7%;padding:100px 8%;align-items:center;overflow:hidden}.promise-copy{text-align:left}.promise-copy .eyebrow{color:var(--pale);font-size:.72rem}.promise-copy h2{margin:30px 0}.promise-copy h2 em{color:var(--pale)}.poem{font:italic 1.5rem/1.7 var(--serif);color:#edddcc}.promise-line{display:block;height:1px;width:100px;background:var(--pale);margin-top:40px}.ring-portrait{padding:12px;border:1px solid #d3b98a99;transform:rotate(2deg);max-width:580px;justify-self:center;width:100%}.ring-image-wrap{position:relative;overflow:hidden;aspect-ratio:3/4;background:#3f1f29}.ring-portrait img{width:100%;height:100%;object-fit:cover;object-position:50% 50%;display:block;will-change:transform;transform:scale(1.03)}.ring-portrait figcaption{font:1.8rem/1.4 var(--script);padding:20px 0 8px;text-align:center;color:var(--pale)}.photo-gleam{position:absolute;inset:0;background:linear-gradient(110deg,transparent 25%,#ffe8bb30 48%,transparent 67%);transform:translateX(-130%);pointer-events:none}.ring-portrait.visible .photo-gleam{animation:gleam 2.5s 1s ease forwards}@keyframes gleam{to{transform:translateX(130%)}}.ring-glint{position:absolute;left:62%;top:54%;font-size:2.3rem;color:#fff1c8;text-shadow:0 0 15px #ecca7b;opacity:0;pointer-events:none}.ring-portrait.visible .ring-glint{animation:glint 3s 1.5s ease-in-out 2}@keyframes glint{0%,100%{opacity:0;transform:scale(.5) rotate(-30deg)}40%{opacity:.8;transform:scale(1.1) rotate(20deg)}}
.scrapbook-section{background:#eee2d1}.scrapbook-intro{padding-bottom:35px}.scrapbook-intro h2{margin:24px 0}.scrapbook-intro .script{font-size:2rem;color:var(--muted)}.scrapbook{padding:0 20px 80px}.book-stage{display:flex;align-items:center;justify-content:center;flex-direction:column}.book{width:min(500px,100%);display:grid;gap:40px;perspective:1600px}.scrap-page{width:100%;background:var(--paper);padding:16px 16px 22px;box-shadow:0 12px 30px #57372324;transform-origin:2% center;border:1px solid #cab38d66}.page-inner{backface-visibility:hidden}.page-photo{aspect-ratio:4/4.5;overflow:hidden}.page-photo img{display:block;width:100%;height:100%;object-fit:cover;object-position:50% 50%}.page-one img{object-position:50% 45%}.page-two img{object-position:50% 67%}.page-three img{object-position:50% 42%}.page-caption{text-align:center;padding:15px 5px 0}.page-number{font-size:.72rem;letter-spacing:.2em;color:var(--gold)}.page-caption h3{font:2.2rem/1.3 var(--script);color:var(--wine);margin:4px 0 10px}.page-caption p{font:italic 1.25rem/1.45 var(--serif);color:var(--muted)}.book-progress{display:none;gap:12px;margin:32px 0 14px}.book-progress span{width:18px;height:2px;background:#b9a88d;transition:width .4s,background .4s}.book-progress span.active{width:36px;background:var(--wine)}.book-hint{display:none;font:.75rem Arial;letter-spacing:.12em;color:var(--muted)}.scrapbook.scroll-book{height:330svh;padding-bottom:0}.scroll-book .book-stage{position:sticky;top:0;height:100svh;padding:20px 0}.scroll-book .book{display:block;height:min(690px,82svh);width:min(500px,calc(78svh * .7),100%);position:relative;transform-style:preserve-3d}.scroll-book .scrap-page{position:absolute;inset:0;height:100%;will-change:transform,opacity;backface-visibility:hidden;transition:box-shadow .15s}.scroll-book .page-inner{height:100%;display:flex;flex-direction:column}.scroll-book .page-photo{flex:1;min-height:0;aspect-ratio:auto}.scroll-book .page-caption{flex-shrink:0}.scroll-book .page-one{z-index:3}.scroll-book .page-two{z-index:2;transform:rotate(2deg)}.scroll-book .page-three{z-index:1;transform:rotate(-2deg)}.scroll-book .book-progress,.scroll-book .book-hint{display:flex}
.day{background:var(--ivory);position:relative}.day>h2{margin:25px 0 16px}.day>.script{color:var(--muted)}.venue{max-width:720px;margin:80px auto 0}.venue .cross{margin-bottom:24px}.time{font:400 clamp(4.6rem,8vw,6.4rem)/1 var(--serif);color:var(--wine);margin:25px 0 20px}.time small{font-size:.25em;letter-spacing:.06em}.venue h3{color:var(--wine);margin:0 0 22px}.venue-name{font:400 clamp(1.45rem,3vw,1.9rem)/1.4 var(--serif);margin:0 auto 4px}.venue-place{color:var(--muted);font-size:.9rem}.outline-button{display:inline-block;border:1px solid var(--gold);padding:13px 25px;text-decoration:none;font-size:.85rem;margin-top:28px;transition:background .35s,color .35s}.outline-button:hover{background:var(--wine);color:var(--ivory)}.vow-transition{max-width:700px;margin:70px auto 0;padding-top:55px;border-top:1px solid var(--line)}.vow-transition .script{font-size:2.7rem;color:var(--wine)}.vow-transition .divider{margin:25px auto}.reception{margin-top:35px}.save-date{margin:70px auto 0}.save-date>p{font:1.9rem/1.3 var(--serif);color:var(--wine)}.text-button{padding:14px 0 7px;background:transparent;border-bottom:1px solid var(--gold);color:var(--wine);font-size:.9rem;margin-top:14px}.text-button span{margin-left:12px}.save-date small{display:block;margin-top:20px;font-size:.75rem;color:var(--muted)}
.countdown-section{background:var(--wine);color:var(--pale)}.countdown{display:flex;justify-content:center;gap:22px;align-items:flex-start;margin:40px auto 55px;max-width:760px}.countdown>div{min-width:0;flex:1}.countdown b{font:400 clamp(3rem,7vw,6rem)/1.1 var(--serif);font-variant-numeric:lining-nums tabular-nums;display:block}.countdown span{font-size:.75rem;letter-spacing:.1em}.countdown>i{font:2rem var(--serif);margin-top:20px;opacity:.5}.countdown-section .scripture p{font-size:2rem}.countdown-section .scripture cite{color:#e6d6bd}.brothers{display:flex;justify-content:center;align-items:center;gap:26px;margin:22px auto;font:1.8rem var(--serif)}.brothers i{font-family:var(--script);color:var(--gold)}footer{background:#281b22;color:var(--pale)}.footer-rule{height:1px;background:#c7a77455;max-width:500px;margin:45px auto}.footer-names{font:clamp(3.5rem,8vw,6rem)/1.2 var(--serif);margin-bottom:24px}.footer-names i{font:.6em var(--script)}footer .script{margin-top:40px;font-size:2rem}
.opening[hidden]{display:none}.opening{position:fixed;inset:0;z-index:50;display:grid;place-items:center;background:#300b18;overflow:hidden}.curtain{position:absolute;top:0;bottom:0;width:50.2%;background-color:#4b1224;background-image:url('assets/royal-curtain.webp');background-size:200% 100%;background-repeat:no-repeat;will-change:transform;transition:transform 2.7s cubic-bezier(.67,0,.16,1),filter 2.7s;box-shadow:inset -12px 0 40px #14000966}.curtain-left{left:0;background-position:left center;transform-origin:left top}.curtain-right{right:0;background-position:right center;transform-origin:right top;box-shadow:inset 12px 0 40px #14000966}.stage-light{position:absolute;inset:0;background:radial-gradient(ellipse at center,#f8d79420,transparent 65%);pointer-events:none;transition:opacity .8s}.curtain-trigger{position:absolute;inset:0;width:100%;height:100%;padding:40px 24px;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:24px;background:transparent;color:#f0d9ad;text-shadow:0 2px 12px #240711;transition:opacity .6s,transform .8s}.opening-eyebrow{font-size:.7rem;letter-spacing:.25em;max-width:100%;line-height:1.8}.seal{width:126px;height:126px;border:1px solid #efd8a4;border-radius:50%;display:grid;place-items:center;position:relative;box-shadow:0 0 45px #dfbb6625,inset 0 0 30px #d9b05e22;background:#4b18294d;transition:transform .6s}.seal:before,.seal:after{content:'';position:absolute;inset:-8px;border:1px solid #e1c38755;border-radius:50%;animation:seal-breathe 3s ease-in-out infinite}.seal:after{inset:7px;animation:none}.seal>span{font:3.1rem var(--serif);letter-spacing:-.08em}.seal i{font:1.9rem var(--script);padding:0 2px}.curtain-trigger:hover .seal{transform:scale(1.04)}.curtain-trigger:focus-visible{outline:0}.curtain-trigger:focus-visible .seal{outline:3px solid #fff3cc;outline-offset:14px}.opening-names{font:3.3rem/1.25 var(--script);margin-top:5px}.opening-date{font-size:.85rem;letter-spacing:.35em}.opening-greeting{font:italic 1.25rem/1.4 var(--serif);overflow-wrap:anywhere;max-width:80%;margin-top:-10px}.touch-rings{position:relative;height:30px;width:30px;margin-top:2px}.touch-rings i{position:absolute;inset:7px;border:1px solid #ead6afbb;border-radius:50%;animation:ripple 3s infinite}.touch-rings i:nth-child(2){animation-delay:1s}.touch-rings i:nth-child(3){animation-delay:2s}@keyframes ripple{0%{transform:scale(.4);opacity:0}25%{opacity:.7}100%{transform:scale(2.8);opacity:0}}@keyframes seal-breathe{50%{transform:scale(1.04);opacity:.4}}.opening.leaving{background:transparent;pointer-events:none}.opening.leaving .curtain-left{transform:translateX(-103%) skewY(-5deg);filter:brightness(.7)}.opening.leaving .curtain-right{transform:translateX(103%) skewY(5deg);filter:brightness(.7)}.opening.leaving .curtain-trigger{opacity:0;transform:scale(.91)}.opening.leaving .stage-light{opacity:0}.locked{overflow:hidden}.opening-active .hero-line{opacity:0;transform:translateY(20px)}.hero-line{transition:opacity 1.1s ease,transform 1.1s cubic-bezier(.2,.7,.2,1)}.entered .hero-line{opacity:1;transform:none}.entered .hero-line:nth-child(2){transition-delay:.15s}.entered h1 .hero-line:nth-child(1){transition-delay:.35s}.entered h1 .hero-line:nth-child(2){transition-delay:.5s}.entered h1 .hero-line:nth-child(3){transition-delay:.65s}.entered .hero-poem{transition-delay:.85s}.entered .date-line{transition-delay:1s}.entered .place{transition-delay:1.15s}.motion-ready .reveal{opacity:0;transform:translateY(28px);transition:opacity 1s ease,transform 1s cubic-bezier(.2,.7,.2,1)}.motion-ready .reveal.visible{opacity:1;transform:none}.motion-ready .reveal-photo{opacity:0;transform:translateY(65px) rotate(-3deg);transition:opacity 1.3s,transform 1.3s cubic-bezier(.15,.7,.2,1)}.motion-ready .reveal-photo.visible{opacity:1;transform:rotate(2deg)}.skip{position:fixed;z-index:60;top:-100px;left:12px;background:var(--ivory);padding:10px}.skip:focus{top:10px}.audio-status:empty{display:none}.audio-status{position:fixed;right:15px;bottom:15px;z-index:45;background:var(--ivory);color:var(--wine);padding:12px 18px;box-shadow:0 3px 22px #0002;max-width:300px;font-size:.8rem}[hidden]{display:none!important}
@media(min-width:1000px){.hero-frame{width:min(590px,calc(83svh * .667));min-width:460px}.hero-content{inset:19% 18% 14%}.hero h1{font-size:clamp(5rem,7.8svh,6.8rem)}.hero-blessing{font-size:.72rem}.hero-poem{font-size:1.22rem}.hero{padding-bottom:28px}.story-link{margin-top:23px}.story-link span{font-size:2.3rem}}
@media(max-width:650px){.masthead{height:64px;padding:0 20px}.masthead>span{font-size:.7rem}.brand{font-size:1.5rem}.hero{padding:18px 8px 32px;min-height:calc(100svh - 64px)}.hero-frame{width:100%;max-width:440px;aspect-ratio:auto;min-height:650px}.hero-content{inset:18% 18% 14%;gap:0}.hero .cross{font-size:1.1rem}.hero-blessing{font-size:.68rem;letter-spacing:.015em;line-height:1.65}.hero h1{font-size:4.5rem;margin:12px 0 8px}.hero-poem{font-size:1.07rem;line-height:1.35}.date-line{gap:7px;flex-wrap:nowrap;margin-top:12px}.date-line span{font-size:.62rem;letter-spacing:.01em}.date-line b{font-size:2.1rem;padding:0 9px}.place{font-size:.63rem;letter-spacing:.02em;margin-top:13px}.story-link{margin-top:23px}.story-link span{font-size:1.8rem}.section{padding:80px 25px}.eyebrow{letter-spacing:.1em;font-size:.72rem}h2{font-size:3.2rem}.verse-title{font-size:3rem;margin:28px -5px}.scripture p{font-size:1.65rem}.families{font-size:1.6rem;margin-inline:-3px}.formal-names{font-size:3.4rem}.promise-scene{display:flex;flex-direction:column;padding:72px 25px 65px;gap:42px}.promise-copy{text-align:center}.promise-copy h2{font-size:3.8rem;margin:22px 0}.poem{font-size:1.3rem;line-height:1.6}.promise-line{margin:25px auto 0;width:65px}.ring-portrait{padding:8px;max-width:450px}.ring-portrait figcaption{font-size:1.6rem;padding-top:15px}.ring-image-wrap{aspect-ratio:3/4}.scrapbook-intro{padding-bottom:25px}.scrapbook-intro .script{font-size:1.65rem}.scrapbook{padding-inline:22px}.scroll-book .book{height:min(650px,79svh);width:min(430px,100%)}.scroll-book .book-stage{padding:22px 0}.scrap-page{padding:11px 11px 20px}.page-caption h3{font-size:1.9rem}.page-caption p{font-size:1.12rem}.book-progress{margin-top:26px}.book-hint{font-size:.7rem;letter-spacing:.06em}.venue{margin-top:60px}.venue h3{font-size:2.5rem}.time{font-size:5rem}.vow-transition{margin-top:60px;padding-top:45px}.vow-transition .script{font-size:2rem}.reception{margin-top:25px}.venue-name{font-size:1.6rem}.countdown{gap:6px;margin:32px auto 45px}.countdown b{font-size:3.3rem}.countdown>i{font-size:1.25rem;margin-top:14px}.countdown span{font-size:.63rem;letter-spacing:.04em}.countdown-section .scripture p{font-size:1.6rem}.brothers{font-size:1.55rem;gap:18px;flex-wrap:wrap}.footer-names{font-size:4rem}footer .script{font-size:1.7rem}.opening-eyebrow{font-size:.66rem;letter-spacing:.15em}.seal{width:112px;height:112px}.opening-names{font-size:3rem}.curtain-trigger{gap:26px}.opening-date{font-size:.75rem}.opening-greeting{font-size:1.15rem}}
@media(max-width:360px){.hero-frame{min-height:620px}.hero-content{inset:18% 18% 14%}.hero h1{font-size:4rem}.hero-blessing{font-size:.63rem}.hero-poem{font-size:1rem}.date-line{gap:5px}.date-line span{font-size:.57rem}.date-line b{padding:0 7px;font-size:1.8rem}.place{font-size:.57rem}.story-link span{font-size:1.55rem}.section{padding-inline:20px}.verse-title{font-size:2.55rem}.eyebrow{font-size:.67rem;letter-spacing:.08em}.countdown b{font-size:2.7rem}.countdown span{font-size:.6rem;letter-spacing:0}.page-caption h3{font-size:1.7rem}.page-caption p{font-size:1.03rem}.page-caption{padding-top:10px}.opening-eyebrow{font-size:.6rem}.brothers{gap:14px;font-size:1.4rem}.hero h1{margin:9px 0}}
@media(max-height:600px) and (min-width:650px){.scroll-book .book{height:83svh;width:350px}.page-caption h3{font-size:1.6rem}.page-caption p{font-size:1rem}.page-caption{padding-top:8px}.book-hint{display:none!important}.book-progress{margin:16px 0 0}.curtain-trigger{gap:12px}.seal{height:80px;width:80px}.opening-names{font-size:2.6rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.motion-ready .reveal,.motion-ready .reveal-photo,.hero-line{opacity:1!important;transform:none!important}.ring-glint{display:none!important}}
.book-stage{overflow:clip}.hero-blessing,.place,.date-line span,.eyebrow,.countdown span,.opening-eyebrow,.book-hint{font-size:.75rem}.hero-blessing{letter-spacing:.015em}.date-line span{letter-spacing:0}.place{letter-spacing:.015em}
@media(max-width:360px){.date-line{gap:4px}.date-line b{padding:0 6px}.hero-blessing{font-size:.72rem}.hero-poem{font-size:1rem}.countdown{gap:3px}.countdown span{font-size:.7rem}.opening-eyebrow{font-size:.7rem;letter-spacing:.08em}}
@media print{.opening,.sound,.story-link,#calendar{display:none!important}.hero,.section,.promise-scene{min-height:0;padding:30px}.reveal,.reveal-photo{opacity:1!important;transform:none!important}.scrapbook{height:auto!important}.book-stage{position:static!important;height:auto!important}.book{height:auto!important;display:block!important}.scrap-page{position:relative!important;transform:none!important;opacity:1!important;break-inside:avoid}.book-progress,.book-hint{display:none!important}.page-photo{height:350px!important}.hero-frame{width:430px;min-height:645px}.promise-scene{display:block}.ring-portrait{max-width:400px;margin:30px auto}.page-inner{display:block!important}}



/* Stable viewport units also support browsers predating svh. */
.cross svg{display:block;width:1em;height:1.34em;margin:auto}
.hero{min-height:calc(100vh - 72px)}
.scrapbook.scroll-book{height:calc(var(--book-vh,1vh) * 330);padding-bottom:0}
.scroll-book .book-stage{position:-webkit-sticky;position:sticky;top:0;height:calc(var(--book-vh,1vh) * 100);overflow:visible;padding:18px 0}
.scroll-book .book{height:min(690px,calc(var(--book-vh,1vh) * 77));width:min(500px,calc(var(--book-vh,1vh) * .54 * 100),100%);display:block;position:relative;-webkit-perspective:1600px;perspective:1600px;transform-style:preserve-3d;touch-action:pan-y}
.scroll-book .scrap-page{position:absolute;inset:0;height:100%;-webkit-backface-visibility:hidden;backface-visibility:hidden}
.page-inner{-webkit-backface-visibility:hidden;backface-visibility:hidden}
.book-controls{display:flex;align-items:center;justify-content:center;gap:20px;margin-top:12px;color:var(--wine)}
.book-controls button{width:44px;height:44px;border:1px solid var(--line);border-radius:50%;background:transparent;color:var(--wine);font-size:1.2rem;line-height:1}
.book-controls button:disabled{opacity:.3;cursor:default}.book-controls span{font: .75rem Arial;letter-spacing:.12em;min-width:45px;text-align:center}
.scroll-book .book-progress{display:none}.scroll-book .book-hint{margin-top:5px}
.hero-content [data-edit],.page-caption [data-edit]{overflow-wrap:anywhere}.hero-blessing{max-width:100%}
@media(max-width:650px){.scroll-book .book{width:min(430px,100%);height:min(650px,calc(var(--book-vh,1vh) * 76))}}
@media(max-height:500px){.scroll-book .book{width:min(430px,100%);height:calc(var(--book-vh,1vh) * 72)}.scroll-book .page-inner{flex-direction:row;gap:10px}.scroll-book .page-photo{width:50%;flex:1}.scroll-book .page-caption{width:46%;display:flex;flex-direction:column;justify-content:center;padding:0}.scroll-book .page-caption h3{font-size:1.6rem}.scroll-book .page-caption p{font-size:1rem}.scroll-book .book-hint{display:none}}
@media print{.book-controls{display:none!important}}
