/* Remaining Kanban spacing: content-to-band boundaries from the original
   390/500 captures. Index bands own their padding independently. */
@media(max-width:560px){
html[lang|="de"] body.enablement-page .enablement-intro{height:auto;margin-bottom:0;padding-bottom:40px}
html[lang|="de"] body.enablement-page .enablement-intro-inner{height:auto}
html[lang|="de"] body.organisation-development-page .org-practice{height:auto;min-height:0;margin-bottom:0;padding-bottom:60px}
html[lang|="de"] body.project-management-page .detail-practice{height:auto;min-height:0;margin-bottom:0;padding-bottom:60px}
html[lang|="de"] body.systems-engineering-page .detail-practice{height:auto;min-height:0;padding-bottom:21px}
html[lang|="de"] body.organisation-development-page .org-contacts,
html[lang|="de"] body:is(.project-management-page,.risk-management-page) .detail-contact{height:auto;min-height:0;padding-bottom:72px}
html[lang|="de"] body.organisation-development-page .org-contact-list article:last-child,
html[lang|="de"] body.project-management-page .project-contact-list article:last-child{margin-bottom:0}
html[lang|="de"] body.sustainability-management-page .sustainability-ecovadis{height:auto;min-height:0;padding-bottom:56px}
html[lang|="de"] body.sustainability-management-page .detail-practice{height:auto;min-height:0;margin-bottom:0;padding-bottom:40px}
}

/* R2 measured mobile section boundaries: source panels end 70px/110px
   before the following title. Release frozen capture heights, not content.
   See qa/round2-pages/spacing-contract.json and source captures. */
@media(max-width:560px){
body.sustainability-management-page .sustainability-service{height:auto;min-height:0;padding-bottom:28px}
body.organisation-development-page .org-change{height:auto;padding-bottom:40px}
body.organisation-development-page .org-agile{height:auto;padding-bottom:56px}
body.risk-management-page .risk-system,body.cost-engineering-page .cost-efficiency,body.project-management-page .project-design{height:auto;min-height:0;padding-bottom:28px}
body.risk-management-page .risk-software,body.cost-engineering-page .cost-business,body.project-management-page .project-delivery{height:auto;min-height:0;padding-bottom:56px}
body.systems-engineering-page .detail-service-section{height:auto;min-height:0;padding-top:70px;padding-bottom:0}
body.operations-page .operations-service,body.enablement-page .enablement-service,body.development-page .development-service{height:auto;min-height:0;padding-bottom:0}
body.operations-page .operations-service-inner,body.enablement-page .enablement-service-inner,body.development-page .development-service-inner{height:auto;padding-top:70px}
body.operations-page .operations-rollout{padding-bottom:28px}
body.enablement-page .enablement-it-project-management{padding-bottom:28px}
body.development-page .development-service:not(:has(~.development-service)){padding-bottom:40px}
body.development-page .development-service :is(h2,.development-service-copy,.development-value-panel){position:static;inset:auto}
body.development-page .development-service h2{margin:0 0 48px}
body.development-page .development-value-panel{margin-top:60px}
body.empower-hub-page .empower-offer{height:auto;min-height:0;padding-top:70px}
body.empower-hub-page .empower-offer-inner{height:auto}
body.empower-hub-page .empower-offer :is(h2,.empower-workshop-list,.empower-training-group,.empower-coaching-list,.empower-value-panel){position:static;inset:auto}
body.empower-hub-page .empower-offer h2{margin-bottom:58px}
body.empower-hub-page .empower-workshops .empower-value-panel,body.empower-hub-page .empower-coachings .empower-value-panel{margin-top:60px}
body.empower-hub-page .empower-individual-group{margin-top:90px}
body.empower-hub-page .empower-coachings{padding-bottom:55px}
body.systems-engineering-page .systems-engineering{padding-bottom:56px}
}

/* MOB-10: all eleven German portfolio detail routes share the source's
   fluid 30px mobile text/contact axes (440px at 500, 330px at 390).
   Explicit component inventory excludes heroes, artwork and chrome. */
