/* ==========================================================================
   PriorValue Public Homepage v2 — Clinical-Intelligence Hero Design System
   --------------------------------------------------------------------------
   Scope: welcome.blade.php only.
   Classes are prefixed pv-home-v2-* and never override shared pv-* styles.
   Reuses design tokens defined in priorvalue-public.css (--pv-*).
   ========================================================================== */

:root {
    --pv-home-v2-ink: #020a16;
    --pv-home-v2-navy: #04182b;
    --pv-home-v2-surface: rgba(7, 29, 47, .78);
    --pv-home-v2-ice: #a5e8ff;
    --pv-home-v2-cyan: #22d3ee;
    --pv-home-v2-cyan-strong: #67e8f9;
    --pv-home-v2-border: rgba(125, 211, 252, .16);
    --pv-home-v2-border-strong: rgba(125, 211, 252, .32);
    --pv-home-v2-amber: #f2bf45;
    --pv-home-v2-amber-soft: rgba(242, 191, 69, .1);
    --pv-home-v2-text-dim: #8ba6ba;
    --pv-home-v2-text-faint: #5f7a90;
    --pv-home-v2-radius: 14px;
}

/* ==========================================================================
   1. HERO SHELL
   ========================================================================== */
.pv-home-v2-hero {
    position: relative;
    overflow: hidden;
    background:
        radial-gradient(58% 52% at 78% 8%, rgba(34, 211, 238, .09), transparent 62%),
        radial-gradient(46% 40% at 12% 92%, rgba(14, 116, 168, .12), transparent 64%),
        linear-gradient(168deg, #031021 0%, #020a16 46%, #031322 100%);
    border-bottom: 1px solid rgba(125, 211, 252, .08);
}

/* Quiet scientific grid + contour wash (decorative, aria-hidden in markup) */
.pv-home-v2-hero::before {
    content: "";
    position: absolute;
    inset: 0;
    background-image:
        linear-gradient(rgba(125, 211, 252, .045) 1px, transparent 1px),
        linear-gradient(90deg, rgba(125, 211, 252, .045) 1px, transparent 1px);
    background-size: 56px 56px;
    -webkit-mask-image: radial-gradient(75% 65% at 60% 30%, black 20%, transparent 78%);
    mask-image: radial-gradient(75% 65% at 60% 30%, black 20%, transparent 78%);
    pointer-events: none;
}
.pv-home-v2-hero::after {
    content: "";
    position: absolute;
    inset: 0;
    background:
        radial-gradient(42% 34% at 84% 62%, rgba(34, 211, 238, .06), transparent 70%),
        radial-gradient(30% 26% at 8% 18%, rgba(165, 232, 255, .05), transparent 70%);
    pointer-events: none;
}

.pv-home-v2-hero-inner {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1.22fr);
    align-items: start;
    --pv-home-v2-gap: clamp(36px, 4vw, 64px);
    --pv-home-v2-pad-top: clamp(40px, 4.5vw, 60px);
    --pv-home-v2-pad-bottom: clamp(40px, 4vw, 56px);
    gap: var(--pv-home-v2-gap);
    padding: var(--pv-home-v2-pad-top) 0 var(--pv-home-v2-pad-bottom);
}

/* Restrained connector uniting the left narrative with the demo panel.
   Runs at eyebrow height across the column gap. Decorative only. */
.pv-home-v2-connector {
    position: absolute;
    z-index: 1;
    top: calc(var(--pv-home-v2-pad-top, 48px) + 38px);
    left: calc((100% - var(--pv-home-v2-gap, 48px)) / 2.22 + 10px);
    width: calc(var(--pv-home-v2-gap, 48px) - 20px);
    height: 1px;
    background: linear-gradient(90deg, rgba(34, 211, 238, .55), rgba(125, 211, 252, .24));
    pointer-events: none;
}
.pv-home-v2-connector::before {
    content: "";
    position: absolute;
    left: -1px;
    top: -2.5px;
    width: 5px;
    height: 5px;
    border-radius: 50%;
    background: var(--pv-home-v2-cyan);
}
.pv-home-v2-connector::after {
    content: "";
    position: absolute;
    right: -1px;
    top: -3.5px;
    width: 7px;
    height: 7px;
    border-top: 1px solid rgba(125, 211, 252, .55);
    border-right: 1px solid rgba(125, 211, 252, .55);
    transform: rotate(45deg);
}

