.pv2-home-page {
    --home-white: var(--pv2-white);
    --home-off-white: var(--pv2-off-white);
    --home-navy: var(--pv2-navy);
    --home-cobalt: var(--pv2-cobalt);
    --home-ink: var(--pv2-ink);
    --home-body: var(--pv2-body);
    --home-muted: var(--pv2-muted);
    --home-border: var(--pv2-border);
    background: var(--home-white);
    color: var(--home-body);
}

.pv2-home-page h1,
.pv2-home-page h2,
.pv2-home-page h3,
.pv2-home-page p { margin-top: 0; }

.pv2-home-page h1,
.pv2-home-page h2,
.pv2-home-page h3 { color: var(--home-ink); letter-spacing: -.035em; }

.pv2-home-page h1 { margin-bottom: 24px; font-size: clamp(3rem, 4.25vw, 4.15rem); line-height: 1.04; font-weight: 760; }
.pv2-home-page h2 { margin-bottom: 24px; font-size: clamp(2.25rem, 3vw, 3.15rem); line-height: 1.12; font-weight: 730; }
.pv2-home-page h3 { margin-bottom: 12px; font-size: 1.35rem; line-height: 1.3; font-weight: 700; }
.pv2-home-page p { margin-bottom: 20px; }

.pv2-home-page .pv2-button--secondary { border-color: #9daaba; background: transparent; color: var(--home-navy); }
.pv2-home-page .pv2-button--secondary:hover { border-color: var(--home-navy); background: var(--pv2-surface); }
.pv2-home-page .pv2-button--light { background: var(--home-white); color: var(--home-navy); }
.pv2-home-page .pv2-text-link { color: var(--home-cobalt); text-underline-offset: 5px; }

.pv2-home-hero { padding: 76px 0 64px; background: var(--home-white); }
.pv2-home-hero__grid { display: grid; grid-template-columns: minmax(0, 7fr) minmax(370px, 5fr); gap: 64px; align-items: center; }
.pv2-home-hero__copy { padding: 24px 0; }
.pv2-home-hero__lead { max-width: 690px; margin-bottom: 30px; font-size: 1.22rem; line-height: 1.58; }
.pv2-home-actions { display: flex; flex-wrap: wrap; gap: 12px; }

.pv2-home-portrait { position: relative; margin: 0; overflow: hidden; background: var(--home-off-white); }
.pv2-home-portrait::before { position: absolute; z-index: 1; top: 0; left: 0; width: 8px; height: 34%; background: var(--home-cobalt); content: ""; }
.pv2-home-portrait img { width: 100%; height: 100%; object-fit: cover; mix-blend-mode: multiply; }
.pv2-home-portrait--hero { min-height: 580px; border-bottom: 6px solid var(--home-navy); }
.pv2-home-portrait--hero img { height: 580px; object-position: 50% 24%; }
.pv2-home-portrait figcaption { position: absolute; z-index: 2; right: 18px; bottom: 18px; max-width: 240px; padding: 13px 15px; color: var(--home-white); background: var(--home-navy); font-size: .75rem; line-height: 1.45; letter-spacing: .03em; }

.pv2-home-authority { border-top: 1px solid var(--home-border); border-bottom: 1px solid var(--home-border); }
.pv2-home-authority__grid { display: grid; grid-template-columns: repeat(4, 1fr); }
.pv2-home-authority__item { min-height: 130px; padding: 30px 24px; border-right: 1px solid var(--home-border); }
.pv2-home-authority__item:first-child { padding-left: 0; }
.pv2-home-authority__item:last-child { padding-right: 0; border-right: 0; }
.pv2-home-authority__item strong { display: block; margin-bottom: 7px; color: var(--home-navy); font-size: 1.04rem; line-height: 1.3; }
.pv2-home-authority__item span { color: var(--home-muted); font-size: .88rem; line-height: 1.5; }

.pv2-home-section-head { display: grid; grid-template-columns: 5fr 4fr; gap: 10%; align-items: end; margin-bottom: 56px; }
.pv2-home-section-head > * { margin-bottom: 0; }
.pv2-home-section-head > p { max-width: 600px; font-size: 1.08rem; }
.pv2-home-problems,
.pv2-home-work,
.pv2-home-profile,
.pv2-home-events { background: var(--home-white); }
.pv2-home-consulting,
.pv2-home-contributions,
.pv2-home-insights { background: var(--home-off-white); }

.pv2-home-problem-grid { counter-reset: problem; display: grid; grid-template-columns: repeat(3, 1fr); border-top: 1px solid var(--home-border); }
.pv2-home-problem { counter-increment: problem; position: relative; min-height: 210px; padding: 34px 32px 30px 55px; border-right: 1px solid var(--home-border); border-bottom: 1px solid var(--home-border); }
.pv2-home-problem:nth-child(3n) { border-right: 0; }
.pv2-home-index { color: var(--home-cobalt); font-size: .75rem; font-weight: 800; letter-spacing: .1em; }
.pv2-home-problem > .pv2-home-index { position: absolute; top: 36px; left: 0; }
.pv2-home-problem p { margin: 0; color: var(--home-muted); }

.pv2-home-consulting-list { border-top: 1px solid #aeb9c6; }
.pv2-home-consulting-row { display: grid; grid-template-columns: 60px 1.1fr 1.25fr .7fr; gap: 28px; align-items: start; padding: 35px 0; border-bottom: 1px solid var(--home-border); }
.pv2-home-consulting-row h3 { margin: 0; }
.pv2-home-consulting-row p { margin: 0; color: var(--home-muted); }
.pv2-home-consulting-row .pv2-text-link { justify-self: end; text-align: right; }

.pv2-home-ddx { color: #d9e3ef; background: var(--home-navy); }
.pv2-home-ddx h2 { color: var(--home-white); }
.pv2-home-ddx .pv2-eyebrow { color: #83adff; }
.pv2-home-ddx__grid { display: grid; grid-template-columns: 4.5fr 6.5fr; gap: 9%; align-items: start; }
.pv2-home-ddx__lead { color: #c0cedd; font-size: 1.15rem; }
.pv2-home-ddx__dimensions { display: flex; flex-wrap: wrap; gap: 10px 18px; margin: 28px 0 30px; color: #b9c9da; font-size: .83rem; }
.pv2-home-ddx__dimensions span { padding-left: 13px; border-left: 2px solid #4e83ee; }
.pv2-home-ddx__flow { border-top: 1px solid rgb(255 255 255 / 25%); }
.pv2-home-ddx__step { display: grid; grid-template-columns: 48px 1fr; gap: 16px; padding: 23px 0; border-bottom: 1px solid rgb(255 255 255 / 16%); }
.pv2-home-ddx__step strong { display: block; color: var(--home-white); }
.pv2-home-ddx__step div > span { display: block; margin-top: 4px; color: #aebfd1; font-size: .9rem; }

.pv2-home-work-grid { display: grid; grid-template-columns: repeat(4, 1fr); border-top: 2px solid var(--home-navy); }
.pv2-home-work-step { position: relative; padding: 32px 28px 0 0; }
.pv2-home-work-step + .pv2-home-work-step { padding-left: 28px; border-left: 1px solid var(--home-border); }
.pv2-home-work-step__dot { position: absolute; top: -7px; left: 0; width: 12px; height: 12px; border: 3px solid var(--home-white); border-radius: 50%; background: var(--home-cobalt); box-shadow: 0 0 0 1px var(--home-cobalt); }
.pv2-home-work-step__output { display: block; margin-top: 18px; color: var(--home-muted); font-size: .83rem; }

.pv2-home-contributions__grid { display: grid; grid-template-columns: 5fr 6fr; gap: 9%; align-items: start; }
.pv2-home-contributions h2 { max-width: 550px; font-size: clamp(2rem, 3vw, 3rem); line-height: 1.18; }
.pv2-home-contribution-list { display: grid; grid-template-columns: 1fr 1fr; border-top: 1px solid #aeb9c6; }
.pv2-home-contribution-item { min-height: 120px; padding: 24px 22px 20px 0; border-bottom: 1px solid var(--home-border); }
.pv2-home-contribution-item:nth-child(even) { padding-left: 22px; border-left: 1px solid var(--home-border); }
.pv2-home-contribution-item strong { display: block; margin-bottom: 6px; color: var(--home-ink); }
.pv2-home-contribution-item span { color: var(--home-muted); font-size: .9rem; }

.pv2-home-profile__grid { display: grid; grid-template-columns: 4.3fr 7fr; gap: 8%; align-items: center; }
.pv2-home-portrait--profile { height: 530px; }
.pv2-home-portrait--profile::after { position: absolute; right: 0; bottom: 0; width: 40%; height: 7px; background: var(--home-cobalt); content: ""; }
.pv2-home-portrait--profile img { object-position: 50% 23%; }
.pv2-home-profile__grid > div { max-width: 690px; }
.pv2-home-profile__lead { color: var(--home-navy); font-size: 1.24rem; line-height: 1.55; }

.pv2-home-insights-grid { display: grid; grid-template-columns: 1.5fr 1fr; gap: 64px; border-top: 1px solid var(--home-border); }
.pv2-home-featured-article { padding-top: 34px; }
.pv2-home-meta { display: flex; flex-wrap: wrap; gap: 9px 18px; margin-bottom: 17px; color: var(--home-muted); font-size: .78rem; letter-spacing: .03em; }
.pv2-home-meta__category { color: var(--home-cobalt); font-weight: 760; text-transform: uppercase; }
.pv2-home-featured-article h3 { max-width: 690px; font-size: clamp(1.8rem, 2.5vw, 2.6rem); }
.pv2-home-featured-article h3 a,
.pv2-home-compact-article h3 a,
.pv2-home-event-row h3 a { min-height: 44px; display: inline-flex; align-items: center; color: inherit; text-decoration: none; }
.pv2-home-featured-article p { max-width: 650px; }
.pv2-home-compact-articles { border-left: 1px solid var(--home-border); }
.pv2-home-compact-article { padding: 34px 0 34px 34px; border-bottom: 1px solid var(--home-border); }
.pv2-home-compact-article h3 { font-size: 1.18rem; }
.pv2-home-empty-state { display: grid; grid-template-columns: 1fr 1fr auto; gap: 28px; align-items: center; padding: 30px 0; border-top: 1px solid #9daaba; border-bottom: 1px solid var(--home-border); }
.pv2-home-empty-state > * { margin: 0; }
.pv2-home-empty-state span { color: var(--home-muted); }

.pv2-home-event-list { border-top: 1px solid #9daaba; }
.pv2-home-event-row { display: grid; grid-template-columns: 96px 1fr auto; gap: 32px; align-items: center; padding: 28px 0; border-bottom: 1px solid var(--home-border); }
.pv2-home-event-date { display: grid; gap: 2px; color: var(--home-navy); text-align: center; }
.pv2-home-event-date strong { font-size: 2.2rem; line-height: 1; }
.pv2-home-event-date span { color: var(--home-cobalt); font-size: .8rem; font-weight: 800; text-transform: uppercase; }
.pv2-home-event-date small { color: var(--home-muted); }
.pv2-home-event-row h3 { margin-bottom: 8px; }
.pv2-home-event-row p { margin: 0; color: var(--home-muted); }

.pv2-home-final-cta { padding: 88px 0; color: var(--home-white); background: var(--home-navy); }
.pv2-home-final-cta h2 { max-width: 850px; margin-bottom: 15px; color: var(--home-white); }
.pv2-home-final-cta p { max-width: 720px; margin: 0; color: #b9c9da; font-size: 1.08rem; }
.pv2-home-final-cta__grid { display: grid; grid-template-columns: 1.4fr auto; gap: 48px; align-items: center; }
.pv2-home-final-cta__helper { display: flex; flex-wrap: wrap; gap: 18px; margin-top: 18px; color: #e2e8f0; }
.pv2-home-final-cta__helper a { min-height: 44px; display: inline-flex; align-items: center; color: var(--home-white); }

@media (max-width: 1023px) {
    .pv2-home-hero__grid { grid-template-columns: 1.15fr .85fr; gap: 32px; }
    .pv2-home-portrait--hero, .pv2-home-portrait--hero img { height: 520px; min-height: 520px; }
    .pv2-home-problem-grid { grid-template-columns: repeat(2, 1fr); }
    .pv2-home-problem:nth-child(3n) { border-right: 1px solid var(--home-border); }
    .pv2-home-problem:nth-child(2n) { border-right: 0; }
    .pv2-home-consulting-row { grid-template-columns: 45px 1fr 1.2fr; }
    .pv2-home-consulting-row .pv2-text-link { grid-column: 2 / 4; justify-self: start; text-align: left; }
    .pv2-home-ddx__grid, .pv2-home-contributions__grid { gap: 6%; }
    .pv2-home-work-grid { grid-template-columns: repeat(2, 1fr); gap: 44px 0; }
    .pv2-home-work-step:nth-child(3) { padding-left: 0; border-left: 0; }
    .pv2-home-profile__grid { grid-template-columns: 1fr 1.25fr; gap: 6%; }
}

@media (max-width: 639px) {
    .pv2-home-page { font-size: 16px; line-height: 1.62; }
    .pv2-home-page h1 { font-size: clamp(2.35rem, 10.4vw, 2.75rem); line-height: 1.06; }
    .pv2-home-page h2 { font-size: 2.05rem; line-height: 1.14; }
    .pv2-home-page h3 { font-size: 1.22rem; }
    .pv2-home-hero { padding: 48px 0 0; }
    .pv2-home-hero__grid { grid-template-columns: 1fr; gap: 38px; }
    .pv2-home-hero__copy { padding: 0; }
    .pv2-home-hero__lead { margin-bottom: 25px; font-size: 1.05rem; line-height: 1.55; }
    .pv2-home-actions { display: grid; grid-template-columns: 1fr; }
    .pv2-home-actions .pv2-button { width: 100%; }
    .pv2-home-portrait--hero { min-height: 430px; height: 430px; margin-inline: -20px; border-bottom-width: 5px; }
    .pv2-home-portrait--hero img { height: 430px; object-position: 50% 17%; }
    .pv2-home-portrait figcaption { right: 20px; bottom: 16px; max-width: 210px; padding: 11px 13px; }
    .pv2-home-authority__grid { grid-template-columns: repeat(2, 1fr); }
    .pv2-home-authority__item { min-height: 128px; padding: 24px 18px; border-bottom: 1px solid var(--home-border); }
    .pv2-home-authority__item:first-child { padding-left: 0; }
    .pv2-home-authority__item:nth-child(2) { padding-right: 0; border-right: 0; }
    .pv2-home-authority__item:nth-child(3) { padding-left: 0; border-bottom: 0; }
    .pv2-home-authority__item:nth-child(4) { padding-right: 0; border-right: 0; border-bottom: 0; }
    .pv2-home-authority__item strong { font-size: .94rem; }
    .pv2-home-authority__item span { font-size: .78rem; }
    .pv2-home-section-head { grid-template-columns: 1fr; gap: 14px; margin-bottom: 38px; }
    .pv2-home-section-head > p { font-size: 1rem; }
    .pv2-home-problem-grid { grid-template-columns: 1fr; }
    .pv2-home-problem { min-height: auto; padding: 26px 0 26px 42px; border-right: 0 !important; }
    .pv2-home-problem > .pv2-home-index { top: 28px; }
    .pv2-home-consulting-row { grid-template-columns: 35px 1fr; gap: 14px; padding: 28px 0; }
    .pv2-home-consulting-row p, .pv2-home-consulting-row .pv2-text-link { grid-column: 2; }
    .pv2-home-consulting-row .pv2-text-link { justify-self: start; }
    .pv2-home-ddx__grid { grid-template-columns: 1fr; gap: 46px; }
    .pv2-home-ddx__dimensions { gap: 8px 13px; }
    .pv2-home-ddx__step { padding: 19px 0; }
    .pv2-home-work-grid { grid-template-columns: 1fr; gap: 0; border-top: 0; border-left: 2px solid var(--home-navy); }
    .pv2-home-work-step, .pv2-home-work-step + .pv2-home-work-step { padding: 0 0 38px 28px; border-left: 0; }
    .pv2-home-work-step__dot { top: 5px; left: -7px; }
    .pv2-home-work-step__output { margin-top: 10px; }
    .pv2-home-contributions__grid { grid-template-columns: 1fr; gap: 38px; }
    .pv2-home-contributions h2 { font-size: 2rem; }
    .pv2-home-contribution-list { grid-template-columns: 1fr; }
    .pv2-home-contribution-item, .pv2-home-contribution-item:nth-child(even) { min-height: auto; padding: 20px 0; border-left: 0; }
    .pv2-home-profile__grid { grid-template-columns: 1fr; gap: 38px; }
    .pv2-home-portrait--profile { height: 430px; margin-inline: -20px; }
    .pv2-home-portrait--profile img { object-position: 50% 18%; }
    .pv2-home-profile__lead { font-size: 1.08rem; }
    .pv2-home-insights-grid { grid-template-columns: 1fr; gap: 0; }
    .pv2-home-featured-article { padding: 28px 0; border-bottom: 1px solid var(--home-border); }
    .pv2-home-featured-article h3 { font-size: 1.65rem; }
    .pv2-home-compact-articles { border-left: 0; }
    .pv2-home-compact-article { padding: 27px 0; }
    .pv2-home-empty-state { grid-template-columns: 1fr; gap: 12px; padding: 27px 0; }
    .pv2-home-event-row { grid-template-columns: 72px 1fr; gap: 18px; align-items: start; }
    .pv2-home-event-row > .pv2-text-link { grid-column: 2; justify-self: start; }
    .pv2-home-final-cta { padding: 64px 0; }
    .pv2-home-final-cta__grid { grid-template-columns: 1fr; gap: 28px; }
    .pv2-home-final-cta__grid > .pv2-button { width: 100%; }
}

@media (prefers-reduced-motion: reduce) {
    .pv2-home-page *, .pv2-home-page *::before, .pv2-home-page *::after {
        scroll-behavior: auto !important;
        animation-duration: .01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: .01ms !important;
    }
}
