/* Homepage middle composition. Shared home-v2.css remains read-only. */
.lighter-home .lighter-section-title { max-width: 20ch; color: var(--lighter-ink); font-size: clamp(2rem, 3.2vw, 3.1rem); font-weight: 700; line-height: 1.12; letter-spacing: -0.052em; text-wrap: balance; }
.lighter-home .lighter-route-copy p a { color: var(--lighter-green); font-weight: 700; text-decoration: underline; text-underline-offset: 4px; }
.lighter-home .lighter-final-step .lighter-supporting { margin-top: 0; line-height: 1.78; }
#route-title .lighter-headline-accent { color: var(--lighter-green); }
#flight-path .lighter-outcome-checklist { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 28px; min-width: 0; margin: 0; padding: 0; list-style: none; }
#flight-path .lighter-outcome-checklist li { display: flex; align-items: baseline; gap: 14px; padding-block: 20px; border-bottom: 1px solid var(--lighter-faint-line); color: var(--lighter-ink); font-size: clamp(1rem, 1.5vw, 1.2rem); line-height: 1.6; }
#flight-path .lighter-outcome-checklist .outcome-check { flex: 0 0 1em; color: var(--lighter-green); font-size: 1rem; }

/* Three instruments on one open mint surface. */
.lighter-home #owner-outcomes { --middle-wash: #e7efe4; --middle-muted: #4e6258; padding-block: 96px; background: var(--middle-wash); }
.lighter-home #owner-outcomes .home-benefits { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); column-gap: 40px; row-gap: 0; margin: 40px 0 0; padding: 0; list-style: none; }
.lighter-home #owner-outcomes .home-benefits > li { position: relative; min-width: 0; display: grid; grid-template-rows: subgrid; grid-row: span 4; align-content: start; }
.lighter-home #owner-outcomes .home-benefits > li + li::before { content: ""; position: absolute; top: 0; bottom: 0; left: -20px; border-left: 1px solid var(--lighter-line); }
.lighter-home #owner-outcomes .home-benefit-instrument { display: block; width: 48px; height: 48px; margin-bottom: 20px; color: var(--lighter-green); }
.lighter-home #owner-outcomes .home-benefit-label { margin: 0; color: var(--lighter-green); font-size: 36px; font-weight: 700; line-height: 1.12; letter-spacing: -.035em; }
.lighter-home #owner-outcomes .home-benefit-statement { margin: 12px 0 0; color: var(--lighter-ink); font-size: 20px; font-weight: 600; letter-spacing: -.02em; line-height: 1.3; }
.lighter-home #owner-outcomes .home-benefit-body { margin-top: 16px; color: var(--middle-muted); font-size: 16px; line-height: 1.7; }

/* Connected priorities, knowledge and visibility on one forest surface. */
.lighter-home #approach { --middle-forest: #123a2e; --middle-workbench: #1b493a; --middle-feature: #e1ecdf; --middle-gold-paper: #eee9d9; --middle-muted: #4e6258; }
.lighter-home #approach .home-approach-core { padding-block: 96px; color: #f2f7ef; background: var(--middle-forest); }
.lighter-home #approach .home-approach-intro { display: grid; grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr); gap: 72px; align-items: start; }
.lighter-home #approach .home-approach-core .lighter-kicker { color: #c4d8ca; font-size: 12px; line-height: 1.5; letter-spacing: .1em; }
.lighter-home #approach .home-approach-intro h2 { max-width: 16ch; margin-top: 18px; color: #f2f7ef; }
.lighter-home #approach .home-approach-context > p { max-width: 65ch; color: #c4d8ca; font-size: 18px; line-height: 1.7; }

/* Seven business areas on one continuous list. */
.lighter-home #approach .home-business-areas { padding-block: 96px; }
.lighter-home #approach .home-business-areas > h3 { margin: 0; color: var(--lighter-ink); font-size: 36px; font-weight: 700; line-height: 1.15; letter-spacing: -.04em; }
.lighter-home #approach .home-business-areas > p { max-width: 72ch; margin-top: 16px; color: var(--lighter-muted); font-size: 16px; line-height: 1.7; }
.lighter-home #approach .home-business-areas > ul { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 32px; row-gap: 0; margin: 32px 0 0; padding: 0; border-bottom: 1px solid var(--lighter-line); list-style: none; }
.lighter-home #approach .home-business-areas > ul > li { display: grid; grid-template-columns: 32px minmax(0, 1fr); align-content: start; column-gap: 16px; min-width: 0; padding-block: 24px; border-top: 1px solid var(--lighter-line); }
.lighter-home #approach .home-business-areas > ul > li:first-child { grid-column: 1 / -1; }
.lighter-home #approach .home-business-areas > ul > li > strong { grid-column: 2; display: block; color: var(--lighter-ink); font-size: 22px; font-weight: 700; line-height: 1.25; letter-spacing: -.025em; }
.lighter-home #approach .home-business-areas > ul > li > p { grid-column: 2; margin-top: 8px; color: var(--lighter-muted); font-size: 16px; line-height: 1.7; }
.lighter-home #approach .home-area-art { grid-column: 1; grid-row: 1 / 3; display: block; width: 32px; height: 32px; color: var(--lighter-green); }

