@import"https://fonts.googleapis.com/css2?family=Bagel+Fat+One&family=Fredoka+One&family=Nunito:wght@400;700;800&family=Comfortaa:wght@400;700&family=Quicksand:wght@400;600;700&family=Playfair+Display:wght@400;500;600&family=Cinzel:wght@400;500;600&family=Libre+Baskerville:wght@400;700&family=Spectral:wght@400;500;600&family=Merriweather:wght@300;400;700&family=Libre+Caslon+Text:wght@400;700&display=swap";@import"https://fonts.googleapis.com/css2?family=Bagel+Fat+One&family=Nunito:wght@400;500;600&display=swap";.hero{position:relative;height:100vh;min-height:600px;display:flex;align-items:flex-start;justify-content:center;padding-top:5vh;overflow:hidden}.hero-background{position:absolute;top:0;left:0;right:0;bottom:0;background-size:cover;background-position:center 70%;background-repeat:no-repeat;opacity:.7;z-index:0}.hero-background:after{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(135deg,#0a1f12 0%,var(--forest-green-dark) 50%,var(--jewel-teal) 100%);opacity:.4}.hero-content{position:relative;z-index:2;text-align:center;color:var(--text-light);padding:2rem;animation:fadeInUp 1s ease-out}.hero-title{font-family:var(--font-heading);font-size:clamp(3rem,8vw,6rem);font-weight:400;letter-spacing:.02em;margin-bottom:.75rem;text-shadow:2px 2px 8px rgba(0,0,0,.3)}.hero-title:after{content:"";display:block;width:min(220px,75%);height:1px;margin:.75rem auto 0;background:linear-gradient(90deg,#fff0,#fff9,#fff0)}.hero-date{font-family:var(--font-heading);font-size:clamp(1.5rem,4vw,2.5rem);font-weight:400;letter-spacing:.05em;margin-bottom:1.5rem;opacity:.9;text-shadow:1px 1px 4px rgba(0,0,0,.3)}.hero-subtitle{font-family:var(--font-heading);font-size:clamp(1.25rem,3vw,2rem);font-weight:300;letter-spacing:.05em;opacity:.95;margin-top:.75rem}.hero-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(to bottom,rgba(10,31,18,.3) 0%,transparent 50%,rgba(10,31,18,.4) 100%);pointer-events:none}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@media (max-width: 768px){.hero{min-height:500px}.hero-content{padding:1rem}}@media (min-width: 769px){.hero-title:after{width:min(800px,70%)}}.font-showcase{padding:4rem 2rem;background:var(--cream);border-top:2px solid var(--forest-green-light)}.info-message{max-width:800px;margin:0 auto;text-align:center;padding:3rem 2rem}.info-text{font-family:Quicksand,sans-serif;font-size:clamp(1.25rem,3vw,1.75rem);font-weight:600;color:var(--forest-green-dark);line-height:1.6;letter-spacing:.02em;margin:0}.showcase-title{font-family:var(--font-serif);font-size:clamp(2rem,4vw,3rem);color:var(--forest-green-dark);text-align:center;margin-bottom:3rem;font-weight:400}.font-options{max-width:1000px;margin:0 auto;display:flex;flex-direction:column;gap:3rem}.font-option{padding:2rem;background:#fff;border-radius:8px;box-shadow:0 2px 10px #0d28181a}.font-name{font-size:1.1rem;color:var(--forest-green-medium);margin-bottom:1.5rem;font-weight:600}.font-sample{display:flex;flex-direction:column;gap:1rem}.sample-title{font-size:clamp(2rem,4vw,3rem);font-weight:400;color:var(--forest-green-dark);margin-bottom:.5rem}.sample-subtitle{font-size:clamp(1.25rem,2vw,1.5rem);font-weight:300;color:var(--forest-green-medium);margin-bottom:.5rem}.sample-text{font-size:1rem;line-height:1.6;color:var(--text-dark)}.bagel .sample-title{font-family:Bagel Fat One,cursive;font-weight:400;letter-spacing:.02em}.bagel .sample-subtitle,.bagel .sample-text{font-family:Quicksand,sans-serif;font-weight:700}.fredoka .sample-title,.fredoka .sample-subtitle,.fredoka .sample-text{font-family:Fredoka One,cursive;font-weight:400;letter-spacing:.02em}.nunito .sample-title,.nunito .sample-subtitle,.nunito .sample-text{font-family:Nunito,sans-serif}.nunito .sample-title{font-weight:800}.nunito .sample-subtitle{font-weight:700}.nunito .sample-text{font-weight:400}.comfortaa .sample-title,.comfortaa .sample-subtitle,.comfortaa .sample-text{font-family:Comfortaa,cursive}.comfortaa .sample-title,.comfortaa .sample-subtitle{font-weight:700}.comfortaa .sample-text{font-weight:400}.quicksand .sample-title,.quicksand .sample-subtitle,.quicksand .sample-text{font-family:Quicksand,sans-serif}.quicksand .sample-title{font-weight:700}.quicksand .sample-subtitle{font-weight:600}.quicksand .sample-text{font-weight:400}.playfair .sample-title,.playfair .sample-subtitle,.playfair .sample-text{font-family:Playfair Display,serif}.playfair .sample-title{font-weight:600}.playfair .sample-subtitle{font-weight:400}.cinzel .sample-title,.cinzel .sample-subtitle,.cinzel .sample-text{font-family:Cinzel,serif;text-transform:none;font-variant:normal}.cinzel .sample-title{font-weight:600}.cinzel .sample-subtitle{font-weight:400}.baskerville .sample-title,.baskerville .sample-subtitle,.baskerville .sample-text{font-family:Libre Baskerville,serif}.baskerville .sample-title{font-weight:700}.baskerville .sample-subtitle{font-weight:400}.spectral .sample-title,.spectral .sample-subtitle,.spectral .sample-text{font-family:Spectral,serif}.spectral .sample-title{font-weight:600}.spectral .sample-subtitle{font-weight:400}.merriweather .sample-title,.merriweather .sample-subtitle,.merriweather .sample-text{font-family:Merriweather,serif}.merriweather .sample-title{font-weight:700}.merriweather .sample-subtitle{font-weight:300}.caslon .sample-title,.caslon .sample-subtitle,.caslon .sample-text{font-family:Libre Caslon Text,serif}.caslon .sample-title{font-weight:700}.caslon .sample-subtitle{font-weight:400}.current .sample-title,.current .sample-subtitle,.current .sample-text{font-family:Georgia,Times New Roman,serif}.current .sample-title{font-weight:400}.current .sample-subtitle{font-weight:300}@media (max-width: 768px){.font-showcase{padding:3rem 1.5rem}.info-message{padding:2rem 1.5rem}}.location{padding:6rem 2rem;background:linear-gradient(to bottom,#1a3d2e 0%,var(--forest-green-dark) 50%,var(--jewel-teal) 100%);position:relative}.location:before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(to right,transparent,var(--forest-green-light),transparent)}.location-content{animation:fadeIn 1s ease-out .5s both}.location-header{text-align:center;margin-bottom:4rem}.location-title{font-family:var(--font-heading);font-size:clamp(2.5rem,6vw,4rem);color:var(--text-light);margin-bottom:1.5rem;font-weight:400;letter-spacing:.02em}.location-divider{width:150px;height:3px;background:linear-gradient(to right,transparent,var(--forest-green-lightest),transparent);margin:0 auto}.location-details{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:2.5rem;max-width:1200px;margin:0 auto}.location-card{background:var(--cream);padding:2.5rem;border-radius:12px;box-shadow:0 4px 20px #0d28184d;transition:transform .3s ease,box-shadow .3s ease;border:1px solid rgba(255,255,255,.5)}.location-card:hover{transform:translateY(-5px);box-shadow:0 8px 30px #0d281866}.card-title{font-family:var(--font-heading);font-size:clamp(1.5rem,3vw,1.75rem);color:var(--forest-green-dark);margin-bottom:1rem;font-weight:400;letter-spacing:.02em;position:relative;padding-bottom:.75rem}.card-title:after{content:"";position:absolute;bottom:0;left:0;width:50px;height:2px;background:var(--forest-green-medium)}.card-text{font-family:var(--font-body);font-size:clamp(.95rem,1.5vw,1.1rem);color:var(--text-dark);line-height:1.8;margin-bottom:1rem;overflow-wrap:break-word;word-wrap:break-word;-webkit-hyphens:auto;hyphens:auto}.card-text:last-child{margin-bottom:0}.card-text strong{color:var(--forest-green-dark);font-weight:600}.accommodation-link{display:inline-block;color:var(--jewel-teal);text-decoration:none;font-weight:500;margin-top:.5rem;transition:color .3s ease;overflow-wrap:break-word;word-break:break-word}.accommodation-link:hover{color:var(--forest-green-dark);text-decoration:underline}.venue-image{margin-top:1.5rem;border-radius:8px;overflow:hidden;box-shadow:0 2px 10px #0d281833}.venue-image img{width:100%;height:auto;display:block}@media (max-width: 768px){.location{padding:4rem 1.5rem}.location-header{margin-bottom:3rem}.location-details{grid-template-columns:1fr;gap:2rem}.location-card{padding:2rem}}.rsvp{padding:6rem 2rem;background:var(--forest-green-dark);position:relative;overflow:hidden}.rsvp:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background-image:radial-gradient(circle at 30% 30%,rgba(74,124,124,.2) 0%,transparent 50%),radial-gradient(circle at 70% 70%,rgba(61,124,107,.15) 0%,transparent 50%);pointer-events:none}.rsvp-content{position:relative;z-index:2;text-align:center;max-width:700px;margin:0 auto;color:var(--text-light);animation:fadeIn 1s ease-out .7s both}.rsvp-title{font-family:var(--font-heading);font-size:clamp(2.5rem,6vw,4rem);margin-bottom:1.5rem;font-weight:400;letter-spacing:.02em;color:var(--text-light)}.rsvp-description{font-family:var(--font-body);font-size:clamp(1rem,2vw,1.25rem);margin-bottom:3rem;line-height:1.8;opacity:.95}.rsvp-button{display:inline-flex;align-items:center;justify-content:center;gap:.5em;padding:2rem 5rem;background:var(--jewel-teal);color:var(--text-light);font-family:var(--font-heading);font-size:clamp(1.5rem,3vw,2rem);font-weight:400;text-decoration:none;border-radius:50px;transition:all .3s ease;box-shadow:0 4px 15px #4a7c7c66;letter-spacing:.02em;white-space:nowrap;line-height:1.2}.rsvp-button:hover{transform:translateY(-3px);box-shadow:0 6px 25px #4a7c7c80;background:#5a9c9c}.rsvp-button:active{transform:translateY(-1px)}.rsvp-button-text{display:inline-block}.rsvp-button-arrow{display:inline-block;font-size:1em;line-height:1;transition:transform .3s ease}.rsvp-button:hover .rsvp-button-arrow{transform:translate(5px)}.rsvp-note{font-family:var(--font-body);margin-top:2.5rem;font-size:clamp(.9rem,1.5vw,1rem);opacity:.85;font-style:italic}.proposal-subtitle{font-family:var(--font-body);font-size:clamp(.9rem,1.5vw,1rem);text-align:center;color:var(--text-light);margin-top:4rem;margin-bottom:2rem;opacity:.8;font-style:italic;letter-spacing:.05em}.proposal-gallery{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;max-width:1000px;margin:0 auto}.proposal-item{position:relative;overflow:hidden;border-radius:8px;aspect-ratio:3 / 4;opacity:.85;transition:opacity .3s ease,transform .3s ease}.proposal-item:hover{opacity:1;transform:scale(1.02)}.proposal-item img{width:100%;height:100%;object-fit:cover;display:block}@keyframes fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@media (max-width: 1024px){.proposal-gallery{grid-template-columns:repeat(2,1fr);gap:1rem}}@media (max-width: 768px){.rsvp{padding:4rem 1.5rem}.rsvp-button{padding:1.5rem 3.5rem;font-size:clamp(1.3rem,2.5vw,1.6rem)}.proposal-gallery{grid-template-columns:repeat(2,1fr);gap:.75rem}.proposal-subtitle{margin-bottom:1.5rem}}.footer{padding:4rem 2rem 3rem;background:var(--forest-green-medium);color:var(--text-light);position:relative}.footer:before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(to right,transparent,rgba(255,255,255,.2),transparent)}.footer-content{text-align:center;max-width:600px;margin:0 auto}.footer-text{font-family:var(--font-body);font-size:clamp(1rem,2vw,1.15rem);line-height:1.8;margin-bottom:1.5rem;opacity:.95}.footer-names{font-family:var(--font-heading);font-size:clamp(1.25rem,3vw,1.5rem);font-weight:400;letter-spacing:.02em;display:block;margin-top:.5rem;color:var(--jewel-teal)}.footer-divider{width:100px;height:1px;background:#ffffff4d;margin:2.5rem auto}.footer-note{font-family:var(--font-body);font-size:clamp(.9rem,1.5vw,1rem);opacity:.8;font-style:italic}@media (max-width: 768px){.footer{padding:3rem 1.5rem 2rem}}.app{width:100%;min-height:100vh;overflow-x:hidden}:root{--forest-green-dark: #0d2818;--forest-green-medium: #1a3d2e;--forest-green-light: #2d4d3f;--forest-green-lighter: #3d5d4f;--forest-green-lightest: #4d6d5f;--cream: #f5f5f0;--jewel-blue: #4a6fa5;--jewel-teal: #4a7c7c;--jewel-emerald: #3d7c6b;--jewel-off-white: #f5f0e8;--accent-color: #4a7c7c;--text-dark: #1a1a1a;--text-light: #ffffff;--font-heading: "Bagel Fat One", cursive;--font-serif: "Bagel Fat One", cursive;--font-body: "Nunito", sans-serif;--font-sans: "Nunito", sans-serif}*{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth}body{font-family:var(--font-body);color:var(--text-dark);background-color:var(--cream);line-height:1.7;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#root{min-height:100vh}