@media (min-width: 1121px) {
    .pv-home-v2-copy {
        padding-top: 36px;
    }
}

/* ==========================================================================
   2. HERO COPY
   ========================================================================== */
.pv-home-v2-copy {
    max-width: 560px;
    justify-self: start;
}

.pv-home-v2-eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .24em;
    text-transform: uppercase;
    color: var(--pv-home-v2-ice);
}
.pv-home-v2-eyebrow::before {
    content: "";
    width: 26px;
    height: 2px;
    background: linear-gradient(90deg, var(--pv-home-v2-cyan), transparent);
}

.pv-home-v2-title {
    margin: 18px 0 0;
    font-size: clamp(34px, 3.5vw, 50px);
    line-height: 1.05;
    letter-spacing: -1.4px;
    font-weight: 800;
    color: #f4faff;
    text-wrap: balance;
}

.pv-home-v2-lead {
    margin: 20px 0 0;
    max-width: 480px;
    font-size: 16px;
    line-height: 1.65;
    color: #b7ccdc;
}

.pv-home-v2-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-top: 30px;
}

.pv-home-v2-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 9px;
    min-height: 50px;
    padding: 14px 26px;
    border-radius: 8px;
    font-family: inherit;
    font-size: 14px;
    font-weight: 700;
    letter-spacing: .2px;
    text-decoration: none;
    white-space: nowrap;
    cursor: pointer;
    transition: transform var(--pv-transition), background var(--pv-transition), border-color var(--pv-transition), box-shadow var(--pv-transition);
}
.pv-home-v2-btn:focus-visible {
    outline: 2px solid var(--pv-home-v2-cyan-strong);
    outline-offset: 3px;
}
.pv-home-v2-btn--primary {
    color: #031018;
    background: linear-gradient(135deg, #2fd4ee, #7dd3fc);
    border: 1px solid rgba(125, 211, 252, .55);
    box-shadow: 0 10px 30px rgba(34, 211, 238, .16);
}
.pv-home-v2-btn--primary:hover {
    transform: translateY(-1px);
    box-shadow: 0 14px 38px rgba(34, 211, 238, .26);
}
.pv-home-v2-btn--ghost {
    color: var(--pv-home-v2-ice);
    background: rgba(125, 211, 252, .04);
    border: 1px solid var(--pv-home-v2-border-strong);
}
.pv-home-v2-btn--ghost:hover {
    background: rgba(125, 211, 252, .1);
    border-color: rgba(125, 211, 252, .45);
    transform: translateY(-1px);
}
.pv-home-v2-btn-arrow {
    width: 15px;
    height: 15px;
    flex-shrink: 0;
}

.pv-home-v2-trust {
    display: flex;
    flex-wrap: wrap;
    gap: 14px 24px;
    margin-top: 30px;
    padding-top: 22px;
    border-top: 1px solid rgba(125, 211, 252, .12);
}
.pv-home-v2-trust-item {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    font-size: 12px;
    font-weight: 650;
    letter-spacing: .02em;
    color: #9db8cb;
}
.pv-home-v2-trust-dot {
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: var(--pv-home-v2-cyan);
    box-shadow: 0 0 10px rgba(34, 211, 238, .55);
    flex-shrink: 0;
}

/* Keep grid/flex items from propagating their min-content width into the
   hero tracks (prevents mobile dashboard blowout from the wide inline chart).
   No effect on the approved desktop composition. */
.pv-home-v2-copy,
.pv-home-v2-demo,
.pv-home-v2-demo-window,
.pv-home-v2-demo-body,
.pv-home-v2-modules,
.pv-home-v2-module,
.pv-home-v2-module-row,
.pv-home-v2-trends,
.pv-home-v2-trends-scroll,
.pv-home-v2-annotations {
    min-width: 0;
}

/* ==========================================================================
   3. DEMO PANEL (real HTML/CSS clinical-intelligence window)
   ========================================================================== */
.pv-home-v2-demo {
    justify-self: end;
    width: 100%;
    max-width: 780px;
}

.pv-home-v2-demo-window {
    border: 1px solid rgba(125, 211, 252, .34);
    border-radius: var(--pv-home-v2-radius);
    background: linear-gradient(158deg, rgba(9, 34, 55, .94) 0%, rgba(2, 12, 22, .97) 60%);
    box-shadow:
        0 46px 110px rgba(1, 8, 18, .72),
        0 0 0 1px rgba(2, 10, 20, .6),
        inset 0 1px 0 rgba(165, 232, 255, .08);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    overflow: hidden;
}

.pv-home-v2-demo-bar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    padding: 6px 12px;
    border-bottom: 1px solid var(--pv-home-v2-border);
    background: rgba(125, 211, 252, .03);
}
.pv-home-v2-demo-brand {
    font-size: 9.5px;
    font-weight: 800;
    letter-spacing: .22em;
    color: var(--pv-home-v2-cyan-strong);
    white-space: nowrap;
}
.pv-home-v2-demo-badge {
    display: inline-block;
    font-size: 9px;
    font-weight: 700;
    letter-spacing: .12em;
    text-transform: uppercase;
    color: var(--pv-home-v2-ice);
    border: 1px solid rgba(125, 211, 252, .4);
    border-radius: 4px;
    padding: 3px 9px;
    white-space: nowrap;
}

