:root{--ivory: #fff3de;--parchment: #fbd9a6;--gold: #f2600c;--gold-08: rgba(242, 96, 12, .08);--gold-20: rgba(242, 96, 12, .2);--gold-40: rgba(242, 96, 12, .4);--gold-60: rgba(242, 96, 12, .6);--marigold: #fdae2c;--magenta: #c81558;--maroon: #7a1030;--maroon-60: rgba(122, 16, 48, .6);--ink: #2b0a0c;--ink-30: rgba(43, 10, 12, .3);--ink-15: rgba(43, 10, 12, .15);--serif: "Yeseva One", Georgia, serif;--sans: "Mukta", system-ui, sans-serif;--ease-film: cubic-bezier(.16, 1, .3, 1);--ease-soft: cubic-bezier(.45, 0, .55, 1);--ease-snap: cubic-bezier(.22, 1, .36, 1)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{height:100%}body{height:100%;min-height:100dvh;background:var(--ivory);color:var(--ink);font-family:var(--sans);overflow-x:hidden;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;position:relative}body:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;z-index:9997;pointer-events:none;opacity:.02;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='220' height='220'%3E%3Cfilter id='g'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.68' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='220' height='220' filter='url(%23g)'/%3E%3C/svg%3E")}#app{min-height:100dvh;display:flex;flex-direction:column}img{-webkit-touch-callout:none}button{font-family:inherit;border:none;background:none;cursor:pointer}input{font-family:inherit}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}}.btn{font-size:.7rem;letter-spacing:.16em;text-transform:uppercase;padding:.95rem 2.3rem;cursor:pointer;border-radius:999px;transition:background .4s var(--ease-soft),color .4s var(--ease-soft),border-color .4s var(--ease-soft),box-shadow .4s var(--ease-soft),opacity .3s var(--ease-soft),transform .25s var(--ease-snap);display:inline-flex;align-items:center;justify-content:center}.btn:hover{transform:translateY(-2px)}.btn:active{transform:translateY(0) scale(.96)}.btn-gold{border:1px solid transparent;color:var(--ivory);background:linear-gradient(135deg,var(--marigold) 0%,var(--gold) 100%);box-shadow:0 8px 22px #f2600c66}.btn-gold:hover{background:linear-gradient(135deg,var(--gold) 0%,var(--magenta) 100%);box-shadow:0 10px 26px #c815586b}.btn-outline{border:1.5px solid var(--gold-40);color:var(--gold);background:transparent}.btn-outline:hover{background:var(--gold);color:var(--ivory);border-color:var(--gold)}.btn:disabled{opacity:.35;cursor:not-allowed;pointer-events:none}.eyebrow{font-size:.63rem;letter-spacing:.32em;text-transform:uppercase;color:var(--maroon)}.display-title{font-family:var(--serif);font-weight:400;line-height:1.12;letter-spacing:.005em}.onboarding{flex:1;display:flex;flex-direction:column}.onboarding-scroll{height:100dvh;overflow-y:auto;scroll-snap-type:y proximity;scroll-behavior:smooth;-webkit-overflow-scrolling:touch;scrollbar-width:none}.onboarding-scroll::-webkit-scrollbar{display:none}.section-dots{position:fixed;right:1.1rem;top:50%;transform:translateY(-50%);display:flex;flex-direction:column;gap:.55rem;z-index:20}.section-dot{width:6px;height:6px;border-radius:50%;background:var(--ink-15);transition:background .3s var(--ease-soft),transform .3s var(--ease-soft)}.section-dot.is-active{background:var(--gold);transform:scale(1.5)}.holud-section{position:relative;height:100dvh;scroll-snap-align:start;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:3rem 1.75rem;overflow:hidden}.hero-section{background:radial-gradient(ellipse at 42% 6%,rgba(255,255,255,.28) 0%,transparent 42%),linear-gradient(165deg,#ffd873 0%,var(--marigold) 30%,var(--gold) 62%,var(--magenta) 100%);background-size:100% 130%;animation:heroGradientDrift 14s ease-in-out infinite alternate}@keyframes heroGradientDrift{0%{background-position:0% 0%}to{background-position:0% 100%}}.hero-alpana{position:absolute;top:50%;left:50%;width:min(120vw,40rem);transform:translate(-50%,-50%);opacity:.22;pointer-events:none;animation:alpanaSpin 150s linear infinite}.hero-alpana svg{display:block;width:100%;height:auto}.hero-motif{position:absolute;pointer-events:none}.hero-motif svg{display:block;width:100%;height:100%}.hero-bloom{width:min(58vw,22rem);height:min(58vw,22rem);animation:bloomReveal 1.3s var(--ease-film) both;filter:drop-shadow(0 10px 30px rgba(43,10,12,.35))}.persistent-frame{position:fixed;top:0;right:0;bottom:0;left:0;z-index:15;pointer-events:none}.persistent-vine{position:absolute;top:-10vh;left:.4rem;width:1.9rem;height:220vh;opacity:0;animation:vineFadeIn 1.4s var(--ease-film) 1.1s both;will-change:transform}.persistent-vine svg{display:block;width:100%;height:100%}@keyframes vineFadeIn{0%{opacity:0}to{opacity:.6}}@media (max-width: 420px){.persistent-vine{width:1.4rem;left:.25rem;opacity:0}@keyframes vineFadeIn{to{opacity:.4}}}.persistent-alpana-strip{position:absolute;left:0;right:0;height:2rem;opacity:0;animation:heroTextIn 1s var(--ease-film) 1.2s both}.persistent-alpana-strip svg{display:block;width:100%;height:100%}.persistent-alpana-top{top:0}.persistent-alpana-bottom{bottom:0;transform:scaleY(-1)}@keyframes cornerSway{0%,to{transform:rotate(0) translateY(0)}50%{transform:rotate(2.5deg) translateY(-6px)}}.hero-sparkles{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;pointer-events:none}.hero-sparkle{position:absolute;border-radius:50%;background:#fff9ec;box-shadow:0 0 8px 2px #fff9eccc;animation:sparkleTwinkle ease-in-out infinite}@keyframes sparkleTwinkle{0%,to{opacity:0;transform:scale(.5)}50%{opacity:.95;transform:scale(1)}}.hero-petals{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;overflow:hidden;pointer-events:none}.hero-petal{position:absolute;top:-8%;display:block;animation-name:petalFall;animation-timing-function:linear;animation-iteration-count:infinite;filter:drop-shadow(0 2px 4px rgba(43,10,12,.15));opacity:0}.hero-petal svg{display:block;width:100%;height:auto}@keyframes petalFall{0%{transform:translate3d(0,-10vh,0) rotate(0);opacity:0}8%{opacity:.9}50%{transform:translate3d(calc(var(--drift) * .5),55vh,0) rotate(calc(var(--spin) * .5))}92%{opacity:.85}to{transform:translate3d(var(--drift),120vh,0) rotate(var(--spin));opacity:0}}.hero-content{position:relative;z-index:2;display:flex;flex-direction:column;align-items:center;gap:1rem}.hero-eyebrow{color:var(--ivory);opacity:0;animation:heroTextIn .9s var(--ease-film) .5s both}.hero-title{font-size:clamp(2.6rem,9.5vw,4.6rem);background:linear-gradient(100deg,var(--ivory) 30%,#fff9ec 45%,#ffe9b3 50%,var(--ivory) 65%);background-size:250% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;text-shadow:0 4px 24px rgba(43,10,12,.35);opacity:0;animation:heroTextIn 1s var(--ease-film) .62s both,titleShimmer 4.5s linear 2.2s infinite}@keyframes titleShimmer{0%{background-position:200% 0}to{background-position:-50% 0}}.scroll-cue{position:absolute;bottom:2rem;left:50%;transform:translate(-50%);display:flex;flex-direction:column;align-items:center;gap:.5rem;font-size:.62rem;letter-spacing:.3em;text-transform:uppercase;color:#fff3debf;opacity:0;animation:heroTextIn 1s var(--ease-film) 1.05s both,driftDown 2.2s ease-in-out 1.9s infinite}.scroll-cue svg{width:14px;height:14px}@keyframes bloomReveal{0%{transform:scale(.42) rotate(-6deg);opacity:1}55%{transform:scale(1.35) rotate(3deg);opacity:.9}to{transform:scale(2.1) rotate(8deg);opacity:0}}@keyframes cornerBloom{0%{transform:scale(.5) rotate(-12deg);opacity:0}to{transform:scale(1) rotate(0);opacity:.55}}@keyframes heroTextIn{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}@keyframes driftDown{0%,to{transform:translate(-50%)}50%{transform:translate(-50%,6px)}}.explainer-section .section-motif,.form-motif{width:3.75rem;height:3.75rem;margin-bottom:1.25rem;opacity:0;transform:translateY(16px) scale(.2) rotate(-25deg);transition:opacity .6s var(--ease-film),transform .9s cubic-bezier(.34,1.56,.64,1)}.explainer-section h2{font-size:clamp(1.9rem,6.5vw,2.8rem);max-width:24rem;color:var(--maroon);opacity:0;transform:translateY(22px);transition:opacity .8s var(--ease-film) .08s,transform .8s var(--ease-film) .08s}.explainer-section p{max-width:25rem;margin-top:1rem;font-size:1.05rem;line-height:1.65;color:#2b0a0cbf;opacity:0;transform:translateY(22px);transition:opacity .8s var(--ease-film) .18s,transform .8s var(--ease-film) .18s}.explainer-section.is-visible .section-motif,.explainer-section.is-visible h2,.explainer-section.is-visible p,.form-section.is-visible .form-motif{opacity:1;transform:translateY(0) scale(1)}.explainer-section.is-visible .section-motif svg,.form-section.is-visible .form-motif svg{animation:motifPulse 3s ease-in-out .9s infinite}@keyframes motifPulse{0%,to{transform:scale(1) rotate(0);filter:drop-shadow(0 0 0 rgba(242,96,12,0))}50%{transform:scale(1.15) rotate(-4deg);filter:drop-shadow(0 0 10px rgba(242,96,12,.45))}}.explainer-section:nth-of-type(1){background:linear-gradient(180deg,#fbdce6 0%,var(--ivory) 60%)}.explainer-section:nth-of-type(2){background:linear-gradient(180deg,var(--ivory) 0%,var(--parchment) 100%)}.explainer-section:nth-of-type(3){background:linear-gradient(180deg,var(--parchment) 0%,#fbdce6 100%)}.section-divider{position:absolute;bottom:0;left:0;right:0;height:2.25rem;opacity:.7}.section-divider svg{width:100%;height:100%}.form-section{background:linear-gradient(200deg,#fbdce6 0%,var(--parchment) 50%,var(--ivory) 100%)}.name-card{position:relative;z-index:0;overflow:hidden;display:flex;flex-direction:column;align-items:center;width:100%;max-width:24rem;padding:2.75rem 2rem 2.5rem;border-radius:1.75rem;background:#fff6e89e;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);border:1px solid rgba(242,96,12,.22);box-shadow:0 22px 55px #7a103029,0 2px 10px #7a103014}.form-motif{margin-bottom:.75rem}.name-card-alpana{position:absolute;top:50%;left:50%;z-index:-1;width:140%;transform:translate(-50%,-50%) rotate(0);opacity:.14;animation:alpanaSpin 120s linear infinite}.name-card-alpana svg{display:block;width:100%;height:auto}@keyframes alpanaSpin{0%{transform:translate(-50%,-50%) rotate(0)}to{transform:translate(-50%,-50%) rotate(360deg)}}.name-card .eyebrow,.name-card h2{opacity:0;transform:translateY(16px);transition:opacity .8s var(--ease-film) .05s,transform .8s var(--ease-film) .05s}.name-card h2{margin-top:.4rem;margin-bottom:1.85rem;transition-delay:.12s}.form-section.is-visible .name-card .eyebrow,.form-section.is-visible .name-card h2{opacity:1;transform:translateY(0)}.name-form{display:flex;flex-direction:column;align-items:center;gap:1.5rem;width:100%;opacity:0;transform:translateY(22px);transition:opacity .8s var(--ease-film) .2s,transform .8s var(--ease-film) .2s}.form-section.is-visible .name-form{opacity:1;transform:translateY(0)}.name-form input{width:100%;border:1.5px solid rgba(242,96,12,.25);border-radius:999px;background:#ffffffbf;font-family:var(--serif);font-size:1.3rem;text-align:center;padding:.85rem 1.25rem;color:var(--ink);box-shadow:inset 0 2px 6px #7a10300f;transition:border-color .3s var(--ease-soft),box-shadow .3s var(--ease-soft),transform .2s var(--ease-snap)}.name-form input:focus{outline:none;border-color:var(--gold);box-shadow:0 0 0 4px var(--gold-08),inset 0 2px 6px #7a10300f;transform:scale(1.015)}.name-form input::placeholder{color:var(--ink-30);font-style:italic}.form-error{font-size:.8rem;color:var(--maroon)}.camera-view{flex:1;display:flex;flex-direction:column;background:var(--ink);color:var(--ivory);position:relative;min-height:100dvh}.camera-header{display:flex;align-items:center;justify-content:space-between;padding:1.25rem 1.5rem;z-index:2}.camera-counter{font-family:var(--serif);font-size:1.15rem;letter-spacing:.04em}.camera-counter strong{color:var(--gold);font-weight:600}.camera-greeting{font-size:.63rem;letter-spacing:.28em;text-transform:uppercase;color:#fff6e88c}.camera-stage{flex:1;position:relative;display:flex;align-items:center;justify-content:center;overflow:hidden;background:#000}.camera-stage video{width:100%;height:100%;object-fit:cover}.camera-flash{position:absolute;top:0;right:0;bottom:0;left:0;background:var(--ivory);opacity:0;pointer-events:none}.camera-flash.is-flashing{animation:flash .35s var(--ease-soft)}@keyframes flash{0%{opacity:.9}to{opacity:0}}.camera-message{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;text-align:center;padding:2rem;font-family:var(--serif);font-size:1.3rem;color:#fff6e8d9}.camera-footer{display:flex;flex-direction:column;align-items:center;gap:1rem;padding:1.75rem 1.5rem 2.5rem}.shutter{width:76px;height:76px;border-radius:50%;border:3px solid var(--ivory);background:transparent;padding:4px;transition:transform .15s var(--ease-snap),opacity .3s var(--ease-soft)}.shutter:after{content:"";display:block;width:100%;height:100%;border-radius:50%;background:var(--ivory)}.shutter:active{transform:scale(.9)}.shutter:disabled{opacity:.3;pointer-events:none}.camera-status{font-size:.68rem;letter-spacing:.2em;text-transform:uppercase;color:#fff6e88c;min-height:1em}.camera-gallery-link{font-size:.68rem;letter-spacing:.2em;text-transform:uppercase;color:var(--gold)}.gallery-view{flex:1;display:flex;flex-direction:column;padding:2.5rem 1.5rem 4rem;max-width:72rem;margin:0 auto;width:100%}.gallery-header{text-align:center;margin-bottom:2.5rem}.gallery-header h1{font-size:clamp(2rem,7vw,3rem)}.gallery-header p{margin-top:.75rem;color:#3a160e99}.gallery-nav{display:flex;justify-content:center;margin-top:1.5rem}.gallery-grid{columns:2 220px;column-gap:.75rem}@media (min-width: 640px){.gallery-grid{columns:3 220px}}.gallery-item{break-inside:avoid;margin-bottom:.75rem;position:relative;overflow:hidden;cursor:pointer;border:1px solid var(--ink-15)}.gallery-item img{width:100%;display:block}.gallery-caption{position:absolute;left:0;right:0;bottom:0;padding:.5rem .6rem;font-size:.6rem;letter-spacing:.14em;text-transform:uppercase;color:var(--ivory);background:linear-gradient(to top,rgba(58,22,14,.65),transparent)}.gallery-empty{text-align:center;padding:4rem 1.5rem;color:#3a160e8c;font-family:var(--serif);font-size:1.2rem}.lightbox{position:fixed;top:0;right:0;bottom:0;left:0;background:#140805f0;display:flex;align-items:center;justify-content:center;z-index:50;padding:2rem}.lightbox img{max-width:100%;max-height:80vh;object-fit:contain}.lightbox-caption{position:absolute;bottom:2rem;left:0;right:0;text-align:center;color:var(--ivory);font-size:.7rem;letter-spacing:.24em;text-transform:uppercase}.lightbox-close{position:absolute;top:1.5rem;right:1.75rem;color:var(--ivory);font-size:1.5rem}.centered-message{flex:1;display:flex;align-items:center;justify-content:center;text-align:center;padding:2rem;font-family:var(--serif);font-size:1.2rem;color:#3a160e99}.camera-view.camera-view{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;width:100%;height:100dvh;min-height:100dvh;overflow:hidden;background:#000}.camera-view .camera-stage{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%}.camera-view .camera-stage video{width:100%;height:100%;object-fit:cover}.camera-view.is-front-facing .camera-stage video{transform:scaleX(-1)}.camera-view .camera-header,.camera-view .camera-footer{position:absolute;left:0;right:0;z-index:4;pointer-events:none}.camera-view .camera-header{top:0;padding-top:max(1.25rem,env(safe-area-inset-top));background:linear-gradient(to bottom,rgba(0,0,0,.68),transparent)}.camera-view .camera-footer{bottom:0;padding-bottom:max(1.5rem,env(safe-area-inset-bottom));background:linear-gradient(to top,rgba(0,0,0,.76),transparent)}.camera-view .camera-footer>*,.camera-view .camera-header>*,.camera-view .camera-switch{pointer-events:auto}.camera-persistence{max-width:18rem;margin:0 auto;color:#ffffffbd;font-size:.72rem;line-height:1.35;text-align:center}.camera-switch{position:absolute;z-index:5;top:max(4.75rem,calc(env(safe-area-inset-top) + 3.5rem));height:2.9rem;border:1px solid rgba(255,255,255,.55);border-radius:999px;background:#0000006b;color:#fff;line-height:1;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.camera-switch{right:1.25rem;display:grid;place-items:center;width:2.9rem;border-radius:50%;font-size:1.55rem}.camera-switch[hidden],.camera-view .camera-message[hidden]{display:none}.camera-switch:disabled{opacity:.45}.camera-resume{display:block;margin:1rem auto 0;padding:.7rem 1rem;border:1px solid rgba(255,255,255,.65);border-radius:999px;background:#00000073;color:#fff;font:inherit}@media (orientation: landscape) and (max-height: 540px){.camera-switch{top:max(3.5rem,calc(env(safe-area-inset-top) + 2.5rem))}}
