/* Five individual celebrations, composed around their artwork. */
.event{--scene-ink:#552719;--scene-muted:#775832;--scene-accent:#9b702d;--scene-line:#986e384d;--scene-surface:#fff4dbe8;color:var(--scene-ink);padding:clamp(96px,14svh,125px) 34px 260px;min-height:max(100svh,760px);opacity:1!important;transform:none!important}
.event-art img{animation:none!important;filter:none!important;transform:scale(1.018);transition:transform 8s cubic-bezier(.2,.55,.4,1);-webkit-mask-image:none;mask-image:none}
.event.is-active .event-art img{transform:scale(1.045)}
.event-art:after{background:linear-gradient(var(--event-bg) 0%,var(--event-bg) 23%,var(--event-wash) 38%,transparent 62%)}
.event-copy{max-width:350px;text-shadow:0 1px 9px #fff4dc55}
.event-count{position:absolute;top:-34px;left:50%;transform:translateX(-50%);font:500 8px/1.5 var(--sans);letter-spacing:2.8px;color:var(--scene-accent);white-space:nowrap}
.event .eyebrow{font-size:8px;letter-spacing:1.7px;line-height:1.7;color:var(--scene-accent);margin:0 auto 12px;max-width:290px}
.event h3{font-size:clamp(48px,13vw,65px);font-weight:400;line-height:.98;margin:0 0 9px;letter-spacing:-.8px;color:var(--scene-ink)}
.event-rule{display:flex;align-items:center;justify-content:center;gap:12px;margin:12px auto 17px;color:var(--scene-accent)}
.event-rule:before,.event-rule:after{content:'';height:1px;width:38px;background:var(--scene-line)}
.event-rule span{font-size:15px;line-height:1}
.event-date{border:0;padding:0 0 16px;margin:0 auto 17px;gap:13px;color:var(--scene-ink);max-width:300px;position:relative}
.event-date:after{content:'';position:absolute;bottom:0;left:24%;right:24%;height:1px;background:var(--scene-line)}
.event-day-number{font-size:40px;font-weight:500}
.event-day-details>span{font-size:7px;letter-spacing:1.3px;color:var(--scene-muted)}
.event-day-details strong{font-size:17px;font-weight:500}
.event-time{font-size:24px;font-weight:500;margin-left:4px}
.event-time small{font-size:15px}
.event-venue{border-color:var(--scene-line);background:var(--scene-surface);color:var(--scene-ink);font-size:11px;line-height:1.5;padding:10px 13px;box-shadow:none;backdrop-filter:blur(4px);max-width:300px}
.event-location{font-size:9px;line-height:1.6;color:var(--scene-muted);margin:7px 0 14px}
.dress-code{background:transparent;border:0;padding:0;margin:0 auto 16px;max-width:300px;border-radius:0}
.dress-code small{font-size:6.5px;letter-spacing:1.8px;color:var(--scene-muted)}
.dress-code strong{font-size:23px;line-height:1.2;margin:5px 0;color:var(--scene-ink);font-weight:500}
.dress-code p{font-size:10px;line-height:1.6;color:var(--scene-muted);max-width:280px;margin:auto}
.event-actions{background:transparent;box-shadow:none;border-radius:0;padding:3px 0;gap:19px;color:var(--scene-ink)}
.event-actions .text-link,.event-calendar{border-bottom-color:var(--scene-line);color:inherit;font-size:9px;padding:7px 0;text-shadow:inherit}
.event-copy>*:not(.event-count){opacity:0;transform:translateY(13px)}
.event.is-active .event-copy>*:not(.event-count){animation:scene-copy-enter .85s var(--ease) var(--entrance-delay,0s) both}
.event.haldi{--event-bg:#efd389;--event-wash:#efd389e6;--scene-ink:#5d2b14;--scene-muted:#704e25;--scene-accent:#9d6620;--scene-surface:#fff0c7e8}
.event.haldi .event-art img{height:80%;object-position:46% bottom}
.event.haldi .event-art:after{background:linear-gradient(#efd389 0%,#efd389 17%,#efd389f2 29%,#efd389b0 42%,transparent 65%)}
.event.mandap{--event-bg:#e8cca1;--event-wash:transparent;--scene-ink:#612d1c;--scene-muted:#78502d;--scene-accent:#a27131;--scene-surface:#fff4d9d9}
.event.mandap .event-art img{height:100%;object-position:center bottom}
.event.mandap .event-art:after{background:linear-gradient(90deg,transparent,#fff1d722 35%,#fff1d722 65%,transparent)}
.event.mandap .event-copy{text-shadow:0 1px 10px #fff1dbaa}
.event.night-scene{--scene-ink:#fff0d2;--scene-muted:#ead4af;--scene-accent:#dfb971;--scene-line:#dfb97166;--scene-surface:#112a2fd9}
.event.night-scene .event-copy{text-shadow:0 2px 14px #00141acc}
.event.night-scene .event-art img{height:100%;object-position:center center}
.event.night-scene .event-art:after{background:linear-gradient(#00131f1f,transparent 35%,transparent 70%,#00131f33)}
.event.sangeet{--event-bg:#001724;--event-wash:transparent;--scene-surface:#052838d9}
.event.reception{--event-bg:#11251f;--event-wash:transparent;--scene-surface:#10251ed9}
.event.wedding{--event-bg:#361c26;--event-wash:#361c26bf;--scene-surface:#3a2029de;--scene-accent:#efc690}
.event.wedding .event-art img{height:85%;object-position:50% bottom}
.event.wedding .event-art:after{background:linear-gradient(#361c26 0%,#361c26 21%,#361c26d9 33%,#361c2688 45%,transparent 68%)}
.scene-sparkles{position:absolute;inset:0;pointer-events:none;z-index:1}
.scene-sparkles i{position:absolute;left:var(--x);top:var(--y);width:2px;height:2px;background:#ffdf9d;border-radius:50%;box-shadow:0 0 7px 2px #efc46d66;opacity:0}
.night-scene.is-active .scene-sparkles i{animation:scene-twinkle 4.5s ease-in-out var(--delay) infinite}
.scroll-next[data-tone="dark"]{color:#ffe9c0;background:linear-gradient(135deg,#132a2bea,#35272be8);border-color:#e7bd6d66;box-shadow:0 -5px 28px #071b2022}
.scroll-next[data-tone="dark"] small{color:#ddc5a2}
.bell-button[data-tone="dark"]{background:#142a2ad9;color:#f5d9a6;border-color:#d8b77866}
/* Light, staggered entrances keep the scenery still enough to read. */
.cover-copy{transition:opacity .5s,transform 1s var(--ease),filter .65s}
.cover-flap{background:linear-gradient(135deg,#f6e2bc55,#f9e8c78f);backdrop-filter:blur(.35px);border-color:#bb965a66}
.cover-copy h1{color:#6e3525;text-shadow:0 1px 16px #f7e8cf88}
.seal-button{position:relative;box-shadow:0 0 0 5px #c1974144,0 0 0 6px #fff5d299,0 10px 28px #71431b44}
.seal-button:before{content:'';position:absolute;inset:-12px;border:1px solid #be944e99;border-radius:50%;pointer-events:none;animation:seal-orbit 5s ease-in-out infinite}
.cover-opening .cover-copy{filter:blur(3px);transform:translateY(-8px) scale(1.025)}
.cover-opening .cover-art{animation:temple-open 1.25s var(--ease) both}
.intro-card{background:linear-gradient(#fff8eadf,#fff5e5ed);border-color:#bf995f88;box-shadow:0 12px 45px #68462812;backdrop-filter:blur(3px)}
.intro-blessings .intro-card{padding-top:25px;padding-bottom:25px}
.intro-couple-page .intro-card{background:linear-gradient(#fff4e6ed,#fff7e6dc)}
.intro-couple-page .intro-art{transform:scale(1.03);animation:intro-scenery 2s var(--ease) both}
.blessing-symbol{border-color:#b78c4388}
.intro-next{background:linear-gradient(135deg,#fff7e9ed,#edddc3ed);border-color:#e1c89e;transition:box-shadow .25s,background .25s}
.intro-next:hover{box-shadow:0 7px 26px #78502b22}
.intro-dots button{width:7px;height:7px;transition:background .3s,box-shadow .3s}
.intro-dots [aria-current]{background:#825234;box-shadow:0 0 0 3px #fff5dfa8}
.floating-petals{opacity:.6}
.save-date-page{background:radial-gradient(ellipse at 50% 10%,#fff8e9,#eddbba 90%)}
.heart-base{fill:#fff3d4}
.family-card{background:linear-gradient(#fff7e9ed,#fff8ecee);border-color:#b8915277;box-shadow:0 15px 45px #61462e15}
.family-art{opacity:.62}
.event-actions{background:var(--scene-surface);border:1px solid var(--scene-line);border-radius:23px;padding:4px 14px;backdrop-filter:blur(5px);max-width:290px}
.night-scene .dress-code{background:linear-gradient(90deg,transparent,var(--scene-surface) 16%,var(--scene-surface) 84%,transparent);padding:8px 10px 10px;max-width:285px;border-radius:3px;backdrop-filter:blur(2px);margin-top:-2px}
.night-scene .dress-code strong{color:#fff0d2;text-shadow:0 2px 8px #061b20}
.night-scene .dress-code p{color:#f6e5c9}
.haldi .dress-code{background:linear-gradient(90deg,transparent,#fff0cbe8 16%,#fff0cbe8 84%,transparent);padding:8px 10px 10px;max-width:285px;backdrop-filter:blur(1px);margin-top:-2px}
.dress-code p{font-weight:500}
.scroll-next[data-scene="wedding"]{background:linear-gradient(135deg,#48242eec,#321b28ed)}
.bell-button[data-scene="wedding"]{background:#48242ede}
@keyframes scene-copy-enter{from{opacity:0;transform:translateY(13px)}to{opacity:1;transform:translateY(0)}}
@keyframes scene-twinkle{0%,100%{opacity:.05;transform:scale(.7)}45%{opacity:.7;transform:scale(1.15)}}
@keyframes temple-open{from{transform:scale(1)}to{transform:scale(1.08)}}
@keyframes seal-orbit{0%,100%{transform:scale(1);opacity:.6}50%{transform:scale(1.055);opacity:.9}}
@keyframes intro-scenery{from{transform:scale(1.055)}to{transform:scale(1.015)}}
@media(max-height:760px){
 .event{padding-top:96px;min-height:max(100svh,740px)}
 .event-count{top:-29px;font-size:7px}
 .event .eyebrow{font-size:7px;margin-bottom:9px}
 .event h3{font-size:50px}
 .event-rule{margin:10px auto 14px}
 .event-date{padding-bottom:13px;margin-bottom:14px}
 .event-day-number{font-size:35px}
 .event-day-details strong{font-size:16px}
 .event-time{font-size:22px}
 .event-location{margin-bottom:12px}
 .dress-code{margin-bottom:13px}
 .dress-code strong{font-size:21px}
}
@media(max-width:360px){
 .event{padding-inline:27px}
 .event h3{font-size:45px}
 .event .eyebrow{letter-spacing:1.35px}
 .event-date{gap:10px}
 .event-day-details strong{font-size:15px}
 .event-time{font-size:20px;margin-left:0}
 .event-venue{font-size:10px;padding:10px 12px}
 .event-actions{gap:16px}
 .event-actions .text-link,.event-calendar{font-size:8px}
 .dress-code strong{font-size:21px}
 .intro-card .eyebrow{letter-spacing:.7px}
}
@media(prefers-reduced-motion:reduce){
 .event-copy>*:not(.event-count){opacity:1;transform:none}
 .event-art img,.event.is-active .event-art img,.intro-couple-page .intro-art{transform:none;transition:none}
 .scene-sparkles{display:none}
}
@media(max-height:620px){
 .event{padding-top:74px}
 .event h3{font-size:42px}
 .event-count{top:-28px}
 .event .eyebrow{font-size:7px;margin-bottom:8px}
 .event-rule{margin:10px auto 12px}
}
/* Keep the revealed date in the heart's wide middle, above its tapered tip. */
.scratch-heart{container-type:inline-size}
.heart-date{inset:27% 14% 29%;gap:3px}
.heart-date>*{flex-shrink:0;white-space:nowrap}
.heart-date small{font-size:clamp(6px,2.4cqw,7px);line-height:1.3;letter-spacing:1.1px}
.heart-date strong{font-size:18cqw;line-height:1}
.heart-date sup{font-size:5.4cqw;line-height:1}
.heart-date>span{font-size:6.8cqw;line-height:1.2}
.heart-date em{font-size:5.6cqw;line-height:1.2}
