/* Public marketing layer. Loaded last on body.ent pages.
   Light surfaces keep dark ink. Dark heroes, the services band,
   the final call to action, and the footer keep light text. */

body.ent {
  --display: Manrope, Inter, "SF Pro Display", system-ui, sans-serif;
  --font: Manrope, Inter, "SF Pro Display", system-ui, sans-serif;
  --space: clamp(64px, 7vw, 96px);
  font-family: Manrope, Inter, "SF Pro Display", system-ui, sans-serif;
}

body.ent h1,
body.ent h2,
body.ent h3,
body.ent .display {
  font-family: Manrope, Inter, "SF Pro Display", system-ui, sans-serif;
  font-weight: 750;
}

body.ent.home-page .hero h1 {
  font-family: Manrope, Inter, "SF Pro Display", system-ui, sans-serif;
  font-weight: 800;
}

body.ent:not(.home-page) .page-hero h1 {
  font-family: Manrope, Inter, "SF Pro Display", system-ui, sans-serif !important;
  font-weight: 750 !important;
  letter-spacing: -.05em !important;
}

body.ent:not(.home-page) .page-hero .kicker::before,
body.ent:not(.home-page) .page-hero .eyebrow::before {
  content: "";
  display: inline-block;
  width: 22px;
  height: 3px;
  margin-right: 10px;
  border-radius: 99px;
  background: var(--brand-accent);
  vertical-align: middle;
}

body.ent .global-nav {
  background: rgba(255, 255, 255, .88);
  border-bottom-color: rgba(18, 32, 24, .08);
  box-shadow: 0 10px 30px rgba(16, 24, 20, .04);
}

