:root{--antique:#ad7a39;--gold-light:#e9cb8f}
body.welcome-locked{overflow:hidden}
.brand-image{width:108px;height:86px;border:0!important;box-shadow:none!important;border-radius:0!important;background:transparent!important;padding:4px!important;overflow:visible}
.brand-image img{width:100%;height:100%;object-fit:contain;mix-blend-mode:multiply;filter:drop-shadow(0 2px 3px #6b40191c)}
.royal-welcome{--gate-width:min(66.667vh,92vw);position:fixed;inset:0;z-index:1000;overflow:hidden;background:transparent;color:#fff8ec;display:grid;place-items:center;isolation:isolate;perspective:1800px}
.royal-welcome:before{content:'';position:absolute;inset:0;z-index:0;background:radial-gradient(circle at 50% 42%,#fff9ec 0,#f5e9d4 56%,#e4cfad 100%);opacity:1;transition:opacity .42s ease .32s;pointer-events:none}
.palace-sky,.palace-crown,.arch-outline,.minaret{display:none}
.palace-frame{position:absolute;z-index:5;left:50%;bottom:0;transform:translateX(-50%);width:calc(var(--gate-width) + 32px);height:100vh;border-left:14px solid #e6d1ad;border-right:14px solid #e6d1ad;box-shadow:0 0 0 1px #8c6237,0 0 32px #42251630,inset 9px 0 18px #fff5df55,inset -9px 0 18px #76512d2e;pointer-events:none;opacity:1;transition:opacity .28s ease .58s}
.royal-door{position:absolute;bottom:0;height:100vh;width:calc(var(--gate-width)/2);z-index:6;background-image:url('assets/door-photoreal-v2.png');background-repeat:no-repeat;background-size:200% 100%;transition:transform 1.22s cubic-bezier(.72,.01,.22,1),opacity .2s ease 1.08s;backface-visibility:hidden;transform-style:preserve-3d;will-change:transform,opacity;filter:drop-shadow(0 9px 9px #1d0d0870);transform:translate3d(0,0,0)}
.door-left{left:calc(50% - var(--gate-width)/2);background-position:left bottom;transform-origin:left center}.door-right{right:calc(50% - var(--gate-width)/2);background-position:right bottom;transform-origin:right center}
.door-pattern,.door-ring{display:none}
.welcome-copy{position:relative;z-index:9;text-align:center;width:min(420px,68vw);margin-top:2vh;transition:opacity .22s ease,transform .32s ease;text-shadow:0 3px 18px #160906}
.welcome-kicker,.welcome-place{display:none}
.welcome-copy h1{font-family:'Bodoni MT',Didot,'Palatino Linotype',Georgia,serif;font-size:clamp(38px,5vw,62px);font-style:italic;font-weight:400;line-height:1;margin:0 0 14px;color:#f8e8c3}.welcome-copy h1 em{color:#e2bd69;font-size:.7em}
.welcome-date{display:flex;align-items:center;justify-content:center;gap:14px;margin:0 0 18px}.welcome-date strong{font-size:24px;font-weight:400;color:#f0d58f}.welcome-date span{font:10px Arial,sans-serif;letter-spacing:3px;text-transform:uppercase;border-left:1px solid #d8af5d;padding-left:14px}
.enter-site{border:1px solid #e1bd70;background:#3b1b15dd;color:#fff4da;padding:13px 22px 13px 28px;min-width:210px;font:10px Arial,sans-serif;text-transform:uppercase;letter-spacing:2px;cursor:pointer;box-shadow:0 7px 22px #14090588;transition:transform .2s,background .2s}.enter-site:hover{transform:translateY(-2px);background:#572a1d}.enter-site i{margin-left:14px;color:#e8c98b}.tap-note{font:9px Arial,sans-serif;letter-spacing:1px;color:#e8d8b9;margin-top:11px}
.royal-welcome.open{pointer-events:none}.royal-welcome.open:before{opacity:0}.royal-welcome.open .door-left{transform:rotateY(-104deg);opacity:0}.royal-welcome.open .door-right{transform:rotateY(104deg);opacity:0}.royal-welcome.open .palace-frame{opacity:0}.royal-welcome.open .welcome-copy{opacity:0;transform:scale(.97)}.royal-welcome.finished{display:none}
body.site-revealing .hero .logo-wrap{animation:directReveal 1.8s cubic-bezier(.16,1,.3,1) both}body.site-revealing .hero .hero-copy{animation:copyReveal 1.45s ease .15s both}
header{box-shadow:0 5px 22px #452c3010}.hero,.couple,.rsvp{position:relative;overflow:hidden}.person{position:relative}
@keyframes directReveal{0%{opacity:.15;transform:scale(1.12);filter:blur(4px)}100%{opacity:1;transform:scale(1);filter:none}}@keyframes copyReveal{0%{opacity:0;transform:translateY(15px)}100%{opacity:1;transform:none}}
@media(max-width:760px){.brand-image{width:86px;height:76px}.royal-welcome{--gate-width:100vw;height:100svh;min-height:100dvh}.royal-door,.palace-frame{height:100svh;min-height:100dvh}.palace-frame{width:100vw;border-left-width:5px;border-right-width:5px}.welcome-copy{width:min(88vw,390px);margin-top:0;padding:18px 12px}.welcome-copy h1{font-size:clamp(38px,13vw,56px);margin-bottom:12px}.welcome-date{flex-direction:column;gap:4px;margin-bottom:15px}.welcome-date span{border-left:0;padding-left:0;letter-spacing:2px}.enter-site{min-width:min(76vw,260px);padding:15px 18px;font-size:10px}.tap-note{font-size:9px;margin-top:9px}}
@media(max-width:760px) and (orientation:landscape){.royal-welcome{--gate-width:min(100vw,150vh)}.welcome-copy{transform:scale(.82);margin-top:0}.welcome-copy h1{font-size:38px}.welcome-date{flex-direction:row}.welcome-date span{border-left:1px solid #d8af5d;padding-left:12px}.tap-note{display:none}}
@media(prefers-reduced-motion:reduce){.royal-door,.welcome-copy,.palace-frame,.royal-welcome,.royal-welcome:before{transition-duration:.01s}body.site-revealing .hero .logo-wrap,body.site-revealing .hero .hero-copy{animation:none}}

/* Dark royal preview */
:root{--cream:#160f17;--ink:#f5eadb;--gold:#c99a55;--muted:#c9b9ad;--peach:#d8ac9e;--plum:#5e304b;--night:#160f17;--night-soft:#1d141d;--night-card:#261923;--rose:#d99b9f;--ivory:#f5eadb}
body{background:var(--night);color:var(--ivory)}
header{position:sticky;top:0;z-index:50;background:#140e16f2;border-bottom:1px solid #c99a5547;box-shadow:0 8px 35px #05020475;backdrop-filter:blur(14px)}
.brand-image img{mix-blend-mode:normal;filter:drop-shadow(0 2px 7px #0009) brightness(1.18) saturate(.9)}
nav{color:#eadccc}nav a{position:relative;white-space:nowrap;transition:color .25s ease}nav a:hover{color:#e2b3b4}nav a.active{color:#efc9c2;border-bottom:1px solid var(--gold);padding-bottom:5px}nav a.nav-rsvp{color:inherit;border-bottom-color:transparent}nav a.nav-rsvp.active{color:#efc9c2;border-bottom-color:var(--gold)}
.toran{opacity:.46;filter:sepia(.35) saturate(.75) brightness(.86)}
.hero{background:#140e16}
.hero-copy{background:none}
.hero-line{color:#eadccc}.hero-line strong{color:#e7bb72;font-weight:400;letter-spacing:.06em}.invitation-line{max-width:520px;margin:8px 0 0;color:#d9c8bb;font-size:17px;line-height:1.65}.hero-copy{text-align:center;display:flex;flex-direction:column;align-items:center}.hero h1 i{display:inline-block;margin-right:.28em}.small{color:#bca99d}
.logo-wrap{padding:0;border:0;border-radius:0;background:transparent;box-shadow:none;isolation:isolate}
.wedding-countdown{margin-top:24px;padding:13px 21px 14px;border:1px solid #c99a5566;border-radius:999px;background:linear-gradient(135deg,#21151fdd,#3b2230cc);box-shadow:inset 0 0 0 1px #ead19b1c,0 9px 24px #05020345;color:#eadccc;min-width:min(360px,86vw)}.wedding-countdown>p{margin:0 0 8px;color:#e6bd78;font:10px/1.4 Arial,sans-serif;letter-spacing:2.8px;text-transform:uppercase}.countdown-values{display:flex;justify-content:center;gap:18px}.countdown-values span{display:flex;flex-direction:column;min-width:52px}.countdown-values b{color:#fff0dd;font:22px/1.05 'Bodoni MT',Didot,Georgia,serif;font-weight:400}.countdown-values small{margin-top:4px;color:#bba89d;font:8px/1.2 Arial,sans-serif;letter-spacing:1.3px;text-transform:uppercase}
.logo-wrap img{mix-blend-mode:normal;filter:drop-shadow(0 18px 34px #050203a8)}
.section-transition{height:46px;display:flex;align-items:center;justify-content:center;background:#140e16}.section-transition:before,.section-transition:after{content:'';height:1px;width:min(240px,30vw);background:linear-gradient(90deg,transparent,#c99a5578)}.section-transition:after{background:linear-gradient(90deg,#c99a5578,transparent)}.section-transition span{width:6px;height:6px;margin:0 14px;background:#c99a55;transform:rotate(45deg);box-shadow:0 0 12px #c99a5580}
.palace-seal{position:relative;min-width:218px;margin-top:18px;padding:17px 28px 18px;border:1px solid #d3a55f;border-radius:9px 9px 24px 24px;background:linear-gradient(135deg,#4f263d,#713b55 52%,#4c2439);box-shadow:inset 0 0 0 3px #2b1524,0 8px 24px #05020366;color:#f8e9d8;overflow:hidden;letter-spacing:1.4px}.palace-seal:before{content:'';position:absolute;inset:5px;border:1px solid #e2bd7a8c;border-radius:5px 5px 18px 18px;pointer-events:none}.palace-seal:after{content:'';position:absolute;top:-30%;bottom:-30%;left:-25%;width:18%;background:#fff4d955;transform:skewX(-18deg);transition:left .65s ease}.palace-seal:hover:after,.palace-seal:focus-visible:after{left:115%}.palace-seal span,.palace-seal b{position:relative;z-index:1}.palace-seal b{margin-left:18px;color:#eac77f;font-size:20px;font-weight:400;line-height:0}
.hero h1 i{margin-right:.18em}
.couple{background:#1b121a}
.bio{background:radial-gradient(ellipse,#2b1c27 58%,transparent 77%)}.bio p,.intro{color:var(--muted)}
.portrait{background:#34222d;box-shadow:0 0 0 18px #1b121a,0 0 0 19px #c99a5557,0 18px 48px #05020399}
.story{background:#21151e;border-color:#c99a5547}
.chapters,.story-end,.story>.eyebrow,.story>h2,.story>.intro{background:#231720f4}.chapters p,.story-end p{color:#cbb9ad}.chapters article:before{background:#231720}.chapter{color:#d0a76f}blockquote{color:#e4afb0}
.gallery{background:#171018;position:relative;overflow:hidden}
.gallery-grid{max-width:1120px;margin:58px auto 0;display:grid;grid-template-columns:1fr 1.22fr 1fr;gap:28px;align-items:center}.gallery-grid figure{margin:0;padding:12px;background:#261923;border:1px solid #c99a5547;box-shadow:0 22px 48px #05020470}.gallery-grid img{width:100%;aspect-ratio:4/5;display:block;object-fit:cover;filter:saturate(.86) contrast(1.03)}.gallery-grid figure:first-child img{object-position:50% 28%}.gallery-grid figure:last-child img{object-position:45% 18%}.gallery-grid .gallery-feature{padding:0;background:radial-gradient(circle,#39231f 0,#1c1219 72%)}.gallery-grid .gallery-feature img{aspect-ratio:1;object-fit:contain;filter:drop-shadow(0 14px 28px #0008)}.gallery-grid figcaption{padding:15px 8px 8px;color:#d9c7b8;text-align:center;font:11px/1.5 Arial,sans-serif;letter-spacing:1.5px;text-transform:uppercase}.gallery-note{text-align:center;color:#a99488;font-size:14px;margin:34px 0 0}
.itinerary{background:#21151e;border-top:1px solid #c99a5538;border-bottom:1px solid #c99a5538}.itinerary-intro{max-width:680px;margin:92px auto 0;position:relative;z-index:5}.itinerary-intro .intro{margin-top:10px}.itinerary-grid{max-width:1040px;margin:36px auto 0;display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.itinerary-grid article{min-height:250px;padding:30px;display:flex;gap:22px;align-items:flex-start;background:#ffffff08;border:1px solid #c99a5545;box-shadow:inset 0 0 35px #c99a5508;transition:transform .3s ease,border-color .3s ease}.itinerary-grid article:hover{transform:translateY(-5px);border-color:#d8ac6f99}.itinerary-grid article>span{font:italic 58px/1 'Bodoni MT',Didot,Georgia,serif;color:#e0ae69}.itinerary-grid article p{margin:2px 0 12px;color:#d9a5a7;font:11px Arial,sans-serif;letter-spacing:2px;text-transform:uppercase}.itinerary-grid article h3{font-size:25px;margin:0 0 14px}.itinerary-grid article small{color:#bca99d;font:13px/1.6 Arial,sans-serif}.itinerary-grid article small strong{color:#f1dfc5;font-weight:500}.itinerary-grid article a{color:#e5bc7b;text-decoration:underline;text-underline-offset:3px}.itinerary-locked{display:block;max-width:680px;margin:36px auto 0;padding:34px;text-align:center;border:1px dashed #c99a5566;background:#ffffff08}.itinerary-lock{margin:0;color:#d8c4b7;font:14px/1.7 Arial,sans-serif}
.rsvp{background:#140e16}.rsvp>div>p:not(.eyebrow):not(.preview-note){color:#cbb9ad}.preview-note{border-color:#c99a5547;color:#b9a69b}.invite-button{margin:2px 0 12px}.invite-events{margin-top:12px}.event-summary{margin:0 0 18px;color:#edcfaa;font:14px/1.6 Arial,sans-serif}
.function-rsvps{display:grid;gap:18px;margin:22px 0 28px}.function-rsvp-card{display:grid;grid-template-columns:128px minmax(0,1fr);gap:22px;align-items:center;padding:20px;border:1px solid #c99a5552;border-radius:14px;background:linear-gradient(135deg,#fffaf20b,#3c22300f);box-shadow:inset 0 0 30px #c99a5507}.function-art{position:relative;display:grid;place-items:center;min-height:126px;border-radius:10px;background:#f8f5ef;overflow:hidden}.function-art img{display:block;width:100%;height:126px;object-fit:contain;mix-blend-mode:multiply}.function-art img.art-secondary{position:absolute;right:2px;bottom:2px;width:55%;height:65%;filter:drop-shadow(0 4px 7px #51342533)}.function-rsvp-heading{display:flex;justify-content:space-between;gap:16px;align-items:flex-start}.function-rsvp-heading p{margin:0 0 4px;color:#d9a5a7;font:10px/1.5 Arial,sans-serif;letter-spacing:1.1px;text-transform:uppercase}.function-rsvp-heading h4{margin:0;color:#fff0dd;font:24px/1.15 'Bodoni MT',Didot,Georgia,serif}.function-count{flex:0 0 auto;padding:6px 10px;border:1px solid #c99a554f;border-radius:999px;color:#e7c78e;font:10px/1.2 Arial,sans-serif;letter-spacing:.5px}.function-instruction{margin:9px 0 12px;color:#bca99d;font:12px/1.5 Arial,sans-serif}.guest-rsvp-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.guest-rsvp{display:flex;align-items:center;gap:9px;min-height:42px;padding:9px 11px;border:1px solid #c99a553d;border-radius:8px;background:#160f1580;color:#eadccc;font:13px/1.35 Arial,sans-serif;cursor:pointer;transition:border-color .2s,background .2s}.guest-rsvp:hover{border-color:#c99a558f;background:#2f1d2a}.guest-rsvp input{width:18px;height:18px;margin:0;accent-color:#c99a55}.contact-fields{display:grid;grid-template-columns:1fr 1fr;gap:16px}.contact-fields label{display:block;color:#eadccc}.contact-fields input{width:100%}
form{background:#251821;border-color:#c99a5552;box-shadow:0 24px 60px #05020470}form>label,legend{color:#eadccc}input:not([type=radio]){background:#160f15;border-color:#c99a5552;color:#f5eadb}input::placeholder{color:#8f7d75}.choice{color:#d6c6ba}.form-note{color:#aa978c}#result{color:#e0a9ac}
.button{background:#6b354f;border-color:#ba8461;color:#fff3e7}.button:hover{background:#82415f}
footer{position:relative;isolation:isolate;min-height:300px;padding:70px 20px 250px;background:#19070d;color:#f5eadb;border-top:1px solid #c99a5538;overflow:hidden}footer:before{content:'';position:absolute;z-index:-1;left:0;right:0;bottom:0;height:min(270px,30vw);background:url('assets/footer-floral-corners-v1.png') center bottom/100% 100% no-repeat;transform-origin:center bottom;animation:floralBreathe 11s ease-in-out infinite;pointer-events:none}footer p{color:#cbb2aa}
.music-toggle{bottom:18px;right:18px;gap:8px;padding:6px 14px 6px 6px;background:#171016e8;border:1px solid #c99a5570;color:#f0ded0;box-shadow:0 10px 35px #0009;border-radius:60px;backdrop-filter:blur(10px);font-size:12px}.music-toggle img{width:62px;height:62px;object-fit:contain;filter:drop-shadow(0 5px 10px #0008);transition:transform .35s ease}.music-toggle:hover img{transform:rotate(10deg) scale(1.04)}.music-toggle[aria-pressed=true] img{animation:recordSpin 8s linear infinite}.music-toggle>span:first-child{font-size:inherit;color:inherit}
@keyframes recordSpin{to{transform:rotate(360deg)}}
@keyframes floralBreathe{0%,100%{transform:scale(1) translateY(0);filter:saturate(.92)}50%{transform:scale(1.012) translateY(-2px);filter:saturate(1)}}
@media(max-width:900px){header{height:auto;min-height:92px;padding:7px 4%;gap:12px}.brand-image{flex:0 0 78px}nav{gap:15px;overflow-x:auto;padding:17px 2px;scrollbar-width:none}nav::-webkit-scrollbar{display:none}.gallery-grid{grid-template-columns:1fr 1.1fr 1fr;gap:14px}.itinerary-grid{grid-template-columns:1fr}.itinerary-grid article{min-height:0}}
@media(max-width:650px){header{align-items:center}.brand-image{width:64px!important;height:64px!important;flex-basis:64px}nav{font-size:9px;gap:16px}.hero{padding-top:66px}.invitation-line{font-size:15px;margin-left:auto;margin-right:auto}.palace-seal{min-width:210px;padding:16px 24px}.logo-wrap{max-width:100%}.gallery-grid{grid-template-columns:1fr 1fr}.gallery-grid .gallery-feature{grid-column:1/-1;grid-row:1;max-width:420px;margin:auto}.gallery-grid figure{padding:8px}.gallery-grid figcaption{font-size:9px;letter-spacing:.8px}.music-toggle{right:10px;bottom:10px;padding:4px 11px 4px 4px}.music-toggle img{width:52px;height:52px}.itinerary-grid article{padding:24px}.itinerary-grid article>span{font-size:48px}.function-rsvp-card{grid-template-columns:82px minmax(0,1fr);gap:13px;padding:14px}.function-art{min-height:104px}.function-art img{height:104px}.function-rsvp-heading{display:block}.function-count{display:inline-block;margin-top:8px}.guest-rsvp-list{grid-template-columns:1fr}.contact-fields{grid-template-columns:1fr;gap:0}footer{padding-bottom:190px}footer:before{height:185px}}
@media(prefers-reduced-motion:reduce){.music-toggle[aria-pressed=true] img{animation:none}}

/* Invitation tableau */
.toran{display:none}
.hero{padding-top:54px}
.invitation-tableau{width:min(510px,92vw);aspect-ratio:2/3;margin:10px auto 40px;position:relative;isolation:isolate;filter:drop-shadow(0 24px 38px #0502048c)}
.invitation-arch{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;z-index:1}
.invitation-copy{position:absolute;z-index:2;top:25%;left:20%;right:20%;text-align:center;text-shadow:0 2px 16px #13080f}.invitation-copy p{margin:0 0 7px;color:#e7c99d;font:12px/1.4 Arial,sans-serif;letter-spacing:4px;text-transform:uppercase}.invitation-copy h2{margin:0;color:#fff1df;font-size:clamp(34px,4.1vw,48px);line-height:.98}.invitation-copy small{display:block;margin-top:12px;color:#d7bda8;font:11px/1.5 Arial,sans-serif;letter-spacing:1.6px;text-transform:uppercase}
.invitation-couple{position:absolute;z-index:3;width:50%;height:auto;left:50%;bottom:3.5%;transform:translateX(-50%);filter:drop-shadow(0 10px 16px #0b05098f)}
.invitation-couple-photo{width:64%;bottom:3.2%}
.invitation-arch{content:url('assets/itinerary-arch-neutral.png')}
.invitation-copy{z-index:4;top:auto;bottom:2%;left:12%;right:12%;text-shadow:0 2px 14px #13080f}
.invitation-couple-photo{width:46%;bottom:16%}
.arch-spark{position:absolute;z-index:4;color:#f7dfad;text-shadow:0 0 9px #ffe7a1,0 0 20px #d79a3c;opacity:0;animation:softTwinkle 7.2s ease-in-out infinite}.spark-one{left:10%;top:25%;font-size:14px;animation-delay:.5s}.spark-two{right:10%;top:34%;font-size:18px;animation-delay:3.3s}.spark-three{left:14%;bottom:20%;font-size:10px;animation-delay:5.5s}.spark-four{right:13%;bottom:14%;font-size:13px;animation-delay:1.8s}
@keyframes softTwinkle{0%,72%,100%{opacity:0;transform:scale(.55) rotate(0)}78%{opacity:.32}84%{opacity:.9;transform:scale(1.12) rotate(16deg)}91%{opacity:.18;transform:scale(.72) rotate(25deg)}}
@media(max-width:650px){.hero{padding-top:34px}.invitation-tableau{width:min(440px,96vw);margin-top:0;margin-bottom:0}.invitation-copy{z-index:4;top:auto;bottom:2%;left:10%;right:10%}.invitation-copy p{font-size:10px;letter-spacing:3px}.invitation-copy h2{font-size:34px}.invitation-copy small{font-size:9px;letter-spacing:1px}.invitation-couple{width:52%;bottom:3%}.invitation-couple-photo{width:52%;bottom:16%}.itinerary-intro{margin-top:72px;padding:0 14px}.countdown-values{gap:10px}.countdown-values span{min-width:46px}}
@media(prefers-reduced-motion:reduce){.arch-spark{animation:none;opacity:.34}}
@media(prefers-reduced-motion:reduce){footer:before{animation:none}}

/* Clean section backgrounds: decorative replacements will be added after selection. */
.hero:before,.hero:after,.couple:before,.couple:after,.story:before,.story:after,.gallery:before,.gallery:after,.rsvp:before,.rsvp:after,.section>h2:after{content:none!important;display:none!important;background:none!important}


.gallery-grid .family-landscape{grid-column:1/-1;width:100%;max-width:500px;justify-self:center}
.gallery-grid .family-landscape img{height:auto;aspect-ratio:auto;object-fit:contain;object-position:center}
.gallery-grid .family-portrait img{height:auto;aspect-ratio:auto;object-fit:contain;object-position:center}
.gallery-grid figure:has(img[src="assets/gallery-10.jpeg"]){display:none!important}

.invitation-copy{transform:translateY(46px)}
@media(max-width:650px){.invitation-copy{transform:translateY(34px)}}

.itinerary-grid article .event-host{margin:-4px 0 12px;color:#e7c78e;font:italic 14px/1.45 Georgia,serif;letter-spacing:0;text-transform:none}
.function-rsvp-card .event-host{margin:8px 0 3px;color:#e7c78e;font:italic 14px/1.45 Georgia,serif}
.function-rsvp-card .event-note{margin:4px 0 8px;color:#eadccc;font:14px/1.5 Arial,sans-serif}

/* Centered crest story between Our Story and Photo Gallery. */
.crest-story{position:relative;display:grid;place-items:center;overflow:hidden;text-align:center;background:radial-gradient(circle at 50% 40%,#4b2c3228 0 24%,transparent 58%)}
.crest-story:before,.crest-story:after{content:'';position:absolute;left:10%;right:10%;height:1px;background:linear-gradient(90deg,transparent,#bb843e,transparent)}
.crest-story:before{top:0}.crest-story:after{bottom:0}
.crest-story-inner{width:min(100%,820px);margin:0 auto;display:flex;flex-direction:column;align-items:center;text-align:center}
.crest-story img{display:block;width:min(100%,460px);height:auto;margin:0 auto 18px;filter:drop-shadow(0 20px 30px #0008)}
.crest-story h2{margin:0 auto 20px;text-align:center}
.crest-story h2 i{color:#d6a158;font-weight:400}
.crest-story-copy{max-width:680px;margin:0 auto;color:#d5c6ba;font:18px/1.75 Georgia,serif;text-align:center}
.crest-story-closing{max-width:650px;margin:24px auto 0;color:#dfb878;font:italic 15px/1.6 Georgia,serif;text-align:center}

/* The photo leads each chapter; the story continues at full reading width. */
.chapters article{padding:20px 22px;border:1px solid #c99a5547;border-radius:4px;background:#231720}
.chapter-opening{display:grid;grid-template-columns:145px minmax(0,1fr);gap:22px;align-items:center;margin-bottom:16px}
.chapter-opening img{display:block;width:145px;height:184px;object-fit:cover;object-position:center;border:1px solid #c99a55;border-radius:3px}
.chapter-opening h3{margin:9px 0 0}
.chapters article>p{margin:14px 0 0}
@media(max-width:650px){
  .chapters{padding-right:10px}
  .chapters article{padding:16px 14px;margin-bottom:26px}
  .chapter-opening{grid-template-columns:110px minmax(0,1fr);gap:12px;margin-bottom:14px}
  .chapter-opening img{width:110px;height:146px}
  .chapter-opening h3{font-size:clamp(23px,6.6vw,29px);line-height:1.12;margin-top:7px}
  .chapter-opening .chapter{display:block;font-size:10px;line-height:1.45;letter-spacing:1px}
}
@media(max-width:350px){.chapters article{padding:14px 11px}.chapter-opening{grid-template-columns:94px minmax(0,1fr);gap:10px}.chapter-opening img{width:94px;height:126px}.chapter-opening h3{font-size:22px}}

@media(max-width:650px){.crest-story{padding-left:22px;padding-right:22px}.crest-story img{width:min(92%,350px);margin-bottom:14px}.crest-story-copy{font-size:17px}.crest-story-closing{font-size:15px}}

/* Compact mixed-orientation gallery: natural photo ratios with no empty grid rows. */
.gallery-grid{display:block;column-count:3;column-gap:24px;max-width:1120px}
.gallery-grid figure,.gallery-grid .family-landscape,.gallery-grid .family-portrait{display:inline-block;width:100%;max-width:none;margin:0 0 24px;break-inside:avoid;page-break-inside:avoid}
.gallery-grid img,.gallery-grid .family-landscape img,.gallery-grid .family-portrait img{display:block;width:100%;height:auto;aspect-ratio:auto;object-fit:contain;object-position:center}
@media(max-width:900px){.gallery-grid{column-count:2;column-gap:16px}.gallery-grid figure,.gallery-grid .family-landscape,.gallery-grid .family-portrait{margin-bottom:16px}}
@media(max-width:430px){.gallery-grid{column-count:1}}
.saved-rsvp{display:grid;gap:12px;margin-top:18px}.saved-rsvp[hidden]{display:none}.saved-rsvp h4{margin:0 0 2px;color:#fff0dd;font:28px/1.2 'Bodoni MT',Didot,Georgia,serif}.saved-rsvp-event{padding:14px 18px;border:1px solid #c99a5552;border-radius:12px;background:#fffaf20b}.saved-rsvp-event h5{margin:0 0 8px;color:#e7c78e;font:17px/1.3 Georgia,serif}.saved-rsvp-event ul{list-style:none;margin:0;padding:0}.saved-rsvp-event li{display:flex;justify-content:space-between;gap:12px;padding:6px 0;border-top:1px solid #c99a5529;color:#eadccc;font:14px/1.4 Arial,sans-serif}.saved-rsvp-event strong{color:#e7c78e;font-weight:normal;text-align:right;white-space:nowrap}
.email-note{margin:8px 0 0;color:#c9b3a6}
