@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:wght@500;600;700&display=swap');
:root{--lc-red:#951e2c;--lc-deep:#7b1422;--lc-gold:#dfc375;--lc-cream:#faf8f3}.lc,.lc *{box-sizing:border-box}.lc{font-family:'DM Sans',system-ui,sans-serif;color:#362c28;overflow:hidden;background:var(--lc-cream);line-height:1.55}.lc button,.lc a{font:inherit}.lc h1,.lc h2,.lc h3,.lc p{margin:0}.lc h1,.lc h2{font-family:'Playfair Display',Georgia,serif}.lc-container{width:min(1100px,calc(100% - 48px));margin:auto;position:relative;z-index:2}.lc-progress{position:fixed;z-index:100;top:0;left:0;height:3px;background:var(--lc-gold);width:0;pointer-events:none}.lc-hero{height:min(900px,100svh);min-height:620px;background:#fff;position:relative;display:grid;place-items:center;isolation:isolate}.lc-hero-top{position:absolute;top:34px;left:max(28px,5vw);right:max(28px,5vw);display:flex;justify-content:space-between;gap:20px;font-size:12px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--lc-red);z-index:3}.lc-hero-top span:last-child{color:#b49550}.lc-hero-copy{text-align:center;z-index:4;position:relative;padding:30px 16px}.lc-eyebrow{font-size:12px;font-weight:700;letter-spacing:.23em;color:#b3934b;text-align:center}.lc-hero h1{font-size:clamp(3.3rem,8.5vw,7.8rem);line-height:1.05;letter-spacing:-.05em;color:var(--lc-red);font-weight:600;margin:24px 0 18px}.lc-hero h1 strong{font-weight:600}.lc-subtitle{font-family:'Playfair Display',Georgia,serif;color:#aa843b;font-size:clamp(1.35rem,2.8vw,2.2rem)}.lc-scroll-hint{position:absolute;bottom:34px;left:50%;transform:translateX(-50%);color:var(--lc-red);display:flex;align-items:center;flex-direction:column;gap:9px;text-decoration:none!important;font-size:10px;letter-spacing:.19em;font-weight:700;z-index:5}.lc-scroll-hint span:last-child{font-size:24px;animation:lc-bob 2s ease-in-out infinite}.lc-decor{position:absolute;pointer-events:none;will-change:transform;object-fit:contain;z-index:1}.lc-fan-left{width:clamp(260px,39vw,590px);left:-13%;top:20%;transform:rotate(-24deg)}.lc-fan-right{width:clamp(230px,31vw,480px);right:-11%;bottom:0;transform:rotate(21deg)}.lc-cloud{width:clamp(260px,40vw,600px);opacity:.75}.lc-cloud-a{top:10%;right:-12%}.lc-cloud-b{bottom:0;left:-13%;opacity:.55}.lc-lotus{width:clamp(110px,17vw,250px);right:7%;top:14%;opacity:.65}.lc-language{background:#fff;text-align:center;padding:100px 0 135px;position:relative}.lc-language h2,.lc-expect h2{color:var(--lc-red);font-size:clamp(2.2rem,5vw,4rem);margin:15px 0 10px}.lc-language p,.lc-expect-lead{color:#766c65}.lc-languages{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px;margin-top:44px}.lc-lang{border:1px solid #ece2d7;background:#faf8f4;border-radius:18px;min-height:158px;padding:22px 10px;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:6px;cursor:pointer;transition:transform .25s,background .25s,box-shadow .25s,border-color .25s;color:#40312d}.lc-lang:hover,.lc-lang:focus-visible{transform:translateY(-8px);box-shadow:0 18px 35px #641c2622;border-color:#bd9650;outline:none}.lc-lang.is-active{background:var(--lc-red);color:#fff;border-color:var(--lc-red)}.lc-flag{font-size:34px}.lc-lang strong{font-size:16px}.lc-lang small{font-size:12px;opacity:.72}.lc-transition{height:220px;background:#fff;position:relative;overflow:hidden;margin-bottom:-2px}.lc-red-wave{position:absolute;bottom:-160px;left:-10%;width:120%;height:290px;background:var(--lc-red);border-radius:50% 50% 0 0/50% 50% 0 0;transform:scaleY(.8);transform-origin:bottom}.lc-transition-cloud{position:absolute;bottom:-95px;right:-30px;width:340px;opacity:.85}.lc-invitation{background:var(--lc-red);color:white;position:relative;padding:100px 0 130px;isolation:isolate}.lc-invite-content{text-align:center}.lc-invitation .lc-eyebrow{color:#f2d797}.lc-invitation h2{font-size:clamp(2.5rem,6vw,5.2rem);color:#f1d18b;margin:24px 0}.lc-invite-text{font-size:clamp(1rem,2vw,1.3rem);max-width:680px;margin:0 auto!important;color:#fff8ee}.lc-gold-rule{height:1px;background:linear-gradient(90deg,transparent,var(--lc-gold),transparent);margin:62px auto 44px;max-width:800px}.lc-facts{display:grid;grid-template-columns:repeat(3,1fr);gap:25px;max-width:850px;margin:auto}.lc-fact{display:flex;flex-direction:column;align-items:center;gap:10px}.lc-fact-icon{font-size:40px;color:#f1d18b;line-height:1}.lc-fact-label{font-size:12px;color:#f1d18b;font-weight:700;letter-spacing:.18em}.lc-fact strong{font-size:clamp(15px,2vw,20px);font-weight:600;overflow-wrap:anywhere}.lc-red-cloud{position:absolute;max-width:490px;width:35%;opacity:.34;pointer-events:none}.lc-red-cloud-a{left:-11%;top:1%}.lc-red-cloud-b{right:-9%;bottom:0}.lc-expect{background:var(--lc-cream);padding:120px 0;text-align:center}.lc-feature-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;margin-top:52px}.lc-feature{background:#fff;border:1px solid #f1e7d8;border-radius:20px;overflow:hidden;text-align:left;transition:transform .3s,box-shadow .3s}.lc-feature:hover{transform:translateY(-9px);box-shadow:0 22px 44px #4b232018}.lc-feature-art{height:190px;background:linear-gradient(145deg,#fff7e9,#f5e7cd);display:grid;place-items:center;position:relative;overflow:hidden}.lc-feature-art>span{font-size:76px;z-index:2;transition:transform .4s}.lc-feature:hover .lc-feature-art>span{transform:translateY(-8px) rotate(-8deg) scale(1.08)}.lc-feature-art img{position:absolute;width:100%;height:100%;object-fit:contain;opacity:.25;right:-30%;bottom:-35%}.lc-feature h3{font-size:19px;color:var(--lc-red);padding:24px 20px 8px}.lc-feature p{font-size:14px;color:#756e67;padding:0 20px 28px}.lc-footer{background:#781725;color:#f8e9ce;text-align:center;padding:55px 20px 65px;display:flex;flex-direction:column;align-items:center;gap:9px}.lc-footer img{width:65px;filter:brightness(1.2)}.lc-footer p{font-family:'Playfair Display',Georgia,serif;font-size:24px;color:#f1d18b}.lc-footer span{font-size:14px}.lc-footer a{display:inline-block;margin-top:20px;color:#781725!important;background:#f1d18b;border-radius:99px;padding:12px 25px;text-decoration:none!important;font-weight:700}.lc-petals{position:fixed;pointer-events:none;z-index:8;inset:0;overflow:hidden;opacity:.4}.lc-petals img{position:absolute;top:-40vh;left:-20vw;width:clamp(340px,48vw,680px);height:auto;transform:rotate(-20deg);animation:lc-petal 20s linear infinite}.lc .lc-reveal{opacity:0;transform:translateY(30px);transition:opacity .8s,transform .8s}.lc .lc-reveal.lc-visible{opacity:1;transform:translateY(0)}@keyframes lc-bob{50%{transform:translateY(7px)}}@keyframes lc-petal{0%{transform:translate3d(0,-20vh,0) rotate(-20deg)}100%{transform:translate3d(65vw,155vh,0) rotate(28deg)}}@media(max-width:800px){.lc-languages{grid-template-columns:repeat(3,1fr)}.lc-feature-grid{grid-template-columns:repeat(2,1fr)}.lc-fan-left{left:-24%;top:12%}.lc-fan-right{right:-25%;bottom:5%}.lc-lotus{right:0;top:18%}}@media(max-width:530px){.lc-hero{min-height:570px;height:90svh}.lc-hero-top{font-size:9px;top:22px;left:18px;right:18px}.lc-hero h1{font-size:clamp(3rem,12vw,4.7rem)}.lc-fan-left{width:300px;top:9%;left:-42%;opacity:.85}.lc-fan-right{width:260px;right:-40%;bottom:9%;opacity:.8}.lc-cloud-a{right:-40%;top:5%}.lc-lotus{width:130px;right:0;top:25%}.lc-language{padding:75px 0 100px}.lc-languages{grid-template-columns:repeat(2,1fr);gap:10px}.lc-lang{min-height:135px}.lc-lang:last-child{grid-column:1/-1}.lc-facts{grid-template-columns:1fr;gap:35px}.lc-invitation{padding:65px 0 90px}.lc-feature-grid{grid-template-columns:1fr;gap:15px}.lc-feature-art{height:170px}.lc-expect{padding:80px 0}.lc-petals{opacity:.23}}@media(prefers-reduced-motion:reduce){.lc *, .lc *::before,.lc *::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.lc .lc-reveal{opacity:1;transform:none}}

/* v1.1: scroll-driven cinematic transition and independent petals */
.lc{position:relative;background:#fff;isolation:isolate;--lc-red-progress:0}
.lc-red-scroll-bg{position:absolute;inset:0;z-index:0;pointer-events:none;background:var(--lc-red);opacity:var(--lc-red-progress)}
.lc-hero,.lc-language,.lc-transition{z-index:1}
.lc-language{background:transparent}
.lc-transition{height:clamp(360px,75vh,850px);background:transparent;isolation:isolate}
.lc-red-wave{bottom:-10%;left:-20%;width:140%;height:125%;border-radius:48% 52% 0 0/24% 29% 0 0;transform:translate3d(0,calc((1 - var(--lc-red-progress))*65%),0) scaleX(1.08);opacity:var(--lc-red-progress);will-change:transform,opacity}
.lc-transition-cloud{bottom:6%;width:min(42vw,550px);transform:translate3d(calc(var(--lc-red-progress)*-14vw),calc((1 - var(--lc-red-progress))*24vh),0);opacity:calc(var(--lc-red-progress)*.85)}
.lc-invitation{z-index:1}
.lc-expect{background:var(--lc-red);color:#fff;position:relative;z-index:1;padding-top:110px}
.lc-expect h2{color:#f1d18b}.lc-expect-lead{color:#fff2e0}
.lc-feature{background:#fff8ef;border-color:#dfbd83}.lc-feature-art{background:linear-gradient(145deg,#fff9ed,#efd6a5)}
.lc-footer{position:relative;z-index:1}
.lc-petals{position:fixed;inset:0;z-index:9;opacity:1;pointer-events:none;overflow:hidden;contain:layout paint}
.lc-petal{position:absolute;top:0;left:0;width:clamp(25px,5vw,78px);height:auto;max-width:none;transform:translate3d(-150px,-150px,0);will-change:transform;filter:drop-shadow(0 4px 7px rgba(105,54,9,.10));animation:none!important;opacity:0}
.lc-petal-2,.lc-petal-5{width:clamp(34px,6vw,92px)}
@media(max-width:530px){.lc-transition{height:60vh}.lc-petal{width:35px}.lc-petal-2,.lc-petal-5{width:48px}.lc-expect{padding-top:80px}}
@media(prefers-reduced-motion:reduce){.lc-petals{display:none}.lc-red-wave{transform:none;opacity:1}.lc-transition-cloud{opacity:.8;transform:none}}

/* v1.2: small, scattered wind-blown petals; JS drives scroll positions */
.lc-petals{opacity:1!important}
.lc-petals img.lc-petal{top:0!important;left:0!important;width:clamp(20px,3.2vw,43px)!important;height:auto!important;max-width:none!important;animation:none!important;transform-origin:50% 50%;filter:drop-shadow(0 2px 3px rgba(80,42,0,.09))}
@media(max-width:530px){.lc-petals img.lc-petal{width:29px!important}}

/* v1.3: extended, slower white-to-red transition */
.lc-transition{height:clamp(720px,125vh,1450px)}
@media(max-width:530px){.lc-transition{height:100vh;min-height:640px}}

/* v1.4: compact scroll transition; fade begins before language selection. */
.lc-transition{height:clamp(175px,28vh,310px)}
.lc-language{padding-bottom:88px}
.lc-red-scroll-bg{top:calc(min(900px, 100svh) - 150px)}
.lc-fan-left{transform-origin:56% 83%}
.lc-fan-right{transform-origin:48% 83%}
@media(max-width:530px){.lc-transition{height:clamp(150px,23vh,230px);min-height:0}.lc-language{padding-bottom:72px}.lc-red-scroll-bg{top:calc(90svh - 140px)}}

/* v1.5: subtle scroll-linked movement of the gold clouds in the invitation */
.lc-invitation .lc-red-cloud{will-change:transform;transform-origin:center center}
@media(prefers-reduced-motion:reduce){.lc-invitation .lc-red-cloud{transform:none!important;will-change:auto}}

/* v1.6: scroll-scrubbed, alternating entrance for the experience cards */
.lc-expect .lc-feature{opacity:0;will-change:transform,opacity;transition:box-shadow .3s,border-color .3s;backface-visibility:hidden;}
.lc-expect .lc-feature:hover{box-shadow:0 24px 46px rgba(45,10,15,.27);border-color:#e6c98c}
.lc-expect .lc-feature-grid{overflow:visible}
@media(prefers-reduced-motion:reduce){.lc-expect .lc-feature{opacity:1!important;transform:none!important;will-change:auto}}

/* Version 1: independent scroll-driven layered landscape */
.lc-scroll{height:330svh;position:relative}
.lc-sticky{position:sticky;top:0;height:100svh;overflow:hidden;background:#fffdf9}
.lc-art{position:absolute;top:0;left:0;width:100%;aspect-ratio:3/2;isolation:isolate;will-change:transform;overflow:visible}
.lc-layer{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:fill;pointer-events:none;user-select:none;will-change:transform;transform-origin:center center}
.lc-wash{position:absolute;inset:0;background:linear-gradient(180deg,rgba(255,255,255,.13),transparent 50%,rgba(255,253,249,.1));pointer-events:none;z-index:16}
.lc-head{position:absolute;top:0;left:0;width:100%;text-align:center;z-index:30;pointer-events:none;text-shadow:0 2px 15px #fffdf9,0 1px 4px #fffdf9;will-change:transform,opacity}
.lc-kicker{font:600 .7rem/1.5 system-ui,sans-serif;letter-spacing:.36em;color:var(--gold);text-transform:uppercase}
.lc-head h1{margin:12px 0 6px;font-size:clamp(2.1rem,5vw,5.3rem);font-weight:400;letter-spacing:.025em;color:var(--red)}
.lc-sub{font-size:clamp(1.05rem,2.1vw,1.6rem);letter-spacing:.14em}
.lc-scrollhint{position:absolute;bottom:clamp(30px,5vh,65px);left:50%;transform:translateX(-50%);z-index:20;font:700 clamp(1.1rem,2.3vw,1.55rem)/1.4 system-ui,sans-serif;letter-spacing:.18em;color:var(--red);text-align:center;text-transform:uppercase;text-shadow:0 2px 8px #fffdf9}
.lc-scrollhint:after{content:'↓';display:block;font-size:clamp(2.8rem,5vw,4rem);line-height:1;margin-top:12px}
.lc-topbar{position:fixed;top:0;left:0;right:0;z-index:9999;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:clamp(17px,2.4vw,30px) clamp(20px,4.5vw,72px);pointer-events:none;font-family:system-ui,-apple-system,"Segoe UI",sans-serif}
.lc-topbar span{display:block;pointer-events:auto;color:#81232d;font-size:clamp(.69rem,1.05vw,.92rem);font-weight:700;letter-spacing:.15em;text-transform:uppercase;text-shadow:0 1px 10px #fffdf9,0 0 4px #fffdf9}
.lc-topbar .lc-topbar-edition{font-weight:500;letter-spacing:.13em;text-align:right}
.lc-topbar.is-red span{color:#f1cd82;text-shadow:0 1px 8px #66121a}
.lc-scroll{height:330svh;position:relative;z-index:2}.lc-sticky{position:sticky;top:0;height:100svh;overflow:hidden;background:#fffdf9}.lc-art{position:absolute;top:0;left:0;width:100%;aspect-ratio:3/2;isolation:isolate;overflow:visible}.lc-layer{position:absolute;inset:0;width:100%;height:100%;object-fit:fill;pointer-events:none}.lc-head{z-index:30;pointer-events:none}.lc-scrollhint{z-index:31}.lc-topbar{z-index:9999}.lc-scroll .lc-kicker{color:#aa8347}.lc-scroll .lc-head h1{color:#9b3039}.lc-scroll .lc-sub{color:#24242d}.lc-scrollhint{color:#9b3039}.lc-scrollhint:after{content:"↓";display:block;font-size:3rem}.lc-scroll{isolation:isolate}
@media(max-width:700px){.lc-scroll{height:240svh}.lc-head h1{font-size:clamp(2rem,8vw,3.4rem)}.lc-topbar{padding:16px}.lc-topbar span{font-size:.64rem}}
@media(prefers-reduced-motion:reduce){.lc-layer,.lc-art{will-change:auto}}

.lc-red-scroll-bg{top:0}.lc-language{z-index:1}.lc-transition{z-index:1}

/* Hotfix: kürzere Scrollstrecke ohne leere Nachlaufphase. */
.lc-scroll{height:235svh}
@media(max-width:700px){.lc-scroll{height:205svh}}

/* Fix: landscape canvas always covers the sticky viewport, including tall screens. */
.lc-scroll .lc-art{height:max(100svh,66.666667vw);aspect-ratio:auto}

/* v1.8: prevent blank strip caused by translating the entire landscape upward. */
.lc-scroll .lc-art{top:0;transform:none;min-height:100svh}

/* Final: no floating petals */
.lc-petals,.lc-petal{display:none!important}

/* v1.9: preserve the full 3:2 composition on ultra-wide monitors.
   No clipping, stretching, or white section overlay: artwork is contained. */
.lc-scroll .lc-sticky{height:100svh;overflow:hidden;background:#fffdf9}
.lc-scroll .lc-art{position:absolute;top:50%;left:50%;width:min(100vw,150svh);height:auto;min-height:0;aspect-ratio:3 / 2;transform:translate(-50%,-50%)!important;overflow:visible}
.lc-scroll .lc-layer{width:100%;height:100%;object-fit:fill}
.lc-scroll .lc-wash{background:linear-gradient(180deg,rgba(255,255,255,.08),transparent 50%,rgba(255,253,249,.07))}

/* v2.0: remove the long empty scroll tail before language selection.
   Keep a short sticky scroll runway for the landscape and rising title. */
.lc-scroll{height:145svh!important;margin:0!important;padding:0!important}
.lc-scroll + .lc-language{margin-top:0!important}
@media(max-width:700px){.lc-scroll{height:155svh!important}}

/* v2.1: slightly shorter transition to language selection. */
.lc-scroll{height:135svh!important}
@media(max-width:700px){.lc-scroll{height:145svh!important}}

/* v2.2: Landscape spans the full browser width, without cropping the 3:2 artwork. */
.lc-scroll{height:calc(max(100svh, 66.666667vw) + 35svh)!important}
.lc-scroll .lc-sticky{height:max(100svh, 66.666667vw);overflow:visible}
.lc-scroll .lc-art{top:0;left:0;width:100vw;height:auto;min-height:0;aspect-ratio:3 / 2;transform:none!important}
@media(max-width:700px){.lc-scroll{height:calc(max(100svh, 66.666667vw) + 45svh)!important}}

/* RSVP: mobile-first, Japan-inspired white card and red sun */
.lc-rsvp-section{position:relative;z-index:2;background:#fffdf9;padding:clamp(70px,10vw,125px) 20px;color:#352c2c;text-align:center;overflow:hidden}
.lc-rsvp-wrap{max-width:780px}.lc-rsvp-sun{width:88px;height:88px;background:#a51f32;border-radius:50%;margin:0 auto 20px;box-shadow:0 0 0 13px #a51f320d}.lc-rsvp-section h2{font:600 clamp(2.2rem,5vw,4rem)/1.2 'Playfair Display',Georgia,serif;color:#921e2d;margin:14px 0}.lc-rsvp-lead{margin:0 auto 30px!important;color:#6f6260}.lc-rsvp-toggle{display:inline-flex;align-items:center;justify-content:center;gap:13px;background:#a51f32;color:white;border:0;border-radius:99px;padding:17px 27px;cursor:pointer;font-weight:700!important;box-shadow:0 12px 30px #8b1c2d2b}.lc-rsvp-toggle:hover{background:#811a29}.lc-rsvp-toggle-sun{display:block;width:21px;height:21px;background:#fff;border-radius:50%}.lc-rsvp-form{margin:28px auto 0;background:#fff;border:1px solid #e9d9cf;border-top:5px solid #a51f32;border-radius:18px;padding:clamp(20px,5vw,40px);text-align:left;box-shadow:0 24px 60px #531e2514}.lc-rsvp-form[hidden],.lc-rsvp-step[hidden],.lc-rsvp-nav button[hidden]{display:none!important}.lc-rsvp-progress{font-size:.8rem;font-weight:700;color:#9b2635;letter-spacing:.1em;text-transform:uppercase;margin-bottom:18px}.lc-rsvp-step h3{font:600 1.6rem Georgia,serif;color:#881d2d;margin:0 0 20px}.lc-rsvp-step>label:not(.lc-rsvp-privacy){display:block;margin:16px 0 7px;font-weight:700}.lc-rsvp-step>input{width:100%;padding:14px 15px;border:1px solid #cdbfba;border-radius:10px;background:white;color:#302525;font-size:16px}.lc-rsvp-step fieldset{border:0;padding:0;margin:22px 0}.lc-rsvp-step legend{font-weight:700;margin-bottom:12px}.lc-rsvp-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.lc-rsvp-options label{display:flex;align-items:center;gap:9px;border:1px solid #dccac1;border-radius:12px;padding:13px;cursor:pointer;background:#fffaf6}.lc-rsvp-options label:has(input:checked){border-color:#9b2635;background:#fff1ee}.lc-rsvp-options input,.lc-rsvp-privacy input{accent-color:#a51f32;flex-shrink:0}.lc-rsvp-privacy{display:flex;align-items:flex-start;gap:12px;margin-top:28px;line-height:1.6;font-size:.91rem}.lc-rsvp-privacy input{margin-top:5px}.lc-rsvp-note{font-size:.82rem;color:#746862;margin-top:15px!important;line-height:1.6}.lc-rsvp-nav{display:flex;justify-content:space-between;gap:12px;margin-top:28px}.lc-rsvp-next,.lc-rsvp-back{border:1px solid #a51f32;border-radius:99px;padding:13px 23px;cursor:pointer;font-weight:700!important}.lc-rsvp-next{background:#a51f32;color:white;margin-left:auto}.lc-rsvp-back{background:white;color:#a51f32}.lc-rsvp-status{border:1px solid #c4a77b;background:#fff7e7;padding:15px;border-radius:12px;margin:18px auto!important;max-width:620px}.lc-rsvp-trap{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
@media(max-width:530px){.lc-rsvp-options{grid-template-columns:1fr}.lc-rsvp-form{padding:22px 17px}.lc-rsvp-nav button{padding:12px 17px}}

/* Horizontal RSVP experience: each step slides from right to left. */
.lc-rsvp-viewport{width:100%;overflow:hidden;position:relative;touch-action:pan-y;}
.lc-rsvp-track{display:flex;width:300%;align-items:flex-start;transition:transform .65s cubic-bezier(.22,1,.36,1);will-change:transform;}
.lc-rsvp-track>.lc-rsvp-step{flex:0 0 33.333333%;width:33.333333%;min-width:0;padding:2px 3px 6px;box-sizing:border-box;}
.lc-rsvp-form.lc-rsvp-enter{animation:lc-rsvp-arrive .75s cubic-bezier(.22,1,.36,1) both;}
@keyframes lc-rsvp-arrive{from{opacity:0;transform:translate3d(90px,0,0)}to{opacity:1;transform:translate3d(0,0,0)}}
@media(prefers-reduced-motion:reduce){.lc-rsvp-track{transition:none!important}.lc-rsvp-form.lc-rsvp-enter{animation:none!important}}

/* Hokaido-inspired scroll-driven horizontal RSVP gallery. The page scrolls
   vertically, while the pinned form panels travel horizontally. */
.lc-rsvp-section{overflow:clip}
.lc-rsvp-runway{position:relative;height:310svh;margin-top:25px}
.lc-rsvp-runway[hidden]{display:none!important}
.lc-rsvp-sticky{position:sticky;top:0;height:100svh;display:flex;align-items:center;justify-content:center;overflow:hidden;padding:14px 18px;box-sizing:border-box;background:linear-gradient(115deg,#fffdf9 0%,#fff5ef 55%,#f4e8e1 100%)}
.lc-rsvp-form-shell{width:min(900px,100%);max-height:calc(100svh - 28px);overflow-y:auto;overscroll-behavior:contain}
.lc-rsvp-form{margin:0;max-width:none}
.lc-rsvp-track{transition:none}
.lc-rsvp-viewport{overflow:hidden}
.lc-rsvp-step{min-height:250px}
@media(max-width:600px){.lc-rsvp-runway{height:280svh}.lc-rsvp-sticky{padding:8px}.lc-rsvp-form-shell{max-height:calc(100svh - 16px)}.lc-rsvp-form{padding:16px 14px}.lc-rsvp-step h3{font-size:1.3rem}.lc-rsvp-step fieldset{margin:12px 0}.lc-rsvp-privacy{margin-top:12px}}
@media(prefers-reduced-motion:reduce){.lc-rsvp-runway{height:auto}.lc-rsvp-sticky{position:relative;height:auto;min-height:65svh}}

/* Fix: overflow:hidden on the page wrapper prevents the RSVP sticky panel from pinning. */
.lc{overflow:clip!important}
.lc-rsvp-section{overflow:visible!important}
.lc-rsvp-runway:not([hidden]){display:block!important}
.lc-rsvp-runway:not([hidden]) .lc-rsvp-form:not([hidden]){display:block!important}

/* RSVP always visible: normal vertical scrolling drives the pinned horizontal pages. */
.lc-rsvp-section{padding-bottom:0!important;overflow:visible!important;overflow-x:clip!important}
.lc-rsvp-runway{display:block!important;margin-top:30px}
.lc-rsvp-form{display:block!important}
.lc-rsvp-toggle{display:none!important}
.lc-rsvp-sticky{z-index:1}

/* Full-viewport horizontal storytelling: the ENTIRE registration page travels sideways.
   The vertical wheel/touch scroll is converted into horizontal motion by site.js. */
.lc#lc-app{overflow:visible!important;overflow-x:clip!important}
.lc-rsvp-section{padding:65px 0 0!important;overflow:visible!important;overflow-x:visible!important}
.lc-rsvp-runway{height:320svh!important;margin-top:24px!important;width:100%!important}
.lc-rsvp-sticky{position:sticky!important;top:0!important;width:100vw!important;height:100svh!important;padding:0!important;overflow:hidden!important;display:block!important;background:#fffdf9!important}
.lc-rsvp-form-shell{width:100vw!important;max-width:none!important;max-height:none!important;height:100svh!important;overflow:visible!important}
.lc-rsvp-form{position:relative!important;width:100vw!important;height:100svh!important;margin:0!important;padding:0!important;max-width:none!important;border:0!important;border-radius:0!important;box-shadow:none!important;background:transparent!important;overflow:hidden!important}
.lc-rsvp-viewport{position:absolute!important;inset:0!important;width:100vw!important;height:100svh!important;overflow:hidden!important}
.lc-rsvp-track{display:flex!important;width:300vw!important;height:100%!important;align-items:stretch!important;transition:none!important}
.lc-rsvp-track>.lc-rsvp-step{flex:0 0 100vw!important;width:100vw!important;min-width:100vw!important;height:100svh!important;min-height:0!important;padding:clamp(100px,13svh,145px) max(24px,calc((100vw - 680px)/2)) 105px!important;overflow-y:auto!important;overscroll-behavior:contain;box-sizing:border-box!important;text-align:left!important}
.lc-rsvp-step[data-step="0"]{background:radial-gradient(circle at 84% 22%,#c53b47 0 9%,transparent 9.2%),linear-gradient(120deg,#fffdf9,#f8e9e4)!important}
.lc-rsvp-step[data-step="1"]{background:radial-gradient(circle at 86% 18%,#bc2940 0 7%,#204f85 7.2% 14%,transparent 14.2%),linear-gradient(125deg,#f9f8f5,#eaf0f5)!important}
.lc-rsvp-step[data-step="2"]{background:linear-gradient(135deg,#17191e,#34302b)!important;color:#fff8e8!important}
.lc-rsvp-step[data-step="2"] h3,.lc-rsvp-step[data-step="2"] legend{color:#f0cf87!important}
.lc-rsvp-step[data-step="2"] .lc-rsvp-privacy,.lc-rsvp-step[data-step="2"] .lc-rsvp-note{color:#f6e9d8!important}
.lc-rsvp-progress{position:absolute!important;top:clamp(20px,5svh,55px)!important;left:max(24px,5vw)!important;z-index:5!important;background:#fffef0ed!important;padding:9px 16px!important;border-radius:99px!important;box-shadow:0 4px 20px #0001!important}
.lc-rsvp-nav{position:absolute!important;z-index:5!important;bottom:clamp(14px,3svh,35px)!important;left:50%!important;transform:translateX(-50%)!important;width:min(680px,calc(100vw - 40px))!important;margin:0!important;pointer-events:none!important}
.lc-rsvp-nav button{pointer-events:auto!important;box-shadow:0 5px 20px #0002!important}
@media(max-width:600px){.lc-rsvp-runway{height:300svh!important}.lc-rsvp-track>.lc-rsvp-step{padding:100px 22px 94px!important}.lc-rsvp-step h3{font-size:1.5rem!important}.lc-rsvp-step fieldset{margin:16px 0!important}.lc-rsvp-nav{bottom:14px!important}}
@media(prefers-reduced-motion:reduce){.lc-rsvp-runway{height:100svh!important}.lc-rsvp-track{transition:transform .2s ease!important}}

/* Unified RSVP cards: same illustration header, ivory surface and soft shadow as “Was euch erwartet”. */
.lc-rsvp-track>.lc-rsvp-step{display:flex!important;align-items:center!important;justify-content:center!important;padding:80px 22px 95px!important;background:var(--lc-red)!important;color:#362c28!important}
.lc-rsvp-card{width:min(620px,100%);max-height:calc(100svh - 180px);overflow-y:auto;overscroll-behavior:contain;background:#fff8ef;border:1px solid #dfbd83;border-radius:20px;box-shadow:0 22px 48px rgba(45,10,15,.22);text-align:left;scrollbar-width:thin}
.lc-rsvp-card-art{height:clamp(100px,17svh,175px);background:linear-gradient(145deg,#fff9ed,#efd6a5);display:grid;place-items:center;position:relative;overflow:hidden}
.lc-rsvp-card-art>span{font-size:clamp(48px,8svh,76px);position:relative;z-index:2;transition:transform .4s}
.lc-rsvp-card-art img{position:absolute;width:100%;height:100%;object-fit:contain;opacity:.25;right:-30%;bottom:-35%}
.lc-rsvp-card:hover .lc-rsvp-card-art>span{transform:translateY(-5px) rotate(-5deg) scale(1.05)}
.lc-rsvp-card-body{padding:clamp(20px,3vw,32px)}
.lc-rsvp-card h3{font:600 clamp(1.4rem,3vw,1.9rem) Georgia,serif!important;color:var(--lc-red)!important;margin:0 0 20px!important}
.lc-rsvp-card-body>label:not(.lc-rsvp-privacy){display:block;margin:15px 0 7px;font-weight:700}
.lc-rsvp-card-body>input{display:block;width:100%;padding:13px 15px;border:1px solid #cdbfba;border-radius:10px;background:#fff;color:#302525;font-size:16px}
.lc-rsvp-card legend{color:#362c28!important}.lc-rsvp-card .lc-rsvp-privacy,.lc-rsvp-card .lc-rsvp-note{color:#746862!important}
.lc-rsvp-progress{background:#fff8ef!important;color:var(--lc-red)!important;border:1px solid #dfbd83}
@media(max-width:600px){.lc-rsvp-track>.lc-rsvp-step{padding:68px 14px 83px!important}.lc-rsvp-card{max-height:calc(100svh - 155px)}.lc-rsvp-card-art{height:105px}.lc-rsvp-card-body{padding:18px}.lc-rsvp-card .lc-rsvp-options{grid-template-columns:1fr}.lc-rsvp-card fieldset{margin:15px 0!important}}
@media(max-height:650px){.lc-rsvp-card{max-height:calc(100svh - 130px)}.lc-rsvp-card-art{height:85px}.lc-rsvp-track>.lc-rsvp-step{padding-top:54px!important;padding-bottom:70px!important}}

/* Lesbarkeit: Ernährung & Abschluss auf der hellen Formular-Kachel */
.lc .lc-rsvp-step[data-step="2"] .lc-rsvp-card,
.lc .lc-rsvp-step[data-step="2"] .lc-rsvp-card-body,
.lc .lc-rsvp-step[data-step="2"] .lc-rsvp-card-body label,
.lc .lc-rsvp-step[data-step="2"] .lc-rsvp-card-body label span,
.lc .lc-rsvp-step[data-step="2"] .lc-rsvp-card-body fieldset,
.lc .lc-rsvp-step[data-step="2"] .lc-rsvp-card-body legend { color:#352c2c!important; }
.lc .lc-rsvp-step[data-step="2"] .lc-rsvp-card h3 { color:#951e2c!important; }
.lc .lc-rsvp-step[data-step="2"] .lc-rsvp-card .lc-rsvp-note { color:#665951!important; }
.lc .lc-rsvp-step[data-step="2"] .lc-rsvp-options label { background:#fffaf6!important;color:#352c2c!important; }

/* Scroll exit fix: allow wheel/touch scroll to chain from cards to the page.
   The sticky horizontal sequence remains controlled by document scroll. */
.lc .lc-rsvp-card,
.lc .lc-rsvp-card-body,
.lc .lc-rsvp-track > .lc-rsvp-step,
.lc .lc-rsvp-form-shell { overscroll-behavior-y:auto!important; }
.lc .lc-rsvp-runway { height:260svh!important; }
@media(max-width:600px){ .lc .lc-rsvp-runway { height:260svh!important; } }

/* Landscape restoration: retain edge-to-edge 3:2 art, give parallax its own
   unhurried scroll distance, and reveal lower scenery on wide displays. */
.lc .lc-scroll{height:calc(max(100svh, 66.666667vw) + 90svh)!important}
.lc .lc-scroll .lc-sticky{height:100svh!important;overflow:hidden!important}
.lc .lc-scroll .lc-art{top:var(--lc-landscape-pan, 0px)!important;left:0!important;width:100vw!important;aspect-ratio:3/2!important;height:auto!important;transform:none!important}
@media(max-width:700px){.lc .lc-scroll{height:calc(max(100svh, 66.666667vw) + 100svh)!important}}

/* Selected language is muted gray instead of red. */
.lc .lc-language .lc-lang.is-active{background:#e5e5e5!important;border-color:#c9c9c9!important;color:#666!important;box-shadow:none!important;transform:none!important;cursor:default}
.lc .lc-language .lc-lang.is-active:hover,.lc .lc-language .lc-lang.is-active:focus-visible{background:#e5e5e5!important;transform:none!important;box-shadow:none!important}

/* Interactive Chinese invitation, brushed to reveal the chosen translation. */
.lc-invite-scratch{position:relative;max-width:800px;margin:26px auto 0;border:2px solid #f1d18b;border-radius:18px;overflow:hidden;background:#951e2c;box-shadow:0 18px 45px rgba(56,9,19,.25);padding:32px 30px 58px;isolation:isolate}
.lc-invite-scratch .lc-invite-translation{min-height:190px;display:flex;flex-direction:column;justify-content:center;gap:12px}
.lc-invite-scratch .lc-invite-translation h2{margin:0!important}
.lc-invite-scratch .lc-invite-text{margin:0 auto!important}
.lc-invite-canvas{position:absolute;inset:0;width:100%;height:100%;z-index:3;cursor:url("img/brush-cursor.png") 8 53, crosshair;touch-action:none}
.lc-scratch-hint{position:absolute;bottom:12px;left:12px;right:12px;color:#f1d18b;font-size:12px;letter-spacing:.05em;z-index:4;pointer-events:none;text-align:center}
.lc-scratch-reveal{position:absolute;right:10px;top:10px;z-index:5;background:#fff8ef;border:1px solid #dfbd83;border-radius:30px;padding:6px 12px;color:#951e2c;font-size:11px!important;cursor:pointer}
.lc-invite-scratch.is-revealed .lc-invite-canvas{display:none}
.lc-invite-scratch.is-revealed .lc-scratch-hint{display:none}
@media(max-width:600px){.lc-invite-scratch{padding:28px 15px 55px}.lc-invite-scratch .lc-invite-translation{min-height:215px}}
