/* Shared site shell: kept deliberately isolated from page-specific designs. */
:root { --shared-header-height: 78px; }
.shared-shell-sprite { position: absolute; width: 0; height: 0; overflow: hidden; }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
.honeypot { position: absolute !important; inset-inline-start: -10000px !important; width: 1px !important; height: 1px !important; overflow: hidden !important; clip: rect(0 0 0 0) !important; white-space: nowrap !important; }
.shared-skip-link { position: fixed; z-index: 10001; top: 12px; inset-inline-start: 12px; padding: 10px 14px; color: #061321; background: #79e8ff; border-radius: 8px; transform: translateY(-160%); transition: transform .2s ease; }
.shared-skip-link:focus { transform: translateY(0); }
.shared-reading-progress { position: fixed; z-index: 10000; top: 0; inset-inline-start: 0; width: 0; height: 3px; background: linear-gradient(90deg, #35ddf8, #9e82ff, #ffb75f); box-shadow: 0 0 12px rgba(72, 223, 248, .75); transition: width .08s linear; }

.site-header.shared-site-header { position: fixed; z-index: 9500; top: 0; inset-inline: 0; min-height: var(--shared-header-height); border-bottom: 1px solid rgba(112, 160, 205, .14); background: rgba(3, 14, 31, .9); backdrop-filter: blur(18px); transition: background .22s ease, box-shadow .22s ease, border-color .22s ease; }
.site-header.shared-site-header.is-scrolled { border-color: rgba(78, 216, 244, .28); background: rgba(3, 13, 29, .97); box-shadow: 0 12px 34px rgba(0, 0, 0, .28); }
.shared-site-header .shared-navbar { min-height: var(--shared-header-height); padding: 0; }
.shared-site-header .container-shell { width: min(calc(100% - 48px), 1320px); margin-inline: auto; }
.shared-header-inner { min-height: var(--shared-header-height); display: flex; align-items: center; gap: 28px; }
.shared-site-header .shared-brand { display: inline-flex; flex: 0 0 auto; align-items: center; gap: 10px; min-width: 0; color: #fff; text-decoration: none; }
.shared-site-header .shared-brand img { width: 52px; height: auto; filter: drop-shadow(0 0 14px rgba(63, 212, 255, .24)); }
.shared-site-header .brand-copy { display: flex; flex-direction: column; gap: 2px; min-width: 0; line-height: 1.25; }
.shared-site-header .brand-copy small { color: #89a6bd; font: 700 .61rem/1.2 Inter, Vazirmatn, sans-serif; letter-spacing: .04em; }
.shared-site-header .brand-copy strong { color: #f4f8ff; font: 800 .78rem/1.35 Inter, Vazirmatn, sans-serif; }
.shared-main-nav { flex: 1 1 auto; display: flex; align-items: center; justify-content: space-between; gap: 22px; min-width: 0; }
.shared-site-header .shared-nav-list { display: flex; flex-direction: row; align-items: center; justify-content: center; gap: clamp(11px, 1.45vw, 23px); margin: 0; padding: 0; list-style: none; }
.shared-site-header .shared-nav-list .nav-link { position: relative; display: block; padding: 10px 1px; color: #c7d5e2; font: 700 .8rem/1.25 Inter, Vazirmatn, sans-serif; text-decoration: none; white-space: nowrap; transition: color .2s ease; }
.shared-site-header .shared-nav-list .nav-link::after { position: absolute; right: 8%; bottom: 0; left: 8%; height: 2px; opacity: 0; border-radius: 999px; background: linear-gradient(90deg, #48ddf8, #977dff); box-shadow: 0 0 9px rgba(72, 221, 248, .72); content: ''; transform: scaleX(.35); transition: opacity .2s ease, transform .2s ease; }
.shared-site-header .shared-nav-list .nav-link:hover,
.shared-site-header .shared-nav-list .nav-link:focus-visible,
.shared-site-header .shared-nav-list .nav-link.is-active,
.shared-site-header .shared-nav-list .nav-link[aria-current='page'] { color: #fff; }
.shared-site-header .shared-nav-list .nav-link:hover::after,
.shared-site-header .shared-nav-list .nav-link:focus-visible::after,
.shared-site-header .shared-nav-list .nav-link.is-active::after,
.shared-site-header .shared-nav-list .nav-link[aria-current='page']::after { opacity: 1; transform: scaleX(1); }
.shared-header-tools { display: inline-flex; align-items: center; gap: 9px; flex: 0 0 auto; }
.shared-site-header .language-switch { width: 40px; min-width: 40px; height: 40px; display: inline-grid; place-items: center; padding: 0; color: #d5e4f0; font: 800 .67rem/1 Inter, sans-serif; text-decoration: none; border: 1px solid rgba(108, 203, 246, .32); border-radius: 11px; background: rgba(45, 94, 130, .16); transition: .2s ease; }
.shared-site-header .language-switch:hover { color: #061526; border-color: #65e0f7; background: #65e0f7; }
.shared-header-cta { min-height: 40px; display: inline-flex; align-items: center; justify-content: center; gap: 8px; padding: 10px 14px; color: #06121e; font: 800 .7rem/1 Inter, Vazirmatn, sans-serif; text-decoration: none; border-radius: 11px; background: linear-gradient(135deg, #71e7ff, #47c8df); box-shadow: 0 9px 22px rgba(57, 207, 232, .16); }
.shared-header-cta svg { width: 16px; height: 16px; fill: none; stroke: currentColor; stroke-width: 1.9; }
.shared-menu-toggle { display: none; width: 42px; height: 42px; place-items: center; padding: 0; color: #e8f7ff; border: 1px solid rgba(123, 190, 227, .28); border-radius: 11px; background: rgba(70, 126, 163, .12); cursor: pointer; }
.shared-menu-toggle svg { width: 22px; height: 22px; fill: none; stroke: currentColor; stroke-width: 1.9; }

/* The homepage hero predates the fixed shared header, so reserve its real height. */
body[data-shared-shell] main > .hero-section { padding-top: calc(var(--shared-header-height) + 18px); }

/* Compact rhythm for every internal page. The standalone homepage is excluded. */
body[data-shared-shell] main :is(.section, .kh-section) {
  min-height: 0 !important;
  padding-block: clamp(36px, 3.5vw, 48px) !important;
}
body[data-shared-shell] main :is(.section-heading, .kh-section-head, [class$='-section-head']) {
  margin-bottom: clamp(20px, 2vw, 28px) !important;
}
body[data-shared-shell] main > :is(section, header):first-child h1,
body[data-shared-shell] main > article:first-child > header:first-child h1 {
  font-size: clamp(2.5rem, 4vw, 4.25rem) !important;
  line-height: 1.12 !important;
}

/* Repeated hero summaries duplicate information found in the page body. */
body[data-shared-shell] main :is(.case-snapshot, .people-index, .trust-index, .rd-spec-strip, .partnership-index, .careers-index, .dossier-index, .kh-hero-meta, .lab-hero-index, .projects-hero-index, .talent-hero-index, .insights-hero-index, .lab-hero-proof, .consult-hero-proof, .academy-value-chain, .hero-value-chain, .services-signal-row, .dossier-identity-state, [class$='-hero-signals'], [class$='-hero-tags'], [class$='-hero-notes']) {
  display: none !important;
}
body[data-shared-shell] main :is(.about-cta, .showcase-section) {
  min-height: 0 !important;
  padding-block: 48px !important;
}
body[data-shared-shell] main > .system-main {
  min-height: 600px !important;
  padding-block: calc(var(--shared-header-height) + 20px) 32px;
}
body[data-shared-shell] main > .system-main .system-card { margin-block: 0 !important; }

@media (min-width: 821px) {
  body[data-shared-shell] main > :is(.about-hero, .academy-hero, .agent-hero, .ai-hero, .bo-hero, .capability-hero, .consult-hero, .decision-hero, .departments-hero, .dx-hero, .flow-hero, .forge-hero, .insights-hero, .intel-hero, .kh-hero, .lab-hero, .projects-hero, .services-hero),
  body[data-shared-shell] main > article > .kh-hero {
    min-height: 440px !important;
    align-items: center !important;
    padding-block: calc(var(--shared-header-height) + 16px) 28px !important;
  }
  body[data-shared-shell] main > :is(.about-hero, .academy-hero, .agent-hero, .ai-hero, .bo-hero, .capability-hero, .consult-hero, .decision-hero, .departments-hero, .dx-hero, .flow-hero, .forge-hero, .insights-hero, .intel-hero, .kh-hero, .lab-hero, .projects-hero, .services-hero) > :is(.container, .kh-container),
  body[data-shared-shell] main > article > .kh-hero > .kh-container {
    min-height: 0 !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
  }
  body[data-shared-shell] main > :is(.about-hero, .academy-hero, .agent-hero, .ai-hero, .bo-hero, .capability-hero, .consult-hero, .decision-hero, .departments-hero, .dx-hero, .flow-hero, .forge-hero, .insights-hero, .intel-hero, .kh-hero, .lab-hero, .projects-hero, .services-hero) :is(.hero-copy, .kh-hero-copy, [class$='-hero-copy']),
  body[data-shared-shell] main > article > .kh-hero .kh-hero-copy {
    padding-block: 0 !important;
  }

  body[data-shared-shell] main > :is(.case-hero, .people-hero, .trust-hero, .rd-hero, .partnership-hero, .careers-hero, .talent-hero, .dossier-hero) {
    min-height: 0 !important;
    padding-block: calc(var(--shared-header-height) + 24px) 38px !important;
  }
  body[data-shared-shell] main > :is(.case-hero, .people-hero, .trust-hero, .rd-hero, .partnership-hero, .careers-hero, .talent-hero, .dossier-hero) > :is(.container, .kh-container) {
    min-height: 0 !important;
    grid-template-columns: minmax(0, .95fr) minmax(0, 1.05fr) !important;
    gap: 38px !important;
  }
  body[data-shared-shell] main :is(.case-hero-frame, .people-hero-frame, .trust-hero-frame, .rd-hero-frame, .partnership-hero-frame, .careers-hero-frame, .talent-hero-frame) img {
    display: block !important;
    width: 100% !important;
    height: clamp(300px, 28vw, 400px) !important;
    min-height: 0 !important;
    object-fit: contain !important;
    object-position: center !important;
    transform: none !important;
  }
  body[data-shared-shell] main .dossier-portrait-frame { width: min(100%, 310px) !important; margin-inline: auto !important; }
  body[data-shared-shell] main .dossier-portrait-frame img {
    display: block !important;
    width: 100% !important;
    height: 400px !important;
    min-height: 0 !important;
    object-fit: contain !important;
    object-position: center !important;
    transform: none !important;
  }
}

.site-footer.shared-site-footer { position: relative; isolation: isolate; overflow: hidden; padding: 0; color: #e8f1ff; border-top: 1px solid rgba(95, 150, 231, .25); background: radial-gradient(circle at 88% 15%, rgba(31, 132, 255, .13), transparent 28%), radial-gradient(circle at 10% 38%, rgba(154, 65, 255, .1), transparent 25%), linear-gradient(180deg, rgba(3, 15, 42, .98), rgba(1, 7, 21, 1)); }
.shared-site-footer .container-shell { width: min(calc(100% - 48px), 1320px); margin-inline: auto; }
.shared-site-footer .footer-network { position: absolute; z-index: -1; inset: 0 0 auto auto; width: 52%; height: 82%; opacity: .14; background: url('../assets/img/data-nodes.svg') center / cover no-repeat; -webkit-mask-image: linear-gradient(270deg, #000, transparent 90%); mask-image: linear-gradient(270deg, #000, transparent 90%); }
.shared-site-footer .footer-cta { position: relative; overflow: hidden; display: grid; grid-template-columns: minmax(0, 1.5fr) auto; align-items: center; gap: 28px; margin-top: 20px; padding: 24px 27px; border: 1px solid rgba(105, 162, 236, .4); border-radius: 18px; background: radial-gradient(circle at 0 100%, rgba(26, 215, 255, .12), transparent 35%), radial-gradient(circle at 100% 0, rgba(189, 85, 255, .18), transparent 37%), linear-gradient(135deg, rgba(12, 43, 93, .92), rgba(5, 19, 48, .94)); box-shadow: 0 24px 64px rgba(0, 4, 20, .39), inset 0 1px rgba(255, 255, 255, .09); }
.shared-site-footer .footer-kicker { color: #ffc46d; font: 800 .67rem/1.2 Inter, Vazirmatn, sans-serif; }
.shared-site-footer .footer-cta h2 { margin: 5px 0 7px; color: #fff; font: 900 clamp(1.35rem, 2.25vw, 1.85rem)/1.35 Inter, Vazirmatn, sans-serif; letter-spacing: -.03em; }
.shared-site-footer .footer-cta p { margin: 0; color: #afc0d8; font: 500 .79rem/1.85 Inter, Vazirmatn, sans-serif; }
.shared-site-footer .footer-cta-actions { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 9px; }
.shared-site-footer .footer-cta-actions .btn { min-width: 134px; min-height: 41px; display: inline-flex; align-items: center; justify-content: center; gap: 8px; padding: 10px 13px; color: #eaf8ff; font: 800 .68rem/1 Inter, Vazirmatn, sans-serif; text-decoration: none; border: 1px solid rgba(104, 198, 242, .36); border-radius: 10px; background: rgba(28, 90, 139, .24); }
.shared-site-footer .footer-cta-actions .btn-gradient { color: #041526; border-color: transparent; background: linear-gradient(135deg, #71e7ff, #48cbe2); }
.shared-site-footer .footer-cta-actions svg { width: 16px; height: 16px; fill: none; stroke: currentColor; stroke-width: 1.9; }
.shared-site-footer .footer-main { display: grid; grid-template-columns: 1.5fr .72fr .88fr 1.12fr; gap: 34px; padding: 35px 0 28px; }
.shared-site-footer .footer-about { max-width: 390px; }
.shared-site-footer .footer-brand { display: inline-flex; align-items: center; gap: 12px; margin-bottom: 12px; color: #fff; text-decoration: none; }
.shared-site-footer .footer-brand img { width: 68px; height: auto; filter: drop-shadow(0 0 16px rgba(42, 189, 255, .28)); }
.shared-site-footer .footer-brand span { display: flex; flex-direction: column; line-height: 1.4; }
.shared-site-footer .footer-brand small { color: #aebbd4; font: 700 .62rem/1.3 Inter, Vazirmatn, sans-serif; }
.shared-site-footer .footer-brand strong { color: #f4f7ff; font: 800 1rem/1.4 Inter, Vazirmatn, sans-serif; }
.shared-site-footer .footer-about > p { margin: 0 0 16px; color: #98a7c3; font: 500 .78rem/1.95 Inter, Vazirmatn, sans-serif; }
.shared-site-footer .footer-socials { display: flex; flex-wrap: wrap; gap: 8px; }
.shared-site-footer .footer-socials a { min-width: 42px; height: 42px; display: inline-flex; align-items: center; gap: 7px; padding: 5px 8px; overflow: hidden; color: #d6e1f4; border: 1px solid rgba(100, 143, 208, .34); border-radius: 10px; background: linear-gradient(145deg, rgba(13, 43, 90, .72), rgba(4, 19, 48, .74)); text-decoration: none; transition: transform .2s ease, border-color .2s ease; }
.shared-site-footer .footer-socials img { width: 28px; height: 28px; object-fit: contain; }
.shared-site-footer .footer-socials span { max-width: 0; overflow: hidden; opacity: 0; white-space: nowrap; font: 700 .61rem/1 Inter, sans-serif; transition: max-width .22s ease, opacity .2s ease; }
.shared-site-footer .footer-column { display: flex; flex-direction: column; align-items: flex-start; gap: 8px; }
.shared-site-footer .footer-column h3 { position: relative; margin: 3px 0 8px; padding-bottom: 8px; color: #edf4ff; font: 800 .94rem/1.3 Inter, Vazirmatn, sans-serif; }
.shared-site-footer .footer-column h3::after { position: absolute; right: 0; bottom: 0; width: 31px; height: 2px; border-radius: 4px; background: linear-gradient(90deg, #35ddf8, #9e82ff); box-shadow: 0 0 9px rgba(28, 229, 255, .35); content: ''; }
.shared-site-footer .footer-column > a { position: relative; color: #a7b5cc; font: 600 .76rem/1.75 Inter, Vazirmatn, sans-serif; text-decoration: none; transition: color .2s ease, transform .2s ease; }
.shared-site-footer .footer-column > a:not(.footer-domain)::before { display: inline-block; width: 4px; height: 4px; margin-inline-end: 7px; border-radius: 50%; vertical-align: middle; background: rgba(69, 194, 255, .65); box-shadow: 0 0 6px rgba(69, 194, 255, .32); content: ''; }
.shared-site-footer .footer-contact > a { display: inline-flex; align-items: center; gap: 7px; direction: ltr; }
.shared-site-footer .footer-contact > a::before { display: none; }
.shared-site-footer .footer-contact svg { width: 15px; height: 15px; flex: 0 0 auto; fill: none; stroke: #67d8ff; stroke-width: 1.9; }
.shared-site-footer .footer-contact > p { display: flex; gap: 7px; margin: 2px 0 0; color: #96a7c4; font: 500 .73rem/1.85 Inter, Vazirmatn, sans-serif; }
.shared-site-footer .footer-bottom { display: grid; grid-template-columns: 1.5fr 1fr auto; align-items: center; gap: 20px; min-height: 62px; padding: 14px 0; border-top: 1px solid rgba(86, 128, 193, .2); }
.shared-site-footer .footer-bottom p { margin: 0; color: #8292af; font: 500 .69rem/1.7 Inter, Vazirmatn, sans-serif; }
.shared-site-footer .footer-tagline { display: inline-flex; align-items: center; justify-content: center; gap: 8px; color: #a6b5cc; font: 700 .7rem/1.3 Inter, Vazirmatn, sans-serif; }
.shared-site-footer .footer-tagline i { width: 6px; height: 6px; border-radius: 50%; background: #35ddf8; box-shadow: 0 0 10px #35ddf8; }
.shared-site-footer .footer-domain { display: inline-flex; align-items: center; gap: 7px; color: #aab9d0; direction: ltr; font: 700 .7rem/1 Inter, sans-serif; text-decoration: none; }
.shared-site-footer .footer-domain svg { width: 15px; height: 15px; fill: none; stroke: currentColor; stroke-width: 1.9; }

@media (hover: hover) and (pointer: fine) { .shared-site-footer .footer-socials a:hover { border-color: rgba(84, 202, 255, .68); transform: translateY(-3px); } .shared-site-footer .footer-socials a:hover span { max-width: 70px; opacity: 1; } .shared-site-footer .footer-column > a:hover { color: #eef9ff; transform: translateX(-3px); } [dir='ltr'] .shared-site-footer .footer-column > a:hover { transform: translateX(3px); } }
@media (max-width: 1180px) { .shared-site-header .brand-copy strong { font-size: .7rem; } .shared-site-header .shared-nav-list { gap: 12px; } .shared-site-header .shared-nav-list .nav-link { font-size: .74rem; } .shared-site-footer .footer-main { gap: 24px; grid-template-columns: 1.35fr .72fr .86fr 1.05fr; } }
@media (max-width: 1100px) { .shared-site-header .container-shell, .shared-site-footer .container-shell { width: min(calc(100% - 32px), 1320px); } .shared-menu-toggle { display: inline-grid; margin-inline-start: auto; } .shared-main-nav { position: fixed; z-index: 9499; top: var(--shared-header-height); inset-inline: 0; display: grid; gap: 18px; max-height: calc(100vh - var(--shared-header-height)); padding: 20px max(16px, calc((100vw - 1320px) / 2)); overflow-y: auto; border-bottom: 1px solid rgba(105, 185, 226, .2); background: rgba(3, 14, 31, .985); box-shadow: 0 22px 45px rgba(0, 0, 0, .28); opacity: 0; pointer-events: none; transform: translateY(-12px); transition: opacity .2s ease, transform .2s ease; } .shared-main-nav.is-open { opacity: 1; pointer-events: auto; transform: none; } .shared-site-header .shared-nav-list { display: grid; justify-content: stretch; gap: 2px; } .shared-site-header .shared-nav-list .nav-link { min-height: 44px; padding: 13px 8px; font-size: .9rem; border-bottom: 1px solid rgba(130, 179, 211, .12); } .shared-site-header .shared-nav-list .nav-link::after { display: none; } .shared-header-tools { justify-content: stretch; } .shared-site-header .language-switch { width: 46px; } .shared-header-cta { flex: 1; } .shared-site-footer .footer-cta { grid-template-columns: 1fr; text-align: center; } .shared-site-footer .footer-cta-actions { justify-content: center; } .shared-site-footer .footer-main { grid-template-columns: repeat(2, 1fr); } .shared-site-footer .footer-bottom { grid-template-columns: 1fr; text-align: center; } .shared-site-footer .footer-domain { justify-self: center; } }
@media (max-width: 1100px) {
  .shared-site-header .shared-nav-list .nav-link.is-active,
  .shared-site-header .shared-nav-list .nav-link[aria-current='page'] {
    border-bottom-color: transparent;
    background: linear-gradient(90deg, rgba(72, 221, 248, .08), rgba(151, 125, 255, .08));
  }
  .shared-site-header .shared-nav-list .nav-link.is-active::after,
  .shared-site-header .shared-nav-list .nav-link[aria-current='page']::after {
    right: 8px;
    bottom: 2px;
    left: 8px;
    display: block;
  }
}

/* On phones and small tablets, hero artwork gets its own natural-ratio row.
   This prevents wide desktop artwork from being cropped inside a tall cover box. */
@media (max-width: 820px) {
  body[data-shared-shell] main > :is(.about-hero, .academy-hero, .agent-hero, .ai-hero, .bo-hero, .capability-hero, .consult-hero, .decision-hero, .departments-hero, .dx-hero, .flow-hero, .forge-hero, .insights-hero, .intel-hero, .kh-hero, .lab-hero, .projects-hero, .services-hero),
  body[data-shared-shell] main > article > .kh-hero {
    min-height: 0 !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    align-items: start !important;
    padding: var(--shared-header-height) 0 clamp(24px, 5vw, 34px) !important;
  }

  body[data-shared-shell] main > :is(.about-hero, .academy-hero, .agent-hero, .ai-hero, .bo-hero, .capability-hero, .consult-hero, .decision-hero, .departments-hero, .dx-hero, .flow-hero, .forge-hero, .insights-hero, .intel-hero, .kh-hero, .lab-hero, .projects-hero, .services-hero) > :is(.hero-media, .academy-hero-media, .agent-hero-media, .ai-hero-media, .bo-hero-media, .capability-hero-media, .consult-hero-media, .decision-hero-media, .departments-hero-media, .dx-hero-media, .flow-hero-media, .forge-hero-media, .insights-hero-media, .intel-hero-media, .kh-hero-media, .lab-hero-media, .projects-hero-media, .services-hero-media),
  body[data-shared-shell] main > article > .kh-hero > .kh-hero-media {
    position: relative !important;
    inset: auto !important;
    z-index: 0 !important;
    width: 100% !important;
    height: clamp(170px, 35vw, 290px) !important;
    min-height: 0 !important;
    aspect-ratio: auto;
    overflow: hidden;
    background: #020817;
  }

  body[data-shared-shell] main > :is(.about-hero, .academy-hero, .agent-hero, .ai-hero, .bo-hero, .capability-hero, .consult-hero, .decision-hero, .departments-hero, .dx-hero, .flow-hero, .forge-hero, .insights-hero, .intel-hero, .kh-hero, .lab-hero, .projects-hero, .services-hero) > :is(.hero-media, .academy-hero-media, .agent-hero-media, .ai-hero-media, .bo-hero-media, .capability-hero-media, .consult-hero-media, .decision-hero-media, .departments-hero-media, .dx-hero-media, .flow-hero-media, .forge-hero-media, .insights-hero-media, .intel-hero-media, .kh-hero-media, .lab-hero-media, .projects-hero-media, .services-hero-media) img,
  body[data-shared-shell] main > article > .kh-hero > .kh-hero-media img {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    min-height: 0 !important;
    object-fit: contain !important;
    object-position: center !important;
    transform: none !important;
    opacity: 1 !important;
  }

  body[data-shared-shell] main > :is(.about-hero, .academy-hero, .agent-hero, .ai-hero, .bo-hero, .capability-hero, .consult-hero, .decision-hero, .departments-hero, .dx-hero, .flow-hero, .forge-hero, .insights-hero, .intel-hero, .kh-hero, .lab-hero, .projects-hero, .services-hero) > [class*='hero-media']::before,
  body[data-shared-shell] main > :is(.about-hero, .academy-hero, .agent-hero, .ai-hero, .bo-hero, .capability-hero, .consult-hero, .decision-hero, .departments-hero, .dx-hero, .flow-hero, .forge-hero, .insights-hero, .intel-hero, .kh-hero, .lab-hero, .projects-hero, .services-hero) > [class*='hero-media']::after,
  body[data-shared-shell] main > article > .kh-hero > .kh-hero-media::before,
  body[data-shared-shell] main > article > .kh-hero > .kh-hero-media::after {
    opacity: .2 !important;
  }

  body[data-shared-shell] main > :is(.about-hero, .academy-hero, .agent-hero, .ai-hero, .bo-hero, .capability-hero, .consult-hero, .decision-hero, .departments-hero, .dx-hero, .flow-hero, .forge-hero, .insights-hero, .intel-hero, .kh-hero, .lab-hero, .projects-hero, .services-hero) > :is(.container, .kh-container),
  body[data-shared-shell] main > article > .kh-hero > .kh-container {
    position: relative;
    z-index: 2;
    min-height: 0 !important;
    grid-template-columns: minmax(0, 1fr) !important;
    padding-top: clamp(14px, 3vw, 20px) !important;
    padding-bottom: 0 !important;
  }

  body[data-shared-shell] main > :is(.about-hero, .academy-hero, .agent-hero, .ai-hero, .bo-hero, .capability-hero, .consult-hero, .decision-hero, .departments-hero, .dx-hero, .flow-hero, .forge-hero, .insights-hero, .intel-hero, .kh-hero, .lab-hero, .projects-hero, .services-hero) :is(.hero-copy, .kh-hero-copy, [class$='-hero-copy']),
  body[data-shared-shell] main > article > .kh-hero .kh-hero-copy {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
  }

  body[data-shared-shell] main :is(.kh-hero-meta, .lab-hero-proof, .consult-hero-proof, .projects-hero-index, .talent-hero-index, .insights-hero-index, .academy-value-chain, .hero-value-chain, .services-signal-row, [class$='-hero-signals'], [class$='-hero-tags'], [class$='-hero-notes']) {
    display: none !important;
  }

  body[data-shared-shell] main > :is(section, header):first-child h1,
  body[data-shared-shell] main > article:first-child > header:first-child h1 {
    font-size: clamp(2.15rem, 6vw, 3.2rem) !important;
  }

  body[data-shared-shell] main :is(.section, .kh-section) { padding-block: clamp(32px, 5vw, 42px) !important; }
  body[data-shared-shell] main :is(.section-heading, .kh-section-head, [class$='-section-head']) { margin-bottom: 24px !important; }
  body[data-shared-shell] main :is(.about-cta, .showcase-section) { padding-block: 36px !important; }
  body[data-shared-shell] main :is(button, .button, .btn, .kh-button, input:not([type='checkbox']):not([type='radio']), select) { min-height: 44px; }
  body[data-shared-shell] main :is(.project-open, .bookmark-button) { min-width: 44px; }

  body[data-shared-shell] main > :is(.case-hero, .people-hero, .trust-hero, .rd-hero, .partnership-hero, .careers-hero, .talent-hero, .dossier-hero) {
    min-height: 0 !important;
    padding-block: calc(var(--shared-header-height) + 24px) 34px !important;
  }
  body[data-shared-shell] main > :is(.case-hero, .people-hero, .trust-hero, .rd-hero, .partnership-hero, .careers-hero, .talent-hero, .dossier-hero) > :is(.container, .kh-container) {
    min-height: 0 !important;
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 30px !important;
  }
  body[data-shared-shell] main :is(.case-hero-visual, .people-hero-visual, .trust-hero-visual, .rd-hero-visual, .partnership-hero-visual, .careers-hero-visual, .talent-hero-visual, .dossier-hero-visual) {
    width: 100% !important;
    max-width: 700px !important;
    margin-inline: auto !important;
  }
  body[data-shared-shell] main :is(.case-hero-frame, .people-hero-frame, .trust-hero-frame, .rd-hero-frame, .partnership-hero-frame, .careers-hero-frame, .talent-hero-frame) img {
    display: block !important;
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    object-fit: contain !important;
    object-position: center !important;
    transform: none !important;
  }
  body[data-shared-shell] main .dossier-portrait-frame { width: min(42vw, 260px) !important; margin-inline: auto !important; }
  body[data-shared-shell] main .dossier-portrait-frame img { display: block !important; width: 100% !important; height: auto !important; min-height: 0 !important; object-fit: contain !important; object-position: center !important; transform: none !important; }
  body[data-shared-shell] main :is(.case-snapshot, .people-index, .trust-index, .rd-spec-strip, .partnership-index, .careers-index, .dossier-index) { display: none !important; }
  body[data-shared-shell] main :is(.case-hero-orbit, .people-hero-badge, .trust-hero-seal, .rd-clearance, .partnership-hero-seal, .partnership-live, .careers-orbit, .careers-hero-status, .dossier-monogram, .dossier-status-stamp) { display: none !important; }
}
@media (max-width: 620px) { :root { --shared-header-height: 68px; } body[data-shared-shell] main > .hero-section { padding-top: calc(var(--shared-header-height) + 6px); } .site-header.shared-site-header, .shared-site-header .shared-navbar, .shared-header-inner { min-height: var(--shared-header-height); } .shared-main-nav { top: var(--shared-header-height); max-height: calc(100vh - var(--shared-header-height)); } .shared-site-header .shared-brand img { width: 45px; } .shared-site-header .brand-copy small { font-size: .53rem; } .shared-site-header .brand-copy strong { max-width: 162px; font-size: .61rem; } .shared-site-footer .container-shell { width: min(calc(100% - 30px), 1320px); } .shared-site-footer .footer-cta { margin-top: 14px; padding: 20px 15px; } .shared-site-footer .footer-cta h2 { font-size: 1.28rem; } .shared-site-footer .footer-cta-actions { display: grid; grid-template-columns: 1fr 1fr; width: 100%; } .shared-site-footer .footer-cta-actions .btn { min-width: 0; padding-inline: 7px; font-size: .62rem; } .shared-site-footer .footer-main { grid-template-columns: 1fr; gap: 24px; padding: 28px 0 22px; } .shared-site-footer .footer-about { max-width: none; text-align: center; } .shared-site-footer .footer-brand, .shared-site-footer .footer-socials { justify-content: center; } .shared-site-footer .footer-socials span { max-width: 70px; opacity: 1; } .shared-site-footer .footer-column { align-items: center; text-align: center; } .shared-site-footer .footer-column h3::after { right: 50%; transform: translateX(50%); } .shared-site-footer .footer-column > a:not(.footer-domain)::before { display: none; } .shared-site-footer .footer-contact > p { max-width: 310px; text-align: center; } }
@media (max-width: 620px) {
  html { scroll-padding-top: calc(var(--shared-header-height) + 12px); }
  body[data-shared-shell] main [id] { scroll-margin-top: calc(var(--shared-header-height) + 12px); }
  .shared-site-header .shared-brand { min-height: 44px; }
  .shared-site-header .brand-copy small { font-size: .58rem; }
  .shared-site-header .brand-copy strong { font-size: .68rem; }
  .shared-site-footer .footer-cta-actions .btn { font-size: .7rem; }
  body[data-shared-shell] main :is(.section, .kh-section) { padding-block: clamp(24px, 7vw, 32px) !important; }
  body[data-shared-shell] main :is(.section-heading, .kh-section-head, [class$='-section-head']) { margin-bottom: 18px !important; }
  body[data-shared-shell] main :is(.about-cta, .showcase-section) { padding-block: 28px !important; }
  body[data-shared-shell] main section:not([class*='hero']) p { font-size: .86rem !important; line-height: 1.85 !important; }
  body[data-shared-shell] main section:not([class*='hero']) li { font-size: .83rem; line-height: 1.75; }
  body[data-shared-shell] main :is(button, .button, .btn, .kh-button, input:not([type='checkbox']):not([type='radio']), select) { min-height: 44px; }
  body[data-shared-shell] main :is(.project-open, .bookmark-button) { min-width: 44px; }
  body[data-shared-shell] main :is(.kh-eyebrow, .kh-kicker, .section-kicker, .hero-kicker, .kh-hero-meta, .lab-hero-proof, .consult-hero-proof, .projects-hero-index, .talent-hero-index, .insights-hero-index, [class$='-hero-signals'], [class$='-hero-tags'], [class$='-hero-notes']) { display: none !important; }
  body[data-shared-shell] main > :is(section, header):first-child :is(.breadcrumbs, .kh-breadcrumbs, [class$='-signature'], [class$='-status-badge']),
  body[data-shared-shell] main > article:first-child > header:first-child :is(.kh-breadcrumbs, .kh-eyebrow) { display: none !important; }
  body[data-shared-shell] main > :is(section, header):first-child h1,
  body[data-shared-shell] main > article:first-child > header:first-child h1 { margin-top: 0 !important; font-size: clamp(1.9rem, 8.5vw, 2.55rem) !important; line-height: 1.18 !important; }
  body[data-shared-shell] main > :is(.about-hero, .academy-hero, .agent-hero, .ai-hero, .bo-hero, .capability-hero, .consult-hero, .decision-hero, .departments-hero, .dx-hero, .flow-hero, .forge-hero, .insights-hero, .intel-hero, .kh-hero, .lab-hero, .projects-hero, .services-hero) > [class*='hero-media'],
  body[data-shared-shell] main > article > .kh-hero > .kh-hero-media { height: clamp(145px, 44vw, 175px) !important; }
  body[data-shared-shell] main > :is(.about-hero, .academy-hero, .agent-hero, .ai-hero, .bo-hero, .capability-hero, .consult-hero, .decision-hero, .departments-hero, .dx-hero, .flow-hero, .forge-hero, .insights-hero, .intel-hero, .kh-hero, .lab-hero, .projects-hero, .services-hero),
  body[data-shared-shell] main > article > .kh-hero {
    display: block !important;
    min-height: 0 !important;
    height: auto !important;
    padding: var(--shared-header-height) 0 24px !important;
  }
  body[data-shared-shell] main > :is(.about-hero, .academy-hero, .agent-hero, .ai-hero, .bo-hero, .capability-hero, .consult-hero, .decision-hero, .departments-hero, .dx-hero, .flow-hero, .forge-hero, .insights-hero, .intel-hero, .kh-hero, .lab-hero, .projects-hero, .services-hero) > [class*='hero-media'],
  body[data-shared-shell] main > article > .kh-hero > .kh-hero-media {
    position: relative !important;
    inset: auto !important;
    width: 100% !important;
  }
  body[data-shared-shell] main > :is(.about-hero, .academy-hero, .agent-hero, .ai-hero, .bo-hero, .capability-hero, .consult-hero, .decision-hero, .departments-hero, .dx-hero, .flow-hero, .forge-hero, .insights-hero, .intel-hero, .kh-hero, .lab-hero, .projects-hero, .services-hero) > :is(.container, .kh-container),
  body[data-shared-shell] main > article > .kh-hero > .kh-container {
    min-height: 0 !important;
    margin-top: 0 !important;
    padding-top: 10px !important;
  }
  body[data-shared-shell] main > :is(.about-hero, .academy-hero, .agent-hero, .ai-hero, .bo-hero, .capability-hero, .consult-hero, .decision-hero, .departments-hero, .dx-hero, .flow-hero, .forge-hero, .insights-hero, .intel-hero, .kh-hero, .lab-hero, .projects-hero, .services-hero) :is(.hero-copy, .kh-hero-copy, [class*='-hero-copy']),
  body[data-shared-shell] main > article > .kh-hero .kh-hero-copy {
    min-height: 0 !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
  }
  body[data-shared-shell] main > :is(.case-hero, .people-hero, .trust-hero, .rd-hero, .partnership-hero, .careers-hero, .talent-hero, .dossier-hero) {
    min-height: 0 !important;
    padding-block: calc(var(--shared-header-height) + 16px) 22px !important;
  }
  body[data-shared-shell] main > :is(.case-hero, .people-hero, .trust-hero, .rd-hero, .partnership-hero, .careers-hero, .talent-hero, .dossier-hero) > :is(.container, .kh-container) {
    min-height: 0 !important;
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 18px !important;
  }
  body[data-shared-shell] main :is(.case-hero-visual, .people-hero-visual, .trust-hero-visual, .rd-hero-visual, .partnership-hero-visual, .careers-hero-visual, .talent-hero-visual, .dossier-hero-visual) {
    width: 100% !important;
    max-width: 100% !important;
    margin-inline: auto !important;
  }
  body[data-shared-shell] main :is(.case-hero-frame, .people-hero-frame, .trust-hero-frame, .rd-hero-frame, .partnership-hero-frame, .careers-hero-frame, .talent-hero-frame) img {
    display: block !important;
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    object-fit: contain !important;
    object-position: center !important;
    transform: none !important;
  }
  body[data-shared-shell] main .dossier-portrait-frame { width: min(60vw, 220px) !important; margin-inline: auto !important; }
  body[data-shared-shell] main .dossier-portrait-frame img { display: block !important; width: 100% !important; height: auto !important; min-height: 0 !important; object-fit: contain !important; object-position: center !important; transform: none !important; }
  body[data-shared-shell] main .dossier-identity-state,
  body[data-shared-shell] main .dossier-hero-actions .button-ghost { display: none !important; }
  body[data-shared-shell] main > .system-main { min-height: 0 !important; padding-block: calc(var(--shared-header-height) + 14px) 24px; }
  body[data-shared-shell] main > .system-main .system-card { padding: 24px 18px !important; }
  body[data-shared-shell] main > .system-main .system-icon { width: 64px; height: 64px; margin-bottom: 16px; border-radius: 20px; }
  body[data-shared-shell] main > .system-main .system-icon svg { width: 30px; height: 30px; }

  /* Mobile content must be fully visible without nested horizontal scrolling. */
  body[data-shared-shell] main > nav[class$='-rail'],
  body[data-shared-shell] main > nav[class*='-rail '] { display: none !important; }

  body[data-shared-shell] main :is(.need-tabs, .path-tabs, .agent-type-tabs, .flow-tabs, .capability-tabs, .lab-tablist, .dx-product-tabs, .intel-tabs) {
    width: 100% !important;
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 8px !important;
    padding: 10px !important;
    overflow: visible !important;
    white-space: normal !important;
    scroll-snap-type: none !important;
  }
  body[data-shared-shell] main :is(.need-tabs, .path-tabs, .agent-type-tabs, .flow-tabs, .capability-tabs, .lab-tablist, .dx-product-tabs, .intel-tabs) > * {
    width: auto !important;
    min-width: 0 !important;
    max-width: 100% !important;
    margin: 0 !important;
    white-space: normal !important;
  }
  body[data-shared-shell] main :is(.need-tabs, .path-tabs, .agent-type-tabs, .flow-tabs, .capability-tabs, .lab-tablist, .dx-product-tabs, .intel-tabs) > :last-child:nth-child(odd) { grid-column: 1 / -1; }

  body[data-shared-shell] main :is(.services-filters, .careers-opening-filters, .trust-filterbar, .insight-filterbar, .dossier-evidence-filters, .project-filter-bar, .people-filterbar, .rd-skill-filters, .faq-category, .filter-bar) {
    width: 100% !important;
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 8px !important;
    margin-inline: 0 !important;
    padding-inline: 0 !important;
    overflow: visible !important;
    white-space: normal !important;
  }
  body[data-shared-shell] main :is(.services-filters, .careers-opening-filters, .trust-filterbar, .insight-filterbar, .dossier-evidence-filters, .project-filter-bar, .people-filterbar, .rd-skill-filters, .faq-category, .filter-bar) > :is(button, a) {
    flex: 1 1 calc(50% - 8px) !important;
    width: auto !important;
    min-width: 0 !important;
    max-width: 100% !important;
    white-space: normal !important;
  }

  body[data-shared-shell] main .article-toc {
    width: 100% !important;
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 7px !important;
    overflow: visible !important;
    white-space: normal !important;
  }
  body[data-shared-shell] main .article-toc > strong { grid-column: 1 / -1; }
  body[data-shared-shell] main .article-toc a { min-width: 0; margin: 0 !important; padding: 9px !important; white-space: normal !important; }

  body[data-shared-shell] main .cookie-table {
    width: 100% !important;
    max-width: 100% !important;
    display: table !important;
    table-layout: fixed;
    overflow: visible !important;
    font-size: .66rem !important;
  }
  body[data-shared-shell] main .cookie-table :is(th, td) { min-width: 0 !important; padding: 7px 5px !important; overflow-wrap: anywhere; word-break: break-word; }

  body[data-shared-shell] main section:not([class*='hero']) img {
    max-width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    object-fit: contain !important;
    object-position: center !important;
    transform: none !important;
  }
  body[data-shared-shell] main section:not([class*='hero']) figure img {
    width: 100% !important;
    height: 100% !important;
    object-fit: contain !important;
  }
  body[data-shared-shell] main :is(.orchestration-media, .category-feature figure, .article-figure, [class$='-visual']) { max-width: 100% !important; }
  body[data-shared-shell] main .orchestration-media img { width: 100% !important; aspect-ratio: auto !important; }
  body[data-shared-shell] main :is(.solution-navigator, .need-shell, .dx-studio, .orchestration-media) { overflow: visible !important; }
  body[data-shared-shell] main .orchestration-media > img { border-radius: 20px 20px 0 0; }
  .world-network {
    width: min(78%, 280px) !important;
    left: 0 !important;
    right: auto !important;
    bottom: 0 !important;
    transform: none !important;
  }
  .hero-section .hero-visual img {
    width: calc(100% - 8px) !important;
    max-width: 100% !important;
    height: auto !important;
    object-fit: contain !important;
  }
  body[data-shared-shell] main :is(.case-snapshot, .people-index, .trust-index, .rd-spec-strip, .partnership-index, .careers-index, .dossier-index) { display: none !important; }
  body[data-shared-shell] main :is(.case-hero-orbit, .people-hero-badge, .trust-hero-seal, .rd-clearance, .partnership-hero-seal, .partnership-live, .careers-orbit, .careers-hero-status, .dossier-monogram, .dossier-status-stamp) { display: none !important; }
  body[data-shared-shell] main :is(.breadcrumbs, .kh-breadcrumbs) { margin-bottom: 14px !important; }
  body[data-shared-shell] main :is([class$='-hero-actions'], .hero-actions, .kh-hero-actions) { margin-top: 20px !important; }
  .shared-site-footer .footer-column > a { min-height: 36px; display: inline-flex; align-items: center; }
}
@media (prefers-reduced-motion: reduce) { .shared-skip-link, .site-header.shared-site-header, .shared-main-nav, .shared-site-footer * { transition-duration: .01ms !important; } }
