/* Local-only refinement. Every rule belongs to the dedicated prototype body. */
.homepage-fluid-v2 main { overflow: visible; }
.homepage-fluid-v2 .lighter-hero { border-bottom:1px solid var(--lighter-green); }
.homepage-fluid-v2 .lighter-hero-grid { min-height: 0; padding-block: clamp(56px, 6vw, 88px) 48px; grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr); }
.homepage-fluid-v2 .lighter-hero h1 { font-size: clamp(2rem, 4.8vw, 4.5rem); line-height: 1.06; }
.homepage-fluid-v2 .lighter-growth-figure { width: 100%; margin-inline: 0; }
.homepage-fluid-v2 .lighter-growth-atmosphere { opacity: .06; }
.homepage-fluid-v2 .lighter-growth-tangle { opacity: .28; stroke-width: 1.5; }
.homepage-fluid-v2 .lighter-growth-route { stroke-width: 5; }
.homepage-fluid-v2 .lighter-growth-arrow { stroke-width: 4; }
.homepage-fluid-v2 .lighter-growth-figure .v2-route-captions { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; margin: 8px 0 0; color: var(--lighter-ink); font: 400 .95rem/1.5 Manrope, sans-serif; letter-spacing: 0; text-transform: none; }
.homepage-fluid-v2 .v2-route-captions span { display: block; width: auto; height: auto; background: none; }
.homepage-fluid-v2 .v2-route-captions span:last-child { text-align: right; }
.homepage-fluid-v2 .v2-route-captions b { display: block; margin-bottom: 6px; color: var(--lighter-green); font-size: .75rem; letter-spacing: .1em; text-transform: uppercase; }
.homepage-fluid-v2 .lighter-recognition { padding-block: 48px 80px; }
/* Existing outside-section rules retained. */
.homepage-fluid-v2 #owner-outcomes { background: var(--middle-wash); border-block: 1px solid var(--lighter-line); }
/* Equal breadth: no featured item or separate demonstration. */
.homepage-fluid-v2 #approach .home-business-areas { border-bottom: 1px solid var(--lighter-line); }
.homepage-fluid-v2 #approach .home-business-areas > ul > li:first-child { grid-column: auto; }
.homepage-fluid-v2 #approach .home-business-areas > ul > li { padding-block: 20px; }
.homepage-fluid-v2 .lighter-route-grid { grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); align-items: start; }
.homepage-fluid-v2 .v2-outcome-panel { min-width: 0; padding: clamp(20px, 3vw, 36px); border-left: 3px solid var(--lighter-green); background: var(--lighter-panel); }
.homepage-fluid-v2 .v2-outcome-bridge { font-weight: 700; color: var(--lighter-ink); padding-bottom: 20px; }
.homepage-fluid-v2 .v2-outcome-bridge span { display: block; margin-top: 8px; font-weight: 400; font-size: .85rem; color: var(--lighter-muted); }
.homepage-fluid-v2 .lighter-outcome-checklist { grid-template-columns: minmax(0, 1fr); }
.homepage-fluid-v2 .lighter-testimonial-featured { grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr); align-items: center; gap: clamp(24px, 4vw, 56px); padding: clamp(20px, 3vw, 40px); }
.homepage-fluid-v2 .v2-case-art, .homepage-fluid-v2 .v2-case-quote { min-width: 0; }
.homepage-fluid-v2 .v2-case-art img { display: block; width: 100%; height: auto; border-radius: 6px; }
.homepage-fluid-v2 .v2-case-art p { font-size: .8rem; color: var(--lighter-muted); margin-top: 12px; }
.homepage-fluid-v2 .v2-case-quote figcaption { margin-top: 24px; }
.homepage-fluid-v2 #home-next-title { font: 700 clamp(2rem, 4vw, 3.5rem)/1.1 Manrope, sans-serif; letter-spacing: -.04em; max-width: 20ch; text-wrap: balance; }
.homepage-fluid-v2 :is(.home-next-button, .home-nav-cta, .home-mobile-primary) { font-family: inherit; font-weight: 700; border-radius: 6px; min-height: 44px; }
.homepage-fluid-v2 .main-home-newsletter { margin-block: 0 48px; border-radius: 12px; border: 1px solid var(--lighter-line); }
.homepage-fluid-v2 :is(summary, button):focus-visible { outline: 2px solid var(--lighter-gold); outline-offset: 4px; }
.homepage-fluid-v2 .v2-outcome-panel { overflow-wrap: anywhere; }
@media (max-width: 1099px) {
  .homepage-fluid-v2 .lighter-hero-grid { grid-template-columns: minmax(0, 1fr); }
  .homepage-fluid-v2 .lighter-growth-figure { max-width: 720px; margin-inline: auto; }
}
@media (max-width: 767px) {
  .homepage-fluid-v2 .lighter-hero-grid { padding-block: 48px 32px; }
  .homepage-fluid-v2 .lighter-hero h1 { font-size: clamp(1.8rem, 8.8vw, 4.25rem); }
  .homepage-fluid-v2 .lighter-recognition { padding-block: 32px 56px; }
  .homepage-fluid-v2 .lighter-growth-figure .v2-route-captions { font-size: .85rem; gap: 16px; }
  .homepage-fluid-v2 .lighter-route-grid, .homepage-fluid-v2 .lighter-testimonial-featured { grid-template-columns: minmax(0, 1fr); }
  .homepage-fluid-v2 .main-home-newsletter { margin-bottom: 32px; }
}

