body.preload *{transition:none!important}:root{--primary-accent: rgba(182, 200, 211, .9);--primary-action: rgb(36, 41, 47);--text-dark: #4a4a4a;--gold-accent: #704c00;--light-bg: #f9f7f3;--text-light: #ffffff;--border-light: #e0e0e0}*{box-sizing:border-box;margin:0;padding:0}body{font-family:Lato,sans-serif;background-color:var(--light-bg);color:var(--text-dark);line-height:1.6;font-size:16px;transition:background-color .3s ease,color .3s ease}.container{max-width:900px;margin:20px auto;padding:2rem;background-color:var(--text-light);border-radius:8px;box-shadow:0 5px 15px #0000000d;transition:background-color .3s ease}h1,h2,h3{font-family:Playfair Display,serif;color:var(--text-dark);text-align:center;margin-bottom:1rem}h1{font-size:3.5rem;font-weight:700}h2{font-size:2.5rem;font-weight:600;color:var(--text-dark);border-bottom:1px solid var(--border-light);padding-bottom:1rem;margin-top:2rem;transition:border-color .3s ease,color .3s ease}h3{font-size:1.75rem;color:var(--text-dark);font-weight:600}p{margin-bottom:1rem}.header{text-align:center;padding:3rem 1rem;background-color:#fff;transition:background-color .3s ease,padding .3s ease}.header h1{margin-bottom:.5rem}.header .subtitle{font-size:1.2rem;font-family:Playfair Display,serif;font-style:italic;color:var(--gold-accent);margin-bottom:1rem}.header .date{font-size:1.5rem;font-weight:700;color:var(--text-dark);transition:color .3s ease}.details-grid{display:flex;justify-content:space-around;flex-wrap:wrap;gap:2rem;text-align:center;margin-top:2rem}.detail-box{flex-basis:45%;min-width:250px}#faq .detail-box{flex-basis:75%}.detail-box p{font-size:1.1rem;margin-bottom:.5rem}.detail-box .location{font-style:italic;color:#555;transition:color .3s ease}p.details-extra-info{text-align:center;max-width:700px;margin:2rem auto 0;font-size:1.1rem;font-style:italic}#rsvp{text-align:center}.rsvp-deadline{font-family:Playfair Display,serif;font-style:italic;font-size:1.2rem;font-weight:400;color:var(--gold-accent);margin-bottom:2rem}form{max-width:600px;margin:0 auto;text-align:left}.form-group{margin-bottom:1.5rem}.form-group label{display:block;margin-bottom:.5rem;font-weight:700;color:var(--text-dark)}.form-group input[type=text],.form-group input[type=email],.form-group input[type=number],.form-group textarea,.form-group select{width:100%;padding:.75rem;border:1px solid var(--border-light);border-radius:4px;font-family:Lato,sans-serif;font-size:1rem;background-color:var(--text-light);color:var(--text-dark);transition:background-color .3s ease,color .3s ease,opacity .3s ease}.form-group select{appearance:none;-webkit-appearance:none;background-image:url('data:image/svg+xml;utf8,<svg fill="%234a4a4a" height="24" viewBox="0 0 24 24" width="24" xmlns="http://www.w3.org/2000/svg"><path d="M7 10l5 5 5-5z"/><path d="M0 0h24v24H0z" fill="none"/></svg>');background-repeat:no-repeat;background-position:right .75rem center;background-size:24px;padding-right:2.5rem}.form-group select:-moz-focusring{color:transparent;text-shadow:0 0 0 var(--text-dark)}.form-group select:invalid{color:#757575}.form-group input[type=text]:focus-visible,.form-group input[type=email]:focus-visible,.form-group input[type=number]:focus-visible,.form-group textarea:focus-visible,.form-group select:focus-visible{outline:2px solid var(--primary-accent);outline-offset:1px;border-color:var(--primary-accent)}.form-group textarea{min-height:100px;resize:vertical}.form-group fieldset{border:none;transition:opacity .3s ease}.form-group input[type=radio]{appearance:none;-webkit-appearance:none;width:1.15em;height:1.15em;border-radius:50%;border:2px solid var(--text-dark);margin-right:.5rem;cursor:pointer;transition:border-color .3s ease,opacity .3s ease;display:inline-grid;place-content:center;vertical-align:middle}.form-group input[type=radio]:not(:checked):hover{border-color:var(--primary-accent)}.form-group input[type=radio]:checked{border-color:var(--primary-action)}.form-group input[type=radio]:checked:before{content:"";display:block;width:.65em;height:.65em;background-color:var(--primary-action);border-radius:50%;transition:background-color .3s ease}.form-group input[type=radio]:focus-visible{outline:2px solid var(--primary-accent);outline-offset:2px}.form-group .radio-label{display:inline-block;margin-right:1.5rem;font-weight:400;cursor:pointer;vertical-align:middle;transition:opacity .3s ease}#rsvp-details,.calculator-easter-egg{overflow:hidden;max-height:800px;opacity:1;visibility:visible;transition:max-height .5s ease-out,opacity .3s ease-in,visibility .5s,padding .5s ease-in,margin .5s ease-in}.calculator-easter-egg.visible{overflow:visible;max-height:275px}body.js-enabled #rsvp-details:not(.visible),.calculator-easter-egg:not(.visible){max-height:0;opacity:0;visibility:hidden;padding:0;margin:0}#faq .calculator-easter-egg:not(.visible){display:none}.submit-btn{display:block;width:100%;padding:1rem;font-size:1.2rem;font-weight:700;color:var(--text-light);border:none;border-radius:4px;cursor:pointer;transition:background-color .3s ease,color .3s ease,opacity .3s ease;background-color:#b58e38}.submit-btn:hover{background-color:var(--gold-accent)}input:disabled,textarea:disabled,button:disabled,fieldset:disabled,select:disabled{cursor:not-allowed;opacity:.7}input:disabled,textarea:disabled,select:disabled{background-color:#f0f0f0}input[type=radio]:disabled+.radio-label,fieldset:disabled .radio-label{opacity:.7;cursor:not-allowed}.form-status-message{display:none;text-align:center;font-size:1.1rem;font-weight:700;margin-top:1.5rem;margin-bottom:0}.form-status-message.visible{display:block}.form-status-message.success{color:#28a745}.form-status-message.error{color:#dc3545}.gallery-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1rem;margin-top:2rem}.gallery-grid img{width:100%;aspect-ratio:1 / 1;object-fit:cover;border-radius:8px;box-shadow:0 2px 8px #0000001a;transition:transform .3s ease,box-shadow .3s ease,outline-offset .1s ease;cursor:pointer}.gallery-grid img:hover{transform:scale(1.03);box-shadow:0 4px 12px #00000026}.gallery-grid img:focus-visible{transform:scale(1.03);box-shadow:0 4px 12px #00000026;outline:3px solid var(--primary-accent);outline-offset:3px}footer{text-align:center;margin-top:2rem;padding-top:2rem;border-top:1px solid var(--border-light);color:#555;transition:border-color .3s ease,color .3s ease}.lightbox-modal{display:none;position:fixed;z-index:1000;left:0;top:0;width:100%;height:100%;background-color:#000000d9;align-items:center;justify-content:center;opacity:0;transition:opacity .3s ease,display .3s}.lightbox-modal.visible{display:flex;opacity:1}.lightbox-content{display:block;max-width:90%;max-height:80vh;width:auto;height:auto;border-radius:4px;box-shadow:0 5px 20px #00000080}.lightbox-close{position:absolute;top:20px;right:35px;color:#f1f1f1;font-size:40px;font-weight:700;cursor:pointer;transition:color .2s ease}.lightbox-close:hover{color:var(--primary-accent)}.mobile-divider{display:none;border:none;height:1px;background-color:var(--border-light);margin:0;transition:background-color .3s ease}.required:before{content:"* ";color:var(--gold-accent)}a{color:var(--gold-accent);text-decoration:none}@media(max-width:600px){.header{padding-top:2rem;padding-bottom:2rem}.container{margin-top:0;padding-top:1.5rem;border-top-left-radius:0;border-top-right-radius:0}.mobile-divider{display:block}}@media(prefers-color-scheme:dark){:root{--dark-mode-bg: rgb(36, 41, 47);--dark-mode-container-bg: #2c333a;--dark-mode-text: #f9f7f3;--dark-mode-border: #4a525a;--gold-accent: #d4b26b}body{background-color:var(--dark-mode-bg);color:var(--dark-mode-text)}.container{background-color:var(--dark-mode-container-bg);box-shadow:0 5px 15px #0003}.header{background-color:var(--dark-mode-container-bg)}h1{color:var(--dark-mode-text)}h2{color:var(--primary-accent);border-bottom-color:var(--dark-mode-border)}h3{color:var(--dark-mode-text)}.header .date{color:var(--primary-accent)}.detail-box .location{color:#ccc}.form-group label{color:var(--dark-mode-text)}.form-group input[type=text],.form-group input[type=email],.form-group input[type=number],.form-group textarea,.form-group select{background-color:var(--dark-mode-bg);color:var(--dark-mode-text);border:1px solid var(--dark-mode-border)}.form-group select{background-image:url('data:image/svg+xml;utf8,<svg fill="%23f9f7f3" height="24" viewBox="0 0 24 24" width="24" xmlns="http://www.w3.org/2000/svg"><path d="M7 10l5 5 5-5z"/><path d="M0 0h24v24H0z" fill="none"/></svg>')}.form-group select:invalid{color:#999}.form-group select:-moz-focusring{color:transparent;text-shadow:0 0 0 var(--dark-mode-text)}.form-group input[type=text]:focus-visible,.form-group input[type=email]:focus-visible,.form-group input[type=number]:focus-visible,.form-group textarea:focus-visible,.form-group select:focus-visible{outline:2px solid var(--gold-accent);outline-offset:1px;border-color:var(--gold-accent)}.form-group input[type=radio]{border-color:var(--primary-accent)}.form-group input[type=radio]:not(:checked):hover{border-color:var(--gold-accent)}.form-group input[type=radio]:checked{border-color:var(--primary-accent)}.form-group input[type=radio]:checked:before{background-color:var(--primary-accent)}.form-group input[type=radio]:focus-visible{outline:2px solid var(--gold-accent);outline-offset:2px}.submit-btn{background-color:var(--primary-accent);color:var(--primary-action);font-weight:800}.submit-btn:hover{background-color:#e0e6e9}input:disabled,textarea:disabled,select:disabled{background-color:#2c333a;border-color:var(--dark-mode-border);opacity:.6}input[type=radio]:disabled+.radio-label,fieldset:disabled .radio-label{opacity:.6}.form-status-message.success{color:#33c059}.form-status-message.error{color:#ff5263}.gallery-grid img{box-shadow:0 2px 8px #0000004d}.gallery-grid img:hover{box-shadow:0 4px 12px #0006}.gallery-grid img:focus-visible{transform:scale(1.03);box-shadow:0 4px 12px #0006;outline:3px solid var(--gold-accent);outline-offset:3px}footer{border-top-color:var(--dark-mode-border);color:#999}.mobile-divider{background-color:var(--dark-mode-border)}.lightbox-close:hover{color:var(--gold-accent)}}
