:root{--bg:#3e0d16;--stone:#f5f1eb;--gold:#c2a36b;--gold-light:#e4d4b1;--muted:#f5f1ebad;--hair:#c2a36b38;--serif:"Cormorant Garamond", Georgia, serif;--sans:"Inter", system-ui, -apple-system, sans-serif;--safe-top:env(safe-area-inset-top,0px);--safe-bottom:env(safe-area-inset-bottom,0px)}*,:before,:after{box-sizing:border-box;-webkit-tap-highlight-color:transparent;margin:0;padding:0}html{background:var(--bg);scrollbar-gutter:stable}body{background:var(--bg);color:var(--stone);font-family:var(--sans);-webkit-font-smoothing:antialiased;overflow-x:hidden}a{color:inherit}#film-canvas{z-index:0;pointer-events:none;width:100%;height:100lvh;display:block;position:fixed;inset:0}.edge-tint{z-index:1;pointer-events:none;background-color:var(--bg);position:fixed;left:0;right:0}.edge-tint.top{height:calc(22px + var(--safe-top));-webkit-mask-image:linear-gradient(to bottom, #000 var(--safe-top), transparent);-webkit-mask-image:linear-gradient(to bottom, #000 var(--safe-top), transparent);mask-image:linear-gradient(to bottom, #000 var(--safe-top), transparent);top:0}.edge-tint.bottom{height:calc(22px + var(--safe-bottom));-webkit-mask-image:linear-gradient(to top, #000 var(--safe-bottom), transparent);-webkit-mask-image:linear-gradient(to top, #000 var(--safe-bottom), transparent);mask-image:linear-gradient(to top, #000 var(--safe-bottom), transparent);bottom:0}main{z-index:1;position:relative}#film{pointer-events:none}.film-text{z-index:3;pointer-events:none;opacity:0;transition:opacity 1.4s .2s;position:fixed;inset:0}.is-ready .film-text{opacity:1}.ov{text-align:center;opacity:0;visibility:hidden;transform:translate3d(0, var(--drift,0px), 0);will-change:opacity, transform;text-shadow:0 1px 2px #0009,0 2px 12px #00000073,0 0 34px #00000059;padding:0 24px;position:absolute;left:0;right:0}.ov:before{content:"";z-index:-1;pointer-events:none;position:absolute;left:0;right:0}.ov-title{top:calc(var(--safe-top) + 11vh)}.ov-title:before{top:calc(-11vh - var(--safe-top));background:radial-gradient(85% 50% at 50% 40%,#0a08066b,#0a080600 72%),linear-gradient(#0a0806a8,#0a08064d 55%,#0a080600);height:52vh}.ov-wed{top:calc(var(--safe-top) + 12vh)}.ov-wed:before{top:calc(-12vh - var(--safe-top));background:radial-gradient(85% 50% at 50% 40%,#0a080661,#0a080600 72%),linear-gradient(#0a08068c,#0a080638 55%,#0a080600);height:52vh}.ov-eyebrow{letter-spacing:.38em;text-transform:uppercase;color:#f1e3c3;margin-bottom:14px;font-size:.7rem;font-weight:500}.ov-names{font-family:var(--serif);letter-spacing:.01em;color:#f6ecd8;font-size:clamp(2.7rem,12vw,5.6rem);font-weight:600;line-height:1}.ov-wed .ov-names{font-size:clamp(2.25rem,9.6vw,4.6rem)}.ov-names em{color:var(--gold);margin:0 .08em;font-size:.62em;font-style:italic;font-weight:400}.ov-date{letter-spacing:.34em;text-transform:uppercase;color:#f5f1ebf2;margin-top:16px;font-size:.74rem;font-weight:500}.ov-note{bottom:calc(var(--safe-bottom) + 78px);text-align:left;padding:0 max(28px,6vw)}.ov-note:before{bottom:calc(-78px - var(--safe-bottom));background:radial-gradient(80% 50% at 24% 70%,#0a080673,#0a080600 72%),linear-gradient(#0a080600,#0a080657 45%,#0a0806c2);height:46vh}.note-label{letter-spacing:.34em;text-transform:uppercase;color:#f1e3c3;align-items:center;gap:12px;margin-bottom:12px;font-size:.64rem;font-weight:500;display:flex}.note-label:before{content:"";background:var(--gold);transform-origin:0;width:30px;height:1px;transform:scaleX(var(--in,1))}.note-text{max-width:15em;font-family:var(--serif);color:#f6ecd8;font-size:clamp(1.5rem,5.8vw,2.2rem);font-style:italic;font-weight:500;line-height:1.22}.ov-cue{bottom:calc(var(--safe-bottom) + 40px);letter-spacing:.4em;text-transform:uppercase;color:#f5f1ebcc;pointer-events:auto;cursor:pointer;flex-direction:column;align-items:center;gap:10px;font-size:.64rem;display:flex}.ov-cue i{transform-origin:top;background:linear-gradient(#e4d4b100,#e4d4b1e6);width:1px;height:42px;animation:2.2s cubic-bezier(.6,0,.3,1) infinite cue;display:block}@keyframes cue{0%{opacity:1;transform:scaleY(0)}60%{opacity:1;transform:scaleY(1)}to{opacity:0;transform:scaleY(1)}}.chrome-top{top:calc(var(--safe-top) + 14px);z-index:4;pointer-events:none;justify-content:space-between;align-items:center;display:flex;position:fixed;left:22px;right:16px}.chrome-top>*{pointer-events:auto}.music-btn{font:inherit;letter-spacing:.22em;text-transform:uppercase;color:var(--gold-light);cursor:pointer;background:#0d0b096b;border:1px solid #c2a36b4d;border-radius:999px;align-items:center;gap:9px;padding:8px 14px 8px 12px;font-size:.64rem;transition:background .3s,border-color .3s;display:inline-flex}.music-btn:hover{border-color:var(--gold)}.music-btn[aria-pressed=true]{background:#c2a36b29;border-color:#c2a36b99}.music-bars{align-items:flex-end;gap:2px;height:11px;display:inline-flex}.music-bars i{transform-origin:bottom;background:currentColor;border-radius:1px;width:2px;height:100%;transition:transform .4s;transform:scaleY(.3)}.music-bars i:nth-child(2){transform:scaleY(.6)}.music-bars i:nth-child(3){transform:scaleY(.4)}.music-bars i:nth-child(4){transform:scaleY(.7)}.music-btn[aria-pressed=true] .music-bars i{animation:1.1s ease-in-out infinite alternate sway}.music-btn[aria-pressed=true] .music-bars i:nth-child(2){animation-delay:-.45s}.music-btn[aria-pressed=true] .music-bars i:nth-child(3){animation-delay:-.8s}.music-btn[aria-pressed=true] .music-bars i:nth-child(4){animation-delay:-.2s}@keyframes sway{0%{transform:scaleY(.25)}to{transform:scaleY(1)}}.mono{font-family:var(--serif);letter-spacing:.24em;color:var(--gold-light);text-shadow:0 1px 12px #00000080;font-size:1.05rem;font-weight:600;text-decoration:none}.chrome-bottom{transition:opacity .5s}.progress{z-index:4;background:#f5f1eb14;height:2px;position:fixed;top:0;left:0;right:0}.progress span{background:linear-gradient(to right, #c2a36b80, var(--gold-light));transform-origin:0;height:100%;display:block;transform:scaleX(0)}.skip{right:20px;bottom:calc(var(--safe-bottom) + 20px);z-index:4;letter-spacing:.22em;text-transform:uppercase;color:var(--gold-light);background:#0d0b0973;border:1px solid #c2a36b4d;border-radius:999px;padding:9px 16px;font-size:.66rem;text-decoration:none;transition:background .3s,border-color .3s;position:fixed}.skip:hover{border-color:var(--gold);background:#c2a36b2e}.in-details .chrome-bottom{opacity:0;pointer-events:none}.in-details .film-text{opacity:0;transition:opacity .4s}:root{--zari-top:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='22' viewBox='0 0 24 22' fill='%23c9a86a'%3E%3Crect width='24' height='2'/%3E%3Crect y='4' width='24' height='.8'/%3E%3Cpath d='M2 7h20v3H2zm4 3h12v3H6zm3.5 3h5v3h-5z'/%3E%3Ccircle cx='12' cy='18.6' r='1.3'/%3E%3C/svg%3E");--zari-bottom:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='22' viewBox='0 0 24 22' fill='%23c9a86a'%3E%3Crect y='20' width='24' height='2'/%3E%3Crect y='17.2' width='24' height='.8'/%3E%3Cpath d='M2 12h20v3H2zm4-3h12v3H6zm3.5-3h5v3h-5z'/%3E%3Ccircle cx='12' cy='3.4' r='1.3'/%3E%3C/svg%3E");--door-open:1.8s}#loader{z-index:10;perspective:1300px;touch-action:none;transition:opacity .5s ease calc(var(--door-open) + .35s), visibility 0s calc(var(--door-open) + .85s);justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.is-ready #loader{opacity:0;visibility:hidden;pointer-events:none}.door{background:var(--zari-top) var(--seam) 0 top calc(var(--safe-top) + 14px) / 24px 22px repeat-x, var(--zari-bottom) var(--seam) 0 bottom calc(var(--safe-bottom) + 14px) / 24px 22px repeat-x, linear-gradient(90deg, #ffd6aa09 1px, transparent 1px) var(--seam) top / 3px 3px, linear-gradient(#00000012 1px, transparent 1px) var(--seam) top / 3px 3px, radial-gradient(ellipse at 50% 40%, #5e1625 0%, #4a111d 45%, var(--bg) 100%) var(--half) top / 200% 100% no-repeat;backface-visibility:visible;width:50%;transition:transform var(--door-open) cubic-bezier(.55, .05, .25, 1) .25s;position:absolute;top:0;bottom:0}.door-l{--seam:right;--half:left;transform-origin:0;left:0}.door-r{--seam:left;--half:right;transform-origin:100%;right:0}.door:after{content:"";opacity:0;transition:opacity var(--door-open) ease .25s;background:#18050a99;position:absolute;inset:0}.is-ready .door-l{transform:rotateY(105deg)}.is-ready .door-r{transform:rotateY(-105deg)}.is-ready .door:after{opacity:1}.door-seam{opacity:0;pointer-events:none;background:linear-gradient(#ffdea000,#ffe8baf2 25%,#fff3d6 50%,#ffe8baf2 75%,#ffdea000);width:2px;margin-left:-1px;position:absolute;top:0;bottom:0;left:50%;box-shadow:0 0 22px 6px #ffc47873}.is-ready .door-seam{animation:1.5s ease-out forwards seam-light}@keyframes seam-light{0%{opacity:0;transform:scaleY(.2)}22%{opacity:1;transform:scaleY(1)}55%{opacity:.6;transform:scaleX(12)}to{opacity:0;transform:scaleX(20)}}.cover-sheen{pointer-events:none;background:linear-gradient(105deg,#ffe2ba00 38%,#ffe2ba12 50%,#ffe2ba00 62%) 120% 0/260% 100% no-repeat;transition:opacity .4s;animation:9s ease-in-out infinite sheen;position:absolute;inset:0}.is-ready .cover-sheen{opacity:0}@keyframes sheen{0%{background-position:120% 0}60%,to{background-position:-20% 0}}.cover-content{z-index:2;text-align:center;flex-direction:column;align-items:center;gap:18px;padding:0 24px;transition:opacity .5s,transform 1.1s cubic-bezier(.3,.1,.3,1);display:flex;position:relative}.is-ready .cover-content{opacity:0;transform:scale(1.08)}.cover-eyebrow{letter-spacing:.38em;text-transform:uppercase;color:var(--muted);font-size:.66rem}.cover-logo{aspect-ratio:1200/855;filter:drop-shadow(0 2px 10px #14030873);width:min(76vw,400px);-webkit-mask-image:linear-gradient(100deg,#000 45%,#0000 55%);mask-image:linear-gradient(100deg,#000 45%,#0000 55%);-webkit-mask-position:100% 0;mask-position:100% 0;-webkit-mask-size:260% 100%;mask-size:260% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.logo-in .cover-logo{animation:2.6s cubic-bezier(.45,.05,.3,1) .2s forwards write-in}@keyframes write-in{to{-webkit-mask-position:0 0;mask-position:0 0}}.cover-logo i{background:linear-gradient(110deg,#a8803f 0%,#e8d3a0 18%,#c9a35e 34%,#fff1c9 46%,#c9a35e 58%,#e2c88f 76%,#a37a3c 100%) 0 0/300% 100%;width:100%;height:100%;animation:7s ease-in-out infinite gold-leaf;display:block;-webkit-mask:url(/assets/logo/ashwin-snegha.webp) 50%/contain no-repeat;mask:url(/assets/logo/ashwin-snegha.webp) 50%/contain no-repeat}@keyframes gold-leaf{0%,to{background-position:0 0}50%{background-position:100% 0}}.cover-rule{background:linear-gradient(#c2a36b99,#c2a36b99) 0/50px 1px no-repeat,linear-gradient(#c2a36b99,#c2a36b99) 100%/50px 1px no-repeat;width:120px;height:8px;margin-top:-4px;position:relative}.cover-rule:after{content:"";background:var(--gold-light);width:6px;height:6px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)rotate(45deg)}.cover-date{letter-spacing:.3em;text-transform:uppercase;color:var(--gold-light);margin-top:-6px;font-size:.66rem}.cover-action{place-items:center;min-height:58px;margin-top:6px;display:grid}.cover-action>*{grid-area:1/1}.loader-track{background:#c2a36b33;width:120px;height:1px;transition:opacity .4s;overflow:hidden}.loader-fill{background:var(--gold);transform-origin:0;height:100%;transition:transform .4s ease-out;transform:scaleX(0)}.can-open .loader-track{opacity:0}html.locked,html.locked body{overflow:hidden}.can-open #loader{cursor:pointer}.cover-open{font-family:var(--serif);letter-spacing:.16em;text-transform:uppercase;color:#f1dfb4;cursor:pointer;opacity:0;visibility:hidden;background:linear-gradient(#6d1b2b 0%,#4c1120 100%);border:1px solid #e4d4b1bf;border-radius:999px;padding:15px 34px 14px;font-size:1.12rem;font-weight:600;transition:opacity .7s .15s,transform .7s .15s,visibility 0s .15s,filter .3s;position:relative;transform:translateY(6px);box-shadow:inset 0 0 0 3px #4c1120,inset 0 0 0 4px #c2a36b99,0 8px 26px #14030880}.can-open .cover-open{opacity:1;visibility:visible;transform:none}.cover-open span{background:linear-gradient(100deg,#e6cf9c 40%,#fff7e0 50%,#e6cf9c 60%) 100% 0/260% 100%;color:#0000;-webkit-background-clip:text;background-clip:text;animation:3.6s ease-in-out 1.2s infinite letter-shine}@keyframes letter-shine{0%{background-position:100% 0}45%,to{background-position:0 0}}.cover-open:before{content:"";border-radius:inherit;opacity:0;pointer-events:none;border:1px solid #e4d4b1b3;position:absolute;inset:-1px}.can-open .cover-open:before{animation:2.8s ease-out 1s infinite ripple}@keyframes ripple{0%{opacity:.8;transform:scale(1)}to{opacity:0;transform:scale(1.14,1.5)}}.cover-open:hover,.cover-open:focus-visible{filter:brightness(1.18);outline:none}.cover-open:active{transform:scale(.97)}.cover-hint{letter-spacing:.22em;color:#f5f1eb80;opacity:0;font-size:.66rem;transition:opacity .7s .4s}.can-open .cover-hint{opacity:1}#details{z-index:2;background:linear-gradient(to bottom, #3e0d1600, #3e0d16c7 22vh, var(--bg) 42vh);padding-top:42vh;position:relative}.details-inner{max-width:700px;padding:0 24px calc(14vh + var(--safe-bottom));text-align:center;margin:0 auto}.eyebrow{letter-spacing:.34em;text-transform:uppercase;color:var(--gold);margin-bottom:22px;font-size:.7rem}.invite-names{font-family:var(--serif);color:var(--gold-light);font-size:clamp(3rem,13vw,5.8rem);font-weight:500;line-height:1}.invite-names em{color:var(--gold);font-size:.6em;font-style:italic;font-weight:400}.invite-line{max-width:22em;font-family:var(--serif);color:var(--muted);margin:22px auto 0;font-size:1.25rem;font-style:italic}.invite-dates{justify-content:center;align-items:center;gap:12px;max-width:440px;margin:36px auto 8px;display:flex}.invite-date-card{text-align:center;background:#c2a36b0d;border:1px solid #c2a36b40;border-radius:14px;flex-direction:column;flex:1;align-items:center;max-width:180px;padding:16px 12px 14px;transition:transform .25s,border-color .25s;display:flex}.invite-date-card.card-muhurtham{background:#c2a36b1f;border:1.5px solid #e4d4b199;box-shadow:0 4px 22px #00000040,0 0 16px #c9a86a1f}.card-dow{letter-spacing:.22em;text-transform:uppercase;color:var(--stone);margin-bottom:2px;font-size:.72rem;font-weight:500}.card-day{font-family:var(--serif);color:var(--gold-light);margin:2px 0 6px;font-size:clamp(3rem,9.5vw,4.2rem);font-weight:600;line-height:1}.card-tag{font-family:var(--sans);letter-spacing:.1em;text-transform:uppercase;color:var(--gold);font-size:.62rem;font-weight:500;line-height:1.25}.card-muhurtham .card-tag{color:#fff6e0}.invite-date-amp{font-family:var(--serif);color:var(--gold);opacity:.65;font-size:1.6rem;font-style:italic}.invite-month{letter-spacing:.32em;text-transform:uppercase;color:var(--stone);margin:6px 0 22px;padding-top:16px;font-size:.78rem}.invite-key-timings{flex-wrap:wrap;justify-content:center;align-items:center;gap:10px 12px;max-width:520px;margin:0 auto 28px;padding:0 10px;display:flex}.timing-pill{color:var(--stone);background:#0d0b0959;border:1px solid #c2a36b40;border-radius:999px;align-items:center;gap:8px;padding:8px 16px;font-size:.82rem;display:inline-flex}.timing-pill-gold{color:#fff9ec;background:#c2a36b29;border-color:#e4d4b18c}.timing-label{font-family:var(--sans);letter-spacing:.12em;text-transform:uppercase;color:var(--gold);font-size:.68rem;font-weight:500}.timing-pill-gold .timing-label{color:var(--gold-bright)}.timing-val{font-family:var(--serif);letter-spacing:.02em;font-size:.96rem}.invite-venue{font-family:var(--serif);color:var(--stone);margin-top:26px;font-size:1.45rem}.invite-venue span{font-family:var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-top:4px;font-size:.78rem;display:block}.actions{flex-wrap:wrap;justify-content:center;gap:12px;margin-top:34px;display:flex}.btn{letter-spacing:.2em;text-transform:uppercase;border-radius:999px;justify-content:center;align-items:center;min-width:148px;padding:14px 26px;font-size:.74rem;font-weight:500;text-decoration:none;transition:background .3s,color .3s,border-color .3s,transform .3s;display:inline-flex}.btn:hover{transform:translateY(-1px)}.btn-gold{background:var(--gold);color:#2a1d14}.btn-gold:hover{background:var(--gold-light)}.btn-ghost{color:var(--gold-light);border:1px solid #e4d4b161}.btn-ghost:hover{border-color:var(--gold)}.ornament{width:120px;height:12px;color:var(--gold);opacity:.6;margin:84px auto;display:block}.event-list{text-align:left;list-style:none}.event{border-bottom:1px solid #c2a36b24;grid-template-columns:58px 1fr;gap:22px;padding:26px 0;display:grid}.event:first-child{border-top:1px solid #c2a36b24}.event-date{text-align:center;letter-spacing:.22em;text-transform:uppercase;color:var(--gold);font-size:.66rem}.event-date span{font-family:var(--serif);letter-spacing:0;color:var(--gold-light);margin-bottom:4px;font-size:2.4rem;line-height:1;display:block}.event-info h3{font-family:var(--serif);color:var(--stone);font-size:1.6rem;font-weight:500;line-height:1.15}.event-meta{letter-spacing:.04em;color:var(--gold);margin-top:6px;font-size:.78rem}.event-desc{color:var(--muted);margin-top:8px;font-size:.9rem;font-weight:300;line-height:1.6}.family-grid{gap:64px;display:grid}@media (width>=640px){.family-grid{grid-template-columns:1fr 1fr;gap:40px}}.family-arch{aspect-ratio:3/4;border:1px solid #c2a36b59;border-radius:999px 999px 14px 14px;width:min(220px,62vw);margin:0 auto 26px;padding:6px;overflow:hidden}.family-arch img{object-fit:cover;border-radius:999px 999px 10px 10px;width:100%;height:100%;display:block}.family h3{font-family:var(--serif);color:var(--stone);font-size:1.8rem;font-weight:500}.family-sub{font-family:var(--serif);color:var(--muted);margin-top:4px;font-size:1.1rem;font-style:italic}.family ul{gap:14px;margin-top:20px;list-style:none;display:grid}.family li span{color:var(--stone);font-size:.95rem;display:block}.family li em{letter-spacing:.22em;text-transform:uppercase;color:var(--gold);margin-top:3px;font-size:.66rem;font-style:normal;display:block}.venue h3{font-family:var(--serif);color:var(--stone);font-size:2rem;font-weight:500;line-height:1.15}.venue-address{max-width:26em;color:var(--muted);margin:14px auto 28px;font-size:.92rem;font-weight:300;line-height:1.6}.closing{margin-top:110px}.closing-quote{font-family:var(--serif);color:var(--gold-light);font-size:clamp(1.7rem,6.5vw,2.5rem);font-style:italic;line-height:1.25}.closing-text{max-width:24em;color:var(--muted);margin:22px auto 34px;font-size:.95rem;font-weight:300;line-height:1.65}.closing-mono{font-family:var(--serif);letter-spacing:.32em;color:var(--gold);opacity:.8;margin-top:70px;font-size:1.15rem}.reveal{opacity:0;transition:opacity 1s,transform 1s cubic-bezier(.2,.7,.2,1);transform:translateY(22px)}.reveal.is-in{opacity:1;transform:none}@media (prefers-reduced-motion:reduce){.reveal{transform:none}.ov-cue i,.cover-sheen,.cover-logo i,.cover-open span,.can-open .cover-open:before,.music-btn[aria-pressed=true] .music-bars i{animation:none}.cover-logo,.logo-in .cover-logo{animation:none;-webkit-mask-image:none;mask-image:none}.door-seam{display:none}#loader{transition:opacity .9s,visibility 0s .9s}.is-ready #loader{opacity:0}.is-ready .door-l,.is-ready .door-r,.is-ready .cover-content{transform:none}}