body.ent .global-nav::after {
  content: "";
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  height: 2px;
  background: linear-gradient(90deg, #0e522b 0%, #b6eb78 38%, transparent 78%);
  pointer-events: none;
}

body.ent .desktop-nav,
body.ent .nav-drop > button {
  font-family: Manrope, Inter, system-ui, sans-serif;
  letter-spacing: -.01em;
}

body.ent .dropdown {
  border-radius: 0 0 20px 20px;
  box-shadow: 0 28px 60px rgba(16, 24, 20, .12);
}

body.ent .nav-build {
  box-shadow: 0 10px 22px rgba(134, 2, 27, .2);
}

body.ent .section-head {
  max-width: 760px;
}

body.ent .section-head .kicker::before {
  content: "";
  display: inline-block;
  width: 22px;
  height: 3px;
  margin-right: 10px;
  border-radius: 99px;
  background: #0e522b;
  vertical-align: middle;
}

body.ent .section h2,
body.ent .section h3 {
  font-family: Manrope, Inter, system-ui, sans-serif !important;
  font-weight: 750 !important;
  letter-spacing: -.045em !important;
  line-height: 1.05 !important;
}

body.ent.home-page .section-head h2 {
  max-width: 16ch;
  font-size: clamp(2.2rem, 4.4vw, 3.45rem);
}

body.ent:not(.home-page) .section h2 {
  font-size: clamp(1.7rem, 3vw, 2.45rem) !important;
}

body.ent:not(.home-page) .section-head h2 {
  max-width: 16ch;
  font-size: clamp(2.15rem, 4vw, 3.2rem) !important;
}

body.ent .card:not(.visual-card),
body.ent .work-card,
body.ent .product-card,
body.ent .insight-card,
body.ent .process article,
body.ent .faq {
  position: relative;
  overflow: hidden;
  border-color: rgba(18, 32, 24, .08);
  border-radius: 18px;
  background: #fff !important;
  color: #17251d !important;
  box-shadow: 0 14px 36px rgba(16, 24, 20, .05);
}

body.ent .card:not(.visual-card)::before,
body.ent .work-card::before,
body.ent .product-card::before,
body.ent .insight-card::before,
body.ent .process article::before {
  content: "";
  position: absolute;
  top: 18px;
  bottom: 18px;
  left: 0;
  width: 3px;
  border-radius: 99px;
  background: linear-gradient(180deg, #c6ef86, #0e522b);
}

body.ent .card:not(.visual-card):hover,
body.ent .work-card:hover,
body.ent .product-card:hover,
body.ent .insight-card:hover,
body.ent .process article:hover {
  border-color: rgba(14, 82, 43, .28);
  box-shadow: 0 20px 44px rgba(16, 24, 20, .09);
}

body.ent .card:not(.visual-card) > span,
body.ent .product-card > span,
body.ent .insight-card > span,
body.ent .work-card > span,
body.ent .process article > span {
  display: inline-grid;
  place-items: center;
  width: max-content;
  min-height: 28px;
  margin-bottom: 14px;
  padding: 0 10px;
  border-radius: 8px;
  background: #123d28;
  color: #e7f8c8 !important;
  font-size: .72rem;
  letter-spacing: .08em;
}

body.ent .logo-row a {
  border: 1px solid rgba(18, 32, 24, .06);
  border-radius: 14px;
  background: #fff;
}

body.ent .showcase {
  border-radius: 22px;
  box-shadow: 0 18px 48px rgba(16, 24, 20, .06);
}

body.ent .shot {
  border-radius: 16px;
  box-shadow: inset 0 0 0 1px rgba(18, 32, 24, .06);
}

body.ent .principles {
  gap: 14px;
}

body.ent .principles article {
  position: relative;
  padding: 22px 22px 22px 24px;
  border: 1px solid rgba(18, 32, 24, .08);
  border-radius: 18px;
  background: #fff;
  box-shadow: 0 12px 32px rgba(16, 24, 20, .04);
}

body.ent .principles article::before {
  content: "";
  position: absolute;
  top: 18px;
  bottom: 18px;
  left: 0;
  width: 3px;
  border-radius: 99px;
  background: linear-gradient(180deg, #c6ef86, #0e522b);
}

body.ent .principles h3 {
  margin: 0 0 8px;
  color: #17251d !important;
  font-size: 1.08rem;
}

body.ent .principles p {
  margin: 0;
  color: #455249 !important;
}

body.ent .stack li {
  border-radius: 999px;
  background: #fff;
  font-weight: 650;
}

body.ent main > section.section.service-visual-section:not(.dark) {
  position: relative;
  overflow: hidden;
  background-color: #071b10 !important;
  background-image:
    linear-gradient(180deg, rgba(7, 27, 16, .9), rgba(7, 27, 16, .94)),
    radial-gradient(circle at 80% 0%, rgba(251, 154, 11, .22), transparent 34%),
    url("/assets/glassy-futuristic-data-horizon.webp") !important;
  background-position: center !important;
  background-size: auto, auto, cover !important;
  color: #fff !important;
}

body.ent main > section.service-visual-section:not(.dark)::before {
  content: "" !important;
  display: block !important;
  position: absolute;
  inset: 0;
  z-index: 0;
  background-image:
    linear-gradient(rgba(255, 255, 255, .045) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255, 255, 255, .045) 1px, transparent 1px);
  background-size: 64px 64px;
  pointer-events: none;
  mask-image: linear-gradient(#000, transparent 86%);
}

body.ent main > section.service-visual-section .wrap {
  position: relative;
  z-index: 1;
}

body.ent main > section.service-visual-section h2,
body.ent main > section.service-visual-section .section-intro {
  color: #fff !important;
}

body.ent .card.visual-card {
  border-color: rgba(255, 255, 255, .16) !important;
  background: linear-gradient(180deg, rgba(10, 32, 22, .96), rgba(7, 22, 16, .94)) !important;
  color: #fff !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .08), 0 22px 50px rgba(0, 0, 0, .22) !important;
}

body.ent .card.visual-card h3,
body.ent .card.visual-card h3 a {
  color: #fff !important;
}

body.ent .card.visual-card > span {
  background: rgba(251, 154, 11, .16);
  color: #ffd089 !important;
}

body.ent .card.visual-card p {
  border-color: rgba(255, 255, 255, .12);
  background: rgba(0, 0, 0, .32) !important;
  color: rgba(255, 255, 255, .9) !important;
}

body.ent .final-cta {
  position: relative;
  overflow: hidden;
}

body.ent .final-cta::before {
  content: "";
  position: absolute;
  inset: 0;
  background-image:
    linear-gradient(rgba(255, 255, 255, .05) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255, 255, 255, .05) 1px, transparent 1px);
  background-size: 56px 56px;
  pointer-events: none;
  mask-image: linear-gradient(90deg, transparent, #000 18%, #000 82%, transparent);
}

body.ent .final-cta .wrap {
  position: relative;
  z-index: 1;
}

body.ent .final-cta h2 {
  max-width: 12ch;
  font-family: Manrope, Inter, system-ui, sans-serif !important;
  font-size: clamp(2.5rem, 5vw, 4.3rem) !important;
  font-weight: 750 !important;
  letter-spacing: -.05em !important;
  line-height: .96 !important;
}

body.ent .page-hero .facts dt {
  color: rgba(255, 255, 255, .68) !important;
}
body.ent .page-hero .facts dd,
body.ent .page-hero .facts a,
body.ent .page-hero .article-body h2,
body.ent .page-hero .article-body h3 {
  color: #fff !important;
}
body.ent .page-hero .article-body,
body.ent .page-hero .article-body p,
body.ent .page-hero .article-body li {
  color: rgba(255, 255, 255, .86) !important;
}

@media (max-width: 980px) {
  body.ent.home-page .hero {
    text-align: left;
  }
  body.ent.home-page .hero h1,
  body.ent.home-page .hero .lede {
    margin-inline: 0;
  }
  body.ent.home-page .hero .actions {
    justify-content: flex-start;
  }
}

@media (max-width: 1180px) {
  body.ent .mobile-nav .mobile-account,
  body.ent .mobile-nav .mobile-drop summary {
    min-height: 78px;
    align-items: center;
  }
  body.ent .mobile-nav .mobile-account strong,
  body.ent .mobile-nav .mobile-account small,
  body.ent .mobile-nav .mobile-drop summary strong,
  body.ent .mobile-nav .mobile-drop summary small {
    line-height: 1.25;
  }
}

@media (max-width: 700px) {
  body.ent.home-page .hero {
    padding-bottom: 36px;
  }
  body.ent:not(.home-page) .page-hero {
    padding-bottom: 108px !important;
  }
  body.ent .hero-map-shell {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px;
    width: 100%;
    min-width: 0;
    min-height: 0;
    margin-top: 28px;
    padding-bottom: 4px;
    justify-items: stretch;
  }
  body.ent .hero-map-shell::before,
  body.ent .hero-map-orbit,
  body.ent .hero-map-orbit-two,
  body.ent .hero-network {
    display: none;
  }
  body.ent .hero-map-image {
    grid-column: 1 / -1;
    width: min(220px, 64vw);
    min-width: 0;
    max-width: 100%;
    justify-self: center;
  }
  body.ent .hero-map-card {
    position: static;
    width: 100%;
    min-width: 0;
    max-width: none;
    animation: none;
  }
  body.ent .hero-map-card small {
    white-space: normal;
  }
}

@media (prefers-reduced-motion: reduce) {
  body.ent .card,
  body.ent .work-card,
  body.ent .product-card,
  body.ent .insight-card,
  body.ent .process article {
    transition: none;
  }
}
/* Refined surfaces: keep structure in cards and typography, not decorative grids. */
body.institutional-page .institutional-hero{background:#f7f8f4!important}
body.ent main > section.service-visual-section:not(.dark)::before{display:none!important}
body.ent .final-cta::before{display:none!important}
body.home-page .company-facts,body.home-page .trust-strip{border-top:0!important;border-bottom:0!important}
body.home-page .facts-grid article{border-right:0!important}
body.home-page .trust-inner{border-top:0!important;border-bottom:0!important}
