.service-page{overflow-x:hidden;background:#fff}
.service-page strong{font-weight:600;color:#223029}
.service-page figure{margin:0}
.service-page figcaption{margin-top:10px;color:#7c8882;font-size:10px;font-weight:600;letter-spacing:.1em}

/* HERO */
.service-hero{padding:104px 0 96px;border-bottom:1px solid #e4e9e6;background:#fff}
.service-hero-grid{display:grid;grid-template-columns:180px minmax(0,1fr) minmax(320px,430px);gap:clamp(32px,4.5vw,72px);align-items:center}
.service-hero .eyebrow{margin:2px 0 0;align-self:start;padding-top:6px}
.service-hero-copy h1{margin:0;max-width:760px;font-size:clamp(32px,3.1vw,42px);font-weight:470;line-height:1.2;letter-spacing:-.043em;word-break:keep-all}
.service-hero-copy>p{max-width:720px;margin:26px 0 0;color:#5f6963;font-size:16px;line-height:1.76;letter-spacing:-.018em;word-break:keep-all}
.service-hero-media{min-width:0}
.service-hero-media img{width:100%;aspect-ratio:4/5;object-fit:cover;display:block;border-radius:10px;background:#f0f3f1}

/* ROLE */
.service-role{padding:104px 0 112px;background:#fff}
.service-role-grid{display:grid;grid-template-columns:180px minmax(0,1fr);gap:clamp(32px,4.5vw,72px);align-items:start}
.service-side-label{position:sticky;top:122px}
.service-side-label .eyebrow{margin-bottom:12px}
.service-side-label span{display:block;color:#85908a;font-size:12px;line-height:1.5}
.service-role-content{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(300px,.72fr);gap:clamp(38px,5vw,80px);align-items:start}
.service-role-copy h2{margin:0;max-width:700px;font-size:clamp(27px,2.35vw,32px);font-weight:500;line-height:1.4;letter-spacing:-.04em;word-break:keep-all}
.role-columns{display:grid;grid-template-columns:1fr 1fr;gap:34px;margin-top:38px;padding-top:26px;border-top:1px solid #e2e7e4}
.role-columns p{margin:0;color:#66706a;font-size:15px;line-height:1.8;word-break:keep-all}
.role-media img{width:100%;aspect-ratio:4/5;object-fit:cover;object-position:center;display:block;border-radius:10px;background:#eef1ef}

/* FLOW */
.service-flow{padding:104px 0 112px;background:#123f31;color:#fff}
.flow-head{display:grid;grid-template-columns:180px minmax(0,1fr) minmax(250px,360px);gap:clamp(30px,4.5vw,68px);align-items:end;margin-bottom:42px}
.flow-head .eyebrow{margin:0;color:#b8ccc2;align-self:start}
.flow-head h2{margin:0;max-width:620px;font-size:clamp(27px,2.4vw,32px);font-weight:500;line-height:1.38;letter-spacing:-.04em;color:#fff}
.flow-head>p{margin:0;color:rgba(255,255,255,.72);font-size:14px;line-height:1.75;word-break:keep-all}
.flow-media{margin-bottom:28px!important}
.flow-media img{width:100%;aspect-ratio:2.25/1;object-fit:cover;display:block;border-radius:10px;background:#274d41}
.flow-media figcaption{color:rgba(255,255,255,.55)}
.flow-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;border:0}
.flow-card{min-width:0;min-height:360px;padding:28px 24px 24px;border:1px solid rgba(255,255,255,.18);border-radius:12px;background:#fff;color:#1d2923;display:flex;flex-direction:column;box-shadow:0 12px 32px rgba(0,0,0,.06)}
.flow-no{display:block;margin-bottom:42px;color:#73817a;font-size:11px;font-weight:650;letter-spacing:.12em}
.flow-card h3{max-width:100%;margin:0;font-size:clamp(19px,1.3vw,22px);font-weight:560;line-height:1.42;letter-spacing:-.032em;color:#1c2822}
.flow-card>p{max-width:100%;margin:14px 0 0;color:#657069;font-size:13.5px;line-height:1.72;word-break:keep-all}
.flow-card ul{display:flex;gap:6px;flex-wrap:wrap;margin:auto 0 0;padding:26px 0 0;list-style:none}
.flow-card li{padding:6px 9px;border:1px solid #d7dfda;border-radius:999px;background:#fff;color:#5d6963;font-size:10.5px;line-height:1.2}

/* CAPABILITIES */
.capability-section{padding:108px 0 116px;background:#fff}
.capability-layout{display:grid;grid-template-columns:minmax(260px,.68fr) minmax(0,1.5fr);gap:clamp(58px,7vw,120px);align-items:start}
.capability-intro{position:sticky;top:122px}
.capability-intro .eyebrow{margin-bottom:22px}
.capability-intro h2{margin:0;max-width:420px;font-size:clamp(26px,2.2vw,31px);font-weight:500;line-height:1.4;letter-spacing:-.038em}
.capability-intro>p:last-child{max-width:450px;margin:22px 0 0;color:#6a746e;font-size:14px;line-height:1.76;word-break:keep-all}
.capability-list{border-top:1px solid #dfe5e1}
.capability-row{scroll-margin-top:120px;display:grid;grid-template-columns:46px minmax(0,1fr) auto;gap:22px;align-items:start;padding:27px 0;border-bottom:1px solid #dfe5e1;transition:padding .2s,color .2s}
.capability-row:hover{padding-left:8px;padding-right:8px;color:#144837}
.capability-row>span{padding-top:4px;color:#77847d;font-size:11px;font-weight:650;letter-spacing:.08em}
.capability-row h3{margin:0;font-size:clamp(19px,1.45vw,22px);font-weight:530;line-height:1.42;letter-spacing:-.03em}
.capability-row p{max-width:610px;margin:8px 0 0;color:#6b756f;font-size:14px;line-height:1.7;word-break:keep-all}
.capability-row small{padding-top:6px;color:#87918c;font-size:9.5px;font-weight:650;letter-spacing:.09em;white-space:nowrap}

/* CTA */
.service-cta-section{padding:94px 0 102px;background:#f4f6f5;border-top:1px solid #e2e7e4}
.service-cta-inner{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(300px,.85fr);gap:clamp(52px,7vw,110px);align-items:end}
.service-cta-inner .eyebrow{margin-bottom:20px}
.service-cta-inner h2{margin:0;max-width:650px;font-size:clamp(26px,2.3vw,32px);font-weight:500;line-height:1.4;letter-spacing:-.038em}
.service-cta-copy>p{margin:0;color:#66716b;font-size:14px;line-height:1.76;word-break:keep-all}
.service-cta-copy>div{display:flex;gap:10px;flex-wrap:wrap;margin-top:26px}

@media(max-width:1220px){
  .flow-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .flow-card{min-height:310px}
}

@media(max-width:1120px){
  .service-hero-grid{grid-template-columns:160px minmax(0,1fr) minmax(280px,360px);gap:34px}
  .service-role-grid{grid-template-columns:160px minmax(0,1fr);gap:34px}
  .service-role-content{grid-template-columns:minmax(0,1fr) minmax(250px,.65fr);gap:34px}
  .flow-head{grid-template-columns:160px minmax(0,1fr) 300px;gap:34px}
}

@media(max-width:920px){
  .service-hero-grid{grid-template-columns:1fr 300px;gap:36px}
  .service-hero .eyebrow{grid-column:1/-1;padding-top:0}
  .service-role-grid{grid-template-columns:1fr;gap:24px}
  .service-side-label,.capability-intro{position:static}
  .service-role-content{grid-template-columns:minmax(0,1fr) 280px;gap:30px}
  .flow-head{grid-template-columns:1fr 1fr}
  .flow-head .eyebrow{grid-column:1/-1}
  .flow-head>p{max-width:500px}
  .capability-layout{grid-template-columns:1fr;gap:42px}
  .capability-intro>p:last-child{max-width:680px}
  .service-cta-inner{grid-template-columns:1fr;gap:34px}
}

@media(max-width:760px){
  .service-hero{padding:72px 0 76px}
  .service-hero-grid{grid-template-columns:1fr;gap:24px}
  .service-hero-copy h1{font-size:clamp(30px,8.2vw,38px);line-height:1.24}
  .service-hero-copy>p{font-size:15px;line-height:1.72;margin-top:20px}
  .service-hero-media img{aspect-ratio:16/10;border-radius:8px}

  .service-role{padding:76px 0 82px}
  .service-role-content{grid-template-columns:1fr;gap:34px}
  .service-role-copy h2{font-size:clamp(25px,7vw,31px)}
  .role-columns{grid-template-columns:1fr;gap:18px;margin-top:30px;padding-top:22px}
  .role-columns p{font-size:14.5px}
  .role-media img{aspect-ratio:16/10;border-radius:8px}

  .service-flow{padding:76px 0 82px}
  .flow-head{display:block;margin-bottom:32px}
  .flow-head h2{margin-top:16px;font-size:clamp(25px,7vw,31px)}
  .flow-head>p{margin-top:16px;font-size:13.5px}
  .flow-media{margin-bottom:18px!important}
  .flow-media img{aspect-ratio:16/9;border-radius:8px}
  .flow-grid{grid-template-columns:1fr;gap:10px}
  .flow-card{min-height:0;padding:22px 18px 20px;border-radius:10px}
  .flow-no{margin-bottom:24px}
  .flow-card>p{font-size:13.5px}

  .capability-section{padding:78px 0 84px}
  .capability-intro h2{font-size:clamp(24px,6.8vw,30px)}
  .capability-row{grid-template-columns:36px minmax(0,1fr);gap:12px 14px;padding:23px 0}
  .capability-row small{grid-column:2;grid-row:2;padding-top:0;white-space:normal;line-height:1.5}
  .capability-row:hover{padding-left:0;padding-right:0}

  .service-cta-section{padding:72px 0 78px}
  .service-cta-inner h2{font-size:clamp(24px,6.8vw,30px)}
}