:root {
    --ph-ink: #252b2f;
    --ph-muted: #68747b;
    --ph-line: #d1dbe0;
    --ph-paper: #eef3f5;
    --ph-cream: #dce8ed;
    --ph-accent: #587181;
    --ph-dark: #2b3942;
}

.ab-phv3-opening,
.ab-phv3-proportion,
.ab-phv3-recovery,
.ab-phv3-process,
.ab-phv3-note,
.ab-phv3-related {
    background: #fff;
}

.ab-phv3-types,
.ab-phv3-daily,
.ab-phv3-faq {
    background: var(--ph-paper);
}

.ab-phv3-opening,
.ab-phv3-proportion,
.ab-phv3-types,
.ab-phv3-plan,
.ab-phv3-recovery,
.ab-phv3-process,
.ab-phv3-daily,
.ab-phv3-faq {
    padding: 80px 0;
}

.ab-phv3-heading {
    max-width: none;
    margin-bottom: 38px;
}

.ab-phv3 h2 {
    font-size: clamp(36px, 3vw, 46px);
    line-height: 1.2;
}

.ab-phv3-lead,
.ab-phv3-heading > p:last-child,
.ab-phv3-opening__copy > p:nth-of-type(2),
.ab-phv3-types article p,
.ab-phv3-principles p,
.ab-phv3-timeline p,
.ab-phv3-daily article p,
.ab-phv3-faq details p,
.ab-phv3-note p {
    font-size: 17px;
}

.ab-phv3-opening__grid,
.ab-phv3-proportion__grid,
.ab-phv3-recovery__grid {
    gap: clamp(42px, 6vw, 78px);
}

.ab-phv3-opening ul,
.ab-phv3-checklist,
.ab-phv3-timeline {
    margin-top: 30px;
}

.ab-phv3-opening li,
.ab-phv3-checklist > div,
.ab-phv3-timeline article {
    padding: 18px 0;
}

.ab-phv3-facts__list > div {
    min-height: 0;
    padding: 28px 24px;
}

.ab-phv3-types__grid,
.ab-phv3-daily__grid {
    gap: 14px;
    border: 0;
}

.ab-phv3-types article,
.ab-phv3-types article:nth-child(even),
.ab-phv3-daily article,
.ab-phv3-daily article + article {
    min-height: 0;
    padding: 28px;
    border: 1px solid var(--ph-line);
    background: #fff;
}

.ab-phv3-types h3,
.ab-phv3-daily h3 {
    margin: 16px 0 10px;
}

.ab-phv3-plan {
    background: var(--ph-dark);
    color: #fff;
}

.ab-phv3-plan .ab-phv3-heading--light h2,
.ab-phv3-plan .ab-phv3-heading--light p,
.ab-phv3-plan .ab-phv3-principles h3 {
    color: #fff !important;
    -webkit-text-fill-color: #fff !important;
}

.ab-phv3-plan .ab-phv3-heading--light > p:last-child,
.ab-phv3-plan .ab-phv3-principles p {
    color: rgba(255, 255, 255, .76) !important;
    -webkit-text-fill-color: rgba(255, 255, 255, .76) !important;
}

.ab-phv3-plan .ab-phv3-heading--light .ab-phv3-kicker,
.ab-phv3-plan .ab-phv3-principles > li > span {
    color: #a9c0cc !important;
    -webkit-text-fill-color: #a9c0cc !important;
}

.ab-phv3-concept {
    min-height: 0;
    aspect-ratio: 4 / 3;
    background: #dce8ed;
}

.ab-phv3-concept img {
    min-height: 0;
}

.ab-phv3-concept__terms span {
    border-color: rgba(88, 113, 129, .28);
    background: rgba(244, 248, 250, .84);
    color: #334b59;
}

.ab-phv3-plan .ab-phv3-principles {
    border-top-color: rgba(255, 255, 255, .22);
}

.ab-phv3-plan .ab-phv3-principles li {
    grid-template-columns: 42px minmax(0, 1fr);
    gap: 16px;
    padding: 20px 0;
    border-bottom-color: rgba(255, 255, 255, .2);
}

.ab-phv3-plan .ab-phv3-principles > li > span {
    display: inline-flex;
    width: 36px;
    height: 36px;
    margin-top: 1px;
    align-items: center;
    justify-content: center;
    border: 1px solid #9fb8c5;
    border-radius: 50%;
    background: #dce8ed;
    box-shadow: 0 4px 12px rgba(10, 25, 33, .2);
    color: #243b48 !important;
    -webkit-text-fill-color: #243b48 !important;
    font-size: 12px;
    font-weight: 850;
    line-height: 1;
    letter-spacing: 0;
}

.ab-phv3-process .ab-v2-process-card {
    min-height: 0;
}

