/* Case studies use the existing Montserrat / Geologica brand and one dark theme. */
body.case-page { color: var(--home-paper); background: var(--home-bg-deep); }
.case-page :focus-visible { outline-color: var(--home-turquoise-light); }
.case-page h1, .case-page h2, .case-page h3 { font-family: var(--home-display); font-weight: 650; letter-spacing: -.045em; line-height: 1.12; }
.case-page h1 { font-size: clamp(40px, 4.3vw, 66px); font-weight: 740; line-height: 1.05; }
.case-page h2 { font-size: clamp(28px, 2.8vw, 42px); }
.case-page h3 { font-size: clamp(21px, 1.9vw, 28px); }
.case-page .home-button { white-space: nowrap; }
.case-kicker { color: var(--home-turquoise); font-size: 14px; font-weight: 400; }
.case-index-hero { padding: 40px 0 42px; }
.case-index-hero h1 { margin-top: 16px; }
.case-index-hero > div > p:last-child { max-width: 620px; margin-top: 22px; color: var(--home-text-muted); }
.case-index-list { padding-bottom: 84px; }
.case-feature { display: grid; grid-template-columns: .8fr 1.2fr; border: 1px solid var(--home-line-dark); border-radius: 6px; overflow: hidden; }
.case-feature__visual { padding: 36px 44px; background: radial-gradient(ellipse at 0 100%, rgba(42,232,198,.1), transparent 65%), var(--home-bg-soft); }
.case-feature__visual img { width: 240px; height: auto; }
.case-feature__number { margin-top: 35px !important; font-family: var(--home-display); font-size: clamp(66px, 6.6vw, 100px); line-height: 1; font-weight: 740; letter-spacing: -.07em; }
.case-feature__number span { display: block; margin-top: 12px; font-family: var(--home-body); font-size: 17px; font-weight: 300; line-height: 1.5; letter-spacing: 0; }
.case-feature__mail { margin-top: 30px !important; color: var(--home-turquoise); font-family: var(--home-display); font-size: 28px; font-weight: 600; }
.case-feature__mail span { display: block; color: var(--home-text-muted); font-family: var(--home-body); font-size: 14px; font-weight: 300; }
.case-feature__copy { padding: 36px 44px; display: flex; flex-direction: column; align-items: flex-start; }
.case-meta { color: var(--home-text-muted); font-size: 13px; }
.case-feature h2 { margin-top: 22px; font-size: clamp(25px, 2.4vw, 35px); }
.case-feature__copy > p:not(.case-meta) { max-width: 630px; margin-top: 20px; color: var(--home-text-muted); font-size: 16px; line-height: 1.6; }
.case-feature__copy p.case-feature__scope { margin-top: 20px; font-size: 13px; }
.case-feature .home-button { margin-top: 28px; }
.case-index-note { margin-top: 24px !important; color: var(--home-text-muted); font-size: 15px; }
.case-index-note a, .case-service-links a { color: var(--home-turquoise); text-underline-offset: 5px; }
.case-index-note a:hover, .case-service-links a:hover { text-decoration: underline; }
.case-breadcrumb { display: flex; align-items: center; gap: 14px; color: var(--home-text-muted); font-size: 14px; }
.case-breadcrumb a:hover { color: var(--home-turquoise); }
.case-detail-hero { padding: 28px 0 64px; }
.case-detail-hero__grid { display: grid; grid-template-columns: 1.15fr .85fr; gap: clamp(48px, 6vw, 92px); align-items: center; margin-top: 38px; }
.case-detail-hero h1 { margin-top: 20px; }
.case-detail-hero h1 em { color: var(--home-turquoise); font-style: normal; }
.case-detail-hero__lead { max-width: 565px; margin-top: 24px !important; color: var(--home-text-muted); font-size: 18px; }
.case-detail-hero .home-button { margin-top: 30px; }
.case-result { padding: 32px; border: 1px solid var(--home-line-dark); border-radius: 6px; background: var(--home-bg-soft); }
.case-result img { width: 240px; height: auto; }
.case-result__number { margin-top: 38px !important; font-family: var(--home-display); font-size: clamp(38px, 4.6vw, 64px); font-weight: 720; line-height: 1; letter-spacing: -.06em; white-space: nowrap; }
.case-result__number span { color: var(--home-turquoise); }
.case-result__number + p { margin-top: 16px; font-size: 15px; color: var(--home-text-muted); }
.case-result dl { margin-top: 28px; padding-top: 20px; border-top: 1px solid var(--home-line-dark); }
.case-result dl div { display: grid; grid-template-columns: 88px 1fr; gap: 16px; margin-top: 10px; font-size: 13px; line-height: 1.5; }
.case-result dt { color: var(--home-text-muted); }
.case-story, .case-work, .case-outcome, .case-conclusion { padding-block: 72px; border-top: 1px solid var(--home-line-dark); }
.case-story__grid, .case-conclusion__grid { display: grid; grid-template-columns: 1fr 1.15fr; gap: clamp(48px, 7vw, 100px); }
.case-story__context { margin-top: 26px !important; color: var(--home-text-muted); font-size: 16px; max-width: 510px; }
.case-story__body p, .case-conclusion__grid > div > p { max-width: 670px; font-size: 17px; line-height: 1.65; color: var(--home-text-muted); }
.case-story__body p + p, .case-conclusion__grid > div > p + p { margin-top: 22px; }
.case-story__body p.case-takeaway { margin-top: 32px; padding-left: 22px; border-left: 2px solid var(--home-turquoise); color: var(--home-paper); font-size: 21px; font-weight: 400; line-height: 1.5; }
.case-work__steps { margin-top: 38px !important; }
.case-work__steps li { display: grid; grid-template-columns: 64px 1fr 140px; gap: 30px; padding: 28px 0; }
.case-work__steps li + li { border-top: 1px solid var(--home-line-dark); }
.case-step-number { color: var(--home-turquoise); font-family: var(--home-display); font-size: 24px; line-height: 1.2; font-weight: 600; }
.case-work__steps p { max-width: 830px; margin-top: 12px; font-size: 16px; color: var(--home-text-muted); line-height: 1.6; }
.case-step-tag { color: var(--home-text-muted); font-size: 13px; text-align: right; }
.case-outcome__metrics { display: grid; grid-template-columns: 1fr 1.4fr 1.1fr; margin-top: 44px; gap: 40px; }
.case-outcome__metrics strong { color: var(--home-turquoise); font-family: var(--home-display); font-size: clamp(33px, 3.6vw, 53px); line-height: 1; font-weight: 720; letter-spacing: -.05em; white-space: nowrap; }
.case-outcome__metrics p { margin-top: 18px; font-size: 16px; line-height: 1.5; }
.case-evidence { max-width: 880px; margin-top: 40px !important; color: var(--home-text-muted); font-size: 14px; }
.case-boundaries { max-width: 880px; margin-top: 24px; color: var(--home-text-muted); font-size: 14px; }
.case-boundaries summary { cursor: pointer; padding: 12px 0; color: var(--home-paper); }
.case-boundaries p { padding: 12px 0; }
.case-service-links { display: flex; flex-wrap: wrap; gap: 16px 30px; margin-top: 28px; font-size: 15px; }
.case-page .home-section--contact { border-top: 1px solid var(--home-line-dark); background: var(--home-bg-deep); }
/* Basic overflow protection. Mobile design is scheduled after desktop approval. */
@media (max-width: 920px) {
  .case-feature, .case-detail-hero__grid, .case-story__grid, .case-conclusion__grid { grid-template-columns: 1fr; }
  .case-feature__copy, .case-feature__visual { padding: 30px; }
  .case-work__steps li { grid-template-columns: 42px 1fr; gap: 20px; }
  .case-step-tag { display: none; }
  .case-outcome__metrics { grid-template-columns: 1fr; gap: 30px; }
}
