*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}:focus-visible{outline:2px solid var(--gold, #d4a574);outline-offset:2px}:root{--navy: #1a1a3e;--navy-light: #2a2a5e;--gold: #d4a574;--gold-light: #e8c9a0;--gold-glow: rgba(212, 165, 116, .15);--peach: #ffecd2;--peach-light: #fff5e9;--sand: #f5e6d3;--turquoise: #4ecdc4;--deep-blue: #1a535c;--coral: #ff6b6b;--white: #ffffff;--text: #2d2d2d;--text-light: #6b6b6b;--text-on-dark: #f0e8df;--font-display: "Cormorant Garamond", Georgia, serif;--font-body: "DM Sans", -apple-system, BlinkMacSystemFont, sans-serif;--section-padding: clamp(5rem, 10vw, 10rem);--container-max: 1100px;--container-padding: clamp(1.5rem, 4vw, 3rem);--glass-bg: rgba(255, 255, 255, .08);--glass-border: rgba(255, 255, 255, .15);--glass-bg-light: rgba(255, 255, 255, .85);--glass-border-light: rgba(212, 165, 116, .2)}html{scroll-behavior:smooth;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:var(--font-body);font-weight:400;line-height:1.7;color:var(--text);background:var(--navy);overflow-x:hidden}h1,h2,h3,h4{font-family:var(--font-display);font-weight:300;line-height:1.2}h2{font-size:clamp(2.8rem,6vw,4.5rem);color:var(--navy);letter-spacing:.02em}h3{font-size:clamp(1.5rem,3vw,2rem);color:var(--navy);margin-bottom:.75rem}p{font-size:clamp(1.05rem,1.8vw,1.2rem);color:var(--text-light);line-height:1.8}.container{max-width:var(--container-max);margin:0 auto;padding:0 var(--container-padding)}.reveal{opacity:0;transform:translateY(40px);transition:opacity .9s cubic-bezier(.16,1,.3,1),transform .9s cubic-bezier(.16,1,.3,1);transition-delay:var(--delay, 0s)}.reveal.visible{opacity:1;transform:translateY(0)}.glass.reveal,.glass-dark.reveal{transform:translateY(40px) scale(.96)}.glass.reveal.visible,.glass-dark.reveal.visible{transform:translateY(0) scale(1)}.section-header{text-align:center;margin-bottom:clamp(3rem,6vw,5rem)}.section-header.reveal{opacity:1;transform:none}.section-header.reveal>*{opacity:0;transform:translateY(20px);transition:opacity .6s cubic-bezier(.16,1,.3,1),transform .6s cubic-bezier(.16,1,.3,1)}.section-header.reveal.visible>*{opacity:1;transform:translateY(0)}.section-header.reveal.visible>*:nth-child(1){transition-delay:0s}.section-header.reveal.visible>*:nth-child(2){transition-delay:.15s}.section-header.reveal.visible>*:nth-child(3){transition-delay:.3s}.section-eyebrow{font-family:var(--font-body);font-size:.85rem;font-weight:500;letter-spacing:.2em;text-transform:uppercase;color:var(--gold);margin-bottom:.75rem}.section-subtitle{font-family:var(--font-display);font-size:clamp(1.1rem,2vw,1.4rem);font-style:italic;color:var(--text-light);margin-top:.75rem;max-width:500px;margin-left:auto;margin-right:auto}.section-ornament{position:absolute;top:0;left:50%;transform:translate(-50%);width:200px;color:var(--gold)}#hero-container{position:sticky;top:0;width:100%;height:100vh;min-height:600px;overflow:hidden;z-index:1}#hero-canvas{position:absolute;inset:0;width:100%;height:100%;display:block}#hero-overlay{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;z-index:10;pointer-events:none;padding:2rem;background:radial-gradient(ellipse 70% 55% at 50% 45%,rgba(0,0,0,.25) 0%,rgba(0,0,0,.12) 50%,transparent 100%)}#hero-overlay>*{pointer-events:auto}.hero-names{font-family:var(--font-display);font-size:clamp(3rem,8vw,6rem);font-weight:300;color:var(--white);letter-spacing:.05em;text-shadow:0 2px 30px rgba(0,0,0,.4),0 0px 60px rgba(26,26,62,.3);margin-bottom:.5rem;animation:heroNameReveal 2s cubic-bezier(.16,1,.3,1) .5s both}@keyframes heroNameReveal{0%{opacity:0;transform:translateY(30px) scale(.95);letter-spacing:.15em}to{opacity:1;transform:translateY(0) scale(1);letter-spacing:.05em}}@keyframes heroFadeUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.hero-tagline{font-family:var(--font-display);font-size:clamp(1.2rem,3vw,1.8rem);font-weight:300;font-style:italic;color:var(--peach);margin-bottom:.75rem;text-shadow:0 1px 10px rgba(0,0,0,.5),0 0 30px rgba(0,0,0,.3);animation:heroFadeUp 1.5s cubic-bezier(.16,1,.3,1) 1.2s both}.hero-location{font-family:var(--font-display);font-size:clamp(1.2rem,3vw,1.8rem);font-weight:300;font-style:italic;color:var(--peach);margin-bottom:2.5rem;text-shadow:0 1px 10px rgba(0,0,0,.5),0 0 30px rgba(0,0,0,.3);animation:heroFadeUp 1.5s cubic-bezier(.16,1,.3,1) 1.8s both}.hero-countdown{display:flex;gap:clamp(12px,3vw,24px);justify-content:center;margin-bottom:.75rem;animation:heroFadeUp 1.5s cubic-bezier(.16,1,.3,1) 1.5s both}.countdown-unit{display:flex;flex-direction:column;align-items:center;min-width:60px}.countdown-value{font-family:Cormorant Garamond,serif;font-size:clamp(1.8rem,4vw,2.8rem);font-weight:600;color:var(--white);line-height:1;text-shadow:0 2px 12px rgba(0,0,0,.5);font-variant-numeric:tabular-nums}.countdown-label{font-family:DM Sans,sans-serif;font-size:clamp(.6rem,1.2vw,.75rem);text-transform:uppercase;letter-spacing:.15em;color:#fff9;margin-top:4px}.countdown-separator{font-family:Cormorant Garamond,serif;font-size:clamp(1.4rem,3vw,2rem);color:#d4a57480;align-self:flex-start;margin-top:4px}.hero-ctas{display:flex;gap:1rem;flex-wrap:wrap;justify-content:center;animation:heroFadeUp 1.5s cubic-bezier(.16,1,.3,1) 2.2s both}.cta-primary{font-family:var(--font-body);font-size:1rem;font-weight:600;letter-spacing:.05em;padding:1rem 2.5rem;border:none;border-radius:50px;background:linear-gradient(135deg,var(--gold) 0%,#e8b878 50%,var(--gold) 100%);background-size:200% 200%;color:var(--navy);cursor:pointer;transition:all .4s cubic-bezier(.16,1,.3,1);text-transform:uppercase;box-shadow:0 4px 15px #d4a5744d,inset 0 1px #ffffff4d;position:relative}.cta-primary:after{content:"";position:absolute;inset:-2px;border-radius:52px;background:linear-gradient(135deg,rgba(212,165,116,.4),transparent,rgba(212,165,116,.2));z-index:-1;opacity:0;transition:opacity .4s ease}.cta-primary:hover{background-position:100% 100%;transform:translateY(-3px) scale(1.02);box-shadow:0 12px 35px #d4a57480,0 0 60px #d4a57426,inset 0 1px #fff6}.cta-primary:hover:after{opacity:1}.cta-primary:active{transform:translateY(-1px) scale(.98);box-shadow:0 4px 15px #d4a5744d}.cta-secondary{font-family:var(--font-body);font-size:1rem;font-weight:500;letter-spacing:.05em;padding:1rem 2.5rem;border:2px solid rgba(255,255,255,.5);border-radius:50px;background:#ffffff0f;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);color:var(--white);text-decoration:none;cursor:pointer;transition:all .4s cubic-bezier(.16,1,.3,1);text-transform:uppercase}.cta-secondary:hover{background:#ffffff26;border-color:var(--white);transform:translateY(-3px) scale(1.02);box-shadow:0 8px 30px #ffffff1a,0 0 40px #ffffff0d}.cta-secondary:active{transform:translateY(-1px) scale(.98)}.scroll-indicator{position:absolute;bottom:2rem;left:50%;transform:translate(-50%);pointer-events:none;animation:heroFadeUp 1.5s cubic-bezier(.16,1,.3,1) 2.8s both}.scroll-indicator span{display:block;width:26px;height:42px;border:2px solid rgba(255,255,255,.4);border-radius:13px;position:relative;animation:scrollBounce 3s ease-in-out infinite}.scroll-indicator span:after{content:"";position:absolute;top:6px;left:50%;width:4px;height:8px;background:var(--gold-light);border-radius:2px;transform:translate(-50%);animation:scrollDot 2s ease-in-out infinite}.scroll-indicator-text{display:block;font-family:var(--font-body);font-size:.7rem;letter-spacing:.15em;text-transform:uppercase;color:#fff6;margin-bottom:.5rem;text-align:center}@keyframes scrollDot{0%,to{opacity:1;transform:translate(-50%) translateY(0)}50%{opacity:.2;transform:translate(-50%) translateY(14px)}}@keyframes scrollBounce{0%,to{transform:translateY(0)}50%{transform:translateY(6px)}}#hero-transition{position:relative;height:25vh;margin-top:-1px;background:linear-gradient(to bottom,#14323c00,#14323c80 15%,#1a2337d9,#1a2337 55%,#2a2a4e 70%,#3d3050 82%,#5a4555 92%,#7a5a5a);pointer-events:none;z-index:5}#details{background:linear-gradient(to bottom,#8a6a60 0%,#b8967e 6%,#d4b49a 14%,#e8d0b8 24%,var(--peach-light) 40%)!important;padding-top:clamp(5rem,10vw,10rem)!important}#main-nav{position:fixed;top:0;width:100%;z-index:1000;padding:1rem 0;background:#1a1a3ef2;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-bottom:1px solid rgba(212,165,116,.2);transition:transform .4s ease,opacity .4s ease}#main-nav.nav-hidden{transform:translateY(-100%);opacity:0}#main-nav ul{list-style:none;display:flex;justify-content:center;gap:clamp(1rem,3vw,2.5rem);padding:0 1rem}#main-nav a{text-decoration:none;color:var(--text-on-dark);font-size:.85rem;font-weight:400;letter-spacing:.1em;text-transform:uppercase;transition:color .3s;white-space:nowrap}#main-nav a:hover,#main-nav a.active{color:var(--gold)}#sections{position:relative;z-index:10}.section{padding:var(--section-padding) 0;position:relative;background:var(--peach-light);overflow:hidden}.section:nth-child(2n){background:var(--white)}.section-dark{background:var(--navy)!important}.section-dark h2{color:var(--white)}.section-dark h3{color:var(--peach)}.section-dark .section-subtitle{color:var(--text-on-dark);opacity:.7}.section-dark .section-eyebrow{color:var(--gold-light)}.section-dark .coming-soon{color:var(--gold-light)!important}.details-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,420px),1fr));gap:2.5rem}.detail-card{position:relative;padding:clamp(2rem,4vw,3rem)}.glass{background:var(--white);border:1px solid rgba(212,165,116,.15);border-radius:20px;box-shadow:0 4px 30px #1a1a3e0a,0 1px 3px #1a1a3e0a;transition:transform .4s cubic-bezier(.16,1,.3,1),box-shadow .4s cubic-bezier(.16,1,.3,1)}.glass:hover{transform:translateY(-6px);box-shadow:0 20px 60px #1a1a3e14,0 4px 12px #1a1a3e0a}.glass-dark{background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:20px;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);transition:transform .4s cubic-bezier(.16,1,.3,1),box-shadow .4s cubic-bezier(.16,1,.3,1),border-color .4s ease}.glass-dark:hover{transform:translateY(-6px);border-color:#d4a5744d;box-shadow:0 20px 60px #0003}.card-icon{width:48px;height:48px;color:var(--gold);margin-bottom:1.5rem}.card-tag{display:inline-block;font-family:var(--font-body);font-size:.75rem;font-weight:500;letter-spacing:.15em;text-transform:uppercase;color:var(--gold);background:var(--gold-glow);padding:.35rem 1rem;border-radius:50px;margin-bottom:1rem}.detail-card h3{font-size:clamp(1.6rem,3vw,2.2rem);margin-bottom:.5rem}.card-date{font-weight:600;color:var(--gold)!important;margin-bottom:1.5rem;font-size:1.1rem!important}.card-timeline{margin-bottom:1.5rem;padding:1rem 0;border-top:1px solid rgba(212,165,116,.15);border-bottom:1px solid rgba(212,165,116,.15)}.timeline-item{display:flex;align-items:center;gap:1rem;padding:.5rem 0}.timeline-time{font-family:var(--font-body);font-size:.9rem;font-weight:600;color:var(--navy);min-width:60px}.timeline-event{font-family:var(--font-body);font-size:1rem;color:var(--text-light)}.card-venue-block{margin-top:1.5rem;padding-top:1rem}.card-venue{font-weight:600;color:var(--text)!important;font-size:1.1rem!important}.card-address{font-size:.95rem!important;color:var(--text-light)!important;line-height:1.6}.card-dresscode{margin-top:1rem;padding:.75rem 1.25rem;background:var(--gold-glow);border-radius:12px;font-weight:500;color:var(--gold)!important;font-style:italic;display:inline-block}.travel-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:2rem}.travel-card{padding:clamp(2rem,3vw,2.5rem)}.travel-icon{width:40px;height:40px;color:var(--gold);margin-bottom:1.5rem}.travel-card h3{font-size:clamp(1.4rem,2.5vw,1.8rem);margin-bottom:1.25rem}.travel-detail{margin-bottom:1rem}.travel-detail strong{font-size:.85rem;letter-spacing:.1em;text-transform:uppercase;color:var(--gold);display:block;margin-bottom:.25rem}.travel-detail p{color:var(--text-on-dark);font-size:1rem!important;opacity:.8}.travel-address{font-size:.9rem!important;opacity:.6!important;margin-top:.25rem}.travel-list{list-style:none;padding:0}.travel-list li{color:var(--text-on-dark);font-size:1rem;opacity:.8;padding:.4rem 0 .4rem 1.25rem;position:relative}.travel-list li:before{content:"";position:absolute;left:0;top:50%;width:6px;height:6px;border-radius:50%;background:var(--gold);transform:translateY(-50%)}.coming-soon{font-style:italic;color:var(--gold)!important;margin-top:1rem}.gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-auto-rows:200px;gap:1rem}.gallery-placeholder{border-radius:16px;overflow:hidden;position:relative;background:linear-gradient(135deg,var(--sand),var(--peach));border:1px solid rgba(212,165,116,.15)}.gallery-large{grid-column:span 2;grid-row:span 2}.gallery-wide{grid-column:span 2}.gallery-shimmer{position:absolute;inset:0;background:linear-gradient(110deg,transparent 25%,rgba(255,255,255,.4) 37%,transparent 63%);background-size:200% 100%;animation:shimmer 2.5s ease-in-out infinite}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.party-grid{display:grid;grid-template-columns:1fr auto 1fr;gap:2rem;align-items:start}.party-side{text-align:center}.party-side h3{font-size:clamp(1.6rem,3vw,2.2rem);color:var(--peach);margin-bottom:2rem}.party-members{display:flex;flex-direction:column;align-items:center;gap:1.5rem;margin-bottom:1.5rem}.party-member-placeholder{display:flex;flex-direction:column;align-items:center;gap:.75rem}.member-avatar{width:80px;height:80px;border-radius:50%;background:linear-gradient(135deg,#d4a57433,#d4a5741a);border:2px solid rgba(212,165,116,.2)}.member-name-placeholder{width:100px;height:14px;border-radius:7px;background:#d4a57426}.party-divider{display:flex;flex-direction:column;align-items:center;gap:1rem;padding-top:2rem}.divider-line{width:1px;height:60px;background:linear-gradient(to bottom,transparent,var(--gold),transparent)}.divider-heart{color:var(--gold);font-size:1.2rem;opacity:.6}.registry-card{max-width:600px;margin:0 auto;text-align:center;padding:clamp(2.5rem,5vw,4rem);background:var(--white);border:1px solid rgba(212,165,116,.15);border-radius:24px;box-shadow:0 4px 30px #1a1a3e0a}.registry-icon{width:64px;height:64px;margin:0 auto 2rem;color:var(--gold)}.registry-message{font-family:var(--font-display);font-size:clamp(1.3rem,2.5vw,1.6rem)!important;font-weight:400;color:var(--navy)!important;line-height:1.6!important;margin-bottom:1rem}.registry-submessage{font-size:1rem!important;color:var(--text-light)!important}.section-rsvp{background:linear-gradient(170deg,var(--navy) 0%,var(--navy-light) 100%)!important;position:relative;overflow:hidden}.section-rsvp:before{content:"";position:absolute;top:-50%;left:-20%;width:140%;height:200%;background:radial-gradient(ellipse 40% 30% at 30% 20%,rgba(212,165,116,.06) 0%,transparent 60%),radial-gradient(ellipse 35% 25% at 70% 80%,rgba(78,205,196,.04) 0%,transparent 60%);pointer-events:none}.section-rsvp h2{color:var(--white)}.section-rsvp .section-eyebrow{color:var(--gold-light)}.section-rsvp .section-subtitle{color:var(--text-on-dark);opacity:.7}.rsvp-container{max-width:640px;margin:0 auto;background:#ffffff0f;border:1px solid rgba(255,255,255,.1);border-radius:24px;padding:clamp(2rem,4vw,3rem);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);position:relative;box-shadow:0 8px 40px #00000026}.rsvp-container:before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,rgba(212,165,116,.4),transparent)}.rsvp-label{display:block;font-size:.85rem;font-weight:500;letter-spacing:.1em;text-transform:uppercase;color:var(--gold-light);margin-bottom:.75rem}.rsvp-search-row{display:flex;gap:1rem;flex-wrap:wrap}.rsvp-search input{flex:1;min-width:200px;padding:1rem 1.5rem;font-family:var(--font-body);font-size:1.05rem;border:2px solid rgba(255,255,255,.12);border-radius:14px;background:#ffffff0f;color:var(--white);transition:border-color .3s,background .3s;outline:none}.rsvp-search input::placeholder{color:#f0e8df66}.rsvp-search input:focus{border-color:var(--gold);background:#ffffff1a}.rsvp-search button,.rsvp-submit{padding:1rem 2rem;font-family:var(--font-body);font-size:1rem;font-weight:500;border:none;border-radius:14px;background:var(--gold);color:var(--navy);cursor:pointer;transition:all .3s;white-space:nowrap;letter-spacing:.03em}.rsvp-search button:hover,.rsvp-submit:hover{background:var(--gold-light);transform:translateY(-2px);box-shadow:0 8px 25px #d4a5744d}.rsvp-submit{width:100%;padding:1.1rem 2rem;font-size:1.05rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase;border-radius:14px;margin-top:.5rem}.form-group{margin-bottom:1rem}.rsvp-form input,.rsvp-form textarea{width:100%;padding:1rem 1.5rem;font-family:var(--font-body);font-size:1.05rem;border:2px solid rgba(255,255,255,.12);border-radius:14px;background:#ffffff0f;color:var(--white);outline:none;transition:border-color .3s,background .3s}.rsvp-form input::placeholder,.rsvp-form textarea::placeholder{color:#f0e8df66}.rsvp-form input:focus,.rsvp-form textarea:focus{border-color:var(--gold);background:#ffffff1a}.rsvp-form textarea{min-height:100px;resize:vertical}.search-message{margin:1.5rem 0;padding:1rem 1.5rem;border-radius:14px;text-align:center}.search-message.success{background:#4ecdc41f;color:var(--turquoise);border:1px solid rgba(78,205,196,.25)}.search-message.error{background:#ff6b6b1a;color:var(--coral);border:1px solid rgba(255,107,107,.25)}.party-header{text-align:center;margin:1.5rem 0 2rem}.party-header h3{color:var(--peach);font-size:clamp(1.4rem,3vw,1.8rem)}.party-header p{color:var(--text-on-dark);opacity:.6;font-size:.95rem!important}.party-member-card{margin:1rem 0;padding:1.5rem;background:#ffffff0f;border:1px solid rgba(255,255,255,.1);border-radius:16px}.party-member-name{font-family:var(--font-display);font-size:1.3rem;font-weight:500;margin-bottom:1rem;color:var(--white)}.ceremony-rsvp{margin-bottom:1rem}.ceremony-label{font-size:.9rem;font-weight:500;color:var(--gold-light);margin-bottom:.5rem}.attendance-options{display:flex;gap:.75rem}.attendance-btn{flex:1;padding:.875rem 1rem;font-family:var(--font-body);font-size:1rem;font-weight:500;min-height:48px;border:2px solid rgba(255,255,255,.15);border-radius:10px;background:#ffffff0a;color:var(--text-on-dark);cursor:pointer;transition:all .2s}.attendance-btn:hover{border-color:var(--gold);background:#d4a5741a}.attendance-btn.selected-yes{background:#4ecdc426;border-color:var(--turquoise);color:var(--turquoise)}.attendance-btn.selected-no{background:#ff6b6b1a;border-color:var(--coral);color:var(--coral)}footer{background:linear-gradient(180deg,var(--navy) 0%,#161636 100%);color:var(--text-on-dark);text-align:center;padding:clamp(4rem,8vw,6rem) 2rem;border-top:1px solid rgba(212,165,116,.1);position:relative;z-index:10}footer:before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,rgba(212,165,116,.3),transparent)}.footer-names{font-family:var(--font-display);font-size:clamp(1.8rem,4vw,2.5rem);font-weight:300;color:var(--white)!important;letter-spacing:.05em;margin-bottom:.5rem}.footer-date{font-size:1rem!important;color:var(--text-on-dark)!important;opacity:.6;margin-bottom:2rem}.footer-ornament{display:flex;align-items:center;justify-content:center;gap:1rem;margin-bottom:2rem}.footer-ornament span{display:block;width:6px;height:6px;border-radius:50%;background:var(--gold);opacity:.5}.footer-ornament span:nth-child(2){width:8px;height:8px;opacity:.7}.cta-footer{font-family:var(--font-body);font-size:.9rem;font-weight:500;letter-spacing:.05em;padding:.875rem 2rem;border:1px solid rgba(212,165,116,.4);border-radius:50px;background:transparent;color:var(--gold);cursor:pointer;transition:all .4s cubic-bezier(.16,1,.3,1);position:relative;overflow:hidden}.cta-footer:before{content:"";position:absolute;inset:0;border-radius:50px;background:linear-gradient(135deg,rgba(212,165,116,.15),transparent);opacity:0;transition:opacity .4s ease}.cta-footer:after{content:"";position:absolute;inset:-3px;border-radius:53px;background:conic-gradient(from 0deg,transparent,rgba(212,165,116,.3),transparent,rgba(212,165,116,.1),transparent);animation:footerGlow 4s linear infinite;opacity:0;transition:opacity .4s ease;z-index:-1}@keyframes footerGlow{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.cta-footer:hover{background:var(--gold);color:var(--navy);border-color:var(--gold);transform:translateY(-2px);box-shadow:0 8px 30px #d4a5744d}.cta-footer:hover:before{opacity:1}.cta-footer:hover:after{opacity:1}#game-container{position:fixed;inset:0;z-index:2000;background:#000;transition:opacity .5s ease}#game-container.game-hidden{display:none;opacity:0}#game-canvas{width:100%;height:100%;display:block}#game-ui{position:absolute;inset:0;pointer-events:none;z-index:2001}#game-ui>*{pointer-events:auto}@media(max-width:768px){body{font-size:1.05rem}p{font-size:1.1rem;line-height:1.9}h2{font-size:clamp(2.2rem,8vw,3rem)}h3{font-size:clamp(1.4rem,5vw,1.8rem)}#main-nav ul{gap:.75rem;flex-wrap:wrap;justify-content:center}#main-nav a{font-size:.75rem}.hero-ctas{flex-direction:column;align-items:center}.gallery-grid{grid-template-columns:repeat(2,1fr);grid-auto-rows:150px}.gallery-large{grid-column:span 2;grid-row:span 1}.gallery-wide{grid-column:span 2}.party-grid{grid-template-columns:1fr;gap:1rem}.party-divider{flex-direction:row;padding-top:0}.divider-line{width:60px;height:1px}.rsvp-search-row{flex-direction:column}.rsvp-search input,.rsvp-search button,.rsvp-form input,.rsvp-form textarea,.rsvp-submit{font-size:1.1rem;padding:1.1rem 1.5rem}.attendance-options{flex-direction:column}.attendance-btn{font-size:1.05rem;padding:1rem;min-height:52px}.detail-card h3{font-size:1.6rem}.card-date{font-size:1.1rem!important}.ceremony-label{font-size:1.05rem}.party-member-name{font-size:1.4rem}.section-ornament{display:none}}@media(prefers-reduced-motion:reduce){*{animation-duration:.01ms!important;transition-duration:.01ms!important}html{scroll-behavior:auto}.reveal{opacity:1;transform:none}.gallery-shimmer{animation:none}}
