@import "https://fonts.googleapis.com/css2?family=Great+Vibes&family=Cormorant+Garamond:wght@400;500;600&display=swap";html{scroll-behavior:smooth}body{color:#2f3b2f;background:#f5f1e8;margin:0;font-family:Cormorant Garamond,serif}.hero{color:#2f3b2f;text-align:center;background-image:url(/images/wedding-hero.png);background-position:bottom;background-repeat:no-repeat;background-size:cover;justify-content:center;align-items:center;min-height:100vh;display:flex;position:relative;overflow:hidden}.nav{z-index:1000;text-transform:uppercase;letter-spacing:1px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#6e7c68;border-bottom:1px solid #2f3b2f1a;justify-content:center;align-items:center;gap:48px;width:100%;height:72px;font-family:Cormorant Garamond,serif;font-size:1rem;font-weight:600;display:flex;position:fixed;top:0;left:0}.nav a{color:#f5f1e8e6;cursor:pointer;text-decoration:none;transition:color .3s}.nav a:hover{color:#bebbb3e6}.leaf{color:#f5f1e8e6;margin:0 .75rem;font-size:2rem}.hero-content{max-width:800px;margin-top:90px;margin-left:auto;margin-right:auto}.eyebrow,.quote,.date,.time,.location{text-transform:uppercase;letter-spacing:5px;font-family:Cormorant Garamond,serif;font-weight:600}.eyebrow{margin-bottom:4px;font-size:1.1rem}.quote{margin-bottom:20px;font-size:1.2rem}h1{margin:0;font-family:Great Vibes,cursive;font-size:6.5rem;font-weight:400;line-height:.9}.ampersand{margin:4px 0;font-family:Cormorant Garamond,serif;font-size:4rem}.divider{color:#8c9884;margin:24px 0;font-size:1.4rem}.date{color:#fffffff2;text-shadow:0 2px 10px #000,0 0 18px #000;margin-bottom:12px;font-size:1.5rem}.time{color:#fffffff2;text-shadow:0 2px 10px #000,0 0 18px #000;margin-bottom:18px;font-size:1.3rem}.venue{color:#fffffff2;text-shadow:0 2px 10px #000,0 0 18px #000;margin:0 0 8px;font-family:Great Vibes,cursive;font-size:2.6rem}.location{letter-spacing:6px;color:#fffffff2;text-shadow:0 2px 10px #000,0 0 18px #000;margin-bottom:32px;font-size:1.2rem;font-weight:700}.rsvp-reminder{letter-spacing:.12em;text-transform:uppercase;color:#2f3b2f;opacity:.85;margin-top:2rem;font-size:1rem;position:relative}.rsvp-reminder:before,.rsvp-reminder:after{content:"❦";opacity:.7;margin:0 .75rem}button{color:#f5f1e8;text-transform:uppercase;letter-spacing:2px;cursor:pointer;background:#6e7c68;border:1px solid #f5f1e8;border-radius:4px;padding:16px 36px;font-family:Cormorant Garamond,serif;font-size:1rem;transition:all .3s}button:hover{background:#5e6b59;transform:translateY(-2px)}.page-section{color:#2f3b2f;text-align:center;background:#f5f1e8;min-height:70vh;padding:100px 24px}.alt-section{background:#ebe6da}.section-kicker{text-transform:uppercase;letter-spacing:5px;color:#6e7c68;margin:0 0 12px;font-family:Cormorant Garamond,serif;font-size:1rem;font-weight:600}.page-section h2{margin:0 0 24px;font-family:Great Vibes,cursive;font-size:4.5rem;font-weight:400}.page-section p{max-width:700px;margin-left:auto;margin-right:auto;font-family:Cormorant Garamond,serif;font-size:1.4rem;line-height:1.7}.schedule-list{margin-top:24px}.schedule-list p{margin-bottom:12px}.footer{color:#f5f1e8e6;text-align:center;background:#6e7c68;padding:2rem 1rem}.footer-divider{color:#f5f1e8bf;margin-bottom:18px;font-size:1.2rem}.footer-names{margin:0 0 10px;font-family:Great Vibes,cursive;font-size:2.2rem}.footer-date{text-transform:uppercase;letter-spacing:4px;color:#f5f1e8cc;margin:0;font-family:Cormorant Garamond,serif;font-size:.95rem}.page-section p.boldP{color:#3b4738;letter-spacing:.04em;font-size:2rem;font-weight:600;line-height:1.8}.info-card{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#6e7c682e;border-radius:2rem;max-width:650px;margin:2rem auto 0;padding:2.5rem 3rem;box-shadow:0 20px 50px #2f3b2f14}.rsvp-page{min-height:100vh;padding-top:4rem}.rsvp-card{max-width:520px}.rsvp-form{text-align:left;flex-direction:column;gap:1.2rem;font-family:Cormorant Garamond,serif;display:flex}.rsvp-form label,.rsvp-form legend{color:#3b4738;letter-spacing:.02em;font-size:1rem;font-weight:600}.rsvp-form label{flex-direction:column;gap:.45rem;display:flex}.rsvp-form input,.rsvp-form textarea{color:#2f3b2f;background:#ffffffb3;border:1px solid #2f3b2f33;border-radius:.5rem;padding:.85rem 1rem;font-family:inherit;font-size:1rem;transition:all .2s}.rsvp-form input:focus,.rsvp-form textarea:focus{border-color:#2f3b2f73;outline:none;box-shadow:0 0 0 3px #2f3b2f14}.rsvp-form textarea{resize:vertical;min-height:120px}.rsvp-form input::placeholder,.rsvp-form textarea::placeholder{color:#2f3b2f73}.rsvp-form fieldset{border:1px solid #2f3b2f2e;border-radius:.75rem;padding:1rem 1.2rem}.rsvp-form legend{padding:0 .5rem}.rsvp-form fieldset label{flex-direction:row;align-items:center;gap:.55rem;margin-top:.75rem;font-weight:500}.rsvp-form input[type=radio]{width:auto;margin:0}.rsvp-form button{align-self:center;margin-top:.75rem}.back-home{color:#55624f;letter-spacing:.08em;text-transform:uppercase;margin-bottom:2rem;font-size:.95rem;font-weight:600;text-decoration:none;transition:opacity .2s;display:inline-block}.back-home:hover{opacity:.7}@media (width<=768px){.nav{letter-spacing:1.2px;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#6e7c68f5;flex-wrap:nowrap;gap:16px;height:64px;padding:0 4px 0 0;font-size:.72rem;overflow-x:auto}.nav a{color:#f5f1e8;white-space:nowrap;flex-shrink:0}.leaf{display:none}.hero{background-position:72%;background-size:cover;align-items:flex-start;min-height:100svh;padding:64px 16px 28px}.hero-content{max-width:100%;margin-top:80px}.eyebrow{letter-spacing:4px;color:#2f3b2f;font-size:.9rem}.quote{letter-spacing:3px;color:#2f3b2f;margin-bottom:18px;font-size:1rem}h1{color:#243024;font-size:4.4rem;line-height:.9}.ampersand{color:#243024;margin:2px 0;font-size:2.7rem}.divider{color:#6e7c68;margin:16px 0}.date{letter-spacing:3px;color:#fffffff2;text-shadow:0 1px 6px #000,0 0 12px #000;margin-bottom:10px;font-size:1rem}.time{letter-spacing:3px;color:#fffffff2;text-shadow:0 1px 6px #000,0 0 12px #000;margin-bottom:14px;font-size:.82rem}.venue{color:#fffffff2;text-shadow:0 2px 8px #000,0 0 14px #000;font-size:2.05rem}.location{letter-spacing:3px;color:#fffffff2;text-shadow:0 1px 6px #000,0 0 12px #000;margin-bottom:24px;font-size:.82rem;line-height:1.5}button{padding:14px 26px;font-size:.82rem}.page-section{min-height:auto;padding:80px 20px}.page-section h2{font-size:3.2rem}.page-section p{font-size:1.15rem}}
