@import url('https://fonts.googleapis.com/css2?family=Sora:wght@500;600;700;800&family=Source+Sans+3:wght@400;500;600;700&display=swap');

:root{
  --case-ink:#2B3430;
  --case-deep:#1F2B27;
  --case-forest:#2F634E;
  --case-sage:#71806C;
  --case-clay:#B86448;
  --case-cream:#F7F0E5;
  --case-sand:#D9C6AE;
  --case-card:#FFFDF8;
  --case-line:#D7CEC1;
  --case-muted:#59665F;
  --case-max:1180px;
}

.case-study-page{
  background:var(--case-cream);
  color:var(--case-ink);
  font-family:"Source Sans 3",Arial,sans-serif;
}

/* Shared project-page header */
.case-study-page > header,
.case-study-page .top{
  background:var(--case-deep);
  color:var(--case-cream);
  border-bottom:1px solid rgba(255,255,255,.1);
}
.case-study-page .top{
  min-height:72px;
  padding:0 max(20px,calc((100vw - var(--case-max))/2));
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
}
.case-study-page .top-left{
  width:100%;
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:22px;
}
.case-study-page .top > small{display:none}
.case-study-page .brand{
  font-family:Sora,sans-serif;
  font-weight:700;
  color:var(--case-cream);
}
.case-study-page .site-nav,
.case-study-page .navlinks{
  display:flex;
  align-items:center;
  gap:22px;
  flex-wrap:wrap;
}
.case-study-page .site-nav a,
.case-study-page .navlinks a{
  color:var(--case-sand);
  font-size:15px;
  font-weight:600;
  text-decoration:none;
}
.case-study-page .site-nav .cta,
.case-study-page .navlinks .cta{
  background:var(--case-clay);
  color:#fff;
  border:0;
  border-radius:0;
  padding:11px 16px;
}

/* Common type hierarchy */
.case-study-page h1,
.case-study-page h2,
.case-study-page h3{
  font-family:Sora,sans-serif;
}
.case-study-page .eyebrow,
.case-study-page .kicker{
  font-family:Sora,sans-serif;
  font-size:12px;
  font-weight:700;
  letter-spacing:.15em;
  text-transform:uppercase;
}
.case-study-page .kicker{color:var(--case-clay)}
.case-study-page .intro{
  color:var(--case-muted);
  font-size:19px;
  max-width:1100px;
}

/* Older case-study shells now follow the same full-width pattern as Safety. */
.legacy-case .layout{
  display:block;
  max-width:none;
  margin:0;
  background:var(--case-cream);
}
.legacy-case .layout > .nav{display:none}
.legacy-case main{
  min-width:0;
  background:var(--case-cream);
}
.legacy-case .hero{
  display:block;
  min-height:0;
  padding:82px max(20px,calc((100vw - var(--case-max))/2)) 72px;
  background:var(--case-deep);
  color:var(--case-cream);
  border-bottom:8px solid var(--case-clay);
}
.legacy-case .hero-inner{
  max-width:var(--case-max);
  margin:0;
}
.legacy-case .hero .eyebrow{color:var(--case-sand)}
.legacy-case .hero h1{
  margin:12px 0 18px;
  color:var(--case-cream);
  font-size:clamp(44px,6vw,68px);
  line-height:.99;
  letter-spacing:-.04em;
  max-width:14ch;
}
.legacy-case .hero .lede{
  max-width:820px;
  color:var(--case-sand);
  font-size:21px;
  line-height:1.48;
}
.legacy-case .hero .disclosure{
  max-width:820px;
  margin-top:24px;
  padding:14px 18px;
  border-left:4px solid var(--case-clay);
  background:rgba(255,255,255,.06);
  color:var(--case-sand);
}
.legacy-case .section{
  padding:72px max(20px,calc((100vw - var(--case-max))/2));
  border-bottom:0;
  background:var(--case-cream);
}
.legacy-case .section.alt,
.legacy-case .section.tint{
  background:var(--case-card);
}
.legacy-case .section > .wrap{
  max-width:none;
  margin:0;
}
.legacy-case .section h2{
  color:var(--case-ink);
  font-size:clamp(32px,4vw,48px);
  line-height:1.06;
  letter-spacing:-.03em;
  margin:8px 0 16px;
  max-width:none;
}
.legacy-case .section h3{color:var(--case-ink)}
.legacy-case .section p{color:var(--case-ink)}
.legacy-case .section .intro{color:var(--case-muted)}
.legacy-case .card,
.legacy-case .module,
.legacy-case .fact,
.legacy-case .stage,
.legacy-case .role,
.legacy-case .team,
.legacy-case .sim-box,
.legacy-case .step,
.legacy-case .status,
.legacy-case .demo-shell,
.legacy-case .visual,
.legacy-case .behind{
  border-radius:0;
  border-color:var(--case-line);
}
.legacy-case .card,
.legacy-case .module,
.legacy-case .fact,
.legacy-case .stage,
.legacy-case .team,
.legacy-case .sim-box,
.legacy-case .step{
  background:var(--case-card);
  box-shadow:0 10px 28px rgba(31,43,39,.05);
}
.legacy-case .decision,
.legacy-case .behind,
.legacy-case .governance{
  border-left-color:var(--case-sage);
  background:#EEF2ED;
}
.legacy-case .btn{
  border-radius:0;
}


