@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,400;0,500;0,600;1,400;1,500&family=Noto+Kufi+Arabic:wght@400;500;600;700&display=swap');
:root{--ink:#263f55;--gold:#c8a33a;--gold2:#e3c866;--cream:#f7f1e6;--paper:#fffdf8;--line:rgba(38,63,85,.18);--shadow:0 25px 70px rgba(34,48,60,.16)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:#f7f1e6;font-family:'Noto Kufi Arabic',Tahoma,Arial,sans-serif}.emoji{font-family:'Segoe UI Emoji','Apple Color Emoji','Noto Color Emoji',sans-serif;font-style:normal}button,input,textarea{font:inherit}button{cursor:pointer}a{color:inherit}
/* OPENING */
.opening{position:fixed;inset:0;z-index:1000;display:grid;place-items:center;background:radial-gradient(circle at 50% 35%,#fffdf8 0,#f8f1e5 52%,#ebe3d4 100%);transition:opacity .8s,visibility .8s}.opening.hidden{opacity:0;visibility:hidden;pointer-events:none}.envelope-wrap{width:min(520px,88vw);text-align:center}.envelope{position:relative;width:min(470px,82vw);aspect-ratio:1.48;margin:auto;filter:drop-shadow(0 28px 28px rgba(55,50,35,.16));perspective:1000px}.envelope-back,.envelope-front{position:absolute;inset:0;background:#e9e1d2;border:1px solid rgba(110,92,61,.12)}.envelope-front{clip-path:polygon(0 0,50% 50%,100% 0,100% 100%,0 100%);z-index:4}.envelope-back{z-index:1}.envelope-letter{position:absolute;left:10%;right:10%;top:0;height:82%;background:#fffdf8;border:1px solid #eee5d7;z-index:2;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;box-shadow:0 5px 25px rgba(0,0,0,.07);transition:transform 1s cubic-bezier(.2,.8,.2,1),z-index 0s 0s}.envelope-letter strong{font-size:clamp(22px,4vw,36px);font-weight:500}.letter-small{font-family:'Cormorant Garamond',serif;font-size:30px;color:#a7853c;font-style:italic}.flap{position:absolute;inset:0;background:#eee6d7;clip-path:polygon(0 0,100% 0,50% 56%);z-index:5;transform-origin:50% 0;transition:transform 1s cubic-bezier(.2,.8,.2,1)}.seal{position:absolute;z-index:6;left:50%;top:25%;transform:translate(-50%,-50%);width:100px;height:100px;border-radius:50%;display:flex;align-items:center;justify-content:center;gap:4px;background:linear-gradient(135deg,var(--gold2),#b99020);color:#fffdf8;border:5px solid #ead47a;box-shadow:0 8px 18px rgba(90,65,15,.2);font:italic 31px 'Cormorant Garamond',serif;letter-spacing:0;padding-right:0;transition:transform 1s;white-space:nowrap}.seal .monogram-text{font-size:27px;white-space:nowrap;line-height:1}.envelope.open .flap{transform:rotateX(180deg)}.envelope.open .seal{top:0;z-index:7;transform:translate(-50%,-50%) rotate(12deg) scale(.75)}.envelope.open .envelope-letter{transform:translateY(-26%);z-index:6}.open-btn{margin-top:32px;border:0;border-radius:999px;padding:13px 28px;background:var(--ink);color:white;box-shadow:0 12px 25px rgba(38,63,85,.2)}.open-btn span{font:italic 18px 'Cormorant Garamond',serif;margin-inline-start:10px;opacity:.85}
/* HERO */
.site{opacity:0;transition:opacity .7s}.site.visible{opacity:1}.hero{min-height:100svh;position:relative;display:grid;place-items:center;overflow:hidden;background:radial-gradient(circle at 50% 35%,#fffdf8 0,#f7f0e4 58%,#ebe2d1 100%);isolation:isolate;padding:70px 20px}.hero:before{content:'';position:absolute;inset:28px;border:1px solid rgba(200,163,58,.25);pointer-events:none}.hero-card{position:relative;z-index:10;width:min(760px,88vw);padding:70px 50px 55px;text-align:center;background-image:linear-gradient(rgba(255,252,244,.38),rgba(255,252,244,.38)),url('../images/card-bg.jpg');background-size:cover;background-position:center;border:1px solid rgba(200,163,58,.28);box-shadow:var(--shadow);backdrop-filter:blur(1px)}.hero-card:before{content:'';position:absolute;inset:12px;border:1px solid rgba(38,63,85,.16);pointer-events:none}.hero-card>*:not(.monogram){position:relative;z-index:2}.monogram{position:absolute;left:50%;top:0;transform:translate(-50%,-50%);width:92px;height:92px;border-radius:50%;display:flex;align-items:center;justify-content:center;gap:4px;background:var(--gold);color:white;border:5px solid #ead27b;font:italic 27px 'Cormorant Garamond',serif;letter-spacing:0;box-shadow:0 8px 22px rgba(90,70,20,.18);white-space:nowrap}.monogram .monogram-text{font-size:27px;white-space:nowrap;line-height:1}.eyebrow-ar{font-size:20px;margin:0 0 5px}.eyebrow-en,.section-en{font:italic 32px 'Cormorant Garamond',serif;color:#9c7a35;margin:0}.hero h1{margin:20px 0 10px;display:flex;align-items:center;justify-content:center;gap:18px;font-size:clamp(42px,7vw,82px);font-weight:500;line-height:1.2}.hero h1 b{font:italic 1em 'Cormorant Garamond',serif;color:var(--gold);font-weight:400}.heart-rule{display:flex;align-items:center;justify-content:center;gap:12px}.heart-rule i{width:70px;height:1px;background:rgba(38,63,85,.35)}.heart-rule span{color:var(--gold);font-size:18px}.welcome{font-size:19px;margin:14px 0}.hero-date{display:flex;flex-direction:column;gap:4px;font-family:'Cormorant Garamond',serif;font-size:24px}.hero-date span{font-family:'Noto Kufi Arabic',sans-serif;font-size:14px}.scroll-cue{display:inline-flex;flex-direction:column;align-items:center;gap:3px;margin-top:30px;text-decoration:none;font-size:12px;color:#6d7d88}.scroll-cue span{font-size:24px;line-height:.8}.hero-doodles .doodle{position:absolute;color:#b84d4d;opacity:.45;font-size:50px;z-index:2;font-family:Georgia,serif}.doodle-1{top:13%;left:8%;transform:rotate(-20deg)}.doodle-2{top:22%;right:9%;transform:rotate(16deg)}.doodle-3{bottom:18%;left:13%;font-size:28px!important}.doodle-4{bottom:12%;right:13%;transform:rotate(22deg)}
.floating-photos{display:block;position:absolute;inset:0;z-index:4;pointer-events:none}.float-photo{position:absolute;width:180px;aspect-ratio:3/4;margin:0;padding:10px 10px 32px;background:#fffdf8;box-shadow:0 18px 35px rgba(35,45,50,.22);border:1px solid rgba(30,30,20,.08)}.float-photo img{width:100%;height:100%;object-fit:cover;display:block;filter:saturate(.82) contrast(.96)}.p1{left:4%;top:16%;transform:rotate(-8deg);animation:float1 7s ease-in-out infinite}.p2{right:4%;top:13%;transform:rotate(8deg);animation:float2 8s ease-in-out infinite}.p3{left:7%;bottom:11%;transform:rotate(7deg);animation:float3 9s ease-in-out infinite}.p4{right:7%;bottom:10%;transform:rotate(-7deg);animation:float4 7.5s ease-in-out infinite}@keyframes float1{50%{transform:translate(12px,16px) rotate(-4deg)}}@keyframes float2{50%{transform:translate(-12px,18px) rotate(12deg)}}@keyframes float3{50%{transform:translate(15px,-15px) rotate(3deg)}}@keyframes float4{50%{transform:translate(-14px,-12px) rotate(-11deg)}}
/* LOWER BACKGROUND */
.lower-site{position:relative;overflow:hidden;background:#f4ecdf}.lower-site:before{content:'';position:absolute;inset:-28px;background-image:linear-gradient(rgba(255,250,240,.6),rgba(255,250,240,.6)),url('../images/lower-bg.jpg');background-size:cover;background-position:center top;filter:blur(12px);transform:scale(1.04);z-index:0}.lower-site>*{position:relative;z-index:1}.section{padding:90px 20px}.section-inner,.question-card,.rsvp-card{width:min(920px,94vw);margin:auto}.glass{background:rgba(232,244,252,.75);border:1px solid rgba(255,255,255,.75);box-shadow:var(--shadow);border-radius:34px;padding:70px 40px;text-align:center;backdrop-filter:blur(10px)}h2{font-size:clamp(34px,5vw,58px);margin:8px 0 10px;font-weight:600}.section-sub{margin:0;opacity:.72}.count-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:42px}.count-grid>div{padding:22px 10px;border-radius:20px;background:rgba(255,255,255,.38);border:1px solid rgba(255,255,255,.8)}.count-grid strong{display:block;font:400 clamp(44px,7vw,68px) 'Cormorant Garamond',serif}.count-grid span{display:block}.count-grid small{display:block;margin-top:5px;letter-spacing:3px;opacity:.45;font:12px 'Cormorant Garamond',serif}.question-card{background:rgba(255,253,248,.92);border:1px solid rgba(200,163,58,.24);box-shadow:var(--shadow);border-radius:34px;padding:65px 30px;text-align:center;overflow:hidden}.question-card>p{opacity:.7}.answer-area{position:relative;width:min(560px,92vw);height:145px;margin:25px auto 0}.yes-btn,.no-btn{border:0;border-radius:999px;padding:15px 28px;min-width:170px;position:absolute}.yes-btn{background:var(--ink);color:white;box-shadow:0 10px 25px rgba(38,63,85,.18);left:50%;top:78px;transform:translateX(-50%)}.no-btn{background:#eee4d8;color:#6e6256;left:50%;top:5px;transform:translateX(-50%);transition:left .16s ease,top .16s ease}.yes-message{margin-top:20px;color:#a47c23;font-weight:600}
.venue.section{background:#fff;padding-top:78px;padding-bottom:88px}.venue-wrap{width:min(1080px,94vw);margin:auto;text-align:center}.venue-section-label{margin:0 0 42px;color:#9aa5ae;letter-spacing:4px;font:13px 'Cormorant Garamond',serif}.venue-card{background:#fff;border:1px solid #dcecf4;border-radius:22px;box-shadow:0 18px 45px rgba(53,82,103,.08);padding:42px 40px 38px}.venue-card-top{text-align:center}.venue-mini-pin{width:74px;height:74px;border-radius:50%;border:1px solid #dcecf4;display:grid;place-items:center;margin:0 auto 28px;color:#2f5067;font-size:18px}.venue-card h3{font-size:34px;margin:0 0 7px;color:#243f55}.venue-english{font:24px 'Cormorant Garamond',serif;color:#8491a0;margin-bottom:22px}.venue-address{font-size:18px;line-height:1.9;color:#66788a;margin:0}.venue-meta{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:35px}.venue-meta div{background:#fafaf8;border-radius:12px;padding:14px;color:#63758a;font:18px 'Cormorant Garamond',serif}.venue-meta span{margin-inline-end:8px}.venue-actions{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:26px}.venue-actions a{text-decoration:none;text-align:center;border-radius:999px;padding:15px 18px;font-weight:600}.calendar-btn{border:1px solid #8fd0ef;color:#34526a;background:white}.map-btn{background:#7bc5e3;color:white}.rsvp-card{background:rgba(255,253,248,.96);border:1px solid rgba(38,63,85,.13);border-radius:34px;box-shadow:var(--shadow);padding:60px 44px}.rsvp-card h2{text-align:center}.rsvp-card>.section-sub{text-align:center}.rsvp-card form{margin-top:35px;display:grid;gap:24px}.rsvp-card label,.rsvp-card legend{font-weight:600}.rsvp-card input:not([type=radio]),.rsvp-card textarea{width:100%;margin-top:8px;border:1px solid #d8dce0;border-radius:18px;background:#fff;padding:15px 17px;outline:none}.rsvp-card textarea{min-height:110px;resize:vertical}.rsvp-card fieldset{border:0;padding:0;margin:0;display:grid;gap:14px}.choice{font-weight:400!important;display:flex;align-items:center;gap:8px}.choice input{accent-color:var(--ink)}.submit-btn{border:0;border-radius:999px;padding:15px;background:var(--ink);color:white;font-weight:600}.form-done{text-align:center;margin-top:20px;padding:15px;border-radius:15px;background:#e9f5ec;color:#2e6b3d}.footer{text-align:center;padding:60px 20px;background:rgba(220,236,245,.88);color:#5d7b91}.footer-heart{font-size:24px;color:#a87c24;margin-bottom:10px}.footer strong{display:block;font:italic 28px 'Cormorant Garamond',serif}.footer span{font:italic 18px 'Cormorant Garamond',serif}.audio-btn{position:fixed;right:18px;bottom:18px;z-index:50;width:54px;height:54px;border:0;border-radius:50%;background:white;color:var(--ink);box-shadow:0 10px 30px rgba(0,0,0,.16);font-size:23px}
.rsvp-card{background:rgba(255,253,248,.96);border:1px solid rgba(38,63,85,.13);border-radius:34px;box-shadow:var(--shadow);padding:60px 44px}.rsvp-card h2{text-align:center}.rsvp-card>.section-sub{text-align:center}.rsvp-card form{margin-top:35px;display:grid;gap:24px}.rsvp-card label,.rsvp-card legend{font-weight:600}.rsvp-card input:not([type=radio]),.rsvp-card textarea{width:100%;margin-top:8px;border:1px solid #d8dce0;border-radius:18px;background:#fff;padding:15px 17px;outline:none}.rsvp-card textarea{min-height:110px;resize:vertical}.rsvp-card fieldset{border:0;padding:0;margin:0;display:grid;gap:14px}.choice{font-weight:400!important;display:flex;align-items:center;gap:8px}.choice input{accent-color:var(--ink)}.submit-btn{border:0;border-radius:999px;padding:15px;background:var(--ink);color:white;font-weight:600}.form-done{text-align:center;margin-top:20px;padding:15px;border-radius:15px;background:#e9f5ec;color:#2e6b3d}.footer{text-align:center;padding:60px 20px;background:rgba(220,236,245,.88);color:#5d7b91}.footer-heart{font-size:24px;color:#a87c24;margin-bottom:10px}.footer strong{display:block;font:italic 28px 'Cormorant Garamond',serif}.footer span{font:italic 18px 'Cormorant Garamond',serif}.audio-btn{position:fixed;right:18px;bottom:18px;z-index:50;width:54px;height:54px;border:0;border-radius:50%;background:white;color:var(--ink);box-shadow:0 10px 30px rgba(0,0,0,.16);font-size:23px}
@media(max-width:800px){.hero{padding:35px 12px}.hero:before{inset:12px}.hero-card{width:min(92vw,650px);padding:62px 18px 42px}.hero h1{font-size:clamp(35px,10vw,55px);gap:9px}.eyebrow-ar{font-size:16px}.eyebrow-en{font-size:27px}.hero-date{font-size:20px}.float-photo{width:120px;padding:7px 7px 24px}.p1{left:1%;top:11%}.p2{right:1%;top:9%}.p3{left:2%;bottom:9%}.p4{right:2%;bottom:8%}.doodle{display:none}.count-grid{grid-template-columns:repeat(2,1fr)}.section{padding:55px 12px}.glass,.question-card,.rsvp-card{padding:45px 18px;border-radius:25px}.venue-card{padding:35px 18px;border-radius:22px}.venue-meta,.venue-actions{grid-template-columns:1fr}.venue-card h3{font-size:28px}.venue-address{font-size:16px}.venue-english{font-size:21px}.no-btn{min-width:125px}.yes-btn{min-width:155px}.venue-pin{margin:auto;width:150px;height:150px;font-size:75px}}
@media(max-width:460px){.float-photo{width:92px;padding:5px 5px 18px}.p1{left:-2%;top:12%}.p2{right:-2%;top:10%}.p3{left:-1%;bottom:11%}.p4{right:-1%;bottom:10%}.hero-card{padding-inline:12px}.hero-card:before{inset:7px}.answer-area{height:170px}.yes-btn{min-width:150px;padding:13px 18px;top:92px}.no-btn{top:8px}}

/* TOP MOVING MESSAGE */
.top-marquee{position:relative;z-index:30;overflow:hidden;background:var(--ink);color:#fffdf8;border-bottom:1px solid rgba(200,163,58,.45);box-shadow:0 5px 18px rgba(38,63,85,.14);direction:ltr;white-space:nowrap}
.marquee-track{display:flex;width:max-content;animation:weddingMarquee 58s linear infinite}
.marquee-content{display:flex;align-items:center;gap:28px;min-height:48px;padding:0 28px;direction:rtl;flex-shrink:0}
.marquee-content span{font-size:15px;line-height:1;letter-spacing:.1px}
.marquee-content b{color:var(--gold2);font-size:18px;font-weight:500}
@keyframes weddingMarquee{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@media(max-width:600px){.marquee-track{animation-duration:48s}.marquee-content{gap:20px;min-height:44px;padding:0 20px}.marquee-content span{font-size:12px}.marquee-content b{font-size:15px}}
@media(prefers-reduced-motion:reduce){.marquee-track{animation:none}}

/* THANK-YOU POPUP */
.thanks-modal{position:fixed;inset:0;z-index:2000;display:grid;place-items:center;padding:20px}
.thanks-modal[hidden]{display:none}
.thanks-backdrop{position:absolute;inset:0;background:rgba(20,31,40,.48);backdrop-filter:blur(7px)}
.thanks-dialog{position:relative;width:min(520px,92vw);padding:48px 34px 34px;text-align:center;background:var(--paper);border:1px solid rgba(200,163,58,.35);border-radius:30px;box-shadow:0 30px 80px rgba(20,30,35,.28);animation:thanksIn .28s ease-out}
.thanks-heart{width:70px;height:70px;margin:-82px auto 18px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(135deg,var(--gold2),var(--gold));color:#fff;font-size:30px;border:5px solid #ead47a;box-shadow:0 10px 25px rgba(90,70,20,.2)}
.thanks-dialog h2{font-size:clamp(27px,5vw,42px);margin:0 0 10px;color:var(--ink)}
.thanks-dialog p{font-size:18px;line-height:2;color:#6a7b88;margin:0 auto 26px}
.thanks-ok{border:0;border-radius:999px;padding:12px 30px;background:var(--ink);color:#fff;font-weight:600}
.thanks-close{position:absolute;top:12px;left:16px;width:38px;height:38px;border:0;border-radius:50%;background:#efe5d7;color:#6e6256;font-size:25px;line-height:1}
@keyframes thanksIn{from{opacity:0;transform:translateY(12px) scale(.97)}to{opacity:1;transform:none}}

.monogram-text,.seal .monogram-text{display:block;white-space:nowrap;unicode-bidi:isolate}
.yes-message .emoji{font-family:'Segoe UI Emoji','Apple Color Emoji','Noto Color Emoji',sans-serif}
