
/* =========================================================
   V38 — BRAND / RESPONSIVE / CONTENT POLISH
   ========================================================= */

html{
  scroll-behavior:auto;
  scroll-padding-top:96px;
}
body{
  overscroll-behavior-y:none;
  -webkit-overflow-scrolling:touch;
}
section[id]{scroll-margin-top:96px}

/* 1 — Header partner lockup */
.header-inner{
  grid-template-columns:minmax(290px,320px) minmax(0,1fr) minmax(235px,270px);
}
.header-brand-partners{
  display:flex!important;
  align-items:center!important;
  gap:13px!important;
  min-width:0;
  width:max-content;
}
.header-brand-partners .header-signal-logo{
  width:150px!important;
  height:46px!important;
  flex:0 0 auto;
}
.header-partner-divider{
  width:1px;
  height:30px;
  background:rgba(255,255,255,.34);
  flex:0 0 auto;
}
.header-compass-logo{
  display:block;
  width:103px;
  height:auto;
  max-height:28px;
  object-fit:contain;
  filter:invert(1);
  flex:0 0 auto;
}
.site-header.is-scrolled .header-compass-logo,
.site-header.shg-header-paper .header-compass-logo{
  filter:none;
}
.site-header.is-scrolled .header-partner-divider,
.site-header.shg-header-paper .header-partner-divider{
  background:rgba(16,16,15,.22);
}

/* Mobile drawer partner lockup */
.shg-mobile-brand-partners{
  display:flex!important;
  align-items:center!important;
  gap:10px!important;
  min-width:0;
}
html body .shg-mobile-drawer-brand .shg-mobile-signal-logo{
  width:126px!important;
  height:40px!important;
  object-fit:contain!important;
  object-position:left center!important;
  filter:invert(1) brightness(2)!important;
}
.shg-mobile-brand-divider{
  width:1px;
  height:28px;
  background:rgba(255,255,255,.28);
  flex:0 0 auto;
}
html body .shg-mobile-drawer-brand .shg-mobile-compass-logo{
  width:82px!important;
  height:auto!important;
  max-height:25px!important;
  object-fit:contain!important;
  filter:invert(1)!important;
}

/* 5 — Paragraph legibility */
.editorial-head .copy,
.head-aside p,
.market-info p,
.video-guides-intro,
.video-guide-copy p,
.film-left p,
.journey p{
  font-size:max(15px,1em);
  line-height:1.72;
}
.internal-hero-copy>p,
.about-profile-copy p,
.internal-intro>p,
.about-market-grid p,
.team-v16-hero-grid>p,
.team-v16-lisa-copy>p,
.team-v16-section-head>p,
.team-v16-card-copy p,
.team-v16-values p,
.team-v25-cta p,
.resource-cta p{
  font-size:16px;
  line-height:1.7;
}
.journal-lead-body p,
.journal-card-body>p{
  font-size:14px;
  line-height:1.68;
}

/* 4 — Compass-only affiliation */
.about-compass-band{
  padding:88px 0;
  background:#fff;
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
}
.about-compass-band .about-logo-head{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(320px,.72fr);
  gap:70px;
  align-items:end;
  margin-bottom:34px;
}
.about-compass-band .about-logo-head h2{
  font-size:clamp(46px,5vw,70px);
  line-height:.94;
  letter-spacing:-.045em;
  margin:14px 0 0;
}
.about-compass-band .about-logo-head h2 em{color:var(--accent)}
.about-compass-band .about-logo-head p{
  max-width:620px;
  font-size:16px;
  line-height:1.7;
}
.about-compass-card{
  min-height:175px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:40px;
  padding:36px 42px;
  border:1px solid var(--line);
  background:var(--paper);
  transition:transform .3s ease,border-color .3s ease;
}
.about-compass-card:hover{
  transform:translateY(-3px);
  border-color:var(--accent);
}
.about-compass-card img{
  width:min(310px,45vw);
  height:auto;
}
.about-compass-card span{
  font-size:9px;
  font-weight:700;
  letter-spacing:.15em;
  text-transform:uppercase;
}

