/* A living invitation: soft light, lamp flames, and a moving film. */
.hero{isolation:isolate;overflow:hidden}
.hero-copy,.hero-art,.scroll-cue{z-index:1}
.ambient-light{position:absolute;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(ellipse at 75% 50%,#e7c98c26,transparent 65%)}
.ambient-light span{position:absolute;bottom:-20px;left:var(--x);height:4px;width:4px;border-radius:50%;background:#c0924d;box-shadow:0 0 15px 4px #dfbb7270;opacity:0;animation:sacred-light var(--time) var(--delay) linear infinite}
.ambient-light span:nth-child(6n+1){--x:8%;--time:14s;--delay:-3s}
.ambient-light span:nth-child(6n+2){--x:23%;--time:19s;--delay:-12s}
.ambient-light span:nth-child(6n+3){--x:43%;--time:16s;--delay:-7s}
.ambient-light span:nth-child(6n+4){--x:61%;--time:22s;--delay:-17s}
.ambient-light span:nth-child(6n+5){--x:79%;--time:17s;--delay:-2s}
.ambient-light span:nth-child(6n){--x:94%;--time:20s;--delay:-10s}
.ambient-light span:nth-child(n+7){margin-left:4%;animation-direction:reverse;width:2px;height:2px}
@keyframes sacred-light{0%{transform:translate3d(0,0,0);opacity:0}15%,80%{opacity:.6}100%{transform:translate3d(35px,-850px,0);opacity:0}}
.diya{position:absolute;bottom:40px;width:28px;height:25px;z-index:2;pointer-events:none}
.diya-left{left:29px}.diya-right{right:29px}
.diya span{position:absolute;bottom:0;left:0;width:28px;height:10px;background:linear-gradient(#dfba72,#ae793e);border-radius:3px 3px 18px 18px;border-top:2px solid #f8db9d;box-shadow:0 6px 12px #2d0b1926}
.diya i{position:absolute;left:10px;bottom:12px;width:9px;height:17px;border-radius:80% 15% 65% 40%;background:linear-gradient(#fff9d9 15%,#f9d477 60%,#dc8c36);box-shadow:0 0 17px 5px #e6b65d55;transform-origin:50% 100%;animation:lamp-glow 2.6s ease-in-out infinite alternate}
.diya-right i{animation-delay:-1.2s}
@keyframes lamp-glow{0%,100%{transform:rotate(-7deg) scaleY(.9);opacity:.9}40%{transform:rotate(4deg) scaleY(1.1);opacity:1}70%{transform:rotate(-2deg) scaleY(1)}}
.film-frame>video{height:100%;width:100%;object-fit:cover;object-position:center 25%;filter:brightness(.85);display:block;pointer-events:none}
.preview-motion{display:block;margin-top:16px;padding:6px 0;border-bottom:1px solid var(--line);color:var(--gold);font-size:10px;letter-spacing:.4px;min-height:32px}
.audio-dock{border-radius:22px;max-width:calc(100vw - 28px)}
.audio-dock>button{width:100%;border-radius:22px 22px 0 0}
.audio-settings{display:flex;align-items:center;gap:9px;border-top:1px solid #daceb870;padding:5px 13px 9px}
.audio-settings select{width:190px;max-width:calc(100vw - 140px);min-height:28px;appearance:auto;border:0;border-radius:3px;background:transparent;color:var(--muted);font:9px var(--sans);cursor:pointer}
.audio-settings input{width:100%;accent-color:var(--maroon);cursor:pointer}
.audio-settings select:focus-visible,.audio-settings input:focus-visible{outline:2px solid var(--gold);outline-offset:2px}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.toast{bottom:135px}
@media(max-width:600px){.preview-motion{margin:16px auto 0}.diya{bottom:27px}.diya-left{left:22px}.diya-right{right:22px}.audio-settings select{font-size:8px}.audio-settings{padding-top:2px;padding-bottom:6px}.ambient-light span{animation-duration:23s}}
@media(prefers-reduced-motion:reduce){.ambient-light span{display:none}.diya i{animation:none}}

/* A candlelit palace setting for the opening scene. */
.site-header{max-width:none;padding-left:max(40px,calc((100vw - 1100px)/2));padding-right:max(40px,calc((100vw - 1100px)/2));background:#351520;border-bottom:1px solid #cda7624d;color:#f2dfbd}
.site-header .monogram{color:#fff0ce}.site-header .monogram span,.site-header .monogram i{color:#d3af75}
.site-header nav a{color:#e1c9b3}.site-header nav a:after{background:#e5bf7e}
.hero{max-width:none;min-height:800px;padding-left:max(60px,calc((100vw - 1100px)/2));padding-right:max(60px,calc((100vw - 1100px)/2));padding-top:70px;padding-bottom:95px;background:radial-gradient(ellipse at 77% 42%,#85423250,transparent 50%),radial-gradient(ellipse at 18% 95%,#733e4438,transparent 60%),linear-gradient(120deg,#351520,#542333 62%,#30131d);color:#fff0d0;border-bottom:4px double #b28c50}
.hero:before{content:'';position:absolute;left:-390px;top:40px;width:680px;height:680px;background:url('assets/mandala.svg') center/contain no-repeat;opacity:.1;z-index:-1;pointer-events:none}
.hero:after{content:'';position:absolute;inset:18px;border:1px solid #cfae6b24;pointer-events:none;z-index:0}
.hero h1{color:#fff0d3;text-shadow:0 4px 35px #10030830}
.hero .eyebrow,.hero .hindi-invocation,.hero .name-join i,.hero .date-number{color:#e5be7d}
.hero .tiny-line,.hero .join-line,.hero .name-join:before{background:#bb95564d}
.hero .hero-description{color:#e3c9bc;font-size:13px;line-height:2}
.hero .hero-footnote{color:#c9ad91;margin-top:17px}
.hero .hero-date{width:fit-content;gap:19px;border:1px solid #bd9a5e61;padding:14px 23px;border-radius:3px;background:linear-gradient(120deg,#d8b4740d,#f3cfa604);box-shadow:inset 0 0 25px #e5ba7206}
.hero .date-number{border-right-color:#b497633d}
.hero .hero-date div>span{color:#f0d6ac;letter-spacing:2px}.hero .hero-date small{color:#d0b8a5}
.hero .hero-mandala{opacity:.36;filter:drop-shadow(0 0 30px #d99b4e38)}
.hero .sacred-arch{background:radial-gradient(ellipse at 50% 32%,#8a493e,#612b35 62%,#401b2a);box-shadow:0 0 0 9px #ccac7112,0 0 0 10px #b08b5133,0 25px 70px #16061199,inset 0 0 60px #e2bb6314;animation:arch-float 7s ease-in-out infinite}
.hero .arch-shadow{border-color:#d3ad69;opacity:.65}
.hero .ganesha{filter:drop-shadow(0 0 16px #d4a64f4d)}
.hero .floral{filter:drop-shadow(0 7px 12px #15050f55);z-index:3}
.hero .art-caption p{color:#d6b78c}.hero .art-caption>span{background:#c5a76e55}
.hero .scroll-cue{color:#cfaa74}
.hero .ambient-light{background:radial-gradient(ellipse at 75% 50%,#dca65814,transparent 65%)}
.hero .ambient-light span{background:#f6d499;box-shadow:0 0 19px 5px #dfbb7255;width:3px;height:3px}
.ceremony-tag{display:flex;align-items:center;gap:12px;font-size:8px;letter-spacing:2.1px;color:#cfb388;margin-top:26px}.ceremony-tag span{font-size:18px}
.temple-canopy{position:absolute;inset:0 40px auto;height:45px;display:flex;justify-content:space-around;border-top:1px solid #b78e4c77;z-index:1;pointer-events:none}
.temple-canopy i{position:relative;display:block;width:1px;height:var(--hang,22px);background:linear-gradient(#bd965a99,#d5b47855);transform-origin:top;animation:temple-sway 6s ease-in-out infinite alternate}
.temple-canopy i:nth-child(3n){--hang:37px;animation-delay:-2s}.temple-canopy i:nth-child(3n+1){--hang:15px;animation-delay:-4s}
.temple-canopy i:after{content:'✧';position:absolute;bottom:-16px;left:50%;transform:translateX(-50%);font-size:18px;font-style:normal;color:#d7b173;text-shadow:0 0 14px #ebbb6f66}
@keyframes arch-float{0%,100%{transform:translateY(0) rotate(-3deg)}50%{transform:translateY(-9px) rotate(-2deg)}}
@keyframes temple-sway{from{transform:rotate(-5deg)}to{transform:rotate(5deg)}}
.countdown-section{background:radial-gradient(ellipse at 80% 50%,#8b4b3a55,transparent 70%),#48212c;border-top:1px solid #b2904e80;border-bottom:1px solid #b2904e80}
.countdown div{border:1px solid #cfb17838;border-radius:6px;padding:14px 15px;background:linear-gradient(135deg,#e3be7910,#e3be7902);box-shadow:inset 0 1px #f7d89c0d}
.date-card{box-shadow:0 15px 45px #75513513;background:radial-gradient(ellipse at 50% 20%,#fffaf0,#f2e4cc)}
.film-frame{box-shadow:0 20px 65px #704a2b22}.qr-card{transition:transform .4s,box-shadow .4s}.qr-card:hover{transform:rotate(0);box-shadow:0 16px 40px #704a2b15}
.family-section{background:radial-gradient(ellipse at center,#efdec2,transparent 75%),url('assets/floral-colorful.svg') left bottom/170px auto no-repeat,url('assets/floral-colorful.svg') right bottom/170px auto no-repeat}
.audio-dock.awaiting-sound{border-color:#b48747;box-shadow:0 0 0 4px #c7a36a16,0 6px 26px #4c232320}
.awaiting-sound .audio-icon{animation:audio-glow 2.4s ease-in-out infinite}
@keyframes audio-glow{50%{box-shadow:0 0 0 5px #b4874726}}
@media(max-width:1100px){.hero{padding-left:40px;padding-right:40px;min-height:750px}.hero .hero-description{font-size:11px}.countdown div{padding:12px}}
@media(max-width:800px){.site-header{padding-left:24px;padding-right:24px}.hero{padding-left:28px;padding-right:28px;min-height:690px}.hero .hero-description{font-size:10px}.hero .hero-date{padding:11px 15px}.ceremony-tag{font-size:7px;letter-spacing:1.2px;gap:8px}.temple-canopy{left:25px;right:25px}.countdown div{padding:12px 15px}}
@media(max-width:600px){.hero{padding:45px 26px 65px;min-height:0}.hero:after{inset:10px}.hero:before{left:-440px;top:160px}.hero .hero-date{margin:0 auto 20px;padding:13px 22px}.hero .hero-description{font-size:11px}.ceremony-tag{justify-content:center;font-size:7px;margin-top:20px}.hero .hero-footnote{font-size:15px}.hero .hero-art{margin-top:32px}.temple-canopy{height:30px;left:20px;right:20px}.temple-canopy i{max-height:22px}.temple-canopy i:nth-child(even){display:none}.countdown{gap:8px}.countdown div{padding:11px 10px;min-width:47px}.countdown div>span{font-size:43px}.countdown small{letter-spacing:1px}.family-section{background-size:auto,90px auto,90px auto}.audio-dock button{min-width:225px}}
@media(max-width:360px){.hero{padding-left:20px;padding-right:20px}.countdown{gap:5px}.countdown div{padding:10px 8px;min-width:43px}.countdown div>span{font-size:38px}.ceremony-tag{font-size:6px;letter-spacing:1px}}
@media(prefers-reduced-motion:reduce){.hero .sacred-arch,.temple-canopy i,.awaiting-sound .audio-icon{animation:none}}
