/* RiZe SOTY vertical fusion.
   A deliberately small visual language: mark, measured grids, orthogonal
   solids, one inversion, then the existing vertical brand site. */

.fusion-loader{
  position:fixed;
  inset:0;
  z-index:120;
  display:grid;
  place-items:center;
  overflow:hidden;
  background:#020202;
  color:#f4f4f1;
  transition:clip-path .88s cubic-bezier(.77,0,.175,1);
  clip-path:inset(0);
}
.fusion-loader:before,.fusion-loader:after{
  content:"";
  position:absolute;
  left:24px;
  right:24px;
  height:1px;
  background:rgba(255,255,255,.16);
}
.fusion-loader:before{top:24px}.fusion-loader:after{bottom:24px}
.fusion-loader__core{
  display:grid;
  justify-items:center;
  width:min(420px,calc(100vw - 64px));
}
.fusion-loader__mark{
  width:56px;
  height:auto;
  margin-bottom:27px;
  filter:brightness(0) invert(1);
}
.fusion-loader__label{
  margin-bottom:17px;
  font:600 9px/1 var(--mono);
  letter-spacing:.2em;
}
.fusion-loader__track{
  width:100%;
  height:1px;
  overflow:hidden;
  background:rgba(255,255,255,.14);
}
.fusion-loader__track i{
  display:block;
  width:100%;
  height:100%;
  background:#fff;
  transform:scaleX(.08);
  transform-origin:left;
  animation:fusion-loader-signal 1.15s cubic-bezier(.23,1,.32,1) infinite alternate;
}
.fusion-loader__meta{
  display:flex;
  justify-content:space-between;
  width:100%;
  margin-top:12px;
  color:#77777d;
  font:500 7px/1 var(--mono);
  letter-spacing:.14em;
}
.fusion-ready .fusion-loader{
  clip-path:inset(0 0 100% 0);
  pointer-events:none;
}
@keyframes fusion-loader-signal{
  to{transform:scaleX(1)}
}

.flight-hero{
  height:438vh;
  --fusion-inversion:0;
}
.flight-sticky{
  background:#020202;
}
#world canvas{
  display:block;
  width:100%;
  height:100%;
}
.fusion-wipe{
  position:absolute;
  inset:0;
  z-index:6;
  display:grid;
  grid-template-columns:repeat(10,1fr);
  overflow:hidden;
  pointer-events:none;
}
.fusion-wipe i{
  display:block;
  min-width:0;
  height:100%;
  background:#ededE8;
  transform:translate3d(0,-110%,0);
  will-change:transform;
}
.fusion-wipe i+ i{border-left:1px solid rgba(0,0,0,.075)}
.fusion-wipe.is-exit i+ i{border-left-color:rgba(255,255,255,.12)}
.flight-noise{
  opacity:calc(.035 + var(--fusion-inversion) * .02);
}
.flight-frame{
  inset:18px;
  border-color:rgba(255,255,255,calc(.12 + var(--fusion-inversion) * .16));
  transition:border-color .16s linear;
}
.flight-frame:before,.flight-frame:after{
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.34),transparent);
}
.flight-frame i{
  position:absolute;
  width:9px;
  height:9px;
  border-color:rgba(255,255,255,.42);
  border-style:solid;
}
.flight-frame i:nth-child(1){top:0;left:0;border-width:1px 0 0 1px}
.flight-frame i:nth-child(2){top:0;right:0;border-width:1px 1px 0 0}
.flight-frame i:nth-child(3){right:0;bottom:0;border-width:0 1px 1px 0}
.flight-frame i:nth-child(4){bottom:0;left:0;border-width:0 0 1px 1px}