/* 9 — Footer partner logo sizing */
.footer-brand-partners{
  gap:16px!important;
  flex-wrap:nowrap!important;
}
.footer-logo{
  width:185px!important;
  max-width:185px!important;
  height:auto!important;
  max-height:48px!important;
  object-fit:contain!important;
}
.footer-partner-divider{
  height:36px!important;
}
.footer-compass-logo{
  width:145px!important;
  max-width:145px!important;
  max-height:36px!important;
}

/* 6 — Premium single Journal article */
.journal-single-v38{background:#fff;color:var(--ink)}
.journal-single-hero{
  padding:82px 0 70px;
  background:var(--paper);
  border-bottom:1px solid var(--line);
}
.journal-single-hero-grid{
  display:grid;
  grid-template-columns:minmax(0,1fr) 210px;
  gap:70px;
  align-items:end;
}
.journal-back-link{
  display:inline-block;
  margin-bottom:32px;
  color:var(--muted);
  font-size:9px;
  font-weight:700;
  letter-spacing:.14em;
  text-transform:uppercase;
}
.journal-single-meta{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:12px;
  color:var(--muted);
  font-size:8px;
  font-weight:700;
  letter-spacing:.14em;
  text-transform:uppercase;
}
.journal-single-meta i{width:28px;height:1px;background:var(--line)}
.journal-single-title h1{
  max-width:1050px;
  margin:18px 0 20px;
  font-size:clamp(52px,6.3vw,90px);
  line-height:.93;
  letter-spacing:-.055em;
  text-wrap:balance;
}
.journal-single-title>p{
  max-width:760px;
  margin:0;
  font-family:Georgia,'Times New Roman',serif;
  font-size:20px;
  line-height:1.62;
  color:var(--muted);
}
.journal-single-stamp{
  min-height:190px;
  padding:22px;
  border:1px solid var(--line);
  display:flex;
  flex-direction:column;
  justify-content:space-between;
}
.journal-single-stamp span,
.journal-single-stamp small{
  font-size:8px;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:var(--muted);
}
.journal-single-stamp strong{
  font-size:38px;
  font-weight:400;
}
.journal-single-feature{
  padding:34px 0 0;
  background:#fff;
}
.journal-single-image{
  height:min(680px,68vw);
  min-height:420px;
  overflow:hidden;
  background:#e8e4de;
}
.journal-single-image img{
  width:100%;
  height:100%;
  object-fit:cover;
}
.journal-single-reading{
  padding:95px 0 120px;
}
.journal-single-reading-grid{
  display:grid;
  grid-template-columns:minmax(0,800px) minmax(270px,340px);
  justify-content:center;
  gap:90px;
  align-items:start;
}
.journal-single-content{
  min-width:0;
}
.journal-single-content>*:first-child{margin-top:0}
.journal-single-content p,
.journal-single-content li{
  font-size:18px;
  line-height:1.86;
  color:#45413c;
}
.journal-single-content h2{
  margin:58px 0 18px;
  font-family:Georgia,'Times New Roman',serif;
  font-size:42px;
  line-height:1.08;
  letter-spacing:-.025em;
}
.journal-single-content h3{
  margin:38px 0 14px;
  font-family:Georgia,'Times New Roman',serif;
  font-size:29px;
  line-height:1.15;
}
.journal-single-content blockquote{
  margin:48px 0;
  padding:12px 0 12px 28px;
  border-left:2px solid var(--accent);
  font-family:Georgia,'Times New Roman',serif;
  font-size:28px;
  line-height:1.4;
  color:var(--ink);
}
.journal-single-content img{
  margin:38px 0;
  height:auto;
}
.journal-single-aside{
  position:sticky;
  top:122px;
  display:grid;
  gap:18px;
}
.journal-aside-card{
  padding:28px;
  background:var(--paper);
  border:1px solid var(--line);
}
.journal-aside-card h2{
  font-size:34px;
  line-height:.98;
  margin:14px 0 18px;
}
.journal-aside-card h2 em{color:var(--accent)}
.journal-aside-card p{
  font-size:15px;
  line-height:1.7;
  color:var(--muted);
}
.journal-aside-details{
  border:1px solid var(--line);
  background:#fff;
}
.journal-aside-details>div{
  padding:16px 18px;
  display:grid;
  gap:4px;
}
.journal-aside-details>div+div{border-top:1px solid var(--line)}
.journal-aside-details span{
  font-size:7px;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:var(--muted);
}
.journal-aside-details strong{
  font-family:Georgia,'Times New Roman',serif;
  font-size:16px;
  font-weight:400;
}
.journal-related{
  padding:100px 0 115px;
  background:var(--paper);
  border-top:1px solid var(--line);
}
.journal-related-head{
  display:flex;
  justify-content:space-between;
  align-items:end;
  gap:40px;
  margin-bottom:38px;
}
.journal-related-head h2{
  font-size:56px;
  line-height:.94;
  margin:13px 0 0;
}
.journal-related-head h2 em{color:var(--accent)}
.journal-related-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:20px;
}
.journal-related-card{
  min-width:0;
  background:#fff;
  border:1px solid var(--line);
}
.journal-related-image{
  display:block;
  height:260px;
  overflow:hidden;
}
.journal-related-image img{
  width:100%;
  height:100%;
  object-fit:cover;
  transition:transform .5s ease;
}
.journal-related-card:hover img{transform:scale(1.035)}
.journal-related-copy{
  padding:20px;
  display:flex;
  flex-direction:column;
  min-height:245px;
}
.journal-related-copy>span{
  color:var(--muted);
  font-size:8px;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.journal-related-copy h3{
  margin:10px 0;
  font-size:29px;
  line-height:1.04;
}
.journal-related-copy h3 a{text-decoration:none;color:inherit}
.journal-related-copy p{
  margin:0;
  font-size:14px;
  line-height:1.65;
  color:var(--muted);
}
.journal-related-link{
  margin-top:auto;
  padding-top:17px;
  border-top:1px solid #eee8e0;
  font-size:8px;
  font-weight:700;
  letter-spacing:.13em;
  text-transform:uppercase;
}
.journal-single-actions{
  display:flex;
  justify-content:center;
  align-items:center;
  gap:26px;
}

/* 10 — Lisa mobile heading */
@media(max-width:900px){
  .team-v16-lisa-copy h2{
    font-size:52px!important;
  }
}

/* 11 — Journal mobile card repair */
@media(max-width:760px){
  .journal-lead-grid,
  .journal-lead-side,
  .journal-card-grid-standard{
    display:grid!important;
    grid-template-columns:1fr!important;
    grid-template-rows:auto!important;
    width:100%!important;
    max-width:100%!important;
    gap:18px!important;
  }
  .journal-lead-main,
  .journal-lead-side-card,
  .journal-card-grid-standard .journal-card{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    height:auto!important;
    border-radius:16px!important;
  }
  .journal-lead-main .journal-lead-media,
  .journal-lead-side-card .journal-lead-media.side,
  .journal-card-grid-standard .journal-card-media{
    height:235px!important;
    min-height:235px!important;
    flex:0 0 235px!important;
  }
  .journal-lead-body,
  .journal-lead-body.compact,
  .journal-card-body{
    padding:18px!important;
  }
  .journal-lead-body h2{
    font-size:29px!important;
    min-height:0!important;
  }
  .journal-lead-body h3,
  .journal-card-grid-standard .journal-card h2{
    font-size:25px!important;
    min-height:0!important;
    -webkit-line-clamp:unset!important;
  }
  .journal-lead-body p,
  .journal-card-grid-standard .journal-card-body>p{
    min-height:0!important;
    font-size:14px!important;
    -webkit-line-clamp:unset!important;
  }
  .journal-card-topline{
    gap:8px!important;
    font-size:7px!important;
  }
}

/* 12 — Team values/cards responsive overflow repair */
.team-v16,
.team-v16-values,
.team-v16-values-grid,
.team-v16-members,
.team-v16-grid{
  max-width:100%;
  overflow-x:hidden;
}
.team-v16-values-grid>*,
.team-v16-grid>*{
  min-width:0;
}
@media(max-width:640px){
  .team-v16{
    width:100%;
    overflow-x:hidden!important;
  }
  .team-v16-lisa-copy h2{
    font-size:42px!important;
    line-height:1!important;
    overflow-wrap:anywhere;
  }
  .team-v16-lead,
  .team-v16-members,
  .team-v16-values{
    overflow:hidden!important;
  }
  .team-v16-grid,
  .team-v16-values-grid{
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    width:100%!important;
    max-width:100%!important;
    gap:1px!important;
    margin-left:auto!important;
    margin-right:auto!important;
  }
  .team-v16-values article{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    padding:30px 22px!important;
  }
  .team-v16-values article>span{
    font-size:34px!important;
  }
  .team-v16-values h3{
    margin:20px 0 9px!important;
    font-size:30px!important;
  }
  .team-v16-values p{
    margin:0!important;
    font-size:15px!important;
    line-height:1.65!important;
  }
  .team-v16-card{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
  }
  .team-v16-photo{height:390px!important}
}

/* Mobile global */
@media(max-width:820px){
  html{scroll-padding-top:82px}
  section[id]{scroll-margin-top:82px}
  body{touch-action:pan-y}
  .header-inner{
    width:calc(100% - 24px)!important;
    grid-template-columns:minmax(0,1fr) auto!important;
  }
  .header-brand-partners{
    gap:8px!important;
    max-width:245px;
  }
  .header-brand-partners .header-signal-logo{
    width:116px!important;
    height:40px!important;
  }
  .header-partner-divider{height:25px}
  .header-compass-logo{
    width:75px!important;
    max-height:23px!important;
  }
  .internal-hero-copy>p,
  .about-profile-copy p,
  .internal-intro>p,
  .about-market-grid p,
  .team-v16-hero-grid>p,
  .team-v16-lisa-copy>p,
  .team-v16-section-head>p,
  .team-v16-card-copy p,
  .team-v16-values p,
  .team-v25-cta p,
  .video-guides-intro,
  .video-guide-copy p,
  .journey p{
    font-size:15.5px!important;
    line-height:1.68!important;
  }
  .about-compass-band{padding:68px 0}
  .about-compass-band .about-logo-head{
    grid-template-columns:1fr;
    gap:18px;
  }
  .about-compass-card{
    min-height:135px;
    padding:26px 22px;
    flex-direction:column;
    align-items:flex-start;
    gap:22px;
  }
  .about-compass-card img{width:min(250px,75vw)}
  .footer-brand-partners{
    gap:12px!important;
    flex-wrap:nowrap!important;
  }
  .footer-logo{
    width:145px!important;
    max-width:145px!important;
  }
  .footer-compass-logo{
    width:112px!important;
    max-width:112px!important;
  }
  .footer-partner-divider{height:30px!important}

  /* Single article mobile */
  .journal-single-hero{padding:55px 0 45px}
  .journal-single-hero-grid{
    grid-template-columns:1fr;
    gap:28px;
  }
  .journal-single-stamp{display:none}
  .journal-single-title h1{
    font-size:clamp(42px,12vw,58px);
    line-height:.95;
  }
  .journal-single-title>p{
    font-size:17px;
  }
  .journal-single-feature{padding-top:18px}
  .journal-single-image{
    height:62vw;
    min-height:250px;
  }
  .journal-single-reading{padding:58px 0 75px}
  .journal-single-reading-grid{
    grid-template-columns:1fr;
    gap:46px;
  }
  .journal-single-content p,
  .journal-single-content li{
    font-size:17px;
    line-height:1.78;
  }
  .journal-single-content h2{
    font-size:32px;
    margin-top:42px;
  }
  .journal-single-content h3{font-size:25px}
  .journal-single-content blockquote{
    margin:36px 0;
    padding-left:20px;
    font-size:24px;
  }
  .journal-single-aside{
    position:static;
    top:auto;
  }
  .journal-related{padding:70px 0 80px}
  .journal-related-head{
    display:grid;
    gap:18px;
    align-items:start;
  }
  .journal-related-head h2{font-size:43px}
  .journal-related-grid{
    grid-template-columns:1fr;
    gap:18px;
  }
  .journal-related-image{height:230px}
  .journal-related-copy{min-height:0}
  .journal-single-actions{
    flex-direction:column;
    gap:18px;
  }
}

/* Small phone partner lockup */
@media(max-width:390px){
  .header-brand-partners .header-signal-logo{width:108px!important}
  .header-compass-logo{width:68px!important}
  .shg-mobile-drawer{padding-left:20px!important;padding-right:20px!important}
  html body .shg-mobile-drawer-brand .shg-mobile-signal-logo{width:116px!important}
  html body .shg-mobile-drawer-brand .shg-mobile-compass-logo{width:74px!important}
}
