@charset "UTF-8";
html.intro-pending { overflow: hidden; }
.site-opening {
  position: fixed; inset: 0; z-index: 10000;
  display: grid; place-items: center;
  color: #f2d479; isolation: isolate;
}
.site-opening__curtain {
  position: absolute; top: 0; bottom: 0; width: 50.1%; z-index: -1;
  background: radial-gradient(ellipse at 100% 50%, #613047, #2c1522 65%, #1b0f17);
  transition: transform 1.1s cubic-bezier(.76, 0, .24, 1);
}
.site-opening__curtain--left { left: 0; border-right: 1px solid #f2d47950; }
.site-opening__curtain--right { right: 0; transform-origin: left; background: radial-gradient(ellipse at 0% 50%, #613047, #2c1522 65%, #1b0f17); }
.site-opening__center { text-align: center; width: min(82vw, 420px); transition: opacity .4s, transform .55s; }
.site-opening__eyebrow { font: 12px/1.8 var(--font-en); letter-spacing: .23em; animation: opening-rise .8s both; }
.site-opening__logo { position: relative; margin: 14px auto 0; width: min(76vw, 360px); animation: opening-logo 1.2s cubic-bezier(.2,.7,.3,1) both; }
.site-opening__logo img { width: 100%; height: auto; filter: drop-shadow(0 0 23px #f2d47930); }
.site-opening__message { color: #eed9e5; font-family: var(--font-serif); font-size: 15px; letter-spacing: .1em; animation: opening-rise .8s .2s both; }
.site-opening__line { width: 110px; height: 1px; background: #f2d47925; margin: 28px auto 16px; overflow: hidden; }
.site-opening__line span { display: block; width: 45%; height: 100%; background: #f2d479; animation: opening-loading 1.05s ease-in-out 4; }
.site-opening__status { min-height: 24px; font-size: 12px; letter-spacing: .16em; color: #cdb0c0; }
.site-opening__skip { position: absolute; bottom: max(32px, env(safe-area-inset-bottom)); right: max(7%, 24px); background: transparent; border: 0; border-bottom: 1px solid #f2d47960; color: #f2d479; font: 14px/1.6 var(--font-sans); padding: 12px 0; cursor: pointer; transition: opacity .3s; }
.site-opening__skip span { margin-left: 30px; }
.site-opening__skip:focus-visible { outline: 2px solid #f2d479; outline-offset: 8px; }
.site-opening.is-opening .site-opening__center { opacity: 0; transform: translateY(-15px) scale(1.04); }
.site-opening.is-opening .site-opening__skip { opacity: 0; pointer-events: none; }
.site-opening.is-opening .site-opening__curtain--left { transform: translateX(-101%); }
.site-opening.is-opening .site-opening__curtain--right { transform: translateX(101%); }
.fv-motion .hero__content, .fv-motion .hero--refined .hero__title { animation: none; }
.fv-motion .hero--refined :is(.hero__lead,.hero__title,.hero__brand-note,.hero__eyebrow,.hero__catch,.hero__description,.hero__badges,.hero__welcome,.hero__cta,.hero__scroll) { opacity: 0; }
.fv-motion .hero--refined .fv-enter { animation: fv-reveal 1s cubic-bezier(.16,1,.3,1) var(--enter-delay,0s) both; }
.fv-motion .hero--refined .hero__title.fv-enter { animation-name: fv-logo-reveal; animation-duration: 1.5s; --enter-delay: .12s; }
.fv-motion .hero__lead { --enter-delay: .08s; }
.fv-motion .hero__brand-note { --enter-delay: .55s; }
.fv-motion .hero__eyebrow { --enter-delay: .28s; }
.fv-motion .hero__catch { --enter-delay: .4s; }
.fv-motion .hero__description { --enter-delay: .6s; }
.fv-motion .hero__badges { --enter-delay: .72s; }
.fv-motion .hero__welcome { --enter-delay: .82s; }
.fv-motion .hero__cta { --enter-delay: .92s; }
.fv-motion .hero--refined .hero__scroll.fv-enter { animation: fv-scroll-reveal 1s 1.2s both; }
.hero--refined .hero__title::before {
  content: ""; position: absolute; inset: 0; z-index: 2; pointer-events: none;
  background: linear-gradient(115deg, transparent 30%, #fff3 48%, transparent 66%);
  opacity: 0; clip-path: inset(0 100% 0 0);
}
.fv-motion .hero--refined .hero__title.fv-enter::before { animation: fv-sheen 1.7s 1.25s both; }
.fv-motion .hero--refined .hero__sparkle { animation: fv-atmosphere 4s ease-in-out 3 alternate; }
@media (hover: hover) and (pointer: fine) {
  .fv-motion .hero--refined .hero__logo {
    transform: perspective(1100px) rotateY(var(--logo-x,0deg)) rotateX(var(--logo-y,0deg));
    transition: transform .4s ease-out, filter .5s;
  }
}
@keyframes opening-loading { from { transform: translateX(-110%); } to { transform: translateX(330%); } }
@keyframes opening-rise { from { opacity: 0; transform: translateY(12px); } to { opacity: 1; transform: none; } }
@keyframes opening-logo { from { opacity: 0; transform: scale(.9); filter: blur(7px); } to { opacity: 1; transform: none; filter: blur(0); } }
@keyframes fv-reveal { from { opacity: 0; transform: translateY(22px); filter: blur(3px); } to { opacity: 1; transform: none; filter: blur(0); } }
@keyframes fv-logo-reveal { from { opacity: 0; transform: translateY(26px) scale(.94); filter: blur(5px); } to { opacity: 1; transform: none; filter: blur(0); } }
@keyframes fv-scroll-reveal { from { opacity: 0; } to { opacity: 1; } }
@keyframes fv-sheen { 0% { opacity: 0; clip-path: inset(0 100% 0 0); } 30% { opacity: 1; } 65% { opacity: .5; } 100% { opacity: 0; clip-path: inset(0 0 0 100%); } }
@keyframes fv-atmosphere { from { opacity: .15; } to { opacity: .48; } }
@media (prefers-reduced-motion: reduce) {
  html.intro-pending { overflow: auto; }
  .site-opening { display: none; }
  .fv-motion .hero--refined :is(.hero__lead,.hero__title,.hero__brand-note,.hero__eyebrow,.hero__catch,.hero__description,.hero__badges,.hero__welcome,.hero__cta,.hero__scroll) { opacity: 1; animation: none; filter: none; }
  .fv-motion .hero--refined .hero__logo { transform: none; transition: none; }
  .hero--refined .hero__title::before,.fv-motion .hero--refined .hero__sparkle { animation: none; }
}
