@import "https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,300;0,400;0,500;0,600;1,300;1,400;1,500&family=Lato:wght@300;400;700&display=swap";@import "https://fonts.googleapis.com/css2?family=DM+Serif+Display:ital@0;1&family=Archivo:wght@400;500;600;700&family=IBM+Plex+Mono:wght@400;500;600&display=swap";@import "https://fonts.googleapis.com/css2?family=Jost:wght@300;400;500&family=EB+Garamond:wght@400;500&display=swap";:root{--bg:#f2efe6;--surface:#fafaf5;--surface-alt:#efe9d8;--accent-light:#c9a84c;--accent:#2a5c3a;--accent-secondary:#9a7c1e;--accent-dark:#1a3d28;--text:#1a2118;--border:#c8d0bc;--text-secondary:#4d6445;--text-tertiary:#6b7a6c;color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Lato,sans-serif;font-weight:300}*{box-sizing:border-box;margin:0;padding:0}h1,h2,h3{font-family:Cormorant Garamond,serif;font-weight:500}a{color:inherit;text-decoration:none}nav{z-index:100;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid var(--border);background:#faf7f2eb;width:100%;position:fixed;top:0}.nav-bar{justify-content:center;align-items:center;padding:clamp(.6rem,1.5vw,.85rem) clamp(1rem,4vw,2rem) 0;display:flex;position:relative}.nav-title{color:var(--text);font-family:Cormorant Garamond,serif;font-size:clamp(1rem,2.5vw,1.2rem);font-style:italic;transition:color .2s}.nav-title:hover{color:var(--accent)}.nav-toggle{display:none}.nav-links{flex-wrap:wrap;justify-content:center;gap:clamp(.5rem,2vw,2.5rem);padding:.35rem clamp(1rem,4vw,2rem) clamp(.5rem,1.5vw,.75rem);display:flex}nav a{letter-spacing:.15em;text-transform:uppercase;color:var(--text-secondary);white-space:nowrap;font-size:clamp(.65rem,2vw,.75rem);transition:color .2s}.nav-links a:hover{color:var(--accent)}@media (width<=600px){.nav-bar{justify-content:space-between;padding:.65rem 1rem}.nav-toggle{cursor:pointer;background:0 0;border:none;flex-direction:column;justify-content:center;gap:4px;width:22px;height:16px;padding:0;display:flex}.nav-toggle span{background:var(--text-secondary);height:1.5px;transition:transform .25s,opacity .2s;display:block}.nav-toggle--open span:first-child{transform:translateY(5px)rotate(45deg)}.nav-toggle--open span:nth-child(2){opacity:0}.nav-toggle--open span:nth-child(3){transform:translateY(-5px)rotate(-45deg)}.nav-links{opacity:0;flex-direction:column;align-items:center;gap:.85rem;max-height:0;padding:0 .5rem;transition:max-height .3s,opacity .25s;overflow:hidden}.nav-links--open{opacity:1;max-height:280px;padding:.5rem .5rem 1rem}nav a{letter-spacing:.12em;font-size:.75rem}}section{padding:6rem 2rem}.section-label{letter-spacing:.25em;text-transform:uppercase;color:var(--accent);margin-bottom:.75rem;font-size:.7rem}section h2{margin-bottom:.75rem;font-size:clamp(2rem,4vw,2.8rem)}.subtitle{color:var(--text-secondary);margin-bottom:3rem;font-size:.95rem;line-height:1.7}.wrap{max-width:1080px;margin:0 auto}.band{border-top:1px solid var(--border);padding:clamp(48px,7vw,96px) clamp(20px,5vw,64px)}.band--tint{background:var(--surface-alt)}.band--center{text-align:center}#rsvp{text-align:center;max-width:560px;margin:0 auto}#rsvp h2{margin-bottom:.75rem;font-size:clamp(2rem,4vw,2.8rem)}#rsvp .subtitle{margin-bottom:2.5rem}form{text-align:left;flex-direction:column;gap:1rem;display:flex}label{letter-spacing:.15em;text-transform:uppercase;color:var(--text-secondary);margin-bottom:.35rem;font-size:.7rem;display:block}input,select,textarea{border:1px solid var(--border);background:var(--surface);width:100%;color:var(--text);appearance:none;border-radius:4px;padding:.75rem 1rem;font-family:Lato,sans-serif;font-size:1rem;transition:border-color .2s}input:focus,select:focus,textarea:focus{border-color:var(--accent);outline:none}textarea{resize:vertical;min-height:100px}.submit-btn{background:var(--accent);color:var(--surface);letter-spacing:.2em;text-transform:uppercase;cursor:pointer;border:none;border-radius:4px;align-self:center;margin-top:.5rem;padding:.85rem 2.5rem;font-family:Lato,sans-serif;font-size:.75rem;transition:background .2s}.submit-btn:hover{background:var(--text)}.success-msg{color:var(--accent-dark);text-align:center;padding:1.5rem;font-family:Cormorant Garamond,serif;font-size:1.4rem;font-style:italic}.guest-block{text-align:left}.guest-block--divided{border-top:1px solid var(--border);margin-top:1.75rem;padding-top:1.75rem}.guest-name{color:var(--text);text-align:center;margin-bottom:.5rem;font-family:Cormorant Garamond,serif;font-size:1.25rem;font-style:italic}.menu-section{margin-top:1rem}.menu-section>label{margin-bottom:.5rem;display:block}.dietary-toggle{margin-top:.75rem}.plus-one-btn{border:1px dashed var(--border);letter-spacing:.12em;text-transform:uppercase;width:100%;color:var(--text-secondary);cursor:pointer;background:0 0;border-radius:4px;padding:.85rem 1rem;font-family:Lato,sans-serif;font-size:.8rem;transition:border-color .2s,color .2s}.plus-one-btn:hover{border-color:var(--accent);color:var(--text)}.secondary-btn{width:100%;max-width:320px;color:var(--text-secondary);border:1px solid var(--border);letter-spacing:.2em;text-transform:uppercase;cursor:pointer;background:0 0;border-radius:4px;padding:.85rem 2rem;font-family:Lato,sans-serif;font-size:.75rem;transition:border-color .2s,color .2s}.secondary-btn:hover{border-color:var(--text);color:var(--text)}.back-btn{color:var(--text-secondary);cursor:pointer;letter-spacing:.05em;background:0 0;border:none;margin:.75rem auto 0;font-family:Lato,sans-serif;font-size:.8rem;display:block}.back-btn:hover{color:var(--text)}.error-msg{color:#b94040;text-align:center;margin-top:.75rem;font-size:.875rem}button:disabled{opacity:.6;cursor:not-allowed}footer{text-align:center;border-top:1px solid var(--border);letter-spacing:.1em;color:var(--text-secondary);padding:2.5rem 2rem;font-size:.75rem}footer .names{color:var(--text);margin-bottom:.35rem;font-family:Cormorant Garamond,serif;font-size:1.2rem;font-style:italic}
