.growth-page {
  background:
    radial-gradient(circle at 86% 8%, rgba(109, 184, 168, 0.06), transparent 25%),
    var(--paper);
}

.growth-hero {
  background:
    radial-gradient(circle at 82% 26%, rgba(109, 184, 168, 0.09), transparent 28%),
    linear-gradient(90deg, rgba(248, 247, 242, 0.98), rgba(248, 247, 242, 0.78)),
    var(--paper);
}

.growth-hero-note { max-width: 670px; }

.growth-signal-visual {
  min-height: 620px;
  background: linear-gradient(rgba(255,255,255,.38), rgba(255,255,255,.46)), #fbfaf5;
}

#growth-signal-map { position: absolute; inset: 0; width: 100%; height: 100%; }

.growth-model-core {
  position: absolute;
  left: 50%;
  top: 48%;
  z-index: 2;
  display: grid;
  place-items: center;
  width: 150px;
  height: 150px;
  transform: translate(-50%, -50%);
  border: 1px solid rgba(11,61,53,.3);
  border-radius: 50%;
  background: rgba(248,247,242,.92);
  box-shadow: 0 0 0 16px rgba(184,138,74,.07), 0 24px 54px rgba(18,34,29,.1);
}

.growth-model-title {
  z-index: 2;
  color: var(--green-deep);
  font-family: var(--serif);
  font-size: 1.18rem;
  font-weight: 700;
  line-height: 1.12;
  text-align: center;
}

.growth-model-ring { position: absolute; border: 1px solid rgba(143,166,173,.35); border-radius: 50%; }
.growth-model-ring.ring-one { inset: 20px; }
.growth-model-ring.ring-two { inset: 44px; border-color: rgba(184,138,74,.5); }

.growth-feedback-rail {
  position: absolute;
  right: 28px;
  bottom: 28px;
  z-index: 3;
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 10px 12px;
  border: 1px solid rgba(184,138,74,.28);
  border-radius: 7px;
  background: rgba(255,255,255,.8);
}

.feedback-dot { width: 9px; height: 9px; border-radius: 50%; background: var(--mint); box-shadow: 0 0 0 6px rgba(109,184,168,.12); }
.growth-feedback-rail strong { color: var(--ink); font-size: .74rem; font-weight: 500; white-space: nowrap; }
.growth-feedback-rail strong em { margin-right: 7px; color: var(--brass); font-family: var(--mono); font-style: normal; font-weight: 500; }

.growth-system-section,
.lifecycle-section,
.observability-section,
.experience-section { background: var(--paper-2); border-block: 1px solid var(--line); }

.growth-pillar-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 14px; }
.growth-pillar {
  min-height: 332px;
  display: grid;
  align-content: start;
  gap: 14px;
  padding: 30px;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: rgba(255,255,255,.86);
  box-shadow: 0 16px 40px rgba(18,34,29,.07);
}
.growth-pillar:nth-child(2) { border-top: 4px solid var(--brass); }
.growth-pillar:nth-child(1), .growth-pillar:nth-child(3) { border-top: 4px solid var(--green); }

.card-index,.panel-label,.branch-label,.proof-status,.tool-line-label {
  color: var(--brass);
  font-family: var(--mono);
  font-size: .69rem;
  font-weight: 500;
  text-transform: uppercase;
}

.growth-pillar h3 { margin: 0; color: var(--green-deep); font-family: var(--serif); font-size: 1.55rem; font-weight: 700; }
.card-path { margin: 0; color: var(--green); font-family: var(--mono); font-size: .78rem; line-height: 1.5; }
.growth-pillar > p:last-child { margin: 0; }