.pv-home-v2-demo-body {
    padding: 10px 16px 12px;
}

.pv-home-v2-demo-head {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    justify-content: space-between;
    gap: 4px 16px;
    margin-bottom: 8px;
}
.pv-home-v2-demo-title {
    margin: 0;
    font-size: 15.5px;
    font-weight: 750;
    letter-spacing: -.2px;
    color: #f2f9ff;
}
.pv-home-v2-demo-note {
    margin: 0;
    font-size: 10.5px;
    line-height: 1.5;
    color: var(--pv-home-v2-text-faint);
}

.pv-home-v2-chips {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin: 0 0 8px;
    padding: 0;
    list-style: none;
}
.pv-home-v2-chip {
    font-size: 10.5px;
    font-weight: 650;
    color: #b9d4e4;
    border: 1px solid var(--pv-home-v2-border);
    background: rgba(125, 211, 252, .045);
    border-radius: 999px;
    padding: 3px 9px;
    white-space: nowrap;
}

.pv-home-v2-modules {
    display: grid;
    gap: 7px;
}

.pv-home-v2-module {
    border: 1px solid var(--pv-home-v2-border);
    border-radius: 11px;
    background: var(--pv-home-v2-surface);
    padding: 11px 13px;
}
.pv-home-v2-module:focus-within {
    border-color: var(--pv-home-v2-border-strong);
}

.pv-home-v2-module-kicker {
    margin: 0 0 4px;
    font-size: 9.5px;
    font-weight: 800;
    letter-spacing: .18em;
    text-transform: uppercase;
    color: var(--pv-home-v2-cyan-strong);
}
.pv-home-v2-module-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px;
}
.pv-home-v2-module-row .pv-home-v2-module {
    min-width: 0;
}

/* --- Prioritized context (amber reserved for this module) --- */
.pv-home-v2-module--priority {
    border-color: rgba(242, 191, 69, .34);
    background: linear-gradient(120deg, rgba(242, 191, 69, .07), var(--pv-home-v2-surface) 55%);
}
.pv-home-v2-module--priority .pv-home-v2-module-kicker {
    color: var(--pv-home-v2-amber);
}
.pv-home-v2-priority-headline {
    margin: 0 0 3px;
    font-size: 15px;
    font-weight: 750;
    letter-spacing: -.2px;
    color: #fdf8ec;
}
.pv-home-v2-priority-context {
    margin: 0 0 6px;
    font-size: 11.5px;
    line-height: 1.5;
    color: #b9c6d1;
}
.pv-home-v2-badges {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}
.pv-home-v2-badge {
    font-size: 10px;
    font-weight: 700;
    letter-spacing: .03em;
    border-radius: 5px;
    padding: 3px 9px;
    border: 1px solid rgba(242, 191, 69, .45);
    color: #ffd97a;
    background: var(--pv-home-v2-amber-soft);
}
.pv-home-v2-priority-safety {
    margin: 6px 0 0;
    padding-top: 6px;
    border-top: 1px solid rgba(242, 191, 69, .18);
    font-size: 10px;
    line-height: 1.45;
    color: #8a97a3;
}

