/* K1 Partners - the intro, played as an overlay on the home page.
   Generated from intro3.css. Every rule is scoped to #k1intro so that nothing
   here can reach the site underneath. Regenerate rather than edit by hand. */

#k1intro{ position:fixed; inset:0; z-index:9999; background:#0E0F12;
  transition:opacity .6s cubic-bezier(.65,0,.35,1); }
#k1intro.is-gone{ opacity:0; pointer-events:none; }
body.k1-lock{ overflow:hidden !important; }

#k1intro{--ink:#2E3035; --ink-dd:#141519;
  --gold:#C9A227; --gold-lt:#E7C75F; --gold-dim:rgba(201,162,39,.30);
  --paper:#F1F2F4; --mute:#7B7F87;
  --e:cubic-bezier(.19,1,.22,1);
  --e2:cubic-bezier(.65,0,.35,1);
  --eIn:cubic-bezier(.7,0,.84,0);
  --soft:cubic-bezier(.16,.84,.24,1);}
#k1intro,#k1intro *::before,#k1intro *::after{box-sizing:border-box;}
#k1intro,#k1intro{height:100%;}
#k1intro{margin:0; background:#0E0F12; color:var(--paper); overflow:hidden;
  font-family:"Inter",-apple-system,"Segoe UI",Helvetica,Arial,sans-serif; -webkit-font-smoothing:antialiased;}
#k1intro svg{display:block;}
#k1intro{position:relative; width:100%; height:100svh; min-height:520px; overflow:hidden;}
#k1intro .scene{position:absolute; inset:0; perspective:1200px; perspective-origin:50% 50%; overflow:hidden;}
#k1intro .world{position:absolute; inset:0; transform-style:preserve-3d;
  transform:translateZ(-90px); transition:transform 1.4s var(--e); will-change:transform;}
#k1intro.is-act1 .world{transform:translateZ(-45px);}
#k1intro.is-act3 .world{transform:translateZ(0);}
#k1intro .layer{position:absolute; inset:0; transform-style:preserve-3d; display:grid; place-items:center;}
#k1intro .layer--deep{transform:translateZ(-560px) scale(1.75);}
#k1intro .layer--mid{transform:translateZ(-220px) scale(1.24);}
#k1intro .layer--glow{transform:translateZ(-340px) scale(1.44); pointer-events:none;}
#k1intro .grid{position:absolute; inset:-40%; opacity:.5;
  background-image:linear-gradient(rgba(255,255,255,.03) 1px, transparent 1px),
                   linear-gradient(90deg, rgba(255,255,255,.03) 1px, transparent 1px);
  background-size:74px 74px;
  -webkit-mask-image:radial-gradient(circle at 50% 50%, #000 5%, transparent 60%);
  mask-image:radial-gradient(circle at 50% 50%, #000 5%, transparent 60%);}
#k1intro .fx{position:absolute; inset:0; width:100%; height:100%;}
#k1intro .halo{position:absolute; width:min(1000px,118vw); aspect-ratio:1; border-radius:50%;
  background:radial-gradient(circle, rgba(201,162,39,.17) 0%, rgba(201,162,39,.04) 34%, transparent 64%);
  animation:k1i-breathe 7s ease-in-out infinite;}

@keyframes k1i-breathe{
 50%{ transform:scale(1.1); opacity:.75 } }
#k1intro .ring3d{position:absolute; border:1px solid rgba(201,162,39,.14); border-radius:50%;
  opacity:0; transition:opacity 1.2s var(--e) .4s;}
#k1intro.is-act1 .ring3d{opacity:1}
#k1intro.is-collapse .ring3d{opacity:0; transition:opacity .5s var(--e2)}
#k1intro .r1{width:480px; height:480px; animation:k1i-spinA 24s linear infinite}
#k1intro .r2{width:720px; height:720px; border-color:rgba(255,255,255,.055); animation:k1i-spinB 38s linear infinite}
#k1intro .r3{width:980px; height:980px; border-color:rgba(201,162,39,.08); animation:k1i-spinA 58s linear infinite reverse}

@keyframes k1i-spinA{
 from{transform:rotateX(72deg) rotateZ(0)} to{transform:rotateX(72deg) rotateZ(360deg)} }

@keyframes k1i-spinB{
 from{transform:rotateX(64deg) rotateY(12deg) rotateZ(0)} to{transform:rotateX(64deg) rotateY(12deg) rotateZ(-360deg)} }
#k1intro .vig{position:absolute; inset:0; z-index:20; pointer-events:none;
  background:radial-gradient(ellipse at 50% 48%, transparent 34%, rgba(9,10,12,.86) 100%);}
