.std-page{overflow-x:hidden}.std-hero{min-height:100vh;display:flex;justify-content:center;align-items:center;position:relative;overflow:hidden}.std-hero-background{position:absolute;top:-20%;right:-20%;bottom:-20%;left:-20%;background:linear-gradient(180deg,#f8f6f2,#f0ede6,#e8e4db);z-index:-1}.std-hero-content{text-align:center;padding:2rem;opacity:0;transform:translateY(30px);transition:all 1.2s cubic-bezier(.4,0,.2,1)}.std-hero-content.visible{opacity:1;transform:translateY(0)}.std-intro-text{font-family:var(--font-serif);font-size:1.4rem;font-weight:300;font-style:italic;color:var(--color-taupe-light);letter-spacing:.1em;margin-bottom:2rem;animation:std-fadeIn 1s ease-out .3s both}.std-names-container{display:flex;flex-direction:column;align-items:center;gap:.5rem;margin-bottom:3rem}.std-name{font-family:var(--font-serif);font-size:5rem;font-weight:300;color:var(--color-taupe);letter-spacing:.15em;line-height:1.1}.std-name-first{animation:std-slideInLeft 1s ease-out .5s both}.std-name-second{animation:std-slideInRight 1s ease-out .7s both}.std-ampersand{font-family:var(--font-serif);font-size:2.5rem;font-weight:300;font-style:italic;color:var(--color-taupe-light);animation:std-fadeIn 1s ease-out .6s both}.std-save-the-date{display:flex;justify-content:center;align-items:baseline;gap:1rem;margin-bottom:4rem;animation:std-fadeIn 1s ease-out .9s both}.std-save,.std-date-word{font-family:var(--font-serif);font-size:1.8rem;font-weight:400;color:var(--color-taupe);letter-spacing:.3em}.std-the{font-family:var(--font-serif);font-size:1.2rem;font-weight:300;font-style:italic;color:var(--color-taupe-light);letter-spacing:.1em}.std-scroll-indicator{animation:std-fadeIn 1s ease-out 1.2s both;background:none;border:none;cursor:pointer;padding:1rem;margin:-1rem}.std-scroll-indicator:hover .std-scroll-line{opacity:1;transform:scaleY(1.3)}.std-scroll-line{width:1px;height:60px;background:linear-gradient(to bottom,var(--color-taupe),transparent);margin:0 auto;animation:std-scrollPulse 2s ease-in-out infinite;transition:all .3s ease}.std-fade-section .std-section-content,.std-fade-section .std-footer-content{opacity:0;transform:translateY(40px);transition:opacity .8s ease-out,transform .8s ease-out}.std-fade-section.visible .std-section-content,.std-fade-section.visible .std-footer-content{opacity:1;transform:translateY(0)}.std-date-section{min-height:100vh;display:flex;justify-content:center;align-items:center;background:var(--color-cream)}.std-section-content{text-align:center;padding:4rem 2rem}.std-section-label{font-family:var(--font-sans);font-size:.85rem;font-weight:400;color:var(--color-taupe-light);letter-spacing:.3em;text-transform:uppercase;margin-bottom:1.5rem}.std-date-display{font-family:var(--font-serif);font-size:4rem;font-weight:300;color:var(--color-taupe);letter-spacing:.05em;margin-bottom:1rem}.std-ceremony-type{font-family:var(--font-serif);font-size:1.3rem;font-style:italic;color:var(--color-taupe-light);margin-bottom:2rem}.std-date-note{font-family:var(--font-serif);font-size:1rem;font-style:italic;color:var(--color-taupe-light);opacity:.8}.std-location-section{min-height:100vh;display:flex;justify-content:center;align-items:center;background:linear-gradient(180deg,#f0ede6,#e8e4db)}.std-venue-name{font-family:var(--font-serif);font-size:3rem;font-weight:400;color:var(--color-taupe);letter-spacing:.05em;margin-bottom:1.5rem}.std-venue-details{font-family:var(--font-sans);font-size:1.1rem;font-weight:300;color:var(--color-taupe);line-height:1.8;margin-bottom:2rem}.std-map-link{display:inline-block;font-family:var(--font-sans);font-size:.9rem;font-weight:400;color:var(--color-taupe);text-decoration:none;letter-spacing:.15em;text-transform:uppercase;padding:1rem 2rem;border:1px solid var(--color-taupe);transition:all .3s ease}.std-map-link:hover{background:var(--color-taupe);color:var(--color-cream)}.std-floral-divider{width:200px;margin:0 auto 2rem;color:var(--color-taupe)}.std-floral-divider.small{width:120px;margin-bottom:1.5rem}.std-floral-divider .floral-svg{width:100%;height:auto}.std-footer{padding:6rem 2rem;background:var(--color-cream)}.std-footer-content{text-align:center}.std-footer-names{font-family:var(--font-serif);font-size:1.5rem;font-weight:300;white-space:nowrap;color:var(--color-taupe);letter-spacing:.1em;margin-bottom:.5rem}.std-footer-date{font-family:var(--font-sans);font-size:.9rem;font-weight:300;color:var(--color-taupe-light);letter-spacing:.2em}.std-footer-email{display:inline-block;margin-top:1.5rem;font-family:var(--font-sans);font-size:.85rem;font-weight:300;color:var(--color-taupe-light);text-decoration:none;letter-spacing:.05em;background-image:linear-gradient(to right,rgba(168,144,120,.5) 1px,transparent 1px);background-size:5px 1px;background-repeat:repeat-x;background-position:bottom;padding-bottom:2px;transition:all .3s ease}.std-footer-email:hover{color:var(--color-taupe);background-image:linear-gradient(to right,var(--color-taupe) 1px,transparent 1px)}@keyframes std-fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes std-slideInLeft{0%{opacity:0;transform:translate(-50px)}to{opacity:1;transform:translate(0)}}@keyframes std-slideInRight{0%{opacity:0;transform:translate(50px)}to{opacity:1;transform:translate(0)}}@keyframes std-scrollPulse{0%,to{opacity:.3;transform:scaleY(1)}50%{opacity:1;transform:scaleY(1.2)}}@media (max-width: 768px){.std-name{font-size:3.5rem}.std-ampersand{font-size:2rem}.std-save,.std-date-word{font-size:1.4rem}.std-the{font-size:1rem}.std-date-display{font-size:3rem}.std-venue-name{font-size:2.2rem}}@media (max-width: 480px){.std-name{font-size:2.8rem;letter-spacing:.1em}.std-save-the-date{gap:.6rem}.std-save,.std-date-word{font-size:1.1rem;letter-spacing:.2em}.std-date-display{font-size:2.5rem}.std-venue-name{font-size:1.8rem}.std-section-content{padding:3rem 1.5rem}}.wedding-page{overflow-x:hidden}.hero{min-height:100vh;display:flex;justify-content:center;align-items:center;position:relative;overflow:hidden}.hero-background{position:absolute;top:-20%;right:-20%;bottom:-20%;left:-20%;background:linear-gradient(180deg,#f8f6f2,#f0ede6,#e8e4db);z-index:-1}.hero-content{text-align:center;padding:2rem;opacity:0;transform:translateY(30px);transition:all 1.2s cubic-bezier(.4,0,.2,1)}.hero-content.visible{opacity:1;transform:translateY(0)}.intro-text{font-family:var(--font-serif);font-size:1.4rem;font-weight:300;font-style:italic;color:var(--color-taupe-light);letter-spacing:.1em;margin-bottom:2rem;animation:fadeIn 1s ease-out .3s both}.names-container{display:flex;flex-direction:column;align-items:center;gap:.5rem;margin-bottom:3rem}.name{font-family:var(--font-serif);font-size:5rem;font-weight:300;color:var(--color-taupe);letter-spacing:.15em;line-height:1.1}.name-first{animation:slideInLeft 1s ease-out .5s both}.name-second{animation:slideInRight 1s ease-out .7s both}.ampersand{font-family:var(--font-serif);font-size:2.5rem;font-weight:300;font-style:italic;color:var(--color-taupe-light);animation:fadeIn 1s ease-out .6s both}.wedding-date-hero{display:flex;justify-content:center;align-items:baseline;gap:.3rem;margin-bottom:4rem;animation:fadeIn 1s ease-out .9s both}.date-number{font-family:var(--font-serif);font-size:2rem;font-weight:300;color:var(--color-taupe);letter-spacing:.1em}.date-separator{font-family:var(--font-serif);font-size:1.5rem;color:var(--color-taupe-light)}.scroll-indicator{animation:fadeIn 1s ease-out 1.2s both;background:none;border:none;cursor:pointer;padding:1rem;margin:-1rem}.scroll-indicator:hover .scroll-line{opacity:1;transform:scaleY(1.3)}.scroll-line{width:1px;height:60px;background:linear-gradient(to bottom,var(--color-taupe),transparent);margin:0 auto;animation:scrollPulse 2s ease-in-out infinite;transition:all .3s ease}.fade-section .section-content,.fade-section .footer-content{opacity:0;transform:translateY(40px);transition:opacity .8s ease-out,transform .8s ease-out}.fade-section.visible .section-content,.fade-section.visible .footer-content{opacity:1;transform:translateY(0)}.intro-section{min-height:60vh;display:flex;justify-content:center;align-items:center;background:var(--color-cream)}.intro-paragraph{font-family:var(--font-serif);font-size:1.3rem;font-weight:300;font-style:italic;color:var(--color-taupe);line-height:1.8;max-width:500px;margin:0 auto}.program-section{min-height:100vh;display:flex;justify-content:center;align-items:center;background:linear-gradient(180deg,#f0ede6,#e8e4db);padding:4rem 0}.section-content{text-align:center;padding:4rem 2rem}.section-label{font-family:var(--font-sans);font-size:.85rem;font-weight:400;color:var(--color-taupe-light);letter-spacing:.3em;text-transform:uppercase;margin-bottom:1rem}.section-title{font-family:var(--font-serif);font-size:3rem;font-weight:300;color:var(--color-taupe);letter-spacing:.05em;margin-bottom:3rem}.welcome-time-text{font-family:var(--font-serif);font-size:1.3rem;font-weight:300;color:var(--color-taupe);line-height:1.8}.welcome-time-text strong{font-weight:500}.timetable{max-width:500px;margin:0 auto}.timetable-item{display:flex;align-items:center;gap:1.5rem;text-align:left;padding:1rem 0}.timetable-icon{width:50px;height:50px;flex-shrink:0;color:var(--color-taupe);opacity:.7}.timeline-icon{width:100%;height:100%}.time{font-family:var(--font-sans);font-size:1rem;font-weight:400;color:var(--color-taupe);letter-spacing:.1em;min-width:55px}.event h3{font-family:var(--font-serif);font-size:1.4rem;font-weight:400;color:var(--color-taupe);margin-bottom:.3rem}.event p{font-family:var(--font-sans);font-size:.9rem;font-weight:300;color:var(--color-taupe-light)}.timetable-divider{width:1px;height:30px;background:linear-gradient(to bottom,var(--color-taupe-light),transparent);margin:.5rem 0 .5rem 24px;opacity:.5}.location-section{min-height:100vh;display:flex;justify-content:center;align-items:center;background:var(--color-cream)}.venue-name{font-family:var(--font-serif);font-size:3rem;font-weight:400;color:var(--color-taupe);letter-spacing:.05em;margin-bottom:1.5rem}.venue-details{font-family:var(--font-sans);font-size:1.1rem;font-weight:300;color:var(--color-taupe);line-height:1.8;margin-bottom:2rem}.map-link{display:inline-block;font-family:var(--font-sans);font-size:.9rem;font-weight:400;color:var(--color-taupe);text-decoration:none;letter-spacing:.15em;text-transform:uppercase;padding:1rem 2rem;border:1px solid var(--color-taupe);transition:all .3s ease}.map-link:hover{background:var(--color-taupe);color:var(--color-cream)}.rsvp-section{min-height:80vh;display:flex;justify-content:center;align-items:center;background:linear-gradient(180deg,#f0ede6,#e8e4db)}.rsvp-text{font-family:var(--font-sans);font-size:1.1rem;font-weight:300;color:var(--color-taupe);margin-bottom:2rem}.rsvp-text strong{font-weight:500}.rsvp-button{display:inline-block;font-family:var(--font-sans);font-size:.9rem;font-weight:400;color:var(--color-cream);background:var(--color-taupe);text-decoration:none;letter-spacing:.15em;text-transform:uppercase;padding:1.2rem 2.5rem;border:1px solid var(--color-taupe);transition:all .3s ease}.rsvp-button:hover{background:var(--color-taupe-dark);border-color:var(--color-taupe-dark)}.floral-divider{width:200px;margin:0 auto 2rem;color:var(--color-taupe)}.floral-divider.small{width:120px;margin-bottom:1.5rem}.floral-svg{width:100%;height:auto}.footer{padding:6rem 2rem;background:var(--color-cream)}.footer-content{text-align:center}.footer-names{font-family:var(--font-serif);font-size:1.5rem;font-weight:300;white-space:nowrap;color:var(--color-taupe);letter-spacing:.1em;margin-bottom:.5rem}.footer-date{font-family:var(--font-sans);font-size:.9rem;font-weight:300;color:var(--color-taupe-light);letter-spacing:.2em}.footer-email{display:inline-block;margin-top:1.5rem;font-family:var(--font-sans);font-size:.85rem;font-weight:300;color:var(--color-taupe-light);text-decoration:none;letter-spacing:.05em;background-image:linear-gradient(to right,rgba(168,144,120,.5) 1px,transparent 1px);background-size:5px 1px;background-repeat:repeat-x;background-position:bottom;padding-bottom:2px;transition:all .3s ease}.footer-email:hover{color:var(--color-taupe);background-image:linear-gradient(to right,var(--color-taupe) 1px,transparent 1px)}@keyframes fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInLeft{0%{opacity:0;transform:translate(-50px)}to{opacity:1;transform:translate(0)}}@keyframes slideInRight{0%{opacity:0;transform:translate(50px)}to{opacity:1;transform:translate(0)}}@keyframes scrollPulse{0%,to{opacity:.3;transform:scaleY(1)}50%{opacity:1;transform:scaleY(1.2)}}@media (max-width: 768px){.name{font-size:3.5rem}.ampersand{font-size:2rem}.date-number{font-size:1.6rem}.section-title{font-size:2.5rem}.venue-name{font-size:2.2rem}.timetable-item{gap:1rem}.timetable-icon{width:40px;height:40px}.event h3{font-size:1.2rem}}@media (max-width: 480px){.name{font-size:2.8rem;letter-spacing:.1em}.date-number{font-size:1.4rem}.section-title{font-size:2rem}.venue-name{font-size:1.8rem}.section-content{padding:3rem 1.5rem}.intro-paragraph{font-size:1.1rem}.timetable-item{gap:.8rem}.timetable-icon{width:35px;height:35px}.time{min-width:45px;font-size:.9rem}.event h3{font-size:1.1rem}}.foto-page{overflow-x:hidden;min-height:100vh}.foto-hidden-input{display:none}.foto-hero{min-height:40vh;display:flex;justify-content:center;align-items:center;position:relative;overflow:hidden}.foto-hero-background{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,#f8f6f2,#f0ede6,#e8e4db);z-index:-1}.foto-hero-content{text-align:center;padding:3rem 2rem}.foto-intro{font-family:var(--font-serif);font-size:1.1rem;font-weight:300;font-style:italic;color:var(--color-taupe-light);letter-spacing:.1em;margin-bottom:1rem}.foto-title{font-family:var(--font-serif);font-size:3rem;font-weight:300;color:var(--color-taupe);letter-spacing:.1em;margin-bottom:1rem}.foto-subtitle{font-family:var(--font-sans);font-size:.9rem;font-weight:300;color:var(--color-taupe-light);letter-spacing:.2em;text-transform:uppercase}.foto-upload-section{background:var(--color-cream);padding:4rem 2rem}.foto-upload-content{max-width:600px;margin:0 auto;text-align:center}.foto-section-title{font-family:var(--font-serif);font-size:2rem;font-weight:300;color:var(--color-taupe);letter-spacing:.05em;margin-bottom:1rem}.foto-count{font-size:1.2rem;color:var(--color-taupe-light)}.foto-section-text{font-family:var(--font-sans);font-size:1rem;font-weight:300;color:var(--color-taupe);line-height:1.8;margin-bottom:2rem}.foto-hint{font-size:.85rem;color:var(--color-taupe-light)}.foto-buttons{display:flex;justify-content:center;gap:1rem;flex-wrap:wrap;margin-bottom:1.5rem}.foto-btn{display:inline-flex;align-items:center;gap:.5rem;font-family:var(--font-sans);font-size:.9rem;font-weight:400;letter-spacing:.1em;padding:1rem 2rem;border:1px solid var(--color-taupe);cursor:pointer;transition:all .3s ease}.foto-btn:disabled{opacity:.5;cursor:not-allowed}.foto-btn-primary{background:var(--color-taupe);color:var(--color-cream);display:none}@media (pointer: coarse){.foto-btn-primary{display:inline-flex}}.foto-btn-primary:hover:not(:disabled){background:var(--color-taupe-dark)}.foto-btn-secondary{background:transparent;color:var(--color-taupe)}.foto-btn-secondary:hover:not(:disabled){background:var(--color-taupe);color:var(--color-cream)}.foto-icon{width:20px;height:20px}.foto-status{display:flex;align-items:center;justify-content:center;gap:.5rem;padding:1rem;border-radius:4px;font-family:var(--font-sans);font-size:.9rem}.foto-status-loading{color:var(--color-taupe);background:#8b73551a}.foto-status-error{color:#b44;background:#b444441a}.foto-status-success{color:#4a7;background:#44aa771a}.foto-spinner{width:20px;height:20px;animation:foto-spin 1s linear infinite}@keyframes foto-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.foto-gallery-section{background:linear-gradient(180deg,#f0ede6,#e8e4db);padding:4rem 2rem;min-height:50vh}.foto-gallery-content{max-width:1200px;margin:0 auto;text-align:center}.foto-empty{font-family:var(--font-serif);font-size:1.1rem;font-style:italic;color:var(--color-taupe-light);padding:3rem}.foto-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:1rem;margin-top:2rem}.foto-grid-item{position:relative;aspect-ratio:1;overflow:hidden;cursor:pointer;border-radius:4px;background:var(--color-cream)}.foto-thumbnail{width:100%;height:100%;object-fit:cover;transition:transform .3s ease}.foto-grid-item:hover .foto-thumbnail{transform:scale(1.05)}.foto-video-badge{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:50px;height:50px;background:#00000080;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-size:1.2rem;pointer-events:none}.foto-item-overlay{position:absolute;bottom:0;left:0;right:0;padding:.5rem;background:linear-gradient(transparent,#00000080);opacity:0;transition:opacity .3s ease}.foto-grid-item:hover .foto-item-overlay{opacity:1}.foto-item-time{font-family:var(--font-sans);font-size:.75rem;color:#fff}.foto-scroll-trigger{height:1px;margin-top:2rem}.foto-loading-more{display:flex;justify-content:center;padding:2rem}.foto-loading-more .foto-spinner{width:30px;height:30px;color:var(--color-taupe)}.foto-lightbox{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000e6;z-index:1000;display:flex;align-items:center;justify-content:center;padding:2rem}.foto-lightbox-close{position:absolute;top:1rem;right:1rem;background:none;border:none;color:#fff;font-size:2rem;cursor:pointer;padding:.5rem;line-height:1;opacity:.7;transition:opacity .3s ease}.foto-lightbox-close:hover{opacity:1}.foto-lightbox-content{max-width:90vw;max-height:90vh;display:flex;flex-direction:column;align-items:center}.foto-lightbox-media{max-width:100%;max-height:80vh;object-fit:contain}.foto-lightbox-info{display:flex;gap:2rem;margin-top:1rem;font-family:var(--font-sans);font-size:.85rem;color:#ffffffb3}.foto-footer{background:var(--color-cream);padding:4rem 2rem;text-align:center}.foto-footer-names{font-family:var(--font-serif);font-size:1.5rem;font-weight:300;color:var(--color-taupe);letter-spacing:.1em;margin-bottom:.5rem}.foto-footer-date{font-family:var(--font-sans);font-size:.9rem;font-weight:300;color:var(--color-taupe-light);letter-spacing:.2em}.foto-floral-divider{width:200px;margin:0 auto 2rem;color:var(--color-taupe)}.foto-floral-divider.small{width:120px;margin-bottom:1.5rem}.foto-floral-divider .floral-svg{width:100%;height:auto}@media (max-width: 768px){.foto-title{font-size:2.2rem}.foto-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:.5rem}.foto-buttons{flex-direction:column;align-items:stretch}.foto-btn{justify-content:center}}@media (max-width: 480px){.foto-hero{min-height:30vh}.foto-title{font-size:1.8rem}.foto-section-title{font-size:1.6rem}.foto-grid{grid-template-columns:repeat(2,1fr)}.foto-upload-section,.foto-gallery-section,.foto-footer{padding:3rem 1rem}}*{margin:0;padding:0;box-sizing:border-box}:root{--color-cream: #f5f3ef;--color-taupe: #8b7355;--color-taupe-light: #a89078;--color-taupe-dark: #6b5a47;--color-olive: #7a7a5e;--font-serif: "Cormorant Garamond", Georgia, serif;--font-sans: "Montserrat", sans-serif}html{font-size:16px}body{font-family:var(--font-sans);background-color:var(--color-cream);color:var(--color-taupe-dark);line-height:1.6;min-height:100vh}#root{min-height:100vh}html{scroll-behavior:smooth}