/* --- Longitudinal trends + inline SVG chart --- */
.pv-home-v2-trends {
    display: flex;
    flex-direction: column;
    gap: 7px;
}
.pv-home-v2-legend {
    display: flex;
    flex-wrap: wrap;
    gap: 8px 18px;
}
.pv-home-v2-legend-item {
    display: inline-flex;
    align-items: baseline;
    gap: 7px;
    font-size: 10px;
    color: #b9d4e4;
}
.pv-home-v2-legend-line {
    display: inline-block;
    width: 16px;
    height: 2px;
    border-radius: 2px;
    flex-shrink: 0;
}
.pv-home-v2-legend-value {
    font-weight: 750;
    color: #e8f4fb;
}

.pv-home-v2-trends-scroll {
    overflow-x: auto;
    overflow-y: hidden;
    overscroll-behavior-x: contain;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: thin;
    scrollbar-color: rgba(125, 211, 252, .3) transparent;
    border: 1px solid rgba(125, 211, 252, .08);
    border-radius: 8px;
    background: rgba(2, 10, 18, .45);
    min-width: 0;
}
.pv-home-v2-trends-scroll svg {
    display: block;
    width: 100%;
    height: auto;
    min-width: 540px;
}
.pv-home-v2-trends-swipe {
    display: none;
}

.pv-home-v2-annotations {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 8px;
}
.pv-home-v2-annotation {
    display: flex;
    align-items: flex-start;
    gap: 8px;
    font-size: 10px;
    line-height: 1.45;
    color: #a9c3d3;
}
.pv-home-v2-annotation-marker {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 18px;
    height: 18px;
    border-radius: 50%;
    border: 1px solid rgba(125, 211, 252, .5);
    color: var(--pv-home-v2-cyan-strong);
    font-size: 9px;
    font-weight: 800;
    background: rgba(34, 211, 238, .08);
    flex-shrink: 0;
    margin-top: 1px;
}

/* --- Kidney function context --- */
.pv-home-v2-kidney-value {
    display: flex;
    align-items: baseline;
    flex-wrap: wrap;
    gap: 8px;
    margin-bottom: 4px;
}
.pv-home-v2-kidney-egfr {
    font-size: 12px;
    font-weight: 750;
    letter-spacing: .06em;
    color: var(--pv-home-v2-cyan-strong);
}
.pv-home-v2-kidney-number {
    font-size: 18px;
    font-weight: 800;
    letter-spacing: -.5px;
    color: #f2f9ff;
}
.pv-home-v2-kidney-unit {
    font-size: 11px;
    color: var(--pv-home-v2-text-faint);
}
.pv-home-v2-kidney-stage {
    margin-left: auto;
    font-size: 10px;
    font-weight: 750;
    letter-spacing: .06em;
    color: var(--pv-home-v2-ice);
    border: 1px solid var(--pv-home-v2-border-strong);
    border-radius: 5px;
    padding: 4px 9px;
    white-space: nowrap;
}
.pv-home-v2-kidney-rows {
    margin: 0;
    padding: 0;
    list-style: none;
}
.pv-home-v2-kidney-row {
    display: flex;
    justify-content: space-between;
    gap: 14px;
    padding: 4px 0;
    border-bottom: 1px solid rgba(125, 211, 252, .08);
    font-size: 11px;
}
.pv-home-v2-kidney-row:last-child {
    border-bottom: none;
}
.pv-home-v2-kidney-row dt {
    color: var(--pv-home-v2-text-faint);
    font-weight: 650;
    letter-spacing: .04em;
    text-transform: uppercase;
    font-size: 9.5px;
    padding-top: 1px;
}
.pv-home-v2-kidney-row dd {
    margin: 0;
    text-align: right;
    color: #cfe2ee;
    line-height: 1.5;
}
.pv-home-v2-kidney-review {
    margin: 6px 0 0;
    padding-top: 6px;
    border-top: 1px solid rgba(125, 211, 252, .1);
    font-size: 10px;
    font-weight: 650;
    color: #9db8cb;
}

