*{margin:0;padding:0;box-sizing:border-box}@font-face{font-family:Montserrat;src:url(Montserrat-VF.ttf)}@font-face{font-family:Caveat;src:url(Caveat-VF.ttf)}body{font-family:Montserrat,sans-serif;font-size:1.1rem;line-height:1.6;background:#e8dcc0}a{text-decoration:none;color:inherit}a:focus{outline:2px solid #4a3712;outline-offset:2px}.wedding-website{min-height:100vh;background:linear-gradient(135deg,#e8dcc0,#ddd2b8);font-family:Montserrat,sans-serif;padding:1rem;display:flex;align-items:flex-start;justify-content:center}.wedding-page-content{width:100%;max-width:500px}.wedding-page-card{background:#fff;border-radius:16px;box-shadow:0 16px 48px #5b3a2e26;padding:0;width:100%;text-align:center;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);overflow:hidden}.top-nav{display:flex;justify-content:space-between;align-items:center;padding:26px;background:#3b1d0efa;border-radius:16px 16px 0 0;box-shadow:none}.rsvp-btn{font-family:Montserrat,sans-serif;font-size:1.3rem;font-weight:300;display:inline-block;background:#dcc9a826;padding:10px 24px;border-radius:12px;cursor:pointer;transition:all .3s ease;text-decoration:none;color:#fff;letter-spacing:.5px}.rsvp-btn:hover{background:#fff;color:#68584a}.menu-container{position:relative}.menu-btn{background:#dcc9a826;border:none;padding:12px 20px;border-radius:12px;cursor:pointer;transition:all .3s ease;color:#fff;letter-spacing:.5px;min-width:60px}.menu-btn-text{font-family:Montserrat,sans-serif;font-size:1.3rem;font-weight:300!important}.menu-btn-icon{font-family:Montserrat,sans-serif;font-size:1.3rem;font-weight:100!important;position:relative;top:-1px}.menu-btn:hover{background:#fff;color:#68584a}.dropdown-menu{position:absolute;top:calc(100% + 10px);right:0;background:#573b28;border:1px solid rgba(220,201,168,.3);border-radius:12px;box-shadow:0 8px 25px #0000004d;min-width:180px;z-index:100;overflow:hidden}.menu-item{font-size:1.2rem;display:block;width:100%;padding:18px 24px;text-align:left;background:none;cursor:hand;transition:all .2s ease;color:#fff;font-weight:500;border-bottom:1px solid #ffffff30}.menu-item:hover{background:#dcc9a826;color:#f2ebdd}.home-page-bg{position:relative}.home-page-bg:before{content:"";position:absolute;inset:0;background:url(home-cover3.webp) no-repeat center center;background-size:cover;z-index:-1}.home-page-bg:after{content:"";position:absolute;inset:0;background:#0000001f;z-index:-1}.home-page{padding-top:2rem;padding-bottom:8rem;color:#fff;background:transparent;min-height:75vh}.page-content{padding:2rem;background:#e6dabf47}.page-content.home-page-bg{background:transparent}.invite-greeting{font-size:1.2rem;letter-spacing:1px;margin-top:-2rem;margin-bottom:1.25rem}.invite-guest-name{font-family:Caveat,cursive;font-size:2.8rem;margin-bottom:1.25rem}.invite-text{font-size:1.2rem}.invite-couple-names{font-family:Caveat,cursive;font-size:2.8rem;margin-top:1.25rem;display:block;max-width:18ch;margin-left:auto;margin-right:auto;text-align:center;white-space:normal;word-wrap:break-word;line-height:1.05}.invite-couple-name-and{font-size:1.5rem}.invite-details{color:#fff;border-radius:18px;font-size:1.2rem;padding:.8rem;max-width:260px;margin-left:auto;margin-right:auto}.invite-details hr{width:50px;margin-left:auto;margin-right:auto}.invite-dates{margin-bottom:.5rem}.invite-location{margin-top:.5rem}.page-title{font-size:2.6rem;font-weight:500;text-transform:uppercase;margin-bottom:32px;color:#4a3712;text-align:center}.event-list{text-align:left;max-width:480px;margin:0 auto}.event-item{display:flex;gap:20px;margin-bottom:32px;align-items:flex-start;padding:20px 0;border-bottom:1px solid rgba(176,178,159,.2)}.event-item:last-child{border-bottom:none}.event-image{width:90px;height:90px;background-size:cover;background-position:center;border-radius:12px;flex-shrink:0;box-shadow:0 4px 12px #5b3a2e1a}.event-info{flex:1}.event-date{font-weight:600;margin-bottom:8px;font-size:1.1rem;color:#5b3a2e}.event-description{color:#4a3712;font-size:1.1rem}.events-cover-section{position:relative;margin:4rem -2rem -2rem;min-height:400px;background:url(events-cover.png) no-repeat center center;background-size:cover}.rsvp-cover-section{position:relative;margin:-2rem -2rem 0rem;padding:4rem 2rem;min-height:310px;display:flex;align-items:center;justify-content:center;background:url(rsvp-cover.png) no-repeat center center;background-size:cover}.rsvp-cover-section .page-title{color:#68584a;margin:0}.rsvp-form,.travel-info,.recommendations-content,.traditions-content{text-align:left;max-width:480px;margin:0 auto}.rsvp-guest-name{font-family:Caveat,cursive;font-size:3rem;text-align:center;margin-top:1rem;margin-bottom:1rem;color:#5b3a2e}.form-section{margin-bottom:1.5rem}.form-section p{font-weight:600;margin-bottom:12px;font-size:1.1rem;color:#5b3a2e}.sub-text{font-size:.9rem;font-weight:400!important;color:#4a3712!important;margin-bottom:16px!important;font-style:italic}input[type=radio]{-ms-transform:scale(1.5);-webkit-transform:scale(1.5);transform:scale(1.5);accent-color:black}.radio-group,.checkbox-group{display:flex;flex-direction:column}.radio-group label,.checkbox-group label{display:flex;align-items:flex-start;gap:.75rem;font-size:1rem;cursor:pointer;line-height:1.5;padding:8px 0}.radio-group input,.checkbox-group input{margin-top:4px}textarea{width:100%;padding:16px;border:1px solid #b0b29f;border-radius:8px;font-family:inherit;font-size:1rem;resize:vertical;background:#fff;line-height:1.5;transition:border-color .2s ease}textarea:focus{outline:none;border-color:#4a3712;background:#fff}.rsvp-label{padding-bottom:1.25rem}.submit-btn{background:#4a3712;color:#f2ebdd;border:none;padding:16px 32px;border-radius:8px;cursor:pointer;transition:all .2s ease;width:100%;font-size:1.1rem;font-weight:500;letter-spacing:.5px;margin-top:1rem}.submit-btn:hover{background:#68584a}.landscape-image-container{width:100%;margin:-48px -48px 32px;display:flex;justify-content:center;align-items:center}.landscape-image{width:100%;max-height:300px;object-fit:cover;border-radius:0;box-shadow:none;border:none}.ceremony-header{font-family:Montserrat,serif;font-size:1.1rem;font-weight:400;letter-spacing:2px;line-height:1.6;margin-bottom:3rem;color:#68584a}.names-section{margin-bottom:0rem}.pin-guest-name{font-family:Caveat,cursive;font-size:3.25rem;text-align:center;color:#4a3712;margin-bottom:2rem}.pin-section{border-top:1px solid rgba(212,196,176,.3);padding-top:2.5rem;margin-top:2.5rem}.pin-header{font-family:Montserrat,serif;font-size:18px;font-weight:400;letter-spacing:1px;margin-bottom:2rem;color:#68584a;text-align:center;line-height:1.5}.pin-form{display:flex;flex-direction:column;align-items:center;gap:1rem}.pin-input-container{width:100%;display:flex;justify-content:center}.pin-input{height:3rem;width:100%;max-width:300px;border:1px solid #b0b29f;background:#fff;font-size:18px;text-align:center;letter-spacing:.8rem;font-weight:500;border-radius:4px;outline:none;transition:all .3s ease;box-shadow:0 2px 8px #5b3a2e0d}.pin-input:focus{border-color:#4a3712;background:#fff;box-shadow:0 4px 12px #8a956626}.pin-input::placeholder{color:#5b3a2e66;letter-spacing:.3rem;font-weight:300}.pin-input-error{border-color:#dc2626;background:#fee2e280}.pin-input-error:focus{border-color:#dc2626;box-shadow:0 4px 12px #dc262626}.pin-button{background:#4a3712;color:#f2ebdd;border:none;font-weight:400;letter-spacing:1px;cursor:pointer;transition:background-color .3s ease;height:3rem;width:100%;max-width:300px;border-radius:4px}.pin-button:hover{background:#68584a}.pin-button:disabled{background:#9ca3af;cursor:not-allowed}.error-section{display:flex;flex-direction:column;align-items:center;text-align:center;padding:2rem 1.5rem;background:#fee2e24d;border:1px solid rgba(220,38,38,.2);border-radius:8px;margin:1rem 0}.error-icon{margin-bottom:1.5rem;opacity:.8}.error-icon svg{filter:drop-shadow(0 2px 4px rgba(220,38,38,.1))}.error-header{font-family:Montserrat,serif;font-size:24px;font-weight:600;letter-spacing:.5px;margin-bottom:1.5rem;color:#dc2626;text-shadow:0 1px 2px rgba(0,0,0,.05)}.error-message{font-family:Montserrat,serif;font-weight:400;line-height:1.7;margin-bottom:2rem;color:#68584a;max-width:360px;text-align:center}.help-text{font-family:Montserrat,serif;font-size:1.1rem;font-weight:400;color:#5b3a2ecc;margin-top:1.5rem;max-width:300px;line-height:1.6;padding-top:1rem;border-top:1px solid rgba(176,178,159,.3)}.success-message{text-align:center;padding:2rem 1.5rem;background:#22c55e26;border:1px solid rgba(34,197,94,.3);border-radius:8px;margin:2rem 0}.success-message p{font-size:18px;color:#16a34a;margin-bottom:1.5rem;font-weight:500;line-height:1.6}.success-message .submit-btn{background:#16a34a;max-width:200px;margin:0 auto}.success-message .submit-btn:hover{background:#15803d}.form-section .error-message{background:#fee2e2e6;border:1px solid rgba(220,38,38,.4);border-radius:4px;padding:.75rem;margin-top:.5rem;font-size:1.1rem;text-align:center}.markdown-content{max-width:100%;line-height:1.6}.event-content,.recommendations-content,.travel-content,.traditions-content{text-align:left}.event-content h1,.recommendations-content h1,.travel-content h1,.traditions-content h1{font-family:Caveat,cursive;font-size:2.5rem;color:#4a3712;margin:2rem 0 1rem;text-align:left}.event-content h2,.recommendations-content h2,.travel-content h2,.traditions-content h2{font-size:2rem;color:#4a3712;text-align:left;padding-bottom:.5rem}.event-content h3,.recommendations-content h3,.travel-content h3,.traditions-content h3{font-size:1.2rem;color:#4a3712;font-weight:600;text-align:left;padding-bottom:.5rem}.event-content p,.recommendations-content p,.travel-content p,.traditions-content p{margin:1rem 0;line-height:1.5;color:#68584a;text-align:left}.event-content ul,.event-content ol,.recommendations-content ul,.recommendations-content ol,.travel-content ul,.travel-content ol,.traditions-content ul,.traditions-content ol{margin:1rem 0;padding-left:1.5rem}.event-content li,.recommendations-content li,.travel-content li,.traditions-content li{margin:.5rem 0;line-height:1.6;color:#68584a}.event-content blockquote,.recommendations-content blockquote,.travel-content blockquote,.traditions-content blockquote{border-left:4px solid #b0b29f;margin:1.5rem 0;padding:1rem 1.5rem;background:#f8f9fa;font-style:italic;border-radius:0 8px 8px 0;text-align:left}.event-content img,.recommendations-content img,.travel-content img,.traditions-content img{max-width:100%;height:auto;border-radius:8px;margin:1.5rem 0;display:block;box-shadow:0 4px 6px #0000001a}.event-content a,.recommendations-content a,.travel-content a,.traditions-content a{color:#1a5dab;text-decoration:underline;transition:color .2s ease}.event-content a:hover,.recommendations-content a:hover,.travel-content a:hover,.traditions-content a:hover{color:#000}.event-content hr,.recommendations-content hr,.travel-content hr,.traditions-content hr{border:none;height:2px;background:linear-gradient(to right,transparent,#b0b29f,transparent);margin-bottom:.5rem}.event-content code,.recommendations-content code,.travel-content code,.traditions-content code{background:#f8f9fa;padding:.2rem .4rem;border-radius:4px;font-family:Courier New,monospace;font-size:.9em;color:#68584a}.loading-spinner{display:flex;justify-content:center;align-items:center;padding:2rem;color:#4a3712}.error-message{background:#fef2f2cc;border:1px solid #fecaca;border-radius:8px;padding:1rem;margin:1rem 0;color:#dc2626}.fallback-content{margin-top:1rem;padding-top:1rem;border-top:1px solid #e5e7eb;color:#b0b29f}.no-content{text-align:center;padding:2rem;color:#b0b29f}.event-content details,.recommendations-content details,.travel-content details,.traditions-content details{margin:1.5rem 0;border-radius:8px;padding:0;background:transparent;overflow:hidden}.event-content summary,.recommendations-content summary,.travel-content summary,.traditions-content summary{padding-top:1rem;padding-left:0;cursor:pointer;font-weight:500;color:#4a3712;background:transparent;transition:background .2s ease;list-style:none;display:flex;align-items:center;-webkit-user-select:none;user-select:none}.event-content summary h1,.event-content summary h2,.event-content summary h3,.recommendations-content summary h1,.recommendations-content summary h2,.recommendations-content summary h3,.travel-content summary h1,.travel-content summary h2,.travel-content summary h3,.traditions-content summary h1,.traditions-content summary h2,.traditions-content summary h3{margin:0;padding:0;font-size:1.8rem;font-weight:inherit;color:inherit;display:inline}.event-content h1,.event-content h2,.recommendations-content h1,.recommendations-content h2,.travel-content h1,.travel-content h2,.travel-content h3,.traditions-content h1,.traditions-content h2{margin-top:1rem}.event-content summary::-webkit-details-marker,.recommendations-content summary::-webkit-details-marker,.travel-content summary::-webkit-details-marker,.traditions-content summary::-webkit-details-marker{display:none}.event-content summary:before,.recommendations-content summary:before,.travel-content summary:before,.traditions-content summary:before{content:"▶";display:inline-block;margin-right:.75rem;transition:transform .2s ease;font-size:1.5rem;color:#68584a}.event-content details[open]>summary:before,.recommendations-content details[open]>summary:before,.travel-content details[open]>summary:before,.traditions-content details[open]>summary:before{transform:rotate(90deg)}.event-content summary:hover,.recommendations-content summary:hover,.travel-content summary:hover,.traditions-content summary:hover{background:#b0b29f1a}.event-content details[open]>summary,.recommendations-content details[open]>summary,.travel-content details[open]>summary,.traditions-content details[open]>summary{margin-bottom:0}.event-content details>*:not(summary),.recommendations-content details>*:not(summary),.travel-content details>*:not(summary),.traditions-content details>*:not(summary){background:transparent}.event-content details>p:first-of-type,.recommendations-content details>p:first-of-type,.travel-content details>p:first-of-type,.traditions-content details>p:first-of-type{margin-top:0}.event-content details>p:last-child,.recommendations-content details>p:last-child,.travel-content details>p:last-child,.traditions-content details>p:last-child{margin-bottom:0}@media (max-width: 768px){.top-nav{padding:20px 28px}}
