:root{
  --navy:#012868;
  --navy-deep:#01173f;
  --teal:#10D0C0;
  --white:#F4F8FF;
  --muted:#aebcd6;
  --font:"Inter", Arial, Helvetica, sans-serif;
  --font-display:"Poppins","Inter",sans-serif;
}

*{box-sizing:border-box}
html,body{height:100%}
body{
  margin:0;
  font-family:var(--font);
  color:var(--white);
  background:
    radial-gradient(120% 120% at 50% 0%, #063077 0%, var(--navy) 45%, var(--navy-deep) 100%);
  min-height:100dvh;
  overflow:hidden;
  -webkit-font-smoothing:antialiased;
}

/* accessibility skip link */
.skip-link{
  position:absolute;left:-999px;top:0;z-index:100;
  background:var(--teal);color:var(--navy-deep);
  padding:.6rem 1rem;border-radius:0 0 8px 0;font-weight:600;text-decoration:none;
}
.skip-link:focus{left:0}

/* decorative background */
.bg-lines{position:fixed;inset:0;z-index:0;pointer-events:none}
.bg-lines svg{width:100%;height:100%;display:block}

.glow{position:fixed;border-radius:50%;filter:blur(90px);z-index:0;pointer-events:none;opacity:.55}
.glow--a{width:520px;height:520px;background:radial-gradient(circle,#10D0C0 0%,transparent 70%);top:-160px;right:-120px;opacity:.22}
.glow--b{width:600px;height:600px;background:radial-gradient(circle,#1657b8 0%,transparent 70%);bottom:-220px;left:-160px;opacity:.35}

/* layout */
.hero{
  position:relative;z-index:1;
  min-height:100dvh;
  display:flex;flex-direction:column;
  align-items:center;justify-content:center;
  text-align:center;
  padding:clamp(1.5rem,5vw,4rem);
}
.hero__inner{
  display:flex;flex-direction:column;align-items:center;
  gap:clamp(1.6rem,4vw,2.6rem);
  max-width:820px;width:100%;
}

.logo{
  width:clamp(240px,52vw,560px);
  height:auto;
  filter:drop-shadow(0 18px 40px rgba(0,0,0,.35));
}

/* status pill */
.status{
  margin:0;
  display:inline-flex;align-items:center;gap:.6rem;
  font-size:clamp(1rem,2.4vw,1.35rem);
  font-weight:500;letter-spacing:.01em;
  color:var(--white);
  padding:.55rem 1.15rem;
  border:1px solid rgba(16,208,192,.4);
  border-radius:999px;
  background:rgba(16,208,192,.08);
  backdrop-filter:blur(4px);
}
.status__dot{
  width:.62rem;height:.62rem;border-radius:50%;
  background:var(--teal);
  box-shadow:0 0 0 0 rgba(16,208,192,.6);
  animation:pulse 2.4s ease-out infinite;
}
@keyframes pulse{
  0%{box-shadow:0 0 0 0 rgba(16,208,192,.55)}
  70%{box-shadow:0 0 0 12px rgba(16,208,192,0)}
  100%{box-shadow:0 0 0 0 rgba(16,208,192,0)}
}

/* contacts */
.contacts{
  list-style:none;margin:0;padding:0;
  display:flex;flex-wrap:wrap;justify-content:center;
  gap:clamp(1rem,4vw,3rem);
}
.contact{
  display:inline-flex;align-items:center;gap:.7rem;
  font-size:clamp(.95rem,2vw,1.08rem);
  color:var(--white);
}
.contact__icon{
  display:inline-flex;color:var(--teal);
}
.contact__icon svg{width:22px;height:22px}
.contact a{color:var(--white);text-decoration:none;border-bottom:1px solid transparent;transition:border-color .2s,color .2s}
.contact a:hover,.contact a:focus{color:var(--teal);border-color:var(--teal)}

/* footer */
.foot{
  position:absolute;bottom:clamp(1rem,3vh,2rem);left:0;right:0;
  display:flex;justify-content:center;gap:.55rem;
  font-size:.82rem;color:var(--muted);z-index:1;
}
.foot__sep{opacity:.6}

/* entrance animation */
.reveal{opacity:0;transform:translateY(18px);animation:rise .9s cubic-bezier(.2,.7,.2,1) .1s forwards}
@keyframes rise{to{opacity:1;transform:none}}

@media (max-width:520px){
  body{overflow-y:auto}
  .contacts{flex-direction:column;gap:.9rem}
}

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