@import "https://fonts.googleapis.com/css2?family=Caveat:wght@400..700&family=Cormorant+Garamond:ital,wght@0,300;0,400;0,500;0,600;0,700;1,300;1,400;1,500;1,600;1,700&family=Josefin+Sans:ital,wght@0,100..700;1,100..700&family=Playfair+Display:ital,opsz,wght@0,5..1200,400..900;1,5..1200,400..900&family=Noto+Serif+Gujarati:wght@400..700&family=Noto+Sans+Gujarati:wght@300..600&display=swap";@import "https://db.onlinewebfonts.com/c/07cb29fdcb073fff840edc6de2067b50?family=Amsterdam+Four_ttf";.skip-to-content{background:var(--color-burgundy);color:#fff;z-index:1000;font-family:var(--font-body);padding:8px;transition:top .2s;position:absolute;top:-40px;left:0}.skip-to-content:focus{top:0}:focus-visible{outline:2px solid var(--color-gold);outline-offset:4px}:root{--color-cream:#faf8ed;--color-blush:#e9efdb;--color-rose:#e4a3a0;--color-dusty-rose:#ce8b88;--color-burgundy:#5e7247;--color-deep-plum:#3d4a2f;--color-gold:#a9be8c;--color-gold-light:#dde7c8;--color-charcoal:#333d28;--color-warm-gray:#7d8570;--color-soft-white:#fefdf6;--color-ivory:var(--color-cream);--color-sage:var(--color-gold);--color-sage-light:var(--color-gold-light);--color-sage-pale:var(--color-blush);--color-olive:var(--color-burgundy);--color-olive-deep:var(--color-deep-plum);--font-script:"Amsterdam Four_ttf", "Noto Serif Gujarati", cursive;--font-display:"Playfair Display", "Noto Serif Gujarati", serif;--font-heading:"Cormorant Garamond", "Noto Serif Gujarati", serif;--font-body:"Josefin Sans", "Noto Sans Gujarati", sans-serif;--font-handwriting:"Caveat", "Noto Sans Gujarati", cursive;--transition-smooth:cubic-bezier(.22, 1, .36, 1)}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;font-size:16px}body{font-family:var(--font-body);background-color:var(--color-cream);color:var(--color-charcoal);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;cursor:url(./assets/cursors/cursor-ring.png),auto;overflow-x:hidden}a,button,.navbar__rsvp,.cta-section__button,.event-card__body,.hero__photo-frame,.venue-detail__btn,.travel-card,.add-to-calendar__btn,.add-to-calendar__option{cursor:url(./assets/cursors/pointer-hearts.png),pointer}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}::selection{background-color:var(--color-rose);color:var(--color-soft-white)}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:var(--color-cream)}::-webkit-scrollbar-thumb{background:var(--color-dusty-rose);border-radius:3px}.navbar{z-index:100;transition:all .5s var(--transition-smooth);padding:1.25rem 2.5rem;position:fixed;top:0;left:0;right:0}.navbar--scrolled{-webkit-backdrop-filter:blur(16px);background:#faf8eda6;border-bottom:1px solid #fff9;padding:.75rem 2.5rem;box-shadow:0 4px 30px #3d4a2f1a}.navbar__inner{justify-content:space-between;align-items:center;max-width:1200px;margin:0 auto;display:flex}.navbar__logo{z-index:101}.navbar__logo-placeholder{font-family:var(--font-script);color:var(--color-burgundy);letter-spacing:.02em;align-items:center;gap:.3rem;font-size:1.9rem;font-weight:400;transition:color .3s;display:flex}.navbar__logo-placeholder:hover{color:var(--color-gold)}.navbar__logo-amp{font-family:var(--font-script);color:var(--color-gold);font-size:1.1rem}.navbar__links{align-items:center;gap:2.5rem;display:flex}.navbar__link{font-family:var(--font-body);letter-spacing:.18em;text-transform:uppercase;color:var(--color-charcoal);padding:.3rem 0;font-size:.85rem;font-weight:400;transition:color .3s;position:relative}.navbar__link:hover,.navbar__link--active{color:var(--color-burgundy)}.navbar__link-underline{background:var(--color-gold);border-radius:1px;height:1.5px;position:absolute;bottom:-2px;left:0;right:0}.navbar__rsvp{font-family:var(--font-body);letter-spacing:.2em;text-transform:uppercase;color:var(--color-soft-white);background:var(--color-burgundy);border:1px solid var(--color-burgundy);border-radius:2px;align-items:center;padding:.45rem 1.2rem;font-size:.75rem;font-weight:400;transition:all .35s cubic-bezier(.22,1,.36,1);display:inline-flex}.navbar__rsvp:hover{background:var(--color-deep-plum);border-color:var(--color-deep-plum)}.navbar__actions{z-index:101;align-items:center;gap:1rem;display:flex}.navbar__lang{font-family:var(--font-body);letter-spacing:.08em;color:var(--color-burgundy);cursor:pointer;background:0 0;border:1px solid #6b273759;border-radius:2px;padding:.35rem .85rem;font-size:.72rem;font-weight:400;transition:all .3s}.navbar__lang:hover{background:var(--color-burgundy);color:var(--color-soft-white);border-color:var(--color-burgundy)}.navbar__burger{cursor:pointer;z-index:101;background:0 0;border:none;flex-direction:column;gap:5px;padding:6px;display:none}.navbar__burger span{background:var(--color-burgundy);width:24px;height:1.5px;transition:all .4s var(--transition-smooth);transform-origin:50%;border-radius:2px;display:block}.navbar__burger--open span:first-child{transform:translateY(6.5px)rotate(45deg)}.navbar__burger--open span:nth-child(2){opacity:0;transform:scaleX(0)}.navbar__burger--open span:nth-child(3){transform:translateY(-6.5px)rotate(-45deg)}.mobile-menu{z-index:99;background:var(--color-cream);justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.mobile-menu__content{flex-direction:column;align-items:center;gap:1.5rem;display:flex}.mobile-menu__link{font-family:var(--font-body);color:var(--color-charcoal);letter-spacing:.18em;text-transform:uppercase;padding:.3rem 0;font-size:1.05rem;font-weight:400;transition:color .3s}.mobile-menu__link:hover,.mobile-menu__link--active{color:var(--color-burgundy)}.mobile-menu__rsvp{font-family:var(--font-body);letter-spacing:.22em;text-transform:uppercase;color:var(--color-soft-white);background:var(--color-burgundy);border-radius:2px;padding:.75rem 2.5rem;font-size:.85rem;transition:background .3s;display:inline-block}.mobile-menu__rsvp:hover{background:var(--color-deep-plum)}@media (width<=768px){.navbar{padding:1rem 1.5rem}.navbar--scrolled{padding:.6rem 1.5rem}.navbar__links{display:none}.navbar__burger{display:flex}}.envelope-intro{z-index:3000;background:radial-gradient(ellipse at 20% 30%, #d4a59a38 0%, transparent 55%), radial-gradient(ellipse at 80% 70%, #c9a96e2e 0%, transparent 55%), radial-gradient(ellipse at 50% 100%, #6b273714 0%, transparent 60%), var(--color-cream);flex-direction:column;justify-content:center;align-items:center;gap:clamp(1.5rem,4vh,2.5rem);display:flex;position:fixed;inset:0;overflow:hidden}.envelope-intro__eyebrow{font-family:var(--font-heading);letter-spacing:.35em;text-transform:uppercase;color:var(--color-burgundy);font-size:clamp(1.1rem,2.4vw,1.6rem);font-style:italic}.envelope-intro__hint{font-family:var(--font-body);letter-spacing:.25em;text-transform:uppercase;color:var(--color-warm-gray);font-size:.8rem}.envelope-intro__button{-webkit-tap-highlight-color:transparent;background:0 0;border:none;padding:0}.envelope-intro__button:disabled{cursor:default}.envelope-intro__stage{aspect-ratio:8/5;perspective:1400px;width:min(520px,86vw);position:relative}.envelope{z-index:2;transform-style:preserve-3d;position:absolute;inset:0}.envelope__back{z-index:0;background:linear-gradient(160deg,#ead9cd 0%,#e0c9ba 100%);border-radius:8px;position:absolute;inset:0;box-shadow:0 30px 60px -18px #3d1a2b59}.envelope__lining{z-index:0;background:repeating-linear-gradient(-45deg,#c9a96e29 0 2px,#0000 2px 12px),linear-gradient(160deg,#f7ede4 0%,#f0e0d3 100%);border-radius:6px;position:absolute;inset:3px}.envelope__letter{z-index:1;will-change:transform;position:absolute;inset:7% 6%}.envelope__letter--out{z-index:3}.envelope__letter-inner{text-align:center;background:var(--color-soft-white);width:100%;height:100%;box-shadow:inset 0 0 0 5px var(--color-soft-white), inset 0 0 0 6px #c9a96e66, 0 18px 40px -18px #3d1a2b66;border:1px solid #c9a96e8c;border-radius:4px;flex-direction:column;justify-content:center;align-items:center;gap:clamp(.3rem,1vw,.55rem);padding:1rem 1.5rem;display:flex}.envelope__letter-eyebrow{font-family:var(--font-body);letter-spacing:.28em;text-transform:uppercase;color:var(--color-warm-gray);font-size:clamp(.5rem,1.4vw,.68rem)}.envelope__letter-names{font-family:var(--font-script);color:var(--color-burgundy);font-size:clamp(1.5rem,5.2vw,2.6rem);line-height:1.3}.envelope__letter-amp{color:var(--color-gold);font-size:.7em}.envelope__letter-divider{color:var(--color-rose);align-items:center;gap:.6rem;display:flex}.envelope__letter-divider span{background:linear-gradient(90deg, transparent, var(--color-gold), transparent);width:clamp(30px,8vw,56px);height:1px;display:block}.envelope__letter-invite{font-family:var(--font-heading);color:var(--color-charcoal);font-size:clamp(.75rem,2.2vw,1rem);font-style:italic}.envelope__letter-date{font-family:var(--font-body);letter-spacing:.22em;text-transform:uppercase;color:var(--color-burgundy);font-size:clamp(.6rem,1.8vw,.8rem)}.envelope__letter-hashtag{font-family:var(--font-handwriting);color:var(--color-gold);font-size:clamp(.8rem,2.2vw,1.05rem)}.envelope__pocket{z-index:3;clip-path:polygon(0 0,50% 44%,100% 0,100% 100%,0 100%);background:linear-gradient(115deg,#e7d3c3 0% 49.6%,#0000 50%) 0/50.2% 100% no-repeat,linear-gradient(245deg,#e2cbb9 0% 49.6%,#0000 50%) 100%/50.2% 100% no-repeat,linear-gradient(#eddbcc 0% 100%) bottom/100% 50% no-repeat,linear-gradient(160deg,#f0e0d1 0%,#e7d2c0 100%);border-radius:8px;justify-content:center;align-items:flex-end;display:flex;position:absolute;inset:0;overflow:hidden;box-shadow:inset 0 -2px 10px #6b273714}.envelope__front-names{font-family:var(--font-script);color:var(--color-burgundy);opacity:.9;padding-bottom:9%;font-size:clamp(1.15rem,3.6vw,1.8rem)}.envelope__flap{z-index:5;transform-origin:top;backface-visibility:hidden;clip-path:polygon(0 0,100% 0,50% 100%);will-change:transform;background:linear-gradient(#e9d6c7 0%,#ddc2ae 100%);border-radius:8px 8px 0 0;height:52%;position:absolute;top:0;left:0;right:0;box-shadow:0 4px 10px #3d1a2b1f}.envelope__flap--open{z-index:1}.envelope__seal{z-index:7;background:radial-gradient(circle at 32% 28%, #ffffff47 0%, transparent 42%), radial-gradient(circle at 65% 75%, #00000038 0%, transparent 50%), var(--color-burgundy);border-radius:50%;justify-content:center;align-items:center;width:68px;height:68px;margin:-34px 0 0 -34px;display:flex;position:absolute;top:52%;left:50%;box-shadow:0 0 0 3px #6b273759,0 6px 14px #3d1a2b66}.envelope__seal:before{content:"";border:1px solid #e8d5a380;border-radius:50%;position:absolute;inset:7px}.envelope__seal span{font-family:var(--font-display);letter-spacing:.05em;color:var(--color-gold-light);font-size:1.05rem}.envelope__particle{z-index:8;background:radial-gradient(circle at 35% 35%, var(--color-gold-light), var(--color-gold));pointer-events:none;border-radius:50%;position:absolute;top:50%;left:50%}@media (width<=480px){.envelope-intro__hint{letter-spacing:.18em;text-align:center;padding:0 1.5rem;font-size:.65rem}.envelope__seal{width:56px;height:56px;margin:-28px 0 0 -28px}.envelope__seal span{font-size:.85rem}}.countdown{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#fff6;border:1px solid #a9be8c66;border-radius:8px;justify-content:center;gap:1.5rem;margin-top:2rem;padding:1.5rem 2rem;display:flex}.countdown__item{flex-direction:column;align-items:center;min-width:60px;display:flex}.countdown__value{font-family:var(--font-display);color:var(--color-burgundy);font-size:2.2rem;line-height:1}.countdown__label{font-family:var(--font-body);letter-spacing:.2em;text-transform:uppercase;color:var(--color-warm-gray);margin-top:.4rem;font-size:.65rem}.countdown__separator{font-family:var(--font-display);color:#a9be8cb3;margin-top:.3rem;font-size:1.5rem}@media (width<=600px){.countdown{gap:.8rem;padding:1.25rem 1rem}.countdown__item{min-width:50px}.countdown__value{font-size:1.8rem}}.home{position:relative}.hero{--band-w:clamp(64px, 9vw, 150px);background:var(--color-ivory);justify-content:center;align-items:center;min-height:100vh;padding:7rem 2rem 5rem;display:flex;position:relative}.hero__stripes-clip{pointer-events:none;position:absolute;inset:0;overflow:hidden;-webkit-mask-image:linear-gradient(#0000 0,#000 150px);mask-image:linear-gradient(#0000 0,#000 150px)}.hero__stripes{width:var(--band-w);pointer-events:none;position:absolute;top:-12%;bottom:-35%}.hero__stripes--left{background:repeating-linear-gradient(90deg, var(--color-sage) 0 26px, var(--color-ivory) 26px 52px);border-right:1px solid #a9be8c59;left:0}.hero__stripes--right{background:repeating-linear-gradient(270deg, var(--color-sage) 0 26px, var(--color-ivory) 26px 52px);border-left:1px solid #a9be8c59;right:0}.hero__inner{z-index:1;flex-direction:column;align-items:center;width:100%;max-width:1100px;display:flex;position:relative}.hero__eyebrow{font-family:var(--font-body);letter-spacing:.45em;text-transform:uppercase;color:var(--color-warm-gray);text-align:center;margin-bottom:2rem;font-size:.72rem;font-weight:300}.hero__stage{justify-content:center;align-items:center;width:100%;display:flex;position:relative}.hero__photo{aspect-ratio:3/4.2;border-radius:999px 999px 6px 6px;width:clamp(260px,30vw,400px);position:relative;overflow:hidden;box-shadow:0 30px 80px #3d4a2f38,0 10px 30px #333d281a}.hero__photo:after{content:"";pointer-events:none;border:1px solid #faf8eda6;border-radius:999px 999px 4px 4px;position:absolute;inset:12px}.hero__photo img{object-fit:cover;object-position:center 20%;width:100%;height:100%;transform:scale(1.02)}.hero__names{z-index:2;pointer-events:none;font-weight:400;position:absolute;inset:0}.hero__name{font-family:var(--font-display);letter-spacing:.01em;color:var(--color-olive);white-space:nowrap;text-shadow:0 2px 30px #faf8ed80;font-size:clamp(3.2rem,9vw,7.5rem);font-weight:400;line-height:.95;position:absolute}.hero__name--first{top:11%;right:calc(50% + clamp(2rem,6.5vw,5.5rem))}.hero__name--second{bottom:12%;left:calc(50% + clamp(2rem,6.5vw,5.5rem))}.hero__amp{font-family:var(--font-heading);color:var(--color-sage-light);text-shadow:0 2px 18px #333d288c;font-size:clamp(2.4rem,5vw,4rem);font-style:italic;line-height:1;position:absolute;top:52%;left:calc(50% - clamp(90px,8.5vw,125px))}.hero__meta{flex-direction:column;align-items:center;margin-top:2.5rem;display:flex}.hero__date{font-family:var(--font-body);letter-spacing:.3em;text-transform:uppercase;color:var(--color-charcoal);align-items:center;gap:1rem;font-size:.85rem;font-weight:300;display:flex}.hero__meta-dot{background:var(--color-rose);border-radius:50%;width:4px;height:4px}.hero__hashtag{font-family:var(--font-heading);color:var(--color-dusty-rose);letter-spacing:.05em;margin-top:.9rem;font-size:1.05rem;font-style:italic}.stripe-band{background:repeating-linear-gradient(90deg, var(--color-sage) 0 26px, var(--color-ivory) 26px 52px) left / 50.5% 100% no-repeat, repeating-linear-gradient(270deg, var(--color-sage) 0 26px, var(--color-ivory) 26px 52px) right / 50% 100% no-repeat;height:14px}.count-band{background:var(--color-soft-white);padding:5rem 2rem}.count-band__inner{text-align:center;max-width:640px;margin:0 auto}.count-band__label{font-family:var(--font-heading);color:var(--color-olive);letter-spacing:.03em;font-size:1.4rem;font-style:italic}.dolce{background:var(--color-ivory);padding:8rem 2rem;overflow:hidden}.dolce__inner{grid-template-columns:.85fr 1.15fr;align-items:center;gap:clamp(3rem,6vw,5.5rem);max-width:1060px;margin:0 auto;display:grid}.dolce__panel{aspect-ratio:3/3.9;max-width:380px;box-shadow:0 26px 60px #3d4a2f2e, inset 0 0 0 8px var(--color-soft-white);background-position:50%;background-size:cover;border-radius:999px 999px 10px 10px;justify-content:center;align-items:center;margin:0 auto;display:flex;position:relative}.dolce__medallion{background:var(--color-soft-white);border:1px solid #a9be8c99;border-radius:50%;flex-direction:column;justify-content:center;align-items:center;width:150px;height:150px;display:flex;box-shadow:0 10px 30px #3d4a2f26}.dolce__medallion-monogram{font-family:var(--font-display);color:var(--color-olive);letter-spacing:.05em;font-size:2rem}.dolce__medallion-year{font-family:var(--font-body);letter-spacing:.35em;color:var(--color-dusty-rose);margin-top:.45rem;font-size:.62rem}.dolce__label{font-family:var(--font-body);letter-spacing:.45em;text-transform:uppercase;color:var(--color-dusty-rose);margin-bottom:1.5rem;font-size:.7rem;font-weight:300}.dolce__heading{font-family:var(--font-display);color:var(--color-charcoal);letter-spacing:.01em;font-size:clamp(2.2rem,4.8vw,3.4rem);font-weight:400;line-height:1.22}.dolce__heading em{font-family:var(--font-heading);color:var(--color-olive);font-style:italic}.dolce__rule{background:var(--color-sage);width:56px;height:1px;margin:2rem 0}.dolce__body{font-family:var(--font-body);color:var(--color-warm-gray);max-width:520px;font-size:1rem;font-weight:300;line-height:2}.dolce__body+.dolce__body{margin-top:1.25rem}.weekend{background:var(--color-sage-pale);padding:6.5rem 2rem}.weekend__inner{text-align:center;max-width:1020px;margin:0 auto}.weekend__label{font-family:var(--font-body);letter-spacing:.45em;text-transform:uppercase;color:var(--color-olive);margin-bottom:3.5rem;font-size:.7rem;font-weight:300}.weekend__grid{grid-template-columns:repeat(3,1fr);display:grid}.weekend__item{padding:0 2.25rem}.weekend__item+.weekend__item{border-left:1px solid #5e724740}.weekend__numeral{font-family:var(--font-heading);color:var(--color-dusty-rose);font-size:1.6rem;font-style:italic}.weekend__title{font-family:var(--font-display);color:var(--color-olive-deep);margin-top:.9rem;font-size:1.4rem;font-weight:400}.weekend__text{font-family:var(--font-body);color:var(--color-warm-gray);margin-top:.9rem;font-size:.9rem;font-weight:300;line-height:1.9}.explore{background:var(--color-soft-white);padding:7rem 2rem}.explore__inner{grid-template-columns:repeat(3,1fr);gap:1.5rem;max-width:1100px;margin:0 auto;display:grid}.explore__card{background:var(--color-ivory);height:100%;transition:transform .5s var(--transition-smooth), box-shadow .5s var(--transition-smooth), border-color .5s ease;border:1px solid #a9be8c73;border-radius:6px;flex-direction:column;padding:2.5rem 2rem;display:flex}.explore__card:hover{border-color:var(--color-sage);transform:translateY(-6px);box-shadow:0 24px 48px #3d4a2f24}.explore__card-number{font-family:var(--font-heading);color:var(--color-dusty-rose);letter-spacing:.1em;font-size:.95rem;font-style:italic}.explore__card-title{font-family:var(--font-display);color:var(--color-olive);margin-top:.9rem;font-size:1.45rem;font-weight:400;line-height:1.3}.explore__card-text{font-family:var(--font-body);color:var(--color-warm-gray);flex-grow:1;margin-top:.9rem;font-size:.9rem;font-weight:300;line-height:1.8}.explore__card-cta{font-family:var(--font-body);letter-spacing:.28em;text-transform:uppercase;color:var(--color-charcoal);align-items:center;gap:.5rem;margin-top:1.75rem;font-size:.7rem;display:inline-flex}.explore__card-arrow{transition:transform .4s var(--transition-smooth)}.explore__card:hover .explore__card-arrow{transform:translate(6px)}.rsvp-band{background:var(--color-olive-deep);text-align:center;padding:9rem 2rem 7rem;position:relative}.rsvp-band__awning{background:repeating-linear-gradient(90deg, var(--color-sage-light) 0 40px, var(--color-ivory) 40px 80px);height:34px;position:absolute;top:0;left:0;right:0}.rsvp-band__awning:after{content:"";background:radial-gradient(circle at 20px -6px, var(--color-sage-light) 20px, #0000 21px) 0 0 / 80px 20px repeat-x, radial-gradient(circle at 20px -6px, var(--color-ivory) 20px, #0000 21px) 40px 0 / 80px 20px repeat-x;height:20px;position:absolute;top:100%;left:0;right:0}.rsvp-band__inner{max-width:620px;margin:0 auto}.rsvp-band__label{font-family:var(--font-body);letter-spacing:.45em;text-transform:uppercase;color:var(--color-sage-light);margin-bottom:1.25rem;font-size:.68rem;font-weight:300}.rsvp-band__heading{font-family:var(--font-display);color:var(--color-soft-white);letter-spacing:.01em;font-size:clamp(2.4rem,6vw,3.8rem);font-style:italic;font-weight:400}.rsvp-band__text{font-family:var(--font-body);letter-spacing:.05em;color:#fefdf6b3;margin-top:1.25rem;font-size:.95rem;font-weight:300}.rsvp-band__button{font-family:var(--font-body);letter-spacing:.3em;text-transform:uppercase;color:var(--color-olive-deep);background:var(--color-ivory);transition:background .4s ease, color .4s ease, transform .4s var(--transition-smooth), box-shadow .4s ease;border-radius:999px;margin-top:2.75rem;padding:1.1rem 3.5rem;font-size:.78rem;display:inline-block}.rsvp-band__button:hover{background:var(--color-rose);color:var(--color-soft-white);transform:translateY(-3px);box-shadow:0 16px 36px #0000004d}.footer{background:var(--color-ivory);text-align:center;padding:3.5rem 0 0}.footer__names{font-family:var(--font-display);color:var(--color-olive);letter-spacing:.04em;font-size:1.35rem;font-weight:400}.footer__date{font-family:var(--font-body);letter-spacing:.22em;text-transform:uppercase;color:var(--color-warm-gray);margin-top:.6rem;font-size:.72rem;font-weight:300}.stripe-band--footer{margin-top:3rem}@media (width<=900px){.hero{--band-w:30px}.hero__stripes--left{background:repeating-linear-gradient(90deg, var(--color-sage) 0 10px, var(--color-ivory) 10px 20px)}.hero__stripes--right{background:repeating-linear-gradient(270deg, var(--color-sage) 0 10px, var(--color-ivory) 10px 20px)}.stripe-band{background:repeating-linear-gradient(90deg, var(--color-sage) 0 10px, var(--color-ivory) 10px 20px) left / 50.5% 100% no-repeat, repeating-linear-gradient(270deg, var(--color-sage) 0 10px, var(--color-ivory) 10px 20px) right / 50% 100% no-repeat;height:10px}}@media (width<=760px){.hero{padding:6.5rem calc(var(--band-w) + 1.1rem) 4.5rem;min-height:100svh}.hero__eyebrow{letter-spacing:.32em;margin-bottom:1.5rem}.hero__photo{width:min(70vw,320px)}.hero__stage{flex-direction:column}.hero__names{flex-direction:column;align-items:center;gap:.2rem;margin-top:1.75rem;display:flex;position:static}.hero__name{text-shadow:none;font-size:clamp(2.6rem,12vw,3.4rem);position:static}.hero__amp{text-shadow:none;color:var(--color-dusty-rose);font-size:2rem;position:static}.hero__date{letter-spacing:.24em;flex-direction:column;gap:.5rem;font-size:.78rem}.hero__meta-dot{display:none}.count-band{padding:4rem 1.25rem}.dolce{padding:5rem 1.5rem}.dolce__inner{grid-template-columns:1fr;gap:3rem}.dolce__panel{max-width:300px}.dolce__text{text-align:center}.dolce__rule{margin:2rem auto}.dolce__body{margin-left:auto;margin-right:auto}.weekend{padding:5rem 1.5rem}.weekend__grid{grid-template-columns:1fr;gap:2.5rem}.weekend__item{padding:0}.weekend__item+.weekend__item{border-top:1px solid #5e724740;border-left:none;padding-top:2.5rem}.explore{padding:5rem 1.5rem}.explore__inner{grid-template-columns:1fr;gap:1.1rem}.explore__card{padding:2rem 1.6rem}.rsvp-band{padding:7.5rem 1.5rem 5.5rem}}.add-to-calendar{flex-wrap:wrap;align-items:center;gap:.6rem 1rem;margin-top:1.5rem;display:flex}.add-to-calendar__label{font-family:var(--font-body);letter-spacing:.2em;text-transform:uppercase;color:var(--color-dusty-rose);font-size:.65rem}.add-to-calendar__links{gap:.5rem;display:flex}.add-to-calendar__btn{font-family:var(--font-body);letter-spacing:.12em;text-transform:uppercase;color:var(--color-burgundy);cursor:pointer;transition:all .3s var(--transition-smooth);background:0 0;border:1px solid #5e724766;border-radius:2px;align-items:center;padding:.45em 1em;font-size:.7rem;display:inline-flex}.add-to-calendar__btn:hover{border-color:var(--color-burgundy);background:#5e724712}.events-hero{text-align:center;background:radial-gradient(ellipse at 30% 40%, #d4a59a1f 0%, transparent 55%), radial-gradient(ellipse at 70% 60%, #c9a96e14 0%, transparent 50%), var(--color-cream);justify-content:center;align-items:center;min-height:55vh;padding:8rem 2rem 4rem;display:flex}.events-hero__content{max-width:650px}.events-hero__label{font-family:var(--font-heading);letter-spacing:.2em;text-transform:uppercase;color:var(--color-gold);margin-bottom:1rem;font-size:1rem;font-style:italic}.events-hero__title{font-family:var(--font-display);color:var(--color-burgundy);letter-spacing:.02em;font-size:clamp(2.2rem,6vw,3.5rem);font-weight:400;line-height:1.15}.events-hero__subtitle{font-family:var(--font-body);letter-spacing:.25em;text-transform:uppercase;color:var(--color-warm-gray);font-size:.85rem}.events-timeline{background:var(--color-soft-white);padding:2rem 2rem 6rem}.events-timeline__container{max-width:1000px;margin:0 auto;padding:2rem 0;position:relative}.events-timeline__svg{pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.events-timeline__traveler{z-index:3;offset-anchor:center;pointer-events:none;filter:drop-shadow(0 6px 10px #3d4a2f40);position:absolute;top:0;left:0}.events-timeline__traveler svg{animation:1.4s ease-in-out infinite butterfly-flutter;display:block}@keyframes butterfly-flutter{0%,to{transform:scaleX(1)rotate(-3deg)}50%{transform:scaleX(.72)rotate(3deg)}}@media (prefers-reduced-motion:reduce){.events-timeline__traveler{display:none}}.event-card{align-items:flex-start;width:100%;margin-bottom:4rem;display:flex;position:relative}.event-card--left{justify-content:flex-start;padding-right:calc(50% + 2rem)}.event-card--right{justify-content:flex-end;padding-left:calc(50% + 2rem)}.event-card__dot{background:var(--color-soft-white);z-index:2;border:2px solid;border-radius:50%;width:14px;height:14px;position:absolute;top:2rem;left:50%;transform:translate(-50%)}.event-card__body{width:100%;transition:transform .4s var(--transition-smooth);border-radius:6px;padding:2.5rem;position:relative;overflow:hidden;box-shadow:0 8px 40px #6b27370d}.event-card__icon{opacity:.7;margin-bottom:1.2rem}.event-card__header{margin-bottom:1.2rem}.event-card__title{font-family:var(--font-display);letter-spacing:.02em;margin-bottom:.3rem;font-size:1.6rem;font-weight:500;line-height:1.2}.event-card__subtitle{font-family:var(--font-heading);color:var(--color-warm-gray);letter-spacing:.06em;font-size:1rem;font-style:italic}.event-card__description{font-family:var(--font-body);color:var(--color-warm-gray);margin-bottom:1.8rem;font-size:.92rem;font-weight:300;line-height:1.8}.event-card__details{border-top:1px solid #c9a96e26;flex-direction:column;gap:.8rem;padding-top:1.2rem;display:flex}.event-card__detail{flex-direction:column;gap:.2rem;display:flex}.event-card__detail-label{font-family:var(--font-body);letter-spacing:.2em;text-transform:uppercase;color:var(--color-dusty-rose);font-size:.65rem}.event-card__detail-value{font-family:var(--font-heading);color:var(--color-charcoal);letter-spacing:.02em;font-size:1.05rem}.event-card__attire{font-style:italic}.event-card__corner{pointer-events:none;width:30px;height:30px;position:absolute}.event-card__corner--tl{border-top:1px solid;border-left:1px solid;top:12px;left:12px}.event-card__corner--br{border-bottom:1px solid;border-right:1px solid;bottom:12px;right:12px}.event-card__palette{pointer-events:none;z-index:2;justify-content:center;display:flex;position:absolute;top:50%;transform:translateY(-50%)}.event-card--left .event-card__palette{left:calc(50% + 5rem);right:1rem}.event-card--right .event-card__palette{left:1rem;right:calc(50% + 5rem)}.event-card__palette-inner{text-align:center;flex-direction:column;align-items:center;gap:1rem;display:flex}.event-card__palette-label{font-family:var(--font-body);letter-spacing:.35em;text-transform:uppercase;color:var(--color-warm-gray);font-size:.62rem;font-weight:300}.event-card__palette-swatches{align-items:center;display:flex}.event-card__swatch{border:3px solid var(--color-soft-white);border-radius:50%;width:44px;height:44px;box-shadow:0 6px 18px #3d4a2f2e}.event-card__swatch+.event-card__swatch{margin-left:-12px}.event-card__palette-note{font-family:var(--font-heading);color:var(--color-warm-gray);letter-spacing:.04em;font-size:.95rem;font-style:italic}.events-bottom{background:var(--color-cream);text-align:center;padding:4rem 2rem 5rem}.events-bottom__content{max-width:500px;margin:0 auto}.events-bottom__text{font-family:var(--font-heading);color:var(--color-warm-gray);letter-spacing:.04em;font-size:1.2rem;font-style:italic}.events-bottom__names{font-family:var(--font-display);color:var(--color-burgundy);letter-spacing:.04em;margin-top:.75rem;font-size:1.8rem;font-weight:400}@media (width<=768px){.events-hero{min-height:45vh;padding:7rem 1.5rem 3rem}.events-timeline{padding:1rem 1rem 4rem}.event-card{flex-wrap:wrap;margin-bottom:2.5rem}.event-card--left,.event-card--right{justify-content:flex-start;padding-left:50px;padding-right:0}.event-card--left .event-card__palette,.event-card--right .event-card__palette{justify-content:flex-start;width:100%;margin-top:1.5rem;position:static;left:auto;right:auto;transform:none}.event-card__palette-inner{text-align:left;flex-flow:wrap;gap:.75rem 1rem}.event-card__palette-label{width:100%}.event-card__swatch{width:34px;height:34px}.events-timeline__traveler svg{width:30px;height:30px}.event-card__dot{top:2.5rem;left:20px}.event-card__body{padding:1.8rem}.event-card__title{font-size:1.35rem}.events-bottom{padding:3rem 1.5rem 4rem}}.venue-hero{text-align:center;background:radial-gradient(ellipse at 40% 30%, #c9a96e1a 0%, transparent 55%), radial-gradient(ellipse at 70% 70%, #d4a59a1a 0%, transparent 50%), var(--color-cream);justify-content:center;align-items:center;min-height:50vh;padding:8rem 2rem 4rem;display:flex}.venue-hero__content{max-width:650px}.venue-hero__label{font-family:var(--font-heading);letter-spacing:.2em;text-transform:uppercase;color:var(--color-gold);margin-bottom:1rem;font-size:1rem;font-style:italic}.venue-hero__title{font-family:var(--font-display);color:var(--color-burgundy);letter-spacing:.03em;font-size:clamp(2.4rem,6vw,3.8rem);font-weight:400;line-height:1.15}.venue-hero__subtitle{font-family:var(--font-body);letter-spacing:.25em;text-transform:uppercase;color:var(--color-warm-gray);font-size:.85rem}.venue-detail{background:var(--color-soft-white);padding:4rem 2rem 5rem}.venue-detail__container{align-items:flex-start;gap:4rem;max-width:1100px;margin:0 auto;display:flex}.venue-detail__info{flex:1;min-width:0}.venue-detail__heading{font-family:var(--font-display);color:var(--color-burgundy);letter-spacing:.02em;margin-bottom:1.2rem;font-size:clamp(1.8rem,3.5vw,2.4rem);font-weight:400;line-height:1.2}.venue-detail__text{font-family:var(--font-body);color:var(--color-warm-gray);margin-bottom:2rem;font-size:.95rem;font-weight:300;line-height:1.85}.venue-detail__address{background:#c9a96e0a;border:1px solid #c9a96e1f;border-radius:6px;align-items:flex-start;gap:1rem;margin-bottom:2rem;padding:1.5rem;font-style:normal;display:flex}.venue-detail__address-icon{flex-shrink:0;margin-top:2px}.venue-detail__address-name{font-family:var(--font-display);color:var(--color-burgundy);margin-bottom:.4rem;font-size:1.15rem;font-weight:500}.venue-detail__address-line{font-family:var(--font-body);color:var(--color-warm-gray);font-size:.88rem;font-weight:300;line-height:1.7}.venue-detail__actions{flex-wrap:wrap;gap:1rem;display:flex}.venue-detail__btn{font-family:var(--font-body);letter-spacing:.15em;text-transform:uppercase;background:var(--color-burgundy);color:var(--color-gold-light);border:1px solid var(--color-burgundy);border-radius:3px;align-items:center;gap:.6rem;padding:.85rem 1.8rem;font-size:.78rem;transition:all .4s cubic-bezier(.22,1,.36,1);display:inline-flex}.venue-detail__btn:hover{background:var(--color-deep-plum);border-color:var(--color-deep-plum)}.venue-detail__btn--outline{color:var(--color-burgundy);background:0 0;border:1px solid #6b273740}.venue-detail__btn--outline:hover{border-color:var(--color-burgundy);color:var(--color-burgundy);background:#6b27370d}.venue-detail__map-col{flex-shrink:0;width:460px}.venue-detail__map-wrapper{aspect-ratio:4/3.5;border-radius:6px;width:100%;position:relative;overflow:hidden;box-shadow:0 16px 50px #6b273714,0 4px 16px #0000000a}.venue-detail__map{border:none;width:100%;height:100%;display:block}.venue-detail__map-border{pointer-events:none;border:1px solid #c9a96e26;border-radius:6px;position:absolute;inset:0}.venue-travel{background:var(--color-cream);padding:5rem 2rem 6rem}.venue-travel__container{text-align:center;max-width:1000px;margin:0 auto}.venue-travel__label{font-family:var(--font-heading);letter-spacing:.2em;text-transform:uppercase;color:var(--color-gold);margin-bottom:.8rem;font-size:1rem;font-style:italic}.venue-travel__heading{font-family:var(--font-display);color:var(--color-burgundy);letter-spacing:.02em;font-size:clamp(1.8rem,4vw,2.6rem);font-weight:400;line-height:1.2}.venue-travel__grid{text-align:left;grid-template-columns:repeat(2,1fr);gap:1.5rem;margin-top:2.5rem;display:grid}.travel-card{background:var(--color-soft-white);border:1px solid #c9a96e14;border-radius:6px;padding:2rem;transition:all .4s cubic-bezier(.22,1,.36,1);box-shadow:0 4px 20px #6b273708}.travel-card__icon{color:var(--color-gold);opacity:.8;margin-bottom:1rem}.travel-card__title{font-family:var(--font-display);color:var(--color-burgundy);letter-spacing:.02em;margin-bottom:.6rem;font-size:1.15rem;font-weight:500}.travel-card__detail{font-family:var(--font-body);color:var(--color-warm-gray);font-size:.88rem;font-weight:300;line-height:1.75}.venue-bottom{background:var(--color-soft-white);text-align:center;padding:3rem 2rem 4rem}.venue-bottom__content{max-width:450px;margin:0 auto}.venue-bottom__text{font-family:var(--font-heading);color:var(--color-warm-gray);letter-spacing:.04em;font-size:1.15rem;font-style:italic}.venue-bottom__names{font-family:var(--font-display);color:var(--color-burgundy);letter-spacing:.04em;margin-top:.75rem;font-size:1.8rem;font-weight:400}@media (width<=900px){.venue-detail__container{flex-direction:column;gap:2.5rem}.venue-detail__map-col{width:100%}.venue-travel__grid{grid-template-columns:1fr}}@media (width<=768px){.venue-hero{min-height:42vh;padding:7rem 1.5rem 3rem}.venue-detail{padding:3rem 1.5rem 4rem}.venue-detail__actions{flex-direction:column}.venue-detail__btn{justify-content:center}.venue-travel{padding:4rem 1.5rem 5rem}.venue-bottom{padding:2.5rem 1.5rem 3.5rem}}.gallery-page{background-color:var(--color-cream);min-height:100vh;padding:8rem 2rem 5rem}.gallery-hero{text-align:center;max-width:600px;margin:0 auto 4rem}.gallery-hero__label{font-family:var(--font-heading);letter-spacing:.2em;text-transform:uppercase;color:var(--color-gold);margin-bottom:1rem;font-size:1rem;font-style:italic}.gallery-hero__title{font-family:var(--font-display);color:var(--color-burgundy);letter-spacing:.03em;margin-bottom:1.5rem;font-size:clamp(2.4rem,6vw,3.8rem);font-weight:400;line-height:1.15}.gallery-grid{column-count:1;column-gap:1.5rem;width:100%;max-width:1200px;margin:0 auto}@media (width>=768px){.gallery-grid{column-count:2}}@media (width>=1024px){.gallery-grid{column-count:3}}.gallery-item{break-inside:avoid;background-color:var(--color-rose);border-radius:4px;margin-bottom:1.5rem;position:relative;overflow:hidden;box-shadow:0 10px 30px #6b27370d}.gallery-item img{width:100%;height:auto;transition:transform .6s cubic-bezier(.22,1,.36,1);display:block}.gallery-item:hover img{transform:scale(1.05)}.gallery-item__overlay{opacity:0;pointer-events:none;background:linear-gradient(#0000 50%,#6b273766);transition:opacity .4s;position:absolute;inset:0}.gallery-item:hover .gallery-item__overlay{opacity:1}.lightbox{z-index:2000;-webkit-backdrop-filter:blur(24px);background:#140a0fd9;justify-content:center;align-items:center;padding:2rem;display:flex;position:fixed;inset:0}.lightbox__close{color:#fff;z-index:2010;opacity:.7;background:0 0;border:none;justify-content:center;align-items:center;padding:1rem;transition:transform .3s;display:flex;position:absolute;top:1.5rem;right:1.5rem}.lightbox__close:hover{opacity:1;transform:rotate(90deg)scale(1.1)}.lightbox__content{border-radius:8px;max-width:90vw;max-height:90vh;position:relative;overflow:hidden;box-shadow:0 24px 60px #00000080}.lightbox__content img{object-fit:contain;max-width:100%;max-height:90vh;display:block}.wedding-party-page{background:var(--color-soft-white)}.wedding-party-hero{text-align:center;background:radial-gradient(ellipse at 50% 20%, #c9a96e1f 0%, transparent 55%), radial-gradient(ellipse at 80% 80%, #d4a59a14 0%, transparent 50%), var(--color-cream);justify-content:center;align-items:center;min-height:50vh;padding:8rem 2rem 2rem;display:flex}.wedding-party-hero__content{max-width:650px}.wedding-party-hero__label{font-family:var(--font-heading);letter-spacing:.2em;text-transform:uppercase;color:var(--color-gold);margin-bottom:1rem;font-size:1rem;font-style:italic}.wedding-party-hero__title{font-family:var(--font-display);color:var(--color-burgundy);letter-spacing:.02em;font-size:clamp(2.2rem,6vw,3.5rem);font-weight:400;line-height:1.15}.bg-soft-white{background:var(--color-soft-white)}.bg-cream{background:var(--color-cream)}.wedding-party-section{padding:1rem 2rem 6rem}.wedding-party-section__container{text-align:center;max-width:1100px;margin:0 auto;padding:0}.wedding-party-section__title{font-family:var(--font-display);color:var(--color-burgundy);letter-spacing:.03em;margin-bottom:5rem;font-size:clamp(2rem,4vw,2.8rem);font-weight:400}.wedding-party-grid{grid-template-columns:repeat(2,1fr);justify-items:center;gap:5rem 3rem;display:grid}@media (width>=601px){.wedding-party-grid__item--bridesmaid{grid-column:1}.wedding-party-grid__item--groomsman{grid-column:2}}@media (width<=600px){.wedding-party-grid{grid-template-columns:1fr;gap:4rem}.polaroid{transform:none!important}.wedding-party-grid>:nth-child(4n+1) .polaroid__frame{transform:rotate(-4deg)}.wedding-party-grid>:nth-child(4n+2) .polaroid__frame{transform:rotate(3deg)}.wedding-party-grid>:nth-child(4n+3) .polaroid__frame{transform:rotate(-2deg)}.wedding-party-grid>:nth-child(4n+4) .polaroid__frame{transform:rotate(4deg)}}.polaroid{perspective:1000px;position:relative}.polaroid__frame{background:var(--color-soft-white);border-radius:4px;width:280px;padding:16px 16px 50px;position:relative;box-shadow:0 15px 35px #00000026,0 5px 15px #0000000d}.polaroid__photo-container{aspect-ratio:1/1.1;background:#c9a96e33;border:1px solid #0000000d;width:100%;position:relative;overflow:hidden}.polaroid__photo-proxy{background:linear-gradient(135deg,#c9a96e1a,#6b27371a);justify-content:center;align-items:center;width:100%;height:100%;display:flex}.polaroid__initials{font-family:var(--font-display);color:#6b27374d;font-size:3.5rem}.polaroid__grain-overlay{opacity:.35;pointer-events:none;mix-blend-mode:overlay;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noiseFilter'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.8' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noiseFilter)'/%3E%3C/svg%3E");width:100%;height:100%;transition:opacity .5s;position:absolute;top:0;left:0}.polaroid__photo-container.is-active .polaroid__grain-overlay{opacity:0}.polaroid__caption{opacity:1;pointer-events:none;flex-direction:column;justify-content:center;align-items:center;width:100%;height:50px;display:flex;position:absolute;bottom:0;left:0}.polaroid__name{font-family:var(--font-handwriting);color:var(--color-charcoal);font-size:1.8rem;line-height:1;transform:rotate(-3deg)}.polaroid__role{font-family:var(--font-body);text-transform:uppercase;letter-spacing:.15em;color:var(--color-dusty-rose);margin-top:2px;font-size:.6rem}.wedding-party-bottom{text-align:center;padding:4rem 2rem 5rem}.wedding-party-bottom__content{max-width:500px;margin:0 auto}.wedding-party-bottom__text{font-family:var(--font-heading);color:var(--color-warm-gray);letter-spacing:.04em;font-size:1.2rem;font-style:italic}.wedding-party-bottom__names{font-family:var(--font-display);color:var(--color-burgundy);letter-spacing:.04em;margin-top:.75rem;font-size:1.8rem;font-weight:400}@media (width<=768px){.wedding-party-hero{min-height:40vh;padding:7rem 1.5rem 3rem}.wedding-party-section{padding:4rem 1.5rem}.polaroid__frame{width:250px;padding:14px 14px 45px}.polaroid__caption{height:45px}.polaroid__name{font-size:1.6rem}}
