@import"https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,300;0,400;0,500;0,600;0,700;1,300;1,400;1,500;1,600&family=Montserrat:wght@300;400;500;600&family=Great+Vibes&display=swap";:root{--color-gold: #C5A55A;--color-gold-light: #D4BC7C;--color-gold-dark: #9E833E;--color-blush: #F0E0E0;--color-blush-light: #F7EEEE;--color-blush-dark: #D4B8B8;--color-cream: #FDF8F2;--color-ivory: #FEFCF7;--color-champagne: #F5E6D3;--color-charcoal: #2C2C2C;--color-dark: #1A1A1A;--color-text: #3D3535;--color-text-light: #8A7A7A;--color-text-muted: #B0A0A0;--color-border: #E8DDD3;--color-border-gold: rgba(197, 165, 90, .3);--color-success: #5B8A5A;--color-error: #A0404A;--color-warning: #C5A55A;--font-serif: "Cormorant Garamond", Georgia, "Times New Roman", serif;--font-sans: "Montserrat", system-ui, -apple-system, sans-serif;--font-script: "Great Vibes", cursive;font-family:var(--font-sans);line-height:1.6;font-weight:400;color:var(--color-text);background-color:var(--color-cream);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*,*:before,*:after{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh}#root{min-height:100vh}h1,h2,h3,h4{font-family:var(--font-serif);font-weight:400}::selection{background:var(--color-gold-light);color:var(--color-dark)}.hero{position:relative;min-height:100vh;display:flex;flex-direction:column;background:url(https://images.unsplash.com/photo-1519167758481-83f550bb49b3?w=1920&q=80) center center / cover no-repeat;overflow:hidden}.hero-overlay{position:absolute;inset:0;background:linear-gradient(180deg,#0f0a05b3,#0f0a058c 40%,#0f0a05bf);z-index:1}.hero-nav{position:relative;z-index:10;display:flex;align-items:center;justify-content:center;gap:40px;padding:30px 40px}.nav-link{font-family:var(--font-sans);font-size:11px;font-weight:500;letter-spacing:3px;text-transform:uppercase;color:var(--color-gold-light);text-decoration:none;transition:color .3s}.nav-link:hover{color:#fff}.monogram{display:flex;align-items:center;gap:4px;padding:0 20px}.monogram-letter{font-family:var(--font-serif);font-size:28px;font-weight:600;color:var(--color-gold-light);line-height:1}.monogram-ampersand{font-family:var(--font-script);font-size:22px;color:var(--color-gold-light);opacity:.7;margin:0 2px}.hero-content{position:relative;z-index:10;flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:0 20px 80px}.hero-subtitle{font-family:var(--font-sans);font-size:12px;font-weight:400;letter-spacing:5px;text-transform:uppercase;color:#f0e2c4;margin:0 0 20px;text-shadow:0 1px 8px rgba(0,0,0,.5)}.hero-names{font-family:var(--font-script);font-size:clamp(3.5rem,8vw,7rem);font-weight:400;color:#f5e6c8;margin:0;line-height:1.2;text-shadow:0 2px 25px rgba(0,0,0,.5),0 1px 6px rgba(0,0,0,.3)}.hero-ampersand{font-family:var(--font-script);font-size:.7em;opacity:.8;margin:0 .1em}.hero-scroll{width:200px;color:var(--color-gold-light);margin:20px 0}.hero-date{font-family:var(--font-sans);font-size:11px;font-weight:400;letter-spacing:4px;text-transform:uppercase;color:#f0e2c4;margin:0;text-shadow:0 1px 8px rgba(0,0,0,.5)}.invitation-section{background:var(--color-blush-light);padding:80px 20px}.invitation-content{text-align:center;max-width:550px;margin:0 auto}.invitation-heading{font-family:var(--font-script);font-size:3.5rem;font-weight:400;color:var(--color-charcoal);margin:0 0 10px}.invitation-content .ornament-divider{width:250px;color:var(--color-gold);margin:10px auto 25px;display:block}.invitation-text{font-family:var(--font-serif);font-size:16px;font-weight:400;line-height:1.8;color:var(--color-text);margin:0 0 16px}.ornate-frame{position:relative;padding:20px;max-width:700px;margin:0 auto}.ornate-frame-content{background:var(--color-ivory);border:1px solid var(--color-border-gold);padding:50px 40px;position:relative}.ornate-frame-content:before{content:"";position:absolute;inset:8px;border:1px solid var(--color-border-gold);pointer-events:none}.corner-ornament{position:absolute;width:80px;height:80px;color:var(--color-gold);z-index:2}.corner-top-left{top:0;left:0}.corner-top-right{top:0;right:0}.corner-bottom-left{bottom:0;left:0}.corner-bottom-right{bottom:0;right:0}.details-section{background:var(--color-cream);padding:80px 20px}.details-container{max-width:900px;margin:0 auto;text-align:center}.section-heading{font-family:var(--font-serif);font-size:2.5rem;font-weight:400;color:var(--color-charcoal);margin:0 0 10px;letter-spacing:2px}.details-container>.ornament-divider{width:200px;color:var(--color-gold);margin:0 auto 40px;display:block}.details-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:30px}.detail-card{background:var(--color-ivory);border:1px solid var(--color-border-gold);padding:35px 25px;text-align:center}.detail-card:before{content:"";display:block;width:40px;height:1px;background:var(--color-gold);margin:0 auto 20px}.detail-label{font-family:var(--font-sans);font-size:11px;font-weight:600;letter-spacing:3px;text-transform:uppercase;color:var(--color-gold-dark);margin:0 0 15px}.detail-time{font-family:var(--font-serif);font-size:1.6rem;color:var(--color-charcoal);margin:0 0 8px}.detail-venue{font-family:var(--font-serif);font-size:1.1rem;font-style:italic;color:var(--color-text);margin:0 0 8px}.detail-address{font-family:var(--font-sans);font-size:13px;color:var(--color-text-light);line-height:1.7;margin:0}.rsvp-section{background:var(--color-cream);padding:80px 20px}.rsvp-form-content{text-align:center;max-width:450px;margin:0 auto}.rsvp-form-content form{text-align:left}.rsvp-form-content .form-input::placeholder{color:var(--color-text-muted);font-style:italic}.site-footer{background:var(--color-charcoal);padding:50px 20px;text-align:center}.footer-names{font-family:var(--font-script);font-size:2rem;color:var(--color-gold-light);margin:0 0 8px}.footer-date{font-family:var(--font-sans);font-size:11px;letter-spacing:3px;text-transform:uppercase;color:var(--color-text-muted);margin:0}.rsvp-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:40px 20px;background:var(--color-blush-light)}.rsvp-card{background:var(--color-ivory);border:1px solid var(--color-border-gold);padding:55px 45px;max-width:520px;width:100%;position:relative;box-shadow:0 4px 30px #0000000f}.rsvp-card:before{content:"";position:absolute;inset:10px;border:1px solid var(--color-border-gold);pointer-events:none}.rsvp-card h1{font-family:var(--font-script);font-size:2.8rem;text-align:center;color:var(--color-charcoal);margin:0 0 10px}.success-message{text-align:center;font-family:var(--font-serif);font-size:1.1rem;color:var(--color-text-light);margin-bottom:20px;line-height:1.7}.form-group{margin-bottom:22px}.form-label{display:block;font-family:var(--font-sans);font-size:10px;font-weight:600;letter-spacing:2px;text-transform:uppercase;color:var(--color-gold-dark);margin-bottom:8px}.form-input{width:100%;padding:12px 16px;font-family:var(--font-serif);font-size:16px;border:1px solid var(--color-border);background:var(--color-cream);color:var(--color-text);transition:border-color .3s}.form-input:focus{outline:none;border-color:var(--color-gold)}textarea.form-input{resize:vertical}select.form-input{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%239E833E' fill='none' stroke-width='1.5'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 16px center;padding-right:40px}.radio-group{display:flex;gap:24px}.radio-label{display:flex;align-items:center;gap:8px;font-family:var(--font-serif);font-size:16px;cursor:pointer;color:var(--color-text)}.radio-label input[type=radio]{accent-color:var(--color-gold);width:16px;height:16px}.btn{display:inline-block;padding:14px 36px;font-family:var(--font-sans);font-size:11px;font-weight:600;letter-spacing:2px;text-transform:uppercase;border:none;cursor:pointer;transition:all .3s}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background-color:var(--color-gold-dark);color:#fff}.btn-primary:hover:not(:disabled){background-color:var(--color-gold)}.btn-secondary{background-color:transparent;color:var(--color-gold-dark);border:1px solid var(--color-gold)}.btn-secondary:hover:not(:disabled){background:var(--color-gold);color:#fff}.btn-link{background:none;border:none;font-family:var(--font-sans);font-size:11px;letter-spacing:1px;text-transform:uppercase;color:var(--color-gold-dark);cursor:pointer;text-decoration:none;padding:0;transition:color .3s}.btn-link:hover{color:var(--color-gold)}.error{color:var(--color-error);text-align:center;font-family:var(--font-serif);font-size:14px;margin-bottom:16px}.admin-page{max-width:1200px;margin:0 auto;padding:30px 20px}.admin-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:30px;border-bottom:1px solid var(--color-border-gold);padding-bottom:20px}.admin-header h1{font-family:var(--font-serif);font-size:2rem;color:var(--color-charcoal);margin:0;letter-spacing:1px}.error-banner{background:#a0404a14;border:1px solid rgba(160,64,74,.2);padding:12px 20px;margin-bottom:20px;display:flex;justify-content:space-between;align-items:center}.error-banner p{margin:0;color:var(--color-error);font-family:var(--font-serif);font-size:14px}.error-banner button{background:none;border:none;color:var(--color-error);cursor:pointer;font-weight:600;font-family:var(--font-sans);font-size:11px;letter-spacing:1px;text-transform:uppercase}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:16px;margin-bottom:30px}.stat-card{background:var(--color-ivory);border:1px solid var(--color-border-gold);padding:24px 16px;text-align:center;position:relative}.stat-card:before{content:"";position:absolute;top:0;left:50%;transform:translate(-50%);width:30px;height:2px;background:var(--color-gold)}.stat-value{font-family:var(--font-serif);font-size:2.5rem;color:var(--color-charcoal);line-height:1}.stat-label{font-family:var(--font-sans);font-size:10px;font-weight:600;letter-spacing:2px;text-transform:uppercase;color:var(--color-text-muted);margin-top:8px}.actions-bar{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:20px}.table-container{overflow-x:auto}.guest-table{width:100%;border-collapse:collapse;background:var(--color-ivory);border:1px solid var(--color-border-gold);font-size:14px}.guest-table th,.guest-table td{padding:12px 16px;text-align:left;border-bottom:1px solid var(--color-border)}.guest-table th{font-family:var(--font-sans);font-size:10px;font-weight:600;letter-spacing:2px;text-transform:uppercase;color:var(--color-gold-dark);background:#c5a55a0f}.guest-table td{font-family:var(--font-serif);font-size:15px;color:var(--color-text)}.guest-table tr:last-child td{border-bottom:none}.guest-table tr:hover td{background:#c5a55a0a}.guest-table input[type=checkbox]{accent-color:var(--color-gold)}.badge{display:inline-block;padding:3px 10px;font-family:var(--font-sans);font-size:9px;font-weight:600;letter-spacing:1px;text-transform:uppercase}.badge-not_sent{background:#0000000a;color:var(--color-text-muted)}.badge-sent{background:#5b8a5a1a;color:var(--color-success)}.badge-failed{background:#a0404a1a;color:var(--color-error)}.badge-pending{background:#c5a55a1f;color:var(--color-gold-dark)}.badge-accepted{background:#5b8a5a1a;color:var(--color-success)}.badge-declined{background:#a0404a1a;color:var(--color-error)}.modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:100;padding:20px}.modal{background:var(--color-ivory);border:1px solid var(--color-border-gold);padding:40px 35px;max-width:500px;width:100%;max-height:90vh;overflow-y:auto;box-shadow:0 8px 40px #0003;position:relative}.modal:before{content:"";position:absolute;inset:8px;border:1px solid var(--color-border-gold);pointer-events:none}.modal h2{font-family:var(--font-serif);font-size:1.8rem;color:var(--color-charcoal);margin:0 0 20px;letter-spacing:1px}.modal-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:24px}.help-text{font-family:var(--font-serif);font-size:14px;color:var(--color-text-light);margin-bottom:16px;line-height:1.7}.help-text code{font-family:var(--font-sans);background:#c5a55a14;padding:2px 6px;font-size:12px;color:var(--color-gold-dark)}.scroll-ornament,.ornament-divider{display:block}@media(max-width:768px){.hero-nav{gap:15px;padding:20px 15px;flex-wrap:wrap}.nav-link{font-size:9px;letter-spacing:2px}.monogram{order:-1;width:100%;justify-content:center;padding:0 0 10px}.hero-names{font-size:3rem}.invitation-heading,.rsvp-cta-heading{font-size:2.5rem}.section-heading{font-size:2rem}}@media(max-width:600px){.rsvp-card{padding:35px 25px}.rsvp-card h1{font-size:2.2rem}.radio-group{flex-direction:column;gap:12px}.stats-grid{grid-template-columns:repeat(2,1fr)}.actions-bar{flex-direction:column}.actions-bar .btn{width:100%;text-align:center}.ornate-frame-content{padding:35px 20px}.details-grid{grid-template-columns:1fr}}