/* A single ascending flight chart, with real HTML numbered waypoints. */
.lighter-home #how-it-works { --middle-wash: #e7efe4; --middle-muted: #4e6258; padding-block: 96px; background: var(--middle-wash); }
.lighter-home #how-it-works .home-flight-map { position: relative; margin-top: 40px; }
.lighter-home #how-it-works .home-flight-art { position: absolute; inset: 0 0 auto; height: 260px; overflow: hidden; }
.lighter-home #how-it-works .home-flight-chart { position: absolute; top: 0; left: -24px; display: block; width: calc(100% + 48px); height: 260px; color: var(--lighter-green); }
.lighter-home #how-it-works .home-art-gold { color: var(--lighter-gold); }
.lighter-home #how-it-works .home-process { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 48px; margin: 0; padding: 260px 0 0; list-style: none; }
.lighter-home #how-it-works .home-process li { position: relative; min-width: 0; }
.lighter-home #how-it-works .home-waypoint { position: absolute; top: calc(var(--waypoint-y, 148px) - 285px); left: 50%; display: grid; place-items: center; width: 50px; height: 50px; border: 2px solid var(--lighter-green); border-radius: 50%; color: var(--lighter-green); background: var(--middle-wash); transform: translateX(-50%); font: 700 14px/1 ui-monospace, SFMono-Regular, Consolas, monospace; }
.lighter-home #how-it-works .home-process li:nth-child(2) { --waypoint-y: 109px; }
.lighter-home #how-it-works .home-process li:nth-child(3) { --waypoint-y: 60px; }
.lighter-home #how-it-works .home-process h3 { margin: 0; color: var(--lighter-ink); font-size: 26px; font-weight: 700; line-height: 1.25; letter-spacing: -.035em; text-wrap: pretty; }
.lighter-home #how-it-works .home-process p { margin-top: 16px; color: var(--middle-muted); font-size: 16px; line-height: 1.7; }
.lighter-home #how-it-works .lighter-process-note { max-width: 90ch; margin-top: 32px; color: var(--middle-muted); font-size: 15px; line-height: 1.65; }

/* Theme variants keep the forest chapter separate from its paper examples. */
.lighter-home.dark #owner-outcomes,
.lighter-home.dark #how-it-works { --middle-wash: #142b25; --middle-muted: #aabbb9; }
.lighter-home.dark #owner-outcomes .home-instrument-wash { opacity: .12; }
.lighter-home.dark #approach { --middle-forest: #102c25; --middle-workbench: #183e33; --middle-feature: #17382d; --middle-gold-paper: #302e23; --middle-muted: #aabbb9; }

@media (min-width: 768px) and (max-width: 1099px) {
  .lighter-home #owner-outcomes,
  .lighter-home #how-it-works,
  .lighter-home #approach .home-approach-core,
  .lighter-home #approach .home-business-areas { padding-block: 72px; }
  .lighter-home #owner-outcomes .home-benefits { gap: 24px; }
  .lighter-home #owner-outcomes .home-benefits > li + li::before { left: -12px; }
  .lighter-home #owner-outcomes .home-benefit-label { font-size: 32px; }
  .lighter-home #owner-outcomes .home-benefit-statement { font-size: 18px; }
  .lighter-home #approach .home-approach-intro { gap: 40px; }

  .lighter-home #how-it-works .home-flight-chart { left: -12px; width: calc(100% + 24px); }
  .lighter-home #how-it-works .home-process { gap: 24px; }
  .lighter-home #how-it-works .home-process h3 { font-size: 24px; }
}

