
/* JH WPC How We Work — Visual Match V2.3
 * Pure presentation layer for existing zeroY V0.3 markup.
 */
body.jhwpc-hww-v230-active .jhwpc-how-v03,
body.jhwpc-hww-v230-active .jhwpc-how-v03 * {
    box-sizing: border-box;
}

body.jhwpc-hww-v230-active .jhwpc-how-v03 {
    --hww-green: #17473c;
    --hww-green-2: #245447;
    --hww-gold: #b88755;
    --hww-text: #202724;
    --hww-muted: #5f6964;
    --hww-border: #dde2de;
    --hww-warm: #f6f1ea;
    --hww-soft: #f7f7f4;
}

/* HERO */
body.jhwpc-hww-v230-active .jhwpc-how-v03-hero {
    padding: 0 !important;
    background: linear-gradient(90deg, #faf8f4 0%, #fff 50%, #fff 100%) !important;
    overflow: hidden;
}

body.jhwpc-hww-v230-active .jhwpc-how-v03-hero > .jhwpc-container {
    width: min(100% - 56px, 1280px) !important;
    max-width: 1280px !important;
    margin-inline: auto !important;
}

body.jhwpc-hww-v230-active .jhwpc-how-v03-hero__grid {
    display: grid !important;
    grid-template-columns: minmax(0, .86fr) minmax(0, 1.14fr) !important;
    gap: 20px !important;
    align-items: center !important;
    min-height: 336px !important;
}

body.jhwpc-hww-v230-active .jhwpc-how-v03-hero__copy {
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    gap: 0 !important;
    max-width: none !important;
    padding: 40px 10px 38px 0 !important;
}

body.jhwpc-hww-v230-active .jhwpc-how-v03-hero__copy .jhwpc-eyebrow {
    margin: 0 0 18px !important;
    color: var(--hww-green-2) !important;
    font-size: 10px !important;
    letter-spacing: .11em !important;
}

body.jhwpc-hww-v230-active .jhwpc-how-v03-hero__copy .jhwpc-h1 {
    max-width: none !important;
    margin: 0 !important;
    color: var(--hww-text) !important;
    font-size: clamp(36px, 3.55vw, 50px) !important;
    font-weight: 780 !important;
    line-height: 1.08 !important;
    letter-spacing: -.035em !important;
    white-space: nowrap !important;
}

body.jhwpc-hww-v230-active .jhwpc-how-v03-hero__copy .jhwpc-lead {
    max-width: 505px !important;
    margin: 18px 0 0 !important;
    color: var(--hww-muted) !important;
    font-size: 14px !important;
    line-height: 1.72 !important;
}

body.jhwpc-hww-v230-active .jhwpc-how-v03-hero__copy .jhwpc-actions {
    gap: 12px !important;
    margin-top: 25px !important;
}

body.jhwpc-hww-v230-active .jhwpc-how-v03-hero__copy .jhwpc-btn {
    min-height: 42px !important;
    padding: 10px 18px !important;
    border-radius: 5px !important;
    font-size: 12px !important;
}

body.jhwpc-hww-v230-active .jhwpc-how-v03-hero__visual {
    position: relative !important;
    min-width: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
    overflow: hidden !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    background: #fff !important;
}

body.jhwpc-hww-v230-active .jhwpc-how-v03-hero__media {
    overflow: hidden !important;
    aspect-ratio: 536 / 275 !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    background: var(--hww-warm) !important;
}

body.jhwpc-hww-v230-active .jhwpc-how-v03-hero__media img,
body.jhwpc-hww-v230-active .jhwpc-how-v03-hero__media .jhwpc-how-hero__image,
body.jhwpc-hww-v230-active .jhwpc-how-v03-hero__media .jhwpc-how-v03-hero__image {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    min-height: 0 !important;
    aspect-ratio: auto !important;
    object-fit: cover !important;
    object-position: center !important;
}

body.jhwpc-hww-v230-active .jhwpc-how-v03-hero__signals {
    position: relative !important;
    inset: auto !important;
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0,1fr)) !important;
    min-height: 48px !important;
    overflow: hidden !important;
    border-radius: 0 0 8px 8px !important;
    background: var(--hww-green) !important;
    box-shadow: 0 8px 20px rgba(23,71,60,.12) !important;
}