/* Dark evidence-boundary panels must stay legible after shared section color overrides. */
.legacy-case .status,
.legacy-case .boundary{
  background:var(--case-deep);
  color:var(--case-cream);
}
.legacy-case .status h3,
.legacy-case .boundary h3{
  color:var(--case-cream);
}
.legacy-case .status p,
.legacy-case .boundary p,
.legacy-case .status li,
.legacy-case .boundary li{
  color:var(--case-sand);
}

/* Consistent end-of-case CTA */
.case-project-cta{
  padding:0 max(20px,calc((100vw - var(--case-max))/2)) 72px;
  background:var(--case-cream);
}
.case-project-cta-inner{
  background:var(--case-deep);
  color:var(--case-cream);
  border-left:8px solid var(--case-clay);
  padding:32px 36px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:28px;
}
.case-project-cta h2{
  margin:0 0 8px;
  color:var(--case-cream)!important;
  font:800 30px/1.08 Sora,sans-serif!important;
  letter-spacing:-.02em;
}
.case-project-cta p{
  margin:0;
  color:var(--case-sand)!important;
  max-width:680px;
}
.case-project-cta-actions{
  display:flex;
  gap:14px;
  flex-wrap:wrap;
  flex:none;
}
.case-project-cta a{
  display:inline-block;
  padding:13px 18px;
  font:700 15px/1.2 Sora,sans-serif;
}
.case-project-cta .primary{
  background:var(--case-clay);
  color:#fff;
}
.case-project-cta .secondary{
  border:2px solid var(--case-cream);
  color:var(--case-cream);
}

/* Shared footer */
.case-study-page .footer,
.case-study-page > footer{
  background:var(--case-deep);
  color:var(--case-sand);
  padding:28px max(20px,calc((100vw - var(--case-max))/2)) 36px;
}
.case-study-page .footer .foot-inner{
  max-width:none;
  margin:0;
}
.case-study-page .footer a,
.case-study-page > footer a{color:var(--case-cream)}
.case-study-page .footer .small{color:var(--case-sand)!important}

/* Safety keeps its custom content layouts; common chrome only. */
.case-study-page:not(.legacy-case) > footer{
  margin-top:0;
}

@media(max-width:900px){
  .case-project-cta-inner{
    flex-direction:column;
    align-items:flex-start;
  }
}
@media(max-width:760px){
  .case-study-page .top{
    padding:14px 20px;
  }
  .case-study-page .top-left{
    flex-direction:column;
    align-items:flex-start;
  }
  .legacy-case .hero,
  .legacy-case .section{
    padding-left:22px;
    padding-right:22px;
  }
}