.bw-journey-readiness {
    --bw-jr-accent: #F30101;
    --bw-jr-ink: #111111;
    --bw-jr-copy: #3f3f3f;
    --bw-jr-muted: #6c6c6c;
    --bw-jr-border: rgba(17, 17, 17, .10);
    --bw-jr-surface: #fbf8f2;
    --bw-jr-panel: rgba(255, 255, 255, .48);
    background: var(--bw-jr-surface);
    color: var(--bw-jr-ink);
    padding: 30px 0 34px;
    overflow: clip;
}

.bw-journey-readiness * { box-sizing: border-box; }

.bw-journey-readiness__sr-only {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    margin: -1px !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    white-space: nowrap !important;
    border: 0 !important;
}

.bw-journey-readiness__header {
    max-width: 1220px;
    margin: 0 auto 14px;
    text-align: center;
}

.bw-journey-readiness__eyebrow-wrap {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 14px;
}

.bw-journey-readiness__eyebrow-line {
    width: 72px;
    height: 1px;
    background: var(--bw-jr-accent);
}

.bw-journey-readiness__eyebrow {
    margin: 0;
    font-family: "TeX Gyre Adventor", "Avenir Next", Avenir, Arial, sans-serif;
    font-size: 12px;
    line-height: 1.3;
    font-weight: 600;
    letter-spacing: .14em;
    text-transform: uppercase;
    color: var(--bw-jr-accent);
}

.bw-journey-readiness__title {
    margin: 8px 0 0;
    font-family: "Cormorant Garamond", Baskerville, "Iowan Old Style", Georgia, serif;
    font-size: clamp(40px, 3.2vw, 58px);
    line-height: 1.03;
    font-weight: 500;
    letter-spacing: -.018em;
    color: var(--bw-jr-ink);
    font-synthesis: none;
}

.bw-journey-readiness__intro {
    max-width: 820px;
    margin: 8px auto 0;
    font-family: "TeX Gyre Adventor", "Avenir Next", Avenir, Arial, sans-serif;
    font-size: 14px;
    line-height: 1.45;
    font-weight: 400;
    color: var(--bw-jr-copy);
}

.bw-journey-readiness__amenities {
    border: 1px solid var(--bw-jr-border);
    border-radius: 14px;
    background: var(--bw-jr-panel);
}

.bw-journey-readiness__amenity-list {
    display: grid;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    margin: 0;
    padding: 10px 14px;
    list-style: none;
}

.bw-journey-readiness__amenity {
    min-width: 0;
    display: grid;
    grid-template-columns: 36px minmax(0, 1fr);
    align-items: center;
    gap: 9px;
    padding: 0 13px;
    border-right: 1px solid var(--bw-jr-border);
    font-family: "TeX Gyre Adventor", "Avenir Next", Avenir, Arial, sans-serif;
}

.bw-journey-readiness__amenity:last-child { border-right: 0; }
.bw-journey-readiness--no-amenity-dividers .bw-journey-readiness__amenity { border-right: 0; }

.bw-journey-readiness__amenity-icon {
    display: grid;
    place-items: center;
    width: 32px;
    height: 32px;
    color: var(--bw-jr-accent);
}

