:root{
  --bg:#070a12;
  --fg:#eaf0ff;
  --muted:rgba(234,240,255,.78);

  --accent:#8aa2ff;
  --accent2:#2ef2c2;
  --accent3:#57c7ff;

  --stroke:rgba(255,255,255,.14);
  --glass1:rgba(255,255,255,.11);
  --glass2:rgba(255,255,255,.04);
}

*{box-sizing:border-box}
html,body{height:100%}

body{
  margin:0;
  font-family: ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, "Apple Color Emoji","Segoe UI Emoji";
  color:var(--fg);
  overflow:hidden;
  background:
    radial-gradient(1200px 700px at 18% 10%, rgba(138,162,255,.24), transparent 60%),
    radial-gradient(980px 680px at 82% 22%, rgba(46,242,194,.19), transparent 58%),
    radial-gradient(980px 720px at 60% 110%, rgba(87,199,255,.13), transparent 65%),
    var(--bg);
}

#bg{
  position:fixed;
  inset:0;
  width:100%;
  height:100%;
  display:block;
}

.wrap{
  position:relative;
  height:100%;
  display:grid;
  place-items:center;
  gap:14px;
  padding:clamp(18px, 4vw, 56px);
  z-index:4;
}

/* Motto pill (premium) */
.motto-top{
  pointer-events:none;
  text-align:center;
  opacity:.98;
}

.motto-top span{
  display:inline-flex;
  align-items:center;
  gap:10px;
  padding:10px 16px;
  border-radius:999px;

  border:1px solid rgba(255,255,255,.18);
  background: linear-gradient(180deg, rgba(255,255,255,.07), rgba(255,255,255,.03));
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);

  letter-spacing:.18em;
  text-transform:uppercase;
  font-weight:850;
  font-size:12px;
  color: rgba(234,240,255,.78);

  box-shadow:
    0 18px 60px rgba(0,0,0,.40),
    0 0 0 1px rgba(255,255,255,.04) inset,
    0 0 22px rgba(138,162,255,.13),
    0 0 42px rgba(46,242,194,.10);

  /* stalna vibracija + mikro pulse */
  animation: mottoBreath 6.2s ease-in-out infinite, mottoJitter 1.05s linear infinite;
}

.motto-top span::before{
  content:"";
  width:7px;
  height:7px;
  border-radius:999px;
  background: linear-gradient(180deg, rgba(138,162,255,.95), rgba(46,242,194,.85));
  box-shadow: 0 0 16px rgba(87,199,255,.35);
  opacity:.9;
}

@keyframes mottoBreath{
  0%,100%{ transform: translate3d(0,0,0) scale(1); filter: brightness(1); }
  50%{ transform: translate3d(0,-2px,0) scale(1.012); filter: brightness(1.08); }
}

/* minimalist jitter (stalno) */
@keyframes mottoJitter{
  0%   { transform: translate3d(0,0,0); }
  18%  { transform: translate3d(.7px,-.4px,0); }
  36%  { transform: translate3d(-.5px,.7px,0); }
  54%  { transform: translate3d(.5px,.5px,0); }
  72%  { transform: translate3d(-.7px,-.2px,0); }
  100% { transform: translate3d(0,0,0); }
}

/* HERO */
.hero{
  position:relative;
  width:min(980px, 100%);
  padding:clamp(22px, 3.6vw, 46px);
  border-radius:30px;
  text-align:center;

  border:1px solid var(--stroke);
  background: linear-gradient(180deg, var(--glass1), var(--glass2));
  box-shadow:
    0 34px 140px rgba(0,0,0,.64),
    0 0 0 1px rgba(255,255,255,.05) inset;

  backdrop-filter: blur(18px);
  -webkit-backdrop-filter: blur(18px);
}

.hero::before{
  content:"";
  position:absolute;
  inset:0;
  border-radius:30px;
  pointer-events:none;
  background:
    radial-gradient(900px 420px at 25% 0%, rgba(138,162,255,.16), transparent 60%),
    radial-gradient(700px 360px at 95% 30%, rgba(46,242,194,.11), transparent 60%);
  mix-blend-mode: screen;
  opacity:.92;
}

.hero::after{
  content:"";
  position:absolute;
  inset:-1px;
  border-radius:30px;
  pointer-events:none;
  background: linear-gradient(90deg, rgba(138,162,255,.14), rgba(87,199,255,.10), rgba(46,242,194,.12));
  opacity:.18;
  filter: blur(10px);
}

