.hero{pointer-events:auto;width:100%;height:100svh;min-height:560px;position:relative}.hero-stage{--exit-p:0;--exit-image-p:0;--hero-active:1;z-index:-1;background:var(--color-dark-cocoa-10,#ebe7e0);height:100vh;opacity:var(--hero-active,1);pointer-events:auto;position:fixed;top:0;left:0;right:0;overflow:hidden}.hero-stage--retired{opacity:0;visibility:hidden}.hero-media-wrap{transform:translate3d(0, calc(var(--exit-image-p) * -10vh), 0);filter:blur(calc(var(--exit-image-p) * 10px));will-change:transform, filter;pointer-events:none;animation:3.2s cubic-bezier(.22,.61,.36,1) both hero-wrap-in;position:absolute;inset:0}.hero-media-wrap:before{content:"";z-index:0;background-image:var(--hero-poster);will-change:opacity, filter, transform;background-position:50%;background-repeat:no-repeat;background-size:cover;height:128%;animation:3s cubic-bezier(.22,.61,.36,1) both hero-image-in;position:absolute;top:-14%;left:0;right:0}.hero-media-wrap--video:before{display:none}.hero-media{z-index:1;object-fit:cover;object-position:center;will-change:filter, transform;background-position:50%;background-repeat:no-repeat;background-size:cover;width:100%;height:128%;animation:3s cubic-bezier(.22,.61,.36,1) both hero-image-in;display:block;position:absolute;top:-14%;left:0;right:0}.hero-scrim{pointer-events:none;background:radial-gradient(#00000047 0%,#00000014 45%,#0000 70%);position:absolute;inset:0}.hero-overlay{color:#fff;text-align:center;filter:blur(calc(var(--exit-p) * 9px));transform:translate3d(0, calc(var(--exit-p) * -10vh), 0);will-change:filter, transform;pointer-events:auto;flex-direction:column;justify-content:center;align-items:center;gap:clamp(16px,2.4vh,26px);padding:0 24px;display:flex;position:absolute;inset:0}.hero-title{letter-spacing:0;text-transform:lowercase;will-change:opacity, filter;margin:0;font-family:Ogg,Noto Serif JP,serif;font-size:clamp(3rem,7vw,6rem);font-weight:400;line-height:1;animation:2.6s cubic-bezier(.22,.61,.36,1) .22s both hero-title-in}.hero-title--logo{line-height:0}.hero-logo{filter:brightness(0)invert();width:clamp(90px,11vw,160px);height:auto}.hero-subtitle{letter-spacing:0;text-transform:none;will-change:opacity, filter;max-width:640px;margin:0;font-size:1rem;font-weight:400;line-height:1.7;animation:2s cubic-bezier(.22,.61,.36,1) 1.05s both hero-subtitle-in}.hero-description{letter-spacing:0;color:#ffffffd1;will-change:opacity, filter;max-width:560px;margin:0;font-size:.88rem;font-weight:400;line-height:1.75;animation:2s cubic-bezier(.22,.61,.36,1) 1.22s both hero-description-in}.hero-down{color:#fff;cursor:pointer;box-sizing:border-box;pointer-events:auto;background:0 0;border:1px solid #ffffffb3;border-radius:50%;place-items:center;width:44px;height:44px;line-height:1;text-decoration:none;transition:transform .82s cubic-bezier(.22,.61,.36,1),background .82s cubic-bezier(.22,.61,.36,1);animation:2.4s cubic-bezier(.22,.61,.36,1) 1.68s both hero-down-in;display:grid}.hero-down-caret{border-bottom:1px solid;border-right:1px solid;width:6px;height:6px;position:absolute;top:50%;left:50%;transform:translate(-50%,-58%)rotate(45deg)}.hero-stage .hero-down{display:none}.hero-down--surface{z-index:2;opacity:var(--hero-surface-opacity,0);pointer-events:none;margin:0;transition:opacity .82s cubic-bezier(.22,.61,.36,1),transform .82s cubic-bezier(.22,.61,.36,1),background .82s cubic-bezier(.22,.61,.36,1);animation:none;position:fixed;top:calc(50svh + clamp(96px,22vh,170px));left:50%;transform:translate(-50%)}.hero-down:hover,.hero-down:focus-visible{background:#ffffff1f;transform:translateY(4px)}.hero-down--surface:hover,.hero-down--surface:focus-visible{transform:translate(-50%,4px)}@keyframes hero-image-in{0%{filter:blur(8px)}to{filter:blur()}}@keyframes hero-wrap-in{0%{transform:translate3d(0, calc(var(--exit-image-p) * -10vh), 0) scale(1.08)}to{transform:translate3d(0, calc(var(--exit-image-p) * -10vh), 0) scale(1)}}@keyframes hero-title-in{0%{opacity:0;filter:blur(8px)}to{opacity:1;filter:blur()}}@keyframes hero-subtitle-in{0%{opacity:0;filter:blur(5px)}to{opacity:.95;filter:blur()}}@keyframes hero-description-in{0%{opacity:0;filter:blur(5px)}to{opacity:.9;filter:blur()}}@keyframes hero-down-in{0%{opacity:0}to{opacity:.92}}@media (max-width:880px){.hero-stage{height:100svh}.hero-scrim{background:linear-gradient(#0000001a,#0000001a),radial-gradient(#00000047 0%,#00000014 45%,#0000 70%)}.hero-down--surface{top:auto;bottom:calc(24px + env(safe-area-inset-bottom,0px))}}