body.jhwpc-hww-v230-active .jhwpc-how-v03-hero__signals > div {
    display: flex !important;
    gap: 7px !important;
    align-items: center !important;
    justify-content: center !important;
    min-height: 48px !important;
    padding: 8px 7px !important;
    border-right: 1px solid rgba(255,255,255,.12) !important;
}

body.jhwpc-hww-v230-active .jhwpc-how-v03-hero__signals > div:last-child {
    border-right: 0 !important;
}

body.jhwpc-hww-v230-active .jhwpc-how-v03-hero__signals strong {
    color: #fff !important;
    font-size: 10px !important;
    font-weight: 700 !important;
    line-height: 1.25 !important;
    white-space: nowrap !important;
}

body.jhwpc-hww-v230-active .jhwpc-hww-v230-signal-icon {
    width: 18px;
    height: 18px;
    flex: 0 0 18px;
    fill: none;
    stroke: #fff;
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;
}

/* GLOBAL SECTION RHYTHM */
body.jhwpc-hww-v230-active .jhwpc-how-v03-process,
body.jhwpc-hww-v230-active .jhwpc-how-v03-before,
body.jhwpc-hww-v230-active .jhwpc-how-v03-middle,
body.jhwpc-hww-v230-active .jhwpc-how-v03-final {
    padding-top: 34px !important;
    padding-bottom: 36px !important;
}

body.jhwpc-hww-v230-active .jhwpc-how-v03-process > .jhwpc-container,
body.jhwpc-hww-v230-active .jhwpc-how-v03-before > .jhwpc-container,
body.jhwpc-hww-v230-active .jhwpc-how-v03-middle > .jhwpc-container,
body.jhwpc-hww-v230-active .jhwpc-how-v03-final > .jhwpc-container {
    width: min(100% - 56px, 1280px) !important;
    max-width: 1280px !important;
    margin-inline: auto !important;
}

body.jhwpc-hww-v230-active .jhwpc-how-v03-head {
    max-width: 780px !important;
    margin-bottom: 22px !important;
}

body.jhwpc-hww-v230-active .jhwpc-how-v03-head .jhwpc-h2,
body.jhwpc-hww-v230-active .jhwpc-how-v03-panel .jhwpc-h2 {
    margin-top: 8px !important;
    font-size: clamp(24px, 2.45vw, 33px) !important;
    line-height: 1.16 !important;
    letter-spacing: -.02em !important;
}

body.jhwpc-hww-v230-active .jhwpc-how-v03-head .jhwpc-lead,
body.jhwpc-hww-v230-active .jhwpc-how-v03-panel .jhwpc-lead {
    margin-top: 8px !important;
    color: var(--hww-muted) !important;
    font-size: 12px !important;
    line-height: 1.6 !important;
}

/* 8 STEPS */
body.jhwpc-hww-v230-active .jhwpc-how-v03-process__grid {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0,1fr)) !important;
    gap: 10px 14px !important;
}

body.jhwpc-hww-v230-active .jhwpc-how-v03-process__grid > li {
    position: relative !important;
    display: block !important;
    min-height: 184px !important;
    padding: 14px 16px 15px 54px !important;
    overflow: hidden !important;
    border: 1px solid var(--hww-border) !important;
    border-radius: 7px !important;
    background: #fff !important;
    box-shadow: none !important;
}

body.jhwpc-hww-v230-active .jhwpc-how-v03-process__top {
    position: absolute !important;
    top: 14px !important;
    bottom: 15px !important;
    left: 8px !important;
    display: block !important;
    width: 32px !important;
    padding: 0 !important;
}

body.jhwpc-hww-v230-active .jhwpc-how-v03-process__top::after {
    position: absolute;
    top: 30px;
    bottom: 0;
    left: 50%;
    width: 1px;
    background: var(--hww-border);
    content: '';
}

body.jhwpc-hww-v230-active .jhwpc-how-v03-process__number {
    position: relative !important;
    z-index: 2 !important;
    display: inline-flex !important;
    width: 24px !important;
    height: 24px !important;
    flex: 0 0 24px !important;
    align-items: center !important;
    justify-content: center !important;
    margin-left: 4px !important;
    border-radius: 50% !important;
    color: #fff !important;
    background: var(--hww-green) !important;
    font-size: 8px !important;
    font-weight: 800 !important;
}