#k1intro .grain{position:absolute; inset:-60%; z-index:21; pointer-events:none; opacity:.05; mix-blend-mode:overlay;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3'/%3E%3C/filter%3E%3Crect width='140' height='140' filter='url(%23n)'/%3E%3C/svg%3E");
  animation:k1i-grainShift .9s steps(3) infinite;}

@keyframes k1i-grainShift{
 0%{transform:translate(0,0)} 33%{transform:translate(-3%,2%)} 66%{transform:translate(2%,-3%)} }
#k1intro .wipe{position:absolute; inset:0; z-index:40; pointer-events:none; background:#2E3035; opacity:0;
  transition:opacity .6s var(--e2);}
#k1intro .wipe.is-on{opacity:1}
#k1intro .hud{position:absolute; z-index:30; font-family:"JetBrains Mono",ui-monospace,monospace;
  font-size:9.5px; letter-spacing:.18em; color:var(--mute); text-transform:uppercase;
  opacity:0; transition:opacity .8s var(--e) .25s;}
#k1intro.is-live .hud{opacity:1}
#k1intro .hud--tl{top:24px; left:28px}
#k1intro .hud--tr{top:24px; right:28px}
#k1intro .hud--bl{bottom:24px; left:28px; color:var(--gold)}
#k1intro .hud--br{bottom:24px; right:28px}
#k1intro .cursor{display:inline-block; width:5px; height:10px; background:var(--gold); margin-left:5px;
  vertical-align:-1px; animation:k1i-blink 1s steps(1) infinite}

@keyframes k1i-blink{
 50%{opacity:0} }

  #k1intro .seed{position:absolute; z-index:12; left:50%; top:50%; width:2px; height:0;
  background:linear-gradient(180deg, transparent, var(--gold-lt) 18%, var(--gold-lt) 82%, transparent);
  transform:translate(-50%,-50%); opacity:0; box-shadow:0 0 26px rgba(201,162,39,.55);}
#k1intro.is-collapse .seed{opacity:1; height:min(46vh,340px);
  transition:height 1.05s var(--e) .25s, opacity .35s linear .25s;
  animation:k1i-seedPulse 1.7s ease-in-out 1.2s infinite;}

@keyframes k1i-seedPulse{
 50%{ box-shadow:0 0 46px rgba(201,162,39,.85) } }
#k1intro.is-open .seed{opacity:0; height:min(20vh,150px);
  transition:height .8s var(--e), opacity .5s var(--e);}
#k1intro .logo{position:absolute; inset:0; z-index:11; display:grid; place-items:center; pointer-events:none;}
#k1intro .logo__inner{display:grid; place-items:center; opacity:0;}
#k1intro.is-open .logo__inner{opacity:1; transition:opacity .3s linear}
#k1intro .mk{width:clamp(150px, 18vw, 232px); overflow:visible;
  
  clip-path:inset(0 50% 0 50%);
  transition:clip-path 1.25s var(--e) .05s;}
#k1intro.is-open .mk{clip-path:inset(-40% -12% -40% -12%);}
#k1intro .mk__ghost{fill:none; stroke:var(--gold); stroke-width:1.2; stroke-dasharray:640; stroke-dashoffset:640;
  opacity:.9; transition:stroke-dashoffset 1.15s var(--e) .1s, opacity .5s linear 1.15s;}
#k1intro.is-open .mk__ghost{stroke-dashoffset:0; opacity:0;}
#k1intro .mk__k{fill:#fff; opacity:0; transition:opacity .6s var(--e) .95s;}
#k1intro.is-open .mk__k{opacity:1;}
#k1intro .mk__bar{fill:var(--gold); transform-origin:50% 50%; transform:scaleY(.06);
  transition:transform .8s var(--e) .75s;}
#k1intro.is-open .mk__bar{transform:scaleY(1);}
#k1intro .mk__nd{fill:var(--gold); opacity:0; transition:opacity .4s var(--e)}
#k1intro .mk__ln{stroke:var(--gold); stroke-width:1.5; fill:none; stroke-dasharray:60; stroke-dashoffset:60;
  opacity:.85; transition:stroke-dashoffset .6s var(--e)}
#k1intro.is-open .mk__nd--l{opacity:1; transition-delay:1.35s}
#k1intro.is-open .mk__nd--r{opacity:1; transition-delay:1.48s}
#k1intro.is-open .mk__ln--l{stroke-dashoffset:0; transition-delay:1.26s}
#k1intro.is-open .mk__ln--r{stroke-dashoffset:0; transition-delay:1.4s}
#k1intro .logo__word{font-family:"Source Serif 4",Georgia,serif; font-size:clamp(.72rem,1.32vw,1.02rem);
  letter-spacing:clamp(.34em,.8vw,.56em); color:#fff; margin-top:clamp(11px,1.5vw,16px); padding-left:.5em;
  opacity:0; transform:translateY(7px); transition:opacity .7s var(--e) 1.62s, transform .7s var(--e) 1.62s;}