/* --- Medication & timing --- */
.pv-home-v2-meds {
    margin: 0;
    padding: 0;
    list-style: none;
}
.pv-home-v2-med {
    display: flex;
    justify-content: space-between;
    gap: 12px;
    padding: 5px 0;
    border-bottom: 1px solid rgba(125, 211, 252, .08);
    font-size: 11px;
}
.pv-home-v2-med:last-child {
    border-bottom: none;
}
.pv-home-v2-med-name {
    color: #dbeaf3;
    font-weight: 650;
}
.pv-home-v2-med-dose {
    color: var(--pv-home-v2-text-dim);
    text-align: right;
    white-space: nowrap;
}
.pv-home-v2-med-note {
    margin: 6px 0 0;
    font-size: 10px;
    color: var(--pv-home-v2-text-faint);
}

/* --- Evidence trail (compact horizontal strip) --- */
.pv-home-v2-module--evidence {
    padding: 9px 11px 11px;
}
.pv-home-v2-evidence-head {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    justify-content: space-between;
    gap: 2px 12px;
    margin-bottom: 7px;
}
.pv-home-v2-evidence-head .pv-home-v2-module-kicker {
    margin: 0;
}
.pv-home-v2-evidence-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 7px;
}
.pv-home-v2-evidence-cell {
    border: 1px solid rgba(125, 211, 252, .1);
    border-radius: 8px;
    background: rgba(125, 211, 252, .04);
    padding: 6px 8px;
}
.pv-home-v2-evidence-label {
    display: block;
    font-size: 9px;
    font-weight: 800;
    letter-spacing: .14em;
    text-transform: uppercase;
    color: var(--pv-home-v2-text-faint);
    margin-bottom: 2px;
}
.pv-home-v2-evidence-value {
    font-size: 10px;
    font-weight: 700;
    color: #d6e9f4;
    line-height: 1.3;
}
.pv-home-v2-evidence-note {
    margin: 0;
    font-size: 9.5px;
    color: var(--pv-home-v2-text-faint);
}

/* Screen-reader-only data table backing the decorative chart */
.pv-home-v2-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;
}

/* ==========================================================================
   4. CLINICAL-CONTEXT PATHWAY
   ========================================================================== */
.pv-home-v2-pathway {
    position: relative;
    padding: var(--pv-section-spacing) 0;
    background: var(--pv-bg-alt);
    border-top: 1px solid rgba(22, 216, 255, .06);
    border-bottom: 1px solid rgba(22, 216, 255, .06);
    overflow: hidden;
}