body.jhwpc-hww-v230-active .jhwpc-how-v03-process__top small {
    display: none !important;
}

body.jhwpc-hww-v230-active .jhwpc-how-v03-process__grid > li > article {
    display: block !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    padding: 0 !important;
    margin: 0 !important;
}

body.jhwpc-hww-v230-active .jhwpc-hww-v230-process-icon {
    display: block !important;
    width: 31px !important;
    height: 31px !important;
    margin: 0 0 6px !important;
    fill: none !important;
    stroke: var(--hww-green) !important;
    stroke-width: 1.7 !important;
    stroke-linecap: round !important;
    stroke-linejoin: round !important;
}

body.jhwpc-hww-v230-active .jhwpc-hww-v230-phase {
    display: block !important;
    margin: 0 0 4px !important;
    color: var(--hww-gold) !important;
    font-size: 8px !important;
    font-weight: 800 !important;
    letter-spacing: .08em !important;
    text-transform: uppercase !important;
}

body.jhwpc-hww-v230-active .jhwpc-how-v03-process__grid h3 {
    display: block !important;
    width: 100% !important;
    margin: 0 !important;
    color: var(--hww-text) !important;
    font-size: 13px !important;
    line-height: 1.3 !important;
    white-space: normal !important;
    overflow-wrap: normal !important;
    word-break: normal !important;
}

body.jhwpc-hww-v230-active .jhwpc-how-v03-process__grid p {
    display: block !important;
    width: 100% !important;
    max-width: none !important;
    margin: 8px 0 0 !important;
    color: var(--hww-muted) !important;
    font-size: 10.5px !important;
    line-height: 1.55 !important;
    white-space: normal !important;
    overflow-wrap: normal !important;
    word-break: normal !important;
}

body.jhwpc-hww-v230-active .jhwpc-hww-v230-arrow {
    display: block !important;
    float: right !important;
    margin-top: 8px !important;
    color: var(--hww-green-2) !important;
    font-size: 13px !important;
}

/* BEFORE QUOTATION */
body.jhwpc-hww-v230-active .jhwpc-how-v03-before {
    background: var(--hww-warm) !important;
}

body.jhwpc-hww-v230-active .jhwpc-how-v03-before__grid {
    display: grid !important;
    grid-template-columns: minmax(270px,.78fr) minmax(0,1.22fr) !important;
    gap: 28px !important;
    align-items: center !important;
}

body.jhwpc-hww-v230-active .jhwpc-how-v03-before__grid > .jhwpc-how-v03-head {
    margin-bottom: 0 !important;
}

body.jhwpc-hww-v230-active .jhwpc-how-v03-before__cards {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0,1fr)) !important;
    gap: 10px !important;
}

body.jhwpc-hww-v230-active .jhwpc-how-v03-before__cards > article {
    min-height: 150px !important;
    padding: 16px !important;
    border-radius: 6px !important;
    background: #fff !important;
}

body.jhwpc-hww-v230-active .jhwpc-hww-v230-before-icon {
    width: 30px;
    height: 30px;
    margin-bottom: 8px;
    fill: none;
    stroke: var(--hww-green);
    stroke-width: 1.7;
    stroke-linecap: round;
    stroke-linejoin: round;
}

body.jhwpc-hww-v230-active .jhwpc-how-v03-before__cards > article > span {
    display: none !important;
}

body.jhwpc-hww-v230-active .jhwpc-how-v03-before__cards h3 {
    margin: 0 !important;
    font-size: 12px !important;
    line-height: 1.35 !important;
}

body.jhwpc-hww-v230-active .jhwpc-how-v03-before__cards p {
    margin-top: 8px !important;
    font-size: 10px !important;
    line-height: 1.55 !important;
}

/* MIDDLE */
body.jhwpc-hww-v230-active .jhwpc-how-v03-middle {
    background: #fff !important;
    border-bottom: 1px solid #eceeea;
}

body.jhwpc-hww-v230-active .jhwpc-how-v03-middle__grid {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0,1fr)) !important;
    gap: 38px !important;
}

body.jhwpc-hww-v230-active .jhwpc-how-v03-panel {
    min-height: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
}

