:root{--cream:#fff3d6;--paper:#fffaf0;--saffron:#ffc54b;--marigold:#e5a52d;--gold:#b97a19;--crimson:#a52132;--green:#28633f;--ink:#5b3324;--muted:#816242;--line:#e6c681;--serif:'Noto Serif Tamil',serif;--sans:'Noto Sans Tamil',sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:60px}body{margin:0;color:var(--ink);background:var(--cream);font:16px/1.95 var(--sans)}body.gate-locked{height:100svh;overflow:hidden;overscroll-behavior:none}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer}button:disabled{cursor:default}button:focus-visible,a:focus-visible{outline:3px solid var(--green);outline-offset:5px}a{color:inherit;text-decoration:none}img{display:block;width:100%;height:auto}h1,h2,h3,p,figure{margin:0}h1,h2,h3{font-family:var(--serif);font-weight:600}h2{font-size:clamp(1.8rem,3vw,3rem);line-height:1.8;color:var(--crimson)}h3{font-size:20px;line-height:1.85}[hidden]{display:none!important}.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}
.gateway{position:fixed;inset:0;z-index:100;overflow:hidden;background:#372511;height:100svh;isolation:isolate}.gate-backdrop{position:absolute;inset:-4%;background:url('assets/temple-doors.webp') center/cover;filter:blur(12px) brightness(.65);transform:scale(1.04)}.gate-backdrop:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#281b0c35,transparent 35%,transparent 65%,#281b0c35)}.gate-camera{position:absolute;inset:0;transform-origin:50% 47%;will-change:transform,opacity;transition:transform 2.8s cubic-bezier(.55,0,.35,1),opacity 1s}.portal{position:absolute;top:0;left:50%;height:100svh;width:56.2799svh;transform:translateX(-50%);background:#523918;box-shadow:0 0 90px 35px #34251680;overflow:hidden}.temple-frame{position:absolute;inset:0;width:100%;height:100%;object-fit:fill}.aperture{position:absolute;left:25.15%;top:18.9%;width:49.1%;height:58.3%;perspective:1000px;overflow:hidden;background:#ad8127;isolation:isolate}.sanctum{position:absolute;inset:0;background:#9c7529}.sanctum img{width:100%;height:100%;object-fit:cover;transform:scale(1.08);transition:transform 4s}.sanctum-light{position:absolute;inset:-10%;background:radial-gradient(ellipse at 50% 38%,#fff5b55c,transparent 65%);opacity:0;transition:opacity 2.6s .5s}.door-leaf{position:absolute;inset:0 auto 0 0;width:50%;height:100%;z-index:2;transform-origin:left center;transition:transform 3.8s cubic-bezier(.24,.58,.3,1),filter 3.8s;backface-visibility:hidden;overflow:hidden;will-change:transform}.door-leaf img{position:absolute;width:407.332%;max-width:none;height:171.527%;left:-102.44%;top:-32.419%;object-fit:fill}.right-leaf{left:50%;transform-origin:right center}.right-leaf img{left:-202.44%}.gateway.is-opening .left-leaf{transform:rotateY(-110deg);filter:brightness(.62)}.gateway.is-opening .right-leaf{transform:rotateY(110deg);filter:brightness(.62)}.gateway.is-opening .sanctum-light{opacity:1}.gateway.is-opening .sanctum img{transform:scale(1)}.gateway.is-entering .gate-camera{transform:scale(3.5)}.entry-light{position:absolute;inset:0;pointer-events:none;opacity:0;background:radial-gradient(ellipse,#fff4cb, #ffe7b9);transition:opacity 1.35s ease}.gateway.is-entering .entry-light{opacity:1;transition-delay:1.45s}.gate-trigger{position:absolute;inset:0;width:100%;height:100%;border:0;background:none;cursor:pointer;z-index:4}.gate-trigger:focus-visible{outline:2px solid #ffd86e;outline-offset:-10px}.lamp-light{position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse 5% 3% at 7% 68%,#ffd37380,transparent),radial-gradient(ellipse 5% 3% at 94% 68%,#ffd37380,transparent),radial-gradient(ellipse 4% 2% at 17% 65%,#ffcc6766,transparent),radial-gradient(ellipse 4% 2% at 83% 65%,#ffcc6766,transparent);animation:lampFlicker 3.8s ease-in-out infinite alternate}
#invitation-content{position:relative;overflow:hidden;isolation:isolate;background:var(--cream)}.invitation-tools{position:fixed;right:22px;top:18px;z-index:20;display:flex;gap:8px}.tool-button{min-height:44px;display:flex;justify-content:center;align-items:center;gap:8px;border:1px solid #c79748;background:#fff5dcf0;box-shadow:0 4px 20px #91641d12;border-radius:30px;color:var(--crimson);padding:7px 15px;font-size:13px}.tool-button>span:first-child{font-size:23px;line-height:1}.tool-button[aria-pressed=true]{background:#fff0bf}.motion-button{width:44px;padding:6px}.invocation{font-family:var(--serif);font-size:18px;color:var(--green)}.eyebrow{font-size:14px;color:var(--green);line-height:2}.gold-rule{display:block;width:75px;height:2px;background:linear-gradient(90deg,transparent,var(--gold),transparent);margin:24px 0}.welcome-scene{position:relative;display:flex;flex-direction:column;align-items:center;text-align:center;padding:60px 24px 42px;min-height:100svh;background:radial-gradient(ellipse at 50% 45%,#fffbed 20%,#fff2bf 58%,#ffe5b3 100%);overflow:hidden}.welcome-heading{position:relative;z-index:2}.welcome-heading .invocation{margin-bottom:18px}.temple-name{font-family:var(--serif);font-size:clamp(17px,1.6vw,22px);line-height:1.9;color:#813820}.welcome-heading h1{font-size:clamp(2rem,4vw,3.5rem);line-height:1.8;color:var(--crimson);margin:14px 0 9px;text-shadow:0 2px #fff4b7}.welcome-heading h1:focus{outline:none}.welcome-heading .eyebrow{font-size:13px}.scene-pillar{position:absolute;bottom:0;height:86%;width:auto;max-width:28%;object-fit:cover;object-position:right;mix-blend-mode:multiply;opacity:.22;pointer-events:none;mask-image:linear-gradient(transparent,black 18%);-webkit-mask-image:linear-gradient(transparent,black 18%)}.pillar-left{left:0;transform:scaleX(-1)}.pillar-right{right:0}.welcome-darshan{position:relative;margin:26px auto 20px;width:min(300px,72vw)}.amman-portrait{position:relative;padding:7px;border:1px solid var(--gold);background:#ffeab0;box-shadow:0 15px 40px #95600f22,0 0 0 5px #f4d48d50;animation:darshanFloat 6s ease-in-out infinite}.amman-portrait img{aspect-ratio:941/1672;object-fit:cover}.amman-portrait figcaption{font-size:12px;color:var(--crimson);padding:8px 0 3px}.darshan-aura{position:absolute;inset:-18% -45%;border-radius:50%;background:radial-gradient(ellipse,#ffd56865,transparent 62%);animation:auraBreathe 5s ease-in-out infinite;pointer-events:none}.welcome-date{display:flex;gap:20px;align-items:center;text-align:left;margin-top:14px}.date-day{font:62px/1 Georgia,serif;color:var(--crimson)}.welcome-date>div{border-left:1px solid var(--gold);padding-left:20px}.welcome-date strong{display:block;font-size:19px;font-weight:500;color:var(--crimson)}.welcome-date div>span{font-size:14px;display:block;color:var(--muted);margin-top:3px}.welcome-time{margin-top:15px;color:#6a4627;font-size:16px}.scroll-invitation{display:flex;flex-direction:column;align-items:center;font-size:13px;margin-top:26px;color:var(--green);gap:6px}.scroll-arrow{font-size:28px;line-height:1.3;animation:scrollHint 2.3s ease-in-out infinite}
.blessing-section{max-width:1150px;margin:auto;display:grid;grid-template-columns:1.05fr .8fr;gap:90px;align-items:center;padding:100px 6%}.blessing-copy h2{margin:15px 0}.blessing-copy>p:not(.eyebrow){font-size:17px;line-height:2.2}.blessing-details{border-top:1px solid var(--line);margin-top:32px;padding-top:25px}.blessing-details>span{font:34px/1.5 Georgia,serif;letter-spacing:2px;color:var(--crimson)}.blessing-details strong{display:block;font-size:20px;font-weight:500;color:var(--green);margin:8px 0 14px}.blessing-details p{font-size:16px;line-height:2}.secondary-darshan{border:1px solid var(--gold);padding:8px;background:#ffe8a9;box-shadow:0 18px 42px #8a4d1625;position:relative}.secondary-darshan img{aspect-ratio:941/1672;object-fit:cover}.secondary-darshan figcaption{font-size:13px;text-align:center;padding:10px 0 3px;color:var(--crimson)}
.festival-scene{background:linear-gradient(135deg,#ffecd1,#fff7d7 52%,#ffe5b8);border-block:1px solid var(--line);padding:90px max(5%,calc((100vw - 1170px)/2));display:grid;grid-template-columns:.8fr 1.15fr;gap:70px;align-items:center}.festival-copy h2{font-size:clamp(2rem,3.7vw,3.5rem);margin-top:22px;line-height:1.9}.festival-copy>p:not(.eyebrow){font-size:17px;line-height:2.2}.ceremony-time{display:flex;flex-direction:column;gap:12px;border-left:3px solid var(--marigold);padding-left:22px;margin-top:30px;color:var(--crimson)}.ceremony-time b{font-size:20px;font-weight:500}.ceremony-time span{font-size:17px;color:var(--green)}.festival-portrait{border:1px solid var(--gold);padding:8px;position:relative;background:#ffedba;box-shadow:0 28px 60px #a8681630;overflow:hidden}.festival-image{width:100%;height:auto;transform-origin:center 30%;animation:festivalZoom 17s ease-in-out infinite alternate}.water-shimmer{position:absolute;inset:0;background:radial-gradient(ellipse 11% 16% at 73% 25%,#fff8b766,transparent);pointer-events:none;animation:waterGlow 4s ease-in-out infinite}
.programme-section{padding:85px 6% 80px;position:relative;background:radial-gradient(ellipse at 50% 35%,#fffaf0,var(--cream) 66%)}.section-heading{text-align:center;margin-bottom:45px}.section-heading h2{margin-top:17px}.section-heading .gold-rule{margin:24px auto}.timeline-journey{max-width:1060px;position:relative;margin:auto;padding:18px 0 30px;--kalasam-y:54px;--progress-height:0px;--track-height:900px;--track-top:54px;--kalasam-tilt:0deg}.timeline{padding:0;margin:0;list-style:none;position:relative}.timeline-event{position:relative;min-height:245px;padding-bottom:45px}.event-card{width:calc(50% - 82px);padding:25px 30px;background:#fffaf0;border:1px solid var(--line);box-shadow:0 8px 28px #9c5b1010;transition:box-shadow .5s,border-color .5s,background .5s}.timeline-event:nth-child(odd) .event-card{margin-left:calc(50% + 82px)}.timeline-event:nth-child(even) .event-card{margin-right:auto;text-align:right}.timeline-date{display:flex;align-items:baseline;gap:13px;color:var(--gold);margin-bottom:14px}.timeline-event:nth-child(even) .timeline-date{justify-content:flex-end}.timeline-date b{font:39px/1 Georgia,serif;color:var(--crimson)}.timeline-date span{font-size:13px}.event-card h3{font-family:var(--sans);font-size:18px;font-weight:500;color:var(--crimson);margin-bottom:10px}.event-card p{font-size:16px;line-height:2;color:var(--muted)}.event-card p+p{margin-top:17px}.event-card p b{font-weight:500;color:var(--green)}.event-node{position:absolute;width:13px;height:13px;background:var(--paper);border:2px solid var(--gold);border-radius:50%;left:50%;top:30px;transform:translateX(-50%);z-index:2}.event-node:after{content:'';position:absolute;height:1px;background:var(--line);top:4px;left:11px;width:62px}.timeline-event:nth-child(even) .event-node:after{left:auto;right:11px}.timeline-track{position:absolute;left:50%;top:var(--track-top);height:var(--track-height);width:3px;transform:translateX(-50%);background:#ead5a1;overflow:hidden}.timeline-progress{height:var(--progress-height);max-height:100%;width:100%;background:linear-gradient(var(--marigold),var(--crimson))}.timeline-traveller{position:absolute;left:50%;top:0;width:118px;height:118px;z-index:5;transform:translate(-50%,calc(var(--kalasam-y) - 59px));pointer-events:none;will-change:transform}.timeline-traveller>img{width:100%;height:100%;object-fit:contain;border-radius:50%;border:2px solid #c79842;background:var(--cream);box-shadow:0 7px 20px #9c5a122a;transform:rotate(var(--kalasam-tilt));animation:kalasamBob 3s ease-in-out infinite}.kalasam-halo{position:absolute;inset:-22%;background:radial-gradient(circle,#ffd6536b,transparent 68%);animation:auraBreathe 3s ease-in-out infinite}.timeline-event.is-current .event-card{border-color:var(--marigold);background:#fff0bf;box-shadow:0 10px 32px #b5832024}.timeline-event.is-passed .event-node{background:var(--marigold)}.timeline-event.finale{padding-bottom:0}.finale .event-card{border:2px solid var(--gold);background:linear-gradient(145deg,#fff6d8,#ffe9ac)}.timeline-event.is-current .event-node{background:var(--crimson);box-shadow:0 0 0 6px #f4d47d80}
.panorama-banner{height:clamp(200px,26vw,400px);overflow:hidden}.panorama-banner img{width:100%;height:100%;object-fit:cover;object-position:center 65%;animation:panoramaDrift 24s ease-in-out infinite alternate}.visit-content{text-align:center;padding:65px 24px 50px;background:#fff7df;position:relative}.visit-content h2{margin:20px 0}.visit-content>p:not(.invocation):not(.toast){font-size:16px;max-width:680px;margin:auto}.visit-buttons{display:flex;flex-wrap:wrap;gap:12px;justify-content:center;margin-top:30px}.primary-button,.outline-button{min-height:52px;display:inline-flex;align-items:center;justify-content:center;gap:15px;padding:14px 24px;font-size:14px;line-height:1.7;border:1px solid var(--crimson);color:white;background:var(--crimson);transition:transform .25s,box-shadow .25s,background .25s}.outline-button{background:transparent;color:var(--crimson)}.primary-button:hover,.outline-button:hover{transform:translateY(-3px);box-shadow:0 8px 20px #ab611522}.outline-button:hover{background:#ffe9ac}.toast{min-height:26px;font-size:13px;margin-top:16px;color:var(--green)}footer{text-align:center;padding:32px 24px 25px;border-top:1px solid var(--line);background:#fff0ca}footer p{font-size:12px;color:var(--muted);line-height:2}footer a{text-decoration:underline;text-underline-offset:4px}.source-note{margin-top:10px}.footer-brand{font:14px/1.6 Georgia,serif;letter-spacing:2px;color:var(--crimson);margin-top:25px}.footer-brand span{display:block;font-size:12px;letter-spacing:.2px;margin-top:5px;color:var(--muted)}.replay-button{color:var(--green);border:0;background:transparent;font-size:13px;margin-top:20px;padding:10px}.noscript-note{position:fixed;bottom:10px;left:10px;right:10px;z-index:110;color:#fff;background:#612c1e;padding:10px}
.petal-layer{position:fixed;inset:0;z-index:10;pointer-events:none;overflow:hidden;contain:strict;mix-blend-mode:multiply}.falling-petal{position:absolute;top:-90px;left:var(--petal-x);width:var(--petal-size);height:var(--petal-size);background-image:url('assets/rose-petal.webp');background-size:contain;background-repeat:no-repeat;animation:petalFall var(--petal-duration) linear var(--petal-delay) infinite;opacity:0;will-change:transform;mix-blend-mode:normal;filter:invert(1) hue-rotate(180deg)}.js .reveal{opacity:0;transform:translateY(25px);transition:opacity 1.1s ease,transform 1.1s ease}.js .reveal.is-visible{opacity:1;transform:translateY(0)}.is-revealing .welcome-heading{animation:welcomeBloom 1.6s ease both}
@keyframes lampFlicker{0%,100%{opacity:.4}25%{opacity:.85}55%{opacity:.55}80%{opacity:1}}
@keyframes darshanFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-6px)}}
@keyframes auraBreathe{0%,100%{opacity:.65;transform:scale(.94)}50%{opacity:1;transform:scale(1.08)}}
@keyframes scrollHint{0%,100%{transform:translateY(0)}50%{transform:translateY(7px)}}
@keyframes festivalZoom{from{transform:scale(1)}to{transform:scale(1.045)}}
@keyframes waterGlow{0%,100%{opacity:.25}40%{opacity:.8}65%{opacity:.4}}
@keyframes kalasamBob{0%,100%{transform:translateY(-3px) rotate(var(--kalasam-tilt))}50%{transform:translateY(3px) rotate(var(--kalasam-tilt))}}
@keyframes panoramaDrift{from{transform:scale(1)}to{transform:scale(1.045) translateX(-.5%)}}
@keyframes petalFall{0%{opacity:0;transform:translate3d(0,-10vh,0) rotate(0deg)}8%{opacity:var(--petal-opacity)}85%{opacity:var(--petal-opacity)}100%{opacity:0;transform:translate3d(var(--petal-drift),112vh,0) rotate(var(--petal-spin))}}
@keyframes welcomeBloom{from{opacity:0;transform:translateY(28px)}to{opacity:1;transform:none}}
.motion-paused *, .motion-paused *:before,.motion-paused *:after{animation-play-state:paused!important}.motion-paused .petal-layer{display:none}.motion-paused .reveal{opacity:1;transform:none;transition:none}
@media(min-width:1500px){.welcome-scene{padding-top:75px}.welcome-darshan{width:330px}}
@media(max-width:950px){.blessing-section{gap:45px}.festival-scene{gap:35px;padding-inline:5%}.event-card{width:calc(50% - 68px);padding:24px}.timeline-event:nth-child(odd) .event-card{margin-left:calc(50% + 68px)}.timeline-traveller{width:104px;height:104px;transform:translate(-50%,calc(var(--kalasam-y) - 52px))}.event-node:after{width:49px}.timeline-event{min-height:260px}.event-card p{font-size:15px}.festival-copy>p:not(.eyebrow){font-size:16px}.scene-pillar{max-width:30%}}
@media(max-width:600px){.invitation-tools{right:12px;top:12px;gap:6px}.tool-button{font-size:12px;min-height:40px;padding:6px 12px}.motion-button{width:40px;padding:4px}.welcome-scene{padding:72px 18px 35px}.welcome-heading .invocation{font-size:16px;margin-bottom:15px}.temple-name{font-size:16px;line-height:2}.welcome-heading h1{font-size:clamp(1.7rem,7.4vw,2.5rem);line-height:1.95;margin:12px -5px 8px}.welcome-heading .eyebrow{font-size:12px}.welcome-darshan{width:240px;margin-top:24px;margin-bottom:18px}.scene-pillar{height:66%;max-width:27%;opacity:.19}.welcome-date{gap:16px;margin-top:10px}.date-day{font-size:53px}.welcome-date>div{padding-left:16px}.welcome-date strong{font-size:17px}.welcome-date div>span{font-size:12px}.welcome-time{font-size:14px;line-height:2;margin-top:15px}.scroll-invitation{font-size:12px;margin-top:23px}.blessing-section{display:flex;flex-direction:column;padding:53px 25px 60px;gap:35px;text-align:center}.blessing-copy h2{font-size:1.9rem}.gold-rule{margin:22px auto}.blessing-copy>p:not(.eyebrow){font-size:16px;line-height:2.1}.blessing-details>span{font-size:32px}.blessing-details strong{font-size:19px}.blessing-details p{font-size:16px}.secondary-darshan{width:min(100%,320px)}.festival-scene{display:flex;flex-direction:column;padding:48px 17px;gap:30px;text-align:center}.festival-copy{padding:0 13px}.festival-copy h2{font-size:2.1rem;line-height:1.85;margin-top:16px}.festival-copy h2 br:first-of-type{display:none}.festival-copy>p:not(.eyebrow){font-size:16px}.ceremony-time{align-items:center;border-left:0;border-top:1px solid var(--line);padding:20px 0 0;gap:8px;margin-top:23px}.ceremony-time b{font-size:18px}.ceremony-time span{font-size:16px}.festival-portrait{width:100%;max-width:440px;padding:6px}.programme-section{padding:53px 15px 50px}.section-heading{margin-bottom:28px;padding:0 5px}.section-heading h2{font-size:1.7rem;line-height:1.9}.eyebrow{font-size:12px}.timeline-journey{padding:18px 0 20px;--line-x:43px}.timeline-event{padding:0 0 32px;min-height:230px}.event-card{width:auto;margin-left:100px!important;margin-right:0!important;padding:21px 18px;text-align:left!important}.timeline-event:nth-child(even) .timeline-date{justify-content:flex-start}.timeline-track,.timeline-traveller,.event-node{left:var(--line-x)}.timeline-traveller{width:84px;height:84px;transform:translate(-50%,calc(var(--kalasam-y) - 42px))}.timeline-date{gap:10px;margin-bottom:13px;flex-wrap:wrap}.timeline-date b{font-size:33px}.timeline-date span{font-size:12px}.event-card h3{font-size:16px;line-height:1.9}.event-card p{font-size:15px;line-height:2}.event-node:after{width:42px}.timeline-event:nth-child(even) .event-node:after{left:11px;right:auto}.panorama-banner{height:210px}.panorama-banner img{object-position:75% center}.visit-content{padding:40px 22px 30px}.visit-content h2{font-size:1.9rem}.visit-content>p:not(.invocation):not(.toast){font-size:15px}.visit-buttons{display:grid;grid-template-columns:1fr;max-width:340px;margin:26px auto 0}.petal-layer{opacity:.75}footer{padding-inline:20px}footer p{font-size:12px}}
@media(max-width:360px){.event-card{margin-left:86px!important;padding:19px 13px}.timeline-journey{--line-x:35px}.timeline-traveller{width:72px;height:72px;transform:translate(-50%,calc(var(--kalasam-y) - 36px))}.timeline-date b{font-size:29px}.event-card p{font-size:14px}.welcome-darshan{width:220px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.petal-layer{display:none}.js .reveal{opacity:1;transform:none}.gateway.is-entering .gate-camera{transform:none}.gateway.is-entering .entry-light{opacity:0}}
.footer-logo{width:min(300px,78vw);height:auto;margin:32px auto 6px}.countdown-section{padding:62px 24px 48px;background:radial-gradient(ellipse at 50% 40%,#fffdf4,#ffedbc);border-top:1px solid var(--line);text-align:center}.countdown-inner{max-width:720px;margin:auto}.countdown-inner h2{font-size:clamp(1.55rem,2.8vw,2.4rem);margin:15px 0 20px}.countdown-date{font-size:17px;color:var(--crimson);line-height:2}.countdown-date>span{display:block;font-size:13px;color:var(--muted);margin-top:3px}.countdown-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;max-width:570px;margin:32px auto 20px}.countdown-unit{position:relative;padding:23px 8px 17px;border:1px solid var(--gold);background:linear-gradient(#fffbee,#ffefc5);box-shadow:0 6px 18px #a8731910}.countdown-unit:after{content:'';position:absolute;inset:5px;border:1px solid #e8ce93;pointer-events:none}.countdown-value{display:block;font:52px/1.2 Georgia,serif;color:var(--crimson);font-variant-numeric:tabular-nums;min-height:63px}.countdown-unit>span:last-child{display:block;font-size:14px;color:var(--green);margin-top:9px}.countdown-status{font-size:14px;line-height:2;color:var(--muted);min-height:56px;max-width:600px;margin:auto}.countdown-section[data-state=after] .countdown-grid{opacity:.65}
.flying-flower{position:absolute;top:-100px;left:var(--flower-x);width:var(--flower-size);aspect-ratio:var(--flower-ratio);opacity:0;animation:flowerFlight var(--flower-duration) linear var(--flower-delay) infinite;will-change:transform}.flower-sway,.flower-sprite{display:block;width:100%;height:100%}.flower-sway{animation:flowerSway var(--sway-duration) ease-in-out var(--flower-delay) infinite}.flower-sprite{background-repeat:no-repeat;animation:flowerSpin calc(var(--sway-duration)*2.4) linear var(--flower-delay) infinite;backface-visibility:visible}
@keyframes flowerFlight{0%{opacity:0;transform:translate3d(0,-10vh,0)}8%{opacity:var(--flower-opacity)}30%{transform:translate3d(calc(var(--flower-drift)*.3),35vh,0)}47%{transform:translate3d(calc(var(--flower-drift)*.53),30vh,0)}70%{transform:translate3d(calc(var(--flower-drift)*.72),70vh,0)}88%{opacity:var(--flower-opacity)}100%{opacity:0;transform:translate3d(var(--flower-drift),120vh,0)}}
@keyframes flowerSway{0%,100%{transform:translateX(calc(-16px*var(--sway-direction))) rotate(-9deg)}50%{transform:translateX(calc(22px*var(--sway-direction))) rotate(12deg)}}
@keyframes flowerSpin{from{transform:rotateZ(0deg) rotateY(0deg)}to{transform:rotateZ(var(--flower-spin)) rotateY(360deg)}}
@media(max-width:600px){.countdown-section{padding:44px 16px 35px}.countdown-inner h2{font-size:1.5rem;line-height:2}.countdown-date{font-size:15px}.countdown-grid{gap:9px;margin:25px auto 19px}.countdown-unit{padding:18px 4px 14px}.countdown-value{font-size:36px;min-height:44px}.countdown-unit>span:last-child{font-size:12px;margin-top:8px}.countdown-status{font-size:13px;min-height:65px}.footer-logo{width:260px;max-width:82vw}.flying-flower{width:calc(var(--flower-size)*.78)}}
