/* Unified masthead: the visual card is the only visible brand signature. */
.site-header {
  min-height:104px !important;
  height:104px !important;
  padding:0 clamp(20px,4vw,56px) !important;
  flex-direction:row !important;
  direction:ltr !important;
  justify-content:space-between !important;
  background:rgba(7,25,49,.97) !important;
  border-bottom:1px solid rgba(112,183,255,.28) !important;
  box-shadow:0 8px 28px rgba(0,5,18,.2) !important;
}
.site-header .brand {
  display:block !important;
  order:2 !important;
  min-width:0 !important;
  margin:0 !important;
  text-align:right !important;
}
.site-header .brand-name {
  justify-content:flex-start !important;
  color:#fff !important;
  font-size:34px !important;
}
.site-header .brand-name .credentials,
.site-header .brand-name .degree {
  color:#d8e8fb !important;
}
.site-header .brand-tag {
  margin-top:7px !important;
  color:#7fb9f8 !important;
  font-size:12px !important;
}
.site-header nav {
  order:1 !important;
  width:auto !important;
  margin:0 !important;
  justify-content:flex-start !important;
  gap:clamp(24px,4vw,56px) !important;
}
.site-header nav > a,
.site-header .nav-dropdown-trigger {
  color:#f4f8ff !important;
  font-size:16px !important;
  font-weight:600 !important;
}
.site-header .nav-dropdown-trigger {
  border:0;
  background:transparent;
  padding:8px 4px;
  cursor:pointer;
}
.site-header nav > a:hover,
.site-header nav > a.is-active,
.site-header .nav-dropdown-trigger:hover,
.site-header .nav-dropdown-trigger.is-active {
  color:#8bc2ff !important;
}

.site-brand-showcase {
  padding:22px clamp(18px,4vw,48px) 0 !important;
  background:#17191b !important;
}
.site-brand-showcase img {
  width:min(100%, 1040px) !important;
  border-radius:clamp(18px,2.6vw,38px) !important;
}
.site-brand-showcase--home img {
  width:min(100%, 1240px) !important;
}

/* One unified page introduction: shared artwork with page-specific live text. */
.page-hero .tech,
.page-hero .about-art,
.page-hero .contact-about-art {
  display:none !important;
}
.page-hero {
  min-height:clamp(500px,46vw,680px) !important;
  height:auto !important;
  display:flex !important;
  align-items:center !important;
  background-image:
    linear-gradient(90deg,rgba(0,12,31,.08) 0%,rgba(0,12,31,.22) 42%,rgba(0,12,31,.9) 72%,rgba(0,12,31,.98) 100%),
    url("../images/brand-canvas.webp") !important;
  background-color:#00122c !important;
  background-repeat:no-repeat !important;
  background-position:center !important;
  background-size:cover !important;
  border-bottom:1px solid rgba(112,183,255,.18) !important;
}
.page-hero::after {
  display:none !important;
}
.page-hero > .hero-content {
  position:relative !important;
  inset:auto !important;
  width:100% !important;
  max-width:1520px !important;
  min-height:0 !important;
  height:auto !important;
  margin:0 auto !important;
  padding:72px clamp(24px,5vw,76px) 76px clamp(300px,38vw,620px) !important;
  transform:none !important;
  background:transparent !important;
  text-align:right !important;
}
.page-hero h1 {
  color:#fff !important;
  width:100% !important;
  max-width:100% !important;
  white-space:normal !important;
  text-wrap:balance !important;
  font-size:clamp(48px,4.6vw,68px) !important;
  line-height:1.08 !important;
}
.page-hero .about-hero-evidence-copy,
.page-hero .about-subtitle,
.page-hero .lead,
.page-hero .sub,
.page-hero > .hero-content > p {
  width:100% !important;
  max-width:920px !important;
}
.page-hero .about-evidence-intro,
.page-hero .about-evidence-conclusion,
.page-hero .about-subtitle {
  text-align:justify !important;
  text-align-last:right !important;
  word-spacing:normal !important;
  overflow-wrap:normal !important;
  hyphens:none !important;
}
.page-hero .lead,
.page-hero .research-page-kicker,
.page-hero .about-kicker,
.legal-page .legal-hero-kicker,
.privacy-page .privacy-hero-kicker {
  color:#8bc2ff !important;
}
.page-hero .sub,
.page-hero .about-subtitle,
.page-hero .about-evidence-intro,
.page-hero .about-evidence-conclusion,
.page-hero > .hero-content > p {
  color:#d3deeb !important;
}
.scroll {
  display:none !important;
}

/* Homepage headline: one elevated line, with room reserved for future copy. */
@media(min-width:761px) {
  .home-page .hero {
    align-items:stretch !important;
  }
  .home-page .hero-content {
    max-width:1520px !important;
    padding:104px clamp(38px,5vw,76px) 0 clamp(38px,10vw,150px) !important;
  }
  .home-page .hero h1 {
    max-width:none !important;
    white-space:nowrap !important;
    text-wrap:nowrap !important;
    font-size:clamp(34px,3.65vw,56px) !important;
    line-height:1.12 !important;
  }
  /* Shared heading position for all homepage focus-detail pages. */
  .focus-detail-page .page-hero {
    align-items:stretch !important;
  }
  .focus-detail-page .page-hero > .hero-content {
    max-width:1520px !important;
    padding:104px clamp(38px,5vw,76px) 0 clamp(38px,10vw,150px) !important;
  }
}

@media(max-width:760px) {
  .site-header {
    min-height:0 !important;
    height:auto !important;
    padding:15px 14px !important;
    flex-direction:column !important;
    gap:14px !important;
  }
  .site-header .brand {
    order:1 !important;
    text-align:center !important;
  }
  .site-header .brand-name {
    justify-content:center !important;
    font-size:30px !important;
  }
  .site-header .brand-tag {
    text-align:center !important;
  }
  .site-header nav {
    order:2 !important;
    width:100% !important;
    flex-wrap:wrap !important;
    gap:11px 22px !important;
  }
  .site-header nav > a,
  .site-header .nav-dropdown-trigger {
    font-size:14px !important;
  }
  .site-brand-showcase {
    padding:12px 10px 0 !important;
  }
  .site-brand-showcase img,
  .site-brand-showcase--home img {
    width:100% !important;
    border-radius:16px !important;
  }
  .page-hero > .hero-content {
    padding:46px 22px 50px !important;
  }
  .page-hero {
    min-height:520px !important;
    background-image:
      linear-gradient(rgba(0,12,31,.76),rgba(0,12,31,.88)),
      url("../images/brand-canvas.webp") !important;
    background-position:38% center !important;
  }
  .page-hero h1 {
    font-size:clamp(38px,11vw,48px) !important;
    white-space:normal !important;
  }
}