@media (max-width: 767px) {
  #flight-path .lighter-outcome-checklist { grid-template-columns: minmax(0, 1fr); }
  .lighter-home #owner-outcomes,
  .lighter-home #how-it-works,
  .lighter-home #approach .home-approach-core,
  .lighter-home #approach .home-business-areas { padding-block: 64px; }
  .lighter-home #owner-outcomes .home-benefits { grid-template-columns: minmax(0, 1fr); gap: 40px; }
  .lighter-home #owner-outcomes .home-benefits > li { display: block; grid-row: auto; }
  .lighter-home #owner-outcomes .home-benefits > li + li::before { content: none; }
  .lighter-home #owner-outcomes .home-benefit-instrument { width: 48px; height: 48px; }
  .lighter-home #owner-outcomes .home-benefit-label { font-size: 32px; }
  .lighter-home #approach .home-approach-intro { grid-template-columns: minmax(0, 1fr); gap: 32px; }
  .lighter-home #approach .home-approach-context > p { font-size: 16px; }

  .lighter-home #approach .home-business-areas > h3 { font-size: 28px; }
  .lighter-home #approach .home-business-areas > ul { grid-template-columns: minmax(0, 1fr); row-gap: 0; margin-top: 32px; }
  .lighter-home #approach .home-business-areas > ul > li { grid-column: auto; }
  .lighter-home #approach .home-business-areas > ul > li > strong { font-size: 20px; }
  .lighter-home #how-it-works .home-flight-map { margin-top: 40px; }
  .lighter-home #how-it-works .home-flight-art { display: none; }
  .lighter-home #how-it-works .home-process { position: relative; grid-template-columns: minmax(0, 1fr); gap: 40px; padding: 0 0 0 66px; }
  .lighter-home #how-it-works .home-process li::before { content: ""; position: absolute; top: 18px; left: -48px; height: calc(100% + 40px); border-left: 1px solid var(--lighter-green); }
  .lighter-home #how-it-works .home-process li:last-child::before { content: none; }
  .lighter-home #how-it-works .home-process li .home-waypoint { top: 0; left: -66px; width: 36px; height: 36px; transform: none; font-size: 12px; }
  .lighter-home #how-it-works .home-process h3 { font-size: 22px; }
}

/* Matched foundations for the chosen work, on the existing forest surface. */
.lighter-home #approach .home-approach-core .home-foundations { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); column-gap: 24px; row-gap: 0; margin-top: 48px; }
.lighter-home #approach .home-approach-core .home-foundations > div { display: grid; grid-template-rows: subgrid; grid-row: span 3; min-width: 0; padding: 24px; border: 1px solid #547463; border-radius: 12px; background: var(--middle-workbench); }
.lighter-home #approach .home-approach-core .home-foundation-identity { display: flex; align-items: center; gap: 12px; color: #c4d8ca; font-size: 14px; font-weight: 600; line-height: 1.5; }
.lighter-home #approach .home-approach-core .home-foundation-icon { flex: 0 0 32px; width: 32px; height: 32px; color: #b8ddc3; }
.lighter-home #approach .home-approach-core .home-foundations h3 { margin: 20px 0 0; color: #f2f7ef; font-size: 24px; font-weight: 700; line-height: 1.25; letter-spacing: -.035em; text-wrap: pretty; }
.lighter-home #approach .home-approach-core .home-foundations p { margin-top: 16px; color: #c4d8ca; font-size: 16px; line-height: 1.7; }
.lighter-home #approach .home-approach-core .home-foundation-scope { margin-top: 24px; color: #f2f7ef; font-size: 16px; line-height: 1.7; }
.lighter-home #approach .home-business-areas > ul > .home-area-executive { padding-inline: 20px; border-left: 2px solid var(--lighter-green); background: var(--middle-feature); }
.lighter-home #approach .home-business-areas > ul > .home-area-executive > p,
.lighter-home #approach .home-area-executive .home-workflow-ideas { color: var(--middle-muted); }
.lighter-home #approach .home-workflow-ideas { grid-column: 2; min-width: 0; margin-top: 8px; color: var(--lighter-muted); }
.lighter-home #approach .home-workflow-ideas > summary { min-height: 44px; padding-block: 10px; color: var(--lighter-green); font-size: 16px; font-weight: 600; line-height: 24px; cursor: pointer; }
.lighter-home #approach .home-workflow-ideas > summary:focus-visible { outline: 2px solid var(--lighter-green); outline-offset: 3px; }
.lighter-home #approach .home-workflow-ideas > ul { margin: 8px 0 4px; padding-left: 20px; list-style: disc; }
.lighter-home #approach .home-workflow-ideas > ul > li { padding-left: 4px; font-size: 16px; line-height: 1.7; }
.lighter-home #approach .home-workflow-ideas > ul > li + li { margin-top: 10px; }
@media (max-width: 1099px) {
  .lighter-home #approach .home-approach-core .home-foundations { grid-template-columns: minmax(0, 1fr); gap: 20px; }
  .lighter-home #approach .home-approach-core .home-foundations > div { display: block; grid-row: auto; padding: 20px; }
}
@media (max-width: 767px) {
  .lighter-home #approach .home-approach-core .home-foundations { margin-top: 32px; }
  .lighter-home #approach .home-approach-core .home-foundations h3 { font-size: 22px; }
  .lighter-home #approach .home-business-areas > ul > .home-area-executive { padding-inline: 12px; }
}