.bw-journey-readiness__amenity-icon svg,
.bw-journey-readiness__benefit-icon svg,
.bw-journey-readiness__note svg,
.bw-journey-readiness__cta svg {
    width: 100%;
    height: 100%;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.55;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.bw-journey-readiness__amenity-text,
.bw-journey-readiness__benefit-text {
    min-width: 0;
    display: block;
}

.bw-journey-readiness__amenity-title {
    display: block;
    font-size: 10.5px;
    line-height: 1.3;
    font-weight: 600;
    color: var(--bw-jr-ink);
}

.bw-journey-readiness__amenity-copy {
    display: block;
    margin-top: 3px;
    font-size: 8.9px;
    line-height: 1.35;
    font-weight: 400;
    color: var(--bw-jr-muted);
}

.bw-journey-readiness__amenity-note {
    margin: 7px 0 0;
    text-align: center;
    font-family: "TeX Gyre Adventor", "Avenir Next", Avenir, Arial, sans-serif;
    font-size: 9.6px;
    line-height: 1.4;
    color: var(--bw-jr-muted);
}

.bw-journey-readiness__timeline {
    margin-top: 10px;
}

.bw-journey-readiness__timeline-stage {
    position: relative;
    min-height: 250px;
}

.bw-journey-readiness__timeline-line {
    position: absolute;
    z-index: 0;
    top: 34px;
    left: 6.5%;
    right: 6.5%;
    height: 1px;
    background: var(--bw-jr-accent);
}

.bw-journey-readiness--no-line .bw-journey-readiness__timeline-line { display: none; }

.bw-journey-readiness__timeline-list {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: repeat(7, minmax(0, 1fr));
    align-items: start;
    margin: 0;
    padding: 0;
    list-style: none;
}

.bw-journey-readiness__step {
    position: relative;
    min-width: 0;
    padding: 5px 12px 0;
    text-align: center;
    font-family: "TeX Gyre Adventor", "Avenir Next", Avenir, Arial, sans-serif;
}

.bw-journey-readiness__step--1 { grid-column: 1; }
.bw-journey-readiness__step--2 { grid-column: 2; }
.bw-journey-readiness__step--3 { grid-column: 5; }
.bw-journey-readiness__step--4 { grid-column: 6; }
.bw-journey-readiness__step--5 { grid-column: 7; }

.bw-journey-readiness__step-marker {
    position: relative;
    z-index: 3;
    display: grid;
    place-items: center;
    width: 48px;
    height: 48px;
    margin: 0 auto;
    border: 1.5px solid var(--bw-jr-accent);
    border-radius: 999px;
    background: var(--bw-jr-surface);
    box-shadow: 0 0 0 4px var(--bw-jr-surface), 0 0 0 5px rgba(243, 1, 1, .20);
}

.bw-journey-readiness__step-number {
    display: grid;
    place-items: center;
    width: 38px;
    height: 38px;
    border: 1px solid rgba(243, 1, 1, .28);
    border-radius: 999px;
    font-size: 13.5px;
    line-height: 1;
    font-weight: 600;
    color: var(--bw-jr-accent);
}

.bw-journey-readiness__step-dot {
    display: block;
    width: 7px;
    height: 7px;
    margin: 8px auto 8px;
    border-radius: 999px;
    background: var(--bw-jr-accent);
}

.bw-journey-readiness__step-title {
    margin: 0;
    font-family: "TeX Gyre Adventor", "Avenir Next", Avenir, Arial, sans-serif;
    font-size: 13.5px;
    line-height: 1.3;
    font-weight: 600;
    color: var(--bw-jr-ink);
}

.bw-journey-readiness__step-copy {
    max-width: 175px;
    margin: 5px auto 0;
    font-size: 10.4px;
    line-height: 1.38;
    font-weight: 400;
    color: var(--bw-jr-copy);
}

.bw-journey-readiness__vehicle {
    position: absolute;
    z-index: 2;
    top: 30px;
    left: 250%;
    width: min(210px, 12vw);
    aspect-ratio: 1 / 1;
    transform: translateX(-50%);
    display: grid;
    place-items: center;
    border-radius: 50%;
    background: var(--bw-jr-surface);
}

.bw-journey-readiness__vehicle::before {
    content: "";
    position: absolute;
    inset: -12px;
    border-radius: 50%;
    background: repeating-conic-gradient(from 0deg, rgba(243,1,1,.13) 0 1deg, transparent 1deg 4deg);
    -webkit-mask: radial-gradient(circle, transparent 0 68%, #000 69% 73%, transparent 74%);
    mask: radial-gradient(circle, transparent 0 68%, #000 69% 73%, transparent 74%);
    pointer-events: none;
}

.bw-journey-readiness--no-vehicle-ring .bw-journey-readiness__vehicle::before,
.bw-journey-readiness--no-vehicle-ring .bw-journey-readiness__vehicle-ring { display: none; }

.bw-journey-readiness__vehicle-ring {
    position: absolute;
    inset: 7px;
    border: 1.4px solid var(--bw-jr-accent);
    border-radius: 50%;
    pointer-events: none;
}

.bw-journey-readiness__vehicle-image {
    position: relative;
    z-index: 2;
    display: block;
    width: 94%;
    height: auto;
    object-fit: contain;
    mix-blend-mode: multiply;
    object-position: center center;
}

.bw-journey-readiness__benefits {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    margin: 8px 0 0;
    padding: 8px 0;
    list-style: none;
    border: 1px solid var(--bw-jr-border);
    border-radius: 13px;
    background: var(--bw-jr-panel);
}

.bw-journey-readiness__benefit {
    min-width: 0;
    display: grid;
    grid-template-columns: 42px minmax(0, 1fr);
    gap: 10px;
    align-items: center;
    padding: 2px 15px;
    border-right: 1px solid var(--bw-jr-border);
    font-family: "TeX Gyre Adventor", "Avenir Next", Avenir, Arial, sans-serif;
}

.bw-journey-readiness__benefit:last-child { border-right: 0; }
.bw-journey-readiness--no-benefit-dividers .bw-journey-readiness__benefit { border-right: 0; }

.bw-journey-readiness__benefit-icon {
    display: grid;
    place-items: center;
    width: 38px;
    height: 38px;
    padding: 8px;
    color: var(--bw-jr-accent);
    border-radius: 999px;
    background: rgba(243, 1, 1, .045);
}

.bw-journey-readiness__benefit-title {
    display: block;
    font-size: 12px;
    line-height: 1.3;
    font-weight: 600;
    color: var(--bw-jr-ink);
}

.bw-journey-readiness__benefit-copy {
    display: block;
    margin-top: 4px;
    font-size: 9.6px;
    line-height: 1.42;
    font-weight: 400;
    color: var(--bw-jr-copy);
}

.bw-journey-readiness__footer {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;
    gap: 10px 16px;
    margin-top: 8px;
    font-family: "TeX Gyre Adventor", "Avenir Next", Avenir, Arial, sans-serif;
}

.bw-journey-readiness__note {
    display: flex;
    align-items: center;
    gap: 8px;
    margin: 0;
    font-size: 10.5px;
    line-height: 1.45;
    color: var(--bw-jr-copy);
}

.bw-journey-readiness__note span {
    width: 20px;
    height: 20px;
    padding: 3px;
    color: var(--bw-jr-accent);
}

.bw-journey-readiness__cta {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    color: var(--bw-jr-accent);
    font-family: "TeX Gyre Adventor", "Avenir Next", Avenir, Arial, sans-serif;
    font-size: 11px;
    line-height: 1.35;
    font-weight: 600;
    text-decoration: none;
}

.bw-journey-readiness__cta span { width: 18px; height: 18px; }
.bw-journey-readiness__cta:hover { text-decoration: underline; text-underline-offset: 4px; }
.bw-journey-readiness__cta:focus-visible { outline: 2px solid var(--bw-jr-accent); outline-offset: 4px; border-radius: 2px; }


@media (min-width: 1200px) and (max-height: 900px) {
    .bw-journey-readiness { padding-top: 24px; padding-bottom: 28px; }
    .bw-journey-readiness__header { margin-bottom: 11px; }
    .bw-journey-readiness__title { font-size: clamp(38px, 2.9vw, 54px); }
    .bw-journey-readiness__intro { margin-top: 6px; }
    .bw-journey-readiness__timeline-stage { min-height: 232px; }
    .bw-journey-readiness__vehicle { top: 27px; width: min(198px, 11.5vw); }
    .bw-journey-readiness__benefits { margin-top: 6px; }
    .bw-journey-readiness__footer { margin-top: 6px; }
}

@media (max-width: 1199px) {
    .bw-journey-readiness { padding: 52px 0 56px; }
    .bw-journey-readiness__amenity-list { grid-template-columns: repeat(3, minmax(0, 1fr)); padding: 8px 16px; }
    .bw-journey-readiness__amenity { padding: 12px 18px; }
    .bw-journey-readiness__amenity:nth-child(3n) { border-right: 0; }
    .bw-journey-readiness__amenity:nth-child(-n+3) { border-bottom: 1px solid var(--bw-jr-border); }
    .bw-journey-readiness__timeline-stage { min-height: 270px; }
    .bw-journey-readiness__step { padding-left: 12px; padding-right: 12px; }
    .bw-journey-readiness__step-copy { font-size: 11px; }
    .bw-journey-readiness__vehicle { width: min(270px, 21vw); }
}

@media (max-width: 991px) {
    .bw-journey-readiness__timeline-stage { min-height: 0; }
    .bw-journey-readiness__timeline-line {
        top: 36px;
        bottom: 36px;
        left: 29px;
        right: auto;
        width: 1px;
        height: auto;
    }
    .bw-journey-readiness__timeline-list {
        display: block;
        max-width: 760px;
        margin: 0 auto;
    }
    .bw-journey-readiness__step {
        display: grid;
        grid-template-columns: 60px minmax(0, 1fr);
        grid-template-rows: auto auto;
        column-gap: 18px;
        text-align: left;
        padding: 10px 0 18px;
    }
    .bw-journey-readiness__step-marker {
        grid-column: 1;
        grid-row: 1 / span 2;
        width: 58px;
        height: 58px;
        margin: 0;
    }
    .bw-journey-readiness__step-dot { display: none; }
    .bw-journey-readiness__step-title {
        grid-column: 2;
        grid-row: 1;
        align-self: end;
        padding-top: 4px;
    }
    .bw-journey-readiness__step-copy {
        grid-column: 2;
        grid-row: 2;
        max-width: 600px;
        margin: 4px 0 0;
    }
    .bw-journey-readiness__vehicle {
        position: relative;
        top: auto;
        left: auto;
        width: min(86%, 320px);
        margin: 22px auto 12px;
        transform: none;
        grid-column: 1 / -1;
        grid-row: auto;
    }
    .bw-journey-readiness__benefits { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .bw-journey-readiness__benefit:nth-child(2n) { border-right: 0; }
    .bw-journey-readiness__benefit:nth-child(-n+2) { border-bottom: 1px solid var(--bw-jr-border); padding-bottom: 12px; margin-bottom: 8px; }
}

@media (max-width: 767px) {
    .bw-journey-readiness { padding: 44px 0 48px; }
    .bw-journey-readiness__header { margin-bottom: 18px; }
    .bw-journey-readiness__eyebrow-wrap { gap: 10px; }
    .bw-journey-readiness__eyebrow-line { width: 36px; }
    .bw-journey-readiness__eyebrow { font-size: 11px; letter-spacing: .12em; }
    .bw-journey-readiness__title { font-size: clamp(37px, 11vw, 52px); }
    .bw-journey-readiness__intro { font-size: 14px; line-height: 1.5; }
    .bw-journey-readiness__amenity-list { grid-template-columns: repeat(2, minmax(0, 1fr)); padding: 6px 10px; }
    .bw-journey-readiness__amenity { min-width: 0; padding: 11px 10px; border-right: 1px solid var(--bw-jr-border); border-bottom: 1px solid var(--bw-jr-border); }
    .bw-journey-readiness__amenity:nth-child(2n) { border-right: 0; }
    .bw-journey-readiness__amenity:nth-last-child(-n+2) { border-bottom: 0; }
    .bw-journey-readiness__amenity:nth-child(3n) { border-right: 1px solid var(--bw-jr-border); }
    .bw-journey-readiness__amenity:nth-child(-n+3) { border-bottom: 1px solid var(--bw-jr-border); }
    .bw-journey-readiness__amenity-icon { width: 34px; height: 34px; }
    .bw-journey-readiness__amenity-title { font-size: 11.8px; }
    .bw-journey-readiness__amenity-copy { font-size: 9.4px; }
    .bw-journey-readiness__amenity-note { font-size: 11px; }
    .bw-journey-readiness__timeline { margin-top: 16px; }
    .bw-journey-readiness__timeline-line { left: 25px; }
    .bw-journey-readiness__step { grid-template-columns: 52px minmax(0, 1fr); column-gap: 14px; padding-bottom: 16px; }
    .bw-journey-readiness__step-marker { width: 50px; height: 50px; }
    .bw-journey-readiness__step-number { width: 40px; height: 40px; font-size: 16px; }
    .bw-journey-readiness__step-title { font-size: 14px; }
    .bw-journey-readiness__step-copy { font-size: 11px; line-height: 1.45; }
    .bw-journey-readiness__benefit { grid-template-columns: 42px minmax(0, 1fr); gap: 10px; padding: 10px 12px; }
    .bw-journey-readiness__benefit-icon { width: 40px; height: 40px; }
    .bw-journey-readiness__benefit-title { font-size: 12px; }
    .bw-journey-readiness__benefit-copy { font-size: 10.2px; }
    .bw-journey-readiness__footer { align-items: flex-start; }
    .bw-journey-readiness__note { font-size: 10.8px; }
}

@media (max-width: 389px) {
    .bw-journey-readiness__amenity-list,
    .bw-journey-readiness__benefits { grid-template-columns: 1fr; }
    .bw-journey-readiness__amenity,
    .bw-journey-readiness__amenity:nth-child(2n),
    .bw-journey-readiness__amenity:nth-child(3n) {
        border-right: 0;
        border-bottom: 1px solid var(--bw-jr-border);
    }
    .bw-journey-readiness__amenity:last-child { border-bottom: 0; }
    .bw-journey-readiness__benefit,
    .bw-journey-readiness__benefit:nth-child(2n) {
        border-right: 0;
        border-bottom: 1px solid var(--bw-jr-border);
        margin: 0;
        padding: 11px 14px;
    }
    .bw-journey-readiness__benefit:last-child { border-bottom: 0; }
}

@media (prefers-reduced-motion: reduce) {
    .bw-journey-readiness *,
    .bw-journey-readiness *::before,
    .bw-journey-readiness *::after {
        scroll-behavior: auto !important;
        animation: none !important;
        transition: none !important;
    }
}
