@import"https://fonts.googleapis.com/css2?family=Great+Vibes&family=Playfair+Display:ital,wght@0,400;0,600;1,400;1,600&family=Cormorant+Garamond:ital,wght@0,300;0,400;1,300;1,400&family=Cinzel:wght@400;600&family=Dancing+Script:wght@500;700&family=Josefin+Sans:wght@300;400;600&display=swap";@import"https://fonts.googleapis.com/css2?family=Pinyon+Script&display=swap";@import"https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@0,400;0,600;1,400;1,600&family=Cormorant+Garamond:ital,wght@0,300;0,400;1,300;1,400&family=Cinzel:wght@400;600&family=Dancing+Script:wght@500;700&family=Josefin+Sans:wght@300;400;600&display=swap";.nav{background:rgba(46,63,82,.97);position:fixed;top:0;left:0;right:0;z-index:1000;display:flex;align-items:center;justify-content:space-between;padding:1.25rem 3rem;transition:background .4s ease,padding .4s ease;mix-blend-mode:luminosity}.nav--scrolled{background:rgba(46,63,82,.97);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);padding:.9rem 3rem;box-shadow:0 2px 20px #0000004d}.nav-logo{font-family:Pinyon Script,cursive;font-style:italic;font-size:1.7rem;color:var(--gold-light);text-decoration:none;font-weight:300;letter-spacing:.05em;flex-shrink:0}.nav-links{display:flex;list-style:none;gap:2.5rem;align-items:center}.nav-link{font-family:Josefin Sans,sans-serif;font-size:10px;letter-spacing:.35em;text-transform:uppercase;color:var(--text-muted);text-decoration:none;transition:color .25s;white-space:nowrap}.nav-link:hover{color:var(--gold-light)}.nav-hamburger{display:none;flex-direction:column;gap:5px;background:none;border:none;cursor:pointer;padding:4px}.nav-hamburger span{display:block;width:24px;height:1px;background:var(--gold-light);transition:all .3s;transform-origin:center}.nav-hamburger--open span:nth-child(1){transform:translateY(6px) rotate(45deg)}.nav-hamburger--open span:nth-child(2){opacity:0}.nav-hamburger--open span:nth-child(3){transform:translateY(-6px) rotate(-45deg)}@media (max-width: 768px){.nav{padding:1rem 1.5rem}.nav--scrolled{padding:.75rem 1.5rem}.nav-hamburger{display:flex}.nav-links{position:fixed;top:0;right:-100%;height:100vh;width:260px;background:var(--section-dark);flex-direction:column;justify-content:center;gap:2.5rem;padding:2rem;transition:right .35s ease;border-left:1px solid var(--border)}.nav-links--open{right:0}.nav-link{font-size:11px}}.hero{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:6rem 2rem 4rem;background:linear-gradient(180deg,var(--section-dark) 0%,var(--page-bg) 100%);position:relative;overflow:hidden}.hero-photo{width:100%;max-width:500px;height:300px;object-fit:cover;border-radius:4px;margin:1.5rem auto;display:block;opacity:.9}.hero:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(ellipse at 30% 40%,rgba(200,184,154,.06) 0%,transparent 60%),radial-gradient(ellipse at 70% 60%,rgba(91,111,138,.3) 0%,transparent 60%)}.hero-botanical{position:absolute;font-size:6rem;color:#c8b89a1a;line-height:1;pointer-events:none;-webkit-user-select:none;user-select:none}.hero-botanical--tl{top:8%;left:5%;transform:rotate(-15deg) scale(2)}.hero-botanical--br{bottom:10%;right:5%;transform:rotate(165deg) scale(2)}.hero-content{margin-top:50px;position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;gap:.5rem}.hero-label{font-family:Josefin Sans,sans-serif;font-size:10px;letter-spacing:.5em;text-transform:uppercase;color:var(--gold);animation:fadeUp .8s ease .2s both}.hero-names{font-family:Pinyon Script,cursive;font-style:italic;font-size:clamp(52px,8vw,96px);font-weight:400;color:var(--gold-light);line-height:1.1;animation:fadeUp .8s ease .4s both}.hero-ampersand{margin-left:20px;font-family:Great Vibes,cursive;font-style:normal;font-size:.75em;color:var(--gold-light)}.hero-date{font-family:Cinzel,serif;font-size:clamp(13px,2vw,17px);letter-spacing:.25em;color:var(--gold-light);animation:fadeUp .8s ease .7s both;margin-top:.25rem}.hero-venue{font-family:Cormorant Garamond,serif;font-style:italic;font-size:1.1rem;color:var(--text-muted);animation:fadeUp .8s ease .85s both}.hero-location{font-family:Josefin Sans,sans-serif;font-size:10px;letter-spacing:.35em;text-transform:uppercase;color:var(--gold);animation:fadeUp .8s ease .95s both}.hero-countdown{display:flex;gap:2rem;margin:2rem 0 1.5rem;animation:fadeUp .8s ease 1.1s both}.countdown-unit{display:flex;flex-direction:column;align-items:center;min-width:64px}.countdown-value{font-family:Playfair Display,serif;font-size:clamp(32px,5vw,48px);font-weight:400;color:var(--gold-light);line-height:1}.countdown-label{font-family:Josefin Sans,sans-serif;font-size:9px;letter-spacing:.4em;text-transform:uppercase;color:var(--gold);margin-top:.4rem}.hero-actions{display:flex;gap:1rem;flex-wrap:wrap;justify-content:center;margin-top:.75rem;animation:fadeUp .8s ease 1.3s both}.btn--ghost{background:transparent}.scroll-indicator{position:absolute;bottom:2.5rem;left:50%;transform:translate(-50%);display:flex;flex-direction:column;align-items:center;gap:.5rem;animation:fadeUp 1s ease 1.6s both}.scroll-line{width:1px;height:40px;background:linear-gradient(to bottom,transparent,var(--gold));animation:scrollPulse 2s ease-in-out infinite}.scroll-text{font-family:Josefin Sans,sans-serif;font-size:8px;letter-spacing:.4em;text-transform:uppercase;color:var(--gold);animation:scrollPulse 2s ease-in-out infinite .5s}.divider{margin:.5rem auto}@media (max-width: 480px){.hero-countdown{gap:1.25rem}.countdown-unit{min-width:52px}}.story-section{background:var(--section-dark);padding:6rem 2rem}.story-container{max-width:720px;margin:0 auto}.story-header{text-align:center;margin-bottom:3rem}.story-body{display:flex;flex-direction:column;gap:1.5rem}.story-body p{font-family:Cormorant Garamond,serif;font-style:italic;font-size:1.2rem;color:var(--text-muted);line-height:1.9}.story-closing{text-align:center;font-size:1.3rem!important;color:var(--gold-light)!important;margin-top:1rem;padding-top:1.5rem;border-top:1px solid var(--border)}.details-section{background:var(--page-bg);padding:6rem 2rem}.details-container{max-width:1100px;margin:0 auto}.details-header{text-align:center;margin-bottom:3.5rem}.details-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1.5rem}.detail-card{text-align:center;display:flex;flex-direction:column;align-items:center;gap:.75rem}.detail-icon{font-size:2rem;margin-bottom:.25rem}.detail-title{font-family:Cinzel,serif;font-size:13px;letter-spacing:.2em;color:var(--gold-light);font-weight:600}.detail-list{list-style:none;display:flex;flex-direction:column;gap:.4rem}.detail-list li{font-family:Cormorant Garamond,serif;font-style:italic;font-size:1rem;color:var(--text-muted);line-height:1.5}.rsvp-section{background:var(--section-dark);padding:6rem 2rem}.rsvp-container{max-width:640px;margin:0 auto}.rsvp-header{text-align:center;margin-bottom:3rem}.rsvp-card{padding:2.5rem}.rsvp-form{display:flex;flex-direction:column;gap:1.5rem}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1.25rem}.radio-group{display:flex;gap:1.5rem;flex-wrap:wrap;margin-top:.25rem}.radio-label{display:flex;align-items:center;gap:.6rem;font-family:Cormorant Garamond,serif;font-style:italic;font-size:1.05rem;color:var(--text-muted);cursor:pointer}.radio-label input[type=radio]{accent-color:var(--gold);width:16px;height:16px;cursor:pointer}.rsvp-submit{margin-top:.5rem;align-self:center}.rsvp-thanks{text-align:center;padding:2rem 0;display:flex;flex-direction:column;align-items:center;gap:1rem}.rsvp-thanks-icon{font-size:2.5rem}.rsvp-thanks h3{font-family:Playfair Display,serif;font-style:italic;font-size:1.6rem;color:var(--gold-light)}.rsvp-thanks p{font-family:Cormorant Garamond,serif;font-style:italic;color:var(--text-muted);font-size:1.1rem}@media (max-width: 480px){.form-row{grid-template-columns:1fr}}.rsvp-search{display:flex;flex-direction:column;gap:1.25rem}.rsvp-search-hint{font-family:Cormorant Garamond,serif;font-style:italic;color:var(--text-muted);font-size:1.05rem;text-align:center}.rsvp-search-form{display:flex;gap:.75rem;flex-wrap:wrap}.rsvp-search-form input{flex:1;min-width:200px;padding:.75rem 1rem;background:var(--input-bg);border:1px solid var(--border);border-radius:var(--radius);color:var(--text);font-family:Cormorant Garamond,serif;font-size:1rem}.rsvp-error{color:#f4a0a0;font-family:Josefin Sans,sans-serif;font-size:.8rem;letter-spacing:.05em;text-align:center}.rsvp-group{display:flex;flex-direction:column;gap:1.5rem}.rsvp-group-header{border-bottom:1px solid var(--border);padding-bottom:1rem}.rsvp-group-header h3{font-family:Playfair Display,serif;font-style:italic;font-size:1.4rem;color:var(--gold-light)}.rsvp-already-badge{font-family:Josefin Sans,sans-serif;font-size:.72rem;letter-spacing:.08em;color:var(--gold);display:block;margin-top:.4rem}.rsvp-guest-list{display:flex;flex-direction:column;gap:1.25rem}.rsvp-guest-card{background:var(--card-bg);border:1px solid var(--border);border-radius:var(--radius);padding:1.25rem 1.5rem;display:flex;flex-direction:column;gap:.9rem}.rsvp-guest-name{font-family:Cinzel,serif;font-size:.85rem;letter-spacing:.12em;color:var(--gold-light);display:flex;align-items:center;gap:.6rem}.rsvp-plus-badge{background:var(--gold);color:var(--btn-bg);font-size:.65rem;padding:.1rem .4rem;border-radius:3px;font-family:Josefin Sans,sans-serif}.rsvp-guest-details{display:flex;flex-direction:column;gap:.9rem}.meal-options{display:flex;gap:1rem;flex-wrap:wrap;margin-top:.25rem}.rsvp-decline-note{color:var(--text-muted);font-style:italic}.rsvp-restart{margin-top:1rem;background:transparent;border:1px solid var(--gold);color:var(--gold)}.gallery-section{background:var(--page-bg);padding:6rem 2rem}.gallery-container{max-width:1200px;margin:0 auto}.gallery-header{text-align:center;margin-bottom:3rem}.gallery-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:8px}.gallery-item{position:relative;aspect-ratio:1;overflow:hidden;cursor:pointer;border-radius:var(--radius);background:var(--card-bg)}.gallery-item img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease;display:block}.gallery-item:hover img{transform:scale(1.05)}.gallery-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(to top,rgba(46,63,82,.85) 0%,transparent 50%);opacity:0;transition:opacity .3s;display:flex;align-items:flex-end;padding:.75rem}.gallery-item:hover .gallery-overlay{opacity:1}.gallery-date{font-family:Josefin Sans,sans-serif;font-size:9px;letter-spacing:.3em;text-transform:uppercase;color:var(--gold-light)}.lightbox{position:fixed;top:0;right:0;bottom:0;left:0;z-index:9999;background:rgba(20,30,42,.97);display:flex;align-items:center;justify-content:center;animation:fadeIn .2s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.lightbox-close{position:absolute;top:1.5rem;right:1.5rem;background:none;border:none;color:var(--gold-light);font-size:1.5rem;cursor:pointer;padding:.5rem;opacity:.7;transition:opacity .2s;z-index:1}.lightbox-close:hover{opacity:1}.lightbox-nav{position:absolute;top:50%;transform:translateY(-50%);background:none;border:none;color:var(--gold-light);font-size:3rem;cursor:pointer;padding:1rem;opacity:.6;transition:opacity .2s;line-height:1;z-index:1}.lightbox-nav:hover{opacity:1}.lightbox-nav--prev{left:1rem}.lightbox-nav--next{right:1rem}.lightbox-content{display:flex;flex-direction:column;align-items:center;gap:1rem;max-width:85vw;max-height:85vh}.lightbox-content img{max-width:100%;max-height:78vh;object-fit:contain;border-radius:var(--radius);box-shadow:0 20px 80px #0009}.lightbox-date{font-family:Josefin Sans,sans-serif;font-size:10px;letter-spacing:.4em;text-transform:uppercase;color:var(--gold)}.travel-section{background:var(--section-dark);padding:6rem 2rem}.travel-container{max-width:1100px;margin:0 auto}.travel-header{text-align:center;margin-bottom:3.5rem}.travel-grid{display:grid;grid-template-columns:1fr 1fr;gap:3rem}.travel-block-title{font-family:Cinzel,serif;font-size:13px;letter-spacing:.2em;color:var(--gold);margin-bottom:1.5rem;text-transform:uppercase}.travel-directions{display:flex;flex-direction:column;gap:1rem}.direction-card{display:flex;flex-direction:column;gap:.6rem}.direction-icon{font-size:1.5rem}.direction-card h4{font-family:Cinzel,serif;font-size:12px;letter-spacing:.15em;color:var(--gold-light)}.direction-card p{font-family:Cormorant Garamond,serif;font-style:italic;color:var(--text-muted);font-size:1rem;line-height:1.6}.direction-card strong{color:var(--gold-light);font-style:normal}.hotel-list{display:flex;flex-direction:column;gap:1rem}.hotel-card{display:flex;flex-direction:column;gap:.4rem}.hotel-name{font-family:Cinzel,serif;font-size:12px;letter-spacing:.15em;color:var(--gold-light)}.hotel-distance{font-family:Josefin Sans,sans-serif;font-size:9px;letter-spacing:.35em;text-transform:uppercase;color:var(--gold)}.hotel-note{font-family:Cormorant Garamond,serif;font-style:italic;color:var(--text-muted);font-size:1rem;line-height:1.5}@media (max-width: 768px){.travel-grid{grid-template-columns:1fr}}.faq-section{background:var(--section-dark);padding:6rem 2rem}.faq-container{max-width:760px;margin:0 auto}.faq-header{text-align:center;margin-bottom:3rem}.faq-list{display:flex;flex-direction:column;gap:0;border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}.faq-item{border-bottom:1px solid var(--border);background:var(--card-bg);transition:background var(--transition)}.faq-item:last-child{border-bottom:none}.faq-item--open{background:var(--card-bg-hover)}.faq-question{width:100%;display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:1.4rem 1.75rem;background:none;border:none;color:var(--gold-light);font-family:Cinzel,serif;font-size:12px;letter-spacing:.15em;text-align:left;cursor:pointer;transition:color var(--transition)}.faq-question:hover{color:#fff}.faq-icon{font-size:1.2rem;color:var(--gold);flex-shrink:0;font-family:monospace;transition:transform .3s}.faq-answer-wrap{overflow:hidden;transition:max-height .4s ease}.faq-answer{padding:0 1.75rem 1.4rem;font-family:Cormorant Garamond,serif;font-style:italic;font-size:1.05rem;color:var(--text-muted);line-height:1.8}.timeline-section{background:var(--page-bg);padding:6rem 2rem}.timeline-container{max-width:680px;margin:0 auto}.timeline-header{text-align:center;margin-bottom:3rem}.timeline-list{display:flex;flex-direction:column}.timeline-item{display:grid;grid-template-columns:100px 56px 1fr;align-items:flex-start;gap:0}.timeline-time{text-align:right;padding-top:.2rem;padding-right:1.25rem}.timeline-time span{font-family:Josefin Sans,sans-serif;font-size:10px;letter-spacing:.3em;text-transform:uppercase;color:var(--gold);white-space:nowrap}.timeline-dot-wrap{display:flex;flex-direction:column;align-items:center}.timeline-dot{width:44px;height:44px;background:var(--section-dark);border:1px solid var(--border);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.1rem;flex-shrink:0;z-index:1}.timeline-line{width:1px;flex:1;min-height:32px;background:var(--border);margin:4px 0}.timeline-event{padding:.2rem 0 2rem 1.25rem}.timeline-event p{font-family:Cormorant Garamond,serif;font-style:italic;font-size:1.1rem;color:var(--text-muted);line-height:1.5;padding-top:.5rem}@media (max-width: 480px){.timeline-item{grid-template-columns:80px 44px 1fr}.timeline-time span{font-size:9px}}.registry-section{background:var(--page-bg);padding:6rem 2rem}.songs-section{background:var(--section-dark);padding:6rem 2rem}.extras-container{max-width:600px;margin:0 auto}.extras-header{text-align:center;margin-bottom:2.5rem}.registry-card{text-align:center;display:flex;flex-direction:column;align-items:center;gap:1rem;padding:3rem 2rem}.registry-icon{font-size:2.5rem}.registry-title{font-family:Playfair Display,serif;font-style:italic;font-size:1.4rem;color:var(--gold-light)}.registry-note{font-family:Cormorant Garamond,serif;font-style:italic;color:var(--text-muted);font-size:1.05rem;line-height:1.7;max-width:440px}.song-card{padding:2rem 2.5rem}.song-form{display:flex;flex-direction:column;gap:1.25rem}.song-thanks{text-align:center;padding:1.5rem;display:flex;flex-direction:column;align-items:center;gap:.75rem}.song-thanks span{font-size:2rem}.song-thanks p{font-family:Cormorant Garamond,serif;font-style:italic;color:var(--text-muted);font-size:1.1rem}.footer{background:var(--section-dark);border-top:1px solid var(--border);padding:4rem 2rem 3rem;text-align:center;display:flex;flex-direction:column;align-items:center;gap:.5rem}.footer-botanical{font-size:2rem;color:var(--gold);opacity:.4;margin-bottom:.5rem}.footer-names{font-family:Pinyon Script,cursive;font-size:clamp(2rem,5vw,3rem);color:var(--gold-light);font-weight:300}.footer-date{font-family:Cinzel,serif;font-size:11px;letter-spacing:.3em;color:var(--gold);text-transform:uppercase}.footer-venue{font-family:Cormorant Garamond,serif;font-style:italic;color:var(--text-muted);font-size:1rem}.footer-divider{display:flex;align-items:center;gap:1rem;width:100%;max-width:300px;margin:.75rem auto}.footer-divider span:first-child,.footer-divider span:last-child{flex:1;height:1px;background:var(--border);display:block}.footer-leaf{color:var(--gold);font-size:14px;flex:none!important;height:auto!important;background:none!important}.footer-tag{font-family:Josefin Sans,sans-serif;font-size:10px;letter-spacing:.35em;text-transform:uppercase;color:var(--gold);opacity:.7}.admin-login{min-height:100vh;display:flex;align-items:center;justify-content:center;background:#1a2535}.admin-login-card{background:#232f42;border:1px solid rgba(255,255,255,.1);border-radius:8px;padding:2.5rem;width:320px;display:flex;flex-direction:column;gap:1.25rem}.admin-login-card h2{font-family:Playfair Display,serif;color:#e8e0d4;font-size:1.5rem;text-align:center}.admin-login-card form{display:flex;flex-direction:column;gap:.75rem}.admin-login-card input{padding:.75rem 1rem;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.15);border-radius:4px;color:#fff;font-size:1rem}.admin-error{color:#f4a0a0;font-size:.82rem;text-align:center}.admin-page{min-height:100vh;background:#111927;color:#d8e0e8;padding:2rem;font-family:Josefin Sans,sans-serif}.admin-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:2rem;flex-wrap:wrap;gap:1rem}.admin-header h1{font-family:Playfair Display,serif;font-style:italic;color:#e8e0d4;font-size:2rem;font-weight:400}.admin-subtitle{color:#c8b89a;font-size:.78rem;letter-spacing:.2em;text-transform:uppercase;margin-top:.25rem}.admin-export-btn{font-size:.8rem;padding:.6rem 1.2rem}.admin-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:1rem;margin-bottom:1.75rem}.admin-stat{background:#1e2d40;border-radius:6px;padding:1.25rem;text-align:center;border:1px solid rgba(255,255,255,.07)}.stat-value{font-size:2.2rem;font-weight:600;color:#e8e0d4;line-height:1}.stat-label{font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:#89a;margin-top:.4rem}.stat--green .stat-value{color:#7ec8a0}.stat--red .stat-value{color:#f4a0a0}.stat--yellow .stat-value{color:#f4d47e}.admin-meals{background:#1e2d40;border-radius:6px;padding:1.25rem 1.5rem;margin-bottom:1.75rem;border:1px solid rgba(255,255,255,.07)}.admin-meals h3{font-size:.72rem;letter-spacing:.15em;text-transform:uppercase;color:#89a;margin-bottom:.9rem}.meal-counts{display:flex;gap:1rem;flex-wrap:wrap}.meal-count-badge{background:rgba(255,255,255,.06);border-radius:4px;padding:.4rem .9rem;display:flex;align-items:center;gap:.5rem}.meal-count-num{font-size:1.2rem;font-weight:600;color:#c8b89a}.meal-count-name{font-size:.78rem;text-transform:capitalize;letter-spacing:.05em;color:#abc}.admin-controls{display:flex;gap:1rem;margin-bottom:1.25rem;flex-wrap:wrap;align-items:center}.admin-search{flex:1;min-width:200px;padding:.6rem 1rem;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);border-radius:4px;color:#d8e0e8;font-family:Josefin Sans,sans-serif;font-size:.85rem}.admin-filters{display:flex;gap:.4rem;flex-wrap:wrap}.filter-btn{padding:.4rem .9rem;font-size:.75rem;letter-spacing:.1em;text-transform:uppercase;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);border-radius:4px;color:#abc;cursor:pointer;transition:all .2s}.filter-btn:hover{background:rgba(255,255,255,.1);color:#fff}.filter-btn.active{background:#3a4f66;border-color:#c8b89a;color:#e8e0d4}.admin-table-wrap{overflow-x:auto;border-radius:6px;border:1px solid rgba(255,255,255,.07)}.admin-table{width:100%;border-collapse:collapse;font-size:.85rem}.admin-table th{background:#1a2535;padding:.85rem 1rem;text-align:left;font-size:.68rem;letter-spacing:.15em;text-transform:uppercase;color:#89a;border-bottom:1px solid rgba(255,255,255,.08);white-space:nowrap}.admin-table td{padding:.85rem 1rem;border-bottom:1px solid rgba(255,255,255,.05);color:#c8d0da;vertical-align:middle}.admin-table tr:last-child td{border-bottom:none}.admin-table tr:hover td{background:rgba(255,255,255,.03)}.admin-table .row--pending td{opacity:.6}.admin-empty{text-align:center;padding:2rem!important;color:#567}.admin-loading{text-align:center;color:#89a;padding:3rem;font-size:.85rem;letter-spacing:.1em}.badge{display:inline-block;padding:.2rem .6rem;border-radius:3px;font-size:.68rem;letter-spacing:.08em;text-transform:uppercase;font-weight:600}.badge--yes{background:rgba(126,200,160,.15);color:#7ec8a0}.badge--no{background:rgba(244,160,160,.15);color:#f4a0a0}.badge--pending{background:rgba(244,212,126,.15);color:#f4d47e}.tbl-plus{display:inline-block;margin-left:.4rem;font-size:.65rem;background:rgba(200,184,154,.2);color:#c8b89a;padding:.1rem .35rem;border-radius:3px}.admin-tabs{display:flex;gap:0;margin-bottom:1.25rem;border-bottom:1px solid rgba(255,255,255,.1)}.tab-btn{padding:.6rem 1.5rem;font-family:Josefin Sans,sans-serif;font-size:.72rem;letter-spacing:.15em;text-transform:uppercase;background:none;border:none;border-bottom:2px solid transparent;color:#89a;cursor:pointer;margin-bottom:-1px;transition:all .2s}.tab-btn:hover{color:#d8e0e8}.tab-btn.active{color:#c8b89a;border-bottom-color:#c8b89a}.admin-header-actions{display:flex;gap:.75rem;flex-wrap:wrap;align-items:center}.admin-add-btn{background:rgba(126,200,160,.15);border-color:#7ec8a066;color:#7ec8a0}.admin-add-btn:hover{background:rgba(126,200,160,.25)}.action-btns{display:flex;gap:.5rem}.action-btn{padding:.3rem .8rem;font-size:.72rem;font-family:Josefin Sans,sans-serif;letter-spacing:.08em;border-radius:3px;border:1px solid;cursor:pointer;transition:all .2s}.action-btn--edit{background:rgba(200,184,154,.1);border-color:#c8b89a59;color:#c8b89a}.action-btn--edit:hover{background:rgba(200,184,154,.2)}.action-btn--delete{background:rgba(244,160,160,.1);border-color:#f4a0a059;color:#f4a0a0}.action-btn--delete:hover{background:rgba(244,160,160,.2)}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:rgba(0,0,0,.65);display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.modal-card{background:#1e2d40;border:1px solid rgba(255,255,255,.12);border-radius:8px;width:100%;max-width:560px;max-height:90vh;display:flex;flex-direction:column;overflow:hidden}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.25rem 1.5rem;border-bottom:1px solid rgba(255,255,255,.08)}.modal-header h3{font-family:Playfair Display,serif;font-style:italic;color:#e8e0d4;font-size:1.2rem;font-weight:400}.modal-close{background:none;border:none;color:#89a;font-size:1.4rem;cursor:pointer;line-height:1;padding:.2rem}.modal-close:hover{color:#fff}.modal-body{padding:1.5rem;overflow-y:auto;flex:1;display:flex;flex-direction:column;gap:1rem}.modal-footer{padding:1rem 1.5rem;border-top:1px solid rgba(255,255,255,.08);display:flex;justify-content:flex-end;gap:.75rem}.modal-section-label{font-family:Josefin Sans,sans-serif;font-size:.68rem;letter-spacing:.2em;text-transform:uppercase;color:#89a;margin-bottom:-.25rem}.modal-error{padding:0 1.5rem .5rem}.admin-form-row{display:flex;gap:1rem;flex-wrap:wrap}.admin-form-group{display:flex;flex-direction:column;gap:.4rem;flex:1}.admin-form-group label{font-family:Josefin Sans,sans-serif;font-size:.68rem;letter-spacing:.15em;text-transform:uppercase;color:#89a}.admin-form-group input,.admin-form-group select{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);border-radius:4px;color:#d8e0e8;padding:.6rem .9rem;font-size:.9rem;font-family:Josefin Sans,sans-serif;outline:none;transition:border-color .2s}.admin-form-group input:focus{border-color:#c8b89a80}.guest-row{display:flex;align-items:center;gap:.75rem;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.07);border-radius:4px;padding:.6rem .9rem}.guest-row input{flex:1;background:none;border:none;border-bottom:1px solid rgba(255,255,255,.15);color:#d8e0e8;padding:.25rem 0;font-size:.9rem;font-family:Josefin Sans,sans-serif;outline:none}.guest-row--existing{background:rgba(255,255,255,.02)}.guest-existing-name{flex:1;color:#c8d0da;font-size:.88rem;display:flex;align-items:center;gap:.4rem}.plus-one-check{display:flex;align-items:center;gap:.35rem;font-size:.72rem;color:#89a;font-family:Josefin Sans,sans-serif;white-space:nowrap;cursor:pointer}.plus-one-check input{accent-color:#c8b89a;cursor:pointer}.guest-remove{background:none;border:none;color:#f4a0a0;cursor:pointer;font-size:1rem;padding:.1rem .3rem;opacity:.6;transition:opacity .2s}.guest-remove:hover{opacity:1}.guest-remove--danger{font-size:.9rem}.add-guest-row-btn{background:none;border:1px dashed rgba(200,184,154,.3);border-radius:4px;color:#c8b89a;padding:.5rem 1rem;font-size:.75rem;font-family:Josefin Sans,sans-serif;letter-spacing:.1em;cursor:pointer;transition:all .2s}.add-guest-row-btn:hover{border-color:#c8b89a99;background:rgba(200,184,154,.05)}.btn--ghost{background:transparent;border-color:#fff3;color:#89a}.btn--ghost:hover{background:rgba(255,255,255,.05);color:#d8e0e8}.admin-loading-sm{color:#89a;font-size:.82rem;padding:.5rem 0}:root{--page-bg: rgba(74, 88, 112, .85);--section-dark: rgba(62, 79, 99, .85);--section-mid: #5b6f8a;--section-light: #6b7f9a;--gold: #c8b89a;--gold-light: #e8e0d4;--text: #ffffff;--text-muted: #d8e0e8;--border: rgba(255, 255, 255, .15);--card-bg: rgba(255, 255, 255, .07);--card-bg-hover: rgba(255, 255, 255, .12);--input-bg: rgba(255, 255, 255, .12);--btn-bg: #3a4f66;--btn-hover: #2e4257;--radius: 4px;--transition: .3s ease}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{font-family:Cormorant Garamond,Georgia,serif;background-color:#3e4f63;color:var(--text);overflow-x:hidden;font-size:18px;line-height:1.7}.reveal{opacity:0;transform:translateY(28px);transition:opacity .7s ease,transform .7s ease}.reveal.visible{opacity:1;transform:translateY(0)}.section-label{font-family:Josefin Sans,sans-serif;font-size:10px;letter-spacing:.5em;text-transform:uppercase;color:var(--gold);margin-bottom:.75rem;display:block}.section-title{font-family:Playfair Display,serif;font-style:italic;font-size:clamp(28px,4vw,42px);font-weight:400;color:var(--gold-light);margin-bottom:1rem;line-height:1.2}.divider{display:flex;align-items:center;gap:1rem;margin:1.5rem auto;max-width:300px}.divider:before,.divider:after{content:"";flex:1;height:1px;background:var(--border)}.divider-leaf{color:var(--gold);font-size:14px}.section-intro{font-family:Cormorant Garamond,serif;font-style:italic;font-size:1.15rem;color:var(--text-muted);max-width:600px;margin:0 auto;line-height:1.8}.btn{font-family:Josefin Sans,sans-serif;font-size:10px;letter-spacing:.4em;text-transform:uppercase;background:var(--btn-bg);color:var(--gold-light);border:1px solid var(--border);padding:14px 36px;cursor:pointer;border-radius:var(--radius);transition:background var(--transition),border-color var(--transition);text-decoration:none;display:inline-block}.btn:hover{background:var(--btn-hover);border-color:var(--gold)}.form-group{display:flex;flex-direction:column;gap:.4rem}.form-group label{font-family:Josefin Sans,sans-serif;font-size:10px;letter-spacing:.4em;text-transform:uppercase;color:var(--gold)}.form-group input,.form-group select,.form-group textarea{background:var(--input-bg);border:1px solid var(--border);color:var(--text);padding:12px 16px;font-family:Cormorant Garamond,serif;font-size:1rem;border-radius:var(--radius);outline:none;transition:border-color var(--transition)}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:var(--gold)}.form-group input::placeholder,.form-group textarea::placeholder{color:#ffffff59}.form-group select option{background:var(--section-dark)}.card{background:var(--card-bg);border:1px solid var(--border);border-radius:var(--radius);padding:2rem;transition:background var(--transition)}.card:hover{background:var(--card-bg-hover)}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:var(--section-dark)}::-webkit-scrollbar-thumb{background:var(--gold);border-radius:3px}@keyframes fadeUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes scrollPulse{0%,to{opacity:.6;transform:translateY(0)}50%{opacity:1;transform:translateY(6px)}}.flower-img{width:100%;height:100%;object-fit:cover;object-position:center;opacity:.8;mix-blend-mode:luminosity}main>*{position:relative;z-index:1}nav,footer{position:relative;z-index:1}
