*{box-sizing:border-box}
:root{--maroon:#68152f;--deep:#3d0d1d;--gold:#c9a25c;--cream:#fff5ed;--ink:#201719;--muted:#75686a;--line:rgba(104,21,47,.28)}
html{scroll-behavior:smooth}body{margin:0;background:#160b10;color:var(--ink);font-family:"DM Sans",sans-serif}.locked{overflow:hidden}.site-shell{background:var(--cream);overflow:hidden}
.floral.top {
    animation: flowerFloat 8s ease-in-out infinite;
}

@keyframes flowerFloat {
    0%, 100% {
        transform: translate3d(0, 0, 0) rotate(0deg);
    }

    50% {
        transform: translate3d(8px, 10px, 0) rotate(1deg);
    }
}
.chapter{min-height:100svh;position:relative;display:flex;align-items:center;justify-content:center;padding:110px 22px;background:var(--cream);isolation:isolate;overflow:hidden}
.chapter:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 50% 45%,#fffaf6 0,rgba(255,245,237,.3) 48%,rgba(104,21,47,.035) 100%);z-index:-3}
.floral{position:absolute;left:0;width:100%;height:340px;background-repeat:no-repeat;background-size:900px auto;z-index:-1;pointer-events:none;transition:transform 1.2s ease}.floral.top{top:0;background-image:url("assets/floral-top.svg");background-position:left top}.floral.bottom{bottom:0;background-image:url("assets/floral-bottom.svg");background-position:right bottom}
.chapter:hover .floral.top{transform:translateY(-5px)}.chapter:hover .floral.bottom{transform:translateY(5px)}
.opening{position:fixed;inset:0;z-index:1000;background:var(--cream);display:grid;place-items:center;overflow:hidden;transition:opacity .8s,visibility .8s}.opening.hidden{opacity:0;visibility:hidden;pointer-events:none}
.opening-floral{position:absolute;width:100%;height:43%;background-repeat:no-repeat;background-size:800px auto}.opening-floral.top{top:0;left:0;background-image:url("assets/floral-top.svg");background-position:left top}.opening-floral.bottom{bottom:0;right:0;background-image:url("assets/floral-bottom.svg");background-position:right bottom}
.opening-petal{position:absolute;width:230px;height:230px;border-radius:50%;filter:blur(45px);opacity:.12}.opening-petal.p1{background:var(--maroon);left:-80px;top:35%}.opening-petal.p2{background:var(--gold);right:-80px;bottom:30%}
.opening-content{text-align:center;position:relative;z-index:2;padding:30px}.script,.eyebrow{font-family:"Great Vibes",cursive;color:var(--maroon);font-size:32px;margin:0 0 15px}
.opening-monogram,.monogram{display:flex;align-items:center;justify-content:center;gap:20px;font-family:"Cormorant Garamond",serif;font-size:118px;line-height:.85}.opening-monogram i,.monogram i{display:block;width:1px;height:110px;background:#2a1d20}
.names-mini{letter-spacing:7px;font-weight:600;font-size:15px}.opening-date{letter-spacing:4px;font-size:14px}.guest-box{margin:30px auto 22px;display:flex;flex-direction:column;gap:4px;font-size:12px;color:var(--muted)}.guest-box strong{color:var(--ink);font-weight:600}
.btn{border:1px solid var(--gold);border-radius:999px;padding:13px 25px;text-decoration:none;display:inline-flex;justify-content:center;align-items:center;gap:8px;font:600 13px "DM Sans";cursor:pointer;transition:.25s}.btn.gold{background:var(--maroon);color:#fff8ee}.btn.outline{color:var(--maroon);background:rgba(255,255,255,.4)}.btn:hover{transform:translateY(-2px);box-shadow:0 12px 28px rgba(104,21,47,.18)}.swipe-note{font-size:9px;letter-spacing:2px;color:var(--muted);margin-top:18px}
.nav{position:fixed;top:0;left:0;right:0;height:64px;z-index:100;background:rgba(255,245,237,.82);backdrop-filter:blur(14px);display:flex;align-items:center;justify-content:space-between;padding:0 28px;border-bottom:1px solid rgba(104,21,47,.08)}.nav-brand{font-family:"Cormorant Garamond";font-weight:700;letter-spacing:3px;font-size:16px;color:var(--ink);text-decoration:none}.nav nav{display:flex;gap:24px}.nav nav a{font-size:12px;color:var(--ink);text-decoration:none}.icon-btn{border:1px solid var(--maroon);background:transparent;color:var(--maroon);width:38px;height:38px;border-radius:50%;cursor:pointer}
.hero{text-align:center}.hero-inner{max-width:650px}.couple-name{font-family:"Cormorant Garamond";font-size:58px;margin:24px 0 8px}.couple-name b{font-family:"Great Vibes";font-weight:400;color:var(--maroon);font-size:48px}.gold-rule{height:1px;width:90px;background:var(--gold);margin:18px auto}.hero-date{letter-spacing:3px;font-size:14px}.hero-note{max-width:460px;margin:25px auto;line-height:1.7;color:var(--muted);font-size:14px}.scroll-cue{display:inline-flex;flex-direction:column;gap:7px;margin-top:22px;color:var(--maroon);font-size:10px;letter-spacing:3px;text-decoration:none;text-transform:uppercase}.scroll-cue span{font-size:20px;animation:bounce 1.5s infinite}
.arch{width:min(700px,94vw);border:2px solid var(--line);border-radius:170px;background:rgba(255,245,237,.9);padding:80px 55px;text-align:center;backdrop-filter:blur(4px);box-shadow:0 20px 60px rgba(104,21,47,.04)}.quote h2{font:500 30px/1.45 "Cormorant Garamond";margin:0}.ref{font-size:13px;letter-spacing:1px;color:var(--muted);margin-top:28px}.intro-copy{width:min(620px,90vw);text-align:center;font:400 31px/1.5 "Cormorant Garamond"}
.person-name{font:600 58px "Cormorant Garamond";margin:0 0 6px}.person p:last-child{font-size:14px;line-height:1.7;color:var(--muted)}.amp{font:400 52px "Great Vibes";color:var(--maroon);margin:22px}
.event-wrap{width:min(680px,94vw);text-align:center;background:rgba(255,245,237,.82);border-radius:70px;padding:65px 35px;border:1px solid var(--line)}.event .script{font-size:55px}.date-line{font-size:12px;letter-spacing:3px;text-transform:uppercase}.big-date{font:600 50px "Cormorant Garamond";letter-spacing:2px;margin:12px 0 30px}.event-info{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin:20px 0 28px}.event-info div{display:flex;flex-direction:column;gap:8px}.event-info small{font-size:10px;letter-spacing:3px;color:var(--muted)}.event-info strong{font:500 23px "Cormorant Garamond";line-height:1.4}
.reception-card{width:min(800px,94vw);min-height:600px;border:2px solid var(--maroon);border-radius:55px;display:grid;grid-template-columns:150px 1fr;overflow:hidden;background:var(--cream);box-shadow:0 25px 60px rgba(104,21,47,.08)}.reception-card aside{background:var(--maroon);color:#fff7ee;display:flex;align-items:center;justify-content:center;writing-mode:vertical-rl;font:60px "Great Vibes"}.reception-main{text-align:center;padding:70px 35px;display:flex;flex-direction:column;justify-content:center}
.countdown-inner{text-align:center}.countdown h2,.gallery h2,.etiquette h2,.rsvp h2{font:500 48px "Cormorant Garamond";margin:0 0 35px}.timer{display:flex;align-items:center;justify-content:center;gap:16px}.timer div{min-width:90px}.timer b{font:600 48px "Cormorant Garamond";display:block;color:var(--maroon)}.timer span{font-size:10px;letter-spacing:2px;color:var(--muted)}.timer i{color:var(--gold);font-style:normal;font-size:30px}
.gallery-inner{width:min(850px,95vw);text-align:center}.muted{color:var(--muted);font-size:13px;line-height:1.7}.photo-grid{display:grid;grid-template-columns:1.15fr .85fr 1fr;grid-template-rows:210px 210px;gap:12px;margin-top:30px}.photo{border:0;border-radius:20px;background:linear-gradient(135deg,#ead4cb,#c8d3c6);position:relative;overflow:hidden;display:flex;align-items:flex-end;padding:15px;color:#fff;cursor:pointer;background-size:cover;background-position:center;transition:.35s}.photo:before{content:"";position:absolute;inset:0;background:linear-gradient(145deg,rgba(104,21,47,.04),rgba(104,21,47,.35));transition:.35s}.photo:hover{transform:scale(1.015)}.photo:hover:before{opacity:.65}.photo span{position:relative;font-size:11px;letter-spacing:2px;text-shadow:0 1px 5px rgba(0,0,0,.35)}.p1{grid-row:span 2}.p4{grid-column:span 2}
.etiquette-inner{width:min(850px,95vw);text-align:center}.rules{display:grid;grid-template-columns:1fr 1fr;gap:15px;text-align:left}.rules div{padding:22px;border:1px solid var(--line);border-radius:20px;background:rgba(255,255,255,.35);display:flex;align-items:center;gap:18px}.rules span{color:var(--gold);font:600 14px "Cormorant Garamond"}.rules b{font-size:13px}
.prayer .arabic,.closing .arabic{font:400 35px/2 serif;direction:rtl}.translation{font:400 21px/1.55 "Cormorant Garamond"}.rsvp-inner{width:min(560px,92vw);text-align:center}.rsvp form{display:grid;gap:12px;margin-top:25px}.rsvp input,.rsvp select{width:100%;padding:15px 17px;border:1px solid var(--line);border-radius:12px;background:rgba(255,255,255,.6);font:14px "DM Sans";outline:none}.rsvp input:focus,.rsvp select:focus{border-color:var(--maroon)}.closing-couple{font:600 58px "Cormorant Garamond";margin:18px 0}.closing-actions{display:flex;justify-content:center;gap:10px;flex-wrap:wrap}
.bottom-nav{display:none}.lightbox{position:fixed;inset:0;background:rgba(23,8,14,.94);z-index:1600;display:none;align-items:center;justify-content:center;flex-direction:column;padding:30px}.lightbox.open{display:flex}.lightbox img{max-width:min(900px,94vw);max-height:78vh;object-fit:contain;border-radius:16px;box-shadow:0 20px 80px rgba(0,0,0,.5)}.lightbox p{color:#fff;margin:14px}.close-lightbox{position:absolute;right:20px;top:15px;border:0;background:none;color:#fff;font-size:42px;cursor:pointer}
footer{background:var(--deep);color:#e8d8d1;text-align:center;padding:28px;font-size:10px;letter-spacing:2px}
#loader{position:fixed;inset:0;background:var(--maroon);z-index:2000;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#fff;transition:.6s}.loader-monogram{font:80px "Cormorant Garamond";letter-spacing:8px}.loader-monogram span{font:40px "Great Vibes";color:var(--gold)}.spinner{width:30px;height:30px;border:1px solid rgba(255,255,255,.25);border-top-color:var(--gold);border-radius:50%;animation:spin 1s linear infinite;margin-top:25px}#loader p{font-size:9px;letter-spacing:2px;color:#e9d9d2}
.reveal{opacity:0;transform:translateY(35px);transition:.9s ease}.reveal.visible{opacity:1;transform:none}
@keyframes spin{to{transform:rotate(360deg)}}@keyframes bounce{50%{transform:translateY(5px)}}
@media(max-width:700px){
 .nav{padding:0 15px}.nav nav{display:none}.floral{height:230px;background-size:650px auto}.opening-floral{height:35%;background-size:620px auto}
 .opening-monogram,.monogram{font-size:90px;gap:12px}.opening-monogram i,.monogram i{height:85px}.script,.eyebrow{font-size:28px}.couple-name{font-size:46px}
 .arch{padding:60px 25px;border-radius:120px}.quote h2{font-size:24px}.intro-copy{font-size:24px}.person-name{font-size:46px}
 .event-wrap{padding:55px 20px}.event .script{font-size:46px}.big-date{font-size:39px}.event-info{grid-template-columns:1fr}
 .reception-card{grid-template-columns:82px 1fr;min-height:580px}.reception-card aside{font-size:43px}.reception-main{padding:55px 18px}
 .countdown h2,.gallery h2,.etiquette h2,.rsvp h2{font-size:39px}.timer{gap:6px}.timer div{min-width:62px}.timer b{font-size:36px}.timer i{font-size:20px}
 .photo-grid{grid-template-columns:1fr 1fr;grid-template-rows:170px 170px 170px}.p1{grid-row:span 1}.p4{grid-column:span 2}.rules{grid-template-columns:1fr}
 .prayer .arabic,.closing .arabic{font-size:27px}.translation{font-size:18px}.closing-couple{font-size:46px}
 .bottom-nav{position:fixed;bottom:0;left:0;right:0;height:67px;background:rgba(255,245,237,.94);backdrop-filter:blur(12px);z-index:1200;border-top:1px solid rgba(104,21,47,.1);display:grid;grid-template-columns:repeat(5,1fr);padding-bottom:env(safe-area-inset-bottom)}
 .bottom-nav a{text-decoration:none;color:var(--maroon);display:flex;align-items:center;justify-content:center;flex-direction:column;font-size:18px;gap:2px}.bottom-nav span{font-size:8px;letter-spacing:.4px}
 footer{padding-bottom:90px}
}
