/* Relaunch layouts for services, insights, platforms, legal and form results. */
.detail-relaunch .container{width:min(1320px,calc(100% - 2 * var(--pad)));margin-inline:auto}
.detail-relaunch main{padding-top:150px;padding-bottom:90px;min-height:70vh}
.detail-relaunch main h1{font:500 clamp(46px,5.6vw,84px)/1.02 var(--serif);letter-spacing:-.045em;text-wrap:balance;margin:20px 0 28px}
.detail-relaunch main h2{font:500 clamp(32px,3.4vw,52px)/1.08 var(--serif);letter-spacing:-.035em}
.detail-relaunch main h3{font:500 29px/1.15 var(--serif);margin:16px 0}
.detail-relaunch main p{line-height:1.75;color:#63685f}
.detail-relaunch .section-label,.blog-meta,.article-meta,.blog-card-tag,.form-result-status{font-size:10px;text-transform:uppercase;letter-spacing:.13em;color:#62695f}
.detail-relaunch .button-dark{background:#101510;color:white;border:1px solid #101510}
.detail-relaunch main a:not(.button):hover{color:#6846bc}
.detail-relaunch main :is(h2,h3,section)[id]{scroll-margin-top:115px}
.detail-relaunch .service-detail-main{padding-top:0;padding-bottom:0}
.service-detail-hero{padding:165px 0 85px;background:#090c0a;color:#fff}
.service-detail-hero-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:8vw;align-items:center}
.detail-relaunch .service-detail-hero p{color:#abb3aa;font-size:18px}
.service-detail-hero .section-label,.service-back-link{color:#91e5aa;display:block}.service-back-link{font-size:12px;margin-bottom:36px}
.service-detail-actions,.service-audience,.form-result-actions{display:flex;gap:20px;align-items:center;flex-wrap:wrap;margin-top:30px}
.service-detail-hero .button-dark{background:white;color:#111}
.service-audience{gap:8px}.service-audience span{font-size:10px;border:1px solid #8b978866;padding:7px 10px}
.service-detail-visual{margin:0;position:relative}.service-detail-visual img{width:100%;height:600px;object-fit:cover}.service-detail-visual figcaption{position:absolute;bottom:20px;left:20px;font-size:11px;color:white;background:#111b;padding:10px}
.service-problem-section,.service-scope-section,.service-outcomes,.service-contact-section,.platform-evaluation{padding:85px 0}
.service-problem-grid,.service-outcomes>.container,.service-contact-inner,.platform-catalog-head{display:grid;grid-template-columns:1fr 1fr;gap:8vw;align-items:start}
.service-problem-list article{border-top:1px solid var(--line);padding:22px 0}.service-problem-list article>span,.service-deliverables b,.platform-evaluation-grid b{font-size:11px;color:#6a8367}
.service-section-heading{max-width:720px;margin-bottom:45px}.service-deliverables{display:grid;grid-template-columns:repeat(4,1fr);gap:28px}.service-deliverables article{border-top:1px solid var(--line);padding-top:24px}
/* Reusable animated system illustrations for card-based capability sections. */
.service-deliverables article,.platform-evaluation-grid article{position:relative;isolation:isolate}
.service-deliverables article:before,.platform-evaluation-grid article:before{content:"";display:block;height:156px;margin-bottom:26px;background-color:#101310;background-image:linear-gradient(rgba(255,255,255,.055) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.055) 1px,transparent 1px),radial-gradient(circle at 50% 50%,rgba(139,229,161,.20),transparent 37%);background-size:34px 34px,34px 34px,100% 100%;box-shadow:inset 0 0 0 1px rgba(255,255,255,.06);transition:transform .35s ease,box-shadow .35s ease}
.service-deliverables article:after,.platform-evaluation-grid article:after{position:absolute;z-index:1;top:76px;left:50%;width:58px;height:58px;border:1px solid rgba(255,255,255,.4);border-radius:50%;content:"";transform:translate(-50%,-50%);box-shadow:0 0 0 28px rgba(255,255,255,.025),0 0 32px rgba(139,229,161,.13);animation:illustration-orbit 8s linear infinite}
.service-deliverables article:hover:before,.platform-evaluation-grid article:hover:before{transform:translateY(-4px);box-shadow:inset 0 0 0 1px rgba(255,255,255,.18),0 14px 28px rgba(0,0,0,.12)}
.service-deliverables article:nth-child(2):before,.platform-evaluation-grid article:nth-child(2):before{background-image:linear-gradient(rgba(255,255,255,.055) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.055) 1px,transparent 1px),linear-gradient(90deg,transparent 20%,rgba(255,255,255,.45) 20% 22%,transparent 22% 46%,rgba(255,255,255,.45) 46% 48%,transparent 48% 72%,rgba(255,255,255,.45) 72% 74%,transparent 74%),radial-gradient(circle at 50% 50%,rgba(139,229,161,.15),transparent 39%);background-size:34px 34px,34px 34px,100% 100%,100% 100%}
.service-deliverables article:nth-child(2):after,.platform-evaluation-grid article:nth-child(2):after{border-radius:0;width:44px;height:44px;background:#f1f1ed;border-color:#f1f1ed;box-shadow:-64px 0 0 -1px #101310,-64px 0 0 0 rgba(255,255,255,.32),64px 0 0 -1px #101310,64px 0 0 0 rgba(255,255,255,.32),0 0 30px rgba(255,255,255,.18);animation:illustration-pulse 3s ease-in-out infinite}
.service-deliverables article:nth-child(3):before,.platform-evaluation-grid article:nth-child(3):before{background-image:linear-gradient(rgba(255,255,255,.055) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.055) 1px,transparent 1px),linear-gradient(180deg,transparent 45%,rgba(255,255,255,.24) 46% 47%,transparent 48%),radial-gradient(circle at 76% 18%,rgba(139,229,161,.22),transparent 23%);background-size:34px 34px,34px 34px,100% 100%,100% 100%}
.service-deliverables article:nth-child(3):after,.platform-evaluation-grid article:nth-child(3):after{top:auto;bottom:27px;width:15px;height:38px;border:0;border-radius:0;background:linear-gradient(#f1f1ed,rgba(241,241,237,.18));box-shadow:-24px 9px 0 -1px #dfe4dc,-48px 20px 0 -1px #c6cdc5,24px -12px 0 -1px #f1f1ed,48px -26px 0 -1px #f1f1ed;animation:illustration-bars 2.8s ease-in-out infinite alternate}
.service-deliverables article:nth-child(4):before,.platform-evaluation-grid article:nth-child(4):before{background-image:linear-gradient(rgba(255,255,255,.055) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.055) 1px,transparent 1px),radial-gradient(circle at 50% 50%,rgba(139,229,161,.25),transparent 16%),radial-gradient(circle at 50% 50%,transparent 31%,rgba(255,255,255,.3) 31.5% 32%,transparent 32.5%);background-size:34px 34px,34px 34px,100% 100%,100% 100%}
.service-deliverables article:nth-child(4):after,.platform-evaluation-grid article:nth-child(4):after{width:9px;height:9px;border:0;background:#91e5aa;box-shadow:0 -49px 0 #f1f1ed,42px 25px 0 #f1f1ed,-42px 25px 0 #f1f1ed,0 0 22px #91e5aa;animation:illustration-nodes 4s ease-in-out infinite}
.platform-evaluation-grid article:nth-child(n+5):before{background-image:linear-gradient(rgba(255,255,255,.055) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.055) 1px,transparent 1px),radial-gradient(ellipse at 50% 50%,rgba(139,229,161,.22),transparent 28%);background-size:34px 34px,34px 34px,100% 100%}
.platform-evaluation-grid article:nth-child(n+5):after{width:66px;height:42px;border-radius:0;border-color:rgba(255,255,255,.45);transform:translate(-50%,-50%) rotate(-28deg);animation:illustration-scan 4s ease-in-out infinite}
@keyframes illustration-orbit{to{transform:translate(-50%,-50%) rotate(360deg)}}
@keyframes illustration-pulse{50%{transform:translate(-50%,-50%) scale(1.12);box-shadow:-64px 0 0 -1px #101310,-64px 0 0 0 rgba(255,255,255,.55),64px 0 0 -1px #101310,64px 0 0 0 rgba(255,255,255,.55),0 0 45px rgba(255,255,255,.35)}}
@keyframes illustration-bars{to{transform:translate(-50%,-8px) scaleY(.72)}}
@keyframes illustration-nodes{50%{transform:translate(-50%,-50%) scale(1.35);box-shadow:0 -49px 0 #91e5aa,42px 25px 0 #f1f1ed,-42px 25px 0 #f1f1ed,0 0 30px #91e5aa}}
@keyframes illustration-scan{50%{transform:translate(-50%,-50%) rotate(-28deg) scale(1.15);box-shadow:0 0 34px rgba(139,229,161,.3)}}
.service-outcomes,.platform-evaluation{background:#0b100c;color:#fff}.service-outcomes li{padding:15px 0;border-bottom:1px solid #ffffff30}.service-outcomes ul{padding-left:20px}
.detail-relaunch .section-label-light{color:#91e5aa}.detail-relaunch .platform-evaluation p{color:#acb5a9}.service-contact-inner{align-items:center}.service-contact-inner>.button{justify-self:end}
.blog-hero,.platform-directory-hero,.legal-hero{max-width:1000px;padding-bottom:60px}.blog-hero p,.platform-directory-hero>p,.legal-hero>p,.article-deck{max-width:760px;font-size:19px}
.blog-featured{display:grid;grid-template-columns:1fr 1fr;background:#0b100c;color:#fff;margin-bottom:85px}.blog-featured-visual img{width:100%;height:100%;max-height:570px;object-fit:cover}.blog-featured-copy{padding:clamp(24px,4vw,60px)}.detail-relaunch .blog-featured p,.blog-featured .blog-meta{color:#b1b9ad}.blog-meta{display:flex;flex-wrap:wrap;gap:20px}
.blog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.blog-card{display:flex;flex-direction:column;padding:30px;background:var(--paper);border:1px solid var(--line);transition:transform .2s}.blog-card:hover{transform:translateY(-4px)}.blog-card-foot{margin-top:auto;padding-top:24px;font-size:11px;display:flex;justify-content:space-between}.blog-section-head{margin-bottom:35px}
.article-header{max-width:1000px;padding-bottom:55px}.article-layout,.legal-layout{display:grid;grid-template-columns:220px minmax(0,800px);gap:7vw}.article-layout{padding-top:42px}.article-aside,.legal-toc{position:sticky;top:125px;align-self:start;display:grid;gap:14px;font-size:13px;border-top:1px solid var(--line);padding-top:24px}.article-body,.legal-copy{min-width:0}.article-body p,.article-body li,.legal-copy p,.legal-copy li{font-size:17px;line-height:1.8}.article-body h2,.legal-block h2{margin-top:50px}.article-body>:first-child{margin-top:0}.article-callout,.legal-note{padding:26px;background:#e4e9df;border-left:2px solid #668861;margin:35px 0}.article-cta{margin-top:55px;padding:35px;background:#101810;color:#fff}.detail-relaunch .article-cta p{color:#b8c3b4}.article-body a:not(.button),.legal-copy a{text-decoration:underline;text-underline-offset:4px;overflow-wrap:anywhere}
.platform-evaluation-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:35px;margin-top:45px}.platform-catalog{padding-top:80px}.platform-catalog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:40px}.platform-catalog-grid>a{padding:28px;background:var(--paper);border:1px solid var(--line);display:flex;flex-direction:column}.platform-catalog-grid>a>div{height:95px;display:flex;align-items:center;margin-bottom:30px}.platform-catalog-grid img{max-width:140px;max-height:65px;object-fit:contain}.platform-catalog-grid span,.platform-catalog-grid b{font-size:11px}.platform-catalog-grid b{margin-top:auto;padding-top:20px}
.form-result-main{display:grid;place-items:center;padding-inline:var(--pad)}.form-result-card{max-width:760px;padding:clamp(25px,5vw,65px);background:var(--paper);border:1px solid var(--line)}.form-result-logo{display:block;background:#0b100c;padding:20px;width:250px;max-width:100%;margin-bottom:40px}.form-result-card small{display:block;margin-top:35px;color:#687062}
@media(max-width:1000px){.service-detail-hero-grid{gap:35px}.service-detail-visual img{height:500px}.service-deliverables,.blog-grid,.platform-catalog-grid{grid-template-columns:repeat(2,1fr)}.article-layout,.legal-layout{grid-template-columns:170px minmax(0,1fr);gap:35px}}
@media(max-width:700px){.detail-relaunch main{padding-top:115px}.detail-relaunch .service-detail-main{padding-top:0}.service-detail-hero{padding-top:125px}.service-detail-hero-grid,.service-problem-grid,.service-outcomes>.container,.service-contact-inner,.platform-catalog-head,.blog-featured,.article-layout,.legal-layout{grid-template-columns:1fr;gap:32px}.service-detail-visual img{height:380px}.service-deliverables,.blog-grid,.platform-catalog-grid,.platform-evaluation-grid{grid-template-columns:1fr}.article-aside,.legal-toc{position:static}.service-contact-inner>.button{justify-self:start}.service-problem-section,.service-scope-section,.service-outcomes,.service-contact-section,.platform-evaluation{padding:55px 0}.blog-featured-visual img{max-height:330px}.article-cta{padding:24px}.service-detail-actions{align-items:stretch;flex-direction:column}}
@media(prefers-reduced-motion:reduce){.blog-card{transition:none}.blog-card:hover{transform:none}.service-deliverables article:after,.platform-evaluation-grid article:after{animation:none}.service-deliverables article:before,.platform-evaluation-grid article:before{transition:none}}

/* Consistent headers across services, insights, platforms, and articles */
.detail-relaunch .service-detail-hero{min-height:680px;padding:clamp(155px,13vw,195px) 0 clamp(75px,8vw,110px);background:#000;color:#fff}
.detail-relaunch .service-detail-hero-grid{grid-template-columns:minmax(0,1.05fr) minmax(0,.8fr);gap:clamp(48px,7vw,115px)}
.detail-relaunch .service-detail-hero h1{max-width:13ch;margin:15px 0 29px;font-size:clamp(52px,5.7vw,86px);line-height:.99;letter-spacing:-.055em;color:#fff}
.detail-relaunch .service-detail-hero p{max-width:55ch;color:#bbb;font-size:17px;line-height:1.7}
.detail-relaunch .service-detail-hero .section-label,.detail-relaunch .service-back-link{color:#aaa}
.detail-relaunch .service-back-link{width:fit-content;margin-bottom:34px;padding-bottom:8px;border-bottom:1px solid #777}
.detail-relaunch .service-detail-actions a:not(.button){color:#ddd;font-size:12px}
.detail-relaunch .service-detail-actions a:not(.button):hover,.detail-relaunch .service-back-link:hover{color:#fff}
.detail-relaunch .service-detail-hero .button-dark{border:1px solid #fff;border-radius:0;background:#fff;color:#000}
.detail-relaunch .service-detail-hero .button-dark:hover{background:#000;color:#fff}
.detail-relaunch .service-audience span{border-color:#565656;color:#c5c5c5}
.detail-relaunch .service-detail-visual img{height:clamp(480px,43vw,620px);filter:saturate(.65)}
.detail-relaunch .service-detail-visual figcaption{right:20px;left:20px;bottom:20px;border-top:1px solid rgba(255,255,255,.5);padding:14px 0 0;background:none;color:#fff}
.detail-relaunch :is(.blog-hero,.platform-directory-hero,.legal-hero,.article-header){width:100vw!important;max-width:none!important;min-height:490px;margin:-150px calc(50% - 50vw) 0!important;padding:clamp(140px,11vw,175px) max(var(--pad),calc((100vw - 1000px)/2)) clamp(80px,8vw,110px)!important;border-bottom:1px solid #292929;background:#000;color:#fff}
.detail-relaunch :is(.blog-hero,.platform-directory-hero,.legal-hero,.article-header)[data-hero-motion]{width:100vw!important;max-width:none!important}
.detail-relaunch :is(.blog-hero,.platform-directory-hero,.legal-hero,.article-header)>*{max-width:1000px;margin-right:0;margin-left:0}
.detail-relaunch :is(.blog-hero,.platform-directory-hero,.legal-hero,.article-header) h1{max-width:16ch;margin:18px 0 27px;color:#fff;font-size:clamp(55px,6vw,88px);line-height:.99;letter-spacing:-.055em}
.detail-relaunch :is(.blog-hero,.platform-directory-hero,.legal-hero,.article-header) :is(.section-label,.blog-meta){color:#aaa}
.detail-relaunch :is(.blog-hero,.platform-directory-hero,.legal-hero,.article-header) p{max-width:760px;color:#bbb;font-size:17px;line-height:1.7}
.detail-relaunch :is(.blog-hero,.platform-directory-hero,.legal-hero,.article-header) .service-audience{max-width:1000px}
@media(max-width:800px){.detail-relaunch .service-detail-hero{min-height:0;padding:130px 0 65px}.detail-relaunch .service-detail-hero-grid{grid-template-columns:1fr;gap:42px}.detail-relaunch .service-detail-hero h1{font-size:clamp(46px,11vw,70px)}.detail-relaunch .service-detail-visual img{height:400px}.detail-relaunch :is(.blog-hero,.platform-directory-hero,.legal-hero,.article-header){min-height:0;margin-top:-115px!important;padding:130px 24px 65px!important}.detail-relaunch :is(.blog-hero,.platform-directory-hero,.legal-hero,.article-header) h1{font-size:clamp(46px,11vw,68px)}}
@media(max-width:480px){.detail-relaunch .service-detail-hero h1,.detail-relaunch :is(.blog-hero,.platform-directory-hero,.legal-hero,.article-header) h1{font-size:clamp(42px,11vw,54px)}.detail-relaunch .service-detail-visual img{height:340px}}

/* Detail-page CTA: use the same team-led composition as the main subpages. */
.service-contact-section{position:relative;overflow:hidden;background:#070a08;color:#fff}.service-contact-section:before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px),radial-gradient(circle at 78% 24%,rgba(104,62,188,.35),transparent 29%),radial-gradient(circle at 36% 82%,rgba(62,160,94,.26),transparent 33%);background-size:54px 54px,54px 54px,100% 100%,100% 100%;pointer-events:none}.service-contact-inner{position:relative;z-index:1;grid-template-columns:minmax(0,1fr) minmax(255px,.64fr) auto;gap:clamp(30px,5vw,80px)}.service-contact-section p{color:#b8c0b8!important}.service-contact-section .button{white-space:nowrap}@media(max-width:1000px){.service-contact-inner{grid-template-columns:1fr 260px}.service-contact-inner>.button{grid-column:1 / -1}}@media(max-width:700px){.service-contact-inner{grid-template-columns:1fr}.service-contact-inner>.button{grid-column:auto;margin-top:8px}}
.detail-relaunch .service-detail-main{padding-bottom:var(--pad)}
.detail-relaunch .service-detail-main .service-contact-section{border-top:1px solid #303030;border-bottom:1px solid #303030}

/* Keep every system illustration fully inside its visual panel. */
.service-deliverables article:after,.platform-evaluation-grid article:after{display:none}.service-deliverables article:before,.platform-evaluation-grid article:before{overflow:hidden;animation:illustration-field 9s ease-in-out infinite alternate;background-image:radial-gradient(circle at 50% 50%,transparent 21%,rgba(240,245,238,.33) 21.5% 22%,transparent 22.5%),radial-gradient(circle at 50% 50%,rgba(139,229,161,.2),transparent 36%),linear-gradient(rgba(255,255,255,.055) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.055) 1px,transparent 1px);background-size:100% 100%,100% 100%,34px 34px,34px 34px;background-position:center}.service-deliverables article:nth-child(2):before,.platform-evaluation-grid article:nth-child(2):before{background-image:linear-gradient(90deg,transparent 20%,rgba(239,242,235,.42) 20% 22%,transparent 22% 47%,rgba(239,242,235,.42) 47% 49%,transparent 49% 74%,rgba(239,242,235,.42) 74% 76%,transparent 76%),linear-gradient(90deg,transparent 18%,#121512 18% 38%,transparent 38% 42%,#f1f1ed 42% 58%,transparent 58% 62%,#121512 62% 82%,transparent 82%),linear-gradient(rgba(255,255,255,.055) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.055) 1px,transparent 1px);background-size:100% 100%,100% 43%,34px 34px,34px 34px;background-position:center,center,center,center;background-repeat:no-repeat}.service-deliverables article:nth-child(3):before,.platform-evaluation-grid article:nth-child(3):before{background-image:linear-gradient(180deg,transparent 59%,rgba(239,242,235,.3) 59.5% 60.5%,transparent 61%),linear-gradient(90deg,transparent 13%,rgba(239,242,235,.45) 13% 25%,transparent 25% 30%,rgba(239,242,235,.7) 30% 45%,transparent 45% 50%,rgba(139,229,161,.8) 50% 66%,transparent 66% 71%,rgba(239,242,235,.5) 71% 87%,transparent 87%),radial-gradient(circle at 74% 21%,rgba(139,229,161,.25),transparent 20%),linear-gradient(rgba(255,255,255,.055) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.055) 1px,transparent 1px);background-size:100% 100%,100% 23%,100% 100%,34px 34px,34px 34px;background-position:center,center 67%,center,center,center;background-repeat:no-repeat}.service-deliverables article:nth-child(4):before,.platform-evaluation-grid article:nth-child(4):before{background-image:radial-gradient(circle at 50% 50%,transparent 32%,rgba(239,242,235,.35) 32.5% 33.5%,transparent 34%),radial-gradient(circle at 50% 23%,#91e5aa 0 4px,transparent 5px),radial-gradient(circle at 27% 66%,#f1f1ed 0 4px,transparent 5px),radial-gradient(circle at 73% 66%,#f1f1ed 0 4px,transparent 5px),radial-gradient(circle at 50% 50%,rgba(139,229,161,.18),transparent 28%),linear-gradient(rgba(255,255,255,.055) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.055) 1px,transparent 1px);background-size:100% 100%;background-position:center}.platform-evaluation-grid article:nth-child(n+5):before{background-image:linear-gradient(135deg,transparent 42%,rgba(139,229,161,.62) 43% 46%,transparent 47%),radial-gradient(ellipse at 50% 50%,rgba(139,229,161,.2),transparent 30%),linear-gradient(rgba(255,255,255,.055) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.055) 1px,transparent 1px);background-size:100% 100%,100% 100%,34px 34px,34px 34px}@keyframes illustration-field{to{background-position:center,center,17px 17px,17px 17px}}

/* The portrait group keeps its intended proportions at every desktop width. */
.service-contact-inner,.subpage-contact-cta,.industry-cta-inner{display:grid;grid-template-areas:"copy people" "copy action";grid-template-columns:minmax(0,1fr) minmax(315px,.72fr);align-items:end;gap:26px clamp(36px,6vw,100px)}.service-contact-inner>div:first-child,.subpage-contact-cta>div:first-child,.industry-cta-inner>div:first-child{grid-area:copy}.service-contact-inner>.cta-people,.subpage-contact-cta>.cta-people,.industry-cta-inner>.cta-people{grid-area:people}.service-contact-inner>.button,.subpage-contact-cta>.button,.industry-cta-inner>.button{grid-area:action;justify-self:start}.cta-people{min-height:0}.cta-portraits{width:330px;max-width:100%;height:128px;margin-bottom:15px}.cta-lead{width:128px;height:128px}.cta-team{left:103px;right:auto;width:218px;height:100px}.cta-team img{width:100%;height:100%;transform:none;object-position:center}.cta-people p{max-width:34ch!important}@media(max-width:800px){.service-contact-inner,.subpage-contact-cta,.industry-cta-inner{grid-template-areas:"copy" "people" "action";grid-template-columns:1fr}.service-contact-inner>.button,.subpage-contact-cta>.button,.industry-cta-inner>.button{margin-top:0}}

/* Platforms: a quieter editorial evaluation framework. */
.detail-relaunch .platform-evaluation{padding:clamp(88px,9vw,135px) 0 clamp(95px,10vw,145px);border-block:1px solid #d0d2cc;background:#e9eae5;color:#111}
.platform-evaluation-head{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(260px,.7fr);align-items:end;gap:clamp(35px,7vw,110px)}
.detail-relaunch .platform-evaluation .section-label{color:#667066}
.platform-evaluation-head h2{max-width:15ch;margin:17px 0 0;font-size:clamp(46px,5vw,73px)!important;line-height:1.02!important;letter-spacing:-.052em!important}
.detail-relaunch .platform-evaluation-head>p{max-width:37ch;margin:0 0 5px;color:#555d55;font-size:16px;line-height:1.7}
.platform-evaluation-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-top:clamp(54px,6vw,85px);border:0;background:transparent}
.platform-evaluation-grid article{display:flex;flex-direction:column;min-height:0;padding:22px;border:1px solid #c9cdc5;background:#f7f7f4;transition:background .3s ease,box-shadow .3s ease}
.platform-evaluation-grid article:hover{z-index:1;background:#fff;box-shadow:0 16px 34px rgba(0,0,0,.07)}
.detail-relaunch .platform-evaluation-grid article::before,.detail-relaunch .platform-evaluation-grid article::after{display:none;content:none;animation:none}
.detail-relaunch .platform-evaluation-grid b{display:block;color:#687268;font-size:11px;font-weight:700;letter-spacing:.16em}
.detail-relaunch .platform-evaluation-grid h3{max-width:15ch;margin:25px 0 15px;font-size:clamp(29px,2.5vw,38px);line-height:1.07;letter-spacing:-.04em}
.platform-evaluation-grid h3::before{display:none;content:none}
.detail-relaunch .platform-evaluation-grid p{max-width:36ch;margin:0;color:#5e645e;font-size:14px;line-height:1.68}
.detail-relaunch .platform-catalog{padding-top:clamp(85px,9vw,135px)}
.detail-relaunch .platform-directory-main{padding-bottom:0}

/* Shared, framed closing CTA for Platforms and every service detail page. */
.detail-relaunch .service-contact-section{width:min(calc(var(--max) + 120px),calc(100% - 2*var(--pad)));margin:clamp(90px,10vw,145px) auto clamp(45px,5vw,75px);padding:clamp(70px,8vw,115px) clamp(28px,7vw,100px);border:1px solid #303030;background:#060606;color:#fff}
.detail-relaunch .service-contact-section::before{background-image:linear-gradient(rgba(255,255,255,.027) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.027) 1px,transparent 1px);background-size:56px 56px}
.detail-relaunch .service-contact-inner.container{width:100%;max-width:none;margin:0;padding:0}
.detail-relaunch .service-contact-section .section-label{color:#aaa}
.detail-relaunch .service-contact-section h2{max-width:13ch;margin:18px 0 25px;color:#fff;font-size:clamp(44px,5vw,72px);line-height:1.01;letter-spacing:-.05em}
.detail-relaunch .service-contact-section p{max-width:47ch;color:#aaa!important;font-size:16px;line-height:1.7}
.detail-relaunch .service-contact-section .button-dark{min-width:245px;border:1px solid #fff;border-radius:0;background:#fff;color:#000}
.detail-relaunch .service-contact-section .button-dark:hover{background:#060606;color:#fff}
@media(max-width:1000px){.platform-evaluation-head{grid-template-columns:1fr}.platform-evaluation-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.detail-relaunch .platform-evaluation{padding:75px 0 85px}.platform-evaluation-head h2{font-size:clamp(42px,11vw,62px)!important}.platform-evaluation-grid{grid-template-columns:1fr}.platform-evaluation-grid article{min-height:230px}.detail-relaunch .service-contact-section{width:calc(100% - 36px);margin:75px auto 50px;padding:60px 25px}.detail-relaunch .service-contact-section h2{font-size:clamp(43px,11vw,61px)}.detail-relaunch .service-contact-section .button-dark{min-width:0;width:100%;justify-content:space-between;gap:10px;padding-inline:14px;white-space:normal;text-align:left;font-size:10px}}
@media(prefers-reduced-motion:reduce){.platform-evaluation-grid article{transition:none}}

/* Six independent platform diagrams, sized within their own SVG viewports. */
.platform-visual{margin-top:18px;overflow:hidden;border:1px solid #252d27;background-color:#090c0a;background-image:linear-gradient(#ffffff06 1px,transparent 1px),linear-gradient(90deg,#ffffff06 1px,transparent 1px),radial-gradient(ellipse at 70% 20%,#21362780,transparent 70%);background-size:28px 28px,28px 28px,100% 100%}
.platform-visual svg{display:block;width:100%;height:auto;aspect-ratio:320/196;overflow:hidden}
.platform-visual text{fill:#d9dfd9;font:600 8px var(--sans);letter-spacing:.6px;text-anchor:middle}
.platform-visual .pv-small{font-size:6px;letter-spacing:.4px}
.platform-visual .pv-muted{fill:#8b9a8e;font-size:7px;letter-spacing:1px}
.platform-visual .pv-dark{fill:#112017}
.pv-wire,.pv-faint,.pv-boundary{fill:none;stroke:#77887c;stroke-width:1}
.pv-faint{stroke:#37463c}.pv-boundary{stroke:#536d5a;stroke-dasharray:4 5}
.pv-node{fill:#101812;stroke:#526356;stroke-width:1}
.pv-core{fill:#ecf0e9;stroke:#c3d2c4;stroke-width:1}
.pv-flow{fill:none;stroke:#91e5aa;stroke-width:2;stroke-dasharray:7 25;animation:platform-data-flow 3s linear infinite}
.pv-check{fill:none;stroke:#245334;stroke-width:2}
.pv-tick{fill:none;stroke:#91e5aa;stroke-width:1.5}
.pv-signal{fill:#91e5aa;animation:platform-signal 3s ease-in-out infinite;transform-box:fill-box;transform-origin:center}
.pv-bar-muted{fill:#405045}.pv-bar-light{fill:#dce5da}.pv-bar-accent{fill:#91e5aa}
.pv-cost-bar{transform-box:view-box;transform-origin:0 137px;animation:platform-cost 5s ease-in-out infinite}
.pv-cost-two{animation-delay:-1s}.pv-cost-three{animation-delay:-2s}.pv-cost-four{animation-delay:-3s}
.pv-route{fill:none;stroke:#91e5aa;stroke-width:2;stroke-dasharray:5 6;animation:platform-route 6s ease-in-out infinite}
.pv-route-two{animation-delay:-3s}
.platform-visual *{animation-play-state:paused}
.platform-visual.is-active *{animation-play-state:running}
@keyframes platform-data-flow{to{stroke-dashoffset:-64}}
@keyframes platform-signal{0%,100%{opacity:.5;transform:scale(.85)}50%{opacity:1;transform:scale(1.25)}}
@keyframes platform-cost{0%,100%{transform:scaleY(.82)}50%{transform:scaleY(1)}}
@keyframes platform-route{0%,45%,100%{opacity:.2}20%,30%{opacity:1;stroke-dashoffset:-22}}
@media(max-width:700px){.platform-evaluation-grid article{padding:18px}.platform-visual{margin-top:16px}}
@media(prefers-reduced-motion:reduce){.platform-visual *{animation:none!important}}

/* Bespoke IT consulting illustrations: estate, architecture, evaluation, delivery. */
.service-it-consulting .service-deliverables article:before,.service-it-consulting .service-deliverables article:after{display:none}
.service-it-consulting .it-consulting-illustration{height:156px;margin:0 0 26px;overflow:hidden;background-color:#101310;background-image:radial-gradient(circle at 78% 18%,rgba(131,226,159,.14),transparent 32%),linear-gradient(rgba(255,255,255,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.045) 1px,transparent 1px);background-size:100% 100%,32px 32px,32px 32px;box-shadow:inset 0 0 0 1px rgba(255,255,255,.08)}
.service-it-consulting .it-consulting-illustration svg{display:block;width:100%;height:100%;padding:9px;overflow:visible}
.service-it-consulting .ill-grid{fill:none;stroke:rgba(255,255,255,.045);stroke-width:.6}
.service-it-consulting .ill-line,.service-it-consulting .ill-wire{fill:none;stroke:rgba(239,242,235,.62);stroke-width:1.35;stroke-linecap:round;stroke-linejoin:round}
.service-it-consulting .ill-wire{stroke-dasharray:3 3}
.service-it-consulting .ill-dot,.service-it-consulting .ill-node{fill:#91e5aa;filter:drop-shadow(0 0 4px rgba(145,229,170,.7))}
.service-it-consulting .ill-dot circle{animation:consulting-dot 3.8s ease-in-out infinite alternate}
.service-it-consulting .ill-dot circle:nth-child(2n){animation-delay:-1.8s}
.service-it-consulting .ill-ring{fill:none;stroke:rgba(145,229,170,.34);stroke-width:1;stroke-dasharray:3 4;transform-origin:194px 52px;animation:consulting-ring 18s linear infinite}
.service-it-consulting .ill-module{fill:#171c18;stroke:rgba(239,242,235,.58);stroke-width:1}
.service-it-consulting .ill-core{fill:#f1f1ed;stroke:#f1f1ed;stroke-width:1}
.service-it-consulting .ill-accent{fill:none;stroke:#91e5aa;stroke-width:2;stroke-linecap:round;filter:drop-shadow(0 0 4px rgba(145,229,170,.55))}
.service-it-consulting .ill-axis{fill:none;stroke:rgba(239,242,235,.58);stroke-width:1}
.service-it-consulting .ill-rule{fill:none;stroke:rgba(255,255,255,.16);stroke-width:1;stroke-dasharray:3 5}
.service-it-consulting .ill-bar{fill:rgba(239,242,235,.42);transform-box:fill-box;transform-origin:center bottom;animation:consulting-bar 3.6s ease-in-out infinite alternate}
.service-it-consulting .ill-bar:nth-of-type(2){animation-delay:-1.1s}
.service-it-consulting .ill-bar-best{fill:#91e5aa;animation-delay:-2s}
.service-it-consulting .ill-step{fill:#111612;stroke:rgba(239,242,235,.66);stroke-width:1.3}
.service-it-consulting .ill-step-active{fill:#f1f1ed;stroke:#f1f1ed}
.service-it-consulting .ill-check{fill:none;stroke:#91e5aa;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.service-it-consulting .it-consulting-illustration text{fill:#9ca49b;font:600 6px/1 var(--sans);letter-spacing:1px}
@keyframes consulting-dot{to{opacity:.35;transform:translateY(-3px)}}
@keyframes consulting-ring{to{transform:rotate(360deg)}}
@keyframes consulting-bar{to{transform:scaleY(.86);opacity:.72}}
@media(prefers-reduced-motion:reduce){.service-it-consulting .it-consulting-illustration *{animation:none!important}}

/* Project delivery illustrations: setup, connected planning, steering, handover. */
.service-project-management .service-deliverables article:before,.service-project-management .service-deliverables article:after{display:none}
.service-project-management .pm-illustration{height:156px;margin:0 0 26px;overflow:hidden;background-color:#101310;background-image:radial-gradient(circle at 78% 18%,rgba(131,226,159,.12),transparent 33%),linear-gradient(rgba(255,255,255,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.045) 1px,transparent 1px);background-size:100% 100%,32px 32px,32px 32px;box-shadow:inset 0 0 0 1px rgba(255,255,255,.08);transition:filter .3s ease,transform .3s ease}
.service-project-management .service-deliverables article:hover .pm-illustration{filter:brightness(1.12);transform:translateY(-3px)}
.service-project-management .pm-illustration svg{display:block;width:100%;height:100%;padding:8px}
.service-project-management .pm-grid{fill:none;stroke:rgba(255,255,255,.045);stroke-width:.6}
.service-project-management .pm-wire,.service-project-management .pm-transfer{fill:none;stroke:rgba(230,237,229,.52);stroke-width:1.2;stroke-linecap:round;stroke-linejoin:round}
.service-project-management .pm-center{fill:#f1f1ed}.service-project-management .pm-center-line{fill:none;stroke:#59615a;stroke-width:1.2;stroke-linecap:round}
.service-project-management .pm-node circle{fill:#141a15;stroke:rgba(230,237,229,.62);stroke-width:1.2}
.service-project-management .pm-pulse{fill:none;stroke:rgba(145,229,170,.55);stroke-width:1;transform-origin:160px 77px;animation:pm-pulse 3.4s ease-out infinite}
.service-project-management .pm-illustration text{fill:#929c92;font:600 5.5px/1 var(--sans);letter-spacing:.8px}
.service-project-management .pm-axis,.service-project-management .pm-guide{fill:none;stroke:rgba(230,237,229,.3);stroke-width:1}.service-project-management .pm-guide{stroke-dasharray:2 4}
.service-project-management .pm-bars rect{fill:rgba(237,241,234,.56);transform-box:fill-box;transform-origin:left center;animation:pm-bar-in .9s both}.service-project-management .pm-bars rect:nth-child(2){animation-delay:.12s}.service-project-management .pm-bars rect:nth-child(3){animation-delay:.24s}.service-project-management .pm-bars rect:nth-child(4){animation-delay:.36s}
.service-project-management .pm-milestones{fill:#91e5aa;filter:drop-shadow(0 0 4px rgba(145,229,170,.45))}
.service-project-management .pm-panel{fill:rgba(9,12,10,.6);stroke:rgba(230,237,229,.28);stroke-width:1}.service-project-management .pm-divider,.service-project-management .pm-chart-grid{fill:none;stroke:rgba(230,237,229,.14);stroke-width:1}
.service-project-management .pm-live,.service-project-management .pm-chart-dot{fill:#91e5aa;filter:drop-shadow(0 0 4px rgba(145,229,170,.6))}.service-project-management .pm-live{animation:pm-live 2s ease-in-out infinite}
.service-project-management .pm-chart{fill:none;stroke:#91e5aa;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:260;stroke-dashoffset:260;animation:pm-draw 2s .2s ease-out forwards}
.service-project-management .pm-status{fill:rgba(237,241,234,.4)}.service-project-management .pm-status-accent{fill:#91e5aa}
.service-project-management .pm-handover{fill:#141815;stroke:rgba(230,237,229,.48);stroke-width:1}.service-project-management .pm-handover-ready{fill:rgba(145,229,170,.12);stroke:#91e5aa}
.service-project-management .pm-transfer{stroke-dasharray:4 4;animation:pm-transfer 1.8s linear infinite}.service-project-management .pm-transfer-dot{fill:#91e5aa;filter:drop-shadow(0 0 4px rgba(145,229,170,.7));animation:pm-dot 1.8s ease-in-out infinite}
.service-project-management .pm-document{fill:none;stroke:rgba(237,241,234,.82);stroke-width:1.4;stroke-linecap:round}.service-project-management .pm-check{fill:none;stroke:#91e5aa;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:40;stroke-dashoffset:40;animation:pm-draw 1s .5s ease-out forwards}
@keyframes pm-pulse{0%{opacity:.7;transform:scale(.7)}100%{opacity:0;transform:scale(1.6)}}
@keyframes pm-bar-in{from{transform:scaleX(.25);opacity:.3}to{transform:scaleX(1);opacity:1}}
@keyframes pm-live{50%{opacity:.35}}
@keyframes pm-draw{to{stroke-dashoffset:0}}
@keyframes pm-transfer{to{stroke-dashoffset:-16}}
@keyframes pm-dot{50%{transform:translateX(26px)}}
@media(prefers-reduced-motion:reduce){.service-project-management .pm-illustration *{animation:none!important;stroke-dashoffset:0!important}.service-project-management .pm-transfer{stroke-dasharray:none}}

/* Give the featured story room below the black blog introduction. */
.detail-relaunch .blog-hero + .blog-featured{margin-top:clamp(28px,4vw,56px)}
@media(max-width:700px){.detail-relaunch .blog-hero + .blog-featured{margin-top:28px}}
