@font-face{font-family:DecoType;src:url(/assets/fonts/decotype-thuluth-reg-0563f2463.woff)format("woff");font-style:normal;font-weight:400;font-display:swap}@font-face{font-family:Diwani Letter;src:url(/assets/fonts/Diwani-Letter.ttf)format("truetype");font-style:normal;font-weight:400;font-display:swap}:root{--ink:#3b161e;--ink-soft:#6e4650;--rose:#96334a;--rose-deep:#641929;--rose-soft:#c98a98;--blush:#f9f0f2;--blush-mid:#f0dbdf;--blush-deep:#e4c8ce;--ivory:#fffaf7;--gold:#c9a96e;--gold-deep:#9f7942;--line:#75273733;--shadow:0 22px 70px #49192324}*{box-sizing:border-box}html{scroll-behavior:smooth;background:#0f0f0f}body{background:var(--blush);color:var(--ink);margin:0;font-family:DecoType,Times New Roman,serif;font-size:1.25rem;line-height:1.9;overflow-x:hidden}button,input,select,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}:is(button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible){outline:2px solid var(--gold);outline-offset:4px}main{min-height:100vh}.sound-toggle{z-index:100;color:#fff7f2;-webkit-backdrop-filter:blur(12px);cursor:pointer;background:#180e109e;border:1px solid #fffaf759;transition:transform .18s,background .18s;position:fixed;box-shadow:0 8px 28px #0000002e}.sound-toggle:hover{background:#491923d6;transform:translateY(-2px)}.sound-toggle{border-radius:50%;width:44px;height:44px;font-size:1.15rem;top:18px;left:18px}.hero{isolation:isolate;background:#101010;place-items:center;width:100%;min-height:100svh;display:grid;position:relative;overflow:hidden}.hero-media{z-index:-2;cursor:pointer;background:#101010;border:0;width:100%;height:100%;padding:0;display:block;position:absolute;inset:0}.hero-video{object-fit:cover;width:100%;height:100%}.hero-logo{z-index:2;pointer-events:none;border-radius:10px;width:clamp(72px,10vw,112px);height:auto;position:absolute;bottom:48px;right:18px;box-shadow:0 8px 24px #00000038}.hero-shade{pointer-events:none;opacity:0;background:linear-gradient(#05040470 0%,#0a07081c 43%,#080405ad 100%),radial-gradient(circle at 50% 46%,#0000 22%,#0000002e 100%);transition:opacity 1.2s;position:absolute;inset:0}.hero-shade--visible{opacity:1}.hero-copy{z-index:2;color:#f5e6e0;text-align:center;text-shadow:0 3px 18px #000000c7;opacity:0;pointer-events:none;width:min(91vw,760px);padding:72px 24px 100px;transition:opacity 1.6s,transform 1.6s;position:relative;transform:translateY(18px)}.hero-copy--visible{opacity:1;pointer-events:auto;transform:translateY(0)}.hero-copy>*{opacity:0}.hero-copy--visible>*{animation:.9s forwards heroFade}.hero-copy--visible .hero-heart{animation-delay:.2s}.hero-copy--visible .hero-welcome{animation-delay:.4s}.hero-copy--visible .hero-divider{animation-delay:.5s}.hero-copy--visible h1{animation-delay:.6s}.hero-copy--visible .hero-date{animation-delay:1.1s}@keyframes heroFade{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}.hero-heart{color:#f6ddd7;margin-bottom:8px;font-size:1.6rem;display:block}.hero-welcome{margin:0;font-size:clamp(2.3rem,6vw,3.5rem);line-height:1.6}.hero-divider{justify-content:center;align-items:center;gap:12px;margin:16px auto 10px;display:flex}.hero-divider span{background:#fff5f08c;width:clamp(50px,11vw,92px);height:1px}.hero-divider b{color:#f7ddd6;font-size:.64rem}.hero-copy h1{margin:0;font-size:clamp(3.8rem,12vw,7.5rem);font-weight:700;line-height:1.5}.hero-ampersand{opacity:.9;margin:0;font-size:clamp(2rem,5vw,3rem);font-weight:400;line-height:1.1;display:block}.open-prompt{color:#fff7f2;letter-spacing:0;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);cursor:pointer;background:#0e080966;border:1px solid #fff6f157;border-radius:999px;align-items:center;gap:9px;margin-top:24px;padding:10px 18px;font-family:inherit;font-size:1.25rem;display:inline-flex}.hero-start-prompt{z-index:6;white-space:nowrap;margin:0;position:absolute;bottom:10svh;left:50%;transform:translate(-50%)}.hero-start-prompt:hover{transform:translate(-50%)translateY(-2px)}.prompt-dot{background:var(--gold);border-radius:50%;width:7px;height:7px;animation:1.8s infinite promptPulse;box-shadow:0 0 #c9a96e80}.prompt-dot--live{background:#f2d2da}@keyframes promptPulse{60%{box-shadow:0 0 0 9px #c9a96e00}to{box-shadow:0 0 #c9a96e00}}.scroll-cue{z-index:4;color:#fff5f0;letter-spacing:0;opacity:0;flex-direction:column;align-items:center;gap:7px;font-size:1.35rem;text-decoration:none;transition:opacity .8s 1.4s,transform .8s 1.4s;display:flex;position:absolute;bottom:80px;left:50%;transform:translate(-50%)translateY(12px)}.scroll-cue--visible{opacity:.75;transform:translate(-50%)translateY(0)}.scroll-cue i{background:linear-gradient(#fff5f0,#0000);width:1px;height:28px}.paper-shell{background:radial-gradient(circle at 1px 1px, #7527370e 1px, transparent 1.4px) 0 0 / 24px 24px, linear-gradient(180deg, var(--blush), #fdf8f7 25%, var(--blush) 100%);position:relative;overflow:hidden}.paper-shell:before{z-index:0;content:"";pointer-events:none;background:linear-gradient(115deg,#0000 0 46%,#ffffff2e 50%,#0000 54%);position:fixed;inset:0}.section-pad{z-index:1;padding:80px 24px;position:relative}.eyebrow{color:var(--gold-deep);letter-spacing:0;margin:0 0 10px;font-size:.68rem;font-weight:600}.section-heading{text-align:center;margin:0 auto 52px}.section-heading h2{margin:2px 0 0;font-size:clamp(2rem,5vw,3rem);font-weight:700;line-height:1.8}.heading-flourish{justify-content:center;align-items:center;gap:10px;margin-bottom:12px;display:flex}.heading-flourish span{background:linear-gradient(90deg, transparent, var(--gold));width:48px;height:1px}.heading-flourish span:last-child{background:linear-gradient(90deg, var(--gold), transparent)}.heading-flourish b{color:var(--rose);font-size:.6rem}.reveal{opacity:0;transition:opacity .8s,transform .8s cubic-bezier(.22,1,.36,1);transform:translateY(26px)}.reveal.is-visible{opacity:1;transform:translateY(0)}.welcome-section{text-align:center;color:#fbe6ea;text-shadow:0 2px 14px #0000008c;background:linear-gradient(#282e39 0% 18%,#8e8990 55%,#f5e5e8 100%);place-items:center;min-height:72svh;padding-block:128px;display:grid}.welcome-section .eyebrow{color:#e7c996}.narrow-copy{width:min(100%,672px);margin:auto}.welcome-message{margin:24px auto;font-size:clamp(1.4rem,3.5vw,1.9rem);line-height:2}.welcome-message strong{color:#fff7f5;font-weight:700}.floating-heart{color:#f4ccd5;margin-top:25px;font-size:1rem;display:block}.corner{aspect-ratio:1;opacity:.7;border-top:1px solid #9f794273;width:min(22vw,180px);position:absolute;top:30px}.corner:before,.corner:after{content:"";background:linear-gradient(135deg,#96334a66,#c9a96e1a);border-radius:60% 0;position:absolute;transform:rotate(38deg)}.corner:before{width:42%;height:15%;top:16%}.corner:after{width:30%;height:11%;top:38%}.corner--left{border-left:1px solid #9f794273;left:0}.corner--left:before,.corner--left:after{left:5%}.corner--right{border-right:1px solid #9f794273;right:0;transform:scaleX(-1)}.corner--right:before,.corner--right:after{left:5%}.outline-button{cursor:pointer;letter-spacing:0;border:1px solid var(--rose);min-height:48px;color:var(--rose-deep);background:0 0;border-radius:999px;justify-content:center;align-items:center;padding:12px 25px;font-size:1.2rem;font-weight:600;text-decoration:none;transition:transform .18s,box-shadow .18s,background .18s;display:inline-flex}.outline-button:hover{transform:translateY(-2px);box-shadow:0 12px 28px #5a1c2929}.countdown-section{color:#fff6f2;background:linear-gradient(135deg,#621929f5,#31131bfa)}.countdown-section .eyebrow{color:#dfc28a}.countdown-section .heading-flourish span{background:linear-gradient(90deg,#0000,#d9bd84)}.countdown-section .heading-flourish span:last-child{background:linear-gradient(90deg,#d9bd84,#0000)}.countdown-section .heading-flourish b{color:#e9c9d0}.countdown{grid-template-columns:repeat(4,minmax(0,150px));justify-content:center;gap:18px;display:grid}.countdown-item{aspect-ratio:1;text-align:center;background:#ffffff09;border:1px solid #e0c28773;border-radius:50% 50% 45% 45%;place-content:center;display:grid;box-shadow:inset 0 0 32px #ffffff06}.countdown-item strong{font-variant-numeric:lining-nums tabular-nums;font-size:clamp(2rem,6vw,3.75rem);font-weight:400;line-height:1.4}.countdown-item span{color:#dfc28a;margin-top:4px;font-size:clamp(1rem,3vw,1.4rem)}.timeline{width:min(100%,680px);margin:auto;position:relative}.timeline:before{top:0;bottom:0;background:linear-gradient(transparent, var(--gold) 9%, var(--gold) 91%, transparent);content:"";width:1px;position:absolute;inset-inline-start:25px}.timeline-item{grid-template-columns:52px minmax(0,1fr);align-items:center;gap:20px;display:grid;position:relative}.timeline-marker{z-index:2;border:1px solid var(--gold);background:var(--blush);width:52px;height:52px;color:var(--rose);border-radius:50%;justify-self:center;place-items:center;display:grid;position:relative}.timeline-card{border:1px solid var(--line);background:#fffaf7b3;padding:26px;position:relative;box-shadow:0 15px 40px #4b1d2714}.timeline-card h3,.venue-card h3{margin:0 0 5px;font-size:clamp(1.5rem,4vw,2rem);font-weight:700;line-height:1.8}.timeline-card p{color:var(--ink-soft);margin:12px 0 0;font-size:1.25rem}.timeline-card .timeline-date{color:var(--gold-deep);font-size:1.25rem}.timeline-card p span{color:var(--rose)}.venue-section{background:linear-gradient(#f0dbdf80,#f9f0f2db)}.venue-card{width:min(100%,680px);box-shadow:var(--shadow);text-align:center;background:#fffaf7d6;border:1px solid #9f794266;margin:auto;padding:clamp(48px,8vw,78px) 28px;position:relative}.venue-card:before,.venue-card:after{content:"";pointer-events:none;border:1px solid #9f794238;position:absolute;inset:12px}.venue-card:after{border-color:#96334a1a;inset:19px}.venue-mark{border:1px solid var(--gold);width:68px;height:68px;color:var(--rose);border-radius:50%;place-items:center;margin:0 auto 20px;font-family:inherit;font-size:2.5rem;display:grid}.venue-card h3{margin-bottom:14px;font-size:clamp(2rem,5vw,3rem)}.venue-card>p:not(.eyebrow){color:var(--ink-soft);margin:0 0 26px}.hero{font-family:Diwani Letter,DecoType,serif}.hero-name{display:block}.hero-date{margin-top:20px;font-size:clamp(1.8rem,5vw,2.5rem);line-height:1.5;display:block}.scroll-cue:not(.scroll-cue--visible){visibility:hidden;pointer-events:none}time[dir=ltr]{unicode-bidi:isolate;display:inline-block}.hero-date[dir=ltr]{display:block}.basmallah{color:#e7c996;margin:0 0 36px;font-size:clamp(1.8rem,4.5vw,2.5rem)}.host-line{gap:16px;margin:32px 0;font-size:clamp(1.9rem,5vw,2.8rem);line-height:1.9;display:grid}.host-line strong,.bride-name strong{font-weight:700}.bride-name{margin:16px 0;font-size:clamp(3rem,9vw,4.5rem);line-height:1.8}.welcome-date{max-width:580px}.etiquette-card{border:1px solid var(--line);background:radial-gradient(circle at top, #ffffffe6, transparent 55%), var(--blush-mid);width:min(100%,760px);box-shadow:var(--shadow);text-align:center;margin:auto;padding:clamp(32px,6vw,64px) clamp(20px,5vw,48px)}.etiquette-note h2{color:var(--rose-deep);margin:0 0 16px;font-size:clamp(1.8rem,5vw,2.5rem);line-height:1.8}.etiquette-note p{color:var(--ink-soft);margin:0;font-size:clamp(1.25rem,3.5vw,1.6rem);line-height:2}.etiquette-card hr{border:0;border-top:1px solid var(--gold);width:min(70%,240px);margin:36px auto}.etiquette-closing p{color:var(--rose);font-size:clamp(2rem,6vw,3rem);font-weight:700}@media (max-width:760px){.hero-copy{padding:64px 12px 148px}.hero-ampersand{margin:8px 0}.section-pad{padding:64px 24px}.welcome-section{padding-block:96px}.countdown{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.countdown-item{aspect-ratio:auto;min-height:106px;padding:12px 2px}.timeline-item{gap:12px}.timeline-card{padding:24px 16px}}@media (max-width:430px){.sound-toggle{width:40px;height:40px;top:12px;left:12px}.hero-logo{width:72px;bottom:40px;right:12px}.hero-copy{width:100%}.hero-heart{font-size:1.25rem}.hero-divider{margin-block:10px 7px}.open-prompt{max-width:90vw;padding-inline:14px}.scroll-cue{bottom:62px}.section-heading{margin-bottom:38px}.venue-card{padding-inline:23px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{scroll-behavior:auto!important;transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}}
