@font-face{font-family:Aref Ruqaa;src:url(/fonts/ArefRuqaa-Regular.ttf)format("truetype");font-style:normal;font-weight:400;font-display:swap}@font-face{font-family:Aref Ruqaa;src:url(/fonts/ArefRuqaa-Bold.ttf)format("truetype");font-style:normal;font-weight:700;font-display:swap}:root{color:#5f4c33;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#ded4c8;font-family:Aref Ruqaa,Georgia,Times New Roman,serif}*{box-sizing:border-box}html,body,#root{min-width:320px;min-height:100%;margin:0}body{min-height:100svh}html.invitation-scroll-locked,html.invitation-scroll-locked body{overscroll-behavior:none;overflow:hidden}button,input,textarea,select{font:inherit}.invitation{background:#f3eadf;width:min(100%,560px);min-height:100svh;margin:0 auto;position:relative;overflow:hidden;box-shadow:0 0 45px #45301f29}.hero{background:#ead9cd;min-height:100svh;position:relative}.hero__image,.opening__image{object-fit:cover;width:100%;min-height:100svh;display:block}.hero__image{opacity:1}.hero__wedding-details{z-index:1;color:#906a18;text-align:center;text-shadow:0 1px #fffcf4d9,0 2px 12px #fff8ebb3;flex-direction:column;align-items:center;width:80%;display:flex;position:absolute;top:8%;left:50%;transform:translate(-50%)}.hero__wedding-details h2{margin:0;font-size:clamp(1.3rem + 10px,5vw + 10px,2rem + 10px);font-weight:400;line-height:1.5}.hero__names{justify-content:center;align-items:center;gap:clamp(1rem,5vw,2.5rem);width:100%;margin:16px 0 0;font-size:clamp(3.4rem,14vw,5.3rem);font-weight:700;line-height:1.45;display:flex}.hero__ampersand{font-family:Georgia,Times New Roman,serif;font-size:.65em;font-weight:400}.hero__separator-wrap{aspect-ratio:2172/236;width:58%;margin:.05rem auto 8px;overflow:hidden}.hero__separator{filter:drop-shadow(0 2px 5px #fff8eb99);width:100%;height:auto;display:block;transform:translateY(-33.29%)}.hero__wedding-details time{font-size:clamp(1.1rem,4vw,1.5rem);font-weight:700;line-height:1.2}.hero__wedding-details h2,.hero__names,.hero__separator-wrap,.hero__wedding-details time{opacity:0;transform:translateY(14px)}.invitation--open .hero__wedding-details h2{animation:.5s ease-out 1.05s forwards hero-detail-in}.invitation--open .hero__names{animation:.5s ease-out 1.55s forwards hero-detail-in}.invitation--open .hero__separator-wrap,.invitation--open .hero__wedding-details time{animation:.5s ease-out 2.05s forwards hero-detail-in}.second-section{background:#f3eadf;width:100%}.second-section__frame{width:100%;height:auto;display:block}.second-section__frame-wrap{position:relative}.second-section__invitation-copy{z-index:1;color:#8f6a1c;text-align:center;text-shadow:0 1px #fffcf5b8;width:72%;position:absolute;top:30%;left:50%;transform:translate(-50%)}.second-section__invitation-copy p{margin:0}.second-section__families{gap:.15rem;font-size:clamp(1.4rem,5.4vw,2rem);font-weight:700;line-height:1.65;display:grid}.second-section__invitation-line{font-size:clamp(1rem,4vw,1.4rem);font-weight:700;line-height:1.6;margin-top:clamp(.75rem,3vw,1.25rem)!important}.second-section__couple{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:clamp(.5rem,2vw,1rem);margin-top:clamp(.55rem,2.5vw,1rem);display:grid}.second-section__couple>div{flex-direction:column;align-items:center;min-width:0;display:flex}.second-section__couple span{font-size:clamp(.95rem,3.6vw,1.25rem);line-height:1.3}.second-section__couple strong{font-size:clamp(2.75rem,11vw,4.25rem);font-weight:700;line-height:1.35}.second-section__couple-ampersand{align-self:end;margin-bottom:.35rem;font-family:Georgia,Times New Roman,serif;font-weight:400;font-size:clamp(1.6rem,6vw,2.3rem)!important;line-height:1.35!important}.second-section__closing-line,.second-section__date-line{justify-items:center;font-size:clamp(.95rem,3.6vw,1.3rem);font-weight:700;line-height:1.6;display:grid}.second-section__closing-line{margin-top:clamp(.55rem,2.5vw,1rem)!important}.second-section__date-line{margin-top:.2rem!important}.second-section__date-line time{display:inline-block}.second-section__closing-line span:last-child,.second-section__date-line time{font-size:clamp(1.9rem,7.2vw,2.6rem);line-height:1.35}.second-section__top-row{place-items:center;width:100%;padding:2.5rem 0 0;display:grid;position:relative}.second-section__calligraphy{width:41%;height:auto;display:block}.second-section__side-flower{pointer-events:none;width:57.5%;height:auto;display:block;position:absolute;top:calc(50% + 1.25rem);transform:translateY(-50%)}.second-section__side-flower--left{left:-14.7%}.second-section__side-flower--right{right:-7.5%}.second-section__calligraphy,.second-section__families,.second-section__invitation-line,.second-section__couple,.second-section__closing-line,.second-section__date-line{opacity:0;transform:translateY(14px)}.second-section__side-flower{opacity:0}.second-section__top-row--visible .second-section__side-flower--left{animation:.5s ease-out .2s forwards second-side-detail-in}.second-section__top-row--visible .second-section__calligraphy{animation:.5s ease-out .35s forwards second-detail-in}.second-section__top-row--visible .second-section__side-flower--right{animation:.5s ease-out .5s forwards second-side-detail-in}.second-section__frame-wrap--visible .second-section__families{animation:.5s ease-out .2s forwards second-detail-in}.second-section__frame-wrap--visible .second-section__invitation-line{animation:.5s ease-out .45s forwards second-detail-in}.second-section__frame-wrap--visible .second-section__couple{animation:.5s ease-out .7s forwards second-detail-in}.second-section__frame-wrap--visible .second-section__closing-line{animation:.5s ease-out .95s forwards second-detail-in}.second-section__frame-wrap--visible .second-section__date-line{animation:.5s ease-out 1.2s forwards second-detail-in}.opening{z-index:2;color:#856b20;cursor:pointer;opacity:1;-webkit-tap-highlight-color:transparent;background:#f3eadf;border:0;border-radius:0;width:min(100%,560px);height:100svh;margin:0 auto;padding:0;transition:opacity 1.05s,visibility 0s linear 1.05s;position:fixed;inset:0;overflow:hidden}.opening__hint{left:50%;bottom:max(1.5rem, env(safe-area-inset-bottom));letter-spacing:.18em;text-transform:uppercase;white-space:nowrap;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#fffcf6b8;border:1px solid #8b6d1f52;border-radius:999px;padding:.55rem 1.1rem;font:400 .8rem/1.2 Aref Ruqaa,Georgia,Times New Roman,serif;animation:2.2s ease-in-out infinite hint-pulse;position:absolute;transform:translate(-50%);box-shadow:0 5px 24px #5e421a1a}.opening:focus-visible{outline-offset:-5px;outline:3px solid #a58a34}.invitation--open .opening{visibility:hidden;pointer-events:none;opacity:0}.audio-control{z-index:1;right:max(1rem,50vw - 280px + 1rem);bottom:max(1rem, env(safe-area-inset-bottom));color:#fffaf2;cursor:pointer;opacity:0;visibility:hidden;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);-webkit-tap-highlight-color:transparent;background:#56412b8c;border:1px solid #ffffff94;border-radius:50%;place-items:center;width:2.75rem;height:2.75rem;font-size:1.15rem;transition:opacity .4s .85s,visibility 0s linear 1.25s,background-color .2s;display:grid;position:fixed;box-shadow:0 5px 22px #3322142e}.invitation--open .audio-control{opacity:1;visibility:visible;transition-delay:.85s,0s,0s}.audio-control:hover{background:#56412bb8}.audio-control:focus-visible{outline-offset:3px;outline:2px solid #fffaf2}@keyframes hint-pulse{0%,to{opacity:.65;transform:translate(-50%)translateY(0)}50%{opacity:1;transform:translate(-50%)translateY(-3px)}}@keyframes hero-detail-in{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}@keyframes second-detail-in{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}@keyframes second-side-detail-in{0%{opacity:0;transform:translateY(-50%)scale(.94)}to{opacity:1;transform:translateY(-50%)scale(1)}}@media (prefers-reduced-motion:reduce){.opening,.audio-control{transition-duration:.01ms}.opening__hint{animation:none}.invitation--open .hero__wedding-details h2,.invitation--open .hero__names,.invitation--open .hero__separator-wrap,.invitation--open .hero__wedding-details time{animation-duration:.01ms;animation-delay:1.05s}.second-section__top-row--visible .second-section__calligraphy,.second-section__frame-wrap--visible .second-section__families,.second-section__frame-wrap--visible .second-section__invitation-line,.second-section__frame-wrap--visible .second-section__couple,.second-section__frame-wrap--visible .second-section__closing-line,.second-section__frame-wrap--visible .second-section__date-line{opacity:1;animation:none;transform:none}.second-section__top-row--visible .second-section__side-flower{opacity:1;animation:none;transform:translateY(-50%)}}
