:root {
  --vreic-bg: #07111b;
  --vreic-bg-soft: #0b1723;
  --vreic-blue: #0a4966;
  --vreic-cyan: #27b7eb;
  --vreic-gold: #ffc247;
  --vreic-white: #f4f7fb;
  --vreic-muted: rgba(244,247,251,.62);
  --vreic-line: rgba(244,247,251,.14);
}

* { box-sizing: border-box; }
html, body { background: var(--vreic-bg); }
body {
  color: var(--vreic-white);
  font-family: Montserrat, "Helvetica Neue", Arial, sans-serif;
  overflow: hidden;
}
body::before {
  content: "";
  position: fixed;
  inset: 0;
  z-index: 0;
  background:
    radial-gradient(circle at 72% 32%, rgba(39,183,235,.16), transparent 34%),
    radial-gradient(circle at 20% 78%, rgba(10,73,102,.28), transparent 38%),
    linear-gradient(120deg, rgba(7,17,27,.84), rgba(3,8,13,.94)),
    url("../img/slide-1.jpg") center/cover no-repeat;
}
body::after {
  content: "";
  position: fixed;
  inset: 0;
  z-index: 0;
  opacity: .14;
  pointer-events: none;
  background-image:
    linear-gradient(rgba(255,255,255,.025) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.025) 1px, transparent 1px);
  background-size: 48px 48px;
}

/* Opening */
#loading.dark-back { background: #07111b; }
#loading {
  opacity: 1;
  visibility: visible;
  transition: opacity .7s ease, visibility .7s ease;
}
#loading.is-leaving { opacity: 0; visibility: hidden; }
#loading .loading-bar { background: rgba(255,255,255,.06); }
#loading .loading-bar::after { background: linear-gradient(90deg, var(--vreic-blue), var(--vreic-cyan), var(--vreic-gold)); }
#loading span {
  color: var(--vreic-white);
  font-size: 1rem;
  letter-spacing: .42rem;
  opacity: 1;
  animation: vreicLoadingFocus 1.6s ease-in-out infinite alternate;
}
@keyframes vreicLoadingFocus { to { opacity: .52; filter: blur(2px); } }

#particles-js { z-index: 1; opacity: .45; }
.sl-slider-wrapper { z-index: 2; }
.sl-slider-wrapper .sl-slider { width: 100%; height: 100%; }
.content-slide { height: 100svh; overflow-y: auto; scrollbar-width: thin; scrollbar-color: var(--vreic-gold) transparent; }

.info-bar {
  background: rgba(7,17,27,.62);
  border-bottom: 1px solid var(--vreic-line);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
  padding: 1.65rem clamp(2rem, 5vw, 7rem);
}
.info-bar .row { display: grid; grid-template-columns: minmax(0, 2fr) minmax(220px, 1fr); gap: 2rem; }
.info-bar p { color: rgba(244,247,251,.68); font-size: 1.08rem; text-transform: uppercase; letter-spacing: .2rem; }
.info-bar #countdown { color: var(--vreic-gold); font-weight: 700; }
.info-bar-right { text-align: right; }
.info-bar-right p { color: rgba(244,247,251,.42); }