body.jhwpc-hww-v230-active .jhwpc-how-v03-checks {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 7px !important;
    margin-top: 4px !important;
}

body.jhwpc-hww-v230-active .jhwpc-how-v03-checks > div {
    display: grid !important;
    grid-template-columns: 20px minmax(0,1fr) !important;
    min-height: 34px !important;
    padding: 7px 9px !important;
    border-radius: 5px !important;
    background: #fff !important;
}

body.jhwpc-hww-v230-active .jhwpc-how-v03-checks span {
    width: 17px !important;
    height: 17px !important;
    font-size: 9px !important;
}

body.jhwpc-hww-v230-active .jhwpc-how-v03-checks strong {
    font-size: 10px !important;
}

body.jhwpc-hww-v230-active .jhwpc-how-v03-panel > .jhwpc-btn {
    margin-top: 18px !important;
}

body.jhwpc-hww-v230-active .jhwpc-how-v03-followup {
    display: grid !important;
    grid-template-columns: repeat(2,minmax(0,1fr)) !important;
    gap: 8px !important;
    margin-top: 4px !important;
}

body.jhwpc-hww-v230-active .jhwpc-how-v03-followup > article {
    min-height: 92px !important;
    padding: 10px !important;
    border-radius: 6px !important;
    background: var(--hww-soft) !important;
}

body.jhwpc-hww-v230-active .jhwpc-hww-v230-follow-title {
    display: grid;
    grid-template-columns: 20px minmax(0,1fr);
    gap: 7px;
    align-items: center;
}

body.jhwpc-hww-v230-active .jhwpc-hww-v230-follow-icon {
    width: 18px;
    height: 18px;
    fill: none;
    stroke: var(--hww-green);
    stroke-width: 1.7;
    stroke-linecap: round;
    stroke-linejoin: round;
}

body.jhwpc-hww-v230-active .jhwpc-how-v03-followup strong {
    font-size: 10px !important;
    line-height: 1.35 !important;
}

body.jhwpc-hww-v230-active .jhwpc-how-v03-followup p {
    margin-top: 7px !important;
    font-size: 9.5px !important;
    line-height: 1.52 !important;
}

/* FINAL */
body.jhwpc-hww-v230-active .jhwpc-how-v03-final__grid {
    display: grid !important;
    grid-template-columns: minmax(0,1.02fr) minmax(360px,.98fr) !important;
    gap: 30px !important;
    align-items: end !important;
}

body.jhwpc-hww-v230-active .jhwpc-how-v03-paths,
body.jhwpc-hww-v230-active .jhwpc-how-v03-paths.is-single,
body.jhwpc-hww-v230-active .jhwpc-how-v03-paths.is-two,
body.jhwpc-hww-v230-active .jhwpc-how-v03-paths.is-three {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0,1fr)) !important;
    gap: 10px !important;
    max-width: none !important;
}

body.jhwpc-hww-v230-active .jhwpc-how-v03-path {
    min-height: 150px !important;
    padding: 14px !important;
    border-radius: 6px !important;
    box-shadow: none !important;
}

body.jhwpc-hww-v230-active .jhwpc-hww-v230-path-icon {
    width: 28px;
    height: 28px;
    margin-bottom: 6px;
    fill: none;
    stroke: var(--hww-green);
    stroke-width: 1.7;
    stroke-linecap: round;
    stroke-linejoin: round;
}

body.jhwpc-hww-v230-active .jhwpc-how-v03-path strong {
    font-size: 11px !important;
}

body.jhwpc-hww-v230-active .jhwpc-how-v03-path p {
    font-size: 9px !important;
    line-height: 1.55 !important;
}

body.jhwpc-hww-v230-active .jhwpc-how-v03-path small {
    font-size: 9px !important;
}

body.jhwpc-hww-v230-active .jhwpc-how-v03-cta {
    display: grid !important;
    grid-template-columns: minmax(0,1fr) auto !important;
    gap: 24px !important;
    align-items: center !important;
    min-height: 214px !important;
    padding: 28px !important;
    border-radius: 7px !important;
    color: #fff !important;
    background: var(--hww-green) !important;
}

body.jhwpc-hww-v230-active .jhwpc-hww-v230-cta-copy {
    display: grid;
    gap: 0;
}

