@font-face {
  font-family: Soehne;
  src: url(https://playfordpartners.com/fonts/soehne-leicht.woff2) format("woff2");
  font-weight: 300;
  font-display: swap;
}
@font-face {
  font-family: Soehne;
  src: url(https://playfordpartners.com/fonts/soehne-buch.woff2) format("woff2");
  font-weight: 400;
  font-display: swap;
}

.smore-nav {
  position: relative;
  z-index: 2;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  padding: 44px 48px;
  font-family: Soehne, "Helvetica Neue", Helvetica, Arial, sans-serif;
  -webkit-font-smoothing: antialiased;
}

.smore-nav__word {
  font-size: 21px;
  font-weight: 400;
  letter-spacing: -0.01em;
  text-decoration: none;
}

.smore-nav__signin {
  font-size: 14px;
  font-weight: 400;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  text-decoration: none;
  transition: color 0.4s ease;
}

/* Dark hero (case studies index) */
.smore-nav--dark .smore-nav__word { color: #F5F4F0; }
.smore-nav--dark .smore-nav__signin { color: rgba(245, 244, 240, 0.6); }
.smore-nav--dark .smore-nav__signin:hover { color: #F5F4F0; }

/* Light pages (individual reports on cream) */
.smore-nav--light .smore-nav__word { color: #2C2A28; }
.smore-nav--light .smore-nav__signin { color: #8C857B; }
.smore-nav--light .smore-nav__signin:hover { color: #2C2A28; }

/* ---------- Shared gradient hero band (all case-study pages) ---------- */
.cs-hero {
  background: linear-gradient(180deg, #2B3340 0%, #33373C 30%, #3D3C39 52%, #443F35 72%, #52462F 88%, #5C4D36 100%);
  font-family: Soehne, "Helvetica Neue", Helvetica, Arial, sans-serif;
}

.cs-hero__inner {
  max-width: 800px;
  margin: 0 auto;
  padding: clamp(40px, 7vh, 72px) 48px clamp(64px, 10vh, 120px);
}

/* Full-width nav (matches homepage: edge-to-edge, 48px gutters) */
.cs-hero .smore-nav {
  padding: 44px 48px;
  margin: 0;
}

/* Report hero content sitting on the gradient */
.cs-hero .hero,
.cs-hero header {
  padding: 0;
  overflow: visible;
}
.cs-hero .hero::before,
.cs-hero header::before { display: none; }

.cs-hero .hero-eyebrow {
  color: rgba(245, 244, 240, 0.55);
}
.cs-hero .hero-eyebrow::before {
  background: rgba(245, 244, 240, 0.55);
}

.cs-hero h1 {
  font-size: clamp(36px, 5.5vw, 68px);
  font-weight: 300;
  letter-spacing: -0.035em;
  line-height: 1.06;
  color: #F5F4F0;
  text-wrap: balance;
}
.cs-hero h1 em { color: #F5F4F0; opacity: 0.78; font-style: normal; }

.cs-hero .hero-sub,
.cs-hero .subtitle {
  color: rgba(245, 244, 240, 0.6);
  font-size: clamp(17px, 1.5vw, 21px);
  line-height: 1.75;
  max-width: 680px;
}

.cs-hero .hero-meta { color: rgba(245, 244, 240, 0.5); }
.cs-hero .hero-meta span { color: rgba(245, 244, 240, 0.5); }
.cs-hero .hero-meta span strong { color: #F5F4F0; }

.cs-hero .thread-link {
  background: rgba(245, 244, 240, 0.08);
  border-color: rgba(245, 244, 240, 0.18);
  color: #F5F4F0;
}
.cs-hero .thread-link:hover { border-color: rgba(245, 244, 240, 0.5); }

@media (max-width: 768px) {
  .smore-nav { padding: 28px 24px; }
  .cs-hero .smore-nav { padding: 28px 24px; }
  .cs-hero__inner { padding-left: 24px; padding-right: 24px; }
  .cs-footer-wrap { padding-left: 24px; padding-right: 24px; }
}

/* ---------- Shared footer (matches homepage frame) ---------- */
.cs-footer-wrap {
  background: #F5F4F0;
  padding: clamp(80px, 9vw, 140px) 48px 0;
  font-family: Soehne, "Helvetica Neue", Helvetica, Arial, sans-serif;
}

.cs-footer {
  max-width: 1240px;
  margin: 0 auto;
  padding: 40px 0 52px;
  border-top: 1px solid #E3E0D8;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  flex-wrap: wrap;
}

.cs-footer__lead {
  display: flex;
  align-items: baseline;
  gap: 40px;
  flex-wrap: wrap;
}
.cs-footer__lead p { margin: 0; font-size: 14px; font-weight: 400; color: #8C857B; }
.cs-footer__pitch {
  white-space: nowrap;
  font-size: 14px;
  font-weight: 400;
  color: #2C2A28;
  text-decoration: none;
  border-bottom: 1px solid rgba(44, 42, 40, 0.3);
  padding-bottom: 2px;
  transition: border-color 0.4s ease;
}
.cs-footer__pitch:hover { border-color: rgba(44, 42, 40, 0.85); }

.cs-footer__meta { display: flex; align-items: center; gap: 24px; flex-wrap: wrap; }
.cs-footer__meta p { margin: 0; font-size: 13px; font-weight: 400; color: #B0A89E; }
.cs-footer__meta nav { display: flex; gap: 20px; flex-wrap: wrap; }
.cs-footer__meta nav a { font-size: 13px; font-weight: 400; color: #8C857B; text-decoration: none; }
.cs-footer__meta nav a:hover { color: #2C2A28; }
