
/* Nunky closing visual system */
:root{--nk-header-space:clamp(8.5rem,12vw,11rem);--nk-page-pad:clamp(1.25rem,4vw,4.75rem);--nk-section-y:clamp(4.5rem,8vw,8.5rem);--nk-title:var(--type-h1-size,clamp(2.25rem,3.45vw,3.55rem));--nk-h2:var(--type-h2-size,clamp(2rem,3.45vw,3.45rem))}
html{scroll-behavior:smooth} body{overflow-x:hidden}
main>section:first-child{padding-top:var(--nk-header-space)!important}
.container{width:min(100% - (var(--nk-page-pad)*2),1280px)!important;margin-inline:auto!important}
h1,.section-title,.ppx-gradient-title{letter-spacing:var(--type-h1-track,-.035em);line-height:var(--type-h1-line,1.04)}
h1{font-size:var(--nk-title)!important;max-width:16ch}
.section-title,h2{font-size:var(--nk-h2);line-height:var(--type-h2-line,1.08)}
.centered-heading,.section-heading.centered-heading{text-align:center;margin-inline:auto}.centered-heading h1,.centered-heading h2,.centered-heading p{margin-inline:auto}
.theme-dark{color:#fff}.theme-dark p,.theme-dark li{color:rgba(255,255,255,.75)}
img{max-width:100%;height:auto}.btn{white-space:normal;text-align:center}

/* Editorial product template */
.editorial-refresh{--line:rgba(15,28,45,.14)}
.editorial-refresh .ep-hero{min-height:min(900px,92vh);display:flex;align-items:center;padding-bottom:clamp(4rem,8vw,8rem)}
.editorial-refresh .ep-hero-grid{display:grid;grid-template-columns:minmax(0,.88fr) minmax(420px,1.12fr);gap:clamp(2rem,6vw,7rem);align-items:center}
.editorial-refresh .ep-kicker{display:block;font-size:var(--type-kicker-size,.825rem);line-height:var(--type-kicker-line,1.2);letter-spacing:var(--type-kicker-track,.15em);font-weight:var(--type-kicker-weight,900);text-transform:uppercase;margin-bottom:1.25rem;opacity:.78}
.editorial-refresh .ep-lead{font-size:var(--type-lead-size,1rem);line-height:var(--type-lead-line,1.65);max-width:38rem;margin:1.6rem 0 2rem}
.editorial-refresh .ep-actions{display:flex;gap:.85rem;flex-wrap:wrap}
.editorial-refresh .ep-hero-media{position:relative}.editorial-refresh .ep-hero-media img,.editorial-refresh .ep-hero-media video{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:clamp(1.4rem,3vw,2.8rem)}
.editorial-refresh .ep-note{position:absolute;left:-2rem;bottom:2rem;max-width:16rem;padding:1.1rem 1.25rem;background:rgba(6,13,25,.86);backdrop-filter:blur(15px);border-radius:1rem;color:#fff}
.editorial-refresh .ep-section{padding:var(--nk-section-y) 0}
.editorial-refresh .ep-problem{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(2rem,8vw,9rem);align-items:start}
.editorial-refresh .ep-problem h2{margin:0;max-width:13ch}.editorial-refresh .ep-problem-copy{font-size:1.12rem;line-height:1.75}
.editorial-refresh .ep-signals{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);margin-top:1rem}
.editorial-refresh .ep-signals span{padding:1.4rem 1rem 0 0;border-right:1px solid var(--line);font-weight:600}.editorial-refresh .ep-signals span:last-child{border-right:0;padding-left:1.4rem}
.editorial-refresh .ep-process{display:grid;grid-template-columns:repeat(4,1fr);position:relative;margin-top:3.2rem}.editorial-refresh .ep-process:before{content:"";position:absolute;top:1.15rem;left:0;right:0;height:1px;background:rgba(255,255,255,.25)}
.editorial-refresh .ep-step{position:relative;padding:3.5rem 2.2rem 0 0}.editorial-refresh .ep-step span{position:absolute;top:0;left:0;width:2.3rem;height:2.3rem;border-radius:50%;display:grid;place-items:center;background:#111a28;border:1px solid rgba(255,255,255,.35);font-size:.8rem}.editorial-refresh .ep-step h3{font-size:var(--type-h3-size,1.28rem);line-height:var(--type-h3-line,1.2);letter-spacing:var(--type-h3-track,-.02em);margin:.2rem 0 .7rem}
.editorial-refresh .ep-split{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(2rem,7vw,7rem);align-items:center}.editorial-refresh .ep-split.reverse{grid-template-columns:.9fr 1.1fr}.editorial-refresh .ep-split.reverse .ep-image{order:2}.editorial-refresh .ep-image img{width:100%;aspect-ratio:5/4;object-fit:cover;border-radius:clamp(1.2rem,2.5vw,2.4rem)}
.editorial-refresh .ep-copy h2{max-width:13ch}.editorial-refresh .ep-copy p{font-size:1.08rem;line-height:1.75}.editorial-refresh .ep-list{list-style:none;padding:0;margin:2rem 0 0}.editorial-refresh .ep-list li{padding:1rem 0;border-top:1px solid var(--line)}
.editorial-refresh .ep-scenarios{display:grid;grid-template-columns:repeat(3,1fr);margin-top:3rem}.editorial-refresh .ep-scenario{padding:0 2rem;border-left:1px solid var(--line)}.editorial-refresh .ep-scenario:first-child{padding-left:0;border-left:0}.editorial-refresh .ep-scenario h3{font-size:var(--type-h3-size,1.28rem);line-height:var(--type-h3-line,1.2);letter-spacing:var(--type-h3-track,-.02em)}
.editorial-refresh .ep-results{position:relative;min-height:560px;display:flex;align-items:flex-end;overflow:hidden}.editorial-refresh .ep-results>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.editorial-refresh .ep-results:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(5,11,20,.08),rgba(5,11,20,.88))}.editorial-refresh .ep-results-inner{position:relative;z-index:1;color:#fff;padding:clamp(2rem,6vw,5rem);width:100%}.editorial-refresh .ep-results-grid{display:grid;grid-template-columns:repeat(4,1fr);margin-top:2.5rem}.editorial-refresh .ep-result{padding:0 1.5rem;border-left:1px solid rgba(255,255,255,.28)}.editorial-refresh .ep-result:first-child{padding-left:0;border-left:0}.editorial-refresh .ep-result strong{display:block;font-size:1.2rem;margin-bottom:.45rem}
.editorial-refresh .ep-related{display:grid;grid-template-columns:repeat(3,1fr);margin-top:3rem;border-top:1px solid var(--line)}.editorial-refresh .ep-related a{padding:2rem 2rem 2rem 0;border-right:1px solid var(--line);text-decoration:none;color:inherit}.editorial-refresh .ep-related a+ a{padding-left:2rem}.editorial-refresh .ep-related a:last-child{border-right:0}.editorial-refresh .ep-related strong{display:block;font-size:1.3rem;margin-bottom:.5rem}

/* Harmonize pages in evolution */
.evolution-refresh .nunky-evolution-hero{padding-top:var(--nk-header-space)!important;padding-bottom:clamp(4rem,8vw,7rem)!important}.evolution-refresh .nunky-evolution-layout{display:grid!important;grid-template-columns:minmax(0,.9fr) minmax(420px,1.1fr)!important;align-items:center;gap:clamp(2rem,7vw,7rem)!important}.evolution-refresh .nunky-evolution-copy h1{font-size:var(--type-h1-size)!important;line-height:var(--type-h1-line)!important;letter-spacing:var(--type-h1-track)!important}.evolution-refresh .detail-content-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,7vw,8rem)}.evolution-refresh .detail-panel{background:none!important;border:0!important;padding:0!important;box-shadow:none!important}.evolution-refresh .detail-panel+ .detail-panel{border-left:1px solid rgba(15,28,45,.14)!important;padding-left:clamp(2rem,5vw,5rem)!important}:where(body:has(main:not(.product-page))) .evolution-refresh .nunky-family-grid,:where(body:has(main:not(.product-page))) .evolution-refresh .nunky-family-explorer{display:none!important}:where(body:has(main:not(.product-page))) .evolution-refresh .nunky-product-cta-box,.evolution-refresh .cta-box{border-radius:2rem!important}

