.studio-intro-active{overflow:hidden}.studio-intro-active .landing{visibility:hidden}.studio-intro{position:fixed;inset:0;z-index:200;background:#080808;isolation:isolate;overflow:hidden;display:grid;place-items:center;animation:intro-curtain .65s 4.45s cubic-bezier(.65,0,.3,1) both}.intro-grain{position:absolute;inset:0;opacity:.035;pointer-events:none;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' opacity='.8' filter='url(%23n)'/%3E%3C/svg%3E")}.ribbon-stage{position:absolute;inset:0;display:grid;place-items:center;perspective:1100px;perspective-origin:50% 45%;animation:sculpture-out .65s 2.85s ease-in both}.ribbon{position:relative;width:0;height:0;transform-style:preserve-3d;transform:rotateX(-17deg) rotateY(-28deg) rotateZ(-17deg);animation:ribbon-turn 3.4s cubic-bezier(.33,0,.2,1) both}.ribbon-sheet{position:absolute;width:130px;height:190px;left:-65px;top:-95px;border-radius:13px;border:1px solid #ffffff85;background:linear-gradient(135deg,#fff 0%,#e9e9e7 28%,#9b9c9b 76%,#ececea 100%);box-shadow:0 14px 24px #0005,inset 0 1px 0 #fff;backface-visibility:hidden;transform-style:preserve-3d;animation:sheet-dance 3.45s cubic-bezier(.3,.05,.2,1) both;animation-delay:calc(var(--i)*12ms);will-change:transform,opacity}.intro-brand{position:relative;display:flex;align-items:baseline;gap:20px;letter-spacing:-7px;font-size:clamp(65px,12vw,150px);font-weight:500;line-height:1;color:#f4f4f0;animation:brand-arrive 1s 2.95s cubic-bezier(.2,.75,.15,1) both}.intro-brand span:last-child{font-weight:300;color:#8b8b88;letter-spacing:-5px}.intro-skip{position:absolute;right:32px;top:28px;background:transparent;color:#888;border:1px solid #333;border-radius:30px;padding:8px 17px;font:11px inherit;cursor:pointer;z-index:3}.intro-skip:hover{color:#fff;border-color:#666}.intro-skip:focus-visible{outline:2px solid #ddd;outline-offset:4px}.replay-intro{border:0;background:none;padding:0;color:#888;font:inherit;cursor:pointer}.replay-intro:hover{color:white}.studio-revealed .collection-main{animation:collection-arrive .8s cubic-bezier(.2,.7,.2,1) both}/* Fixed parallel depth planes keep staggered sheets from intersecting. */
@keyframes sheet-dance{
0%{opacity:0;transform:translate3d(calc(var(--n)*19px),780px,calc(var(--n)*7.5px)) rotateZ(-70deg)}
18%{opacity:1;transform:translate3d(calc(var(--n)*16px),calc(var(--n)*-7px),calc(var(--n)*7.5px)) rotateZ(calc(var(--n)*-2deg))}
44%{opacity:1;transform:translate3d(calc(var(--n)*13px),calc(var(--n)*var(--n)*.8px - 95px),calc(var(--n)*7.5px)) rotateZ(calc(var(--n)*3deg))}
70%{opacity:1;transform:translate3d(calc(var(--n)*3px),calc(var(--n)*3px),calc(var(--n)*7.5px)) rotateZ(calc(var(--n)*-1deg))}
100%{opacity:0;transform:translate3d(calc(var(--n)*29px),calc(var(--n)*-28px),calc(var(--n)*7.5px)) rotateZ(calc(var(--n)*9deg))}
}@keyframes ribbon-turn{from{transform:rotateX(-17deg) rotateY(-28deg) rotateZ(-17deg)}55%{transform:rotateX(20deg) rotateY(32deg) rotateZ(11deg)}to{transform:rotateX(-10deg) rotateY(-15deg) rotateZ(-8deg)}}@keyframes sculpture-out{to{opacity:0;filter:blur(12px);transform:scale(1.15)}}@keyframes brand-arrive{from{opacity:0;filter:blur(14px);transform:translateY(25px);letter-spacing:-10px}to{opacity:1;filter:blur(0);transform:translateY(0)}}@keyframes intro-curtain{to{opacity:0;transform:translateY(-30px)}}@keyframes collection-arrive{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}.intro-reduced{animation:none}.intro-reduced .ribbon-stage{display:none}.intro-reduced .intro-brand{animation:none}@media(max-width:600px){.ribbon-stage{perspective:900px;scale:var(--ribbon-scale,.4)}.intro-brand{gap:13px;letter-spacing:-4px}.intro-brand span:last-child{letter-spacing:-3px}.intro-skip{right:22px;top:22px}}@media(prefers-reduced-motion:reduce){.studio-intro,.studio-intro *,.studio-revealed .collection-main{animation:none!important}.ribbon-stage{display:none}}

.studio-intro-pending .landing{visibility:hidden}

.ribbon-stage{scale:var(--ribbon-scale,1)}

@media(max-width:600px){.intro-brand{font-size:clamp(42px,16vw,65px);max-width:calc(100vw - 32px);gap:12px}}
