.app{font-family:"Roboto Serif",serif;color:#503130;background:#fff;min-height:100vh}.header{background:#fff;padding:2rem 0 1rem;text-align:center}.logo-link{text-decoration:none;display:inline-block}.logo{font-family:Pinyon Script,cursive;font-size:3rem;font-weight:400;color:#503130;margin-bottom:1.5rem;letter-spacing:.02em}.navbar{display:flex;justify-content:center;gap:2rem;flex-wrap:wrap;padding:0 2rem}.nav-link{color:#503130;text-decoration:none;font-size:.95rem;font-weight:400;transition:color .3s ease;position:relative}.nav-link:hover{color:#9d202f}.nav-link.active{text-decoration:underline;text-underline-offset:4px;color:#9d202f}.nav-button{background:none;border:none;cursor:pointer;font-family:inherit}.hero{width:100%;height:70vh;min-height:500px;background-size:cover;background-position:center;background-repeat:no-repeat;margin:0}.main-content{position:relative;padding:4rem 2rem;text-align:center;background:#fff}.watercolor-brush{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:80%;max-width:600px;height:120px;background:transparent;border-radius:50%/60% 60% 40% 40%;filter:blur(20px);z-index:0}.content-wrapper{position:relative;z-index:1;max-width:800px;margin:0 auto}.names{margin-bottom:1.5rem}.name-top,.name-bottom{font-family:Pinyon Script,cursive;font-size:3.5rem;font-weight:400;color:#503130;line-height:1.2;letter-spacing:.02em}.name-connector{font-family:"Roboto Serif",serif;font-size:1rem;color:#676232;margin:.5rem 0;font-weight:400}.hashtag{font-family:"Roboto Serif",serif;font-size:.95rem;color:#9b892f;margin-bottom:1.5rem;font-weight:400}.date{font-family:Pinyon Script,cursive;font-size:2.5rem;font-weight:400;color:#503130;margin-bottom:1rem;letter-spacing:.02em}.location{font-family:"Roboto Serif",serif;font-size:1rem;color:#676232;margin-bottom:2.5rem;font-weight:400}.rsvp-button{background:#9d202f;color:#fff;border:none;padding:.875rem 3rem;font-size:1rem;font-weight:400;cursor:pointer;transition:background-color .3s ease;font-family:"Roboto Serif",serif;letter-spacing:.05em;border-radius:8px}.rsvp-button:hover{background:#c86733}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#503130b3;display:flex;align-items:center;justify-content:center;z-index:1000;padding:2rem}.modal-content{background:#fff;border-radius:8px;padding:3rem;max-width:500px;width:100%;position:relative;box-shadow:0 10px 40px #5031304d}.modal-close{position:absolute;top:1rem;right:1.5rem;background:none;border:none;font-size:2rem;cursor:pointer;color:#9b892f;line-height:1;transition:color .3s ease}.modal-close:hover{color:#9d202f}.modal-content h2{font-family:Pinyon Script,cursive;font-size:2.5rem;margin-bottom:2rem;color:#503130;text-align:center;font-weight:400}.rsvp-form{display:flex;flex-direction:column;gap:1rem}.rsvp-form input,.rsvp-form select,.rsvp-form textarea{padding:.875rem;border:1px solid #CDD78A;border-radius:4px;font-size:1rem;font-family:inherit;transition:border-color .3s ease;color:#503130}.rsvp-form input:focus,.rsvp-form select:focus,.rsvp-form textarea:focus{outline:none;border-color:#9d202f}.submit-button{background:#9d202f;color:#fff;border:none;padding:.875rem;font-size:1rem;border-radius:4px;cursor:pointer;transition:background-color .3s ease;font-family:inherit;margin-top:.5rem}.submit-button:hover:not(:disabled){background:#c86733}.submit-button:disabled{opacity:.6;cursor:not-allowed}.submit-message{padding:1rem;border-radius:4px;margin-bottom:1.5rem;text-align:center}.submit-message.success{background:#cdd78a33;color:#503130;border:1px solid #9B892F}.submit-message.error{background:#9d202f1a;color:#503130;border:1px solid #9D202F}.submit-message p{margin:0;font-weight:400}.section{padding:5rem 2rem;background:#fff;scroll-margin-top:100px}.container{max-width:1200px;margin:0 auto}.section-title{font-family:Pinyon Script,cursive;font-size:3.5rem;text-align:center;margin-bottom:3rem;color:#503130;font-weight:400;letter-spacing:.02em}.travel-content{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:2rem;max-width:1000px;margin:0 auto}.travel-item{background:#fff;padding:2rem;border-radius:8px;text-align:center;border:1px solid #CDD78A}.travel-item h3{font-family:Pinyon Script,cursive;font-size:2rem;color:#9d202f;margin-bottom:1rem;font-weight:400}.travel-item p{color:#503130;line-height:1.7;margin-bottom:1rem;font-size:1rem}.travel-item p:last-child{margin-bottom:0}.hotel-booking-container{width:100%;max-width:500px;margin:2rem auto;text-align:center}.hotel-booking-button{display:inline-block;background:#9d202f;color:#fff;text-decoration:none;padding:1rem 2.5rem;border-radius:8px;font-size:1.1rem;font-weight:500;transition:background-color .3s ease;font-family:"Roboto Serif",serif}.hotel-booking-button:hover{background:#c86733;color:#fff}.hotel-note{margin-top:1.5rem;font-size:.9rem;color:#676232;font-style:italic}.faqs-content{max-width:800px;margin:0 auto}.faq-item{background:#fff;padding:2rem;border-radius:8px;margin-bottom:1.5rem;border:1px solid #CDD78A;text-align:left}.faq-item:last-child{margin-bottom:0}.faq-question{font-family:Pinyon Script,cursive;font-size:2rem;color:#9d202f;margin-bottom:1rem;font-weight:400}.faq-answer{color:#503130;line-height:1.7;font-size:1rem;margin:0}.venue-link{color:#9d202f;text-decoration:none;transition:color .3s ease;border-bottom:1px solid transparent}.venue-link:hover{color:#c86733;border-bottom-color:#c86733}@media (max-width: 768px){.logo{font-size:2.5rem}.navbar{gap:1rem;font-size:.85rem}.hero{height:50vh;min-height:400px}.name-top,.name-bottom{font-size:2.5rem}.date{font-size:2rem}.watercolor-brush{width:90%;height:100px}.modal-content{padding:2rem}.section-title{font-size:2.5rem}.travel-content{grid-template-columns:1fr}.hotel-booking-button{padding:.875rem 2rem;font-size:1rem}.section{padding:3rem 1.5rem}.faq-item{padding:1.5rem}.faq-question{font-size:1.75rem}}.things-to-do-content{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:2rem;max-width:1000px;margin:0 auto}.activity-item{background:#fff;padding:2rem;border-radius:8px;text-align:center;border:1px solid #CDD78A}.activity-item h3{font-family:Pinyon Script,cursive;font-size:2rem;color:#9d202f;margin-bottom:1rem;font-weight:400}.activity-item p{color:#503130;line-height:1.7;font-size:1rem;margin:0}@media (max-width: 768px){.things-to-do-content{grid-template-columns:1fr}}*{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-width:320px;min-height:100vh;font-family:Georgia,Times New Roman,serif;background:#fff}#root{width:100%}
