:root{--color-primary-red: #8B0000;--color-primary-gold: #D4AF37;--color-accent-gold: #F4C430;--color-cream: #FFFDD0;--color-text-dark: #2C2C2C;--color-text-light: #FFFFFF;--color-background: #FFFDD0;--font-heading: "Cinzel Decorative", cursive;--font-script: "Pinyon Script", cursive;--font-body: "Lato", sans-serif;--spacing-xs: 4px;--spacing-sm: 8px;--spacing-md: 16px;--spacing-lg: 24px;--spacing-xl: 32px;--spacing-xxl: 64px;--border-radius-sm: 4px;--border-radius-md: 8px;--shadow-card: 0 4px 6px rgba(0, 0, 0, .1);--shadow-gold: 0 0 10px rgba(212, 175, 55, .3)}body{background-color:var(--color-primary-red);color:var(--color-text-dark);font-family:var(--font-body);margin:0;padding:0;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);color:var(--color-primary-gold);margin-bottom:var(--spacing-md)}.hero-section{height:100vh;width:100%;display:flex;justify-content:center;align-items:center;background:radial-gradient(circle at center,#a00000 0%,var(--color-primary-red) 100%);color:var(--color-primary-gold);text-align:center;position:relative;overflow:hidden}.hero-content{text-align:center;padding:var(--spacing-xxl);border:4px double var(--color-primary-gold);border-radius:var(--border-radius-sm);background:#0003;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);max-width:90%;width:600px}.wedding-title{font-family:var(--font-body);text-transform:uppercase;letter-spacing:2px;font-size:1.2rem;margin-bottom:var(--spacing-md);color:var(--color-cream)}.couple-names{font-family:var(--font-script);font-size:5.5rem;line-height:1.1;font-weight:400;margin:var(--spacing-lg) 0;text-shadow:2px 2px 4px rgba(0,0,0,.3)}.couple-names .name{display:block}.couple-names .ampersand{font-size:2rem;display:block;margin:var(--spacing-xs) 0;font-family:var(--font-body);font-style:italic}.date-display{font-size:1.5rem;font-weight:700;margin-bottom:var(--spacing-sm);color:var(--color-accent-gold)}.venue-text{font-family:var(--font-body);font-size:1rem;letter-spacing:1px;color:var(--color-cream)}.ornament-top,.ornament-bottom{height:2px;background:var(--color-primary-gold);width:50%;margin:var(--spacing-lg) auto;position:relative}.ornament-top:before,.ornament-top:after,.ornament-bottom:before,.ornament-bottom:after{content:"♦";position:absolute;top:-10px;font-size:1.2rem;color:var(--color-primary-gold)}.ornament-top:before{left:0}.ornament-top:after{right:0}.ornament-bottom:before{left:0}.ornament-bottom:after{right:0}.scroll-indicator{position:absolute;bottom:20px;left:50%;transform:translate(-50%);font-size:.9rem;opacity:.8;animation:bounce 2s infinite}.arrow-down{width:10px;height:10px;border-right:2px solid var(--color-primary-gold);border-bottom:2px solid var(--color-primary-gold);transform:rotate(45deg);margin:5px auto 0}@keyframes bounce{0%,20%,50%,80%,to{transform:translate(-50%) translateY(0)}40%{transform:translate(-50%) translateY(-10px)}60%{transform:translate(-50%) translateY(-5px)}}.ganesha-container{margin-bottom:var(--spacing-md)}.ganesha-icon{width:80px;height:auto;filter:drop-shadow(0 0 5px rgba(212,175,55,.5))}@media(max-width:768px){.couple-names{font-size:3.5rem}.hero-content{padding:var(--spacing-lg);width:85%;margin:0 auto}.wedding-title{font-size:1rem;letter-spacing:1px}.ganesha-icon{width:60px}.ornament-bottom{margin-bottom:40px}.scroll-indicator{bottom:10px;font-size:.8rem}}.couple-section{padding:var(--spacing-xxl) var(--spacing-md);text-align:center;background-color:var(--color-background)}.couple-image-container{max-width:600px;margin:0 auto;position:relative;padding:10px;background:linear-gradient(135deg,var(--color-primary-gold),var(--color-accent-gold));border-radius:var(--border-radius-md);box-shadow:var(--shadow-gold)}.couple-image{width:100%;height:100%;max-height:80vh;object-fit:cover;object-position:center 20%;display:block;border-radius:4px;filter:sepia(.2) contrast(1.1)}.couple-quote{font-family:var(--font-script);font-size:2rem;color:var(--color-primary-gold);margin-top:var(--spacing-lg)}@media(max-width:768px){.couple-quote{font-size:1.5rem}}.itinerary-section{padding:var(--spacing-xxl) var(--spacing-md);background-color:var(--color-cream);color:var(--color-text-dark);text-align:center}.section-title{color:var(--color-primary-red);font-size:2.5rem;margin-bottom:var(--spacing-sm)}.ornament-divider{color:var(--color-primary-gold);font-size:1.5rem;margin-bottom:var(--spacing-xl)}.timeline{max-width:800px;margin:0 auto;position:relative;display:flex;flex-direction:column;gap:var(--spacing-lg)}.timeline:before{content:"";position:absolute;top:0;bottom:0;left:50%;width:2px;background:var(--color-primary-gold);transform:translate(-50%);z-index:0}.timeline-item{position:relative;z-index:1;width:100%;display:flex;justify-content:center;align-items:center}.timeline-icon{background:var(--color-primary-red);color:var(--color-primary-gold);width:60px;height:60px;border-radius:50%;display:flex;justify-content:center;align-items:center;font-size:1.5rem;border:4px solid var(--color-cream);box-shadow:0 0 0 2px var(--color-primary-gold);position:absolute;left:50%;transform:translate(-50%);overflow:hidden;z-index:2}.timeline-icon img{width:100%;height:100%;object-fit:cover}.timeline-content{background:#fff;padding:var(--spacing-lg);border-radius:var(--border-radius-md);box-shadow:var(--shadow-card);width:40%;text-align:left;border-top:4px solid var(--color-primary-gold)}.timeline-item:nth-child(odd) .timeline-content{margin-right:auto;margin-left:0}.timeline-item:nth-child(2n) .timeline-content{margin-left:auto;margin-right:0}.event-title{color:var(--color-primary-red);font-family:var(--font-heading);font-size:1.25rem;margin-bottom:var(--spacing-xs)}.event-time{font-weight:700;color:var(--color-text-dark);font-size:.9rem;margin-bottom:var(--spacing-sm);display:flex;gap:8px;align-items:center}.event-desc{font-size:.95rem;line-height:1.5;color:#555}@media(max-width:768px){.timeline:before{left:20px}.timeline-icon{left:20px}.timeline-content{width:calc(100% - 60px);margin-left:60px!important;margin-right:0!important}}.venue-section{padding:var(--spacing-xxl) var(--spacing-md);background-color:var(--color-primary-red);text-align:center}.venue-section .section-title{color:var(--color-primary-gold)!important;text-shadow:0 2px 4px rgba(0,0,0,.3)}.venue-container{max-width:900px;margin:0 auto;display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:var(--spacing-xl);background:var(--color-cream);padding:var(--spacing-lg);border-radius:var(--border-radius-md);box-shadow:var(--shadow-card);border:1px solid rgba(212,175,55,.3)}.venue-image-wrapper{flex:1 1 300px;max-width:400px}.venue-image{width:100%;height:auto;border-radius:var(--border-radius-sm);box-shadow:var(--shadow-gold);border:4px double var(--color-primary-gold)}.venue-details{flex:1 1 300px;text-align:left;padding:var(--spacing-md)}.venue-name{font-family:var(--font-heading);font-size:1.8rem;color:var(--color-primary-red);margin-bottom:var(--spacing-sm)}.venue-address{font-family:var(--font-body);font-size:1.1rem;color:var(--color-text-dark);margin-bottom:var(--spacing-lg);line-height:1.6}.map-btn{display:inline-flex;align-items:center;gap:10px;padding:12px 24px;background-color:var(--color-primary-gold);color:#fff;text-decoration:none;border-radius:30px;font-weight:700;transition:all .3s ease;box-shadow:0 4px 10px #00000026;border:2px solid transparent}.map-btn:hover{background-color:transparent;color:var(--color-primary-gold);border-color:var(--color-primary-gold);transform:translateY(-2px)}.map-btn .icon{font-size:1.2rem}@media(max-width:768px){.venue-container{flex-direction:column;text-align:center}.venue-details{text-align:center}.venue-image-wrapper{max-width:100%}}.rsvp-section{padding:var(--spacing-xxl) var(--spacing-md);background-color:var(--color-primary-red);display:flex;justify-content:center}.rsvp-section .card{background:var(--color-cream);padding:var(--spacing-xl);border-radius:var(--border-radius-md);max-width:600px;width:100%;box-shadow:0 10px 25px #0000004d;border:2px solid var(--color-primary-gold)}.rsvp-section .section-title{text-align:center;margin-bottom:var(--spacing-xs)}.instruction{text-align:center;margin-bottom:var(--spacing-lg);font-style:italic;color:#666}.form-group{margin-bottom:var(--spacing-lg);border-bottom:1px dashed #ccc;padding-bottom:var(--spacing-lg)}.form-group:last-child{border-bottom:none}.form-group h3{font-family:var(--font-body);font-size:1.1rem;color:var(--color-primary-red);margin-bottom:var(--spacing-md)}.rsvp-section input[type=text],.rsvp-section input[type=tel],.rsvp-section input[type=email],.rsvp-section input[type=date],.rsvp-section input[type=time],.rsvp-section select,.rsvp-section textarea{width:100%;padding:var(--spacing-sm);margin-top:var(--spacing-xs);border:1px solid var(--color-primary-gold);border-radius:var(--border-radius-sm);background:#ffffffe6;font-family:var(--font-body);font-size:1rem;box-sizing:border-box}input[type=text]:focus,input[type=tel]:focus,select:focus{outline:none;border-color:var(--color-primary-gold);box-shadow:0 0 5px #d4af3780}.radio-group,.checkbox-group{display:flex;flex-direction:column;gap:10px}.radio-group label,.checkbox-label{display:flex;align-items:center;gap:10px;font-size:1rem;cursor:pointer}input[type=radio],input[type=checkbox]{accent-color:var(--color-primary-red);width:18px;height:18px}.submit-btn{width:100%;padding:15px;background-color:var(--color-primary-red);color:var(--color-primary-gold);border:2px solid var(--color-primary-gold);font-family:var(--font-heading);font-size:1.2rem;cursor:pointer;transition:all .3s ease;text-transform:uppercase;letter-spacing:1px}.submit-btn:hover{background-color:var(--color-primary-gold);color:var(--color-primary-red)}.submit-btn:disabled{background-color:#ccc;border-color:#999;cursor:not-allowed;color:#666}.sub-group{margin-top:10px;padding-left:20px}.travel-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}@media(max-width:600px){.travel-grid{grid-template-columns:1fr}}.couple-names-header{text-align:center;margin-bottom:var(--spacing-md);font-family:var(--font-script);font-size:1.5rem;color:var(--color-primary-red)}textarea{width:100%;padding:10px;margin-bottom:10px;border:1px solid #ccc;border-radius:var(--border-radius-sm);font-family:var(--font-body);font-size:1rem;resize:vertical}textarea:focus{outline:none;border-color:var(--color-primary-gold);box-shadow:0 0 5px #d4af3780}.sub-label{font-size:.9rem;color:#555;margin-bottom:10px}.radio-group.vertical,.checkbox-group.vertical{display:flex;flex-direction:column;gap:12px}.checkbox-label span small{display:block;color:#666;margin-top:2px}.date-time-row{display:flex;gap:10px}.date-time-row input{flex:1}.form-footer{text-align:center;margin-top:var(--spacing-xl)}.footer-note{margin-top:var(--spacing-md);font-style:italic;color:var(--color-primary-red)}.submitted{text-align:center}
