html,body,#root{width:100%;min-height:100%}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#1a120b}:root{--ivory:#fff;--cream:#f5efe4;--champagne:#ede0cc;--gold:#d4af78;--brown:#6f5a45;--overlay:#0a060294;--card-bg:#0c080473;--card-border:#d4af7880;--shadow:0 8px 48px #00000073;--transition:.7s cubic-bezier(.4, 0, .2, 1)}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;font-size:16px}body{color:var(--ivory);-webkit-font-smoothing:antialiased;background:#1a120b;font-family:Cormorant Garamond,Georgia,serif;overflow-x:hidden}.intro-overlay{z-index:9999;opacity:1;background:#000;justify-content:center;align-items:center;transition:opacity 1s;display:flex;position:fixed;inset:0}.intro-overlay.fade-out{opacity:0;pointer-events:none}.intro-video{object-fit:cover;object-position:center;width:100%;height:100%;position:absolute;inset:0}.intro-overlay:not(.fade-out){cursor:pointer}.site-wrapper{width:100%;position:relative}.section{justify-content:center;align-items:center;min-height:100svh;padding:80px 24px;display:flex;position:relative;overflow:hidden}.section-bg{z-index:0;background-position:50%;background-size:cover;background-attachment:fixed;position:absolute;inset:0}.section-bg:after{content:"";background:var(--overlay);position:absolute;inset:0}.section>:not(.section-bg){z-index:1;position:relative}.fade-up{opacity:0;transition:opacity .9s,transform .9s;transform:translateY(40px)}.fade-up.visible{opacity:1;transform:translateY(0)}.hero-content .fade-up:first-child{transition-delay:.1s}.hero-content .fade-up:nth-child(2){transition-delay:.3s}.hero-content .fade-up:nth-child(3){transition-delay:.55s}.hero-content .fade-up:nth-child(4){transition-delay:.75s}.hero-section{text-align:center}.hero-content{flex-direction:column;align-items:center;gap:20px;display:flex}.pre-title{letter-spacing:.22em;text-transform:uppercase;color:var(--champagne);text-shadow:0 1px 8px #000c;font-family:Cormorant Garamond,serif;font-size:clamp(.85rem,2vw,1rem)}.couple-names{color:var(--ivory);text-shadow:0 2px 4px #000000e6,0 6px 32px #000000b3;letter-spacing:.02em;flex-direction:column;align-items:center;gap:4px;font-family:Playfair Display,Georgia,serif;font-size:clamp(3.5rem,14vw,9rem);font-weight:400;line-height:1;display:flex}.ampersand{color:var(--gold);filter:drop-shadow(0 2px 12px #c8a97e80);font-family:Great Vibes,cursive;font-size:clamp(3rem,10vw,7rem);line-height:1}.gold-divider{background:linear-gradient(90deg, transparent, var(--gold), transparent);width:140px;height:1px;margin:8px auto}.wedding-date{letter-spacing:.32em;text-transform:uppercase;color:var(--champagne);text-shadow:0 1px 8px #000000d9;font-family:Cormorant Garamond,serif;font-size:clamp(1rem,3vw,1.35rem);font-weight:300}.glass-card{background:var(--card-bg);border:1px solid var(--card-border);-webkit-backdrop-filter:blur(18px)saturate(1.2);text-align:center;width:100%;max-width:640px;box-shadow:var(--shadow), inset 0 1px 0 #f8f4ec1f;border-radius:4px;padding:clamp(40px,8vw,72px) clamp(32px,8vw,80px)}.section-title{color:var(--ivory);letter-spacing:.04em;text-shadow:0 2px 4px #000000f2,0 4px 20px #0009;margin-bottom:16px;font-family:Playfair Display,serif;font-size:clamp(2rem,6vw,3.5rem);font-weight:400}.gold-line{background:var(--gold);opacity:.8;width:60px;height:1px;margin:0 auto 28px}.section-body{color:var(--cream);letter-spacing:.04em;text-shadow:0 1px 6px #000c;font-family:Cormorant Garamond,serif;font-size:clamp(1.1rem,3vw,1.35rem);font-weight:400;line-height:1.85}.evening-section,.venue-section{text-align:center}.venue-content{background:var(--card-bg);border:1px solid var(--card-border);-webkit-backdrop-filter:blur(18px)saturate(1.2);width:100%;max-width:760px;box-shadow:var(--shadow);border-radius:4px;flex-direction:column;align-items:center;gap:0;padding:clamp(40px,8vw,64px) clamp(24px,6vw,64px) 0;display:flex;overflow:hidden}.venue-time{margin-bottom:36px}.map-wrapper{border-top:1px solid var(--card-border);width:100%;height:300px;margin-top:8px;overflow:hidden}.map-wrapper iframe{filter:grayscale(20%)sepia(10%);border:none;width:100%;height:100%;display:block}.soon-section,.thankyou-section{text-align:center}.thankyou-content{flex-direction:column;align-items:center;gap:16px;display:flex}.thankyou-accent{color:var(--gold);filter:drop-shadow(0 0 16px #c8a97e99);font-size:clamp(2rem,5vw,3rem);line-height:1;animation:3s ease-in-out infinite pulse-glow}@keyframes pulse-glow{0%,to{filter:drop-shadow(0 0 16px #c8a97e99)}50%{filter:drop-shadow(0 0 32px #c8a97ef2)}}.thankyou-text{color:var(--ivory);text-shadow:0 2px 4px #000000f2,0 6px 32px #000000b3;font-family:Great Vibes,cursive;font-size:clamp(4rem,14vw,9rem);font-weight:400;line-height:1}.thankyou-names{letter-spacing:.28em;text-transform:uppercase;color:var(--cream);text-shadow:0 1px 8px #000000d9;margin-top:8px;font-family:Cormorant Garamond,serif;font-size:clamp(1rem,2.5vw,1.25rem)}.music-btn{z-index:1000;border:1px solid var(--card-border);-webkit-backdrop-filter:blur(12px);width:52px;height:52px;color:var(--gold);cursor:pointer;background:#1e160ea6;border-radius:50%;justify-content:center;align-items:center;transition:transform .25s,background .25s,box-shadow .25s;display:flex;position:fixed;bottom:28px;right:28px;box-shadow:0 4px 24px #00000059}.music-btn svg{width:20px;height:20px}.music-btn:hover{background:#c8a97e33;transform:scale(1.1);box-shadow:0 6px 28px #c8a97e4d}.music-btn.playing:before{content:"";border:1px solid #0000;border-top-color:var(--gold);border-right-color:#c8a97e4d;border-radius:50%;animation:2.5s linear infinite spin;position:absolute;inset:-3px}@keyframes spin{to{transform:rotate(360deg)}}@media (width<=768px){.section-bg{background-attachment:scroll;background-position:50%!important;background-size:cover!important}.couple-names{gap:0}.glass-card,.venue-content{margin:0 4px}.map-wrapper{height:240px}.music-btn{width:46px;height:46px;bottom:20px;right:20px}}.music-btn:focus-visible{outline:2px solid var(--gold);outline-offset:3px}
