*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#fbf9f5;color:#373532;font-family:Montserrat,Arial,sans-serif;font-weight:300;line-height:1.8}a{text-decoration:none;color:inherit}.loader{position:fixed;inset:0;background:#51473f;color:#fff;z-index:9999;display:grid;place-items:center;transition:.8s}.loader.hide{opacity:0;visibility:hidden}.monogram{font:500 42px Cormorant Garamond,serif;letter-spacing:4px}.loadline{position:absolute;width:75px;height:1px;background:#aaa;bottom:30%;animation:load 1.4s infinite}@keyframes load{50%{transform:scaleX(1.5);opacity:.3}}.hero{min-height:100svh;position:relative;color:#fff;background:linear-gradient(#4e4741aa,#4e4741cc),radial-gradient(circle at 50% 30%,#aaa096,#75685d 45%,#49433f);display:flex;flex-direction:column}.hero:after{content:"";position:absolute;inset:4%;border:1px solid #ffffff38;pointer-events:none}nav{z-index:3;width:90%;max-width:1120px;margin:auto;padding:22px 0;display:flex;justify-content:space-between;align-items:center}.brand{font:500 29px Cormorant Garamond,serif;letter-spacing:2px}.brand i,.hero h1 i,footer i{font-style:italic}.navlinks{display:flex;gap:30px;text-transform:uppercase;font-size:10px;letter-spacing:2px}.hamburger{display:none;background:none;border:0}.hamburger span{display:block;width:25px;height:1px;background:#fff;margin:5px}.hero-inner{z-index:2;text-align:center;width:90%;max-width:900px;margin:auto}.eyebrow{font-size:10px;letter-spacing:3px;font-weight:500;margin:0 0 13px}.hero h1{font:500 clamp(62px,11vw,125px)/.85 Cormorant Garamond,serif;margin:0}.hero h1 i{font-size:.65em}.ornament{display:flex;justify-content:center;gap:14px;align-items:center;margin:28px 0 12px}.ornament span{height:1px;width:60px;background:#fff8}.date{font-size:12px;letter-spacing:4px;font-weight:500}.place{font-size:9px;letter-spacing:2px;opacity:.75}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:12px 27px;font-size:10px;letter-spacing:2px;font-weight:500;border:1px solid transparent;cursor:pointer;transition:.3s}.light{border-color:#fff8;color:#fff;background:#ffffff10;margin-top:20px}.light:hover{background:#fff;color:#51473f}.scroll{position:absolute;z-index:2;bottom:20px;left:50%;transform:translateX(-50%);font-size:8px;letter-spacing:3px;white-space:nowrap}.section{padding:115px 0}.container{width:90%;max-width:1100px;margin:auto}.narrow{width:90%;max-width:760px;margin:auto;text-align:center}.intro{background:#fbf9f5}.intro h2,.heading h2,.narrow h2,.mapbox h2{font:500 clamp(43px,6vw,66px)/1 Cormorant Garamond,serif;color:#51473f;margin:0}.divider{margin:25px;color:#75685d}.lead{font:400 24px/1.45 Cormorant Garamond,serif;color:#51473f}.intro>div>p:last-child,.narrow>p:last-child,.heading>p:last-child{font-size:13px;color:#777}.details{background:#ebe7e1}.heading{text-align:center;margin-bottom:55px}.cards{display:grid;grid-template-columns:1fr 1fr;gap:24px}.card{background:#fbf9f5;border:1px solid #51473f22;padding:62px 25px;text-align:center;position:relative}.card>b{position:absolute;top:16px;left:18px;color:#a89c91;font-size:10px}.card h3{font:500 39px Cormorant Garamond,serif;color:#51473f;margin:5px 0}.card p:not(.eyebrow){font-size:13px;color:#777;margin:0}.card strong{display:block;margin:15px 0 20px;letter-spacing:3px;font-size:12px}.card a{font-size:9px;letter-spacing:2px;border-bottom:1px solid #a89c91}.countdown{background:#51473f;color:#fff;text-align:center}.countdown h2{color:#fff}.timer{display:grid;grid-template-columns:repeat(4,1fr);max-width:800px;margin:55px auto 0}.timer div{border-left:1px solid #fff3}.timer div:last-child{border-right:1px solid #fff3}.timer span{display:block;font:500 clamp(45px,7vw,78px)/1 Cormorant Garamond,serif}.timer small{font-size:8px;letter-spacing:2px;opacity:.65}.storygrid{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}.photo{aspect-ratio:4/5;background:linear-gradient(145deg,#c9c0b6,#8c8178);color:#fff;display:grid;place-items:center;text-align:center;letter-spacing:4px;font:500 22px Cormorant Garamond,serif}.timeline{display:grid;grid-template-columns:35px 1fr;gap:20px;padding:25px 0;border-bottom:1px solid #51473f22}.timeline>b{font-size:10px;color:#a89c91}.timeline h3{font:500 30px Cormorant Garamond,serif;color:#51473f;margin:0}.timeline p{font-size:12px;color:#777;margin:4px 0}.dress{background:#e8e3dd;text-align:center}.swatches{display:flex;justify-content:center;margin:30px}.swatches i{width:52px;height:52px;border-radius:50%;border:5px solid #e8e3dd;margin-left:-7px}.swatches i:nth-child(1){background:#75685d}.swatches i:nth-child(2){background:#a89c91}.swatches i:nth-child(3){background:#777975}.swatches i:nth-child(4){background:#f5f1eb}.gallery{background:#f3f0eb}.gallerygrid{display:grid;grid-template-columns:repeat(3,1fr);grid-auto-rows:230px;gap:14px}.g{background:linear-gradient(145deg,#c9c0b6,#8c8178);display:grid;place-items:center;color:#fff;letter-spacing:2px;font-size:10px}.g.large{grid-row:span 2}.rsvp{background:#fbf9f5}.form{max-width:760px;margin:auto;background:#fff;border:1px solid #51473f22;padding:42px}.formrow{display:grid;grid-template-columns:1fr 1fr;gap:20px}label,legend{display:block;text-transform:uppercase;letter-spacing:2px;font-size:9px;color:#6b655f}input,select,textarea{width:100%;margin-top:8px;border:0;border-bottom:1px solid #51473f22;background:transparent;padding:13px 2px;outline:0;font:400 13px Montserrat,Arial,sans-serif;color:#373532}fieldset{border:0;padding:32px 0;margin:0}.radio{display:inline-block;text-transform:none;letter-spacing:0;font-size:12px;margin:15px 25px 0 0}.radio input{width:auto;margin-right:7px}.form>label{margin-bottom:28px}.dark{width:100%;background:#51473f;color:#fff}.dark:hover{background:#3d3732}.formnote{font-size:9px;color:#999;text-align:center}.success{display:none;text-align:center;color:#68705f;font-size:12px}.location{padding-top:0}.mapbox{background:#e8e3dd;padding:55px;display:flex;align-items:center;justify-content:space-between;gap:35px}.mapbuttons{display:flex;gap:10px;flex-wrap:wrap}.outline{border-color:#51473f;color:#51473f}.outline:hover{background:#51473f;color:#fff}footer{background:#51473f;color:#fff;text-align:center;padding:85px 20px}.footerlogo{font:500 35px Cormorant Garamond,serif;letter-spacing:3px}footer h2{font:500 50px Cormorant Garamond,serif;margin:10px}footer p{font-size:9px;letter-spacing:3px;opacity:.6}.music{position:fixed;z-index:100;right:20px;bottom:20px;width:45px;height:45px;border-radius:50%;border:1px solid #fff8;background:#51473f;color:#fff;font-size:17px}.reveal{opacity:0;transform:translateY(30px);transition:.9s}.reveal.visible{opacity:1;transform:none}@media(max-width:760px){.navlinks{position:fixed;inset:0;background:#51473ff8;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:28px;transform:translateY(-100%);transition:.45s}.navlinks.open{transform:none}.hamburger{display:block;z-index:5}.cards,.storygrid{grid-template-columns:1fr;gap:24px}.timer{grid-template-columns:1fr 1fr;gap:25px 0}.timer div:nth-child(3){border-left:0}.gallerygrid{grid-template-columns:1fr 1fr;grid-auto-rows:170px}.formrow{grid-template-columns:1fr}.form{padding:25px 20px}.mapbox{display:block;padding:35px 25px}.mapbuttons{margin-top:25px}.mapbuttons .btn{width:100%}.section{padding:80px 0}.hero h1{font-size:clamp(58px,18vw,92px)}}
.photo-hero{background:linear-gradient(180deg,#302a2780,#302a27aa),url("../images/couple-1.jpg") center 28%/cover no-repeat}
.gallerygrid .g,.photo{overflow:hidden}
.gallerygrid .g img,.photo img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .9s ease}
.gallerygrid .g:hover img,.photo:hover img{transform:scale(1.045)}
@media(max-width:760px){.photo-hero{background-position:center center}}

/* LUXURY INVITATION UPGRADE */
:root{--espresso:#463b35;--taupe:#8e8176;--stone:#d9d1c8;--ivory:#fbf8f3;--ink:#302c29}
body{background:var(--ivory);color:var(--ink)}
.hero{overflow:hidden}
.hero:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 50% 45%,transparent 20%,rgba(35,28,24,.38) 100%);z-index:1}
.hero-inner{position:relative}
.hero-subtitle{font:400 23px/1.2 "Cormorant Garamond",serif;letter-spacing:1px;opacity:.92;margin:14px 0 4px}
.hero .btn b{font-size:16px;margin-left:14px;font-weight:300}
.invitation-intro{background:var(--ivory);padding:100px 20px 110px;position:relative}
.paper{max-width:760px;margin:auto;text-align:center;background:#fffdf9;padding:82px 65px;position:relative;box-shadow:0 20px 60px rgba(55,45,38,.08);border:1px solid rgba(70,59,53,.12)}
.paper:before{content:"";position:absolute;inset:12px;border:1px solid rgba(70,59,53,.14);pointer-events:none}
.paper h2{font:500 clamp(45px,6vw,70px)/.95 "Cormorant Garamond",serif;color:var(--espresso);margin:10px 0 24px}
.paper h2 em{font-weight:400;color:#8d7d70}
.paper-copy{max-width:520px;margin:0 auto;font:400 18px/1.6 "Cormorant Garamond",serif;color:#766b63}
.mini-ornament{font-size:18px;color:#8d7d70;margin:12px 0}
.signature{font:500 31px "Cormorant Garamond",serif;margin-top:30px;color:var(--espresso)}
.signature span{font-style:italic;margin:0 5px}
.paper-date{font-size:9px;letter-spacing:4px;color:#94877c;margin-top:12px}
.paper-corner{position:absolute;width:34px;height:34px;border-color:#8d7d70;border-style:solid;opacity:.55}
.paper-corner.tl{top:28px;left:28px;border-width:1px 0 0 1px}.paper-corner.tr{top:28px;right:28px;border-width:1px 1px 0 0}
.paper-corner.bl{bottom:28px;left:28px;border-width:0 0 1px 1px}.paper-corner.br{bottom:28px;right:28px;border-width:0 1px 1px 0}
.details{position:relative}.section-mark{position:absolute;top:34px;left:50%;transform:translateX(-50%);font:500 11px "Cormorant Garamond",serif;letter-spacing:3px;color:#9b8f85}
.card{transition:transform .5s,box-shadow .5s}.card:hover{transform:translateY(-7px);box-shadow:0 20px 45px rgba(60,48,40,.08)}
.gallerygrid .g{border:0;padding:0;cursor:pointer;position:relative;background:#b8ada3}
.gallerygrid .g:after{content:"VIEW";position:absolute;inset:auto 18px 18px auto;color:#fff;font-size:8px;letter-spacing:2px;opacity:0;transform:translateY(5px);transition:.35s}
.gallerygrid .g:hover:after{opacity:1;transform:none}
.photo-label{position:absolute;top:16px;left:16px;color:#fff;font-size:9px;letter-spacing:2px;text-shadow:0 1px 5px #0008}
.gallerygrid .g img{filter:saturate(.9) contrast(.98)}
.lightbox{position:fixed;inset:0;background:rgba(24,20,18,.96);z-index:1000;display:flex;align-items:center;justify-content:center;opacity:0;visibility:hidden;transition:.35s}
.lightbox.open{opacity:1;visibility:visible}
.lb-stage{width:min(88vw,1100px);height:86vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:15px}
.lb-stage img{max-width:100%;max-height:78vh;object-fit:contain;box-shadow:0 20px 80px #0008}
.lb-caption{width:100%;display:flex;justify-content:space-between;color:#d8d0c9;font-size:9px;letter-spacing:2px;text-transform:uppercase}
.lb-close,.lb-prev,.lb-next{position:absolute;border:0;background:transparent;color:#fff;cursor:pointer;font-family:"Cormorant Garamond",serif;font-weight:300}
.lb-close{top:18px;right:28px;font-size:42px}.lb-prev,.lb-next{top:50%;transform:translateY(-50%);font-size:70px;line-height:1;padding:15px;opacity:.8}.lb-prev{left:15px}.lb-next{right:15px}.lb-prev:hover,.lb-next:hover,.lb-close:hover{opacity:.55}
body.lb-open{overflow:hidden}
.closing{min-height:70vh;position:relative;background:linear-gradient(#40383299,#403832dd),url("../images/couple-5.jpg") center 35%/cover no-repeat;color:#fff;display:grid;place-items:center;text-align:center}
.closing-content{position:relative;z-index:2;padding:30px}.closing h2{font:500 clamp(45px,7vw,75px)/.92 "Cormorant Garamond",serif;margin:5px 0 20px}.closing h2 em{font-weight:400}.closing-line{font-size:18px;margin:20px}.closing p:last-child{font-size:9px;letter-spacing:3px;opacity:.8}
footer{position:relative}
@media(max-width:760px){
 .invitation-intro{padding:65px 16px 75px}.paper{padding:65px 28px}.paper:before{inset:9px}.paper-corner{width:24px;height:24px}.paper-corner.tl,.paper-corner.tr{top:20px}.paper-corner.bl,.paper-corner.br{bottom:20px}.paper-corner.tl,.paper-corner.bl{left:20px}.paper-corner.tr,.paper-corner.br{right:20px}
 .hero-subtitle{font-size:19px}.lb-stage{width:88vw;height:78vh}.lb-stage img{max-height:70vh}.lb-prev,.lb-next{font-size:52px;padding:8px}.lb-prev{left:2px}.lb-next{right:2px}.lb-caption{font-size:8px}.closing{min-height:62vh;background-position:center}
}

/* PREMIUM OPENING INVITATION */
.opening-screen{position:fixed;inset:0;z-index:5000;overflow:hidden;background:#eee7df;display:flex;align-items:center;justify-content:center;transition:opacity 1s ease,visibility 1s ease}
.opening-screen.dismissed{opacity:0;visibility:hidden;pointer-events:none}
.opening-backdrop{position:absolute;inset:0;background:radial-gradient(circle at 50% 25%,rgba(255,255,255,.95),transparent 38%),linear-gradient(135deg,#eee7df,#d8cec4)}
.opening-screen:before,.opening-screen:after{content:"";position:absolute;pointer-events:none;opacity:.45;width:220px;height:220px;border:1px solid #8e817633}
.opening-screen:before{left:-105px;top:-105px;border-radius:50%}.opening-screen:after{right:-105px;bottom:-105px;border-radius:50%}
.envelope-wrap{position:absolute;left:50%;top:50%;transform:translate(-50%,-56%);width:min(82vw,520px);height:min(56vw,350px);perspective:1400px}
.envelope{position:relative;width:100%;height:100%;transform-style:preserve-3d;filter:drop-shadow(0 28px 30px rgba(65,51,42,.18))}
.envelope-back,.envelope-pocket{position:absolute;inset:0;background:#b7aaa0;border-radius:4px}
.envelope-back{background:linear-gradient(145deg,#c7bcb3,#a99c92)}
.envelope-pocket{clip-path:polygon(0 0,100% 0,100% 100%,50% 57%,0 100%);background:linear-gradient(145deg,#b8aaa0,#9f9187);z-index:3}
.envelope-flap{position:absolute;left:0;top:0;width:100%;height:72%;background:linear-gradient(145deg,#d0c5bc,#b2a59b);clip-path:polygon(0 0,100% 0,50% 100%);transform-origin:50% 0;z-index:5;transition:transform 1.15s cubic-bezier(.2,.75,.2,1);backface-visibility:hidden}
.envelope-wrap.opened .envelope-flap{transform:rotateX(180deg);z-index:1}
.invitation-card{position:absolute;left:50%;bottom:6%;transform:translateX(-50%);width:74%;height:82%;background:#fffdf9;border:1px solid #7d6e6330;box-shadow:0 14px 35px #4d3d321c;z-index:2;text-align:center;padding:38px 18px;transition:transform 1.2s cubic-bezier(.2,.8,.2,1)}
.envelope-wrap.opened .invitation-card{transform:translate(-50%,-24%) scale(1.04);z-index:6}
.card-eyebrow{font-size:8px;letter-spacing:3px;color:#8b7b70;margin:0 0 18px}.invitation-card h1{font:500 clamp(29px,5vw,48px)/1 "Cormorant Garamond",serif;color:#463b35;margin:0}.invitation-card h1 em{font-weight:400}
.card-rule{width:42px;height:1px;background:#9d8e83;margin:20px auto}.card-date{font-size:9px;letter-spacing:3px;color:#594d45;margin:0}.card-location{font-size:8px;letter-spacing:2px;color:#96877c;margin:9px 0}
.wax-seal{position:absolute;left:50%;top:57%;transform:translate(-50%,-50%);width:70px;height:70px;border-radius:50%;background:#574b43;color:#eee5dc;z-index:8;display:grid;place-items:center;font:500 20px "Cormorant Garamond",serif;box-shadow:0 7px 15px #3c2e271f;border:3px double #d8cfc7;transition:opacity .45s,transform .45s}
.wax-seal span{font-size:13px;margin:0 2px;font-style:italic}.envelope-wrap.opened .wax-seal{opacity:0;transform:translate(-50%,-50%) scale(.7)}
.opening-copy{position:absolute;left:50%;top:calc(50% + min(29vw,190px));transform:translateX(-50%);width:min(88vw,600px);text-align:center;color:#463b35;transition:opacity .6s ease,transform .6s ease}
.opening-copy.hide{opacity:0;transform:translate(-50%,12px);pointer-events:none}
.opening-copy h2{font:500 clamp(36px,6vw,56px)/.92 "Cormorant Garamond",serif;margin:5px 0 12px}.opening-copy h2 em{font-weight:400;color:#8b7b70}
.opening-copy>p:not(.eyebrow){font:400 16px/1.4 "Cormorant Garamond",serif;color:#766b63;max-width:390px;margin:0 auto 18px}
.open-invitation{border:1px solid #75675d;background:#4d4139;color:#fff;padding:14px 25px;min-width:190px;letter-spacing:2px;font-size:9px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:15px;transition:transform .3s,background .3s,box-shadow .3s}
.open-invitation:hover{transform:translateY(-2px);background:#62544a;box-shadow:0 10px 22px #46382e22}.open-invitation b{font-size:12px;font-weight:400}
.opening-copy small{display:block;margin-top:11px;color:#9b8e84;font-size:8px;letter-spacing:1.5px}body.invitation-locked{overflow:hidden}
@media(max-width:760px){.envelope-wrap{width:88vw;height:60vw;max-height:330px}.invitation-card{padding:27px 12px}.wax-seal{width:60px;height:60px;font-size:17px}.opening-copy{top:calc(50% + min(31vw,175px))}.opening-copy>p:not(.eyebrow){font-size:15px}}

/* CENTERED GALLERY */
.center-gallery{display:flex;align-items:center;justify-content:center;gap:clamp(10px,4vw,55px);margin:48px auto 0;max-width:1050px}
.gallery-frame{position:relative;width:min(72vw,700px);aspect-ratio:4/3;padding:clamp(20px,3vw,36px);background:#f7f2eb;box-shadow:0 22px 55px rgba(61,48,39,.12);border:1px solid rgba(112,94,80,.18)}
.photo-mat{width:100%;height:100%;background:#fff;overflow:hidden;border:8px solid #fff;box-shadow:0 7px 22px rgba(54,43,36,.13)}
.photo-mat img{width:100%;height:100%;display:block;object-fit:cover;transition:opacity .28s ease,transform .6s ease}
.gallery-arrow{width:56px;height:56px;border-radius:50%;border:1px solid #89796d;background:#f8f3ed;color:#574a41;font:400 42px/1 "Cormorant Garamond",serif;cursor:pointer;display:grid;place-items:center;flex:0 0 auto;transition:.3s;box-shadow:0 8px 20px rgba(59,47,39,.08)}
.gallery-arrow:hover{background:#574a41;color:#fff;transform:translateY(-2px)}
.gallery-count{position:absolute;right:18px;bottom:16px;background:#40362fdd;color:#fff;padding:7px 11px;font-size:8px;letter-spacing:2px}
.botanical{position:absolute;z-index:5;color:#766958;font-size:78px;line-height:1;opacity:.75;font-family:Georgia,serif;pointer-events:none}
.botanical-left{left:-29px;top:-27px;transform:rotate(-35deg)}
.botanical-right{right:-29px;bottom:-27px;transform:rotate(145deg)}
.gallery-frame:before,.gallery-frame:after{content:"";position:absolute;inset:10px;border:1px solid rgba(119,100,85,.18);pointer-events:none}
.gallery-frame:after{inset:18px;border:1px solid rgba(119,100,85,.09)}
@media(max-width:760px){.center-gallery{gap:7px}.gallery-frame{width:73vw;padding:14px}.gallery-arrow{width:42px;height:42px;font-size:31px}.botanical{font-size:54px}.botanical-left{left:-21px;top:-19px}.botanical-right{right:-21px;bottom:-19px}}

/* OUR STORY */
.our-story{background:#f4efe8}
.our-story .heading h2{font:500 clamp(45px,6vw,68px)/.94 "Cormorant Garamond",serif}
.our-story .heading h2 em{font-weight:400;color:#8a7b70}
.story-timeline{max-width:900px;margin:55px auto 0;position:relative}
.story-timeline:before{content:"";position:absolute;left:50%;top:0;bottom:0;width:1px;background:#b5a79a}
.story-item{position:relative;width:50%;padding:0 55px 48px}
.story-item:nth-child(even){margin-left:50%}
.story-item:nth-child(odd){text-align:right}
.story-dot{position:absolute;right:-17px;top:0;width:34px;height:34px;border-radius:50%;background:#5a4d44;color:#fff;display:grid;place-items:center;font:10px "Cormorant Garamond",serif;letter-spacing:1px;box-shadow:0 0 0 6px #f4efe8}
.story-item:nth-child(even) .story-dot{left:-17px;right:auto}
.story-card{background:#fffdf9;border:1px solid #7d6e6320;padding:27px 30px;box-shadow:0 10px 28px rgba(63,51,43,.05)}
.story-label{font-size:8px;letter-spacing:2.5px;color:#9a8b80;margin:0 0 7px}
.story-card h3{font:500 28px/1.05 "Cormorant Garamond",serif;color:#4b3f37;margin:0 0 9px}
.story-card p{font:15px/1.5 "Cormorant Garamond",serif;color:#796e66;margin:0}
.story-card ul{margin:12px 0 0;padding-left:18px;text-align:left;color:#796e66;font:15px/1.6 "Cormorant Garamond",serif}
@media(max-width:760px){.story-timeline:before{left:16px}.story-item,.story-item:nth-child(even){width:100%;margin:0;padding:0 0 28px 50px;text-align:left}.story-dot,.story-item:nth-child(even) .story-dot{left:0;right:auto}.story-card{padding:21px}.story-card h3{font-size:25px}}

/* ENTOURAGE */
.entourage-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;max-width:1000px;margin:45px auto 0}
.entourage-group{background:#fffdf9;border:1px solid #7d6e6320;padding:27px 25px;text-align:center;box-shadow:0 9px 25px rgba(63,51,43,.04)}
.entourage-group h3{font:500 26px "Cormorant Garamond",serif;color:#4d4038;margin:0 0 13px}
.entourage-group p{font:15px/1.45 "Cormorant Garamond",serif;color:#786c63;margin:5px}
.entourage-group strong{font-weight:500;color:#574a41}
.entourage code{font-size:10px;background:#e9e1d9;padding:3px 6px}
@media(max-width:760px){.entourage-grid{grid-template-columns:1fr}.entourage-group{padding:23px 20px}}

/* MONOGRAM */
.monogram img,.footer-monogram{width:72px;height:72px;object-fit:contain;display:block;margin:auto}
.footer-monogram{margin:0 auto 15px;opacity:.82}
.section-mark.monogram{width:80px;height:80px}
.section-mark.monogram img{width:100%;height:100%;object-fit:contain}

/* Stability + wedding music */
html{scroll-behavior:smooth}
body{overflow-x:hidden}
.music-toggle{
 position:fixed;right:18px;bottom:18px;z-index:4500;width:44px;height:44px;
 border-radius:50%;border:1px solid rgba(255,255,255,.55);
 background:rgba(70,59,53,.88);color:#fff;display:grid;place-items:center;
 font-size:18px;cursor:pointer;box-shadow:0 8px 22px rgba(0,0,0,.16);
 backdrop-filter:blur(5px);transition:.3s
}
.music-toggle:hover{transform:translateY(-2px)}
.music-toggle.playing{animation:musicPulse 1.8s infinite}
@keyframes musicPulse{0%,100%{box-shadow:0 8px 22px rgba(0,0,0,.16)}50%{box-shadow:0 8px 28px rgba(120,98,80,.42)}}
.opening-screen{isolation:isolate}
.opening-screen.dismissed{display:none}

/* FINAL RELIABLE OPENING SCREEN */
.opening-screen{
 position:fixed!important;inset:0!important;z-index:99999!important;
 display:flex!important;align-items:center!important;justify-content:center!important;
 background:#eee7df!important;opacity:1;visibility:visible;pointer-events:auto;
 transition:opacity .9s ease,visibility .9s ease;
}
.opening-screen.dismissed{opacity:0!important;visibility:hidden!important;pointer-events:none!important}
.simple-invitation{
 position:relative;z-index:2;width:min(88vw,520px);padding:48px 28px 40px;
 text-align:center;background:rgba(255,253,249,.96);border:1px solid rgba(105,89,76,.22);
 box-shadow:0 28px 70px rgba(63,48,39,.18);
}
.simple-monogram{width:90px;height:90px;margin:0 auto 18px;position:relative;display:grid;place-items:center}
.simple-monogram img{width:90px;height:90px;object-fit:contain}
.monogram-fallback{font:500 30px "Cormorant Garamond",serif;color:#55483f}
.simple-monogram img + .monogram-fallback{display:none}
.simple-invitation h1{font:500 clamp(42px,8vw,66px)/.95 "Cormorant Garamond",serif;color:#493d35;margin:8px 0}
.simple-invitation h1 em{font-weight:400;color:#8d7c70}
.simple-rule{width:48px;height:1px;background:#98887b;margin:22px auto}
.simple-date{font-size:10px;letter-spacing:3px;color:#574b43;margin:0}
.simple-place{font-size:9px;letter-spacing:2px;color:#998a80;margin:10px 0 28px}
.simple-invitation .open-invitation{margin:auto}
.simple-invitation small{display:block;margin-top:12px;color:#9b8e84;font-size:8px;letter-spacing:1.5px}

.opening-screen{position:fixed!important;inset:0!important;z-index:99999!important;display:flex!important;align-items:center!important;justify-content:center!important;background:#eee7df!important;opacity:1;visibility:visible;pointer-events:auto;transition:opacity .8s ease,visibility .8s ease}
.opening-screen.dismissed{opacity:0!important;visibility:hidden!important;pointer-events:none!important}
.opening-backdrop{position:absolute;inset:0;background:radial-gradient(circle at 50% 20%,#fffdfa,transparent 45%),linear-gradient(135deg,#eee7df,#d6cbc1)}
.opening-card{position:relative;z-index:2;width:min(88vw,520px);padding:48px 28px 40px;text-align:center;background:rgba(255,253,249,.97);border:1px solid rgba(105,89,76,.22);box-shadow:0 28px 70px rgba(63,48,39,.18)}
.opening-monogram{width:92px;height:92px;margin:0 auto 18px;display:grid;place-items:center}
.opening-monogram img{width:92px;height:92px;object-fit:contain}
.opening-card h1{font:500 clamp(42px,8vw,66px)/.95 "Cormorant Garamond",serif;color:#493d35;margin:8px 0}
.opening-card h1 em{font-weight:400;color:#8d7c70}
.opening-rule{width:48px;height:1px;background:#98887b;margin:22px auto}
.opening-date{font-size:10px;letter-spacing:3px;color:#574b43;margin:0}.opening-location{font-size:9px;letter-spacing:2px;color:#998a80;margin:10px 0 28px}
.opening-card .open-invitation{margin:auto}.opening-card small{display:block;margin-top:12px;color:#9b8e84;font-size:8px;letter-spacing:1.5px}
.music-toggle{position:fixed;right:18px;bottom:18px;z-index:9000;width:44px;height:44px;border-radius:50%;border:1px solid rgba(255,255,255,.55);background:rgba(70,59,53,.88);color:#fff;display:grid;place-items:center;font-size:18px;cursor:pointer}

/* Our Journey: photo beside the story */
.journey-section{padding:110px 7%;position:relative;background:#f8f5f0}
.journey-layout{max-width:1180px;margin:55px auto 0;display:grid;grid-template-columns:minmax(300px,.9fr) minmax(360px,1.1fr);gap:80px;align-items:center}
.journey-photo-wrap{text-align:center;position:sticky;top:100px}
.journey-photo-frame{position:relative;max-width:450px;margin:auto;padding:15px;background:#eee7df;border:1px solid rgba(91,74,62,.25);box-shadow:0 24px 55px rgba(67,52,43,.14)}
.journey-photo-frame:before{content:"";position:absolute;inset:7px;border:1px solid rgba(120,99,84,.25);pointer-events:none}
.journey-photo-frame img{display:block;width:100%;aspect-ratio:4/5;object-fit:cover;position:relative}
.botanical{position:absolute;z-index:3;font-size:38px;color:#8a7768;opacity:.8;font-family:serif}
.botanical-left{left:-22px;top:24px;transform:rotate(-30deg)}
.botanical-right{right:-22px;bottom:25px;transform:rotate(150deg)}
.journey-caption{font:italic 22px "Cormorant Garamond",serif;color:#66574c;margin-top:18px}
.journey-story{max-width:620px}
.journey-intro h3{font:500 42px/1.05 "Cormorant Garamond",serif;color:#4d4037;margin:8px 0 14px}
.journey-intro>p:last-child{font-size:15px;line-height:1.8;color:#776b63;max-width:560px}
.journey-timeline{margin-top:32px;border-left:1px solid #c7b8aa;padding-left:26px}
.journey-item{position:relative;display:flex;gap:17px;margin:0 0 22px}
.journey-dot{position:absolute;left:-43px;top:0;width:32px;height:32px;border-radius:50%;background:#f8f5f0;border:1px solid #b8a799;display:grid;place-items:center;font-size:9px;letter-spacing:1px;color:#77665a}
.journey-item h4{margin:0 0 4px;font:500 22px/1.1 "Cormorant Garamond",serif;color:#57483e}
.journey-item p{margin:0;color:#85776d;font-size:13px;line-height:1.5}
.journey-things{margin-top:30px;padding-top:22px;border-top:1px solid rgba(119,103,91,.2)}
.journey-tags{display:flex;flex-wrap:wrap;gap:9px;margin-top:12px}
.journey-tags span{padding:9px 13px;border:1px solid #c9b9aa;background:#f2ede7;color:#6f6157;font-size:11px;letter-spacing:.2px}
@media(max-width:800px){
 .journey-section{padding:80px 6%}
 .journey-layout{grid-template-columns:1fr;gap:45px;margin-top:38px}
 .journey-photo-wrap{position:static}
 .journey-photo-frame{max-width:380px}
 .journey-story{max-width:none}
 .journey-intro h3{font-size:36px}
}
@media(max-width:480px){
 .journey-layout{gap:34px}
 .journey-photo-frame{padding:10px}
 .journey-item h4{font-size:20px}
 .journey-tags span{font-size:10px}
}

/* Centered Our Journey */
.journey-section{padding:110px 7%;text-align:center}
.journey-title{max-width:1180px;margin:0 auto 42px}
.journey-title .eyebrow{margin:0 0 14px}
.journey-title .heading-rule{margin:0 auto}
.journey-layout{text-align:left}
.journey-story{text-align:left}

/* Final monogram: light luxury glow for contrast against brown */
.final-monogram,
.end-monogram,
.monogram-end,
.footer-monogram{
  position:relative;
  display:inline-grid;
  place-items:center;
}
.final-monogram img,
.end-monogram img,
.monogram-end img,
.footer-monogram img{
  filter:
    drop-shadow(0 0 4px rgba(255,248,235,.95))
    drop-shadow(0 0 12px rgba(255,248,235,.72))
    drop-shadow(0 0 26px rgba(255,248,235,.42));
}

/* Catch the common final monogram image patterns in the existing footer/closing section */
.closing-section img[alt*="monogram" i],
.footer img[alt*="monogram" i],
.final-section img[alt*="monogram" i],
.end-section img[alt*="monogram" i]{
  filter:
    drop-shadow(0 0 4px rgba(255,248,235,.98))
    drop-shadow(0 0 12px rgba(255,248,235,.78))
    drop-shadow(0 0 26px rgba(255,248,235,.48));
}
@media(max-width:800px){
  .journey-section{padding:80px 6%}
  .journey-title{margin-bottom:34px}
}

.journey-item .journey-detail{
  margin:0 0 6px!important;
  color:#75655b!important;
  font-size:13px!important;
  font-weight:500;
}
.journey-item .journey-note{
  margin:0!important;
  max-width:510px;
  color:#96877d!important;
  font-family:"Cormorant Garamond",serif;
  font-size:16px!important;
  line-height:1.45!important;
  font-style:italic;
}
.journey-item{margin-bottom:30px!important}
.journey-story{max-width:650px!important}
@media(max-width:800px){
  .journey-item .journey-note{font-size:15px!important}
}

.journey-title{text-align:center!important}
.journey-title .heading-rule{margin-left:auto!important;margin-right:auto!important}
.journey-section .journey-layout{margin-left:auto!important;margin-right:auto!important}
