@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&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:#faf7f2;--color-blush:#f2e0d6;--color-rose:#d4a59a;--color-dusty-rose:#c08b7f;--color-burgundy:#6b2737;--color-deep-plum:#3d1a2b;--color-gold:#c9a96e;--color-gold-light:#e8d5a3;--color-charcoal:#2c2c2c;--color-warm-gray:#8a7e76;--color-soft-white:#fefdfb;--font-script:"Amsterdam Four_ttf", cursive;--font-display:"Playfair Display", serif;--font-heading:"Cormorant Garamond", serif;--font-body:"Josefin Sans", sans-serif;--font-handwriting:"Caveat", 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:#faf7f299;border-bottom:1px solid #fff9;padding:.75rem 2.5rem;box-shadow:0 4px 30px #6d273714}.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__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}}.add-to-calendar{z-index:10;margin-top:.75rem;display:inline-block;position:relative}.add-to-calendar__btn{font-family:var(--font-body);letter-spacing:.15em;text-transform:uppercase;color:var(--color-burgundy);cursor:pointer;transition:all .3s var(--transition-smooth);background:0 0;border:1px solid #8b22324d;border-radius:2px;align-items:center;gap:.5rem;padding:.6em 1.2em;font-size:.75rem;display:inline-flex}.add-to-calendar__btn:hover{border-color:var(--color-burgundy);background:#8b22320d}.add-to-calendar__dropdown{-webkit-backdrop-filter:blur(16px);background:#fff9;border:1px solid #ffffff80;border-radius:4px;flex-direction:column;min-width:max-content;display:flex;position:absolute;top:calc(100% + .5rem);left:50%;overflow:hidden;transform:translate(-50%);box-shadow:0 8px 32px #6d273714}.add-to-calendar__option{font-family:var(--font-body);color:var(--color-charcoal);text-align:left;cursor:pointer;white-space:nowrap;background:0 0;border:none;border-bottom:1px solid #c9a96e1a;padding:.8rem 1.2rem;font-size:.8rem;transition:background .2s,color .2s}.add-to-calendar__option:last-child{border-bottom:none}.add-to-calendar__option:hover{background:var(--color-soft-white);color:var(--color-burgundy)}.countdown{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#fff6;border:1px solid #c9a96e33;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:#c9a96e80;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{justify-content:center;align-items:center;height:100vh;min-height:650px;display:flex;position:relative;overflow:hidden}.hero__bg{background:radial-gradient(ellipse at 20% 50%, #d4a59a26 0%, transparent 60%), radial-gradient(ellipse at 80% 20%, #c9a96e1a 0%, transparent 50%), radial-gradient(ellipse at 50% 80%, #6b27370f 0%, transparent 50%), var(--color-cream);position:absolute;inset:-10%}.hero__overlay{z-index:1;width:100%;position:relative}.hero__content{justify-content:center;align-items:center;gap:clamp(3rem,6vw,6rem);max-width:1200px;margin:0 auto;padding:0 3rem;display:flex}.hero__logo-col{text-align:center;flex-direction:column;align-items:center;display:flex}.hero__logo-wrapper{justify-content:center;align-items:center;width:clamp(400px,48vw,620px);height:clamp(400px,48vw,620px);display:flex;position:relative}.hero__logo-wreath{object-fit:contain;pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.hero__logo-text{z-index:1;flex-direction:column;align-items:center;gap:0;padding:0 22%;display:flex;position:relative}.hero__logo-names{font-family:var(--font-script);color:#2a2d5e;flex-direction:column;align-items:center;gap:.5em;font-size:clamp(2rem,3.5vw,3.2rem);font-weight:400;line-height:1;display:flex}.hero__logo-amp{font-family:var(--font-script);color:#2a2d5e;font-size:.75em;line-height:1;display:block}.hero__logo-hashtag{z-index:2;font-family:var(--font-body);letter-spacing:.12em;color:var(--color-charcoal);white-space:nowrap;font-size:.78rem;position:absolute;bottom:12%;left:50%;transform:translate(-50%)}.hero__date{font-family:var(--font-body);letter-spacing:.25em;text-transform:uppercase;color:var(--color-warm-gray);margin-top:1rem;font-size:.9rem}.hero__photo-col{flex-shrink:0;align-self:stretch;align-items:center;display:flex}.hero__photo-wrapper{width:clamp(300px,30vw,420px);height:min(75vh,600px);position:relative}.hero__photo-frame{border-radius:4px;width:100%;height:100%;position:relative;overflow:hidden;box-shadow:0 24px 64px #6b27371a,0 8px 28px #0000000d}.hero__photo-img{object-fit:cover;object-position:center top;width:100%;height:100%;transition:transform .8s cubic-bezier(.22,1,.36,1),filter .8s cubic-bezier(.22,1,.36,1);display:block}.hero__photo-frame:hover .hero__photo-img{filter:brightness(1.04);transform:scale(1.05)}.hero__photo-border{pointer-events:none;border:1px solid #c9a96e40;border-radius:2px;transition:inset .6s cubic-bezier(.22,1,.36,1),border-color .6s;position:absolute;inset:10px}.hero__photo-frame:hover .hero__photo-border{border-color:#c9a96e80;inset:14px}.hero__photo-overlay{pointer-events:none;opacity:0;background:linear-gradient(#0000 50%,#3d1a2b26 100%);transition:opacity .6s;position:absolute;inset:0}.hero__photo-frame:hover .hero__photo-overlay{opacity:1}.hero__scroll-hint{width:1px;height:50px;position:absolute;bottom:2.5rem;left:50%;overflow:hidden;transform:translate(-50%)}.hero__scroll-line{background:var(--color-gold);transform-origin:top;width:100%;height:100%}.welcome{background:var(--color-soft-white);padding:7rem 2rem}.welcome__container{text-align:center;max-width:680px;margin:0 auto}.welcome__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}.welcome__heading{font-family:var(--font-display);color:var(--color-burgundy);letter-spacing:.02em;font-size:clamp(2rem,5vw,3rem);font-weight:400;line-height:1.2}.welcome__text{font-family:var(--font-body);color:var(--color-warm-gray);margin-top:1.5rem;font-size:1rem;font-weight:300;line-height:1.9}.welcome__quote{font-family:var(--font-heading);color:var(--color-warm-gray);border-top:1px solid #c9a96e33;margin-top:2rem;padding-top:1.5rem;font-size:1.15rem;font-style:italic;line-height:1.7}.welcome__quote-author{font-family:var(--font-body);letter-spacing:.15em;text-transform:uppercase;color:var(--color-dusty-rose);margin-top:.6rem;font-size:.75rem}.cta-section{background:var(--color-deep-plum);text-align:center;padding:6rem 2rem}.cta-section__container{max-width:600px;margin:0 auto}.cta-section__heading{font-family:var(--font-display);color:var(--color-gold-light);letter-spacing:.04em;font-size:clamp(2rem,5vw,2.8rem);font-weight:400}.cta-section__text{font-family:var(--font-body);color:#faf7f299;letter-spacing:.04em;margin-top:1rem;font-size:1rem;font-weight:300}.cta-section__button{font-family:var(--font-body);letter-spacing:.25em;text-transform:uppercase;color:var(--color-gold-light);transition:all .4s var(--transition-smooth);background:0 0;border:1px solid #c9a96e4d;border-radius:2px;align-items:center;gap:.75rem;margin-top:2.5rem;padding:1rem 2.5rem;font-size:.8rem;display:inline-flex}.cta-section__button:hover{border-color:var(--color-gold);color:var(--color-gold);background:#c9a96e1a}.cta-section__button-arrow{font-size:1.1rem;line-height:1}.footer{background:var(--color-cream);text-align:center;padding:3rem 2rem}.footer__content{max-width:400px;margin:0 auto}.footer__names{font-family:var(--font-display);color:var(--color-burgundy);letter-spacing:.04em;font-size:1.4rem;font-weight:400}.footer__date{font-family:var(--font-body);letter-spacing:.2em;text-transform:uppercase;color:var(--color-warm-gray);margin-top:.5rem;font-size:.75rem}@media (width<=1000px){.hero{height:auto;min-height:100vh;padding:8rem 0 3rem}.hero__content{flex-direction:column;align-items:center;gap:1.5rem;max-width:100%;padding:0 1.5rem;overflow:hidden}.hero__logo-col{order:2}.hero__photo-col{order:1;align-self:center}.hero__logo-wrapper{width:min(85vw,380px);height:min(85vw,380px)}.hero__photo-wrapper{width:min(70vw,320px);height:auto}.hero__photo-frame{aspect-ratio:3/4;height:auto}}@media (width<=480px){.hero{padding:5.5rem 0 2.5rem}.hero__content{gap:1rem;padding:0 1rem}.hero__logo-wrapper{width:min(80vw,300px);height:min(80vw,300px)}.hero__logo-names{gap:.4em;font-size:1.6rem}.hero__logo-hashtag{font-size:.65rem;bottom:10%}.hero__date{margin-top:.5rem;font-size:.75rem}.hero__photo-wrapper{width:min(75vw,280px)}.welcome,.cta-section{padding:4rem 1.25rem}}.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__line{background:linear-gradient(180deg, transparent 0%, var(--color-gold-light) 10%, var(--color-gold-light) 90%, transparent 100%);width:1px;position:absolute;top:0;bottom:0;left:50%;transform:translate(-50%)}.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}.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}.events-timeline__line{left:20px}.event-card{margin-bottom:2.5rem}.event-card--left,.event-card--right{justify-content:flex-start;padding-left:50px;padding-right:0}.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<=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}}.floating-petals{pointer-events:none;z-index:1;position:fixed;inset:0;overflow:hidden}.floating-petal{background-color:var(--color-rose);opacity:.3;filter:blur(1px);border-radius:50% 0;position:absolute;top:-5%;box-shadow:inset 0 0 5px #fff6}