.growth-loop-block {
  margin-top: clamp(42px,6vw,74px);
  padding: clamp(26px,4vw,42px);
  border: 1px solid rgba(184,138,74,.36);
  border-radius: var(--radius);
  background: linear-gradient(135deg,rgba(255,255,255,.84),rgba(250,248,241,.9));
  box-shadow: 0 18px 46px rgba(18,34,29,.08);
}
.loop-heading-row { display: grid; grid-template-columns: .85fr 1.15fr; gap: 30px; align-items: end; margin-bottom: 28px; }
.loop-heading-row h3 { margin: 0; color: var(--green-deep); font-family: var(--serif); font-size: 2rem; font-weight: 700; }
.loop-heading-row p { margin: 0; }
.growth-loop { display: grid; grid-template-columns: repeat(6,minmax(0,1fr)); border: 1px solid var(--line); background: rgba(216,221,216,.55); }
.growth-loop article { min-height: 150px; display: grid; align-content: start; gap: 10px; padding: 22px 18px; border-right: 1px solid var(--line); background: rgba(255,255,255,.9); position: relative; }
.growth-loop article:last-child { border-right: 0; }
.growth-loop article::after { content: "→"; position: absolute; right: -10px; top: 50%; z-index: 2; display: grid; place-items: center; width: 20px; height: 20px; transform: translateY(-50%); color: var(--brass); background: var(--paper-2); font-family: var(--mono); font-size: .78rem; }
.growth-loop article:last-child::after { display: none; }
.growth-loop article > span { color: var(--brass); font-family: var(--mono); font-size: .64rem; }
.growth-loop strong { color: var(--green-deep); font-family: var(--serif); font-size: 1rem; }
.growth-loop small { color: var(--muted); font-size: .79rem; line-height: 1.42; }
.loop-return { display: flex; align-items: center; gap: 12px; margin-top: 18px; color: var(--muted); }
.loop-return span { position: relative; display: block; width: 84px; height: 12px; border-left: 1px solid var(--brass); border-bottom: 1px solid var(--brass); }
.loop-return span::after { content: ""; position: absolute; left: -4px; top: -1px; width: 7px; height: 7px; border-left: 1px solid var(--brass); border-top: 1px solid var(--brass); transform: rotate(45deg); }
.loop-return strong { font-size: .82rem; font-weight: 500; }

