/* NUNKY DESIGN SYSTEM V2 — final visual consolidation */
:root {
  --font-display: "Poppins", Arial, sans-serif;
  --font-body: "Inter", Arial, sans-serif;
  --navy-950: #06111d;
  --navy-900: #071827;
  --ink: #101828;
  --muted: #52606d;
  --surface: #f5f8fa;
  --surface-strong: #eef3f6;
  --white: #ffffff;
  --cyan: #67e8f9;
  --blue: #4f7cff;
  --green: #6ee7b7;
  --brand-gradient: linear-gradient(90deg, var(--cyan) 0%, var(--blue) 55%, var(--green) 100%);
  --container: 1240px;
  --page-padding: clamp(1.25rem, 4vw, 4.5rem);
  --section-space: clamp(5rem, 8vw, 8.5rem);
  --hero-top: clamp(12rem, 15vw, 14rem);
  /* HOME / INDEX = fuente de verdad visual · 2026-09-10 */
  --type-kicker-size: .825rem;
  --type-kicker-weight: 900;
  --type-kicker-line: 1.2;
  --type-kicker-track: .15em;
  --type-h1-size: clamp(2.25rem, 3.45vw, 3.55rem);
  --type-h1-weight: 800;
  --type-h1-line: 1.04;
  --type-h1-track: -.035em;
  --type-h2-size: clamp(2rem, 3.45vw, 3.45rem);
  --type-h2-weight: 620;
  --type-h2-line: 1.08;
  --type-h2-track: -.035em;
  --type-h3-size: clamp(1.28rem, 1.7vw, 1.65rem);
  --type-h3-weight: 700;
  --type-h3-line: 1.2;
  --type-h3-track: -.02em;
  --type-body-size: 1rem;
  --type-body-line: 1.68;
  --type-lead-size: 1rem;
  --type-lead-line: 1.65;
  --type-small-size: .82rem;
  --type-button-size: .94rem;
  --type-button-weight: 700;
  --type-button-line: 1.15;
  --type-kicker-dark: #67e8f9;
  --type-kicker-light: #087b92;
  --title-page: var(--type-h1-size);
  --title-section: var(--type-h2-size);
  --title-card: var(--type-h3-size);
  --text-lead: var(--type-lead-size);
  --text-body: var(--type-body-size);
  --radius-image: clamp(1rem, 2vw, 1.75rem);
  --line-light: rgba(16, 24, 40, .13);
  --line-dark: rgba(255, 255, 255, .20);
}

html { scroll-behavior: smooth; }
body {
  font-family: var(--font-body) !important;
  color: var(--ink);
  line-height: var(--type-body-line);
  overflow-x: hidden;
}
button, input, textarea, select, .btn, nav, .section-kicker, .ep-kicker, .family-hero-label {
  font-family: var(--font-body) !important;
}
h1, h2, h3, h4, h5, h6, .section-title, .ppx-gradient-title {
  font-family: var(--font-display) !important;
  text-wrap: balance;
}

.container {
  width: min(calc(100% - (2 * var(--page-padding))), var(--container)) !important;
  margin-inline: auto !important;
  padding-inline: 0 !important;
}
main > section { padding-block: var(--section-space); }
main > section[data-header-clearance] {
  padding-top: var(--hero-top) !important;
  padding-bottom: clamp(4.5rem, 8vw, 7.5rem) !important;
}

h1, main h1, .section-title:is(h1), .ppx-gradient-title:is(h1) {
  font-size: var(--type-h1-size) !important;
  line-height: var(--type-h1-line) !important;
  letter-spacing: var(--type-h1-track) !important;
  font-weight: var(--type-h1-weight) !important;
  max-width: 28ch;
  margin-top: 0;
}
h2, main h2, .section-title:is(h2), .ppx-gradient-title:is(h2) {
  font-size: var(--type-h2-size) !important;
  line-height: var(--type-h2-line) !important;
  letter-spacing: var(--type-h2-track) !important;
  font-weight: var(--type-h2-weight) !important;
  max-width: 32ch;
}
h3, main h3 {
  font-size: var(--type-h3-size) !important;
  line-height: var(--type-h3-line) !important;
  letter-spacing: var(--type-h3-track) !important;
  font-weight: var(--type-h3-weight) !important;
}

/* HOME rule: gradient is an accent, never the default title language. */
main > section:first-child h1,
.ppx-hero h1,
.ep-hero h1,
.family-human-hero h1,
.nunky-evolution-hero h1,
.methodology-hero h1,
.scx-hero h1,
.hero h1 {
  background: none !important;
  -webkit-background-clip: border-box !important;
  background-clip: border-box !important;
  -webkit-text-fill-color: currentColor !important;
  color: var(--white) !important;
}
main section:not(:first-child) h2,
main section:not(:first-child) .section-title,
main section:not(:first-child) .ppx-gradient-title {
  background: none !important;
  -webkit-background-clip: border-box !important;
  background-clip: border-box !important;
  -webkit-text-fill-color: currentColor !important;
}
.theme-light h1, .theme-light h2, .theme-light h3, .theme-light .section-title { color: var(--ink) !important; }
.theme-dark h1, .theme-dark h2, .theme-dark h3, .theme-dark .section-title { color: var(--white) !important; }
.gradient-text { background: var(--brand-gradient); -webkit-background-clip:text; background-clip:text; color:transparent; }

