@import "https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600&family=Playfair+Display:ital,wght@0,400;0,600;1,400&display=swap";:root{--color-primary:#f8c8d1;--color-secondary:#1a2a40;--color-accent1:#9ccae8;--color-accent2:#d66a50;--color-base-bg:#fcfcf9;--font-heading:"Playfair Display", serif;--font-body:"Inter", sans-serif}*{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%;font-family:var(--font-body);background-color:var(--color-base-bg);color:var(--color-secondary);-webkit-font-smoothing:antialiased;margin:0;padding:0;overflow:hidden}main{scroll-snap-type:y mandatory;-webkit-overflow-scrolling:touch;overscroll-behavior-y:contain;width:100%;height:100%;overflow-y:scroll}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);color:var(--color-secondary);font-weight:600;line-height:1.2}a{color:var(--color-secondary);text-decoration:none;transition:all .3s}a:hover{color:var(--color-primary)}button{font-family:var(--font-body);cursor:pointer;border:none;outline:none}.glass-panel{-webkit-backdrop-filter:blur(12px);background:#ffffffb3;border:1px solid #fff6;border-radius:16px;padding:2rem;box-shadow:0 8px 32px #0000001a}section{scroll-snap-align:start;scroll-snap-stop:always;flex-direction:column;justify-content:center;width:100%;height:100dvh;scroll-margin-top:0;display:flex;position:relative;overflow:hidden}@keyframes bounceDown{0%,to{opacity:.7;transform:translate(-50%)translateY(0)}50%{opacity:1;transform:translate(-50%)translateY(8px)}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInDown{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.nav-desktop-row{justify-content:center;align-items:center;gap:4rem;padding:1.4rem 2rem;display:flex;position:relative}.nav-desktop-row .nav-rsvp-btn{position:absolute;right:2rem}.nav-mobile-row{justify-content:space-between;align-items:center;padding:1rem 1.25rem;display:none}.events-cards-container{scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none;-ms-overflow-style:none;align-items:stretch;gap:1.5rem;width:100%;max-width:1200px;margin:0 auto;padding:1rem;display:flex;overflow-x:auto}.events-cards-container::-webkit-scrollbar{display:none}.events-cards-container>.reveal-wrapper{scroll-snap-align:center;flex-direction:column;flex:0 0 calc(25% - 1.125rem);min-width:300px;display:flex}.event-card-perspective{perspective:1000px;cursor:pointer;flex-grow:1;width:100%;min-height:420px;position:relative}.event-card-perspective .event-card{backface-visibility:hidden;width:100%;height:100%;transform-style:preserve-3d;transition:transform .7s cubic-bezier(.4,0,.2,1);position:absolute;top:0;left:0}.event-card{-webkit-backdrop-filter:blur(16px);background:#ffffff1f;border:1px solid #fff3;border-radius:20px;flex-direction:column;padding:2.5rem 1.75rem 1.5rem;display:flex;box-shadow:0 8px 32px #00000040}.event-card-front{transform:rotateY(0)}.event-card-back{background:#f8c8d114;border-color:#f8c8d14d;transform:rotateY(180deg)}.event-card-perspective.flipped .event-card-front{transform:rotateY(-180deg)}.event-card-perspective.flipped .event-card-back{transform:rotateY(0)}.event-card-perspective:not(.flipped):hover .event-card-front{border-color:#f8c8d180;box-shadow:0 12px 40px #0006}.event-day-label{font-family:var(--font-body);color:#fff6;text-transform:uppercase;letter-spacing:3px;margin-bottom:.25rem;font-size:.65rem;display:block}.event-card-header h3{font-family:var(--font-heading);color:var(--color-primary);margin-bottom:.75rem;font-size:1.4rem;font-style:italic;line-height:1.2}.event-card-divider{background:var(--color-primary);opacity:.6;border-radius:2px;width:35px;height:2px;margin-bottom:1.5rem}.event-card-body{flex-direction:column;flex-grow:1;gap:1.5rem;display:flex}.event-item{flex-direction:column;display:flex}.event-time{font-family:var(--font-body);color:#ffffff80;text-transform:uppercase;letter-spacing:2px;margin-bottom:.3rem;font-size:.75rem}.event-label{font-family:var(--font-body);color:#fff;font-size:1.1rem;font-weight:500;line-height:1.4}.event-card-back-body{gap:1.25rem}.event-back-item{align-items:flex-start;gap:.75rem;display:flex}.event-back-icon{text-align:center;flex-shrink:0;width:28px;margin-top:2px;font-size:1.3rem}.event-back-info{flex-direction:column;gap:.2rem;display:flex}.event-back-name{font-family:var(--font-body);color:#fff;font-size:.95rem;font-weight:600;line-height:1.3}.event-back-desc{font-family:var(--font-body);color:#ffffffa6;font-size:.8rem;line-height:1.45}.event-back-dress{font-family:var(--font-body);color:var(--color-primary);opacity:.85;margin-top:.15rem;font-size:.72rem}.dress-code-label{text-transform:uppercase;letter-spacing:.5px;font-size:.65rem;font-weight:600}.event-card-flip-hint{font-family:var(--font-body);color:#ffffff4d;text-transform:uppercase;letter-spacing:1.5px;justify-content:center;align-items:center;gap:.4rem;margin-top:auto;padding-top:1rem;font-size:.7rem;transition:color .3s;display:flex}.event-card-perspective:hover .event-card-flip-hint{color:#ffffff8c}.event-card-flip-hint svg{opacity:.6}.itinerary-card::-webkit-scrollbar{width:6px}.itinerary-card::-webkit-scrollbar-track{background:0 0}.itinerary-card::-webkit-scrollbar-thumb{background:#1a2a4026;border-radius:3px}.itinerary-card::-webkit-scrollbar-thumb:hover{background:#1a2a404d}.travel-editorial-row{flex-direction:row;width:100%;min-height:70vh;display:flex}.travel-editorial-row.reverse{flex-direction:row-reverse}.travel-editorial-img-container{flex:50%;min-height:400px;position:relative;overflow:hidden}.travel-editorial-img-container img{object-fit:cover;width:100%;height:100%;transition:transform .7s;position:absolute;inset:0}.travel-editorial-row:hover .travel-editorial-img-container img{transform:scale(1.05)}.travel-editorial-text-container{background:var(--color-base-bg);flex:50%;justify-content:center;align-items:center;padding:clamp(3rem,8vw,6rem);display:flex}.contact-image-frame{box-sizing:border-box;background:0 0;justify-content:center;align-items:center;width:320px;height:380px;transition:transform .5s;display:flex;position:relative}.corner-bracket{pointer-events:none;z-index:2;width:20px;height:20px;transition:all .5s;position:absolute}.corner-bracket:before,.corner-bracket:after{content:"";background:var(--color-secondary);pointer-events:none;position:absolute}.corner-bracket:before{height:1.5px}.corner-bracket:after{width:1.5px}.corner-bracket.top-left{top:0;left:0}.corner-bracket.top-left:before{top:0;left:-8px;right:0}.corner-bracket.top-left:after{top:-8px;bottom:0;left:0}.corner-bracket.top-right{top:0;right:0}.corner-bracket.top-right:before{top:0;left:0;right:-8px}.corner-bracket.top-right:after{top:-8px;bottom:0;right:0}.corner-bracket.bottom-left{bottom:0;left:0}.corner-bracket.bottom-left:before{bottom:0;left:-8px;right:0}.corner-bracket.bottom-left:after{top:0;bottom:-8px;left:0}.corner-bracket.bottom-right{bottom:0;right:0}.corner-bracket.bottom-right:before{bottom:0;left:0;right:-8px}.corner-bracket.bottom-right:after{top:0;bottom:-8px;right:0}.contact-image-el{object-fit:cover!important;z-index:1!important;width:calc(100% - 32px)!important;height:calc(100% - 32px)!important;position:relative!important;inset:auto!important;box-shadow:0 10px 25px #1a2a4014!important}.travel-editorial-row:hover .contact-image-frame{transform:scale(1.02)}.travel-editorial-row:hover .corner-bracket{transform:scale(1.05)}@media (width<=1024px){.corner-bracket{display:none!important}.contact-image-frame{border:none!important;width:100%!important;max-width:none!important;height:100%!important;max-height:none!important;padding:0!important;transform:none!important}.contact-image-el{width:100%!important;height:100%!important;box-shadow:none!important;position:absolute!important;inset:0!important}}@media (width<=768px){.nav-desktop-row{display:none}.nav-mobile-row{display:flex}.events-cards-container{gap:1rem;padding:.5rem 0}.events-cards-container>.reveal-wrapper{flex:0 0 85vw;min-width:0!important}.event-card-perspective{min-height:370px}.event-card{border-radius:16px;padding:2rem 1.25rem 1.25rem!important}.event-card-header h3{font-size:1.2rem}.event-card-body{gap:1.25rem}.event-back-desc{font-size:.75rem}.contact-rsvp-btn{padding:.75rem 2.2rem!important;font-size:.82rem!important}.travel-editorial-row{flex-direction:column!important;min-height:100dvh!important;padding-top:56px!important}.travel-editorial-img-container{flex:0 0 40vh!important;min-height:250px!important}.travel-editorial-text-container{flex:1!important;justify-content:flex-start!important;padding:1.2rem 1.5rem 3rem!important}.desktop-only{display:none!important}}@media (width<=380px){.events-cards-container>.reveal-wrapper{flex:0 0 90vw}.event-card-perspective{min-height:340px}.mobile-hide{display:none!important}}footer{scroll-snap-align:end}.loading-screen{background-color:var(--color-secondary);z-index:9999;opacity:1;justify-content:center;align-items:center;width:100vw;height:100dvh;transition:opacity .6s ease-in-out;display:flex;position:fixed;top:0;left:0}.loading-screen.fade-out{opacity:0;pointer-events:none}.loading-text{font-family:var(--font-heading), "Playfair Display", serif;color:var(--color-base-bg);opacity:1;white-space:nowrap;align-items:center;gap:clamp(.5rem,3vw,1.5rem);font-size:clamp(1.5rem,7vw,5rem);display:flex}.name-part{align-items:center;display:flex}.letter,.ampersand{opacity:0;display:inline-block;transform:translateY(20px)}.remainder{white-space:nowrap;display:inline-block;overflow:hidden}.name-1 .initial{animation:.6s cubic-bezier(.2,.8,.2,1) .1s forwards floatUp}.name-1 .remainder-1{animation:.6s cubic-bezier(.2,.8,.2,1) .1s forwards floatUp,.5s cubic-bezier(.8,0,.2,1) 1.2s forwards collapseText1}.ampersand{color:var(--color-primary);font-style:italic;animation:.6s cubic-bezier(.2,.8,.2,1) .2s forwards floatUp}.name-2 .initial{animation:.6s cubic-bezier(.2,.8,.2,1) .3s forwards floatUp}.name-2 .remainder-2{animation:.6s cubic-bezier(.2,.8,.2,1) .3s forwards floatUp,.5s cubic-bezier(.8,0,.2,1) 1.2s forwards collapseText2}@keyframes floatUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes collapseText1{0%{opacity:1;max-width:500px}to{opacity:0;max-width:0;margin-right:0;padding-right:0}}@keyframes collapseText2{0%{opacity:1;max-width:500px}to{opacity:0;max-width:0;margin-right:0;padding-right:0}}.reveal-wrapper{opacity:0;will-change:opacity, transform;flex-direction:column;align-items:center;width:100%;transition:opacity .8s cubic-bezier(.2,.8,.2,1),transform .8s cubic-bezier(.2,.8,.2,1);display:flex;transform:translateY(40px)}.reveal-wrapper.reveal-visible{opacity:1;transform:translateY(0)}
