.intro-active{overflow:hidden}
.skip-opening-intro .opening-intro{display:none!important}
.opening-intro{--intro-paper:#f7f2e8;--intro-ink:#17242d;--intro-coral:#ff765e;--intro-mint:#d4eee7;--intro-blue:#9ebce8;--intro-yellow:#e6c75d;--intro-ease:cubic-bezier(.22,1,.36,1);position:fixed;inset:0;z-index:3000;background:var(--intro-paper);color:var(--intro-ink);overflow:hidden;isolation:isolate;transition:visibility 0s .76s}
.opening-intro[hidden],.opening-intro.is-finished{visibility:hidden;pointer-events:none}
.opening-intro.is-running{visibility:visible;transition-delay:0s}
.opening-intro:before{content:"";position:absolute;inset:0;background:var(--intro-mint);transform:translateX(-101%);transition:transform .75s var(--intro-ease);z-index:-2}
.opening-intro[data-stage="2"]:before{transform:translateX(0)}
.opening-intro[data-stage="3"]:before,.opening-intro[data-stage="4"]:before,.opening-intro[data-stage="5"]:before{transform:translateX(101%)}
.opening-top{position:absolute;z-index:20;top:max(22px,env(safe-area-inset-top));left:max(22px,calc((100% - 1120px)/2));right:max(22px,calc((100% - 1120px)/2));display:flex;align-items:center;justify-content:space-between}
.opening-index{font-size:10px;font-weight:900;letter-spacing:.16em}
.opening-skip{min-width:64px;min-height:44px;border:0;background:transparent;color:currentColor;font-size:11px;font-weight:900;letter-spacing:.1em;cursor:pointer;padding:0}
.opening-skip:after{content:" →"}
.opening-progress{position:absolute;top:0;left:0;height:3px;width:0;background:var(--intro-coral);z-index:30}
.opening-intro.is-running .opening-progress{animation:opening-progress 4.55s linear forwards}
@keyframes opening-progress{to{width:100%}}
.opening-scene{position:absolute;inset:0;padding:clamp(90px,13vh,150px) max(22px,calc((100% - 1120px)/2));display:flex;align-items:center;visibility:hidden}
.opening-scene-inner{width:100%;overflow:hidden}
.opening-scene small{display:block;margin-bottom:24px;font-size:10px;font-weight:900;letter-spacing:.18em;color:var(--intro-coral);opacity:0;transform:translateY(10px)}
.opening-scene h2{max-width:980px;margin:0;font-size:clamp(44px,7vw,92px);line-height:1.06;letter-spacing:-.075em;font-weight:800;opacity:0;transform:translateY(110%)}
.opening-scene h2 strong{font-weight:950}
.opening-intro[data-stage="1"] .opening-one,.opening-intro[data-stage="2"] .opening-two,.opening-intro[data-stage="3"] .opening-three{visibility:visible}
.opening-intro[data-stage="1"] .opening-one small,.opening-intro[data-stage="2"] .opening-two small,.opening-intro[data-stage="3"] .opening-three small{opacity:1;transform:none;transition:.4s .08s var(--intro-ease)}
.opening-intro[data-stage="1"] .opening-one h2,.opening-intro[data-stage="2"] .opening-two h2,.opening-intro[data-stage="3"] .opening-three h2{opacity:1;transform:none;transition:transform .72s var(--intro-ease),opacity .35s}
.opening-two{justify-content:center}.opening-two .opening-scene-inner{max-width:1120px}.opening-two h2{text-align:right;margin-left:auto}.opening-three h2{font-size:clamp(40px,6vw,80px)}
.opening-accent-line{display:block;margin-top:24px;width:0;height:6px;background:var(--intro-coral)}
.opening-intro[data-stage="3"] .opening-accent-line{width:min(620px,78vw);transition:width .75s .25s var(--intro-ease)}
.opening-final{position:absolute;inset:0;padding:clamp(78px,10vh,118px) max(22px,calc((100% - 1120px)/2)) 34px;display:grid;grid-template-rows:auto 1fr auto;opacity:0;transform:scale(.985);pointer-events:none}
.opening-intro[data-stage="4"] .opening-final,.opening-intro[data-stage="5"] .opening-final{opacity:1;transform:none;transition:opacity .35s,transform .65s var(--intro-ease)}
.opening-board-top{display:flex;justify-content:space-between;border-bottom:1px solid rgba(23,36,45,.22);padding-bottom:13px;font-size:10px;font-weight:900;letter-spacing:.14em}
.opening-brand{display:flex;align-items:center;gap:10px}.opening-brand img{width:36px;height:36px;border-radius:50%;object-fit:cover}
.opening-board-copy{display:flex;flex-direction:column;justify-content:center}
.opening-board-copy p{margin:0 0 20px;font-size:clamp(23px,3.5vw,48px);font-weight:760;letter-spacing:-.055em}
.opening-board-copy h2{margin:0;max-width:900px;font-size:clamp(38px,6vw,79px);line-height:1.08;letter-spacing:-.075em}
.opening-board-copy h2 strong{font-weight:950}
.opening-guide{display:block;height:6px;width:min(620px,72vw);background:var(--intro-coral);margin-top:25px;transform-origin:left}
.opening-categories{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid rgba(23,36,45,.22);border-bottom:1px solid rgba(23,36,45,.22)}
.opening-categories span{padding:16px 12px;text-align:center;font-size:15px;font-weight:900;border-right:1px solid rgba(23,36,45,.18)}
.opening-categories span:last-child{border:0}.opening-categories span:nth-child(1){background:rgba(158,188,232,.35)}.opening-categories span:nth-child(2){background:rgba(212,238,231,.68)}.opening-categories span:nth-child(3){background:rgba(230,199,93,.3)}
.opening-portal{position:absolute;left:50%;top:50%;width:96px;height:84px;background:var(--intro-paper);clip-path:polygon(50% 0,100% 100%,0 100%);transform:translate(-50%,-45%) scale(.01);z-index:15;box-shadow:0 0 0 1px var(--intro-ink);pointer-events:none}
.opening-intro[data-stage="5"] .opening-portal{transform:translate(-50%,-45%) scale(28);transition:transform .78s var(--intro-ease)}
.opening-intro[data-stage="5"] .opening-final{transform:translate3d(0,-2%,0) scale(.72);opacity:.18;filter:blur(2px);transition:transform .72s var(--intro-ease),opacity .58s,filter .58s}
.opening-intro[data-stage="5"] .opening-guide{transform:scaleX(1.5);transition:transform .38s var(--intro-ease)}
.intro-arrived .hero-featured{animation:opening-arrive .72s var(--intro-ease, cubic-bezier(.22,1,.36,1)) both}
@keyframes opening-arrive{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:650px){.opening-scene{padding:92px 20px 70px}.opening-scene small{margin-bottom:20px}.opening-scene h2{font-size:44px;line-height:1.1}.opening-two h2{font-size:42px}.opening-three h2{font-size:39px;line-height:1.16}.opening-accent-line{height:5px}.opening-final{padding:80px 20px 26px}.opening-brand{gap:7px}.opening-brand img{width:30px;height:30px}.opening-board-copy p{font-size:23px;line-height:1.25;margin-bottom:15px}.opening-board-copy h2{font-size:39px;line-height:1.12}.opening-guide{height:5px;margin-top:19px;width:78vw}.opening-categories span{padding:14px 5px;font-size:14px}}
@media(prefers-reduced-motion:reduce){.opening-intro *{animation-duration:.01ms!important;transition-duration:.01ms!important}}
