/* Homepage engagement and alignment refinements */
.challenges,.services,.results,.process,.insights{--section-width:1240px}
.challenges>header,.services>header,.results>header,.process>header,.insights>header,.stall-lines,.service-tabs,.service-showcase,.process-board,.editorial-grid,.topic-row{width:min(100%,var(--section-width));margin-inline:auto}

/* Growth stalls: diagnostic cards instead of spreadsheet rows */
.challenges{padding-block:108px 118px;background:#f3f4f1}
.challenges>header{grid-template-columns:minmax(0,1.15fr) minmax(280px,.55fr);gap:80px;padding-bottom:45px}
.challenges>header h2{font-size:clamp(46px,5vw,72px);max-width:800px}
.challenges>header p{max-width:460px}
.stall-lines{counter-reset:stall;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:28px}
.stall-lines article{counter-increment:stall;position:relative;display:grid;grid-template-columns:58px 1fr;gap:6px 20px;align-items:start;min-height:260px;padding:34px;border:1px solid #d8ddda;border-radius:28px;background:#fff;overflow:hidden;transition:transform .3s,border-color .3s,box-shadow .3s}
.stall-lines article:before{content:"0" counter(stall);grid-row:1/4;display:grid;place-items:center;width:54px;height:54px;border-radius:18px;background:#e7faf1;color:#008d50;font:800 16px Manrope}
.stall-lines article:after{content:"";position:absolute;right:-54px;bottom:-70px;width:170px;height:170px;border:1px solid rgba(0,212,119,.25);border-radius:50%;box-shadow:0 0 0 24px rgba(0,212,119,.035)}
.stall-lines article:hover{padding-left:34px;transform:translateY(-6px);border-color:var(--green);box-shadow:0 22px 55px rgba(7,18,37,.09)}
.stall-lines b{font:750 clamp(22px,2vw,29px)/1.18 Manrope;max-width:420px}
.stall-lines p{grid-column:2;margin:15px 0 0;font-size:16px;line-height:1.6;color:#596676}
.stall-lines span{grid-column:2;margin-top:16px;padding:14px 16px;border:0;border-radius:12px;background:#f4f7f5;color:#087747;font-size:13px;line-height:1.5}

/* Capabilities: a compact interactive service desk */
.services{padding-block:108px 120px;background:#fff}
.services>header{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end}
.services h2{font-size:clamp(46px,5.4vw,76px);margin-bottom:0}
.service-tabs{gap:10px;margin-top:45px;padding:0 0 16px;scrollbar-width:none}
.service-tabs::-webkit-scrollbar{display:none}
.service-tabs button{min-height:46px;padding:12px 19px;border-color:#d5dbd8;background:#f7f8f6;font-weight:650;transition:background .25s,color .25s,border-color .25s,transform .25s}
.service-tabs button:hover{transform:translateY(-2px);border-color:#00aa60}
.service-tabs button.active{background:var(--navy);border-color:var(--navy);box-shadow:inset 0 -3px 0 var(--green)}
.service-showcase{margin-top:0}
.service-showcase>article{grid-template-columns:minmax(0,1.35fr) minmax(300px,.65fr);min-height:490px;border:0;border-radius:32px;background:#f4f6f3;overflow:hidden;box-shadow:inset 0 0 0 1px #d9deda}
.service-showcase article>div{padding:clamp(42px,5vw,70px)}
.service-showcase h3{font-size:clamp(40px,4.6vw,68px);max-width:760px;margin:20px 0}
.service-showcase p{max-width:700px;font-size:17px}
.service-showcase article>div>strong{max-width:700px;margin-top:22px;padding:20px 0}
.service-showcase article>div>a{display:inline-flex;align-items:center;min-height:46px;margin-top:3px;padding:0 18px;border:1px solid #a7d8c2;border-radius:999px;background:#fff;transition:background .25s,color .25s}
.service-showcase article>div>a:hover{background:var(--navy);color:#fff}
.service-showcase aside{position:relative;justify-content:center;padding:46px;background:linear-gradient(150deg,#071225,#0c2134);overflow:hidden}
.service-showcase aside:after{content:"";position:absolute;width:260px;height:260px;right:-125px;top:-105px;border:1px solid rgba(0,212,119,.3);border-radius:50%;box-shadow:0 0 0 42px rgba(0,212,119,.045)}
.service-showcase aside>b{position:relative;z-index:1;font-size:clamp(62px,7vw,96px);line-height:1}
.service-showcase aside>span{position:relative;z-index:1;margin:8px 0 25px;color:#b8c4d2}
.service-showcase aside>i{position:relative;z-index:1;padding:14px 0;border-color:#34455a;color:#e8edf3}
.service-showcase aside>img{position:relative;z-index:1;width:120px;margin:0 0 38px;filter:drop-shadow(0 12px 24px rgba(0,0,0,.28))}

/* Results: one focused proof screen at a time */
.results{padding-top:105px;background:#071225}
.results>header{align-items:end;padding:0 var(--pad)}
.results>header>div:first-child{max-width:850px}
.results h2{font-size:clamp(46px,5.4vw,76px);margin-block:18px}
.results>header p{max-width:640px;font-size:16px;line-height:1.65}
.results header button{border-radius:14px;transition:background .25s,color .25s,border-color .25s}
.results header button:hover{background:var(--green);border-color:var(--green);color:var(--navy)}
.proof-stage{width:min(calc(100% - (2 * var(--pad))),1240px);margin:46px auto 0;padding:16px;border-radius:30px;background:linear-gradient(135deg,#00d477,#0e2636 38%,#0b1729);box-shadow:0 35px 90px rgba(0,0,0,.36)}
.proof-window{padding:0;border-radius:20px;overflow:hidden}
.proof-track{gap:0}
.proof-track figure{flex:0 0 100%;padding:0;margin:0;background:#0c192b}
.proof-frame{height:auto;aspect-ratio:1.68;padding:16px;background:#0d1b2e;box-shadow:none}
.proof-frame img{object-fit:cover;border:1px solid #243852;border-radius:12px;background:#081426}
.proof-track figcaption{align-items:center;padding:20px 24px;color:#fff}
.proof-track figcaption b{font:700 18px Manrope}
.proof-track figcaption span{color:#98a8bb}
.result-metrics{width:min(100%,1240px);margin:34px auto 0;border:1px solid #2c3a4f;border-bottom:0;border-radius:22px 22px 0 0;overflow:hidden}
.result-metrics>div{padding:30px 32px}
.result-metrics strong{font-size:clamp(36px,3.7vw,56px)}
.result-metrics span{font-size:14px}
.results-library{display:grid;place-items:center;padding:28px 32px;background:var(--green);color:var(--navy);font-weight:800;text-align:center}

/* Process: progressive journey, not tabs or five cramped columns */
.process{padding-block:110px;background:#fff}
.process>header{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(280px,.45fr);gap:30px 75px;align-items:end;max-width:1240px}
.process>header>span{grid-column:1/-1}
.process h2{font-size:clamp(46px,5vw,74px);margin:0}
.process>header>p{margin:0 0 7px;line-height:1.65}
.process-board{margin-top:55px}
.process-scenes{position:relative;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;border:0}
.process-scenes:before{content:"";position:absolute;left:50%;top:4%;bottom:10%;width:1px;background:linear-gradient(var(--green),#d8dfdb);transform:translateX(-50%)}
.process-scenes article,.process-scenes article.active{position:relative;display:grid;grid-template-columns:64px 1fr;grid-template-rows:auto auto 1fr auto;gap:0 20px;min-height:330px;padding:32px;border:1px solid #d8ddda;border-radius:26px;background:#f7f8f6;color:var(--navy);overflow:hidden;transition:transform .3s,border-color .3s,box-shadow .3s}
.process-scenes article:nth-child(even){transform:translateY(48px)}
.process-scenes article:nth-child(even):hover{transform:translateY(40px)}
.process-scenes article:last-child{grid-column:1/-1;width:calc(50% - 9px);margin-top:48px;justify-self:center;transform:none}
.process-scenes article:last-child:hover{transform:translateY(-7px)}
.process-scenes article:hover{padding:32px;transform:translateY(-7px);border-color:var(--green);background:#fff;color:var(--navy);box-shadow:0 22px 55px rgba(7,18,37,.09)}
.process-scenes article>b{grid-row:1/5;position:static;display:grid;place-items:center;width:58px;height:58px;border-radius:19px;background:var(--navy);color:var(--green);font:800 18px Manrope;-webkit-text-stroke:0}
.process-scenes article>span{margin:5px 0 0;color:#008d50;font-size:11px;letter-spacing:.15em}
.process-scenes h3{font-size:clamp(25px,2.2vw,34px);margin:12px 0;line-height:1.16}
.process-scenes p{margin:0;color:#617080;font-size:15px;line-height:1.6}
.process-scenes article:hover p{color:#617080}
.process-scenes aside{align-self:end;margin:24px 0 0;padding:14px 16px;border:0;border-radius:14px;background:#e9f7f0;color:var(--navy)}
.process-scenes article:hover aside{background:#e9f7f0;color:var(--navy)}
.process-scenes aside small{color:#50816a;font-size:10px;letter-spacing:.13em}
.process-scenes aside strong{font-size:14px}
.process-cta{margin-top:74px;padding:24px 30px;border-radius:18px;background:var(--navy);color:#fff}
.process-cta a{padding:13px 18px;border-radius:999px;background:var(--green);color:var(--navy)}

/* Insights: tighter editorial hierarchy */
.insights{padding-block:108px 120px}
.insights>header{grid-template-columns:minmax(0,1.1fr) minmax(280px,.45fr);max-width:1240px;gap:70px}
.insights h2{font-size:clamp(46px,5vw,72px);max-width:760px;margin-bottom:0}
.insights>header p{margin-bottom:7px}
.editorial-grid{grid-template-columns:minmax(0,1.42fr) minmax(310px,.58fr);gap:18px;margin-top:48px}
.featured-story{grid-template-columns:1fr;grid-template-rows:330px auto;min-height:0;border-radius:28px;overflow:hidden;background:var(--navy);transition:transform .3s,box-shadow .3s}
.featured-story:hover{transform:translateY(-6px);box-shadow:0 25px 55px rgba(7,18,37,.18)}
.featured-story .story-art{min-height:0}
.featured-story>div:last-child{padding:38px 42px 42px}
.featured-story h3{font-size:clamp(29px,3vw,42px);margin:16px 0}
.featured-story p{margin-bottom:20px}
.story-stack{grid-template-rows:1fr 1fr;gap:18px}
.story-stack>a{display:grid;grid-template-columns:42% 1fr;grid-template-rows:auto auto 1fr auto;column-gap:24px;align-content:start;min-height:0;padding:0 24px 0 0;border-radius:24px;background:#f5f6f3;transition:transform .3s,border-color .3s,box-shadow .3s}
.story-stack>a:hover{transform:translateY(-5px);border-color:#8dd8b8;box-shadow:0 18px 40px rgba(7,18,37,.09)}
.story-stack>a>img{grid-row:1/5;width:100%;height:100%;min-height:230px;margin:0;object-fit:cover}
.story-stack>a>span,.story-stack>a>h3,.story-stack>a>p,.story-stack>a>b{margin-left:0;margin-right:0}
.story-stack>a>span{padding-top:25px;font-size:11px;color:#008d50}
.story-stack h3{font-size:clamp(20px,1.8vw,27px);margin-block:10px}
.story-stack p{font-size:14px;line-height:1.5;margin-block:0 14px}
.story-stack b{padding-bottom:23px;font-size:13px}
.topic-row{margin-top:18px;border-radius:16px;background:#f7f8f6}

@media(max-width:1050px){
  .service-showcase>article{grid-template-columns:1fr minmax(270px,.55fr)}
  .process-scenes article,.process-scenes article.active{grid-template-columns:54px 1fr;padding:27px}
  .process-scenes article:hover{padding:27px}
  .process-scenes article>b{width:50px;height:50px}
  .editorial-grid{grid-template-columns:1fr}
  .story-stack{grid-template-columns:1fr 1fr;grid-template-rows:auto}
  .story-stack>a{grid-template-columns:1fr;padding:0 0 24px}
  .story-stack>a>img{grid-row:auto;height:190px;min-height:0}
  .story-stack>a>span,.story-stack>a>h3,.story-stack>a>p,.story-stack>a>b{margin-inline:24px}
}
@media(max-width:760px){
  .challenges,.services,.process,.insights{padding-block:82px}
  .challenges>header,.process>header,.insights>header{grid-template-columns:1fr;gap:22px;padding-bottom:32px}
  .challenges>header>span,.process>header>span{grid-column:auto}
  .challenges>header h2,.services h2,.process h2,.insights h2,.results h2{font-size:clamp(40px,12vw,58px)}
  .stall-lines{grid-template-columns:1fr}
  .stall-lines article{min-height:0;padding:26px 22px;grid-template-columns:50px 1fr}
  .stall-lines article:hover{padding-left:22px}
  .stall-lines article:before{width:46px;height:46px;border-radius:14px}
  .services>header{display:block}
  .service-tabs{margin-top:32px}
  .service-showcase>article{grid-template-columns:1fr;border-radius:22px}
  .service-showcase article>div{padding:34px 24px}
  .service-showcase h3{font-size:clamp(36px,11vw,50px)}
  .service-showcase aside{min-height:290px;padding:34px 28px}
  .service-showcase aside>b{font-size:66px}
  .proof-stage{width:calc(100% - 28px);margin-top:32px;padding:8px;border-radius:20px}
  .proof-frame{padding:7px;aspect-ratio:1.35}
  .proof-track figcaption{display:block;padding:17px 16px}
  .proof-track figcaption span{display:block;margin-top:5px;font-size:13px}
  .result-metrics{grid-template-columns:repeat(3,minmax(180px,1fr));overflow:auto;border-radius:0}
  .results-library{min-width:220px}
  .process-scenes{grid-template-columns:1fr}
  .process-scenes:before{display:none}
  .process-scenes article:nth-child(even),.process-scenes article:nth-child(even):hover{transform:none}
  .process-scenes article:last-child{grid-column:auto;width:100%;margin-top:0}
  .process-scenes article,.process-scenes article.active{min-height:0}
  .process-cta{margin-top:22px}
  .story-stack{grid-template-columns:1fr}
  .featured-story{grid-template-rows:245px auto}
  .featured-story>div:last-child{padding:30px 25px 34px}
}
@media(max-width:520px){
  .stall-lines article{grid-template-columns:1fr}
  .stall-lines article:before{grid-row:auto}
  .stall-lines p,.stall-lines span{grid-column:auto}
  .process-scenes article,.process-scenes article.active{grid-template-columns:1fr}
  .process-scenes article>b{grid-row:auto;margin-bottom:18px}
  .process-cta{align-items:stretch}
  .process-cta a{text-align:center}
  .story-stack>a{grid-template-columns:1fr}
}
@media(prefers-reduced-motion:reduce){.stall-lines article,.service-tabs button,.featured-story,.story-stack>a,.process-scenes article{transition:none!important}}
