/* Cinematic opening overlay — independent from all storefront components. */
html.intro-active,html.intro-active body{overflow:hidden;overscroll-behavior:none}
html.intro-active body>*:not(.lowiz-intro){opacity:0;transform:scale(1.012);transition:opacity .62s ease,transform .75s cubic-bezier(.2,.75,.25,1)}
html.intro-exiting body>*:not(.lowiz-intro){opacity:1;transform:none}
.lowiz-intro{position:fixed;z-index:2100;inset:0;display:grid;place-items:center;overflow:hidden;isolation:isolate;color:#fafaff;background:#05060c;opacity:1;transition:opacity .56s ease,filter .56s ease,transform .56s cubic-bezier(.2,.7,.2,1);will-change:opacity,filter,transform}
.lowiz-intro::before{content:"";position:absolute;inset:-20%;z-index:-3;background:radial-gradient(ellipse at 19% 32%,rgba(98,73,224,.3),transparent 25%),radial-gradient(ellipse at 76% 62%,rgba(36,103,236,.27),transparent 28%),radial-gradient(ellipse at 52% 94%,rgba(30,198,230,.09),transparent 25%);filter:blur(22px);animation:introAmbient 7s ease-in-out infinite alternate;will-change:transform}
.intro-grid{position:absolute;inset:0;z-index:-2;opacity:.26;background-image:linear-gradient(rgba(185,194,255,.055) 1px,transparent 1px),linear-gradient(90deg,rgba(185,194,255,.055) 1px,transparent 1px);background-size:clamp(42px,5vw,68px) clamp(42px,5vw,68px);mask-image:radial-gradient(ellipse at center,black 5%,transparent 72%)}
.intro-grid::after{content:"";position:absolute;inset:0;background:linear-gradient(115deg,transparent 0 45%,rgba(160,143,255,.1) 50%,transparent 55%);transform:translateX(-130%);animation:introSweep 3.2s .4s ease-in-out infinite}
.intro-vignette{position:absolute;inset:0;z-index:-1;background:radial-gradient(ellipse at center,transparent 25%,rgba(0,0,0,.22) 62%,rgba(0,0,0,.7) 100%)}
.intro-light{position:absolute;z-index:-1;width:46vmax;height:46vmax;border-radius:50%;filter:blur(46px);opacity:0;mix-blend-mode:screen;will-change:transform,opacity}.intro-light-one{top:-28vmax;left:-20vmax;background:rgba(116,75,255,.48);animation:introLightOne 4.5s .12s ease-in-out infinite alternate}.intro-light-two{right:-25vmax;bottom:-27vmax;background:rgba(41,108,255,.42);animation:introLightTwo 5.4s .24s ease-in-out infinite alternate}.intro-light-three{top:28%;left:38%;width:22vmax;height:22vmax;background:rgba(55,222,255,.18);animation:introLightThree 4.3s .1s ease-in-out infinite alternate}
.lowiz-intro-inner{position:relative;width:min(1120px,calc(100% - 36px));padding:30px 12px;text-align:center;perspective:900px;transform:translateY(-10vh)}.intro-kicker{display:flex;align-items:center;justify-content:center;gap:15px;margin:0 0 27px;color:#e4e0fb;font-size:10px;font-weight:750;letter-spacing:.42em;opacity:0;transform:translateY(8px);transition:opacity .5s .75s ease,transform .5s .75s ease}.intro-kicker::before,.intro-kicker::after{content:"";width:clamp(34px,7vw,90px);height:1px;background:linear-gradient(90deg,transparent,rgba(213,207,255,.45));box-shadow:0 0 7px rgba(133,109,255,.22)}.intro-kicker::after{background:linear-gradient(90deg,rgba(157,192,255,.45),transparent)}.intro-logo{position:relative;z-index:0;display:grid;gap:.22em;font-size:clamp(90px,10vw,175px);font-weight:900;line-height:.74;letter-spacing:-.07em;text-shadow:0 18px 40px rgba(0,0,0,.52),0 3px 1px rgba(255,255,255,.08);transform-style:preserve-3d;will-change:transform,opacity;transition:transform .72s cubic-bezier(.16,.82,.2,1),opacity .34s ease}.intro-logo::before{content:"";position:absolute;z-index:-1;top:20%;left:50%;width:min(54vw,640px);height:min(22vw,230px);border-radius:50%;background:radial-gradient(ellipse,rgba(165,160,255,.17),rgba(79,159,255,.07) 40%,transparent 72%);filter:blur(13px);opacity:0;transform:translate(-50%,-10%) scale(.72);animation:introLogoPulse 1.2s 1.2s cubic-bezier(.2,.75,.2,1) forwards}.intro-logo::after{content:"";position:absolute;z-index:-1;top:38%;left:17%;width:66%;height:1px;background:linear-gradient(90deg,transparent,rgba(220,235,255,.32),rgba(174,143,255,.23),transparent);opacity:0;filter:blur(.3px);animation:introLensFlare .8s 1.58s ease-out forwards}.intro-word{display:block;white-space:nowrap}.intro-store{font-size:.275em;line-height:1;letter-spacing:.37em}.intro-logo span span{display:inline-block;opacity:0;filter:blur(14px);transform:translate3d(0,30px,-110px) scale(.94) rotateX(22deg);will-change:transform,opacity,filter}.intro-lowiz span{background:linear-gradient(125deg,#f8f9ff 4%,#d5d9e8 28%,#a8c0e6 48%,#eeeaff 70%,#b5c7ee 100%);-webkit-background-clip:text;background-clip:text;color:transparent;text-shadow:0 1px 0 rgba(255,255,255,.22),0 12px 26px rgba(70,101,180,.13)}.intro-logo .is-accent{background:linear-gradient(100deg,#b4a0ec 5%,#ececff 42%,#9bbdf2 78%,#c5b1f1);-webkit-background-clip:text;background-clip:text;color:transparent;text-shadow:0 0 18px rgba(117,100,232,.17)}.intro-shine{position:absolute;top:36%;left:4%;width:92%;height:30%;background:linear-gradient(100deg,transparent 0%,transparent 37%,rgba(232,241,255,.05) 43%,rgba(246,250,255,.62) 50%,rgba(154,191,255,.27) 54%,rgba(177,151,255,.16) 58%,transparent 65%,transparent 100%);filter:blur(5px);opacity:0;transform:translateX(-75%) skewX(-20deg);pointer-events:none}.intro-footer{display:grid;justify-items:center;gap:11px;margin-top:31px;color:rgba(221,218,239,.58);font-size:8px;font-weight:750;letter-spacing:.28em;opacity:0;transform:translateY(7px);transition:opacity .5s 1.95s ease,transform .5s 1.95s ease}.intro-footer i{width:7px;height:7px;border-right:1px solid rgba(207,203,244,.62);border-bottom:1px solid rgba(207,203,244,.62);transform:rotate(45deg);animation:introChevron 1.8s 2.3s ease-in-out infinite}
.is-ready .intro-kicker{opacity:1;transform:none}.is-ready .intro-logo span span{animation:introLetters .78s cubic-bezier(.16,.82,.23,1) forwards;animation-delay:calc(360ms + var(--i)*82ms)}.is-ready .intro-shine{animation:introShine .9s 2.02s ease-out forwards}.is-ready .intro-footer{opacity:1;transform:none}.intro-particles i{position:absolute;left:var(--x);top:var(--y);width:2px;height:2px;border-radius:50%;background:#c9c4ff;box-shadow:0 0 10px 2px rgba(141,122,255,.3);opacity:0;animation:introParticle 3.3s calc(var(--i)*90ms) ease-in-out infinite}.intro-particles i:nth-child(3n){width:3px;height:3px;filter:blur(.5px)}.intro-particles i:nth-child(4n){background:#b7e9ff}.is-transforming .intro-kicker,.is-transforming .intro-footer{opacity:0;transform:translateY(-8px);transition-delay:0s}.is-transforming .intro-logo{transform:translate3d(var(--logo-x,0),var(--logo-y,-36vh),0) scale(var(--logo-scale,.2));opacity:.74}.is-transforming::before{animation-play-state:paused;opacity:.42;transition:opacity .6s ease}.lowiz-intro.is-leaving{opacity:0;filter:blur(5px);transform:scale(1.012)}.lowiz-intro.is-leaving .lowiz-intro-inner{opacity:0;transition:opacity .3s ease}
@keyframes introLetters{70%{filter:blur(0);opacity:1;transform:translate3d(0,0,12px) scale(1.012) rotateX(0)}100%{filter:blur(0);opacity:1;transform:translate3d(0,0,0) scale(1) rotateX(0)}}@keyframes introShine{25%{opacity:.8}100%{opacity:0;transform:translateX(85%) skewX(-20deg)}}@keyframes introAmbient{to{transform:translate3d(4%,-3%,0) scale(1.08)}}@keyframes introSweep{60%,100%{transform:translateX(130%)}}@keyframes introLightOne{0%{opacity:0;transform:translate3d(-7%,8%,0) scale(.85)}26%{opacity:.88;transform:translate3d(8%,2%,0) scale(1.02)}55%,100%{opacity:.72;transform:translate3d(18%,-4%,0) scale(1.08)}}@keyframes introLightTwo{0%{opacity:0;transform:translate3d(9%,8%,0) scale(.82)}37%{opacity:.28;transform:translate3d(2%,1%,0) scale(.96)}58%{opacity:.92;transform:translate3d(-8%,-6%,0) scale(1.07)}100%{opacity:.78;transform:translate3d(-13%,-10%,0) scale(1.1)}}@keyframes introLightThree{0%{opacity:0;transform:scale(.6)}45%,100%{opacity:.7;transform:scale(1.2)}}@keyframes introParticle{0%,100%{opacity:0;transform:translate3d(0,8px,0)}45%{opacity:.58}70%{opacity:0;transform:translate3d(var(--drift),-17px,0)}}@keyframes introChevron{50%{transform:translateY(4px) rotate(45deg);opacity:.45}}@keyframes introLogoPulse{35%{opacity:1;transform:translate(-50%,-10%) scale(1)}100%{opacity:.26;transform:translate(-50%,-10%) scale(1.12)}}@keyframes introLensFlare{30%{opacity:.75;transform:scaleX(1)}100%{opacity:0;transform:scaleX(1.2)}}
@media(max-width:600px){.lowiz-intro{min-height:100dvh}.lowiz-intro-inner{width:min(100% - 28px,560px);padding:20px 0;transform:translateY(-6vh)}.intro-kicker{gap:9px;margin-bottom:20px;font-size:7px;letter-spacing:.22em}.intro-kicker::before,.intro-kicker::after{width:24px}.intro-logo{font-size:clamp(48px,17vw,84px);line-height:.78}.intro-store{margin-left:.2em;letter-spacing:.24em}.intro-footer{margin-top:24px;font-size:6px;letter-spacing:.16em}.intro-light{filter:blur(28px);opacity:.65}.intro-particles i:nth-child(n+8){display:none}.intro-grid{opacity:.17}}
@media(prefers-reduced-motion:reduce){.lowiz-intro::before,.intro-light,.intro-grid::after,.intro-particles i{animation:none}.is-ready .intro-logo span span{animation:introLetters .15s ease forwards;filter:none}.lowiz-intro{transition-duration:.18s}}

/* The page appears as the logo begins its final movement, avoiding a hard cut. */
html.intro-exiting .site-header{animation:introNavIn .62s .12s cubic-bezier(.16,.82,.2,1) both}
html.intro-exiting .hero-copy{animation:introHeroIn .68s .2s cubic-bezier(.16,.82,.2,1) both}
html.intro-exiting .hero-actions>*{animation:introActionIn .45s cubic-bezier(.16,.82,.2,1) both}
html.intro-exiting .hero-actions>*:first-child{animation-delay:.38s}html.intro-exiting .hero-actions>*:last-child{animation-delay:.5s}
html.intro-exiting .product-card{animation:introCardIn .48s .48s cubic-bezier(.16,.82,.2,1) both}html.intro-exiting .product-card:nth-child(2){animation-delay:.56s}html.intro-exiting .product-card:nth-child(3){animation-delay:.64s}html.intro-exiting .product-card:nth-child(4){animation-delay:.72s}html.intro-exiting .product-card:nth-child(5){animation-delay:.8s}html.intro-exiting .product-card:nth-child(6){animation-delay:.88s}
@keyframes introNavIn{from{opacity:0;transform:translateY(-16px)}to{opacity:1;transform:none}}@keyframes introHeroIn{from{opacity:0;filter:blur(8px);transform:translateY(17px)}to{opacity:1;filter:blur(0);transform:none}}@keyframes introActionIn{from{opacity:0;transform:translateY(9px)}to{opacity:1;transform:none}}@keyframes introCardIn{from{opacity:0;transform:translateY(15px)}to{opacity:1;transform:none}}
