:root{--ghr-cream:#faf7f2;--ghr-gold:#c9a96e;--ghr-gold-light:#e8d5b7;--ghr-gold-dark:#a0824a;--ghr-text:#4a3f35;--ghr-text-light:#8b7d6b;--ghr-white:#fff}html{scroll-behavior:smooth}body{background-color:var(--ghr-cream);font-family:Montserrat,sans-serif;overflow-x:hidden}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:var(--ghr-cream)}::-webkit-scrollbar-thumb{background:var(--ghr-gold-light);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--ghr-gold)}::selection{background:var(--ghr-gold-light);color:var(--ghr-text)}.hero-video-section{justify-content:center;align-items:center;width:100%;height:100vh;display:flex;position:relative;overflow:hidden}.hero-video-bg{object-fit:cover;z-index:1;width:100%;height:100%;position:absolute;top:0;left:0}.hero-video-overlay{z-index:2;background:linear-gradient(#faf7f21a 0%,#faf7f24d 50%,#faf7f2f2 100%);width:100%;height:100%;position:absolute;top:0;left:0}.hero-content{z-index:3;text-align:center;margin-top:-10vh;padding:0 20px;position:relative}.hero-subtitle{letter-spacing:6px;text-transform:uppercase;color:var(--ghr-white);text-shadow:0 2px 10px #0000004d;opacity:.9;margin-bottom:20px;font-family:Montserrat,sans-serif;font-size:11px}.hero-title{color:var(--ghr-white);text-shadow:0 4px 20px #0000004d;margin:0;font-family:Great Vibes,cursive;font-size:clamp(3rem,10vw,6rem);line-height:1.2}.hero-names{color:var(--ghr-white);text-shadow:0 2px 10px #0000004d;letter-spacing:3px;margin-top:15px;font-family:Cormorant Garamond,serif;font-size:clamp(1.2rem,3vw,1.8rem);font-weight:300}.scroll-indicator{z-index:3;text-align:center;color:var(--ghr-text-light);letter-spacing:3px;text-transform:uppercase;text-align:center;margin:0 auto;font-size:10px;animation:2s ease-in-out infinite gentleBounce;position:absolute;bottom:40px;left:50%;transform:translate(-50%)}.scroll-indicator i{color:var(--ghr-gold);text-align:center;margin:0 auto;font-size:14px;display:block}@keyframes gentleBounce{0%,to{transform:translate(-50%)translateY(0)}50%{transform:translate(-50%)translateY(-8px)}}.fade-in-up{opacity:0;transition:all .8s;transform:translateY(30px)}.fade-in-up.visible{opacity:1;transform:translateY(0)}.stagger-children>*{opacity:0;transition:all .6s;transform:translateY(20px)}.stagger-children.visible>:first-child{opacity:1;transition-delay:.1s;transform:translateY(0)}.stagger-children.visible>:nth-child(2){opacity:1;transition-delay:.2s;transform:translateY(0)}.stagger-children.visible>:nth-child(3){opacity:1;transition-delay:.3s;transform:translateY(0)}.stagger-children.visible>:nth-child(4){opacity:1;transition-delay:.4s;transform:translateY(0)}@keyframes heartBeat{0%,to{transform:scale(1)}14%{transform:scale(1.1)}28%{transform:scale(1)}42%{transform:scale(1.1)}70%{transform:scale(1)}}.heart-revealed{animation:1.5s ease-in-out heartBeat}@keyframes goldenShimmer{0%{background-position:-200%}to{background-position:200%}}.golden-shimmer{background:linear-gradient(90deg, var(--ghr-gold) 0%, var(--ghr-gold-light) 25%, var(--ghr-gold) 50%, var(--ghr-gold-light) 75%, var(--ghr-gold) 100%);-webkit-text-fill-color:transparent;background-size:200%;-webkit-background-clip:text;background-clip:text;animation:3s linear infinite goldenShimmer}@keyframes gentleFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.gentle-float{animation:3s ease-in-out infinite gentleFloat}.invitation-text-section{background:var(--ghr-cream);text-align:center;padding:50px 20px 40px;position:relative}.invitation-text-section:before{content:"";background:linear-gradient(to bottom, transparent, var(--ghr-cream));pointer-events:none;height:100px;position:absolute;top:-50px;left:0;right:0}.section-ornament{color:var(--ghr-gold);opacity:.6;margin-bottom:30px;font-size:24px}.invitation-title{color:var(--ghr-gold-dark);margin-bottom:30px;font-family:Great Vibes,cursive;font-size:clamp(2rem,6vw,3.5rem)}.invitation-body{color:var(--ghr-text);max-width:500px;margin:0 auto 20px;font-family:Cormorant Garamond,serif;font-size:clamp(1rem,2.5vw,1.25rem);font-weight:400;line-height:2}.guest-divider{background:var(--ghr-gold-light);width:60px;height:1px;margin:30px auto}.guest-name{color:var(--ghr-gold-dark);font-family:Great Vibes,cursive;font-size:clamp(1.5rem,4vw,2.2rem)}.scratch-section{background:linear-gradient(to bottom, var(--ghr-cream), var(--ghr-white));text-align:center;padding:35px 15px 25px}.scratch-label{letter-spacing:4px;text-transform:uppercase;color:var(--ghr-gold);margin-bottom:15px;font-family:Montserrat,sans-serif;font-size:9px}.scratch-title{color:var(--ghr-text);margin-bottom:40px;font-family:Cormorant Garamond,serif;font-size:clamp(1.2rem,3vw,1.6rem);font-style:italic;font-weight:400}.scratch-container{flex-wrap:wrap;justify-content:center;align-items:center;gap:25px;margin-bottom:40px;display:flex}.heart-scratch-container{justify-content:center;align-items:center;width:100px;height:100px;margin:0 5px;display:flex;position:relative}.heart-wrapper{width:60px;height:60px;position:relative;transform:rotate(45deg)}.heart-shape{background-color:var(--ghr-gold);z-index:2;position:absolute;inset:0}.heart-shape:before,.heart-shape:after{content:"";background-color:var(--ghr-gold);border-radius:50%;width:100%;height:100%;position:absolute}.heart-shape:before{top:-50%;left:0}.heart-shape:after{top:0;left:-50%}.hidden-value{z-index:1;color:var(--ghr-gold-dark);white-space:nowrap;pointer-events:none;font-family:Cormorant Garamond,serif;font-size:1.8rem;font-weight:700;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.hidden-value.month{text-transform:uppercase;letter-spacing:1px;font-size:.9rem}.scratch-overlay{z-index:3;position:absolute;inset:0}.scratch-canvas{z-index:10;cursor:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24'%3E%3Cpath fill='%23C9A96E' d='M12 21.35l-1.45-1.32C5.4 15.36 2 12.28 2 8.5 2 5.42 4.42 3 7.5 3c1.74 0 3.41.81 4.5 2.09C13.09 3.81 14.76 3 16.5 3 19.58 3 22 5.42 22 8.5c0 3.78-3.4 6.86-8.55 11.54L12 21.35z'/%3E%3C/svg%3E") 12 12,pointer;touch-action:none;width:100%;height:100%;position:absolute;top:0;left:0}.reveal-message{color:var(--ghr-gold-dark);opacity:0;font-family:Great Vibes,cursive;font-size:clamp(2rem,5vw,3rem);transition:all .8s;transform:translateY(20px)}.reveal-message.show{opacity:1;transform:translateY(0)}.countdown-section{background:var(--ghr-white);text-align:center;padding:40px 20px}.countdown-section .countdown-title{text-align:center;padding:10px 0;font-family:Montserrat,sans-serif}.countdown-label{letter-spacing:4px;text-transform:uppercase;color:var(--ghr-gold);margin-bottom:20px;font-family:Montserrat,sans-serif;font-size:9px}.timer-grid{grid-template-columns:repeat(4,1fr);gap:12px;max-width:400px;margin:0 auto;display:grid}.timer-box{background:var(--ghr-cream);border:1px solid var(--ghr-gold-light);text-align:center;border-radius:12px;padding:20px 10px}.timer-value{color:var(--ghr-gold-dark);font-family:Cormorant Garamond,serif;font-size:2rem;font-weight:600;line-height:1}.falling-hearts-container{pointer-events:none;z-index:100000;width:100%;height:100%;position:fixed;top:0;left:0;overflow:hidden}.falling-heart{color:var(--ghr-gold);opacity:.3;-webkit-user-select:none;user-select:none;animation:linear infinite falling;position:absolute;top:-20px}@keyframes falling{0%{opacity:0;transform:translateY(0)rotate(0)}10%{opacity:.4}90%{opacity:.4}to{opacity:0;transform:translateY(100vh)rotate(360deg)}}.invitation-container{background:linear-gradient(135deg, var(--ghr-cream), #fff);border:1px solid #c9a96e33;overflow:hidden}.hero-video-section{width:100%;height:65vh;position:relative;overflow:hidden}.hero-video-bg{object-fit:cover;filter:brightness(.8)contrast(1.1);width:100%;height:100%}.hero-content{padding-bottom:30px}.hero-title{color:#fff;text-shadow:0 2px 10px #0000004d;margin-bottom:10px;font-family:Great Vibes,cursive;font-size:3.5rem}.hero-subtitle{letter-spacing:5px;color:#ffffffe6;font-family:Montserrat,sans-serif;font-size:.8rem}.countdown-box{border:1px solid var(--ghr-gold-light);background:#fff;border-radius:15px;margin:30px 20px;padding:20px;box-shadow:0 10px 25px #c9a96e1a}.countdown-item span{color:var(--ghr-gold-dark);font-weight:600}.timer-label{text-transform:uppercase;letter-spacing:2px;color:var(--ghr-text-light);margin-top:8px;font-family:Montserrat,sans-serif;font-size:8px}.details-section{background:linear-gradient(to bottom, var(--ghr-white), var(--ghr-cream));padding:20px 10px}.detail-card{background:var(--ghr-white);border:1px solid var(--ghr-gold-light);text-align:center;border-radius:16px;margin-bottom:20px;padding:30px 20px;box-shadow:0 4px 20px #c9a96e14}.detail-icon{color:var(--ghr-gold);margin-bottom:15px;font-size:20px}.detail-card h3{color:var(--ghr-text);margin:0 0 5px;font-family:Cormorant Garamond,serif;font-size:1.3rem;font-weight:600}.detail-card .detail-time{color:var(--ghr-text-light);letter-spacing:2px;font-family:Montserrat,sans-serif;font-size:12px}.map-btn{background:var(--ghr-gold);color:var(--ghr-white);letter-spacing:2px;text-transform:uppercase;border:none;border-radius:25px;margin-top:20px;padding:10px 30px;font-family:Montserrat,sans-serif;font-size:10px;text-decoration:none;transition:all .3s;display:inline-block}.map-box{border-radius:12px;width:100%;height:200px;margin-top:20px;display:none;overflow:hidden}.map-box.active{animation:.5s fadeIn;display:block}@keyframes fadeIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.bottom-sections{background:var(--ghr-cream);padding:20px}#confetti-canvas{pointer-events:none;z-index:1000;width:100%;height:100%;position:fixed;top:0;left:0}@media (width<=375px){.hero-title{font-size:2.5rem!important}.invitation-title{font-size:1.8rem!important}.scratch-title{font-size:1rem!important}}@media (width<=400px){.scratch-container{gap:15px}.scratch-item{width:80px;height:80px}.scratch-heart-bg svg{width:75px;height:75px}.timer-grid{gap:8px}.timer-value{font-size:1.5rem}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.owner-section-scratch{text-align:center;padding-bottom:25px}.buttons-wrapper{justify-content:center;gap:12px;display:flex}.btn-custom{text-transform:uppercase;letter-spacing:1px;cursor:pointer;border:none;border-radius:12px;justify-content:center;align-items:center;padding:14px 20px;font-family:Montserrat,sans-serif;font-size:.8rem;font-weight:600;transition:all .3s cubic-bezier(.4,0,.2,1);display:flex}.btn-primary-custom{background:linear-gradient(135deg, var(--ghr-gold) 0%, var(--ghr-gold-dark) 100%);box-shadow:0 4px 15px #c9a96e4d;color:#fff!important}.btn-primary-custom:hover{transform:translateY(-2px);box-shadow:0 8px 25px #c9a96e66}.btn-outline-custom{border:1px solid var(--ghr-gold-light);background:0 0;color:var(--ghr-gold-dark)!important}.btn-outline-custom:hover{border-color:var(--ghr-gold);background:#c9a96e0d;transform:translateY(-2px)}.btn-outline-gold{color:var(--ghr-gold-dark);border:1px solid var(--ghr-gold-light);background:0 0;border-radius:50px;padding:8px 20px;font-family:Montserrat,sans-serif;font-size:.75rem;transition:all .3s}.btn-outline-gold:hover{background:var(--ghr-gold);color:#fff;border-color:var(--ghr-gold)}.public-registration-card{background:var(--ghr-white)!important;border:1px solid var(--ghr-gold-light)!important;border-radius:20px!important;box-shadow:0 10px 30px #c9a96e1a!important}.public-registration-card .card-header{background:linear-gradient(135deg, var(--ghr-gold) 0%, var(--ghr-gold-dark) 100%)!important;color:#fff!important;border:none!important}.public-registration-card .form-control,.public-registration-card .form-select{transition:all .3s;background-color:var(--ghr-cream)!important;border:1px solid #0000!important}.public-registration-card .form-control:focus,.public-registration-card .form-select:focus{border-color:var(--ghr-gold-light)!important;box-shadow:none!important;background-color:#fff!important}.calendar-section{margin-top:30px;padding-top:20px;border-top:1px solid #c9a96e33!important}.invitation-footer-enhanced{margin-top:40px}.premium-ticket-card{border:1px solid var(--ghr-gold-light);background:#fff;border-radius:20px;box-shadow:0 5px 20px #0000000d}.qr-premium-box{background:var(--ghr-cream);border-radius:15px;padding:15px;display:inline-block}@media (width<=480px){.buttons-wrapper{flex-direction:column}}
