*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#25050e;color:#fff;font-family:"DM Sans",sans-serif;overflow-x:hidden}body.locked{overflow:hidden}.section{position:relative;min-height:100svh;overflow:hidden}.opening{position:fixed;inset:0;z-index:1000;background:#080609;overflow:hidden}.opening-backdrop{position:absolute;inset:0;background:url("assets/opening-door.webp") center/cover no-repeat}.opening-shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.35),rgba(0,0,0,.5))}.door{position:absolute;top:0;bottom:0;width:50%;z-index:4;background-image:url("assets/opening-door.webp");background-size:200% 100%;background-repeat:no-repeat;transition:transform 1.9s cubic-bezier(.77,0,.18,1),filter 1.9s ease}.door-left{left:0;background-position:left center;transform-origin:left center}.door-right{right:0;background-position:right center;transform-origin:right center}.opening.opened .door-left{transform:translateX(-108%) rotateY(-10deg);filter:brightness(.65)}.opening.opened .door-right{transform:translateX(108%) rotateY(10deg);filter:brightness(.65)}.opening-copy{position:absolute;z-index:8;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:24px;transition:opacity .7s ease .55s,transform 1.2s ease}.opening.opened .opening-copy{opacity:0;transform:scale(1.08);pointer-events:none}.tiny-kicker,.eyebrow{letter-spacing:.24em;font-size:.68rem;font-weight:600}.opening-copy h1,.opening-copy h2{font-family:"Great Vibes",cursive;font-weight:400;margin:5px 0;line-height:.95;text-shadow:0 3px 20px rgba(0,0,0,.7)}.opening-copy h1{font-size:clamp(3rem,13vw,6rem)}.opening-copy h2{font-size:clamp(3.2rem,14vw,6.5rem);color:#f6d68b}.with{font-family:"Cormorant Garamond",serif;font-style:italic;font-size:1.1rem;color:#fff}.ornament{color:#e9c66e;margin:18px 0}.gold-btn,.map-btn,.insta-btn{border:1px solid rgba(255,220,130,.8);background:linear-gradient(135deg,#b77b18,#f0ce75,#a96a10);color:#3b0a13;text-decoration:none;font-weight:700;letter-spacing:.08em;text-transform:uppercase;box-shadow:0 12px 35px rgba(0,0,0,.25),inset 0 1px rgba(255,255,255,.55)}.gold-btn{border-radius:999px;padding:15px 26px;cursor:pointer;font-size:.76rem}.touch-note{margin-top:14px;font-size:.68rem;letter-spacing:.15em;opacity:.75}.locked{pointer-events:none}.locked .music-btn{pointer-events:none}body.locked #opening{pointer-events:auto}body.locked #opening .opening-copy{pointer-events:auto}body.invitation-opened{overflow:hidden}#preloader{position:fixed;inset:0;background:#2a0711;z-index:2000;display:grid;place-items:center;transition:opacity .5s;pointer-events:auto}.loader-ring{width:34px;height:34px;border:2px solid rgba(241,207,126,.25);border-top-color:#f1cf7e;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.music-btn{position:fixed;z-index:90;top:18px;right:18px;width:48px;height:48px;border-radius:50%;border:1px solid rgba(255,221,139,.45);background:rgba(75,6,22,.85);color:#f7d98e;font-size:1.3rem;display:grid;place-items:center;box-shadow:0 8px 25px rgba(0,0,0,.2);cursor:pointer}.hero{min-height:100svh;background:url("assets/bg-ganesha.webp") center/cover no-repeat;display:grid;place-items:center;padding:70px 18px}.hero-overlay{position:absolute;inset:0;background:linear-gradient(180deg,rgba(80,0,20,.12),rgba(76,0,16,.4))}.glass{background:rgba(255,249,235,.9);border:1px solid rgba(231,190,102,.65);box-shadow:0 25px 80px rgba(46,0,10,.3);backdrop-filter:blur(5px)}.hero-content{position:relative;max-width:650px;width:min(92%,650px);padding:38px 22px;text-align:center;color:#5b1022;border-radius:28px}.ganesha-mark{font-family:"Cormorant Garamond",serif;font-size:2rem;color:#a47725}.hero h2{font-family:"Great Vibes",cursive;font-weight:400;font-size:clamp(3rem,14vw,5.8rem);margin:6px 0 0;line-height:.9;color:#700c25}.qualification{margin:5px 0;font-family:"Cormorant Garamond",serif;font-size:1.15rem}.amp{font-family:"Great Vibes",cursive;font-size:2rem;color:#b17b20;margin:9px}.family-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:28px}.family-grid div{padding:15px 8px;border-top:1px solid rgba(152,99,29,.35)}.family-grid span{display:block;text-transform:uppercase;letter-spacing:.12em;font-size:.58rem;color:#9b722a;margin-bottom:8px}.family-grid strong{font-family:"Cormorant Garamond",serif;font-size:1.05rem;line-height:1.25}.date-section{background:url("assets/bg-temple-red.webp") center/cover fixed no-repeat;display:grid;place-items:center;padding:70px 16px}.section-wash{position:absolute;inset:0;background:radial-gradient(circle at center,rgba(137,22,39,.16),rgba(50,0,14,.6))}.date-content{position:relative;text-align:center;width:100%;max-width:760px}.light{color:#f7e6bd}.script-title{font-family:"Great Vibes",cursive;font-size:clamp(2.8rem,11vw,5rem);font-weight:400;color:#f6d58c;margin:6px 0 24px}.hearts{display:flex;justify-content:center;gap:clamp(8px,3vw,28px);flex-wrap:wrap}.date-heart{position:relative;width:clamp(92px,27vw,150px);aspect-ratio:1;filter:drop-shadow(0 14px 20px rgba(0,0,0,.3));transform:rotate(-45deg);background:linear-gradient(135deg,#d2a33b,#f6d88d,#9e6816);border-radius:10px;transition:transform 1.1s cubic-bezier(.2,.8,.2,1),opacity .8s}.date-heart:before,.date-heart:after{content:"";position:absolute;width:100%;height:100%;border-radius:50%;background:inherit}.date-heart:before{top:-50%;left:0}.date-heart:after{top:0;left:50%}.heart-inner,.cover{position:absolute;inset:0;z-index:2}.heart-inner{transform:rotate(45deg);display:flex;flex-direction:column;align-items:center;justify-content:center;color:#4a0713}.heart-inner small{font-size:.52rem;letter-spacing:.16em}.heart-inner b{font-family:"Cormorant Garamond",serif;font-size:2rem}.cover{background:linear-gradient(135deg,#9b681b,#e9c56c,#a86d16);border:1px solid rgba(255,238,173,.75);border-radius:10px;transform-origin:center;transition:transform 1.2s cubic-bezier(.2,.8,.2,1),opacity 1s}.date-heart.revealed .cover{transform:scale(.05) rotate(30deg);opacity:0}.date-heart.revealed{transform:rotate(-45deg) scale(1.06)}.date-caption{font-family:"Cormorant Garamond",serif;font-size:1.5rem;color:#fff0c9;margin-top:34px}.rice-field{position:absolute;inset:15% -10% 0;pointer-events:none;overflow:hidden}.rice{position:absolute;width:6px;height:10px;background:#f7df72;border-radius:70% 30% 70% 30%;animation:riceFall 1.8s ease-out forwards;opacity:.95}@keyframes riceFall{0%{transform:translate(0,0) rotate(0) scale(.7);opacity:0}15%{opacity:1}100%{transform:translate(var(--dx),var(--dy)) rotate(var(--rot));opacity:0}}.countdown-section{background:url("assets/bg-red-velvet.webp") center/cover no-repeat;padding:76px 16px 80px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:34px}.countdown-section:before{content:"";position:absolute;inset:0;background:rgba(60,0,12,.45)}.countdown-top,.photo-frame{position:relative;z-index:2}.countdown-top{text-align:center}.countdown{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;max-width:620px;margin:22px auto 0;padding:14px;background:rgba(255,249,235,.93);border:1px solid #d8ad5d;border-radius:20px;color:#5a0c20}.countdown div{padding:9px 3px;border-right:1px solid rgba(139,91,24,.2)}.countdown div:last-child{border-right:0}.countdown b{display:block;font-family:"Cormorant Garamond",serif;font-size:clamp(1.8rem,7vw,3rem)}.countdown span{font-size:.55rem;text-transform:uppercase;letter-spacing:.12em;color:#936d2c}.photo-frame{width:min(88vw,470px);border-radius:28px;overflow:hidden;border:1px solid #dcb55f;box-shadow:0 25px 60px rgba(0,0,0,.35)}.photo-frame img{width:100%;display:block}.petal-layer{position:absolute;inset:0;overflow:hidden;pointer-events:none}.petal{position:absolute;top:-30px;width:11px;height:16px;background:#c51c32;border-radius:70% 30% 70% 30%;animation:petalFall var(--dur) linear infinite;animation-delay:var(--delay);opacity:.85}@keyframes petalFall{0%{transform:translate3d(0,-30px,0) rotate(0)}100%{transform:translate3d(var(--x),520px,0) rotate(500deg);opacity:.1}}.timeline-section{background:#3e0712;padding:78px 14px}.timeline-bg{position:absolute;inset:0;background:url("assets/bg-red-arch.webp") center/cover no-repeat;opacity:.4}.section-heading{position:relative;text-align:center;margin-bottom:38px}.subtle{color:#e7d9c2;font-size:.9rem}.timeline{position:relative;max-width:760px;margin:auto}.timeline:before{content:"";position:absolute;top:0;bottom:0;left:20px;width:1px;background:linear-gradient(#d9af56,#f5df9d,#8e5513)}.event{position:relative;padding-left:50px;margin:0 0 44px}.event-number{position:absolute;left:4px;top:18px;width:33px;height:33px;border-radius:50%;background:#f2cf7a;color:#5a0b1b;display:grid;place-items:center;font-family:"Cormorant Garamond",serif;font-weight:700;font-size:.8rem;z-index:2;border:3px solid #6d1b2b}.event-card{display:grid;grid-template-columns:40% 60%;overflow:hidden;border-radius:27px;background:rgba(255,250,240,.95);color:#4c0a1a;border:1px solid rgba(231,193,112,.75);box-shadow:0 18px 50px rgba(0,0,0,.28)}.event-card.reverse .event-image{order:2}.event-card.reverse .event-copy{order:1}.event-image{min-height:260px;background:#eee;display:flex;align-items:center;justify-content:center}.event-image img{width:100%;height:100%;object-fit:cover}.event-copy{padding:24px 20px;display:flex;flex-direction:column;justify-content:center}.event-kicker{font-size:.57rem;letter-spacing:.18em;color:#a77a2c;font-weight:700}.event-copy h3{font-family:"Cormorant Garamond",serif;font-size:2.3rem;margin:3px 0 12px;color:#650b22}.event-copy p{margin:4px 0;font-size:.82rem;line-height:1.35}.venue{color:#7e6d60;margin-top:12px!important}.venue-card{margin-top:10px;padding:19px 20px;border-radius:20px;background:rgba(255,248,234,.94);border:1px solid rgba(231,193,112,.55);color:#4c0a1a}.venue-card span{display:block;font-size:.55rem;letter-spacing:.18em;color:#a47725;font-weight:700}.venue-card strong{display:block;font-family:"Cormorant Garamond",serif;font-size:1.35rem;margin:5px 0}.venue-card p{margin:0 0 13px;font-size:.78rem;color:#765e51}.map-btn{display:inline-block;border-radius:999px;padding:10px 15px;font-size:.65rem}.gallery-section{background:url("assets/bg-ganesha.webp") center/cover no-repeat;padding:76px 0 84px;color:#4d0a1a}.gallery-section:before{content:"";position:absolute;inset:0;background:rgba(255,248,234,.88)}.dark-heading{position:relative;padding:0 18px}.dark-heading .eyebrow{color:#9d722c}.dark-heading .script-title{color:#690b21}.dark-heading .subtle{color:#6f625c}.gallery-track{position:relative;z-index:2;display:flex;overflow-x:auto;gap:16px;padding:12px 7vw 30px;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none}.gallery-track::-webkit-scrollbar{display:none}.gallery-track figure{flex:0 0 min(78vw,330px);margin:0;scroll-snap-align:center}.gallery-track img{width:100%;height:440px;object-fit:cover;border-radius:24px;border:1px solid #d3ad63;box-shadow:0 18px 40px rgba(74,0,15,.2)}.gallery-track figcaption{text-align:center;font-family:"Cormorant Garamond",serif;font-size:1.05rem;margin-top:9px}.guest-section{min-height:92svh;background:url("assets/bg-red-arch.webp") center/cover no-repeat;display:grid;place-items:center;padding:70px 18px}.guest-overlay{position:absolute;inset:0;background:rgba(50,0,13,.58)}.guest-card{position:relative;max-width:620px;width:100%;padding:48px 24px;text-align:center;background:rgba(77,7,24,.86);border-color:rgba(234,193,100,.65);color:#f9e7bd;border-radius:28px}.quote-mark{font-family:Georgia,serif;font-size:4rem;color:#d9b35d;height:45px}.guest-card h2{font-family:"Cormorant Garamond",serif;font-size:2.7rem;font-weight:600;margin:10px 0 0}.infinity{font-family:"Cormorant Garamond",serif;font-size:2.4rem;color:#e8c66f}.guest-message{font-family:"Cormorant Garamond",serif;font-size:1.55rem;line-height:1.4;margin:20px auto;max-width:500px}.with-love{font-family:"Great Vibes",cursive;font-size:1.7rem;margin:10px}.signature{font-family:"Great Vibes",cursive;font-size:2rem;color:#f1c978;margin:0}.signature span{font-family:serif;font-size:1rem}.footer{background:#23050d;text-align:center;padding:58px 18px calc(58px + env(safe-area-inset-bottom));border-top:1px solid rgba(218,174,80,.3)}.footer-ornament{color:#d9ad51;letter-spacing:.6em;margin-bottom:20px}.footer h2{font-family:"Cormorant Garamond",serif;font-size:2rem;font-weight:500;max-width:600px;margin:0 auto 18px}.footer p{font-size:.8rem;color:#d9c7b1;margin:5px}.insta-btn{display:inline-block;margin-top:10px;padding:12px 20px;border-radius:999px;font-size:.65rem}.footer small{display:block;margin-top:28px;color:#927b72;font-size:.65rem}.reveal{opacity:0;transform:translateY(35px);transition:opacity .9s ease,transform .9s cubic-bezier(.2,.7,.2,1)}.reveal.visible{opacity:1;transform:none}@media(max-width:560px){.family-grid{gap:6px}.family-grid strong{font-size:.92rem}.event{padding-left:42px}.timeline:before{left:15px}.event-number{left:0;width:30px;height:30px}.event-card,.event-card.reverse{display:flex;flex-direction:column}.event-card.reverse .event-image,.event-card.reverse .event-copy{order:initial}.event-image{height:230px;min-height:0}.event-copy{padding:20px}.countdown{gap:2px}.countdown div{padding:8px 1px}.gallery-track figure{flex-basis:78vw}.gallery-track img{height:430px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;transition-duration:.01ms!important}}