@media(max-width:560px){
body:is(.consulting-detail-page,.sustainability-management-page,.organisation-development-page,.operations-page,.enablement-page,.development-page,.empower-hub-page) :is(.consulting-grid,.org-consulting-grid,.empower-offer-inner,.sustainability-ecovadis-inner,.empower-contact-list article,.enablement-contact-list article,.development-contact-list article,.org-contact-list article,.org-narrow-copy,.org-service-inner,.org-contact-list,.detail-narrow-copy,.detail-service-inner,.sustainability-service-inner,.project-contact-list,.systems-contact-list,.operations-intro-inner,.operations-service-inner,.enablement-intro-inner,.enablement-service-inner,.enablement-contact-list,.development-intro-inner,.development-service-inner,.development-contact-list,.empower-intro-inner,.empower-contact-list,.detail-contact article,.operations-contact article){width:calc(100vw - 60px);max-width:100%}
}

/* Service points are visible by default, including when JavaScript fails. */
.service-reveal{transition:opacity 1s ease}
.service-reveal-pending{opacity:0;transition:none}
@media(prefers-reduced-motion:reduce){.service-reveal{transition:none;opacity:1}}

/* Keep the original photo top: no invented offset or overlay displacement. */
.process-management-page .detail-hero-image{object-position:center top!important}
.sustainability-management-page .detail-hero-image{object-position:left top!important}
.project-management-page .detail-hero-image{object-position:right top!important}
.empower-hub-page .empower-hero-image{object-position:right top!important}
/* Service anchors clear the sticky shared header, including native hash navigation. */
:is(.consulting-detail-page,.organisation-development-page,.operations-page,.enablement-page,.development-page,.empower-hub-page) main [id]{scroll-margin-top:130px}
@media(max-width:1024px){:is(.consulting-detail-page,.organisation-development-page,.operations-page,.enablement-page,.development-page,.empower-hub-page) main [id]{scroll-margin-top:100px}}
.consulting-overview{position:relative;height:811px;padding:190px 30px 50px;text-align:center}
.consulting-vertical-mark{position:absolute;left:50%;top:20px;width:8px;height:150px;background:#000;transform:translateX(-50%)}
.consulting-overview>h2{margin:0 0 34px;font:600 24px/1.2 var(--heading)}
.consulting-grid{width:min(1860px,100%);height:509px;margin:auto;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:30px}
.consulting-grid article{min-width:0;padding:45px 25px 25px;border-radius:8px;background:#f7f7f9}
.consulting-grid img{width:100px;height:100px;margin:0 auto 26px;object-fit:contain}
.consulting-grid h3{margin:0 0 18px;font:700 16px/1.25 var(--heading)}
.consulting-grid nav{display:grid;gap:17px;font-size:16px;line-height:1.25}
@font-face{font-family:"PEC Source Solid";src:url("pec-fa-solid-900.woff2") format("woff2");font-weight:900;font-style:normal;font-display:block}
.consulting-grid nav a::after,.consulting-grid h3 a::after{content:"\e093";margin-left:.25em;color:#454dff;font:900 16px/1 "PEC Source Solid"}
.consulting-grid a[data-link-class="external-navigation"]::after{content:"\e09f"}
.consulting-grid a:hover,.consulting-grid a:focus-visible{text-decoration:underline;text-underline-offset:4px}
.consulting-detail-page .detail-eyebrow,.consulting-detail-page .detail-service-eyebrow,.consulting-detail-page .detail-section-label{padding:.1em .3em}
.consulting-detail-page .detail-customers h2{font-weight:700!important}
.operations-eyebrow,.operations-service-eyebrow,.operations-section-label,.enablement-eyebrow,.enablement-service-eyebrow,.enablement-section-label,.development-eyebrow,.development-service-eyebrow,.development-section-label{padding:.1em .3em}
.operations-customers h2,.enablement-customers h2,.development-customers h2{font-weight:700!important}
.detail-contact .detail-section-label,.org-contacts .org-section-label,.empower-contact .empower-section-label,.operations-contact .operations-section-label,.enablement-contacts .enablement-section-label,.development-contacts .development-section-label{margin-left:auto!important;margin-right:auto!important;text-align:center}
/* First-line arrow: 6px padding + (18.2px line - 13px icon) / 2.
   Desktop gap grows via text padding; mobile inline symbols via their margin. */
@media(max-width:1024px){
:is(.consulting-detail-page,.organisation-development-page,.operations-page,.enablement-page,.development-page,.empower-hub-page) :is(.detail-service-index,.org-service-index,.operations-service-index,.enablement-service-index,.development-service-index,.empower-service-index) a::before{margin-right:10px!important}
}
.detail-side-index{--service-index-accent:var(--detail-green)}
.org-hero-index{--service-index-accent:var(--org-green)}
.empower-side-index{--service-index-accent:var(--empower-green)}
.operations-side-index{--service-index-accent:var(--operations-green)}
.enablement-side-index{--service-index-accent:var(--enablement-green)}
.development-side-index{--service-index-accent:var(--development-green)}
.detail-side-index strong,.org-hero-index strong,.empower-side-index strong,.operations-side-index strong,.enablement-side-index strong,.development-side-index strong{color:var(--service-index-accent)}
@media (min-width:1025px){
.detail-side-index,.org-hero-index,.empower-side-index,.operations-side-index,.enablement-side-index,.development-side-index{display:block!important;top:50%!important;height:auto!important;min-height:0!important;align-content:normal!important;gap:0!important;transform:translateY(-50%)}
.empower-side-index nav,.operations-side-index nav,.enablement-side-index nav,.development-side-index nav{display:block!important;gap:0!important}
}
.detail-side-index a,.org-hero-index a,.empower-side-index a,.operations-side-index a,.enablement-side-index a,.development-side-index a{position:relative;display:block;overflow-wrap:anywhere;hyphens:auto;margin:12px 0;padding:6px 10px 6px 30px;border-radius:8px;font-size:13px!important;line-height:18.2px!important;transition:color .2s linear,background-color .2s linear}
.detail-side-index a::before,.org-hero-index a::before,.empower-side-index a::before,.operations-side-index a::before,.enablement-side-index a::before,.development-side-index a::before{position:absolute;left:10px;top:8.6px;content:"\f0a9"!important;transform:none;color:var(--service-index-accent)!important;font:400 13px/1 "PEC Font Awesome"!important}
.detail-side-index a:is(:hover,:focus-visible,[aria-current="location"]),.org-hero-index a:is(:hover,:focus-visible,[aria-current="location"]),.empower-side-index a:is(:hover,:focus-visible,[aria-current="location"]),.operations-side-index a:is(:hover,:focus-visible,[aria-current="location"]),.enablement-side-index a:is(:hover,:focus-visible,[aria-current="location"]),.development-side-index a:is(:hover,:focus-visible,[aria-current="location"]){background-color:var(--service-index-accent);color:#000;text-decoration:none}
.detail-side-index a:is(:hover,:focus-visible,[aria-current="location"])::before,.org-hero-index a:is(:hover,:focus-visible,[aria-current="location"])::before,.empower-side-index a:is(:hover,:focus-visible,[aria-current="location"])::before,.operations-side-index a:is(:hover,:focus-visible,[aria-current="location"])::before,.enablement-side-index a:is(:hover,:focus-visible,[aria-current="location"])::before,.development-side-index a:is(:hover,:focus-visible,[aria-current="location"])::before{color:#000!important}
@media (min-width:1025px){
.consulting-detail-page .detail-hero,.operations-hero,.enablement-hero,.development-hero{height:70vh!important}
.consulting-detail-page .detail-hero-content,.operations-hero-content,.enablement-hero-content,.development-hero-content{position:absolute!important;top:50%;padding-top:0!important;transform:translateY(-50%)}
}
@media (max-width:1400px) and (min-width:1025px){.consulting-grid{gap:20px}.consulting-grid article{padding-left:15px;padding-right:15px}}
@media (max-width:1024px){.consulting-overview{height:calc(2222px - 98.4vw);min-height:0;padding-top:178px}.consulting-grid{width:calc(100% - 60px);height:calc(1931px - 98.4vw);grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:minmax(0,1.25fr) minmax(0,1fr);gap:calc(160px - 13.7vw) 30px}.consulting-grid article{min-height:0}}
@media (max-width:560px){.consulting-overview{height:2552px;min-height:0;padding:226px 15px 40px}.consulting-vertical-mark{height:150px;top:20px}.consulting-overview>h2{width:330px;max-width:100%;margin:0 auto 40px;font-size:24px;line-height:1.05}.consulting-grid{width:330px;max-width:100%;height:2215px;grid-template-columns:1fr;grid-template-rows:450px 365px 405px 405px 365px;gap:35px}.consulting-grid article{min-height:0;padding:45px 25px 25px}.consulting-grid img{width:100px;height:100px;margin-bottom:26px}.consulting-grid h3{font-size:24px;line-height:1.05;margin-bottom:24px}.consulting-grid nav{gap:22px;font-size:16px}}

/* F06: shared service hero contract from live desktop geometry.
   The heading spans the 3/4 column; introductory copy occupies its nested half.
   Source photography uses a viewport-high plane clipped by a 70vh hero. */
@media (min-width:1025px){
:is(.detail-hero,.org-hero,.operations-hero,.enablement-hero,.development-hero,.empower-hero){height:70vh!important}
:is(.detail-hero-content,.org-hero-content,.operations-hero-content,.enablement-hero-content,.development-hero-content,.empower-hero-content){position:absolute!important;top:50%!important;transform:translateY(-50%)!important;width:calc((94vw - 30px) * .740064)!important;margin-left:calc(6vw - 3.66px)!important;padding:0 0 40px!important}
:is(.detail-hero,.org-hero,.operations-hero,.enablement-hero,.development-hero,.empower-hero) h1{width:100%;max-width:none!important;margin:27.4px 0 30px!important;font:700 60px/72px var(--heading)!important;letter-spacing:.3px!important}
:is(.detail-hero-intro,.org-hero-intro,.operations-hero-intro,.enablement-hero-intro,.development-hero-intro,.empower-hero-intro){width:48.008%!important;max-width:none!important;margin:0!important;font-size:20px!important;line-height:30px!important;font-weight:400!important;letter-spacing:.3px!important}
:is(.detail-hero-icon,.org-hero-icon,.operations-hero-icon,.enablement-hero-icon,.development-hero-icon,.empower-hero-icon){width:80px!important;height:80px!important;margin:0 0 12.4px!important}
:is(.detail-eyebrow,.org-eyebrow,.operations-eyebrow,.enablement-eyebrow,.development-eyebrow,.empower-eyebrow){margin:0!important;padding:1.6px 4.8px!important;font:600 16px/19.2px var(--heading)!important;letter-spacing:.8px!important}
:is(.detail-hero-image,.org-hero-image,.operations-hero-image,.enablement-hero-image,.development-hero-image,.empower-hero-image){height:100vh!important;object-position:var(--service-photo-position,center)!important}
:is(.detail-hero-shade,.org-hero-shade,.operations-hero-shade,.enablement-hero-shade,.development-hero-shade,.empower-hero-shade){height:100vh!important;background:linear-gradient(90deg,rgba(0,0,0,.8),rgba(255,255,255,0))!important}
.project-hero,.org-hero,.empower-hero,.development-hero,.enablement-hero{--service-photo-position:right center}
.sustainability-hero{--service-photo-position:left center}
.cost-hero,.systems-hero{--service-photo-position:center bottom}
}
/* Tablet uses the full heading column and its nested 4/5 introduction.
   Keep vertical centering content-driven, rather than route-specific offsets. */
@media (min-width:561px) and (max-width:1024px){
:is(.detail-hero,.org-hero,.operations-hero,.enablement-hero,.development-hero,.empower-hero){height:70vh!important;min-height:0!important;padding:0!important}
:is(.detail-hero-content,.org-hero-content,.operations-hero-content,.enablement-hero-content,.development-hero-content,.empower-hero-content){position:absolute!important;top:50%!important;transform:translateY(-50%)!important;width:calc(100% - 100px)!important;max-width:none!important;margin:0 0 0 50px!important;padding:0 0 40px!important;text-align:left!important}
:is(.detail-hero,.org-hero,.operations-hero,.enablement-hero,.development-hero,.empower-hero) h1{width:100%;max-width:none!important;margin:27.4px 0 30px!important;font:700 min(60px,7.57613vw)/1.2 var(--heading)!important;letter-spacing:.3px!important;overflow-wrap:normal!important}
:is(.detail-hero-intro,.org-hero-intro,.operations-hero-intro,.enablement-hero-intro,.development-hero-intro,.empower-hero-intro){width:79.208%!important;max-width:none!important;margin:0!important;font-size:20px!important;line-height:30px!important;font-weight:400!important;letter-spacing:.3px!important}
:is(.detail-hero-icon,.org-hero-icon,.operations-hero-icon,.enablement-hero-icon,.development-hero-icon,.empower-hero-icon){width:80px!important;height:80px!important;margin:0 0 12.4px!important}
:is(.detail-eyebrow,.org-eyebrow,.operations-eyebrow,.enablement-eyebrow,.development-eyebrow,.empower-eyebrow){margin:0!important;padding:1.6px 4.8px!important;font:600 16px/19.2px var(--heading)!important;letter-spacing:.8px!important}
}

/* Mobile places the uncropped source thumbnail above a centered text stack. */
@media (max-width:560px){
:is(.detail-hero,.org-hero,.operations-hero,.enablement-hero,.development-hero,.empower-hero){height:auto!important;min-height:70vh!important;padding-top:var(--service-thumbnail-height,52vw)!important}
/* The 500px organisation baseline leaves 56.53125px below its service
   links. Reuse that measured inset on both sides of every German band;
   content-driven heights retain the inset when link text wraps. */
html[lang="de-DE"] :is(.detail-service-index,.org-service-index,.operations-service-index,.enablement-service-index,.development-service-index,.empower-service-index){height:auto}
html[lang="de-DE"] :is(.detail-service-index-inner,.org-service-index-inner,.operations-service-index-inner,.enablement-service-index-inner,.development-service-index-inner,.empower-service-index-inner){height:auto;padding-block:56.53125px}
.org-hero h1{hyphens:auto}
.project-hero{--service-thumbnail-height:73vw}
.cost-hero{--service-thumbnail-height:52.25vw}
.systems-hero,.operations-hero{--service-thumbnail-height:66.75vw}
.enablement-hero{--service-thumbnail-height:57.925vw}
:is(.detail-hero-image,.org-hero-image,.operations-hero-image,.enablement-hero-image,.development-hero-image,.empower-hero-image){height:var(--service-thumbnail-height,52vw)!important}
:is(.detail-hero-content,.org-hero-content,.operations-hero-content,.enablement-hero-content,.development-hero-content,.empower-hero-content){position:relative!important;top:auto!important;transform:none!important;width:calc(100% - 60px)!important;max-width:none!important;margin:0 auto!important;padding:40px 0!important;text-align:center!important}
:is(.detail-hero,.org-hero,.operations-hero,.enablement-hero,.development-hero,.empower-hero) h1{width:100%!important;max-width:none!important;margin:24px 0 30px!important;font:700 8.11562vw/1.2 var(--heading)!important;letter-spacing:.158255px!important;overflow-wrap:normal!important}
:is(.detail-hero-icon,.org-hero-icon,.operations-hero-icon,.enablement-hero-icon,.development-hero-icon,.empower-hero-icon){width:80px!important;height:80px!important;margin:0 auto 10px!important}
:is(.detail-eyebrow,.org-eyebrow,.operations-eyebrow,.enablement-eyebrow,.development-eyebrow,.empower-eyebrow){margin:0 auto!important;padding:2px 4.8px!important;font:600 16px/19.2px var(--heading)!important;letter-spacing:.8px!important}
:is(.detail-hero-intro,.org-hero-intro,.operations-hero-intro,.enablement-hero-intro,.development-hero-intro,.empower-hero-intro){width:100%!important;max-width:none!important;margin:0!important;font-size:16px!important;line-height:24px!important;font-weight:600!important;letter-spacing:.24px!important}
}

/* New corrections: the repeated consulting overview remains usable at the
   reported 572px tablet width, and every service index keeps the PEC arrow
   glyph. The stronger scope intentionally outranks route-local donor rules. */
@media (min-width:561px) and (max-width:700px){
html body:is(.consulting-detail-page,.organisation-development-page,.empower-hub-page) .consulting-overview{
  height:auto;min-height:0;padding:178px 15px 50px
}
html body:is(.consulting-detail-page,.organisation-development-page,.empower-hub-page) .consulting-overview .consulting-grid{
  width:100%;height:auto;grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:none;gap:30px
}
html body:is(.consulting-detail-page,.organisation-development-page,.empower-hub-page) .consulting-overview .consulting-grid article{
  min-height:0;height:auto;padding:35px 18px 25px
}
}
html body:is(.consulting-detail-page,.organisation-development-page,.empower-hub-page) :is(.detail-service-index,.org-service-index,.operations-service-index,.enablement-service-index,.development-service-index,.empower-service-index) nav a::before{
  content:"\f0a9"!important;display:inline-block!important;margin-right:10px!important;color:#72f898!important;font:900 16px/1 "PEC Source Solid"!important
}

/* Latest correction: start the compact consulting layout before the
   1033px capture. Five 176px tracks let the first two card texts escape;
   three content-sized tracks keep every repeated portfolio route usable. */
@media (min-width:701px) and (max-width:1100px){
html body:is(.consulting-detail-page,.organisation-development-page,.empower-hub-page) :is(.consulting-overview,.org-consulting-overview){height:auto;min-height:0}
html body:is(.consulting-detail-page,.organisation-development-page,.empower-hub-page) :is(.consulting-grid,.org-consulting-grid){width:calc(100% - 60px);height:auto;grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:none;gap:30px}
html body:is(.consulting-detail-page,.organisation-development-page,.empower-hub-page) :is(.consulting-grid,.org-consulting-grid) article{height:auto;min-height:0;overflow-wrap:anywhere}
}

/* Tablet section endings follow their content, not frozen capture heights.
   Keep the source's 110px design-panel-to-delivery-title transition. */
@media (min-width:561px) and (max-width:1024px){
html[lang|="de"] body.project-management-page .project-design{height:auto;padding-bottom:70px}
html[lang|="de"] body.project-management-page .project-design .detail-service-inner{height:auto}
html[lang|="de"] body.project-management-page .project-delivery h2{padding-top:0}
/* Retain the artwork/copy offsets, but let the final panel size the section.
   Its former top/bottom constraints clipped the last value-list entries. */
html[lang|="de"] body.development-page .development-software-architecture{height:auto;padding-bottom:40px}
html[lang|="de"] body.development-page .development-software-architecture .development-service-inner{height:auto;padding-top:calc(517.2px + 92.1875vw)}
html[lang|="de"] body.development-page .development-software-architecture .development-value-panel{position:relative;inset:auto}
/* Only the final training group owns the section ending; preserve its offset. */
html[lang|="de"] body.empower-hub-page .empower-trainings{height:auto;padding-bottom:40px}
html[lang|="de"] body.empower-hub-page .empower-trainings .empower-offer-inner{height:auto;padding-top:calc(1540px - 41vw)}
html[lang|="de"] body.empower-hub-page .empower-individual-group{position:relative;inset:auto}
/* Match the existing Development index inset explicitly, including wraps. */
html[lang|="de"] body.systems-engineering-page .detail-service-index{height:auto}
html[lang|="de"] body.systems-engineering-page .detail-service-index-inner{height:auto;padding-block:56.5px}
}

/* Mobile content videos fill their fluid content wrapper on every
   video-bearing portfolio subpage. */
@media (max-width:560px){
html body:is(.consulting-detail-page,.empower-hub-page) :is(.process-video,.risk-video,.sustainability-video,.operations-video,.enablement-video,.development-video,.empower-video){width:100%!important;max-width:100%;height:auto!important;aspect-ratio:16/9!important;margin-left:auto;margin-right:auto}
html body:is(.consulting-detail-page,.empower-hub-page) :is(.development-video,.empower-video){left:50%!important;transform:translateX(-50%)!important}
}