.content-slide .container {
  max-width: 1180px;
  padding: 15rem clamp(2.4rem, 8vw, 11rem) 14rem;
  margin: 0 auto;
}
.vreic-brand { display: inline-flex; align-items: center; gap: 1.5rem; margin-bottom: 4rem; }
.content-slide .brand-logo { width: 7.2rem; max-width: none; height: auto; margin: 0; }
.vreic-wordmark { color: var(--vreic-white); font-size: 1.4rem; letter-spacing: .72rem; font-weight: 500; line-height: 1; }
.vreic-kicker {
  color: var(--vreic-gold) !important;
  font-family: Montserrat, "Helvetica Neue", Arial, sans-serif !important;
  text-transform: uppercase;
  letter-spacing: .32rem;
  font-size: 1rem !important;
  margin-bottom: 2rem !important;
}
.content-slide h1 {
  color: var(--vreic-white);
  text-transform: none;
  font-size: clamp(4.4rem, 7vw, 9.6rem);
  line-height: .95;
  letter-spacing: -.055em;
  max-width: 1050px;
  margin: 0 auto 2.8rem;
  font-weight: 400;
}
.content-slide p.vreic-lead {
  max-width: 760px;
  margin: 0 auto;
  color: var(--vreic-muted);
  font-size: clamp(1.45rem, 1.7vw, 2rem);
  line-height: 1.75;
  font-family: Raleway, "Helvetica Neue", Arial, sans-serif;
}
.content-slide p.vreic-lead strong { color: var(--vreic-white); font-weight: 500; }
.vreic-launch-line {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 1rem 2.6rem;
  margin-top: 3.2rem;
  color: rgba(244,247,251,.52);
  font-size: 1rem;
  text-transform: uppercase;
  letter-spacing: .24rem;
}
.vreic-launch-line span::before { content: "•"; color: var(--vreic-gold); margin-right: 1rem; }