.pv-home-v2-pathway-track {
    display: grid;
    grid-template-columns: repeat(4, 1fr) ;
    align-items: stretch;
    gap: 0;
    margin-top: 44px;
}
.pv-home-v2-pathway-step {
    position: relative;
    text-align: center;
    padding: 0 20px;
}
.pv-home-v2-pathway-node {
    position: relative;
    width: 46px;
    height: 46px;
    margin: 0 auto 18px;
    border-radius: 50%;
    border: 1px solid var(--pv-home-v2-border-strong);
    background:
        radial-gradient(circle at 32% 28%, rgba(165, 232, 255, .16), transparent 58%),
        rgba(8, 32, 52, .9);
    box-shadow: 0 0 0 5px rgba(125, 211, 252, .05);
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--pv-home-v2-cyan-strong);
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .02em;
}
.pv-home-v2-pathway-step:last-child .pv-home-v2-pathway-node {
    border-color: rgba(242, 191, 69, .55);
    color: #ffd97a;
    box-shadow: 0 0 0 5px rgba(242, 191, 69, .06), 0 0 24px rgba(242, 191, 69, .12);
}
.pv-home-v2-pathway-title {
    margin: 0 0 6px;
    font-size: 15.5px;
    font-weight: 750;
    color: #eef7fd;
}
.pv-home-v2-pathway-desc {
    margin: 0;
    font-size: 12.5px;
    line-height: 1.55;
    color: var(--pv-home-v2-text-dim);
    max-width: 240px;
    margin-inline: auto;
}
.pv-home-v2-pathway-connector {
    position: absolute;
    top: 23px;
    left: calc(50% + 33px);
    width: calc(100% - 66px);
    height: 1px;
    background: linear-gradient(90deg, rgba(125, 211, 252, .4), rgba(125, 211, 252, .12));
    overflow: visible;
}
.pv-home-v2-pathway-connector::after {
    content: "";
    position: absolute;
    right: -1px;
    top: -3.5px;
    width: 8px;
    height: 8px;
    border-top: 1px solid rgba(125, 211, 252, .5);
    border-right: 1px solid rgba(125, 211, 252, .5);
    transform: rotate(45deg);
}
.pv-home-v2-pathway-step:last-child .pv-home-v2-pathway-connector {
    display: none;
}

/* ==========================================================================
   5. LOWER HERO PILLARS
   ========================================================================== */
.pv-home-v2-pillars {
    padding: var(--pv-section-spacing) 0;
}
.pv-home-v2-pillars-tagline {
    margin: 14px auto 0;
    text-align: center;
    font-size: 14px;
    font-weight: 650;
    letter-spacing: .04em;
    color: var(--pv-home-v2-ice);
}
.pv-home-v2-pillar-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 18px;
    margin-top: 48px;
}
.pv-home-v2-pillar {
    position: relative;
    border: 1px solid rgba(125, 211, 252, .13);
    border-radius: var(--pv-home-v2-radius);
    background: linear-gradient(155deg, rgba(8, 32, 52, .72), rgba(2, 12, 22, .9));
    padding: 30px 26px 28px;
    transition: border-color var(--pv-transition), transform var(--pv-transition);
}
.pv-home-v2-pillar:hover {
    border-color: rgba(125, 211, 252, .3);
    transform: translateY(-2px);
}
.pv-home-v2-pillar-index {
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .2em;
    color: var(--pv-home-v2-text-faint);
}
.pv-home-v2-pillar-icon {
    width: 40px;
    height: 40px;
    margin: 14px 0 18px;
    border-radius: 10px;
    border: 1px solid var(--pv-home-v2-border);
    background: rgba(125, 211, 252, .05);
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--pv-home-v2-cyan-strong);
}
.pv-home-v2-pillar-icon svg {
    width: 19px;
    height: 19px;
}
.pv-home-v2-pillar h3 {
    margin: 0 0 10px;
    font-size: 17.5px;
    font-weight: 750;
    letter-spacing: -.2px;
    color: #eef7fd;
}
.pv-home-v2-pillar p {
    margin: 0;
    font-size: 13.5px;
    line-height: 1.65;
    color: var(--pv-home-v2-text-dim);
}

/* ==========================================================================
   6. RESPONSIVE
   ========================================================================== */