/* Service families: editorial maps, not cards */
.closing-service-family .family-human-hero{padding-top:var(--nk-header-space)!important}.closing-service-family .family-human-copy h1{font-size:var(--type-h1-size)!important;line-height:var(--type-h1-line)!important;letter-spacing:var(--type-h1-track)!important}.closing-service-family .detail-chip-list{display:flex;flex-wrap:wrap;gap:.5rem}.closing-service-family .family-benefit-grid,.closing-service-family .family-member-grid,.closing-service-family .family-way-grid{display:grid!important;grid-template-columns:repeat(4,1fr)!important;gap:0!important}.closing-service-family .family-benefit-card,.closing-service-family .family-member-card,.closing-service-family .family-way-grid article{background:none!important;box-shadow:none!important;border:0!important;border-left:1px solid currentColor!important;border-radius:0!important;padding:0 1.6rem!important}.closing-service-family .family-benefit-card:first-child,.closing-service-family .family-member-card:first-child,.closing-service-family .family-way-grid article:first-child{border-left:0!important;padding-left:0!important}.closing-service-family .service-human-story-grid{gap:clamp(3rem,8vw,8rem)}

/* Methodology */
.methodology-page .methodology-hero-grid{grid-template-columns:1fr!important}.methodology-page .methodology-hero-copy{max-width:980px}.methodology-page .methodology-hero h1{font-size:var(--type-h1-size)!important;line-height:var(--type-h1-line)!important;letter-spacing:var(--type-h1-track)!important;background:none!important;-webkit-background-clip:border-box!important;background-clip:border-box!important;-webkit-text-fill-color:currentColor!important;color:#fff!important}.methodology-page .methodology-hero-visual{display:none!important}.methodology-page .methodology-cta-box,.methodology-page .methodology-cta-box h2,.methodology-page .methodology-cta-box p,.methodology-page .methodology-cta-box .section-kicker{color:#fff!important}

@media(max-width:900px){
.editorial-refresh .ep-hero-grid,.editorial-refresh .ep-problem,.editorial-refresh .ep-split,.editorial-refresh .ep-split.reverse,.evolution-refresh .nunky-evolution-layout,.evolution-refresh .detail-content-grid{grid-template-columns:1fr!important}.editorial-refresh .ep-split.reverse .ep-image{order:0}.editorial-refresh .ep-signals,.editorial-refresh .ep-scenarios,.editorial-refresh .ep-results-grid,.editorial-refresh .ep-related{grid-template-columns:1fr}.editorial-refresh .ep-signals span,.editorial-refresh .ep-scenario,.editorial-refresh .ep-result,.editorial-refresh .ep-related a,.editorial-refresh .ep-related a+ a{border-left:0;border-right:0;border-top:1px solid var(--line);padding:1.2rem 0}.editorial-refresh .ep-process{grid-template-columns:1fr;padding-left:1.2rem}.editorial-refresh .ep-process:before{top:0;bottom:0;left:1.1rem;right:auto;width:1px;height:auto}.editorial-refresh .ep-step{padding:0 0 2.5rem 3rem}.editorial-refresh .ep-step span{left:-.05rem}.closing-service-family .family-benefit-grid,.closing-service-family .family-member-grid,.closing-service-family .family-way-grid{grid-template-columns:1fr 1fr!important}.evolution-refresh .detail-panel+ .detail-panel{border-left:0!important;border-top:1px solid rgba(15,28,45,.14)!important;padding-left:0!important;padding-top:2rem!important}.editorial-refresh .ep-note{left:1rem;bottom:1rem}}
@media(max-width:600px){:root{--nk-header-space:8.5rem;--nk-page-pad:1.15rem}.closing-service-family .family-benefit-grid,.closing-service-family .family-member-grid,.closing-service-family .family-way-grid{grid-template-columns:1fr!important}.closing-service-family .family-benefit-card,.closing-service-family .family-member-card,.closing-service-family .family-way-grid article{border-left:0!important;border-top:1px solid currentColor!important;padding:1.25rem 0!important}.editorial-refresh .ep-actions{flex-direction:column}.editorial-refresh .ep-actions .btn{width:100%}}


/* ==========================================================
   GLOBAL TYPOGRAPHIC SYSTEM — single source of truth
   Applied last to neutralize page-specific title overrides.
   ========================================================== */
:root{
  --nk-title-1:var(--type-h1-size,clamp(2.25rem,3.45vw,3.55rem));
  --nk-title-2:var(--type-h2-size,clamp(2rem,3.45vw,3.45rem));
  --nk-title-3:var(--type-h3-size,clamp(1.28rem,1.7vw,1.65rem));
  --nk-title-gradient:linear-gradient(92deg,#74e6c1 0%,#73b8ff 52%,#bb91f4 100%);
  --nk-title-line:var(--type-h1-line,1.04);
  --nk-title-track:var(--type-h1-track,-.035em);
}

/* Every page title follows exactly the same scale and treatment. */
body main h1,
body main .inner-hero-title,
body main .ppx-gradient-title,body:where(:has(main:not(.product-page))) main .nunky-editorial-hero h1,
body main .nunky-evolution-copy h1,
body main .family-human-copy h1,
body main .methodology-hero h1,
body main .cai-hero h1,
body main .ppl-hero h1{
  font-size:var(--nk-title-1)!important;
  line-height:var(--nk-title-line)!important;
  letter-spacing:var(--nk-title-track)!important;
  font-weight:var(--type-h1-weight,800)!important;
  max-width:17ch!important;
  text-wrap:balance;
  background:none!important;
  -webkit-background-clip:border-box!important;
  background-clip:border-box!important;
  -webkit-text-fill-color:currentColor!important;
}

/* Every section title follows one common scale and color system. */
body main h2,
body main .section-title:is(h2),body:where(:has(main:not(.product-page))) main .nunky-editorial-heading h2,body:where(:has(main:not(.product-page))) main .nunky-problem-statement h2,body:where(:has(main:not(.product-page))) main .nunky-alternate-copy h2{
  font-size:var(--nk-title-2)!important;
  line-height:var(--type-h2-line,1.08)!important;
  letter-spacing:var(--type-h2-track,-.035em)!important;
  font-weight:var(--type-h2-weight,620)!important;
  text-wrap:balance;
  background:none!important;
  -webkit-background-clip:border-box!important;
  background-clip:border-box!important;
  -webkit-text-fill-color:currentColor!important;
}

body main h3{
  font-size:var(--nk-title-3)!important;
  line-height:var(--type-h3-line,1.2)!important;
  letter-spacing:var(--type-h3-track,-.02em)!important;
  font-weight:var(--type-h3-weight,700)!important;
}

/* Alignment remains intentional, but sizes and colors never change. */
body main .centered-heading h1,
body main .centered-heading h2,
body main .section-heading.centered-heading h1,
body main .section-heading.centered-heading h2{
  margin-left:auto!important;
  margin-right:auto!important;
  text-align:center!important;
}
body main .left-heading h1,
body main .left-heading h2{margin-left:0!important;text-align:left!important}

/* One consistent safe distance below the global header. */
body main>section:first-child{
  padding-top:clamp(9.5rem,12vw,11.5rem)!important;
}

/* Neutral replacement for named hospital client artwork. */
.sector-client-label{
  display:grid;
  place-items:center;
  min-height:72px;
  font-size:clamp(.9rem,1.15vw,1.1rem);
  letter-spacing:.13em;
  font-weight:700;
  color:inherit;
}

@media(max-width:640px){
  :root{--nk-title-1:var(--type-h1-size,clamp(2rem,10vw,2.72rem));--nk-title-2:var(--type-h2-size,clamp(1.8rem,8vw,2.65rem))}
  body main>section:first-child{padding-top:8.75rem!important}
}