/* Method only: original overlapping plates on warm paper in both themes. */
.homepage-fluid-v2 .v2-method {
  --method-paper: #F7F3EA;
  --method-forest: #123A2E;
  --method-muted: #52645B;
  --method-rule: #D6DCD2;
  padding-block: clamp(48px, 5vw, 72px);
  border-block: 1px solid var(--method-rule);
  color: var(--method-forest);
  background: var(--method-paper);
}
.homepage-fluid-v2 .v2-method[hidden],
.homepage-fluid-v2 .v2-method [hidden] { display: none !important; }
.homepage-fluid-v2 .v2-method-layout { display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); gap: clamp(24px, 4vw, 56px); align-items: center; padding-inline: clamp(20px, 4.45vw, 64px); }
.homepage-fluid-v2 .v2-method-copy { min-width: 0; overflow-wrap: anywhere; }
.homepage-fluid-v2 .v2-method .lighter-section-title { color: var(--method-forest); margin-bottom: 28px; }
.homepage-fluid-v2 .v2-method-copy h3 { max-width: 24ch; margin: 0; color: var(--method-forest); font-size: clamp(1.75rem, 2.35vw, 2.125rem); font-weight: 700; line-height: 1.2; letter-spacing: -.035em; text-wrap: pretty; }
.homepage-fluid-v2 .v2-method-copy p { max-width: 44ch; margin-top: 20px; color: var(--method-muted); font-size: 1.125rem; line-height: 1.65; }
.homepage-fluid-v2 .v2-method-copy .v2-method-hint { font-size: .875rem; }
.homepage-fluid-v2 .v2-method-detail { padding-block: 12px; border-top: 1px solid var(--method-rule); }
.homepage-fluid-v2 .v2-method-detail summary { cursor: pointer; font-weight: 700; }
.homepage-fluid-v2 .v2-method-detail[open] .v2-method-description { margin-top: 20px; }
/* Reserve the tallest explanation, including enlarged text, without fixed heights.
   Inactive panels remain invisible and aria-hidden; swapping cannot move the hit bands. */
.homepage-fluid-v2 .v2-method.is-enhanced .v2-method-explanations { display: grid; }
.homepage-fluid-v2 .v2-method.is-enhanced .v2-method-explanations > * { grid-area: 1 / 1; align-self: start; }
.homepage-fluid-v2 .v2-method.is-enhanced .v2-method-explanations > [hidden] { display: block !important; visibility: hidden; pointer-events: none; }
.homepage-fluid-v2 .v2-method.is-enhanced .v2-method-detail { padding: 0; border: 0; }
.homepage-fluid-v2 .v2-method.is-enhanced .v2-method-detail summary { display: none; }
.homepage-fluid-v2 .v2-method.is-enhanced .v2-method-description { margin: 0; }
/* Art retains original Business > Decision > Workflow > Systems z-order.
   Only the empty first 40px is offset; the embedded labels/arrows stay intact.
   Step = 20% of stack width, close to the original 6.9rem/plate-width ratio. */
.homepage-fluid-v2 .v2-method-stack { position: relative; width: 100%; min-width: 0; aspect-ratio: 1 / 1.07; }
.homepage-fluid-v2 .v2-method-art { position: absolute; inset: 0; pointer-events: none; }
.homepage-fluid-v2 .v2-method-slice { position: absolute; top: calc(var(--plate-index) * 18.691589%); left: -4.651163%; width: 104.651163%; max-width: none; height: auto; z-index: var(--plate-order); pointer-events: none; transition: opacity 180ms ease, transform 180ms ease; }
.homepage-fluid-v2 .v2-method-slice.is-muted { opacity: .18; }
.homepage-fluid-v2 .v2-method-slice.is-current { transform: translateY(-2px); }
/* Stationary, nonoverlapping hit bands: artwork never owns pointer events.
   Label positions are ~27%, 47%, 67%, 87% of width; boundaries split them. */
