:root{--color-gold: #1179119f;--color-gold-light: #F4E5B0;--color-cream: #F9F9F5;--color-navy: #2c3e50;--color-text-main: #334155;--color-text-light: #64748B;--color-white: #FFFFFF;--font-heading: "Playfair Display", serif;--font-body: "Lato", sans-serif;--font-script: "Alex Brush", cursive;--spacing-xs: .5rem;--spacing-sm: 1rem;--spacing-md: 2rem;--spacing-lg: 4rem;--spacing-xl: 8rem;--transition-fast: .3s ease;--transition-slow: .8s ease-in-out}*{box-sizing:border-box;margin:0;padding:0}html{height:100vh;overflow:hidden}body{margin:0;height:100vh;font-family:var(--font-body);background-color:var(--color-cream);color:var(--color-text-main);line-height:1.6;overflow:hidden}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);color:var(--color-navy);font-weight:700;line-height:1.2}a{text-decoration:none;color:inherit;transition:color var(--transition-fast)}ul{list-style:none}button{font-family:var(--font-body);cursor:pointer;border:none;outline:none}.container{max-width:1200px;margin:0 auto;padding:0 var(--spacing-sm)}.text-gold{color:var(--color-gold)}.text-navy{color:var(--color-navy)}.text-center{text-align:center}.section-padding{padding:var(--spacing-xl) 0}.fade-in-section{opacity:0;transition:opacity 1.2s ease-out}.fade-in-section.is-visible{opacity:1}.chained-reveal{opacity:0;transition:opacity .5s ease-out}.chained-reveal.is-visible{opacity:1}@keyframes drawMask{0%{transform:scaleY(.38)}to{transform:scaleY(1)}}.draw-active{animation:drawMask 3.5s cubic-bezier(.22,.61,.36,1) forwards}.delay-100{transition-delay:.1s}.delay-200{transition-delay:.2s}.delay-300{transition-delay:.3s}.delay-400{transition-delay:.4s}.delay-500{transition-delay:.5s}:root{--section-gap: clamp(20rem, 8vh, 8rem)}.landing-page{display:contents}.venue-section{display:flex;flex-direction:column;gap:var(--section-gap)}.app-main-content{display:flex;flex-direction:column;gap:var(--section-gap);position:relative;min-height:100%}.app-container{position:relative;scroll-snap-type:none;background:linear-gradient(135deg,#f9f9f5,#fff8f0,#f9f9f5,#fff8f0,#f9f9f5);background-size:400% 400%;background-attachment:local}.venue-section .content-section{min-height:auto;padding-left:30px;padding-right:30px}.content-section,.landing-page .hero{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:var(--spacing-lg) var(--spacing-sm)}.content-container{display:flex;flex-direction:row;flex-wrap:nowrap;align-items:center;justify-content:center;gap:clamp(.5rem,5vw,var(--spacing-xl));max-width:1200px;width:100%}.content-container.reverse{flex-direction:row-reverse}.text-content{flex:1;min-width:0;max-width:500px;text-align:left}.text-content>*{text-align:inherit}.content-container.reverse .text-content{text-align:right}.text-content h2{font-family:var(--font-script);font-size:clamp(2.2rem,5vw,4rem);margin-bottom:.5rem;color:var(--color-navy)}.venue-section .text-content h2{font-family:Dancing Script,cursive;font-weight:400}.text-content .subtitle{color:var(--color-gold);font-family:var(--font-heading);font-style:italic;font-size:clamp(1rem,2vw,1.5rem);margin-bottom:1rem}.text-content p{color:var(--color-text-main);font-size:clamp(.9rem,1.5vw,1.15rem)}.photo-wrapper{flex:1;display:flex;justify-content:center;min-width:0}.photo-frame{max-width:100%;width:450px;height:auto;border:15px solid white;box-shadow:0 10px 30px #00000026;transition:transform .3s ease}.rotate-left .photo-frame{transform:rotate(3deg)}.rotate-right .photo-frame{transform:rotate(2deg)}.scatter-container{display:flex;flex-wrap:wrap;justify-content:center;align-content:center;width:100%;height:auto;min-height:50vh;position:relative;padding:2rem;gap:20px}.scatter-item-wrapper{position:relative;transition:transform .5s cubic-bezier(.2,.8,.2,1),z-index 0s .5s;display:flex;justify-content:center;align-items:center}.scatter-container.scatter-single .scatter-item-wrapper{width:95%;max-width:600px;margin:0}.scatter-container.scatter-single .scatter-item-wrapper:nth-child(1){transform:rotate(-2deg)}.scatter-container.scatter-few .scatter-item-wrapper{width:45%;min-width:140px;flex-grow:1}.scatter-container.scatter-medium .scatter-item-wrapper{width:30%;min-width:110px;flex-grow:1}.scatter-container.scatter-many .scatter-item-wrapper{width:22%;min-width:90px;flex-grow:1}.scatter-photo{width:auto;max-width:100%;max-height:350px;box-shadow:0 4px 15px #00000026;border:8px solid white;transition:box-shadow .5s cubic-bezier(.2,.8,.2,1);will-change:box-shadow}.scatter-container.scatter-single .scatter-photo{max-height:70vh;padding-top:0rem;padding-bottom:0rem}@media (max-width: 600px){.scatter-container{padding-left:.8rem;padding-right:.2rem;min-height:auto}.scatter-container.scatter-single .scatter-item-wrapper{width:100%;max-width:none}.scatter-photo{border-width:4px}}.scatter-item-wrapper:hover .scatter-photo{box-shadow:0 15px 30px #00000038}.scatter-item-wrapper:nth-child(odd){transform:rotate(-4deg) translateY(5px);z-index:1;margin:5px}.scatter-item-wrapper:nth-child(2n){transform:rotate(3deg) translateY(-5px);z-index:2;margin:5px}.scatter-item-wrapper:nth-child(3n){transform:rotate(6deg) translate(5px);z-index:3}.scatter-item-wrapper:nth-child(4n){transform:rotate(-5deg) translate(-5px);z-index:1}.scatter-item-wrapper:nth-child(5n){transform:rotate(2deg) translateY(8px);z-index:2}.scatter-item-wrapper:hover{z-index:100;transform:scale(1.05) rotate(0);transition:transform .5s cubic-bezier(.2,.8,.2,1),z-index 0s}.image-viewer-overlay{position:fixed;top:0;left:0;width:100vw;height:100vh;z-index:2000;background-color:#fff6;-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);display:flex;align-items:center;justify-content:center;animation:fadeIn .3s ease-out}.image-viewer-overlay.closing{animation:fadeOut .3s ease-in forwards}.viewer-content{position:relative;max-width:90vw;max-height:90vh;display:flex;align-items:center;justify-content:center;border-radius:4px;overflow:hidden;clip-path:inset(0);box-shadow:0 20px 50px #0003;animation:fadeIn .4s ease-out}.viewer-viewport{width:100%;height:100%;overflow:hidden;position:relative}.viewer-track{display:flex;height:100%;width:100%;will-change:transform}.viewer-counter{position:absolute;bottom:20px;color:#fff;font-weight:600;background:#0000004d;padding:4px 12px;border-radius:20px;text-shadow:0 1px 2px rgba(0,0,0,.5);pointer-events:none}.viewer-slide{height:100%;display:flex;align-items:center;justify-content:center;padding:0;flex-shrink:0;overflow:hidden}.viewer-image{width:100%;height:100%;margin:0;object-fit:cover;backface-visibility:hidden}.viewer-btn{position:absolute;background:transparent;border:none;border-radius:0;width:80px;height:80px;font-size:6rem;line-height:0;padding-bottom:15px;color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:opacity .2s ease;z-index:25;text-shadow:0 1px 4px rgba(0,0,0,.4);box-shadow:none}.viewer-btn:hover{background:transparent;transform:scale(1.1);box-shadow:none;text-shadow:0 2px 8px rgba(0,0,0,.6)}.viewer-close{position:absolute;top:10px;right:10px;width:auto;height:auto;background:transparent;box-shadow:none;border-radius:0;color:#fff;text-shadow:0 1px 4px rgba(0,0,0,.4);font-size:3rem;padding:0;line-height:.8;opacity:.8;z-index:30}.viewer-close:hover{background:transparent;opacity:1;box-shadow:none;transform:none;color:#fff}@media (max-width: 1024px){.viewer-close{top:10px;right:10px}}.viewer-prev{left:20px}.viewer-next{right:20px}@media (max-width: 1200px){.viewer-prev{left:10px}.viewer-next{right:10px}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeOut{0%{opacity:1}to{opacity:0}}.car-icon{width:50px;height:auto;margin-top:24px;opacity:0;transform:scaleX(-1) translateY(10px);transition:opacity .8s ease,transform .8s ease}.text-content.is-visible .car-icon{opacity:.8;transform:scaleX(-1) translateY(0);transition-delay:.5s}.text-content{text-align:left!important}
