/* Approved corporate canvas and glass recipe. Native blog and frozen V1 are separate layouts. */
body:has(> main.cv-home-v2) {
    --cv-glass-surface: rgb(248 249 251 / 94%);
    --cv-glass-blur: none;
    --cv-glass-floating: rgb(248 249 251 / 96%);
    --cv-glass-floating-blur: none;
    background-color: #f8f9fb;
    background-image: radial-gradient(circle, rgb(92 83 116 / 26%) 0.8px, transparent 1px);
    background-size: 28px 28px;
    background-position: 0 0;
}
body:has(> main.cv-home-v2) > .cv-breadcrumb-bar,
.cv-home-v2,
.cv-home-v2 :is(.cv-section, .cv-work-band, .cv-page-index, .cv-rapid-band, .cv-industry-band, .cv-resource-band, .cv-faq-band, .cv-contact):not(.cv-hero) { background: transparent; }
body:has(> main.cv-home-v2) .cv-breadcrumb-trail,
.cv-home-v2 .cv-inquiry-image,
.cv-home-v2 :is(.cv-v1-heading, .cv-v1-workflow-intro, .cv-v1-book-panel, .cv-v1-newsletter-panel, .cv-v1-contact-panel, .cv-v1-service, .cv-v1-industry, .cv-v1-post, .cv-v1-form-panel, .cv-v1-media-logo, .cv-case, .cv-work-heading, .cv-inquiry-copy, .cv-cro-method, .cv-consulting-leadership, .cv-consulting-execution, .cv-consulting-example, .cv-engagement-timeline, .cv-v1-faq-grid details, .cv-consulting-steps > li):not(.cv-hero *, .cv-engagement-timeline > li, .cv-engagement-timeline--embedded, .cv-case-catalog-tools > .cv-v1-heading) {
    background: var(--cv-glass-surface);
    -webkit-backdrop-filter: var(--cv-glass-blur);
    backdrop-filter: var(--cv-glass-blur);
}
/* Nested media and controls reveal their parent's surface without double frosting. */
.cv-home-v2 .cv-v1-post-image,
body:has(> main.cv-home-v2) .cv-page-toc-close { background: transparent; }
/* Floating navigation needs more frosting than static reading surfaces. */
body:has(> main.cv-home-v2) :is(.cv-header, .cv-nav-panel, .cv-mobile-nav nav, .cv-page-toc-panel) {
    background: var(--cv-glass-floating);
    -webkit-backdrop-filter: var(--cv-glass-floating-blur);
    backdrop-filter: var(--cv-glass-floating-blur);
}
.cv-home-v2 :is(input:not([type=checkbox], [type=radio], [type=range], [type=submit], [type=button], [type=reset], [type=color]), select, textarea):not(.cv-hero *) {
    background-color: var(--cv-glass-surface);
    -webkit-backdrop-filter: var(--cv-glass-blur);
    backdrop-filter: var(--cv-glass-blur);
}
/* An iframe's own document is provider-owned; this only clears the host frame. */
.cv-home-v2 :is(.cv-contact-embed, .cv-inquiry-form, .cv-v1-form-panel iframe, .cv-v1-book-form iframe, .cv-v1-newsletter-embed iframe) { background: transparent; }
body:has(> main.cv-home-v2) .cv-footer {
    --cv-footer-text: #34383d;
    --cv-card-padding: 12px;
    width: 100%;
    margin: 0;
    padding: var(--cv-card-padding) 0;
    padding-top: calc(var(--cv-card-padding) + 18px);
    border: 0;
    border-top: 1px solid #dee2e6;
    border-radius: 0;
    box-shadow: none;
    background: var(--cv-glass-surface);
    color: #221259;
    -webkit-backdrop-filter: var(--cv-glass-blur);
    backdrop-filter: var(--cv-glass-blur);
}
body:has(> main.cv-home-v2) .cv-footer > .cv-wrap {
    width: min(var(--cv-max), calc(100% - 2 * var(--cv-page-gutter)));
    padding-inline: var(--cv-card-padding);
}
body:has(> main.cv-home-v2) .cv-footer .cv-v1-footer-main { padding-block: 0; margin-bottom: 24px; }
body:has(> main.cv-home-v2) .cv-footer :is(.cv-v1-footer-brand > a:first-child, .cv-v1-footer-main > nav > h2) {
    display: flex;
    align-items: center;
    min-height: 46px;
    margin-top: 0;
}
body:has(> main.cv-home-v2) .cv-footer .cv-footer-bottom { padding-block: 0; }
body:has(> main.cv-home-v2) .cv-footer .cv-footer-item {
    display: flex;
    align-items: center;
    min-height: 44px;
    margin: 0;
    padding-block: 6px;
    color: var(--cv-footer-text);
    font-size: 14px;
    font-weight: 400;
    line-height: 1.5;
    overflow-wrap: anywhere;
}
body:has(> main.cv-home-v2) .cv-footer :is(a.cv-footer-item, .cv-hero-socials a):is(:hover, :focus-visible) { color: var(--cv-link-hover-color); font-weight: 700; }
body:has(> main.cv-home-v2) .cv-footer .cv-nav-placeholder { cursor: default; }
body:has(> main.cv-home-v2) .cv-footer .cv-hero-socials { margin-bottom: 0; }
body:has(> main.cv-home-v2) .cv-footer :is(.cv-hero-socials a, .cv-certification-badge) {
    gap: 10px;
    min-height: 44px;
    padding-block: 6px;
    font-size: 14px;
    font-weight: 400;
    line-height: 1.5;
}
body:has(> main.cv-home-v2) .cv-footer :is(.cv-hero-socials a, .cv-certification-badge) > svg {
    flex: 0 0 20px;
    width: 20px;
    height: 20px;
}
@media (min-width: 701px) {
    body:has(> main.cv-home-v2) .cv-footer { --cv-card-padding: 16px; }
}
body:has(> main.cv-home-v2) .cv-footer h2 { color: var(--cv-content-title-color); font-weight: 700; }
:root body:has(> main.cv-home-v2) .cv-footer { --cv-link-hover-color: var(--cv-link-hover-light); }
body:has(> main.cv-home-v2) .cv-footer .cv-v1-back-top { color: #221259; border-color: #ded8ed; background: transparent; }
@supports (backdrop-filter: blur(2px)) or (-webkit-backdrop-filter: blur(2px)) {
    body:has(> main.cv-home-v2) {
        --cv-glass-surface: rgb(248 249 251 / 32%);
        --cv-glass-blur: blur(2px);
        --cv-glass-floating: rgb(248 249 251 / 92%);
        --cv-glass-floating-blur: blur(12px);
    }
}
@media (prefers-reduced-transparency: reduce), (forced-colors: active), print {
    body:has(> main.cv-home-v2) {
        --cv-glass-surface: #fff;
        --cv-glass-blur: none;
        --cv-glass-floating: #fff;
        --cv-glass-floating-blur: none;
    }
}
@supports (animation-timeline: scroll(root block)) {
    @media screen and (min-width: 981px) and (prefers-reduced-motion: no-preference) and (forced-colors: none) {
        body:has(> main.cv-home-v2) {
            /* Move the viewport-anchored grid slowly, independently of document content. */
            background-attachment: fixed;
            animation: cv-canvas-parallax 1s linear both;
            animation-timeline: scroll(root block);
        }
    }
}
@keyframes cv-canvas-parallax {
    from { background-position: 0 0; }
    to { background-position: 0 -56px; }
}
@media print {
    body:has(> main.cv-home-v2) { background-image: none; animation: none; }
}