.signal-section { background: radial-gradient(circle at 50% 22%,rgba(143,166,173,.08),transparent 26%),var(--paper); }
.signal-board { display: grid; grid-template-columns: minmax(0,1fr) 170px minmax(0,1fr); gap: 18px; align-items: stretch; }
.signal-panel { padding: 30px; border: 1px solid var(--line); border-radius: var(--radius); background: rgba(255,255,255,.85); box-shadow: 0 14px 36px rgba(18,34,29,.07); }
.customer-panel { border-top: 4px solid var(--mint); }
.commercial-panel { border-top: 4px solid var(--brass); }
.signal-list { display: grid; gap: 0; margin: 18px 0 0; padding: 0; list-style: none; }
.signal-list li { padding: 11px 0; border-bottom: 1px solid rgba(216,221,216,.72); color: #33403b; font-size: .94rem; }
.signal-list li:last-child { border-bottom: 0; }
.signal-bridge { display: grid; place-items: center; align-content: center; gap: 12px; color: var(--muted); text-align: center; }
.signal-bridge > span { color: var(--brass); font-family: var(--mono); font-size: .65rem; text-transform: uppercase; }
.signal-bridge i { display: block; width: 1px; height: 42px; background: linear-gradient(var(--brass),rgba(184,138,74,.12)); }
.signal-bridge strong { display: grid; place-items: center; width: 112px; height: 112px; border: 1px solid rgba(11,61,53,.28); border-radius: 50%; color: var(--green-deep); background: rgba(255,255,255,.85); font-family: var(--mono); font-size: .64rem; font-weight: 500; line-height: 1.55; }

.diagnosis-section,.brand-fit-section,.predictive-section,.evidence-section { background: var(--paper); }
.diagnosis-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 16px; }
.diagnosis-panel { min-height: 280px; padding: 28px; border: 1px solid var(--line); border-radius: var(--radius); background: rgba(255,255,255,.84); }
.diagnosis-panel.quantitative { border-left: 4px solid var(--green); }
.diagnosis-panel.qualitative { border-left: 4px solid var(--brass); }
.diagnosis-head { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-bottom: 24px; }
.diagnosis-head span { color: var(--green-deep); font-family: var(--serif); font-size: 1.45rem; font-weight: 700; }
.diagnosis-head strong { color: var(--brass); font-family: var(--mono); font-size: .68rem; font-weight: 500; }
.tag-cloud { display: flex; flex-wrap: wrap; gap: 9px; }
.tag-cloud span,.earlier-action-tags span,.bi-inputs span,.bi-outputs span { padding: 9px 11px; border: 1px solid rgba(24,33,29,.13); border-radius: 999px; color: #38453f; background: rgba(255,255,255,.8); font-size: .82rem; line-height: 1.2; }
.diagnosis-core-line { max-width: 780px; margin: 28px auto 18px; color: var(--green-deep); font-family: var(--serif); font-size: 1.22rem; text-align: center; }
.friction-strip { display: grid; grid-template-columns: repeat(6,minmax(0,1fr)); gap: 8px; }
.friction-strip span { padding: 12px 8px; border: 1px solid rgba(184,138,74,.32); color: var(--green); background: rgba(184,138,74,.06); font-size: .76rem; font-weight: 500; text-align: center; }

.lifecycle-track { display: flex; gap: 0; overflow-x: auto; padding: 4px 2px 18px; scrollbar-width: thin; }
.lifecycle-track span { position: relative; flex: 0 0 auto; min-width: 130px; padding: 18px 20px; border: 1px solid var(--line); border-right: 0; color: var(--green-deep); background: rgba(255,255,255,.86); font-size: .82rem; font-weight: 500; text-align: center; }
.lifecycle-track span:last-child { border-right: 1px solid var(--line); }
.lifecycle-track span::after { content: "→"; position: absolute; right: -8px; top: 50%; z-index: 2; transform: translateY(-50%); color: var(--brass); font-family: var(--mono); }
.lifecycle-track span:last-child::after { content: "↺"; right: 7px; }
.lifecycle-questions { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 12px; margin-top: 30px; }
.lifecycle-questions article { min-height: 118px; display: grid; align-content: center; gap: 8px; padding: 20px; border: 1px solid rgba(184,138,74,.34); background: rgba(255,255,255,.72); }
.lifecycle-questions span { color: var(--brass); font-family: var(--mono); font-size: .64rem; }
.lifecycle-questions strong { color: var(--green-deep); font-family: var(--serif); font-size: 1.04rem; }
.lifecycle-note { max-width: 800px; margin: 26px 0 0; padding-left: 18px; border-left: 3px solid var(--brass); color: #3f4b46; }

.persona-chain { display: grid; grid-template-columns: 1fr auto 1fr auto 1fr auto 1fr; gap: 10px; align-items: center; }
.persona-chain article { min-height: 142px; display: grid; align-content: center; gap: 10px; padding: 20px; border: 1px solid var(--line); background: rgba(255,255,255,.86); text-align: center; }
.persona-chain article > span { color: var(--brass); font-family: var(--mono); font-size: .64rem; }
.persona-chain strong { color: var(--green-deep); font-family: var(--serif); font-size: 1rem; }
.persona-chain > i,.mini-loop i,.business-change-chain i,.learning-strip i,.bi-board > i { color: var(--brass); font-family: var(--mono); font-style: normal; }
.fit-branches { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 16px; margin-top: 28px; }
.fit-branches article { padding: 26px; border: 1px solid var(--line); border-radius: var(--radius); background: rgba(255,255,255,.82); }
.fit-valid { border-top: 4px solid var(--green)!important; }
.fit-rethink { border-top: 4px solid var(--brass)!important; }
.fit-branches p { margin: 12px 0 0; }

.platform-learning-section,.business-change-section { background: var(--paper-2); border-block: 1px solid var(--line); }
.platform-loop-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 16px; }
.platform-loop { padding: 28px; border: 1px solid var(--line); border-radius: var(--radius); background: rgba(255,255,255,.84); }
.platform-name { display: block; margin-bottom: 20px; color: var(--green-deep); font-family: var(--serif); font-size: 1.35rem; font-weight: 700; }
.mini-loop { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
.mini-loop span { padding: 9px 10px; border: 1px solid rgba(184,138,74,.28); background: rgba(184,138,74,.06); color: #3d4944; font-size: .78rem; }
.boundary-note { max-width: 880px; margin: 24px 0 0; padding-left: 16px; border-left: 3px solid rgba(143,166,173,.75); color: #4b5752; font-size: .9rem; }

.business-change-chain { display: grid; grid-template-columns: 1fr auto 1fr auto 1fr auto 1fr auto 1fr auto 1fr; gap: 8px; align-items: center; }
.business-change-chain span { min-height: 94px; display: grid; place-items: center; padding: 16px; border: 1px solid var(--line); background: rgba(255,255,255,.86); color: var(--green-deep); font-size: .84rem; font-weight: 500; text-align: center; }
.growth-quote { max-width: 900px; margin: 38px auto 0; padding: 30px 36px; border-left: 4px solid var(--brass); color: var(--green-deep); background: rgba(184,138,74,.07); font-family: var(--serif); font-size: clamp(1.5rem,3vw,2.25rem); font-weight: 700; line-height: 1.25; }

.predictive-flow { display: grid; grid-template-columns: minmax(0,1.1fr) auto minmax(150px,.6fr) auto minmax(180px,.8fr) auto minmax(180px,.75fr); gap: 12px; align-items: center; }
.input-stack { display: grid; gap: 8px; }
.input-stack span,.model-box,.scenario-box,.action-box { padding: 16px; border: 1px solid var(--line); background: rgba(255,255,255,.86); }
.input-stack span { color: #43504a; font-size: .82rem; }
.model-box,.scenario-box,.action-box { min-height: 128px; display: grid; align-content: center; gap: 8px; text-align: center; }
.model-box { border-top: 4px solid var(--green); }
.scenario-box { border-top: 4px solid var(--brass); }
.action-box { border-top: 4px solid var(--mint); }
.predictive-flow small,.bi-core small { color: var(--brass); font-family: var(--mono); font-size: .63rem; font-weight: 500; }
.predictive-flow strong,.bi-core strong { color: var(--green-deep); font-family: var(--serif); font-size: 1rem; }
.earlier-action-tags { display: flex; flex-wrap: wrap; gap: 9px; margin-top: 26px; }
.learning-strip { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 9px; margin-top: 30px; padding: 18px; border: 1px solid rgba(184,138,74,.34); background: rgba(184,138,74,.05); }
.learning-strip span { color: var(--green-deep); font-family: var(--mono); font-size: .74rem; font-weight: 500; }

.bi-board { display: grid; grid-template-columns: minmax(0,1.2fr) auto minmax(180px,.5fr) auto minmax(0,.9fr); gap: 14px; align-items: center; }
.bi-inputs,.bi-outputs { display: flex; flex-wrap: wrap; gap: 8px; }
.bi-core { min-height: 150px; display: grid; place-items: center; align-content: center; gap: 8px; padding: 18px; border: 1px solid rgba(11,61,53,.3); border-radius: 50%; background: rgba(255,255,255,.9); text-align: center; }

.proof-grid { display: grid; grid-template-columns: repeat(auto-fit,minmax(260px,1fr)); gap: 16px; }
.proof-card { min-height: 330px; display: grid; align-content: start; gap: 12px; padding: 30px; border: 1px solid var(--line); border-radius: var(--radius); background: rgba(255,255,255,.86); box-shadow: 0 14px 36px rgba(18,34,29,.07); }
.proof-card:nth-child(odd) { border-top: 4px solid var(--green); }
.proof-card:nth-child(even) { border-top: 4px solid var(--brass); }
.proof-card h3 { margin: 0; color: var(--green-deep); font-family: var(--serif); font-size: 1.7rem; font-weight: 700; }
.proof-subtitle { margin: 0; color: var(--green); font-family: var(--mono); font-size: .78rem; }
.proof-card > p:not(.proof-subtitle) { margin: 0; }
.proof-card > strong { margin-top: 4px; padding-top: 16px; border-top: 1px solid rgba(216,221,216,.8); color: #34413b; font-size: .88rem; font-weight: 500; line-height: 1.55; }

.capability-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; }
.capability-grid article { min-height: 130px; display: grid; align-content: center; gap: 10px; padding: 22px; border: 1px solid var(--line); background: rgba(255,255,255,.86); }
.capability-grid span { color: var(--brass); font-family: var(--mono); font-size: .64rem; }
.capability-grid strong { color: var(--green-deep); font-family: var(--serif); font-size: 1rem; line-height: 1.35; }
.tool-line { margin-top: 42px; padding-top: 24px; border-top: 1px solid var(--line); }
.tool-line p { margin: 10px 0 6px; color: #39463f; font-size: .9rem; }
.tool-line small { color: var(--muted); font-size: .82rem; }
.growth-final-cta .button.secondary { color: #fff; border-color: rgba(255,255,255,.32); background: rgba(255,255,255,.08); }
.growth-final-cta .button.secondary:hover { background: rgba(255,255,255,.14); }

@media (max-width:1080px) {
  .growth-pillar-grid,.proof-grid,.diagnosis-grid,.platform-loop-grid,.fit-branches { grid-template-columns: 1fr; }
  .growth-loop { grid-template-columns: repeat(3,minmax(0,1fr)); }
  .growth-loop article:nth-child(3) { border-right: 0; }
  .growth-loop article:nth-child(3)::after { display: none; }
  .growth-loop article:nth-child(-n+3) { border-bottom: 1px solid var(--line); }
  .signal-board { grid-template-columns: 1fr; }
  .signal-bridge { grid-template-columns: auto 40px auto 40px auto; align-items: center; }
  .signal-bridge i { width: 40px; height: 1px; }
  .signal-bridge strong { width: 96px; height: 96px; }
  .predictive-flow { grid-template-columns: 1fr; }
  .predictive-flow .flow-arrow,.bi-board > i { transform: rotate(90deg); justify-self: center; }
  .bi-board { grid-template-columns: 1fr; justify-items: stretch; }
  .bi-inputs,.bi-outputs { justify-content: center; }
  .bi-core { width: 170px; min-height: 170px; justify-self: center; }
  .persona-chain,.business-change-chain { grid-template-columns: 1fr; }
  .persona-chain > i,.business-change-chain i { transform: rotate(90deg); justify-self: center; }
}

@media (max-width:680px) {
  .growth-signal-visual { min-height: 390px; }
  .growth-model-core { top: 43%; width: 112px; height: 112px; }
  .growth-model-title { font-size: .94rem; }
  .growth-model-ring.ring-one { inset: 16px; }
  .growth-model-ring.ring-two { inset: 34px; }
  .growth-feedback-rail { left: 16px; right: 16px; bottom: 14px; justify-content: center; }
  .growth-feedback-rail .rail-line { width: 28px; }
  .growth-feedback-rail strong { font-size: .67rem; white-space: normal; }
  .growth-pillar,.proof-card,.diagnosis-panel,.platform-loop { min-height: auto; padding: 22px; }
  .loop-heading-row { grid-template-columns: 1fr; gap: 12px; }
  .growth-loop { grid-template-columns: 1fr; }
  .growth-loop article,.growth-loop article:nth-child(3) { min-height: auto; border-right: 0; border-bottom: 1px solid var(--line); }
  .growth-loop article:last-child { border-bottom: 0; }
  .growth-loop article::after,.growth-loop article:nth-child(3)::after { content: "↓"; right: 18px; top: auto; bottom: -10px; display: grid; transform: none; }
  .growth-loop article:last-child::after { display: none; }
  .loop-return span { width: 46px; }
  .friction-strip,.lifecycle-questions,.capability-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .signal-bridge { grid-template-columns: 1fr; }
  .signal-bridge i { width: 1px; height: 24px; }
  .persona-chain article,.business-change-chain span { min-height: auto; }
  .growth-quote { margin-top: 28px; padding: 24px; }
  .predictive-flow,.bi-board { gap: 10px; }
}

@media (max-width:430px) {
  .friction-strip,.lifecycle-questions,.capability-grid { grid-template-columns: 1fr; }
}