.homepage-fluid-v2 .v2-method-controls { position: absolute; inset: 0; z-index: 5; display: grid; grid-template-rows: 37fr 20fr 20fr 30fr; }
.homepage-fluid-v2 .v2-method-controls button { position: relative; display: block; width: 100%; min-width: 0; min-height: 44px; padding: 0; border: 0; border-radius: 4px; background: transparent; cursor: pointer; color: var(--method-forest); touch-action: auto; }
.homepage-fluid-v2 .v2-method-controls button span { position: absolute; width: 1px; height: 1px; padding: 0; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.homepage-fluid-v2 .v2-method-controls button:focus-visible { outline: 2px solid var(--method-forest); outline-offset: 2px; background: rgb(18 58 46 / .04); }
.homepage-fluid-v2 .v2-method-controls button:active { background: rgb(18 58 46 / .06); }
@media (max-width: 999px) {
  .homepage-fluid-v2 .v2-method-layout { grid-template-columns: minmax(0, 1fr); }
  .homepage-fluid-v2 .v2-method-stack { max-width: 640px; margin-inline: auto; }
}
@media (max-width: 599px) {
  .homepage-fluid-v2 .v2-method-layout { padding-inline: 20px; }
  .homepage-fluid-v2 .v2-method-copy p { font-size: 1rem; }
  /* Readable labels cover the image's small embedded type on narrow screens. */
  .homepage-fluid-v2 .v2-method-controls button span { width: auto; height: auto; clip-path: none; overflow: visible; left: 0; top: 40%; padding: 4px 2px; background: var(--method-paper); font: 700 .875rem/1.3 Manrope, sans-serif; }
  .homepage-fluid-v2 .v2-method-controls button:first-child span { top: 62%; }
}
@media (prefers-reduced-motion: reduce) {
  .homepage-fluid-v2 .v2-method-slice { transition: none; }
  .homepage-fluid-v2 .v2-method-slice.is-current { transform: none; }
}

/* Keep the business lens heading separate from the interactive layer explanations. */
.homepage-fluid-v2 .v2-method-heading { padding-inline:clamp(20px,4.45vw,64px); margin-bottom:36px; }
.homepage-fluid-v2 .v2-method-heading .lighter-section-title { margin:0; font-size:clamp(1.75rem,3vw,2.75rem); letter-spacing:-.04em; line-height:1.15; }
.homepage-fluid-v2 .v2-method-heading > p { max-width:64ch; margin:16px 0 0; color:var(--method-muted); font-size:1rem; line-height:1.65; }
@media (max-width:599px) {
  .homepage-fluid-v2 .v2-method-heading { padding-inline:20px; margin-bottom:28px; }
}

/* One editorial heading voice across the page, matching the program chapter. */
.homepage-fluid-v2 .lighter-hero h1 { font-weight:400; line-height:1.08; }
.homepage-fluid-v2 :is(#problem-title,#promise-title,#how-title,#route-title,#proof-title,#home-next-title,#faq-title) {
  font-family:Manrope,sans-serif;
  font-size:clamp(2rem,4.25vw,3.875rem);
  font-weight:400;
  line-height:1.08;
  letter-spacing:-.06em;
}
.homepage-fluid-v2 #problem-title { max-width:18ch; }
.homepage-fluid-v2 #problem-title .hero-problem-accent { color:var(--lighter-muted); }
.homepage-fluid-v2 .lighter-scenes h3 { font-weight:400; letter-spacing:-.035em; }
.homepage-fluid-v2 .lighter-growth-nodes circle:last-child { fill:var(--lighter-bg); stroke:var(--lighter-green); }
.homepage-fluid-v2 .v2-hero-plane { fill:#059669; stroke:var(--lighter-bg); stroke-width:1.5; stroke-linejoin:round; }
.homepage-fluid-v2 .lighter-tangle .v2-problem-route {
  stroke:url(#problem-flow-thread); stroke-width:4; stroke-linecap:round; stroke-linejoin:round;
}
.homepage-fluid-v2 .v2-hero-trace {
  display:none; pointer-events:none;
  filter:drop-shadow(0 0 1px #047857);
}
@media (prefers-reduced-motion:no-preference) {
  .homepage-fluid-v2 [data-hero-flow-scene].is-flow-ready .v2-hero-trace {
    display:block; stroke:url(#hero-growth-highlight); stroke-width:3;
    stroke-dasharray:.09 1.1; stroke-dashoffset:.1; opacity:0;
    animation:hero-route-light 8s linear infinite;
    animation-play-state:paused;
  }
  .homepage-fluid-v2 [data-hero-flow-scene].is-flow-running .v2-hero-trace { animation-play-state:running; }
}
@keyframes hero-route-light {
  0% { stroke-dashoffset:.1; opacity:0; }
  8% { opacity:1; }
  60% { stroke-dashoffset:-1; opacity:1; }
  68%,100% { stroke-dashoffset:-1; opacity:0; }
}
