
/* ==========================================================
   FOUNDER OPENING SEQUENCE — 10 SEP 2026
   Uses the approved logo assets unchanged.
   Sequence: red founder mark -> mark rises -> signature appears below -> hold -> exit.
   ========================================================== */
body.tl-intro-pending{overflow:hidden!important;}
.sig-intro-v6{
  position:fixed;
  inset:0;
  z-index:100000;
  display:none;
  place-items:center;
  overflow:hidden;
  padding:clamp(20px,4vw,54px);
  background:
    radial-gradient(circle at 50% 48%,rgba(213,31,50,.085),transparent 31%),
    #030303;
  opacity:1;
  visibility:visible;
  pointer-events:auto;
  isolation:isolate;
}
.sig-intro-v6.is-active{
  display:grid;
  animation:sigV6Exit .62s cubic-bezier(.22,1,.36,1) 4.45s forwards;
}
.sig-intro-v6::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:radial-gradient(ellipse at 50% 48%,rgba(255,255,255,.025),transparent 44%);
  opacity:0;
}
.sig-intro-v6.is-active::before{animation:sigV6Ambient 4.7s ease-out forwards;}
.sig-intro-v6__stage{
  position:relative;
  width:min(86vw,920px);
  height:clamp(260px,34vw,390px);
  display:grid;
  place-items:center;
  transform:translateY(-1vh);
}
.sig-intro-v6__mark-wrap{
  position:absolute;
  left:50%;
  top:50%;
  width:clamp(68px,7.7vw,104px);
  transform:translate(-50%,-50%);
  opacity:0;
  will-change:transform,opacity;
  z-index:2;
}
.sig-intro-v6__mark{
  display:block;
  width:100%;
  height:auto;
  object-fit:contain;
  image-rendering:auto;
  filter:none;
}
.sig-intro-v6.is-active .sig-intro-v6__mark-wrap{
  animation:
    sigV6MarkAppear .58s cubic-bezier(.22,1,.36,1) .18s forwards,
    sigV6MarkRise .72s cubic-bezier(.16,1,.3,1) 1.62s forwards;
}
.sig-intro-v6__name-wrap{
  position:absolute;
  left:50%;
  top:58%;
  width:min(78vw,760px);
  max-width:760px;
  overflow:hidden;
  opacity:0;
  transform:translate(-50%,28px);
  clip-path:inset(0 100% 0 0);
  will-change:clip-path,transform,opacity;
  z-index:1;
}
.sig-intro-v6__name{
  display:block;
  width:100%;
  height:auto;
  object-fit:contain;
  object-position:center;
  image-rendering:auto;
  filter:none;
}
.sig-intro-v6.is-active .sig-intro-v6__name-wrap{
  animation:sigV6NameReveal 1.18s cubic-bezier(.16,.84,.18,1) 2.20s forwards;
}
.sig-intro-v6__name-wrap::after{
  content:"";
  position:absolute;
  left:-18px;
  top:10%;
  bottom:10%;
  width:34px;
  opacity:0;
  pointer-events:none;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.10),transparent);
}
.sig-intro-v6.is-active .sig-intro-v6__name-wrap::after{
  animation:sigV6NameSweep 1.14s linear 2.22s forwards;
}
@keyframes sigV6MarkAppear{
  0%{opacity:0;transform:translate(-50%,-50%) scale(.82)}
  100%{opacity:1;transform:translate(-50%,-50%) scale(1)}
}
@keyframes sigV6MarkRise{
  0%{transform:translate(-50%,-50%) scale(1)}
  100%{transform:translate(-50%,calc(-50% - clamp(78px,9vw,112px))) scale(.82)}
}
@keyframes sigV6NameReveal{
  0%{opacity:0;transform:translate(-50%,28px);clip-path:inset(0 100% 0 0)}
  12%{opacity:1}
  100%{opacity:1;transform:translate(-50%,0);clip-path:inset(0 0 0 0)}
}
@keyframes sigV6NameSweep{
  0%{left:-18px;opacity:0}
  12%{opacity:.55}
  88%{opacity:.22}
  100%{left:calc(100% - 16px);opacity:0}
}
@keyframes sigV6Ambient{
  0%{opacity:0;transform:scale(.96)}
  24%{opacity:.7}
  76%{opacity:.45}
  100%{opacity:.15;transform:scale(1.025)}
}
@keyframes sigV6Exit{
  0%{opacity:1;visibility:visible}
  100%{opacity:0;visibility:hidden;pointer-events:none}
}

/* Mobile retains the exact same visual order, simply scaled tighter. */
@media(max-width:900px){
  .sig-intro-v6__stage{width:92vw;height:clamp(240px,52vw,330px);}
  .sig-intro-v6__mark-wrap{width:clamp(60px,12vw,84px);}
  .sig-intro-v6__name-wrap{top:59%;width:min(84vw,680px);}
  @keyframes sigV6MarkRise{
    0%{transform:translate(-50%,-50%) scale(1)}
    100%{transform:translate(-50%,calc(-50% - clamp(68px,15vw,96px))) scale(.82)}
  }
}
@media(max-width:560px){
  .sig-intro-v6{padding:14px;}
  .sig-intro-v6__stage{width:96vw;height:250px;}
  .sig-intro-v6__mark-wrap{width:62px;}
  .sig-intro-v6__name-wrap{top:60%;width:91vw;}
}

/* Keep the exact concept on lower-power/mobile devices, only shorten the hold slightly. */
html.perf-lite .sig-intro-v6.is-active{
  animation:sigV6Exit .48s ease 4.05s forwards;
}
html.perf-lite .sig-intro-v6.is-active .sig-intro-v6__mark-wrap{
  animation:
    sigV6MarkAppear .46s ease .12s forwards,
    sigV6MarkRise .62s cubic-bezier(.16,1,.3,1) 1.42s forwards;
}
html.perf-lite .sig-intro-v6.is-active .sig-intro-v6__name-wrap{
  animation:sigV6NameReveal 1.02s ease 2.02s forwards;
}
html.perf-lite .sig-intro-v6.is-active .sig-intro-v6__name-wrap::after{
  animation:sigV6NameSweep .98s linear 2.04s forwards;
}

@media(prefers-reduced-motion:reduce){
  .sig-intro-v6.is-active{animation:sigV6Exit .25s ease 1.15s forwards;}
  .sig-intro-v6__mark-wrap{opacity:1!important;transform:translate(-50%,calc(-50% - 60px)) scale(.82)!important;animation:none!important;}
  .sig-intro-v6__name-wrap{opacity:1!important;transform:translate(-50%,0)!important;clip-path:none!important;animation:none!important;}
  .sig-intro-v6__name-wrap::after{display:none!important;}
}
