
/* ===== Night sky navigation ============================================ */
:root { --sky-ink:#EAF2FF; --sky-gold:#E0A82E; --sky-faint:#8FA6C8; }
@media (prefers-reduced-motion: no-preference){ html{ scroll-behavior:smooth; } }
#about,#whyus,#credentials,#advisors,#testimonials{ scroll-margin-top:96px; }

#main-content{padding-top:0}
.sky{
  position:relative; margin-top:0;
  height:100svh; min-height:560px;
  overflow:hidden; background:#050912; isolation:isolate;
}
.sky-canvas{ position:absolute; inset:0; width:100%; height:100%; display:block; }

.sky-nav{ position:absolute; inset:0; pointer-events:none; }
.sky-link{
  position:absolute; display:block; pointer-events:auto; border-radius:16px;
  text-decoration:none; outline:none; -webkit-tap-highlight-color:transparent;
}
.sky-link:focus-visible{ box-shadow:0 0 0 2px rgba(224,168,46,.85); }
.sky-label{
  position:absolute; left:50%; top:100%; transform:translate(-50%,6px);
  display:block; white-space:nowrap; text-align:center; padding:.35rem .7rem;
  opacity:0; transition:opacity .28s ease, transform .28s ease; pointer-events:none;
}
.sky-link.above .sky-label{ top:auto; bottom:100%; transform:translate(-50%,-6px); }
.sky-link:hover .sky-label,
.sky-link:focus-visible .sky-label,
.sky-link.on .sky-label{ opacity:1; transform:translate(-50%,0); }
.sky-label b{
  display:block; font-family:'Inter',sans-serif; font-weight:600; font-size:.66rem;
  letter-spacing:.16em; text-transform:uppercase; color:var(--sky-gold);
}
.sky-label i{
  display:block; font-style:normal; font-family:'Playfair Display',serif;
  font-size:1.02rem; color:var(--sky-ink); margin-top:.12rem;
  text-shadow:0 2px 14px rgba(0,0,0,.9);
}

.sky-copy{
  position:absolute; left:max(5vw,1.5rem); bottom:clamp(4.5rem,11vh,8rem);
  max-width:min(30rem,84vw); z-index:2; pointer-events:none;
}
.sky-eyebrow{
  font-family:'Inter',sans-serif; font-weight:600; font-size:.72rem;
  letter-spacing:.2em; text-transform:uppercase; color:var(--sky-gold); margin-bottom:.85rem;
}
.sky-title{
  font-family:'Playfair Display',serif; font-weight:700; color:#fff;
  font-size:clamp(1.9rem,4.4vw,3.15rem); line-height:1.14; margin:0 0 .9rem;
  text-shadow:0 4px 30px rgba(0,0,0,.75);
}
.sky-sub{
  font-family:'Inter',sans-serif; font-size:clamp(.92rem,1.35vw,1.03rem);
  line-height:1.62; color:#C3D2E8; margin:0; text-shadow:0 2px 16px rgba(0,0,0,.8);
}
.sky-hint{
  position:absolute; left:50%; bottom:1.15rem; transform:translateX(-50%);
  font-family:'Inter',sans-serif; font-size:.7rem; letter-spacing:.15em;
  text-transform:uppercase; color:var(--sky-faint); z-index:2; pointer-events:none;
  display:flex; flex-direction:column; align-items:center; gap:.35rem;
}
.sky-hint span{ width:1px; height:22px; background:linear-gradient(var(--sky-faint),transparent); }

@media (max-width:700px){
  .sky-copy{ left:1.35rem; right:1.35rem; max-width:none; }
  .sky-label i{ font-size:.9rem; }
}
/* Phones: five figures plus a headline cannot sit legibly in one viewport, so the
   sky runs taller than the screen. Copy moves to the top, constellations column
   below it, and the visitor pans up the sky. */
@media (max-width:700px){
  .sky{ height:134svh; min-height:900px; }
  .sky-copy{ top:6rem; bottom:auto; }
  .sky-hint{ display:none; }
}
@media (prefers-reduced-motion: reduce){
  .sky-label{ transition:none; }
}
