*{margin:0;padding:0;box-sizing:border-box}:root{--burgundy: #6c150d;--cream: #FAF9F6}html,body{height:100%}body{background-color:var(--cream);color:var(--burgundy);font-family:Cormorant Garamond,Georgia,serif}.hero{min-height:100dvh;display:flex;align-items:center;justify-content:center;padding:2rem 1rem;position:relative}@supports not (min-height: 100dvh){.hero{min-height:100vh}}.hero-content{text-align:center;width:min(90vw,clamp(520px,50vw,700px));position:relative;padding:clamp(3rem,6vw,5rem) clamp(2.5rem,5vw,4rem)}.corner{position:absolute;width:40px;height:40px;border-color:var(--burgundy);border-style:solid;border-width:0}.corner-tl{top:0;left:0;border-top-width:1px;border-left-width:1px}.corner-tr{top:0;right:0;border-top-width:1px;border-right-width:1px}.corner-bl{bottom:0;left:0;border-bottom-width:1px;border-left-width:1px}.corner-br{bottom:0;right:0;border-bottom-width:1px;border-right-width:1px}.subtitle{font-size:clamp(.875rem,1.1vw,1.05rem);letter-spacing:.3em;text-transform:uppercase;margin-bottom:2rem}.heading-image{margin:1rem auto 0;max-width:clamp(360px,42vw,560px)}.heading-image img{width:100%;height:auto}.illustration{margin:1.5rem auto;max-width:clamp(400px,46vw,620px)}.illustration img{width:100%;height:auto}.date{font-size:clamp(1.5rem,2.6vw,2.25rem);font-weight:400;margin-bottom:.5rem}.venue{font-size:clamp(.875rem,1vw,1.05rem);letter-spacing:.25em;text-transform:uppercase;white-space:nowrap}.venue a{color:var(--burgundy);font-size:inherit;text-decoration:none;border-bottom:1px solid rgba(108,21,13,.15);transition:border-color .3s}.venue a:hover{border-bottom-color:var(--burgundy)}.scroll-hint{position:absolute;bottom:2rem;left:50%;transform:translate(-50%);display:flex;flex-direction:column;align-items:center;gap:.4rem;text-decoration:none;color:var(--burgundy);animation:gentleBounce 2s ease-in-out 2s infinite}.scroll-hint-text{font-size:.75rem;letter-spacing:.2em;text-transform:uppercase;opacity:.85}.scroll-hint svg{width:22px;height:22px;stroke:var(--burgundy);opacity:.8}.post-hero{min-height:100dvh;display:flex;flex-direction:column;justify-content:center}@supports not (min-height: 100dvh){.post-hero{min-height:100vh}}.rsvp-section{padding:5rem 1.5rem;text-align:center;max-width:480px;margin:0 auto}.rsvp-heading{font-size:.875rem;letter-spacing:.3em;text-transform:uppercase;margin-bottom:2rem}.form-group{margin-bottom:1.25rem;text-align:left}.form-label{display:block;font-size:.75rem;letter-spacing:.15em;text-transform:uppercase;margin-bottom:.5rem;opacity:.7}.form-input{width:100%;padding:.75rem 1rem;border:1px solid rgba(108,21,13,.12);background:transparent;color:var(--burgundy);font-family:Cormorant Garamond,Georgia,serif;font-size:1.05rem;border-radius:0;outline:none;transition:border-color .3s}.form-input:focus{border-color:var(--burgundy)}.form-input::placeholder{color:var(--burgundy);opacity:.35}.guest-row{text-align:left;margin-bottom:1.5rem}.input-row{display:flex;gap:.5rem;align-items:stretch}.input-row .form-input{flex:1}.remove-btn{background:none;border:1px solid rgba(108,21,13,.12);color:var(--burgundy);width:42px;flex-shrink:0;cursor:pointer;font-size:1.2rem;opacity:.5;transition:opacity .3s}.remove-btn:hover{opacity:1}.veg-checkbox{display:inline-flex;align-items:center;gap:.5rem;margin-top:.6rem;font-size:.75rem;letter-spacing:.15em;text-transform:uppercase;opacity:.65;cursor:pointer;user-select:none;transition:opacity .3s}.veg-checkbox:hover{opacity:1}.veg-checkbox input[type=checkbox]{appearance:none;-webkit-appearance:none;width:16px;height:16px;flex-shrink:0;border:1px solid rgba(108,21,13,.35);background:transparent;cursor:pointer;margin:0;padding:0;position:relative;transition:border-color .2s,background .2s}.veg-checkbox input[type=checkbox]:after{content:"";position:absolute;top:50%;left:50%;width:9px;height:5px;border-left:1.5px solid var(--cream);border-bottom:1.5px solid var(--cream);transform:translate(-50%,-65%) rotate(-45deg);opacity:0;transition:opacity .15s}.veg-checkbox input[type=checkbox]:hover{border-color:var(--burgundy)}.veg-checkbox input[type=checkbox]:checked{background:var(--burgundy);border-color:var(--burgundy)}.veg-checkbox input[type=checkbox]:checked:after{opacity:1}.add-guest-btn{background:none;border:none;color:var(--burgundy);font-family:Cormorant Garamond,Georgia,serif;font-size:.85rem;letter-spacing:.1em;cursor:pointer;opacity:.6;transition:opacity .3s;margin-bottom:1.5rem;display:inline-block}.add-guest-btn:hover{opacity:1}.submit-btn{background:var(--burgundy);color:var(--cream);border:none;font-family:Cormorant Garamond,Georgia,serif;font-size:.85rem;letter-spacing:.25em;text-transform:uppercase;padding:.9rem 2.5rem;cursor:pointer;transition:opacity .3s;margin-top:1rem}.submit-btn:hover{opacity:.85}.divider{width:60px;height:1px;background:#6c150d1f;margin:0 auto}.info-section{padding:5rem 1.5rem;text-align:center;max-width:520px;margin:0 auto}.info-heading{font-size:clamp(1.5rem,4vw,2rem);font-weight:400;margin-bottom:1.5rem}.info-details{font-size:1.05rem;line-height:1.4;opacity:.85}.info-details p{margin-bottom:.25rem}@keyframes gentleBounce{0%,to{transform:translate(-50%) translateY(0)}50%{transform:translate(-50%) translateY(6px)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.hero-fade{animation:fadeIn 1.8s ease .3s both}@media(prefers-reduced-motion:reduce){.hero-fade{animation:none}}.fade-in{opacity:0;transition:opacity .8s ease}.fade-in.visible{opacity:1}.rsvp-status{text-align:center;padding:1rem 0}.success-heading{font-size:clamp(1.5rem,4vw,2rem);font-weight:400;margin-bottom:1rem}.success-message{font-size:1.05rem;line-height:1.4;opacity:.85}.rsvp-error{color:var(--burgundy);text-align:center;margin-top:1rem;font-size:.95rem;opacity:.85}.submit-btn:disabled{opacity:.6;cursor:wait}
