html{scroll-behavior:smooth}:root{interpolate-size:allow-keywords;--blue: #1e4d9b;--blue-dark: #122d5e;--blue-light: #c8daea;--blue-wash: #e8f1f8;--cream: #fcfaf8;--text: #2a2624}*{box-sizing:border-box;margin:0;padding:0}body{font-family:Georgia,Times New Roman,serif;font-size:1.15rem;line-height:1.7;color:var(--text);background:var(--cream)}main{width:100%}.content{max-width:680px;margin:0 auto;padding:0 1.5rem}h1{font-family:Cormorant Garamond,Georgia,serif;font-size:3.2rem;font-weight:300;letter-spacing:.1em;color:var(--blue-dark);line-height:1.2}h2{font-family:Cormorant Garamond,Georgia,serif;font-size:1.9rem;font-weight:400;letter-spacing:.06em;color:var(--blue-dark);margin-bottom:1.5rem}section{padding:3rem 0}a{color:var(--blue);text-underline-offset:3px;transition:opacity .2s ease}a:hover{opacity:.7}.reveal{opacity:0;transform:translateY(16px);transition:opacity .6s ease,transform .6s ease}.reveal.visible{opacity:1;transform:none}.hero{position:relative;text-align:center;height:100svh;margin-bottom:1rem;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:.75rem;background:var(--blue-light);background-image:url(/hero-placeholder.jpg);background-size:cover;background-position:center}.hero-divider{width:2rem;height:1px;background:var(--blue-dark);opacity:.35}.hero p{font-family:Cormorant Garamond,Georgia,serif;font-style:italic;font-size:1.25rem;letter-spacing:.14em;color:var(--blue-dark);opacity:.75}.hero-scroll-hint{position:absolute;bottom:2rem;font-size:1rem;color:var(--blue-dark);opacity:.4;animation:bob 2.5s ease-in-out infinite}@keyframes bob{0%,to{transform:translateY(0)}50%{transform:translateY(6px)}}@media(min-width:700px){.hero{height:60vh}.hero h1{font-size:5rem}}.photos{display:flex;gap:.5rem;padding:0}.photo-placeholder{flex:1;aspect-ratio:1;background:var(--blue-light)}.calendar-section{display:flex;flex-direction:column;gap:2.5rem}.countdown{display:flex;justify-content:center;gap:.5rem}.countdown-unit{display:flex;flex-direction:column;align-items:center;gap:.25rem}.countdown-value{font-family:Cormorant Garamond,Georgia,serif;font-size:2.8rem;font-weight:300;color:var(--blue-dark);line-height:1}.countdown-label{font-size:.75rem;letter-spacing:.08em;color:var(--blue);opacity:.7;text-transform:lowercase}.countdown-sep{font-size:2rem;color:var(--blue-light);line-height:1.4;padding-bottom:.5rem}.calendar{width:100%;max-width:450px;align-self:center}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:.25rem;text-align:center}.calendar-label{font-size:.8rem;letter-spacing:.06em;color:var(--blue);opacity:.6;padding-bottom:.5rem}.calendar-day{margin:.5em;aspect-ratio:1;display:flex;align-items:center;justify-content:center;font-size:.95rem;color:var(--text)}.calendar-day--wedding{background:var(--blue);color:var(--cream);font-weight:600;border-radius:999px}.calendar-day--empty{pointer-events:none}.location{display:flex;flex-direction:column;gap:.5rem}.schedule{display:flex;flex-direction:column;gap:.25rem}.schedule-item{display:flex;gap:2rem;padding:.5rem 0}.schedule-item span:first-child{font-variant-numeric:tabular-nums;color:var(--blue);min-width:3.5rem;opacity:.9}.rsvp{display:flex;flex-direction:column;gap:2rem}.rsvp-options{display:flex;gap:.75rem}.rsvp-btn{flex:1;padding:.85rem 1rem;border:1px solid var(--blue-light);background:transparent;font:inherit;font-size:.95rem;letter-spacing:.05em;cursor:pointer;color:var(--blue-dark);transition:background .2s ease,border-color .2s ease,color .2s ease,transform .1s ease}.rsvp-btn:hover:not(.rsvp-btn--active){background:var(--blue-wash);border-color:var(--blue)}.rsvp-btn:active{transform:scale(.98)}.rsvp-btn--active{background:var(--blue);color:var(--cream);border-color:var(--blue)}.rsvp-details{display:flex;flex-direction:column;gap:2rem}.rsvp-field{display:flex;flex-direction:column;gap:.6rem}.rsvp-field>p{font-size:1rem;color:var(--blue-dark)}.rsvp-input{padding:.75rem 1rem;border:none;background:var(--blue-wash);font:inherit;font-size:1rem;color:var(--text);width:100%;outline:none;transition:background .2s ease}.rsvp-input:focus{background:var(--blue-light)}.rsvp-input::placeholder{color:var(--blue-dark);opacity:.4}.rsvp-stepper{display:flex;align-items:center;gap:0;width:fit-content}.stepper-btn{width:2.5rem;height:2.5rem;border:1px solid var(--blue-light);background:transparent;font:inherit;font-size:1.2rem;cursor:pointer;color:var(--blue-dark);transition:background .2s ease,border-color .2s ease}.stepper-btn:hover{background:var(--blue-wash);border-color:var(--blue)}.stepper-value{min-width:3rem;text-align:center;font-size:1.1rem;color:var(--text);border-top:1px solid var(--blue-light);border-bottom:1px solid var(--blue-light);height:2.5rem;display:flex;align-items:center;justify-content:center}.faq{display:flex;flex-direction:column;gap:0}.collapsible-trigger{width:100%;display:flex;justify-content:space-between;align-items:center;background:none;border:none;border-top:1px solid var(--blue-wash);padding:1.1rem 0;cursor:pointer;font:inherit;font-size:1.05rem;color:var(--blue-dark);letter-spacing:.02em;transition:color .2s ease}.collapsible-trigger:hover{color:var(--blue)}.collapsible-chevron{stroke:var(--blue-light);flex-shrink:0;transition:transform .3s ease,stroke .2s ease}.collapsible-chevron--open{transform:rotate(180deg)}.collapsible-trigger:hover .collapsible-chevron{stroke:var(--blue)}.collapsible-content{height:0;opacity:0;overflow:hidden;transition:height .3s ease,opacity .3s ease}.collapsible-content--open{height:auto;opacity:1;padding-bottom:1.25rem}.overlay{position:fixed;inset:0;z-index:10;background:var(--blue-dark);animation:fadeOut 1.5s ease-in forwards;animation-delay:.3s;pointer-events:none}@keyframes fadeOut{0%{opacity:1}to{opacity:0}}
