@import "https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,300;0,400;0,500;0,600;0,700;1,300;1,400;1,500&family=Great+Vibes&family=Inter:wght@300;400;500&display=swap";.nav{z-index:var(--z-overlay);opacity:0;transition:top var(--duration-slow) var(--ease-out), opacity var(--duration-slow) var(--ease-out);background-color:color-mix(in srgb, var(--color-ivory) 85%, transparent);-webkit-backdrop-filter:blur(12px);position:fixed;top:-100%;left:0;right:0}.nav--visible{opacity:1;top:0}.nav__inner{max-width:1200px;padding:var(--space-4) var(--space-6);justify-content:space-between;align-items:center;margin:0 auto;display:flex}.nav__monogram{font-family:var(--font-serif);font-size:var(--text-xl);color:var(--color-gold);letter-spacing:var(--tracking-wide);-webkit-tap-highlight-color:transparent;font-style:italic;font-weight:500;text-decoration:none}.nav__links{gap:var(--space-8);list-style:none;display:flex}.nav__link{font-family:var(--font-sans);font-size:var(--text-xs);letter-spacing:var(--tracking-widest);text-transform:uppercase;color:var(--color-ink);opacity:.7;transition:opacity var(--duration-fast) var(--ease-out);-webkit-tap-highlight-color:transparent;font-weight:400;text-decoration:none}.nav__link:hover,.nav__link:focus-visible{opacity:1}.nav__burger{width:44px;height:44px;z-index:var(--z-top);-webkit-tap-highlight-color:transparent;flex-direction:column;justify-content:center;gap:5px;padding:10px;display:none;position:relative}.nav__burger-line{background-color:var(--color-ink);width:100%;height:1.5px;transition:transform var(--duration-normal) var(--ease-out), opacity var(--duration-normal) var(--ease-out);transform-origin:50%;border-radius:1px;display:block}.nav__burger--open .nav__burger-line:first-child{transform:translateY(6.5px)rotate(45deg)}.nav__burger--open .nav__burger-line:nth-child(2){opacity:0}.nav__burger--open .nav__burger-line:nth-child(3){transform:translateY(-6.5px)rotate(-45deg)}.nav-overlay{z-index:calc(var(--z-overlay) + 5);background-color:var(--color-ivory);opacity:0;visibility:hidden;transition:opacity var(--duration-normal) var(--ease-out), visibility var(--duration-normal) var(--ease-out);flex-direction:column;justify-content:center;align-items:center;display:none;position:fixed;inset:0}.nav-overlay--open{opacity:1;visibility:visible}.nav-overlay__links{align-items:center;gap:var(--space-10);flex-direction:column;list-style:none;display:flex}.nav-overlay__link{font-family:var(--font-serif);font-size:var(--text-3xl);letter-spacing:var(--tracking-wide);text-transform:uppercase;color:var(--color-ink);-webkit-tap-highlight-color:transparent;align-items:center;min-height:56px;font-weight:300;text-decoration:none;display:flex}.nav-overlay__link:active{color:var(--color-gold)}@media (width<=768px){.nav__links{display:none}.nav__burger,.nav-overlay{display:flex}}@media (prefers-reduced-motion:reduce){.nav,.nav-overlay{transition:none}}.countdown{align-items:center;gap:var(--space-3);flex-direction:column;display:flex}.countdown__grid{align-items:center;gap:var(--space-4);display:flex}.countdown__unit{align-items:center;gap:var(--space-1);flex-direction:column;min-width:52px;display:flex}.countdown__number{font-family:var(--font-serif);font-size:var(--text-3xl);color:var(--color-ink);letter-spacing:var(--tracking-tight);font-weight:300;line-height:1}.countdown__number--sec{color:var(--color-gold);opacity:.7}.countdown__label{font-family:var(--font-sans);font-size:var(--text-xs);letter-spacing:var(--tracking-widest);text-transform:uppercase;color:var(--color-muted)}.countdown__sep{font-family:var(--font-serif);font-size:var(--text-2xl);color:var(--color-gold);opacity:.35;margin-bottom:var(--space-4);font-weight:300}.countdown__caption{font-family:var(--font-sans);font-size:var(--text-xs);letter-spacing:var(--tracking-widest);text-transform:uppercase;color:var(--color-champagne)}.countdown__passed{font-family:var(--font-serif);font-size:var(--text-2xl);color:var(--color-gold);font-style:italic}@media (width<=480px){.countdown__grid{gap:var(--space-2)}.countdown__unit{min-width:40px}.countdown__number{font-size:var(--text-2xl)}.countdown__sep{font-size:var(--text-xl)}}.floral-frame{pointer-events:none;z-index:1;position:absolute;inset:0;overflow:hidden}.floral-frame img{display:block;position:absolute}.ff-corner{pointer-events:none;position:absolute}.ff-corner--tl{width:clamp(200px,34vw,400px);height:clamp(260px,45vw,520px);top:-6%;left:-6%}.ff-corner--tr{width:clamp(200px,34vw,400px);height:clamp(260px,45vw,520px);top:-6%;right:-6%;transform:scaleX(-1)}.ff-corner--bl{width:clamp(160px,26vw,300px);height:clamp(160px,26vw,300px);bottom:-6%;left:-6%;transform:scaleY(-1)}.ff-corner--br{width:clamp(160px,26vw,300px);height:clamp(160px,26vw,300px);bottom:-6%;right:-6%;transform:scale(-1)}.ff-lf{height:auto}.ff-lf-1{opacity:.85;width:90%;top:0;left:0;transform:rotate(-5deg)}.ff-lf-2{opacity:.7;width:85%;top:-8%;left:10%;transform:rotate(25deg)}.ff-lf-3{opacity:.6;width:80%;top:10%;left:-8%;transform:rotate(-30deg)}.ff-lf-4{opacity:.5;width:70%;top:4%;left:20%;transform:rotate(45deg)}.ff-bq{height:auto}.ff-bq-1{opacity:1;width:65%;top:0;left:0}.ff-bq-2{opacity:.85;width:60%;top:-5%;left:14%;transform:rotate(15deg)}.ff-bq-3{opacity:.75;width:58%;top:12%;left:5%;transform:rotate(-12deg)}.ff-bq-4{opacity:.65;width:50%;top:5%;left:28%;transform:rotate(35deg)}.ff-ch{opacity:.85;width:35%;height:auto;top:8%;left:42%}.ff-cs{opacity:.75;height:auto}.ff-cs-1{width:12%;top:12%;left:55%}.ff-cs-2{opacity:.6;width:10%;top:6%;left:64%}.ff-cs-3{opacity:.5;width:11%;top:16%;left:72%}.ff-hang{opacity:.8;width:clamp(55px,9vw,110px);height:auto;position:absolute;top:-4%}.ff-hang--1{left:12%}.ff-hang--2{opacity:.7;width:clamp(48px,8vw,95px);top:-3%;left:26%}.ff-hang--3{opacity:.7;width:clamp(48px,8vw,95px);top:-3%;right:26%;transform:scaleX(-1)}.ff-hang--4{right:12%;transform:scaleX(-1)}.ff-s{opacity:.7;height:auto;position:absolute;top:-1%}.ff-s--1{width:clamp(14px,2.4vw,28px);top:-2%;left:17%}.ff-s--2{opacity:.55;width:clamp(12px,2vw,24px);top:0%;left:22%}.ff-s--3{width:clamp(16px,2.6vw,30px);top:-3%;left:30%}.ff-s--4{opacity:.55;width:clamp(12px,2vw,22px);top:-1%;left:37%}.ff-s--5{width:clamp(14px,2.4vw,28px);top:-2%;right:17%;transform:scaleX(-1)}.ff-s--6{opacity:.55;width:clamp(12px,2vw,24px);top:0%;right:22%;transform:scaleX(-1)}.ff-s--7{width:clamp(16px,2.6vw,30px);top:-3%;right:30%;transform:scaleX(-1)}.ff-s--8{opacity:.55;width:clamp(12px,2vw,22px);top:-1%;right:37%;transform:scaleX(-1)}.ff-bottom-glow{background:radial-gradient(ellipse 100% 80% at 50% 100%, color-mix(in srgb, var(--color-gold) 15%, transparent) 0%, color-mix(in srgb, var(--color-champagne) 8%, transparent) 40%, transparent 80%);pointer-events:none;width:80%;height:12%;position:absolute;bottom:0;left:10%}@media (width<=768px){.ff-corner--tl,.ff-corner--tr{width:clamp(170px,38vw,340px);height:clamp(220px,50vw,440px)}.ff-corner--bl,.ff-corner--br{width:clamp(130px,30vw,260px);height:clamp(130px,30vw,260px)}.ff-hang{width:clamp(45px,10vw,90px)}.ff-hang--2,.ff-hang--3{width:clamp(38px,9vw,75px)}}@media (width<=480px){.ff-corner--tl,.ff-corner--tr{width:clamp(150px,44vw,280px);height:clamp(190px,56vw,380px)}.ff-corner--bl,.ff-corner--br{width:clamp(115px,34vw,220px);height:clamp(115px,34vw,220px)}.ff-lf-4{opacity:.35}.ff-bq-4{opacity:.5}.ff-ch{opacity:.7}.ff-hang{opacity:.7;width:clamp(38px,12vw,75px)}.ff-hang--2,.ff-hang--3{width:clamp(32px,10vw,60px)}.ff-s{opacity:.55}.ff-s--4,.ff-s--8{display:none}}.opening{background:linear-gradient(170deg, var(--color-warm-white) 0%, var(--color-ivory) 30%, color-mix(in srgb, var(--color-champagne) 20%, var(--color-ivory)) 70%, color-mix(in srgb, var(--color-blush) 8%, var(--color-ivory)) 100%);justify-content:center;align-items:center;width:100%;min-height:100dvh;display:flex;position:relative;overflow:hidden auto}.opening:before{content:"";background:radial-gradient(ellipse 80% 70% at 50% 50%, transparent 50%, color-mix(in srgb, var(--color-champagne) 12%, transparent) 80%, color-mix(in srgb, var(--color-ink) 6%, transparent) 100%);pointer-events:none;z-index:var(--z-base);position:absolute;inset:0}.opening:after{content:"";pointer-events:none;z-index:var(--z-base);opacity:.5;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.03'/%3E%3C/svg%3E");background-repeat:repeat;background-size:200px 200px;position:absolute;inset:0}.opening__glow{background:radial-gradient(ellipse at center, color-mix(in srgb, var(--color-champagne) 30%, transparent) 0%, color-mix(in srgb, var(--color-gold) 12%, transparent) 35%, color-mix(in srgb, var(--color-champagne) 5%, transparent) 60%, transparent 75%);pointer-events:none;width:80vw;max-width:700px;height:70vh;z-index:var(--z-base);border-radius:50%;position:absolute;top:50%;left:50%;transform:translate(-50%,-55%)}.opening__petals{pointer-events:none;z-index:1;position:absolute;inset:0}.opening__petal{opacity:0;will-change:transform, opacity;width:clamp(20px,4vw,36px);height:auto;position:absolute}.opening__content{z-index:var(--z-above);text-align:center;padding:var(--space-12) var(--space-6);flex-direction:column;align-items:center;width:100%;max-width:720px;display:flex;position:relative}.opening__sanskrit{font-family:var(--font-serif);font-size:var(--text-lg);color:var(--color-gold);letter-spacing:var(--tracking-wider);margin-bottom:var(--space-10)}.opening__names{align-items:center;gap:var(--space-1);flex-direction:column;display:flex}.opening__name{font-family:var(--font-serif);font-size:var(--text-5xl);letter-spacing:var(--tracking-wide);text-transform:uppercase;color:var(--color-ink);font-weight:300;line-height:var(--leading-tight)}.opening__ampersand-row{align-items:center;gap:var(--space-4);margin:var(--space-2) 0;display:flex}.opening__divider-line{background:linear-gradient(90deg, transparent, var(--color-gold), transparent);opacity:.6;width:56px;height:1px;display:block}.opening__ampersand{font-family:var(--font-serif);font-size:var(--text-3xl);color:var(--color-gold);font-style:italic;font-weight:300;line-height:1}.opening__date{font-family:var(--font-sans);font-size:var(--text-sm);letter-spacing:var(--tracking-widest);text-transform:uppercase;color:var(--color-ink);opacity:.75;margin-top:var(--space-10)}.opening__venue{font-family:var(--font-sans);font-size:var(--text-sm);letter-spacing:var(--tracking-wider);text-transform:uppercase;color:var(--color-ink);opacity:.55;margin-top:var(--space-2)}.opening__families{font-family:var(--font-sans);font-size:var(--text-sm);letter-spacing:var(--tracking-wider);text-transform:uppercase;color:var(--color-muted);margin-top:var(--space-4)}.opening__countdown{margin-top:var(--space-8)}.opening__cta{align-items:center;gap:var(--space-3);margin-top:var(--space-10);padding:var(--space-4) var(--space-10);border-radius:var(--radius-full);background:linear-gradient(135deg, var(--color-gold) 0%, color-mix(in srgb, var(--color-gold) 80%, var(--color-champagne)) 100%);min-height:52px;box-shadow:0 2px 16px color-mix(in srgb, var(--color-gold) 30%, transparent), 0 0 0 1px color-mix(in srgb, var(--color-gold) 15%, transparent);transition:transform var(--duration-normal) var(--ease-out), box-shadow var(--duration-normal) var(--ease-out);-webkit-tap-highlight-color:transparent;border:none;display:inline-flex}.opening__cta:hover{box-shadow:0 8px 30px color-mix(in srgb, var(--color-gold) 40%, transparent), 0 0 0 1px color-mix(in srgb, var(--color-gold) 20%, transparent);transform:translateY(-2px)}.opening__cta:focus-visible{outline:2px solid var(--color-gold);outline-offset:4px}.opening__cta:active{transform:scale(.97)}.opening__cta-text{font-family:var(--font-sans);font-size:var(--text-sm);letter-spacing:var(--tracking-widest);text-transform:uppercase;color:var(--color-warm-white);font-weight:500}.opening__cta-arrow{font-size:var(--text-lg);color:var(--color-warm-white);opacity:.85;transition:transform var(--duration-normal) var(--ease-out)}.opening__cta:hover .opening__cta-arrow{transform:translateY(2px)}.opening__closing{align-items:center;gap:var(--space-3);margin-top:var(--space-8);flex-direction:column;display:flex}.opening__closing-divider{color:var(--color-gold);opacity:.5;flex-direction:column;align-items:center;gap:0;display:flex}.opening__closing-divider:before{content:"";background:var(--color-gold);width:1px;height:32px;display:block}.opening__closing-divider:after{content:"↓";font-size:var(--text-sm);margin-top:-2px;line-height:1}.opening__closing-tagline{font-family:var(--font-sans);font-size:var(--text-xs);letter-spacing:var(--tracking-widest);text-transform:uppercase;color:var(--color-muted);font-weight:400}@media (width<=768px){.opening__content{padding:var(--space-8) var(--space-4)}.opening__sanskrit{margin-bottom:var(--space-8)}.opening__divider-line{width:40px}.opening__glow{width:90vw;height:60vh}}@media (width<=480px){.opening__content{padding:var(--space-8) var(--space-3)}.opening__sanskrit{margin-bottom:var(--space-6)}.opening__date{margin-top:var(--space-8)}.opening__countdown{margin-top:var(--space-6)}.opening__cta{padding:var(--space-3) var(--space-8);margin-top:var(--space-8)}.opening__divider-line{width:28px}.opening__closing{margin-top:var(--space-6)}.opening__glow{width:100vw;height:50vh}}@media (prefers-reduced-motion:reduce){.opening__cta:hover,.opening__cta:hover .opening__cta-arrow{transform:none}}.reveal{min-height:180vh;position:relative}.reveal__bg{background:linear-gradient(180deg, color-mix(in srgb, var(--color-champagne) 15%, var(--color-ivory)) 0%, var(--color-ivory) 50%, color-mix(in srgb, var(--color-champagne) 10%, var(--color-ivory)) 100%);flex-direction:column;justify-content:center;align-items:center;width:100%;height:100dvh;display:flex;position:sticky;top:0;overflow:hidden}.reveal__glow{background:radial-gradient(ellipse at center, color-mix(in srgb, var(--color-champagne) 20%, transparent) 0%, color-mix(in srgb, var(--color-gold) 6%, transparent) 35%, transparent 70%);pointer-events:none;z-index:0;border-radius:50%;width:60vw;max-width:500px;height:40vh;position:absolute;top:60%;left:50%;transform:translate(-50%,-50%)}.reveal__page1,.reveal__page2{justify-content:center;align-items:center;gap:var(--space-4);width:100%;height:100%;z-index:var(--z-above);padding:0 var(--space-4);flex-direction:column;display:flex;position:absolute;top:0;left:0}.reveal__page2{opacity:0;gap:var(--space-6)}.reveal__frame{flex-shrink:0;justify-content:center;align-items:center;width:90%;max-width:320px;display:flex;position:relative}.reveal__arch{pointer-events:none;z-index:1;width:124%;height:auto;position:absolute;top:-18%;left:50%;transform:translate(-50%)}.reveal__silhouette-wrap{justify-content:center;align-items:center;width:100%;display:flex}.reveal__silhouette{object-fit:contain;width:100%;max-width:290px;height:auto;max-height:42vh;-webkit-mask-image:linear-gradient(#000 0% 85%,#0000 100%);mask-image:linear-gradient(#000 0% 85%,#0000 100%)}.reveal__text{text-align:center;align-items:center;gap:var(--space-3);flex-direction:column;display:flex}.reveal__heading{font-family:var(--font-serif);font-size:var(--text-4xl);letter-spacing:var(--tracking-wide);text-transform:uppercase;color:var(--color-ink);font-weight:300}.reveal__amp{color:var(--color-gold);font-style:italic;font-weight:300}.reveal__flourish{width:clamp(160px,40vw,260px);height:auto;margin:var(--space-1) 0}.reveal__taglines{gap:var(--space-1);font-family:var(--font-serif);font-size:var(--text-xl);color:var(--color-ink);opacity:.75;font-style:italic;font-weight:300;line-height:var(--leading-relaxed);flex-direction:column;display:flex}.reveal__tagline-accent{color:var(--color-gold);opacity:1}.reveal__date{font-family:var(--font-sans);font-size:var(--text-sm);letter-spacing:var(--tracking-widest);text-transform:uppercase;color:var(--color-ink);opacity:.45;margin-top:var(--space-2)}.families__heading-group{gap:var(--space-2);text-align:center;flex-direction:column;display:flex}.families__heading{font-family:var(--font-serif);font-size:var(--text-3xl);letter-spacing:var(--tracking-wide);text-transform:uppercase;color:var(--color-ink);font-weight:350;line-height:var(--leading-tight)}.families__heading-highlight{color:var(--color-gold);font-style:italic}.families__flourish{width:min(280px,60vw);height:auto}.families__invitation{align-items:center;gap:var(--space-1);text-align:center;flex-direction:column;display:flex}.families__invitation-family{font-family:var(--font-serif);font-size:var(--text-xl);color:var(--color-gold);letter-spacing:var(--tracking-wide);font-style:italic;font-weight:600}.families__invitation-line{font-family:var(--font-serif);font-size:var(--text-xl);color:var(--color-ink);opacity:.65;font-style:italic;font-weight:500;line-height:var(--leading-relaxed)}.families__couple{margin:var(--space-2) 0}.families__couple-names{font-family:var(--font-serif);font-size:var(--text-3xl);letter-spacing:var(--tracking-wide);text-transform:uppercase;color:var(--color-ink);font-weight:300;line-height:var(--leading-tight)}.families__couple-amp{color:var(--color-gold);font-style:italic;font-weight:400}.families__hindi-block{align-items:center;gap:var(--space-2);text-align:center;flex-direction:column;display:flex}.families__hindi{font-family:var(--font-serif);font-size:var(--text-2xl);color:var(--color-gold);letter-spacing:var(--tracking-wide)}.families__hindi-sub{font-family:var(--font-serif);font-size:var(--text-lg);color:var(--color-muted);opacity:.8}.reveal__petals{pointer-events:none;z-index:2;position:absolute;inset:0}.reveal__petal{opacity:0;will-change:transform, opacity;width:clamp(18px,3.5vw,32px);height:auto;position:absolute}@media (width<=768px){.reveal__frame{width:95%;max-width:280px}.reveal__silhouette{max-width:250px;max-height:38vh}.reveal__text{gap:var(--space-2)}.reveal__glow{width:70vw;height:42vh}.reveal__flourish{width:clamp(140px,45vw,220px)}.families__heading{font-size:var(--text-2xl)}.families__couple-names{font-size:var(--text-3xl)}}@media (width<=480px){.reveal__page1,.reveal__page2{gap:var(--space-3)}.reveal__frame{width:100%;max-width:230px}.reveal__silhouette{max-width:210px;max-height:35vh}.reveal__heading{font-size:var(--text-3xl)}.reveal__taglines{font-size:var(--text-lg)}.reveal__glow{width:85vw;height:38vh}.reveal__flourish{width:clamp(120px,50vw,180px)}.families__heading,.families__couple-names{font-size:var(--text-2xl)}.families__invitation-family{font-size:var(--text-lg)}.families__invitation-line{font-size:var(--text-base)}.families__hindi{font-size:var(--text-xl)}}.celebrations{background:var(--color-ivory);width:100%;padding:var(--space-24) var(--space-6) var(--space-32);flex-direction:column;align-items:center;display:flex;position:relative}.celebrations__header{align-items:center;gap:var(--space-4);margin-bottom:var(--space-16);text-align:center;flex-direction:column;display:flex}.celebrations__heading-group{align-items:center;gap:var(--space-1);flex-direction:column;display:flex}.celebrations__eyebrow{margin-bottom:var(--space-3);font-family:var(--font-sans);font-size:var(--text-xs);letter-spacing:var(--tracking-widest);text-transform:uppercase;color:var(--color-gold);opacity:.8;font-weight:500;line-height:1}.celebrations__heading{font-family:var(--font-serif);font-size:var(--text-4xl);letter-spacing:var(--tracking-wide);font-weight:300;line-height:var(--leading-tight);text-transform:uppercase;color:var(--color-ink);margin:0}.celebrations__heading--accent{text-transform:none;color:var(--color-gold);font-style:italic}.celebrations__flourish{width:min(200px,48vw);height:auto;margin-top:var(--space-2)}.celebrations__support{font-family:var(--font-serif);font-size:var(--text-lg);letter-spacing:var(--tracking-wide);color:var(--color-muted);margin:0;font-style:italic;font-weight:300}.celebrations__portals{gap:var(--space-12);flex-direction:column;width:100%;max-width:1120px;display:flex}.portal{border:1px solid color-mix(in srgb, var(--color-gold) 25%, transparent);border-radius:var(--radius-lg);cursor:pointer;text-align:left;-webkit-tap-highlight-color:transparent;isolation:isolate;width:100%;height:clamp(320px,36vw,430px);transition:border-color .7s var(--ease-out), box-shadow .7s var(--ease-out), transform .7s var(--ease-out);background:#1a1418;padding:0;position:relative;overflow:hidden}.portal:hover{border-color:color-mix(in srgb, var(--color-gold) 55%, transparent);box-shadow:0 18px 60px color-mix(in srgb, var(--color-gold) 12%, transparent);transform:translateY(-3px)}.portal:focus-visible{outline:2px solid var(--color-gold);outline-offset:5px}.portal:active{transform:scale(.995)}.portal__image{object-fit:cover;z-index:0;transform-origin:50%;width:calc(100% + 2px);height:calc(100% + 2px);transition:transform 1.4s cubic-bezier(.22, 1, .36, 1), filter 1s var(--ease-out);display:block;position:absolute;inset:-1px;transform:scale(1.06)}.portal:hover .portal__image{transform:scale(1.1)}.portal--haldi .portal__image{filter:saturate(1.02);opacity:.7}.portal--disco .portal__image{filter:saturate(1.05)contrast(1.02);opacity:.7}.portal--wedding .portal__image{filter:saturate(.96);opacity:.7}.portal__overlay{z-index:1;pointer-events:none;transition:opacity .8s var(--ease-out);position:absolute;inset:0}.portal--haldi .portal__overlay{background:linear-gradient(90deg,#2619089e 0%,#26190857 30%,#26190814 55%,#0000 75%)}.portal--disco .portal__overlay{background:linear-gradient(90deg,#0c080fd1 0%,#0c080f94 30%,#0c080f2e 58%,#0000 78%)}.portal--wedding .portal__overlay{background:linear-gradient(90deg,#f7f1e4f0 0%,#f7f1e4b8 28%,#f7f1e440 52%,#0000 76%)}.portal__overlay:after{content:"";opacity:.45;background:linear-gradient(#0000,#0000002e);height:35%;position:absolute;inset:auto 0 0}.portal__frame{z-index:2;pointer-events:none;opacity:.7;transition:inset .7s var(--ease-out), border-color .7s var(--ease-out), opacity .7s var(--ease-out);border:1px solid #ffffff3d;position:absolute;inset:12px}.portal:hover .portal__frame{opacity:.9;border-color:#ffffff6b;inset:10px}.portal--wedding .portal__frame{border-color:#84673847}.portal__content{z-index:3;pointer-events:none;flex-direction:column;justify-content:center;align-items:flex-start;max-width:540px;height:100%;padding:clamp(32px,5vw,58px) clamp(28px,6vw,72px);display:flex;position:relative}.portal__number{font-family:var(--font-sans);font-size:var(--text-xs);letter-spacing:var(--tracking-widest);text-transform:uppercase;color:#ffffffb8;align-items:center;gap:14px;margin-bottom:18px;font-weight:500;line-height:1;display:flex}.portal--wedding .portal__number{color:#526548;opacity:1}.portal__number:after{content:"";opacity:.65;background:currentColor;width:72px;height:1px}.portal__title{font-family:var(--font-serif);letter-spacing:.015em;color:var(--color-warm-white);text-wrap:balance;margin:0 0 10px;font-size:clamp(38px,4.2vw,64px);font-weight:300;line-height:.98}.portal--haldi .portal__title{color:#fffaf0}.portal--disco .portal__title{color:#fffaf8}.portal--wedding .portal__title{color:var(--color-ink)}.portal__subtitle{font-family:var(--font-sans);font-size:var(--text-sm);letter-spacing:var(--tracking-wider);text-transform:uppercase;color:#ffffffc7;margin:0 0 18px;font-weight:500;line-height:1.5}.portal--haldi .portal__subtitle{color:#fff8e2d1}.portal--disco .portal__subtitle{color:var(--color-champagne)}.portal--wedding .portal__subtitle{font-family:var(--font-serif);font-size:var(--text-lg);letter-spacing:var(--tracking-wide);text-transform:none;color:#526548;opacity:1;font-style:italic;font-weight:500}.portal__tagline{font-family:var(--font-serif);color:#ffffffdb;margin:0;font-size:clamp(18px,2vw,24px);font-style:italic;font-weight:300;line-height:1.45}.portal__arrow{z-index:4;font-family:var(--font-serif);color:var(--color-gold);opacity:.72;pointer-events:none;transition:transform .7s var(--ease-out), opacity .7s var(--ease-out);font-size:30px;font-weight:300;line-height:1;position:absolute;bottom:clamp(24px,4vw,42px);right:clamp(28px,5vw,60px)}.portal:hover .portal__arrow{opacity:1;transform:translate(10px)}.portal--wedding .portal__arrow{color:var(--color-gold)}.portal__shimmer{z-index:4;pointer-events:none;background:linear-gradient(90deg,#0000,#ffffff14,#0000);width:35%;height:100%;transition:left 1s cubic-bezier(.22,1,.36,1);position:absolute;top:0;left:-60%;transform:skew(-18deg)}.portal:hover .portal__shimmer{left:130%}@media (width<=768px){.celebrations{padding:var(--space-20) var(--space-4) var(--space-24)}.celebrations__header{margin-bottom:var(--space-12)}.celebrations__heading{font-size:var(--text-3xl)}.celebrations__portals{gap:var(--space-8)}.portal{border-radius:var(--radius-md);height:clamp(290px,46vw,380px)}.portal__content{max-width:470px;padding:32px clamp(26px,6vw,48px)}.portal__title{font-size:clamp(34px,6vw,48px)}.portal__number{margin-bottom:14px}.portal__frame{inset:9px}.portal:hover .portal__frame{inset:8px}}@media (width<=480px){.celebrations{padding:var(--space-16) var(--space-3) var(--space-20)}.celebrations__header{gap:var(--space-3);margin-bottom:var(--space-10)}.celebrations__eyebrow{margin-bottom:var(--space-2)}.celebrations__heading{font-size:var(--text-2xl)}.celebrations__support{font-size:var(--text-base)}.celebrations__flourish{width:min(160px,55vw)}.celebrations__portals{gap:var(--space-6)}.portal{border-radius:var(--radius-md);height:clamp(270px,72vw,340px)}.portal__image{transform:scale(1.045)}.portal:hover .portal__image{transform:scale(1.07)}.portal__content{max-width:78%;padding:28px 24px}.portal__number{gap:10px;margin-bottom:12px;font-size:10px}.portal__number:after{width:42px}.portal__title{margin-bottom:8px;font-size:clamp(30px,9vw,40px);line-height:1}.portal__subtitle{margin-bottom:12px;font-size:10px;line-height:1.45}.portal__tagline{font-size:17px;line-height:1.35}.portal__arrow{font-size:25px;bottom:22px;right:24px}.portal__frame{inset:8px}.portal:hover .portal__frame{inset:7px}.portal--haldi .portal__overlay{background:linear-gradient(90deg,#261908b8 0%,#26190866 45%,#26190814 72%,#0000 100%)}.portal--disco .portal__overlay{background:linear-gradient(90deg,#0c080fe0 0%,#0c080f8a 46%,#0c080f1f 74%,#0000 100%)}.portal--wedding .portal__overlay{background:linear-gradient(90deg,#f7f1e4fa 0%,#f7f1e4d6 48%,#f7f1e461 72%,#0000 100%)}.portal--wedding .portal__subtitle{color:#40543a;text-shadow:0 1px 2px #f7f1e4e6,0 0 1px #40543a59;background:#f7f1e447;border-radius:2px;padding:2px 8px 3px 2px;font-weight:400;display:inline-block}}@media (width<=360px){.celebrations{padding-left:12px;padding-right:12px}.portal{height:270px}.portal__content{max-width:82%;padding:24px 20px}.portal__title{font-size:29px}.portal__subtitle{font-size:9px}.portal__tagline{font-size:15px}.portal__arrow{bottom:18px;right:18px}}@media (prefers-reduced-motion:reduce){.portal,.portal__image,.portal__frame,.portal__arrow,.portal__shimmer{transition:none}.portal:hover{transform:none}.portal:hover .portal__image{transform:scale(1.06)}.portal:hover .portal__frame{inset:12px}.portal:hover .portal__arrow{transform:none}.portal__shimmer{display:none}}.palette{justify-content:center;align-items:center;gap:var(--space-4);flex-wrap:wrap;display:flex}.palette__swatch{width:40px;height:40px;transition:transform var(--duration-fast) var(--ease-out);border:2px solid #fff9;border-radius:50%;box-shadow:0 2px 8px #00000014}.palette__swatch:hover{transform:scale(1.15)}@media (width<=480px){.palette{gap:var(--space-3)}.palette__swatch{width:34px;height:34px}}.haldi{--haldi-brown:#8b531d;--haldi-gold:#b87320;--haldi-pink:#dc667c;--haldi-cream:#fff4dd;background:#20150d;min-height:140vh;position:relative}.haldi__bg{isolation:isolate;background:#f5d49a;width:100%;height:100dvh;position:sticky;top:0;overflow:hidden}.haldi__scene{z-index:0;opacity:.7;transform-origin:50%;background-image:url(/images/assets/celebrations/haldi/haldi-background.png);background-position:50%;background-repeat:no-repeat;background-size:cover;position:absolute;inset:0;transform:scale(1.002)}.haldi__scene-wash{z-index:1;opacity:1;pointer-events:none;background:linear-gradient(#fff5da29 0%,#ffedc905 42%,#ffe8c11f 78%,#ffe8c14d 100%);position:absolute;inset:0}.haldi__overlay{z-index:40;opacity:0;pointer-events:none;background:linear-gradient(#0a0609d6,#0a0609fa);position:absolute;inset:0}.haldi__disco-ball-wrap{z-index:41;pointer-events:none;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.haldi__disco-ball{opacity:0;transform:scale(.3)}.haldi__content{z-index:10;text-align:center;will-change:transform, opacity;flex-direction:column;align-items:center;width:min(100%,1120px);height:100%;min-height:100dvh;margin:0 auto;padding:52px 32px 24px;display:flex;position:relative}.haldi__back{z-index:20;-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);min-height:32px;color:var(--haldi-pink);font-family:var(--font-sans);letter-spacing:.12em;cursor:pointer;background:#fff5dd8c;border:1px solid #da657b8c;border-radius:999px;align-items:center;gap:6px;padding:6px 12px;font-size:9px;font-weight:500;transition:background-color .25s,border-color .25s,transform .25s;display:inline-flex;position:absolute;top:44px;left:32px}.haldi__back:hover,.haldi__back:focus-visible{background:#fff5ddbf;border-color:#da657bd9;transform:translateY(-1px)}.haldi__hero{z-index:15;flex-direction:column;align-items:center;width:min(700px,72vw);margin-top:48px;display:flex;position:relative}.haldi__eyebrow{font-family:var(--font-sans);letter-spacing:.38em;text-transform:uppercase;color:#8b531db3;margin-bottom:6px;font-size:9px;font-weight:500}.haldi__title{font-family:var(--font-serif);letter-spacing:.075em;text-transform:uppercase;color:var(--haldi-brown);text-shadow:0 1px #fff7e0b8;margin:0;font-size:clamp(60px,7vw,94px);font-weight:300;line-height:.9}.haldi__subtitle{font-family:var(--font-serif);letter-spacing:.04em;color:var(--haldi-pink);margin:9px 0 0;font-size:clamp(19px,2.1vw,27px);font-style:italic;font-weight:550}.haldi__flourish{--color-gold:var(--haldi-gold);width:min(240px,30vw);margin-top:10px}.haldi__flourish--lower{width:min(220px,28vw);margin-top:8px}.haldi__couple-stage{z-index:12;pointer-events:none;justify-content:center;align-items:flex-end;width:min(480px,42vw);height:44vh;display:flex;position:absolute;top:24%;left:50%;transform:translate(-50%)}.haldi__couple-halo{filter:blur(10px);z-index:0;background:radial-gradient(#fff4cd70 0%,#ffdc8c2e 44%,#0000 72%);border-radius:50%;width:72%;height:86%;position:absolute;top:8%;left:50%;transform:translate(-50%)}.haldi__couple{z-index:2;object-fit:contain;object-position:center bottom;filter:drop-shadow(0 20px 22px #5c36102b);width:100%;height:100%;display:block;position:relative}.haldi__lower{z-index:16;flex-direction:column;align-items:center;width:min(540px,78vw);padding:18px 28px 16px;display:flex;position:absolute;bottom:20px;left:50%;transform:translate(-50%)}.haldi__lower:before{content:"";filter:blur(12px);z-index:-1;pointer-events:none;background:radial-gradient(circle,#fdf0d5f2 5%,#fdf0d5eb 30%,#fdeed0d1 30%,#fcebc8a6 40%,#fae6c36b 45%,#f8e1be38 50%,#f5dcb914 60%,#0000 100%);border-radius:50%;width:700px;height:700px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.haldi__taglines{flex-direction:column;align-items:center;gap:0;margin-bottom:6px;padding:4px 20px 6px;display:flex}.haldi__taglines p{font-family:var(--font-serif);color:var(--haldi-pink);text-shadow:0 1px 2px #fff5dbd9;margin:0;font-size:clamp(20px,2.2vw,26px);font-style:italic;font-weight:550;line-height:1.3}.haldi__details{flex-direction:column;align-items:center;gap:10px;margin-top:6px;display:flex}.haldi__date{font-family:var(--font-sans);letter-spacing:.22em;text-transform:uppercase;color:var(--haldi-brown);align-items:center;gap:10px;margin:0;font-size:14px;font-weight:600;display:flex}.haldi__date-icon{width:18px;height:18px;color:var(--haldi-gold);flex-shrink:0}.haldi__dresscode{text-align:center;flex-direction:column;align-items:center;gap:2px;display:flex}.haldi__dresscode-row{align-items:center;gap:6px;display:flex}.haldi__dresscode-icon{width:16px;height:16px;color:var(--haldi-gold);flex-shrink:0}.haldi__dresscode-label{font-family:var(--font-sans);letter-spacing:.2em;text-transform:uppercase;color:var(--haldi-brown);font-size:9px;font-weight:600}.haldi__dresscode-value{font-family:var(--font-serif);letter-spacing:.12em;color:var(--haldi-pink);margin-top:0;font-size:18px;font-weight:550}.haldi__palette-block{flex-direction:column;align-items:center;margin-top:4px;display:flex}.haldi__palette{margin:0}.haldi__closing{font-family:var(--font-script);color:var(--haldi-brown);text-shadow:0 1px 2px #fff5dbd9;margin:10px 0 0;font-size:clamp(24px,2.8vw,34px);font-style:normal;font-weight:400}.haldi__flourish--closing{width:min(220px,28vw);margin-top:6px}@media (width<=900px) and (width>=481px){.haldi__content{padding:44px 22px 20px}.haldi__back{top:38px;left:22px}.haldi__hero{margin-top:38px}.haldi__couple-stage{width:min(380px,52vw);height:40vh;top:26%}.haldi__lower{width:min(500px,82vw);padding:16px 24px 14px;bottom:16px}}@media (width<=480px){.haldi{min-height:140vh}.haldi__bg{height:100dvh}.haldi__scene{background-position:50%;background-size:cover}.haldi__content{width:100%;height:100dvh;min-height:100dvh;padding:32px 12px 9px}.haldi__back{letter-spacing:.1em;gap:6px;min-height:31px;padding:6px 11px;font-size:7px;top:28px;left:12px}.haldi__hero{width:92vw;margin-top:25px}.haldi__eyebrow{letter-spacing:.3em;margin-bottom:4px;font-size:6.5px}.haldi__title{letter-spacing:.055em;font-size:clamp(43px,13.2vw,56px)}.haldi__subtitle{margin-top:5px;font-size:clamp(15px,4.25vw,18px)}.haldi__flourish{width:105px;margin-top:5px}.haldi__couple-stage{width:min(365px,84vw);height:45vh;top:25.5%;left:50%;transform:translate(-50%)}.haldi__couple-halo{filter:blur(8px);width:82%;height:84%;top:7%}.haldi__couple{object-fit:contain;object-position:center bottom;filter:drop-shadow(0 13px 16px #5c361024);width:100%;height:100%}.haldi__lower{width:92vw;padding:14px 18px 12px;bottom:8px;left:50%}.haldi__lower:before{width:620px;height:620px}.haldi__taglines{margin-bottom:2px;padding:2px 14px 3px}.haldi__taglines p{font-size:clamp(15px,4.2vw,18px);font-weight:400;line-height:1.22}.haldi__flourish--lower{width:110px;margin-top:4px}.haldi__details{gap:6px;margin-top:4px}.haldi__date{letter-spacing:.18em;gap:7px;font-size:10px;font-weight:600}.haldi__date-icon{width:14px;height:14px}.haldi__dresscode{gap:7px}.haldi__dresscode-icon{width:18px;height:18px}.haldi__dresscode-label{letter-spacing:.18em;font-size:8px}.haldi__dresscode-value{letter-spacing:.13em;font-size:17px}.haldi__palette-block{margin-top:3px}.haldi__closing{margin-top:6px;font-size:clamp(20px,5.5vw,26px)}.haldi__flourish--closing{width:110px;margin-top:4px}}@media (width<=480px) and (height<=720px){.haldi__hero{margin-top:23px}.haldi__couple-stage{height:40vh;top:25%}.haldi__lower{padding:10px 14px 8px;bottom:6px}.haldi__taglines p{font-size:14px}.haldi__date{font-size:9px}.haldi__dresscode-value{font-size:15px}.haldi__closing{font-size:18px}}@media (width<=360px){.haldi__content{padding-left:9px;padding-right:9px}.haldi__back{left:9px}.haldi__hero{width:94vw}.haldi__couple-stage{width:88vw}.haldi__lower{width:92vw}.haldi__taglines p{font-size:13px}.haldi__closing{font-size:17px}}@media (prefers-reduced-motion:reduce){.haldi__scene,.haldi__couple{transform:none}.haldi__overlay{transition:none}}.disco{--disco-cream:#fff5ea;--disco-gold-soft:#e5c98f;--disco-border:#eccea775;background:#0a0608;min-height:140vh;position:relative}.disco__canvas{isolation:isolate;background:#0a0608;width:100%;height:100dvh;position:sticky;top:0;overflow:hidden}.disco__scene{z-index:0;background-image:url(/images/assets/celebrations/disco_and_diamonds/disco-background.png);background-position:50%;background-repeat:no-repeat;background-size:cover;position:absolute;inset:0;transform:scale(1.002)}.disco__scene-wash{z-index:1;pointer-events:none;background:linear-gradient(#08030933 0%,#0a040c14 40%,#07030885 100%),radial-gradient(at 50% 35%,#6e31641f,#0000 62%);position:absolute;inset:0}.disco__vignette{z-index:8;pointer-events:none;background:radial-gradient(#0000 42%,#05020685 100%);position:absolute;inset:0}.disco__dawn{z-index:40;opacity:0;pointer-events:none;background:linear-gradient(#e7d5bee0,#f6efe5 72%,#fffaf3);position:absolute;inset:0}.disco__rays{z-index:4;pointer-events:none;width:0;height:0;position:absolute;top:9%;left:50%;transform:translate(-50%)}.disco__ray{width:var(--ray-len);transform-origin:0;height:2px;transform:rotate(var(--ray-angle));filter:blur(1px);opacity:.26;background:linear-gradient(90deg,#ffe2c03d,#c891e10d,#0000);position:absolute;top:0;left:0}.disco__sparkles{z-index:7;pointer-events:none;position:absolute;inset:0}.disco__sparkle{opacity:.34;background:radial-gradient(circle,#fff7ebf2,#e5bee640 42%,#0000 75%);border-radius:50%;animation:2.4s ease-in-out infinite alternate disco-twinkle;position:absolute}.disco__sparkle--bright{opacity:.58;background:radial-gradient(circle,#fff 0%,#ffdfbca6 30%,#0000 72%);animation-duration:1.8s}@keyframes disco-twinkle{0%{opacity:.12;transform:scale(.65)}to{opacity:.58;transform:scale(1.35)}}.disco__couple-stage{z-index:6;pointer-events:none;justify-content:center;align-items:flex-end;width:clamp(450px,58vh,700px);height:68vh;display:flex;position:absolute;bottom:14%;left:50%;transform:translate(-50%)}.disco__couple-glow{filter:blur(28px);background:radial-gradient(#f0c1dc38 0%,#aa55a01a 43%,#0000 73%);border-radius:50%;width:80%;height:85%;position:absolute;top:10%;left:50%;transform:translate(-50%)}.disco__couple-floor-glow{filter:blur(18px);background:radial-gradient(#ebc1b24d,#924c821a 45%,#0000 72%);border-radius:50%;width:100%;height:20%;position:absolute;bottom:-2%;left:50%;transform:translate(-50%)}.disco__couple{z-index:2;object-fit:contain;object-position:center bottom;filter:drop-shadow(0 24px 28px #0a02096b)drop-shadow(0 0 24px #e3aacf1f);width:100%;height:100%;display:block;position:relative}.disco__floor-fog{z-index:12;pointer-events:none;opacity:1;filter:blur(8px);width:120%;height:clamp(120px,18vh,220px);position:absolute;bottom:0;left:50%;overflow:visible;transform:translate(-50%);-webkit-mask-image:linear-gradient(#0000 0%,#000 30% 100%);mask-image:linear-gradient(#0000 0%,#000 30% 100%)}.disco__fog-bank{filter:blur(16px);background:radial-gradient(at bottom,#d7bee1d9 0%,#be96c894 28%,#9664a54d 52%,#0000 78%);border-radius:50%;position:absolute;bottom:0}.disco__fog-bank--left{width:70%;height:110%;bottom:-10%;left:-20%}.disco__fog-bank--center{background:radial-gradient(at bottom,#e4cdeb 0%,#d7b9e1eb 15%,#c39ed2b8 32%,#af82c37a 50%,#9664aa3d 68%,#0000 88%);width:100%;height:130%;bottom:-12%;left:0}.disco__fog-bank--right{width:70%;height:110%;bottom:-10%;right:-20%}.disco__content{z-index:15;text-align:center;will-change:transform, opacity;flex-direction:column;align-items:center;width:min(100%,1180px);height:100%;min-height:100dvh;margin:0 auto;padding:0 28px;display:flex;position:relative}.disco__back{z-index:20;-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);color:#fff5eae0;min-height:38px;font-family:var(--font-sans);letter-spacing:.12em;cursor:pointer;background:#14081485;border:1px solid #efdac057;border-radius:999px;padding:7px 14px;font-size:10px;position:absolute;top:44px;left:28px}.disco__side-copy{z-index:16;font-family:var(--font-script);color:var(--disco-gold-soft);text-shadow:0 2px 15px #0000008c;flex-direction:column;font-size:clamp(18px,2vw,26px);line-height:1;display:flex;position:absolute;top:28%}.disco__side-copy--left{align-items:flex-start;left:1.5%;transform:rotate(-7deg)}.disco__side-copy--right{text-align:center;max-width:120px;font-family:var(--font-sans);letter-spacing:.22em;text-transform:uppercase;color:#fff4eacc;align-items:center;font-size:8px;line-height:1.8;top:27%;right:1.5%}.disco__hero{z-index:18;flex-direction:column;align-items:center;width:min(900px,62vw);display:flex;position:absolute;top:16%;left:50%;transform:translate(-50%)}.disco__title{font-family:var(--font-serif);letter-spacing:.08em;text-transform:uppercase;color:var(--disco-cream);text-shadow:0 2px 30px #00000080,0 0 50px #ffebda24;margin:0;font-size:clamp(48px,5.5vw,80px);font-weight:300;line-height:.92}.disco__tagline{font-family:var(--font-serif);color:var(--disco-gold-soft);text-shadow:0 2px 20px #000000bf,0 0 40px #0006;margin-top:14px;font-size:clamp(20px,2.4vw,34px);font-style:italic;font-weight:400;line-height:1.15}.disco__tagline p{margin:0}.disco__datetime{font-family:var(--font-sans);letter-spacing:.28em;text-transform:uppercase;color:#fff5ea;text-shadow:0 2px 14px #000000a6;margin:14px 0 0;font-size:clamp(10px,1vw,14px);font-weight:600}.disco__event-cards{z-index:21;grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch;gap:clamp(10px,1.4vw,18px);width:min(780px,74vw);display:grid;position:absolute;top:46%;left:50%;transform:translate(-50%)}.disco__event-card{box-sizing:border-box;border:1px solid var(--disco-border);-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:linear-gradient(#1007107a,#0a040aa8);border-radius:10px;flex-direction:column;align-items:center;min-width:0;min-height:130px;padding:12px 10px 10px;display:flex;box-shadow:inset 0 1px #ffffff0d,0 10px 25px #0000001f}.disco__event-icon-ring{border:1.5px solid var(--disco-gold-soft);border-radius:50%;flex:0 0 54px;justify-content:center;align-items:center;width:54px;height:54px;margin:0 auto 8px;display:flex;box-shadow:0 0 12px #e5c98f26,inset 0 0 8px #e5c98f14}.disco__event-icon{width:32px;height:32px;color:var(--disco-gold-soft)}.disco__event-icon svg{width:100%;height:100%;display:block}.disco__event-card h3{font-family:var(--font-sans);letter-spacing:.22em;text-transform:uppercase;color:var(--disco-gold-soft);margin:0;font-size:12px;font-weight:600}.disco__event-rule{background:#e5c98f94;width:24px;height:1px;margin:7px auto 6px;display:block}.disco__event-card p{font-family:var(--font-sans);letter-spacing:.1em;text-transform:uppercase;color:#fff6eec7;flex-direction:column;flex:1;gap:2px;margin:0;font-size:10px;line-height:1.5;display:flex}.disco__closing{z-index:25;justify-content:center;align-items:center;width:100%;display:flex;position:absolute;bottom:9%;left:50%;transform:translate(-50%)}.disco__closing-flourish{--color-gold:var(--disco-gold-soft);width:clamp(100px,12vw,150px)}.disco__closing span{font-family:var(--font-sans);letter-spacing:.28em;text-transform:uppercase;color:var(--disco-gold-soft);text-shadow:0 1px 12px #0009;align-items:center;gap:16px;font-size:14px;font-weight:600;display:flex}.disco__closing span:before,.disco__closing span:after{content:"";background:linear-gradient(90deg, transparent, var(--disco-gold-soft), transparent);opacity:.5;flex-shrink:0;width:clamp(40px,8vw,100px);height:1px;display:block}.disco__date-pause,.disco__wedding-text{z-index:45;pointer-events:none;position:absolute;left:50%}.disco__date-pause{font-family:var(--font-sans);font-size:var(--text-lg);letter-spacing:var(--tracking-widest);text-transform:uppercase;color:var(--color-gold);opacity:0;margin:0;top:50%;transform:translate(-50%,-50%)}.disco__wedding-text{text-align:center;align-items:center;gap:var(--space-3);opacity:0;flex-direction:column;display:flex;top:50%;transform:translate(-50%,-50%)}.disco__wedding-title{font-family:var(--font-serif);font-size:var(--text-5xl);letter-spacing:var(--tracking-wide);text-transform:uppercase;color:var(--color-ink);font-weight:300;line-height:var(--leading-tight);margin:0}.disco__wedding-subtitle{font-family:var(--font-serif);font-size:var(--text-xl);color:var(--color-ink);margin:0;font-style:italic}@media (width<=900px) and (width>=481px){.disco__content{padding:0 20px}.disco__side-copy{text-shadow:0 2px 18px #000000b3;top:26%}.disco__side-copy--left{font-size:clamp(16px,2.5vw,22px);left:1%}.disco__side-copy--right{max-width:110px;font-size:9px;line-height:1.7;top:25%;right:1%}.disco__couple-stage{width:clamp(320px,48vh,520px);height:54vh;bottom:6%}.disco__hero{width:64vw;top:14%}.disco__title{font-size:clamp(42px,6.5vw,64px)}.disco__event-cards{gap:10px;width:80vw;top:38%}.disco__event-card{min-height:110px;padding:10px 8px 8px}.disco__event-icon-ring{flex-basis:46px;width:46px;height:46px;margin-bottom:6px}.disco__closing{bottom:5%}}@media (width>=901px) and (width<=1100px){.disco__side-copy{top:26%}.disco__side-copy--left{font-size:clamp(20px,2.6vw,28px)}.disco__side-copy--right{max-width:130px;font-size:10px;line-height:1.8;top:25%}.disco__hero{top:15%}.disco__title{font-size:clamp(56px,7vw,80px)}.disco__tagline{margin-top:16px;font-size:clamp(24px,3vw,36px)}.disco__datetime{margin-top:16px;font-size:clamp(12px,1.3vw,16px)}.disco__couple-stage{width:clamp(380px,48vh,560px);height:58vh;bottom:6%}.disco__event-cards{width:78vw;top:40%}.disco__event-card{min-height:140px;padding:14px 12px 12px}.disco__event-icon-ring{flex-basis:56px;width:56px;height:56px}.disco__event-card h3{font-size:13px}.disco__event-card p{font-size:11px}.disco__closing span{font-size:14px}}@media (width<=480px){.disco__scene{background-position:50%;background-size:cover}.disco__content{width:100%;min-height:100dvh;padding:0 10px}.disco__back{letter-spacing:.1em;min-height:29px;padding:5px 9px;font-size:8px;top:28px;left:10px}.disco__side-copy{z-index:19;text-shadow:0 2px 20px #000000d9,0 0 30px #00000080;top:22%}.disco__side-copy--left{font-size:clamp(14px,4.5vw,20px);left:1%;transform:rotate(-5deg)}.disco__side-copy--right{letter-spacing:.14em;color:#fff4ead9;text-shadow:0 2px 20px #000000d9,0 0 30px #00000080;max-width:75px;font-size:7px;line-height:1.6;top:21%;right:1%}.disco__hero{width:68vw;top:12%}.disco__title{letter-spacing:.06em;font-size:clamp(36px,10.4vw,52px);line-height:.9}.disco__tagline{margin-top:8px;font-size:clamp(18px,5vw,24px)}.disco__datetime{letter-spacing:.19em;margin-top:8px;font-size:9px}.disco__couple-stage{width:min(400px,92vw);height:52vh;bottom:12%}.disco__floor-fog{opacity:.88;height:clamp(130px,22vh,200px);bottom:-1%}.disco__event-cards{gap:6px;width:calc(100% - 24px);top:40%}.disco__event-card{border-radius:8px;min-height:108px;padding:9px 5px 8px}.disco__event-icon-ring{flex-basis:44px;width:44px;height:44px;margin-bottom:6px}.disco__event-icon{width:26px;height:26px}.disco__event-card h3{letter-spacing:.15em;font-size:8px}.disco__event-rule{width:18px;margin:5px auto 4px}.disco__event-card p{letter-spacing:.07em;font-size:7px;line-height:1.4}.disco__closing{bottom:9%}.disco__closing span{letter-spacing:.19em;font-size:9px}}@media (prefers-reduced-motion:reduce){.disco__sparkle{animation:none}}.wedding{background:var(--color-ivory,#f8f1e6);isolation:isolate;--wedding-ink:var(--color-ink,#2d211b);--wedding-muted:var(--color-muted,#8d806f);--wedding-gold:var(--color-gold,#c79a58);width:100%;min-height:140vh;position:relative;overflow:clip}.wedding__canvas{isolation:isolate;width:100%;height:100dvh;position:sticky;top:0;overflow:hidden}.wedding__background{object-fit:cover;object-position:center center;-webkit-user-select:none;user-select:none;-webkit-user-drag:none;width:100%;height:100%;position:absolute;inset:0}.wedding__wash{z-index:1;pointer-events:none;background:linear-gradient(#fffaf206 0%,#fff8ef04 48%,#fff5ea0e 100%);position:absolute;inset:0}.wedding__overlay-content{z-index:10;pointer-events:none;text-align:center;width:100%;height:100%;position:absolute;inset:0}.wedding__overlay-content>*{pointer-events:auto}.wedding__back{z-index:20;border:1px solid color-mix(in srgb, var(--wedding-gold) 55%, transparent);-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);min-height:32px;color:var(--wedding-muted);font-family:var(--font-sans);letter-spacing:.12em;cursor:pointer;background:#fffaf28c;border-radius:999px;align-items:center;gap:6px;padding:6px 12px;font-size:9px;font-weight:500;transition:background-color .25s,border-color .25s,transform .25s;display:inline-flex;position:absolute;top:44px;left:32px}.wedding__back:hover,.wedding__back:focus-visible{color:var(--wedding-ink);border-color:var(--wedding-gold);background:#fffaf2bf;transform:translateY(-1px)}.wedding__hero{flex-direction:column;align-items:center;width:min(92%,760px);display:flex;position:absolute;top:6.5%;left:50%;transform:translate(-50%)}.wedding__hero-flourish{width:min(260px,44%);color:var(--wedding-gold);opacity:1;margin-bottom:.75rem}.wedding__title{color:var(--wedding-ink);font-family:var(--font-serif);letter-spacing:.075em;text-transform:uppercase;flex-direction:column;align-items:center;margin:0;font-size:clamp(3rem,7vw,6rem);font-weight:300;line-height:.98;display:flex}.wedding__title span:first-child{letter-spacing:.35em;margin-bottom:.3rem;font-size:.38em;font-weight:400}.wedding__subtitle{color:var(--wedding-gold);font-family:var(--font-serif);margin:clamp(.9rem,2vw,1.5rem) 0 0;font-size:clamp(1.05rem,1.9vw,1.5rem);font-style:italic;font-weight:300}.wedding__date{color:var(--wedding-muted);font-family:var(--font-sans);letter-spacing:.3em;text-transform:uppercase;margin:clamp(.9rem,1.8vw,1.35rem) 0 0;font-size:clamp(1.2rem,1.7vw,1.5rem);font-weight:600}.wedding__moments{pointer-events:none;position:absolute;inset:0}.wedding__moment{text-align:center;flex-direction:column;align-items:center;width:min(84%,560px);display:flex;position:absolute;left:50%;transform:translate(-50%)}.wedding__moment--1{top:28%}.wedding__moment--2{top:44%}.wedding__moment--3{top:58%}.wedding__moment-flourish{width:min(260px,44%);color:var(--wedding-gold);opacity:1;margin-bottom:.6rem}.wedding__moment-time{color:var(--wedding-muted);font-family:var(--font-sans);letter-spacing:.3em;text-transform:uppercase;margin:0 0 .3rem;font-size:clamp(.88rem,1.3vw,1.1rem);font-weight:600}.wedding__moment-label{color:var(--wedding-ink);font-family:var(--font-serif);letter-spacing:.11em;text-transform:uppercase;margin:0;font-size:clamp(1.5rem,3vw,2.5rem);font-weight:300;line-height:1.02}.wedding__moment-copy{color:var(--wedding-ink);font-family:var(--font-serif);margin:.4rem 0 0;font-size:clamp(.84rem,1.15vw,1rem);font-style:italic;line-height:1.32}.wedding__footer{flex-direction:column;align-items:center;width:min(92%,760px);display:flex;position:absolute;top:auto;bottom:2%;left:50%;transform:translate(-50%)}.wedding__footer:before{content:"";background:linear-gradient(90deg, transparent, var(--wedding-gold), transparent);opacity:.7;width:min(180px,36%);height:1.5px;margin-bottom:.8rem;display:block}.wedding__footer-flourish{width:min(360px,55%);color:var(--wedding-gold);opacity:1;margin-bottom:.6rem}.wedding__footer-copy{color:var(--wedding-muted);font-family:var(--font-sans);letter-spacing:.18em;text-transform:uppercase;margin:0;font-size:clamp(.72rem,1vw,.88rem);font-weight:550;line-height:1.4}.wedding__carryover{z-index:4;pointer-events:none;position:absolute;inset:0;overflow:hidden}.wedding__carryover-petal{opacity:.25;width:18px;height:22px;position:absolute}@media (width>=769px) and (width<=1100px){.wedding__back{top:38px;left:28px}.wedding__title{font-size:clamp(3.2rem,7.5vw,5.5rem)}.wedding__subtitle{font-size:clamp(1.1rem,2.2vw,1.5rem)}.wedding__date{font-size:clamp(.72rem,1.1vw,.9rem)}.wedding__moment-label{font-size:clamp(1.6rem,3.4vw,2.6rem)}.wedding__moment-time{font-size:clamp(.72rem,1.1vw,.9rem)}.wedding__moment-copy{font-size:clamp(.88rem,1.3vw,1.05rem)}}@media (width<=768px){.wedding__back{top:38px;left:22px}.wedding__hero{width:90%;top:7%}.wedding__title{letter-spacing:.06em;font-size:clamp(2.65rem,11vw,4.8rem)}.wedding__subtitle{font-size:clamp(.95rem,3.6vw,1.3rem)}.wedding__date{letter-spacing:.24em}.wedding__moment{width:88%}.wedding__moment--1{top:28%}.wedding__moment--2{top:44%}.wedding__moment--3{top:58%}.wedding__moment-label{letter-spacing:.1em;font-size:clamp(1.4rem,6.5vw,2.2rem)}.wedding__moment-copy{font-size:clamp(.85rem,3.3vw,1rem)}}@media (width<=480px){.wedding__back{letter-spacing:.1em;min-height:31px;padding:6px 11px;font-size:7px;top:28px;left:12px}.wedding__hero{width:92%;top:6.7%}.wedding__hero-flourish{width:160px}.wedding__title{font-size:clamp(2rem,12vw,3.2rem)}.wedding__subtitle{margin-top:.75rem;font-size:.98rem}.wedding__date{margin-top:.75rem;font-size:.64rem}.wedding__moment{width:90%}.wedding__moment--1{top:28%}.wedding__moment--2{top:44%}.wedding__moment--3{top:58%}.wedding__moment-time{letter-spacing:.23em;font-size:.72rem;font-weight:600}.wedding__moment-flourish{width:120px;margin-bottom:.45rem}.wedding__moment-label{font-size:clamp(1.25rem,6.5vw,1.85rem)}.wedding__footer{bottom:4%}.wedding__footer-flourish,.wedding__moment-flourish{width:160px}.wedding__footer-copy{font-size:.58rem}}@media (orientation:landscape) and (height<=1100px){.wedding{min-height:100vh}.wedding__canvas{height:auto;min-height:100vh;position:relative}.wedding__overlay-content{flex-direction:column;align-items:center;height:auto;min-height:100vh;padding:44px 0 32px;display:flex;position:relative}.wedding__background{height:100vh;position:fixed;top:0}.wedding__hero{width:min(92%,760px);padding-bottom:1.5rem;position:relative;top:auto;left:auto;transform:none}.wedding__moments{flex-direction:column;align-items:center;gap:2rem;width:min(92%,760px);margin-top:2rem;display:flex;position:relative;inset:auto}.wedding__moment{position:relative;left:auto;transform:none;top:auto!important}.wedding__footer{margin-top:auto;padding-top:1.5rem;padding-bottom:1.5rem;position:relative;top:auto;bottom:auto;left:auto;transform:none}}@media (prefers-reduced-motion:reduce){.wedding__reveal{opacity:1!important;transform:translate(-50%)!important}}.schedule{background:var(--color-ivory,#f8f1e6);isolation:isolate;--schedule-ink:var(--color-ink,#2d211b);--schedule-muted:var(--color-muted,#8d806f);--schedule-gold:var(--color-gold,#c79a58);width:100%;min-height:100dvh;position:relative;overflow:clip}.schedule__canvas{isolation:isolate;width:100%;min-height:100dvh;position:relative;overflow:hidden}.schedule__background{z-index:0;-webkit-user-select:none;user-select:none;-webkit-user-drag:none;pointer-events:none;width:auto;min-width:100%;max-width:none;height:100%;position:absolute;top:0;left:50%;transform:translate(-50%)}.schedule__wash{z-index:1;pointer-events:none;background:linear-gradient(#fffaf20b 0%,#fff8ef05 55%,#fff5ea12 100%);position:absolute;inset:0}.schedule__overlay-content{z-index:10;text-align:center;flex-direction:column;width:100%;min-height:100vh;display:flex;position:relative}.schedule__back{z-index:20;border:1px solid color-mix(in srgb, var(--schedule-gold) 50%, transparent);-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);min-height:42px;color:var(--schedule-muted);font-family:var(--font-sans);letter-spacing:.14em;cursor:pointer;background:#fffaf2ad;border-radius:999px;align-items:center;gap:8px;padding:9px 18px;font-size:11px;font-weight:500;transition:background-color .25s,border-color .25s,transform .25s,color .25s;display:inline-flex;position:absolute;top:28px;left:32px}.schedule__back:hover,.schedule__back:focus-visible{color:var(--schedule-ink);border-color:var(--schedule-gold);background:#fffaf2db;transform:translateY(-1px)}.schedule__content{text-align:center;flex-direction:column;flex:1;align-items:center;width:min(88%,760px);margin:0 auto;padding:clamp(88px,8.5vh,112px) 0 clamp(48px,6vh,72px);display:flex}.schedule__hero{flex-direction:column;align-items:center;width:100%;display:flex}.schedule__hero-flourish{width:min(280px,50%);color:var(--schedule-gold);margin-bottom:.55rem}.schedule__heading{color:var(--schedule-ink);font-family:var(--font-serif);letter-spacing:.08em;text-transform:uppercase;flex-direction:column;align-items:center;margin:0;font-size:clamp(2.15rem,4.7vw,3.55rem);font-weight:300;line-height:.98;display:flex}.schedule__heading span:first-child{letter-spacing:.19em;margin-bottom:.15em;font-size:.62em}.schedule__divider,.schedule__event-divider,.schedule__footer-divider{color:var(--schedule-gold);justify-content:center;align-items:center;display:flex}.schedule__divider{width:100%;margin-top:1.15rem}.schedule__divider svg{width:min(320px,58%);height:auto}.schedule__days{flex-direction:column;gap:clamp(18px,2.8vh,28px);width:100%;margin-top:clamp(24px,3.2vh,34px);display:flex}.schedule__frame{box-sizing:border-box;background:0 0;border:0;width:100%;min-height:310px;position:relative}.schedule__frame-outline{z-index:0;pointer-events:none;fill:#fff9ef52;width:100%;height:100%;stroke:color-mix(in srgb, var(--schedule-gold) 70%, transparent);stroke-width:1.65px;vector-effect:non-scaling-stroke;position:absolute;inset:0;overflow:visible}.schedule__frame-inner{z-index:1;box-sizing:border-box;flex-direction:column;justify-content:flex-start;align-items:center;min-height:310px;padding:48px clamp(50px,8vw,78px) 46px;display:flex;position:relative}.schedule__day:nth-child(2) .schedule__frame-inner{min-height:420px;padding-top:48px;padding-bottom:54px}.schedule__day:nth-child(2) .schedule__frame-outline{transform:scaleY(1)}.schedule__date{color:var(--schedule-muted);font-family:var(--font-sans);letter-spacing:.31em;text-transform:uppercase;margin:0 0 18px;font-size:clamp(.72rem,1vw,.86rem);font-weight:600;line-height:1.2}.schedule__events,.schedule__event{flex-direction:column;align-items:center;width:100%;display:flex}.schedule__event-label{color:var(--schedule-ink);font-family:var(--font-serif);letter-spacing:.045em;margin:0;font-size:clamp(1.1rem,2vw,1.48rem);font-weight:300;line-height:1.15}.schedule__event-time{color:var(--schedule-muted);font-family:var(--font-sans);letter-spacing:.25em;text-transform:uppercase;margin:.2rem 0 0;font-size:clamp(.62rem,.78vw,.72rem);font-weight:500;line-height:1.25}.schedule__event-divider{width:min(220px,55%);margin:.34rem 0 0}.schedule__event-divider svg{width:100%;height:auto}.schedule__event-separator{background:linear-gradient(90deg, transparent, color-mix(in srgb, var(--schedule-gold) 52%, transparent), transparent);width:min(86px,28%);height:1px;margin:15px auto}.schedule__footer{flex-direction:column;align-items:center;width:100%;margin-top:auto;padding-top:clamp(40px,6vh,72px);display:flex}.schedule__footer-divider{width:min(320px,58%);margin-bottom:.75rem}.schedule__footer-divider svg{width:100%;height:auto}.schedule__footer-copy{color:var(--schedule-muted);font-family:var(--font-sans);letter-spacing:.24em;text-transform:uppercase;margin:0;font-size:clamp(.72rem,1vw,.88rem);font-weight:550;line-height:1.8}@media (width>=769px) and (width<=1100px){.schedule__heading{font-size:clamp(2.4rem,5.5vw,3.8rem)}.schedule__event-label{font-size:clamp(1.2rem,2.4vw,1.6rem)}.schedule__event-time{font-size:clamp(.68rem,.9vw,.82rem)}.schedule__date,.schedule__footer-copy{font-size:clamp(.78rem,1.1vw,.92rem)}}@media (width<=768px){.schedule__back{min-height:38px;padding:8px 14px;font-size:9px;top:22px;left:20px}.schedule__content{width:min(91%,620px);padding-top:82px;padding-bottom:100px}.schedule__hero-flourish{width:180px}.schedule__heading{font-size:clamp(2rem,7.5vw,3rem)}.schedule__frame{min-height:295px}.schedule__frame-inner{min-height:295px;padding:44px 48px 42px}.schedule__day:nth-child(2) .schedule__frame-inner{min-height:390px;padding:44px 48px 50px}.schedule__event-label{font-size:clamp(1.05rem,4vw,1.4rem)}.schedule__event-time{font-size:.64rem}.schedule__footer{margin-top:auto;padding-top:40px}}@media (width<=480px){.schedule__back{letter-spacing:.1em;gap:5px;min-height:34px;padding:7px 12px;font-size:7px;top:16px;left:12px}.schedule__content{width:calc(100% - 22px);padding-top:70px;padding-bottom:88px}.schedule__hero-flourish{width:160px;margin-bottom:.45rem}.schedule__heading{letter-spacing:.055em;font-size:clamp(1.8rem,8.8vw,2.55rem)}.schedule__heading span:first-child{letter-spacing:.14em}.schedule__divider{margin-top:.8rem}.schedule__divider svg{width:142px}.schedule__days{gap:14px;margin-top:20px}.schedule__frame{min-height:255px}.schedule__frame-inner{min-height:255px;padding:39px 39px 38px}.schedule__day:nth-child(2) .schedule__frame-inner{min-height:355px;padding:39px 38px 45px}.schedule__date{letter-spacing:.22em;margin-bottom:14px;font-size:.62rem}.schedule__event-label{letter-spacing:.025em;font-size:clamp(1rem,5.1vw,1.28rem)}.schedule__event-time{letter-spacing:.16em;margin-top:.2rem;font-size:.58rem}.schedule__event-divider{width:106px;margin-top:.3rem}.schedule__event-separator{width:72px;margin:13px auto}.schedule__footer{margin-top:auto;padding-top:32px}.schedule__footer-divider{width:138px;margin-bottom:.5rem}.schedule__footer-copy{letter-spacing:.16em;font-size:.48rem;line-height:1.75}}@media (prefers-reduced-motion:reduce){.schedule__reveal{opacity:1!important;transform:none!important}}.venue{background:linear-gradient(180deg, var(--color-ivory) 0%, color-mix(in srgb, var(--color-champagne) 8%, var(--color-ink)) 100%);padding:var(--space-24) var(--space-6) var(--space-24);position:relative}.venue__content{text-align:center;align-items:center;gap:var(--space-6);flex-direction:column;max-width:640px;margin:0 auto;display:flex}.venue__photo{aspect-ratio:16/9;border-radius:var(--radius-lg);width:100%;max-width:560px;overflow:hidden}.venue__photo-inner{background:linear-gradient(135deg, color-mix(in srgb, var(--color-champagne) 25%, var(--color-ivory)) 0%, color-mix(in srgb, var(--color-gold) 10%, var(--color-ivory)) 50%, color-mix(in srgb, var(--color-champagne) 20%, var(--color-ivory)) 100%);border:1px solid color-mix(in srgb, var(--color-gold) 15%, transparent);width:100%;height:100%}.venue__name{font-family:var(--font-serif);font-size:var(--text-4xl);letter-spacing:var(--tracking-wide);text-transform:uppercase;color:var(--color-ink);margin-top:var(--space-6);font-weight:300}.venue__location{font-family:var(--font-sans);font-size:var(--text-base);letter-spacing:var(--tracking-wider);color:var(--color-muted)}.venue__actions{gap:var(--space-4);margin-top:var(--space-6);flex-wrap:wrap;justify-content:center;display:flex}.venue__btn{font-family:var(--font-sans);font-size:var(--text-sm);letter-spacing:var(--tracking-wider);text-transform:uppercase;color:var(--color-ink);padding:var(--space-3) var(--space-6);border-radius:var(--radius-full);border:1px solid color-mix(in srgb, var(--color-gold) 35%, transparent);min-height:48px;transition:border-color var(--duration-fast) var(--ease-out), background-color var(--duration-fast) var(--ease-out);-webkit-tap-highlight-color:transparent;align-items:center;text-decoration:none;display:flex}.venue__btn:hover,.venue__btn:focus-visible{border-color:var(--color-gold);background-color:color-mix(in srgb, var(--color-gold) 6%, transparent)}.venue__btn--active{border-color:var(--color-gold);background-color:color-mix(in srgb, var(--color-gold) 10%, transparent)}.venue__panel{width:100%;max-width:400px;padding:var(--space-6) var(--space-4);border:1px solid color-mix(in srgb, var(--color-gold) 20%, transparent);border-radius:var(--radius-md);background-color:color-mix(in srgb, var(--color-warm-white) 60%, transparent)}.venue__panel-text{font-family:var(--font-serif);font-size:var(--text-base);color:var(--color-muted);font-style:italic}@media (width<=768px){.venue{padding:var(--space-20) var(--space-4) var(--space-20)}}@media (width<=480px){.venue{padding:var(--space-16) var(--space-3) var(--space-16)}.venue__actions{flex-direction:column;align-items:center}.venue__btn{justify-content:center;width:100%;max-width:260px}}.closing{background:linear-gradient(180deg, color-mix(in srgb, var(--color-champagne) 8%, var(--color-ink)) 0%, color-mix(in srgb, var(--color-champagne) 12%, var(--color-ink)) 30%, color-mix(in srgb, var(--color-champagne) 6%, var(--color-ink)) 100%);padding:var(--space-32) var(--space-6) var(--space-24);position:relative}.closing__content{text-align:center;align-items:center;gap:var(--space-6);flex-direction:column;max-width:600px;margin:0 auto;display:flex}.closing__salutation{font-family:var(--font-serif);font-size:var(--text-xl);color:var(--color-champagne);opacity:.8;font-style:italic;font-weight:300}.closing__silhouette-wrap{width:160px;margin:var(--space-4) 0}.closing__silhouette{opacity:.5;width:100%;height:auto}.closing__names{font-family:var(--font-serif);font-size:var(--text-4xl);letter-spacing:var(--tracking-wide);text-transform:uppercase;color:var(--color-warm-white);font-weight:300;line-height:var(--leading-tight)}.closing__date{font-family:var(--font-sans);font-size:var(--text-sm);letter-spacing:var(--tracking-widest);text-transform:uppercase;color:var(--color-champagne);opacity:.6}.closing__families{font-family:var(--font-sans);font-size:var(--text-xs);letter-spacing:var(--tracking-wider);text-transform:uppercase;color:var(--color-champagne);opacity:.4}.closing__countdown .countdown__number{color:var(--color-warm-white)}.closing__countdown .countdown__number--sec{color:var(--color-gold)}.closing__countdown .countdown__sep{color:var(--color-gold);opacity:.3}.closing__countdown .countdown__label{color:var(--color-champagne);opacity:.5}.closing__countdown .countdown__caption{color:var(--color-champagne);opacity:.4}.closing__countdown .countdown__passed{color:var(--color-gold)}.closing__hindi{font-family:var(--font-serif);font-size:var(--text-lg);color:var(--color-champagne);opacity:.7;margin-top:var(--space-6)}.closing__monogram{margin-top:var(--space-10);border:1px solid color-mix(in srgb, var(--color-gold) 30%, transparent);border-radius:50%;justify-content:center;align-items:center;width:64px;height:64px;display:flex}.closing__monogram-text{font-family:var(--font-serif);font-size:var(--text-xl);color:var(--color-gold);opacity:.7;font-style:italic;font-weight:500}@media (width<=768px){.closing{padding:var(--space-24) var(--space-4) var(--space-20)}}@media (width<=480px){.closing{padding:var(--space-20) var(--space-3) var(--space-16)}.closing__silhouette-wrap{width:120px}}:root{--color-ivory:#f7f1e8;--color-champagne:#d8c19b;--color-blush:#f3d6da;--color-ink:#241b14;--color-gold:#b98b45;--color-warm-white:#fbf8f3;--color-rose:#e8b4b8;--color-petal:#f0c8cc;--color-muted:#8a7d6b;--color-leaf:#6b8f5e;--color-leaf-dark:#4a6b3e;--color-leaf-light:#8bae7a;--color-sage:#a4b89a;--haldi-bg:#fff5ee;--haldi-blush:#f9dde0;--haldi-pink:#f0a6b4;--haldi-rose:#e07a8e;--haldi-coral:#d85c72;--haldi-deep:#c43f5a;--haldi-marigold:#e8a838;--haldi-gold:#c9963a;--haldi-warm-ivory:#fef8f0;--disco-black:#0a0608;--disco-deep:#1a1418;--disco-burgundy:#3a1525;--disco-magenta:#6b2e4a;--disco-silver:#c8c0d0;--disco-champagne:#d4c5a0;--disco-gold:#c9a84c;--disco-light:#ffffffd9;--disco-muted:#fff6;--disco-subtle:#ffffff26;--font-serif:"Cormorant Garamond", "Georgia", serif;--font-sans:"Inter", system-ui, -apple-system, sans-serif;--font-script:"Great Vibes", cursive;--text-xs:clamp(.7rem, .6rem + .4vw, .8rem);--text-sm:clamp(.8rem, .7rem + .4vw, .95rem);--text-base:clamp(.95rem, .85rem + .4vw, 1.1rem);--text-lg:clamp(1.1rem, .95rem + .6vw, 1.35rem);--text-xl:clamp(1.35rem, 1.1rem + 1vw, 1.85rem);--text-2xl:clamp(1.75rem, 1.3rem + 1.5vw, 2.5rem);--text-3xl:clamp(2.25rem, 1.6rem + 2.5vw, 3.5rem);--text-4xl:clamp(3rem, 2rem + 3.5vw, 5rem);--text-5xl:clamp(3.5rem, 2.2rem + 5vw, 7rem);--leading-tight:1.1;--leading-snug:1.25;--leading-normal:1.5;--leading-relaxed:1.7;--tracking-tight:-.02em;--tracking-normal:0em;--tracking-wide:.08em;--tracking-wider:.16em;--tracking-widest:.25em;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-6:1.5rem;--space-8:2rem;--space-10:2.5rem;--space-12:3rem;--space-16:4rem;--space-20:5rem;--space-24:6rem;--space-32:8rem;--radius-sm:4px;--radius-md:8px;--radius-lg:16px;--radius-xl:24px;--radius-full:9999px;--shadow-soft:0 2px 20px #241b140f;--shadow-medium:0 4px 30px #241b141a;--shadow-glow:0 0 40px #b98b4526;--duration-fast:.2s;--duration-normal:.4s;--duration-slow:.8s;--duration-slower:1.2s;--ease-out:cubic-bezier(.16, 1, .3, 1);--ease-in-out:cubic-bezier(.45, 0, .55, 1);--ease-spring:cubic-bezier(.34, 1.56, .64, 1);--z-base:0;--z-above:10;--z-overlay:100;--z-modal:200;--z-top:999}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility;scroll-behavior:smooth}body{font-family:var(--font-sans);font-size:var(--text-base);line-height:var(--leading-normal);color:var(--color-ink);background-color:var(--color-ivory);overflow-x:hidden}img,video{max-width:100%;height:auto;display:block}button{font:inherit;color:inherit;cursor:pointer;background:0 0;border:none}a{color:inherit;text-decoration:none}h1,h2,h3,h4,h5,h6{font-family:var(--font-serif);font-weight:400;line-height:var(--leading-tight)}::selection{background-color:var(--color-blush);color:var(--color-ink)}.transition-wrapper{position:relative;overflow:hidden}.transition-wrapper.entered{overflow:visible}.transition-wrapper>.opening-layer{z-index:2;position:relative}.transition-wrapper>.reveal-layer{opacity:0;visibility:hidden;z-index:1;width:100%;position:absolute;top:0;left:0}.transition-wrapper.entered>.opening-layer{display:none}.transition-wrapper.entered>.reveal-layer{opacity:1;visibility:visible;position:relative}.landscape-overlay{z-index:99999;background:var(--color-ivory,#f8f1e6);justify-content:center;align-items:center;display:none;position:fixed;inset:0}.landscape-overlay__content{text-align:center;flex-direction:column;align-items:center;gap:1.2rem;padding:2rem;display:flex}.landscape-overlay__icon{font-size:3rem;animation:2s ease-in-out infinite rotate-hint}.landscape-overlay__text{font-family:var(--font-serif);letter-spacing:.08em;color:var(--color-ink);margin:0;font-size:1.2rem;font-weight:300}@keyframes rotate-hint{0%,to{transform:rotate(0)}25%{transform:rotate(90deg)}75%{transform:rotate(90deg)}}@media (orientation:landscape) and (height<=800px){.landscape-overlay{display:flex}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
