*,:before,:after{box-sizing:border-box}*{margin:0}html{overscroll-behavior:none;height:100%;overflow:hidden}body,#root{height:100%;overflow:hidden}body{touch-action:none;min-height:100svh}.pages{will-change:transform;opacity:0;height:auto;transition:transform .75s cubic-bezier(.22,1,.36,1)}.pages--ready{opacity:1;transition:transform .75s cubic-bezier(.22,1,.36,1),opacity .45s}.boot-loader{z-index:20;background:radial-gradient(80% 60% at 50% 40%,#f7f4ec 0%,#ebe6d8 55%,#e2dcc8 100%);place-items:center;display:grid;position:fixed;inset:0}.boot-loader__text{color:#636543;font-family:Pinyon Script,cursive;font-size:clamp(2.2rem,10vw,3.4rem);animation:1.6s ease-in-out infinite boot-pulse}@keyframes boot-pulse{0%,to{opacity:.45}50%{opacity:1}}.page{height:100dvh}.page--main{background:url(/Assets/Background_MainPage.jpg) 50%/cover no-repeat;place-items:center;display:grid;overflow:hidden}.invitation-letter-btn{cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border:0;place-items:center;padding:0;display:grid}.invitation-letter-btn:focus-visible{outline-offset:8px;outline:2px solid #ffffffb3}.invitation-letter{object-fit:contain;width:min(150vw,1200px);height:auto;max-height:none;margin-top:10vh;margin-left:-25vw;transition:transform .35s,filter .35s;display:block}.invitation-letter-btn:hover .invitation-letter,.invitation-letter-btn:active .invitation-letter{transform:scale(1.03)}.page--invite{background:url(/Assets/Hochzeitseinladung_Background.jpg) 50%/cover no-repeat;place-items:center;display:grid;overflow:hidden}.wedding-invite{object-fit:contain;width:min(96vw,580px);height:auto;max-height:88svh;margin-top:36vh;margin-left:-14vw;display:block}.page--message{--line:#636543;color:var(--line);background:radial-gradient(80% 60% at 50% 40%,#f7f4ec 0%,#ebe6d8 55%,#e2dcc8 100%);flex-direction:column;justify-content:center;align-items:center;gap:clamp(1.5rem,4vh,2.75rem);padding:8vh 6vw;display:flex;overflow:hidden}.divider{width:min(78vw,420px);height:auto;display:block}.divider--flip{transform:rotate(180deg)}.message{text-align:center;flex-direction:column;align-items:center;gap:clamp(1.1rem,3vh,1.75rem);max-width:34rem;display:flex}.message__line{letter-spacing:.02em;font-family:Cormorant Garamond,Georgia,serif;font-size:clamp(1.05rem,4.2vw,1.45rem);font-style:italic;font-weight:400;line-height:1.55}.message__names{margin-top:.35rem;font-family:Pinyon Script,cursive;font-size:clamp(2.4rem,10vw,3.6rem);line-height:1.1}.page--banner{background:url(/Assets/Page_4_Background.jpg) 50%/cover no-repeat;justify-content:flex-end;align-items:flex-start;padding:8vh 0 4vh;display:flex;overflow:hidden}.wedding-banner-wrap{width:min(96vw,720px);max-height:96svh;margin-right:2vw;position:relative}.wedding-banner{object-fit:contain;width:100%;height:auto;max-height:96svh;display:block}.banner-text{z-index:1;letter-spacing:.02em;color:#1a1a1a;text-align:center;font-family:Josefin Sans,Segoe UI,sans-serif;font-size:clamp(.62rem,2.6vw,.9rem);font-weight:300;line-height:1.45;position:absolute}.banner-text__title{margin-bottom:.15em;font-weight:600}.banner-text--location{top:20%;left:28%}.banner-text--time{bottom:24%;right:30%}.page--countdown{color:#111;background:#fff;flex-direction:column;justify-content:center;align-items:center;gap:clamp(1.5rem,4vh,2.5rem);padding:6vh 5vw;display:flex;overflow:hidden}.countdown-title{text-align:center;font-family:Pinyon Script,cursive;font-size:clamp(2rem,9vw,3.25rem);font-weight:400;line-height:1.15}.countdown{background:#fff;justify-content:center;align-items:flex-start;width:min(92vw,34rem);padding:clamp(1.1rem,3.5vw,1.6rem) clamp(.75rem,3vw,1.4rem) clamp(.9rem,2.5vw,1.25rem);display:flex}.countdown__group{align-items:flex-start;display:flex}.countdown__unit{flex-direction:column;align-items:center;min-width:clamp(3.2rem,16vw,5.25rem);display:flex}.countdown__value{letter-spacing:.04em;font-variant-numeric:tabular-nums;font-family:Cormorant Garamond,Georgia,serif;font-size:clamp(1.85rem,8.5vw,3.1rem);font-weight:500;line-height:1}.countdown__label{letter-spacing:.08em;text-transform:uppercase;margin-top:.45rem;font-family:Cormorant Garamond,Georgia,serif;font-size:clamp(.58rem,2.6vw,.78rem);font-weight:500}.countdown__sep{margin:.15rem .15rem 0;font-family:Cormorant Garamond,Georgia,serif;font-size:clamp(1.85rem,8.5vw,3.1rem);font-weight:500;line-height:1}.map-link{color:inherit;-webkit-tap-highlight-color:transparent;text-decoration:none}.map-link__address{text-underline-offset:.15em;text-decoration:underline}.map-link:visited,.map-link:hover,.map-link:active,.map-link:focus{color:inherit;text-decoration:none}.henna-pages{scroll-snap-type:y mandatory;overscroll-behavior-y:none;touch-action:pan-y;height:100dvh;overflow-y:auto}.henna-page{scroll-snap-align:start;scroll-snap-stop:always;height:100dvh;overflow:hidden}.henna-page--intro{background:url(/Assets/Henna_Background.png) 50%/cover no-repeat;place-items:center;display:grid}.henna-banner{object-fit:contain;width:min(88vw,560px);height:auto;max-height:85svh;display:block}.henna-page--hand{background:#2f0a14;position:relative}.henna-hand-wrap{width:min(100vw,760px);position:absolute;bottom:0;left:50%;transform:translate(-50%)}.henna-hand{object-fit:contain;object-position:bottom center;width:100%;height:auto;display:block}.henna-card-text{text-align:center;color:#3a1a1f;letter-spacing:.02em;width:58%;font-family:Josefin Sans,Segoe UI,sans-serif;font-size:clamp(.95rem,4.1vw,1.45rem);font-weight:300;line-height:1.35;position:absolute;top:17%;left:50%;transform:translate(-50%)}.henna-card-text__title{letter-spacing:.08em;color:#2f0a14;margin-bottom:.35em;font-size:clamp(1.2rem,5.4vw,2rem);font-weight:600}
