html{scroll-behavior:smooth}html,body{margin:0;padding:0;overflow-x:hidden;font-family:Inter,sans-serif;background:#faf7f5;color:#333}img,iframe{max-width:100%;height:auto;display:block}header{min-height:100vh;width:100%;padding:2rem 1rem;background:linear-gradient(#0006,#0006),url(/images/WeddingCover.jpg) center/cover no-repeat;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;color:#fff}.header-logo{width:min(140px,35vw);margin-bottom:1rem;opacity:0;transform:translateY(16px);animation:logoReveal 1.4s ease-out forwards}header h1{font-family:Playfair Display,serif;font-size:clamp(2.2rem,6vw,5rem);margin:.5rem 0;line-height:1.1}header p{font-size:clamp(.9rem,2.5vw,1.1rem)}section{width:100%;padding:3rem 1.2rem;text-align:center}section:nth-of-type(2n){background:#dba3b114}section>*{max-width:900px;margin-left:auto;margin-right:auto}.section-divider{width:80px;height:2px;background:#dba3b1;margin:2rem auto;border-radius:2px}h2{font-family:Playfair Display,serif;font-size:clamp(1.6rem,4vw,2rem);color:#dba3b1;margin-bottom:1.5rem;margin-top:.3rem}.gallery{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:1rem;margin-top:2rem}.gallery img{width:100%;height:100%;object-fit:cover;border-radius:12px}.gallery img{transition:transform .4s ease}.gallery img:hover{transform:scale(1.03)}.image-container{max-width:700px;margin:0 auto}.image-container img{width:100%;border-radius:12px}.map-container{width:100%;max-width:900px;aspect-ratio:16 / 9;margin:2rem auto;border-radius:12px;overflow:hidden;box-shadow:0 10px 30px #0000001a}.map-container iframe{width:100%;height:100%;border:0}.map-link-container{text-align:center;margin-bottom:3rem}.tile{background:#fff;border-radius:12px;padding:1rem 2rem;text-decoration:none;color:#450011;box-shadow:0 10px 30px #4500111f;transition:transform .25s ease,box-shadow .25s ease;border:2px solid transparent}.tile:hover{transform:translateY(-6px);box-shadow:0 18px 40px #4500112e;border-color:#dba3b1}.tile:active,.tile:focus-visible{transform:translateY(-4px);box-shadow:0 14px 32px #4500112e;border-color:#dba3b1}footer{text-align:center;padding:2rem 1rem;font-size:.75rem;color:#5e5e5e}.footer-logo{width:min(150px,60vw);margin:0 auto}#countdown{font-size:1.2rem;margin-top:.5rem;font-weight:500}@keyframes logoReveal{to{opacity:1;transform:translateY(0)}}.top-nav{position:fixed;top:0;width:100%;background:#fffffff2;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;justify-content:center;gap:2rem;padding:1rem;z-index:999;box-shadow:0 2px 12px #00000014}.top-nav{position:fixed;top:0;width:100%;background:#fffffff2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);display:flex;justify-content:center;gap:2.5rem;padding:1rem 1.5rem;z-index:999;box-shadow:0 2px 12px #00000014}.top-nav a{position:relative;text-decoration:none;color:#450011;font-weight:500;letter-spacing:.5px;transition:transform .25s ease,color .25s ease}.top-nav a:hover{color:#dba3b1;transform:translateY(-2px)}.top-nav a:after{content:"";position:absolute;left:50%;bottom:-6px;width:0;height:2px;background:#dba3b1;transition:width .3s ease,left .3s ease}.top-nav a:hover:after{width:100%;left:0}@media(max-width:600px){.top-nav{gap:1rem;font-size:.9rem;padding:.8rem}}h2{position:relative;display:inline-block;transition:transform .3s ease}h2:after{content:"";position:absolute;left:50%;bottom:-6px;width:0;height:2px;background:#dba3b1;transition:width .3s ease,left .3s ease}h2:hover{transform:translateY(-4px)}h2:hover:after{width:100%;left:0}.scroll-top{position:fixed;bottom:28px;right:28px;width:56px;height:56px;border-radius:50%;border:none;cursor:pointer;background:#dba3b1;color:#fff;font-size:1.6rem;box-shadow:0 8px 25px #dba3b173;opacity:0;transform:translateY(20px) scale(.9);pointer-events:none;transition:opacity .35s ease,transform .35s ease,background .25s ease,box-shadow .25s ease}.scroll-top.visible{opacity:1;transform:translateY(0) scale(1);pointer-events:auto}.scroll-top:hover{background:#450011;transform:translateY(-4px) scale(1.05);box-shadow:0 12px 30px #45001173}.scroll-top:active{transform:scale(.95)}*,*:before,*:after{box-sizing:border-box}html,body,#root{margin:0;padding:0;width:100%;max-width:100%;overflow-x:hidden}body{font-family:Inter,sans-serif;background:#faf7f5;color:#333}#root{width:100%}