p, li { font-size: var(--type-body-size); line-height: var(--type-body-line); }
.section-subtitle, .ppx-lead, .ep-lead, .hero-subtitle, .hero-copy > p {
  font-size: var(--type-lead-size) !important;
  line-height: var(--type-lead-line) !important;
  max-width: 62ch;
}
.theme-light p, .theme-light li { color: var(--muted); }
.theme-dark p, .theme-dark li { color: rgba(255,255,255,.76); }
.section-kicker, .ep-kicker, .family-hero-label {
  color: var(--type-kicker-light) !important;
  font-size: var(--type-kicker-size) !important;
  line-height: var(--type-kicker-line) !important;
  letter-spacing: var(--type-kicker-track) !important;
  text-transform: uppercase;
  font-weight: var(--type-kicker-weight) !important;
}
.theme-dark .section-kicker,
.theme-dark .ep-kicker,
.theme-dark .family-hero-label {
  color: var(--type-kicker-dark) !important;
}
.section-kicker {
  display: inline-flex;
  align-items: center;
  justify-content: flex-start;
  gap: .55rem;
}
.section-kicker::before {
  content: "";
  flex: 0 0 auto;
  width: .56rem;
  height: .56rem;
  border: 1.5px solid currentColor;
  border-radius: 2px;
  transform: rotate(45deg);
  box-shadow: inset 0 0 0 2px color-mix(in srgb, currentColor 18%, transparent);
}
.centered-heading, .section-heading.centered-heading { text-align: center; margin-inline: auto; }
.centered-heading h1, .centered-heading h2, .centered-heading p,
.section-heading.centered-heading h1, .section-heading.centered-heading h2, .section-heading.centered-heading p { margin-inline: auto; }

/* Only two button languages across the site. */
.btn, a.btn, button.btn {
  min-height: 48px;
  padding: .78rem 1.35rem !important;
  border-radius: 999px !important;
  font-size: var(--type-button-size) !important;
  line-height: var(--type-button-line) !important;
  font-weight: var(--type-button-weight) !important;
  letter-spacing: -.005em;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: .45rem;
  text-decoration: none;
  transition: transform .2s ease, box-shadow .2s ease, background .2s ease, border-color .2s ease;
}
.btn:hover { transform: translateY(-2px); }
.btn-primary {
  color: var(--navy-950) !important;
  background: var(--brand-gradient) !important;
  border: 1px solid rgba(255,255,255,.24) !important;
  box-shadow: 0 12px 30px rgba(79,124,255,.18), inset 0 1px 0 rgba(255,255,255,.28) !important;
}
.btn-primary:hover,
.btn-primary:focus-visible {
  box-shadow: 0 16px 36px rgba(34,211,238,.20), inset 0 1px 0 rgba(255,255,255,.34) !important;
}
.btn-secondary {
  color: inherit !important;
  background: color-mix(in srgb, currentColor 4%, transparent) !important;
  border: 1px solid color-mix(in srgb, currentColor 66%, transparent) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.05) !important;
  backdrop-filter: blur(8px);
}
.btn-secondary:hover,
.btn-secondary:focus-visible {
  background: color-mix(in srgb, currentColor 8%, transparent) !important;
  border-color: currentColor !important;
}

/* Cleaner editorial surfaces. */
.theme-light { background-color: var(--white); }
main > .theme-light:nth-of-type(odd) { background-color: var(--surface); }
.theme-dark { background-color: var(--navy-950); color: var(--white); }
.ppx-card,:where(body:has(main:not(.product-page))) .nunky-family-card, .family-benefit-card, .family-member-card,
.detail-panel, .scx-card, .feature-card, .service-card, .product-card {
  box-shadow: none !important;
}
.ppx-system-grid .ppx-card,:where(body:has(main:not(.product-page))) .nunky-scenario-list article,
.ep-scenario,
.ep-result,
.ep-related a {
  border-radius: 0 !important;
  background: transparent !important;
}

/* Consistent image direction. */
main img { max-width: 100%; }
.ppx-hero-media img, .ep-hero-media img, .family-human-visual > img,
.nunky-evolution-media img, .hero-media img {
  width: 100%; aspect-ratio: 4 / 3; object-fit: cover; border-radius: var(--radius-image) !important;
}
.ep-image img,:where(body:has(main:not(.product-page))) .nunky-editorial-split img, .service-human-story img,
.ppx-media-card img, .scx-visual img {
  width: 100%; aspect-ratio: 16 / 10; object-fit: cover; border-radius: var(--radius-image) !important;
}:where(body:has(main:not(.product-page))) .nunky-panorama-media img, .ep-results > img, .panorama img {
  width: 100%; aspect-ratio: 16 / 7; object-fit: cover;
}
figure { margin-inline: 0; }

/* Reduce decorative noise in heroes. */
.ppx-hero .ppx-chip:nth-child(n+3), .ep-hero .ep-chip:nth-child(n+3),
.cai-hero .cai-chip:nth-child(n+3), .ppl-hero .ppl-chip:nth-child(n+3),
.hero .chip:nth-child(n+3), .hero .tag:nth-child(n+3) { display: none !important; }
.ppx-floating-stat, .ep-note, .cai-media-badge { box-shadow: none !important; }

/* Editorial alignment: centered only where deliberately declared. */
main section:not(.centered-heading) > .container > .section-heading:not(.centered-heading),:where(body:has(main:not(.product-page))) main section:not(.centered-heading) .nunky-editorial-heading{ text-align: left; }:where(body:has(main:not(.product-page))) .nunky-editorial-heading h2, .ep-copy h2, .ep-problem h2 { max-width: 32ch !important; }

/* FAQs: quiet and readable. */:where(body:has(main:not(.product-page))) .nunky-faq-list, .faq-list { max-width: 920px; margin-inline: auto; }
details { border: 0 !important; border-top: 1px solid var(--line-light) !important; border-radius: 0 !important; background: transparent !important; box-shadow: none !important; }
details:last-child { border-bottom: 1px solid var(--line-light) !important; }
details summary { padding: 1.25rem 0 !important; font-family: var(--font-display); font-weight: 600; }
details > p { padding: 0 0 1.35rem !important; }
.theme-dark details { border-color: var(--line-dark) !important; }

/* Service families use one restrained map system. */
.closing-service-family .family-benefit-grid,
.closing-service-family .family-member-grid,
.closing-service-family .family-way-grid {
  gap: 0 !important;
}
.closing-service-family .family-benefit-card,
.closing-service-family .family-member-card,
.closing-service-family .family-way-grid article {
  border-color: var(--line-light) !important;
}
.theme-dark.closing-service-family .family-benefit-card,
.theme-dark.closing-service-family .family-member-card { border-color: var(--line-dark) !important; }

