:root{--body-font: "Noto Naskh Arabic", serif;--ivory: #fffaf5;--paper: #f8ede7;--blush: #e9c8c0;--rose: #ad675f;--ink: #68453a;--gold: #b68b5c;--shadow: 0 24px 70px #6d423326}*{box-sizing:border-box}[hidden]{display:none!important}html{scroll-behavior:smooth;overscroll-behavior-y:contain;scrollbar-gutter:stable}body{margin:0;background:var(--ivory);color:var(--ink);font:18px/1.8 var(--body-font)}body.locked{overflow:hidden}button,input,textarea{font:inherit}button,a{touch-action:manipulation}a{color:inherit}.eyebrow{font:.66rem/1.4 var(--body-font);letter-spacing:.32em;direction:ltr}.button{display:inline-flex;justify-content:center;align-items:center;min-height:48px;padding:.6rem 1.6rem;border:1px solid var(--rose);border-radius:99px;background:var(--rose);color:#fff;text-decoration:none;cursor:pointer;box-shadow:0 8px 28px #9b5e5033;transition:transform .25s,filter .25s}.button:hover{filter:brightness(.95);transform:translateY(-2px)}:focus-visible{outline:3px solid #704d42;outline-offset:4px}.gate{position:fixed;inset:0;z-index:20;display:grid;place-items:center;background:#f9f0e0;transition:opacity 1.2s ease,visibility 1.2s ease}.gate__video{width:100%;max-width:440px;display:block;object-fit:contain;grid-area:1 / 1;pointer-events:none;transition:transform 1.2s cubic-bezier(.2,0,.4,1)}.gate.is-finished .gate__video{transform:scale(1.15)}.gate .gate__open{position:absolute;inset:0;z-index:5;width:100%;height:100%;border:0;background:transparent;cursor:pointer}.gate__prompt{position:absolute;bottom:30%;left:50%;transform:translate(-50%);display:grid;justify-items:center;gap:7px;color:#8c643cbf;font:11px var(--body-font);letter-spacing:.26em;white-space:nowrap;animation:gatePulse 2.4s ease-in-out infinite}.gate__chevron{width:10px;height:10px;border-top:1.5px solid #8c643c99;border-right:1.5px solid #8c643c99;transform:rotate(-45deg)}.gate.is-opening .gate__prompt{opacity:0;animation:none}.gate.is-opening .gate__open{pointer-events:none}.gate.is-finished{opacity:0;pointer-events:none}@keyframes gatePulse{0%,to{opacity:.45}50%{opacity:1}}section,.finale{position:relative;overflow:hidden}main>section,main>footer{min-height:100vh;min-height:100svh}.floral-section{background-image:linear-gradient(#fff9f38f,#fff9f3ad),url(../../cinematic/assets/blush-garden-frame.webp);background-position:center;background-size:cover}.hero{display:grid;place-items:start center;padding:14svh 0 2svh;isolation:isolate;background:#e8ddcd}.hero .hero-scene{display:block;filter:none}.hero .arch{position:relative;isolation:isolate;display:flex;flex-direction:column;align-items:center;justify-content:space-between;text-align:center;gap:18px;width:min(84%,620px);min-height:84svh;padding:8svh 28px 3svh;border:1px solid #c2a17a;border-radius:320px 320px 14px 14px;outline:1px solid #e4cfb2;outline-offset:6px;background:linear-gradient(#fffaf4ed,#fffaf4c9);backdrop-filter:none;box-shadow:inset 0 0 70px #b37b5b18,0 25px 80px #7c4c3820}.hero .arch:before{content:"\2766";display:block;color:var(--gold);font-size:2.1rem;line-height:1}.hero .arch>*{position:relative;z-index:1}.hero .arch>p,.hero .arch>h2{margin:0}.hero .basmala{font-size:1rem;line-height:1.65}.hero .eyebrow{font-size:.65rem;line-height:1.5;letter-spacing:.24em}.hero .couple{max-width:100%;font-size:clamp(3rem,5vw,4rem);line-height:1.12;text-shadow:none;overflow-wrap:anywhere}.hero .poem{max-width:32ch;font-size:1.35rem;line-height:1.7}.hero .date{font-size:1.05rem;line-height:1.7}.hero .scroll-cue{font-size:.9rem;line-height:1.6}.venue-card:before{content:"\2766";display:block;color:var(--gold);font-size:2.1rem;line-height:1}.basmala{font-size:1.05rem}.couple,.finale h2{margin:1.2rem 0;color:var(--rose);font:700 clamp(3.2rem,11vw,6.7rem)/1.25 "Amiri",serif;text-shadow:0 3px 22px #81483b18}.ampersand{color:var(--gold);font:italic .6em Georgia,serif;text-shadow:0 2px 14px #ad675f52}.poem{font:clamp(1.35rem,3vw,2rem)/1.7 var(--body-font)}.date{margin:2rem 0;font-size:1.2rem}.scroll-cue{text-decoration:none;font-size:.9rem}.hero .scroll-cue{display:block}.scroll-cue span{display:block;animation:bob 1.7s infinite}@keyframes bob{50%{transform:translateY(7px)}}.paper-section,.details-section,.rsvp-section{padding:clamp(72px,11vw,130px) max(24px,calc((100vw - 860px)/2));text-align:center;background:radial-gradient(circle at 50% 30%,#fff,#f8ede7)}.paper-section:before,.paper-section:after,.details-section:before,.rsvp-section:after{content:"";position:absolute;width:190px;height:190px;border:1px solid #b68b5c4a;border-radius:50%}.paper-section:before,.details-section:before{top:-120px;right:-70px}.paper-section:after,.rsvp-section:after{bottom:-120px;left:-70px}.ornament{margin:0;color:var(--gold);font-size:3rem}.paper-section blockquote{max-width:720px;margin:1.5rem auto;font:clamp(1.5rem,4vw,2.5rem)/1.8 "Amiri",serif}cite{color:var(--gold);font-style:normal}.countdown-section{padding:100px 24px;text-align:center;background:linear-gradient(135deg,#ead0c7,#f8e8e1)}.countdown-section:before,.countdown-section:after{content:"\273f";position:absolute;color:#fff8f05c;font-size:12rem;line-height:1}.countdown-section:before{top:-30px;right:-35px;transform:rotate(18deg)}.countdown-section:after{bottom:-45px;left:-35px;transform:rotate(-20deg)}section h2{margin:.2em 0;font:700 clamp(2.3rem,7vw,4.2rem) "Amiri",serif}.countdown{position:relative;z-index:1;display:grid;grid-template-columns:repeat(4,minmax(64px,120px));justify-content:center;gap:10px;margin-top:35px}.countdown__item{padding:16px 8px;border:1px solid #b68b5c80;border-radius:80px 80px 12px 12px;background:#fff9f29c;box-shadow:inset 0 0 25px #c88f7420}.countdown__item b{display:block;font:normal clamp(1.7rem,5vw,3rem) var(--body-font)}.countdown__item small{font-size:.75rem}.timeline{max-width:620px;margin:40px auto}.timeline__item{display:grid;grid-template-columns:90px 1fr;gap:20px;align-items:center;padding:20px 0;border-bottom:1px solid #b68b5c4d;text-align:left}.timeline__time{color:var(--gold);font-family:inherit;direction:ltr}.venue-card{max-width:640px;margin:64px auto 0;padding:42px 28px;border:1px solid var(--gold);border-radius:190px 190px 16px 16px;background:#fffaf6;box-shadow:var(--shadow)}.button--outline{background:transparent;color:var(--rose);box-shadow:none}.rsvp-section{background:linear-gradient(#f8ebe5,#edd3c9)}form{display:grid;gap:20px;max-width:560px;margin:35px auto;text-align:left}input,textarea{width:100%;margin-top:7px;padding:12px 14px;border:1px solid #b68b5c80;border-radius:10px;background:#fffaf5;color:var(--ink)}textarea{resize:vertical}fieldset{padding:14px;border:1px solid #b68b5c80;border-radius:10px}fieldset label{display:inline-flex;gap:8px;margin:8px 12px}fieldset input{width:auto}.rsvp-section .button{justify-self:center}#form-status{min-height:1.8em;text-align:center;font-weight:600}.finale{display:grid;place-content:center;padding:80px 24px;text-align:center}.finale>p{max-width:700px;margin:1rem auto;font-size:1.3rem}.reveal .scene-bg{transform:scale(1.06);transition:transform 2.2s cubic-bezier(.2,.7,.2,1)}.reveal>:not(.scene-bg):not(.floral){opacity:0;transform:translateY(32px) scale(.985);transition:opacity .9s ease,transform 1.15s cubic-bezier(.2,.7,.2,1)}.reveal.is-visible .scene-bg{transform:scale(1)}.reveal.is-visible>:not(.scene-bg):not(.floral){opacity:1;transform:none}.reveal .section-copy>:not(.details-flower):not(.candle-glow){opacity:0;transform:translateY(14px);transition:opacity .7s ease .25s,transform .9s ease .25s}.reveal.is-visible .section-copy>:not(.details-flower):not(.candle-glow){opacity:1;transform:none}.reveal .section-copy>:nth-child(n+3){transition-delay:.4s}.petal{position:fixed;z-index:9;top:-30px;color:#e8b8b0;pointer-events:none;animation:fall linear forwards}@keyframes fall{to{transform:translate3d(var(--drift),110vh,0) rotate(540deg);opacity:0}}.scene-bg{position:absolute;inset:-16px 0;z-index:0;width:100%;height:calc(100% + 32px);object-fit:cover;filter:saturate(.92)}main section>:not(.scene-bg):not(.floral),.finale>:not(.scene-bg):not(.floral){position:relative;z-index:1}.paper-section,.countdown-section,.details-section,.rsvp-section{isolation:isolate;background:var(--paper)}.paper-section:after,.countdown-section:after,.details-section:after,.rsvp-section:after{content:"";position:absolute;inset:0;z-index:0;width:auto;height:auto;border:0;border-radius:0;background:linear-gradient(#fffaf58f,#fffaf5c7);pointer-events:none}.details-section:after,.rsvp-section:after{background:linear-gradient(#f8ede7a8,#f8ede7d6)}.paper-section blockquote,.paper-section cite,.paper-section>p,.countdown-section>h2,.countdown-section>.eyebrow,.countdown,.details-section>h2,.details-section>.ornament,.timeline,.rsvp-section>h2,.rsvp-section>p,.rsvp-section>.eyebrow,.rsvp-section form{text-shadow:0 1px 12px #fff,0 1px 2px #fff}.finale{isolation:isolate}.finale:after{content:"";position:absolute;inset:0;z-index:0;background:#fffaf2e0}main .floral{position:absolute;z-index:3;width:clamp(210px,33vw,520px);height:auto;pointer-events:none;user-select:none;filter:drop-shadow(0 16px 18px #452b242b)}.floral--left{left:-7%;bottom:-5%}.floral--sage-spray{rotate:16deg;opacity:.94}.paper-section,.countdown-section,.details-section,.rsvp-section{padding:clamp(36px,5vh,72px) 7vw;display:grid;place-items:center}.paper-section:before,.details-section:before,.countdown-section:before{display:none}.paper-section:after,.countdown-section:after,.details-section:after,.rsvp-section:after{background:linear-gradient(#2d25180a,#f8ede726)}.section-copy{position:relative;isolation:isolate;width:min(calc(100% - 48px),710px);margin-inline:auto;padding:clamp(28px,5vh,48px);background:#fffbf3ed;border:1px solid #c5a879;box-shadow:0 25px 65px #38231529}.section-copy>*{position:relative;z-index:1}.section-copy:before,.section-copy:after{position:absolute;z-index:0;pointer-events:none}.blessing-card:before,.blessing-card:after{content:"\2766";top:50%;color:#b68b5c70;font-size:4rem}.blessing-card:before{left:18px;transform:rotate(-20deg)}.blessing-card:after{right:18px;transform:scaleX(-1) rotate(-20deg)}.date-card:before,.date-card:after{content:"";width:18px;height:28px;border-radius:80% 0 70% 35%;background:linear-gradient(40deg,#bd827266,#f2d0c5aa);box-shadow:36px 68px 0 -3px #d69a8b70,-22px 135px 0 -5px #f0c7bd90;filter:drop-shadow(0 5px 8px #885c4c22);animation:petalFloat 4s ease-in-out infinite alternate}.date-card:before{top:24%;left:9%;transform:rotate(25deg)}.date-card:after{right:10%;bottom:20%;animation-delay:-2s}.celebration-card:before,.celebration-card:after{content:"";top:34px;width:74px;aspect-ratio:1;border:1px solid #b68b5c66;border-radius:50%}.celebration-card:before{left:34px}.celebration-card:after{right:34px}.details-flower,.candle-glow{position:absolute;z-index:0;pointer-events:none}.details-flower{width:clamp(130px,19vw,210px);height:auto;filter:drop-shadow(0 12px 16px #43291f32);animation:archBloom 5s ease-in-out infinite alternate}.details-flower--tr{top:-54px;right:-52px;transform:scaleX(-1);rotate:12deg;animation-delay:-2.5s}.details-flower--sage{opacity:.92}.candle-glow{width:150px;aspect-ratio:1;top:24%;border-radius:50%;background:radial-gradient(circle,#ffd68c99,#ffb34730 42%,transparent 72%);filter:blur(7px);animation:candleFlicker 2.7s ease-in-out infinite alternate}.candle-glow--left{left:-45px}.candle-glow--right{right:-45px;animation-delay:-1.3s}.reply-card:before{content:"";inset:8%;border-radius:inherit;box-shadow:0 0 70px #efc48d70;animation:candleGlow 3.5s ease-in-out infinite alternate}@keyframes petalFloat{to{translate:0 -16px;rotate:18deg}}@keyframes candleGlow{to{opacity:.55;box-shadow:0 0 100px #efc48da0}}@keyframes countdownShimmer{to{background-position:-200% bottom}}@keyframes gardenSweep{50%,to{background-position:150% 0,8% 88%,92% 12%}}@keyframes archBloom{to{translate:0 -7px;scale:1.035}}@keyframes candleFlicker{45%{opacity:.62;scale:.94}to{opacity:.9;scale:1.08}}.chapter{font-size:.95rem;color:#957342;letter-spacing:.04em}#guest-welcome .chapter{font:700 clamp(1.3rem,3vw,1.7rem)/1.4 "Amiri",serif;letter-spacing:.08em}.section-poem{font:1.3rem/1.9 var(--body-font)}.blessing-card{border-radius:50% 50% 4px 4px/100px 100px 4px 4px}.poetry-card{background:radial-gradient(circle at center,#fffdf8 0 35%,transparent 72%),linear-gradient(135deg,#f4e4c8,#fffaf0 48%,#ead4ae);border-color:#aa7f43;box-shadow:inset 0 0 0 8px #fff9ed,inset 0 0 0 9px #c6a05f88,0 25px 65px #38231529}.poetry-card blockquote{color:#57372d;font-size:clamp(1.45rem,3vw,2.25rem);line-height:1.9;text-shadow:0 1px #fff8e8}.poetry-card:before,.poetry-card:after{animation:manuscriptSway 4.5s ease-in-out infinite alternate}.poetry-card .ornament{animation:ornamentPulse 2.8s ease-in-out infinite}@keyframes manuscriptSway{to{translate:0 -9px;opacity:.65}}@keyframes ornamentPulse{50%{scale:1.12;opacity:.65}}.paper-section .section-copy{width:min(calc(100% - 48px),710px);margin-inline:auto}.paper-section blockquote{font-size:clamp(1.5rem,2.7vw,2.15rem)}.paper-section .floral{width:clamp(230px,39vw,570px);bottom:-7%;left:-9%}.countdown-section{background:#b7ac91}.countdown-section .scene-bg{object-position:center top}.date-card{background:radial-gradient(circle at 50% -8%,#fffdf4 0 13%,#efdca4aa 14%,transparent 32%),linear-gradient(#fffaf2f2,#fff5e7eb);border-radius:220px 220px 10px 10px;padding-top:clamp(48px,8vh,72px);box-shadow:inset 0 0 70px #d8b66b26,0 25px 65px #38231529}.countdown__item{border:0;border-radius:0;background:linear-gradient(90deg,transparent,#c49a55,#f6dfa8,#c49a55,transparent) bottom / 200% 1px no-repeat;box-shadow:none;animation:countdownShimmer 4s linear infinite}.details-section{padding-block:110px 160px}.celebration-card{width:min(calc(100% - 48px),710px);margin-inline:auto;background:linear-gradient(110deg,transparent 32%,#ffe8b84d 48%,transparent 64%) -120% 0 / 250% 100% no-repeat,radial-gradient(circle at 8% 88%,#ffc56b42,transparent 28%),radial-gradient(circle at 92% 12%,#ffc56b38,transparent 28%),#fff9efed;border:1px solid #aa7f43;border-radius:240px 240px 16px 16px/130px 130px 16px 16px;box-shadow:inset 0 0 0 8px #fff9edcc,inset 0 0 0 9px #c6a05f88,0 25px 65px #38231529;animation:gardenSweep 7s ease-in-out infinite}.timeline{margin-block:20px}.timeline__item{padding-block:12px}.venue-card{margin-top:24px;padding:24px 22px;box-shadow:none;background:transparent;border-color:#c9ae87}.reply-card{border-radius:8px;outline:1px solid #c5a87988;outline-offset:9px}.reply-card form{gap:12px;margin-block:18px 0}.finale{padding-block:clamp(60px,10vh,100px)}.finale:after{background:#fffaf2e0}.finale>p{max-width:570px}.finale blockquote{max-width:760px;margin:0 auto 10px;font:clamp(1.25rem,3vw,2rem)/1.8 "Amiri",serif}.finale cite{display:block;margin-bottom:24px}.petal{width:10px;height:15px;border-radius:80% 0 70% 35%;background:linear-gradient(40deg,#bd827288,#f2d0c5)}@media(max-width:600px){.hero{padding:14svh 0 2svh}.hero .arch{width:84%;padding:8svh 20px 3svh;gap:14px}.hero .couple{font-size:clamp(2rem,11vw,3.35rem)}.hero .poem{font-size:clamp(1rem,5vw,1.1rem);line-height:1.75}.hero .date{font-size:clamp(.85rem,4.5vw,1rem)}.hero .basmala{font-size:clamp(.72rem,4vw,1rem)}.hero .scroll-cue{font-size:clamp(.6rem,3vw,.9rem)}main .floral{width:240px}.paper-section,.details-section,.rsvp-section{padding:72px 0 110px}.section-copy{padding:46px 24px}.section-copy,.paper-section .section-copy,.celebration-card{width:min(calc(100% - 32px),710px)}.celebration-card:before{left:22px}.celebration-card:after{right:22px}.details-flower{width:150px}.details-flower--tr{right:-68px}.blessing-card:before,.blessing-card:after{font-size:2.5rem;opacity:.65}.paper-section .floral{left:-50px;bottom:-20px;width:190px}.countdown{grid-template-columns:repeat(4,minmax(0,1fr))}.section-poem{font-size:1.1rem}.finale{padding:60px 28px 90px}}@media(max-width:520px){body{font-size:17px}.countdown{gap:5px}.timeline__item{grid-template-columns:72px 1fr}.paper-section,.details-section,.rsvp-section{padding-inline:20px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.reveal .scene-bg,.reveal>:not(.scene-bg):not(.floral),.reveal .section-copy>*{opacity:1;transform:none}.gate.is-opening{opacity:0;visibility:hidden}}@media print{.gate,.scroll-cue,.rsvp-section{display:none!important}.reveal{opacity:1;transform:none}}#map-link{transition:opacity,transform .3s ease}#map-link:hover{background:var(--rose);color:#fff;transform:translateY(-2px);box-shadow:0 8px 20px #ad675f40}#map-link:hover svg{transform:translateY(-2px) scale(1.1);transition:transform .3s ease}#map-link svg{transition:transform .3s ease}.section-copy .scroll-cue{display:inline-block;margin-top:24px;color:var(--gold)}.countdown{direction:ltr}.finale-image{width:min(100%,360px);height:auto;margin:30px auto;border:1px solid var(--gold);border-radius:50% 50% 12px 12px/18% 18% 12px 12px;object-fit:contain;display:block}.date,.hero-date,.finale small,.countdown-scene small,.finale-copy small{direction:ltr;display:inline-block}