#k1intro.is-open .logo__word{opacity:1; transform:none}
#k1intro .logo__desc{font-family:"JetBrains Mono",ui-monospace,monospace; font-size:9px; letter-spacing:.24em;
  text-transform:uppercase; color:var(--mute); margin-top:13px; opacity:0;
  text-align:center; line-height:2; white-space:nowrap;
  padding-left:.24em;                     
  transition:opacity .8s var(--e) 1.9s;}
#k1intro.is-open .logo__desc{opacity:1}
#k1intro .logo__desc .nb{white-space:nowrap}
#k1intro .logo__desc .amp{margin:0 .75em}

@media (max-width:560px){
#k1intro .logo__desc{font-size:8px; letter-spacing:.19em; padding-left:.19em;
    line-height:2.15; margin-top:15px; white-space:normal;}
#k1intro .logo__desc .amp{margin:0 .45em 0 0}
#k1intro .logo__desc .amp::before{content:"\A"; white-space:pre}

}
#k1intro .auto{position:absolute; z-index:30; left:50%; bottom:clamp(40px,7vh,66px); transform:translateX(-50%);
  display:flex; align-items:center; gap:11px; opacity:0; transition:opacity .6s var(--e)}
#k1intro.is-done .auto{opacity:1}
#k1intro .auto span{font-family:"JetBrains Mono",ui-monospace,monospace; font-size:9px; letter-spacing:.26em;
  text-transform:uppercase; color:var(--mute)}
#k1intro .auto i{display:block; width:104px; height:1px; background:rgba(255,255,255,.14)}
#k1intro .auto b{display:block; height:100%; width:0; background:var(--gold)}
#k1intro.is-done .auto b{width:100%; transition:width 1.8s linear}
#k1intro .skip{position:absolute; z-index:31; right:28px; bottom:56px; background:none; border:0; cursor:pointer;
  color:var(--mute); font-family:"JetBrains Mono",ui-monospace,monospace; font-size:9.5px;
  letter-spacing:.2em; text-transform:uppercase; display:flex; align-items:center; gap:9px;
  opacity:0; transition:opacity .5s var(--e), color .3s}
#k1intro.is-live .skip{opacity:1}
#k1intro.is-done .skip{opacity:0; pointer-events:none}
#k1intro .skip:hover{color:var(--gold)}
#k1intro .skip i{display:block; width:24px; height:1px; background:currentColor; position:relative}
#k1intro .skip i::after{content:""; position:absolute; right:0; top:-2px; width:5px; height:5px;
  border-top:1px solid currentColor; border-right:1px solid currentColor; transform:rotate(45deg)}

@media (max-width:760px){
#k1intro .hud--tr,#k1intro .hud--br{display:none}
#k1intro .hud--tl{top:16px; left:18px}
#k1intro .hud--bl{bottom:18px; left:18px}
#k1intro .skip{right:18px; bottom:18px}
#k1intro .defs{flex-direction:column; gap:3px}
#k1intro .tm__def{font-size:10px; max-width:38ch}
#k1intro .r2,#k1intro .r3{display:none}
#k1intro .scene{perspective:820px}

}

@media (prefers-reduced-motion:reduce){
#k1intro .world,#k1intro .tm .ch,#k1intro .def span,#k1intro .mk,#k1intro .logo__inner,#k1intro .logo__word,#k1intro .logo__desc,#k1intro .seed{transition:none!important}
#k1intro .ring3d,#k1intro .halo,#k1intro .grain{animation:none!important}

}

/* ==========================================================================
   OVERLAY BEHAVIOUR — must win over the rules inherited from intro3.css,
   which set position:relative for a full-page intro. Keep this block last.
   ========================================================================== */
#k1intro{
  position:fixed !important;
  top:0 !important; right:0 !important; bottom:0 !important; left:0 !important;
  width:100% !important; height:100% !important; height:100svh !important;
  min-height:0 !important;
  z-index:99999 !important;
  background:#0E0F12 !important;
  overflow:hidden !important;
  opacity:1;
  transition:opacity .6s cubic-bezier(.65,0,.35,1);
}
#k1intro.is-gone{ opacity:0 !important; pointer-events:none !important; }
body.k1-lock{ overflow:hidden !important; }
