/* Fine gold lines, generous spacing, and restrained paper surfaces. */
:root{--brown:#261712;--deep:#1b100d;--gold:#dfc18e;--ivory:#f6efdf}
.topbar{border-bottom-color:#9e79553d;background:#1b100d}.monogram{color:#e4ca9c}.toplink{letter-spacing:.14em}
.slides .hero{background:radial-gradient(ellipse at 25% 30%,#4a3022 0%,#2c1b15 45%,#1b110d 100%)}
.invitation-copy{border:1px solid #bd98614d;outline:1px solid #bd986126;outline-offset:8px;padding:32px 24px;position:relative}
.bible-verse{border:0;padding-bottom:12px}.bible-verse p{color:#e9cfa2}.bible-verse cite{letter-spacing:.16em}
.slides h1{color:#fcf3df}.parents{color:#e7d8c0}.date-rule{border-color:#b8935c70}.button{letter-spacing:.08em;background:#c9a46b12;border-color:#cba971;padding:15px 24px}.button:hover{background:#d7bb87;color:#21140f}
.hero-art img{filter:drop-shadow(0 18px 25px #0006)}.hero-art figcaption{letter-spacing:.015em}
.slides .day{background:linear-gradient(135deg,#faf4e8,#eee2ca);padding-top:42px}.section-head h2{font-style:italic}.section-head .eyebrow{letter-spacing:.22em;color:#846039}
.schedule{border:0;gap:20px;margin-top:36px}.schedule article{border:1px solid #ab89594d!important;outline:1px solid #ab895926;outline-offset:-7px;background:#fffaf070;padding:35px 20px 38px;box-shadow:0 12px 28px #5d40230d}
.schedule .church-event{background:linear-gradient(145deg,#4a3023,#281911);color:#faefdc;border-color:#c7a66e!important;outline-color:#c7a66e50;box-shadow:0 16px 30px #38251425}.church-event .number,.church-event .venue{color:#dfc294}.schedule .time{font-size:64px}.schedule .number span{letter-spacing:.19em}.schedule h3{font-size:29px}.calendar-footer{text-align:center;margin:30px 0 12px}.calendar-button{color:#5e4128;border-color:#927044;background:transparent;font-size:14px}.calendar-button:hover{background:#382419;color:#f6edda}
.slides .closing{background:radial-gradient(ellipse at 50% 10%,#3e271d,#1b100d 75%);padding:34px 7% 45px}.closing h2{font-style:italic}.small-mark{border-color:#ad875e85;outline:1px solid #ad875e30;outline-offset:5px}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:20px}.contact-grid>div{border:1px solid #cda86d40;padding:18px 12px}.response .gift-recipient{font-family:var(--serif);font-size:24px;color:var(--gold);margin:0 0 8px}.contact-grid .email{font-size:15px}.gifts{max-width:660px}.gift-method{border:1px solid #cda86d40;padding:22px;margin-top:20px;background:#cda86d06}.method-label{font-size:12px!important;letter-spacing:.2em;color:#dfc18e!important;margin:0 0 18px!important}.gifts .gift-recipient{margin-top:16px}.gifts .gift-recipient:first-of-type{margin-top:0}.slide-controls{border-top-color:#b895624d}.slide-tabs button{letter-spacing:.035em}
@media(max-width:850px){.slides .hero{padding:26px 7%}.invitation-copy{padding:30px 18px}.slides h1{font-size:70px}.slides .day{padding:35px 7%}.schedule{gap:18px}.schedule article{padding:26px 20px}.schedule .time{font-size:57px}.schedule h3{font-size:29px}.calendar-button{max-width:100%;line-height:1.5;padding:14px 17px;letter-spacing:.03em}.contact-grid{grid-template-columns:1fr;gap:12px}.slides .closing{padding:32px 7%}.hero-art{margin-top:35px}.gift-method{padding:22px 16px}}

.site-name{font-family:var(--serif);font-style:italic;font-size:27px;color:var(--gold)}@media(max-width:400px){.site-name{font-size:23px}.topbar .toplink{font-size:11px;letter-spacing:.04em}}

.story{display:flex;align-items:center;justify-content:center;padding:42px 7%;background:radial-gradient(ellipse at center,#483022,#23150f 80%)}.story-panel{max-width:760px;width:100%;padding:45px 55px;text-align:center;border:1px solid #d7b77d70;outline:1px solid #d7b77d30;outline-offset:9px;background:#1d120d35}.story h2{font-size:65px;font-style:italic;line-height:1.05;color:#f7eedc}.story-rule{width:80px;height:1px;background:var(--gold);margin:28px auto}.story-text{font-family:var(--serif);font-size:25px;line-height:1.5;color:#eadbc3;margin:0 0 18px}.story-signature{font-family:var(--serif);font-size:30px;font-style:italic;color:var(--gold);margin:25px 0 0}.slide-tabs{gap:18px}@media(max-width:850px){.story{display:block;padding:28px 7%}.story-panel{padding:36px 23px}.story h2{font-size:54px}.story-text{font-size:23px}.slide-tabs{gap:12px}.slide-tabs button{font-size:11px;letter-spacing:0}.slide-controls .step{padding:0 5px;min-width:32px}.story .eyebrow{font-size:11px}}

.event-image{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;margin:0 auto 26px;border:1px solid #c4a06b55}.schedule article{padding-top:20px}.schedule .church-event .event-image{border-color:#d9bb8470}@media(max-width:850px){.event-image{max-height:240px;object-fit:cover;margin-bottom:24px}.schedule article{padding-top:20px}}

.language-menu{position:relative;z-index:20;font-size:14px;color:var(--gold)}.language-menu summary{cursor:pointer;border:1px solid #b9956255;padding:10px 13px;list-style:none;min-width:100px;text-align:center}.language-menu summary::-webkit-details-marker{display:none}.language-menu summary:focus-visible,.language-options button:focus-visible{outline:2px solid var(--gold);outline-offset:3px}.language-options{position:absolute;right:0;top:calc(100% + 8px);width:175px;background:#21140f;border:1px solid #d1ad75;padding:7px;box-shadow:0 14px 35px #0008}.language-options button{display:block;width:100%;text-align:left;border:0;background:transparent;color:var(--ivory);padding:13px 12px;font-size:15px;cursor:pointer}.language-options button:hover,.language-options button[aria-pressed="true"]{background:#d1ad751f;color:var(--gold)}@media(max-width:400px){.language-menu summary{font-size:12px;min-width:80px;padding:9px}.site-name{font-size:22px}.monogram{font-size:26px;letter-spacing:3px}}

@media(max-width:600px){.slide-controls{padding:4px 6px;gap:0}.slide-tabs{flex:1;min-width:0;gap:4px}.slide-tabs button{flex:1;min-width:0;max-width:25%;font-size:12px;line-height:1.2;overflow-wrap:anywhere;padding:9px 2px}.slide-controls .step{min-width:28px;padding:0 3px}}

.rsvp-form-panel{max-width:540px;margin:30px auto 40px;text-align:left;border:1px solid #cda86d70;padding:28px;background:#cda86d08}.rsvp-form-panel h3{font-family:var(--serif);font-weight:400;text-align:center;font-size:32px;margin:0 0 24px}.rsvp-form-panel label,.rsvp-form-panel legend{display:block;font-size:15px;margin-bottom:10px}.rsvp-form-panel input:not([type=radio]){width:100%;padding:13px;border:1px solid #b6906066;background:#f7eddd;color:#302016;font-size:16px;margin-bottom:22px;border-radius:0}.rsvp-form-panel fieldset{border:0;padding:0;margin:0 0 24px}.rsvp-form-panel .rsvp-choice{display:flex;align-items:center;gap:10px;border:1px solid #b6906044;padding:14px;cursor:pointer}.rsvp-choice input{width:18px;height:18px;accent-color:#cda86d}.rsvp-form-panel .button{width:100%;color:var(--gold);font-family:var(--sans);cursor:pointer}.rsvp-form-panel .button:hover{color:var(--deep)}.rsvp-form-panel .button:disabled{opacity:.6;cursor:wait}#rsvp-privacy{font-size:13px;line-height:1.5;color:#d3c2ae;margin:16px 0 0}#rsvp-result{font-size:16px;line-height:1.5;color:#f8e4be}.rsvp-form-panel input:focus-visible{outline:2px solid var(--gold);outline-offset:3px}

/* Readable invitation details across languages and screen sizes. */
.invite-line{font-size:24px;color:#f0e4d1;line-height:1.5}
.parents{color:#f0e4d1}
.bible-verse cite{font-size:14px;color:#e8dac5;letter-spacing:.1em}
.date-rule>div{font-size:15px;letter-spacing:.12em}
.place{font-size:16px;color:#eadcc7;letter-spacing:.07em}
.eyebrow,.number span,.method-label,.gift-recipient{font-size:14px}
.schedule .number span{font-size:14px;letter-spacing:.12em}
.venue{font-size:16px;color:#59432e}
.church-event .venue{color:#f0d9b4}
.button,.calendar-button,.contact-grid .email{font-size:16px}
.response p,.gifts p{color:#e8dac5}
.gifts .method-label{font-size:14px!important;color:#efd2a1!important}
.gifts .gift-recipient{font-size:15px;color:#efd2a1}
#rsvp-privacy{font-size:14px;color:#e8dac5}
.slide-controls button{color:#eadcc7}
.slide-tabs button{font-size:14px}
.closing .closing-date{font-size:14px;color:#e8dac5;letter-spacing:.1em}
@media(max-width:850px){
 .invite-line{font-size:23px}
 .story .eyebrow{font-size:14px}
 .slide-tabs button{font-size:14px}
 .language-menu summary{font-size:14px}
}
@media(max-width:600px){
 .slide-tabs button{font-size:14px;line-height:1.35;padding:7px 2px}
 .slide-controls{height:66px}
 .slides{height:calc(100dvh - 162px)}
}
