@font-face{font-family:Mrs Olympheria;src:url(/fonts/MrsOlympheriaRegular-nA4p1.ttf)format("truetype");font-weight:400;font-style:normal;font-display:swap}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{background-color:var(--color-background);color:var(--color-text);font-family:Georgia,Times New Roman,serif;line-height:1.6}:root{--color-primary:#6b1a1a;--color-secondary:#800020;--color-accent:#b8964d;--color-background:#fdf8f3;--color-card-bg:#fff;--color-text:#2c1810;--color-text-light:#666;--color-border:#e0e0e0;--color-success:#2e7d32;--color-success-bg:#e8f5e9;--color-danger:#d32f2f;--color-danger-bg:#ffebee;--color-warning:#b8964d;--color-warning-bg:#fff8e1;--dark-red:var(--color-primary);--burgundy:var(--color-secondary);--deep-red:var(--color-primary);--gold:var(--color-accent);--cream:var(--color-background);--white:#fff;--dark-text:var(--color-text);--light-gold:var(--color-accent)}.hero{background:linear-gradient(135deg, var(--color-primary) 0%, var(--color-secondary) 100%);flex-direction:column;justify-content:center;align-items:center;min-height:100vh;display:flex;position:relative;overflow:hidden}.hero:before{content:"";pointer-events:none;background:radial-gradient(circle at 20% 80%,#c9a96126 0%,#0000 50%),radial-gradient(circle at 80% 20%,#c9a96126 0%,#0000 50%);position:absolute;inset:0}.hero-content{text-align:center;z-index:1;max-width:800px;padding:2rem}.names{color:#fff;letter-spacing:.05em;text-shadow:2px 2px 4px #0000004d;margin-bottom:1rem;font-size:clamp(2.5rem,8vw,5rem)}.ampersand{color:var(--color-accent);font-size:.8em;font-style:italic}.tagline{color:var(--color-accent);letter-spacing:.15em;text-transform:uppercase;margin-bottom:3rem;font-size:clamp(1rem,3vw,1.5rem)}.date-section{border-top:1px solid #c9a96166;margin-top:2rem;padding-top:2rem}.date{color:#fff;letter-spacing:.1em;font-size:1.5rem}.rsvp-container{background:var(--color-card-bg);border-radius:8px;max-width:600px;margin:0 auto;padding:2rem;box-shadow:0 4px 6px #0000001a}.section-title{color:var(--color-primary);text-align:center;margin-bottom:2rem;font-weight:600}.rsvp-form{flex-direction:column;gap:1.5rem;display:flex}.form-group{flex-direction:column;gap:.5rem;display:flex}.form-label{color:var(--color-text);font-weight:600}.form-input{border:2px solid var(--color-border);border-radius:4px;padding:.75rem 1rem;font-family:inherit;font-size:1rem;transition:border-color .2s}.form-input:focus{border-color:var(--color-primary);outline:none}.btn{background:var(--color-primary);color:#fff;cursor:pointer;border:none;border-radius:4px;padding:.75rem 2rem;font-size:1rem;font-weight:600;transition:background-color .2s}.btn:hover{background:var(--color-secondary)}.btn:disabled{opacity:.6;cursor:not-allowed}.btn-secondary{background:var(--color-text-light)}.btn-secondary:hover{background:var(--color-text)}.guest-info{background:var(--color-background);border-radius:4px;margin-bottom:1.5rem;padding:1rem}.guest-name{color:var(--color-primary);margin-bottom:.5rem;font-size:1.2rem;font-weight:600}.attendance-options{justify-content:center;gap:1rem;display:flex}.attendance-btn{background:var(--color-background);border:2px solid var(--color-border);cursor:pointer;border-radius:4px;padding:1rem 2rem;transition:all .2s}.attendance-btn:hover{border-color:var(--color-primary)}.attendance-btn.active{background:var(--color-primary);color:#fff;border-color:var(--color-primary)}.error-message{color:var(--color-danger);background:var(--color-danger-bg);text-align:center;border-radius:4px;padding:.75rem}.success-message{color:var(--color-success);background:var(--color-success-bg);border-left:4px solid var(--color-success);border-radius:4px;padding:.75rem}.guest-info{text-align:center;background:var(--color-background);border-radius:8px;margin-bottom:2rem;padding:2rem}.guest-name{color:var(--color-primary);margin-bottom:.5rem;font-size:1.5rem}.guest-details{color:var(--color-text)}@media (max-width:768px){.snowpile-container{height:60px!important}}@media (max-width:480px){.snowpile-container{height:50px!important}}.guest-count-selector{justify-content:center;gap:1rem;margin:1.5rem 0;display:flex}.guest-count-btn{border:2px solid var(--color-secondary);width:50px;height:50px;color:var(--color-secondary);cursor:pointer;background:#fff;border-radius:50%;font-size:1.2rem;transition:all .3s}.guest-count-btn:hover,.guest-count-btn.active{background:var(--color-secondary);color:#fff}.attendance-options{justify-content:center;gap:1rem;margin:1.5rem 0;display:flex}.attendance-btn{border:2px solid var(--color-secondary);color:var(--color-secondary);cursor:pointer;background:#fff;border-radius:4px;min-width:120px;padding:1rem 2rem;font-size:1rem;transition:all .3s}.attendance-btn:hover,.attendance-btn.active{color:#fff;background:#8b6914;border-color:#8b6914}.footer{background:var(--color-primary);color:#fff;text-align:center;padding:3rem 2rem}.footer-text{letter-spacing:.05em;font-size:1.2rem}@media (max-width:768px){.section{padding:3rem 1rem}.couple-container{gap:2rem}.placeholder-image{width:200px;height:200px}.rsvp-container{padding:2rem 1.5rem}.attendance-options{flex-direction:column}}@keyframes fall{0%{transform:translateY(0)}to{transform:translateY(100vh)}}