body.jhwpc-hww-v230-active .jhwpc-how-v03-cta .jhwpc-eyebrow {
    color: #d9c4aa !important;
}

body.jhwpc-hww-v230-active .jhwpc-how-v03-cta h2 {
    max-width: 430px !important;
    margin: 12px 0 0 !important;
    font-size: clamp(26px,3vw,38px) !important;
    line-height: 1.12 !important;
}

body.jhwpc-hww-v230-active .jhwpc-how-v03-cta p:not(.jhwpc-eyebrow) {
    max-width: 420px !important;
    margin: 13px 0 0 !important;
    font-size: 10px !important;
    line-height: 1.6 !important;
}

body.jhwpc-hww-v230-active .jhwpc-how-v03-cta > .jhwpc-btn {
    display: inline-flex !important;
    min-width: 132px !important;
    min-height: 42px !important;
    align-items: center !important;
    justify-content: center !important;
    justify-self: end !important;
    align-self: center !important;
    margin: 0 !important;
    padding: 10px 16px !important;
    border: 1px solid #fff !important;
    border-radius: 5px !important;
    color: var(--hww-green) !important;
    background: #fff !important;
    font-size: 11px !important;
    font-weight: 750 !important;
    text-decoration: none !important;
    box-shadow: none !important;
}

@media (max-width: 1100px) {
    body.jhwpc-hww-v230-active .jhwpc-how-v03-hero__grid,
    body.jhwpc-hww-v230-active .jhwpc-how-v03-before__grid,
    body.jhwpc-hww-v230-active .jhwpc-how-v03-final__grid {
        grid-template-columns: 1fr !important;
    }

    body.jhwpc-hww-v230-active .jhwpc-how-v03-process__grid,
    body.jhwpc-hww-v230-active .jhwpc-how-v03-before__cards {
        grid-template-columns: repeat(2, minmax(0,1fr)) !important;
    }

    body.jhwpc-hww-v230-active .jhwpc-how-v03-hero__visual {
        width: 100% !important;
        max-width: 760px !important;
        justify-self: center !important;
    }
}

@media (max-width: 720px) {
    body.jhwpc-hww-v230-active .jhwpc-how-v03-hero > .jhwpc-container,
    body.jhwpc-hww-v230-active .jhwpc-how-v03-process > .jhwpc-container,
    body.jhwpc-hww-v230-active .jhwpc-how-v03-before > .jhwpc-container,
    body.jhwpc-hww-v230-active .jhwpc-how-v03-middle > .jhwpc-container,
    body.jhwpc-hww-v230-active .jhwpc-how-v03-final > .jhwpc-container {
        width: min(100% - 32px, 1280px) !important;
    }

    body.jhwpc-hww-v230-active .jhwpc-how-v03-hero__copy .jhwpc-h1 {
        font-size: 38px !important;
        white-space: normal !important;
    }

    body.jhwpc-hww-v230-active .jhwpc-how-v03-hero__signals,
    body.jhwpc-hww-v230-active .jhwpc-how-v03-process__grid,
    body.jhwpc-hww-v230-active .jhwpc-how-v03-before__cards,
    body.jhwpc-hww-v230-active .jhwpc-how-v03-middle__grid,
    body.jhwpc-hww-v230-active .jhwpc-how-v03-followup,
    body.jhwpc-hww-v230-active .jhwpc-how-v03-paths,
    body.jhwpc-hww-v230-active .jhwpc-how-v03-paths.is-single,
    body.jhwpc-hww-v230-active .jhwpc-how-v03-paths.is-two,
    body.jhwpc-hww-v230-active .jhwpc-how-v03-paths.is-three,
    body.jhwpc-hww-v230-active .jhwpc-how-v03-cta {
        grid-template-columns: 1fr !important;
    }

    body.jhwpc-hww-v230-active .jhwpc-how-v03-cta > .jhwpc-btn {
        justify-self: start !important;
    }
}


/* V2.3 image safety */
body.jhwpc-hww-v230-active .jhwpc-how-v03-hero__media {
    min-height: 260px !important;
}

body.jhwpc-hww-v230-active .jhwpc-how-v03-hero__media img {
    font-size: 0 !important;
    color: transparent !important;
}
