/* =====================================================================
   Per-lander style overrides — knee-replacement-alternatives
   Loads AFTER /lander-shared/base.css. Never edit base.css from here.

   VISUAL DIRECTION: "decision-support gravitas".
   This page meets someone who has been told they may need surgery, so the
   skin is deliberately calmer and more institutional than the default
   lander: Brand Blue (#142950) carries the structure (section headers,
   the timeline spine, the trust band), Silver (#D3D3D3) carries the
   dividers, and Kinetix Green (#39B54A) is rationed down to CTAs and the
   one path we actually operate — per brand rule "green is an accent,
   never a large block fill".
   ===================================================================== */

:root {
    --lpv-blue: #142950;
    --lpv-blue-2: #1d3a6d;
    --lpv-blue-soft: rgba(20, 41, 80, 0.06);
    --lpv-blue-line: rgba(20, 41, 80, 0.16);
    --lpv-silver: #D3D3D3;
    --lpv-silver-soft: #eef1f5;
    --lpv-band: #f2f5f9;
}

/* ───────────────────────── HEADER ───────────────────────── */
/* Thin blue rule at the very top — reads as a document header, not a
   marketing bar. */
.lp-header {
    border-top: 3px solid var(--lpv-blue);
    border-bottom: 1px solid var(--lpv-silver);
}

.lp-header-phone i { color: var(--lpv-blue); }
.lp-header-phone:hover { background: var(--lpv-blue-soft); }

