:root{--primary-color:#4a6b4a;--primary-dark:#2b3f2b;--primary-light:#3f743f;--secondary-color:#666;--secondary-dark:#4d4d4d;--secondary-light:#808080;--background-color:#faf8f5;--background-alt:#f5f3f0;--white:#fff;--black:#000;--success:#27ae60;--success-light:#e8f5e9;--success-dark:#2e7d32;--error:#e74c3c;--error-light:#ffebee;--error-dark:#c62828;--warning:#f39c12;--warning-light:#fff3e0;--warning-dark:#ef6c00;--info:#3498db;--info-light:#e3f2fd;--info-dark:#1976d2;--border-color:#ddd;--border-light:#eee}@font-face{font-family:'Playfair Display';font-style:normal;font-weight:400;font-display:swap;src:url("../../fonts/playfair-display-400-tUnOGM4.woff2") format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:'Playfair Display';font-style:normal;font-weight:500;font-display:swap;src:url("../../fonts/playfair-display-500-bgysjnA.woff2") format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:'Playfair Display';font-style:normal;font-weight:600;font-display:swap;src:url("../../fonts/playfair-display-600-l_vgLHY.woff2") format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:'Playfair Display';font-style:normal;font-weight:700;font-display:swap;src:url("../../fonts/playfair-display-700-JjX4JUZ.woff2") format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:'Lato';font-style:normal;font-weight:300;font-display:swap;src:url("../../fonts/lato-300-kgbxK91.woff2") format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:'Lato';font-style:normal;font-weight:400;font-display:swap;src:url("../../fonts/lato-400-CzNc_Ij.woff2") format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:'Lato';font-style:normal;font-weight:700;font-display:swap;src:url("../../fonts/lato-700-5CmM-eX.woff2") format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:'Great Vibes';font-style:normal;font-weight:400;font-display:swap;src:url("../../fonts/great-vibes-58ItW7e.woff2") format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--primary-color:#4a6b4a;--primary-dark:#2b3f2b;--secondary-color:#666;--background-color:#faf8f5;--white:#fff;--black:#000;--success:#27ae60;--error:#e74c3c;--warning:#f39c12;--border-color:#ddd}*{margin:0;padding:0;box-sizing:border-box}#preloader{position:fixed;top:0;left:0;width:100%;height:100%;background:var(--white);z-index:99999;display:flex;align-items:center;justify-content:center;transition:opacity .5s ease,visibility .5s ease}#preloader.loaded{opacity:0;visibility:hidden}.preloader-inner{text-align:center}.preloader-icon{margin:10px}.preloader-heart{font-size:40px;color:red;animation:heartbeat 1.2s ease-in-out infinite}@keyframes heartbeat{0%,100%{transform:scale(1)}14%{transform:scale(1.15)}28%{transform:scale(1)}42%{transform:scale(1.15)}50%{transform:scale(1.1)}70%{transform:scale(1)}}.preloader-text{font-family:'Great Vibes',cursive;font-size:2rem;color:var(--secondary-color);letter-spacing:2px}.belle-navbar{position:fixed;top:0;left:0;right:0;z-index:1000;padding:20px 0;transition:all .3s ease}.belle-navbar.scrolled{background:rgba(255,255,255,0.98);box-shadow:0 2px 20px rgba(0,0,0,0.1);padding:15px 0}.belle-navbar-container{max-width:1400px;margin:0 auto;padding:0 30px;display:flex;align-items:center;justify-content:space-between}.belle-logo{font-family:'Great Vibes',cursive;font-size:1.8rem;color:var(--white);text-decoration:none;transition:color .3s ease}.belle-navbar.scrolled .belle-logo{color:var(--primary-color)}.belle-nav-menu{display:flex;list-style:none;gap:35px;margin:0;padding:0;align-items:center}.belle-nav-menu li a{color:var(--white);text-decoration:none;font-size:.85rem;font-weight:400;text-transform:uppercase;letter-spacing:2px;transition:all .3s ease;position:relative;padding:5px 0}.belle-nav-menu li a::after{content:'';position:absolute;bottom:0;left:0;width:0;height:1px;background:var(--primary-color);transition:width .3s ease}.belle-nav-menu li a:hover::after{width:100%}.belle-navbar.scrolled .belle-nav-menu li a{color:var(--secondary-color)}.belle-nav-btn{background:transparent !important;border:1px solid var(--white) !important;padding:10px 25px !important;border-radius:0 !important;transition:all .3s ease !important}.belle-nav-btn:hover{background:var(--primary-color) !important;border-color:var(--primary-color) !important;color:var(--white) !important}.belle-navbar.scrolled .belle-nav-btn{border-color:var(--primary-color) !important;color:var(--primary-color) !important}.belle-navbar.scrolled .belle-nav-btn:hover{background:var(--primary-color) !important;color:var(--white) !important}.belle-menu-toggle{display:none;flex-direction:column;gap:5px;background:rgba(0,0,0,0.3);border:none;cursor:pointer;padding:8px;border-radius:4px;z-index:1001;transition:background .3s ease}.belle-menu-toggle span{width:25px;height:2px;background:var(--white);transition:all .3s ease}.belle-navbar.scrolled .belle-menu-toggle{background:rgba(0,0,0,0.05)}.belle-navbar.scrolled .belle-menu-toggle:hover{background:rgba(0,0,0,0.1)}.belle-navbar.scrolled .belle-menu-toggle span{background:var(--secondary-color)}.belle-menu-toggle.active span:nth-child(1){transform:rotate(45deg) translate(5px,5px)}.belle-menu-toggle.active span:nth-child(2){opacity:0}.belle-menu-toggle.active span:nth-child(3){transform:rotate(-45deg) translate(5px,-5px)}.belle-header{position:relative;min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;overflow:hidden}.belle-header-bg{position:absolute;top:0;left:0;right:0;bottom:0;background-size:cover;background-position:center;background-attachment:fixed}@media (max-width:1024px){.belle-header-bg{background-attachment:scroll}}.belle-header-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,0.35)}.belle-header-content{position:relative;z-index:2;text-align:center;color:var(--white);padding:20px;margin-top:100px}.belle-location-label{display:block;font-size:.75rem;text-transform:uppercase;letter-spacing:4px;opacity:.8;margin-bottom:5px}.belle-location-city{font-family:'Playfair Display',serif;font-size:1.1rem;letter-spacing:3px}.belle-header-names{margin-bottom:40px}.belle-name{display:block;font-family:'Great Vibes',cursive;font-size:5rem;line-height:1.2;color:var(--white)}.belle-and{display:block;font-family:'Playfair Display',serif;font-size:1.5rem;font-style:italic;margin:10px 0;opacity:.9}.belle-header-date{display:flex;align-items:center;justify-content:center;gap:20px}.belle-date-text{font-size:1rem;text-transform:uppercase;letter-spacing:3px}.belle-date-day{font-family:'Playfair Display',serif;font-size:4rem;font-weight:400;line-height:1;border-left:1px solid rgba(255,255,255,0.5);border-right:1px solid rgba(255,255,255,0.5);padding:0 25px}.belle-countdown-wrapper{z-index:2;text-align:center}.belle-countdown{display:flex;gap:30px;margin-bottom:100px}.belle-countdown-item{text-align:center}.belle-countdown-number{display:block;font-family:'Playfair Display',serif;font-size:3rem;color:var(--white);line-height:1}.belle-countdown-label{font-size:.7rem;text-transform:uppercase;letter-spacing:2px;color:rgba(255,255,255,0.8)}.belle-wedding-day-message{text-align:center;margin-bottom:100px;animation:weddingDayPulse 3s ease-in-out infinite}.belle-wedding-day-message .wedding-day-emoji{font-size:2.5rem;margin-bottom:15px;animation:emojiFloat 2s ease-in-out infinite}.belle-wedding-day-message .wedding-day-title{font-family:'Playfair Display',serif;font-size:2.5rem;color:var(--white);text-shadow:2px 2px 10px rgba(0,0,0,0.3);margin-bottom:10px}.belle-wedding-day-message .wedding-day-wish{font-family:'Cormorant Garamond',serif;font-size:1.8rem;font-style:italic;color:rgba(255,255,255,0.95);text-shadow:1px 1px 8px rgba(0,0,0,0.3)}@keyframes weddingDayPulse{0%,100%{transform:scale(1)}50%{transform:scale(1.02)}}@keyframes emojiFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)}}.belle-scroll-down{position:absolute;bottom:30px;left:50%;transform:translateX(-50%);z-index:2}.belle-scroll-icon{display:block;width:24px;height:40px;border:2px solid rgba(255,255,255,0.5);border-radius:12px;position:relative}.belle-scroll-icon::before{content:'';position:absolute;top:8px;left:50%;transform:translateX(-50%);width:4px;height:8px;background:var(--white);border-radius:2px;animation:scrollIndicator 1.5s infinite}@keyframes scrollIndicator{0%{opacity:1;top:8px}100%{opacity:0;top:20px}}@media (max-width:992px){.belle-menu-toggle{display:flex}.belle-nav-menu{position:fixed;top:0;right:-100%;width:280px;height:100vh;background:var(--white);flex-direction:column;justify-content:center;gap:25px;transition:right .3s ease;box-shadow:-5px 0 20px rgba(0,0,0,0.1)}.belle-nav-menu.active{right:0}.belle-nav-menu li a{color:var(--secondary-color) !important;font-size:1rem}.belle-nav-btn{border-color:var(--primary-color) !important;color:var(--primary-color) !important}.belle-name{font-size:3.5rem}.belle-date-day{font-size:3rem}.belle-countdown{gap:15px}.belle-countdown-number{font-size:2rem}}@media (max-width:576px){.belle-name{font-size:2.5rem}.belle-and{font-size:1.2rem}.belle-header-date{flex-direction:column;gap:10px}.belle-date-day{border:none;border-top:1px solid rgba(255,255,255,0.5);border-bottom:1px solid rgba(255,255,255,0.5);padding-bottom:15px}.belle-countdown-number{font-size:1.5rem}.belle-countdown-label{font-size:.6rem}.belle-countdown-wrapper{bottom:80px}}.lazy-bg{background-color:#f0f0f0;opacity:0;transition:opacity .5s ease-in-out}.lazy-bg[style*="background-image"]{opacity:1}body{font-family:'Lato',sans-serif;background-color:var(--background-color);color:var(--white);line-height:1.6}h1,h2,h3,h4,h5,h6{font-family:'Playfair Display',serif;font-weight:500}a{color:var(--primary-color);text-decoration:none;transition:color .3s ease}a:hover{color:var(--primary-dark)}.container{max-width:1200px;margin:0 auto;padding:0 20px}.navbar{background:var(--white);box-shadow:0 2px 10px rgba(0,0,0,0.1);position:sticky;top:0;z-index:1000}.navbar .container{display:flex;justify-content:space-between;align-items:center;padding:20px 15px}.navbar-brand{font-family:'Playfair Display',serif;font-size:1.5rem;color:var(--secondary-color)}.navbar-nav{display:flex;list-style:none;gap:30px;align-items:center}.navbar-nav a{color:var(--secondary-color);font-weight:400;padding:8px 0;position:relative}.navbar-toggle{display:none;background:none;border:none;font-size:20px;cursor:pointer;color:var(--secondary-color)}.btn{display:inline-block;padding:12px 30px;border-radius:30px;font-weight:600;text-transform:uppercase;letter-spacing:1px;font-size:.9rem;cursor:pointer;transition:all .3s ease;border:none;text-align:center}.btn-primary{background:var(--primary-color);color:var(--white)}.btn-primary:hover{background:var(--primary-dark);color:var(--white)}.btn-secondary{background:var(--secondary-color);color:var(--white)}.btn-secondary:hover{background:#1a252f;color:var(--white)}.btn-outline{background:transparent;border:2px solid var(--primary-color);color:var(--primary-color)}.btn-outline:hover{background:var(--primary-color);color:var(--white)}.btn-sm{padding:8px 20px;font-size:.8rem}.form-group{margin-bottom:20px}.form-group label{color:var(--secondary-color)}.form-label{display:block;margin-bottom:8px;font-weight:600;color:var(--secondary-color)}.form-control{width:100%;padding:12px 16px;border:1px solid #ddd;border-radius:8px;font-size:1rem;font-family:inherit;transition:border-color .3s ease,box-shadow .3s ease}.form-control:focus{outline:none;border-color:var(--primary-color)}.form-control.is-invalid{border-color:var(--error)}.form-error{color:var(--error);font-size:.875rem;margin-top:5px}.form-help{color:var(--secondary-color);font-size:.875rem;margin-top:5px}textarea.form-control{resize:vertical;min-height:100px}.card{background:var(--white);border-radius:16px;box-shadow:0 4px 20px rgba(0,0,0,0.08);padding:30px;margin-bottom:20px}.card-title{font-size:1.5rem;margin-bottom:15px;color:var(--secondary-color)}.alert{padding:15px 20px;border-radius:8px;margin-bottom:20px}.alert-success{background:#d4edda;color:#155724;border:1px solid #c3e6cb}.alert-error{background:#f8d7da;color:#721c24;border:1px solid #f5c6cb}.alert-warning{background:#fff3cd;color:#856404;border:1px solid #ffeaa7}.alert-info{background:#d1ecf1;color:#0c5460;border:1px solid #bee5eb}.footer{background:var(--secondary-color);color:var(--white);padding:40px 0;margin-top:60px;text-align:center}.footer a{color:var(--primary-color)}.footer-hearts{font-size:1.5rem;margin-bottom:10px}.table{width:100%;border-collapse:collapse;margin-bottom:20px}.table th,.table td{padding:12px 15px;text-align:left;border-bottom:1px solid #eee}.table th{background:var(--primary-color);font-weight:600;color:var(--secondary-color)}.table tr:hover{background:#f9f9f9}.badge{display:inline-block;padding:4px 12px;border-radius:20px;font-size:.75rem;font-weight:600;text-transform:uppercase}.badge-success{background:#d4edda;color:#155724}.badge-warning{background:#fff3cd;color:#856404}.badge-danger{background:#f8d7da;color:#721c24}.badge-info{background:#d1ecf1;color:#0c5460}.text-center{text-align:center}.text-right{text-align:right}.mt-1{margin-top:10px}.mt-2{margin-top:20px}.mt-3{margin-top:30px}.mb-1{margin-bottom:10px}.mb-2{margin-bottom:20px}.mb-3{margin-bottom:30px}.d-flex{display:flex}.justify-between{justify-content:space-between}.align-center{align-items:center}.gap-1{gap:10px}.gap-2{gap:20px}@media (max-width:768px){.navbar-toggle{display:block}.navbar-nav{display:none;position:absolute;top:100%;left:0;right:0;background:var(--white);flex-direction:column;padding:20px;gap:15px;box-shadow:0 4px 10px rgba(0,0,0,0.1)}.navbar-nav.active{display:flex}.table{display:block;overflow-x:auto}.belle-header-content{margin-top:80px}}.hero{background:linear-gradient(135deg,var(--primary-color) 0,var(--background-color) 100%);padding:50px 20px;text-align:center;position:relative;overflow:hidden}.hero::before{content:'';position:absolute;top:0;left:0;right:0;bottom:0;background:url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cg fill='%23d4a574' fill-opacity='0.1'%3E%3Cpath d='M36 34v-4h-2v4h-4v2h4v4h2v-4h4v-2h-4zm0-30V0h-2v4h-4v2h4v4h2V6h4V4h-4zM6 34v-4H4v4H0v2h4v4h2v-4h4v-2H6zM6 4V0H4v4H0v2h4v4h2V6h4V4H6z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E");opacity:.5}.countdown{display:flex;justify-content:center;gap:30px;margin:40px 0;flex-wrap:wrap}.countdown-item{background:var(--white);padding:20px 30px;border-radius:16px;box-shadow:0 4px 20px rgba(0,0,0,0.1);min-width:100px}.countdown-number{font-size:3rem;font-weight:700;color:var(--primary-color);font-family:'Playfair Display',serif}.countdown-label{font-size:.9rem;color:var(--secondary-color);text-transform:uppercase;letter-spacing:1px}.section{padding:80px 20px}.section-title{text-align:center;font-size:2.5rem;margin-bottom:50px;color:var(--secondary-color)}.story-preview{max-width:800px;margin:0 auto;text-align:center}.story-preview p{font-size:1.2rem;line-height:1.8;color:var(--secondary-color);margin-bottom:30px}.testimonials{background:var(--primary-color)}.testimonial-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:30px;max-width:1000px;margin:0 auto}.testimonial-card{background:var(--white);padding:30px;border-radius:16px;box-shadow:0 4px 20px rgba(0,0,0,0.08)}.testimonial-text{font-style:italic;margin-bottom:20px;color:var(--white)}.testimonial-author{font-weight:600;color:var(--secondary-color)}.cta-section{text-align:center;padding:60px 20px;background:var(--secondary-color);color:var(--white)}.cta-section h2{margin-bottom:20px}.cta-section p{margin-bottom:30px;opacity:.9}.story-content{max-width:800px;margin:0 auto;padding:60px 20px}.story-content p{font-size:1.1rem;line-height:2;margin-bottom:30px;color:var(--white)}.story-quote{font-family:'Playfair Display',serif;font-size:1.5rem;font-style:italic;text-align:center;color:var(--primary-color);padding:40px;border-left:4px solid var(--primary-color);margin:40px 0;background:var(--primary-color);border-radius:0 16px 16px 0}.timeline{position:relative;max-width:800px;margin:60px auto;padding:0 20px}.timeline::before{content:'';position:absolute;left:50%;transform:translateX(-50%);width:3px;height:100%;background:var(--primary-color)}.timeline-item{position:relative;margin-bottom:40px;padding-left:55%}.timeline-item:nth-child(even){padding-left:0;text-align:right}.timeline-date{font-weight:700;color:var(--primary-color);margin-bottom:10px}.timeline-content{background:var(--white);padding:20px;border-radius:16px;box-shadow:0 4px 20px rgba(0,0,0,0.08)}.timeline-dot{position:absolute;left:50%;transform:translateX(-50%);width:20px;height:20px;background:var(--primary-color);border-radius:50%;border:4px solid var(--white);box-shadow:0 2px 10px rgba(0,0,0,0.2)}@media (max-width:768px){.timeline::before{left:20px}.timeline-item,.timeline-item:nth-child(even){padding-left:20px;text-align:left}.timeline-dot{left:20px}}.message-textarea{min-height:150px;resize:vertical}.public-toggle{margin-bottom:20px}.public-toggle strong{color:var(--secondary-color)}.alert-danger{background:#f8d7da;color:#721c24;border:1px solid #f5c6cb}@media (max-width:768px){.countdown-item{min-width:80px;padding:15px 20px}.countdown-number{font-size:2rem}}.main-logo,.our-story,.locations{height:300px}.guests-count-section{margin:20px 0;padding:20px;background:rgba(201,168,108,0.08);border-left:3px solid #c9a86c}.guests-count-section .form-group{margin-bottom:0}.guests-count-section .form-label{font-family:'Cormorant Garamond',serif;color:#5a4a3a;font-weight:600;font-size:1rem}.guests-count-section .form-control{max-width:200px;text-align:center;font-size:1.1rem;font-weight:600}.attendance-hint{font-family:'Cormorant Garamond',serif;font-size:.85rem;color:#8b7355;font-style:italic;text-align:center}.forever-countdown{display:flex;justify-content:center;align-items:center;gap:15px;margin:40px 0;margin-bottom:100px}.forever-countdown .countdown-item{background:rgba(255,255,255,0.1);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,0.2);padding:25px 20px;border-radius:10px;min-width:90px;box-shadow:none}.forever-countdown .countdown-number{font-family:'Playfair Display',serif;font-size:2.8rem;font-weight:400;color:var(--white)}.forever-countdown .countdown-label{font-size:.8rem;text-transform:uppercase;letter-spacing:2px;color:rgba(255,255,255,0.8)}.countdown-separator{font-size:2rem;color:var(--primary-color);font-weight:300}@keyframes bounce{0%,20%,50%,80%,100%{transform:translateY(0)}40%{transform:translateY(-10px)}60%{transform:translateY(-5px)}}.forever-nav{position:absolute;bottom:0;left:0;right:0;background:rgba(255,255,255,0.95);z-index:10;padding:0}.forever-nav .nav-menu{display:flex;justify-content:center;list-style:none;margin:0;padding:0}.forever-nav .nav-menu li a{display:block;padding:20px 30px;color:var(--secondary-color);text-decoration:none;font-size:.85rem;text-transform:uppercase;letter-spacing:2px;font-weight:600;transition:all .3s ease}.forever-nav .nav-menu li a:hover{background:var(--primary-color);color:var(--white)}.forever-section{padding:100px 20px}.section-header{text-align:center;margin-bottom:60px}.section-title-forever{font-family:'Playfair Display',serif;font-size:2.8rem;color:var(--secondary-color);margin-bottom:15px;font-weight:400}.title-ampersand{color:var(--primary-color)}.section-subtitle{font-size:1.1rem;color:var(--secondary-color);font-style:italic}.couple-section{background:var(--background-color)}.couple-grid{display:flex;justify-content:center;align-items:center;gap:60px;flex-wrap:wrap}.couple-card{text-align:center;max-width:350px}.couple-photo-wrapper{position:relative;width:280px;height:280px;margin:0 auto 25px}.couple-photo{width:100%;height:100%;border-radius:50%;background-size:cover;background-position:center;border:5px solid var(--white);box-shadow:0 10px 40px rgba(0,0,0,0.15);transition:transform .3s ease}.couple-photo:hover{transform:scale(1.05)}.couple-name{font-family:'Playfair Display',serif;font-size:2rem;color:var(--secondary-color);margin-bottom:5px}.couple-role{font-size:1rem;color:var(--primary-color);text-transform:uppercase;letter-spacing:3px;font-weight:600}.couple-heart{display:flex;align-items:center;justify-content:center;margin-top:-150px}.heart-icon{font-size:3rem;animation:heartbeat 1.5s infinite}.btn-forever{display:inline-block;padding:15px 40px;background:transparent;color:var(--primary-color);text-decoration:none;text-transform:uppercase;letter-spacing:2px;font-size:.9rem;font-weight:700;border-radius:0;transition:all .3s ease;border:2px solid var(--primary-color)}.btn-forever:hover{background:var(--primary-color);color:var(--white)}.testimonial-slider{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:30px;max-width:1000px;margin:0 auto}.testimonial-item{background:var(--secondary-color);padding:40px 30px;border-radius:10px;text-align:center}.testimonial-quote{font-family:'Playfair Display',serif;font-size:4rem;color:var(--primary-color);line-height:1;margin-bottom:10px}.testimonial-item .testimonial-text{font-size:1.1rem;line-height:1.8;margin-bottom:20px;font-style:italic;color:rgba(255,255,255,0.9)}.testimonial-item .testimonial-author{color:var(--primary-color);font-weight:600}.forever-footer{background:#1a1a2e;color:var(--white);padding:60px 20px;text-align:center}.footer-content{max-width:600px;margin:0 auto}.footer-names{font-family:'Playfair Display',serif;font-size:2rem;margin-bottom:10px}.footer-date{font-size:1.2rem;color:var(--primary-color);margin-bottom:20px}.footer-hearts{font-size:1.5rem;margin-bottom:20px}.footer-credit{font-size:.9rem;opacity:1;letter-spacing:2px;color:rgba(255,255,255,0.85)}.footer-credit a{color:#ffb84d;text-decoration:underline;text-underline-offset:3px}@media (max-width:992px){.forever-countdown .countdown-item{min-width:70px;padding:15px 12px}.forever-countdown .countdown-number{font-size:2rem}.couple-grid{gap:40px}.couple-photo-wrapper{width:220px;height:220px}}@media (max-width:768px){.forever-countdown{flex-wrap:wrap;gap:10px}.countdown-separator{display:none}.forever-countdown .countdown-item{min-width:60px;padding:12px 10px}.forever-countdown .countdown-number{font-size:1.5rem}.forever-nav .nav-menu{flex-wrap:wrap}.forever-nav .nav-menu li a{padding:15px 20px;font-size:.75rem}.section-title-forever{font-size:2rem}.couple-grid{flex-wrap:unset}.couple-heart{display:none}.forever-section{padding:60px 20px}}@media (max-width:480px){.forever-countdown .countdown-item{min-width:55px;padding:10px 8px}.couple-photo-wrapper{width:180px;height:180px}.couple-name{font-size:1.5rem}}.story-page-section{background:var(--background-color)}.story-full-content{max-width:800px;margin:0 auto;text-align:center}.story-full-content p{font-size:1.15rem;line-height:1.9;color:var(--white);margin-bottom:25px}.story-quote{font-family:'Playfair Display',serif;font-size:1.5rem;font-style:italic;color:var(--primary-color);padding:30px;margin:30px 0;border-left:3px solid var(--primary-color)}.story-hero{position:relative;height:60vh;min-height:400px;background-color:var(--secondary-color);background-size:cover;background-position:0 20%;background-repeat:no-repeat;background-attachment:fixed;display:flex;align-items:center;justify-content:center}@media (max-width:1024px){.story-hero{background-attachment:scroll}}.story-hero-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(to bottom,rgba(0,0,0,0.4),rgba(0,0,0,0.6))}.story-hero-content{position:relative;z-index:2;text-align:center;color:var(--white);padding:20px}.story-hero-label{display:inline-block;font-size:.9rem;letter-spacing:4px;text-transform:uppercase;margin-bottom:15px;color:var(--primary-color)}.story-hero-title{font-family:'Playfair Display',serif;font-size:3rem;font-weight:600;margin-bottom:20px;text-shadow:2px 2px 4px rgba(0,0,0,0.3)}.story-hero-subtitle{font-size:1.3rem;font-style:italic;opacity:.9}.story-intro-text{max-width:900px;margin:40px auto 0;text-align:center}.story-intro-description{font-size:1.2rem;line-height:2;color:var(--secondary-color);margin-bottom:25px}.love-timeline{position:relative;max-width:1000px;margin:60px auto 0}.timeline-line{position:absolute;left:50%;top:0;bottom:0;width:3px;background:linear-gradient(to bottom,var(--primary-color),var(--primary-color));transform:translateX(-50%);z-index:1}.timeline-item{position:relative;width:45%;padding:30px;margin-bottom:60px;z-index:2}.timeline-left{margin-right:auto;text-align:right}.timeline-right{margin-left:auto;text-align:left}.timeline-icon{position:absolute;width:60px;height:60px;background:var(--white);border:3px solid var(--primary-color);border-radius:50%;display:flex;align-items:center;justify-content:center;z-index:3;box-shadow:0 5px 15px rgba(0,0,0,0.1);transition:all .3s ease}.timeline-icon span{font-size:1.5rem}.timeline-left .timeline-icon{right:-80px;top:30px}.timeline-right .timeline-icon{left:-80px;top:30px}.timeline-item:hover .timeline-icon{transform:scale(1.1);background:var(--primary-color)}.timeline-icon-special{background:var(--primary-color) !important;border-color:var(--primary-dark) !important;width:70px;height:70px}.timeline-icon-special span{font-size:1.8rem}.timeline-content{background:var(--white);padding:30px;border-radius:15px;box-shadow:0 10px 30px rgba(0,0,0,0.08);transition:all .3s ease}.timeline-content p{color:var(--secondary-color)}.timeline-item:hover .timeline-content{transform:translateY(-5px);box-shadow:0 15px 40px rgba(0,0,0,0.12)}.timeline-highlight .timeline-content{background:linear-gradient(135deg,var(--white),rgba(212,165,116,0.1));border:2px solid var(--primary-color)}.timeline-date{display:inline-block;font-size:.85rem;font-weight:700;color:var(--primary-color);text-transform:uppercase;letter-spacing:2px;margin-bottom:10px}.timeline-title{font-family:'Playfair Display',serif;font-size:1.5rem;color:var(--secondary-color);margin-bottom:15px}.timeline-description{font-size:1rem;line-height:1.8;color:var(--secondary-color);margin-bottom:20px}.story-quote-section{position:relative;padding:120px 0;background:var(--secondary-color) center center / cover no-repeat}.second-story-quote-section{position:relative;padding:120px 0;background:var(--secondary-color) center center / cover no-repeat}.story-quote-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background:rgba(44,62,80,0.85)}.story-quote-content{position:relative;z-index:2;text-align:center;max-width:800px;margin:0 auto;color:var(--white)}.quote-icon{font-family:'Playfair Display',serif;font-size:6rem;line-height:1;color:var(--background-color);opacity:.6}.story-blockquote{font-family:'Playfair Display',serif;font-size:2rem;font-style:italic;line-height:1.6;margin:20px 0}.quote-author{font-size:1rem;color:var(--background-color);font-style:normal;letter-spacing:2px}@media (max-width:992px){.story-intro-text{padding:0 20px}.timeline-line{left:30px}.timeline-item{width:calc(100% - 80px);margin-left:80px;text-align:left}.timeline-left,.timeline-right{margin-left:80px;margin-right:0}.timeline-left .timeline-icon,.timeline-right .timeline-icon{left:-80px;right:auto}}@media (max-width:768px){.story-hero{height:50vh;min-height:350px}.story-hero-title{font-size:2.5rem}.story-hero-subtitle{font-size:1.1rem}.story-intro-description{font-size:1.1rem}.timeline-item{padding:20px}.timeline-content{padding:20px}.timeline-title{font-size:1.3rem}.story-blockquote{font-size:1.5rem}}@media (max-width:480px){.story-hero-title{font-size:2rem}.story-hero-label{font-size:.8rem;letter-spacing:2px}.story-intro-description{font-size:1rem}.timeline-item{width:calc(100% - 60px);margin-left:60px}.timeline-left .timeline-icon,.timeline-right .timeline-icon{left:-60px;width:50px;height:50px}.timeline-icon span{font-size:1.2rem}.timeline-line{left:25px}.btn-forever{width:100%;max-width:280px}}.locations-page-section{background:var(--background-color);padding-bottom:40px}.btn-forever.btn-sm{padding:10px 25px;font-size:.8rem}.locations-grid{padding-top:20px}.success-message{width:100%;padding:40px 20px;text-align:center;animation:slideIn .5s ease-out}@keyframes slideIn{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.success-content{background:linear-gradient(135deg,#f5f0e8 0,#fdf8f3 100%);border:2px solid #c9a86c;border-radius:10px;padding:40px 30px;max-width:500px;margin:0 auto}.success-icon{font-size:4rem;margin-bottom:20px;display:block}.success-message-text{font-family:'Cormorant Garamond',serif;font-size:1.5rem;color:#2d4a2d;margin:15px 0;font-weight:500}.success-subtext{font-family:'Lora',serif;font-size:1.1rem;color:#666;margin-top:10px;font-style:italic}.music-controls{position:fixed;bottom:20px;right:20px;z-index:1000;display:flex;gap:8px}.music-btn{width:45px;height:45px;border-radius:50%;border:2px solid var(--primary-color);background:#fdf8f3;box-shadow:0 4px 12px rgba(0,0,0,0.1);cursor:pointer;font-size:1.1rem;display:flex;align-items:center;justify-content:center;transition:all .3s ease;color:#5a4a3a}.music-btn:hover{transform:scale(1.1)}.music-btn.active{background:var(--primary-color);color:#fdf8f3}.envelope-container{position:fixed;top:0;left:0;width:100%;height:100%;display:flex;flex-direction:column;justify-content:center;align-items:center;background:linear-gradient(135deg,#fdf8f3 0,#f5e6d3 100%);z-index:100;transition:opacity .8s ease,visibility .8s ease}.envelope-container.hidden{opacity:0;visibility:hidden;pointer-events:none}.floating-element{position:fixed;font-size:2rem;opacity:0;will-change:transform;pointer-events:none}@keyframes floatUp{0%{opacity:0;transform:translateY(100vh) translateX(0) scale(1)}10%{opacity:1}90%{opacity:1}100%{opacity:0;transform:translateY(-100vh) translateX(var(--tx)) scale(.5)}}.floating-element.animate{animation:floatUp 3s ease-in forwards}.envelope-wrapper{perspective:1000px}.envelope{position:relative;width:320px;height:220px;cursor:pointer;transform-style:preserve-3d}.envelope-back{position:absolute;width:100%;height:100%;background:linear-gradient(180deg,#c9a86c 0,#b8956a 100%);border-radius:0 0 8px 8px;box-shadow:0 15px 50px rgba(0,0,0,0.2)}.envelope-front{position:absolute;width:100%;height:100%;background:linear-gradient(180deg,#e8d5c4 0,#dcc4b0 100%);border-radius:0 0 8px 8px;clip-path:polygon(0 30%,50% 60%,100% 30%,100% 100%,0 100%);z-index:5}.envelope-flap{position:absolute;width:100%;height:60%;top:0;background:linear-gradient(180deg,#c9a86c 0,#b8956a 100%);clip-path:polygon(0 0,50% 100%,100% 0);transform-origin:top center;transition:transform .6s cubic-bezier(.4,0,.2,1);z-index:3}.envelope.opening .envelope-flap{transform:rotateX(-180deg);z-index:2}.envelope-seal{position:absolute;width:60px;height:60px;background:radial-gradient(circle at 30% 30%,#d4a574,#9a7a55);border-radius:50%;top:50%;left:50%;transform:translate(-50%,-50%);z-index:6;display:flex;align-items:center;justify-content:center;font-size:1.5rem;box-shadow:0 3px 15px rgba(0,0,0,0.2);transition:all .3s ease;border:2px solid rgba(255,255,255,0.5)}.envelope:hover .envelope-seal{transform:translate(-50%,-50%) scale(1.1)}.envelope.opening .envelope-seal{opacity:0;transform:translate(-50%,-50%) scale(0)}.letter{position:absolute;width:90%;height:85%;left:5%;top:10%;background:#fdf8f3;border-radius:4px;box-shadow:0 2px 15px rgba(0,0,0,0.1);z-index:2;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:20px;transform:translateY(0);transition:transform .8s cubic-bezier(.4,0,.2,1) .3s;border:1px solid rgba(201,168,108,0.3)}.envelope.opening .letter{transform:translateY(-150px);z-index:3}.letter-hearts{font-size:1.8rem;margin-bottom:10px}.letter-names{font-family:'Great Vibes',cursive;font-size:2rem;color:#5a4a3a;text-align:center}.letter-date{font-family:'Cormorant Garamond',serif;font-size:1.2rem;color:#8b7355;margin-top:8px}.tap-hint{margin-top:25px;font-family:'Cormorant Garamond',serif;color:#8b7355;font-size:1.1rem;animation:fadeInUp 1s ease 1s forwards,pulse 2s ease-in-out infinite 2s}@keyframes fadeInUp{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse{0%,100%{opacity:.5}50%{opacity:1}}.rsvp-page{min-height:100vh;background:#fdf8f3;padding:0;overflow-x:hidden;position:relative}.invitation-card{max-width:650px;margin:0 auto;background:#fdf8f3;position:relative;min-height:100vh;padding:20px}.invitation-inner{position:relative;background:#fff;padding:80px 50px 60px;min-height:calc(100vh - 40px);display:flex;flex-direction:column;box-shadow:0 10px 40px rgba(0,0,0,0.08);border:2px solid #c9a86c;overflow:hidden}.rsvp-content{opacity:0;visibility:hidden;transition:opacity .8s ease,visibility .8s ease}.rsvp-content.visible{opacity:1;visibility:visible}.back-link{text-align:center;margin-top:25px;padding-bottom:30px}@media (max-width:600px){.envelope{width:280px;height:190px}}.locations-grid{display:grid;gap:40px;max-width:1000px;margin:0 auto;padding:60px 20px}.location-card{background:var(--white);border-radius:20px;overflow:hidden;box-shadow:0 4px 30px rgba(0,0,0,0.1);display:grid;grid-template-columns:1fr 1fr}.location-card:nth-child(even){direction:rtl}.location-card:nth-child(even)>*{direction:ltr}.location-icon{display:flex;align-items:center;justify-content:center;font-size:6rem;min-height:300px;background-position:center;background-size:cover}.location-content{padding:40px;display:flex;flex-direction:column;justify-content:center}.location-label{font-size:.9rem;text-transform:uppercase;letter-spacing:2px;color:var(--primary-color);margin-bottom:10px;font-weight:600}.location-name{font-size:1.8rem;color:var(--secondary-color);margin-bottom:15px}.location-time{font-size:1.2rem;font-weight:600;color:var(--primary-color);margin-bottom:15px}.location-address{color:var(--secondary-color);margin-bottom:15px;line-height:1.6}.invitation-status{padding:12px 20px;text-align:center;font-family:'Cormorant Garamond',serif;font-size:.95rem;font-weight:500}.invitation-status.pending{background:rgba(255,193,7,0.1);color:#f57c00;border-left:3px solid #f57c00}.invitation-status.confirmed{background:rgba(45,80,22,0.1);color:#2d5016;border-left:3px solid #2d5016}.invitation-status.declined{background:rgba(139,74,74,0.1);color:#8b4a4a;border-left:3px solid #8b4a4a}@media (max-width:768px){.location-card{grid-template-columns:1fr}.location-card:nth-child(even){direction:ltr}.location-icon{min-height:200px;font-size:4rem}.checkin-location-box .location-icon{min-height:0}}body.error-page{background:linear-gradient(135deg,#faf8f5 0,#fff 100%);min-height:100vh;display:flex;flex-direction:column}body.error-page main{flex:1;display:flex;align-items:center;justify-content:center}.error-section{padding:60px 20px;min-height:calc(100vh - 200px);display:flex;align-items:center;justify-content:center}.error-content{text-align:center;max-width:600px;margin:0 auto;animation:fadeInUp .6s ease-out}@keyframes fadeInUp{from{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.error-icon{margin-bottom:30px;animation:heartbeat 1.5s ease-in-out infinite}.error-heart{font-size:5rem;display:inline-block}.error-title{font-family:'Playfair Display',serif;font-size:8rem;font-weight:700;color:var(--primary-color);margin:0 0 20px 0;line-height:1;text-shadow:2px 2px 4px rgba(0,0,0,0.1)}.error-subtitle{font-family:'Playfair Display',serif;font-size:2rem;font-weight:600;color:var(--secondary-color);margin:0 0 20px 0}.error-description{font-family:'Cormorant Garamond',serif;font-size:1.2rem;color:var(--secondary-color);margin-bottom:40px;line-height:1.6}.error-actions{display:flex;gap:20px;justify-content:center;flex-wrap:wrap}.error-btn{display:inline-flex;align-items:center;justify-content:center;padding:15px 40px;border-radius:50px;font-family:'Cormorant Garamond',serif;font-size:1.1rem;font-weight:600;text-decoration:none;transition:all .3s ease;cursor:pointer;text-transform:uppercase;letter-spacing:1px}.error-btn-primary{background:var(--primary-color);color:var(--white)}.error-btn-primary:hover{background:var(--primary-dark);color:var(--white);transform:translateY(-2px)}.error-btn-secondary{background:transparent;color:var(--secondary-color);border:2px solid var(--secondary-color)}.error-btn-secondary:hover{background:var(--secondary-color);color:var(--white);transform:translateY(-2px)}@media (max-width:768px){.error-title{font-size:5rem}.error-subtitle{font-size:1.5rem}.error-description{font-size:1rem}.error-heart{font-size:3.5rem}.error-btn{width:100%;max-width:300px}}.form-group li{color:red;font-weight:900}.form-hint{color:var(--secondary-color)}.footer-legal-links{margin-bottom:15px;font-size:.85rem}.footer-legal-links a{color:rgba(255,255,255,0.7);text-decoration:none;transition:color .3s ease}.footer-legal-links a:hover{color:var(--primary-color)}.footer-separator{color:rgba(255,255,255,0.4);margin:0 10px}.footer-copyright{font-size:.8rem;color:rgba(255,255,255,0.6);margin-bottom:10px}.legal-hero{position:relative;height:300px;background:linear-gradient(135deg,#1a1a2e 0,#16213e 100%);display:flex;align-items:center;justify-content:center;text-align:center;color:var(--white);overflow:hidden}.legal-hero-overlay{position:absolute;top:0;left:0;width:100%;height:100%;background:url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100"><circle cx="50" cy="50" r="1" fill="rgba(255,255,255,0.1)"/></svg>') repeat;opacity:.5}.legal-hero-content{position:relative;z-index:1;padding:20px}.legal-hero-title{font-family:'Playfair Display',serif;font-size:2.5rem;margin-bottom:10px}.legal-hero-subtitle{font-size:1.1rem;opacity:.8}.legal-content{padding:60px 20px;background:var(--background-color)}.legal-card{max-width:900px;margin:0 auto;background:var(--white);border-radius:12px;padding:40px;box-shadow:0 4px 20px rgba(0,0,0,0.08)}.legal-update{font-size:.9rem;color:var(--secondary-color);margin-bottom:30px;padding-bottom:20px;border-bottom:1px solid var(--border-color)}.legal-section{margin-bottom:30px}.legal-section h2{font-family:'Playfair Display',serif;font-size:1.5rem;color:#1a1a2e;margin-bottom:15px}.legal-section h3{font-size:1.1rem;color:#333;margin:20px 0 10px}.legal-section p{color:#555;line-height:1.8;margin-bottom:15px}.legal-section ul{margin:15px 0;padding-left:25px}.legal-section li{color:#555;line-height:1.8;margin-bottom:8px}.legal-section a{color:var(--primary-color);text-decoration:none;border-bottom:1px solid transparent;transition:border-color .3s ease}.legal-section a:hover{border-bottom-color:var(--primary-color)}.legal-info-box{background:#f8f9fa;border-left:4px solid var(--primary-color);padding:20px;margin:20px 0;border-radius:0 8px 8px 0}.legal-info-box p{margin-bottom:8px}.legal-info-box p:last-child{margin-bottom:0}.legal-back-link{margin-top:40px;padding-top:30px;border-top:1px solid var(--border-color);text-align:center}.btn-back{display:inline-block;padding:12px 30px;background:var(--primary-color);color:var(--white);border-radius:30px;text-decoration:none;transition:all .3s ease}.btn-back:hover{background:var(--primary-dark);color:var(--white);transform:translateY(-2px)}.cookie-table-wrapper{overflow-x:auto;margin:20px 0}.cookie-table{width:100%;border-collapse:collapse;font-size:.9rem}.cookie-table th,.cookie-table td{padding:12px 15px;text-align:left;border-bottom:1px solid var(--border-color)}.cookie-table th{background:#f8f9fa;font-weight:600;color:#333}.cookie-table td{color:#555}.cookie-banner{position:fixed;bottom:0;left:0;right:0;background:rgba(26,26,46,0.98);color:var(--white);padding:20px;z-index:9999;box-shadow:0 -4px 20px rgba(0,0,0,0.2)}.cookie-banner-content{max-width:1200px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap}.cookie-banner-text{flex:1;min-width:300px}.cookie-banner-text p{margin:0;font-size:.9rem;line-height:1.6}.cookie-banner-text a{color:var(--primary-color);text-decoration:underline}.cookie-banner-actions{display:flex;gap:10px;flex-wrap:wrap}.cookie-btn{padding:10px 25px;border:none;border-radius:25px;cursor:pointer;font-size:.9rem;transition:all .3s ease}.cookie-btn-accept{background:var(--primary-color);color:var(--white)}.cookie-btn-accept:hover{background:var(--primary-dark);color:var(--white)}.cookie-btn-necessary{background:transparent;color:var(--white);border:1px solid rgba(255,255,255,0.3)}.cookie-btn-necessary:hover{border-color:var(--white)}@media (max-width:768px){.legal-hero{height:250px}.legal-hero-title{font-size:1.8rem}.legal-card{padding:25px}.legal-section h2{font-size:1.3rem}.cookie-banner-content{flex-direction:column;text-align:center}.cookie-banner-actions{width:100%;justify-content:center}.footer-legal-links{display:flex;flex-direction:column;gap:8px}.footer-separator{display:none}}