/* Human Earth Lab v40 — one visual system across all page types */
:root{
  --hel40-ink:#181816;
  --hel40-muted:#6d6a64;
  --hel40-line:#e6e0d8;
  --hel40-paper:#fff;
  --hel40-warm:#f7f1ed;
  --hel40-nav:#faf9f6;
  --hel40-red:#87332f;
  --hel40-max:1240px;
  --hel40-pad:clamp(18px,2.2vw,28px);
  --hel40-nav-h:48px;
}

body.hel-v40-unified{overflow-x:hidden;color:var(--hel40-ink)}
body.hel-v40-unified .container{max-width:var(--hel40-max)}

/* =========================================================
   1. One site header everywhere
   ========================================================= */
.hel-unified-header{
  background:#fff!important;
  border-bottom:1px solid var(--hel40-line)!important;
  position:relative;
  z-index:80;
}
.hel-unified-header .brandbar{
  background:#fff!important;
  padding:.72rem 0!important;
}
.hel-unified-header .brandbar>.container{padding-inline:var(--hel40-pad)!important}
.hel-unified-header .brand{
  min-width:0;
  gap:.78rem!important;
  color:var(--hel40-ink)!important;
}
.hel-unified-header .logo-mark,
.hel-unified-header .mark{
  width:42px!important;
  height:42px!important;
  flex:0 0 42px;
  display:block;
}
.hel-unified-header .brand h1,
.hel-unified-header .brand .hel-brand-title{
  font-size:1.08rem!important;
  line-height:1.1!important;
  font-weight:700!important;
  letter-spacing:-.015em!important;
  margin:0!important;
}
.hel-unified-header .brand p,
.hel-unified-header .hel-brand-tagline{
  margin:.18rem 0 0!important;
  color:#7a7771!important;
  font-size:.74rem!important;
  line-height:1.2!important;
}
.hel-unified-header .lang{
  display:flex!important;
  align-items:center!important;
  gap:.38rem!important;
  flex:0 0 auto;
}
.hel-unified-header .lang a,
.hel-unified-header .lang strong{
  width:32px!important;
  height:26px!important;
  min-width:32px!important;
  min-height:26px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  border:1px solid transparent!important;
  border-radius:7px!important;
  background:transparent!important;
  text-decoration:none!important;
  transition:background .16s ease,border-color .16s ease!important;
}
.hel-unified-header .lang a:hover{background:#f5f2ed!important;border-color:#e5ded4!important}
.hel-unified-header .lang strong[aria-current="page"]{background:#f0ebe4!important;border-color:#d8cec2!important}
.hel-unified-header .hel-flag{width:21px!important;height:14px!important;object-fit:cover!important;border-radius:1px!important}

.hel-unified-header .navbar{
  min-height:var(--hel40-nav-h)!important;
  padding:0!important;
  background:rgba(250,249,246,.96)!important;
  border-top:1px solid rgba(230,224,216,.78)!important;
  border-bottom:0!important;
  box-shadow:none!important;
  backdrop-filter:blur(12px);
}
.hel-unified-header .navbar>.container{padding-inline:var(--hel40-pad)!important}
.hel-unified-header .navbar-nav{gap:.08rem!important;align-items:stretch!important}
.hel-unified-header .nav-link{
  display:flex!important;
  align-items:center!important;
  min-height:47px!important;
  padding:.72rem .69rem .62rem!important;
  color:#5d5953!important;
  font-size:.82rem!important;
  font-weight:650!important;
  line-height:1!important;
  border-bottom:2px solid transparent!important;
  white-space:nowrap!important;
}
.hel-unified-header .nav-link:hover{color:var(--hel40-ink)!important}
.hel-unified-header .nav-link.active,
.hel-unified-header .nav-link[aria-current="page"]{
  color:var(--hel40-ink)!important;
  border-bottom-color:var(--hel40-red)!important;
}
.hel-unified-header .navbar-toggler{margin:.45rem 0!important;border-color:#d9d2c8!important;box-shadow:none!important}

/* =========================================================
   2. One page-hero language across landing and detail pages
   ========================================================= */
.hel-unified-hero{
  margin:0!important;
  border-top:0!important;
  border-bottom:1px solid var(--hel40-line)!important;
  background:linear-gradient(90deg,#fff 0%,#fff 60%,var(--hel40-warm) 60%,var(--hel40-warm) 100%)!important;
  box-shadow:none!important;
}

/* Generic direct-container heroes */
.hel-unified-hero>.container,
.hel-unified-hero>.hero-inner,
.hel-unified-hero .hero-inner{
  width:min(100%,var(--hel40-max))!important;
  max-width:var(--hel40-max)!important;
  margin:0 auto!important;
  padding:clamp(2.7rem,4.4vw,4rem) var(--hel40-pad)!important;
}

/* Team / Research keep their two-column content but use the same height and shell. */
.hel-unified-hero.team-hero>.container,
.hel-unified-hero.research-hero>.container{
  padding:0 var(--hel40-pad)!important;
}
.hel-unified-hero.team-hero .row,
.hel-unified-hero.research-hero .row{
  display:grid!important;
  grid-template-columns:minmax(0,1.2fr) minmax(280px,.8fr)!important;
  gap:clamp(1.8rem,4vw,3.2rem)!important;
  align-items:center!important;
  margin:0!important;
  padding:clamp(2.7rem,4.4vw,4rem) 0!important;
}
.hel-unified-hero.team-hero [class*="col-"],
.hel-unified-hero.research-hero [class*="col-"]{
  width:auto!important;max-width:none!important;flex:none!important;padding:0!important;
}

/* Methods index */
.hel-unified-hero.hel-v37-methods-index-hero .hel-v37-methods-index-grid{
  display:grid!important;
  grid-template-columns:minmax(0,1.2fr) minmax(280px,.8fr)!important;
  gap:clamp(1.8rem,4vw,3.2rem)!important;
  align-items:center!important;
}

/* Applications keep the real product screenshot but now sit in the same page header shell. */
.hel-unified-hero.hel-apps-hero>.container{padding:clamp(2.7rem,4.4vw,4rem) var(--hel40-pad)!important}
.hel-unified-hero .hel-apps-hero-grid{
  grid-template-columns:minmax(0,1.15fr) minmax(300px,.85fr)!important;
  gap:clamp(1.8rem,4vw,3.2rem)!important;
  align-items:center!important;
}
.hel-unified-hero .hel-apps-visual{
  min-height:280px!important;
  max-height:360px!important;
  border-radius:18px!important;
  box-shadow:0 14px 34px rgba(37,30,26,.10)!important;
  border:1px solid rgba(105,85,72,.14)!important;
  overflow:hidden!important;
}
.hel-unified-hero .hel-apps-visual img{width:100%!important;height:100%!important;object-fit:cover!important}

/* Media now follows the same two-column hierarchy as Team/Research. */
.hel-media-page .hel-editorial-hero>.container{
  display:grid!important;
  grid-template-columns:minmax(0,1.2fr) minmax(280px,.8fr)!important;
  gap:clamp(1.8rem,4vw,3.2rem)!important;
  align-items:center!important;
}
.hel-v40-focus-card,
.hel-unified-hero .team-focus-card,
.hel-unified-hero .research-focus-card,
.hel-unified-hero .hel-page-focus,
.hel-unified-hero .hel-v37-work-card{
  max-width:360px!important;
  margin-inline-start:auto!important;
  background:#fff!important;
  border:1px solid #e5ddd4!important;
  border-top:5px solid var(--hel40-red)!important;
  border-radius:0!important;
  box-shadow:0 13px 30px rgba(40,32,28,.075)!important;
  padding:1.35rem 1.4rem!important;
}
.hel-v40-focus-card h3,
.hel-unified-hero .team-focus-card h3,
.hel-unified-hero .research-focus-card h3,
.hel-unified-hero .hel-page-focus h3,
.hel-unified-hero .hel-v37-work-card h2{
  margin:0 0 .55rem!important;
  font-family:inherit!important;
  font-size:1.04rem!important;
  line-height:1.25!important;
  font-weight:750!important;
  letter-spacing:-.01em!important;
}
.hel-v40-focus-card p,
.hel-unified-hero .team-focus-card p,
.hel-unified-hero .research-focus-card p,
.hel-unified-hero .hel-page-focus p,
.hel-unified-hero .hel-v37-work-card p{
  margin:0!important;
  color:var(--hel40-muted)!important;
  font-size:.92rem!important;
  line-height:1.55!important;
}

/* One display scale everywhere. This explicitly fixes oversized Method headers. */
.hel-unified-hero h1,
.hel-unified-hero h2,
.hel-unified-hero .display-5{
  font-family:"Iowan Old Style","Palatino Linotype",Georgia,serif!important;
  font-size:clamp(2.65rem,4.7vw,4.25rem)!important;
  line-height:.98!important;
  letter-spacing:-.045em!important;
  font-weight:600!important;
  color:var(--hel40-ink)!important;
  max-width:15ch!important;
  margin:.25rem 0 .85rem!important;
  text-wrap:balance!important;
}
.hel-unified-hero .kicker,
.hel-unified-hero .eyebrow,
.hel-unified-hero .hel-v34-kicker,
.hel-unified-hero .hel-apps-kicker{
  display:block!important;
  margin:0 0 .7rem!important;
  color:var(--hel40-red)!important;
  font-size:.75rem!important;
  line-height:1.2!important;
  font-weight:800!important;
  letter-spacing:.13em!important;
  text-transform:uppercase!important;
}
.hel-unified-hero .lead,
.hel-unified-hero .hel-v36-method-lead,
.hel-unified-hero .hel-v34-lead,
.hel-unified-hero .hel-v37-index-lead{
  max-width:66ch!important;
  margin:0!important;
  color:#625e58!important;
  font-size:clamp(1rem,1.45vw,1.16rem)!important;
  line-height:1.58!important;
}
.hel-unified-hero .hel-v38-index-guide,
.hel-unified-hero .research-hero-text{
  max-width:68ch!important;
  color:#746f68!important;
  font-size:.93rem!important;
  line-height:1.58!important;
}
.hel-unified-hero .hel-v36-method-actions,
.hel-unified-hero .hel-v34-actions,
.hel-unified-hero .hel-page-actions,
.hel-unified-hero .team-hero-actions,
.hel-unified-hero .research-hero-actions{
  margin-top:1.25rem!important;
  display:flex!important;
  flex-wrap:wrap!important;
  gap:.55rem!important;
}
.hel-unified-hero .btn,
.hel-unified-hero .hel-v36-method-actions a,
.hel-unified-hero .hel-v34-actions a{
  border-radius:999px!important;
  padding:.58rem .92rem!important;
  font-size:.84rem!important;
  font-weight:700!important;
}

/* The research jump belongs below the intro, not as a third competing header layer. */
.hel-unified-hero .hel-research-jump{
  margin-top:1.35rem!important;
  gap:.55rem!important;
}
.hel-unified-hero .hel-research-jump a{padding:.8rem .9rem!important;border-radius:12px!important}
.hel-unified-hero .hel-research-jump a span{font-size:.78rem!important;line-height:1.4!important}

/* Method detail header: compact and identical in rhythm to the main pages. */
.hel-v37-method-detail .hel-unified-hero.hel-v36-method-hero,
.hel-v38-method-detail .hel-unified-hero.hel-v36-method-hero{
  padding:0!important;
}
.hel-v37-method-detail .hel-unified-hero.hel-v36-method-hero>.container,
.hel-v38-method-detail .hel-unified-hero.hel-v36-method-hero>.container{
  max-width:var(--hel40-max)!important;
  padding:clamp(2.5rem,4vw,3.6rem) var(--hel40-pad)!important;
}
.hel-v37-method-detail .hel-unified-hero.hel-v36-method-hero h1,
.hel-v38-method-detail .hel-unified-hero.hel-v36-method-hero h1{
  font-size:clamp(2.65rem,4.7vw,4.25rem)!important;
  max-width:14ch!important;
  margin:.2rem 0 .75rem!important;
}

/* =========================================================
   3. One secondary navigation style
   ========================================================= */
.hel-v36-anchor-nav,
.site-section-nav,
.team-section-nav,
.home-section-nav,
.hel-section-nav,
.hel-article-nav{
  background:rgba(255,255,255,.96)!important;
  border-top:0!important;
  border-bottom:1px solid var(--hel40-line)!important;
  box-shadow:none!important;
  backdrop-filter:blur(12px)!important;
}
.hel-v36-anchor-nav{position:sticky!important;top:var(--hel40-nav-h)!important;z-index:45!important}
.site-section-nav,.team-section-nav,.hel-section-nav,.hel-article-nav{position:sticky!important;top:var(--hel40-nav-h)!important;z-index:45!important}
.hel-v36-anchor-nav>.container,
.site-section-nav>.container,
.team-section-nav>.container,
.home-section-nav>.container,
.hel-section-nav>.container,
.hel-article-nav>.container{
  min-height:46px!important;
  padding-block:0!important;
  padding-inline:var(--hel40-pad)!important;
  display:flex!important;
  align-items:center!important;
  gap:1.15rem!important;
  overflow-x:auto!important;
  scrollbar-width:none!important;
}
.hel-v36-anchor-nav>.container::-webkit-scrollbar,
.site-section-nav>.container::-webkit-scrollbar,
.team-section-nav>.container::-webkit-scrollbar,
.home-section-nav>.container::-webkit-scrollbar,
.hel-section-nav>.container::-webkit-scrollbar,
.hel-article-nav>.container::-webkit-scrollbar{display:none!important}
.hel-v36-anchor-nav a,
.site-section-nav a,
.team-section-nav a,
.home-section-nav a,
.hel-section-nav a,
.hel-article-nav a{
  white-space:nowrap!important;
  text-decoration:none!important;
  color:#5d5953!important;
  font-size:.78rem!important;
  line-height:46px!important;
  font-weight:700!important;
  padding:0!important;
}
.hel-v36-anchor-nav a:hover,
.site-section-nav a:hover,
.team-section-nav a:hover,
.home-section-nav a:hover,
.hel-section-nav a:hover,
.hel-article-nav a:hover{color:var(--hel40-red)!important}

/* =========================================================
   4. Detail-page top areas fit the same system
   ========================================================= */
.hel-person-profile.hel-unified-profile-hero{
  max-width:var(--hel40-max)!important;
  margin:0 auto!important;
  padding:clamp(2.6rem,4vw,3.7rem) var(--hel40-pad)!important;
}
.hel-person-detail-page main{
  background:linear-gradient(90deg,#fff 0%,#fff 60%,var(--hel40-warm) 60%,var(--hel40-warm) 100%)!important;
  border-bottom:1px solid var(--hel40-line)!important;
}
.hel-person-detail-page main>section,
.hel-person-detail-page main>.section{background:#fff!important}
.hel-person-profile h1{
  font-family:"Iowan Old Style","Palatino Linotype",Georgia,serif!important;
  font-size:clamp(2.65rem,4.7vw,4.25rem)!important;
  line-height:.98!important;
  letter-spacing:-.045em!important;
  font-weight:600!important;
}

/* Consistent section rhythm after the hero. */
.hel-v40-unified main>.section,
.hel-v40-unified main>section.section{
  padding-top:clamp(2.8rem,4vw,4.15rem)!important;
  padding-bottom:clamp(2.8rem,4vw,4.15rem)!important;
}

/* =========================================================
   5. RTL and responsive behavior
   ========================================================= */
html[dir="rtl"] .hel-unified-hero{
  background:linear-gradient(270deg,#fff 0%,#fff 60%,var(--hel40-warm) 60%,var(--hel40-warm) 100%)!important;
}
html[dir="rtl"] .hel-unified-hero .kicker,
html[dir="rtl"] .hel-unified-hero .eyebrow,
html[dir="rtl"] .hel-unified-hero .hel-v34-kicker,
html[dir="rtl"] .hel-unified-hero .hel-apps-kicker{letter-spacing:0!important}
html[dir="rtl"] .hel-v40-focus-card,
html[dir="rtl"] .hel-unified-hero .team-focus-card,
html[dir="rtl"] .hel-unified-hero .research-focus-card,
html[dir="rtl"] .hel-unified-hero .hel-page-focus,
html[dir="rtl"] .hel-unified-hero .hel-v37-work-card{margin-inline-start:auto!important;margin-inline-end:0!important}

@media(max-width:1100px){
  .hel-unified-header .nav-link{padding-inline:.53rem!important;font-size:.77rem!important}
}
@media(max-width:991.98px){
  :root{--hel40-nav-h:0px}
  .hel-unified-header .navbar{min-height:auto!important}
  .hel-unified-header .navbar-nav{padding:.25rem 0 .6rem!important;align-items:stretch!important}
  .hel-unified-header .nav-link{min-height:39px!important;border-bottom:0!important;border-inline-start:2px solid transparent!important;padding:.65rem .75rem!important}
  .hel-unified-header .nav-link.active,.hel-unified-header .nav-link[aria-current="page"]{border-inline-start-color:var(--hel40-red)!important;background:#f5f1eb!important}
  .hel-unified-hero,
  html[dir="rtl"] .hel-unified-hero{background:#fff!important}
  .hel-unified-hero.team-hero .row,
  .hel-unified-hero.research-hero .row,
  .hel-unified-hero.hel-v37-methods-index-hero .hel-v37-methods-index-grid,
  .hel-unified-hero .hel-apps-hero-grid,
  .hel-media-page .hel-editorial-hero>.container{
    grid-template-columns:1fr!important;
  }
  .hel-v40-focus-card,
  .hel-unified-hero .team-focus-card,
  .hel-unified-hero .research-focus-card,
  .hel-unified-hero .hel-page-focus,
  .hel-unified-hero .hel-v37-work-card{
    margin-inline:0!important;
    max-width:620px!important;
  }
  .hel-unified-hero .hel-apps-visual{max-width:680px!important;min-height:240px!important}
  .hel-v36-anchor-nav,.site-section-nav,.team-section-nav,.hel-section-nav,.hel-article-nav{top:0!important}
}
@media(max-width:640px){
  .hel-unified-header .brandbar{padding:.55rem 0!important}
  .hel-unified-header .logo-mark,.hel-unified-header .mark{width:36px!important;height:36px!important;flex-basis:36px!important}
  .hel-unified-header .brand h1{font-size:.98rem!important}
  .hel-unified-header .brand p{display:none!important}
  .hel-unified-header .lang{gap:.2rem!important}
  .hel-unified-header .lang a,.hel-unified-header .lang strong{width:28px!important;min-width:28px!important;height:24px!important;min-height:24px!important}
  .hel-unified-header .hel-flag{width:19px!important;height:13px!important}
  .hel-unified-hero>.container,
  .hel-unified-hero>.hero-inner,
  .hel-unified-hero .hero-inner,
  .hel-unified-hero.hel-apps-hero>.container,
  .hel-v37-method-detail .hel-unified-hero.hel-v36-method-hero>.container,
  .hel-v38-method-detail .hel-unified-hero.hel-v36-method-hero>.container{
    padding-top:2.2rem!important;
    padding-bottom:2.25rem!important;
  }
  .hel-unified-hero.team-hero .row,.hel-unified-hero.research-hero .row{padding:2.2rem 0!important}
  .hel-unified-hero h1,.hel-unified-hero h2,.hel-unified-hero .display-5,
  .hel-v37-method-detail .hel-unified-hero.hel-v36-method-hero h1,
  .hel-v38-method-detail .hel-unified-hero.hel-v36-method-hero h1{
    font-size:clamp(2.35rem,12vw,3.45rem)!important;
    max-width:none!important;
  }
  .hel-v36-anchor-nav>.container,.site-section-nav>.container,.team-section-nav>.container,.home-section-nav>.container,.hel-section-nav>.container,.hel-article-nav>.container{gap:.9rem!important}
}

/* 6. One footer finish across all full pages */
.hel-unified-footer,.hel-v40-unified footer.footer{
  background:#f8f6f2!important;
  border-top:1px solid var(--hel40-line)!important;
  color:#58544f!important;
  padding-top:2rem!important;
  padding-bottom:2rem!important;
}
.hel-unified-footer>.container,.hel-v40-unified footer.footer>.container{padding-inline:var(--hel40-pad)!important}
.hel-unified-footer strong,.hel-v40-unified footer.footer strong{color:var(--hel40-ink)!important}
.hel-unified-footer p,.hel-v40-unified footer.footer p{font-size:.86rem!important;line-height:1.55!important}
