
:root{--vic-shadow:0 18px 50px rgba(8,18,33,.12);--vic-shadow-strong:0 25px 70px rgba(8,18,33,.18)}
body{background:#f7f8fa}
#root{isolation:isolate}
nav{backdrop-filter:saturate(140%) blur(14px)}
main section{position:relative}
main section:nth-child(odd){scroll-margin-top:90px}
button, a[class*="rounded"], .rounded-xl, .rounded-lg{transition:all .28s ease}
img[src*="hero-"]{filter:saturate(1.05) contrast(1.03)}
.bg-white,.bg-vic-sand .bg-white{box-shadow:var(--vic-shadow)}
.border{border-color:rgba(15,23,42,.09)!important}
.text-muted-foreground{color:#5b6472!important}
section .font-mono.uppercase{letter-spacing:.14em}
#vic-topbar{position:fixed;top:0;left:0;right:0;z-index:60;background:linear-gradient(90deg,#0f2747,#123b6d 50%,#16a34a);color:#fff;font:600 12px/1.2 Arial,sans-serif;padding:9px 16px;text-align:center;letter-spacing:.08em;text-transform:uppercase;box-shadow:0 8px 24px rgba(8,18,33,.16)}
body.has-vic-topbar nav{top:34px}
body.has-vic-topbar main section:first-child{padding-top:3rem}
#vic-topbar span{opacity:.92}
.vic-premium-card{background:linear-gradient(180deg,#fff,#f8fafc);border:1px solid rgba(15,23,42,.08);box-shadow:var(--vic-shadow);border-radius:20px}
.vic-floating-cta{position:fixed;right:18px;bottom:18px;z-index:55;background:#16a34a;color:#fff;padding:14px 18px;border-radius:999px;text-decoration:none;font:700 14px/1 Arial,sans-serif;box-shadow:0 16px 42px rgba(22,163,74,.28)}
.vic-floating-cta:hover{transform:translateY(-2px);box-shadow:0 22px 48px rgba(22,163,74,.32)}
@media (max-width: 768px){#vic-topbar{font-size:11px;padding:8px 12px}body.has-vic-topbar nav{top:32px}.vic-floating-cta{left:14px;right:14px;bottom:14px;text-align:center}}
/* stronger emergency hero compression */
section h1,
main h1,
div h1 {
  font-size: clamp(34px, 4vw, 56px) !important;
  line-height: 1.05 !important;
  margin-bottom: 12px !important;
}

section p,
main p {
  margin-bottom: 10px !important;
}

section > div,
main > div {
  padding-top: 12px !important;
}

@media (min-width: 1024px) {
  section,
  main {
    scroll-margin-top: 0 !important;
  }
}
/* ===== HERO REAL FIX ===== */

/* Reduce the oversized hero heading */
h1.font-bold.text-white.leading-tight.mb-6 {
  font-size: clamp(42px, 4.6vw, 72px) !important;
  line-height: 0.98 !important;
  letter-spacing: -0.02em !important;
  margin-bottom: 14px !important;
  max-width: 9.5ch !important;
}

/* Tighten the hero paragraph under the heading */
h1.font-bold.text-white.leading-tight.mb-6 + p {
  font-size: clamp(16px, 1.25vw, 22px) !important;
  line-height: 1.35 !important;
  margin-bottom: 18px !important;
  max-width: 52ch !important;
}

/* Pull the hero content upward and reduce excess empty space */
.bg-vic-navy .px-14.xl\:px-20.py-16.lg\:py-0 {
  padding-top: 28px !important;
  padding-bottom: 10px !important;
}

/* Keep the first screen tighter on desktop */
@media (min-width: 1024px) {
  .bg-vic-navy .px-14.xl\:px-20.py-16.lg\:py-0 {
    min-height: auto !important;
  }
}

/* Bring CTA buttons closer to the copy */
a[href="/contact"],
a[href="/services"] {
  margin-top: 6px !important;
}

/* Pull the sector block section upward */
.bg-vic-navy + section,
.bg-vic-navy + div {
  margin-top: -18px !important;
}

/* Reduce height of the floating capability CTA so it stops eating hero space */
a[href="#capability-profile"],
a[href="/contact"] + a,
.fixed a {
  max-height: 64px !important;
}

/* Mobile: keep the hero much tighter */
@media (max-width: 768px) {
  h1.font-bold.text-white.leading-tight.mb-6 {
    font-size: 42px !important;
    line-height: 1.02 !important;
    max-width: 8.5ch !important;
  }

  h1.font-bold.text-white.leading-tight.mb-6 + p {
    font-size: 16px !important;
    margin-bottom: 14px !important;
  }

  .bg-vic-navy .px-14.xl\:px-20.py-16.lg\:py-0 {
    padding-top: 18px !important;
    padding-bottom: 4px !important;
  }
}