/* Approved corporate layout. Shared V1 components and their palettes remain authoritative. */
/* Company includes its directory, case studies and contact; other hubs stay independent. */
.cv-home-v2.cv-hub--company { --cv-purple: #245579; --cv-hub-image-filter: grayscale(1) sepia(.35) hue-rotate(155deg) saturate(1.3); }
.cv-home-v2.cv-hub--company, .cv-hub--company :is(.cv-section--tech, .cv-section--contact) { --cv-section-icon-bg: #edf6fc; --cv-section-icon-border: #bfdced; --cv-section-icon-color: #245579; }
.cv-hub--company .cv-v1-tags > :is(span, li) { background: var(--cv-section-icon-bg); border-color: var(--cv-section-icon-border); color: var(--cv-section-icon-color); }
.cv-hub--company .cv-inquiry-image img { filter: var(--cv-hub-image-filter); }
/* Case covers and capability badges share the Company blue family. */
.cv-home-v2 #work { --cv-purple: #245579; }
.cv-home-v2 #work .cv-case-image { filter: grayscale(1) sepia(.35) hue-rotate(155deg) saturate(1.3); }
.cv-home-v2 .cv-section--recognition .cv-case-skills > span, .cv-home-v2.cv-hub--company .cv-case-skills > span { order: 4; background: #e6f4ff; color: #16456b; border-color: #a4cce8; }
.cv-home-v2 .cv-section--recognition .cv-case-skills > :is(.cv-case-skill--elastic-scaling, .cv-case-skill--identity-federation, .cv-case-skill--platform-architecture, .cv-case-skill--commerce-integration, .cv-case-skill--api-integration, .cv-case-skill--hl7-integration, .cv-case-skill--data-integration, .cv-case-skill--billing-integration, .cv-case-skill--multi-brand-platforms, .cv-case-skill--access-control), .cv-home-v2.cv-hub--company .cv-case-skills > :is(.cv-case-skill--elastic-scaling, .cv-case-skill--identity-federation, .cv-case-skill--platform-architecture, .cv-case-skill--commerce-integration, .cv-case-skill--api-integration, .cv-case-skill--hl7-integration, .cv-case-skill--data-integration, .cv-case-skill--billing-integration, .cv-case-skill--multi-brand-platforms, .cv-case-skill--access-control) { order: 3; background: #dcf1fa; color: #154b69; border-color: #a0cfdf; }
.cv-home-v2 .cv-section--recognition .cv-case-skills > :is(.cv-case-skill--observability, .cv-case-skill--data-encryption, .cv-case-skill--totalcommerce, .cv-case-skill--product-launch, .cv-case-skill--audit-logging, .cv-case-skill--incident-management, .cv-case-skill--reporting-automation, .cv-case-skill--software-reliability, .cv-case-skill--backend-automation, .cv-case-skill--workflow-automation, .cv-case-skill--mobile-app-development), .cv-home-v2.cv-hub--company .cv-case-skills > :is(.cv-case-skill--observability, .cv-case-skill--data-encryption, .cv-case-skill--totalcommerce, .cv-case-skill--product-launch, .cv-case-skill--audit-logging, .cv-case-skill--incident-management, .cv-case-skill--reporting-automation, .cv-case-skill--software-reliability, .cv-case-skill--backend-automation, .cv-case-skill--workflow-automation, .cv-case-skill--mobile-app-development) { order: 1; background: #d5e6f5; color: #153c5a; border-color: #a2bed8; }
.cv-home-v2 .cv-section--recognition .cv-case-skills > :is(.cv-case-skill--virtual-cto, .cv-case-skill--technology-strategy, .cv-case-skill--technology-roadmap, .cv-case-skill--security-architecture, .cv-case-skill--technology-consulting, .cv-case-skill--digital-advisory, .cv-case-skill--smartsaas), .cv-home-v2.cv-hub--company .cv-case-skills > :is(.cv-case-skill--virtual-cto, .cv-case-skill--technology-strategy, .cv-case-skill--technology-roadmap, .cv-case-skill--security-architecture, .cv-case-skill--technology-consulting, .cv-case-skill--digital-advisory, .cv-case-skill--smartsaas) { order: 2; background: #e3ebfa; color: #264b73; border-color: #b1c5e4; }
/* Editorial heroes reveal the page canvas; media-led Home heroes remain untouched. */
.cv-home-v2 :is(.cv-company-hero, .cv-case-hero),
.cv-home-v2:is(.cv-contact-page, .cv-submitted-page) > .cv-section { background: transparent; }
/* Separate content with spacing, not ornamental rules. Keep framed controls and cards. */
.cv-home-v2 .cv-v1-service-badges--purple { display: flex; flex-wrap: wrap; gap: 6px; }
.cv-home-v2 .cv-v1-tags.cv-v1-service-badges--purple > li { flex: 0 1 auto; background: var(--cv-section-icon-bg, #f5f3fa); border-color: var(--cv-section-icon-border, #ded8ed); color: var(--cv-section-icon-color, #221259); }
/* One aligned header: icon beside the title/badges stack, control at the edge. */
/* Badge color follows section meaning, never item position. */
.cv-home-v2 .cv-v1-icon-badges { display: flex; flex-wrap: wrap; gap: 6px; margin: 0; padding: 0; list-style: none; }
.cv-home-v2 .cv-v1-icon-badges > li { display: inline-flex; align-items: center; gap: 4px; flex: 0 1 auto; min-width: 0; max-width: 100%; text-align: left; }
.cv-home-v2 .cv-v1-icon-badges > li > svg { flex: 0 0 12px; width: 12px; height: 12px; stroke-width: 1.5; }
.cv-home-v2 .cv-v1-icon-badges > li > span { min-width: 0; }
/* Consulting badge tones follow their focus-area icon, never their position. */
.cv-home-v2 #expertise.cv-section--tech .cv-v1-icon-badges > li { order: 4; background: #f2edfb; color: #493568; border-color: #d4c5e8; }
.cv-home-v2 #expertise.cv-section--tech .cv-v1-icon-badges > li:has(> :is(.lucide-layers, .lucide-database)) { order: 1; background: #e7def5; color: #443261; border-color: #c7b4df; }
.cv-home-v2 #expertise.cv-section--tech .cv-v1-icon-badges > li:has(> :is(.lucide-network, .lucide-shield-check)) { order: 3; background: #ede4f7; color: #513568; border-color: #d2bde5; }
.cv-home-v2 #expertise.cv-section--tech .cv-v1-icon-badges > li:has(> :is(.lucide-workflow, .lucide-activity)) { order: 2; background: #e3e0f5; color: #3d3867; border-color: #bdb8dc; }
.cv-home-v2 .cv-v1-service--open > .cv-v1-card-heading + .cv-v1-icon-badges { margin-top: -8px; }
.cv-home-v2 .cv-v1-service-summary:has(> .cv-v1-service-badges) { grid-template-columns: var(--cv-content-icon) minmax(0, 1fr) var(--cv-disclosure-size); align-items: center; gap: 4px 12px; }
.cv-home-v2 .cv-v1-service-summary:has(> .cv-v1-service-badges) > .cv-v1-card-heading { display: contents; }
.cv-home-v2 .cv-v1-service-summary:has(> .cv-v1-service-badges) > .cv-v1-card-heading > svg { grid-column: 1; grid-row: 1 / 3; align-self: center; }
.cv-home-v2 .cv-v1-service-summary:has(> .cv-v1-service-badges) > .cv-v1-card-heading > h3 { grid-column: 2; grid-row: 1; align-self: end; margin: 0; }
.cv-home-v2 .cv-v1-service-summary > .cv-v1-service-badges { grid-column: 2; grid-row: 2; align-self: start; margin: 0; padding: 0; }
.cv-home-v2 .cv-v1-service-summary:has(> .cv-v1-service-badges) > .cv-v1-chevron { grid-column: 3; grid-row: 1 / 3; align-self: center; margin: 0; }
/* Full-width disclosure rows use Details; column cards reuse .cv-v1-chevron. */
.cv-home-v2 :is(.cv-v1-chevron, .cv-case-toggle) { color: var(--cv-purple); }
.cv-home-v2 .cv-disclosure-row-toggle { color: var(--cv-content-title-color); }
.cv-home-v2 .cv-disclosure-row-toggle { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 32px; padding: 4px 8px; border: 1px solid #6c757d; border-radius: 4px; background: transparent; font-family: inherit; font-size: 14px; font-weight: 400; line-height: 1.5; letter-spacing: 0; white-space: nowrap; }
.cv-home-v2 .cv-disclosure-row-toggle svg { width: var(--cv-disclosure-icon); height: var(--cv-disclosure-icon); flex-shrink: 0; transition: transform .2s; }
.cv-home-v2 .cv-disclosure-row .cv-v1-service-summary { grid-template-columns: minmax(0, 1fr) auto; align-items: center; min-height: 44px; }
.cv-home-v2 .cv-disclosure-row .cv-v1-service-body { padding-top: var(--cv-disclosure-body-gap); padding-inline-start: calc(var(--cv-content-icon) + 12px); }
.cv-home-v2 .cv-disclosure-row .cv-v1-service-body > p { margin: 0; }
.cv-home-v2 .cv-disclosure-row .cv-v1-service-body > p + p { margin-top: 12px; }
.cv-home-v2 .cv-disclosure-row details[open] .cv-disclosure-row-toggle svg { transform: rotate(180deg); }
.cv-home-v2 .cv-cro-method-steps--rows { grid-template-columns: minmax(0, 1fr); }
body:has(> .cv-home-v2) > .cv-header,
body:has(> .cv-home-v2) .cv-mobile-nav nav { border-bottom: 0; }
body:has(> .cv-home-v2) > .cv-header { box-shadow: 0 5px 12px -6px rgb(24 13 64 / 14%); }
.cv-home-v2 :is(.cv-hero-directory-heading, .cv-evidence, .cv-tab-list, .cv-detail-list li, .cv-conversation-list li) { border-bottom: 0; }
.cv-home-v2 :is(.cv-blueprint-heading, .cv-feedback, .cv-use-cases article, .cv-section-bottom, .cv-capability-list > a, .cv-industry-grid > a, .cv-reading-list a, .cv-faq-band, .cv-contact, .cv-deliverables, .cv-rapid-panel dl) { border-top: 0; }
.cv-home-v2 .cv-blueprint-heading { border-bottom: 0; }
.cv-home-v2 .cv-tabs:not([data-enhanced]) [data-panel] + [data-panel] { border-top: 0; }
.cv-home-v2 .cv-use-cases article + article { border-top: 0; }
.cv-home-v2 :is(.cv-page-index, .cv-rapid-band, .cv-industry-band, .cv-resource-band) { border-block: 0; }
.cv-home-v2 .cv-evidence > * + * { border-left: 0; }
.cv-home-v2 hr { display: none; }
body:has(> .cv-home-v2) { --cv-header-height: 60.9px; --cv-header-inset: 75px; }
/* The borderless header must match the height subtracted by the hero. */
body:has(> .cv-home-v2) .cv-header-inner { width: auto; margin-left: var(--cv-header-inset); margin-right: var(--cv-header-inset); height: var(--cv-header-height); }
body:has(> .cv-home-v2) .cv-button {
    background: #180d40;
    border-color: #180d40;
    color: #fff;
}
body:has(> .cv-home-v2) .cv-button:is(:hover, :focus-visible) {
    background: rgba(199, 182, 238, .45);
    border-color: transparent;
    color: var(--cv-purple);
    font-weight: 700;
    transform: none;
}
body:has(> .cv-home-v2) .cv-header .cv-button {
    gap: 8px;
    border-radius: 6px;
    background: var(--cv-glass-surface);
    border-color: #dee2e6;
    color: var(--cv-content-title-color);
    font-weight: 700;
    transform: none;
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    box-shadow: inset 0 1px 0 #ffffff30, 0 4px 12px #22125914;
}
.cv-header-cta-dot {
    --cv-dot-color: #7353b5;
    --cv-dot-peak: #a184d6;
    --cv-dot-rgb: 115 83 181;
    display: inline-block;
    flex: 0 0 10px;
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background: var(--cv-dot-color);
    animation: cv-header-dot-breathe 1.6s ease-in-out infinite;
}
html.cv-motion-off .cv-header-cta-dot { animation: none; }
@keyframes cv-header-dot-breathe {
    0%, 100% { transform: scale(1); background-color: var(--cv-dot-color); box-shadow: 0 0 0 0 rgb(var(--cv-dot-rgb) / 0%); }
    50% { transform: scale(1.25); background-color: var(--cv-dot-peak); box-shadow: 0 0 0 3px rgb(var(--cv-dot-rgb) / 18%); }
}
.cv-header .cv-button:is(:hover, :focus-visible) .cv-header-cta-dot {
    --cv-dot-color: #fff;
    --cv-dot-peak: #fff;
    --cv-dot-rgb: 255 255 255;
}
@media (prefers-reduced-motion: reduce) {
    .cv-header-cta-dot { animation: none; }
}
body:has(> .cv-home-v2) .cv-header .cv-button:is(:hover, :focus-visible) {
    background: rgba(24, 13, 64, .6);
    border-color: rgba(255, 255, 255, .28);
    color: #fff;
    font-weight: 700;
    transform: scale(1.02);
}
body:has(> .cv-home-v2) .cv-header .cv-button:focus-visible {
    outline: 2px solid var(--cv-purple);
    outline-offset: 3px;
}
@media (prefers-reduced-transparency: reduce) {
    body:has(> .cv-home-v2) .cv-header .cv-button { background: #fff; backdrop-filter: none; -webkit-backdrop-filter: none; }
    body:has(> .cv-home-v2) .cv-header .cv-button:is(:hover, :focus-visible) { background: #180d40; }
}
@media (prefers-reduced-motion: reduce) {
    body:has(> .cv-home-v2) .cv-header .cv-button:is(:hover, :focus-visible) { transform: none; }
}
@media (max-width: 980px) {
    body:has(> .cv-home-v2) { --cv-header-height: 53.9px; --cv-header-inset: 40px; }
    body:has(> .cv-home-v2) .cv-mobile-nav nav {
        top: var(--cv-header-height);
        max-height: calc(100dvh - var(--cv-header-height));
    }
}
@media (max-width: 700px) {
    body:has(> .cv-home-v2) { --cv-header-height: 48.3px; }
}
/* Shared corporate navigation: native disclosures, one panel surface, no nested cards. */
.cv-desktop-nav:has(.cv-nav-group) { gap: 26px; }
.cv-header-inner:has(.cv-nav-group) { position: relative; }
.cv-nav-group > summary { display: flex; align-items: center; gap: 6px; min-height: var(--cv-header-height); padding: 0; list-style: none; cursor: pointer; white-space: nowrap; font-weight: 600; }
.cv-nav-group > summary::-webkit-details-marker { display: none; }
.cv-nav-group > summary > svg { width: 8.4px; height: 8.4px; flex: 0 0 8.4px; stroke: currentColor; stroke-width: .5; stroke-linejoin: round; }
.cv-nav-group[open] > summary { color: var(--cv-content-title-color); }
.cv-nav-group[open] > summary > svg { transform: rotate(180deg); }
.cv-nav-panel { position: absolute; top: calc(100% + 6px); right: 0; width: min(720px, calc(100vw - 40px)); max-height: calc(100dvh - var(--cv-header-height) - 30px); overflow-y: auto; overscroll-behavior: contain; padding: var(--cv-card-padding); border: 1px solid #dee2e6; border-radius: 16px; background: #fff; box-shadow: 0 2px 4px #00000013; }
/* Keep the 6px visual gap traversable without closing the hover disclosure. */
@media (min-width: 981px) {
    .cv-nav-panel, .cv-nav-group[open]::after { left: var(--cv-nav-panel-left, auto); }
    .cv-nav-group[open]::after { content: ""; position: absolute; top: 100%; right: 0; width: min(720px, calc(100vw - 40px)); height: 6px; }
}
.cv-nav-group:not([open]) > .cv-nav-panel { display: none; }
.cv-nav-group[open] > .cv-nav-panel { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
.cv-header .cv-nav-link { display: flex; align-items: center; gap: 12px; min-width: 0; min-height: 80px; padding: 12px; border-radius: 6px; text-decoration: none; }
.cv-header .cv-nav-link::after { content: none; }
.cv-nav-link .cv-v1-heading-icon { flex-basis: 19.2px; width: 19.2px; height: 19.2px; border-radius: 4.8px; }
.cv-nav-link .cv-v1-heading-icon svg { width: 10.8px; height: 10.8px; }
.cv-nav-copy { display: grid; gap: 4px; min-width: 0; flex: 1; }
.cv-nav-title { color: var(--cv-content-title-color); font-size: 14px; font-weight: 600; line-height: 1.4; overflow-wrap: anywhere; }
.cv-nav-description { color: var(--cv-content-title-color); font-size: 12px; font-weight: 400; line-height: 1.5; overflow-wrap: anywhere; }
.cv-nav-link > svg { width: 9.6px; height: 9.6px; flex: 0 0 9.6px; color: var(--cv-purple); }
.cv-header .cv-nav-link:is(:hover, :focus-visible) { background: #f1f5eb; }
.cv-header .cv-nav-link:is(:hover, :focus-visible) :is(.cv-nav-title, .cv-v1-heading-icon, .lucide-arrow-right) { color: var(--cv-link-hover-color); }
.cv-header a.cv-nav-link:is(:hover, :focus-visible) .cv-nav-title { font-weight: 700; }
.cv-header .cv-nav-link:focus-visible { outline-offset: -3px; }
.cv-header .cv-nav-placeholder { cursor: default; }
.cv-header .cv-nav-placeholder:hover { background: transparent; }
.cv-header .cv-nav-placeholder:hover .cv-nav-title { color: var(--cv-content-title-color); }
.cv-header .cv-nav-placeholder:hover .cv-v1-heading-icon { color: var(--cv-section-icon-color, var(--cv-purple)); }
.cv-home-v2 .cv-hero-links > .cv-hero-item { display: flex; align-items: center; gap: 14px; min-width: 0; min-height: 48px; padding: 12px 0; color: #fff; font-size: 16px; font-weight: 700; line-height: 1.4; }
.cv-home-v2 .cv-hero-item > span { min-width: 0; overflow-wrap: anywhere; }
.cv-home-v2 .cv-hero-item.cv-nav-placeholder { cursor: default; }
@media (max-width: 700px) {
    .cv-home-v2 .cv-hero-links { grid-template-columns: minmax(0, 1fr); }
    .cv-home-v2 .cv-hero-links > .cv-hero-item { gap: 10px; min-height: 44px; padding-block: 9px; font-size: 15px; }
}
@media (min-width: 981px) and (max-width: 1200px) {
    .cv-desktop-nav:has(.cv-nav-group) { gap: 14px; }
    .cv-header-inner:has(.cv-nav-group) { gap: 16px; }
}
@media (max-width: 980px) {
    .cv-header-inner:has(.cv-nav-group) { position: static; }
    .cv-mobile-nav .cv-nav-group > summary { justify-content: space-between; min-height: 44px; padding: 10px 0; }
    .cv-mobile-nav .cv-nav-panel { position: static; width: 100%; max-height: none; margin-block: 6px 12px; padding: 8px; }
}
@media (max-width: 600px) {
    .cv-nav-group[open] > .cv-nav-panel { grid-template-columns: minmax(0, 1fr); }
    .cv-header .cv-nav-link { min-height: 68px; padding: 10px 8px; }
}
.cv-home-v2 {
    --cv-content-copy: 16px;
    --cv-page-title-size: 28px;
    --cv-card-padding: 12px;
    --cv-content-gap: 16px;
    --cv-section-gap: 45px;
    --cv-disclosure-body-gap: 12px;
    --cv-link-hover-on-white: var(--cv-link-hover-light);
    --cv-hero-copy-size: 16px;
}
/* Editorial paragraphs and lists share one scale; badges and diagrams keep theirs. */
main.cv-home-v2 p,
main.cv-home-v2 :is(ul:not([class]), ol:not([class]), .cv-conversation-list) > li:not(:where(.cv-content-visual *)),
main.cv-home-v2 .cv-detail-list > li { font-size: calc(var(--cv-content-copy) - 2px); line-height: 1.6; }
main.cv-home-v2 :is(ul:not([class]), ol:not([class])) > li:not(:where(.cv-content-visual *)),
main.cv-home-v2 .cv-detail-list > li { font-family: inherit; font-weight: 400; color: var(--cv-muted); }
main.cv-home-v2 .cv-detail-list strong { font-size: inherit; }
.cv-home-v2 .cv-wrap {
    width: min(var(--cv-max), calc(100% - 2 * var(--cv-page-gutter)));
}
.cv-home-v2 > .cv-section:last-child { padding-bottom: var(--cv-section-gap); }
/* Compensate the initiative form's internal gutters, not its fields or height. */
@media (max-width: 700px) {
    .cv-home-v2 .cv-inquiry-image { width: 100%; }
}
.cv-home-v2 .cv-inquiry-copy {
    --cv-inquiry-provider-inset: 24px;
    --cv-inquiry-copy-offset: 0px;
}
.cv-home-v2 .cv-inquiry-form {
    margin-inline-start: calc(var(--cv-inquiry-copy-offset) - var(--cv-inquiry-provider-inset));
    width: calc(100% - var(--cv-inquiry-copy-offset) + 2 * var(--cv-inquiry-provider-inset));
    max-width: none;
}
.cv-home-v2 .cv-hero {
    display: grid;
    grid-template-rows: 1fr auto;
    padding-bottom: 0;
    min-height: calc(100vh - var(--cv-header-height));
    min-height: calc(100dvh - var(--cv-header-height));
}
/* Only the hero-to-opening transition grows: 1.3 times its previous half-gap. */
.cv-home-v2 .cv-hero + #expertise {
    --cv-expertise-inset: calc(var(--cv-section-gap) * .65);
    padding-top: calc(var(--cv-section-gap) * .65);
    /* Align the visible heading panel, not the section's padded boundary. */
    scroll-margin-top: calc(var(--cv-header-height) + 16px - var(--cv-anchor-padding) - var(--cv-expertise-inset));
}
.cv-home-v2 .cv-hero[data-hero-video] + #expertise {
    --cv-expertise-inset: calc(var(--cv-section-gap) * .65 + 10px);
    padding-top: calc(var(--cv-section-gap) * .65 + 10px);
}
.cv-home-v2 .cv-v1-faq-grid,
.cv-home-v2 .cv-v1-faq-column,
.cv-home-v2 .cv-v1-media-grid {
    gap: var(--cv-content-gap);
}
.cv-home-v2 .cv-v1-blueprint .cv-flow { gap: var(--cv-content-gap); }
.cv-home-v2 .cv-v1-faq-grid summary,
.cv-home-v2 .cv-v1-faq-grid p { padding-left: calc(16px + var(--cv-disclosure-size) + 12px); }
.cv-home-v2 .cv-v1-faq-grid summary::after {
    display: grid;
    place-items: center;
    box-sizing: border-box;
    width: var(--cv-disclosure-size);
    height: var(--cv-disclosure-size);
    border: 1px solid var(--cv-section-icon-border);
    border-radius: 50%;
    background: var(--cv-section-icon-bg);
    color: var(--cv-section-icon-color);
}
.cv-home-v2 .cv-v1-card-heading { flex-direction: row; align-items: center; flex-wrap: nowrap; }
.cv-home-v2 .cv-v1-card-heading > svg { flex-shrink: 0; }
.cv-home-v2 .cv-v1-card-heading h3 { align-self: center; }
.cv-home-v2 .cv-v1-service > .cv-v1-text-link { align-self: flex-start; }
/* Match the provider's verified 16px outer + 8px field inset without modifying its embed. */
.cv-home-v2 .cv-v1-text-link { max-width: 100%; }
.cv-home-v2 :is(.cv-v1-text-link, .cv-text-link):not(:where(.cv-hero *)):not(:hover):not(:focus-visible) { color: var(--cv-ink); }
.cv-home-v2 .cv-v1-text-link > svg { flex: 0 0 17px; }
.cv-home-v2 .cv-v1-text-link:is(:hover, :focus-visible) {
    color: var(--cv-link-hover-on-white);
    font-weight: 700;
}
.cv-home-v2 .cv-hero .cv-v1-text-link:is(:hover, :focus-visible) {
    color: var(--cv-link-hover-color);
    text-decoration-thickness: 2px;
}
.cv-home-v2 .cv-hero > picture {
    position: absolute;
    inset: 0;
    z-index: -3;
    pointer-events: none;
}
.cv-home-v2 .cv-hero-art { z-index: auto; }
.cv-home-v2 .cv-hero[data-hero-video]::before { background: rgb(54 51 72 / 45%); }
.cv-home-v2 .cv-hero-video { position: absolute; inset: 0; z-index: -3; width: 100%; height: 100%; object-fit: cover; pointer-events: none; visibility: hidden; }
.cv-home-v2 .cv-hero[data-video-ready] .cv-hero-video { visibility: visible; }
@media (min-width: 981px) and (prefers-reduced-motion: no-preference) {
    .cv-home-v2 .cv-hero[data-hero-parallax] > picture,
    .cv-home-v2 .cv-hero[data-hero-parallax] > .cv-hero-video {
        inset: -48px 0;
        height: calc(100% + 96px);
        transform: translate3d(0, var(--cv-hero-parallax-y, 0px), 0);
    }
}
.cv-home-v2 .cv-hero[data-hero-video] h1 { text-shadow: 0 2px 12px rgb(0 0 0 / 22%); }
.cv-home-v2 .cv-hero .cv-lead {
    font-size: var(--cv-hero-copy-size);
    line-height: 1.65;
    font-weight: 400;
}
/* Keep the institutional note and social links in flow, clear of the directory. */
.cv-home-v2 .cv-hero-bottom {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: 24px;
    width: 100%;
    padding: 0 24px 24px;
}
.cv-home-v2 .cv-hero .cv-hero-credentials {
    min-width: 0;
    max-width: 760px;
    margin: 0;
    font-family: inherit;
    font-size: 12px;
    font-weight: 400;
    line-height: 1.5;
    color: #fff;
    text-align: left;
}
.cv-home-v2 .cv-hero-bottom .cv-hero-socials { position: static; justify-self: end; }
.cv-home-v2 .cv-hero-credentials a { text-decoration: none; font-weight: 700; }
.cv-home-v2 .cv-hero-credentials a:is(:hover, :focus-visible) { color: var(--cv-link-hover-color); }
@media (max-width: 700px) {
    .cv-home-v2 .cv-hero-bottom { grid-template-columns: minmax(0, 1fr); gap: 16px; padding: 0 20px 20px; }
}
.cv-home-v2 .cv-v1-industry { display: grid; grid-template-columns: minmax(0, 1fr); }
.cv-home-v2 .cv-v1-industry-image {
    width: 100%;
    max-width: 180px;
    height: auto;
    aspect-ratio: 1;
    object-fit: contain;
    justify-self: center;
}
.cv-home-v2 .cv-v1-media-logo { width: 100%; }
.cv-home-v2 .cv-v1-media-logo:last-child {
    width: calc((100% - var(--cv-content-gap)) / 2);
    justify-self: center;
}
/* Integrate white logo plates with the light glass surface without changing source assets. */
.cv-home-v2 .cv-v1-media-logo img { width: 176px; max-width: 100%; height: auto; max-height: 64px; object-fit: contain; background: transparent; mix-blend-mode: multiply; }
.cv-home-v2 .cv-v1-media-logo img[alt="Forbes"] { width: 144px; }
.cv-home-v2 .cv-v1-media-logo img[alt="Transcend"] { width: 210px; max-height: 72px; }
.cv-home-v2 .cv-v1-media-logo .cv-media-logo--uporto { width: 220px; height: 64px; object-fit: cover; }
.cv-home-v2 .cv-v1-media-logo .cv-media-logo--usa { width: 152px; }
.cv-home-v2 .cv-v1-media-logo .cv-media-logo--fox { width: 184px; max-height: 72px; }
.cv-home-v2 .cv-v1-media-logo .cv-media-logo--newswire { width: 190px; filter: brightness(0); }
/* Invert the white lettering; trim only the source bitmap's white outer frame. */
.cv-home-v2 .cv-v1-media-logo .cv-media-logo--ceoworld {
    width: 190px;
    filter: grayscale(1) invert(1) brightness(1.8);
    clip-path: inset(4.5% 1.5%);
    mix-blend-mode: multiply;
}
.cv-home-v2 .cv-v1-media-logo img[alt="Small Business Currents"] { width: 220px; }
.cv-home-v2 .cv-v1-media-logo .cv-media-logo--techinasia { width: 190px; }
.cv-home-v2 .cv-v1-post { display: flex; flex-direction: column; }
.cv-home-v2 .cv-v1-post-image { flex-shrink: 0; }
.cv-home-v2 .cv-v1-post-copy { flex: 1; }

/* Equal media tracks leave enough room for complete titles and the 32px disclosure. */
@media (max-width: 575px) {
    .cv-home-v2 .cv-work-band .cv-case-image,
    .cv-home-v2 .cv-v1-industry-image { display: block; width: 100%; max-width: 100%; height: auto; }
}
@media (min-width: 576px) {
    .cv-home-v2 .cv-work-band .cv-case,
    .cv-home-v2 .cv-v1-industry {
        grid-template-columns: minmax(104px, 140px) minmax(0, 1fr);
        gap: 16px;
    }
    .cv-home-v2 .cv-v1-industry-image { max-width: 100%; justify-self: start; }
}
@media (min-width: 701px) {
    .cv-home-v2 .cv-inquiry-copy { --cv-inquiry-copy-offset: var(--cv-copy-inset); }
    .cv-home-v2 { --cv-page-title-size: 36px; --cv-card-padding: 16px; --cv-content-gap: 20px; --cv-section-gap: 53px; --cv-hero-copy-size: 18px; }
    .cv-home-v2 .cv-hero-content { padding-block: 32px; }
    .cv-home-v2 .cv-v1-media-grid { grid-template-columns: repeat(8, minmax(0, 1fr)); }
    .cv-home-v2 .cv-v1-media-logo,
    .cv-home-v2 .cv-v1-media-logo:nth-child(n+5) { grid-column: span 2; }
    .cv-home-v2 .cv-v1-media-logo:nth-child(5) { grid-column: 2 / span 2; }
    .cv-home-v2 .cv-v1-media-logo:last-child { width: 100%; }
}

@media (min-width: 981px) {
    .cv-home-v2 { --cv-section-gap: 61px; }
}
/* Compact surfaces use equal padding on every edge; content, not fixed heights, determines their size. */
/* Preserve the approved heading boxes; new content uses the same card treatment. */
.cv-home-v2 .cv-consulting-steps > li,
.cv-home-v2 .cv-consulting-leadership,
.cv-home-v2 .cv-consulting-execution,
.cv-home-v2 .cv-consulting-example {
    min-width: 0;
    padding: var(--cv-card-padding);
    border: 1px solid #dee2e6;
    border-radius: 16px;
    background: #fff;
    box-shadow: 0 2px 4px #00000013;
}
.cv-home-v2 .cv-consulting-steps {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: var(--cv-content-gap);
    margin: 0;
    padding: 0;
    list-style: none;
}
.cv-home-v2 .cv-consulting-steps li { min-width: 0; }
.cv-home-v2 .cv-consulting-steps p { margin-top: 12px; }
.cv-home-v2 .cv-engagement-timeline {
    min-width: 0;
    padding: var(--cv-card-padding);
    border: 1px solid #dee2e6;
    border-radius: 16px;
    background: #fff;
    box-shadow: 0 2px 4px #00000013;
    row-gap: 32px;
}
.cv-home-v2 .cv-engagement-timeline > li {
    position: relative;
    padding: 0 0 0 44px;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
}
.cv-home-v2 .cv-engagement-marker {
    position: absolute;
    top: 4px;
    left: 0;
    z-index: 1;
    display: grid;
    place-items: center;
    width: 24px;
    height: 24px;
    border-radius: 50%;
    background: var(--cv-section-icon-color);
    color: #fff;
    font-size: 11px;
    font-weight: 700;
    line-height: 1;
    font-variant-numeric: tabular-nums;
}
/* Decorative connectors never hide or delay the actual step content. */
.cv-home-v2 .cv-engagement-timeline > li:not(:last-child)::before,
.cv-home-v2 .cv-engagement-timeline > li:not(:last-child)::after {
    content: "";
    position: absolute;
    top: 16px;
    left: 11px;
    width: 2px;
    height: calc(100% + 32px);
    background: var(--cv-section-icon-border);
    pointer-events: none;
}
.cv-home-v2 .cv-engagement-timeline > li:not(:last-child)::after {
    background: var(--cv-section-icon-color);
    transform-origin: top;
}
@media (prefers-reduced-motion: no-preference) {
    .cv-home-v2 .cv-engagement-timeline[data-timeline-state="pending"] > li::after { transform: scaleY(0); }
    .cv-home-v2 .cv-engagement-timeline[data-timeline-state="active"] > li:not(:last-child)::after {
        animation: cv-engagement-vertical .8s ease-in-out both;
    }
    .cv-home-v2 .cv-engagement-timeline[data-timeline-state="active"] > li:nth-child(2)::after { animation-delay: .8s; }
}
@keyframes cv-engagement-vertical { from { transform: scaleY(0); } to { transform: scaleY(1); } }
@keyframes cv-engagement-horizontal { from { transform: scaleX(0); } to { transform: scaleX(1); } }
/* Embedded timelines share one outer surface; content reveal is opt-in. */
.cv-home-v2 .cv-engagement-timeline--embedded { padding: 0; margin: 0; border: 0; border-radius: 0; background: transparent; box-shadow: none; }
.cv-home-v2 .cv-engagement-timeline--embedded > li { display: flex; flex-direction: column; }
.cv-home-v2 .cv-engagement-timeline--embedded .cv-engagement-marker { flex-shrink: 0; }
.cv-home-v2 .cv-consulting-start { display: grid; gap: var(--cv-content-gap); margin: 0; }
.cv-home-v2 .cv-consulting-start > p { margin: 0; }
.cv-home-v2 .cv-engagement-timeline--vertical > li > p { padding-inline-start: calc(var(--cv-content-icon) + 12px); }
.cv-home-v2 .cv-engagement-content { display: flex; flex-direction: column; flex: 1; gap: 12px; min-width: 0; }
.cv-home-v2 .cv-engagement-content :is(h3,p) { margin: 0; }
.cv-home-v2 .cv-engagement-content > p:last-child { margin-top: auto; }
@media (prefers-reduced-motion: no-preference) {
    .cv-home-v2 [data-timeline-reveal][data-timeline-state="active"] .cv-engagement-content { animation: cv-engagement-content-in .45s ease-out both; }
    .cv-home-v2 [data-timeline-reveal][data-timeline-state="active"] > li:nth-child(2) .cv-engagement-content { animation-delay: .12s; }
    .cv-home-v2 [data-timeline-reveal][data-timeline-state="active"] > li:nth-child(3) .cv-engagement-content { animation-delay: .24s; }
    .cv-home-v2 [data-timeline-reveal]:focus-within .cv-engagement-content { animation: none; }
}
@keyframes cv-engagement-content-in { from { opacity: .35; transform: translateY(8px); } to { opacity: 1; transform: translateY(0); } }
@media (min-width: 981px) {
    .cv-home-v2 .cv-engagement-timeline:not(.cv-engagement-timeline--vertical) > li { padding: 0; }
    .cv-home-v2 .cv-engagement-timeline:not(.cv-engagement-timeline--vertical) .cv-engagement-marker { position: relative; top: 0; margin-bottom: 24px; }
    .cv-home-v2 .cv-engagement-timeline:not(.cv-engagement-timeline--vertical) > li:not(:last-child)::before,
    .cv-home-v2 .cv-engagement-timeline:not(.cv-engagement-timeline--vertical) > li:not(:last-child)::after {
        top: 11px;
        left: 12px;
        width: calc(100% + var(--cv-content-gap));
        height: 2px;
        transform-origin: left;
    }
}
@media (min-width: 981px) and (prefers-reduced-motion: no-preference) {
    .cv-home-v2 .cv-engagement-timeline:not(.cv-engagement-timeline--vertical)[data-timeline-state="pending"] > li::after { transform: scaleX(0); }
    .cv-home-v2 .cv-engagement-timeline:not(.cv-engagement-timeline--vertical)[data-timeline-state="active"] > li:not(:last-child)::after { animation-name: cv-engagement-horizontal; }
}
.cv-home-v2 .cv-consulting-leadership {
    position: relative;
}
.cv-home-v2 .cv-team-track { display: grid; gap: var(--cv-content-gap); }
.cv-home-v2 .cv-team-profile {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: var(--cv-content-gap);
    align-items: center;
}
.cv-home-v2 .cv-team-media > img {
    box-sizing: border-box;
    width: 224px;
    max-width: 100%;
    height: auto;
    aspect-ratio: 1;
    object-fit: cover;
    border-radius: 50%;
    border: 1px solid var(--cv-section-icon-border);
    box-shadow: 0 2px 4px #00000013;
}
.cv-home-v2 .cv-team-copy { display: flex; flex-direction: column; min-width: 0; height: 100%; }
.cv-home-v2 .cv-team-media { min-width: 0; align-self: start; }
.cv-home-v2 .cv-team-actions { margin-top: 16px; padding-inline-start: 1px; }
.cv-home-v2 .cv-team-actions .cv-v1-text-link { margin-top: 0; white-space: normal; }
.cv-home-v2 .cv-team-socials { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 12px; }
.cv-home-v2 .cv-team-socials a { display: grid; place-items: center; width: 40px; height: 40px; flex: 0 0 40px; border: 1px solid var(--cv-section-icon-border); border-radius: 50%; color: var(--cv-purple); background: var(--cv-section-icon-bg); }
.cv-home-v2 .cv-team-socials svg { width: 18px; height: 18px; }
.cv-home-v2 .cv-team-socials a:is(:hover, :focus-visible) { color: var(--cv-purple); background: color-mix(in srgb, var(--cv-purple) 12%, transparent); border-color: color-mix(in srgb, var(--cv-purple) 35%, transparent); }
.cv-home-v2 .cv-team-socials .cv-team-brand-icon { display: block; width: 18px; height: 18px; object-fit: contain; filter: url(#cv-team-brand-purple); }
.cv-home-v2 .cv-team-brand-filter { position: absolute; width: 0; height: 0; overflow: hidden; }
.cv-home-v2 .cv-team-brand-tint { flood-color: var(--cv-purple); }
.cv-home-v2 .cv-team-slider[data-team-enhanced] .cv-team-track { gap: 0; }
.cv-home-v2 .cv-team-slider[data-team-enhanced] .cv-team-profile { grid-area: 1 / 1; }
.cv-home-v2 .cv-team-profile[aria-hidden="true"] { visibility: hidden; pointer-events: none; }
.cv-home-v2 .cv-team-dots { display: flex; justify-content: flex-end; gap: 4px; margin-top: 12px; }
.cv-home-v2 .cv-team-dots[hidden] { display: none; }
.cv-home-v2 .cv-team-dots button { display: grid; place-items: center; width: 32px; height: 32px; flex: 0 0 32px; padding: 0; border: 0; border-radius: 50%; background: transparent; color: var(--cv-purple); cursor: pointer; }
.cv-home-v2 .cv-team-dots button span { width: 8px; height: 8px; border: 1px solid currentColor; border-radius: 50%; background: transparent; }
.cv-home-v2 .cv-team-dots button[aria-current="true"] span { background: currentColor; }
.cv-home-v2 .cv-team-dots button:is(:hover, :focus-visible) { background: var(--cv-section-icon-bg); }
.cv-home-v2 .cv-team-status { position: absolute; width: 1px; height: 1px; clip-path: inset(50%); white-space: nowrap; }
.cv-home-v2 .cv-consulting-leadership h3 { color: var(--cv-content-title-color); }
.cv-home-v2 .cv-consulting-leadership p { margin-top: 12px; }
.cv-home-v2 .cv-consulting-leadership .cv-consulting-role { color: var(--cv-purple); font-weight: 600; margin-top: 4px; }
.cv-home-v2 .cv-consulting-leadership .cv-v1-text-link { margin-top: 16px; }
.cv-home-v2 .cv-consulting-execution { height: auto; margin-bottom: var(--cv-content-gap); }
.cv-home-v2 .cv-consulting-example { margin-block: var(--cv-content-gap); }
.cv-home-v2 .cv-consulting-example > summary {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding: 0;
    min-height: 44px;
    cursor: pointer;
    list-style: none;
    color: var(--cv-purple);
    font-weight: 600;
}
.cv-home-v2 .cv-consulting-example > summary::-webkit-details-marker { display: none; }
.cv-home-v2 .cv-consulting-example > summary > .cv-v1-card-heading { flex: 1; min-width: 0; }
.cv-home-v2 .cv-consulting-example .cv-v1-chevron { flex-shrink: 0; }
.cv-home-v2 .cv-consulting-example > summary:focus-visible { outline: 2px solid var(--cv-purple); outline-offset: 4px; }
.cv-home-v2 .cv-consulting-example[open] > summary .cv-v1-chevron svg { transform: rotate(180deg); }
/* The disclosure owns the frame; its workflow content must not add another box. */
.cv-home-v2 .cv-consulting-example > .cv-ai-blueprint {
    padding: 0;
    margin-top: var(--cv-content-gap);
    border: 0;
    border-radius: 0;
    box-shadow: none;
    background: transparent;
}
@media (min-width: 701px) {
    .cv-home-v2 .cv-consulting-leadership { padding-inline-start: calc(var(--cv-card-padding) + var(--cv-copy-inset)); }
    .cv-home-v2 .cv-home-faq-grid summary { min-height: 88px; }
    .cv-home-v2 .cv-team-profile { grid-template-columns: 224px minmax(0, 1fr); }
    .cv-home-v2 .cv-team-actions .cv-v1-text-link { white-space: nowrap; }
    .cv-home-v2 .cv-team-media > img {
        width: 224px;
        height: auto;
        min-height: 0;
        aspect-ratio: 1;
        align-self: start;
        object-fit: cover;
        object-position: center;
    }
}
@media (min-width: 981px) {
    .cv-home-v2 .cv-consulting-steps:not(.cv-engagement-timeline--vertical) { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .cv-home-v2 .cv-team-slider[data-team-enhanced] .cv-team-copy { padding-bottom: 44px; }
    .cv-home-v2 .cv-team-dots { position: absolute; right: var(--cv-card-padding); bottom: calc(var(--cv-card-padding) + 6px); margin-top: 0; }
}

/* Home leadership follows Company blue without tinting portraits. */
.cv-home-v2 #leadership.cv-section--recognition { --cv-purple: #245579; }
.cv-home-v2 #leadership .cv-team-media > img { display: block; width: 192px; }
.cv-home-v2 #leadership .cv-team-actions { width: 192px; max-width: 100%; display: flex; justify-content: center; padding-inline-start: 0; text-align: center; }
.cv-home-v2 #leadership .cv-team-actions .cv-v1-text-link { margin-top: 0; white-space: normal; align-items: center; justify-content: center; }
.cv-home-v2 #leadership .cv-team-actions .cv-v1-text-link svg { flex: 0 0 17px; }
@media (min-width: 701px) {
    .cv-home-v2 #leadership .cv-team-profile { grid-template-columns: 192px minmax(0, 1fr); }
}

/* Eight publications fill every track; retain the default seven-logo variant. */
.cv-home-v2 .cv-v1-media-grid--complete { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.cv-home-v2 .cv-v1-media-grid--complete .cv-v1-media-logo,
.cv-home-v2 .cv-v1-media-grid--complete .cv-v1-media-logo:nth-child(n+5) {
    grid-column: auto;
    width: 100%;
}
@media (min-width: 701px) {
    .cv-home-v2 .cv-v1-media-grid--complete { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}

/* Shared compact icons preserve badge text and hub palettes. */
.cv-home-v2 .cv-case-skills { display: flex; flex-wrap: wrap; align-items: flex-start; gap: 6px; }
.cv-home-v2 .cv-case-skills > span { flex: 0 1 auto; width: fit-content; max-width: 100%; justify-content: flex-start; text-align: left; }
.cv-home-v2 :is(.cv-badge-icon, .cv-case-skills > span, .cv-v1-service-badges > li) { display: inline-flex; align-items: center; gap: 4px; }
.cv-home-v2 :is(.cv-badge-icon, .cv-case-skills > span, .cv-v1-service-badges > li) > svg { flex: 0 0 12px; width: 12px; height: 12px; }
.cv-home-v2 :is(.cv-badge-icon, .cv-case-skills > span, .cv-v1-service-badges > li) > span { min-width: 0; overflow-wrap: anywhere; }

.cv-home-v2 .cv-v1-post-meta > .cv-badge-icon { flex: 0 1 auto; width: fit-content; max-width: 100%; }
