:root {
  --accent: #8edb35;
  --accent-deep: #237a22;
  --secondary: #315b66;
}

/* DTX-only additions: the shared BHBT stylesheet stays unchanged. */
.hero-tagline {
  max-width: 680px;
  margin: 28px 0 0;
  color: var(--accent);
  font: 400 27px/1.2 Georgia, "Times New Roman", serif;
}
.hero-tagline + .hero-lede {
  margin-top: 14px;
  font-size: 21px;
}
.process-icon {
  display: inline-grid;
  width: 42px;
  height: 42px;
  place-items: center;
  margin-bottom: 52px;
  border: 1px solid var(--accent-deep);
  color: var(--accent-deep);
}
.process-icon svg { width: 23px; height: 23px; }
.case-preview { background: #eef2e9; }
.case-preview .section-heading-row { margin-bottom: 36px; }
.case-preview .button { margin-top: 24px; }
.case-preview-list { margin: 0; padding: 0; list-style: none; border-top: 1px solid #cbd5c6; }
.case-preview-list a {
  display: grid;
  grid-template-columns: 88px minmax(220px, .85fr) minmax(240px, 1fr) 30px;
  gap: 24px;
  align-items: center;
  padding: 27px 0;
  border-bottom: 1px solid #cbd5c6;
  text-decoration: none;
}
.case-preview-list a:hover { color: var(--accent-deep); }
.case-preview-list strong { font: 400 28px/1.15 Georgia, "Times New Roman", serif; }
.case-preview-list .preview-copy { color: var(--muted); font-size: 16px; }
.case-preview-list .preview-arrow { font-size: 25px; text-align: right; }
.case-label { color: var(--accent-deep); font-size: 12px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }

.case-page :where(section[id], article[id], nav[id], h1[id]) { scroll-margin-top: calc(var(--header-height) + 24px); }
.case-page .nav-links a[aria-current="page"] { color: var(--accent); }
.case-hero {
  position: relative;
  overflow: hidden;
  background: #171f19;
  color: white;
  padding: 142px 0 65px;
}
.case-hero::after { content: ""; position: absolute; inset: 0; pointer-events: none; background: linear-gradient(110deg, #171f19 15%, rgba(23,31,25,.9) 60%, rgba(23,31,25,.72)); }
.case-hero > img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center 35%; opacity: .45; }
.case-hero .section-inner { position: relative; z-index: 1; }
.case-breadcrumb { display: inline-block; color: #c7d3c9; font-size: 13px; margin-bottom: 38px; }
.case-hero-grid { display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(260px, .6fr); gap: 72px; align-items: end; }
.case-hero h1 { margin: 0; max-width: 850px; font: 400 clamp(46px, 5.8vw, 82px)/1.02 Georgia, "Times New Roman", serif; }
.case-hero h1 em { color: var(--accent); font-style: normal; }
.case-hero .hero-lede { max-width: 720px; font-size: clamp(18px, 1.7vw, 23px); }
.case-hero-aside { padding-left: 25px; border-left: 2px solid var(--accent); }
.case-hero-aside p { margin: 0; color: #d0d9d1; }
.case-hero-aside strong { display: block; margin-bottom: 14px; color: white; font: 400 29px/1.15 Georgia, "Times New Roman", serif; }
.case-hero-bottom { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 22px; margin-top: 60px; padding-top: 24px; border-top: 1px solid #56604e; }
.case-hero-bottom p { margin: 0; max-width: 720px; color: #c0cbbf; font-size: 13px; }
.case-hero-bottom a { font-size: 14px; font-weight: 750; color: var(--accent); }

.case-directory { padding: 42px 0; background: white; border-bottom: 1px solid var(--line); }
.case-directory .section-kicker { margin-bottom: 20px; }
.case-directory ol { display: grid; grid-template-columns: repeat(5, minmax(0,1fr)); gap: 0; margin: 0; padding: 0; list-style: none; }
.case-directory li { border-left: 1px solid var(--line); }
.case-directory li:first-child { border-left: 0; }
.case-directory a { display: flex; flex-direction: column; gap: 12px; height: 100%; padding: 0 24px; font-size: 15px; font-weight: 700; text-decoration: none; }
.case-directory li:first-child a { padding-left: 0; }
.case-directory a:hover { color: var(--accent-deep); }
.case-directory span { font-size: 12px; color: var(--accent-deep); }

.growth-lens { padding: 76px 0; background: #edf2e9; }
.growth-lens .section-heading-row { margin-bottom: 36px; }
.growth-lens .section-title { font-size: clamp(34px,4vw,54px); }
.growth-drivers { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 36px; padding-top: 30px; border-top: 1px solid #cbd5c6; }
.growth-drivers h3 { margin: 0 0 12px; font: 400 26px/1.15 Georgia, "Times New Roman", serif; }
.growth-drivers p { margin: 0; color: var(--muted); font-size: 16px; }
.growth-note { margin: 30px 0 0; padding-left: 20px; border-left: 3px solid var(--accent-deep); color: #3c493a; }

.case-study { padding: 85px 0; background: white; border-bottom: 1px solid var(--line); }
.case-study:nth-child(even) { background: #f5f6f2; }
.case-study-grid { display: grid; grid-template-columns: minmax(0,.85fr) minmax(0,1.15fr); gap: 84px; }
.case-study-heading .section-kicker { margin-bottom: 22px; }
.case-study-heading h2 { margin: 0; font: 400 clamp(34px,3.6vw,50px)/1.08 Georgia, "Times New Roman", serif; }
.case-study-heading .case-setting { margin: 23px 0; color: var(--muted); }
.case-question { margin: 28px 0 0; padding: 25px 0 0; border-top: 2px solid var(--accent); font: 400 24px/1.28 Georgia, "Times New Roman", serif; }
.case-study-body h3 { margin: 27px 0 10px; font-size: 17px; font-weight: 750; }
.case-study-body h3:first-child { margin-top: 0; }
.case-study-body p { margin: 0; color: var(--muted); }
.case-variables { margin: 32px 0 0; padding: 23px 25px; background: #eaf0e3; }
.case-variables dt { margin: 0 0 10px; color: #253b20; font-size: 12px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
.case-variables dd { margin: 0; font-size: 16px; color: #3d4d38; }
.case-deliverable { grid-column: 1/-1; margin-top: -48px; padding-top: 25px; border-top: 1px solid var(--line); display: grid; grid-template-columns: minmax(0,.85fr) minmax(0,1.15fr); gap: 84px; }
.case-deliverable h3 { margin: 0 0 16px; color: var(--ink); font: 400 25px/1.15 Georgia, "Times New Roman", serif; }
.case-deliverable ul { margin: 0; padding: 0; list-style: none; display: grid; gap: 10px; }
.case-deliverable li { position: relative; padding-left: 22px; color: var(--muted); font-size: 16px; }
.case-deliverable li::before { content: ""; position: absolute; left: 0; top: .68em; width: 9px; height: 2px; background: var(--accent); }
.case-deliverable a { align-self: start; font-size: 14px; font-weight: 700; color: var(--accent-deep); }
.case-method .section-heading-row { margin-bottom: 40px; }
.case-method .process-step .step-index { margin-bottom: 30px; }
.case-method .process-step { min-height: 260px; }
.case-foundation { margin-top: 34px; padding-top: 25px; border-top: 1px solid var(--line); display: grid; grid-template-columns: .85fr 1.15fr; gap: 40px; }
.case-foundation h3 { margin: 0; font: 400 26px/1.15 Georgia, "Times New Roman", serif; }
.case-foundation p { margin: 0; color: var(--muted); }
.case-page .contact-details .button { align-self: start; justify-self: start; background: #171f19; color: white; }
.case-page .contact-details .button:hover { background: white; color: var(--ink); }

/* Three-business operating analysis and the supplied market-screen concept. */
.fuel-case-links { display: grid; gap: 13px; margin-top: 30px; }
.fuel-case-links a { color: var(--accent-deep); font-size: 14px; font-weight: 750; }
.case-page :where(h3[id], .fuel-market-screen[id]) { scroll-margin-top: calc(var(--header-height) + 24px); }
.operating-views { margin: 28px 0; border-top: 1px solid var(--line); }
.operating-views > div { padding: 20px 0; border-bottom: 1px solid var(--line); }
.operating-views dt { margin-bottom: 8px; color: #253b20; font-size: 15px; font-weight: 800; }
.operating-views dd { margin: 0; color: var(--muted); }
.case-study-body .case-session-note { margin-top: 20px; padding-left: 20px; border-left: 3px solid var(--accent); font-size: 15px; }
.fuel-analysis-questions { margin: 22px 0; padding-left: 22px; color: var(--muted); }
.fuel-analysis-questions li { padding: 0 0 12px 5px; }
.fuel-analysis-questions li::marker { color: var(--accent-deep); }
.fuel-market-screen { grid-column: 1/-1; padding: 38px; background: #edf2e9; }
.market-screen-heading { display: grid; grid-template-columns: 1.1fr .9fr; gap: 48px; align-items: end; margin-bottom: 32px; }
.market-screen-heading h3 { margin: 0; font: 400 clamp(30px,3.3vw,43px)/1.1 Georgia, "Times New Roman", serif; }
.market-screen-heading > p { margin: 0; color: var(--muted); }
.market-reference-layout { display: grid; grid-template-columns: minmax(0,1.35fr) minmax(0,.65fr); gap: 34px; align-items: start; }
.market-reference { margin: 0; min-width: 0; }
.market-reference > a { display: block; border: 1px solid #c4cec0; background: white; }
.market-reference img { width: 100%; height: auto; }
.market-reference figcaption { margin-top: 14px; color: #53604f; font-size: 13px; line-height: 1.5; }
.market-reference figcaption strong { color: #33432e; }
.market-reference figcaption a { display: inline-block; margin-top: 7px; color: var(--accent-deep); font-weight: 750; }
.market-lenses { min-width: 0; }
.market-lenses > div { padding: 20px 0; border-top: 1px solid #c7d1c1; }
.market-lenses h4 { margin: 0 0 10px; font: 400 25px/1.15 Georgia, "Times New Roman", serif; }
.market-lenses p:not(.section-kicker) { margin: 0; color: var(--muted); font-size: 16px; }
.market-screen-steps { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 34px 44px; margin-top: 40px; padding-top: 30px; border-top: 1px solid #c7d1c1; }
.market-screen-steps span { display: block; margin-bottom: 12px; color: var(--accent-deep); font-size: 13px; font-weight: 800; }
.market-screen-steps h4 { margin: 0 0 12px; font: 400 25px/1.15 Georgia, "Times New Roman", serif; }
.market-screen-steps p { margin: 0; color: var(--muted); font-size: 16px; }
.market-decision { margin-top: 34px; padding: 28px; background: white; border-left: 4px solid var(--accent-deep); }
.market-decision h4 { margin: 0 0 14px; font: 400 28px/1.15 Georgia, "Times New Roman", serif; }
.market-decision p { margin: 12px 0 0; color: var(--muted); font-size: 16px; }
.market-source-note { margin: 24px 0 0; color: #53604f; font-size: 13px; }
.market-source-note a { color: var(--accent-deep); font-weight: 750; }

.fuel-visual-section { grid-column: 1/-1; min-width: 0; }
.fuel-visual-heading { display: grid; grid-template-columns: 1.1fr .9fr; align-items: end; gap: 48px; margin-bottom: 28px; }
.fuel-visual-heading h3 { margin: 0; font: 400 clamp(30px,3.3vw,43px)/1.1 Georgia, "Times New Roman", serif; }
.fuel-visual-heading > p { margin: 0; color: var(--muted); }
.fuel-infographic { margin: 0; }
.fuel-infographic > a { display: block; border: 1px solid var(--line); background: white; }
.fuel-infographic img { width: 100%; height: auto; }
.fuel-infographic figcaption { margin-top: 14px; color: var(--muted); font-size: 14px; }
.fuel-infographic figcaption a { display: inline-block; color: var(--accent-deep); font-weight: 750; }

@media (max-width: 1000px) {
  .case-study-grid, .case-deliverable { gap: 45px; }
  .case-deliverable { margin-top: -12px; }
  .case-hero-grid { gap: 40px; }
  .case-preview-list a { grid-template-columns: 78px minmax(180px,.85fr) minmax(200px,1fr) 20px; gap: 18px; }
}
@media (max-width: 900px) {
  .fuel-visual-heading { grid-template-columns: 1fr; gap: 22px; }
  .market-screen-heading, .market-reference-layout { grid-template-columns: 1fr; gap: 28px; }
  .fuel-market-screen { padding: 28px; }
  .case-hero-grid { grid-template-columns: 1fr; }
  .case-hero-aside { max-width: 650px; }
  .case-directory ol { grid-template-columns: repeat(3,minmax(0,1fr)); row-gap: 28px; }
  .case-directory li:nth-child(4) { border-left: 0; }
  .case-directory li:nth-child(4) a { padding-left: 0; }
  .case-study-grid, .case-deliverable, .case-foundation { grid-template-columns: 1fr; gap: 30px; }
  .case-deliverable { margin-top: 0; }
  .case-question { max-width: 650px; }
}
@media (max-width: 620px) {
  .hero-tagline { font-size: 22px; }
  .hero-tagline + .hero-lede { font-size: 18px; }
  .process-icon { margin-bottom: 28px; }
  .fuel-market-screen { padding: 24px 18px; }
  .market-screen-steps { grid-template-columns: 1fr; gap: 28px; }
  .market-decision { padding: 22px; }
  .case-hero { padding-top: 103px; padding-bottom: 38px; }
  .case-breadcrumb { margin-bottom: 26px; }
  .case-hero-bottom { margin-top: 36px; }
  .case-hero-aside strong { font-size: 25px; }
  .case-directory ol { grid-template-columns: 1fr; gap: 0; }
  .case-directory li { border-left: 0; border-bottom: 1px solid var(--line); }
  .case-directory a, .case-directory li:first-child a, .case-directory li:nth-child(4) a { flex-direction: row; align-items: baseline; gap: 18px; padding: 15px 0; }
  .growth-drivers { grid-template-columns: 1fr; gap: 27px; }
  .growth-lens, .case-study { padding: 58px 0; }
  .case-preview-list a { grid-template-columns: 70px 1fr 24px; gap: 12px; }
  .case-preview-list strong { font-size: 24px; }
  .case-preview-list .preview-copy { grid-column: 2; grid-row: 2; }
  .case-preview-list .preview-arrow { grid-column: 3; grid-row: 1/3; }
  .case-variables { padding: 20px; }
}
