/* Optional homepage-only filmic opening. No changes to the page underneath. */
.livaan-intro{position:fixed;inset:0;width:100%;max-width:none;height:100%;max-height:none;margin:0;padding:0;border:0;overflow:hidden;color:#153e35;background:#f7f5ef;opacity:1;transition:opacity 1s cubic-bezier(.25,.1,.25,1);font-family:Manrope,sans-serif}
.livaan-intro::backdrop{background:transparent}.livaan-intro.is-leaving{opacity:0;pointer-events:none}
.livaan-intro__scene,.livaan-intro__cream{position:absolute;inset:0;pointer-events:none}.livaan-intro__scene picture,.livaan-intro__scene img{display:block;width:100%;height:100%}.livaan-intro__scene img{object-fit:cover;object-position:50% 52%}.livaan-intro__scene{transform-origin:center;animation:livaan-dolly 3s cubic-bezier(.16,.4,.12,1) both}
.livaan-intro__scene::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#f7f5ef40,#f7f5ef08);pointer-events:none}
.livaan-intro__cream{background:#f7f5ef;animation:livaan-room-to-cream 5s ease both}
.livaan-intro__skip{position:absolute;z-index:5;right:max(24px,env(safe-area-inset-right));top:max(24px,env(safe-area-inset-top));min-height:48px;padding:10px 18px;border:1px solid #153e3540;border-radius:999px;color:#153e35;background:#f7f5efeb;font:600 14px/1.4 Manrope,sans-serif;cursor:pointer}
.livaan-intro__skip:focus-visible{outline:3px solid #153e35;outline-offset:4px}
.livaan-intro__words{position:absolute;inset:0;display:grid;place-content:center;padding:30px;text-align:center;pointer-events:none}
.livaan-intro__line{margin:0;font-size:clamp(34px,5.6vw,84px);font-weight:600;line-height:1.12;letter-spacing:-.055em;color:#153e35;text-wrap:balance}
.livaan-intro__first{display:inline-block;animation:livaan-first 5s cubic-bezier(.2,.7,.2,1) both}.livaan-intro__rest{display:block;animation:livaan-rest 5s cubic-bezier(.2,.7,.2,1) both}
.livaan-intro__logo{position:absolute;inset:0;display:grid;place-content:center;pointer-events:none;animation:livaan-logo 5s ease both}.livaan-intro__logo .brand{font-size:clamp(44px,7vw,90px);line-height:1.15;margin:0;white-space:nowrap}.livaan-intro__logo .mark{width:.95em;height:.95em}.livaan-intro__logo .mark svg{width:75%;height:75%}
@keyframes livaan-dolly{from{transform:scale(1.025) translateX(-.25%)}to{transform:scale(1.052) translateX(.15%)}}
@keyframes livaan-room-to-cream{0%,40%{opacity:0}60%,100%{opacity:1}}
@keyframes livaan-first{0%,20%{opacity:0;transform:translateY(12px);clip-path:inset(100% 0 0)}26%,56%{opacity:1;transform:translateY(0);clip-path:inset(0)}62%,100%{opacity:0;transform:translateY(-6px);clip-path:inset(0)}}
@keyframes livaan-rest{0%,40%{opacity:0;transform:translateY(10px)}46%,56%{opacity:1;transform:translateY(0)}62%,100%{opacity:0;transform:translateY(-6px)}}
@keyframes livaan-logo{0%,60%{opacity:0;transform:translateY(5px)}66%,100%{opacity:1;transform:translateY(0)}}
.livaan-intro__filters{position:absolute;pointer-events:none}
.livaan-intro__curtain,.livaan-intro__foreground,.livaan-intro__daylight{position:absolute;inset:0;pointer-events:none}
.livaan-intro__curtain{right:auto;width:27%;overflow:hidden;filter:url(#livaan-cloth);mask-image:linear-gradient(to right,#000 0%,#000 44%,transparent 100%);transform-origin:8% 0;animation:livaan-curtain 4s ease-in-out both}
.livaan-intro__foreground{mask-image:linear-gradient(140deg,transparent 48%,#000 78%);animation:livaan-depth 3s cubic-bezier(.16,.4,.12,1) both}
.livaan-intro__daylight{background:linear-gradient(115deg,#fffae730,transparent 52%);mix-blend-mode:soft-light;animation:livaan-light 4s ease-in-out both}
@keyframes livaan-curtain{0%{transform:skewX(0deg) translateX(0)}45%{transform:skewX(.12deg) translateX(1.4px)}100%{transform:skewX(0deg) translateX(0)}}
@keyframes livaan-depth{from{transform:scale(1.002) translateX(0)}to{transform:scale(1.008) translateX(-1px)}}
@keyframes livaan-light{0%{opacity:.3;transform:translateX(-.3%)}60%{opacity:.65;transform:translateX(.3%)}100%{opacity:.45;transform:translateX(.4%)}}
@media(max-width:600px){.livaan-intro__words{padding:24px}.livaan-intro__line{font-size:clamp(34px,9vw,52px)}.livaan-intro__scene img{object-position:center}.livaan-intro__skip{right:max(16px,env(safe-area-inset-right));top:max(16px,env(safe-area-inset-top))}}
@media(prefers-reduced-motion:reduce){.livaan-intro{display:none!important}.livaan-intro *{animation:none!important}}

@media(max-width:600px){.livaan-intro__curtain{width:34%;mask-image:linear-gradient(to right,#000 0%,#000 50%,transparent 100%)}}

.livaan-intro__curtain picture{width:var(--intro-frame-width,100vw)}
