/* Easy Wedding (easywedding.in) — original design & code © 2026 Chandan Kumar Mahato. All rights reserved. Origin fingerprint: EW-ORIGIN-2026-369eafc22a98. Unauthorised copying is prohibited. */
.partner-details{font:15px/1.5 var(--serif);white-space:pre-line;display:block;color:var(--ink);margin:15px auto;max-width:280px}.partner-details:empty{display:none}.opening-glow,.hero-light,.curtain-layer,.hero-sparkles{display:none}.extra-section{padding-top:45px;padding-bottom:45px;border-top:1px solid var(--line)}#pre-events-list>div{padding:15px 0 22px}#pre-events-list h3{font-size:23px;color:var(--gold);margin:0 0 7px}#pre-events-list p{white-space:pre-line;font-size:17px}.gallery-section{padding:30px 25px 55px}.gallery-frame{margin-top:25px;aspect-ratio:4/3;position:relative;background:#eadccc;overflow:hidden;border-radius:5px}.gallery-frame img{height:100%;width:100%;object-fit:cover}.gallery-frame p{position:absolute;inset:0;display:grid;place-content:center;padding:25px;font-size:15px}.gallery-controls{display:flex;align-items:center;justify-content:center;gap:18px;margin-top:14px;font:10px var(--sans)}.gallery-controls button{min-width:40px;min-height:40px;background:transparent;border:1px solid var(--line);border-radius:50%;font-size:15px}.royal-scratch{width:260px;height:240px;aspect-ratio:auto;margin:25px auto 8px;border:0;border-radius:0;background:#fbeeed;box-shadow:none;clip-path:path('M130 227 C105 209 10 142 10 79 C10 10 91 1 130 59 C169 1 250 10 250 79 C250 142 155 209 130 227 Z');padding:55px 18px 24px}.royal-scratch>small{font-size:8px;letter-spacing:.07em;margin-bottom:8px}.royal-scratch #heart-date{font:24px/1.3 var(--serif);color:var(--wine);max-width:195px;text-align:center}.royal-scratch #heart-time{font-size:14px;line-height:1.5;margin-top:7px}.royal{--paper:#f6e8eb;--ink:#653f48;--gold:#972c45;--wine:#92263e;--line:#c0929f55;background:#e7d2d9}.royal .opening{background:#f5e5e7}.royal .paper-panel{background-image:url('assets/royal-envelope.webp')}.royal .panel-top{clip-path:polygon(0 0,100% 0,50% 40.4%)}.royal .panel-left{clip-path:polygon(0 0,50.1% 40.4%,0 74.5%)}.royal .panel-right{clip-path:polygon(100% 0,100% 74.5%,49.9% 40.4%)}.royal .panel-bottom{clip-path:polygon(0 74.2%,50% 40.2%,100% 74.2%,100% 100%,0 100%)}.royal .opening-seal{top:40.3%;width:25%}.royal .opening-seal span{color:#764624;text-shadow:0 1px #ffe3a8}.royal .opening-prompt{top:51%}.royal .opening-prompt,.royal .envelope-address{color:#885855}.royal .opening-eyebrow,.royal .opening-footer{color:#a27b78}.royal .envelope-inner{background-image:url('assets/balcony.webp');padding-top:35%}.royal .inner-label,.royal .inner-names{color:#fff1df;text-shadow:0 2px 5px #30374877}.royal .is-opening .envelope-scene{transition-duration:5.4s;transform:scale(1.3)}.royal .is-opening .panel-left,.royal .is-opening .panel-right{transition-delay:2.1s}.royal .is-opening .panel-bottom{transition-delay:2.3s}.royal .opening-glow{display:block;position:absolute;inset:-20%;z-index:15;background:radial-gradient(ellipse at 50% 46%,#fff9ef 0%,#fff1cecc 7%,#ffd7c168 18%,transparent 47%);opacity:0;pointer-events:none;mix-blend-mode:screen;transform:scale(.1)}.royal .is-opening .opening-glow{animation:royal-glow 3s ease-in-out 2.8s both}.royal .hero{overflow:hidden;min-height:700px;aspect-ratio:941/1672}.royal .hero-art{object-position:center}.royal .hero-light{display:block;position:absolute;inset:0;background:linear-gradient(#26395729,#38405212 45%,#222c4422);z-index:0;pointer-events:none}.royal .hero-copy{top:13%;left:13%;right:13%;color:#fff1e8;text-shadow:0 2px 12px #30323b70;z-index:3}.royal .hero .eyebrow{color:#ffefe5;font:italic 17px/1.5 var(--serif);text-transform:none;letter-spacing:0;max-width:245px;margin:auto}.royal .hero h1{font-size:clamp(66px,15vw,103px);margin-top:30px;line-height:1.05}.royal .hero h1 i{color:#ffe6de}.royal .partner-details{color:#ffe8de;font:italic 15px/1.5 var(--serif);max-width:230px;margin:12px auto 18px}.royal .hero-date{font-size:14px;letter-spacing:.17em;margin-top:25px}.royal .hero-location{color:#fff0e5}.royal .hero .scroll-cue{margin-top:28px;font:11px/1.6 var(--serif);text-transform:uppercase;letter-spacing:.15em;gap:12px}.royal .hero-sparkles{display:block;position:absolute;inset:0;z-index:2;pointer-events:none;background-image:radial-gradient(circle,#ffe1ae 0 1px,transparent 3px),radial-gradient(circle,#ffefcd99 0 1px,transparent 2px);background-size:131px 191px,173px 247px;background-position:23px 51px,72px 135px;mask-image:linear-gradient(90deg,#000,transparent 28% 72%,#000);animation:royal-twinkle 5s ease-in-out infinite alternate}.royal .curtain-layer{display:block;position:absolute;inset:0;background:url('assets/balcony.webp') center/cover;pointer-events:none;z-index:1}.royal .curtain-left{clip-path:polygon(0 0,12% 0,8% 25%,11% 44%,6% 70%,11% 100%,0 100%);transform-origin:0 0;animation:curtain-sway 9s ease-in-out infinite alternate}.royal .curtain-right{clip-path:polygon(88% 0,100% 0,100% 100%,89% 100%,94% 70%,89% 44%,92% 25%);transform-origin:100% 0;animation:curtain-sway 10s ease-in-out -4s infinite alternate-reverse}.royal.arrived .hero-art{animation:royal-camera 7s cubic-bezier(.14,.56,.25,1) both}.royal.arrived .hero-copy{animation:royal-title 2s ease-out .2s both}.royal .welcome{background:linear-gradient(#273449,#a7a0ad 42%,var(--paper));color:#fff0ee;padding-top:75px;padding-bottom:65px}.royal .welcome .eyebrow{color:#f7dddf}.royal .welcome .script-heading{color:#fff0ee;text-shadow:0 1px 3px #4f485533;font-size:42px}.royal .welcome .family-line{color:#785c69}.royal .welcome:after{display:none}.royal .welcome .fine-divider{color:#f6ccda}.royal .paper-card{background:#faeff1;clip-path:none;border-radius:3px;filter:none;box-shadow:none}.royal .paper-card:before{border:0}.royal .timeline .timeline-marker{outline-color:#faeff1;background:var(--wine);border-radius:50%;transform:none}.royal .timeline li:before{background:#b881955c}.royal .timeline h3,.royal .timeline time{color:var(--wine)}.royal .timeline p{color:#946d7a}.royal .schedule-section{background:#f3e1e7;padding-top:25px;padding-bottom:25px}.royal .venue-section{padding-top:50px;background:#faeff1}.royal .venue-illustration{background-image:url('assets/balcony.webp');background-position:center 90%;box-shadow:inset 0 0 25px 13px #faeff1}.royal .notes-section{padding-top:30px}.royal .outline-button{border-color:#a84e6470;color:var(--wine);border-radius:24px}.royal .closing{background:linear-gradient(#f6e8ebe8,#f6e8ebd9),url('assets/balcony.webp') center bottom/cover}.royal .rsvp-seal span{color:#755123;text-shadow:0 1px #ffeabb}.royal .extra-section:nth-of-type(even){background:#faeff1}.royal .section .script-heading{font-size:43px}.royal .scratch-row{display:none}.royal .royal-scratch{display:flex}.royal .date-section>.script-heading{font-size:45px}.royal .body-copy{font-size:18px}.royal .welcome .body-copy{color:#fff0ee}
@keyframes royal-glow{0%{opacity:0;transform:scale(.12)}48%{opacity:.8}68%{opacity:1;transform:scale(2.7)}100%{opacity:0;transform:scale(4)}}@keyframes royal-camera{from{transform:scale(1.18) translateY(3%)}to{transform:scale(1) translateY(0)}}@keyframes royal-title{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:translateY(0)}}@keyframes royal-twinkle{from{opacity:.25;transform:translateY(0)}to{opacity:.8;transform:translateY(-13px)}}@keyframes curtain-sway{from{transform:skewX(0deg)}to{transform:skewX(.5deg)}}
@media(min-width:700px){.royal .hero-copy{top:13%}.royal .hero .eyebrow{font-size:21px}.royal .partner-details{font-size:17px}.royal .hero-date{font-size:17px}}
@media(max-width:380px){.royal .hero h1{font-size:67px}.royal .hero-copy{top:12%}.royal .hero .eyebrow{font-size:15px}.royal .hero h1 i{font-size:26px}.royal .partner-details{font-size:12px}.royal .hero-date{margin-top:18px}.royal .hero .scroll-cue{margin-top:21px}.royal-scratch{width:260px;height:240px}.royal .hero{min-height:665px}}
@media(prefers-reduced-motion:reduce){.royal .hero-art,.royal .hero-copy,.royal .curtain-layer,.royal .hero-sparkles{animation:none!important}.royal .opening-glow{display:none}}
#couple-heading>span{white-space:nowrap}.has-details .hero{min-height:900px}.has-details .hero-copy{top:11%}.has-details .partner-details{max-width:270px}.has-details .hero h1{font-size:clamp(53px,12vw,80px)}
.royal .hero-labels{margin-top:28px}.royal .hero-label span{color:#ffe6de;text-shadow:0 1px 8px #30323b70}.royal .hero-label small{color:#ffefe5;text-shadow:0 1px 6px #30323b70}.royal .hero-label+.hero-label{border-left-color:#ffe6de55}.royal .hero-tagline{color:#ffe6de;text-shadow:0 1px 8px #30323b70}