/* ───────────────────────── HERO ───────────────────────── */
/* Cool blue-grey wash instead of the base green wash. */
.lp-hero {
    background:
        radial-gradient(circle at 0% 0%, rgba(20, 41, 80, 0.07) 0%, transparent 42%),
        linear-gradient(180deg, #eef2f7 0%, #ffffff 100%);
    border-bottom: 1px solid var(--lpv-silver);
}

.lp-hero-figure {
    border-radius: 4px;
    border: 1px solid var(--lpv-silver);
    box-shadow: 0 18px 40px rgba(20, 41, 80, 0.14);
}

.lp-hero-h1 { color: var(--lpv-blue); letter-spacing: -0.7px; }

.lp-hero-sub {
    border-left: 3px solid var(--lpv-silver);
    padding-left: 14px;
}

.lp-hero-microtrust .lp-dot { color: var(--lpv-silver); }

/* ───────────────────────── FORM CARD ───────────────────────── */
/* Card keeps its green top rule (it is the conversion surface) but the
   frame goes navy so it reads as the anchored object on the page. */
.lp-form-card {
    border: 1px solid var(--lpv-blue-line);
    border-radius: 6px;
    box-shadow: 0 22px 55px rgba(20, 41, 80, 0.20);
}

.lp-form-card::before {
    border-top-left-radius: 6px;
    border-top-right-radius: 6px;
}

.lp-form-card-h2 { color: var(--lpv-blue); }

.lp-input.form-control,
.lp-input.form-select { border-radius: 6px; }

/* ───────────────────────── TRUST STRIP ───────────────────────── */
/* Solid navy band directly under the hero — a hard horizontal beat that
   the default alternating light/white rhythm does not have. */
.lp-trust-strip {
    background: var(--lpv-blue);
    border-top: none;
    border-bottom: 3px solid var(--qck-green);
}

.lp-trust-item { color: #fff; }
.lp-trust-item i { color: var(--qck-green); }

/* ───────────────────────── SECTION FURNITURE ───────────────────────── */
.lp-section-light { background: var(--lpv-band); }

.lp-section-h2 { color: var(--lpv-blue); }
.lp-section-h2-light { color: #fff; }

/* Eyebrow becomes a small ruled label rather than a green micro-headline. */
.lp-section-eyebrow {
    color: var(--lpv-blue);
    display: inline-block;
    padding-bottom: 8px;
    border-bottom: 2px solid var(--lpv-silver);
    letter-spacing: 2.2px;
}

.lp-section-dark {
    background: linear-gradient(140deg, var(--lpv-blue) 0%, #0c1b34 100%);
}

/* Alternate band used for the FAQ so the page does not simply alternate
   light/white all the way down. */
.lpv-band-silver {
    background: linear-gradient(180deg, #ffffff 0%, var(--lpv-silver-soft) 100%);
    border-top: 1px solid var(--lpv-silver);
}

/* ───────────────────────── CONSIDERATION CARDS ───────────────────────── */
.lp-treat-card {
    border: 1px solid var(--lpv-silver);
    border-left: 3px solid var(--lpv-blue);
    border-radius: 4px;
    text-align: left;
    align-items: flex-start;
}

.lp-treat-card:hover {
    border-color: var(--lpv-silver);
    border-left-color: var(--qck-green);
    box-shadow: 0 10px 28px rgba(20, 41, 80, 0.10);
}

.lp-treat-icon {
    background: var(--lpv-blue-soft);
    color: var(--lpv-blue);
    border-radius: 8px;
}

.lp-treat-card h3 { color: var(--lpv-blue); }

/* ───────────────────────── HOW IT WORKS ───────────────────────── */
.lp-step {
    background: #fff;
    border: 1px solid var(--lpv-silver);
    border-top: 3px solid var(--lpv-blue);
    border-radius: 4px;
    text-align: left;
}

.lp-step-num {
    background: var(--lpv-blue);
    border-radius: 6px;
    margin: 0 0 16px;
}

.lp-step h3 { color: var(--lpv-blue); }

/* ───────────────────────── WHAT WE OFFER ───────────────────────── */
.lp-why-img {
    border-radius: 4px;
    border: 1px solid var(--lpv-silver);
    box-shadow: 0 18px 40px rgba(20, 41, 80, 0.14);
}

/* ───────────────────────── TESTIMONIALS ───────────────────────── */
.lp-testimonial {
    background: #fff;
    border: 1px solid var(--lpv-silver);
    border-left: 3px solid var(--lpv-silver);
    border-radius: 4px;
}

.lp-testimonial-meta strong { color: var(--lpv-blue); }

/* ───────────────────────── LOCATIONS ───────────────────────── */
.lp-location-card {
    border: 1px solid var(--lpv-silver);
    border-radius: 4px;
}

.lp-location-body h3 { color: var(--lpv-blue); }

/* ───────────────────────── FAQ ───────────────────────── */
.lp-accordion .lp-faq-item {
    border: 1px solid var(--lpv-silver);
    border-radius: 4px !important;
}

.lp-accordion .lp-faq-btn {
    border-radius: 4px !important;
    color: var(--lpv-blue);
}

.lp-accordion .lp-faq-btn:not(.collapsed) {
    background: var(--lpv-blue);
    color: #fff;
}

.lp-accordion .lp-faq-btn:not(.collapsed)::after { color: var(--qck-green); }

/* =====================================================================
   SIGNATURE SECTION — "Two paths from here" decision timeline
   Pure CSS. Two stepped columns sharing a header; each column has a
   vertical spine with numbered nodes. Silver/navy spine = the surgical
   path (neutral, respectful, not ours). Green spine = the path we
   actually operate. Stacks to a single column below 992px.
   ===================================================================== */
.lpv-paths {
    background:
        radial-gradient(circle at 100% 0%, rgba(57, 181, 74, 0.10) 0%, transparent 45%),
        linear-gradient(150deg, var(--lpv-blue) 0%, #0c1b34 100%);
    color: #fff;
}

.lpv-paths .lp-section-eyebrow {
    color: #fff;
    border-bottom-color: rgba(255, 255, 255, 0.35);
}

.lpv-paths-sub {
    color: rgba(255, 255, 255, 0.78);
    font-size: 17px;
    line-height: 1.6;
    margin: 0;
}

.lpv-path {
    height: 100%;
    display: flex;
    flex-direction: column;
    background: rgba(255, 255, 255, 0.045);
    border: 1px solid rgba(255, 255, 255, 0.14);
    border-radius: 6px;
    padding: 26px 24px 22px;
}

.lpv-path-alt {
    background: rgba(57, 181, 74, 0.07);
    border-color: rgba(57, 181, 74, 0.38);
}

.lpv-path-label {
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 2px;
    text-transform: uppercase;
    color: var(--lpv-silver);
    margin-bottom: 6px;
}

.lpv-path-alt .lpv-path-label { color: var(--qck-green); }

.lpv-path-title {
    font-size: 21px;
    font-weight: 800;
    line-height: 1.25;
    color: #fff;
    margin: 0 0 20px;
}

/* The spine: a single left border on the list, with each step's node
   sitting on top of it. */
.lpv-timeline {
    list-style: none;
    margin: 0 0 18px;
    padding: 0 0 0 34px;
    position: relative;
}

.lpv-timeline::before {
    content: '';
    position: absolute;
    left: 11px;
    top: 6px;
    bottom: 6px;
    width: 2px;
    background: linear-gradient(180deg, var(--lpv-silver) 0%, rgba(211, 211, 211, 0.25) 100%);
}

.lpv-path-alt .lpv-timeline::before {
    background: linear-gradient(180deg, var(--qck-green) 0%, rgba(57, 181, 74, 0.30) 100%);
}

.lpv-step {
    position: relative;
    padding-bottom: 22px;
}

.lpv-step:last-child { padding-bottom: 0; }

/* Node marker on the spine */
.lpv-step::before {
    content: '';
    position: absolute;
    left: -34px;
    top: 4px;
    width: 24px;
    height: 24px;
    border-radius: 50%;
    background: #0c1b34;
    border: 2px solid var(--lpv-silver);
}

.lpv-path-alt .lpv-step::before { border-color: var(--qck-green); }

/* Inner dot */
.lpv-step::after {
    content: '';
    position: absolute;
    left: -26px;
    top: 12px;
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: var(--lpv-silver);
}

.lpv-path-alt .lpv-step::after { background: var(--qck-green); }

.lpv-step-title {
    font-size: 16px;
    font-weight: 800;
    color: #fff;
    margin: 0 0 4px;
    line-height: 1.35;
}

.lpv-step-body {
    font-size: 14.5px;
    line-height: 1.6;
    color: rgba(255, 255, 255, 0.76);
    margin: 0;
}

/* base.css sets a global `.lp-section p` color — re-assert inside the
   dark band so copy stays legible. */
.lpv-paths p { color: rgba(255, 255, 255, 0.76); }

.lpv-path-note {
    margin-top: auto;
    padding-top: 14px;
    border-top: 1px solid rgba(255, 255, 255, 0.16);
    font-size: 13.5px !important;
    line-height: 1.55;
    color: rgba(255, 255, 255, 0.62) !important;
    margin-bottom: 0 !important;
}

.lpv-paths-footnote {
    text-align: center;
    max-width: 780px;
    margin: 30px auto 0 !important;
    font-size: 14px !important;
    line-height: 1.6;
    color: rgba(255, 255, 255, 0.60) !important;
}

/* ─────────────── SIGNATURE SECTION — RESPONSIVE ─────────────── */

/* Desktop only: a hairline divider between the two paths so they read as
   a comparison rather than two unrelated cards. */
@media (min-width: 992px) {
    .lpv-paths-grid { position: relative; }
    .lpv-paths-grid::before {
        content: '';
        position: absolute;
        left: 50%;
        top: 8%;
        bottom: 8%;
        width: 1px;
        background: rgba(211, 211, 211, 0.28);
    }
}

@media (max-width: 991.98px) {
    .lpv-path { padding: 22px 18px 20px; }
    .lpv-path-title { font-size: 19px; }
}

@media (max-width: 767.98px) {
    .lpv-paths-sub { font-size: 15px; }
    .lpv-path { padding: 20px 16px 18px; }
    .lpv-path-title { font-size: 18px; margin-bottom: 16px; }
    .lpv-timeline { padding-left: 30px; }
    .lpv-timeline::before { left: 9px; }
    .lpv-step { padding-bottom: 18px; }
    .lpv-step::before { left: -30px; width: 20px; height: 20px; }
    .lpv-step::after { left: -24px; top: 10px; width: 6px; height: 6px; }
    .lpv-step-title { font-size: 15px; }
    .lpv-step-body { font-size: 13.5px; }

    /* The consideration cards drop their body copy at 380px in base.css;
       keep the left rule visible so the grid still reads as a list. */
    .lp-treat-card { padding: 16px 14px; }
}