@media (max-width: 1120px) {
    .pv-home-v2-hero-inner {
        grid-template-columns: 1fr;
        gap: 40px;
    }
    .pv-home-v2-connector {
        display: none;
    }
    .pv-home-v2-copy {
        justify-self: center;
        text-align: center;
        max-width: 640px;
    }
    .pv-home-v2-eyebrow {
        justify-content: center;
    }
    .pv-home-v2-lead {
        margin-inline: auto;
    }
    .pv-home-v2-actions,
    .pv-home-v2-trust {
        justify-content: center;
    }
    .pv-home-v2-demo {
        justify-self: center;
    }
    .pv-home-v2-evidence-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

/* Shorter desktop viewports: reclaim vertical room so the full dashboard
   stays visible at 1440x900 without stretching the hero apart. */
@media (min-width: 1121px) and (max-height: 860px) {
    .pv-home-v2-hero-inner {
        --pv-home-v2-pad-top: clamp(32px, 4.5vw, 36px);
        --pv-home-v2-pad-bottom: clamp(24px, 4vw, 32px);
    }
}
@media (min-width: 1121px) and (max-height: 800px) {
    .pv-home-v2-hero-inner {
        --pv-home-v2-pad-top: 28px;
        --pv-home-v2-pad-bottom: 20px;
    }
}

@media (max-width: 980px) and (min-width: 761px) {    .pv-home-v2-pathway-track {
        grid-template-columns: repeat(2, 1fr);
        gap: 30px 16px;
    }
    .pv-home-v2-pathway-connector {
        display: none;
    }
}

@media (max-width: 760px) {
    .pv-home-v2-pathway-track {
        grid-template-columns: 1fr;
        gap: 26px;
    }
    .pv-home-v2-pathway-step {
        padding: 0;
    }
    .pv-home-v2-pathway-connector {
        top: auto;
        left: calc(50% - .5px);
        bottom: -27px;
        width: 1px;
        height: 26px;
        background: linear-gradient(180deg, rgba(125, 211, 252, .4), rgba(125, 211, 252, .12));
    }
    .pv-home-v2-pathway-connector::after {
        right: auto;
        left: -4px;
        top: auto;
        bottom: -2px;
        transform: rotate(135deg);
        border-top: 1px solid rgba(125, 211, 252, .5);
        border-right: 1px solid rgba(125, 211, 252, .5);
    }
    .pv-home-v2-pillar-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 640px) {
    .pv-home-v2-hero-inner {
        padding: 40px 0 52px;
        gap: 32px;
    }
    .pv-home-v2-title {
        font-size: clamp(30px, 8.4vw, 40px);
        letter-spacing: -1.4px;
    }
    .pv-home-v2-lead {
        font-size: 15px;
    }
    .pv-home-v2-actions {
        flex-direction: column;
        align-items: stretch;
    }
    .pv-home-v2-btn {
        width: 100%;
    }
    .pv-home-v2-trust {
        justify-content: flex-start;
    }
    .pv-home-v2-demo-body {
        padding: 16px 14px 18px;
    }
    .pv-home-v2-demo-bar {
        padding: 10px 12px;
        flex-wrap: wrap;
        row-gap: 4px;
    }
    .pv-home-v2-module-row {
        grid-template-columns: 1fr;
    }
    .pv-home-v2-annotations {
        grid-template-columns: 1fr;
    }
    .pv-home-v2-evidence-grid {
        grid-template-columns: 1fr;
    }
    .pv-home-v2-trends-scroll {
        margin-inline: -14px;
        border-left: none;
        border-right: none;
        border-radius: 0;
        -webkit-mask-image: linear-gradient(90deg, #000 0, #000 calc(100% - 30px), transparent calc(100% - 4px));
        mask-image: linear-gradient(90deg, #000 0, #000 calc(100% - 30px), transparent calc(100% - 4px));
    }
    .pv-home-v2-trends-swipe {
        display: flex;
        align-items: center;
        justify-content: flex-end;
        gap: 7px;
        margin-top: 2px;
        font-size: 9.5px;
        font-weight: 800;
        letter-spacing: .14em;
        text-transform: uppercase;
        color: #5f7a90;
    }
    .pv-home-v2-trends-swipe svg {
        width: 11px;
        height: 11px;
        flex-shrink: 0;
    }
    .pv-home-v2-kidney-stage {
        margin-left: 0;
    }
}

/* ==========================================================================
   7. MOTION & FOCUS SAFETY
   ========================================================================== */
@media (prefers-reduced-motion: reduce) {
    .pv-home-v2-btn,
    .pv-home-v2-pillar {
        transition: none;
    }
    .pv-home-v2-btn:hover,
    .pv-home-v2-pillar:hover {
        transform: none;
    }
}
.pv-home-v2-demo a:focus-visible,
.pv-home-v2-pathway a:focus-visible,
.pv-home-v2-pillar a:focus-visible {
    outline: 2px solid var(--pv-home-v2-cyan-strong);
    outline-offset: 3px;
    border-radius: 4px;
}