.content-slide .action-btn {
  position: relative;
  display: inline-flex;
  align-items: center;
  gap: .8rem;
  background: rgba(10,73,102,.78);
  border: 1px solid rgba(39,183,235,.55);
  border-radius: 999px;
  box-shadow: 0 0 0 1px rgba(39,183,235,.08), 0 12px 38px rgba(0,0,0,.22);
  color: var(--vreic-white);
  padding: 1.35rem 3.2rem;
  margin-top: 4rem;
  font-size: 1.05rem;
  letter-spacing: .22rem;
  text-transform: uppercase;
  backdrop-filter: blur(12px);
}
.content-slide .action-btn::after { content: "↗"; position: static; opacity: 1; font: inherit; color: var(--vreic-gold); animation: none; }
.content-slide .action-btn:hover { background: var(--vreic-blue); border-color: var(--vreic-cyan); color: #fff; transform: translateY(-2px); padding-right: 3.2rem; }

.vreic-status {
  position: fixed;
  left: clamp(2rem, 4vw, 6rem);
  bottom: 2.6rem;
  z-index: 60;
  display: flex;
  align-items: center;
  gap: 1rem;
  color: rgba(244,247,251,.42);
  font-size: .9rem;
  text-transform: uppercase;
  letter-spacing: .22rem;
}
.vreic-status-dot { width: 7px; height: 7px; border-radius: 50%; background: var(--vreic-gold); box-shadow: 0 0 16px rgba(255,194,71,.75); animation: vreicPulse 1.8s ease-in-out infinite; }
@keyframes vreicPulse { 50% { opacity: .3; transform: scale(.72); } }

/* Intro replaces the old jQuery/animate.css dependency. */
.text-intro, .bar-intro { transition: opacity .75s ease, transform .75s cubic-bezier(.22,.8,.22,1); }
.text-intro.opacity-0 { transform: translateY(24px); }
.bar-intro.opacity-0 { transform: translateY(-18px); }
.text-intro.is-visible, .bar-intro.is-visible { opacity: 1 !important; visibility: visible !important; transform: none; }

/* Newsletter dialog */
.dialog__content { background: #08121d; border: 1px solid rgba(255,255,255,.13); box-shadow: 0 2rem 6rem rgba(0,0,0,.6); }
.dialog__content .header-picture {
  background: linear-gradient(135deg, rgba(10,73,102,.72), rgba(7,17,27,.24)), url("../img/slide-4.jpg") center/cover no-repeat;
}
.dialog__content .dialog-inner { padding-bottom: 3.4rem; background: #08121d; }
.dialog__content .dialog-inner h4 { color: var(--vreic-white); font-weight: 400; font-size: clamp(2.7rem,4vw,4rem); }
.dialog__content .dialog-inner p { color: rgba(244,247,251,.58); }
.dialog__content .dialog-inner p strong { color: var(--vreic-white); }
.dialog .close-newsletter { background: rgba(7,17,27,.72); color: #fff; font-size: 2.7rem; line-height: 1; }
.dialog .close-newsletter:hover { color: var(--vreic-gold); }

#subscribe #notifyMe { width: min(100%, 420px); margin: 2.3rem auto 0; }
#subscribe #notifyMe .controls { position: relative; }
#subscribe #notifyMe .form-control {
  width: 100%;
  height: 48px;
  padding: 0 1.6rem;
  background: rgba(255,255,255,.06);
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 999px;
  box-shadow: none;
  color: #fff;
  text-align: center;
}
#subscribe #notifyMe .form-control::placeholder { color: rgba(255,255,255,.42); }
#subscribe #notifyMe .form-control:focus { border-color: rgba(255,194,71,.7); outline: none; box-shadow: 0 0 0 3px rgba(255,194,71,.08); }
.newsletter-consent {
  display: grid;
  grid-template-columns: 18px minmax(0,1fr);
  gap: 10px;
  align-items: start;
  margin: 1.4rem auto 0;
  color: rgba(244,247,251,.58);
  font-family: Raleway, Arial, sans-serif;
  font-size: 1.05rem;
  line-height: 1.55;
  text-align: left;
}
.newsletter-consent input { width: 16px; height: 16px; margin: 2px 0 0; accent-color: var(--vreic-gold); }
.newsletter-honeypot, .sr-only {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0,0,0,0) !important;
  clip-path: inset(50%) !important;
  white-space: nowrap !important;
  border: 0 !important;
}
#subscribe #notifyMe .submit {
  margin-top: 1.6rem;
  background: var(--vreic-blue);
  color: #fff;
  border: 1px solid rgba(39,183,235,.45);
  border-radius: 999px;
  padding: 1.15rem 2.7rem;
  text-transform: uppercase;
  letter-spacing: .16rem;
}
#subscribe #notifyMe .submit:hover { background: #0c5879; color: #fff; }
#subscribe #notifyMe .submit:disabled { cursor: wait; opacity: .6; }
#subscribe .block-message { position: static; min-height: 3.4rem; width: 100%; margin-top: 1.2rem; padding: .7rem 1rem; background: transparent; }
#subscribe .block-message.is-success { border-left: 2px solid #7fd6c2; }
#subscribe .block-message.is-error { border-left: 2px solid #ffb2a8; }
#subscribe p.notify-valid { color: rgba(244,247,251,.78); font-size: 1.15rem; line-height: 1.45; text-transform: none; letter-spacing: 0; }

@media (max-width: 767px) {
  .info-bar { padding: 1rem 1.4rem; text-align: center; }
  .info-bar .row { grid-template-columns: 1fr; gap: .35rem; }
  .info-bar-right { text-align: center; }
  .content-slide .container { padding: 13rem 2.2rem 10rem; }
  .vreic-brand { margin-bottom: 3rem; }
  .content-slide .brand-logo { width: 5rem; }
  .vreic-wordmark { font-size: 1.1rem; letter-spacing: .48rem; }
  .content-slide h1 { font-size: clamp(4rem, 13vw, 6.4rem); }
  .content-slide p.vreic-lead { font-size: 1.45rem; line-height: 1.65; }
  .vreic-launch-line { gap: .8rem; flex-direction: column; align-items: center; }
  .vreic-status { left: 2rem; bottom: 1.6rem; font-size: .75rem; }
  .dialog__content { width: min(94vw, 50rem); }
}

@media (max-width: 480px) {
  .dialog__content .header-picture { display: none; }
  .dialog .dialog-inner { padding: 4.8rem 2rem 2.8rem; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration: .001ms !important; animation-iteration-count: 1 !important; transition-duration: .001ms !important; }
}
