/* Independent page designs. Videos retain their own opening and backdrop. */
.scratch-gesture{display:none;position:absolute;z-index:5;left:42%;top:35%;pointer-events:none;color:#493729;text-align:center;animation:scratch-demo 2.6s ease-in-out infinite;filter:drop-shadow(0 2px 3px #fff9)}
.date-interactive .scratch-gesture{display:grid;justify-items:center;gap:7px}.scratch-gesture svg{width:46px;height:46px;fill:#fff4df;stroke:#493729;stroke-width:2;transform:rotate(-20deg)}.scratch-gesture b{font:600 13px/1.4 sans-serif;white-space:nowrap;background:#fff9;padding:4px 9px;border-radius:20px}
.date-revealed .scratch-gesture,.scratch-started .scratch-gesture{display:none}
@keyframes scratch-demo{0%,100%{transform:translate(-25px,13px) rotate(-10deg)}35%{transform:translate(35px,-12px) rotate(8deg)}65%{transform:translate(-10px,20px) rotate(-8deg)}}
@media(prefers-reduced-motion:reduce){.scratch-gesture{animation:none}}
body.wedding[data-page-design]{--cinema-paper:var(--design-paper);--cinema-band:color-mix(in srgb,var(--design-paper) 92%,var(--design-accent));--cinema-ink:var(--design-ink);--cinema-accent:var(--design-accent);background:var(--design-paper);color:var(--design-ink)}
[data-page-design] #wedding-content{overflow:hidden}
[data-page-design] #wedding-content>:not(.wedding-hero){color:var(--design-ink)}
[data-page-design] .wedding-section,[data-page-design] .wedding-countdown,[data-page-design] .wedding-venue,[data-page-design] .wedding-footer{background:var(--design-paper)}
[data-page-design] .wedding-eyebrow{color:var(--design-ink);opacity:.75;letter-spacing:.14em}
[data-page-design] .wedding-hero .wedding-eyebrow{color:white;opacity:1}
[data-page-design] .wedding-button{background:var(--design-accent);border-color:var(--design-accent);color:var(--design-button-ink)}
[data-page-design] .wedding-button.secondary{background:transparent;color:var(--design-ink);border-color:currentColor}
[data-page-design] .wedding-button:hover{filter:brightness(.92)}
[data-page-design] .fixed-footer-action{color:var(--design-button-ink)}
[data-page-design] .fixed-footer-copy>span{color:var(--design-ink);opacity:.75}
[data-page-design] .rsvp-message{background:var(--cinema-band);color:var(--design-ink)}
html:not([lang=en]) .date-keepsake-content strong{font-family:inherit;font-size:clamp(24px,4vw,36px)}
[data-page-design] .wedding-story p,[data-page-design] .wedding-timeline p,[data-page-design] .venue-information>p,[data-page-design] .guest-notes p,[data-page-design] .gift-note p,[data-page-design] .dress-note p,[data-page-design] .wedding-footer>p,[data-page-design] .wedding-footer>span,[data-page-design] .countdown-values span,[data-page-design] .made-by,[data-page-design] .family-signature{color:var(--design-ink)}
[data-page-design] .wedding-section{padding:clamp(60px,8vw,120px) max(24px,calc((100% - 1120px)/2))}
[data-page-design] h2{font-size:clamp(34px,4.5vw,68px);overflow-wrap:anywhere}
[data-page-design] .wedding-section-heading{max-width:820px}
[data-page-design] .wedding-timeline{max-width:1120px}
[data-page-design] .wedding-timeline article{border-color:color-mix(in srgb,var(--design-ink) 20%,transparent)}
[data-page-design] .rsvp-grid label{color:var(--design-ink)}
[data-page-design] .rsvp-grid input,[data-page-design] .rsvp-grid select,[data-page-design] .rsvp-grid textarea{background:var(--design-paper);color:var(--design-ink);border-color:color-mix(in srgb,var(--design-ink) 40%,transparent)}
[data-page-design] .wedding-footer{padding-bottom:130px}
.date-experience{position:relative;text-align:center;padding:80px 24px;background:var(--cinema-band);perspective:1200px}
.date-keepsake{position:relative;width:min(520px,100%);min-height:240px;margin:36px auto 24px;isolation:isolate;perspective:1000px;box-shadow:0 20px 60px #0002}
.date-keepsake-content{min-height:240px;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:12px;padding:32px 24px;background:var(--design-paper);border:1px solid var(--design-accent);border-radius:inherit;overflow-wrap:anywhere}
.date-keepsake-content strong{font:500 clamp(28px,5vw,46px)/1.3 Cormorant,Georgia,serif}.date-keepsake-content>span{font-size:16px}
.date-cover,.date-scratch{display:none;position:absolute;inset:0;width:100%;height:100%;border-radius:inherit}
.date-interactive:not(.date-revealed) .date-cover{display:grid;place-items:center;background:var(--design-accent);color:var(--design-button-ink);z-index:2}
.date-cover>span{font:56px GreatVibes,Georgia,serif;border:1px solid currentColor;border-radius:50%;padding:18px;min-width:108px}
.date-interactive .date-cover{display:grid;place-items:center;z-index:2;background:var(--design-accent);color:var(--design-button-ink);transition:opacity .65s,transform .8s;transform-origin:top}
.date-revealed .date-cover{opacity:0;transform:rotateX(85deg);pointer-events:none}
.date-experience[data-date-experience=stars].date-revealed .date-cover{transform:scale(1.3);filter:blur(8px)}
.date-experience[data-date-experience=doors] .date-cover{background:none!important;border:0!important;perspective:900px;overflow:visible}
.date-experience[data-date-experience=doors] .date-cover i{position:absolute;top:0;bottom:0;width:50%;background:var(--design-accent);border:8px double var(--design-paper);transition:transform .9s;z-index:-1}
.date-experience[data-date-experience=doors] .date-cover i:first-of-type{left:0;transform-origin:left}.date-experience[data-date-experience=doors] .date-cover i:last-of-type{right:0;transform-origin:right}
.date-experience[data-date-experience=doors].date-revealed .date-cover{transform:none;opacity:1;background:transparent}.date-experience[data-date-experience=doors].date-revealed .date-cover>span{opacity:0}.date-experience[data-date-experience=doors].date-revealed .date-cover i:first-of-type{transform:rotateY(-100deg)}.date-experience[data-date-experience=doors].date-revealed .date-cover i:last-of-type{transform:rotateY(100deg)}
.design-still .date-cover,.design-still .date-cover i{transition:none!important}.design-still .date-keepsake,.design-still .design-enter{animation:none!important}.design-still .design-tilt{transform:none!important}
.date-interactive:not(.date-revealed) .date-scratch{display:block;z-index:3;touch-action:none;cursor:crosshair}
.date-scratch-hint{font:14px/1.6 Inter,sans-serif;max-width:450px;margin:16px auto 0}
.date-experience[data-date-experience=scratch] .date-cover{display:none}
.date-revealed .date-keepsake{animation:date-arrive .7s ease both}
@keyframes date-arrive{from{transform:rotateX(-12deg) scale(.96)}to{transform:none}}
.celebration-particle{position:fixed;pointer-events:none;z-index:110;width:8px;height:12px;background:var(--design-accent);left:50%;top:45%;animation:celebration-burst 1.8s ease-out forwards}
@keyframes celebration-burst{to{transform:translate(var(--burst-x),var(--burst-y)) rotate(var(--burst-r));opacity:0}}
/* Temple: arched ceremony panels and a three-column processional. */
[data-page-design=temple] .wedding-story{max-width:1000px;margin:70px auto;border:1px solid var(--design-accent);border-radius:45% 45% 0 0;padding:120px 48px 70px;box-shadow:inset 0 0 0 12px var(--design-paper),inset 0 0 0 13px var(--design-accent)}
[data-page-design=temple] .wedding-timeline{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
[data-page-design=temple] .wedding-timeline article{display:block;text-align:center;padding:50px 24px 32px;border:1px solid var(--design-accent);border-radius:140px 140px 12px 12px;background:var(--design-paper)}
[data-page-design=temple] .timeline-number{display:block;margin-bottom:28px;font-size:48px}
[data-page-design=temple] .celebration-section{background:repeating-linear-gradient(90deg,transparent 0 39px,#9560200b 40px),var(--cinema-band)}
[data-page-design=temple] .gallery-mosaic a{border-radius:180px 180px 0 0;border:8px double var(--design-accent)}
[data-page-design=temple] .date-keepsake{border-radius:120px 120px 10px 10px}.date-experience[data-date-experience=seal] .date-cover{background:radial-gradient(circle at center,var(--design-accent),var(--design-paper) 75%);color:var(--design-ink)}
/* Celestial: night-sky orbits and a constellation timeline. */
[data-page-design=celestial] .wedding-story,[data-page-design=celestial] .date-experience,[data-page-design=celestial] .wedding-footer{background:radial-gradient(circle at center,#bfa6e555 1px,transparent 2px) 0 0/65px 65px,var(--design-paper)}
[data-page-design=celestial] .wedding-countdown{border-block:1px solid var(--design-accent);background:var(--cinema-band)}
[data-page-design=celestial] .countdown-values>div{border:1px solid var(--design-accent);border-radius:50%;width:120px;min-height:120px;display:flex;flex-direction:column;justify-content:center}
[data-page-design=celestial] .wedding-timeline{border-left:1px solid var(--design-accent);padding-left:40px;max-width:800px}
[data-page-design=celestial] .wedding-timeline article{position:relative;border:0;grid-template-columns:50px 1fr}.wedding[data-page-design=celestial] .wedding-timeline article:before{content:'✦';position:absolute;left:-54px;top:42px;color:var(--design-accent);font-size:26px}
[data-page-design=celestial] .gallery-mosaic a{border-radius:50% 50% 12px 12px;box-shadow:0 0 35px #cbb1f522}
[data-page-design=celestial] .guest-notes article{border:1px solid var(--design-accent);border-radius:24px;padding:32px}
[data-page-design=celestial] .date-keepsake{border-radius:50%;max-width:380px;aspect-ratio:1;min-height:0;box-shadow:0 0 0 14px var(--design-paper),0 0 0 15px var(--design-accent),0 0 70px #cbb1f533}
[data-page-design=celestial] .date-keepsake-content{height:100%;min-height:0}.date-experience[data-date-experience=stars] .date-cover{background:radial-gradient(circle at 25% 30%,white 2px,transparent 3px),radial-gradient(circle at 75% 60%,white 2px,transparent 3px),var(--cinema-band);color:var(--design-ink)}
/* Pearl: layered letters, offset keepsakes and horizontal event cards. */
[data-page-design=pearl] .wedding-story{max-width:1000px;margin:80px auto;padding:70px 48px;box-shadow:12px 12px 0 var(--cinema-band),24px 24px 0 color-mix(in srgb,var(--design-accent) 18%,var(--design-paper));border:1px solid var(--design-accent)}
[data-page-design=pearl] .wedding-timeline article{background:var(--design-paper);border:1px solid var(--design-accent);padding:28px;margin:24px 0;border-radius:6px;box-shadow:8px 8px 0 var(--cinema-band)}
[data-page-design=pearl] .wedding-timeline article:nth-child(even){margin-left:10%}
[data-page-design=pearl] .gallery-mosaic{gap:32px}.wedding[data-page-design=pearl] .gallery-mosaic a{padding:12px 12px 50px;background:var(--design-paper);box-shadow:0 10px 32px #0002;rotate:-3deg}.wedding[data-page-design=pearl] .gallery-mosaic a:nth-child(even){rotate:3deg;margin-top:60px}
[data-page-design=pearl] .rsvp-section{background:var(--cinema-band)}
[data-page-design=pearl] .wedding-rsvp{border:1px solid var(--design-accent);padding:32px;background:var(--design-paper)}
/* Heritage: patterned palace bands, paired doors and alternating events. */
[data-page-design=heritage] .wedding-story,[data-page-design=heritage] .gift-note{border-block:12px double var(--design-accent);background:repeating-linear-gradient(45deg,transparent 0 20px,#a45c3008 20px 22px),var(--design-paper)}
[data-page-design=heritage] .wedding-timeline{position:relative;display:grid;grid-template-columns:1fr 1fr;gap:24px 54px}
[data-page-design=heritage] .wedding-timeline:before{content:'';position:absolute;top:0;bottom:0;left:50%;width:1px;background:var(--design-accent)}
[data-page-design=heritage] .wedding-timeline article{padding:30px;border:1px solid var(--design-accent);display:block;background:var(--cinema-band)}
[data-page-design=heritage] .wedding-timeline article:nth-child(odd){grid-column:1}.wedding[data-page-design=heritage] .wedding-timeline article:nth-child(even){grid-column:2;margin-top:60px}
[data-page-design=heritage] .venue-photograph{border:20px double var(--design-accent);border-radius:240px 240px 0 0;min-height:480px;margin:36px}
[data-page-design=heritage] .gallery-mosaic{grid-template-columns:2fr 1fr 1fr}.wedding[data-page-design=heritage] .gallery-mosaic a{border:8px double var(--design-accent)}
.date-experience[data-date-experience=doors] .date-cover{background:linear-gradient(90deg,var(--design-accent) 49.5%,var(--design-paper) 49.5% 50.5%,var(--design-accent) 50.5%);border:12px double var(--design-paper)}
/* Ivory: editorial split compositions and floating three-dimensional cards. */
[data-page-design=ivory] h2{font-family:Inter,system-ui,sans-serif;font-weight:600;letter-spacing:-.04em;line-height:1.15}
[data-page-design=ivory] .wedding-story>div:first-child{max-width:1120px;display:grid;grid-template-columns:1.1fr 1fr;gap:20px 70px;text-align:left}.wedding[data-page-design=ivory] .wedding-story .wedding-eyebrow{grid-column:1/-1}.wedding[data-page-design=ivory] .wedding-story h2{grid-row:2/4}.wedding[data-page-design=ivory] .wedding-story p{margin:0}
[data-page-design=ivory] .botanical-rule{display:none}
[data-page-design=ivory] .celebration-section{background:var(--cinema-band)}
[data-page-design=ivory] .wedding-timeline{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.wedding[data-page-design=ivory] .wedding-timeline article{display:block;border:0;background:var(--design-paper);padding:32px;box-shadow:0 20px 40px #0001}.wedding[data-page-design=ivory] .timeline-number{display:block;font:72px/1 Inter,sans-serif;margin-bottom:36px}
[data-page-design=ivory] .wedding-venue{direction:rtl}.wedding[data-page-design=ivory] .wedding-venue>*{direction:ltr}.wedding[data-page-design=ivory] .venue-information h2{font-family:Inter,sans-serif;font-weight:600}
[data-page-design=ivory] .gallery-mosaic{grid-template-columns:repeat(2,minmax(0,1fr))}.wedding[data-page-design=ivory] .gallery-mosaic a:first-child{grid-row:span 2}.wedding[data-page-design=ivory] .gallery-mosaic a:not(:first-child) img{aspect-ratio:4/3}
.date-experience[data-date-experience=flip] .date-keepsake{border-radius:16px}.date-experience[data-date-experience=flip].date-revealed .date-keepsake{animation:date-flip .8s ease both}@keyframes date-flip{from{transform:rotateY(-160deg)}to{transform:rotateY(0)}}
/* Birthday designs: celebratory shapes, confetti and milestone cards. */
[data-page-design=birthday-bloom] .wedding-story,[data-page-design=birthday-candy] .wedding-story{max-width:960px;margin:70px auto;border-radius:36px;padding:70px 48px;background:linear-gradient(145deg,var(--design-paper),var(--cinema-band));box-shadow:0 24px 70px #0001}
[data-page-design=birthday-bloom] .celebration-section{background:radial-gradient(circle at 10% 18%,color-mix(in srgb,var(--design-accent) 22%,transparent) 0 8px,transparent 9px),radial-gradient(circle at 86% 32%,#efbe7444 0 12px,transparent 13px),var(--cinema-band)}
[data-page-design=birthday-bloom] .wedding-timeline,[data-page-design=birthday-candy] .wedding-timeline{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
[data-page-design=birthday-bloom] .wedding-timeline article,[data-page-design=birthday-candy] .wedding-timeline article{display:block;text-align:center;padding:34px 22px;border:0;border-radius:24px;background:var(--design-paper);box-shadow:0 16px 36px #0001}
[data-page-design=birthday-bloom] .gallery-mosaic a{border-radius:50% 50% 18px 18px;border:6px solid color-mix(in srgb,var(--design-accent) 40%,#fff)}
[data-page-design=birthday-midnight] .wedding-story,[data-page-design=birthday-midnight] .date-experience,[data-page-design=birthday-midnight] .wedding-footer{background:radial-gradient(circle at 15% 20%,#fff 0 1px,transparent 2px),radial-gradient(circle at 75% 35%,var(--design-accent) 0 1px,transparent 2px),var(--design-paper);background-size:55px 55px,82px 82px}
[data-page-design=birthday-midnight] .wedding-timeline{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}[data-page-design=birthday-midnight] .wedding-timeline article{display:block;padding:32px;border:1px solid var(--design-accent);border-radius:18px;background:#ffffff08;box-shadow:0 0 30px color-mix(in srgb,var(--design-accent) 12%,transparent)}
[data-page-design=birthday-candy] .celebration-section{background:radial-gradient(circle at 8% 18%,#6ecad544 0 13px,transparent 14px),radial-gradient(circle at 88% 24%,#f2a45f55 0 15px,transparent 16px),var(--cinema-band)}
[data-page-design=birthday-candy] .wedding-timeline article:nth-child(odd){transform:rotate(-1.5deg)}[data-page-design=birthday-candy] .wedding-timeline article:nth-child(even){transform:rotate(1.5deg)}
/* Nalagu designs: petals, turmeric tones and ceremonial borders. */
[data-page-design=nalagu-rose] .wedding-story,[data-page-design=nalagu-blessings] .wedding-story{max-width:980px;margin:70px auto;padding:80px 48px;border:8px double var(--design-accent);border-radius:130px 130px 12px 12px;background:var(--design-paper)}
[data-page-design=nalagu-rose] .celebration-section{background:repeating-radial-gradient(circle at 0 0,color-mix(in srgb,var(--design-accent) 8%,transparent) 0 2px,transparent 3px 25px),var(--cinema-band)}
[data-page-design=nalagu-rose] .wedding-timeline,[data-page-design=nalagu-haldi] .wedding-timeline,[data-page-design=nalagu-blessings] .wedding-timeline{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
[data-page-design=nalagu-rose] .wedding-timeline article,[data-page-design=nalagu-haldi] .wedding-timeline article,[data-page-design=nalagu-blessings] .wedding-timeline article{display:block;text-align:center;padding:38px 24px;background:var(--design-paper);border:1px solid var(--design-accent);border-radius:90px 90px 10px 10px}
[data-page-design=nalagu-haldi] .wedding-section{background-image:repeating-linear-gradient(45deg,transparent 0 28px,color-mix(in srgb,var(--design-accent) 5%,transparent) 28px 30px)}
[data-page-design=nalagu-haldi] .wedding-story{max-width:960px;margin:70px auto;padding:72px 48px;border-block:10px double var(--design-accent);background:var(--design-paper)}
[data-page-design=nalagu-blessings] .celebration-section,[data-page-design=nalagu-blessings] .gift-note{border-block:9px double var(--design-accent);background:var(--cinema-band)}
/* Reveal animation is attached only while near the viewport, so content stays usable. */
body.wedding[data-page-design].design-animated .design-enter{animation:design-enter .85s cubic-bezier(.2,.7,.2,1) both}
@keyframes design-enter{from{opacity:.15;translate:0 42px;rotate:x 8deg}to{opacity:1;translate:0 0;rotate:x 0deg}}
.design-tilt{transform:perspective(1000px) rotateX(var(--tilt-x,0deg)) rotateY(var(--tilt-y,0deg))!important;transition:transform .18s ease-out!important}
@media(max-width:760px){[data-page-design] .wedding-section{padding:60px 24px}[data-page-design] .wedding-timeline{grid-template-columns:1fr!important}[data-page-design] .wedding-timeline article{grid-column:auto!important;margin:0 0 20px!important}[data-page-design=heritage] .wedding-timeline:before{display:none}[data-page-design=temple] .wedding-story,[data-page-design=pearl] .wedding-story{margin:40px 20px;padding:75px 24px 45px}[data-page-design=ivory] .wedding-story>div:first-child{display:block}[data-page-design=ivory] .wedding-story p{margin-top:24px}[data-page-design] .gallery-mosaic{grid-template-columns:repeat(2,minmax(0,1fr))}[data-page-design] .gallery-mosaic a{grid-row:auto!important}[data-page-design] .gallery-mosaic a:first-child{grid-column:1/-1}[data-page-design=celestial] .countdown-values{gap:10px}[data-page-design=celestial] .countdown-values>div{width:68px;min-width:0;min-height:80px}[data-page-design=celestial] .countdown-values strong{font-size:30px}[data-page-design=celestial] .countdown-values span{font-size:9px;margin-top:8px}[data-page-design] .guest-notes{grid-template-columns:1fr}[data-page-design] .wedding-venue{grid-template-columns:1fr}[data-page-design=heritage] .venue-photograph{min-height:350px;margin:24px}[data-page-design=pearl] .wedding-rsvp{padding:24px 16px}.date-experience{padding:60px 24px}.date-keepsake-content{padding:28px 16px}[data-page-design=celestial] .date-keepsake{max-width:290px}}
@media(max-width:760px){[data-page-design^=birthday-] .wedding-story,[data-page-design^=nalagu-] .wedding-story{margin:36px 16px;padding:58px 22px}[data-page-design=birthday-candy] .wedding-timeline article{transform:none!important}}

/* v40 invitation geometry: balanced arches, compact endings and safe mobile gutters */
[data-page-design] .wedding-section{padding-inline:max(28px,calc((100% - 1120px)/2))}
[data-page-design] .wedding-story{overflow:hidden}
[data-page-design] .wedding-footer{padding:42px 24px 96px}
[data-page-design] .wedding-footer>.made-by{margin-top:22px}
[data-page-design=temple] .wedding-story{width:min(1000px,calc(100% - 56px));margin:64px auto;padding:108px clamp(38px,6vw,78px) 64px;border:1px solid color-mix(in srgb,var(--design-accent) 78%,transparent);border-radius:300px 300px 18px 18px;box-shadow:inset 0 0 0 10px var(--design-paper),inset 0 0 0 11px color-mix(in srgb,var(--design-accent) 55%,transparent),0 24px 70px #2e210f0d}
[data-page-design=temple] .wedding-story:before,[data-page-design=temple] .wedding-story:after{content:"";position:absolute;top:35px;width:82px;height:1px;background:linear-gradient(90deg,transparent,var(--design-accent))}
[data-page-design=temple] .wedding-story:before{left:18%;transform:rotate(-25deg)}[data-page-design=temple] .wedding-story:after{right:18%;transform:rotate(25deg) scaleX(-1)}
[data-page-design=pearl] .wedding-story{width:min(1000px,calc(100% - 64px));margin:64px auto;padding:62px clamp(34px,5vw,68px);box-shadow:10px 10px 0 var(--cinema-band),20px 20px 0 color-mix(in srgb,var(--design-accent) 16%,var(--design-paper))}
[data-page-design=celestial] .wedding-story,[data-page-design=heritage] .wedding-story,[data-page-design=ivory] .wedding-story{padding-top:76px;padding-bottom:76px}
[data-page-design^=birthday-] .wedding-story,[data-page-design^=nalagu-] .wedding-story{width:min(980px,calc(100% - 56px));margin:60px auto}

@media(max-width:760px){
 [data-page-design] .wedding-section{padding:50px 20px}
 [data-page-design] .wedding-footer{padding:38px 20px 88px}
 [data-page-design=temple] .wedding-story{width:calc(100% - 28px);margin:28px auto!important;padding:78px 25px 42px!important;border-radius:180px 180px 16px 16px!important;box-shadow:inset 0 0 0 7px var(--design-paper),inset 0 0 0 8px color-mix(in srgb,var(--design-accent) 55%,transparent),0 16px 40px #2e210f0b}
 [data-page-design=temple] .wedding-story:before,[data-page-design=temple] .wedding-story:after{top:29px;width:48px}
 [data-page-design=temple] .wedding-story:before{left:16%}[data-page-design=temple] .wedding-story:after{right:16%}
 [data-page-design=pearl] .wedding-story{width:calc(100% - 36px);margin:34px auto!important;padding:52px 22px!important;box-shadow:7px 7px 0 var(--cinema-band),14px 14px 0 color-mix(in srgb,var(--design-accent) 16%,var(--design-paper))}
 [data-page-design=celestial] .wedding-story,[data-page-design=heritage] .wedding-story,[data-page-design=ivory] .wedding-story{padding:54px 20px}
 [data-page-design^=birthday-] .wedding-story,[data-page-design^=nalagu-] .wedding-story{width:calc(100% - 28px);margin:32px auto;padding:52px 22px}
}
@media(prefers-reduced-motion:reduce){.date-revealed .date-keepsake,.design-enter,.celebration-particle{animation:none!important}.date-cover,.date-cover i{transition:none!important}.design-tilt{transform:none!important}html{scroll-behavior:auto}}

/* v41: finish the invitation without a dead zone and draw a continuous arch. */
.wedding.opened{padding-bottom:0!important}
[data-page-design] .wedding-footer{padding:38px 24px 22px!important}
[data-page-design=temple] .wedding-story{position:relative;overflow:hidden;border-radius:50% 50% 18px 18px / 190px 190px 18px 18px!important;padding-top:140px;box-shadow:0 24px 60px #2e210f12!important}
[data-page-design=temple] .wedding-story:before,[data-page-design=temple] .wedding-story:after{content:none!important;display:none!important}
@media(max-width:760px){
 [data-page-design] .wedding-section{padding-inline:22px}
 [data-page-design] .wedding-footer{padding:30px 22px 18px!important}
 [data-page-design=temple] .wedding-story{width:calc(100% - 36px);margin:30px auto!important;padding:104px 24px 42px!important;border-radius:50% 50% 14px 14px / 120px 120px 14px 14px!important}
}

/* v42: leave room for the fixed invitation action at the end of the page. */
[data-page-design] .wedding-footer{padding-bottom:110px!important}
@media(max-width:760px){[data-page-design] .wedding-footer{padding-bottom:108px!important}}
body.design-still .scratch-gesture{animation:none}

.reveal-gesture{display:none;position:absolute;z-index:6;left:50%;top:56%;transform:translate(-50%,-50%);pointer-events:none;text-align:center;color:#493729}.date-interactive .reveal-gesture{display:grid;justify-items:center;gap:6px}.reveal-gesture svg{width:44px;height:44px;fill:#fff3db;stroke:#493729;stroke-width:2;filter:drop-shadow(0 2px 4px #0003);animation:reveal-tap 2.8s ease-in-out infinite}.reveal-gesture b{font:600 12px/1.4 Inter,sans-serif;padding:6px 12px;border-radius:22px;background:#fffceef0;white-space:nowrap}.reveal-demo-doors svg,.reveal-demo-flip svg{animation:reveal-swipe 2.8s ease-in-out infinite}.date-revealed .reveal-gesture{display:none}[data-reveal-card][role=button]{cursor:pointer;touch-action:pan-y}[data-reveal-card]:focus-visible{outline:3px solid var(--design-accent);outline-offset:6px}@keyframes reveal-tap{0%,75%,100%{transform:translateY(5px) scale(1)}35%{transform:translateY(-10px) scale(.9)}50%{transform:translateY(0) scale(1.08)}}@keyframes reveal-swipe{0%,100%{transform:translateX(-24px) rotate(-15deg)}50%{transform:translateX(24px) rotate(12deg)}}@media(prefers-reduced-motion:reduce){.reveal-gesture svg{animation:none}}.design-still .reveal-gesture svg{animation:none}
