/* ============================================================
   CURA — stealth splash · connected-cell network
   Ink #100e0b · Paper #F9F6F2 · Cyan #2eabe1 · Indigo #4158bd
   Type: Outfit
   ============================================================ */

:root{
  --ink:  #100e0b;
  --paper:#F9F6F2;
  --cyan: #2eabe1;
  --indigo:#4158bd;
  --grad: linear-gradient(115deg,#7fd0f0 0%,#2eabe1 40%,#4158bd 100%);
  --ease: cubic-bezier(.22,.61,.36,1);
}

*{box-sizing:border-box;margin:0;padding:0}
html,body{height:100%}
body{
  font-family:"Outfit",system-ui,sans-serif;
  background:var(--ink);color:var(--paper);
  overflow:hidden;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;
}
::selection{background:rgba(46,171,225,.28);color:#fff}
a{color:inherit;text-decoration:none}

/* background canvas + texture */
#field{position:fixed;inset:0;width:100%;height:100%;z-index:0;display:block}
.grain{
  position:fixed;inset:-50%;z-index:1;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='0.85' numOctaves='2'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}
.vignette{
  position:fixed;inset:0;z-index:1;pointer-events:none;
  background:radial-gradient(120% 90% at 50% 50%,transparent 42%,rgba(0,0,0,.62) 100%);
}

/* logo top-left */
.logo{
  position:fixed;top:1.6rem;left:clamp(1.4rem,4vw,2.4rem);z-index:10;
  display:block;filter:drop-shadow(0 2px 14px rgba(46,171,225,.28));
  transition:transform .35s var(--ease),opacity .35s;opacity:.96;
}
.logo svg{height:30px;width:auto;display:block}
.logo:hover{transform:translateY(-1px);opacity:1}

/* stage */
.stage{
  position:relative;z-index:2;
  min-height:100svh;
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  text-align:center;padding:2rem;
}
.content{
  position:relative;
  display:flex;flex-direction:column;align-items:center;gap:1.8rem;
  transform:translateY(14vh);
}
.content::before{ /* legibility scrim behind text */
  content:"";position:absolute;inset:-80% -40%;z-index:-1;pointer-events:none;
  background:radial-gradient(58% 58% at 50% 50%,rgba(16,14,11,.9),rgba(16,14,11,.55) 55%,rgba(16,14,11,0) 78%);
}
.headline{
  font-weight:300;line-height:1.06;letter-spacing:-.02em;
  font-size:clamp(1.5rem,4.4vw,3.2rem);max-width:18ch;
  text-shadow:0 2px 30px rgba(0,0,0,.6);
}
.headline .grad{
  display:block;font-weight:400;
  background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent;
  filter:drop-shadow(0 3px 30px rgba(65,88,189,.4));
}
.email{
  font-family:"Outfit",sans-serif;font-weight:400;
  font-size:clamp(.9rem,1.8vw,1.05rem);letter-spacing:.01em;color:#d7d3ca;
  padding:.62rem 1.5rem;border:1px solid rgba(249,246,242,.16);border-radius:100px;
  transition:color .3s,border-color .3s,background .3s,transform .3s var(--ease);
}
.email:hover{
  color:#fff;border-color:rgba(46,171,225,.6);background:rgba(46,171,225,.09);
  transform:translateY(-2px);
}

/* entrance */
.reveal{opacity:0;transform:translateY(18px);transition:opacity 1.1s var(--ease),transform 1.1s var(--ease)}
.reveal.in{opacity:1;transform:none}
.d1{transition-delay:.3s}

@media(prefers-reduced-motion:reduce){
  *{animation:none!important;transition:none!important}
  .reveal{opacity:1;transform:none}
}
