@import "https://fonts.googleapis.com/css2?family=Bodoni+Moda:ital,opsz,wght@0,6..96,400;0,6..96,700;1,6..96,400&family=Jost:ital,wght@0,300;0,400;0,500;1,400&family=DM+Sans:ital,wght@0,300;0,400;0,500;1,300&display=swap";:root{--forest-green:#2f4038;--forest-dark:#1e302a;--cognac:#8b5e3c;--creme-taupe:#d4c9ad;--creme-light:#e8e2d4;--font-display:"Bodoni Moda", serif;--font-label:"Jost", sans-serif;--font-body:"DM Sans", sans-serif}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{font-family:var(--font-body);background:var(--forest-green);color:var(--creme-taupe);-webkit-font-smoothing:antialiased;font-weight:300}a{color:inherit}img{max-width:100%;display:block}.nav{z-index:100;justify-content:space-between;align-items:center;padding:1.25rem 2rem;transition:background .4s,padding .4s;display:flex;position:fixed;top:0;left:0;right:0}.nav.scrolled{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#1e302af2;padding:.75rem 2rem}.nav-logo{font-family:var(--font-display);letter-spacing:.03em;font-size:1rem;font-weight:400;text-decoration:none}.nav-links{gap:2rem;list-style:none;display:flex}.nav-links a{font-family:var(--font-label);letter-spacing:.18em;text-transform:uppercase;color:var(--cognac);font-size:.65rem;font-weight:400;text-decoration:none;transition:color .2s}.nav-links a:hover{color:var(--creme-taupe)}.hero{text-align:center;background:linear-gradient(180deg,var(--forest-dark) 0%,var(--forest-green) 50%,var(--forest-dark) 100%);flex-direction:column;justify-content:center;align-items:center;min-height:100vh;padding:6rem 2rem 4rem;display:flex;position:relative;overflow:hidden}.hero-particles{z-index:0;pointer-events:none;position:absolute;inset:0}.hero-content{z-index:1;position:relative}.date-line{font-family:var(--font-label);letter-spacing:.28em;text-transform:uppercase;color:var(--cognac);margin-bottom:1.5rem;font-size:.85rem;font-weight:400}.couple-names{font-family:var(--font-display);letter-spacing:.03em;margin-bottom:1.25rem;font-size:clamp(3rem,7vw,5.5rem);font-weight:400;line-height:1.1}.couple-names .amp{opacity:.45;vertical-align:middle;margin:0 .2em;font-size:.55em;font-style:italic}.venue-line{color:#d4c9ad66;letter-spacing:.06em;margin-bottom:3rem;font-size:.85rem}.scroll-cue{font-family:var(--font-label);letter-spacing:.2em;text-transform:uppercase;color:var(--cognac);opacity:.4;font-size:.6rem;font-weight:400;animation:2.5s ease-in-out infinite drift}@keyframes drift{0%,to{transform:translateY(0)}50%{transform:translateY(6px)}}.section{max-width:720px;margin:0 auto;padding:6rem 2rem}.section--wide{max-width:960px}.section-label{font-family:var(--font-label);letter-spacing:.22em;text-transform:uppercase;color:var(--cognac);text-align:center;margin-bottom:.75rem;font-size:.72rem;font-weight:400}.section-title{font-family:var(--font-display);text-align:center;letter-spacing:.02em;margin-bottom:2rem;font-size:clamp(1.8rem,4vw,2.8rem);font-weight:400}.divider{justify-content:center;align-items:center;gap:1rem;max-width:180px;margin:3rem auto;display:flex}.divider .line{background:var(--cognac);opacity:.5;flex:1;height:2px}.divider .diamond{background:var(--cognac);opacity:.6;width:8px;height:8px;transform:rotate(45deg)}.body-text{text-align:center;color:#d4c9adbf;max-width:520px;margin:0 auto 1.5rem;font-size:1.05rem;line-height:1.85}.btn{font-family:var(--font-label);letter-spacing:.18em;text-transform:uppercase;cursor:pointer;border:none;border-radius:2px;padding:14px 40px;font-size:.7rem;font-weight:400;text-decoration:none;transition:background .25s,color .25s;display:inline-block}.btn--primary{background:var(--creme-taupe);color:var(--forest-green)}.btn--primary:hover{background:var(--creme-light)}.btn--ghost{color:var(--creme-taupe);border:2px solid var(--cognac);background:0 0}.btn--ghost:hover{background:#8b5e3c26}.timeline{flex-wrap:wrap;justify-content:center;gap:2.5rem;margin:2.5rem auto;display:flex}.timeline-item{text-align:center}.timeline-year{font-family:var(--font-display);margin-bottom:.35rem;font-size:2.2rem;font-weight:400;line-height:1}.timeline-year--accent{color:var(--cognac)}.timeline-label{font-family:var(--font-label);letter-spacing:.18em;text-transform:uppercase;color:var(--cognac);font-size:.6rem;font-weight:400}.timeline-connector{align-items:center;display:flex}.tline{background:var(--cognac);opacity:.4;width:40px;height:2px}.details-grid{grid-template-columns:1fr 1fr;gap:2rem;margin-top:2rem;display:grid}.detail-card{text-align:center;background:#2f403880;border:1px solid #8b5e3c33;border-radius:4px;padding:2rem}.detail-card h3{font-family:var(--font-label);letter-spacing:.18em;text-transform:uppercase;color:var(--cognac);margin-bottom:.75rem;font-size:.68rem;font-weight:400}.detail-card p{color:#d4c9ada6;font-size:.9rem;line-height:1.65}.detail-card strong{color:var(--creme-taupe);font-weight:400}.schedule-list{max-width:480px;margin:2rem auto;list-style:none}.schedule-item{border-bottom:1px solid #8b5e3c26;align-items:baseline;gap:1.5rem;padding:1rem 0;display:flex}.schedule-time{font-family:var(--font-display);text-align:right;flex-shrink:0;min-width:90px;font-size:1.3rem;font-weight:400}.schedule-desc{color:#d4c9adb3;font-size:.92rem;line-height:1.5}.schedule-desc strong{color:var(--creme-taupe);font-weight:400}.rsvp-section{background:var(--forest-dark);padding:6rem 2rem}.rsvp-form{flex-direction:column;gap:1.25rem;max-width:420px;margin:0 auto;display:flex}.form-group{flex-direction:column;gap:.4rem;display:flex}.form-group label{font-family:var(--font-label);letter-spacing:.15em;text-transform:uppercase;color:var(--cognac);font-size:.62rem;font-weight:400}.form-group input,.form-group select,.form-group textarea{font-family:var(--font-body);color:var(--creme-taupe);background:#2f403899;border:1px solid #8b5e3c4d;border-radius:2px;outline:none;padding:12px 16px;font-size:.92rem;font-weight:300;transition:border-color .2s}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:var(--cognac)}.form-group input::placeholder,.form-group textarea::placeholder{color:#d4c9ad4d}.form-row{grid-template-columns:1fr 1fr;gap:1rem;display:grid}.rsvp-form .btn{text-align:center;width:100%;margin-top:.5rem}.registry-links{flex-wrap:wrap;justify-content:center;gap:1.5rem;margin-top:2rem;display:flex}.faq-list{max-width:580px;margin:2rem auto}.faq-item{border-bottom:1px solid #8b5e3c26;padding:1.5rem 0}.faq-q{font-family:var(--font-display);margin-bottom:.65rem;font-size:1.1rem;font-weight:400}.faq-a{color:#d4c9ad99;font-size:.9rem;line-height:1.7}.directions-grid{grid-template-columns:1fr 1fr;align-items:start;gap:2rem;margin-top:2rem;display:grid}.map-placeholder{color:#d4c9ad40;height:300px;font-family:var(--font-label);letter-spacing:.15em;text-transform:uppercase;background:#1e302acc;border:1px solid #8b5e3c33;border-radius:4px;justify-content:center;align-items:center;font-size:.65rem;display:flex}.directions-info h3{font-family:var(--font-label);letter-spacing:.18em;text-transform:uppercase;color:var(--cognac);margin-bottom:.75rem;font-size:.68rem;font-weight:400}.directions-info p{color:#d4c9ada6;margin-bottom:1.25rem;font-size:.9rem;line-height:1.65}.footer{text-align:center;background:var(--forest-dark);border-top:1px solid #8b5e3c1a;padding:4rem 2rem}.footer-names{font-family:var(--font-display);letter-spacing:.03em;margin-bottom:.5rem;font-size:1.6rem;font-weight:400}.footer-names .amp{opacity:.4;margin:0 .15em;font-size:.6em;font-style:italic}.footer-date{font-family:var(--font-label);letter-spacing:.2em;text-transform:uppercase;color:var(--cognac);margin-bottom:1.5rem;font-size:.62rem;font-weight:400}.footer-hashtag{color:#d4c9ad59;font-size:.82rem;font-weight:300}.gate-overlay{z-index:9999;background:var(--forest-dark);justify-content:center;align-items:center;padding:2rem;display:flex;position:fixed;inset:0}.gate-card{text-align:center;flex-direction:column;gap:1.25rem;width:100%;max-width:380px;display:flex}.gate-logo{font-family:var(--font-display);letter-spacing:.06em;color:var(--creme-taupe);font-size:1.4rem;font-weight:400}.gate-title{font-family:var(--font-display);letter-spacing:.02em;color:var(--creme-taupe);font-size:clamp(1.6rem,4vw,2.2rem);font-weight:400}.gate-subtitle{color:#d4c9ad8c;margin:0;font-size:.9rem;line-height:1.65}.gate-field{text-align:left;flex-direction:column;gap:.4rem;display:flex}.gate-field label{font-family:var(--font-label);letter-spacing:.15em;text-transform:uppercase;color:var(--cognac);font-size:.62rem;font-weight:400}.gate-field input{font-family:var(--font-body);color:var(--creme-taupe);background:#2f403899;border:1px solid #8b5e3c4d;border-radius:2px;outline:none;padding:14px 16px;font-size:.95rem;font-weight:300;transition:border-color .2s}.gate-field input:focus{border-color:var(--cognac)}.gate-field input::placeholder{color:#d4c9ad4d}.gate-error{color:#c0534f;text-align:center;font-size:.82rem}.gate-btn{width:100%;margin-top:.25rem}.gate-btn:disabled{opacity:.6;cursor:not-allowed}@media (width<=700px){.nav-links{display:none}.details-grid,.directions-grid,.form-row{grid-template-columns:1fr}.timeline-connector{display:none}.timeline{gap:1rem}}
