@font-face{font-family:Diwani Letter;src:url(/fonts/Diwani-Letter.ttf)format("truetype");font-display:swap;font-style:normal;font-weight:400}@font-face{font-family:Decotype Thuluth;src:url(/fonts/decotype-thuluth.woff)format("woff");font-display:swap;font-style:normal;font-weight:400}@font-face{font-family:Decotype Naskh Extensions;src:url(/fonts/decotype-naskh-extensions.ttf)format("truetype");font-display:swap;font-style:normal;font-weight:400}:root{color:#674f45;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#f4e5dc;font-family:Decotype Thuluth,Geeza Pro,serif}*{box-sizing:border-box}html{scroll-behavior:smooth;background:#f4e5dc;min-width:320px}body{min-width:320px;min-height:100vh;margin:0}body.invitation-locked{overflow:hidden}button,input,textarea,select{font:inherit}img,svg,video{display:block}#root{min-height:100vh}:root{--blush-50:#fff9f3;--blush-100:#fdf0ed;--blush-500:#c9878d;--rose:#a36c66;--rose-dark:#704a40;--sage:#91a294;--sage-dark:#64776a;--ink:#674f45;--gold:#b29564;--paper:#fffaf7}.site-backdrop{z-index:-2;background:radial-gradient(circle at 18% 12%,#ffffffd1,#0000 24%),linear-gradient(145deg,#f4dedb,#fff7f3 50%,#efd4d2);position:fixed;inset:0}.site-backdrop:after{content:"";background-image:radial-gradient(#b071791c .65px,#0000 .8px);background-size:7px 7px;position:absolute;inset:0}.invitation-page{opacity:0;background:var(--blush-50);isolation:isolate;width:min(100%,440px);min-height:100vh;margin:0 auto;transition:opacity .2s;position:relative;overflow:clip;box-shadow:0 0 70px #5d353d29}.invitation-page.is-transitioning,.invitation-page.is-opened{opacity:1}.opening{z-index:100;opacity:1;background:#f7e4e1;place-items:center;transition:opacity .2s;display:grid;position:fixed;inset:0;overflow:hidden}.opening--transitioning{opacity:0;pointer-events:none}.opening__video{object-fit:cover;width:100%;height:100%}.opening__trigger{width:100%;color:var(--rose-dark);cursor:pointer;background:0 0;border:0;padding:0;position:absolute;inset:0}.opening__trigger:disabled{pointer-events:none}.opening__prompt{bottom:max(7%, calc(env(safe-area-inset-bottom) + 22px));-webkit-backdrop-filter:blur(9px);backdrop-filter:blur(9px);background:#fff8f5db;border:1px solid #a4606b40;border-radius:999px;place-items:center;min-width:166px;padding:12px 20px 10px;font-size:1.104rem;line-height:1.4;transition:opacity .26s,transform .26s;display:grid;position:absolute;left:50%;transform:translate(-50%);box-shadow:0 12px 35px #7041482e}.opening--playing .opening__prompt{opacity:0;transform:translate(-50%,12px)}.opening__seal{filter:drop-shadow(0 4px 4px #70414824);margin-top:-31px;font-size:2.1rem}.opening__chevron{border-bottom:1px solid;border-right:1px solid;width:7px;height:7px;margin-top:3px;animation:1.7s ease-in-out infinite cue-breathe;transform:rotate(45deg)}.opening__skip{right:50%;bottom:max(3%, calc(env(safe-area-inset-bottom) + 10px));color:var(--rose-dark);cursor:pointer;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#fff8f5d1;border:1px solid #a4606b47;border-radius:999px;padding:8px 16px;position:absolute;transform:translate(50%)}.hero-section{z-index:2;background:#f8e6e3;min-height:100svh;position:relative;overflow:hidden}.hero-section__video{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.hero-section__copy{z-index:2;width:min(88%,390px);color:var(--rose-dark);text-align:center;text-wrap:balance;font-size:clamp(1.62rem,6.96vw,2.1rem);line-height:1.65;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.hero-section__copy p{margin:0}.invitation-static-frame{z-index:0;object-fit:fill;pointer-events:none;-webkit-user-select:none;user-select:none;width:min(100%,440px);height:100svh;position:fixed;top:0;left:50%;transform:translate(-50%)}.scroll-cue{bottom:max(28px, calc(env(safe-area-inset-bottom) + 14px));z-index:3;border-right:1px solid var(--rose);border-bottom:1px solid var(--rose);width:9px;height:9px;animation:1.7s ease-in-out infinite cue-breathe;position:absolute;left:50%}.section-pad{z-index:1;min-height:100svh;padding:max(7.5rem, calc(env(safe-area-inset-top) + 6rem)) 44px max(7.5rem, calc(env(safe-area-inset-bottom) + 6rem));text-align:center;place-content:center;display:grid;position:relative}.section-title{z-index:2;place-items:center;display:grid;position:relative}.section-title>p{color:var(--sage-dark);letter-spacing:.16em;text-transform:uppercase;margin:0 0 4px;font-family:Georgia,Times New Roman,serif;font-size:.816rem}.section-title h2{color:var(--rose-dark);margin:0;font-family:Decotype Thuluth,Geeza Pro,serif;font-size:clamp(3rem,15.6vw,4.32rem);font-weight:400;line-height:1.2}.section-title>span{color:var(--blush-500);align-items:center;gap:8px;margin-top:8px;font-size:.816rem;display:flex}.section-title i{background:linear-gradient(90deg, transparent, var(--blush-500));width:46px;height:1px;display:block}.section-title i:last-child{transform:scaleX(-1)}.invitation-section{background:0 0}.paper-card{width:100%;padding:38px 10px;position:relative}.invitation-section__copy{color:var(--ink);gap:1.45rem;margin:0 auto;font-size:1.344rem;line-height:1.9;display:grid}.invitation-section__copy span,.invitation-section__copy strong{display:block}.invitation-section__copy strong{color:var(--rose-dark);-webkit-text-stroke:.25px currentColor;font-size:1.98rem;font-weight:700;line-height:1.45}.countdown-section{background:0 0}.countdown{direction:rtl;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;width:100%;margin-top:3.5rem;display:grid}.countdown__cell{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:linear-gradient(160deg,#fffdf7e8,#f5e2d9c4);border:1px solid #b295647a;border-radius:44px 44px 10px 10px;gap:7px;min-width:0;padding:18px 4px 16px;display:grid;position:relative;box-shadow:0 9px 24px #70414812}.countdown__cell:not(:last-child):after{z-index:1;color:var(--rose);content:":";font-family:Georgia,serif;font-size:1.62rem;position:absolute;top:25px;left:-7px}.countdown__number{color:var(--rose-dark);font-variant-numeric:tabular-nums;font-family:Georgia,Times New Roman,serif;font-size:clamp(1.98rem,9.6vw,2.82rem);line-height:1}.countdown__label{color:var(--ink);font-size:1.056rem;line-height:1.2}.countdown__date{color:var(--rose);letter-spacing:.14em;margin:2.25rem 0 0;font-family:Georgia,Times New Roman,serif;font-size:1.2rem}.schedule-section{background:0 0}.timeline{width:100%;max-width:340px;margin:3.5rem auto 0;padding:20px 0;display:grid;position:relative}.timeline:before{background:linear-gradient(transparent, var(--rose), transparent);content:"";width:1px;position:absolute;top:0;bottom:0;left:50%;transform:translate(-50%)}.timeline__item{z-index:1;grid-template-columns:1fr 34px 1fr;align-items:center;min-height:100px;display:grid;position:relative}.timeline__item p,.timeline__item time{margin:0;font-size:1.56rem;line-height:1.5}.timeline__item p{color:var(--ink);text-align:left}.timeline__item time{color:var(--rose-dark);text-align:right;-webkit-text-stroke:.2px currentColor;direction:ltr;flex-wrap:wrap;justify-content:flex-start;gap:.3em;font-weight:700;display:inline-flex}.timeline__dot{border:2px solid var(--blush-50);background:var(--rose);width:11px;height:11px;box-shadow:0 0 0 1px var(--rose), 0 0 0 7px #c9878d1f;border-radius:50%;margin:auto}.venue-section{background:0 0}.venue-card{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#fffaf7c2;border:1px solid #b2956466;border-radius:150px 150px 24px 24px;width:min(100%,330px);margin:2.25rem auto 0;padding:28px 20px 22px;position:relative;overflow:hidden;box-shadow:0 14px 34px #7041481a}.venue-card h3,.venue-card p{margin:0}.venue-card h3{color:var(--rose-dark);-webkit-text-stroke:.2px currentColor;font-size:1.86rem;font-weight:700;line-height:1.45}.venue-card p{color:var(--ink);margin-top:3px;font-size:1.2rem}.venue-card>a{color:#fffaf7;background:linear-gradient(135deg, var(--rose), var(--rose-dark));border:1px solid #a8606c47;border-radius:999px;justify-content:center;align-items:center;gap:8px;min-height:48px;margin-top:20px;padding:11px 22px;font-size:1.2rem;text-decoration:none;transition:transform .18s,box-shadow .18s;display:inline-flex;box-shadow:0 10px 24px #79444e33}.venue-card>a:hover{transform:translateY(-2px);box-shadow:0 13px 28px #79444e42}.venue-card>a:focus-visible{outline:2px solid var(--rose-dark);outline-offset:3px}.wishes-section{background:0 0;overflow:hidden}.wishes-section blockquote{z-index:1;color:var(--ink);margin:48px auto 0;font-family:Decotype Thuluth,Geeza Pro,serif;font-size:2.1rem;line-height:1.75;position:relative}@keyframes cue-breathe{0%,to{opacity:.35;transform:translate(-50%,-3px)rotate(45deg)}50%{opacity:1;transform:translate(-50%,4px)rotate(45deg)}}@media (width>=720px){.opening__video{width:min(100%,440px);box-shadow:0 0 70px #5d353d38}}@media (width<=360px){.section-pad,.closing-section{padding-left:34px;padding-right:34px}.paper-card{padding-left:4px;padding-right:4px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:1ms!important;animation-duration:1ms!important;animation-iteration-count:1!important}}.ornament{color:var(--gold);stroke:currentColor;stroke-width:1px;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0;margin-inline:auto;display:block}.ornament__pearl{fill:#fffaf0}.opening__seal{margin-top:-27px}.opening__seal .ornament{width:80px;height:32px}.opening__trigger:focus-visible{outline:3px solid var(--gold);outline-offset:-8px}.hero-section:after{content:"";pointer-events:none;background:radial-gradient(at 50% 44%,#fff7ebcc,#fff7eb59 35%,#0000 66%),linear-gradient(#0000 75%,#40291d47);position:absolute;inset:0}.hero-section__copy{text-shadow:0 2px 16px #fffaf0,0 1px 3px #fffaf0;font-family:Diwani Letter,Geeza Pro,serif;top:46%}.hero-section__copy>.ornament{margin-block:16px}.hero-section__copy h1{margin:12px 0 24px;font-size:clamp(3rem,15.6vw,4.32rem);font-weight:400;line-height:1.5}.hero-scroll{bottom:max(28px, calc(env(safe-area-inset-bottom) + 14px));z-index:3;color:#fffaf1;text-shadow:0 1px 8px #503c2c;padding:10px 22px 22px;font-family:Diwani Letter,Geeza Pro,serif;font-size:1.344rem;text-decoration:none;display:grid;position:absolute;left:50%;transform:translate(-50%)}.hero-scroll .scroll-cue{border-color:currentColor;bottom:4px}.hero-section__play{z-index:3;border:1px solid var(--gold);color:var(--rose-dark);cursor:pointer;background:#fff8eeeb;border-radius:30px;padding:8px 16px;position:absolute;top:18px;right:18px}.invitation-section{font-family:Decotype Naskh Extensions,Geeza Pro,serif}.invitation-section__copy p{margin:0}.paper-card>.ornament:first-child{margin-bottom:24px}.paper-card>.ornament:last-child{margin-top:28px}.invitation-section__copy p>strong{margin-top:10px}.invitation-section__blessing{color:var(--rose)}.invitation-section__copy .invitation-section__name{font-family:Diwani Letter,Geeza Pro,serif;font-size:3.12rem;font-weight:700;line-height:1.6}.countdown__cell:before{background:var(--gold);content:"";width:4px;height:4px;margin:0 auto 5px;transform:rotate(45deg)}.countdown__number{font-size:clamp(1.98rem,9.6vw,2.82rem)}.venue-card__arch{width:150px;max-width:100%;stroke:var(--gold);stroke-width:1.2px;margin:0 auto 24px}.venue-card>.ornament{margin-top:12px}.venue-card>a svg{stroke:currentColor;stroke-width:1.5px;flex-shrink:0}.guest-note__icon{color:var(--gold);stroke:currentColor;stroke-width:1.2px;stroke-linecap:round;stroke-linejoin:round;margin:0 auto 20px}.guest-note p{color:var(--ink);text-wrap:pretty;margin:24px 0 0;font-size:1.344rem;line-height:1.9}.guest-notes-section__divider{margin-block:45px}.guest-note .section-title>span{display:none}.pearl-strand{justify-content:center;align-items:center;gap:10px;margin:0 auto 32px;display:flex}.pearl-strand i{background:radial-gradient(circle at 30% 25%,#fff,#f5e7d5 65%,#c9ac86);border:1px solid #d8c4a7;border-radius:50%;width:9px;height:9px;box-shadow:0 3px 6px #9a725b20}.pearl-strand i:nth-child(2),.pearl-strand i:nth-child(6){transform:translateY(5px)}.pearl-strand i:nth-child(3),.pearl-strand i:nth-child(5){transform:translateY(9px)}.pearl-strand i:nth-child(4){width:17px;height:17px;transform:translateY(12px)}.wishes-section>.ornament{margin-top:36px}.wishes-section blockquote{text-wrap:pretty}
