/* Editorial case study, scoped to the new pages. Site navigation and Orion retain their styles. */
.case-study-page #main-content { background: #101c1c; color: #f2f1e8; padding: 110px 0 70px; }
.case-wrap { width: min(1120px, 90vw); margin: auto; }
.case-back { font-size: 14px; margin: 0 0 36px; }
.case-back a, .case-toc a, .case-byline a { color: #c4d2c8; text-decoration: none; }
.case-back a:hover, .case-toc a:hover, .case-byline a:hover { text-decoration: underline; }
.case-hero { padding: 0 0 42px; max-width: 970px; }
.case-kicker { font-size: 12px; color: #c6dfb2; letter-spacing: .14em; }
.case-hero h1 { font-size: clamp(36px, 5.1vw, 64px); letter-spacing: -.04em; line-height: 1.18; font-weight: 500; margin: 20px 0 26px; }
.case-intro { font-size: 22px; line-height: 1.55; max-width: 680px; color: #c8d5cc; }
.case-byline { font-size: 14px; color: #b7c6bd; margin-top: 24px; }
.case-context { display: grid; grid-template-columns: 1fr 1.2fr 1.4fr; border-top: 1px solid #41514a; border-bottom: 1px solid #41514a; padding: 23px 0; gap: 28px; margin: 0 0 58px; }
.case-context dt { font-size: 12px; color: #b7c6bd; margin-bottom: 6px; }
.case-context dd { margin: 0; font-size: 16px; }
.case-body { display: grid; grid-template-columns: 200px minmax(0,760px); gap: 70px; }
.case-toc { align-self: start; position: sticky; top: 110px; font-size: 13px; }
.case-toc a { display: block; margin-bottom: 18px; }
.case-story h2 { font-size: clamp(25px,3vw,34px); letter-spacing: -.025em; margin: 0 0 24px; line-height: 1.18; font-weight: 500; }
.case-story p { font-size: 18px; line-height: 1.7; color: #d0dbd2; margin: 0 0 19px; }
.case-story .case-section { scroll-margin-top: 110px; margin-bottom: 64px; }
.case-demo { background: #e6ebdf; color: #1c3028; padding: 34px; margin: 34px 0; }
.case-demo h3 { color: #1c3028; font-size: 23px; font-weight: 500; line-height: 1.3; margin: 0 0 12px; }
.case-demo .case-demo-note { font-size: 13px; color: #4a5a50; line-height: 1.6; }
.case-demo-controls { display: flex; flex-wrap: wrap; gap: 6px; margin: 25px 0 20px; }
.case-demo-controls button { font: inherit; cursor: pointer; padding: 10px 13px; color: #294133; border: 1px solid #84967e; background: transparent; font-size: 13px; }
.case-demo-controls button[aria-pressed="true"] { background: #263d31; color: #fff; }
.case-demo-panel { margin-top: 20px; }
.case-demo-panel p { color: #3a4e41; font-size: 16px; }
.case-demo-panel h4 { color: #1c3028; font-size: 20px; font-weight: 500; line-height: 1.4; margin: 0 0 15px; }
.case-demo [hidden] { display: none; }
.case-end { background: #21352e; padding: 40px; margin-top: 30px; }
.case-end .btn { white-space: normal; max-width: 100%; }
.case-story .case-source-note { font-size: 13px; color: #b7c5bb; margin-top: 30px; }
.case-related a { color: #d4e8be; text-decoration: underline; }
.case-wrap a:focus-visible, .case-wrap button:focus-visible { outline: 3px solid #98bd79; outline-offset: 5px; }
@media (max-width: 760px) {
  .case-study-page #main-content { padding-top: 96px; }
  .case-body { display: block; }
  .case-toc { position: static; display: flex; gap: 16px; flex-wrap: wrap; margin-bottom: 32px; }
  .case-toc a { margin: 0; }
  .case-context { grid-template-columns: 1fr; gap: 16px; margin-bottom: 32px; }
  .case-hero { padding-bottom: 30px; }
  .case-intro { font-size: 19px; }
  .case-demo, .case-end { padding: 24px 20px; }
  .case-story p { font-size: 17px; }
  .case-story .case-section { margin-bottom: 45px; }
}