.topline{
  position:relative;
  display:flex;
  gap:10px;
  justify-content:center;
  align-items:center;
  flex-wrap:wrap;
  z-index:2;
}

.chip{
  display:inline-block;
  padding:10px 14px;
  border:1px solid rgba(255,255,255,.16);
  background:rgba(0,0,0,.22);
  border-radius:999px;
  letter-spacing:.10em;
  text-transform:uppercase;
  font-size:12px;
  color:rgba(234,240,255,.80);
  margin:0;
}

.soon{
  margin:0;
  display:inline-flex;
  align-items:center;
  padding:10px 12px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.14);
  background: linear-gradient(180deg, rgba(46,242,194,.13), rgba(138,162,255,.11));
  color:rgba(234,240,255,.80);
  font-size:12px;
  letter-spacing:.12em;
  text-transform:uppercase;
}

h1{
  position:relative;
  z-index:2;
  margin:18px 0 0;
  font-weight:800;
  line-height:1.02;
  font-size:clamp(44px, 7vw, 86px);
  letter-spacing:-0.03em;
}

h1 span{
  background: linear-gradient(90deg, var(--accent), var(--accent3), var(--accent2));
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent;
  filter: drop-shadow(0 10px 34px rgba(87,199,255,.16));
}

.sub{
  position:relative;
  z-index:2;
  margin:14px auto 0;
  font-size:clamp(16px, 2vw, 20px);
  color:var(--muted);
  max-width:60ch;
}

.cta{
  position:relative;
  z-index:2;
  margin-top:22px;
  display:flex;
  justify-content:center;
}

.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:13px 18px;
  border-radius:16px;
  border:1px solid rgba(255,255,255,.18);
  background: linear-gradient(180deg, rgba(138,162,255,.24), rgba(46,242,194,.13));
  color:var(--fg);
  text-decoration:none;
  font-weight:750;
  transition: transform .15s ease, filter .15s ease, box-shadow .15s ease;
  box-shadow:
    0 18px 60px rgba(46,242,194,.12),
    0 0 0 1px rgba(255,255,255,.04) inset;
}
.btn:hover{ transform: translateY(-1px); filter: brightness(1.12); }
.btn:active{ transform: translateY(0px); }

.hint{
  position:relative;
  z-index:2;
  margin:20px auto 0;
  color:rgba(234,240,255,.62);
  font-size:14px;
  line-height:1.65;
  max-width:72ch;
}

/* overlays */
.noise{
  position:fixed;
  inset:0;
  pointer-events:none;
  opacity:.08;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='120' height='120' filter='url(%23n)' opacity='.35'/%3E%3C/svg%3E");
  z-index:5;
}

.vignette{
  position:fixed;
  inset:-1px;
  pointer-events:none;
  background: radial-gradient(900px 620px at 50% 35%, transparent 18%, rgba(0,0,0,.52) 70%, rgba(0,0,0,.78) 100%);
  z-index:6;
}

@media (prefers-reduced-motion: reduce){
  body{ overflow:auto; }
  .motto-top span{ animation:none; }
}


/* ===== Motto (pill na wrapperu, slova bez backgrounda) ===== */
.motto-top{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:10px 14px;
  border-radius:999px;
  background: rgba(255,255,255,.06);
  border: 1px solid rgba(255,255,255,.10);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
}

/* span više NE smije imati svoj background/border (da ne nastanu "kružići") */
.motto-top > span{
  background: none !important;
  border: 0 !important;
  padding: 0 !important;
}

/* slova kao "organizmi" (minimalistički, ali živ) */
.motto-top .ch{
  display:inline-block;
  will-change: transform, filter, opacity;
  transform:
    translate3d(var(--dx, 0px), var(--dy, 0px), 0)
    rotate(var(--rot, 0deg))
    scale(calc(1 + var(--a, 0) * 0.06));
  opacity: calc(0.70 + var(--a, 0) * 0.30);
  text-shadow:
    0 0 calc(10px * var(--a, 0)) rgba(138,162,255,.55),
    0 0 calc(14px * var(--a, 0)) rgba(46,242,194,.40);
}

.motto-top .sp{ display:inline-block; width:.55em; }


/* hide old motto UI element (we draw it via canvas instead) */
.motto-top{ display:none !important; }

