:root{--cream:#f6eee4;--paper:#fcf7ee;--blue:#8da6b8;--ink:#526c83;--gold:#b69a68}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font-family:'Amiri',Georgia,serif;font-size:20px;line-height:1.8;overflow:hidden}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer}button:focus-visible,a:focus-visible{outline:2px solid var(--gold);outline-offset:5px}.latin{font-family:'Cormorant Garamond',Georgia,serif}.language{position:fixed;right:22px;bottom:24px;z-index:20;width:48px;height:48px;border-radius:50%;border:1px solid #fff6;background:#b69a68;color:white;font:15px Georgia;box-shadow:0 5px 20px #526c8320}.envelope{position:fixed;inset:0;z-index:30;display:flex;align-items:center;justify-content:center;background:#f1e9df;overflow:hidden;transition:opacity 1s .7s,transform 1.5s .3s}.paper-texture{position:absolute;inset:0;opacity:.18;background:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.75' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' opacity='.23' filter='url(%23n)'/%3E%3C/svg%3E")}.flap{position:absolute;top:0;width:100%;height:55%;background:linear-gradient(160deg,#faf5ec,#e8dfd4);clip-path:polygon(0 0,100% 0,100% 26%,50% 100%,0 26%);filter:drop-shadow(0 5px 5px #8b786335);transform-origin:top;transition:transform 1.3s}.envelope-lines{position:absolute;inset:0;background:linear-gradient(34deg,transparent 49.8%,#d9cfc055 50%,transparent 50.3%),linear-gradient(-34deg,transparent 49.8%,#d9cfc055 50%,transparent 50.3%)}.seal{z-index:3;width:118px;height:118px;border-radius:47% 53% 48% 52%;border:4px solid #a2b3c2;outline:1px solid #758da3;outline-offset:-12px;background:radial-gradient(circle at 35% 25%,#c1cbd5,#839bb1 80%);color:#e9edf0;box-shadow:2px 8px 12px #526c8340,inset 0 0 0 3px #cad4dd,inset 0 -4px 8px #617a9160;transition:transform .5s,opacity .6s}.seal span{font:italic 30px 'Cormorant Garamond';text-shadow:0 1px 1px #526c83}.seal i{font-size:18px}.seal small{display:block;font:9px Georgia;letter-spacing:2px;margin-top:8px}.seal:hover{transform:scale(1.06)}.ribbon{position:absolute;width:55px;height:190px;top:50%;background:linear-gradient(90deg,#a8bacb,#d6dfe5 45%,#9aacbd);transform:rotate(-22deg);clip-path:polygon(0 0,100% 0,100% 100%,50% 87%,0 100%);opacity:.85}.envelope-top{position:absolute;z-index:2;top:10%;font-size:17px;color:#8d8276;letter-spacing:1px}.envelope-bottom{position:absolute;bottom:9%;text-align:center;z-index:2}.envelope-bottom .latin{font-size:38px;margin:0}.envelope-bottom p{font-size:16px}.tiny{color:var(--gold);font-size:25px}.envelope.opened{opacity:0;transform:translateY(-5%);pointer-events:none}.opened .flap{transform:rotateX(165deg)}.opened .seal{transform:scale(1.3);opacity:0}main{opacity:0;transition:opacity 1.4s .4s}body.open main{opacity:1}body.open{overflow:auto}section{text-align:center;position:relative;padding:80px 24px}h1,h2,h3,p{margin:0}h2{font:38px 'Aref Ruqaa','Amiri',serif;margin-bottom:24px}h3{font-size:29px;font-weight:400}p{max-width:560px;margin:0 auto 20px}.eyebrow{font-size:15px;letter-spacing:1px}.eyebrow.latin{font-size:12px;letter-spacing:3px}.hero{min-height:100svh;max-height:1100px;padding:75px 24px 30px;display:flex;align-items:center;justify-content:center;overflow:hidden;background:#f6eee4}.hero-landscape{position:absolute;inset:0;background:linear-gradient(to bottom,#f6eee4e8 0%,#f6eee4b0 40%,#f6eee430 72%,#f6eee4 100%),url('assets/lake.jpg') center/cover;opacity:.7}.arch{position:absolute;inset:30px max(18px,calc((100% - 680px)/2)) 22px;border:1px solid #b69a6860;border-radius:300px 300px 0 0;box-shadow:0 0 0 8px #f6eee430,0 0 0 9px #b69a6820}.hero-content{z-index:2;width:100%;max-width:600px}.hero .eyebrow{margin-bottom:34px}.names h1{font-family:'Aref Ruqaa',serif;font-size:clamp(66px,12vw,105px);font-weight:400;line-height:1.4}.names>span{font:italic 36px 'Cormorant Garamond';color:var(--gold);display:block}.subtitle{font-style:italic;font-size:20px;margin:20px 0 30px;max-width:none}.date-line{display:flex;direction:ltr;justify-content:center;align-items:center;gap:20px;font:24px 'Cormorant Garamond';letter-spacing:3px}.date-line i{height:20px;width:1px;background:var(--gold)}.venue{font-size:18px;margin:24px auto}.scroll{display:flex;flex-direction:column;align-items:center;text-decoration:none;color:var(--ink);font-size:14px;margin:35px 0 0}.scroll b{font-size:25px;font-weight:400;animation:bob 2s infinite}.botanical{position:absolute;width:100px;height:420px;z-index:1;opacity:.4;border-left:2px solid #899477;transform:rotate(-16deg);border-radius:50%}.botanical:before,.botanical:after{content:'';position:absolute;width:38px;height:85px;background:#9aa187;border-radius:100% 0 100% 0;box-shadow:0 125px 0 #adb29b,12px 245px 0 #899477;left:0;top:10px}.botanical:after{transform:scaleX(-1);left:-40px;top:70px;background:#babf9f}.botanical.left{left:-32px;top:18%}.botanical.right{right:-40px;top:-30px;transform:rotate(170deg)}.intro{padding-bottom:110px;background:var(--cream)}.intro p{font-size:20px}.flower-mark{font-size:55px;color:#b69a6870;line-height:1;margin-bottom:30px}.bismillah{font-size:21px!important;margin-bottom:22px}.gold-line{width:55px;height:1px;background:var(--gold);margin:24px auto 30px}.blue{background:#a0b3c2;color:#fffaf2}.blue:before{content:'';position:absolute;top:-40px;left:0;width:100%;height:42px;background:inherit;clip-path:polygon(0 70%,15% 35%,35% 45%,55% 90%,75% 60%,100% 30%,100% 100%,0 100%)}.section-inner{max-width:650px;margin:auto}.welcome .eyebrow{color:#eef0ed;margin-bottom:28px}.welcome h2{font-size:42px}.welcome p{font-size:20px}.ornament{display:block;margin:35px 0;font-size:32px;color:#ead8b8}.countdown{display:flex;gap:12px;justify-content:center;margin:30px auto}.countdown div{border:1px solid #ffffff80;border-radius:50px 50px 12px 12px;background:#f8f6efc9;color:var(--ink);width:85px;padding:22px 7px 15px}.countdown b{display:block;font:38px 'Cormorant Garamond';font-weight:500}.countdown span{font-size:14px}.small{font-size:14px!important}.outline{display:inline-block;background:transparent;color:inherit;border:1px solid currentColor;border-radius:3px;padding:9px 25px;text-decoration:none;font:16px 'Amiri';margin-top:10px;transition:background .2s}.outline:hover{background:#ffffff25}.program{padding-bottom:120px}.timeline{max-width:450px;margin:40px auto 20px;direction:ltr;position:relative}.timeline:before{content:'';position:absolute;width:1px;background:#b69a6880;top:15px;bottom:15px;left:42%}.timeline>div{display:grid;grid-template-columns:34% 16% 50%;align-items:center;min-height:92px;text-align:left}.timeline time{font:26px 'Cormorant Garamond';text-align:right;padding-right:20px}.timeline time small{font-size:12px}.timeline span{z-index:1;background:var(--paper);border:1px solid #b69a6830;width:42px;height:42px;display:grid;place-items:center;border-radius:50%;margin:auto;color:var(--gold);font:23px Georgia;box-shadow:0 3px 10px #b69a6810}.timeline p{font-size:19px;margin:0;padding-left:22px}.muted{opacity:.65}.story{padding-bottom:100px}.gallery{max-width:520px;margin:35px auto 15px}.polaroid{margin:0;background:var(--paper);padding:12px 12px 0;box-shadow:0 12px 30px #526c8328;transform:rotate(-2deg);color:var(--ink)}.polaroid img{display:block;width:100%;height:400px;object-fit:cover}.polaroid figcaption{padding:13px;font-size:24px;font-style:italic}.gallery-controls{display:flex;align-items:center;justify-content:center;gap:30px;margin:25px auto}.gallery-controls button{border:1px solid #fff8;background:transparent;color:white;border-radius:50%;width:42px;height:42px;line-height:1}.gallery-controls span{font-size:14px;letter-spacing:8px}.hall{font-size:52px;font-style:italic;margin:25px auto 20px}.location .outline{margin:20px auto}.location{padding-top:85px}.location .small{margin-top:10px}footer{text-align:center;background:#e9e3d9;padding:55px 24px 35px}footer .monogram{font:italic 37px 'Cormorant Garamond';color:var(--gold)}footer h3{margin:18px auto;font-family:'Aref Ruqaa';font-size:30px}footer p{font-size:18px}footer button{border:0;background:transparent;color:var(--ink);font-size:15px}.reveal{opacity:0;transform:translateY(24px);transition:opacity .9s,transform .9s}.reveal.visible{opacity:1;transform:translateY(0)}@keyframes bob{50%{transform:translateY(7px)}}@media(min-width:850px){section{padding:110px 28px}.hero .names{display:flex;justify-content:center;gap:34px;align-items:center}.hero .names>span{font-size:45px}.hero .eyebrow{margin-bottom:55px}.subtitle{margin-top:30px}.hero-landscape{background-position:center 65%}.botanical.left{left:calc(50% - 400px)}.botanical.right{right:calc(50% - 420px)}}@media(max-width:400px){h2{font-size:34px}.hero{padding-top:58px}.hero .eyebrow{font-size:13px}.countdown{gap:8px}.countdown div{width:70px}.polaroid img{height:330px}.timeline p{font-size:17px;padding-left:12px}.timeline time{font-size:24px;padding-right:12px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.reveal{opacity:1;transform:none}}
/* Gentle roses beside the countdown and wedding timeline. */
.countdown-rose{width:90px;height:120px;margin:28px auto 18px;transform:rotate(-10deg)}.rose-art{width:100%;height:100%;overflow:visible;filter:drop-shadow(0 5px 5px #526c8314)}.rose-bloom{transform-origin:60px 60px;animation:rose-sway 5s ease-in-out infinite}.scroll-rose{position:absolute;inset-inline-end:max(8px,calc((100% - 640px)/2));top:90px;width:70px;height:100px;pointer-events:none;transform:translateY(var(--rose-travel,0px)) rotate(var(--rose-turn,-12deg));transition:transform .12s linear;opacity:.8}.timeline>div{transition:opacity .4s}.timeline>div.passed span{background:#d9e3eb;border-color:#a5b9ca;color:#6d879c;box-shadow:0 0 0 5px #a5b9ca18}.envelope-bottom .latin{direction:ltr}.countdown-rose .rose-bloom{animation-delay:-2s}@keyframes rose-sway{0%,100%{transform:rotate(-5deg) scale(.98)}50%{transform:rotate(5deg) scale(1.035)}}@media(max-width:450px){.scroll-rose{width:48px;height:70px;inset-inline-end:4px;opacity:.55}}@media(prefers-reduced-motion:reduce){.scroll-rose{transform:none!important}.rose-bloom{animation:none!important}}
/* Burgundy & blush: a new invitation, inspired by a keepsake love letter. */
:root{--cream:#fcf2f1;--paper:#fff9f6;--blue:#8e3e59;--ink:#713449;--gold:#b08c62}body{background:#fcf2f1}.language{background:#79344d;border-color:#d6a5b5}.envelope{background:radial-gradient(ellipse at 50% 30%,#f7e2e4,#e8c2cc);padding:30px}.envelope:before{content:'';position:absolute;width:min(480px,87vw);height:75%;max-height:700px;top:12%;background:#fff8f3;box-shadow:0 20px 80px #79344d30;transform:rotate(-4deg);border:1px solid #b08c6240}.envelope:after{content:'';position:absolute;width:min(440px,80vw);height:71%;max-height:660px;top:14%;border:1px solid #b08c6250;pointer-events:none}.envelope-lines{inset:14% max(10%,calc((100% - 440px)/2));background:linear-gradient(140deg,#fffaf5,#f7e8e6);box-shadow:0 8px 25px #79344d10}.flap{top:14%;width:min(440px,80vw);height:37%;background:linear-gradient(150deg,#faf0ed,#e7c9cc);clip-path:polygon(0 0,100% 0,100% 30%,50% 100%,0 30%)}.seal{width:100px;height:100px;border-color:#a5536e;outline-color:#d59aad;background:radial-gradient(circle at 35% 25%,#bd7289,#7b2e49 80%);color:#f7e4e6;box-shadow:2px 8px 12px #71344935,inset 0 0 0 3px #ca8298}.seal span{text-shadow:0 1px 1px #713449}.ribbon{width:37px;height:130px;background:linear-gradient(90deg,#ac5b75,#ddb1bd 45%,#974861);transform:rotate(15deg)}.envelope-top{top:18%;font-size:15px;color:#8e5360;z-index:4}.envelope-bottom{bottom:19%;z-index:4}.envelope-bottom .latin{font-size:34px}.envelope-bottom p{font-size:14px}.paper-texture{z-index:5;pointer-events:none}.hero{min-height:100svh;background:#f9e9e8;max-height:none}.hero-landscape{background:radial-gradient(ellipse at 30% 10%,#fff9f1,transparent 50%),linear-gradient(150deg,#f6e0e0,#efd0d7);opacity:1}.arch{inset:28px max(23px,calc((100% - 630px)/2));border-radius:0;border:1px solid #b08c6280;box-shadow:0 0 0 8px #f9e9e880,0 0 0 9px #b08c6230}.hero-content{padding:40px 12px}.hero .eyebrow{letter-spacing:0;font-size:16px;margin-bottom:42px}.names h1{font-size:clamp(68px,12vw,110px);color:#79344d}.names>span{color:#b08c62;font-size:42px}.subtitle{color:#a16878;font-size:19px}.date-line{padding:16px 0;margin:20px auto;width:fit-content;border-top:1px solid #b08c6250;border-bottom:1px solid #b08c6250}.hero .botanical{display:none}.rose-corner{position:absolute;width:185px;height:185px;z-index:1;pointer-events:none;background:radial-gradient(ellipse at 36% 35%,#f6d4dd 0 8%,#b56680 9% 10%,#e9b5c5 11% 15%,#9b506b 16% 17%,#efc9d3 18% 22%,transparent 23%),radial-gradient(ellipse at 67% 56%,#f0c8d2 0 9%,#ba7b8e 10% 11%,#d594a9 12% 19%,transparent 20%),radial-gradient(ellipse at 40% 73%,#8b9c7e 0 11%,transparent 12%);opacity:.8;filter:drop-shadow(0 5px 7px #71344912)}.rose-corner.top{top:0;left:max(-25px,calc((100% - 730px)/2));transform:rotate(-20deg)}.rose-corner.bottom{bottom:-10px;right:max(-20px,calc((100% - 730px)/2));transform:rotate(155deg)}.intro{background:#fff9f6;padding:80px 28px 110px}.intro h2{color:#79344d}.flower-mark{color:#c68ca0}.blue{background:#823b55;color:#fff5ef}.blue:before{height:70px;top:-69px;clip-path:ellipse(65% 70% at 50% 100%)}.welcome{padding-top:65px;padding-bottom:80px}.welcome .eyebrow{color:#eac8d3}.welcome h2{font-size:42px}.welcome p{color:#f5e1e6}.countdown-rose{width:85px;height:110px}.countdown div{width:84px;background:#fff4ef;color:#79344d;border-radius:7px;border:1px solid #e7bbc4;padding:20px 7px 15px;box-shadow:0 8px 20px #3e182317;transform:rotate(-2deg)}.countdown div:nth-child(even){transform:rotate(2deg)}.countdown b{font-size:40px}.program{background:#fcf2f1;padding-top:80px}.timeline{max-width:470px;margin-top:42px}.timeline:before{background:#b77f924d}.timeline>div{min-height:100px}.timeline p{background:#fff9f7;border:1px solid #e9cbd3;border-radius:4px;padding:10px 16px;margin-left:12px;font-size:18px;box-shadow:0 5px 12px #71344904}.timeline span{background:#f9e4e9;border-color:#ddb3c0;color:#9a5871}.timeline>div.passed span{background:#b96884;color:white;border-color:#b96884;box-shadow:0 0 0 5px #b9688415}.timeline time{color:#8d4c63}.story{background:#f0dce2;color:#713449;padding-top:80px}.story .gold-line{background:#b5748b}.polaroid{padding:16px 16px 0;border:1px solid #fff9f6;transform:rotate(3deg);box-shadow:0 15px 35px #79344d20}.polaroid img{border-radius:160px 160px 0 0;height:420px;filter:saturate(.8)}.polaroid figcaption{color:#94546b;padding:18px}.gallery-controls button{color:#8b4560;border-color:#b5748b;background:#fff5f150}.location{background:#fff9f6}.hall{font-size:58px;color:#79344d}.outline{border-radius:30px;padding:10px 28px}.location .outline{background:#823b55;color:#fff5ef;border-color:#823b55}footer{background:#79344d;color:#fff3ee;padding-top:65px}.monogram{color:#e8c7a5!important}footer button{color:#ead0d8}.scroll-rose{opacity:.7}@media(min-width:850px){.hero .names{display:block}.hero .names>span{font-size:36px}.hero .names h1{font-size:90px;line-height:1.3}.hero .eyebrow{margin-bottom:22px}.subtitle{margin:20px auto}.hero{padding-top:38px;padding-bottom:30px}}@media(max-width:400px){.hero-content{padding:22px 5px}.hero .eyebrow{font-size:14px}.names h1{font-size:72px}.hero .subtitle{font-size:17px}.rose-corner{width:140px;height:140px}.countdown div{width:68px}.timeline p{font-size:16px;padding:9px}.polaroid img{height:340px}.envelope-bottom .latin{font-size:29px}}
