@font-face{font-family:DecoType Naskh Extensions;src:url(/assets/decotype-naskh-extensions.ttf)format("truetype");font-style:normal;font-weight:400;font-display:swap}@font-face{font-family:Diwani Letter;src:url(/assets/Diwani-Letter.ttf)format("truetype");font-style:normal;font-weight:400;font-display:swap}:root{--invitation-background-width:100vw;color:#fff;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#f5f0e6;font-family:DecoType Naskh Extensions,Arial,sans-serif}html,body,#root{min-height:100%}html,body{background:#f5f0e6;margin:0}body{min-width:320px;overflow-x:hidden}body.invitation-locked{height:100svh;overflow:hidden}body.invitation-locked #root{opacity:0;pointer-events:none}#root{opacity:1;outline:none;transition:opacity .7s}.invitation-opener{--envelope-cream:#f5ead3;z-index:2147483647;opacity:1;background:linear-gradient(145deg,#36050b 0%,#630b15 48%,#260307 100%);place-items:center;transition:opacity .75s,visibility .75s;display:grid;position:fixed;inset:0;overflow:hidden}.invitation-opener--video:before,.invitation-opener--video:after{display:none}.envelope-opening-video{object-fit:cover;background:#570a13;width:100%;height:100%;position:absolute;inset:0;box-shadow:0 0 90px #0a0002b8}.invitation-opener__video-button{z-index:2;width:100%;height:100%;color:var(--envelope-cream);cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border:0;place-items:center;padding:0;display:grid;position:absolute;inset:0}.invitation-opener__video-button:focus-visible{outline-offset:-8px;outline:2px solid #efd7a5}.invitation-opener__video-copy{box-sizing:border-box;flex-direction:column;justify-content:flex-end;align-items:center;width:100%;height:100%;padding:9svh 24px 7svh;transition:opacity .35s;display:flex}.invitation-opener__prompt{box-sizing:border-box;color:#fff8e9;letter-spacing:normal;opacity:.94;background:#490811c7;border:1px solid #f5ead3d1;border-radius:999px;justify-content:center;align-items:center;gap:10px;min-height:3.25rem;margin:24px 0 0;padding:.7rem 1.5rem;font-size:clamp(1rem,4.5vw,1.25rem);font-weight:700;line-height:1.2;animation:2s ease-in-out infinite opener-pulse;display:flex;box-shadow:0 10px 28px #14000461,inset 0 0 0 1px #ffffff17}.invitation-opener__tap-icon{border:1px solid;border-radius:9px;width:17px;height:21px;position:relative}.invitation-opener__tap-icon:after{content:"";background:currentColor;border-radius:2px;width:2px;height:5px;position:absolute;top:4px;left:50%;transform:translate(-50%)}.invitation-opener.is-opening .invitation-opener__video-copy{opacity:0;pointer-events:none}.invitation-opener.is-revealing{visibility:hidden;opacity:0}@keyframes opener-pulse{0%,to{opacity:.9;transform:translateY(0)scale(1)}50%{opacity:1;transform:translateY(-3px)scale(1.025)}}button,input,textarea{font:inherit}@media (prefers-reduced-motion:reduce){.invitation-opener *,.invitation-opener:before{transition-duration:1ms!important;animation-duration:1ms!important;animation-delay:0s!important}#root,.invitation-opener{transition-duration:1ms!important}}.invitation-shell{background:#f5f0e6;justify-content:center;min-height:100dvh;display:flex;overflow-x:hidden}.invitation-phone-frame{isolation:isolate;background:0 0;width:100%;min-height:100dvh;margin:0 auto;position:relative;overflow:hidden}.music-toggle{right:max(1rem, env(safe-area-inset-right,0px) + .75rem);bottom:max(1rem, env(safe-area-inset-bottom,0px) + .75rem);z-index:20;color:#fff7e6;cursor:pointer;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);-webkit-tap-highlight-color:transparent;background:#594a42e0;border:1px solid #594a4259;border-radius:50%;place-items:center;width:3.25rem;height:3.25rem;padding:0;display:grid;position:fixed;box-shadow:0 8px 24px #2e221c47}.music-toggle svg{fill:currentColor;width:1.35rem;height:1.35rem}.music-toggle:focus-visible{outline-offset:3px;outline:3px solid #f7dab0cc}.music-toggle:active{transform:scale(.94)}.invitation-loop-video{z-index:0;width:var(--invitation-background-width,100vw);object-fit:cover;opacity:1;pointer-events:none;height:100dvh;position:fixed;top:0;left:50%;transform:translate(-50%)}.hero-section{z-index:1;isolation:isolate;background:#fff;width:100%;height:100dvh;font-family:Diwani Letter,DecoType Naskh Extensions,Arial,sans-serif;position:relative;overflow:hidden}.hero-section__canvas{width:100%;height:100%;position:absolute;inset:0;overflow:hidden}.hero-section__media{z-index:0;opacity:1;pointer-events:none;transition:opacity .7s ease-in;position:absolute;inset:0;overflow:hidden}.hero-section__video{object-fit:cover;opacity:1;width:100%;height:100%;transition:opacity .5s;position:absolute;inset:0}.hero-section__copy{z-index:1;box-sizing:border-box;color:#594a42;text-align:center;pointer-events:none;flex-direction:column;justify-content:center;align-items:center;padding:clamp(2rem,8svh,5rem) 1.5rem;font-family:inherit;display:flex;position:absolute;inset:0}.hero-section__title{top:calc(max(4.5rem, env(safe-area-inset-top,0px) + 12.75rem) - 24px);text-align:center;margin:0;font-size:clamp(2.5rem,11vw,4.25rem);font-weight:700;line-height:1.2;position:absolute;left:1rem;right:1rem}.hero-section__names{text-align:center;flex-direction:column;align-items:center;gap:clamp(.5rem,1.25svh,.75rem);width:100%;line-height:1;display:flex}.hero-section__names strong{font-size:clamp(4rem,18vw,7rem);font-weight:700}.hero-section__ampersand{margin:0;font-family:inherit;font-size:clamp(2.5rem,10vw,4rem);font-weight:700;line-height:.8}.hero-section__footer{right:1rem;bottom:max(1.5rem, env(safe-area-inset-bottom,0px) + 1rem);z-index:2;color:#594a42;text-align:center;pointer-events:none;flex-direction:column;align-items:center;font-family:inherit;display:flex;position:absolute;left:1rem}.hero-section__date{margin:0;padding-bottom:32px;font-family:inherit;font-size:clamp(1.75rem,7vw,2.75rem);font-weight:700;line-height:1;display:block;position:relative;top:-44px}.hero-section__scroll-cue{margin:0;font-family:inherit;font-size:clamp(3rem,13vw,4.5rem);font-weight:700;line-height:1.2}.hero-section__reveal{opacity:0;transform:translateY(1.25rem)}.hero-section--text-playing .hero-section__reveal{animation:.9s cubic-bezier(.22,1,.36,1) both hero-text-reveal}.hero-section--text-playing .hero-section__title{animation-delay:.2s}.hero-section--text-playing .hero-section__names strong:first-child{animation-delay:.7s}.hero-section--text-playing .hero-section__ampersand{animation-delay:1.1s}.hero-section--text-playing .hero-section__names strong:last-child{animation-delay:1.5s}.hero-section--text-playing .hero-section__date{animation-delay:2.1s}.hero-section--text-playing .hero-section__scroll-cue{animation-delay:2.7s}@keyframes hero-text-reveal{0%{opacity:0;transform:translateY(1.25rem)}to{opacity:1;transform:translate(0,0)}}[data-scroll-reveal]{opacity:0;will-change:opacity, transform;transform:translateY(1.75rem)scale(.98)}.is-scroll-reveal-visible [data-scroll-reveal]{opacity:1;transition:opacity .78s cubic-bezier(.22,1,.36,1),transform .78s cubic-bezier(.22,1,.36,1);transition-delay:var(--scroll-reveal-delay,0s);transform:translate(0,0)scale(1)}.loop-section{z-index:1;min-height:100dvh;padding:max(2.5rem, env(safe-area-inset-top,0px) + 1.5rem) 1.25rem max(2.5rem, env(safe-area-inset-bottom,0px) + 1.5rem);box-sizing:border-box;color:#594a42;text-align:center;pointer-events:none;place-items:center;font-family:DecoType Naskh Extensions,Arial,sans-serif;display:grid;position:relative}.loop-section__content{flex-direction:column;align-items:center;gap:clamp(.75rem,2.4svh,1.35rem);width:min(100%,38rem);font-size:clamp(1.2rem,5.2vw,1.8rem);font-weight:500;line-height:1.5;display:flex}.loop-section__content p{margin:0}.loop-section__group{flex-direction:column;gap:.05rem;display:flex}.loop-section__opening{font-size:1.08em;font-weight:600}.loop-section__names{font-family:Diwani Letter,DecoType Naskh Extensions,Arial,sans-serif;font-size:clamp(3.4rem,15vw,6rem);font-weight:700;line-height:.95}.loop-section__content .loop-section__date{margin-top:clamp(.75rem,2svh,1.25rem)}.loop-section__closing{font-size:1.08em;font-weight:600}.countdown-section{z-index:1;min-height:100dvh;padding:max(2.5rem, env(safe-area-inset-top,0px) + 1.5rem) 1rem max(2.5rem, env(safe-area-inset-bottom,0px) + 1.5rem);box-sizing:border-box;color:#594a42;text-align:center;place-items:center;display:grid;position:relative}.countdown-section__content{width:min(100%,42rem)}.countdown-section h2{color:#594a42;margin:0 0 clamp(1.5rem,5svh,3rem);font-family:DecoType Naskh Extensions,Arial,sans-serif;font-size:clamp(2.2rem,10vw,4.25rem);font-weight:700;line-height:1}.countdown-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(.3rem,2vw,.9rem);display:grid}.countdown-unit{aspect-ratio:100/118;color:#f7dab0;flex-direction:column;justify-content:center;align-items:center;min-width:0;display:flex;position:relative}.countdown-unit__shell{filter:drop-shadow(0 3px 8px #00000057);fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.7px;vector-effect:non-scaling-stroke;width:100%;height:100%;position:absolute;inset:0;overflow:visible}.countdown-unit__shell-fill{fill:#fff7e61a;stroke-width:2.4px}.countdown-unit__number,.countdown-unit__label{z-index:1;position:relative}.countdown-unit__number{color:#594a42;font-variant-numeric:tabular-nums;font-family:DecoType Naskh Extensions,Arial,sans-serif;font-size:clamp(1.45rem,7.5vw,3.3rem);font-weight:600;line-height:1}.countdown-unit__label{color:#594a42;margin-top:.35rem;font-family:DecoType Naskh Extensions,Arial,sans-serif;font-size:clamp(.78rem,3.5vw,1.25rem);font-weight:600;line-height:1}.countdown-section time{margin-top:clamp(1.25rem,4svh,2.25rem);font-family:DecoType Naskh Extensions,Arial,sans-serif;font-size:clamp(1rem,4.5vw,1.45rem);font-weight:600;display:block}.schedule-section{z-index:1;min-height:100dvh;padding:max(2.5rem, env(safe-area-inset-top,0px) + 1.5rem) 1rem max(2.5rem, env(safe-area-inset-bottom,0px) + 1.5rem);box-sizing:border-box;color:#594a42;place-items:center;font-family:DecoType Naskh Extensions,Arial,sans-serif;display:grid;position:relative}.schedule-section__content{width:min(100%,40rem)}.schedule-section__heading{justify-content:center;align-items:center;gap:clamp(.65rem,3vw,1.25rem);margin-bottom:clamp(1.75rem,5svh,3.25rem);display:flex}.schedule-section__heading h2{color:#594a42;text-align:center;margin:0;font-size:clamp(2.4rem,11vw,4.75rem);font-weight:700;line-height:1}.schedule-section__heading-shell{fill:#fff7e614;stroke:#f7dab0;stroke-linecap:round;stroke-linejoin:round;stroke-width:2px;width:clamp(2rem,9vw,3.25rem);height:auto}.schedule-section__heading-shell--mirrored{transform:scaleX(-1)}.schedule-timeline{height:clamp(15rem,42svh,22rem);position:relative}.schedule-timeline__line{background:linear-gradient(#0000,#f7dab0 8% 92%,#0000);width:2px;position:absolute;top:0;bottom:0;left:50%;transform:translate(-50%);box-shadow:0 0 8px #f7dab061}.schedule-timeline__dot{z-index:1;background:#765b48;border:2px solid #f7dab0;border-radius:50%;width:8px;height:8px;position:absolute;left:50%;transform:translate(-50%,-50%);box-shadow:0 0 0 4px #f7dab029}.schedule-timeline__dot--start,.schedule-timeline__event--start{top:14%}.schedule-timeline__dot--bride,.schedule-timeline__event--bride{top:50%}.schedule-timeline__dot--dinner,.schedule-timeline__event--dinner{top:86%}.schedule-timeline__indicator{z-index:2;will-change:transform;width:clamp(2.7rem,12vw,4rem);display:block;position:absolute;top:0;left:50%;transform:translate(-50%)}.schedule-timeline__indicator-shell{fill:#fff7e638;stroke:#ffe5bd;stroke-linecap:round;stroke-linejoin:round;stroke-width:2.5px;filter:drop-shadow(0 3px 7px #00000061);width:100%;height:auto;display:block}.schedule-timeline__event{direction:ltr;grid-template-columns:minmax(0,1fr) clamp(2.5rem,12vw,4rem) minmax(0,1fr);align-items:center;display:grid;position:absolute;left:0;right:0;transform:translateY(-50%)}.schedule-timeline__event time,.schedule-timeline__event p{margin:0;line-height:1.2}.schedule-timeline__event time{color:#594a42;text-align:right;white-space:nowrap;padding-right:clamp(.4rem,2vw,1rem);font-family:DecoType Naskh Extensions,Arial,sans-serif;font-size:clamp(1.35rem,6vw,2.5rem);font-weight:600}.schedule-timeline__event p{text-align:left;padding-left:clamp(.4rem,2vw,1rem);font-size:clamp(1.2rem,5.5vw,2.1rem);font-weight:600}.venue-section{z-index:1;min-height:100dvh;padding:max(2.5rem, env(safe-area-inset-top,0px) + 1.5rem) 1rem max(2.5rem, env(safe-area-inset-bottom,0px) + 1.5rem);box-sizing:border-box;color:#594a42;text-align:center;place-items:center;font-family:DecoType Naskh Extensions,Arial,sans-serif;display:grid;position:relative}.venue-section__content{width:min(100%,56rem)}.venue-section h2{color:#594a42;margin:0 0 clamp(1.25rem,4svh,2.5rem);font-size:clamp(2.5rem,11vw,4.75rem);font-weight:700;line-height:1}.venue-section__figure{margin:0}.venue-section__image-frame{background:#fff7e617;border:1px solid #f7dab0e0;border-radius:clamp(1rem,4vw,2rem);padding:clamp(.3rem,1.5vw,.55rem);position:relative;box-shadow:0 18px 42px #0000004d,inset 0 0 0 1px #ffffff1f}.venue-section__image-frame:before{z-index:1;content:"";pointer-events:none;border:1px solid #ffe5bd9e;border-radius:clamp(.65rem,3vw,1.5rem);position:absolute;inset:clamp(.55rem,2vw,.85rem)}.venue-section__image-frame img{border-radius:clamp(.7rem,3vw,1.55rem);width:100%;height:auto;display:block}.venue-section figcaption{margin-top:clamp(1rem,3svh,1.75rem);font-size:clamp(2rem,9vw,4rem);font-weight:700;line-height:1}.venue-section__map-frame{box-sizing:border-box;background:#fff7e617;border:1px solid #f7dab0e0;border-radius:clamp(1rem,4vw,2rem);width:100%;margin-top:clamp(1.5rem,4svh,2.75rem);padding:clamp(.3rem,1.5vw,.55rem);overflow:hidden;box-shadow:0 18px 42px #00000042}.venue-section__map-frame iframe{border:0;border-radius:clamp(.7rem,3vw,1.55rem);width:100%;height:clamp(18rem,52svh,32rem);display:block}.venue-section__map-link{box-sizing:border-box;color:#594a42;-webkit-tap-highlight-color:transparent;background:#fff7e61a;border:1px solid #f7dab0e0;border-radius:999px;justify-content:center;align-items:center;min-height:3rem;margin-top:clamp(1rem,3svh,1.75rem);padding:.65rem 1.4rem;font-size:clamp(1rem,4.5vw,1.35rem);font-weight:600;line-height:1.2;text-decoration:none;display:inline-flex;box-shadow:0 8px 20px #0003}.venue-section__map-link:focus-visible{outline-offset:4px;outline:2px solid #ffe5bd}.children-notice{z-index:1;min-height:100dvh;padding:max(2.5rem, env(safe-area-inset-top,0px) + 1.5rem) 1.25rem max(2.5rem, env(safe-area-inset-bottom,0px) + 1.5rem);box-sizing:border-box;color:#594a42;text-align:center;place-items:center;font-family:DecoType Naskh Extensions,Arial,sans-serif;display:grid;position:relative}.children-notice__content{flex-direction:column;align-items:center;width:min(100%,38rem);display:flex}.children-notice__shell{fill:#fff7e61a;stroke:#f7dab0;stroke-linecap:round;stroke-linejoin:round;stroke-width:2px;filter:drop-shadow(0 3px 8px #00000052);width:clamp(3.25rem,15vw,5.5rem);height:auto;margin-bottom:clamp(1.25rem,4svh,2rem)}.children-notice h2{color:#594a42;margin:0;font-size:clamp(2.5rem,12vw,4.75rem);font-weight:700;line-height:1.2}.children-notice__divider{background:linear-gradient(90deg,#0000,#f7dab0 20% 80%,#0000);width:min(9rem,42vw);height:1px;margin:clamp(1.25rem,4svh,2rem) 0;box-shadow:0 0 8px #f7dab059}.children-notice p{color:#594a42;max-width:29rem;margin:0;font-size:clamp(1.45rem,6.5vw,2.35rem);font-weight:600;line-height:1.6}@media (width>=768px){.invitation-phone-frame{box-shadow:0 25px 50px -12px #00000040}}@media (width>=1024px){:root{--invitation-background-width:390px}}@media (prefers-reduced-motion:reduce){.hero-section__media,.hero-section__video{transition-duration:1ms!important}.hero-section__reveal{opacity:1;transform:none;animation:none!important}[data-scroll-reveal]{opacity:1;will-change:auto;transition:none;transform:none}.schedule-timeline__indicator{will-change:auto;top:50%;transform:translate(-50%,-50%)!important}}