/* Pages in evolution: deliberately shorter and honest. */: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; }
.evolution-refresh .detail-panel { background: transparent !important; border: 0 !important; border-radius: 0 !important; padding: 0 !important; }
.evolution-refresh .detail-content-grid { gap: clamp(2.5rem, 7vw, 7rem) !important; }

/* Remove old placeholder/tech-demo visual noise. */
.scx-infographic-slot:after { content: none !important; }
.scx-media-placeholder { border-style: solid !important; }

@media (max-width: 900px) {
  :root { --hero-top: 9.5rem; --section-space: clamp(4rem, 9vw, 6rem); }
  h1, main h1 { max-width: 18ch; }
  .btn { min-height: 46px; }
}
@media (max-width: 600px) {
  :root {
    --page-padding: 1.15rem;
    --hero-top: 8.75rem;
    --type-h1-size: clamp(2rem, 10vw, 2.72rem);
    --type-h2-size: clamp(1.8rem, 8vw, 2.65rem);
    --title-page: var(--type-h1-size);
    --title-section: var(--type-h2-size);
  }
  main > section[data-header-clearance] { padding-bottom: 4rem !important; }
  .hero-buttons, .ppx-actions, .ep-actions,:where(body:has(main:not(.product-page))) .nunky-product-cta-actions{ flex-direction: column; align-items: stretch; }
  .hero-buttons .btn, .ppx-actions .btn, .ep-actions .btn,:where(body:has(main:not(.product-page))) .nunky-product-cta-actions .btn{ width: 100%; }
}