.flight-wordmark{
  z-index:3;
  mix-blend-mode:screen;
}
.flight-wordmark h1{
  font-size:min(36vh,16.5vw);
  line-height:.74;
  color:rgba(245,245,241,.17);
  text-shadow:0 0 42px rgba(255,255,255,.13),0 0 130px rgba(255,255,255,.07);
}
.flight-chapters{z-index:8}
.flight-chapter{
  width:min(660px,46vw);
  filter:none;
}
.flight-chapter:after{
  opacity:calc(1 - var(--fusion-inversion));
}
.flight-chapter>span{
  position:relative;
  padding-left:56px;
  color:rgba(255,255,255,.64);
}
.flight-chapter>span:before{
  content:"";
  position:absolute;
  left:0;
  top:50%;
  width:38px;
  height:1px;
  background:currentColor;
}
.flight-chapter h2{
  max-width:12ch;
  font-size:clamp(50px,5vw,76px);
  font-weight:750;
  line-height:.86;
}
.flight-chapter p{max-width:34ch}
.flight-chapter--center{
  left:50%;
  top:auto;
  bottom:11vh;
  width:min(760px,72vw);
  text-align:center;
  transform:translate(-50%,var(--chapter-shift));
}
.flight-chapter--center h2{
  max-width:none;
  margin-inline:auto;
}
.flight-chapter--center p{
  margin-inline:auto;
}
.flight-chapter--center:after{
  inset:-110px -180px;
  background:radial-gradient(ellipse at center,rgba(0,0,0,.95),rgba(0,0,0,.52) 48%,transparent 76%);
}
.flight-hero.is-inverted .flight-chapter{
  filter:none;
}
.flight-hero.is-inverted .flight-chapter:after{opacity:0}
.flight-hero.is-inverted .flight-chapter>span,
.flight-hero.is-inverted .flight-chapter h2,
.flight-hero.is-inverted .flight-chapter p{
  color:#111;
  text-shadow:none;
}
.flight-handoff{display:none}

.fusion-meter{
  position:absolute;
  z-index:24;
  left:34px;
  bottom:31px;
  display:grid;
  grid-template-columns:auto min(18vw,210px) 28px;
  gap:13px;
  align-items:center;
  color:rgba(255,255,255,.52);
  font:500 7px/1 var(--mono);
  letter-spacing:.16em;
  transition:color .16s linear;
}
.fusion-meter__track{
  height:1px;
  overflow:hidden;
  background:rgba(255,255,255,.16);
}
.fusion-meter__track i{
  display:block;
  width:100%;
  height:1px;
  background:#f4f4ef;
  box-shadow:0 0 10px rgba(255,255,255,.55);
  transform:scaleX(0);
  transform-origin:left;
  will-change:transform;
}
.flight-hero.is-inverted .fusion-meter{
  color:rgba(12,12,12,.62);
}
.flight-hero.is-inverted .fusion-meter__track{background:rgba(0,0,0,.18)}
.flight-hero.is-inverted .fusion-meter__track i{
  background:#111;
  box-shadow:none;
}
.flight-skip{
  bottom:29px;
}
.flight-hero.is-inverted .flight-skip{
  border-color:rgba(0,0,0,.26);
  background:rgba(238,238,233,.78);
  color:#111;
}

.page-shell{
  position:relative;
  z-index:9;
}
.page-shell:before{
  box-shadow:-20px 0 70px rgba(255,255,255,.018);
}
.sector-threshold{
  height:184px;
  background-size:10% 100%,100% 25%;
}
.sector-threshold:after{
  box-shadow:0 0 18px rgba(255,255,255,.24);
}

@media(max-width:760px){
  .fusion-loader:before,.fusion-loader:after{left:10px;right:10px}
  .fusion-loader:before{top:10px}.fusion-loader:after{bottom:10px}
  .flight-hero{height:390vh}
  .flight-frame{inset:10px}
  .flight-wordmark h1{font-size:min(26vh,23vw)}
  .flight-chapter,
  .flight-chapter--center{
    left:10px;
    right:10px;
    bottom:max(72px,env(safe-area-inset-bottom));
    width:auto;
    text-align:left;
    transform:translateY(var(--chapter-shift));
  }
  .flight-chapter--center h2,.flight-chapter--center p{margin-left:0}
  .flight-chapter h2{font-size:clamp(25px,7vw,31px)}
  .flight-chapter p,.application-route li p{font-size:12px}
  .application-route li strong{font-size:10px}
  .flight-chapter>span{padding-left:39px}
  .flight-chapter>span:before{width:27px}
  .fusion-meter{
    left:14px;
    bottom:24px;
    grid-template-columns:auto 74px 22px;
    font-size:6px;
  }
  .flight-skip{top:78px;bottom:auto}
  .sector-threshold{height:132px}
  .flight-hero.is-inverted .flight-chapter{
    border-color:rgba(0,0,0,.24);
    background:rgba(237,237,232,.9);
    -webkit-backdrop-filter:blur(12px);
    backdrop-filter:blur(12px);
  }
}

@media(prefers-reduced-motion:reduce){
  .fusion-loader__track i{animation:none;transform:scaleX(1)}
  .fusion-loader{transition:opacity .18s ease-out;clip-path:none}
  .fusion-ready .fusion-loader{opacity:0}
  .flight-hero{height:100svh}
}
