/* Editorial layout for the four service detail pages only. */
.service-page{--detail-accent:#68c9ed}
.service-page[data-service="development"]{--detail-accent:#83b9f5}
.service-page[data-service="outsourcing"]{--detail-accent:#79d9dc}
.service-page[data-service="operations"]{--detail-accent:#abdceb}
.service-page .service-hero-copy::before{content:"";display:block;width:clamp(70px,10vw,145px);height:2px;margin-bottom:30px;background:var(--detail-accent);box-shadow:0 0 24px rgba(123,211,239,.32)}
.service-page .service-hero .eyebrow{margin-top:0}
.service-page .service-hero .english{color:var(--detail-accent)}
.service-page .service-overview{position:relative;isolation:isolate;overflow:hidden;background:radial-gradient(ellipse at 4% 100%,#0e3851,#061c31 53%,#041526);color:#eff8fb}
.service-page .service-overview::before{content:"01";position:absolute;left:clamp(12px,5vw,90px);top:-.18em;font:clamp(220px,28vw,440px)/1 Arial,sans-serif;letter-spacing:-.1em;color:rgba(118,202,233,.045);pointer-events:none;z-index:-1}
.service-page .service-overview>.container{display:grid;grid-template-columns:minmax(0,.75fr) minmax(0,1fr);column-gap:9%;row-gap:14px;align-items:end;min-height:360px;padding-top:38px;border-top:1px solid rgba(150,204,229,.3)}
.service-page .service-overview .section-kicker{grid-column:1;grid-row:1;color:var(--detail-accent);align-self:end;margin-bottom:0}
.service-page .service-overview h2{grid-column:1;grid-row:2;font-size:clamp(39px,4.5vw,65px);line-height:1.35}
.service-page .service-overview .lead{grid-column:2;grid-row:1 / span 2;margin:0 0 4px;max-width:650px;font-size:clamp(17px,1.45vw,20px);line-height:2.1;color:#d0e1ea}
.service-page .service-work{position:relative;isolation:isolate;overflow:hidden;background:#edf2f5;color:#071b30}
.service-page .service-work::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(7,82,127,.035) 1px,transparent 1px);background-size:100px 100px;mask-image:linear-gradient(90deg,transparent,#000 55%,transparent);pointer-events:none}
.service-page .service-work>.container{position:relative;z-index:1}
.service-page .service-work .section-kicker{color:#006d97}
.service-page .service-work h2{font-size:clamp(38px,4.4vw,64px);line-height:1.35}
.service-page .detail-section-line{position:absolute;right:-3%;top:3%;width:min(77%,1100px);height:180px;overflow:visible;pointer-events:none;opacity:.55}
.service-page .detail-section-line path{fill:none;stroke:#148cbb;stroke-width:1.5;stroke-dasharray:1350;stroke-dashoffset:1350}
.service-page .service-work.is-in-view .detail-section-line path{stroke-dashoffset:0;transition:stroke-dashoffset 1.1s ease}
.service-page .service-cards{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:clamp(12px,2vw,28px);row-gap:12px;margin-top:clamp(50px,8vw,110px)}
.service-page .service-card{grid-column:1 / span 7;display:grid;grid-template-columns:clamp(82px,10vw,150px) minmax(0,1fr);column-gap:clamp(18px,3vw,48px);align-content:start;min-height:220px;padding:30px 0 54px;border:0;border-top:1px solid #a5b7c4;background:none;box-shadow:none}
.service-page .service-card:nth-child(even){grid-column:6 / -1}
.service-page .service-card::before{top:-1px;width:clamp(55px,7vw,110px);height:2px;background:#0b8fbc}
.service-page .service-card .number{grid-column:1;grid-row:1 / span 2;font:300 clamp(45px,7vw,96px)/1 Arial,sans-serif;letter-spacing:-.075em;color:#a7bfce}
.service-page .service-card h3{grid-column:2;grid-row:1;margin:3px 0 0;font-size:clamp(23px,2.5vw,34px);line-height:1.48;color:#09233a}
.service-page .service-card p{grid-column:2;grid-row:2;margin-top:22px;color:#375369;font-size:16px;line-height:2;max-width:520px}
.service-page .service-values{position:relative;overflow:hidden;background:linear-gradient(125deg,#082b45,#04182b 75%);color:#f2f8fc}
.service-page .service-values::before{content:"";position:absolute;inset:0;background:url('../img/brand-ribbons.svg') right center/70% auto no-repeat;opacity:.08;pointer-events:none}
.service-page .service-values .value-box{position:relative;max-width:none;display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);column-gap:8%;row-gap:12px;border:0;border-block:1px solid rgba(148,211,233,.31);padding:clamp(36px,5vw,70px) 0}
.service-page .service-values .section-kicker{grid-column:1;grid-row:1;color:var(--detail-accent);margin:0}
.service-page .service-values h2{grid-column:1;grid-row:2;font-size:clamp(31px,3.7vw,52px)}
.service-page .service-values .lead{grid-column:2;grid-row:1 / span 2;align-self:end;margin:0;color:#d1e4ec;font-size:clamp(17px,1.45vw,20px);line-height:2.05}
.service-page .service-other{background:radial-gradient(ellipse at 90% 100%,#0a3553,#04182d 61%,#031021)}
.service-page .service-other h2{font:300 clamp(35px,4.5vw,62px)/1.15 Arial,sans-serif;letter-spacing:.05em}
.service-page .service-other .back-link{margin:23px 0 50px}
.service-page .service-other-grid{display:block;border-top:1px solid rgba(150,200,224,.32)}
.service-page .service-other-grid a{display:grid;grid-template-columns:150px minmax(0,1fr) 36px;align-items:center;gap:24px;min-height:116px;padding:20px 12px;border:0;border-bottom:1px solid rgba(150,200,224,.32);background:none;transition:background .3s ease,padding .3s ease}
.service-page .service-other-grid a:hover{padding-left:22px;background:rgba(58,157,198,.1);transform:none}
.service-page .service-other-grid .number{font-size:12px;letter-spacing:.12em}
.service-page .service-other-grid strong{font-size:clamp(24px,2.7vw,39px);letter-spacing:.06em}
.service-page .service-other-grid .arrow{align-self:center;justify-self:end;font-size:22px;color:var(--detail-accent)}
.service-page .service-other-grid a:focus-visible,.service-page .back-link:focus-visible{outline:2px solid var(--detail-accent);outline-offset:4px}
@media(prefers-reduced-motion:no-preference){
  .service-page.detail-motion-ready .detail-reveal{opacity:0;transform:translateY(18px);transition:opacity .55s ease,transform .55s ease}
  .service-page.detail-motion-ready .detail-reveal.is-visible{opacity:1;transform:none}
  .service-page .service-visual-cyber img{transform:translateY(var(--detail-shift,0px));transition:transform .15s linear}
}
@media(max-width:960px){.service-page .service-card{grid-column:1 / span 9}.service-page .service-card:nth-child(even){grid-column:4 / -1}}
@media(max-width:640px){
  .service-page .service-hero-copy::before{width:78px;margin-bottom:25px}
  .service-page .service-overview,.service-page .service-work,.service-page .service-values,.service-page .service-other{padding-block:clamp(72px,12vw,95px)}
  .service-page .service-overview>.container{display:block;min-height:0;padding-top:28px}
  .service-page .service-overview .section-kicker{margin-bottom:20px}
  .service-page .service-overview h2{font-size:clamp(36px,10vw,50px)}
  .service-page .service-overview .lead{margin-top:27px;font-size:16px;line-height:2}
  .service-page .service-overview::before{font-size:210px;left:auto;right:4%;top:4%;color:rgba(118,202,233,.06)}
  .service-page .service-work h2{font-size:clamp(34px,9vw,46px)}
  .service-page .detail-section-line{top:4%;width:100%;height:110px;opacity:.32}
  .service-page .service-cards{display:block;margin-top:45px}
  .service-page .service-card,.service-page .service-card:nth-child(even){display:grid;grid-template-columns:60px minmax(0,1fr);column-gap:15px;min-height:0;padding:27px 0 42px}
  .service-page .service-card .number{font-size:42px}
  .service-page .service-card h3{font-size:clamp(21px,6.1vw,28px)}
  .service-page .service-card p{font-size:15px;line-height:1.95;margin-top:15px}
  .service-page .service-values .value-box{display:block;padding:30px 0}
  .service-page .service-values .section-kicker{margin-bottom:17px}
  .service-page .service-values h2{font-size:clamp(29px,8vw,41px)}
  .service-page .service-values .lead{margin-top:24px;font-size:16px}
  .service-page .service-other-grid a{grid-template-columns:minmax(0,1fr) 28px;gap:4px 10px;min-height:106px;padding:18px 4px}
  .service-page .service-other-grid .number{grid-column:1;grid-row:1}
  .service-page .service-other-grid strong{grid-column:1;grid-row:2;font-size:clamp(23px,6vw,30px)}
  .service-page .service-other-grid .arrow{grid-column:2;grid-row:1 / span 2}
}
@media(max-width:360px){.service-page .service-card,.service-page .service-card:nth-child(even){grid-template-columns:49px minmax(0,1fr);column-gap:12px}.service-page .service-card .number{font-size:35px}.service-page .service-card h3{font-size:20px}}
@media(prefers-reduced-motion:reduce){.service-page .detail-section-line path{stroke-dashoffset:0!important}.service-page .service-visual-cyber img{transform:none!important;transition:none!important}}