/* Integrated media and service-family refinements */
.quienes-world-heading{max-width:760px;margin-inline:auto;text-align:center!important;}
.family-human-visual img,.detail-hero-media img,:where(body:has(main:not(.product-page))) .nunky-editorial-image img,:where(body:has(main:not(.product-page))) .nunky-wide-image img,:where(body:has(main:not(.product-page))) .nunky-panorama-media img,.ep-hero-media img,.ep-image img,.smart-explanation-image img{object-fit:contain;height:auto;}
.factory-hero-image{display:block;width:100%;max-width:100%;aspect-ratio:16/10;object-fit:cover;border-radius:28px;box-shadow:0 26px 80px rgba(7,17,31,.28);}
.service-human-story-grid{grid-template-columns:minmax(0,1fr)!important;}
.family-member-card-link{display:grid;text-decoration:none;color:inherit;transition:transform .25s ease,border-color .25s ease,background .25s ease;}
.family-member-card-link:hover{transform:translateY(-3px);border-color:rgba(103,232,249,.44)!important;background:rgba(255,255,255,.09)!important;}
.family-member-card-link strong{display:inline-flex;align-items:center;gap:.35rem;margin-top:.9rem;color:#a5f3fc;font-size:.88rem;letter-spacing:.01em;}
.family-member-tag{display:inline-flex;align-items:center;gap:.35rem;margin:0 0 .65rem;padding:.32rem .7rem;border-radius:999px;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.06);font-size:.7rem;font-weight:800;line-height:1;text-transform:uppercase;letter-spacing:.08em;color:#d8f5fb;}
.family-member-card-link h3{margin:0 0 .4rem;}
.family-member-card-link p{margin:0;max-width:40ch;}
@media (max-width: 980px){.family-member-card-link p{max-width:none;}}


/* Accessibility and interaction baseline */
.skip-link{position:fixed;top:.75rem;left:.75rem;z-index:100000;transform:translateY(-180%);padding:.75rem 1rem;border-radius:.65rem;background:#fff;color:#071827;font-weight:700;box-shadow:0 10px 30px rgba(0,0,0,.24)}
.skip-link:focus{transform:translateY(0)}
:where(a,button,input,select,textarea,summary,[tabindex]):focus-visible{outline:3px solid #67e8f9!important;outline-offset:3px!important;box-shadow:0 0 0 5px rgba(79,124,255,.22)!important}
button,summary,[role="button"]{touch-action:manipulation}
summary{cursor:pointer}
.team-name-static{display:inline-block;color:inherit}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}
@media(forced-colors:active){.btn,.section-kicker,.ppx-chip{border:1px solid ButtonText}.gradient-text,.ppx-gradient-title{-webkit-text-fill-color:currentColor!important;background:none!important}}


/* Company pages 2026 editorial system */
.company-story-page,.company-careers-page{overflow:hidden}.company-hero{padding-top:var(--hero-top,clamp(9rem,13vw,12rem));padding-bottom:clamp(5rem,9vw,8rem)}.company-hero-grid{display:grid;grid-template-columns:minmax(0,1.02fr) minmax(380px,.98fr);gap:clamp(3rem,7vw,7rem);align-items:center}.company-hero-copy h1{max-width:900px;margin:.8rem 0 1.3rem;font-size:var(--title-page);line-height:1.02}.company-hero-impact{margin:0 0 1.1rem;color:var(--cyan);font-family:var(--font-display);font-size:clamp(1.25rem,2.2vw,2rem);font-weight:600}.company-lead{max-width:680px;font-size:var(--text-lead);line-height:1.72;color:rgba(255,255,255,.78)}.company-image-slot{display:grid;place-items:center;min-height:360px;border:1px dashed rgba(103,232,249,.45);border-radius:24px;background:linear-gradient(145deg,rgba(103,232,249,.08),rgba(79,124,255,.06)),rgba(255,255,255,.025);overflow:hidden}.theme-light .company-image-slot{border-color:rgba(15,40,65,.2);background:linear-gradient(145deg,rgba(103,232,249,.09),rgba(79,124,255,.04)),#f2f7fa}.company-image-slot>div{text-align:center;padding:2rem}.company-image-slot span,.company-image-slot small{display:block;color:inherit;opacity:.65}.company-image-slot strong{display:block;margin:.55rem 0;font-family:var(--font-display);font-size:1.15rem}.company-image-slot-hero{aspect-ratio:16/10}.company-image-slot-wide{aspect-ratio:16/9;min-height:300px}.company-editorial-split{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(3rem,8vw,8rem);align-items:start}.company-editorial-split h2{max-width:760px}.company-editorial-split p,.company-purpose-copy p{font-size:clamp(1.05rem,1.35vw,1.25rem);line-height:1.75}.company-inline-pillars{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:1.4rem}.company-inline-pillars span{padding:.55rem .9rem;border:1px solid currentColor;border-radius:999px;font-size:.82rem;font-weight:700;opacity:.8}.company-dual-statements{display:grid;grid-template-columns:1fr 1fr;gap:0}.company-dual-statements article{padding:clamp(1rem,4vw,4rem)}.company-dual-statements article+article{border-left:1px solid rgba(255,255,255,.15)}.company-section-number{display:block;margin-bottom:2.2rem;color:var(--cyan);font-size:.9rem;font-weight:800;letter-spacing:.12em}.company-dual-statements h2{font-size:var(--title-section);max-width:700px}.company-dual-statements p{max-width:620px;font-size:1.05rem;line-height:1.75;color:rgba(255,255,255,.7)}.company-principles-flow{display:grid;grid-template-columns:repeat(3,1fr);margin-top:3.5rem;border-top:1px solid rgba(15,40,65,.14)}.company-principles-flow article{padding:2rem;border-bottom:1px solid rgba(15,40,65,.14)}.company-principles-flow article:not(:nth-child(3n+1)){border-left:1px solid rgba(15,40,65,.14)}.company-principles-flow span,.company-world-list>article>span,.company-opportunity-grid article>span{color:#087b92;font-size:.78rem;font-weight:800}.company-principles-flow h3{margin:.8rem 0 .55rem}.company-principles-flow p{margin:0;color:var(--muted);line-height:1.6}.company-culture-intro{margin-bottom:3.5rem}.company-culture-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border-top:1px solid rgba(255,255,255,.13)}.company-culture-grid article{padding:2rem;border-bottom:1px solid rgba(255,255,255,.13)}.company-culture-grid article:not(:nth-child(3n+1)){border-left:1px solid rgba(255,255,255,.13)}.company-icon{display:grid;place-items:center;width:42px;height:42px;margin-bottom:1.2rem;border-radius:50%;background:rgba(103,232,249,.1);color:var(--cyan);font-size:1.2rem}.company-culture-grid p,.company-career-values p{color:rgba(255,255,255,.7);line-height:1.65}.theme-light.company-culture .company-culture-grid p,.company-careers-page .theme-light .company-career-values p{color:var(--muted)}.company-world-layout{display:grid;grid-template-columns:minmax(360px,.92fr) minmax(0,1.08fr);gap:clamp(3rem,7vw,7rem);align-items:center}.company-world-list{display:grid;gap:0}.company-world-list article{display:grid;grid-template-columns:50px 1fr;gap:1.2rem;padding:1.25rem 0;border-top:1px solid rgba(15,40,65,.13)}.company-world-list h3{margin:0 0 .3rem}.company-world-list p{margin:0;color:var(--muted)}.company-ecosystem-link .btn{margin-top:1.4rem}.company-evidence-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-top:3rem}.company-evidence-grid article{padding:1.6rem;border:1px dashed rgba(15,40,65,.2);border-radius:18px;background:#fff}.company-evidence-grid article>span{font-size:1.4rem;color:#087b92}.company-evidence-grid h3{margin:.9rem 0 .5rem}.company-evidence-grid p{margin:0;color:var(--muted);line-height:1.6}.company-career-values{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;margin-top:3rem;background:rgba(15,40,65,.1)}.company-career-values article{padding:2.2rem;background:#fff}.company-opportunity-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:0;margin-top:3rem}.company-opportunity-grid article{padding:2rem;border-top:1px solid rgba(255,255,255,.15)}.company-opportunity-grid article+article{border-left:1px solid rgba(255,255,255,.15)}.company-opportunity-grid p{color:rgba(255,255,255,.68)}
@media(max-width:980px){.company-hero-grid,.company-editorial-split,.company-world-layout{grid-template-columns:1fr}.company-hero-grid{gap:3rem}.company-image-slot-hero{max-width:760px}.company-dual-statements{grid-template-columns:1fr}.company-dual-statements article+article{border-left:0;border-top:1px solid rgba(255,255,255,.15)}.company-principles-flow,.company-culture-grid,.company-evidence-grid,.company-career-values,.company-opportunity-grid{grid-template-columns:1fr 1fr}.company-principles-flow article:not(:nth-child(3n+1)),.company-culture-grid article:not(:nth-child(3n+1)){border-left:0}.company-principles-flow article:nth-child(even),.company-culture-grid article:nth-child(even){border-left:1px solid currentColor}.company-opportunity-grid article:nth-child(3){border-left:0;border-top:1px solid rgba(255,255,255,.15)}}
@media(max-width:640px){.company-principles-flow,.company-culture-grid,.company-evidence-grid,.company-career-values,.company-opportunity-grid{grid-template-columns:1fr}.company-principles-flow article,.company-culture-grid article,.company-opportunity-grid article{border-left:0!important}.company-image-slot{min-height:250px}.company-dual-statements article{padding:2rem 0}.company-world-list article{grid-template-columns:38px 1fr}}

/* Exact company copy layout */
.company-culture-statement{max-width:920px;margin:clamp(2.5rem,5vw,4.5rem) auto 0;padding-top:2rem;border-top:1px solid rgba(255,255,255,.16);text-align:center;}
.company-culture-statement p{font-size:clamp(1.08rem,1.7vw,1.35rem);line-height:1.7;color:rgba(255,255,255,.84);}
.company-principles-flow article h3{line-height:1.35;}
.company-culture-grid article p,.company-career-values article p{line-height:1.72;}


/* Company page editorial refinements */
.company-hero-title{display:grid;gap:.16em}.company-hero-title>span{display:block}.company-purpose-centered{max-width:980px;text-align:center}.company-purpose-centered h2{margin:1rem auto 0;max-width:920px}.company-mv-stack{display:grid;gap:clamp(5rem,9vw,8rem)}.company-mv-row{display:grid;grid-template-columns:minmax(320px,.88fr) minmax(0,1.12fr);gap:clamp(3rem,7vw,7rem);align-items:center}.company-mv-image{margin:0;overflow:hidden;border-radius:28px;aspect-ratio:16/10;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.04)}.company-mv-image img{width:100%;height:100%;object-fit:cover;display:block}.company-mv-copy h2{max-width:780px;color:rgba(255,255,255,.88)!important}.company-smart-link{text-decoration-line:underline;text-decoration-thickness:2px;text-underline-offset:.18em}.company-vision-bullets{display:grid;gap:.75rem;margin:1.6rem 0 0;padding:0;list-style:none}.company-vision-bullets li{position:relative;padding-left:1.45rem;color:rgba(255,255,255,.74);font-size:1.02rem;line-height:1.55}.company-vision-bullets li:before{content:"";position:absolute;left:0;top:.72em;width:.5rem;height:.5rem;border-radius:50%;background:linear-gradient(135deg,var(--cyan),var(--blue))}.company-world-closing{max-width:850px;margin:clamp(2.5rem,5vw,4.5rem) auto 0;text-align:center;font-family:var(--font-display);font-size:clamp(1.45rem,2.5vw,2.3rem);font-weight:650;color:var(--navy)}.company-ecosystem-cta{display:grid;justify-items:start}.company-ecosystem-mini{display:block;width:min(100%,330px);max-height:210px;object-fit:contain;margin:1.1rem 0 1.35rem;border-radius:18px;background:rgba(255,255,255,.04)}.company-sector-list{display:flex;flex-wrap:wrap;gap:.5rem;margin:.9rem 0 0;padding:0;list-style:none}.company-sector-list li{padding:.42rem .72rem;border-radius:999px;background:rgba(8,123,146,.09);color:#075d70;font-size:.78rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em}.ecosystem-partners-section{padding:var(--section-space) 0}.ecosystem-partners-section .ecosystem-logo-grid{margin-top:3rem}.services-menu-compact{max-height:min(78vh,690px);overflow:auto}.services-mega-family-grid-compact{grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:.65rem!important}.service-mega-family-link{display:grid!important;grid-template-columns:34px 1fr;gap:.7rem;align-items:center;min-height:74px;padding:.9rem!important;text-decoration:none;border:1px solid rgba(15,40,65,.1);border-radius:14px;background:#fff;color:var(--navy);transition:transform .2s ease,border-color .2s ease,background .2s ease}.service-mega-family-link:hover,.service-mega-family-link:focus-visible{transform:translateY(-2px);border-color:rgba(8,145,178,.36);background:#f3fbfd}.service-mega-family-link span{display:grid;place-items:center;width:32px;height:32px;border-radius:10px;background:rgba(8,145,178,.1);color:#087b92;font-size:.7rem;font-weight:900}.service-mega-family-link strong{font-size:.82rem;line-height:1.3}.services-mega-family-grid-compact .service-mega-family ul{display:none!important}
@media(max-width:980px){.company-mv-row{grid-template-columns:1fr}.company-mv-image{max-width:760px}.services-mega-family-grid-compact{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media(max-width:640px){.company-mv-row{gap:2rem}.company-mv-copy h2{font-size:clamp(1.85rem,8vw,2.7rem)}.services-mega-family-grid-compact{grid-template-columns:1fr!important}}


/* Company page: readable evidence, alternating mission/vision and subtle interaction */
.company-evidence{background:linear-gradient(180deg,#f7fbfd 0%,#eef5f8 100%);color:var(--navy);}
.company-evidence .section-title{color:var(--navy)!important;}
.company-evidence .section-subtitle{color:var(--muted)!important;}
.company-evidence-grid article{color:var(--navy);background:#fff;border:1px solid rgba(15,40,65,.12);box-shadow:0 14px 34px rgba(15,40,65,.06);transition:transform .28s ease,box-shadow .28s ease,border-color .28s ease;}
.company-evidence-grid article h3{color:var(--navy)!important;}
.company-evidence-grid article p{color:#536475!important;}
.company-evidence-grid article:hover{transform:translateY(-7px);box-shadow:0 24px 50px rgba(15,40,65,.13);border-color:rgba(8,145,178,.34);}
.company-evidence-grid article>span{display:inline-grid;place-items:center;width:44px;height:44px;border-radius:14px;background:rgba(8,145,178,.10);transition:transform .28s ease,background .28s ease;}
.company-evidence-grid article:hover>span{transform:translateY(-3px) rotate(-4deg);background:rgba(8,145,178,.17);}
.company-mv-row-mission .company-mv-copy{order:1}.company-mv-row-mission .company-mv-image{order:2}
.company-mv-image{transition:transform .42s cubic-bezier(.2,.7,.2,1),box-shadow .42s ease,border-color .42s ease;}
.company-mv-image img{transition:transform .65s cubic-bezier(.2,.7,.2,1),filter .45s ease;}
.company-mv-row:hover .company-mv-image{transform:translateY(-7px) rotate(.35deg);box-shadow:0 28px 70px rgba(0,0,0,.24);border-color:rgba(103,232,249,.32);}
.company-mv-row:hover .company-mv-image img{transform:scale(1.035);filter:saturate(1.06) contrast(1.03);}
.company-culture-grid article,.company-world-list article,.company-sector-list li,.team-card-nunky,.company-ecosystem-mini,.company-image-slot{transition:transform .28s ease,box-shadow .28s ease,border-color .28s ease,background .28s ease;}
.company-culture-grid article:hover{transform:translateY(-5px);background:rgba(255,255,255,.035);}
.company-world-list article:hover{transform:translateX(7px);}
.company-sector-list li:hover{transform:translateY(-3px);background:rgba(8,123,146,.16);}
.company-ecosystem-mini:hover{transform:translateY(-5px) scale(1.015);}
.company-story-page .btn{transition:transform .22s ease,box-shadow .22s ease,background .22s ease;}
.company-story-page .btn:hover{transform:translateY(-3px);}
.company-story-page a:not(.btn):focus-visible{outline:3px solid var(--cyan);outline-offset:4px;border-radius:4px;}
/* Restore the original services mega-menu presentation */
.services-menu-compact{max-height:none;overflow:visible;}
.services-mega-family-grid-compact{grid-template-columns:inherit!important;gap:inherit!important;}
.services-mega-family-grid-compact .service-mega-family ul{display:block!important;}
@media(max-width:980px){.company-mv-row-mission .company-mv-copy,.company-mv-row-mission .company-mv-image{order:initial}}
@media(prefers-reduced-motion:reduce){.company-evidence-grid article,.company-evidence-grid article>span,.company-mv-image,.company-mv-image img,.company-culture-grid article,.company-world-list article,.company-sector-list li,.team-card-nunky,.company-ecosystem-mini,.company-story-page .btn{transition:none!important;transform:none!important;}}


/* Final CTA alignment and Smart Company image fitting */
.next-step-centered{
  text-align:center!important;
  justify-items:center;
}
.next-step-centered h2,
.next-step-centered p{
  margin-left:auto!important;
  margin-right:auto!important;
}
.next-step-centered .cta-buttons,
.next-step-centered .hero-buttons,
.next-step-centered .ppx-actions,
.next-step-centered .scx-actions,:where(body:has(main:not(.product-page))) .next-step-centered .nunky-product-cta-actions{
  justify-content:center!important;
}

/* Vertical comparison image: preserve its real proportion */
.scx-why-now .scx-compare{
  width:min(100%,430px)!important;
  aspect-ratio:675/1200!important;
  min-height:0!important;
  padding:10px!important;
}
.scx-why-now .scx-compare:before,
.scx-why-now .scx-compare:after{
  inset:10px!important;
}
.scx-why-now .scx-compare-img{
  width:100%!important;
  height:100%!important;
  object-fit:contain!important;
  object-position:center!important;
  background:#071124!important;
}

/* Intelligence First framework: show complete panoramic infographics */
.smart-visual-band{
  align-items:stretch;
}
.smart-visual-card{
  display:flex;
  flex-direction:column;
}
.smart-visual-card img{
  width:100%!important;
  height:auto!important;
  aspect-ratio:16/9!important;
  object-fit:contain!important;
  object-position:center!important;
  padding:10px;
  background:rgba(255,255,255,.96);
}
.smart-visual-card figcaption{
  margin-top:auto;
}
@media(max-width:560px){
  .scx-why-now .scx-compare{
    width:min(100%,360px)!important;
    aspect-ratio:675/1200!important;
  }
  .smart-visual-card img{padding:6px;}
}

/* Compact editorial process / Cómo funciona */:where(body:has(main:not(.product-page))) .nunky-editorial-process{
  padding:clamp(4.75rem,7vw,7rem) 0!important;
}:where(body:has(main:not(.product-page))) .nunky-editorial-process .nunky-editorial-heading{
  margin-bottom:clamp(2rem,3.5vw,3.25rem)!important;
}:where(body:has(main:not(.product-page))) .nunky-editorial-process .nunky-editorial-heading .section-kicker{
  margin-bottom:.85rem!important;
}:where(body:has(main:not(.product-page))) .nunky-editorial-process .nunky-editorial-heading h2{
  margin-top:0!important;
  margin-bottom:0!important;
  max-width:28ch!important;
}:where(body:has(main:not(.product-page))) .nunky-editorial-process .nunky-process-line{
  margin-top:0!important;
}
@media(max-width:980px){:where(body:has(main:not(.product-page))) .nunky-editorial-process{
    padding:4.5rem 0!important;
  }:where(body:has(main:not(.product-page))) .nunky-editorial-process .nunky-editorial-heading{
    margin-bottom:2.25rem!important;
  }
}
@media(max-width:640px){:where(body:has(main:not(.product-page))) .nunky-editorial-process{
    padding:3.75rem 0!important;
  }:where(body:has(main:not(.product-page))) .nunky-editorial-process .nunky-editorial-heading{
    margin-bottom:1.75rem!important;
  }
}


/* Global vertical rhythm for product and service pages */
:root{
  --editorial-section-y:clamp(4.75rem,6.5vw,6.75rem);
  --editorial-section-y-compact:clamp(3.75rem,5vw,5.25rem);
  --editorial-content-gap:clamp(2rem,3.5vw,3.25rem);
  --editorial-block-gap:clamp(1.25rem,2vw,2rem);
}

/* One shared section rhythm across complete products, individual services and families. */:where(body:has(main:not(.product-page))) :is(
  .nunky-editorial-product,
  .editorial-refresh,
  .product-detail-page,
  .service-detail-page,
  .ppx-page,
  .closing-service-family
) > section:not(:first-child){
  padding-top:var(--editorial-section-y)!important;
  padding-bottom:var(--editorial-section-y)!important;
  min-height:0!important;
}

/* Compact sections that should not feel like a second hero. */:where(body:has(main:not(.product-page))) :is(
  .nunky-editorial-product,
  .editorial-refresh,
  .product-detail-page,
  .service-detail-page,
  .ppx-page,
  .closing-service-family
) > :is(
  .nunky-editorial-process,
  .nunky-editorial-scenarios,
  .nunky-family-explorer,
  .nunky-faq-section,
  .nunky-product-cta,
  .trust-journey,
  .family-way,
  .family-members-section,
  .evidence-without-hype,
  .cta
){
  padding-top:var(--editorial-section-y-compact)!important;
  padding-bottom:var(--editorial-section-y-compact)!important;
}

/* Headings should introduce content, not create an empty screen. */:where(body:has(main:not(.product-page))) :is(
  .nunky-editorial-product,
  .editorial-refresh,
  .product-detail-page,
  .service-detail-page,
  .ppx-page,
  .closing-service-family
) :is(
  .section-heading,
  .nunky-editorial-heading,
  .ep-heading,
  .scx-section-head,
  .detail-section-head
){
  margin-top:0!important;
  margin-bottom:var(--editorial-content-gap)!important;
}:where(body:has(main:not(.product-page))) :is(
  .nunky-editorial-product,
  .editorial-refresh,
  .product-detail-page,
  .service-detail-page,
  .ppx-page,
  .closing-service-family
) :is(.section-heading,.nunky-editorial-heading,.ep-heading) > :last-child{
  margin-bottom:0!important;
}

/* Normalize the distance between headings and the component that follows. */:where(body:has(main:not(.product-page))) :is(
  .nunky-editorial-product,
  .editorial-refresh,
  .product-detail-page,
  .service-detail-page,
  .ppx-page,
  .closing-service-family
) :is(
  .nunky-process-line,
  .nunky-scenario-list,
  .nunky-result-line,
  .nunky-family-grid,
  .nunky-faq-list,
  .family-member-grid,
  .family-benefit-grid,
  .family-way-grid,
  .trust-journey-path,
  .ep-process,
  .ep-scenarios,
  .ep-results-grid,
  .detail-content-grid
){
  margin-top:0!important;
}

/* Internal editorial rows and media should use the same moderate gap. */:where(body:has(main:not(.product-page))) :is(
  .nunky-editorial-product,
  .editorial-refresh,
  .product-detail-page,
  .service-detail-page,
  .ppx-page,
  .closing-service-family
) :is(
  .nunky-alternate-row,
  .ep-split,
  .detail-content-grid,
  .trust-journey-layout,
  .family-purpose-grid,
  .family-human-grid
){
  gap:clamp(2.5rem,5vw,5rem)!important;
}

/* Avoid double spacing produced by stacked margins inside sections. */:where(body:has(main:not(.product-page))) :is(
  .nunky-editorial-product,
  .editorial-refresh,
  .product-detail-page,
  .service-detail-page,
  .ppx-page,
  .closing-service-family
) section > .container > :first-child{
  margin-top:0!important;
}:where(body:has(main:not(.product-page))) :is(
  .nunky-editorial-product,
  .editorial-refresh,
  .product-detail-page,
  .service-detail-page,
  .ppx-page,
  .closing-service-family
) section > .container > :last-child{
  margin-bottom:0!important;
}

/* Keep related products and FAQ close to the end of the narrative. */:where(body:has(main:not(.product-page))) .nunky-family-explorer + .nunky-product-cta,:where(body:has(main:not(.product-page))) .nunky-product-cta + .nunky-faq-section{
  border-top:1px solid rgba(148,163,184,.12);
}

@media(max-width:980px){
  :root{
    --editorial-section-y:4.75rem;
    --editorial-section-y-compact:3.9rem;
    --editorial-content-gap:2.25rem;
  }
}
@media(max-width:640px){
  :root{
    --editorial-section-y:3.8rem;
    --editorial-section-y-compact:3.25rem;
    --editorial-content-gap:1.75rem;
  }:where(body:has(main:not(.product-page))) :is(
    .nunky-editorial-product,
    .editorial-refresh,
    .product-detail-page,
    .service-detail-page,
    .ppx-page,
    .closing-service-family
  ) :is(.nunky-alternate-row,.ep-split,.detail-content-grid,.trust-journey-layout,.family-purpose-grid,.family-human-grid){
    gap:2rem!important;
  }
}

/* =========================================================
   COMPACT RHYTHM V3 — products and services
   A deliberately tighter reading rhythm for content pages.
   ========================================================= */
:root{
  --editorial-section-y:clamp(3.25rem,4.2vw,4.5rem);
  --editorial-section-y-compact:clamp(2.65rem,3.4vw,3.65rem);
  --editorial-content-gap:clamp(1.35rem,2vw,2rem);
  --editorial-block-gap:clamp(.9rem,1.5vw,1.35rem);
}

:is(.product-editorial-unified,.service-editorial-unified,.family-editorial-unified) > section:not(:first-child){
  padding-block:var(--editorial-section-y)!important;
  min-height:auto!important;
}:where(body:has(main:not(.product-page))) :is(.product-editorial-unified,.service-editorial-unified,.family-editorial-unified) > :is(
  .nunky-editorial-process,
  .nunky-editorial-scenarios,
  .nunky-editorial-problem,
  .nunky-family-explorer,
  .nunky-faq-section,
  .nunky-product-cta,
  .trust-journey,
  .family-way,
  .family-members-section,
  .evidence-without-hype,
  .detail-content-section,
  .cta
){
  padding-block:var(--editorial-section-y-compact)!important;
}

/* Reduce hero height without crowding the header. */
:is(.product-editorial-unified,.service-editorial-unified,.family-editorial-unified) > section:first-child{
  min-height:auto!important;
  padding-bottom:clamp(3rem,4vw,4.25rem)!important;
}

/* Remove inherited artificial heights from old templates. */:where(body:has(main:not(.product-page))) :is(.product-editorial-unified,.service-editorial-unified,.family-editorial-unified) :is(
  .nunky-editorial-hero-grid,
  .detail-hero-grid,
  .ep-hero-grid,
  .family-human-grid,
  .nunky-editorial-process,
  .nunky-editorial-scenarios,
  .nunky-editorial-alternate,
  .nunky-editorial-panorama,
  .detail-content-grid,
  .trust-journey-layout,
  .family-purpose-grid,
  .family-member-grid,
  .family-benefit-grid,
  .family-way-grid,
  .ep-split,
  .ep-process,
  .ep-scenarios,
  .ep-results-grid
){
  min-height:0!important;
  height:auto!important;
}

/* Headings and introductory paragraphs should sit closer to content. */:where(body:has(main:not(.product-page))) :is(.product-editorial-unified,.service-editorial-unified,.family-editorial-unified) :is(
  .section-heading,
  .nunky-editorial-heading,
  .ep-heading,
  .detail-section-head,
  .scx-section-head
){
  margin-bottom:var(--editorial-content-gap)!important;
}:where(body:has(main:not(.product-page))) :is(.product-editorial-unified,.service-editorial-unified,.family-editorial-unified) :is(
  .section-heading,
  .nunky-editorial-heading,
  .ep-heading,
  .detail-section-head,
  .scx-section-head
) :is(h2,p):last-child{
  margin-bottom:0!important;
}

/* Editorial alternating rows were especially loose. */:where(body:has(main:not(.product-page))) :is(.product-editorial-unified,.service-editorial-unified) .nunky-alternate-row{
  padding-block:0!important;
  margin-block:0!important;
  gap:clamp(1.75rem,3.5vw,3.5rem)!important;
}:where(body:has(main:not(.product-page))) :is(.product-editorial-unified,.service-editorial-unified) .nunky-alternate-row + .nunky-alternate-row{
  margin-top:clamp(2.75rem,4vw,4rem)!important;
}

/* Keep grids close to their headings. */:where(body:has(main:not(.product-page))) :is(.product-editorial-unified,.service-editorial-unified,.family-editorial-unified) :is(
  .nunky-process-line,
  .nunky-scenario-list,
  .nunky-result-line,
  .nunky-family-grid,
  .nunky-faq-list,
  .family-member-grid,
  .family-benefit-grid,
  .family-way-grid,
  .trust-journey-path,
  .detail-content-grid,
  .ep-process,
  .ep-scenarios,
  .ep-results-grid
){
  margin-top:0!important;
  margin-bottom:0!important;
}

/* Remove double vertical margins created by child components. */
:is(.product-editorial-unified,.service-editorial-unified,.family-editorial-unified) section > .container > *{
  scroll-margin-top:7rem;
}
:is(.product-editorial-unified,.service-editorial-unified,.family-editorial-unified) section > .container > :first-child{
  margin-top:0!important;
}
:is(.product-editorial-unified,.service-editorial-unified,.family-editorial-unified) section > .container > :last-child{
  margin-bottom:0!important;
}

/* CTA, related content and FAQ form one compact ending sequence. */:where(body:has(main:not(.product-page))) :is(.product-editorial-unified,.service-editorial-unified) .nunky-family-explorer + .nunky-product-cta,:where(body:has(main:not(.product-page))) :is(.product-editorial-unified,.service-editorial-unified) .nunky-product-cta + .nunky-faq-section{
  padding-top:clamp(2.4rem,3vw,3.2rem)!important;
}

/* Images should not reserve unused vertical area. */:where(body:has(main:not(.product-page))) :is(.product-editorial-unified,.service-editorial-unified,.family-editorial-unified) :is(
  .nunky-editorial-image,
  .nunky-wide-image,
  .detail-hero-media,
  .ep-hero-media,
  .family-human-visual,
  .ep-image
){
  min-height:0!important;
  height:auto!important;
}

@media(max-width:980px){
  :root{
    --editorial-section-y:3.4rem;
    --editorial-section-y-compact:2.85rem;
    --editorial-content-gap:1.55rem;
  }
  :is(.product-editorial-unified,.service-editorial-unified,.family-editorial-unified) > section:first-child{
    padding-bottom:3.2rem!important;
  }
}

@media(max-width:640px){
  :root{
    --editorial-section-y:2.75rem;
    --editorial-section-y-compact:2.35rem;
    --editorial-content-gap:1.3rem;
  }
  :is(.product-editorial-unified,.service-editorial-unified,.family-editorial-unified) > section:first-child{
    padding-bottom:2.65rem!important;
  }:where(body:has(main:not(.product-page))) :is(.product-editorial-unified,.service-editorial-unified) .nunky-alternate-row + .nunky-alternate-row{
    margin-top:2.5rem!important;
  }
}


/* =========================================================
   PROMPT MAESTRO 2026-09-09 — ajustes globales controlados
========================================================= */
.smart-company-term {
  color: inherit;
  text-decoration-line: underline;
  text-decoration-color: transparent;
  text-decoration-thickness: .11em;
  text-underline-offset: .16em;
  transition: color .2s ease, text-decoration-color .2s ease;
}
.smart-company-term:hover {
  color: #087b92;
  text-decoration-color: currentColor;
}
.theme-dark .smart-company-term:hover { color: #67e8f9; }

/* Los megamenús conservan su estructura funcional; solo se retiran los intros. */
.dropdown-menu-smart-company .smart-menu-grid { padding-top: .35rem; }
.smart-menu-group-primary .dropdown-link-principle { font-weight: 750; }


/* GLOBAL SEMANTIC TYPE FINALIZATION — HOME REFERENCE 2026-09-10 */
/* These are semantic roles, not page exceptions. They keep legacy page classes on the Home scale. */
body main :is(
  .section-subtitle,
  .hero-subtitle,
  .inner-hero-subtitle,
  .blog-hero-subtitle,
  .pillar-page-subtitle,
  .ppx-lead,
  .ep-lead,
  .service-hero-lead,
  .consulting-hero-lead,
  .company-lead,
  .scx-lead,
  .ppl-lead,
  .cai-hero-subtitle,
  .hero-request-copy
){
  font-size:var(--type-lead-size)!important;
  line-height:var(--type-lead-line)!important;
}

/* Acento semántico: una parte del titular, manteniendo sus palabras. */
main :is(h1,h2).heading-bicolor { background:none!important; -webkit-text-fill-color:currentColor!important; }
main :is(h1,h2).heading-bicolor .heading-accent { color:#087fb1!important; background:none!important; -webkit-text-fill-color:currentColor!important; }
main :is(.theme-dark,[data-theme="dark"]) :is(h1,h2).heading-bicolor .heading-accent { color:#6ddff6!important; }
main > section[data-header-clearance] { padding-top:var(--hero-top)!important; }
@media(max-width:980px){:root{--hero-top:10.5rem;}}
@media(max-width:640px){:root{--hero-top:9.5rem;}}

/* Los acentos nuevos fluyen con el título; las filas intencionales de Inicio se conservan. */
main :is(h1,h2).heading-bicolor .heading-accent:not(.hero-title-row){display:inline!important;}
