@font-face{font-family:Devotion;src:url('assets/devanagari-regular.ttf') format('truetype');font-display:swap;font-weight:400 500}
@font-face{font-family:Devotion;src:url('assets/devanagari-bold.ttf') format('truetype');font-display:swap;font-weight:600 900}
:root{--emerald:#075140;--deep:#043d33;--maroon:#790f19;--gold:#bf8b39;--ivory:#fff9e9;--serif:Devotion,'Noto Serif Devanagari','Kohinoor Devanagari','Nirmala UI',serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0;color:var(--maroon);background:#053e34;font-family:var(--serif);font-size:17px;line-height:1.8}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit}a{color:inherit}button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid var(--emerald);outline-offset:5px}img{display:block;width:100%;height:auto}button{cursor:pointer}h1,h2,h3,p{margin:0}h2{font-size:clamp(29px,7.7vw,47px);line-height:1.5;font-weight:700;text-wrap:balance}h3{font-size:22px;line-height:1.6}p{margin-top:9px}strong{font-weight:700}.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}.skip{position:fixed;z-index:100;top:-100px;background:white;padding:10px}.skip:focus{top:0}.invitation{width:min(100%,740px);margin:auto;position:relative;isolation:isolate;overflow:hidden;background:#fff9e9;box-shadow:0 0 100px #011e1ccc}.temple-backdrop{position:absolute;inset:0;z-index:-3;background-image:url('assets/temple-background.png');background-size:min(100vw,740px) auto;background-position:center 34%;background-attachment:fixed}.temple-top{position:absolute;top:0;left:0;width:100%;height:min(100vw,740px);background:url('assets/temple-background.png') center top/100% auto no-repeat;z-index:-2;mask-image:linear-gradient(black 65%,transparent)}.temple-bottom{position:absolute;bottom:0;left:0;width:100%;height:min(105vw,760px);background:url('assets/temple-background.png') center bottom/100% auto no-repeat;z-index:-2;mask-image:linear-gradient(transparent,black 35%)}.temple-backdrop:after{content:'';position:absolute;inset:0 11%;background:linear-gradient(90deg,#fff9e9b8,#fff9e9e0 20%,#fff9e9e0 80%,#fff9e9b8)}.section,.hero,.closing{position:relative;text-align:center}.hero{padding:140px 7% 5px}.hero-logo{width:94%;margin:auto}.event-title{margin:-6px auto 0;width:100%}.hero-notes{font-size:14px;font-weight:600;line-height:2;color:var(--maroon)}.hero-notes span{color:var(--gold);padding:0 3px}.decorative{mix-blend-mode:multiply}.scroll-invitation{display:flex;flex-direction:column;align-items:center;width:max-content;margin:22px auto 0;font-size:14px;line-height:1.4;text-decoration:none;color:var(--emerald)}.scroll-invitation span{font:26px Georgia,serif;margin-top:3px}.hanging-bells{position:absolute;z-index:2;top:0;width:18%;max-width:117px;pointer-events:none;transform-origin:50% 0;animation:bell-sway 6s ease-in-out infinite;mix-blend-mode:multiply}.hanging-bells.left{left:0}.hanging-bells.right{right:0;animation-delay:-3s}.hanging-bells.right img{transform:scaleX(-1)}@keyframes bell-sway{0%,100%{transform:rotate(-3deg)}50%{transform:rotate(3deg)}}.motion-control{position:absolute;z-index:4;top:16px;left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:6px;border:1px solid #9f742863;border-radius:24px;background:#fffaf0e8;color:var(--emerald);padding:6px 12px;font-size:12px;min-height:38px}.section{padding:10px 12% 32px}.section-divider{display:flex;align-items:center;gap:12px;color:var(--gold);margin:27px auto 23px;width:84%;font-size:20px}.section-divider:before,.section-divider:after{content:'';height:1px;flex:1;background:linear-gradient(90deg,transparent,var(--gold))}.section-divider:after{transform:scaleX(-1)}.eyebrow{font-size:14px;font-weight:600;color:var(--emerald);margin-bottom:14px}.blessings-photos{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:10px -3% 26px}.image-button{display:block;border:0;padding:0;background:none;color:inherit;margin:auto;max-width:100%;touch-action:manipulation}.name-heading{font-size:clamp(24px,6.3vw,37px);line-height:1.55}.small-divider{color:var(--gold);margin:13px}.wide-art{width:112%;max-width:112%;margin:17px -6%}.date-art{margin-top:28px}.date-text{font-size:20px;font-weight:700;margin-top:0}.date-text span{font-size:16px;padding:0 4px;color:var(--gold)}.time{font-size:21px}.live-title{font-size:30px;line-height:1.6;margin:17px 0 3px}.live-title span{font-family:Georgia,serif;letter-spacing:1px;color:var(--emerald)}.text-link{display:inline-block;font-size:15px;text-underline-offset:6px;margin:8px 0}.organisers{margin-top:29px;padding-top:19px;border-top:1px solid #bb8a394a;font-size:16px}.organisers .eyebrow{margin:0}.subheading{font-size:19px;margin:15px 0 24px}.gold-prizes{display:grid;gap:16px}.gold-prize{position:relative;display:grid;grid-template-columns:38% 1fr;align-items:center;padding:14px 10px 14px 0;border:1px solid #c69a4e;border-radius:50px 8px 45px 8px;background:linear-gradient(120deg,#fffdf5e8,#fceec5c4);box-shadow:inset 0 0 0 4px #fffaf5,inset 0 0 0 5px #d6b27365}.gold-prize h3{font-size:clamp(21px,5.2vw,29px)}.coin{width:113%;margin-left:-3px}.prize-label{font-family:Arial,sans-serif;font-size:12px;font-weight:bold;letter-spacing:1px;color:var(--emerald);margin:0}.prize-weight{font-size:clamp(25px,6.6vw,32px);font-weight:700;line-height:1.3;margin-top:4px}.prize-weight strong{font:700 clamp(44px,11vw,52px)/1 Georgia,serif;vertical-align:-2px;padding-right:2px}.silver-intro{display:flex;align-items:center;justify-content:center;margin:28px 0 15px;text-align:left}.silver-intro img{width:40%;margin-left:-10px}.silver-intro h3{font-size:clamp(27px,6.5vw,30px);font-weight:700}.silver-intro strong{font-size:clamp(35px,8.4vw,40px);font-weight:700}.silver-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.silver-grid article{border:1px solid #c0924796;border-radius:6px;padding:16px 7px 13px;background:#fffdf0a8;display:flex;flex-direction:column;justify-content:space-between;gap:7px}.silver-grid article span{font:700 12px Arial,sans-serif;letter-spacing:.3px;color:var(--emerald)}.silver-grid h3{font-size:19px;line-height:1.6}.silver-grid p{font-size:clamp(20px,5.4vw,24px);font-weight:700;line-height:1.5;margin:0}.statement{font-size:21px;font-weight:600;line-height:1.8}.india{width:68%;margin:14px auto}.zone-details,details{border-top:1px solid #b3884466;border-bottom:1px solid #b3884466;margin:17px 0;text-align:left;background:#fffaf080}summary{cursor:pointer;padding:13px 3px;font-size:16px;font-weight:600;color:var(--emerald)}.details-content{padding:0 4px 18px}.details-content h3{font-size:20px;margin:15px 0 5px}.details-content p{font-size:17px;line-height:1.9}.zone-rule{font-size:23px;margin-top:24px}.zone-rule strong{font-size:29px}.zone-coins{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin-top:15px}.zone-coins span{display:block;margin-top:6px;font-size:16px}.zone-one{font-size:26px;margin-top:21px}.fine{font-size:15px;line-height:1.9}.artist-photo{width:128%;max-width:128%;margin:21px -14% 5px}.artist-names{display:grid;grid-template-columns:repeat(3,1fr);width:126%;margin:0 -13%;gap:0}.artist-names>div{padding:0 4px}.artist-names>div+div{border-left:1px solid #c7995490}.artist-names h3{font-size:clamp(17px,4.5vw,26px)}.artist-names p{font-size:14px;line-height:1.7;margin:3px 0 0}.presenter{margin-top:34px}.presenter-photo{width:156px;height:153px;overflow:hidden;border-radius:50%;border:2px solid #b58536;position:relative;background:#fff}.presenter-photo img{position:absolute;width:542px;max-width:none;height:auto;left:-194px;top:-640px}.presenter h3{font-size:22px;margin-top:13px}.presenter p{font-size:16px;margin:2px}.instrument-break{width:48%;margin:24px auto 10px}.tickets h2[lang=en]{font-family:Georgia,serif;font-size:clamp(42px,12vw,67px);font-style:italic;line-height:1.2}.free-line{font-size:25px;color:var(--emerald);font-weight:600;margin:12px 0 24px}.steps{margin:0;padding:0 5px 16px 30px;font-size:17px}.steps li{padding:5px 0}.action-stack{display:grid;gap:12px;margin:26px 0 17px}.button{display:flex;align-items:center;justify-content:center;min-height:53px;padding:12px 17px;border-radius:6px;text-decoration:none;font-size:17px;font-weight:600;transition:transform .2s,background .2s}.button:active{transform:scale(.98)}.primary{background:linear-gradient(125deg,#096551,#043e33);border:1px solid #d4ad65;color:#fff0c6;box-shadow:0 4px 14px #06483725}.outline{border:1px solid #966a31;color:var(--maroon);background:#fffaf0a0}.phone{display:flex;flex-direction:column;text-decoration:none;font:700 30px Georgia,serif;margin-top:24px;line-height:1.7}.phone span{font:16px var(--serif)}.sponsor-family{font-size:22px;font-weight:600}.english-label{font:600 16px Arial,sans-serif;letter-spacing:1.5px;color:var(--emerald);margin-top:20px}.family-art{border-radius:4px;overflow:hidden;margin-top:24px}.family-names{font-size:16px}.family-names p{padding:12px 0;border-bottom:1px solid #b58b4340}.family-names p.elders{font-size:18px;font-weight:600}.family-names span{display:block;font-size:15px;color:var(--emerald)}.sponsor-brand{width:118%;max-width:118%;margin:30px -9%;background:#fff;padding:7px 0}.contest-photo{position:relative;overflow:hidden;width:114%;max-width:114%;aspect-ratio:1.23;margin:23px -7% 10px;border:2px solid #c69b50;border-radius:8px;background:var(--ivory)}.contest-photo img{position:absolute;width:109.3%;max-width:none;left:-4.65%;top:-48.6%}.contest-rhythm{display:flex;justify-content:center;gap:9px;flex-wrap:wrap;margin:24px 0;font-size:17px;font-weight:600}.contest-rhythm span+span:before{content:'•';color:var(--gold);margin-right:9px}.closing{padding:16px 14% 170px}.closing-instruments{width:65%;margin:10px auto 20px}.closing p{font-size:17px}.closing a{display:block;text-decoration:none;font-size:24px;font-weight:600;line-height:1.8;margin-top:10px}.closing p.fine{font-size:15px}.scroll-progress{position:fixed;top:0;left:0;height:3px;width:100%;transform:scaleX(0);transform-origin:left;background:#c99840;z-index:20}#petals{position:fixed;inset:0;overflow:hidden;pointer-events:none;z-index:9;contain:strict}.petal{position:absolute;top:-60px;left:var(--x);width:var(--size);height:var(--size);animation:petal-fall var(--duration) linear infinite;animation-delay:var(--delay);will-change:transform;opacity:0}.petal img{width:100%;height:100%;object-fit:contain;animation:petal-turn 6s ease-in-out infinite;animation-delay:var(--delay)}@keyframes petal-fall{0%{transform:translate3d(0,-60px,0) rotate(0deg);opacity:0}8%{opacity:.76}90%{opacity:.76}100%{transform:translate3d(var(--drift),calc(100vh + 120px),0) rotate(190deg);opacity:0}}@keyframes petal-turn{0%,100%{transform:rotateY(0) rotate(-15deg)}50%{transform:rotateY(150deg) rotate(25deg)}}.motion-paused .petal,.motion-paused .petal img,.motion-paused .hanging-bells{animation-play-state:paused}.motion-paused #petals{opacity:0}dialog{width:min(94vw,980px);max-height:93dvh;padding:47px 10px 12px;border:1px solid #d9b26c;border-radius:12px;background:#fff9ef;color:var(--maroon);overflow:hidden}dialog::backdrop{background:#001e1ce0;backdrop-filter:blur(5px)}.close-viewer{position:absolute;top:3px;right:9px;font:32px Arial,sans-serif;color:var(--maroon);background:none;border:0;width:42px;height:42px}.viewer-scroll{overflow:auto;max-height:76dvh;overscroll-behavior:contain}.viewer-scroll img{max-height:75dvh;object-fit:contain;cursor:zoom-in}.viewer-scroll.zoomed img{max-height:none;width:140%;max-width:none;cursor:zoom-out}dialog>p{text-align:center;font-size:14px;margin:9px 0 0}.modal-open{overflow:hidden}
@media(min-width:600px){.hero{padding-top:175px}.hero-logo{max-width:480px}.event-title{max-width:560px}.hero-notes{font-size:17px}.section{padding-bottom:38px}.section-divider{margin:36px auto 30px}.gold-prize{padding:15px 22px 15px 0}.gold-prize .coin{width:85%;margin:auto}.gold-prize h3{font-size:30px}.prize-label{font-size:14px}.gold-prizes{gap:20px}.silver-grid h3{font-size:25px}.silver-grid{gap:17px}.silver-grid article{padding:20px 16px}.silver-grid article span{font-size:14px}.artist-names p{font-size:17px}.artist-names h3{font-size:27px}.presenter-photo{transform:scale(1.15);margin:23px auto 30px}.family-names{display:grid;grid-template-columns:1fr 1fr;gap:0 15px}.family-names .elders{grid-column:1/-1}.closing{padding-bottom:190px}.motion-control{font-size:13px}}
@media(max-width:360px){.section{padding-left:10%;padding-right:10%}.hero{padding-top:120px}.hero-notes{font-size:13px}.artist-names p{font-size:13px}.silver-grid h3{font-size:18px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}body:not(.motion-enabled) .petal,body:not(.motion-enabled) .petal img,body:not(.motion-enabled) .hanging-bells{animation:none}body:not(.motion-enabled) #petals{display:none}}

/* Reference-led typography and focused screenshot corrections. */


h2:not(.sr-only):not([lang=en]),.name-heading,.artist-names h3,.presenter h3,.gold-prize h3,.silver-grid h3,.zone-one,.sponsor-family,.closing>a{font-family:var(--serif);font-weight:700;line-height:1.6}
h2:not(.sr-only):not([lang=en]){font-size:clamp(32px,8.4vw,52px);text-shadow:0 1px 0 #fff8e1}
.name-heading,.ceremony h2.name-heading{font-size:clamp(28px,7.4vw,43px);line-height:1.7;margin:4px -4%}
.ceremony>p{font-size:19px;font-weight:600;line-height:1.85}
.ceremony .time{font-size:24px}
.ceremony .live-title{font-family:var(--serif);font-size:32px}
.organisers{font-size:18px;font-weight:600}
.organisers .eyebrow{font-size:17px}
.prizes>.subheading{font-family:var(--serif);font-size:clamp(22px,5.7vw,30px);font-weight:700;margin-bottom:27px}
.zone-details>summary{font-size:clamp(21px,5.5vw,28px);font-weight:700;line-height:1.7;padding:17px 8px;background:#fff9e5cc}
.zone-details{border:1px solid #b98a3a90;border-radius:6px;overflow:hidden}
.zone-rule{font-family:var(--serif);font-size:clamp(24px,6.3vw,34px);font-weight:700;line-height:1.7}
.zone-rule strong{font-size:1.15em}
.zone-one{font-size:clamp(27px,7vw,38px);margin-top:24px}
.zone-coins span{font-weight:700;font-size:18px}
.zones>.fine{font-size:17px;font-weight:600}
.artists>h2{position:relative;margin:15px 0 20px;padding:15px 0}
.artists>h2:before,.artists>h2:after{content:'';display:block;width:75%;height:1px;margin:0 auto;background:linear-gradient(90deg,transparent,#c29445,transparent)}
.artists>h2:before{margin-bottom:16px}.artists>h2:after{margin-top:16px}
.artists>h2+p{font-size:21px;font-weight:700;line-height:1.8}
.artist-names h3{font-size:clamp(20px,5.2vw,30px);line-height:1.7;overflow-wrap:normal}
.artist-names p{font-size:15px;font-weight:600;line-height:1.8}
.artist-names>div{padding:5px 4px}
.presenter h3{font-size:clamp(23px,6vw,31px)}
.broadcast-brand{margin:2px auto 28px}
.broadcast-logo{width:72%;max-width:297px;aspect-ratio:342/138;margin:auto;position:relative;overflow:hidden}
.broadcast-logo img{position:absolute;width:275.1462%;max-width:none;height:auto;left:-87.4269%;top:-32.6087%}
.broadcast-live{font-family:var(--serif);font-size:clamp(27px,7.38vw,39.6px);font-weight:700;line-height:1.5;margin-top:12px}
.broadcast-live span{font-family:Georgia,serif}
.phone{margin-top:29px;font-size:clamp(34px,9.2vw,48px)}
.phone span{font-family:var(--serif);font-size:clamp(24px,6.7vw,34px);font-weight:700;line-height:1.8;margin-bottom:5px}
@media(min-width:600px){.artist-names p{font-size:18px}.ceremony>p{font-size:22px}.organisers{font-size:20px}.ceremony .time{font-size:28px}.ceremony .live-title{font-size:38px}}
@media(max-width:360px){.artist-names h3{font-size:19px}.artist-names p{font-size:14px}.zone-details>summary{font-size:20px}.phone span{font-size:24px}}


/* Compact, consistent vertical rhythm. */
body{line-height:1.6}
p{margin-top:5px}
.hero{padding-top:124px;padding-bottom:0}
.hero-logo{width:84%;max-width:425px}
.hero-notes{line-height:1.65;margin-top:4px}
.scroll-invitation{margin-top:12px}
.section{padding-top:4px;padding-bottom:18px}
.section-divider{margin:16px auto 12px;line-height:1}
.eyebrow{margin-top:4px;margin-bottom:7px}
h2:not(.sr-only):not([lang=en]),.name-heading,.artist-names h3,.presenter h3,.gold-prize h3,.silver-grid h3,.zone-one,.sponsor-family,.closing>a{line-height:1.4}
.name-heading,.ceremony h2.name-heading{line-height:1.42;margin-top:2px;margin-bottom:2px}
.ceremony>p{line-height:1.55;margin-top:4px}
.blessings-photos{margin-top:7px;margin-bottom:14px}
.small-divider{margin:7px;line-height:1}
.wide-art{margin-top:10px;margin-bottom:10px}
.date-art{margin-top:14px}
.live-title{margin-top:10px;margin-bottom:0}
.text-link{margin:5px 0}
.organisers{margin-top:15px;padding-top:11px;line-height:1.6}
.subheading,.prizes>.subheading{margin-top:8px;margin-bottom:14px;line-height:1.5}
.gold-prizes{gap:12px}
.gold-prize{padding-top:10px;padding-bottom:10px}
.gold-prize h3{line-height:1.4}
.prize-weight{margin-top:2px;line-height:1.3}
.silver-intro{margin-top:17px;margin-bottom:10px}
.silver-grid article{padding-top:12px;padding-bottom:10px;gap:5px}
.silver-grid h3{line-height:1.45}
.statement{line-height:1.55;margin-top:6px}
.india{margin-top:8px;margin-bottom:8px}
.zone-details,details{margin-top:11px;margin-bottom:11px}
summary{padding-top:10px;padding-bottom:10px}
.zone-details>summary{padding-top:11px;padding-bottom:11px;line-height:1.5}
.details-content{padding-bottom:12px}
.details-content h3{margin-top:9px;margin-bottom:3px;line-height:1.4}
.details-content p{line-height:1.65;margin-top:4px}
.zone-rule{margin-top:14px;line-height:1.4}
.zone-coins{margin-top:10px}
.zone-coins span{margin-top:4px}
.zone-one{margin-top:13px}
.fine{line-height:1.6}
.artists>h2{margin-top:6px;margin-bottom:10px;padding-top:6px;padding-bottom:6px}
.artists>h2:before{margin-bottom:8px}
.artists>h2:after{margin-top:8px}
.artists>h2+p{line-height:1.5;margin-top:4px}
.artist-photo{margin-top:13px;margin-bottom:3px}
.artist-names>div{padding-top:3px;padding-bottom:3px}
.artist-names h3{line-height:1.45}
.artist-names p{line-height:1.5;margin-top:3px}
.presenter{margin-top:21px}
.presenter h3{margin-top:9px}
.presenter p{margin-top:3px;line-height:1.5}
.instrument-break{margin-top:15px;margin-bottom:6px}
.broadcast-brand{margin-top:2px;margin-bottom:17px}
.broadcast-live{margin-top:7px;line-height:1.35}
.free-line{margin-top:8px;margin-bottom:14px;line-height:1.5}
.steps{padding-bottom:10px}
.steps li{padding-top:3px;padding-bottom:3px;line-height:1.55}
.phone{margin-top:17px;line-height:1.35}
.phone span{line-height:1.4;margin-bottom:5px}
.english-label{margin-top:12px}
.family-art{margin-top:16px}
.family-names p{padding-top:8px;padding-bottom:8px;line-height:1.6}
.family-names span{line-height:1.5;margin-top:3px}
.sponsor-brand{margin-top:18px;margin-bottom:18px}
.contest-photo{margin-top:14px;margin-bottom:7px}
.contest-rhythm{margin-top:14px;margin-bottom:14px}
.contest-copy{width:112%;margin:4px -6% 0}
.contest-awards{font-size:22px;font-weight:700;line-height:1.5;margin:0}
.contest-copy .contest-rhythm{font-size:22px;font-weight:700;line-height:1.5;gap:6px;margin:8px 0}
.contest-copy .contest-rhythm span+span:before{margin-right:6px}
.contest-copy>.statement{font-size:26px;font-weight:700;line-height:1.5;margin-top:0}
.section.contest{padding-bottom:12px}
.closing{padding-top:10px;padding-bottom:105px}
.closing-instruments{margin-top:6px;margin-bottom:12px}
.closing>a{margin-top:6px}
@media(min-width:600px){.hero{padding-top:160px}.section{padding-bottom:22px}.section-divider{margin-top:20px;margin-bottom:15px}.presenter-photo{margin:16px auto 18px}.closing{padding-bottom:115px}}
@media(max-width:360px){.hero{padding-top:114px}}

/* Supplied complete transparent blessings artwork, preserved as received. */
.blessings-composition{width:100%;max-width:100%;margin:4px auto 10px;background:transparent;border:0;padding:0}
.blessings-composition img{width:100%;height:auto;display:block;background:transparent;mix-blend-mode:normal;filter:none}

/* Supplied transparent zone and prize artwork, shown without alterations. */
.zone-intro-art{width:90%;max-width:90%;margin:8px auto 10px;background:transparent}
.prizes>h2.artwork-heading{width:81%;max-width:81%;margin:8px auto 14px;font-size:0;line-height:0;text-shadow:none}
.zone-intro-art img,.artwork-heading img{width:100%;height:auto;background:transparent;mix-blend-mode:normal;filter:none}
.claim-guide-art{width:100%;max-width:100%;margin:10px auto}
.artists>h2.section-artwork-heading,.contest>h2.section-artwork-heading{width:90.72%;max-width:90.72%;margin:8px auto 10px;padding:0;font-size:0;line-height:0;text-shadow:none}
.artists>h2.section-artwork-heading:before,.artists>h2.section-artwork-heading:after{display:none}
.section-artwork-heading img,.sponsor-composition img,.contest-composition img{width:100%;height:auto;mix-blend-mode:normal;background:transparent}
.sponsor-composition{width:103.68%;max-width:103.68%;margin:8px -1.84% 10px}
.contest-composition{width:90.72%;max-width:90.72%;margin:8px auto 10px}

/* A single downward-moving line with a fixed Scroll label. */
.scroll-invitation{font-size:clamp(20px,5.2vw,24px);font-weight:700;line-height:1.4;padding-bottom:10px}
.scroll-invitation .scroll-label{display:block;width:auto;height:auto;margin-top:6px;font:700 12px Arial,sans-serif;letter-spacing:.12em;line-height:1.5;animation:none}
.scroll-invitation .scroll-line{display:block;width:2px;height:30px;margin-top:6px;border-radius:2px;background:currentColor;animation:invitation-down 2.6s ease-in-out infinite}
@keyframes invitation-down{0%{transform:translateY(0);opacity:0}18%{opacity:1}70%{opacity:1}100%{transform:translateY(10px);opacity:0}}
.motion-paused .scroll-invitation .scroll-line{animation:none;transform:none;opacity:1}
@media(prefers-reduced-motion:reduce){body:not(.motion-enabled) .scroll-invitation .scroll-line{animation:none;transform:none;opacity:1}}

/* Compact top navigation and fixed music / contact controls. */
[hidden]{display:none!important}
html{scroll-padding-top:88px}
.site-header{position:sticky;z-index:30;top:0;width:100%;padding-top:env(safe-area-inset-top);border-bottom:1px solid #d4b574;background:#064c40;font-family:Arial,sans-serif}
.top-actions{display:grid;grid-template-columns:1fr 1fr 44px;gap:7px;align-items:center;width:min(100%,740px);margin:0 auto;padding:8px 12px;background:#064c40}
.header-action{display:flex;justify-content:center;align-items:center;min-height:42px;padding:8px 6px;border:1px solid #e5c78975;border-radius:8px;color:#fff1cf;text-decoration:none;font-size:clamp(12px,3.3vw,16px);font-weight:700;white-space:nowrap}
.header-action:first-child{background:#f2d799;color:#164b3b;border-color:#f2d799}
.menu-toggle{display:grid;place-items:center;width:44px;height:44px;border:0;background:none;color:#fff1cf;border-radius:7px;padding:10px}
.menu-toggle svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round}
.menu-toggle[aria-expanded=true]{background:#f2d79926}
.site-menu{position:absolute;top:calc(100% + 4px);right:max(12px,calc((100vw - 740px)/2 + 12px));width:min(280px,100%);max-height:calc(100dvh - 95px);overflow:auto;padding:8px;border:1px solid #ccaa64;border-radius:12px;background:#fffaee;box-shadow:0 12px 35px #053b343b;color:var(--deep)}
.site-menu nav{display:grid}
.site-menu nav>a,.site-menu nav>button{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:45px;padding:11px 12px;border:0;border-radius:7px;background:none;text-decoration:none;text-align:left;font:600 15px Arial,sans-serif;color:var(--deep)}
.site-menu nav>a:hover,.site-menu nav>button:hover{background:#0751400c}
.site-menu nav>.menu-contact{flex-direction:column;align-items:flex-start;gap:5px}
.menu-contact span{font-size:17px;letter-spacing:.5px;color:var(--maroon)}
.menu-motion{display:flex;align-items:center;justify-content:center;gap:9px;width:100%;min-height:42px;margin-top:5px;padding:9px;border:0;border-top:1px solid #b18a4740;background:none;color:var(--emerald);font:14px var(--serif)}
.site-header a:focus-visible,.site-header button:focus-visible{outline:2px solid #d0a750;outline-offset:2px}
.floating-actions{position:fixed;z-index:25;right:max(12px,calc((100vw - 740px)/2 + 12px));bottom:max(18px,calc(env(safe-area-inset-bottom) + 12px));display:grid;gap:10px}
.floating-button{display:grid;place-items:center;width:46px;height:46px;padding:12px;border:1px solid #d8b877;border-radius:50%;box-shadow:0 4px 14px #00352b33;color:#fff5d6;background:#075140;touch-action:manipulation}
.floating-button svg{display:block;width:22px;height:22px;fill:currentColor}
.whatsapp-toggle{background:#168953;border-color:#d9e8c0;padding:10px}
.whatsapp-toggle svg{width:25px;height:25px}
.music-toggle .music-pause-icon{display:none}
.music-toggle.is-playing .music-play-icon{display:none}
.music-toggle.is-playing .music-pause-icon{display:block}
.floating-button:active{transform:scale(.96)}
.site-notice{position:fixed;z-index:40;right:max(68px,calc((100vw - 740px)/2 + 68px));bottom:max(22px,calc(env(safe-area-inset-bottom) + 18px));width:min(270px,calc(100vw - 90px));padding:12px 14px;border:1px solid #ccaa64;border-radius:10px;background:#fffbed;box-shadow:0 5px 22px #053b3433;font-size:15px;line-height:1.6;color:var(--deep)}
.rules-dialog{width:min(92vw,540px)}
.rules-content{max-height:76dvh;overflow:auto;overscroll-behavior:contain;padding:2px 12px 16px;text-align:left}
.rules-content h2{font-size:clamp(25px,6.8vw,34px)!important;line-height:1.5;text-align:center;margin:0 0 15px}
.rules-content ol{margin:0;padding-left:24px;font-size:17px;line-height:1.7}
.rules-content li{padding:5px 0}
.rules-content img{margin-top:16px}
.rules-contact{display:block;text-align:center;margin-top:14px;font-weight:700;text-underline-offset:4px}

/* Small original bells hanging from the four plaque corners. */
.bell-plaque{position:relative;--bell-size:clamp(32px,8vw,54px);--bell-top:52%;--bell-inset:1%}
.blessings-frame{--bell-top:82%;--bell-inset:2%;margin:4px auto 10px}
.blessings-frame .blessings-composition{margin:0}
.plaque-bell{position:absolute;z-index:2;top:var(--bell-top);width:var(--bell-size);aspect-ratio:887/1774;pointer-events:none;mix-blend-mode:multiply;transform-origin:50% 0;animation:plaque-bell-sway 6.8s ease-in-out infinite}
.plaque-bell.left{left:calc(var(--bell-inset) - var(--bell-size)*.5)}
.plaque-bell.right{right:calc(var(--bell-inset) - var(--bell-size)*.5);animation-delay:-3.4s}
.plaque-bell img{display:block;width:100%;height:auto}
.plaque-bell.right img{transform:scaleX(-1)}
@keyframes plaque-bell-sway{0%,100%{transform:rotate(-4deg)}50%{transform:rotate(4deg)}}
.motion-paused .plaque-bell{animation-play-state:paused}
@media(prefers-reduced-motion:reduce){body:not(.motion-enabled) .plaque-bell{animation:none}}

/* The live invitation stays behind the gate; video seconds 4–7 reveal it. */
.intro-pending{scroll-behavior:auto;overflow-anchor:none}
.intro-pending body{overflow:hidden;overscroll-behavior:none}
.site-content{opacity:1}
.intro-pending .site-content{pointer-events:none}
.intro-screen{display:none;position:fixed;inset:0;z-index:1000;overflow:hidden;isolation:isolate;opacity:1;will-change:opacity}
.intro-pending .intro-screen{display:block}
.intro-screen[hidden]{display:none}
.gate-stage{position:absolute;inset:0;display:grid;place-items:center;background:#eae5d9}
.gate-stage:before{content:'';position:absolute;inset:-25px;background:url('assets/gate-poster-7s.jpg') center/cover no-repeat;filter:blur(20px);opacity:.7}
.gate-media{position:relative;width:min(100%,calc(100svh * 9 / 16));height:100%;overflow:hidden}
.gate-video,.gate-cover{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:cover;object-position:center;background:transparent}
.gate-cover{z-index:1;pointer-events:none;opacity:1;transition:opacity .2s ease}
.intro-screen.is-playing .gate-cover{opacity:0}
.gate-open{position:absolute;inset:0;z-index:2;display:flex;align-items:flex-end;justify-content:center;width:100%;padding:0 20px max(10svh,calc(env(safe-area-inset-bottom) + 38px));border:0;background:none;color:var(--maroon);transition:opacity .4s ease;touch-action:manipulation;-webkit-tap-highlight-color:transparent}
.gate-open:focus-visible{outline:3px solid #c1933f;outline-offset:-5px}
.gate-prompt{display:block;padding:6px 10px 5px;border:1px solid #b38b48b3;border-radius:8px;background:#fffaeddf;box-shadow:0 3px 12px #5d3b2420;backdrop-filter:blur(6px);font-family:var(--serif);font-weight:700;font-size:clamp(15px,4vw,18px);line-height:1.3;text-align:center;text-shadow:0 1px #fff}
.intro-screen.is-playing .gate-open{opacity:0;pointer-events:none}
.intro-screen.is-opening .gate-open{pointer-events:none}
#top:focus{outline:none}
@media(prefers-reduced-motion:reduce){.gate-cover,.gate-open{transition-duration:.1s}}

/* Original full-resolution family rows in the supplied order. */
.sponsor-preserved-art{position:relative;overflow:hidden;width:100%}
.sponsor-preserved-art img{position:absolute;top:0;left:0;width:100%;max-width:none;height:auto}
.sponsor-family-heading{aspect-ratio:579/638}
.sponsor-family-brand{aspect-ratio:579/598}
.sponsor-family-brand img{transform:translateY(-70.80078125%)}
.sponsor-family-photos{display:grid;gap:clamp(12px,3vw,20px);margin:0 0 12px}
.sponsor-family-row{width:100%;max-width:100%;margin:0}
.sponsor-family-row img{width:100%;height:auto;display:block;filter:none;mix-blend-mode:normal}

/* Preserve the complete supplied portrait and its original gold frame. */
.presenter-photo{width:clamp(170px,46vw,210px);max-width:100%;height:auto;overflow:visible;border:0;border-radius:0;background:transparent;transform:none;margin:12px auto}
.presenter-photo img{position:static;width:100%;max-width:100%;height:auto;left:auto;top:auto;object-fit:contain}
.ceremony .live-title{font-weight:700}

/* Highlight the supplied WhatsApp destination for bhakti video submissions. */
.video-submission{display:block;width:90%;max-width:520px;margin:12px auto 4px;padding:10px 10px 9px;border:1px solid #d8b36c;border-radius:10px;background:linear-gradient(135deg,#09604c,#043e33);box-shadow:0 4px 14px #06483720;color:#fff6dc;text-align:center;text-decoration:none}
.video-submission-title{display:block;font:700 20px/1.4 var(--serif)}
.video-submission-number{display:block;margin:5px 0 3px;color:#ffe1a0;font:800 clamp(26px,6.4vw,32px)/1.2 Arial,sans-serif;letter-spacing:.5px;white-space:nowrap}
.video-submission-hint{display:block;font:600 14px/1.45 var(--serif);color:#f2e8ce}
.video-submission:focus-visible{outline:3px solid var(--gold);outline-offset:4px}

/* Blend the cream reading layer into the temple at both ends. */
.temple-backdrop:after{
  --cream-fade:clamp(140px,35vw,240px);
  -webkit-mask-image:linear-gradient(to bottom,transparent 0,#000 var(--cream-fade),#000 calc(100% - var(--cream-fade)),transparent 100%);
  mask-image:linear-gradient(to bottom,transparent 0,#000 var(--cream-fade),#000 calc(100% - var(--cream-fade)),transparent 100%);
}
