:root{--saffron:#df7a16;--marigold:#f8ae26;--gold:#e9b953;--amber:#eaa029;--cream:#fff7e6;--ivory:#fffaf1;--rust:#a43f17;--wine:#63251d;--ink:#4e2419;--muted:#846049;--dark:#6e2c1a;--line:rgba(118,60,28,.22);--serif:'Cormorant Garamond',Georgia,serif;--display:'Cinzel',Georgia,serif;--sans:'DM Sans',Arial,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:86px}body{margin:0;background:var(--cream);color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased;overflow-x:hidden}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}::selection{background:#e89e3b;color:#592112}:focus-visible{outline:3px solid #e7a83b;outline-offset:4px}.skip-link{position:absolute;left:12px;top:-100px;z-index:999;padding:12px;background:white}.skip-link:focus{top:12px}.reading-progress{height:3px;position:fixed;top:0;left:0;right:0;z-index:1000;background:transparent}.reading-progress span{display:block;height:100%;width:0;background:#ffe18e;box-shadow:0 0 8px #c85812}.site-header{height:79px;display:flex;align-items:center;justify-content:space-between;padding:0 clamp(22px,5vw,86px);position:absolute;z-index:50;top:3px;left:0;right:0;border-bottom:1px solid rgba(101,46,18,.2);color:#692d1d}.brand{display:flex;align-items:center;gap:13px}.brand-mark{font:700 25px/1 var(--serif);white-space:nowrap}.brand-amp{font-style:italic;color:#bc641f;padding:0 2px}.brand-label{font:600 9px/1.5 var(--display);letter-spacing:.17em;border-left:1px solid #b9804c;padding-left:12px;max-width:95px}.nav{display:flex;gap:clamp(16px,2.8vw,42px)}.nav a{font-size:11px;font-weight:700;letter-spacing:.06em;position:relative}.nav a:after{content:'';position:absolute;bottom:-7px;left:0;right:100%;height:1px;background:currentColor;transition:right .25s}.nav a:hover:after{right:0}.header-date{font:600 10px var(--display);letter-spacing:.1em;border:1px solid rgba(112,49,20,.4);padding:12px 15px;white-space:nowrap}.header-date span{padding-left:12px}
.hero{min-height:750px;min-height:100svh;position:relative;overflow:hidden;display:flex;flex-direction:column;background:radial-gradient(circle at 75% 40%,rgba(255,244,176,.9) 0,transparent 32%),radial-gradient(circle at 10% 80%,rgba(242,162,39,.28),transparent 38%),linear-gradient(120deg,#ffe9b1 0%,#f7c971 52%,#e9a545 100%)}.hero:before{content:'';position:absolute;inset:0;opacity:.19;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 130 130' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0 65Q32 25 65 65T130 65M65 0Q25 32 65 65T65 130' fill='none' stroke='%238f481e' stroke-width='.7'/%3E%3Ccircle cx='65' cy='65' r='8' fill='none' stroke='%238f481e' stroke-width='.6'/%3E%3C/svg%3E");background-size:145px 145px;pointer-events:none}.hero-architecture{position:absolute;inset:0;pointer-events:none;opacity:.3}.arch-line{position:absolute;width:clamp(390px,48vw,750px);height:clamp(640px,76vw,1030px);border:2px solid #ae611f;border-radius:50% 50% 0 0;right:-13%;top:11%}.arch-line-two{right:-10.7%;top:13.5%;border-width:1px}.jharokha{position:absolute;width:125px;height:250px;border:2px solid #a95b23;border-radius:75px 75px 0 0;bottom:-70px}.jharokha-left{left:4%}.jharokha-right{left:calc(4% + 150px)}.toran{position:absolute;top:80px;display:flex;gap:10px;z-index:3;opacity:.85}.toran-left{left:0}.toran-right{right:0;transform:scaleX(-1)}.toran span{width:13px;height:36px;background:#d8771b;border-radius:0 0 50% 50%;transform-origin:top center;animation:swing 4s ease-in-out infinite alternate;box-shadow:inset 0 -12px #eab13d}.toran span:nth-child(2n){height:46px;animation-delay:-1.4s}.toran span:nth-child(3n){height:26px;animation-delay:-2.6s}@keyframes swing{from{transform:rotate(-7deg)}to{transform:rotate(8deg)}}.hero-inner{position:relative;z-index:2;flex:1;display:grid;grid-template-columns:1.06fr .94fr;align-items:center;width:min(1380px,100%);margin:0 auto;padding:125px clamp(24px,6vw,96px) 70px;gap:clamp(30px,5vw,90px)}.hero-copy{text-align:center}.eyebrow{display:flex;align-items:center;justify-content:center;gap:13px;font:600 10px var(--display);letter-spacing:.18em;color:#8b401e}.eyebrow .line{width:34px;height:1px;background:#b86a2d}.tiny-ornament{font-size:20px;letter-spacing:13px;color:#a75a25;margin:22px 0 15px;padding-left:13px}.hero-intro{font:italic 500 clamp(21px,2.2vw,31px) var(--serif);margin:0 0 10px;color:#814020}.hero h1{margin:0;font:600 clamp(84px,9.2vw,155px)/.77 var(--serif);letter-spacing:-.065em;color:#802e1a;text-shadow:0 2px 0 rgba(255,244,204,.45)}.hero h1 span{display:block}.hero h1 em{display:block;font:italic 500 clamp(28px,3.3vw,50px)/1.1 var(--serif);letter-spacing:0;color:#b35a21;margin:11px 0 8px}.hero-description{font:500 clamp(15px,1.3vw,17px)/1.75 var(--serif);max-width:430px;margin:26px auto;color:#75432c}.hero-date{display:flex;align-items:center;justify-content:center;gap:17px;margin:29px auto 32px;border-top:1px solid #b96e33;border-bottom:1px solid #b96e33;width:max-content;max-width:100%;padding:12px 8px;color:#773c22}.hero-date span{font:600 9px/1.6 var(--display);letter-spacing:.1em;max-width:93px}.hero-date strong{font:600 clamp(28px,3vw,42px)/1 var(--serif);white-space:nowrap}.hero-actions{display:flex;gap:10px;justify-content:center;flex-wrap:wrap}.btn{display:inline-flex;align-items:center;justify-content:center;gap:22px;min-height:49px;padding:13px 22px;font:700 11px var(--sans);letter-spacing:.03em;transition:transform .25s,background .25s,box-shadow .25s;cursor:pointer}.btn:hover{transform:translateY(-3px);box-shadow:0 8px 25px #813e2626}.btn-primary{background:#81331d;color:#fff8e5}.btn-primary:hover{background:#5d261b}.btn-outline{border:1px solid #823b22;color:#71301b}.hero-art{position:relative;min-width:0;max-width:520px;margin:auto;width:100%;padding:24px}.hero-halo{position:absolute;inset:-10%;background:repeating-conic-gradient(from 0deg,#c879251a 0 4deg,transparent 4deg 12deg);border-radius:50%;animation:slow-spin 90s linear infinite}.hero-halo:after{content:'';position:absolute;inset:13%;border:1px solid #a95a2977;border-radius:50%}@keyframes slow-spin{to{transform:rotate(360deg)}}.photo-arch{position:relative;z-index:2;aspect-ratio:.76;border:9px solid #a45a22;border-radius:48% 48% 8px 8px;padding:9px;background:#e4a444;box-shadow:0 25px 55px #7b351d44,0 0 0 3px #f9d783,0 0 0 8px #a35b1e}.photo-arch-inner{width:100%;height:100%;border-radius:48% 48% 2px 2px;overflow:hidden;background:#e9c58b}.photo-arch-inner img{width:100%;height:100%;object-fit:cover;object-position:50% 25%;filter:saturate(.95)}.photo-stamp{position:absolute;z-index:4;bottom:3%;left:-6%;width:116px;height:116px;border-radius:50%;background:#842f1b;color:#fff1cb;border:4px double #edb755;box-shadow:0 10px 20px #622e1d40;display:flex;flex-direction:column;align-items:center;justify-content:center;transform:rotate(-13deg)}.photo-stamp span{font:600 9px var(--display);letter-spacing:.06em}.photo-stamp strong{font:400 38px var(--serif);line-height:1}.art-sparkle{position:absolute;color:#ae6027;font-size:47px;z-index:3;animation:twinkle 3s ease-in-out infinite alternate}.art-sparkle-one{right:-6%;top:12%}.art-sparkle-two{left:-6%;top:30%;font-size:36px;animation-delay:1s}@keyframes twinkle{to{transform:scale(1.3) rotate(35deg);opacity:.45}}.hero-bottom{position:relative;z-index:3;display:flex;justify-content:space-between;gap:15px;padding:14px clamp(24px,5vw,86px) 19px;border-top:1px solid #8c4e263b;font:600 9px var(--display);letter-spacing:.13em;color:#803d1e}.hero-scroll{display:flex;gap:12px}.hero-scroll span{font-size:16px;line-height:.5}
.marigold-divider{height:32px;background:linear-gradient(#bf5a19,#d97b1a);display:flex;align-items:center;justify-content:space-around;color:#ffcb53;font-size:28px;letter-spacing:5px;overflow:hidden;white-space:nowrap;border-top:2px solid #eeb94f;border-bottom:2px solid #f1c366}.marigold-divider span:nth-child(2n){color:#f8e3a4;transform:rotate(25deg)}
.blessing-section{position:relative;overflow:hidden;text-align:center;padding:110px 22px 104px;background:radial-gradient(circle at 50% 45%,#fffefa 0%,#fff5df 65%,#fce9c4 100%)}.blessing-mandala{position:absolute;left:50%;top:45%;width:700px;height:700px;transform:translate(-50%,-50%);border:1px solid #ca99552e;border-radius:50%;pointer-events:none}.blessing-mandala:before,.blessing-mandala:after{content:'';position:absolute;inset:40px;border:1px dashed #d5a86d55;border-radius:50%}.blessing-mandala:after{inset:95px;border-style:solid}.section-label{font:700 10px var(--display);letter-spacing:.2em;color:#b26526;text-align:center}.mini-diamond{font-size:9px;padding:0 9px}.blessing-section h2,.section-head h2{font:500 clamp(48px,6vw,83px)/1 var(--serif);letter-spacing:-.035em;margin:19px auto 20px}.blessing-section h2 em,.section-head h2 em{color:#bd671f;font-weight:500}.blessing-body{max-width:650px;margin:0 auto;font:500 clamp(19px,2.2vw,25px)/1.6 var(--serif);color:#795642}.blessing-sign{font:italic 24px var(--serif);margin:25px 0 55px;color:#a06335}.blessing-sign span{display:block;font:600 11px var(--display);letter-spacing:.11em;margin-top:10px;color:#823a22}.countdown{position:relative;max-width:610px;margin:0 auto;border:1px solid #c8924e70;background:#fff9edb0;padding:23px 26px 29px;box-shadow:0 15px 50px #c47c2b13}.countdown:before,.countdown:after{content:'❖';position:absolute;color:#a95b22;font-size:22px;top:-13px;left:-8px}.countdown:after{left:auto;right:-8px}.countdown-heading{font:600 10px var(--display);letter-spacing:.16em;color:#9a4a24;margin-bottom:16px}.countdown-grid{display:flex;justify-content:center;align-items:center;gap:clamp(9px,2.6vw,26px)}.countdown-grid div{display:flex;flex-direction:column;min-width:62px}.countdown-grid strong{font:500 clamp(34px,5vw,60px)/1 var(--serif);color:#7e301e;font-variant-numeric:tabular-nums}.countdown-grid span{font:700 9px var(--sans);letter-spacing:.1em;margin-top:7px;color:#9b6a4c}.countdown-grid i{font:400 30px var(--serif);font-style:normal;color:#c28b4e;align-self:flex-start;margin-top:3px}
.celebrations{padding:105px clamp(18px,5vw,85px) 125px;background:linear-gradient(180deg,#f6e5c3 0%,#fff3d7 30%,#ffefd0 100%);position:relative}.celebrations:before{content:'';position:absolute;inset:0;pointer-events:none;opacity:.1;background-image:radial-gradient(#8e481a 1px,transparent 1px);background-size:23px 23px}.section-head{position:relative;text-align:center;max-width:750px;margin:0 auto 48px}.section-head p{font:500 20px/1.5 var(--serif);color:#8c634b;margin:0}.day-switch{position:relative;display:flex;justify-content:center;gap:9px;margin:0 auto 65px}.day-switch a{display:flex;align-items:center;gap:12px;padding:14px 19px;border:1px solid #b7773f7a;background:#fff9e8;color:#743821;font-size:13px;transition:background .2s,transform .2s}.day-switch a:hover{background:#f8c568;transform:translateY(-2px)}.day-switch span{font:700 9px var(--display);letter-spacing:.08em;color:#b06c30}.day-group{position:relative;max-width:1250px;margin:0 auto 83px;scroll-margin-top:95px}.day-group:last-child{margin-bottom:0}.day-heading{display:flex;align-items:center;gap:25px;border-bottom:1px solid #a25c2970;padding-bottom:17px;margin-bottom:28px}.day-index{font:600 12px var(--display);color:#9b5528;letter-spacing:.1em;align-self:center}.day-weekday{font:700 10px var(--display);color:#b2672b;letter-spacing:.16em}.day-heading h3{font:600 clamp(35px,4vw,54px)/1 var(--serif);margin:5px 0 0}.day-heading h3 em{color:#b66b2a;font-weight:400}.day-decoration{font-size:38px;color:#b56b2d;margin-left:auto}.events-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.event-card{position:relative;overflow:hidden;min-height:430px;display:flex;flex-direction:column;padding:30px 28px 24px;border:1px solid #d39b4c8c;background:#fff7e6;box-shadow:0 16px 38px #a9632212;transition:transform .3s,box-shadow .3s}.event-card:hover{transform:translateY(-6px);box-shadow:0 24px 44px #a9632225}.event-card:before{content:'';position:absolute;right:-55px;top:-65px;width:195px;height:195px;border:1px solid #b7773b36;border-radius:50%;box-shadow:0 0 0 16px #b7773b0c,0 0 0 33px #b7773b0b}.event-card:after{content:'';position:absolute;inset:9px;border:1px solid #d1a86a47;pointer-events:none}.event-card.haldi{background:linear-gradient(155deg,#fff3ba,#ffdb7b)}.event-card.tikka{background:linear-gradient(155deg,#fff5dc,#f4cda3)}.event-card.sangeet{background:linear-gradient(155deg,#ffe8c4,#efb98d)}.event-card.bhaat{background:linear-gradient(155deg,#fff6dc,#f8dca0)}.event-card.baraat{background:linear-gradient(155deg,#ffecd4,#edbf92)}.event-card.dinner{background:linear-gradient(155deg,#f8d18b,#eab26b)}.event-top{display:flex;align-items:center;justify-content:space-between;position:relative;z-index:1}.event-number{font:600 12px var(--display);color:#a75c29}.event-symbol{font:500 47px var(--serif);color:#ae5d24;line-height:1}.event-type{font:700 9px var(--display);letter-spacing:.13em;color:#a45a27;margin-top:24px;position:relative;z-index:1}.event-card h4{font:600 clamp(39px,4vw,58px)/.99 var(--serif);letter-spacing:-.03em;margin:9px 0 12px;color:#70301f;position:relative;z-index:1}.event-card h4 span{display:block}.event-tagline{font:italic 500 20px/1.2 var(--serif);color:#8d5a3b;margin:0 0 29px}.event-details{margin-top:auto;border-top:1px solid #ab733e80;padding-top:17px;display:grid;gap:15px;position:relative;z-index:1}.event-detail{display:grid;grid-template-columns:57px 1fr;gap:9px;align-items:start}.event-detail>span{font:700 9px var(--display);letter-spacing:.09em;color:#a66d40;padding-top:5px}.event-detail strong{font:600 15px/1.45 var(--sans);color:#683321}.event-link{position:relative;z-index:1;display:flex;justify-content:space-between;align-items:center;border-top:1px solid #ab733e80;margin-top:18px;padding-top:15px;font:700 11px var(--sans);color:#8b391b}.event-link span{font-size:20px;transition:transform .2s}.event-link:hover span{transform:translate(3px,-3px)}
.venues{position:relative;background:linear-gradient(135deg,#762c1d,#9c3e19 45%,#66251b);padding:110px clamp(20px,6vw,95px) 120px;color:#fff3d6;overflow:hidden}.venues-backdrop{position:absolute;inset:-60px;opacity:.12;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 150 150' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M75 0Q120 35 75 75Q30 35 75 0ZM75 75Q120 115 75 150Q30 115 75 75ZM0 75Q35 30 75 75Q35 120 0 75ZM75 75Q115 30 150 75Q115 120 75 75Z' fill='none' stroke='%23f8d58b' stroke-width='1.5'/%3E%3C/svg%3E");background-size:150px 150px}.section-head-light .section-label{color:#f1c675}.section-head-light h2{color:#fff4d9}.section-head-light h2 em{color:#f6bb5b}.section-head-light p{color:#e7bd9a}.venue-list{position:relative;max-width:1050px;margin:0 auto}.venue-row{display:grid;grid-template-columns:75px 1fr auto;align-items:center;gap:20px;padding:31px 10px;border-top:1px solid #f4ca8960}.venue-row:last-child{border-bottom:1px solid #f4ca8960}.venue-index{font:400 48px var(--serif);color:#e9a95e}.venue-info>span{font:600 10px var(--display);letter-spacing:.12em;color:#f0b95f}.venue-info h3{font:600 clamp(33px,4vw,49px)/1 var(--serif);margin:9px 0;color:#fff5dc}.venue-info p{font:500 16px var(--sans);margin:0 0 9px;color:#f3d8bb}.venue-info small{font:italic 19px var(--serif);color:#e9b98c}.venue-row>a{border:1px solid #edb76f;padding:15px 18px;white-space:nowrap;font:700 10px var(--display);letter-spacing:.08em;color:#ffe5b2;transition:background .2s,color .2s}.venue-row>a:hover{background:#f1c27a;color:#63271a}.venue-row>a span{padding-left:13px;font-size:17px}
.moments{padding:110px clamp(18px,6vw,90px) 125px;background:linear-gradient(180deg,#fff5e0,#fbe9c5)}.gallery{display:grid;grid-template-columns:1.1fr 1fr 1.1fr;align-items:center;gap:21px;max-width:1200px;margin:0 auto}.gallery-image{border:0;padding:0;position:relative;overflow:hidden;cursor:zoom-in;background:#d9a266;box-shadow:0 15px 35px #a86a352e;transition:transform .3s,box-shadow .3s;text-align:left}.gallery-image:hover{transform:translateY(-7px);box-shadow:0 25px 45px #a86a3538}.gallery-image:after{content:'';position:absolute;inset:0;background:linear-gradient(transparent 65%,#4b231b9c);pointer-events:none}.gallery-image img{width:100%;height:100%;object-fit:cover;transition:transform .6s}.gallery-image:hover img{transform:scale(1.04)}.gallery-tall{height:420px}.gallery-mid{height:490px}.gallery-wide{height:370px}.gallery-image span{position:absolute;z-index:1;bottom:18px;left:20px;right:20px;color:#fff6e1;font:700 10px var(--display);letter-spacing:.1em;display:flex;justify-content:space-between;align-items:center}.gallery-image b{font-size:22px;font-weight:400}.lightbox{border:0;padding:20px;background:#4e211c;color:#fff3d5;max-width:min(92vw,750px);max-height:92vh;box-shadow:0 25px 90px #0008}.lightbox::backdrop{background:#1c0e0bd9;backdrop-filter:blur(8px)}.lightbox img{max-height:78vh;max-width:100%;width:auto;margin:auto;object-fit:contain}.lightbox p{text-align:center;font:italic 20px var(--serif);margin:12px 0 0}.lightbox-close{position:absolute;top:8px;right:9px;border:0;background:#fff5df;color:#642719;width:34px;height:34px;font-size:26px;cursor:pointer;z-index:2}
.closing{position:relative;overflow:hidden;padding:115px 22px;background:radial-gradient(circle at 50% 30%,#ffdc89 0%,#f5af38 53%,#d9771f 100%);text-align:center}.closing:before{content:'';position:absolute;inset:20px;border:1px solid #a45b277a;pointer-events:none}.closing:after{content:'';position:absolute;inset:30px;border:1px solid #fff3c274;pointer-events:none}.closing-inner{position:relative;z-index:2}.closing-ornament{font-size:42px;color:#a8511e}.closing p{font:700 10px var(--display);letter-spacing:.18em;color:#79341b}.closing h2{font:500 clamp(52px,6.5vw,90px)/1 var(--serif);margin:22px auto;color:#6e2919}.closing h2 em{color:#9f481c}.closing-names{font:600 clamp(28px,4vw,49px) var(--serif);color:#6e2919;margin:30px auto 6px}.closing-names span{font-style:italic;color:#a14d1c}.closing-date{font:700 11px var(--display);letter-spacing:.17em;margin-bottom:35px;color:#7d3b1c}.btn-light{background:#792f1b;color:#fff1d2}.site-footer{background:#54231b;color:#f4d7a9;display:flex;justify-content:space-between;align-items:center;gap:15px;padding:27px clamp(22px,6vw,90px)}.footer-monogram{font:600 26px var(--serif)}.footer-monogram span{font-style:italic;color:#eeb968}.site-footer p{font:italic 19px var(--serif);margin:0}.site-footer>a:last-child{font:700 10px var(--display);letter-spacing:.08em}
.js [data-reveal]{opacity:0;transform:translateY(25px);transition:opacity .75s ease,transform .75s ease}.js [data-reveal].is-visible{opacity:1;transform:translateY(0)}.js .events-grid [data-reveal]:nth-child(2){transition-delay:.09s}.js .events-grid [data-reveal]:nth-child(3){transition-delay:.18s}
@media(max-width:1050px){.nav{gap:15px}.nav a{font-size:10px}.hero-inner{gap:25px;padding-left:35px;padding-right:35px}.hero h1{font-size:clamp(76px,9vw,120px)}.event-card{padding:27px 20px 23px}.event-card h4{font-size:43px}.event-detail strong{font-size:13px}.gallery-tall{height:380px}.gallery-mid{height:435px}.gallery-wide{height:335px}}
@media(max-width:760px){html{scroll-padding-top:60px}.site-header{height:66px;padding:0 17px}.brand-label{font-size:8px}.brand-mark{font-size:23px}.nav{display:none}.header-date{font-size:9px;padding:10px 11px}.hero{min-height:0}.hero-inner{grid-template-columns:1fr;padding:113px 22px 52px;gap:46px}.hero-copy{order:2}.hero-art{order:1;width:min(350px,75vw);padding:13px}.photo-arch{border-width:6px;padding:6px}.hero h1{font-size:clamp(84px,15vw,128px)}.hero-description{margin-top:21px}.hero-date{margin-top:20px}.hero-bottom{padding:15px 17px;font-size:8px}.hero-bottom span:last-child{display:none}.hero-architecture .arch-line{right:-75%;top:8%}.jharokha{display:none}.toran{top:66px}.photo-stamp{width:85px;height:85px;left:-8%;bottom:1%}.photo-stamp span{font-size:7px}.photo-stamp strong{font-size:28px}.art-sparkle-one{right:-10%}.blessing-section{padding:80px 20px}.blessing-body{font-size:21px}.blessing-sign{margin-bottom:43px}.celebrations{padding:80px 19px}.day-switch{margin-bottom:48px}.day-switch a{padding:11px;gap:7px;font-size:11px}.day-switch span{font-size:8px}.day-heading{gap:13px}.day-heading h3{font-size:39px}.day-decoration{font-size:27px}.events-grid{grid-template-columns:1fr;gap:15px}.event-card{min-height:0;padding:25px 26px 22px}.event-card h4{font-size:52px}.event-card h4 span{display:inline}.event-type{margin-top:15px}.event-tagline{margin-bottom:23px}.event-details{grid-template-columns:1fr 1.4fr;gap:10px}.event-detail{grid-template-columns:1fr;gap:2px}.event-detail strong{font-size:14px}.event-link{margin-top:20px}.day-group{margin-bottom:60px}.venues{padding:83px 20px}.venue-row{grid-template-columns:43px 1fr;gap:13px;padding:25px 0}.venue-index{font-size:37px;align-self:start}.venue-info h3{font-size:37px}.venue-info p{font-size:14px}.venue-row>a{grid-column:2;justify-self:start;padding:11px 15px}.moments{padding:80px 19px}.gallery{grid-template-columns:1fr 1fr;gap:13px}.gallery-tall{height:330px}.gallery-mid{height:330px}.gallery-wide{height:270px;grid-column:1/-1}.gallery-image span{left:10px;right:10px;bottom:12px;font-size:8px}.closing{padding:90px 25px}.site-footer{flex-wrap:wrap;justify-content:center;text-align:center}.site-footer p{width:100%;order:3}}
@media(max-width:390px){.hero h1{font-size:77px}.hero-date{gap:10px}.hero-date span{font-size:8px}.hero-actions .btn{width:100%}.day-switch{flex-direction:column}.day-switch a{justify-content:center}.day-heading h3{font-size:34px}.event-card h4{font-size:45px}.event-details{grid-template-columns:1fr}.countdown-grid{gap:6px}.countdown-grid div{min-width:47px}.countdown-grid strong{font-size:34px}.countdown-grid span{font-size:7px}.countdown{padding:22px 10px}.gallery-tall,.gallery-mid{height:280px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.js [data-reveal]{opacity:1;transform:none}}

/* Groom-side 2026 refinement, preserves original royal palette */
.brand-label,.nav,.hero-actions{display:none!important}
.hero-description{max-width:495px;font-size:clamp(17px,1.5vw,20px);line-height:1.52;margin:23px auto 5px}
.hero-description strong{font-weight:700;color:#7d2c18}
.hero-date{margin-top:24px;margin-bottom:6px}
.hero-inner{padding-bottom:40px}
.event-card{isolation:isolate}
.event-card .event-art{position:absolute;z-index:-1;width:90%;height:78%;object-fit:contain;right:-8%;top:3%;opacity:.24;filter:saturate(.7) sepia(.05);pointer-events:none;mask-image:linear-gradient(to bottom,#000 5%,#000 57%,transparent 98%);-webkit-mask-image:linear-gradient(to bottom,#000 5%,#000 57%,transparent 98%)}
.event-card:before{z-index:-1}
.event-card h4,.event-card .event-tagline,.event-card .event-details,.event-card .event-link,.event-card .event-type,.event-card .event-top{z-index:2;position:relative}
.event-card .event-tagline{font-weight:600;color:#74341f}
.event-card .event-details{background:linear-gradient(90deg,rgba(255,246,222,.73),rgba(255,246,222,.4));border-radius:3px;padding:14px 8px 0}
.event-card .event-link{padding:13px 8px 3px;min-height:45px;font-weight:700}
.closing-invite{font:500 clamp(19px,2.2vw,26px)/1.45 var(--serif)!important;letter-spacing:0!important;text-transform:none;color:#71321e!important;margin:25px auto!important;max-width:620px}
.closing h2 em{font-size:clamp(36px,5vw,70px);display:block;margin-top:8px}
.closing-countdown{max-width:650px;margin:30px auto 0;border:1px solid rgba(110,44,26,.38);padding:22px 16px;background:#fff5d444}
.closing-countdown .countdown-heading{font:700 10px var(--display);letter-spacing:.13em;color:#803619;margin-bottom:14px}
.closing-countdown .countdown-grid{display:flex;align-items:start;justify-content:center;gap:clamp(6px,2vw,18px)}
.closing-countdown .countdown-grid div{min-width:55px;display:flex;align-items:center;flex-direction:column;gap:3px}
.closing-countdown .countdown-grid strong{font:600 clamp(29px,5vw,51px)/1 var(--serif);color:#722d1c}
.closing-countdown .countdown-grid span{font:700 8px var(--display);letter-spacing:.1em;color:#7d3e25}
.closing-countdown .countdown-grid i{font:400 34px var(--serif);color:#a85326}
.gate-locked{overflow:hidden!important}
.royal-gate{position:fixed;inset:0;z-index:9000;overflow:hidden;cursor:pointer;isolation:isolate;background:radial-gradient(ellipse at 50% 45%,#ffe2a0,#bb601f 75%,#69301b);color:#fff2c9;touch-action:manipulation;transition:opacity .55s ease 1.38s, visibility .55s ease 1.38s}
.royal-gate[hidden]{display:none!important}
.royal-gate.opening{opacity:0;visibility:hidden;pointer-events:none}
.gate-ambient{position:absolute;inset:0;background:radial-gradient(circle at center,rgba(255,251,210,.43),transparent 60%);opacity:.5;animation:glow 5s ease-in-out infinite alternate}
@keyframes glow{to{opacity:1}}
.door-frame{position:absolute;inset:0 0 0;display:flex;perspective:1100px;box-shadow:inset 0 0 90px #481907d0;border:clamp(7px,1.4vw,19px) ridge #d9a048;z-index:2}
.gate-panel{position:relative;width:50%;height:100%;background:repeating-linear-gradient(90deg,transparent 0 43px,#ffe2a10d 44px 45px,transparent 47px 92px),linear-gradient(120deg,#b95b1a,#7b2c17 35%,#c67b2d 68%,#7f3216);box-shadow:inset 0 0 0 6px #9c561e,inset 0 0 0 11px #f3be54,inset 0 0 0 16px #693019,inset 0 0 85px #4d160c;transform-origin:left center;transition:transform 1.7s cubic-bezier(.35,.65,.25,1)}
.gate-panel:before{content:'';position:absolute;inset:6% 10%;border:3px double #f5cb6cb3;border-radius:43% 43% 5px 5px;box-shadow:0 0 0 13px #efb55c14,inset 0 0 80px #35110766}
.gate-right{transform-origin:right center;background:repeating-linear-gradient(90deg,transparent 0 43px,#ffe2a10d 44px 45px,transparent 47px 92px),linear-gradient(240deg,#b95b1a,#7b2c17 35%,#c67b2d 68%,#7f3216)}
.opening .gate-left{transform:rotateY(-96deg)}.opening .gate-right{transform:rotateY(96deg)}
.gate-panel-design{position:absolute;top:22%;left:0;right:0;text-align:center;color:#ffe4a8;font:500 clamp(32px,7vw,105px) var(--serif);text-shadow:0 3px 17px #51210d}
.gate-panel-design span{display:block;font-size:clamp(36px,9vw,130px);line-height:1.15}
.gate-seam{position:absolute;left:calc(50% - 3px);top:0;bottom:0;width:6px;background:#f1c266;box-shadow:0 0 17px #fee2a4}
.gate-floor{position:absolute;bottom:0;width:100%;height:14%;background:linear-gradient(transparent,#3d170f77);z-index:3;pointer-events:none}
.gate-copy{position:absolute;z-index:4;top:50%;left:50%;transform:translate(-50%,-50%);text-align:center;width:min(90vw,680px);padding:29px 20px;background:radial-gradient(ellipse,#6a2b1eea,#7a321cb0 65%,transparent 100%);text-shadow:0 3px 16px #2b0f09;pointer-events:none;transition:opacity .3s ease}
.opening .gate-copy{opacity:0}
.gate-small{font:600 clamp(13px,2vw,19px) var(--serif);letter-spacing:.18em;margin-bottom:12px;color:#ffe7a0}
.gate-title{font:600 clamp(46px,7vw,92px)/.95 var(--serif)}
.gate-subtitle{font:600 clamp(32px,5vw,63px)/1.14 var(--serif);margin:15px auto}
.gate-subtitle em{font:italic 500 .65em var(--serif);color:#ffcf71}
.gate-date{font:600 clamp(10px,1.7vw,14px) var(--display);letter-spacing:.13em}
.gate-tap{margin-top:33px;padding:13px 10px;border:1px solid #f9d6929c;background:#6225129c;font:700 clamp(10px,1.5vw,14px) var(--sans);letter-spacing:.12em;animation:pulse 2.5s ease-in-out infinite}
@keyframes pulse{50%{box-shadow:0 0 26px #ffd58070}}
@media(max-width:760px){.hero-inner{padding-top:100px}.hero-copy{order:2}.hero-description{font-size:18px;line-height:1.42}.event-card .event-art{right:-3%;width:75%;height:65%;opacity:.22}.gate-panel-design{top:30%}.gate-copy{width:94vw;padding:25px 16px}.gate-title{font-size:clamp(47px,12vw,74px)}.gate-subtitle{font-size:clamp(35px,9vw,53px)}}
@media(prefers-reduced-motion:reduce){.gate-panel{transition:none}.royal-gate{transition:none}}
/* Layer artwork above the card background, below readable event content. */
.event-card .event-art{z-index:1}
.event-card:before{z-index:0}


/* Full-screen horizontal-tap invitation presentation. No visible page numbers or buttons. */
html,body{height:100%;overscroll-behavior:none}
body{margin:0;overflow:hidden;background:#f8d28a}
body.gate-locked{overflow:hidden}
.site-header{position:fixed!important;top:0;left:0;right:0;z-index:1100;height:72px;background:linear-gradient(180deg,rgba(255,232,173,.95),rgba(255,232,173,.75));backdrop-filter:blur(8px);border-bottom:1px solid #ae612b44;pointer-events:none}
.site-header a{pointer-events:auto}
main{height:100vh;height:100dvh;width:100%;position:relative;overflow:hidden}
.invitation-page{position:absolute!important;inset:0;display:flex;flex-direction:column;opacity:0;visibility:hidden;pointer-events:none;transform:translateX(6%);transition:opacity .65s ease,transform .65s cubic-bezier(.18,.7,.2,1),visibility .65s;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:none}
.invitation-page::-webkit-scrollbar{display:none}
.invitation-page.active{opacity:1;visibility:visible;pointer-events:auto;transform:translateX(0);z-index:1}
.invitation-page.exit-left{transform:translateX(-6%)}
.invitation-page.exit-right{transform:translateX(6%)}
.hero{min-height:100vh;min-height:100dvh;height:auto!important;display:block!important}
.hero-inner{min-height:100vh;min-height:100dvh;height:auto;box-sizing:border-box;padding-top:100px;padding-bottom:48px}
.hero-date{margin-bottom:0}
.event-page{background:radial-gradient(circle at 35% 12%,#fff5da,transparent 48%),linear-gradient(140deg,#ffe6ac,#f9ca82 48%,#f3ac60);justify-content:center;padding:90px 22px 32px;box-sizing:border-box}
.event-page:nth-of-type(odd){background:radial-gradient(circle at 65% 10%,#fff1d5,transparent 45%),linear-gradient(135deg,#f7d4a6,#f7b87a,#eaaa62)}
.event-stage{width:min(100%,1160px);margin:auto;display:flex;flex-direction:column;align-items:center;gap:20px}
.page-date{font:700 clamp(10px,1.5vw,14px) var(--display);letter-spacing:.18em;color:#84371e;text-align:center}
.event-page .event-card{width:min(100%,1030px);min-height:min(680px,calc(100dvh - 190px));display:flex;flex-direction:column;justify-content:center;position:relative;overflow:hidden;box-shadow:0 24px 65px #6c331f2e;border:3px double #d7a25a;padding:clamp(20px,3vw,50px) clamp(20px,5vw,80px)!important;border-radius:clamp(20px,4vw,48px) clamp(20px,4vw,48px) 12px 12px;isolation:isolate;background:rgba(255,243,214,.84)!important}
.event-page .event-card:before{display:none!important}
.event-card .ceremony-backdrop{position:absolute;inset:0;background-image:linear-gradient(90deg,rgba(255,247,220,.91) 0%,rgba(255,245,221,.79) 42%,rgba(255,238,208,.58) 100%),var(--scene-image);background-size:cover;background-position:center center;filter:saturate(.78);z-index:0;pointer-events:none}
.event-page .event-card .event-art{position:absolute;right:3%;top:5%;height:72%;width:60%;object-fit:contain;opacity:.17;z-index:1;pointer-events:none}
.event-page .event-card .event-top,.event-page .event-card .event-type,.event-page .event-card h4,.event-page .event-card .event-tagline,.event-page .event-card .event-details{position:relative;z-index:3;max-width:590px}
.event-page .event-card h4{font-size:clamp(60px,7vw,105px);line-height:.94;margin-bottom:20px;max-width:700px}
.event-page .event-card .event-tagline{font-size:clamp(20px,2.8vw,33px);color:#773a20}
.event-page .event-card .event-details{margin-top:clamp(20px,3vh,40px);background:rgba(255,246,224,.82)!important;padding:22px 24px!important;border:1px solid #b9764844;backdrop-filter:blur(2px);border-radius:10px}
.event-page .event-detail{padding:6px 0}
.event-page .event-detail strong{font-size:clamp(17px,2vw,23px)}
.event-page .event-detail span{font-size:11px}
.event-page .venue-direct{display:inline-flex;align-items:flex-start;gap:8px;font:700 clamp(17px,2vw,23px)/1.35 var(--sans);color:#713119;text-decoration:underline;text-underline-offset:4px;text-decoration-color:#b87156;min-height:40px;position:relative;z-index:10;pointer-events:auto}
.event-page .venue-direct:hover,.event-page .venue-direct:focus-visible{color:#a33d16;text-decoration-color:currentColor}
.event-page .map-pin{flex:none;font-size:22px!important;line-height:1.3}
.closing-page{min-height:100dvh;height:100dvh!important;justify-content:center;padding:100px 18px 30px;box-sizing:border-box;overflow:auto}
.closing-page .closing-inner{padding:0;max-width:850px;margin:auto}
.closing-page h2{font-size:clamp(56px,8vw,108px);line-height:.9}
.closing-page .closing-invite{margin:18px auto!important}
.closing-page .closing-countdown{margin-top:19px}
.scene-progress{position:fixed;z-index:1300;left:50%;transform:translateX(-50%);bottom:14px;display:flex;gap:7px;pointer-events:none;opacity:.62}
.scene-progress span{height:5px;width:5px;border-radius:10px;background:#8c4b32a8;transition:width .25s,background .25s}
.scene-progress span.current{width:25px;background:#923b1f}
.gate-locked .scene-progress{opacity:0}
.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(max-width:760px){.site-header{height:60px}.toran{top:61px}.hero-inner{min-height:100dvh!important;padding:77px 20px 35px;gap:12px;align-content:center}.hero-art{width:min(270px,52vw);padding:12px;order:1}.photo-stamp{width:65px;height:65px}.photo-stamp strong{font-size:21px}.photo-stamp span{font-size:6px}.hero-copy{order:2}.tiny-ornament,.hero-intro{display:none}.hero h1{font-size:clamp(56px,12.8vw,100px)}.hero h1 em{margin:2px 0;font-size:28px}.hero-description{font-size:clamp(14px,3.6vw,17px);line-height:1.37;margin:13px auto 0}.hero-date{margin:13px auto 0;padding:6px 3px;gap:12px}.hero-date strong{font-size:29px}.event-page{padding:71px 12px 12px}.event-stage{gap:10px}.event-page .event-card{min-height:min(680px,calc(100dvh - 118px));padding:24px 21px!important}.event-page .event-card h4{font-size:clamp(55px,13vw,80px);max-width:98%;margin-bottom:12px}.event-page .event-card .event-tagline{font-size:clamp(19px,5vw,28px);line-height:1.15}.event-page .event-card .event-details{margin-top:20px;padding:15px 11px!important;display:block}.event-page .event-detail{display:grid;grid-template-columns:1fr;gap:3px}.event-page .event-detail strong,.event-page .venue-direct{font-size:clamp(15px,4.2vw,19px)}.event-page .event-card .ceremony-backdrop{background-image:linear-gradient(180deg,rgba(255,245,213,.78),rgba(255,245,213,.83) 55%,rgba(255,240,213,.9)),var(--scene-image);background-position:center}.event-page .event-card .event-art{width:78%;opacity:.13}.closing-page{padding:75px 18px 30px}.closing-page h2{font-size:clamp(48px,13vw,75px)}.closing-page .closing-names{margin-top:12px}.closing-page .closing-countdown{padding:12px 7px}.scene-progress{bottom:7px}}
@media(max-width:400px) and (max-height:760px){.hero-art{width:min(220px,49vw)}.hero-inner{gap:5px}.hero-description{font-size:13px;line-height:1.3}.hero h1{font-size:60px}.gate-copy{padding:15px}.page-date{font-size:9px}.event-page .event-card{min-height:calc(100dvh - 100px);padding:13px 17px!important}.event-page .event-card h4{font-size:48px}.event-page .event-card .event-details{margin-top:9px}.closing-page .closing-ornament{display:none}}
@media(prefers-reduced-motion:reduce){.invitation-page{transition:none!important}}


/* Royal groom-side finale: legibility, local faceless ritual illustrations, responsive pages */
:root{--deep-royal:#7c301e;--gold-sun:#eeaf46}
.hero-description{max-width:min(570px,95%);font-size:clamp(17px,1.55vw,23px)!important;font-weight:600!important;line-height:1.44!important;color:#713420!important;background:linear-gradient(105deg,rgba(255,244,205,.62),rgba(255,242,204,.32));border:1px solid rgba(160,83,39,.25);border-radius:20px;padding:clamp(13px,2vw,24px);box-shadow:0 12px 37px #ad6c2520;text-wrap:pretty}
.hero-description strong{font-weight:800!important;color:#782e16!important}
.hero-description .invocation{font-size:clamp(18px,1.75vw,24px);font-weight:800;color:#963c18;letter-spacing:.055em}
.hero-description .hero-welcome{color:#8c3a1f;font-weight:700}
.hero-intro{font-size:clamp(19px,1.95vw,29px)!important;font-weight:700!important;color:#914621!important}
.hero .eyebrow{font-weight:800!important}
.hero h1{line-height:.9!important}
.hero-date span{font-weight:800!important;color:#7f341e}
.hero-date strong{font-weight:700!important}
.memory-photos{position:absolute;right:-3%;bottom:0;display:flex;gap:10px;transform:rotate(-5deg);z-index:7}
.memory-photo{width:clamp(60px,7.7vw,112px);height:clamp(75px,9.4vw,133px);padding:5px 5px 14px;background:#fff2d8;box-shadow:0 9px 25px #5f250e6b;border:1px solid #bc7645;transform:rotate(-5deg);margin:0}
.memory-photo:nth-child(2){transform:rotate(9deg) translateY(12px)}
.memory-photo img{height:100%;width:100%;object-fit:cover;object-position:center 30%;display:block}
.date-feature{font:800 clamp(16px,2.1vw,26px)/1.2 var(--display);letter-spacing:.075em;color:#84341d;max-width:100%;margin-bottom:clamp(16px,2.4vh,24px);text-shadow:0 1px #fff3d0}
.page-date{display:none!important}
.event-page .event-card{min-height:min(700px,calc(100dvh - 150px));background:linear-gradient(145deg,rgba(255,242,205,.96),rgba(252,219,153,.94))!important}
.event-page .event-card.with-illustrated-backdrop .ceremony-backdrop{background:radial-gradient(ellipse at 78% 47%,#f1b14d31,transparent 55%),repeating-linear-gradient(38deg,transparent 0 75px,#a66c2938 76px,transparent 77px);filter:none;opacity:.8}
.event-page .event-card .event-faded-art{z-index:1!important;right:-2%!important;top:9%!important;width:72%!important;height:82%!important;object-fit:contain!important;opacity:.32!important;filter:sepia(.12) saturate(.73) blur(.45px)!important;mask-image:linear-gradient(90deg,transparent 0%,#000 28%,#000 85%,transparent 100%)!important}
.event-page .event-card>*:not(.event-art):not(.ceremony-backdrop){z-index:3}
.event-page .event-card h4{font-weight:700!important;text-shadow:0 2px 0 #fff2d390}
.event-page .event-card .event-details{background:#fff7e8e8!important;box-shadow:0 9px 30px #6b3a1e17;border:1px solid #ac6a2d66}
.event-page .event-detail>span{font-size:clamp(11px,1.2vw,14px)!important;letter-spacing:.1em;font-weight:800!important}
.event-page .venue-direct{display:inline-flex;align-items:center;flex-wrap:wrap;border:1px solid #c47b3566;border-radius:9px;background:#fff2d3d9;padding:9px 12px;box-shadow:0 3px 14px #84442113;transition:transform .18s,background .18s;cursor:pointer}
.event-page .venue-direct:hover{transform:translateY(-2px);background:#fff8e9}
.map-hint{display:block;flex-basis:100%;font:800 clamp(11px,1.1vw,13px)/1.25 var(--sans)!important;color:#a04716;letter-spacing:.02em;margin-left:29px}
.farewell-photos{display:flex;align-items:center;justify-content:center;gap:14px;margin:14px auto 0}
.farewell-photos img{width:clamp(65px,9vw,115px);height:clamp(74px,10vw,128px);object-fit:cover;border:5px solid #fff0ce;border-bottom-width:13px;box-shadow:0 7px 20px #7d2c1d40;transform:rotate(-7deg)}
.farewell-photos img:nth-child(2){transform:rotate(6deg)}
.location-modal[hidden]{display:none!important}
.location-modal{position:fixed;inset:0;z-index:15000;display:flex;align-items:center;justify-content:center;padding:clamp(8px,2vw,28px);box-sizing:border-box}
.location-scrim{position:absolute;inset:0;background:#2e1108c9;backdrop-filter:blur(8px)}
.location-sheet{position:relative;z-index:1;width:min(670px,100%);max-height:calc(100dvh - 24px);overflow:auto;border:3px double #b57737;border-radius:20px;padding:clamp(15px,3vw,27px);background:linear-gradient(125deg,#fff3cb,#f8cf86);box-shadow:0 25px 90px #190801a8;text-align:center;color:#742e16}
.location-kicker{font:700 11px var(--display);letter-spacing:.15em;margin-bottom:11px}
.location-sheet h2{font:700 clamp(25px,4vw,38px)/1.04 var(--serif);margin:5px 36px 18px;color:#702916}
.map-close{position:absolute;right:14px;top:10px;z-index:2;width:44px;height:44px;background:#8f3c21;color:white;border:none;border-radius:50%;font-size:29px;cursor:pointer}
.location-frame{width:100%;aspect-ratio:1.65;min-height:220px;background:#e8bf85;border:2px solid #b66c38;border-radius:8px;overflow:hidden}
.location-frame iframe{display:block;width:100%;height:100%;border:0}
.maps-app-button{display:inline-flex;align-items:center;justify-content:center;min-height:48px;margin:15px 0 0;padding:12px 22px;background:#88351e;color:#fff4d0!important;font:700 15px var(--sans);text-decoration:none!important;border-radius:9px}
.location-note{font:500 12px var(--sans);color:#87472a;margin:10px 0 0}
.celebration-canvas{position:fixed;inset:0;width:100%;height:100%;z-index:1800;pointer-events:none;display:none}
.celebration-canvas.active{display:block}
/* Transition direction changes with each scene, preserving the existing royal website */
.invitation-page{will-change:transform,opacity}
.invitation-page[data-transition="curtain"].active{animation:royalCurtain .72s both}
.invitation-page[data-transition="rise"].active{animation:royalRise .74s both}
.invitation-page[data-transition="zoom"].active{animation:royalZoom .7s both}
.invitation-page[data-transition="sweep"].active{animation:royalSweep .72s both}
@keyframes royalCurtain{from{opacity:.15;clip-path:inset(0 48% 0 48%)}to{opacity:1;clip-path:inset(0 0 0 0)}}
@keyframes royalRise{from{opacity:0;transform:translateY(9%) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}
@keyframes royalZoom{from{opacity:.1;transform:scale(1.07)}to{opacity:1;transform:scale(1)}}
@keyframes royalSweep{from{opacity:0;transform:translateX(10%)}to{opacity:1;transform:translateX(0)}}
@media(max-width:900px){.hero-description{font-size:clamp(16px,2vw,20px)!important}.hero-inner{padding:85px 26px 38px!important}.hero-copy{min-width:0}.hero-art{min-width:0}.date-feature{font-size:20px}}
@media(max-width:760px){
 .hero-inner{display:flex!important;flex-direction:column!important;align-items:center;justify-content:center;gap:8px!important;padding:70px 13px 19px!important;min-height:100dvh!important;height:auto!important}
 .hero-art{order:0;width:min(65vw,250px)!important;flex-shrink:0;margin:5px auto!important}.hero-copy{order:1;width:100%}
 .hero h1{font-size:clamp(58px,12vw,88px)!important;margin:6px 0!important}.hero h1 em{font-size:clamp(23px,5vw,30px)!important}
 .hero-description{font-size:clamp(14px,3.8vw,17px)!important;line-height:1.35!important;padding:11px 13px!important;margin:8px auto 5px!important;border-radius:13px}
 .hero-description .invocation{font-size:17px}.hero-intro{display:block!important;font-size:17px!important;margin:4px 0!important}
 .hero-date{margin:8px 0 0!important;padding:4px!important}.hero-date strong{font-size:25px!important}
 .memory-photos{right:-10%;bottom:-7%;gap:4px}.memory-photo{width:47px;height:61px;padding:3px 3px 8px}
 .event-page{padding:62px 9px 9px!important}.event-stage{gap:0!important;max-height:none}
 .event-page .event-card{min-height:min(700px,calc(100dvh - 74px));padding:clamp(16px,4vw,30px)!important;border-radius:23px 23px 8px 8px;justify-content:center}
 .date-feature{font-size:clamp(16px,4.5vw,21px);letter-spacing:.02em;margin-bottom:16px}
 .event-page .event-card h4{font-size:clamp(45px,12.5vw,75px)!important;line-height:.96!important}
 .event-page .event-card .event-tagline{font-size:clamp(17px,4.5vw,23px)}
 .event-page .event-card .event-faded-art{opacity:.2!important;width:100%!important;right:-14%!important;top:10%!important;mask-image:linear-gradient(to bottom,#000 5%,transparent 86%)!important}
 .event-page .event-card .event-details{padding:12px!important;margin-top:22px!important}.event-page .event-detail strong{font-size:17px!important}
 .event-page .venue-direct{font-size:15px!important;line-height:1.3;padding:8px 9px;min-height:44px}
 .map-hint{font-size:11px!important}.closing-page{padding:72px 14px 25px}.closing-page h2{font-size:clamp(43px,10vw,64px)}
 .closing-page h2 em{font-size:clamp(26px,6.6vw,40px)}.closing-invite{font-size:18px!important;margin:12px auto!important}
 .farewell-photos{margin:7px auto}.farewell-photos img{width:58px;height:69px;border-width:3px;border-bottom-width:8px}
 .closing-countdown{margin-top:10px!important}.location-frame{min-height:190px;aspect-ratio:1.2}
}
@media(max-width:420px) and (max-height:780px){.hero-art{width:min(45vw,190px)!important}.hero-description{font-size:13px!important;padding:7px 10px!important;line-height:1.29!important}.hero-inner{padding-top:58px!important}.hero h1{font-size:54px!important}.hero-intro{font-size:15px!important}.hero-date strong{font-size:23px!important}.event-page .event-card h4{font-size:clamp(44px,11.5vw,57px)!important}.event-page .event-card .event-details{margin-top:10px!important}.event-page .event-card .event-tagline{font-size:17px}}
@media(max-height:600px) and (min-width:800px){.hero-inner{padding-top:72px!important}.hero h1{font-size:clamp(62px,7.5vw,104px)!important}.hero-description{font-size:15px!important;padding:10px!important}.hero-art{max-height:calc(100dvh - 100px)}.event-page .event-card{min-height:calc(100dvh - 105px)}.event-page .event-card h4{font-size:55px!important}.event-page .event-card .event-details{margin-top:10px!important}.closing-page h2{font-size:55px}}
@media(prefers-reduced-motion:reduce){.invitation-page[data-transition].active{animation:none!important}}
\n/* Nov 2026 final revision: responsive, distinct map button and uncluttered home. */
.gate-title{font-size:clamp(28px,4.5vw,60px)!important;line-height:1.04!important;font-weight:600;max-width:580px;margin-inline:auto;text-wrap:balance}
.gate-subtitle{display:flex;gap:clamp(7px,1.3vw,20px);justify-content:center;align-items:baseline;flex-wrap:wrap;line-height:1.06!important}
.gate-subtitle strong{font-weight:700;color:#ffe5a0;text-shadow:0 2px 15px #270c06}
.gate-subtitle em{font-size:.6em}
.hero-description .hero-welcome{display:block;margin-top:.4em}
.hero-intro{font-size:clamp(17px,2vw,28px)!important;text-wrap:balance}
.hero-description{margin-top:clamp(8px,1.7vh,15px)!important;padding:clamp(10px,1.5vh,17px)!important;line-height:1.34!important}
.hero-inner{padding-top:clamp(72px,10vh,98px)!important;padding-bottom:clamp(8px,2vh,22px)!important;min-height:100dvh!important;height:100dvh!important;align-items:center;gap:clamp(12px,3vw,38px)!important;overflow:hidden}
.hero-copy{align-self:center;min-width:0;max-height:calc(100dvh - 90px);overflow:visible}
.hero h1{font-size:clamp(60px,min(7.3vw,15vh),120px)!important;margin:clamp(3px,1.1vh,12px) 0!important}
.hero h1 em{font-size:.35em!important;margin:clamp(0px,.4vh,5px) auto!important}
.hero-intro{margin:clamp(3px,.7vh,9px) auto!important}
.hero-date{margin-top:clamp(6px,1vh,14px)!important;padding:clamp(3px,.7vh,8px)!important}
.hero-date strong{font-size:clamp(24px,4vh,38px)!important}
.hero-art{align-self:center;min-width:0;max-height:min(74dvh,680px)!important;width:min(39vw,550px)!important;display:flex;align-items:center;justify-content:center}
.photo-arch{height:auto;max-height:72dvh;width:auto;max-width:100%;aspect-ratio:0.78;overflow:hidden}
.photo-arch-inner{height:100%}
.photo-arch-inner img{width:100%;height:100%;object-fit:cover}
.event-map-button{position:relative;z-index:5!important;align-self:flex-start;display:inline-flex;align-items:center;gap:10px;margin-top:clamp(13px,3vh,28px);padding:12px 19px;min-height:48px;max-width:100%;border:1px solid #ab6e35;border-radius:100px;background:#873a21;color:#fff5dc;font:700 clamp(12px,1.2vw,15px)/1.25 var(--sans);box-shadow:0 9px 22px #78330b35;cursor:pointer;transition:transform .2s,background .2s}
.event-map-button:hover{background:#9b451f;transform:translateY(-2px)}
.event-map-button span:first-child{font-size:19px}
.event-details .event-detail strong{color:#66311e;font-weight:700}
.event-page .event-card .event-details{max-width:650px}
.event-page .event-card{padding-bottom:clamp(18px,3vh,32px)!important}
.location-modal{align-items:flex-end!important;padding:0 clamp(0px,1.5vw,20px) 0!important}
.location-sheet{border-radius:24px 24px 0 0!important;width:min(760px,100%)!important;max-height:min(85dvh,790px)!important;box-shadow:0 -12px 75px #260d0985!important;animation:mapSlideUp .32s both}
@keyframes mapSlideUp{from{opacity:.45;transform:translateY(22px)}to{opacity:1;transform:translateY(0)}}
@media(min-width:761px) and (max-height:850px){
 .hero-inner{grid-template-columns:minmax(0,1fr) minmax(0,.9fr);}
 .hero-copy .eyebrow,.tiny-ornament{margin-bottom:clamp(2px,.5vh,7px)!important}
 .hero-description{font-size:clamp(15px,1.2vw,19px)!important;max-width:530px!important}
 .hero-intro{font-size:clamp(17px,1.5vw,23px)!important}
 .hero-art{max-height:71dvh!important}
 .photo-arch{max-height:68dvh!important}
}
@media(max-width:760px){
 .hero-inner{display:flex!important;flex-direction:column!important;gap:clamp(2px,1vh,9px)!important;padding:65px 12px 8px!important;min-height:100dvh!important;height:100dvh!important;justify-content:center!important}
 .hero-art{order:0;width:min(54vw,205px)!important;min-height:0!important;max-height:28dvh!important;margin:0 auto!important;padding:3px!important}
 .photo-arch{max-height:27dvh!important;aspect-ratio:.78!important}
 .hero-copy{order:1;max-height:none!important;width:100%!important}
 .hero .eyebrow,.tiny-ornament{display:none!important}
 .hero-intro{display:block!important;font-size:clamp(13px,3.6vw,18px)!important;margin:0 auto 4px!important}
 .hero h1{font-size:clamp(46px,13vw,70px)!important;margin:2px 0!important}
 .hero h1 em{font-size:.39em!important}
 .hero-description{font-size:clamp(13px,3.45vw,16px)!important;line-height:1.28!important;padding:9px!important;margin:5px auto!important}
 .hero-date{margin:2px auto!important;gap:8px!important}
 .hero-date strong{font-size:clamp(20px,5vw,30px)!important}
 .event-page .event-card{padding:clamp(14px,3vw,22px)!important}
 .event-page .event-card .event-details{margin-top:clamp(10px,2vh,18px)!important}
 .event-map-button{margin-top:clamp(12px,2vh,20px);padding:11px 13px;font-size:12px;min-height:48px;align-self:stretch;justify-content:center}
 .location-sheet{padding:20px 14px!important;max-height:83dvh!important}
 .location-frame{min-height:0!important;aspect-ratio:1.5!important}
}
@media(max-width:760px) and (max-height:740px){
 .hero-art{max-height:22dvh!important;width:min(44vw,150px)!important}.photo-arch{max-height:22dvh!important}
 .hero h1{font-size:clamp(43px,11vw,59px)!important}
 .hero-intro{font-size:13px!important}
 .hero-description{font-size:12px!important;padding:7px!important}
 .hero-date strong{font-size:20px!important}
 .event-page .event-card h4{font-size:clamp(39px,10vw,57px)!important}
 .event-page .event-card .event-tagline{font-size:16px!important}
 .date-feature{font-size:clamp(13px,4vw,18px)!important;margin-bottom:8px!important}
}
@media(max-height:560px) and (min-width:761px){
 .hero-description{font-size:14px!important;line-height:1.2!important;padding:8px!important}
 .hero h1{font-size:clamp(49px,10vh,78px)!important}
 .hero-intro{font-size:15px!important}
 .photo-arch{max-height:65dvh!important}
 .event-page{padding-top:65px!important;padding-bottom:6px!important}
 .event-page .event-card{min-height:calc(100dvh - 78px)!important}
 .event-page .event-card h4{font-size:clamp(40px,9vh,65px)!important;margin-bottom:8px!important}
 .event-page .event-card .event-tagline{font-size:18px!important}
 .event-page .event-card .event-details{padding:10px!important;margin-top:10px!important}
 .event-map-button{margin-top:9px!important}
}


/* 2026-11-05 mobile layout revision: ordered invitation and clean event cards */
.hero-inner{overflow:visible!important}
.hero-copy{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:clamp(6px,1.4vh,14px)}
.hero-intro{order:0;max-width:650px;font:600 clamp(17px,1.65vw,24px)/1.32 var(--serif)!important;color:#79351d!important;margin:0 auto!important;text-wrap:balance}
.hero h1{order:1;margin:0!important}
.hero-description{order:2;background:transparent!important;border:0!important;box-shadow:none!important;padding:0!important;margin:0!important;max-width:580px!important;font:600 clamp(16px,1.4vw,21px)/1.36 var(--serif)!important}
.hero-date{order:3;margin:0!important}
/* No pale white rectangle: labels and values share the event's own surface. */
.event-page .event-card .event-details{background:transparent!important;border:0!important;border-radius:0!important;box-shadow:none!important;backdrop-filter:none!important;padding:0!important;max-width:100%!important;margin-top:clamp(16px,2.5vh,30px)!important}
.event-page .event-card .event-detail{border-top:1px solid rgba(134,67,34,.35);padding:clamp(7px,1.5vh,13px) 0!important}
.event-page .event-card .event-detail strong{color:#74321f!important}
.event-page .event-card .event-top{min-height:22px;justify-content:flex-end}
.event-number{display:none!important}
/* Bride-side inspired venue action, independent of the card, at bottom. */
.event-page{padding-bottom:clamp(16px,3vh,30px)!important}
.event-stage{height:100%;max-height:100%;gap:clamp(8px,1.2vh,16px)!important;justify-content:center}
.event-page .event-card{flex:1 1 auto;min-height:0!important;max-height:calc(100dvh - 175px);width:min(100%,1030px)}
.venue-bottom-link{display:flex;align-items:center;justify-content:center;gap:12px;flex:none;min-height:52px;width:min(100%,660px);padding:12px 19px;border:1px solid #9d5a29;border-radius:40px;background:#84371f;color:#fff4d7;text-decoration:none;font:700 clamp(12px,1.3vw,16px)/1.35 var(--sans);text-align:center;box-shadow:0 8px 25px #5c271a33;position:relative;z-index:9}
.venue-bottom-link:hover,.venue-bottom-link:focus-visible{background:#a14a27;color:#fff7e2}
.venue-bottom-pin{font-size:22px;line-height:1}
/* Closing page always stays inside its own viewport and scrolls internally when needed. */
.closing-page{padding:clamp(65px,9vh,90px) 18px 28px!important;overflow-y:auto!important;justify-content:safe center!important}
.closing-page .closing-inner{width:min(100%,780px);max-width:100%;margin:auto!important;display:flex;flex-direction:column;align-items:center;gap:clamp(5px,1.4vh,12px)}
.closing-page .closing-ornament{font-size:clamp(20px,3vh,34px);line-height:1}
.closing-page h2{font-size:clamp(42px,min(6vw,8vh),78px)!important;line-height:1!important;margin:0 auto!important}
.closing-page h2 em{font-size:.66em;display:block;margin-top:6px}
.closing-page .closing-names{font-size:clamp(25px,4vw,43px)!important;margin:0!important}
.closing-page .farewell-photos{margin:0 auto!important}
.closing-page .farewell-photos img{width:clamp(55px,8vh,92px);height:clamp(65px,9vh,108px)}
.closing-page .closing-invite{font-size:clamp(16px,2vw,21px)!important;line-height:1.35!important;margin:0!important;max-width:660px}
.closing-page .closing-countdown{width:min(100%,600px);margin:0!important;padding:clamp(9px,1.4vh,15px)!important}
@media(max-width:760px){
 .hero-inner{height:100dvh!important;min-height:100dvh!important;padding:65px 14px 20px!important;display:flex!important;flex-direction:column!important;justify-content:center!important;gap:clamp(8px,1.5vh,16px)!important;overflow-y:auto!important}
 .hero-copy{order:0!important;width:100%!important;gap:clamp(4px,1vh,10px)!important;flex:none}
 .hero-intro{font-size:clamp(15px,3.9vw,19px)!important;line-height:1.25!important;max-width:96%!important}
 .hero h1{font-size:clamp(47px,12.5vw,69px)!important;line-height:.88!important}
 .hero h1 em{font-size:.43em!important;margin:2px 0!important}
 .hero-description{font-size:clamp(15px,3.8vw,18px)!important;line-height:1.3!important;max-width:95%!important}
 .hero-date{gap:clamp(5px,2vw,12px)!important;padding:6px 2px!important}
 .hero-date span{font-size:clamp(8px,2.3vw,10px)!important;max-width:95px}
 .hero-date strong{font-size:clamp(23px,6vw,31px)!important}
 .hero-art{order:1!important;flex:none!important;width:min(43vw,185px)!important;max-height:min(27dvh,220px)!important;margin:0 auto!important;padding:5px!important}
 .photo-arch{max-height:min(26dvh,215px)!important}
 .photo-stamp{width:46px!important;height:46px!important;left:-9%!important}
 .photo-stamp span{font-size:5px!important}.photo-stamp strong{font-size:18px!important}
 .event-page{padding:68px 11px 18px!important}
 .event-stage{height:100%;gap:10px!important}
 .event-page .event-card{flex:1 1 auto;max-height:calc(100dvh - 148px);padding:clamp(16px,3.6vw,26px)!important;justify-content:center}
 .event-page .event-card .event-details{margin-top:clamp(14px,2vh,24px)!important}
 .event-page .event-card h4{font-size:clamp(45px,12vw,72px)!important}
 .venue-bottom-link{width:100%;min-height:55px;font-size:clamp(12px,3.5vw,15px);padding:10px 13px}
 .closing-page{padding:67px 15px 27px!important}
 .closing-page .closing-inner{gap:clamp(7px,1.5vh,14px)}
 .closing-page h2{font-size:clamp(43px,10vw,62px)!important}
 .closing-page .closing-names{font-size:clamp(27px,7vw,38px)!important}
 .closing-page .closing-invite{font-size:clamp(16px,4vw,19px)!important}
 .closing-page .closing-countdown{padding:10px 5px!important}
 .closing-page .countdown-grid{gap:clamp(2px,1.5vw,9px)!important}
 .closing-page .countdown-grid div{min-width:40px!important}
 .closing-page .countdown-grid strong{font-size:clamp(27px,7vw,38px)!important}
}
@media(max-width:760px) and (max-height:780px){
 .hero-inner{gap:5px!important;padding-bottom:12px!important}
 .hero-copy{gap:3px!important}
 .hero-intro{font-size:clamp(13px,3.5vw,16px)!important}
 .hero h1{font-size:clamp(42px,11vw,60px)!important}
 .hero-description{font-size:clamp(13px,3.5vw,16px)!important}
 .hero-art{width:min(36vw,145px)!important;max-height:20dvh!important}
 .photo-arch{max-height:19dvh!important}
 .event-page .event-card h4{font-size:clamp(39px,10.4vw,58px)!important}
 .event-page .event-card .event-tagline{font-size:clamp(16px,4vw,21px)!important}
 .closing-page .farewell-photos img{width:52px;height:65px}
}
@media(min-width:761px) and (max-height:760px){
 .hero-inner{padding-top:75px!important;padding-bottom:14px!important}
 .hero-intro{font-size:clamp(15px,1.5vw,21px)!important}
 .hero-description{font-size:clamp(15px,1.25vw,19px)!important}
 .hero h1{font-size:clamp(57px,9vh,100px)!important}
 .hero-art{max-height:70dvh!important}
 .closing-page .closing-inner{gap:6px!important}
}

/* 2026-11-05: short laptop/125% scaling fix. Keep date, title, time AND venue visible. */
.map-location-icon{display:block;width:23px;height:23px;flex:none}
.venue-bottom-pin{display:inline-flex;align-items:center;justify-content:center;flex:none}
@media(min-width:761px){
 .event-page{padding:clamp(76px,11vh,98px) clamp(14px,2vw,30px) clamp(10px,2vh,22px)!important;justify-content:stretch!important;min-height:0!important}
 .event-stage{height:100%!important;min-height:0!important;max-height:100%!important;width:min(100%,1160px)!important;gap:clamp(7px,1.3vh,13px)!important;justify-content:stretch!important;align-items:center!important}
 .event-page .event-card{box-sizing:border-box!important;flex:1 1 0!important;min-height:0!important;max-height:none!important;width:min(100%,1030px)!important;padding:clamp(16px,2.5vh,30px) clamp(24px,4.3vw,70px)!important;justify-content:center!important;overflow-y:auto!important;overflow-x:hidden!important;scrollbar-width:thin}
 .event-page .event-card .event-top{min-height:0!important;margin:0 0 clamp(3px,.8vh,9px)!important}
 .event-page .event-card .event-symbol{font-size:clamp(20px,3vh,32px)!important}
 .event-page .date-feature{font-size:clamp(15px,2.3vh,24px)!important;line-height:1.16!important;margin:0 0 clamp(7px,1.4vh,15px)!important}
 .event-page .event-card .event-type{font-size:clamp(10px,1.3vh,13px)!important;margin-bottom:clamp(3px,.7vh,8px)!important}
 .event-page .event-card h4{font-size:clamp(37px,7.8vh,80px)!important;line-height:.99!important;margin:0 0 clamp(6px,1.4vh,14px)!important;max-width:100%!important;overflow-wrap:break-word}
 .event-page .event-card.baraat h4{font-size:clamp(34px,6.1vh,66px)!important;line-height:1.01!important}
 .event-page .event-card .event-tagline{font-size:clamp(16px,2.6vh,25px)!important;line-height:1.18!important;margin:0!important}
 .event-page .event-card .event-details{margin-top:clamp(8px,1.7vh,17px)!important;max-width:100%!important}
 .event-page .event-card .event-detail{padding:clamp(4px,.8vh,9px) 0!important}
 .event-page .event-card .event-detail strong{font-size:clamp(15px,2.1vh,21px)!important;line-height:1.25!important;display:block;overflow-wrap:break-word}
 .venue-bottom-link{flex:0 0 auto!important;min-height:clamp(42px,6.3vh,55px)!important;padding:8px 16px!important;font-size:clamp(12px,1.6vh,16px)!important}
}
@media(min-width:761px) and (max-height:650px){
 .event-page{padding-top:65px!important;padding-bottom:8px!important}
 .event-page .event-card{padding-top:12px!important;padding-bottom:12px!important}
 .event-page .event-card .event-top{display:none!important}
 .event-page .event-card h4{font-size:clamp(32px,7vh,55px)!important}
 .event-page .event-card.baraat h4{font-size:clamp(29px,5.5vh,48px)!important}
 .event-page .event-card .event-tagline{font-size:clamp(14px,2.5vh,19px)!important}
}
@media(max-width:760px){
 .event-page .event-card{overflow-y:auto!important;overflow-x:hidden!important;scrollbar-width:none}
 .event-page .event-card::-webkit-scrollbar{display:none}
 .venue-bottom-pin .map-location-icon{width:22px;height:22px}
}

/* Final update: top progress, half-width next page action, and balanced closing layout */
.top-page-progress{position:fixed;top:0;left:0;width:100%;height:5px;z-index:1600;background:rgba(103,43,25,.16);pointer-events:none}
.top-page-progress-fill{height:100%;width:12.5%;background:linear-gradient(90deg,#a44923,#f2b758);box-shadow:0 0 8px rgba(184,97,30,.4);transition:width .55s ease}
.page-navigation{position:fixed;bottom:max(14px,env(safe-area-inset-bottom));right:clamp(15px,3vw,48px);z-index:1250;display:flex;align-items:center;gap:12px;pointer-events:none}
.page-navigation-count{font:700 11px var(--display);letter-spacing:.15em;color:#74301d;background:rgba(255,236,185,.92);border:1px solid #a75d3280;padding:12px 15px;border-radius:30px}
.next-page-button{pointer-events:auto;display:flex;align-items:center;justify-content:center;gap:clamp(15px,3vw,45px);min-width:clamp(160px,28vw,340px);padding:15px 24px;border:1px solid #f4ce86;border-radius:40px;background:#85371e;color:#fff1cf;font:700 12px var(--sans);letter-spacing:.07em;box-shadow:0 7px 20px #78341e44;cursor:pointer;transition:transform .2s,background .2s}
.next-page-button:hover{background:#a34b23;transform:translateY(-2px)}
.next-page-button span:last-child{font-size:21px;line-height:12px}
.next-page-button[hidden]{display:none!important}
.gate-locked .page-navigation,.gate-locked .top-page-progress{display:none}
.scene-progress{bottom:6px!important;opacity:.35!important}
.closing-page{padding:clamp(85px,10vh,110px) 25px 90px!important}
.closing-page .closing-inner{width:min(100%,850px)!important;gap:clamp(10px,1.8vh,18px)!important}
.closing-page .closing-ornament{font-size:clamp(27px,4vh,42px)!important}
.closing-page .closing-inner>p:first-of-type{font-size:clamp(10px,1.2vw,13px)!important;letter-spacing:.12em!important}
.closing-page h2{font-size:clamp(58px,min(7vw,9vh),96px)!important;line-height:.95!important}
.closing-page h2 em{font-size:.66em!important}
.closing-page .closing-names{font-size:clamp(32px,4.6vw,54px)!important}
.closing-page .farewell-photos img{width:clamp(80px,10vh,120px)!important;height:clamp(95px,12vh,140px)!important}
.closing-page .closing-invite{width:min(100%,680px)!important;max-width:calc(100% - 20px)!important;padding:10px 15px!important;margin:0 auto!important;font:700 clamp(20px,2.2vw,27px)/1.3 var(--serif)!important;color:#703019!important;text-align:center!important;overflow-wrap:break-word}
.closing-page .closing-countdown{width:min(100%,620px)!important}
@media(max-width:760px){
 .page-navigation{right:12px;left:50%;bottom:max(14px,env(safe-area-inset-bottom));gap:6px;justify-content:flex-end}
 .page-navigation-count{position:fixed;right:14px;top:72px;padding:8px 11px;font-size:10px}
 .next-page-button{width:100%;min-width:0;padding:14px 11px;gap:10px;justify-content:space-around;font-size:12px}
 .closing-page{padding:82px 18px 92px!important}
 .closing-page .closing-inner{gap:clamp(12px,2vh,20px)!important}
 .closing-page h2{font-size:clamp(51px,12vw,76px)!important}
 .closing-page .closing-names{font-size:clamp(31px,8vw,43px)!important}
 .closing-page .farewell-photos img{width:clamp(78px,12vh,105px)!important;height:clamp(92px,14vh,120px)!important}
 .closing-page .closing-invite{font-size:clamp(20px,5vw,25px)!important;line-height:1.32!important;padding:10px 8px!important}
 .closing-page .closing-countdown{padding:13px 8px!important}
}
@media(max-height:720px){.closing-page{justify-content:flex-start!important}.closing-page .closing-inner{margin:auto!important}}
/* Final responsive action row and finale sizing */
.top-page-progress{height:6px!important;background:#f4d79c!important}
.top-page-progress-fill{background:linear-gradient(90deg,#c54822,#ef8730 30%,#ffd657 65%,#bd5e25)!important;box-shadow:0 0 9px #d56d2a88!important}
@media(max-width:760px){
.event-page{padding-bottom:calc(82px + env(safe-area-inset-bottom))!important}
.event-stage{height:100%!important;max-height:100%!important;min-height:0!important;gap:8px!important}
.event-page .event-card{flex:1 1 0!important;min-height:0!important;max-height:100%!important}
.event-page.active .venue-bottom-link{position:fixed!important;bottom:calc(14px + env(safe-area-inset-bottom))!important;left:12px!important;right:auto!important;width:calc(50vw - 18px)!important;max-width:none!important;height:54px!important;min-height:54px!important;margin:0!important;padding:6px 9px!important;gap:6px!important;border-radius:30px!important;font-size:clamp(10px,2.6vw,13px)!important;line-height:1.18!important;overflow:hidden!important;z-index:1260!important}
.event-page.active .venue-bottom-link>span:nth-child(2){display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;overflow-wrap:anywhere;text-overflow:ellipsis}
.event-page.active .venue-bottom-link>span:last-child{display:none!important}
.event-page.active .venue-bottom-pin .map-location-icon{width:20px;height:20px}
.page-navigation{position:fixed!important;left:auto!important;right:12px!important;width:calc(50vw - 18px)!important;bottom:calc(14px + env(safe-area-inset-bottom))!important;height:54px!important;z-index:1270!important;pointer-events:none!important}
.next-page-button{width:100%!important;height:54px!important;min-width:0!important;padding:9px 12px!important;margin:0!important;pointer-events:auto!important}
.page-navigation-count{right:13px!important;top:72px!important}
.closing-page{padding:70px 14px 28px!important;overflow-y:auto!important}
.closing-page .closing-inner{gap:clamp(7px,1.1vh,14px)!important;padding:10px 0!important}
.closing-page h2{font-size:clamp(43px,10vw,65px)!important}
.closing-page .closing-invite{font-size:clamp(17px,4.3vw,22px)!important;line-height:1.24!important;max-width:100%!important;padding:6px 9px!important}
.closing-page .closing-countdown{max-width:100%!important;margin-top:3px!important}
}
@media(min-width:761px){
.closing-page{height:100dvh!important;min-height:0!important;padding:clamp(62px,9vh,84px) 24px 22px!important;overflow-y:auto!important}
.closing-page .closing-inner{max-width:740px!important;width:100%!important;gap:clamp(3px,.8vh,9px)!important;justify-content:center!important;padding:4px 0!important;margin:auto!important}
.closing-page .closing-ornament{font-size:clamp(18px,2.7vh,28px)!important}
.closing-page .closing-inner>p:first-of-type{font-size:clamp(9px,1.3vh,12px)!important}
.closing-page h2{font-size:clamp(37px,7.4vh,73px)!important;line-height:1!important}
.closing-page h2 em{font-size:.58em!important;margin-top:3px!important}
.closing-page .closing-names{font-size:clamp(27px,5vh,45px)!important}
.closing-page .farewell-photos img{width:clamp(56px,9vh,96px)!important;height:clamp(65px,10.7vh,110px)!important}
.closing-page .closing-invite{font-size:clamp(16px,2.55vh,22px)!important;line-height:1.2!important;padding:5px 8px!important;max-width:660px!important}
.closing-page .closing-countdown{width:min(100%,600px)!important;padding:clamp(6px,1vh,12px)!important;margin:3px auto 0!important}
.closing-page .countdown-heading{margin-bottom:7px!important}
.closing-page .countdown-grid strong{font-size:clamp(25px,4.5vh,40px)!important}
.closing-page .countdown-grid span{margin-top:2px!important}
.closing-page .countdown-grid i{font-size:clamp(22px,3.5vh,30px)!important}
}
@media(min-width:761px) and (max-height:680px){
.closing-page .closing-inner{gap:3px!important}
.closing-page .closing-ornament{display:none!important}
.closing-page h2{font-size:clamp(32px,6.7vh,47px)!important}
.closing-page .farewell-photos img{width:55px!important;height:66px!important}
.closing-page .closing-invite{font-size:clamp(14px,2.5vh,18px)!important}
.closing-page .closing-countdown{padding:5px 9px!important}
}

/* Final-page alignment: remove decorative inner borders instead of trapping content. */
.closing-page::before,.closing-page::after{display:none!important;content:none!important}
.closing-page{box-sizing:border-box!important;min-height:100dvh!important;height:100dvh!important;overflow-x:hidden!important;overflow-y:auto!important;display:flex!important;align-items:center!important;justify-content:center!important;padding:clamp(82px,11vh,105px) 24px clamp(26px,5vh,46px)!important}
.closing-page .closing-inner{box-sizing:border-box!important;max-width:min(90vw,780px)!important;width:100%!important;margin:auto!important;gap:clamp(8px,1.6vh,16px)!important;padding:clamp(14px,2vh,23px) 0!important;justify-content:center!important}
.closing-page .closing-ornament{font-size:clamp(24px,3.5vh,34px)!important;display:block!important}
.closing-page h2{font-size:clamp(52px,8vh,83px)!important;line-height:1.02!important}
.closing-page h2 em{font-size:.57em!important;margin-top:8px!important}
.closing-page .closing-names{font-size:clamp(32px,5vh,49px)!important}
.closing-page .farewell-photos img{width:clamp(75px,12vh,110px)!important;height:clamp(85px,14vh,126px)!important}
.closing-page .closing-invite{max-width:670px!important;width:100%!important;font-size:clamp(18px,2.6vh,25px)!important;line-height:1.34!important;padding:4px 8px!important}
.closing-page .closing-countdown{width:min(100%,630px)!important;box-sizing:border-box!important;margin:4px auto!important;padding:clamp(12px,1.8vh,18px)!important}
/* Deep sapphire contrasts with warm marigold, while remaining elegant. */
.top-page-progress{height:8px!important;background:#fff0c6!important;box-shadow:0 2px 6px #592a1a45!important}
.top-page-progress-fill{height:100%!important;background:linear-gradient(90deg,#153f64 0%,#187e95 55%,#32a6a2 100%)!important;box-shadow:0 0 7px #0b536a99!important}
@media(max-width:760px){
 .closing-page{padding:clamp(72px,9vh,92px) 14px 35px!important;justify-content:center!important}
 .closing-page .closing-inner{max-width:100%!important;gap:clamp(8px,1.3vh,13px)!important;padding:8px 5px!important}
 .closing-page h2{font-size:clamp(44px,11vw,65px)!important}
 .closing-page h2 em{font-size:.58em!important}
 .closing-page .closing-names{font-size:clamp(29px,7vw,42px)!important}
 .closing-page .farewell-photos img{width:clamp(70px,18vw,92px)!important;height:clamp(83px,21vw,105px)!important}
 .closing-page .closing-invite{font-size:clamp(17px,4.4vw,21px)!important;line-height:1.3!important;padding:4px 8px!important}
 .closing-page .closing-countdown{width:100%!important;padding:12px 7px!important}
}
@media(max-width:760px) and (max-height:740px){
 .closing-page{padding-top:68px!important;padding-bottom:15px!important}
 .closing-page .closing-inner{gap:5px!important}
 .closing-page .closing-ornament{display:none!important}
 .closing-page h2{font-size:42px!important}
 .closing-page .farewell-photos img{width:56px!important;height:69px!important}
 .closing-page .closing-invite{font-size:16px!important}
 .closing-page .closing-countdown{padding:7px!important}
}
@media(min-width:761px) and (max-height:750px){
 .closing-page{padding-top:80px!important;padding-bottom:12px!important}
 .closing-page .closing-inner{gap:clamp(5px,1vh,9px)!important}
 .closing-page h2{font-size:clamp(44px,7.5vh,61px)!important}
 .closing-page .farewell-photos img{width:clamp(64px,10vh,85px)!important;height:clamp(74px,11vh,97px)!important}
 .closing-page .closing-invite{font-size:clamp(17px,2.5vh,20px)!important}
 .closing-page .closing-countdown{padding:8px 12px!important}
}
\n/* Refined page indicator: understated, visible and consistent with the burgundy/gold palette. */\n.top-page-progress{height:4px!important;background:rgba(100,44,27,.24)!important;box-shadow:none!important}\n.top-page-progress-fill{height:100%!important;background:linear-gradient(90deg,#742c27 0%,#a13c37 58%,#c65e4a 100%)!important;box-shadow:none!important;border-radius:0 2px 2px 0!important}\n/* Editorial date treatment: large day + stacked month/year, inspired by the reference. */\n.event-page .date-feature-editorial{display:flex!important;align-items:center!important;gap:clamp(12px,2vw,25px)!important;max-width:100%!important;width:max-content!important;margin:0 0 clamp(10px,2vh,21px)!important;letter-spacing:normal!important;line-height:1!important;white-space:normal!important}\n.date-feature-number{font-family:var(--serif)!important;font-weight:500!important;font-size:clamp(70px,10vh,132px)!important;line-height:.85!important;letter-spacing:-.075em!important;flex:none!important;color:#84341d!important}\n.date-feature-details{display:flex!important;flex-direction:column!important;align-items:flex-start!important;gap:5px!important;min-width:0!important}\n.date-feature-month{font-family:var(--serif)!important;font-weight:500!important;font-size:clamp(27px,4.6vh,55px)!important;line-height:1!important;letter-spacing:-.035em!important}\n.date-feature-year{font-family:var(--display)!important;font-size:clamp(12px,1.8vh,20px)!important;line-height:1.3!important;letter-spacing:.2em!important;font-weight:700!important}\n.date-feature-weekday{font-family:var(--display)!important;font-size:.66em!important;letter-spacing:.05em!important;white-space:nowrap!important}\n@media(max-width:760px){\n.event-page .date-feature-editorial{gap:clamp(10px,3vw,16px)!important;margin-bottom:clamp(12px,2vh,22px)!important}\n.date-feature-number{font-size:clamp(72px,20vw,108px)!important}\n.date-feature-month{font-size:clamp(30px,8vw,44px)!important}\n.date-feature-year{font-size:clamp(11px,3vw,15px)!important;letter-spacing:.13em!important}\n}\n@media(max-width:370px){.date-feature-number{font-size:67px!important}.date-feature-month{font-size:27px!important}.date-feature-year{font-size:10px!important}}\n@media(min-width:761px) and (max-height:780px){.date-feature-number{font-size:clamp(65px,10vh,88px)!important}.date-feature-month{font-size:clamp(29px,4.5vh,40px)!important}}\n
/* Personalized ceremony photographs, gently animated with accessible contrast */
.event-page .event-card.event-photo-card.haldi { --personal-event-photo: url("assets/event-haldi.webp"); }
.event-page .event-card.event-photo-card.tikka { --personal-event-photo: url("assets/event-tikka.webp"); }
.event-page .event-card.event-photo-card.sangeet { --personal-event-photo: url("assets/event-sangeet.webp"); }
.event-page .event-card.event-photo-card.bhaat { --personal-event-photo: url("assets/event-bhaat.webp"); }
.event-page .event-card.event-photo-card.baraat { --personal-event-photo: url("assets/event-baraat.webp"); }
.event-page .event-card.event-photo-card.dinner { --personal-event-photo: url("assets/event-dinner.webp"); }

.event-page .event-card.event-photo-card{isolation:isolate;background:linear-gradient(125deg,#ffeec8,#f5cc89)!important}
.event-page .event-card.event-photo-card .ceremony-backdrop,
.event-page .event-card.event-photo-card.with-illustrated-backdrop .ceremony-backdrop{
  position:absolute!important;inset:-3%!important;z-index:0!important;
  background-image:linear-gradient(90deg,rgba(255,244,211,.94) 0%,rgba(255,241,206,.84) 42%,rgba(255,237,199,.57) 100%),var(--personal-event-photo)!important;
  background-size:cover,cover!important;background-position:center,center 42%!important;
  opacity:1!important;filter:saturate(.83)!important;
  animation:ceremonyPhotoFloat 17s ease-in-out infinite alternate!important;
  transform-origin:center center;pointer-events:none;
}
.event-page .event-card.event-photo-card::after{
 content:"";position:absolute;inset:-12%;z-index:1;pointer-events:none;
 background-image:radial-gradient(ellipse 6px 10px at 15% 20%,rgba(196,83,50,.33) 35%,transparent 70%),radial-gradient(ellipse 5px 9px at 67% 13%,rgba(255,255,239,.8) 30%,transparent 70%),radial-gradient(ellipse 7px 12px at 81% 72%,rgba(198,100,58,.3) 35%,transparent 70%),radial-gradient(ellipse 5px 8px at 35% 80%,rgba(255,255,242,.75) 35%,transparent 70%),radial-gradient(ellipse 4px 8px at 52% 45%,rgba(194,95,52,.3) 35%,transparent 70%);
 background-size:270px 330px,310px 360px,360px 290px,240px 300px,390px 380px;
 animation:ceremonyPetals 23s linear infinite;opacity:.75;
}
.event-page .event-card.event-photo-card>*:not(.ceremony-backdrop){position:relative;z-index:3}
.event-page .event-card.event-photo-card .event-details{background:transparent!important}
@keyframes ceremonyPhotoFloat{0%{transform:scale(1.02) translate3d(-.4%,0,0)}100%{transform:scale(1.095) translate3d(.7%,-.7%,0)}}
@keyframes ceremonyPetals{from{transform:translate3d(0,-2%,0) rotate(0deg)}to{transform:translate3d(-2%,6%,0) rotate(5deg)}}
@media(max-width:760px){
 .event-page .event-card.event-photo-card .ceremony-backdrop,
 .event-page .event-card.event-photo-card.with-illustrated-backdrop .ceremony-backdrop{
 background-image:linear-gradient(180deg,rgba(255,243,207,.68) 0%,rgba(255,239,201,.83) 42%,rgba(255,234,193,.94) 100%),var(--personal-event-photo)!important;
 background-position:center,center 30%!important;
 }
 .event-page .event-card.event-photo-card::after{opacity:.48}
}
@media(prefers-reduced-motion:reduce){.event-page .event-card.event-photo-card .ceremony-backdrop,.event-page .event-card.event-photo-card::after{animation:none!important}}


/* Photo visibility correction: prior illustrated backdrop and cream overlay obscured photos. */
.event-page .event-card.event-photo-card.with-illustrated-backdrop .ceremony-backdrop{
  display:block!important;visibility:visible!important;
  background:var(--personal-event-photo) center 44% / cover no-repeat!important;
  opacity:.78!important;
  filter:saturate(.92) contrast(1.05)!important;
  inset:0!important;
  z-index:0!important;
}
.event-page .event-card.event-photo-card{background:#f5d59a!important}
.event-page .event-card.event-photo-card::before{
  content:""!important;position:absolute!important;inset:0!important;
  width:auto!important;height:auto!important;border:0!important;border-radius:0!important;
  box-shadow:none!important;z-index:1!important;pointer-events:none!important;
  background:linear-gradient(90deg,rgba(255,239,199,.94) 0%,rgba(255,239,199,.83) 34%,rgba(255,239,199,.46) 62%,rgba(255,239,199,.2) 100%)!important;
}
.event-page .event-card.event-photo-card .event-faded-art{display:none!important}
.event-page .event-card.event-photo-card>*:not(.ceremony-backdrop){z-index:3!important}
.event-page .event-card.event-photo-card .event-details{background:rgba(255,240,207,.22)!important;box-shadow:none!important}
@media(max-width:760px){
  .event-page .event-card.event-photo-card.with-illustrated-backdrop .ceremony-backdrop{
    background-position:center 26%!important;opacity:.75!important;
  }
  .event-page .event-card.event-photo-card::before{
    background:linear-gradient(180deg,rgba(255,240,204,.43) 0%,rgba(255,240,204,.67) 40%,rgba(255,240,204,.92) 73%,rgba(255,240,204,.96) 100%)!important;
  }
}

/* FINAL FACE-SAFE CEREMONY BACKGROUNDS / NO INNER SCROLL */
.event-page .event-card.event-photo-card{overflow:hidden!important;position:relative!important;isolation:isolate!important;}
.event-page .event-card.event-photo-card::-webkit-scrollbar{display:none!important}
.event-page .event-card.event-photo-card .ceremony-backdrop,
.event-page .event-card.event-photo-card.with-illustrated-backdrop .ceremony-backdrop{
 display:block!important;visibility:visible!important;position:absolute!important;inset:0!important;
 background-image:var(--personal-event-photo)!important;
 background-size:contain!important;background-repeat:no-repeat!important;
 background-position:right center!important;opacity:.92!important;filter:saturate(.95) contrast(1.03)!important;
 transform:none!important;animation:photoGentleReveal 13s ease-in-out infinite alternate!important;
 transform-origin:75% 50%!important;z-index:0!important;pointer-events:none!important;
}
/* Photo occupies the right half without clipping faces; copy stays prominent on the left. */
.event-page .event-card.event-photo-card::before{
 background:linear-gradient(90deg,rgba(255,240,201,.98) 0%,rgba(255,240,201,.96) 30%,rgba(255,240,201,.83) 47%,rgba(255,240,201,.12) 78%,rgba(255,240,201,.04) 100%)!important;
}
@keyframes photoGentleReveal{from{opacity:.78;filter:saturate(.86) contrast(1.01)}to{opacity:.94;filter:saturate(1.02) contrast(1.04)}}
.event-page .event-card.event-photo-card .event-top,.event-page .event-card.event-photo-card .date-feature,.event-page .event-card.event-photo-card .event-type,.event-page .event-card.event-photo-card h4,.event-page .event-card.event-photo-card .event-tagline,.event-page .event-card.event-photo-card .event-details{max-width:min(100%,60%)!important}
.event-page .event-card.event-photo-card .event-details{background:transparent!important}
@media(max-width:760px){
 .event-page .event-card.event-photo-card{display:flex!important;flex-direction:column!important;justify-content:flex-end!important;padding:clamp(12px,2vh,23px) clamp(16px,4vw,23px)!important;}
 .event-page .event-card.event-photo-card .ceremony-backdrop,
 .event-page .event-card.event-photo-card.with-illustrated-backdrop .ceremony-backdrop{
   background-size:auto 58%!important;background-position:center top!important;
   animation:photoGentleReveal 13s ease-in-out infinite alternate!important;
 }
 .event-page .event-card.event-photo-card::before{background:linear-gradient(180deg,rgba(255,238,201,.04) 0%,rgba(255,238,201,.12) 28%,rgba(255,238,201,.82) 49%,rgba(255,238,201,.97) 65%,rgba(255,238,201,.98) 100%)!important}
 .event-page .event-card.event-photo-card .event-top,.event-page .event-card.event-photo-card .date-feature,.event-page .event-card.event-photo-card .event-type,.event-page .event-card.event-photo-card h4,.event-page .event-card.event-photo-card .event-tagline,.event-page .event-card.event-photo-card .event-details{max-width:100%!important}
 .event-page .event-card.event-photo-card .date-feature-editorial{margin-bottom:clamp(4px,.8vh,9px)!important}
 .event-page .event-card.event-photo-card .date-feature-number{font-size:clamp(42px,9vh,75px)!important}
 .event-page .event-card.event-photo-card .date-feature-month{font-size:clamp(21px,4vh,34px)!important}
 .event-page .event-card.event-photo-card h4{font-size:clamp(32px,6.2vh,53px)!important;margin-bottom:4px!important}
 .event-page .event-card.event-photo-card.baraat h4{font-size:clamp(27px,5.1vh,44px)!important}
 .event-page .event-card.event-photo-card .event-tagline{font-size:clamp(14px,2.5vh,19px)!important}
 .event-page .event-card.event-photo-card .event-details{margin-top:clamp(5px,1vh,10px)!important;padding:0!important}
 .event-page .event-card.event-photo-card .event-detail{padding:clamp(3px,.6vh,7px) 0!important}
 .event-page .event-card.event-photo-card .event-detail strong{font-size:clamp(13px,2.3vh,17px)!important}
}
@media(min-width:761px) and (max-height:750px){
 .event-page .event-card.event-photo-card .date-feature-number{font-size:clamp(49px,8vh,74px)!important}
 .event-page .event-card.event-photo-card .date-feature-month{font-size:clamp(23px,3.7vh,33px)!important}
 .event-page .event-card.event-photo-card h4{font-size:clamp(33px,6.3vh,56px)!important}
 .event-page .event-card.event-photo-card.baraat h4{font-size:clamp(29px,5vh,45px)!important}
}
@media(prefers-reduced-motion:reduce){.event-page .event-card.event-photo-card .ceremony-backdrop{animation:none!important}}


/* 2026-11-05: full-card soft illustrations with face-aware static crop. */
.event-page .event-card.event-photo-card,
.event-page .event-card.event-photo-card.haldi {position:relative!important;isolation:isolate!important;overflow:hidden!important;background:#f6d69b!important;}
/* Explicit shorthand wins over earlier haldi/illustration background declarations. */
.event-page .event-card.event-photo-card .ceremony-backdrop,
.event-page .event-card.event-photo-card.with-illustrated-backdrop .ceremony-backdrop,
.event-page .event-card.event-photo-card.haldi .ceremony-backdrop {
 display:block!important;visibility:visible!important;position:absolute!important;inset:0!important;
 width:100%!important;height:100%!important;
 background:var(--personal-event-photo) center 13% / cover no-repeat!important;
 opacity:.48!important;filter:saturate(.8) contrast(.94)!important;
 transform:none!important;animation:ceremonyFadeOnly 9s ease-in-out infinite alternate!important;
 z-index:0!important;pointer-events:none!important;
}
/* No opaque split panel: image extends beneath all the text and the entire card. */
.event-page .event-card.event-photo-card::before,
.event-page .event-card.event-photo-card.haldi::before {
 content:""!important;position:absolute!important;inset:0!important;width:auto!important;height:auto!important;
 background:linear-gradient(90deg,rgba(255,235,188,.88) 0%,rgba(255,236,193,.78) 43%,rgba(255,236,193,.49) 74%,rgba(255,236,193,.48) 100%)!important;
 border:0!important;border-radius:0!important;box-shadow:none!important;z-index:1!important;pointer-events:none!important;
}
.event-page .event-card.event-photo-card>*:not(.ceremony-backdrop){position:relative!important;z-index:3!important;}
.event-page .event-card.event-photo-card .event-details{background:transparent!important;box-shadow:none!important;}
@keyframes ceremonyFadeOnly {from{opacity:.42}to{opacity:.54}}
@media(max-width:760px){
 .event-page .event-card.event-photo-card .ceremony-backdrop,
 .event-page .event-card.event-photo-card.with-illustrated-backdrop .ceremony-backdrop,
 .event-page .event-card.event-photo-card.haldi .ceremony-backdrop {
  background:var(--personal-event-photo) center 13% / cover no-repeat!important;
  opacity:.46!important;
 }
 .event-page .event-card.event-photo-card::before,
 .event-page .event-card.event-photo-card.haldi::before {
  background:linear-gradient(180deg,rgba(255,236,193,.53),rgba(255,237,194,.70) 45%,rgba(255,237,194,.90) 100%)!important;
 }
}
@media(prefers-reduced-motion:reduce){.event-page .event-card.event-photo-card .ceremony-backdrop{animation:none!important;}}


/* FINAL: clearer full-card illustrations and reliable Haldi photo. */
.event-page .event-card.event-photo-card .ceremony-backdrop,
.event-page .event-card.event-photo-card.with-illustrated-backdrop .ceremony-backdrop,
.event-page .event-card.event-photo-card.haldi .ceremony-backdrop {
  background-image:var(--personal-event-photo)!important;
  background-color:transparent!important;
  background-repeat:no-repeat!important;
  background-size:cover!important;
  background-position:center 18%!important;
  opacity:.80!important;
  filter:saturate(1.02) contrast(1.06)!important;
  animation:clearCeremonyPhoto 11s ease-in-out infinite alternate!important;
}
@keyframes clearCeremonyPhoto {from{opacity:.74}to{opacity:.84}}
.event-page .event-card.event-photo-card::before,
.event-page .event-card.event-photo-card.haldi::before {
  background:linear-gradient(90deg,rgba(255,236,197,.79) 0%,rgba(255,235,192,.67) 38%,rgba(255,235,192,.31) 74%,rgba(255,235,192,.23) 100%)!important;
}
/* Haldi fallback: the image is also on the card itself, so it cannot disappear. */
.event-page .event-card.event-photo-card.haldi {
  background-image:url("assets/event-haldi.webp")!important;
  background-position:center 18%!important;
  background-size:cover!important;
  background-repeat:no-repeat!important;
}
.event-page .event-card.event-photo-card .date-feature,
.event-page .event-card.event-photo-card h4,
.event-page .event-card.event-photo-card .event-type,
.event-page .event-card.event-photo-card .event-tagline,
.event-page .event-card.event-photo-card .event-detail strong,
.event-page .event-card.event-photo-card .event-detail>span {color:#54271d!important;text-shadow:0 1px 1px rgba(255,244,217,.65)!important;}
.event-page .event-card.event-photo-card .event-detail{border-color:rgba(98,50,28,.32)!important;}
@media(max-width:760px){
 .event-page .event-card.event-photo-card .ceremony-backdrop,
 .event-page .event-card.event-photo-card.with-illustrated-backdrop .ceremony-backdrop,
 .event-page .event-card.event-photo-card.haldi .ceremony-backdrop {
  background-position:center 14%!important;
  opacity:.73!important;
 }
 .event-page .event-card.event-photo-card.haldi {background-position:center 14%!important;}
 .event-page .event-card.event-photo-card::before,
 .event-page .event-card.event-photo-card.haldi::before {
  background:linear-gradient(180deg,rgba(255,237,202,.13) 0%,rgba(255,237,202,.28) 28%,rgba(255,237,202,.81) 51%,rgba(255,237,202,.94) 100%)!important;
 }
}
@media(prefers-reduced-motion:reduce){.event-page .event-card.event-photo-card .ceremony-backdrop{animation:none!important}}


/* FINAL PATCH: restore the original soft full-card photo treatment.
   Improve the writing rather than increasing photo saturation/visibility. */
.event-page .event-card.event-photo-card .ceremony-backdrop,
.event-page .event-card.event-photo-card.with-illustrated-backdrop .ceremony-backdrop,
.event-page .event-card.event-photo-card.haldi .ceremony-backdrop {
  background-image:var(--personal-event-photo)!important;
  background-position:center 13%!important;
  background-size:cover!important;
  opacity:.48!important;
  filter:saturate(.8) contrast(.94)!important;
  transform:none!important;
  animation:ceremonyFadeOnly 9s ease-in-out infinite alternate!important;
}
.event-page .event-card.event-photo-card::before,
.event-page .event-card.event-photo-card.haldi::before {
  background:linear-gradient(90deg,rgba(255,235,188,.90) 0%,rgba(255,236,193,.83) 43%,rgba(255,236,193,.49) 74%,rgba(255,236,193,.48) 100%)!important;
}
/* The Haldi image must be present only in the backdrop layer, never
   as a second un-faded card background behind the text. */
.event-page .event-card.event-photo-card.haldi {
  background:#f6d69b!important;
}
/* Legibility through typography and contrast, not stronger photography. */
.event-page .event-card.event-photo-card .date-feature,
.event-page .event-card.event-photo-card .date-feature-number,
.event-page .event-card.event-photo-card .date-feature-month,
.event-page .event-card.event-photo-card .date-feature-year,
.event-page .event-card.event-photo-card .date-feature-weekday,
.event-page .event-card.event-photo-card h4,
.event-page .event-card.event-photo-card h4 span,
.event-page .event-card.event-photo-card .event-type,
.event-page .event-card.event-photo-card .event-tagline,
.event-page .event-card.event-photo-card .event-detail strong,
.event-page .event-card.event-photo-card .event-detail>span {
  color:#632519!important;
  text-shadow:0 1px 0 rgba(255,248,225,.95),0 0 8px rgba(255,241,201,.85)!important;
}
.event-page .event-card.event-photo-card .event-type,
.event-page .event-card.event-photo-card .event-detail>span {font-weight:800!important;letter-spacing:.09em!important;}
.event-page .event-card.event-photo-card .event-detail strong {font-weight:750!important;}
.event-page .event-card.event-photo-card .event-detail {border-color:rgba(99,37,25,.40)!important;}
/* Ensure the desktop Haldi date and text stay together, rather than
   crossing the faces in the middle of the image. */
@media(min-width:761px){
 .event-page .event-card.event-photo-card.haldi .date-feature,
 .event-page .event-card.event-photo-card.haldi .event-type,
 .event-page .event-card.event-photo-card.haldi h4,
 .event-page .event-card.event-photo-card.haldi .event-tagline,
 .event-page .event-card.event-photo-card.haldi .event-details {max-width:53%!important;}
 .event-page .event-card.event-photo-card.haldi .date-feature-editorial {gap:8px!important;}
 .event-page .event-card.event-photo-card.haldi .date-feature-number {font-size:clamp(46px,4.3vw,69px)!important;}
 .event-page .event-card.event-photo-card.haldi .date-feature-month {font-size:clamp(20px,2.2vw,31px)!important;}
 .event-page .event-card.event-photo-card.haldi .date-feature-year {font-size:clamp(12px,1vw,16px)!important;}
}
@media(max-width:760px){
 .event-page .event-card.event-photo-card .ceremony-backdrop,
 .event-page .event-card.event-photo-card.with-illustrated-backdrop .ceremony-backdrop,
 .event-page .event-card.event-photo-card.haldi .ceremony-backdrop {opacity:.46!important;background-position:center 13%!important;}
 .event-page .event-card.event-photo-card::before,
 .event-page .event-card.event-photo-card.haldi::before {
   background:linear-gradient(180deg,rgba(255,236,193,.53),rgba(255,237,194,.70) 45%,rgba(255,237,194,.92) 100%)!important;
 }
}
@media(prefers-reduced-motion:reduce){.event-page .event-card.event-photo-card .ceremony-backdrop{animation:none!important;}}


/* Definitive Haldi fix: use the supplied portrait as a faded full-card photo.
   Explicit background URL avoids earlier layered shorthand overrides. */
.event-page .event-card.event-photo-card.haldi .ceremony-backdrop {
  display:block!important; visibility:visible!important;
  background-image:url("assets/event-haldi.webp")!important;
  background-repeat:no-repeat!important;
  background-size:cover!important;
  background-position:center 22%!important;
  opacity:.66!important;
  filter:saturate(.72) contrast(.93)!important;
  animation:ceremonyFadeOnly 9s ease-in-out infinite alternate!important;
}
/* Soft warm veil retains the previous faded aesthetic. */
.event-page .event-card.event-photo-card.haldi::before {
  background:linear-gradient(90deg,rgba(255,235,191,.88) 0%,rgba(255,236,196,.76) 47%,rgba(255,237,198,.57) 100%)!important;
}
/* Rich maroon text, with subtle ivory outline for contrast on every photo. */
.event-page .event-card.event-photo-card .date-feature,
.event-page .event-card.event-photo-card .date-feature *,
.event-page .event-card.event-photo-card .event-type,
.event-page .event-card.event-photo-card h4,
.event-page .event-card.event-photo-card h4 span,
.event-page .event-card.event-photo-card .event-tagline,
.event-page .event-card.event-photo-card .event-detail>span,
.event-page .event-card.event-photo-card .event-detail strong {
  color:#542015!important;
  text-shadow:0 1px 0 #fff2d0, 0 0 5px rgba(255,245,215,.94), 0 0 13px rgba(255,244,209,.7)!important;
}
.event-page .event-card.event-photo-card .event-detail strong {font-weight:800!important;}
@media(min-width:761px){
  .event-page .event-card.event-photo-card.haldi .date-feature,
  .event-page .event-card.event-photo-card.haldi .event-type,
  .event-page .event-card.event-photo-card.haldi h4,
  .event-page .event-card.event-photo-card.haldi .event-tagline,
  .event-page .event-card.event-photo-card.haldi .event-details {max-width:56%!important;}
}
@media(max-width:760px){
 .event-page .event-card.event-photo-card.haldi .ceremony-backdrop {
  background-size:auto 68%!important; background-position:center top!important;opacity:.66!important;
 }
 .event-page .event-card.event-photo-card.haldi::before {
  background:linear-gradient(180deg,rgba(255,236,193,.23) 0%,rgba(255,236,193,.45) 30%,rgba(255,236,193,.84) 56%,rgba(255,236,193,.96) 100%)!important;
 }
}


/* FINAL MOBILE HALDI: one continuous full-card image, compact text, no portrait panel. */
@media (max-width:760px) {
 .event-page .event-card.event-photo-card.haldi {
   background:#f6d69b!important; background-image:none!important;
   display:flex!important;flex-direction:column!important;justify-content:flex-end!important;
   padding:clamp(15px,3vw,22px)!important;gap:0!important;
 }
 .event-page .event-card.event-photo-card.haldi .ceremony-backdrop {
   position:absolute!important;inset:0!important;width:100%!important;height:100%!important;
   background-image:url('assets/event-haldi.webp')!important;
   background-size:cover!important;background-position:center 20%!important;
   background-repeat:no-repeat!important;opacity:.51!important;
   filter:saturate(.76) contrast(.94)!important;animation:none!important;
 }
 .event-page .event-card.event-photo-card.haldi::before {
   background:linear-gradient(180deg,rgba(255,235,191,.25) 0%,rgba(255,235,191,.42) 29%,rgba(255,235,191,.86) 52%,rgba(255,235,191,.97) 78%,rgba(255,235,191,.98) 100%)!important;
 }
 .event-page .event-card.event-photo-card.haldi .date-feature-editorial {
   display:flex!important;align-items:baseline!important;flex-wrap:nowrap!important;
   gap:8px!important;margin:0 0 10px!important;width:100%!important;
 }
 .event-page .event-card.event-photo-card.haldi .date-feature-number {font-size:clamp(42px,11vw,57px)!important;line-height:1!important;}
 .event-page .event-card.event-photo-card.haldi .date-feature-details {min-width:0!important;display:flex!important;flex-wrap:wrap!important;align-items:baseline!important;gap:2px 7px!important;}
 .event-page .event-card.event-photo-card.haldi .date-feature-month {font-size:clamp(19px,5vw,26px)!important;line-height:1.1!important;}
 .event-page .event-card.event-photo-card.haldi .date-feature-year,.event-page .event-card.event-photo-card.haldi .date-feature-weekday {font-size:clamp(11px,3vw,14px)!important;line-height:1.25!important;}
 .event-page .event-card.event-photo-card.haldi .event-type {margin:0 0 5px!important;}
 .event-page .event-card.event-photo-card.haldi h4 {font-size:clamp(37px,10vw,50px)!important;line-height:1!important;margin:0 0 7px!important;}
 .event-page .event-card.event-photo-card.haldi .event-tagline {font-size:clamp(15px,4vw,19px)!important;margin:0 0 12px!important;}
 .event-page .event-card.event-photo-card.haldi .event-details {margin:0!important;padding:6px 0 0!important;flex-shrink:0!important;}
 .event-page .event-card.event-photo-card.haldi .event-detail {padding:8px 0!important;}
 .event-page .event-card.event-photo-card.haldi .event-detail strong {font-size:clamp(14px,3.8vw,17px)!important;}
}
/* Keep motion light on phones: avoid simultaneously animating full-screen photos and pages. */
@media (max-width:760px), (pointer:coarse) {
 .invitation-page {will-change:auto!important;transition:opacity .24s ease,visibility .24s!important;transform:none!important;}
 .invitation-page.active,.invitation-page.exit-left,.invitation-page.exit-right {transform:none!important;}
 .invitation-page[data-transition].active {animation:none!important;}
 .event-page .event-card.event-photo-card .ceremony-backdrop {animation:none!important;}
 .event-page .event-card.event-photo-card {backdrop-filter:none!important;}
 .event-page .event-card.event-photo-card .event-details {backdrop-filter:none!important;}
 .scene-progress span,.top-page-progress-fill {transition-duration:.22s!important;}
}

/* Final requested refinements: uniform event typography, +10% fade, clear text, thin progress. */
.top-page-progress {height:3px!important;box-shadow:none!important;}
.top-page-progress-fill {height:100%!important;box-shadow:none!important;}
.event-page .event-card.event-photo-card .ceremony-backdrop,
.event-page .event-card.event-photo-card.with-illustrated-backdrop .ceremony-backdrop,
.event-page .event-card.event-photo-card.haldi .ceremony-backdrop {opacity:.42!important;filter:saturate(.77) contrast(.93)!important;}
.event-page .event-card.event-photo-card::before,
.event-page .event-card.event-photo-card.haldi::before {background:linear-gradient(90deg,rgba(255,236,195,.85),rgba(255,238,201,.74) 55%,rgba(255,238,201,.64))!important;}
.event-page .event-card.event-photo-card .date-feature,
.event-page .event-card.event-photo-card .date-feature *,
.event-page .event-card.event-photo-card .event-type,
.event-page .event-card.event-photo-card h4,
.event-page .event-card.event-photo-card h4 span,
.event-page .event-card.event-photo-card .event-tagline,
.event-page .event-card.event-photo-card .event-detail>span,
.event-page .event-card.event-photo-card .event-detail strong {color:#502018!important;text-shadow:0 1px 0 #fff5da,0 0 7px rgba(255,247,224,.96),0 0 14px rgba(255,245,215,.8)!important;}
/* Remove Haldi-only font sizing so every event follows the same typography. */
@media(max-width:760px){
 .event-page .event-card.event-photo-card.haldi .date-feature-editorial {gap:clamp(10px,3vw,16px)!important;}
 .event-page .event-card.event-photo-card.haldi .date-feature-number {font-size:clamp(49px,8vh,74px)!important;line-height:.85!important;}
 .event-page .event-card.event-photo-card.haldi .date-feature-month {font-size:clamp(23px,3.7vh,33px)!important;line-height:1!important;}
 .event-page .event-card.event-photo-card.haldi .date-feature-year {font-size:clamp(11px,3vw,15px)!important;line-height:1.3!important;}
 .event-page .event-card.event-photo-card.haldi .date-feature-weekday {font-size:.66em!important;line-height:inherit!important;}
 .event-page .event-card.event-photo-card.haldi h4 {font-size:clamp(55px,13vw,80px)!important;line-height:1!important;margin-bottom:12px!important;}
 .event-page .event-card.event-photo-card.haldi .event-tagline {font-size:clamp(19px,5vw,28px)!important;line-height:1.15!important;margin-bottom:12px!important;}
 .event-page .event-card.event-photo-card.haldi .event-detail strong {font-size:clamp(15px,4.2vw,19px)!important;}
 .event-page .event-card.event-photo-card.haldi .event-type {margin-bottom:5px!important;}
 .event-page .event-card.event-photo-card.haldi .event-details {padding:6px 0 0!important;}
 .event-page .event-card.event-photo-card.haldi .event-detail {padding:8px 0!important;}
}

/* Final polish: 5% softer event photos and compositor-friendly page changes. */
.event-page .event-card.event-photo-card .ceremony-backdrop,
.event-page .event-card.event-photo-card.with-illustrated-backdrop .ceremony-backdrop,
.event-page .event-card.event-photo-card.haldi .ceremony-backdrop {opacity:.399!important;}
/* One simple fade replaces the four full-page transform/zoom effects. */
.invitation-page {transform:none!important;transition:opacity .22s ease-out,visibility .22s linear!important;will-change:auto!important;}
.invitation-page.active,.invitation-page.exit-left,.invitation-page.exit-right {transform:none!important;}
.invitation-page[data-transition].active {animation:none!important;}
@media(max-width:760px){
 .invitation-page {transition:opacity .18s ease-out,visibility .18s linear!important;}
 .event-page .event-card.event-photo-card .ceremony-backdrop {animation:none!important;}
 .event-page .event-card.event-photo-card::after {animation:none!important;}
}
@media(prefers-reduced-motion:reduce){.invitation-page{transition:none!important;}}

/* Final mobile-first transition: noticeable 420ms crossfade, GPU-composited opacity only.
   No full-page transforms, blur, scale, filters or animated background images. */
.invitation-page {
  transform:none!important;
  animation:none!important;
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transition:opacity 420ms cubic-bezier(.22,1,.36,1), visibility 0s linear 420ms!important;
  will-change:auto!important;
}
.invitation-page.active {
  opacity:1!important;
  visibility:visible!important;
  pointer-events:auto;
  z-index:3;
  transition:opacity 420ms cubic-bezier(.22,1,.36,1), visibility 0s!important;
}
.invitation-page.exit-left,.invitation-page.exit-right {
  opacity:0!important;
  visibility:visible!important;
  pointer-events:none;
  z-index:2;
  transform:none!important;
  transition:opacity 320ms ease-out, visibility 0s linear 420ms!important;
}
.invitation-page[data-transition].active {animation:none!important;}
@media (max-width:760px), (pointer:coarse) {
  .invitation-page {transition:opacity 420ms cubic-bezier(.22,1,.36,1),visibility 0s linear 420ms!important;}
  .invitation-page.active {transition:opacity 420ms cubic-bezier(.22,1,.36,1),visibility 0s!important;}
  .invitation-page.exit-left,.invitation-page.exit-right {transition:opacity 320ms ease-out,visibility 0s linear 420ms!important;}
}
@media (prefers-reduced-motion:reduce) {
  .invitation-page,.invitation-page.active,.invitation-page.exit-left,.invitation-page.exit-right {transition:none!important;}
}

/* Final: instant-response doors and restrained, visible mobile page motion.
   CSS transforms/opacity stay compositor-friendly; no blur/filter/scale effects. */
.royal-gate {
  transition:opacity .42s ease .48s, visibility 0s linear .98s!important;
}
.royal-gate.opening {opacity:0;visibility:hidden;pointer-events:none;}
.gate-panel {
  transition:transform .94s cubic-bezier(.22,.76,.18,1)!important;
  backface-visibility:hidden;
}
.gate-copy {transition:opacity .16s ease!important;}
.invitation-page {
  transform:translate3d(16px,0,0)!important;
  opacity:0!important; visibility:hidden!important;pointer-events:none!important;
  animation:none!important;
  transition:opacity .46s cubic-bezier(.2,.75,.25,1),transform .46s cubic-bezier(.2,.75,.25,1),visibility 0s linear .46s!important;
}
.invitation-page.active {
  transform:translate3d(0,0,0)!important;opacity:1!important;visibility:visible!important;pointer-events:auto!important;z-index:3;
  transition:opacity .46s cubic-bezier(.2,.75,.25,1),transform .46s cubic-bezier(.2,.75,.25,1),visibility 0s!important;
}
.invitation-page.exit-left,.invitation-page.exit-right {
  opacity:0!important;visibility:visible!important;pointer-events:none!important;z-index:2;
  transform:translate3d(-16px,0,0)!important;
  transition:opacity .38s ease-out,transform .46s cubic-bezier(.2,.75,.25,1),visibility 0s linear .46s!important;
}
.invitation-page.exit-right {transform:translate3d(16px,0,0)!important;}
.invitation-page[data-transition].active {animation:none!important;}
@media(prefers-reduced-motion:reduce) {
 .invitation-page,.invitation-page.active,.invitation-page.exit-left,.invitation-page.exit-right {transition:none!important;transform:none!important;}
 .gate-panel,.royal-gate {transition:none!important;}
}

/* Reference-matched page motion: continuous horizontal glide with gentle opacity,
   like the cinematic invitation's smooth scene navigation. GPU-friendly only. */
.invitation-page{
  transition:transform .78s cubic-bezier(.20,.78,.20,1),opacity .78s ease,visibility .78s!important;
  backface-visibility:hidden;
}
.invitation-page.active{transform:translate3d(0,0,0)!important;animation:none!important}
.invitation-page.exit-left{transform:translate3d(-7%,0,0)!important;animation:none!important}
.invitation-page.exit-right{transform:translate3d(7%,0,0)!important;animation:none!important}
/* Avoid the costly clip-path/scale transitions previously assigned per page. */
.invitation-page[data-transition].active{animation:none!important}
@media(prefers-reduced-motion:reduce){
 .invitation-page,.invitation-page[data-transition].active{transition:none!important;animation:none!important}
}

/* Mobile transition fix: remove old CSS animations that hide page motion. */
.invitation-page,.invitation-page.active,.invitation-page.exit-left,.invitation-page.exit-right{
 transition:none!important;animation:none!important;transform:translate3d(0,0,0);
}
.invitation-page:not(.active){opacity:0;visibility:hidden!important;pointer-events:none!important}
.invitation-page.active{opacity:1;visibility:visible!important;pointer-events:auto!important}