/* --- Luxury reference refinements --- */
.opening-copy h1,.opening-copy h2{color:#f2cc72 !important;text-shadow:0 3px 24px rgba(0,0,0,.85),0 0 14px rgba(255,210,105,.2)}
.first-layout{background:rgba(255,249,235,.68);backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px);padding:34px 22px 30px;border-radius:24px;box-shadow:0 24px 70px rgba(55,0,12,.24)}
.hero-script-name{font-family:"Great Vibes",cursive!important;font-size:clamp(2.7rem,11vw,5rem)!important;font-weight:400!important;color:#6a1024!important;margin:2px 0!important;line-height:1!important}
.hero-weds{font-family:"Great Vibes",cursive;font-size:1.8rem;color:#b27b22;margin:5px 0 3px}
.hero-divider{width:82px;height:1px;background:linear-gradient(90deg,transparent,#bd8b36,transparent);margin:16px auto 12px}
.hero-display-name{font-family:"Cormorant Garamond",serif;font-size:clamp(2rem,8vw,3.45rem);line-height:1;margin:12px 0 5px;color:#43101c;letter-spacing:-.02em}
.parent-line{font-family:"DM Sans",sans-serif;font-size:.95rem;line-height:1.45;margin:0 auto 13px;color:#4f3d36}
.hero-quote{font-family:"Great Vibes",cursive;font-size:1.65rem;line-height:1.15;color:#5e1728;margin:26px 0 16px}
.hero-invite{font-family:"DM Sans",sans-serif;font-size:.9rem;line-height:1.55;color:#4e3d38;margin:0}
.scroll-cue{margin-top:25px;font-size:.65rem;letter-spacing:.2em;color:#ae7a24;font-weight:600}.scroll-cue span{display:block;font-size:1.35rem;line-height:1.1;margin-top:5px}
.date-section{background-attachment:scroll;min-height:100svh}
.date-content{padding:12px 10px 24px}.date-heading{font-family:"Cormorant Garamond",serif;font-size:clamp(2.8rem,10vw,4.7rem);font-weight:600;color:#4b2116;margin:6px 0 5px}.date-subtitle{font-family:"Cormorant Garamond",serif;font-size:1.35rem;color:#6d5142;margin:0 0 38px}
.hearts{max-width:560px;margin:0 auto;display:grid;grid-template-columns:repeat(2,minmax(120px,1fr));gap:58px 28px;align-items:start;justify-items:center}.date-heart{width:clamp(112px,30vw,154px)}.date-heart:nth-child(3){grid-column:1 / -1;margin-top:-4px}.date-caption-line{font-family:"DM Sans",sans-serif;font-size:.9rem;letter-spacing:.08em;color:#7a5c4e;margin-top:42px}
.date-section .section-wash{background:rgba(255,245,220,.72);mix-blend-mode:screen}.date-section .eyebrow.light{color:#7a5a3d;letter-spacing:.18em}
.event-image{background:transparent!important;padding:12px}.event-image img{width:100%;height:100%;object-fit:contain;display:block;filter:drop-shadow(0 10px 18px rgba(60,0,12,.16))}
.event-card{grid-template-columns:38% 62%}.event-card.reverse .event-image{order:2}.event-card.reverse .event-copy{order:1}
.guest-section{background-image:url("assets/bg-guest-velaku.webp");background-position:center;background-size:cover}.guest-overlay{background:rgba(70,0,12,.30)}.guest-card{background:rgba(91,8,28,.62);backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px);box-shadow:0 25px 70px rgba(35,0,8,.32)}
@media(max-width:560px){.first-layout{width:min(94%,620px);padding:28px 16px 26px}.hero-script-name{font-size:clamp(2.5rem,12vw,4rem)!important}.hero-display-name{font-size:clamp(1.85rem,8vw,2.7rem)}.parent-line{font-size:.82rem}.hero-quote{font-size:1.45rem}.hero-invite{font-size:.82rem}.date-subtitle{font-size:1.2rem;margin-bottom:30px}.hearts{gap:50px 14px}.date-heart{width:clamp(104px,31vw,132px)}.date-caption-line{font-size:.78rem;margin-top:34px}.event-image{height:205px;padding:8px}.guest-card{padding:42px 20px}}

/* --- Final timeline interaction + mobile refinements --- */
.first-layout{background:transparent!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;box-shadow:none!important;border:0!important}
.hero-content.first-layout{color:#fff4e4;text-shadow:0 2px 12px rgba(0,0,0,.72)}
.hero-display-name{color:#fff7ec!important;text-shadow:0 2px 10px rgba(54,0,12,.8)}
.parent-line,.hero-invite{color:#fff4e8!important;text-shadow:0 2px 9px rgba(54,0,12,.75)}
.hero-quote{color:#ffe1a1!important;text-shadow:0 2px 10px rgba(54,0,12,.8)}
.hero-divider{background:linear-gradient(90deg,transparent,#f0c86c,transparent)}
.hearts{display:flex!important;flex-wrap:nowrap!important;align-items:center;justify-content:center;gap:clamp(8px,2vw,20px);width:100%;max-width:620px;margin:0 auto}
.date-heart{width:clamp(84px,25vw,132px)!important;flex:0 1 132px;transform:rotate(-45deg) scale(.88);border-radius:0!important}
.date-heart:before,.date-heart:after{border-radius:50%!important}
.date-heart.revealed{transform:rotate(-45deg) scale(.95)}
.heart-inner,.cover{border-radius:0!important}
.heart-inner{transform:rotate(45deg) scale(.88)}
.heart-inner small{font-size:.48rem}.heart-inner b{font-size:clamp(1.35rem,5vw,1.9rem)}
.muhurtham-card{margin:28px auto 0;width:min(92%,560px);padding:16px 18px;border:1px solid rgba(232,190,95,.72);border-radius:18px;background:rgba(255,247,228,.12);backdrop-filter:blur(2px);color:#fff0cf;text-align:center}
.muhurtham-card .muhurtham-label{margin:0 0 4px;font-size:.58rem;letter-spacing:.2em;font-weight:700;color:#e9c46b}.muhurtham-card strong{display:block;font-family:"Cormorant Garamond",serif;font-size:1.35rem;color:#ffe1a0}.muhurtham-card p:not(.muhurtham-label){margin:6px 0 2px;font-family:"Cormorant Garamond",serif;font-size:1.15rem}.muhurtham-card span{display:block;font-size:.7rem;line-height:1.4;color:#f3dfbd}
.timeline:before,.event-number{display:none!important}.timeline{max-width:720px}.event{padding-left:0!important;margin:0 0 28px}.event-card{grid-template-columns:38% 62%;border-radius:24px}.event-card.reverse{grid-template-columns:62% 38%}.event-card.reverse .event-image{order:2}.event-card.reverse .event-copy{order:1}.event-image{min-height:240px!important;background:transparent!important;padding:12px!important}.event-image img{object-fit:contain!important}.event-copy{padding:24px!important}.event-copy h3{margin:3px 0 2px!important}.event-tamil{font-family:"Cormorant Garamond",serif!important;font-size:1.25rem!important;color:#9a6d27!important;margin:0 0 10px!important;font-weight:600}.timeline-map-card{position:relative;z-index:2;max-width:720px;margin:8px auto 0;padding:22px;border-radius:22px;background:rgba(255,248,234,.96);border:1px solid rgba(231,193,112,.7);color:#4c0a1a;box-shadow:0 18px 50px rgba(0,0,0,.25);text-align:center}.timeline-map-card span{display:block;font-size:.58rem;letter-spacing:.18em;color:#a47725;font-weight:700}.timeline-map-card strong{display:block;font-family:"Cormorant Garamond",serif;font-size:1.45rem;margin:5px 0}.timeline-map-card p{margin:0 auto 13px;font-size:.78rem;color:#765e51;max-width:500px}.timeline-map-card .map-btn{display:inline-block}
.timeline .event:nth-child(1){opacity:0;transform:translateX(-80px);transition:opacity .85s ease,transform .9s cubic-bezier(.2,.75,.2,1)}
.timeline .event:nth-child(2){opacity:0;transform:translateX(80px);transition:opacity .85s ease .08s,transform .9s cubic-bezier(.2,.75,.2,1) .08s}
.timeline .event:nth-child(3){opacity:0;transform:translateX(-80px);transition:opacity .85s ease .08s,transform .9s cubic-bezier(.2,.75,.2,1) .08s}
.timeline .event.visible{opacity:1;transform:translateX(0)}
@media(max-width:560px){.hearts{gap:4px}.date-heart{width:clamp(78px,27vw,105px)!important}.heart-inner{transform:rotate(45deg) scale(.78)}.heart-inner small{font-size:.42rem}.heart-inner b{font-size:1.3rem}.muhurtham-card{margin-top:24px;padding:14px 12px}.muhurtham-card strong{font-size:1.2rem}.muhurtham-card p:not(.muhurtham-label){font-size:1.02rem}.muhurtham-card span{font-size:.65rem}.timeline-section{padding-left:10px;padding-right:10px}.event{margin-bottom:22px}.event-card,.event-card.reverse{display:grid!important;grid-template-columns:40% 60%!important}.event-card.reverse .event-image{order:2}.event-card.reverse .event-copy{order:1}.event-image{height:210px!important;min-height:210px!important;padding:6px!important}.event-copy{padding:17px 12px!important}.event-kicker{font-size:.48rem}.event-copy h3{font-size:1.8rem!important}.event-tamil{font-size:1.05rem!important;margin-bottom:7px!important}.event-copy p{font-size:.68rem!important}.timeline-map-card{padding:18px 14px}.timeline-map-card strong{font-size:1.2rem}.timeline-map-card p{font-size:.68rem}}

/* Final heart-shape correction: clean proportional hearts, no rotated-square construction. */
.date-section .hearts{display:flex!important;flex-wrap:nowrap!important;align-items:center;justify-content:center;gap:clamp(5px,2.5vw,18px);width:100%;max-width:540px;margin:0 auto}
.date-section .date-heart{position:relative;width:clamp(82px,27vw,140px)!important;flex:1 1 0;max-width:140px;aspect-ratio:100/90;transform:none!important;filter:drop-shadow(0 10px 16px rgba(0,0,0,.22));border-radius:0;background:none!important}
.date-section .heart-svg,.date-section .heart-cover-svg{position:absolute;inset:0;width:100%;height:100%;display:block}
.date-section .heart-cover-svg{z-index:2;transform-origin:50% 50%;transition:transform 1s cubic-bezier(.2,.8,.2,1),opacity .8s ease}
.date-section .date-heart.revealed .heart-cover-svg{transform:scale(.04);opacity:0}
.date-section .heart-inner{position:absolute;inset:0;z-index:3;transform:none!important;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#4a0713;text-align:center;padding-top:5px}
.date-section .heart-inner small{font-size:clamp(.42rem,1.7vw,.56rem);letter-spacing:.14em;line-height:1;margin-bottom:5px}
.date-section .heart-inner b{font-family:"Cormorant Garamond",serif;font-size:clamp(1.35rem,5vw,2rem);line-height:1}
@media(max-width:560px){
  .date-section .hearts{gap:3px;max-width:360px}
  .date-section .date-heart{width:clamp(78px,29vw,105px)!important;max-width:105px}
  .date-section .heart-inner{padding-top:4px}
  .date-section .heart-inner small{font-size:.4rem;letter-spacing:.1em;margin-bottom:4px}
  .date-section .heart-inner b{font-size:1.28rem}
}


/* Final requested fixes: no duplicate timeline titles, flower-saree guest background, faster first interaction. */
.event-kicker{display:none!important}
.event-copy h3{margin-top:0!important}
.guest-section{background-image:url("assets/bg-guest-flower-saree.webp")!important;background-position:center!important;background-size:cover!important}
.guest-overlay{background:rgba(45,0,10,.22)!important}
.guest-card{background:rgba(91,8,28,.48)!important;border-color:rgba(246,211,142,.42)!important;backdrop-filter:blur(2px)!important;-webkit-backdrop-filter:blur(2px)!important}
@media(max-width:560px){
  .event-copy h3{font-size:1.85rem!important;margin:0 0 2px!important}
  .event-tamil{font-size:1.05rem!important}
}


/* --- Latest requested visual updates --- */
/* Entrance: both names white with a warm gold glow; the separator reads "weds". */
.opening-copy h1,
.opening-copy h2{
  color:#fffdf7 !important;
  text-shadow:
    0 3px 24px rgba(0,0,0,.88),
    0 0 7px rgba(255,225,145,.95),
    0 0 18px rgba(244,199,92,.72) !important;
}
.opening-copy .with{
  color:#fffdf7 !important;
  text-shadow:0 0 10px rgba(244,199,92,.62);
}

/* First section: script couple names in gold for stronger contrast. */
.hero-script-name{
  color:#f2cf72 !important;
  text-shadow:
    0 2px 10px rgba(55,0,12,.9),
    0 0 12px rgba(244,205,112,.42) !important;
}

/* Date reveal: use the supplied red star texture for Our Moments only. */
.gallery-section{
  background-image:url("assets/bg-gallery-stars.jpeg") !important;
  background-position:center !important;
  background-size:cover !important;
  background-repeat:no-repeat !important;
}
.gallery-section:before{
  background:rgba(45,0,12,.28) !important;
}


/* Latest date-section refinement: clearer heading, clean-cut hearts, and a larger Muhurtham card. */
.date-section .date-content{
  transform:translateY(-42px);
}
.date-section .date-heading{
  color:#fff8df!important;
  text-shadow:0 2px 8px rgba(55,0,12,.92),0 0 10px rgba(247,207,105,.72),0 0 24px rgba(247,207,105,.34);
  margin-top:0!important;
  margin-bottom:14px!important;
  font-weight:700;
}
.date-section .date-subtitle{display:none!important}
.date-section .heart-svg path,.date-section .heart-cover-svg path{
  vector-effect:non-scaling-stroke;
}
.date-section .date-heart{
  filter:drop-shadow(0 10px 15px rgba(0,0,0,.28)) drop-shadow(0 0 3px rgba(255,226,151,.28));
}
.date-section .heart-inner{
  text-shadow:0 1px 3px rgba(255,238,185,.18);
}
.date-section .muhurtham-card{
  width:min(95%,600px)!important;
  padding:24px 24px 22px!important;
  min-height:190px;
  border-radius:22px!important;
  box-shadow:0 12px 35px rgba(0,0,0,.18);
}
.date-section .muhurtham-card strong{
  font-size:clamp(1.35rem,5vw,1.75rem)!important;
}
.muhurtham-divider{
  width:min(72%,230px);
  height:12px;
  margin:8px auto 7px;
  display:flex;
  align-items:center;
  justify-content:center;
  position:relative;
}
.muhurtham-divider:before,.muhurtham-divider:after{
  content:"";
  height:1px;
  flex:1;
  background:linear-gradient(90deg,transparent,#e8c56e,transparent);
}
.muhurtham-divider span{
  margin:0 8px;
  color:#f2cf72;
  font-size:.55rem;
  line-height:1;
  text-shadow:0 0 7px rgba(242,207,114,.45);
}
@media(max-width:560px){
  .date-section .date-content{transform:translateY(-34px);}
  .date-section .date-heading{font-size:clamp(2.65rem,10vw,4rem)!important;margin-bottom:12px!important;}
  .date-section .muhurtham-card{width:96%!important;min-height:180px;padding:22px 14px 20px!important;margin-top:24px!important;}
  .muhurtham-divider{width:min(78%,210px);margin:7px auto 6px;}
}

/* Latest exact fixes: remove the date-section white fade and restore the gallery script title to gold. */
.date-section .section-wash{
  background:transparent!important;
  mix-blend-mode:normal!important;
}
.gallery-section .dark-heading .script-title{
  color:#f2cf72!important;
  text-shadow:0 2px 10px rgba(45,0,12,.85),0 0 12px rgba(242,207,114,.42)!important;
}

/* Latest requested first-section background replacement. */
.hero{background-image:url("assets/bg-hero-new.png") !important;background-position:center top !important;background-size:cover !important;background-repeat:no-repeat !important;}


/* Cinematic inward-entry opening: doors recede while the camera pushes through. */
.opening-backdrop{
  transform:scale(1);
  transform-origin:center center;
  transition:transform 2.15s cubic-bezier(.2,.72,.16,1),filter 2.15s ease,opacity 2.15s ease;
  will-change:transform;
}
.opening.opened .opening-backdrop{
  transform:scale(1.34);
  filter:brightness(.82) saturate(1.05);
}
.opening .door{
  perspective:1200px;
  transition:transform 2.15s cubic-bezier(.18,.72,.12,1),filter 2.15s ease,opacity 1.8s ease;
  will-change:transform;
  backface-visibility:hidden;
}
.opening .door-left{transform-origin:left center;}
.opening .door-right{transform-origin:right center;}
.opening.opened .door-left{
  transform:translate3d(-12%,0,0) rotateY(-58deg) scale(1.08);
  filter:brightness(.58);
}
.opening.opened .door-right{
  transform:translate3d(12%,0,0) rotateY(58deg) scale(1.08);
  filter:brightness(.58);
}
.opening.opened .opening-copy{
  opacity:0;
  transform:scale(1.22) translateZ(80px);
  transition:opacity .65s ease .2s,transform 2s cubic-bezier(.18,.72,.12,1);
}

/* Date hearts: clean dark-blue finish while keeping the same heart geometry. */
.date-section .heart-base,
.date-section .heart-cover-svg path{
  fill:#102b5c !important;
}
.date-section .heart-inner{color:#fffaf0!important;}
.date-section .heart-inner small{color:#e9c96f!important;}

@media(max-width:560px){
  .opening.opened .opening-backdrop{transform:scale(1.28);}
  .opening.opened .door-left{transform:translate3d(-10%,0,0) rotateY(-52deg) scale(1.06);}
  .opening.opened .door-right{transform:translate3d(10%,0,0) rotateY(52deg) scale(1.06);}
}

/* V6: the invitation is visible behind the doors so the opening feels like entering the first section. */
.opening{background:transparent!important;}
.opening-backdrop{background:transparent!important;}
.opening-shade{background:rgba(8,6,9,.08)!important;}
.hero.reveal{opacity:1!important;transform:none!important;}
.opening.opened{pointer-events:none;}
.opening.opened .opening-backdrop{transform:scale(1.06)!important;filter:none!important;}
.opening.opened .door-left{transform:translate3d(-112%,0,120px) rotateY(-58deg) scale(1.08)!important;}
.opening.opened .door-right{transform:translate3d(112%,0,120px) rotateY(58deg) scale(1.08)!important;}
.opening.finished{opacity:0!important;visibility:hidden!important;pointer-events:none!important;}

/* V6: make the date values more prominent inside the dark-blue hearts. */
.date-section .heart-inner b{font-size:clamp(1.6rem,5.7vw,2.2rem)!important;}

/* V6: Our Moments captions/rounded quote text should read clearly in gold. */
.gallery-section .gallery-track figcaption{
  color:#f2cf72!important;
  text-shadow:0 1px 7px rgba(45,0,12,.9),0 0 8px rgba(242,207,114,.25)!important;
}
@media(max-width:560px){
  .opening.opened .opening-backdrop{transform:scale(1.04)!important;}
  .opening.opened .door-left{transform:translate3d(-108%,0,100px) rotateY(-54deg) scale(1.06)!important;}
  .opening.opened .door-right{transform:translate3d(108%,0,100px) rotateY(54deg) scale(1.06)!important;}
  .date-section .heart-inner b{font-size:1.55rem!important;}
}


/* V7 requested: restore the original/simple door-opening animation. */
.opening{background:#080609!important;}
.opening-backdrop{transform:none!important;filter:none!important;background:url("assets/opening-door.webp") center/cover no-repeat!important;transition:none!important;}
.opening-shade{background:linear-gradient(180deg,rgba(0,0,0,.35),rgba(0,0,0,.5))!important;}
.opening .door{perspective:none!important;backface-visibility:visible!important;will-change:transform;transition:transform 1.9s cubic-bezier(.77,0,.18,1),filter 1.9s ease!important;}
.opening .door-left{transform-origin:left center!important;}
.opening .door-right{transform-origin:right center!important;}
.opening.opened .door-left{transform:translateX(-108%) rotateY(-10deg)!important;filter:brightness(.65)!important;}
.opening.opened .door-right{transform:translateX(108%) rotateY(10deg)!important;filter:brightness(.65)!important;}
.opening.opened .opening-copy{opacity:0!important;transform:scale(1.08)!important;pointer-events:none!important;}
.opening.finished{opacity:1!important;visibility:visible!important;}

/* V7 requested: gold date hearts with larger dark-blue date values. */
.date-section .heart-base{fill:url(#heartGold1)!important;}
.date-section .date-heart:nth-child(2) .heart-base{fill:url(#heartGold2)!important;}
.date-section .date-heart:nth-child(3) .heart-base{fill:url(#heartGold3)!important;}
.date-section .heart-cover-svg path{fill:#c8952f!important;}
.date-section .heart-inner{color:#102b5c!important;}
.date-section .heart-inner b{font-size:clamp(1.75rem,6vw,2.4rem)!important;color:#102b5c!important;}
@media(max-width:560px){
  .date-section .heart-inner b{font-size:1.7rem!important;color:#102b5c!important;}
}

/* RSVP + Admin Panel */
.rsvp-section{background:url("assets/bg-ganesha.webp") center/cover no-repeat;padding:76px 18px 90px;color:#4d0a1a;display:grid;place-items:center}
.rsvp-section:before{content:"";position:absolute;inset:0;background:rgba(255,248,234,.9)}
.rsvp-shell{position:relative;z-index:2;width:min(100%,720px)}
.rsvp-card{background:rgba(255,252,247,.94);border:1px solid rgba(170,128,57,.32);border-radius:28px;padding:30px;box-shadow:0 22px 65px rgba(74,0,15,.15)}
.rsvp-card label{display:block;margin:0 0 24px;font-size:.68rem;letter-spacing:.18em;color:#7c6656}
.rsvp-card label span{color:#a47725}
.rsvp-card input,.rsvp-card select,.admin-card input{width:100%;margin-top:10px;border:1px solid rgba(122,92,61,.28);border-radius:18px;background:#fffdf9;padding:18px 20px;font:1rem "Cormorant Garamond",serif;color:#4d3c32;outline:none}
.rsvp-card input:focus,.rsvp-card select:focus,.admin-card input:focus{border-color:#b58b42;box-shadow:0 0 0 3px rgba(181,139,66,.1)}
.attendance-options{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:-7px 0 22px}
.attendance-btn,.rsvp-submit,.admin-link-btn,.admin-actions button{font:600 .72rem "DM Sans",sans-serif;letter-spacing:.12em;text-transform:uppercase;cursor:pointer}
.attendance-btn{padding:17px 12px;border:1px solid rgba(122,92,61,.28);border-radius:18px;background:#fffdf9;color:#806b5a}
.attendance-btn.selected{background:linear-gradient(135deg,#b77b18,#f0ce75,#a96a10);color:#3b0a13;border-color:#c99a4b}
.rsvp-submit{width:100%;padding:17px;border:0;border-radius:999px;background:linear-gradient(135deg,#b77b18,#f0ce75,#a96a10);color:#3b0a13;box-shadow:0 12px 35px rgba(0,0,0,.16)}
.rsvp-status{text-align:center;min-height:1.3em;margin:14px 0 0;color:#8b692e;font-size:.8rem}
.admin-link-btn{display:block;margin:22px auto 0;padding:12px 26px;border:1px solid rgba(170,128,57,.55);border-radius:999px;background:transparent;color:#7b624d}
.admin-section{min-height:100svh;background:#efe5d5;color:#4d3b31;padding:70px 18px;position:relative}
.admin-card,.admin-dashboard{width:min(100%,720px);margin:auto;background:rgba(255,252,247,.94);border:1px solid rgba(170,128,57,.32);border-radius:28px;padding:38px 30px;box-shadow:0 22px 65px rgba(74,0,15,.12)}
.admin-card{text-align:center}
.admin-card .script-title{color:#5b1022;margin:5px 0 24px}
.admin-text-btn{border:0;background:none;color:#8a7668;letter-spacing:.12em;text-transform:uppercase;font-size:.66rem;margin-top:22px;cursor:pointer}
.admin-error{color:#9b2731;min-height:1.2em;font-size:.78rem}
.admin-head{display:flex;justify-content:space-between;gap:20px;align-items:flex-start}
.admin-head .script-title{color:#5b1022;margin:5px 0 20px}
.admin-actions{display:flex;flex-direction:column;gap:8px}
.admin-actions button{padding:11px 18px;border:1px solid rgba(170,128,57,.5);border-radius:999px;background:transparent;color:#6e594b}
.rsvp-stats{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:8px 0 18px}
.rsvp-stats div{border:1px solid rgba(170,128,57,.28);border-radius:20px;padding:22px 12px;text-align:center}
.rsvp-stats strong{display:block;font:600 2.5rem "Cormorant Garamond",serif;color:#4c0a1a}
.rsvp-stats span{font-size:.58rem;letter-spacing:.14em;color:#8b7464}
.rsvp-list{border:1px solid rgba(170,128,57,.24);border-radius:22px;overflow:hidden;background:#fffdf9}
.rsvp-row{display:grid;grid-template-columns:1.5fr .6fr .9fr;gap:10px;padding:15px 16px;border-bottom:1px solid rgba(170,128,57,.15);font-size:.76rem}
.rsvp-row:last-child{border-bottom:0}
.rsvp-row.head{font-weight:700;letter-spacing:.08em;text-transform:uppercase;font-size:.58rem;color:#8b7464;background:#f7efe3}
.rsvp-row .yes{color:#55733e}.rsvp-row .no{color:#9b4c4c}
.empty-rsvp{text-align:center;padding:30px;color:#8a7668}
.admin-note{text-align:center;font-size:.7rem;color:#8a7668;margin:18px 0 0}
@media(max-width:560px){
 .rsvp-card,.admin-card,.admin-dashboard{padding:26px 18px}
 .admin-head{display:block}.admin-actions{display:grid;grid-template-columns:1fr 1fr;margin-bottom:18px}
 .admin-actions button:last-child{grid-column:1/-1}
 .rsvp-row{grid-template-columns:1.3fr .5fr .8fr;font-size:.68rem;padding:13px 10px}
}
