.capability-hero { background:radial-gradient(circle at 78% 38%,rgba(47,132,84,.24),transparent 30%),linear-gradient(130deg,#030504 0%,#070a08 70%,#0c1510 100%); }
.capability-hero h1 { max-width:900px; }
.simple-hero-grid { grid-template-columns:1fr; }
.simple-hero-grid .hero-copy { max-width:980px; }

.stage-screen { position:relative; min-height:100svh; display:flex; align-items:center; overflow:hidden; border-bottom:1px solid var(--dark-line); }
.stage-screen-inner { width:100%; display:grid; grid-template-columns:minmax(0,.82fr) minmax(420px,1fr); gap:clamp(60px,10vw,170px); align-items:center; padding-block:110px; }
.stage-heading span { display:block; margin-bottom:28px; color:#167645; font-size:.7rem; font-weight:700; letter-spacing:.18em; text-transform:uppercase; }
.stage-heading h2 { max-width:660px; margin:0; font-size:clamp(4rem,8vw,9rem); line-height:.84; letter-spacing:-.075em; text-transform:uppercase; }
.stage-capabilities { margin:0; padding:0; list-style:none; border-top:1px solid currentColor; }
.stage-capabilities li { padding:30px 0; border-bottom:1px solid currentColor; font-size:clamp(1.2rem,2.2vw,2.25rem); font-weight:500; line-height:1.08; letter-spacing:-.035em; }
.stage-light { background:var(--paper); color:var(--ink); }
.stage-dark { border-color:var(--line); background:var(--ink); color:var(--white); }
.stage-dark .stage-heading span { color:var(--accent); }
.stage-dark .stage-capabilities { border-color:var(--line); }
.stage-dark .stage-capabilities li { border-color:var(--line); }
.stage-green { background:#dcebe1; color:var(--ink); }
.stage-analytics { min-height:100svh; background:radial-gradient(circle at 80% 50%,rgba(113,230,170,.16),transparent 34%),#07100b; color:var(--white); }
.stage-analytics .stage-heading span { color:var(--accent); }
.stage-analytics .stage-capabilities { border-color:var(--line); }
.stage-analytics .stage-capabilities li { border-color:var(--line); }
.analytics-backline { position:absolute; right:0; bottom:8vh; width:100%; border-top:2px solid var(--accent); color:var(--accent); }
.analytics-backline::before { content:"←"; position:absolute; top:-18px; left:20px; padding-right:10px; background:#07100b; font-size:1.35rem; }
.analytics-backline span { position:absolute; right:24px; top:12px; font-size:.58rem; font-weight:700; letter-spacing:.16em; text-transform:uppercase; }
.proof-screen { background:#eef2ed; color:var(--ink); text-align:center; }
.proof-screen-growth { background:#dcebe1; }
.proof-screen-inner { display:flex; flex-direction:column; align-items:center; justify-content:center; gap:55px; }
.proof-screen h2 { max-width:950px; margin:0; font-size:clamp(3.5rem,7.3vw,8rem); line-height:.88; letter-spacing:-.07em; text-transform:uppercase; }
.proof-screen p { margin:0; color:#3f4943; font-size:clamp(1rem,2vw,1.8rem); letter-spacing:.02em; }
.proof-screen strong { color:#167645; font-size:1.35em; }
.final-cta { min-height:100svh; display:flex; align-items:center; }
.cycle-card { padding:30px; border:1px solid var(--line); background:rgba(10,14,11,.82); box-shadow:0 30px 80px rgba(0,0,0,.32); }
.cycle-card ol { margin:24px 0 0; padding:0; list-style:none; border-top:1px solid var(--line); }
.cycle-card li { display:grid; grid-template-columns:36px 1fr; gap:5px 15px; padding:22px 0; border-bottom:1px solid var(--line); }
.cycle-card li > span { grid-row:1/3; color:var(--accent); font-size:.7rem; font-weight:700; }
.cycle-card strong { font-size:.9rem; letter-spacing:.08em; text-transform:uppercase; }
.cycle-card small { color:var(--muted); font-size:.68rem; letter-spacing:.06em; }
.cycle-loop { position:relative; margin-top:28px; padding-top:18px; color:var(--accent); font-size:.62rem; letter-spacing:.14em; text-transform:uppercase; }
.cycle-loop::before { content:""; position:absolute; top:0; left:0; right:0; height:1px; background:var(--accent); }
.cycle-loop::after { content:"←"; position:absolute; top:-10px; left:-2px; padding-right:7px; background:#0a0e0b; color:var(--accent); font-size:1rem; }

.signal-grid-five { grid-template-columns:repeat(5,1fr); }
.capability-section { overflow:hidden; }
.pipeline-shell { width:min(1440px,calc(100vw - 48px)); margin:72px auto 0; }
.pipeline-scroll { overflow-x:auto; overscroll-behavior-inline:contain; scrollbar-color:#167645 rgba(5,7,6,.12); scrollbar-width:thin; }
.pipeline { position:relative; min-width:1180px; display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); padding-bottom:75px; border-top:1px solid var(--dark-line); border-bottom:1px solid var(--dark-line); }
.pipeline-stage { min-height:390px; padding:27px 22px 34px; border-right:1px solid var(--dark-line); background:var(--paper); }
.pipeline-stage:first-child { border-left:1px solid var(--dark-line); }
.pipeline-stage-data { background:#dcebe1; }
.stage-top { display:flex; justify-content:space-between; align-items:center; gap:15px; color:#167645; font-size:.68rem; font-weight:700; letter-spacing:.14em; text-transform:uppercase; }
.stage-top small { color:#67716a; font-size:.58rem; }
.pipeline-stage h3 { min-height:64px; margin:58px 0 30px; font-size:clamp(1.25rem,1.8vw,1.8rem); line-height:.94; letter-spacing:-.04em; text-transform:uppercase; }
.pipeline-stage:not(:last-of-type) h3::after { content:"→"; float:right; color:#167645; font-size:1.1rem; font-weight:400; }
.pipeline-stage ul { margin:0; padding:0; list-style:none; }
.pipeline-stage li { padding:10px 0; border-top:1px solid var(--dark-line); color:#424a45; font-size:.7rem; line-height:1.35; }
.analytics-return { position:absolute; left:0; right:0; bottom:24px; height:25px; border-top:2px solid #167645; }
.analytics-return::before { content:"←"; position:absolute; top:-14px; left:0; padding-right:9px; background:var(--paper); color:#167645; font-size:1.2rem; }
.analytics-return::after { content:""; position:absolute; top:-5px; right:0; width:9px; height:9px; border-radius:50%; background:#167645; }
.analytics-return span { position:absolute; top:8px; right:10px; color:#167645; font-size:.58rem; font-weight:700; letter-spacing:.14em; text-transform:uppercase; }
.swipe-note { display:none; margin:12px 0 0; color:var(--dark-muted); font-size:.65rem; letter-spacing:.08em; text-transform:uppercase; }
.model-grid { grid-template-columns:repeat(3,1fr); }
.model-grid .problem-card { min-height:330px; }

@media (max-width:1100px) {
  .signal-grid-five { grid-template-columns:repeat(5,minmax(150px,1fr)); overflow-x:auto; }
  .signal-grid-five div { min-width:150px; }
  .pipeline-shell { width:calc(100vw - 34px); margin-left:17px; margin-right:17px; }
  .swipe-note { display:block; }
}

@media (max-width:900px) {
  .stage-screen-inner { grid-template-columns:1fr; gap:58px; padding-block:100px; }
  .stage-heading h2 { max-width:820px; }
  .stage-capabilities { width:100%; }
  .proof-screen-inner { gap:40px; }
  .signal-grid-five { width:100%; margin:0; }
  .signal-grid-five div:nth-child(2) { border-right:1px solid var(--line); }
  .signal-grid-five div:nth-child(-n+2) { border-bottom:0; }
  .model-grid { grid-template-columns:1fr; }
  .model-grid .problem-card { min-height:235px; }
}

@media (max-width:600px) {
  .capability-hero h1 { font-size:clamp(3rem,15vw,4.4rem); }
  .stage-screen { min-height:calc(100svh - 68px); }
  .stage-screen-inner { gap:46px; padding-block:80px; }
  .stage-heading span { margin-bottom:18px; }
  .stage-heading h2 { font-size:clamp(3.5rem,18vw,5.2rem); }
  .stage-capabilities li { padding:23px 0; font-size:clamp(1.15rem,6vw,1.55rem); }
  .proof-screen h2 { font-size:clamp(3.2rem,16vw,5rem); }
  .proof-screen p { max-width:310px; line-height:1.8; }
  .analytics-backline { bottom:4vh; }
  .cycle-card { padding:24px; }
  .signal-grid-five { grid-template-columns:repeat(5,150px); }
  .pipeline { min-width:1110px; grid-template-columns:repeat(6,185px); }
  .pipeline-stage { min-height:370px; padding-inline:18px; }
}
