@import "https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@0,400;0,600;0,700;1,400;1,600&family=Lato:wght@300;400;700&display=swap";*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:#333;background:#0f0500;margin:0;padding:0;font-family:Lato,sans-serif;overflow-x:hidden}#root{text-align:left;border:none;width:100%;max-width:100%;min-height:100vh;margin:0}h1,h2,h3,h4,h5,h6{margin:0;line-height:1.3}p{margin:0;line-height:1.6}img{max-width:100%;display:block}a{color:inherit}button{cursor:pointer}.hero{background:linear-gradient(135deg,#1a0a00 0%,#3d1a00 30%,#6b3a2a 60%,#c9956c 100%);justify-content:center;align-items:center;min-height:100vh;display:flex;position:relative;overflow:hidden}.hero:before{content:"";opacity:.15;background:url(https://images.unsplash.com/photo-1519225421980-715cb0215aed?w=1920&q=80) 50%/cover no-repeat;position:absolute;inset:0}.hero-overlay{background:linear-gradient(#0a050299 0%,#0a05024d 50%,#0a0502b3 100%);position:absolute;inset:0}.hero-content{z-index:2;text-align:center;max-width:900px;margin:0 auto;padding:2rem;animation:1.2s ease-out fadeInUp;position:relative}.hero-subtitle-top{color:#e8c99a;letter-spacing:.2em;text-transform:uppercase;opacity:.85;margin-bottom:2rem;font-family:Playfair Display,Georgia,serif;font-size:1rem}.hero-names{justify-content:center;align-items:center;gap:2rem;margin-bottom:1.5rem;display:flex}.hero-bride,.hero-groom{flex-direction:column;align-items:center;gap:.8rem;display:flex}.name-circle{border:3px solid #c9a96e;border-radius:50%;width:90px;height:90px;padding:3px;overflow:hidden;box-shadow:0 0 20px #c9a96e66}.name-circle img{object-fit:cover;border-radius:50%;width:100%;height:100%}.hero-bride h2,.hero-groom h2{color:#f0e0c0;letter-spacing:.1em;margin:0;font-family:Playfair Display,Georgia,serif;font-size:1.1rem;font-weight:400}.hero-ampersand{color:#c9a96e;text-shadow:0 0 30px #c9a96e80;font-family:Playfair Display,Georgia,serif;font-size:3rem;line-height:1}.hero-title{color:#f5e6cc;letter-spacing:.05em;text-shadow:2px 2px 20px #00000080;margin:.5rem 0;font-family:Playfair Display,Georgia,serif;font-size:clamp(2.5rem,7vw,5rem);font-weight:700;line-height:1.2}.amp{color:#c9a96e;font-style:italic}.hero-divider{justify-content:center;align-items:center;gap:1rem;margin:1.5rem 0;display:flex}.divider-line{background:linear-gradient(90deg,#0000,#c9a96e,#0000);width:80px;height:1px;display:block}.divider-icon{font-size:1.4rem}.hero-date{color:#e8d5b0;letter-spacing:.15em;margin:.5rem 0;font-family:Playfair Display,Georgia,serif;font-size:1.6rem}.hero-time{color:#c9a96e;letter-spacing:.3em;text-transform:uppercase;margin-bottom:.8rem;font-family:Lato,sans-serif;font-size:1rem}.hero-magic-note{color:#a89ccc;letter-spacing:.12em;opacity:.85;margin-bottom:2rem;font-family:Playfair Display,Georgia,serif;font-size:.85rem;font-style:italic}.hero-cta{color:#c9a96e;letter-spacing:.25em;text-transform:uppercase;border:1px solid #c9a96e;border-radius:2px;padding:.9rem 2.5rem;font-family:Lato,sans-serif;font-size:.85rem;text-decoration:none;transition:all .3s;display:inline-block}.hero-cta:hover{color:#1a0a00;background:#c9a96e}.hero-scroll{color:#c9a96e;z-index:2;font-size:1.5rem;animation:2s infinite bounce;position:absolute;bottom:2rem;left:50%;transform:translate(-50%)}.petals-container{pointer-events:none;z-index:1;position:absolute;inset:0}.petal{opacity:.7;background:radial-gradient(#f9c6d4 30%,#e8a0b8 100%);border-radius:50% 0;animation:linear infinite fall;position:absolute;top:-20px}@keyframes fall{0%{opacity:.8;top:-20px;transform:translateY(0)rotate(0)}to{opacity:0;transform:translateY(110vh)rotate(720deg)}}@keyframes bounce{0%,to{transform:translate(-50%)translateY(0)}50%{transform:translate(-50%)translateY(-10px)}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@media (width<=768px){.hero-content{padding:5rem 1.5rem 4rem}.hero-subtitle-top{letter-spacing:.15em;margin-bottom:1.5rem;font-size:.75rem}.hero-names{gap:1.2rem}.name-circle{width:75px;height:75px}.divider-line{width:50px}}@media (width<=480px){.hero-content{padding:4rem 1.2rem 3.5rem}.hero-subtitle-top{letter-spacing:.1em;margin-bottom:1.2rem;font-size:.65rem}.hero-names{gap:.8rem;margin-bottom:1rem}.name-circle{border-width:2px;width:60px;height:60px}.hero-bride h2,.hero-groom h2{font-size:.85rem}.hero-ampersand{font-size:1.8rem}.hero-divider{margin:1rem 0}.divider-line{width:35px}.hero-date{letter-spacing:.08em;font-size:1.2rem}.hero-time{letter-spacing:.2em;font-size:.8rem}.hero-magic-note{letter-spacing:.06em;margin-bottom:1.5rem;font-size:.75rem}.hero-cta{letter-spacing:.15em;padding:.8rem 1.8rem;font-size:.75rem}.hero-scroll{font-size:1.2rem;bottom:1.2rem}}.countdown-section{text-align:center;background:linear-gradient(135deg,#1a0a00 0%,#3d1a00 100%);padding:5rem 2rem}.countdown-section .section-title{color:#f0e0c0}.countdown-section .section-eyebrow,.countdown-section .ornament{color:#c9a96e}.countdown-grid{flex-wrap:wrap;justify-content:center;gap:2rem;margin-top:2.5rem;display:flex}.countdown-item{background:#c9a96e1a;border:1px solid #c9a96e4d;border-radius:8px;flex-direction:column;align-items:center;min-width:100px;padding:1.5rem 2rem;display:flex}.countdown-number{color:#c9a96e;text-shadow:0 0 20px #c9a96e4d;font-family:Playfair Display,Georgia,serif;font-size:3.5rem;font-weight:700;line-height:1}.countdown-label{letter-spacing:.2em;text-transform:uppercase;color:#a08060;margin-top:.5rem;font-family:Lato,sans-serif;font-size:.75rem}@media (width<=600px){.countdown-section{padding:4rem 1.2rem}.countdown-grid{gap:.7rem;margin-top:2rem}.countdown-item{border-radius:6px;flex:65px;min-width:65px;padding:1rem}.countdown-number{font-size:2.2rem}.countdown-label{letter-spacing:.1em;font-size:.65rem}}.details-section{text-align:center;background:#faf7f2;padding:6rem 2rem}.details-cards{flex-wrap:wrap;justify-content:center;gap:2rem;max-width:1100px;margin:3rem auto;display:flex}.detail-card{background:#fff;border:1px solid #e8ddd0;border-radius:12px;flex:240px;max-width:300px;padding:2.5rem 2rem;transition:transform .3s,box-shadow .3s;box-shadow:0 4px 20px #0000000d}.detail-card:hover{transform:translateY(-6px);box-shadow:0 10px 40px #0000001a}.feature-card{background:linear-gradient(135deg,#3d1a00 0%,#6b3a2a 100%);border-color:#0000;transform:scale(1.03)}.feature-card:hover{transform:scale(1.03)translateY(-6px)}.feature-card .detail-card-title,.feature-card .detail-time,.feature-card .detail-place,.feature-card .detail-note{color:#f0e0c0!important}.feature-card .detail-divider{background:#c9a96e80}.detail-icon{margin-bottom:1rem;font-size:2.5rem}.detail-card-title{color:#3d1a00;margin:0 0 .5rem;font-family:Playfair Display,Georgia,serif;font-size:1.4rem}.detail-divider{background:#c9a96e;width:40px;height:1px;margin:.8rem auto}.detail-time{color:#6b3a2a;margin:.3rem 0;font-family:Playfair Display,Georgia,serif;font-size:1.1rem;font-weight:600}.detail-place{color:#555;margin:.3rem 0;font-family:Lato,sans-serif;font-size:.95rem}.detail-note{color:#888;margin:.5rem 0 0;font-family:Lato,sans-serif;font-size:.8rem;line-height:1.5}.hashtag-section{text-align:center;margin-top:3rem}.hashtag-section p{color:#888;margin-bottom:.5rem;font-family:Lato,sans-serif;font-size:.9rem}.hashtag{color:#c9a96e;font-family:Playfair Display,Georgia,serif;font-size:1.8rem;font-style:italic}@media (width<=768px){.details-section{padding:4rem 1.5rem}.details-cards{gap:1.2rem;margin:2rem auto}.detail-card{flex:100%;max-width:100%;padding:2rem 1.5rem}.feature-card{order:-1;transform:scale(1)}.feature-card:hover{transform:translateY(-4px)}.hashtag{font-size:1.3rem}}@media (width<=480px){.details-section{padding:3rem 1rem}.detail-card{padding:1.5rem 1.2rem}.detail-card-title{font-size:1.2rem}.hashtag{word-break:break-all;font-size:1.1rem}}.story-section{text-align:center;background:#fff;padding:6rem 2rem;overflow:hidden}.story-timeline{max-width:900px;margin:3rem auto;padding:0 1rem;position:relative}.timeline-line{z-index:0;background:linear-gradient(#0000,#c9a96e 10% 90%,#0000);width:2px;position:absolute;top:0;bottom:0;left:50%;transform:translate(-50%)}.story-item{z-index:1;align-items:center;margin-bottom:3rem;display:flex;position:relative}.story-item.left{flex-direction:row-reverse}.story-item.right{flex-direction:row}.story-content{text-align:left;background:#faf7f2;border:1px solid #e8ddd0;border-radius:12px;width:calc(50% - 40px);padding:1.5rem;transition:transform .3s}.story-item.left .story-content{text-align:right;margin-right:40px}.story-item.right .story-content{margin-left:40px}.story-content:hover{transform:scale(1.02)}.story-dot{z-index:2;background:#fff;border:2px solid #c9a96e;border-radius:50%;justify-content:center;align-items:center;width:50px;height:50px;font-size:1.2rem;display:flex;position:absolute;left:50%;transform:translate(-50%);box-shadow:0 0 0 4px #c9a96e26}.story-year{letter-spacing:.2em;color:#c9a96e;text-transform:uppercase;margin-bottom:.4rem;font-family:Lato,sans-serif;font-size:.75rem;display:block}.story-item-title{color:#3d1a00;margin:0 0 .5rem;font-family:Playfair Display,Georgia,serif;font-size:1.2rem}.story-description{color:#666;margin:0;font-family:Lato,sans-serif;font-size:.9rem;line-height:1.7}.couple-quote{text-align:center;max-width:600px;margin:3rem auto 0}.couple-quote p{color:#6b3a2a;margin-bottom:.8rem;font-family:Playfair Display,Georgia,serif;font-size:1.4rem;font-style:italic;line-height:1.6}.couple-quote span{letter-spacing:.2em;color:#c9a96e;text-transform:uppercase;font-family:Lato,sans-serif;font-size:.85rem}@media (width<=768px){.story-section{padding:4rem 1.5rem}.story-timeline{margin:2rem auto;padding:0}.timeline-line{left:22px}.story-item{align-items:flex-start;margin-bottom:2rem;padding-left:62px;flex-direction:column!important}.story-content{width:100%;text-align:left!important;margin:0!important}.story-dot{width:42px;height:42px;font-size:1rem;left:22px;transform:none}.story-content:hover{transform:none}.couple-quote p{font-size:1.1rem}}@media (width<=480px){.story-section{padding:3rem 1rem}.story-timeline{padding:0}.story-content{padding:1.2rem}.story-item-title{font-size:1.05rem}.story-description{font-size:.85rem}.couple-quote p{font-size:1rem}}.gallery-section{text-align:center;background:#1a0a00;padding:6rem 2rem}.gallery-section .section-title{color:#f0e0c0}.gallery-section .section-eyebrow,.gallery-section .ornament{color:#c9a96e}.gallery-grid{grid-template-rows:repeat(2,250px);grid-template-columns:repeat(3,1fr);gap:12px;max-width:1100px;margin:3rem auto;display:grid}.item-1{grid-area:1/1/auto/3}.item-4{grid-area:2/2/auto/4}.gallery-item{cursor:pointer;border-radius:8px;position:relative;overflow:hidden}.gallery-item img{object-fit:cover;width:100%;height:100%;transition:transform .5s}.gallery-item:hover img{transform:scale(1.08)}.gallery-overlay{opacity:0;background:#3d1a0066;justify-content:center;align-items:center;font-size:2rem;transition:opacity .3s;display:flex;position:absolute;inset:0}.gallery-item:hover .gallery-overlay{opacity:1}@media (width<=768px){.gallery-section{padding:4rem 1.2rem}.gallery-grid{grid-template-rows:repeat(3,200px);grid-template-columns:1fr 1fr;gap:8px}.item-1,.item-4{grid-area:auto}}@media (width<=480px){.gallery-section{padding:3rem .8rem}.gallery-grid{grid-template-rows:auto;grid-template-columns:1fr;gap:8px}.gallery-item{height:200px}.gallery-overlay{opacity:.15}}.map-section{text-align:center;background:#faf7f2;padding:6rem 2rem}.venue-info-bar{background:#fff;border:1px solid #e8ddd0;border-radius:12px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;max-width:900px;margin:2rem auto;padding:1.2rem 1.5rem;display:flex}.venue-info-item{text-align:left;align-items:center;gap:1rem;display:flex}.venue-info-icon{font-size:1.8rem}.venue-info-item strong{color:#3d1a00;margin-bottom:.2rem;font-family:Playfair Display,Georgia,serif;font-size:1.1rem;display:block}.venue-info-item p{color:#888;margin:0;font-family:Lato,sans-serif;font-size:.85rem}.directions-btn{color:#f0e0c0;letter-spacing:.05em;cursor:pointer;white-space:nowrap;background:linear-gradient(135deg,#3d1a00,#6b3a2a);border:none;border-radius:8px;padding:.8rem 1.5rem;font-family:Lato,sans-serif;font-size:.9rem;transition:all .3s}.directions-btn:hover{background:linear-gradient(135deg,#6b3a2a,#c9956c);transform:translateY(-2px);box-shadow:0 4px 20px #3d1a004d}.map-container{border:1px solid #e8ddd0;border-radius:12px;max-width:900px;margin:0 auto;overflow:hidden;box-shadow:0 10px 40px #0000001a}@media (width<=768px){.map-section{padding:4rem 1.2rem}.venue-info-bar{flex-direction:column;align-items:flex-start;gap:.8rem;padding:1rem 1.2rem}.venue-info-item strong{font-size:.95rem}.directions-btn{text-align:center;width:100%;padding:.9rem}.map-fallback-note{padding:.8rem 1rem}}@media (width<=480px){.map-section{padding:3rem .8rem}.venue-info-icon{font-size:1.4rem}.venue-info-item p,.map-fallback-note p{font-size:.78rem}}.lodging-section{background:linear-gradient(#1a0a00 0%,#0d0500 100%);padding:6rem 2rem;position:relative;overflow:hidden}.lodging-section:before{content:"";background:linear-gradient(90deg,#0000,#c9a96e,#0000);width:60%;height:1px;position:absolute;top:0;left:50%;transform:translate(-50%)}.lodging-container{max-width:1200px;margin:0 auto}.lodging-intro{color:#d4c4a0;text-align:center;opacity:.9;max-width:700px;margin:1.5rem auto 3rem;font-family:Lato,sans-serif;font-size:1.05rem;line-height:1.8}.lodging-filters{background:#c9a96e0f;border:1px solid #c9a96e33;border-radius:14px;flex-direction:column;gap:1.25rem;margin-bottom:2.5rem;padding:1.6rem 2rem;display:flex}.lodging-dates{flex-wrap:wrap;gap:1rem 2rem;display:flex}.lodging-filter-item{flex-direction:column;gap:.35rem;display:flex}.lodging-filter-item label{text-transform:uppercase;letter-spacing:.08em;color:#c9a96e;font-family:Lato,sans-serif;font-size:.75rem}.lodging-filter-item input{color:#f0e0c0;background:#1a0a00;border:1px solid #c9a96e59;border-radius:6px;outline:none;min-width:150px;padding:.45rem .75rem;font-family:Lato,sans-serif;font-size:.9rem;transition:border-color .2s}.lodging-filter-item input:focus{border-color:#c9a96e}.lodging-steppers{border-top:1px solid #c9a96e1f;flex-wrap:wrap;gap:.75rem 1.5rem;padding-top:.5rem;display:flex}.stepper{flex:1;justify-content:space-between;align-items:center;gap:1rem;min-width:200px;display:flex}.stepper--disabled{opacity:.4;pointer-events:none}.stepper-labels{flex-direction:column;display:flex}.stepper-label{color:#f0e0c0;font-family:Lato,sans-serif;font-size:.88rem;font-weight:600}.stepper-sublabel{color:#7a6a50;font-family:Lato,sans-serif;font-size:.72rem}.stepper-controls{align-items:center;gap:.5rem;display:flex}.stepper-btn{color:#c9a96e;cursor:pointer;background:0 0;border:1px solid #c9a96e80;border-radius:50%;justify-content:center;align-items:center;width:30px;height:30px;padding-bottom:2px;font-size:1.2rem;line-height:1;transition:background .2s,color .2s;display:flex}.stepper-btn:hover:not(:disabled){color:#1a0a00;background:#c9a96e}.stepper-btn:disabled{opacity:.25;cursor:default}.stepper-value{color:#f0e0c0;text-align:center;min-width:1.5ch;font-family:Lato,sans-serif;font-size:1rem}.lodging-filter-summary{border-top:1px solid #c9a96e1f;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;padding-top:.75rem;display:flex}.lodging-filter-summary span{color:#a89ccc;font-family:Lato,sans-serif;font-size:.82rem;font-style:italic}.lodging-search-btn{color:#1a0a00;letter-spacing:.06em;text-transform:uppercase;background:#c9a96e;border-radius:8px;align-items:center;gap:.4rem;padding:.6rem 1.5rem;font-family:Lato,sans-serif;font-size:.85rem;font-weight:700;text-decoration:none;transition:background .2s,transform .15s;display:inline-flex}.lodging-search-btn:hover{background:#e0c07e;transform:translateY(-1px)}.hotels-grid{grid-template-columns:repeat(3,1fr);gap:1.5rem;margin-bottom:2.5rem;display:grid}.hotel-card{background:linear-gradient(145deg,#2a1200,#1f0d00);border:1px solid #c9a96e40;border-radius:12px;flex-direction:column;transition:transform .3s,border-color .3s,box-shadow .3s;display:flex;overflow:hidden}.hotel-card:hover{border-color:#c9a96e8c;transform:translateY(-4px);box-shadow:0 12px 32px #c9a96e1f}.hotel-card-image-wrap{width:100%;height:190px;position:relative;overflow:hidden}.hotel-card-image{object-fit:cover;width:100%;height:100%;transition:transform .4s;display:block}.hotel-card:hover .hotel-card-image{transform:scale(1.04)}.hotel-card-badge{color:#c9a96e;letter-spacing:.05em;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#1a0a00d1;border:1px solid #c9a96e66;border-radius:20px;padding:.2rem .55rem;font-family:Lato,sans-serif;font-size:.7rem;font-weight:700;position:absolute;top:.6rem;left:.6rem}.hotel-card-pet{background:#1a0a00bf;border-radius:50%;justify-content:center;align-items:center;width:28px;height:28px;font-size:1rem;display:flex;position:absolute;top:.6rem;right:.6rem}.hotel-card-body{flex-direction:column;flex:1;gap:.75rem;padding:1.4rem;display:flex}.hotel-card-top{justify-content:space-between;align-items:center;gap:.5rem;display:flex}.hotel-type{text-transform:uppercase;letter-spacing:.08em;color:#a89ccc;font-family:Lato,sans-serif;font-size:.7rem}.hotel-stars{color:#c9a96e;letter-spacing:.05em;font-size:.75rem}.hotel-distance{color:#a89ccc;white-space:nowrap;font-family:Lato,sans-serif;font-size:.74rem;font-weight:600}.hotel-name{color:#f0e0c0;margin:0;font-family:Playfair Display,serif;font-size:1.15rem;line-height:1.3}.hotel-description{color:#c8b89a;margin:0;font-family:Lato,sans-serif;font-size:.88rem;line-height:1.7}.hotel-amenities{flex-wrap:wrap;gap:.4rem .8rem;margin:0;padding:0;list-style:none;display:flex}.hotel-amenities li{color:#b0a080;align-items:center;gap:.25rem;font-family:Lato,sans-serif;font-size:.78rem;display:flex}.amenity-dot{color:#c9a96e;font-size:.6rem}.hotel-footer{flex-direction:column;gap:.6rem;margin-top:auto;display:flex}.hotel-meta-row{flex-wrap:wrap;align-items:center;gap:.4rem .75rem;display:flex}.star-rating{color:#c9a96e;align-items:center;gap:.25rem;font-size:.85rem;display:flex}.star-number{font-family:Lato,sans-serif;font-size:.85rem;font-weight:700}.hotel-reviews{color:#7a6a50;font-family:Lato,sans-serif;font-size:.78rem}.hotel-price{color:#c9a96e;margin-left:auto;font-family:Lato,sans-serif;font-size:.8rem;font-weight:600}.hotel-host{color:#9a8a6a;margin:0;font-family:Lato,sans-serif;font-size:.78rem}.hotel-info{flex-direction:column;gap:.3rem;display:flex}.hotel-address,.hotel-phone{color:#9a8a6a;margin:0;font-family:Lato,sans-serif;font-size:.78rem;line-height:1.4}.hotel-btn{color:#c9a96e;letter-spacing:.08em;text-transform:uppercase;text-align:center;background:0 0;border:1px solid #c9a96e;border-radius:6px;padding:.55rem 1.2rem;font-family:Lato,sans-serif;font-size:.8rem;text-decoration:none;transition:background .25s,color .25s;display:inline-block}.hotel-btn:hover{color:#1a0a00;background:#c9a96e}.lodging-note{text-align:center;color:#7a6a50;margin-top:1.5rem;font-family:Lato,sans-serif;font-size:.85rem;font-style:italic}@media (width<=1024px){.hotels-grid{grid-template-columns:repeat(2,1fr)}}@media (width<=768px){.lodging-section{padding:4rem 1.5rem}.hotels-grid{grid-template-columns:1fr;gap:1.2rem}.lodging-intro{font-size:.95rem}.hotel-name{font-size:1.1rem}.lodging-steppers{gap:.6rem 1rem}.stepper{min-width:160px}.lodging-filter-summary{flex-direction:column;align-items:flex-start}.lodging-search-btn{justify-content:center;width:100%}}@media (width<=480px){.lodging-section{padding:3rem 1rem}.hotel-card-image-wrap{height:160px}.hotel-card-body{padding:1rem}.hotel-name{font-size:1rem}.hotel-description{font-size:.85rem}.lodging-filters{padding:1.2rem 1rem}}.rsvp-section{text-align:center;background:linear-gradient(135deg,#3d1a00 0%,#6b3a2a 50%,#3d1a00 100%);padding:6rem 2rem}.rsvp-section .section-title,.rsvp-section .section-eyebrow,.rsvp-section .ornament{color:#f0e0c0}.rsvp-title{color:#f0e0c0!important}.rsvp-section .section-eyebrow,.rsvp-section .ornament{color:#c9a96e!important}.rsvp-deadline{color:#c9b090;margin-top:.5rem;font-family:Lato,sans-serif;font-size:.9rem}.rsvp-deadline strong{color:#f0c878}.rsvp-form{text-align:left;max-width:700px;margin:2.5rem auto 0}.form-row{gap:1.5rem;margin-bottom:1.2rem;display:flex}.form-group{flex-direction:column;flex:1;gap:.4rem;display:flex}.form-group label{letter-spacing:.1em;text-transform:uppercase;color:#c9a96e;font-family:Lato,sans-serif;font-size:.8rem}.form-group input,.form-group select,.form-group textarea{color:#f0e0c0;box-sizing:border-box;background:#ffffff14;border:1px solid #c9a96e66;border-radius:8px;width:100%;padding:.8rem 1rem;font-family:Lato,sans-serif;font-size:.95rem;transition:border-color .3s,background .3s}.form-group input::placeholder,.form-group textarea::placeholder{color:#c9a96e80}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{background:#ffffff1f;border-color:#c9a96e;outline:none}.form-group select option{color:#f0e0c0;background:#3d1a00}.form-group textarea{resize:vertical;min-height:100px}.rsvp-submit{color:#1a0a00;cursor:pointer;letter-spacing:.05em;background:linear-gradient(135deg,#c9a96e,#e8c99a);border:none;border-radius:8px;width:100%;margin-top:1.5rem;padding:1rem;font-family:Playfair Display,Georgia,serif;font-size:1.1rem;font-weight:700;transition:all .3s;display:block}.rsvp-submit:hover{background:linear-gradient(135deg,#e8c99a,#c9a96e);transform:translateY(-2px);box-shadow:0 6px 30px #c9a96e66}.rsvp-success{text-align:center;max-width:500px;margin:0 auto;animation:.6s ease-out fadeInUp}.success-icon{margin-bottom:1.5rem;font-size:4rem}.rsvp-success h2{color:#f0e0c0;margin-bottom:1rem;font-family:Playfair Display,Georgia,serif;font-size:2rem}.rsvp-success p{color:#c9b090;margin-bottom:2rem;font-family:Lato,sans-serif;font-size:1rem;line-height:1.7}.rsvp-reset{color:#c9a96e;cursor:pointer;background:0 0;border:1px solid #c9a96e80;border-radius:8px;padding:.7rem 1.5rem;font-family:Lato,sans-serif;font-size:.85rem;transition:all .3s}.rsvp-reset:hover{background:#c9a96e1a}@media (width<=768px){.rsvp-section{padding:4rem 1.5rem}.rsvp-form{margin-top:2rem}.form-row{flex-direction:column;gap:0}.form-group{margin-bottom:1rem}.rsvp-success h2{font-size:1.6rem}}@media (width<=480px){.rsvp-section{padding:3rem 1rem}.rsvp-deadline{font-size:.82rem}.form-group input,.form-group select,.form-group textarea{padding:.75rem .9rem;font-size:1rem}.rsvp-submit{min-height:44px;padding:.95rem;font-size:1rem}.rsvp-success h2{font-size:1.4rem}.success-icon{font-size:3rem}}.footer{text-align:center;background:#0f0500;border-top:1px solid #c9a96e33;padding:4rem 2rem}.footer-decoration{letter-spacing:.5rem;margin-bottom:1.5rem;font-size:1.8rem}.footer-names{color:#f0e0c0;margin-bottom:.5rem;font-family:Playfair Display,Georgia,serif;font-size:2rem;font-style:italic}.footer-date{letter-spacing:.3em;text-transform:uppercase;color:#c9a96e;margin-bottom:1rem;font-family:Lato,sans-serif;font-size:.85rem}.footer-hashtag{color:#a08060;margin-bottom:2rem;font-family:Playfair Display,Georgia,serif;font-size:1.1rem;font-style:italic}.footer-quote{text-align:left;border-left:2px solid #a89ccc66;max-width:520px;margin:0 auto 2rem;padding:.5rem 0 .5rem 1.2rem}.footer-quote p{color:#a89ccc;margin-bottom:.4rem;font-family:Playfair Display,Georgia,serif;font-size:.9rem;font-style:italic;line-height:1.7}.footer-quote cite{letter-spacing:.15em;color:#6a608a;font-family:Lato,sans-serif;font-size:.75rem;font-style:normal}.footer-note{color:#5a4030;margin:0;font-family:Lato,sans-serif;font-size:.8rem}@media (width<=768px){.footer{padding:3rem 1.5rem}.footer-names{font-size:1.6rem}.footer-quote{max-width:100%;margin-left:0;margin-right:0}}@media (width<=480px){.footer{padding:2.5rem 1rem}.footer-names{font-size:1.3rem}.footer-hashtag{word-break:break-all;font-size:.95rem}.footer-quote p{font-size:.82rem}}.snitch-wrapper{z-index:9999;pointer-events:none;filter:drop-shadow(0 0 6px #ffd23ce6)drop-shadow(0 0 14px #ffb40099);align-items:center;gap:0;transition:filter .2s;display:flex;position:fixed;transform:translate(-50%,-50%)}.snitch-wrapper.flipped{transform:translate(-50%,-50%)scaleX(-1)}.snitch-body{background:radial-gradient(circle at 35% 30%,#ffe87c,#f5a800 60%,#b87200);border:1.5px solid #ffdc50cc;border-radius:50%;flex-shrink:0;width:18px;height:18px;position:relative;box-shadow:0 0 8px 2px #ffc800b3,inset 0 1px 3px #ffffc880}.snitch-shine{background:#ffffffa6;border-radius:50%;width:5px;height:4px;position:absolute;top:3px;left:4px;transform:rotate(-25deg)}.snitch-wing{transform-origin:100%;background:linear-gradient(135deg,#fff0b4d9 0%,#c8b46480 60%,#b48c3c40 100%);border:1px solid #ffdc6499;border-radius:50% 50% 50% 10%/60% 60% 40% 20%;width:28px;height:14px;position:relative}.wing-left{transform-origin:100%}.wing-right{transform-origin:0}.wing-left.phase-0{transform:rotate(-30deg)scaleY(1)}.wing-right.phase-0{transform:rotate(30deg)scaleY(1)}.wing-left.phase-1{transform:rotate(-10deg)scaleY(.35)}.wing-right.phase-1{transform:rotate(10deg)scaleY(.35)}.snitch-trail{pointer-events:none;background:linear-gradient(270deg,#ffd23cb3,#ffd23c00);border-radius:2px;width:22px;height:3px;position:absolute;top:50%;right:100%;transform:translateY(-50%)}.snitch-body:after{content:"✦";color:#fff064e6;font-size:8px;animation:1.4s ease-in-out infinite alternate sparkle;position:absolute;top:-8px;left:3px}@keyframes sparkle{0%{opacity:1;transform:scale(1)translateY(0)}50%{opacity:.4;transform:scale(.7)translateY(-3px)}to{opacity:1;transform:scale(1.2)translateY(0)}}@media (width<=480px){.snitch-body{width:13px;height:13px}.snitch-wing{width:20px;height:10px}.snitch-trail{width:14px}.snitch-body:after{font-size:6px;top:-6px;left:2px}}.app{overflow-x:hidden}.section-header{text-align:center;margin-bottom:1rem;padding:0 1rem}.section-eyebrow{letter-spacing:.35em;text-transform:uppercase;color:#c9a96e;margin-bottom:.5rem;font-family:Lato,sans-serif;font-size:.75rem}.section-title{color:#3d1a00;margin:.3rem 0 .8rem;font-family:Playfair Display,Georgia,serif;font-size:clamp(1.8rem,5vw,3rem);font-weight:700;line-height:1.2}.ornament{letter-spacing:.5em;color:#c9a96e;margin-top:.5rem;font-size:.7rem}@media (width<=480px){input,select,textarea{font-size:16px!important}.section-eyebrow{letter-spacing:.2em;font-size:.65rem}}