.ab-phv3-faq__list {
    padding: 0 28px;
    border: 1px solid var(--ph-line);
    background: #fff;
}

.ab-phv3-faq summary {
    min-height: 78px;
    font-size: 19px;
}

.ab-phv3-note {
    padding: 52px 0;
}

.ab-phv3-note .ab-phv3-wrap {
    padding-top: 30px;
}

.ab-phv3-related {
    padding: 58px 0;
}

.ab-phv3-cta {
    padding: 62px 0;
    background: #dce8ed;
}

.ab-phv3-cta h2 {
    font-size: clamp(36px, 3vw, 46px);
}

@media (min-width: 901px) {
    html[data-abelle-site="true"][data-ab-page-type="procedure"].ab-phv3-active body #subtitle.ab-person-hero-shell > .container > h1.font-60.bold700 {
        font-size: 48px !important;
        line-height: 1.16 !important;
    }

    .ab-phv3-opening h2,
    .ab-phv3-proportion h2,
    .ab-phv3-types h2,
    .ab-phv3-plan h2,
    .ab-phv3-recovery h2,
    .ab-phv3-daily h2,
    .ab-phv3-process h2,
    .ab-phv3-faq h2,
    .ab-phv3-cta h2 {
        font-size: clamp(36px, 3vw, 46px);
        line-height: 1.2;
        white-space: nowrap;
    }
}

@media (max-width: 900px) {
    html[data-abelle-site="true"][data-ab-page-type="procedure"].ab-phv3-active body #subtitle.ab-person-hero-shell > .container > h1.font-60.bold700 {
        font-size: clamp(40px, 10.5vw, 44px) !important;
        line-height: 1.12 !important;
    }

    .ab-phv3-opening,
    .ab-phv3-proportion,
    .ab-phv3-types,
    .ab-phv3-plan,
    .ab-phv3-recovery,
    .ab-phv3-process,
    .ab-phv3-daily,
    .ab-phv3-faq {
        padding: 54px 0;
    }

    .ab-phv3 h2,
    .ab-phv3-cta h2 {
        font-size: 34px;
    }

    .ab-phv3-heading {
        margin-bottom: 28px;
    }

    .ab-phv3-lead,
    .ab-phv3-heading > p:last-child,
    .ab-phv3-opening__copy > p:nth-of-type(2),
    .ab-phv3-opening li,
    .ab-phv3-checklist span,
    .ab-phv3-types article p,
    .ab-phv3-principles p,
    .ab-phv3-timeline p,
    .ab-phv3-daily article p,
    .ab-phv3-faq details p,
    .ab-phv3-note p {
        font-size: 16px;
    }

    .ab-phv3-opening {
        padding-top: 58px;
    }

    .ab-phv3-facts__list > div {
        min-height: 0;
        padding: 22px 18px;
    }

    .ab-phv3-types__grid,
    .ab-phv3-daily__grid {
        display: flex;
        gap: 10px;
        margin-right: -20px;
        padding-right: 20px;
        overflow-x: auto;
        scroll-snap-type: x proximity;
        scrollbar-width: none;
    }

    .ab-phv3-types__grid::-webkit-scrollbar,
    .ab-phv3-daily__grid::-webkit-scrollbar {
        display: none;
    }

    .ab-phv3-types article,
    .ab-phv3-types article:nth-child(even),
    .ab-phv3-daily article,
    .ab-phv3-daily article + article {
        flex: 0 0 min(78vw, 320px);
        min-height: 0;
        padding: 24px 22px;
        scroll-snap-align: start;
    }

    .ab-phv3-types .ab-phv3-heading,
    .ab-phv3-daily .ab-phv3-heading {
        position: relative;
    }

    .ab-phv3-types .ab-phv3-heading::after,
    .ab-phv3-daily .ab-phv3-heading::after {
        content: "‹  ›";
        position: absolute;
        right: 0;
        bottom: -20px;
        color: var(--ph-accent);
        font-size: 18px;
        font-weight: 700;
        letter-spacing: .2em;
    }

    .ab-phv3-plan .ab-phv3-principles li {
        grid-template-columns: 38px minmax(0, 1fr);
        gap: 13px;
        padding: 18px 0;
    }

    .ab-phv3-plan .ab-phv3-principles > li > span {
        width: 32px;
        height: 32px;
        font-size: 11px;
    }

    .ab-phv3-faq__list {
        padding: 0 18px;
    }

    .ab-phv3-faq summary {
        min-height: 72px;
        font-size: 17px;
    }

    .ab-phv3-note {
        padding: 42px 0;
    }

    .ab-phv3-related {
        padding: 48px 0;
    }

    .ab-phv3-cta {
        padding: 58px 0;
    }

    .ab-phv3-cta p {
        font-size: 16px;
    }
}
