:root {
    --color-pine-900: #132219;
    --color-pine-800: #1e3325;
    --color-pine-700: #2b4536;
    --color-pine-600: #3b5b47;
    --color-green-800: #dbe4df;


    --cc-linen-50: #FAF8F4;
    --cc-linen-100: #F4EFE6;
    --cc-linen-200: #EBE3D4;
    --cc-linen-300: #D4C9B4;
    --cc-pine-800: #1E3A2F;
    --cc-pine-900: #152A22;
    --cc-pine-500: #4A6B58;
    --cc-honey-300: #E8C36A;
    --cc-honey-600: #B08020;
    --cc-honey-border: #C9A84C;

    /* Pattern colours */
    --pat-energy: #FAC775;
    --pat-energy-text: #412402;
    --pat-sensitivity: #AFA9EC;
    --pat-sensitivity-text: #26215C;
    --pat-autonomic: #9FE1CB;
    --pat-autonomic-text: #04342C;
    --pat-immune: #F5C4B3;
    --pat-immune-text: #4A1B0C;
    --pat-mixed: #D3D1C7;
    --pat-mixed-text: #2C2C2A;
    --pat-acute: #C0DD97;
    --pat-acute-text: #173404;

    --cream: #f7f1e3;
    --gold: #c88f3a;
    --text-dark: #1a1f1b;
    --text-mid: #000000;
    --text-light: #7a8878;
    --nav-bg: #fbf4e4;
    --max-w: 1320px;
    --white: #ffffff;
    --border: #e4dbc8;
    --gold-light: #d4a44e;
    /* --forest: #1e3325; */
    --cream-dark: #ede6d4;


    --fraunces: 'Fraunces', serif;
}

#ast-scroll-top {
    display: none !important;
}

body {
    font-family: 'Inter', sans-serif;
    font-weight: 400;
    font-size: 21px;
    line-height: 1.6;
    color: var(--text-dark);
    background: #fff;
}

.inner_container {
    max-width: var(--max-w);
}

/* Typography */
h1 {
    font-family: 'Fraunces', 'Fraunces Fallback: Times New Roman', 'Fraunces Fallback: Georgia', 'Fraunces Fallback: Noto Serif', Georgia, 'Times New Roman', serif;
    font-size: clamp(36px, 3.5vw, 54px);
    font-weight: 500;
    line-height: 1.05;
    letter-spacing: -0.025em;
}

h2 {
    font-family: 'Fraunces', 'Fraunces Fallback: Times New Roman', 'Fraunces Fallback: Georgia', 'Fraunces Fallback: Noto Serif', Georgia, 'Times New Roman', serif;
    font-size: 44px;
    font-weight: 500;
    line-height: 1.1;
    letter-spacing: -0.02em;
}

h3 {
    font-family: 'Fraunces', 'Fraunces Fallback: Times New Roman', 'Fraunces Fallback: Georgia', 'Fraunces Fallback: Noto Serif', Georgia, 'Times New Roman', serif;
    font-size: 34px;
    font-weight: 500;
    line-height: 1.15;
    letter-spacing: -0.01em;
}

p {
    font-family: 'Inter', sans-serif;
    font-size: 21px;
    font-weight: 400;
    line-height: 1.6;
}

.wrap {
    max-width: var(--max-w);
    margin: 0 auto;
    padding: 0 48px;
}

/* ── HEader ── */
.main_header {
    /* border-bottom: 1px solid #e8dfc8; */
    box-shadow: 0px 0px 21px 2px #0000000d;

    background: #faf5eb;
    position: sticky;
    top: 0;
    z-index: 200;
    padding: 12px 0;
}

.menu_close_btn,
.menu_toggle_btn {
    box-shadow: none;
}

.menu_close_btn svg,
.menu_toggle_btn svg {
    color: #000000;

}

.nav_inner {
    max-width: var(--max-w);
    margin: 0 auto;
    gap: 0;
    min-height: 72px;
}

.nav-brand {
    font-family: var(--fraunces);
    font-weight: 500;
    font-size: clamp(22px, 2.6vw, 28px);
    color: var(--text-dark);
    text-decoration: none;
    margin-right: 32px;
    white-space: nowrap;
}

.nav-brand img {
    width: 215px;
    max-height: 56px;
    object-fit: scale-down;
    object-position: left;
}

.main_nav ul {
    display: flex;
    align-items: center;
    list-style: none;
    margin: 0;
    padding: 0;
    justify-content: center;
}

.main_nav li a {
    font-size: 14px;
    font-weight: 500;
    color: var(--text-mid);
    text-decoration: none;
    padding: 8px 14px;
    display: inline-flex;
    align-items: center;
    gap: 5px;
    font-family: 'Inter', sans-serif;
}

.nav-link:hover {
    color: var(--text-dark);
}

.nav-chevron {
    display: inline-block;
    width: 0;
    height: 0;
    border-left: 4px solid transparent;
    border-right: 4px solid transparent;
    border-top: 5px solid currentColor;
    opacity: 0.5;
    margin-top: 1px;
}

.nav-actions {
    display: flex;
    align-items: center;
    gap: 6px;
}

.btn-login {
    font-family: 'Inter', sans-serif;
    font-size: 14px;
    color: var(--text-mid);
    background: none;
    border: none;
    padding: 8px 14px;
    cursor: pointer;
    font-weight: 600;
}

.btn-start {
    font-family: 'Inter', sans-serif;
    background: var(--gold);
    color: #000;
    border: none;
    border-radius: 100px;
    font-size: 13px;
    font-weight: 600;
    padding: 9px 20px;
    cursor: pointer;
    white-space: nowrap;
}

.btn-start:hover {
    filter: brightness(1.06);
}








@media (min-width: 991px) {



    .mega-submenu {
        position: absolute;
        top: 100%;
        left: 0;
        width: 430px;
        background: #f8f7f3;
        border: 1px solid #d8ddd4;
        border-radius: 20px;
        padding: 1rem;
        opacity: 0;
        visibility: hidden;
        transform: translateY(10px);
        z-index: 99;
        box-shadow: 0 10px 30px rgba(0, 0, 0, 0.06);
    }

    .has-submenu:hover .mega-submenu {
        opacity: 1;
        visibility: visible;
        transform: translateY(0);
        transition: all 0.3s ease;
    }

    .submenu-inner {
        display: flex;
        flex-direction: column;
        gap: 10px;
    }

    .submenu-divider {
        height: 1px;
        background: #dfe5dc;
        margin: 4px 0;
    }

    .submenu-card,
    .submenu-item {
        display: flex;
        align-items: center;
        gap: 16px;
        text-decoration: none;
        padding: 14px 16px;
        border-radius: 12px;
        transition: 0.25s ease;
        color: #223228;
        border: 1px solid transparent;
    }

    .submenu-card:hover,
    .submenu-item:hover {
        background: #f5f0e6;
        border: 1px solid #f3ead9;
    }

    .submenu-item.active {
        background: #f5f0e6;
        border: 1px solid #f3ead9;
    }

    .submenu-icon {
        width: 46px;
        height: 46px;
        border-radius: 50%;
        background: #d8e1d9;
        display: flex;
        align-items: center;
        justify-content: center;
        color: #496454;
    }

    .submenu-icon svg {
        width: 20px;
        height: 20px;
    }

    .submenu-icon.yellow {
        background: #dca62b;
        color: #1f2b22;
    }

    .submenu-icon.outline {
        background: #f5efe0;
        border: 2px solid #dca62b;
        color: #9d6f1d;
    }

    .submenu-content {
        flex: 1;
    }

    .submenu-content h6 {
        margin: 0 0 4px;
        font-size: 15px;
        font-weight: 600;
        color: var(--color-pine-800);
    }

    .submenu-content p {
        margin: 0;
        font-size: 13px;
        color: var(--color-pine-600);
        line-height: 1.4;
    }

    .submenu-arrow {
        color: #5c715f;
        display: flex;
        align-items: center;
        justify-content: center;
    }
}

.has-submenu {
    padding-block: 18px;
    position: relative;
}

.has-submenu>a:after {
    content: "";
    width: 8px;
    height: 8px;
    border-right: 1.5px solid currentColor;
    border-bottom: 1.5px solid currentColor;
    transform: rotate(45deg);
    display: inline-block;
    margin-left: 6px;
    margin-bottom: 2px;
    transition: all 0.3s ease;
}

/* ── HERO ── */
.hero_section {
    background: radial-gradient(ellipse at top right, #faf5eb 0, #f7f1e3 45%, #efe6d1 100%);
    /* min-height: calc(100vh - 64px); */
    padding: 88px 0 80px;
}

.hero_left h1 {
    font-size: clamp(36px, 3.5vw, 54px);
    margin-bottom: 28px;
    color: var(--color-pine-900);
}

.hero_text p {
    font-size: clamp(18px, 1.8vw, 20px);
    color: var(--text-mid);
    margin-bottom: 40px;
    font-weight: 400;
}

.hero_left .hero_disclaimer {
    font-size: 15px;
    color: var(--color-pine-600);
}

.hero-btns {
    display: flex;
    align-items: center;
    gap: 22px;
    margin-bottom: 18px;
    flex-wrap: wrap;
}

.hero_img {
    aspect-ratio: 3 / 3.5;
    border-radius: clamp(15px, 2.5vw, 30px);
}

.hero_img img {
    border-radius: inherit;
    object-position: top;
}

.btn-hero-primary {
    background: var(--gold);
    color: #000;
    border: none;
    border-radius: 100px;
    font-size: 1rem;
    font-weight: 500;
    padding: 12px 26px;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    gap: 10px;
    text-decoration: none;
    text-align: center;
}

.btn-hero-primary:hover {
    filter: brightness(1.06);
}

.btn-hero-secondary {
    background: var(--cc-pine-500);
    color: #ffffff;
    border: none;
    border-radius: 100px;
    font-size: 1rem;
    font-weight: 500;
    padding: 16px 26px;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    gap: 10px;
    text-decoration: none;
    text-align: center;
}

.btn-hero-secondary:hover {
    filter: brightness(1.06);
}

.btn-arrow {
    /* background: rgba(0, 0, 0, 0.12); */
    width: 26px;
    height: 26px;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 15px;
    line-height: 1;
}

.btn-arrow svg {
    width: 18px;
    height: auto;
}

.hero-text-link {
    font-family: 'Inter', sans-serif;
    font-size: 18px;
    color: var(--text-mid);
    text-decoration: underline;
    text-underline-offset: 3px;
    cursor: pointer;
}

.hero-right {
    display: flex;
    align-items: flex-end;
    justify-content: center;
    align-self: stretch;
}

.hero-photo {
    width: 100%;
    max-width: 460px;
    background: linear-gradient(165deg, #d4ccba 0%, #c0b49a 50%, #a89878 100%);
    border-radius: 20px 20px 0 0;
    /* grows from bottom of hero to top, no fixed height */
    align-self: flex-end;
    min-height: 420px;
    height: 85%;
    display: flex;
    align-items: flex-end;
    justify-content: center;
    overflow: hidden;
    position: relative;
}

.hero-photo svg {
    width: 68%;
    position: relative;
    z-index: 1;
}

/* ── PRESS BAR ── */
.press-bar {
    background: var(--cream);
    padding: 26px 0;
    border-bottom: 1px solid #e8dfc8;
}


.press-item {
    display: flex;
    align-items: center;
    justify-content: center;
    font-family: 'Inter', sans-serif;
    font-size: 1.25rem;
    font-weight: 700;
    color: var(--color-pine-800);
}

.press-item img {
    display: block;
    max-width: 100%;
    max-height: clamp(25px, 4vw, 35px);
    max-width: 80% !important;
}


.press-item.serif-italic {
    font-family: var(--fraunces);
    font-style: italic;
    font-weight: normal;
}

.press-item.caps {
    font-weight: 700;
    letter-spacing: 0.05em;
    font-size: 12px;
    color: #1e3325;
}

.press-item.green {
    color: #1e3325;
    font-weight: 700;
    font-size: 12px;
    letter-spacing: 0.04em;
}

/* ── WHY ── */
.why_section {
    background: var(--color-pine-800);
}

.why-inner {
    max-width: var(--max-w);
    margin: 0 auto;
}

.eyebrow {
    display: block;
    font-size: 13px;
    font-weight: 600;
    letter-spacing: 0.15rem;
    text-transform: uppercase;
    margin-bottom: 5px;
}

.eyebrow-gold-light {
    color: #c8b070;
}

.eyebrow-gold {
    color: var(--gold);
}

.why_section_head {
    max-width: 780px;
}


.sec_v_padding {
    padding-block: clamp(60px, 10vw, 90px);
}

.section_head h2 {
    font-size: clamp(30px, 3.8vw, 44px);
    color: #fff;
    margin-bottom: 22px;
}

.section_head_dark h2 {
    color: var(--color-pine-900);
}

.section_head_dark .eyebrow {
    color: var(--gold);
}

.text_box_big p {
    font-size: clamp(15px, 1.8vw, 18px);
    color: var(--cream);
    margin-bottom: 18px;
}

.text_box_mid p {
    font-size: clamp(16px, 1.4vw, 18px);
    color: var(--cream);
    margin-bottom: 18px;
}

.cta_section .text_box_mid p {
    font-size: clamp(16px, 1.4vw, 18px);
    color: var(--cream);
    margin-bottom: 18px;
}

.text_box_dark p {
    color: #2b4536;
}


.feature-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 16px;
    margin-top: 56px;
}

.why_card {
    /* background: color-mix(in oklab, #2b4536 60%, transparent); */
    background-color: var(--color-green-800);
    border: 1px solid rgba(255, 255, 255, 0.188);
    border-radius: 16px;
    padding: 32px 26px;
    backdrop-filter: blur(10px);
    height: 100%;
}

.why_icon {
    width: 70px;
    height: 70px;
    background: var(--gold);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 18px;
    margin-bottom: 18px;
}

.why_icon svg {
    color: var(--bs-white);
    width: 100%;
    height: 100%;
    padding: 18px;
}

.why_icon img {
    width: 100%;
    height: 100%;
    padding: 18px;
    object-fit: contain;
}

.why_card h4 {
    font-family: var(--fraunces);
    font-size: clamp(22px, 2.6vw, 28px);
    font-weight: 500;
    color: #000000;
    line-height: 1.25;
    margin-bottom: 15px;
}

.why_des_box {
    padding: 10px 15px;
    background-color: var(--bs-white);
    border: 1px solid #f9f5ea;
    border-radius: 10px;
}

.why_card p {
    font-size: 16px;
    line-height: 1.65;
    color: #000000;
    margin: 0;
}

/* ── HOW IT WORKS ── */
.steps-wrapper {
    display: flex;
    flex-direction: column;
    gap: 80px;
    position: relative;
}

.step-eyebrow {
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 0.13rem;
    text-transform: uppercase;
    color: var(--color-pine-600);
    margin-bottom: 12px;
}

/* vertical line */
.steps-wrapper::before {
    content: "";
    position: absolute;
    left: 50%;
    top: 0;
    width: 1px;
    height: 100%;
    background: #e5d8ba;
    transform: translateX(-50%);
}

/* each step */
.step-inner {
    display: grid;
    grid-template-columns: 1fr 50px 1fr;
    align-items: center;
    position: relative;
}

/* number */
.step-num-cell {
    display: flex;
    justify-content: center;
}

.step-num-badge {
    width: 50px;
    height: 50px;
    background: #1f3d2b;
    color: #fff;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-family: var(--fraunces);
}

/* spacing */
.step-visual {
    padding-right: 20px;
}

.step-text-cell {
    padding-left: 20px;
}

.step-text-cell h3 {
    font-size: clamp(26px, 3vw, 34px);
    margin-bottom: 20px;
}

/* reverse layout */
.step.reverse .step-visual {
    order: 3;
    padding-right: 0;
    padding-left: 20px;
}

.step.reverse .step-text-cell {
    order: 1;
    padding-left: 0;
    padding-right: 20px;
}

.step.reverse .step-num-cell {
    order: 2;
}



/* Mock UI */
.ui-card {
    background: #dbe4df;
    border: 1px solid #ddd5c0;
    border-radius: 16px;
    padding: 22px 24px;
    box-shadow: 0 6px 28px rgba(0, 0, 0, 0.07);
}

.ui-card-header {
    display: flex;
    justify-content: space-between;
    font-family: 'Inter', sans-serif;
    font-size: 14px;
    font-weight: 700;
    letter-spacing: 0.13em;
    text-transform: uppercase;
    color: var(--text-light);
    margin-bottom: 14px;
}

.your_risk_score .phase-card p {
    margin-bottom: 0;
    font-weight: 600;
}

.ui-member {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 1rem;
    background: var(--bs-white);
    border-radius: 10px;
    border: 1px solid #efe6d1;
}

.ui-av {
    width: 30px;
    height: 30px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-family: 'Inter', sans-serif;
    font-size: 11px;
    font-weight: 700;
    color: #fff;
    flex-shrink: 0;
}

.av-a {
    background: var(--color-pine-900);
}

.av-b {
    background: var(--gold);
}

.av-c {
    background: #6a9870;
}

.av-d {
    background: #b0c4b0;
    color: #2a4030;
}

.ui-mname {
    font-family: 'Inter', sans-serif;
    font-size: 18px;
    font-weight: 600;
    color: var(--text-dark);
}

.ui-msub {
    font-family: 'Inter', sans-serif;
    font-size: 14px;
    color: var(--text-light);
}

.ui-add {
    display: flex;
    align-items: center;
    gap: 8px;
    padding-top: 12px;
    font-family: 'Inter', sans-serif;
    font-size: 13px;
    font-weight: 600;
    color: var(--gold);
    cursor: pointer;
}

/* Score UI */
.score-card {
    background: #fff;
    border: 1px solid #ddd5c0;
    border-radius: 16px;
    padding: 24px 26px;
    box-shadow: 0 6px 28px rgba(0, 0, 0, 0.07);
}

.sc-top {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 6px;
}

.sc-label {
    font-family: 'Inter', sans-serif;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 0.13em;
    text-transform: uppercase;
    color: var(--text-light);
}

.sc-badge {
    font-family: 'Inter', sans-serif;
    background: #c07808;
    color: #fff;
    font-size: 9px;
    font-weight: 700;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    padding: 3px 10px;
    border-radius: 20px;
}

.sc-number {
    font-family: 'Fraunces', serif;
    font-size: 58px;
    font-weight: 700;
    color: var(--text-dark);
    line-height: 1;
    display: inline;
}

.sc-denom {
    font-family: 'Inter', sans-serif;
    font-size: 18px;
    color: var(--text-light);
}

.sc-bar {
    height: 8px;
    background: #e8dfc8;
    border-radius: 3px;
    margin: 14px 0 18px;
    overflow: hidden;
}

.sc-bar-fill {
    height: 100%;
    width: 68%;
    border-radius: 3px;
    background: linear-gradient(90deg, #4c7159, #c88f3a);
}

.sc-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 7px 0;
    border-bottom: 1px solid #f0e8d8;
    font-family: 'Inter', sans-serif;
    font-size: 13px;
    color: var(--text-mid);
}

.sc-row:last-child {
    border-bottom: none;
}

.tag-h {
    font-weight: 700;
    font-size: 11px;
    color: #b82020;
}

.tag-m {
    font-weight: 700;
    font-size: 11px;
    color: #c88f3a;
}

.tag-l {
    font-weight: 700;
    font-size: 11px;
    color: #3a8a50;
}

/* Plan UI */
.plan-card {
    background: #dbe4df;
    border: 1px solid #ddd5c0;
    border-radius: 16px;
    padding: 22px 24px;
    box-shadow: 0 6px 28px rgba(0, 0, 0, 0.07);
}

.plan-row {
    display: flex;
    gap: 12px;
    padding: 12px 0;
    border-bottom: 1px solid #ddd5c0;
}

.plan-row:last-child {
    border-bottom: none;
}

.plan-dot {
    width: 22px;
    height: 22px;
    background: var(--color-pine-900);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 10px;
    color: #fff;
    flex-shrink: 0;
    margin-top: 2px;
}

.plan-title {
    font-family: 'Inter', sans-serif;
    font-size: 16px;
    font-weight: 600;
    color: var(--text-dark);
}

.plan-sub {
    font-family: 'Inter', sans-serif;
    font-size: 14px;
    color: var(--text-light);
}

/* ── SCIENCE ── */
.science_section {
    background: var(--cream);
}

.science-inner {
    max-width: var(--max-w);
    margin: 0 auto;
    display: grid;
    grid-template-columns: 1fr 400px;
    gap: 80px;
    align-items: center;
}

.science-section h2 {
    color: var(--text-dark);
    margin-bottom: 18px;
}

/* .sci-body {
    font-family: 'Inter', sans-serif;
    font-size: 17px;
    color: var(--text-mid);
    line-height: 1.7;
    margin-bottom: 36px;
} */

.stats-row {
    display: flex;
    gap: clamp(26px, 3vw, 34px);
}

.stat-n {
    font-family: var(--fraunces);
    font-size: clamp(26px, 3vw, 34px);
    font-weight: 500;
    color: var(--color-pine-900);
    line-height: 1;
    margin-bottom: 5px;
}

.stat-l {
    font-family: 'Inter', sans-serif;
    font-size: 13px;
    color: var(--text-light);
    margin-top: 4px;
}

.doctor-card {
    border-radius: 20px;
    min-height: 340px;
    position: relative;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    box-shadow: 0 20px 25px -5px var(--tw-shadow-color, #0000001a), 0 8px 10px -6px var(--tw-shadow-color, #0000001a);
}

.doctor-card::after {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, transparent 35%, rgba(20, 40, 28, 0.94) 80%);
    z-index: 1;
}

.dr-bg {
    position: absolute;
    inset: 0;
    background: linear-gradient(135deg, #3a5c46 0%, #1e3325 100%);
}

.dr-ghost {
    line-height: 1;

    background: linear-gradient(to bottom,
            #e8b8a8 0%,
            #ddb99e 15%,
            #d4b8a8 30%,
            #cfc0b0 45%,
            #cdc4b8 60%,
            #cec8bc 75%,
            #d0cac0 100%);
}

.dr-info {
    position: absolute;
    right: 0;
    left: 0;
    bottom: clamp(15px, 4vw, 50px);
    padding: 20px;
    z-index: 2;
    text-align: center;
}

.dr-name {
    font-family: 'Fraunces', serif;
    font-size: clamp(22px, 2.6vw, 28px);
    font-weight: 500;
    color: #fff;
    margin-bottom: 5px;
}

.dr-designation {
    font-size: clamp(14px, 1.6vw, 18px);
    color: clamp(--gold);
    font-weight: 600;
}

.dr-role {
    font-size: 13px;
    color: #fff;
    line-height: 1.5;
}

/* ── TESTIMONIALS ── */
.testimonials_section {}

.t_card {
    border-radius: 16px;
    padding: clamp(1.25rem, 2vw, 2.5rem);
    display: flex;
    flex-direction: column;
    height: 100%;
    background: #dbe4df;
    text-align: center;
    align-items: center;
    padding-bottom: 0;
}

.t_card_pine {
    background: #dbe4df;
}

:is(.t_card_pine, .t_card_espresso) .t-author {
    color: #efe6d1;
}

.t_card_espresso {
    background: #dbe4df;
}

.t_card_yellow {
    background: #dbe4df;
}

.t-light {
    background: #f5f0e6;
}

.t_stars {
    font-size: 12px;
    letter-spacing: 3px;
    color: rgb(227, 187, 96);
}

.t_card_dark .t_stars {
    color: var(--color-pine-900);
}

.t_stars svg {
    width: 16px;
    height: auto;
}

.t_stars svg path {
    fill: var(--gold);
    stroke: var(--gold);
}

.t-dark .t-stars {
    color: rgba(255, 255, 255, 0.35);
}

.t-amber .t-stars {
    color: rgba(255, 255, 255, 0.5);
}

.t-light .t-stars {
    color: #c8a030;
}

.t_title {
    font-family: var(--fraunces);
    font-size: clamp(22px, 2.6vw, 28px);
    font-weight: 500;
    line-height: 1.2;
    margin-bottom: 0;
    flex: 1;
    color: #fff;
}

.t_card_dark .t_title {
    color: var(--color-pine-900);
}

.t_body {
    font-size: 16px;
    line-height: 1.7;
    color: var(--cream);
}

.t_body_wrapper {
    background: #ffffff;
    padding: 15px;
    border-radius: 12px 12px 0 0;
    border: 1px solid #c88f3a21;
}

.t_card_dark .t_body {
    color: var(--color-pine-900);
}

.t-author {
    font-size: 13px;
    font-weight: 600;
    letter-spacing: 0.1rem;
    text-transform: uppercase;
    color: var(--cream);
}

.t_card_dark .t-author {
    color: var(--color-pine-900);
}


/* ── CTA ── */
.cta_section {
    background: var(--color-pine-800);
    text-align: center;
}

.cta_section_head {
    max-width: 600px;
    margin: 0 auto;
}

.cta-section h2 {
    color: #fff;
    margin-bottom: 16px;
}

.cta-section>.row>* {
    align-content: center;
}

.cta-section p {
    font-size: 17px;
    color: #7a9878;
    margin-bottom: 42px;
}

.cta-btns {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 16px;
    flex-wrap: wrap;
}

.btn-cta-fill {
    font-family: 'Inter', sans-serif;
    background: var(--gold);
    color: #000;
    border: none;
    border-radius: 100px;
    font-size: 16px;
    font-weight: 500;
    padding: 16px 28px;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    text-decoration: none;
}

.btn-cta-outline {
    font-family: 'Inter', sans-serif;
    background: transparent;
    color: #fff;
    border: 1.5px solid rgba(255, 255, 255, 0.28);
    border-radius: 100px;
    font-size: 15px;
    font-weight: 500;
    padding: 16px 28px;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    gap: 10px;
    text-decoration: none;
    justify-content: center;
}

.btn-cta-outline-dark {
    border: 1px solid rgba(2, 2, 2, 0.88);
    color: var(--color-pine-900)
}

.btn-cta-outline-dark:hover {
    color: var(--bs-white);
    background: var(--color-pine-700);
    border-color: var(--color-pine-700);
}

.btn-cta-outline:hover {
    border-color: rgba(255, 255, 255, 0.55);
    color: #ffffff;
}

.btn-cta-outline:focus,
.btn-cta-outline:active {
    border-color: rgba(255, 255, 255, 0.55);
    color: #ffffff;
}

/* ── FOOTER ── */
footer {
    background: var(--color-pine-900);
    border-top: 1px solid rgba(255, 255, 255, 0.06);
    padding-block: 64px 32px;
}

.f-brand {
    font-size: clamp(22px, 2.6vw, 28px);
    font-family: var(--fraunces);
    font-weight: 600;
    color: #efe6d1;
    margin-bottom: 12px;
}

.f-tag {
    font-size: 15px;
    color: #efe6d1;
    line-height: 1.6;
    max-width: 220px;
}

.f-col-title {
    font-family: 'Inter', sans-serif;
    font-size: 13px;
    font-weight: 500;
    letter-spacing: 2px;
    color: #efe6d1;
    margin-bottom: 16px;
}

.f-links {
    list-style: none;
    padding: 0;
    margin: 0;
}

.f-links li {
    margin-bottom: 10px;
}

.f-links a {
    font-size: 15px;
    color: #efe6d1;
    text-decoration: none;
}

.f-links a:hover {
    color: #fff;
}

.f-contact a {
    font-size: 15px;
    color: #efe6d1;
    text-decoration: none;
    display: block;
    margin-bottom: 8px;
}

.f-contact a:hover {
    color: #fff;
}

.footer-bottom {
    padding-top: 24px;
    border-top: 1px solid rgba(255, 255, 255, 0.05);
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    gap: 12px;
    margin-top: 30px;
}

.f-copy {
    font-family: 'Inter', sans-serif;
    font-size: 12px;
    color: #efe6d1;
}

.f-legal {
    display: flex;
    gap: 20px;
    list-style: none;
    padding: 0;
    margin: 0;
}

.f-legal a {
    font-family: 'Inter', sans-serif;
    font-size: 12px;
    color: #efe6d1;
    text-decoration: none;
}

.f-legal a:hover {
    color: #fff;
}






/* Solution Page */
.page_hero {
    background: var(--cream);
}

.sun-spot-2 {
    position: absolute;
    background: radial-gradient(circle, #4c715926 0, #0000 70%);
    bottom: -100px;
    filter: blur(60px);
    height: 400px;
    left: 10%;
    width: 400px;
}

.sun-spot-1 {
    position: absolute;
    background: radial-gradient(circle, #c88f3a2e 0, #0000 70%);
    filter: blur(60px);
    height: 500px;
    right: -80px;
    top: -150px;
    width: 500px;
}

.solution_hero_text {
    max-width: 660px;
}

.solution_hero_text .eyebrow {
    font-size: 13px;
    font-weight: 600;
    letter-spacing: 0.15rem;
    text-transform: uppercase;
    color: var(--gold);
}

.solution_hero_text h1 {
    font-size: clamp(36px, 3.5vw, 54px);
    line-height: 1.1;
    color: var(--color-pine-900);
}


.solution_hero_text p {
    font-size: clamp(18px, 1.8vw, 20px);
    font-weight: 400;
    color: var(--color-pine-900);
}


/* ── ASSESSMENT CARD ── */
.assessment-section {
    background: var(--color-green-800);
}

.assessment-card {
    border: 1px solid #dfded7;
    border-radius: 20px;
    padding: clamp(30px, 4vw, 50px) clamp(15px, 4vw, 50px);
    background: #fff;
    box-shadow: 0 4px 6px -1px var(--tw-shadow-color, #0000001a), 0 2px 4px -2px var(--tw-shadow-color, #0000001a);
}

.start-badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 20px;
}

.start-badge-icon {
    width: 50px;
    height: 50px;
    border: 2px solid #edd08f;
    background: var(--gold);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 14px;
    color: #fff;
    flex-shrink: 0;
}

.start-badge-label {
    font-size: 13px;
    font-weight: 600;
    letter-spacing: 0.14rem;
    text-transform: uppercase;
    color: #855d28;
}

.assessment-card h3 {
    color: var(--text-dark);
    margin-bottom: 14px;
}

.assessment-card>p {
    font-size: 17px;
    color: var(--text-mid);
    line-height: 1.7;
    max-width: 600px;
    margin-bottom: 36px;
}

/* Two-part sub-cards */
.parts-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px;
    margin-bottom: 40px;
}

.part-card {
    background: #f7f2e8;
    border: 1px solid #e4dbc8;
    border-radius: 14px;
    padding: clamp(16px, 3vw, 24px) clamp(18px, 4vw, 26px);
}

.part-label {
    font-family: 'Inter', sans-serif;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: var(--text-light);
    margin-bottom: 10px;
    display: flex;
    align-items: center;
    gap: 6px;
}

.part-label-icon {
    width: 16px;
    height: 16px;
    border-radius: 4px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 9px;
}

.part-card h4 {
    font-family: 'Fraunces', Georgia, serif;
    font-size: 26px;
    font-weight: 500;
    color: var(--text-dark);
    line-height: 1.15;
    margin-bottom: 12px;
}

.part-price {
    font-family: 'Fraunces', Georgia, serif;
    font-size: 26px;
    font-weight: 500;
    color: var(--text-dark);
    line-height: 1;
}

.part-price-suffix {
    font-family: 'Inter', sans-serif;
    font-size: 14px;
    font-weight: 400;
    color: var(--text-mid);
    margin-left: 4px;
}

.part-card>p {
    font-size: 14px;
    color: var(--text-mid);
    line-height: 1.65;
    margin-top: 10px;
    margin-bottom: 0;
}





/* ── REST OF CARE ── */
.care-section {
    background: #fff;
}

.care-inner {
    max-width: var(--max-w);
    margin: 0 auto;
}

.care-header {
    text-align: center;
    margin-bottom: 52px;
}

.care-header .eyebrow {
    color: var(--text-light);
}

.care-header h2 {
    color: var(--text-dark);
}

.care-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
}

.care-card {
    background: var(--color-green-800);
    border: 1px solid #efe6d1;
    border-radius: 16px;
    padding: 30px 28px;
    display: flex;
    flex-direction: column;
    height: 100%;
}

.care-price:not(:has(.care-price-sub)) .care-price-main {
    margin-bottom: 16px;
}

.care-card-badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 18px;
}

.care-icon {
    width: 44px;
    height: 44px;
    background: var(--color-pine-700);
    /* border: 1px solid #d0dcc8; */
    color: var(--bs-white);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 14px;
    flex-shrink: 0;
}

.care-icon svg {
    width: 20px;
}

.care-meta {
    font-size: 13px;
    font-weight: 500;
    letter-spacing: 0.13rem;
    text-transform: uppercase;
    color: var(--color-pine-600);
}

.care-card h4 {
    font-family: 'Fraunces', Georgia, serif;
    font-size: 26px;
    font-weight: 500;
    color: var(--text-dark);
    margin-bottom: 10px;
    line-height: 1.2;
}

.care-card>p {
    font-size: 15px;
    color: var(--text-mid);
    line-height: 1.65;
    margin-bottom: 20px;
}

/* Checklist */
.checklist {
    list-style: none;
    padding: 0;
    margin: 0 0 24px;
}

.checklist li {
    display: flex;
    align-items: flex-start;
    gap: 8px;
    font-family: 'Inter', sans-serif;
    font-size: 13px;
    color: var(--text-mid);
    line-height: 1.5;
    margin-bottom: 8px;
}

.check-icon {
    width: 16px;
    height: 16px;
    background: color-mix(in oklab, #2b4536 15%, #fff);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 9px;
    color: var(--forest);
    flex-shrink: 0;
    margin-top: 2px;
}

/* Price at bottom */
.care-price {
    margin-top: auto;
    padding-top: 20px;
    border-top: 1px solid #e8dfc8;
}

.care-price-main {
    font-family: 'Fraunces', Georgia, serif;
    font-size: 28px;
    font-weight: 500;
    color: var(--text-dark);
    line-height: 1;
    margin-bottom: 4px;
}

.care-price-sub {
    font-family: 'Inter', sans-serif;
    font-size: 13px;
    color: var(--text-light);
    margin-bottom: 16px;
}


.btn-outline-sm {
    background: transparent;
    color: var(--text-dark);
    border: 1px solid #c8bfa8;
    text-decoration: none;
    border-radius: 100px;
    font-size: 13px;
    font-weight: 500;
    padding: 8px 18px;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    gap: 8px;
}

.btn-fill-sm {
    background: var(--gold);
    border-color: transparent;
}

.btn-outline-sm span {
    width: 16px;
}

.btn-outline-sm svg {
    width: 16px;
    height: auto;
}

.btn-outline-sm:hover {
    border-color: var(--color-pine-700);
    background: var(--color-pine-700);
    color: var(--bs-white);
}





/* ── INSPECTOR BANNER ── */
.inspector-section {
    background: var(--color-green-800);
    padding: 60px 0;
}

.inspector-inner {
    max-width: var(--max-w);
    margin: 0 auto;
    display: flex;
    align-items: center;
    gap: 24px;
}

.inspector-icon {
    width: 56px;
    height: 56px;
    background: var(--color-pine-700);
    color: var(--bs-white);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 22px;
    flex-shrink: 0;
}

.inspector-text {
    flex: 1;
}

.inspector-text h4 {
    font-family: var(--fraunces);
    font-size: clamp(22px, 2.6vw, 28px);
    font-weight: 500;
    color: var(--text-dark);
    margin-bottom: 4px;
    line-height: 1.2;
}

.inspector-text p {
    font-size: 16px;
    color: var(--text-mid);
    margin: 0;
}

.inspector-link {
    font-size: 1rem;
    font-weight: 400;
    color: var(--color-pine-700);
    text-decoration: none;
    white-space: nowrap;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    text-decoration: underline;
    text-decoration-color: #8aa593;
}

.inspector-link:hover {
    color: var(--forest);
}



/* ── DON'T PAY SECTION ── */
.dontpay-section {
    background: var(--color-pine-800);
}

.btn-gold-lg {
    font-family: 'Inter', sans-serif;
    background: var(--gold);
    color: #000;
    border: none;
    border-radius: 100px;
    font-size: 16px;
    font-weight: 600;
    padding: 14px 28px;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    gap: 10px;
}

.btn-gold-lg:hover {
    filter: brightness(1.06);
}

/* Steps list on right */
.steps-list {
    display: flex;
    flex-direction: column;
    gap: 15px;
}

.step-item {
    background: color-mix(in oklab, #2b4536 60%, transparent);
    border: 1px solid rgba(255, 255, 255, 0.07);
    border-radius: 14px;
    padding: 22px 24px;
    display: flex;
    align-items: flex-start;
    gap: 16px;
}

.step-num {
    width: 40px;
    height: 40px;
    background: var(--gold);
    color: #000;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-family: var(--fraunces);
    font-size: 16px;
    flex-shrink: 0;
}

.step-item-title {
    font-family: var(--fraunces);
    font-size: 20px;
    font-weight: 500;
    color: #fff;
    margin-bottom: 3px;
    line-height: 1.3;
}

.step-item-sub {
    font-size: 15px;
    color: #f7f1e3;
    line-height: 1.5;
}


/* ── BOTTOM CTA ── */
.bottom-cta {
    background: #fff;
    text-align: center;
}

.bottom-cta p {
    font-size: 17px;
    color: var(--text-mid);
    margin-bottom: 0;
}


/* ── THREE CHECKS ── */
.checks-section {
    background: #fff;
}


.checks_head {
    max-width: 780px;
}


.checks-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
    margin-bottom: 40px;
}

.check-card {
    background: var(--color-green-800);
    border: 1px solid #dfded7;
    border-radius: 16px;
    padding: 28px 26px;
}

.check-card-badge {
    display: flex;
    flex-direction: column;
    gap: 12px;
    margin-bottom: 20px;
}

.check-card-icon {
    width: 48px;
    height: 48px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 14px;
    flex-shrink: 0;
    background: var(--color-pine-700);
    color: var(--bs-white)
}


.check-part-label {
    font-size: 13px;
    font-weight: 500;
    letter-spacing: 0.13em;
    text-transform: uppercase;
    color: #855d28;
}

.check-card h4 {
    font-family: var(--fraunces);
    font-size: clamp(22px, 2.6vw, 28px);
    font-weight: 500;
    color: var(--text-dark);
    margin-bottom: 10px;
    line-height: 1.2;
}

.check-card>p {
    font-size: 15px;
    color: var(--text-mid);
    line-height: 1.65;
    margin-bottom: 16px;
}

.check-list {
    list-style: none;
    padding: 0;
    margin: 0;
}

.check-list li {
    display: flex;
    align-items: flex-start;
    gap: 8px;
    font-size: 15px;
    font-weight: 500;
    color: var(--color-pine-800);
    line-height: 1.5;
    margin-bottom: 6px;
}

.check-dot {
    width: 5px;
    height: 5px;
    border-radius: 50%;
    background: var(--gold);
    flex-shrink: 0;
    margin-top: 7px;
}

.checks-footnote {
    text-align: center;
    font-family: 'Inter', sans-serif;
    font-size: 14px;
    color: var(--text-light);
    margin-top: 32px;
}

.checks-footnote :is(b, strong) {
    font-weight: 600;
    color: var(--color-pine-700);
}


.sci-list {
    list-style: none;
    padding: 0;
    margin: 0;
}

.sci-list li {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    font-size: 15px;
    color: var(--text-mid);
    line-height: 1.55;
    margin-bottom: 10px;
}

.sci-check {
    width: 18px;
    height: 18px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 9px;
    color: #c88f3a;
    flex-shrink: 0;
    margin-top: 2px;
}




/* ── CLEAR REPORT ── */
.report-section {
    background: #faf5eb;
}

.report-left>p {
    font-size: 17px;
    color: var(--text-mid);
    line-height: 1.7;
    margin-bottom: 28px;
}

.report-list {
    list-style: none;
    padding: 0;
    margin: 0;
}

.report-list li {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    font-size: 16px;
    color: var(--text-mid);
    line-height: 1.55;
    margin-bottom: 10px;
}

.report-list li p {
    font-size: 16px;
    color: var(--text-mid);
    line-height: 1.55;
}

.report-list li p:last-child {
    margin-bottom: 0;
}

.report-check {
    width: 20px;
    height: 20px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 9px;
    color: #c88f3a;
    flex-shrink: 0;
    margin-top: 2px;
}

/* Score mock card */
.score-mock {
    background: #fff;
    border: 1px solid #ddd5c0;
    border-radius: 16px;
    padding: 24px 26px;
    box-shadow: 0 6px 28px rgba(0, 0, 0, 0.07);
}

.score-top {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 6px;
}

.score-lbl {
    font-family: 'Inter', sans-serif;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 0.13em;
    text-transform: uppercase;
    color: var(--text-light);
}

.score-badge {
    background: #c07808;
    color: #fff;
    font-family: 'Inter', sans-serif;
    font-size: 9px;
    font-weight: 700;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    padding: 3px 10px;
    border-radius: 20px;
}

.score-number {
    font-family: 'Fraunces', serif;
    font-size: 52px;
    font-weight: 500;
    color: var(--text-dark);
    line-height: 1;
    display: inline;
}

.score-denom {
    font-family: 'Inter', sans-serif;
    font-size: 16px;
    color: var(--text-light);
}

.score-bar {
    height: 8px;
    background: #e8dfc8;
    border-radius: 3px;
    margin: 12px 0 18px;
    overflow: hidden;
}

.score-bar-fill {
    height: 100%;
    width: 68%;
    background: linear-gradient(90deg, #4c7159, #c88f3a);
    border-radius: 3px;
}

.score-section-label {
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--text-light);
    margin-bottom: 10px;
    margin-top: 4px;
}

.score-member-row {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 15px;
    border: 1px solid #efe6d1;
    background: #faf5eb;
    border-radius: 15px;
    margin-bottom: 12px;
}

.score-member-row:last-of-type {
    border-bottom: none;
}

.score-av {
    width: 26px;
    height: 26px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-family: 'Inter', sans-serif;
    font-size: 10px;
    font-weight: 700;
    color: #fff;
    flex-shrink: 0;
}

.av-you {
    background: var(--color-pine-800);
}

.av-partner {
    background: var(--gold);
}

.av-child {
    background: var(--color-pine-600);
}

.score-member-name {
    font-family: 'Inter', sans-serif;
    font-size: 13px;
    font-weight: 500;
    color: var(--text-dark);
    flex: 1;
}

.tag-high {
    font-family: 'Inter', sans-serif;
    font-weight: 700;
    font-size: 11px;
    color: #b82020;
}

.tag-mod {
    font-family: 'Inter', sans-serif;
    font-weight: 700;
    font-size: 11px;
    color: #c88f3a;
}

.next-step-box {
    background: #f7f2e8;
    border: 1px solid #e4dbc8;
    border-radius: 12px;
    padding: 16px 18px;
    margin-top: 10px;
}

.next-step-label {
    font-size: 12px;
    font-weight: 500;
    letter-spacing: 0.12rem;
    text-transform: uppercase;
    color: var(--color-pine-700);
    margin-top: 18px;
    margin-bottom: 0px;
}

.next-step-text {
    font-family: 'Inter', sans-serif;
    font-size: 13px;
    color: var(--text-mid);
    line-height: 1.5;
}



/* ── PRICING ── */
.pricing-section {
    background: #fff;
}

.pricing-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
    max-width: 950px;
    margin: 0 auto;
}

/* Free tier */
.price-card {
    border: 1px solid #dfded7;
    border-radius: 20px;
    padding: 32px clamp(20px, 2vw, 32px);
    position: relative;
    background: var(--color-green-800);
}

.pricing-section .price-card {
    display: flex;
    flex-direction: column;
}

.price-card.featured {
    border-color: #e3bb60;
    background: transparent;
}

.price-badge-pill {
    position: absolute;
    top: -12px;
    right: 24px;
    background: var(--color-pine-800);
    color: #fff;
    font-family: 'Inter', sans-serif;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    padding: 4px 12px;
    border-radius: 20px;
}

.price-card-eyebrow {
    font-size: 12px;
    font-weight: 500;
    letter-spacing: 0.13em;
    text-transform: uppercase;
    color: var(--color-pine-700);
    margin-bottom: 14px;
}

.price-card h4 {
    font-family: var(--fraunces);
    font-size: clamp(26px, 3vw, 34px);
    font-weight: 500;
    color: var(--text-dark);
    margin-bottom: 10px;
    line-height: 1.15;
}

.price-main {
    font-family: var(--fraunces);
    font-size: clamp(30px, 3.8vw, 44px);
    font-weight: 500;
    color: var(--text-dark);
    line-height: 1;
    margin-bottom: 10px;
}

.price-main sub {
    font-size: 16px;
    font-weight: 400;
    color: var(--text-light);
}

.price-main sup {
    font-size: 22px;
    vertical-align: super;
}

.price-sub {
    font-family: 'Inter', sans-serif;
    font-size: 14px;
    color: var(--text-light);
    margin-bottom: 24px;
}

.price-list {
    list-style: none;
    padding: 0;
    margin: 0 0 28px;
}

.price-list li {
    display: flex;
    align-items: flex-start;
    gap: 8px;
    font-size: 15px;
    color: var(--text-mid);
    line-height: 1.5;
    margin-bottom: 8px;
}

.price-list li p {
    font-size: 15px;
    color: var(--text-mid);
    line-height: 1.5;
}

.price-list li p:last-child {
    margin-bottom: 0;
}

.price-check {
    width: 16px;
    height: 16px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 8px;
    color: rgb(200, 143, 58);
    flex-shrink: 0;
    margin-top: 3px;
}

.price-card .btn-gold {
    font-size: 15px;
    padding: 12px 24px;
    width: 100%;
    justify-content: center;
}

.price-card .btn-outline {
    font-size: 14px;
    padding: 11px 20px;
    width: 100%;
    justify-content: center;
}



/* ── FAQ ── */
.faq-section {
    background: #fff;
}

.faq-wrapper {
    max-width: 800px;
    margin: 0 auto;
}

.faq-item {
    background: #faf5eb;
    border: 1px solid #efe6d1;
    border-radius: 20px;
    padding: 25px 30px;
    margin-bottom: 20px;
    cursor: pointer;
    transition: all 0.3s ease;
}

.faq-question {
    font-size: clamp(20px, 2.6vw, 23px);
    font-weight: 500;
    color: var(--color-pine-900);
    font-family: var(--fraunces);
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.faq-answer {
    display: none;
    margin-top: 20px;
}

.faq-answer p {
    color: var(--color-pine-700);
    font-size: 16px;
    line-height: 1.6;
}

.faq-answer p:last-of-type {
    margin-bottom: 0;
}

.icon {
    font-size: 20px;
    transition: transform 0.3s ease;
}

.faq-item.active .icon {
    transform: rotate(180deg);
}

/* STYLE2.CSS  */
/* STYLE2.CSS  */
/* STYLE2.CSS  */

.coaching_hero p {
    font-weight: 400;
}

.cc_pine_bg {
    background-color: #ecf1ee;
}

.cc_cream_bg {
    background-color: #faf5eb;
}

/* ── WHY COACHING MATTERS ── */
.why-section {
    background: #fff;
    padding: 100px 48px;
}

.why-inner {
    max-width: var(--max-w);
    margin: 0 auto;
}

.why-header {
    margin-bottom: 48px;
}

.why-header .eyebrow {
    color: var(--gold);
}

.why-header h2 {
    color: var(--text-dark);
    max-width: 700px;
    margin-bottom: 16px;
}

.why-header p {
    font-size: 17px;
    color: var(--text-mid);
    max-width: 640px;
    line-height: 1.7;
}



.phase-card {
    background: var(--color-green-800);
    border: 1px solid #cfdbd3;
    border-radius: 14px;
    padding: 24px 26px;
    height: 100%;
}

.phase-meta {
    display: flex;
    align-items: center;
    gap: 16px;
    margin-bottom: 10px;
}

.phase-num-badge {
    width: 48px;
    height: 48px;
    background-color: var(--color-pine-600);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-family: 'Inter', sans-serif;
    font-size: 11px;
    font-weight: 700;
    color: #000;
    flex-shrink: 0;
}

.phase-num-badge svg {
    color: #fff;
}

.phase-label {
    font-family: 'Inter', sans-serif;
    font-size: 18px;
    font-weight: 600;
    color: var(--color-pine-900);
}

.phase-card h4 {
    font-family: 'Fraunces', Georgia, serif;
    font-size: 20px;
    font-weight: 500;
    color: var(--text-dark);
    margin-bottom: 8px;
    line-height: 1.2;
}

.phase-card p {
    font-size: 16px;
    color: var(--text-mid);
    line-height: 1.65;
    margin: 0;
}

.why-footnote {
    font-family: 'Inter', sans-serif;
    font-size: 14px;
    color: var(--text-light);
    font-style: italic;
}

.gray_para,
.gray_para p {
    color: #4a5565;
    font-size: clamp(15px, 3.5vw, 18px);
}

.small_text_month {
    text-transform: uppercase;
    font-size: 13px;
    color: var(--color-pine-600);
    display: block;
}

/* ── WHAT YOU GET ── */
.get-section {
    background: var(--cream-light);
}

.get-inner {
    max-width: var(--max-w);
    margin: 0 auto;
}

.get-header {
    text-align: center;
    margin-bottom: 52px;
}

.get-header .eyebrow {
    color: var(--gold);
}

.get-header h2 {
    color: var(--text-dark);
}

/* .get-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 16px;
} */

.get-card {
    background: #fff;
    box-shadow:
        0 1px 2px 0 rgba(0, 0, 0, 0.05);
    border-radius: 14px;
    padding: 26px 24px;
    height: 100%;
}

.get-icon {
    width: 48px;
    height: 48px;
    background-color: #cfdbd3;
    border: 1px solid #e4dbc8;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 18px;
    margin-bottom: 14px;
}

.get-card h4 {
    font-family: 'Inter', sans-serif;
    font-size: 18px;
    font-weight: 600;
    color: var(--text-dark);
    margin-bottom: 6px;
    line-height: 1.25;
}

.get-card p {
    font-size: 16px;
    color: var(--text-mid);
    line-height: 1.6;
    margin: 0;
}

.need_to_recover_section {
    background-color: #ecf1ee;
}

/* ── PRICING ── */
.pricing-section {
    background: #fff;
}

.pricing-inner {
    margin: 0 auto;
}

.pricing-header {
    text-align: center;
    margin-bottom: 52px;
}

.pricing-header .eyebrow {
    color: var(--gold);
}

.pricing-header h2 {
    color: var(--text-dark);
}

.pricing-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
}
.cc_pricing_section .pricing-grid{
    all: unset;
    display: flex;
    justify-content: center;
    gap: 20px;
}
.cc_pricing_section .price-card {
    border: 1px solid #ddd5c0;
    border-radius: 16px;
    padding: 34px 30px;
    position: relative;
    display: flex;
    flex-direction: column;
    background-color: #ffffff;
    flex: 1;
    max-width: 470px;
}

.price-card .eyebrow {
    letter-spacing: 1px;
    color: var(--color-pine-600);
}

.cc_pricing_section .price-card.featured {
    border: 2px solid #3b5b47;
}

.price-pill {
    position: absolute;
    top: -13px;
    left: 50%;
    transform: translateX(-50%);
    background-color: var(--color-pine-600);
    color: #fff;
    font-family: 'Inter', sans-serif;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    padding: 4px 12px;
    border-radius: 20px;
}

.price-eyebrow {
    font-family: 'Inter', sans-serif;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 0.13em;
    text-transform: uppercase;
    color: var(--text-light);
    margin-bottom: 10px;
}

.price-amount {
    font-family: 'Inter', sans-serif;
    font-size: 48px;
    font-weight: 600;
    color: var(--text-dark);
    line-height: 1;
    display: inline;
}

.price-period {
    font-family: 'Inter', sans-serif;
    font-size: 15px;
    color: var(--text-light);
    margin-left: 4px;
}

.price-desc {
    font-family: 'Inter', sans-serif;
    font-size: 14px;
    color: var(--text-mid);
    margin: 6px 0 24px;
    line-height: 1.55;
}

.price-list {
    list-style: none;
    padding: 0;
    margin: 0 0 28px;
}

.price-list li {
    display: flex;
    /* align-items: center; */
    gap: 8px;
    font-family: 'Inter', sans-serif;
    font-size: 16px;
    color: var(--text-mid);
    line-height: 1.5;
    margin-bottom: 8px;
}

.pcheck {
    width: 30px;
    height: 20px;
    background: color-mix(in oklab, var(--forest) 12%, #fff);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 20px;
    color: var(--forest);
    flex-shrink: 0;
    margin-top: 2px;
}

.pcheck.gold {
    background: var(--gold);
    border-color: var(--gold);
    color: #000;
}

.cc_green_btn {
    background-color: #698b74;
    color: #000;
    border: none;
    border-radius: 8px;
    font-size: 1rem;
    font-weight: 500;
    padding: 8px 26px;
    cursor: pointer;
    gap: 10px;
    text-decoration: none;
    width: 100%;
    text-align: center;
    transition: all 0.5s ease;
}

.cc_green_btn:hover {
    background-color: #8fa897;
}

/* ── SCIENCE / CIRS ── */
.science-section {
    background: var(--cream-light);
}

.science-inner {
    max-width: var(--max-w);
    margin: 0 auto;
}

.science-left .eyebrow {
    color: var(--gold);
}

.science-left h2 {
    color: var(--text-dark);
    margin-bottom: 16px;
}

.science-left>p {
    font-size: 17px;
    color: var(--text-mid);
    line-height: 1.7;
    margin-bottom: 16px;
}

.science-link {
    font-family: 'Inter', sans-serif;
    font-size: 16px;
    font-weight: 500;
    color: var(--forest);
    text-decoration: none;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    margin-top: 8px;
}


.cc_card {
    background: var(--cc-linen-100);
    border: 1px solid var(--cc-linen-300);
    border-radius: 20px;
    padding: 32px 28px 24px;
    position: relative;
    max-width: 520px;
    margin: 0 auto;
}

.cc_diagram {
    position: relative;
    height: 320px;
    width: 100%;
}

.cc_lines {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    pointer-events: none;
}

.cc_center {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 110px;
    height: 110px;
    border-radius: 50%;
    background: var(--cc-pine-800);
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.18);
    ring: 4px solid var(--cc-linen-100);
    z-index: 2;
}

.cc_center_icon {
    width: 20px;
    height: 20px;
    color: var(--cc-honey-300);
    margin-bottom: 4px;
}

.cc_center_title {
    font-family: Georgia, 'Times New Roman', serif;
    font-size: 18px;
    font-weight: 700;
    color: var(--cc-linen-100);
    line-height: 1;
    letter-spacing: 0.02em;
}

.cc_center_sub {
    font-size: 11px;
    color: var(--cc-linen-300);
    margin-top: 3px;
    letter-spacing: 0.06em;
    font-weight: 400;
}

.cc_node {
    position: absolute;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 6px;
    z-index: 2;
}

.cc_node_icon {
    width: 48px;
    height: 48px;
    border-radius: 50%;
    background: #fff;
    border: 1.5px solid var(--cc-honey-border);
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.07);
}

.cc_node_icon svg {
    width: 20px;
    height: 20px;
    color: var(--cc-honey-600);
    stroke: var(--cc-honey-600);
}

.cc_node_label {
    font-size: 13px;
    font-weight: 500;
    color: var(--cc-pine-800);
    white-space: nowrap;
}

.cc_node--tl {
    top: 6%;
    left: 4%;
}

.cc_node--tr {
    top: 6%;
    right: 4%;
}

.cc_node--bl {
    bottom: 14%;
    left: 4%;
}

.cc_node--br {
    bottom: 14%;
    right: 4%;
}

.cc_caption {
    text-align: center;
    font-size: 12px;
    color: var(--cc-pine-500);
    letter-spacing: 0.04em;
    margin-top: 4px;
}

/* ── TESTIMONIALS ── */
.testimonials-section {
    background: #fff;
}

.t-inner {
    max-width: var(--max-w);
    margin: 0 auto;
}

.t-header {
    text-align: center;
    margin-bottom: 52px;
}

.t-header .eyebrow {
    color: var(--gold);
}

.t-header h2 {
    color: var(--text-dark);
}



.t-card {
    background-color: #ecf1ee;
    border: 1px solid #cfdbd3;
    border-radius: 16px;
    padding: 28px 26px;
    display: flex;
    flex-direction: column;
}

.t-stars {
    font-size: 16px;
    letter-spacing: 2px;
    color: #3b5b47;
    margin-bottom: 14px;
}

.t-stars svg {
    width: 30px;
    height: 30px;
}

.t-quote-mark {
    font-family: 'Fraunces', serif;
    font-size: 48px;
    color: #e4dbc8;
    line-height: 0.5;
    margin-bottom: 8px;
}

.t-body {
    font-size: 16px;
    color: var(--text-mid);
    line-height: 1.7;
    flex: 1;
    margin-bottom: 20px;
    border-bottom: 1px solid #cfdbd3;
    padding-bottom: 20px;
}

.t-author {
    font-family: 'Inter', sans-serif;
    font-size: 16px;
    color: var(--color-pine-900);
    font-weight: 600;
    letter-spacing: 0;
    text-transform: uppercase;
}

.t-location {
    font-family: 'Inter', sans-serif;
    font-size: 14px;
    color: var(--text-light);
}

.t-learn {
    font-family: 'Inter', sans-serif;
    font-size: 13px;
    color: var(--text-light);
    text-align: center;
    margin-top: 28px;
    text-decoration: none;
    font-style: italic;
}

/* ── HOW IT WORKS — 3 STEPS ── */
.steps-section {
    background: var(--cream-light);
}

.steps-inner {
    max-width: var(--max-w);
    margin: 0 auto;
}

.steps-header {
    text-align: center;
    margin-bottom: 60px;
}

.steps-header .eyebrow {
    color: var(--gold);
}

.steps-header h2 {
    color: var(--text-dark);
}



.cc-step-item {
    text-align: center;
}

.step-num-circle {
    width: 52px;
    height: 52px;
    background-color: var(--color-pine-600);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-family: 'Inter', sans-serif;
    font-size: 20px;
    font-weight: 500;
    color: #ffffff;
    margin: 0 auto 20px;
}

.cc-step-item h4 {
    font-family: 'Inter', sans-serif;
    font-size: 22px;
    font-weight: 500;
    color: var(--text-dark);
    margin-bottom: 10px;
}

.cc-step-item p {
    font-size: 15px;
    color: var(--text-mid);
    line-height: 1.65;
}

/* ── FAQ ── */
.cc_faqs_section.cc_pine_bg .faq-item {
    background-color: #ffffff;
}

.faq-section {
    background: #fff;
}

.faq-inner {
    max-width: var(--max-w);
    margin: 0 auto;
}

.faq-header {
    text-align: center;
    margin-bottom: 48px;
}

.faq-header .eyebrow {
    color: var(--gold);
}

.faq-header h2 {
    color: var(--text-dark);
    max-width: 600px;
    margin: 0 auto;
}


.faq-item {
    background-color: #ecf1ee;
    border: 1px solid #cfdbd3;
    border-radius: 16px;
    padding: 20px 26px;
    margin-bottom: 20px;
}

.faq-question {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0;
    cursor: pointer;
    gap: 24px;
}

.faq-question span {
    font-family: 'Inter', sans-serif;
    font-size: 17px;
    font-weight: 500;
    color: var(--text-dark);
    line-height: 1.4;
}

.faq-icon {
    width: 28px;
    height: 28px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 16px;
    color: var(--text-mid);
    flex-shrink: 0;
    transition: all 0.5s ease;
}

.faq-question.active .faq-icon {
    transform: rotate(180deg);
}

/* .faq-answer {
    max-height: 0;
    overflow: hidden;
    transition: all 0.5s ease;
} */

.faq-item.open .faq-answer {
    max-height: 500px;
}

.faq-answer p {
    font-size: 15px;
    color: var(--text-mid);
    line-height: 1.7;
    padding-top: 10px;
}

.left_border_pine_box {
    border-left: 5px solid var(--color-pine-600);
    background: var(--color-green-800);
    padding: 24px 26px;
    border-radius: 0 14px 14px 0;
    max-width: 800px;
    margin-inline: auto;
    font-size: 16px;
}

.phase-card .pcheck {
    width: 26px;
    height: 26px;
}

.phase-card .price-list {
    margin-bottom: 0;
}

.steps-section {
    background: var(--cream-light);
}

.steps-inner {
    max-width: var(--max-w);
    margin: 0 auto;
}

.steps-header {
    text-align: center;
    margin-bottom: 52px;
}

.steps-header .eyebrow {
    color: var(--gold);
}

.steps-header h2 {
    color: var(--text-dark);
    margin-bottom: 10px;
}

.steps-header p {
    font-size: 17px;
    color: var(--text-mid);
    max-width: 560px;
    margin: 0 auto;
}



.step-card {
    background: #fff;
    border: 1px solid #ddd5c0;
    border-radius: 0 16px 16px 16px;
    padding: 28px 26px;
    height: 100%;
    position: relative;
}

.steps-grid {
    row-gap: 70px;
    padding-top: 50px;
}

.step-circle {
    width: 64px;
    height: 64px;
    background: var(--color-pine-600);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-family: 'Inter', sans-serif;
    font-size: 24px;
    font-weight: 600;
    color: #ffffff;
    margin-bottom: 18px;
}

.step-card h4 {
    font-family: "Inter", sans-serif;
    font-size: clamp(22px, 2vw, 34px);
    font-weight: 600;
    color: var(--text-dark);
    margin-bottom: 10px;
    line-height: 1.2;
}

.step-card p {
    font-size: 16px;
    color: var(--text-mid);
    line-height: 1.65;
    margin-bottom: 1.3em;
}

.step-card-note {
    font-family: 'Inter', sans-serif;
    font-size: 15px;
    color: var(--text-light);
    font-weight: 600;
}

.step-badge {
    font-size: 14px;
    color: #000000;
    text-transform: uppercase;
    background-color: var(--cream);
    border-radius: 20px;
    padding: 5px 10px;
    display: inline-block;
    font-weight: 600;
}

.step-phase-label {
    padding: 8px 12px;
    color: #ffffff;
    background: var(--color-pine-600);
    border-radius: 5px 5px 0 0;
    font-size: 16px;
    font-weight: 600;
    text-transform: uppercase;
    position: absolute;
    left: 0;
    top: 0;
    transform: translateY(-100%);
    letter-spacing: 1.5px;
}

.step-card p.pricing_para {
    font-size: clamp(22px, 2vw, 28px);
    font-weight: 600;
}

.pricing_para b {
    color: var(--gold);
    font-weight: inherit !important;
}

.step-card .normal_btn.gray_para {
    margin-top: 20px;
    padding-top: 20px;
    border-top: 1px solid #ddd5c0;
}

.three_steps_section .step-card {
    box-shadow:
        0 1px 2px 0 rgba(0, 0, 0, 0.05);
    border: none;
}

.coaching_why_required_section .phase-meta {
    flex-direction: column;
    gap: 20px;
    align-items: self-start;
}

.price-row-table {
    width: 100%;
    border-collapse: collapse;
}

.cc_price_table_wrapper {
    background: #ecf1ee;
    padding: 20px 40px;
    margin-bottom: 30px;
    border-radius: 12px;
}

.price-row-table tr {
    border-bottom: 1px solid #cfdbd3;
}

.price-row-table tr:last-child {
    border-bottom: none;
}

.price-row-table td {
    padding: 14px 0;
    font-family: 'Inter', sans-serif;
    font-size: 15px;
    color: var(--text-dark);
    vertical-align: middle;
    font-weight: 600;
}

.price-row-table td:last-child {
    text-align: right;
    font-weight: 600;
    color: var(--text-dark);
}

.price-row-sub {
    font-family: 'Inter', sans-serif;
    font-size: 12px;
    color: var(--text-light);
    display: block;
    margin-top: 2px;
    font-weight: 400;
}

.price-free {
    color: #3a8a50;
    font-weight: 700;
}

.price-varies {
    color: var(--text-mid);
}

.pricing-fine {
    font-family: 'Inter', sans-serif;
    font-size: 12px;
    color: var(--text-light);
    text-align: center;
    margin-top: 16px;
    line-height: 1.6;
}

.pricing-card {
    background: #fff;
    border: 2px solid var(--color-pine-600);
    border-radius: 20px;
    padding: 40px 44px;
    box-shadow: 0 20px 25px -5px #0000001a, 0 8px 10px -6px #0000001a;
}

.pricing-card-title {
    font-family: 'Inter', sans-serif;
    font-size: 26px;
    font-weight: 600;
    color: var(--text-dark);
    margin-bottom: 6px;
}

.pricing-card-sub {
    font-family: 'Inter', sans-serif;
    font-size: 16px;
    margin-bottom: 28px;
}

/* ── EVIDENCE / MEDICAL APPROACH ── */
.evidence-section {
    background: #fff;
}

.evidence-inner {
    max-width: var(--max-w);
    margin: 0 auto;
    display: grid;
    grid-template-columns: 1fr 380px;
    gap: 80px;
    align-items: start;
}

.evidence-left .eyebrow {
    color: var(--gold);
}

.evidence-left h2 {
    color: var(--text-dark);
    margin-bottom: 16px;
}

.evidence-left>p {
    font-size: 17px;
    color: var(--text-mid);
    line-height: 1.7;
    margin-bottom: 14px;
}

.evidence-list {
    list-style: none;
    padding: 0;
    margin: 0 0 22px;
}

.evidence-list li {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    font-family: 'Inter', sans-serif;
    font-size: 15px;
    color: var(--text-mid);
    line-height: 1.55;
    margin-bottom: 10px;
}

.echeck {
    width: 18px;
    height: 18px;
    border-radius: 50%;
    background: color-mix(in oklab, var(--forest) 12%, #fff);
    border: 1px solid #c8d4c0;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 9px;
    color: var(--forest);
    flex-shrink: 0;
    margin-top: 2px;
}

.cc_recovery-chart {
    position: relative;
    height: 320px;
    overflow: hidden;
    border-radius: 24px;
    background: linear-gradient(135deg, #f7f1e7 0%, #efe4d3 100%);
}

.cc_chart-header {
    position: absolute;
    top: 20px;
    left: 20px;
    right: 20px;
    z-index: 2;
}

.cc_chart-label {
    margin-bottom: 4px;
    color: #2d5b45;
    font-size: 12px;
    font-weight: 600;
    letter-spacing: 2px;
    text-transform: uppercase;
}

.cc_chart-subtitle {
    color: #4f6f5d;
    font-size: 14px;
}

.chart-svg {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
}

.cc_chart-grid line {
    stroke: #cfdbd3;
    stroke-width: 0.8;
    stroke-dasharray: 3 3;
}

.cc_chart-axis-label {
    fill: #8aa593;
    font-size: 10px;
    letter-spacing: 1.2px;
    font-family: "Inter", sans-serif;
}

.cc_chart-line {
    fill: none;
    stroke: #c88f3a;
    stroke-width: 3;
    stroke-linecap: round;
}

.cc_chart-bottom-line {
    stroke: #aec1b4;
    stroke-width: 1.5;
}

.cc_chart-point {
    fill: #1e3325;
    stroke: #fef6e6;
    stroke-width: 2.5;
}

.cc_chart-point-title {
    fill: #132219;
    font-size: 11px;
    font-weight: 600;
    font-family: "Inter", sans-serif;
}

.cc_chart-bottom-label {
    fill: #698b74;
    font-size: 10px;
    font-family: "Inter", sans-serif;
}

.cc_chart-footer {
    position: absolute;
    bottom: 6px;
    left: 0;
    right: 0;
    text-align: center;
    color: #5f7b68;
    font-size: 11px;
    font-style: italic;
}

.normal_btn {
    text-decoration: none;
    font-weight: 600;
    display: flex;
    align-items: center;
    gap: 10px;
    transition: all 0.5s ease;
}

.normal_btn:hover {
    color: var(--gold);
}

.normal_btn svg {
    width: 16px;
    height: 16px;
}

h4.safety-title {
    font-family: "Inter", sans-serif;
    font-weight: 600;
    margin-bottom: 1em;
}

.important_safety_section .how_section_head .eyebrow {
    font-weight: 600;
}

.important_safety_section.cc_pine_bg .phase-card {
    background-color: #ffffff;
}

.safety-body p {
    margin-bottom: 1em;
}

.safety-body .fst-italic {
    font-size: 14px;
}

.btn-cta-fill:hover {
    filter: brightness(1.06);
}

/* ── OUR STORY ── */
.story_section {
    background-color: #ecf1ee;
}

.story-inner {
    margin: 0 auto;
}

.story-left .eyebrow {
    color: var(--gold);
}

.story-left h2 {
    color: var(--text-dark);
    font-size: 38px;
}

.story-right p {
    font-size: 17px;
    color: var(--text-mid);
    line-height: 1.75;
    margin-bottom: 18px;
}

.story-right p:last-child {
    margin-bottom: 0;
}

.story-right strong {
    font-weight: 600;
    color: var(--text-dark);
}

/* ── TEAM ── */
.team-section {
    background: #fff;
}

.team-inner {
    max-width: var(--max-w);
    margin: 0 auto;
}

.team-header {
    text-align: center;
    margin-bottom: 56px;
}

.team-header .eyebrow {
    color: var(--gold);
}

.team-header h2 {
    color: var(--text-dark);
}

.team-grid {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 32px;
}

.team-card {
    background: var(--color-green-800);
    border: 1px solid #e4dbc8;
    border-radius: 20px;
    overflow: hidden;
}

.team-photo {
    width: 100%;
    aspect-ratio: 3/3;
    object-fit: cover;
    background: #aec1b4;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 80px;
    overflow: hidden;
    position: relative;
}

/* Styled photo placeholder */
/* .team-photo-dr {
    background: linear-gradient(160deg, #8a7e6e 0%, #6a5e50 50%, #4a4038 100%);
}

.team-photo-larry {
    background: linear-gradient(160deg, #9aaba0 0%, #7a8e84 50%, #5a6e64 100%);
} */

.team-photo-silhouette {
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 55%;
    opacity: 0.45;
}

.team-card-body {
    padding: 28px 30px;
}

.team-name {
    font-family: 'Fraunces', Georgia, serif;
    font-size: 22px;
    font-weight: 600;
    color: var(--text-dark);
    margin-bottom: 4px;
    line-height: 1.15;
}

.team-role {
    font-family: 'Inter', sans-serif;
    font-size: 13px;
    font-weight: 600;
    color: #c88f3a;
    margin-bottom: 14px;
    letter-spacing: 1.5px;
}

.team-card-body .gray_para {
    border-bottom: 1px solid #e4dbc8;
    margin-bottom: 20px;
    padding-bottom: 20px;
}

.team-card-body .pcheck {
    color: #c88f3a;
}

.team-creds {
    list-style: none;
    padding: 0;
    margin: 0;
}

.team-creds li {
    display: flex;
    align-items: flex-start;
    gap: 8px;
    font-family: 'Inter', sans-serif;
    font-size: 13px;
    color: var(--text-mid);
    line-height: 1.5;
    margin-bottom: 6px;
}

.cred-check {
    width: 16px;
    height: 16px;
    border-radius: 50%;
    background: color-mix(in oklab, var(--forest) 12%, #fff);
    border: 1px solid #c0d0b8;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 8px;
    color: var(--forest);
    flex-shrink: 0;
    margin-top: 2px;
}

.team-photo img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: top;
}

/* ── PRINCIPLES ── */
.cc_principles_section {
    background-color: #ecf1ee;
}

.principles-inner {
    max-width: var(--max-w);
    margin: 0 auto;
}

.principles-header {
    text-align: center;
    margin-bottom: 56px;
}

.principles-header .eyebrow {
    color: var(--gold);
}

.principles-header h2 {
    color: var(--text-dark);
    max-width: 640px;
    margin: 0 auto;
}



.principle-card {
    background: #fff;
    border: 1px solid #ddd5c0;
    border-radius: 26px;
    padding: 32px 30px;
    height: 100%;
}

.principle-icon {
    width: 44px;
    height: 44px;
    background: var(--cream-light);
    border: 1px solid #e4dbc8;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 20px;
    margin-bottom: 18px;
    background-color: #cfdbd3;
}

.principle-card h4 {
    font-family: 'Fraunces', Georgia, serif;
    font-size: 28px;
    font-weight: 600;
    color: var(--text-dark);
    margin-bottom: 10px;
    line-height: 1.2;
}

.principle-card p {
    font-size: 16px;
    color: var(--text-mid);
    line-height: 1.7;
    margin: 0;
}

.submenu-content h6 {
    font-family: 'Inter', sans-serif;
}

.button_heading {
    font-family: 'Fraunces', Georgia, serif;
    font-size: 24px;
    margin-bottom: 1em;
}

.learn_hero_text {
    max-width: 770px;
}

.featured-section {
    background: #fff;
    padding: 80px 48px;
}

.featured-inner {
    max-width: var(--max-w);
    margin: 0 auto;
}

.featured-header {
    text-align: center;
    margin-bottom: 36px;
}

.featured-header .eyebrow {
    color: var(--gold);
}

.featured-header h2 {
    color: var(--text-dark);
}

.featured-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
}

/* Featured cards have a taller thumb */
.featured-grid .card-thumb {
    aspect-ratio: 3/2;
}

.article-card {
    background: #fff;
    /* border: 1px solid #e4dbc8; */
    box-shadow: 0 4px 6px -1px var(--tw-shadow-color, #0000001a), 0 2px 4px -2px var(--tw-shadow-color, #0000001a);
    border-radius: 16px;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    cursor: pointer;
    transition: box-shadow 0.2s;
    text-decoration: none;
    color: inherit;
    height: 100%;
}

.article-card:hover {
    box-shadow: 0 8px 32px rgba(0, 0, 0, 0.10);
}

/* Coloured thumbnail area */
.card-thumb {
    width: 100%;
    aspect-ratio: 16/9;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 36px;
    flex-shrink: 0;
    position: relative;
    overflow: hidden;
}

.cc_card_body {
    padding: 20px 22px 24px;
    flex: 1;
    display: flex;
    flex-direction: column;
}

.article-card .bm_resource_image_area img {
    object-position: center;
}

.card-category {
    font-family: 'Inter', sans-serif;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--gold);
    margin-bottom: 8px;
}

.cc_card_title {
    font-family: 'Fraunces', Georgia, serif;
    font-size: 18px;
    font-weight: 500;
    color: var(--text-dark);
    line-height: 1.3;
    margin-bottom: 15px;
}

.card-desc {
    font-family: 'Inter', sans-serif;
    font-size: 14px;
    color: var(--text-mid);
    line-height: 1.6;
    flex: 1;
    margin-bottom: 14px;
}

.card-meta {
    display: flex;
    align-items: center;
    gap: 6px;
    font-family: 'Inter', sans-serif;
    font-size: 12px;
    color: var(--text-light);
    margin-top: auto;
}

.card-meta-icon {
    font-size: 12px;
}

.thumb-forest {
    background: var(--forest-card);
}

.thumb-forest-mid {
    background: #2e4a38;
}

.thumb-forest-deep {
    background: #253d2e;
}

.thumb-gold {
    background: #8a6828;
}

.thumb-gold-mid {
    background: #967530;
}

.thumb-gold-deep {
    background: #7a5a20;
}

.topic-section {
    padding: 80px 48px;
}

.topic-section:nth-child(even) {
    background: var(--cream-light);
}

.topic-section:nth-child(odd) {
    background: #fff;
}

.topic-inner {
    max-width: var(--max-w);
    margin: 0 auto;
}

.topic-header {
    margin-bottom: 32px;
}

.topic-header .eyebrow {
    color: var(--cc-pine-500);
    font-size: 13px;
}

.topic-header h2 {
    color: var(--text-dark);
    font-size: clamp(30px, 3.8vw, 44px);
    margin-bottom: 6px;
}

.topic-header p {
    font-size: 18px;
    color: var(--bs-black);
    font-family: 'Inter', sans-serif;
}

.topic-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
}

.nav-actions a {
    text-decoration: none;
}

#moderncart-floating-cart {
    bottom: 16.5px !important;
    transform: translateY(40px) !important;
}

.upper_header_wrapper {
    text-align: center;
    background-color: var(--cc-pine-800);
    padding: 10px 0;
}

.upper_header_wrapper p {
    font-size: clamp(14px, 4vw, 16px);
    margin: 0;
}

.upper_header_wrapper * {
    color: #ffffff;
}

.upper_header_wrapper p span {
    color: var(--doveWhite);
}

.upper_header_wrapper p a {
    color: #ffffff;
    transition: all 0.5s ease-in;

    &:hover {
        color: #fba45b;
        text-decoration: none;
    }
}

.cream_pill {
    background-color: #f9f5ea;
    border: 1px solid var(--gold);
    border-radius: 16px;
    font-size: 14px;
    margin-bottom: 0;
    padding: 5px 14px;
    font-weight: 500;
    display: inline-block;
}

.green_pill {
    background-color: #faf5eb;
    border: 1px solid #4c7e5c;
    border-radius: 16px;
    font-size: 14px;
    margin-bottom: 0;
    padding: 5px 14px;
    font-weight: 500;
    display: inline-block;
}

.common_mb {
    margin-bottom: clamp(40px, 5.5vw, 100px);
}

.common_mb2 {
    margin-bottom: clamp(40px, 4.8vw, 80px);
}

.common_mt {
    margin-top: clamp(40px, 4.8vw, 80px);
}

.member_cc_content {
    background: #faf5eb;
    border: 1px solid #e4dbc8;
    border-radius: 20px;
    padding: 25px;
    height: 100%;
}

.stats-row>div:has(.stat-n) {
    position: relative;
}

.stats-row>div:has(.stat-n)::after {
    content: "";
    position: absolute;
    width: 1px;
    height: 60%;
    top: 50%;
    transform: translateY(-50%);
    background: #e4dbc8;
    right: -17px
}

.stats-row>div:has(.stat-n):last-child:after {
    display: none;
}

.cc_new_for_home_wrapper p {
    color: #000000;
    line-height: 1.4;
}

.cc_new_for_home_wrapper .hero_img {
    aspect-ratio: 3 / 2.5;
}

.cc_cream_box {
    border-radius: 12px;
    background-color: #faf5eb;
    border: 1px solid #dad7cd;
    padding: 20px;
}

.cc_number_box {
    height: 100%;
    padding: 20px;
}

.cc_number_box .stat-n {
    color: var(--gold);
    font-weight: 700;
}

.cc_number_box .stat-l {
    color: #000000;
}

:is(.blank_bg_cc_tick_list, .cc_tick_list).normal_arrow_ci_box_content ul li::before {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 258 258'%3E%3Cg transform='translate(0,258) scale(0.1,-0.1)' fill='%23c88f3a'%3E%3Cpath d='M2080 2259 c-369 -265 -772 -661 -1109 -1090 l-83 -107 -280 200 -280 201 -81 -81 -80 -80 146 -199 c182 -250 422 -596 506 -731 35 -56 67 -102 71 -102 4 0 31 42 61 92 89 156 286 473 417 671 333 506 640 896 915 1165 l125 122 -121 0 -122 0 -85 -61z'/%3E%3C/g%3E%3C/svg%3E") !important;
    width: clamp(20px, 2.4vw, 24px);
    height: clamp(20px, 2.4vw, 24px);
    top: 5px;
}

:is(.cc_tick_list) {
    background-color: #1e3325;
    padding: 50px 30px;
    border-radius: 12px;
}

:is(.blank_bg_cc_tick_list, .cc_tick_list).ci_box_content ul li {
    color: #ffffff;
    padding-left: 2em;
}



:is(.cc_tick_list).normal_arrow_ci_box_content ul li:not(:last-child) {
    color: #ffffff;
    margin-bottom: 1em;
    padding-bottom: 1em;
    border-bottom: 1px solid #ffffff11;
}

:is(.blank_bg_cc_tick_list).normal_arrow_ci_box_content.ci_box_content ul li {
    color: #000000;
    margin-bottom: 1.5em;
}

/* ── Card wrapper ── */
.pricing_cards_swiper_wrap {
    padding-bottom: 48px;
}

.pricing_swiper {
    overflow: visible !important;
    padding: 40px 12px 20px !important;
}

.pricing_swiper .swiper-slide {
    height: auto !important;
}

.pricing_swiper:not(:has(.swiper-pagination-lock)) {
    padding-bottom: 50px !important;
}

.sec_v_padding:has(.swiper) {
    overflow: hidden;
}

/* ── Badge above card ── */
.pricing_card_badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background-color: #3b4f45;
    color: #fff;
    font-family: var(--theme-font, 'Inter', sans-serif);
    font-size: 14px;
    letter-spacing: 3px;
    text-transform: uppercase;
    font-weight: 600;
    padding: 7px 20px;
    border-radius: 6px 6px 0 0;
    position: absolute;
    top: -36px;
    left: 50%;
    transform: translateX(-50%);
    white-space: nowrap;
}

/* ── Card ── */
.pricing_card {
    border-radius: 12px;
    background-color: #dbe5df;
    border: 1px solid #dad7cd;
    padding: 32px 24px 24px;
    position: relative;
    height: 100%;
    display: flex;
    flex-direction: column;
    gap: 0;
}

/* .pricing_card.is_featured {
    border-color: #3b4f45;
} */

/* ── Step number ── */
.pricing_step {
    width: clamp(30px, 4.0vw, 76px);
    height: clamp(30px, 4.0vw, 76px);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto 14px;
    font-family: var(--theme-font, 'Inter', sans-serif);
    font-size: clamp(18px, 1.6vw, 30px);
    font-weight: 700;
    color: #3b4f45;
    background-color: #4c7e5c12;
}

.pricing_step.gold {
    color: var(--gold, #b5872a);
    background-color: #c88f3a11;
}

/* ── Card head ── */
.pricing_card_head {
    text-align: center;
    margin-bottom: 20px;
}

.pricing_card_eyebrow {
    font-family: var(--theme-font, 'Inter', sans-serif);
    font-size: 16px;
    font-weight: 400;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: #4c4f50;
    margin-bottom: 6px;
}

.pricing_card_title {
    font-family: 'Fraunces', 'Fraunces Fallback: Times New Roman', 'Fraunces Fallback: Georgia', 'Fraunces Fallback: Noto Serif', Georgia, 'Times New Roman', serif;
    font-weight: 600;
    color: #1c2b22;
    line-height: 1.25;
    margin: 0 0 10px;
    font-size: clamp(20px, 2vw, 38px);
}

.pricing_card_price {
    font-family: 'Fraunces', 'Fraunces Fallback: Times New Roman', 'Fraunces Fallback: Georgia', 'Fraunces Fallback: Noto Serif', Georgia, 'Times New Roman', serif;
    font-size: clamp(20px, 2vw, 38px);
    font-weight: 600;
    color: var(--gold, #b5872a);
    line-height: 1;
    margin-bottom: 12px;
}

.pricing_card_price span {
    color: #000000;
}

.pricing_card_pill {
    display: inline-block;
    background: #f5f2ec;
    border: 1px solid #dad7cd;
    border-radius: 50px;
    padding: 5px 16px;
    font-family: var(--theme-font, 'Inter', sans-serif);
    font-size: 12px;
    color: #4a5c52;
    margin-bottom: 0;
}

/* ── White inner box (intro + features) ── */
.pricing_card_body {
    background-color: #ffffff;
    border-radius: 10px;
    padding: 22px 20px 50px;
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 0;
    margin-top: 4px;
    position: relative;
}

/* ── Divider inside white box ── */
.pricing_card_divider {
    height: 1px;
    background-color: #e4e8e5;
    margin: 18px 0;
}

/* ── Intro paragraph ── */
.pricing_card_intro {
    font-family: var(--theme-font, 'Inter', sans-serif);
    font-size: clamp(14px, 1.3vw, 18px);
    line-height: 1.65;
    color: #000000;
    text-align: center;
    font-weight: 500;
    margin: 0;
}

/* ── Feature list ── */
.pricing_feature_list {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 24px;
    flex: 1;
}

.pricing_feature_list li {
    font-family: var(--theme-font, 'Inter', sans-serif);
    font-size: clamp(14px, 1.3vw, 18px);
    line-height: 1.5;
    color: #000000;
    display: flex;
    align-items: flex-start;
    gap: 10px;
}

.pricing_feature_list li svg {
    flex-shrink: 0;
    margin-top: 4px;
}

.pricing_feature_list li svg circle {
    fill: var(--gold);
    opacity: 1;
}

.pricing_feature_list li svg path {
    stroke: #ffffff;
}

/* ── CTA button — floated below white box ── */
.pricing_card_cta {
    margin-top: 20px;
    text-align: center;
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    transform: translateY(50%);
}

.pricing_card_cta .btn-hero-primary {
    width: max-content;
    display: inline-block;
    font-size: 14px;
    padding: 10px 26px;
}

/* ── Footer note ── */
.pricing_card_note {
    font-family: var(--theme-font, 'Inter', sans-serif);
    font-size: 12.5px;
    line-height: 1.6;
    color: #000000;
    text-align: center;
    margin-top: clamp(40px, 3.7vw, 60px);
    margin-bottom: 0;
    font-size: clamp(14px, 1.3vw, 18px);
    font-style: italic;
}



/* ── Swiper pagination ── */
.pricing_cards_swiper_wrap .swiper-pagination {
    bottom: 0;
}

.pricing_cards_swiper_wrap .swiper-pagination-bullet {
    background: #3b4f45;
    opacity: 0.3;
}

.pricing_cards_swiper_wrap .swiper-pagination-bullet-active {
    opacity: 1;
    background: var(--gold, #b5872a);
}


.min_width_btn {
    min-width: 192px;
    text-align: center;
    justify-content: center;
}

.step_list {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.step_list_item {
    display: flex;
    align-items: flex-start;
    gap: 20px;
}

.step_list_num {
    flex-shrink: 0;
    width: clamp(30px, 2.7vw, 52px);
    height: clamp(30px, 2.7vw, 52px);
    border-radius: 50%;
    background-color: rgba(181, 135, 42, 0.12);
    display: flex;
    align-items: center;
    justify-content: center;
    font-family: var(--theme-font, 'Inter', sans-serif);
    font-size: clamp(18px, 1.8vw, 21px);
    font-weight: 700;
    color: var(--gold, #b5872a);
}

.step_list_content {
    flex: 1;
    padding-top: 2px;
}

.step_list_content h4 {
    font-family: "Inter", sans-serif;
    font-size: clamp(18px, 1.6vw, 21px);
    font-weight: 700;
    color: #1c2b22;
    margin: 0 0 8px;
    line-height: 1.2;
}

.step_list_content p {
    font-family: var(--theme-font, 'Inter', sans-serif);
    font-size: clamp(15px, 1.8vw, 18px);
    line-height: 1.6;
    color: #000000;
    margin: 0;
}

/* ── Home Testing Cards ── */
.ht_cards_wrap {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: clamp(40px, 3.7vw, 60px);
}

@media (max-width: 767px) {
    .ht_cards_wrap {
        grid-template-columns: 1fr;
    }
}

.ht_card {
    border-radius: 12px;
    background-color: #dbe5df;
    border: 1px solid #dad7cd;
    padding: 28px 24px 24px;
    display: flex;
    flex-direction: column;
    gap: 0;
}

/* ── Card title ── */
.ht_card_title {
    font-family: 'Fraunces', 'Fraunces Fallback: Times New Roman', 'Fraunces Fallback: Georgia', 'Fraunces Fallback: Noto Serif', Georgia, 'Times New Roman', serif;
    font-size: clamp(20px, 2vw, 38px);
    font-weight: 600;
    color: #1c2b22;
    line-height: 1.25;
    text-align: center;
    margin: 0 0 1.5em;
}

/* ── White inner box ── */
.ht_card_body {
    background-color: #ffffff;
    border-radius: 10px;
    padding: 50px 45px;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0;
    flex: 1;
    position: relative;
}

/* ── Description ── */
.ht_card_desc {
    font-family: var(--theme-font, 'Inter', sans-serif);
    font-size: clamp(15px, 1.8vw, 18px);
    line-height: 1.65;
    color: #000000;
    text-align: center;
    margin: 0 0 20px;
}

/* ── Price ── */
.ht_card_price {
    font-family: 'Fraunces', 'Fraunces Fallback: Times New Roman', 'Fraunces Fallback: Georgia', 'Fraunces Fallback: Noto Serif', Georgia, 'Times New Roman', serif;
    font-size: 42px;
    font-weight: 700;
    color: var(--gold, #b5872a);
    line-height: 1;
    margin: 0;
}

.ht_card_price.is_free {
    color: #3b7a57;
}

/* ── CTA button ── */
.ht_card_cta .btn-hero-primary {
    min-width: 160px;
}

/* ── Footer note ── */
.ht_card_note {
    font-family: var(--theme-font, 'Inter', sans-serif);
    font-size: 12.5px;
    line-height: 1.6;
    color: #4a5c52;
    text-align: center;
    font-style: italic;
    margin: 18px 0 0;
}

/* ── Product Cards Grid ── */
.pc_grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
}

@media (max-width: 991px) {
    .pc_grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 575px) {
    .pc_grid {
        grid-template-columns: 1fr;
    }
}

/* ── Single Card ── */
.pc_card {
    border-radius: 12px;
    background-color: #dbe5df;
    border: 1px solid #dad7cd;
    overflow: hidden;
    display: flex;
    flex-direction: column;
}

/* ── Image area ── */
.pc_card_img {
    width: 100%;
    aspect-ratio: 4 / 3;
    background-color: #ffffff;
    overflow: hidden;
    flex-shrink: 0;
}

.pc_card_img img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    display: block;
    padding: 16px;
}

/* ── Card body ── */
.pc_card_body {
    padding: 20px 20px 22px;
    display: flex;
    flex-direction: column;
    flex: 1;
    text-align: center;
}

/* ── Badge ── */
.pc_card_badge {
    margin-bottom: 12px;
    align-self: center;
    min-width: 250px;
    text-transform: uppercase;
}

/* ── Product title ── */
.pc_card_title {
    font-family: 'Fraunces', 'Fraunces Fallback: Times New Roman', 'Fraunces Fallback: Georgia', 'Fraunces Fallback: Noto Serif', Georgia, 'Times New Roman', serif;
    font-size: clamp(20px, 2vw, 38px);
    font-weight: 600;
    color: #1c2b22;
    line-height: 1.25;
    margin: 0 0 10px;
}

/* ── Description ── */
.pc_card_desc {
    font-family: var(--theme-font, 'Inter', sans-serif);
    font-size: clamp(15px, 1.8vw, 18px);
    line-height: 1.65;
    color: #000000;
    margin: 0;
    flex: 1;
}

/* ── Price + CTA row ── */
.pc_card_footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-top: clamp(30px, 2.7vw, 45px);
}

.pc_card_price {
    font-family: "Inter";
    font-size: clamp(22px, 1.8vw, 28px);
    font-weight: 600;
    color: #1c2b22;
    line-height: 1;
    white-space: nowrap;
}

.larry_content_area p:not(.recom_text) {
    font-size: clamp(20px, 2.4vw, 24px);
}

.fh_team_member_content_wrapper {
    display: flex;
    flex-direction: column;
    height: 100%;
}

.also_worth_card {
    background-color: var(--cc-pine-800);
    padding-bottom: clamp(40px, 3.7vw, 60px);
}

.also_worth_card .pricing_card_body {
    background-color: #dbe5df;
}

.also_worth_card .pricing_card_divider {
    background-color: #606b5e23;
}

.also_worth_card_cta {
    margin-top: clamp(40px, 3.7vw, 60px);
}

.fh_small_info_wrapper {
    background-color: #faf5eb;
}

.fh_small_info_area {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0;
}

.fh_small_info_item {
    font-family: var(--fraunces);
    font-size: clamp(22px, 2.6vw, 28px);
    color: #606b5e;
    padding: 0 clamp(40px, 3.7vw, 60px);
    white-space: nowrap;
}

.fh_small_info_item strong {
    font-weight: 500 !important;
    color: var(--gold);
}

.fh_small_info_wrapper2 {
    background-color: #f9f5ea;
}

.fh_small_info_item:not(:last-child) {
    border-right: 1px solid #c8c5bb;
}

.new_fh_faqs.cc_faqs_section.cc_pine_bg .faq-item {
    background-color: #dbe5df;
}

.text-italic {
    font-style: italic;
}

/* SYMPTOM PAGE CSS  */
/* SYMPTOM PAGE CSS  */
/* SYMPTOM PAGE CSS  */
/* ── CHECKER CONTAINER ── */
.checker-wrap {
    max-width: var(--max-w);
    margin: 0 auto;
    padding: 40px 20px 80px;
}

/* ── PROGRESS ── */
.progress-row {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 32px;
}

.progress-track {
    flex: 1;
    height: 4px;
    background: var(--border);
    border-radius: 2px;
    overflow: hidden;
}

.progress-fill {
    height: 100%;
    background: var(--forest);
    border-radius: 2px;
    transition: width 0.4s ease;
}

.progress-label {
    font-size: 13px;
    color: var(--text-light);
    white-space: nowrap;
    flex-shrink: 0;
}

/* ── STEP CARD ── */
.step {
    display: none;
}

.step.active {
    display: block;
    animation: fadeUp .25s ease;
}

@keyframes fadeUp {
    from {
        opacity: 0;
        transform: translateY(10px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.cc-form-step-card {
    background: var(--white);
    border: 1px solid rgba(157, 157, 157, 0.38);
    border-radius: 20px;
    padding: 36px 80px 26px;
    text-align: center;
}

.q_wrapper {
    text-align: center;
    background-color: #ffffff;
    margin-top: -105px;
    padding: 0 40px;
    margin-inline: auto;
    width: fit-content;
    margin-bottom: 50px;

}

.step-eyebrow {
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.13em;
    text-transform: uppercase;
    color: var(--text-light);
    margin-bottom: 10px;
    display: block;
}

.step-question {
    font-family: 'Fraunces', Georgia, serif;
    font-size: clamp(24px, 2.7vw, 40px);
    font-weight: 500;
    color: var(--text-dark);
    line-height: 1.2;
    letter-spacing: -0.01em;
    margin-bottom: 8px;
}

.step-sub {
    font-size: 15px;
    color: var(--text-mid);
    line-height: 1.65;
    margin-bottom: 24px;
}

.multi-hint {
    font-size: 12px;
    color: var(--text-light);
    margin-bottom: 14px;
    font-style: italic;
}

/* ── OPTIONS ── */
.options {
    display: flex;
    flex-direction: column;
    gap: 8px;
    margin-bottom: 24px;
}

.opt {
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 15px 18px;
    background: var(--white);
    border-radius: 12px;
    cursor: pointer;
    transition: border-color 0.15s, background 0.15s, transform 0.1s;
    text-align: left;
    width: 100%;
    font-family: 'Inter', sans-serif;
    border: 1px solid #dad7cd;
}

.opt:hover {
    border-color: #c0b898;
    background: var(--cream-light);
}

.opt:active {
    transform: scale(0.99);
}

.opt.selected {
    border-color: var(--forest);
    background: var(--cc-pine-500);
}

.opt.selected *,
.opt.multi-sel * {
    color: #ffffff !important;
}

.opt.multi-sel {
    border-color: var(--forest);
    background: var(--cc-pine-500);
}

.opt-icon {
    width: 36px;
    height: 36px;
    border-radius: 9px;
    background: var(--cream-dark);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 17px;
    flex-shrink: 0;
    margin-top: 1px;
    transition: background 0.15s;
}

.opt.selected .opt-icon,
.opt.multi-sel .opt-icon {
    background: var(--color-green-800);
}

.opt-check {
    width: 20px;
    height: 20px;
    border-radius: 50%;
    border: 1.5px solid var(--border);
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    margin-top: 2px;
    transition: background 0.15s, border-color 0.15s;
    font-size: 11px;
    color: transparent;
}

.opt.multi-sel .opt-check {
    background: var(--forest);
    border-color: var(--forest);
    color: #fff;
}

.opt-title {
    font-size: 17px;
    font-weight: 500;
    color: var(--text-dark);
    line-height: 1.35;
    margin-bottom: 3px;
}

.opt-desc {
    font-size: 13px;
    color: #000000;
    line-height: 1.5;
}

.opt.selected .opt-title,
.opt.multi-sel .opt-title {
    color: var(--forest);
}

.opt.selected .opt-desc,
.opt.multi-sel .opt-desc {
    color: var(--forest-mid);
}

/* ── NAV BUTTONS ── */
.step-nav {
    display: flex;
    align-items: center;
    justify-content: center;
    padding-top: 4px;
    gap: 15px;
    transform: translateY(100%);
    /* background-color: #fff; */
}

.btn-back {
    font-family: 'Inter', sans-serif;
    background-color: #c5c5c5;
    border: 1px solid var(--border);
    border-radius: 100px;
    font-size: 14px;
    font-weight: 500;
    color: var(--text-mid);
    padding: 10px 22px;
    cursor: pointer;
    transition: border-color 0.5s;
    min-width: 200px;
}

.btn-back:hover {
    border-color: var(--text-mid);
}

.btn-next {
    font-family: 'Inter', sans-serif;
    color: var(--white);
    border: none;
    border-radius: 100px;
    font-size: 14px;
    font-weight: 600;
    padding: 11px 28px;
    cursor: pointer;
    opacity: 1;
    pointer-events: none;
    transition: all 0.5s;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    background-color: #ecd8ba;
    min-width: 200px;
}

.btn-next.ready {
    opacity: 1;
    background: var(--gold);
    pointer-events: auto;
}

/* .btn-next.ready:hover {
    filter: brightness(1.15);
} */

.btn-next-multi {
    font-family: 'Inter', sans-serif;
    background: var(--gold);
    color: var(--white);
    border: none;
    border-radius: 100px;
    font-size: 14px;
    font-weight: 600;
    padding: 11px 28px;
    cursor: pointer;
    transition: all 0.5s;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    min-width: 200px;
    text-align: center;
}

.btn-next-multi:hover {
    background: var(--gold);
}

/* ── RESULTS ── */
.results {
    display: none;
    animation: fadeUp .35s ease;
}

.results.show {
    display: block;
}

.result-pattern-card {
    border-radius: 20px;
    padding: 32px;
    /* margin-bottom: 20px; */
    /* display: flex;
    align-items: flex-start; */
    gap: 20px;
    text-align: center;
    background-color: #fbf8f1 !important;
    height: 100%;
}

.result-icon {
    width: 56px;
    height: 56px;
    border-radius: 14px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 26px;
    flex-shrink: 0;
}

.result-eyebrow {
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.13em;
    text-transform: uppercase;
    margin-bottom: 6px;
    opacity: 0.65;
}

.result-pattern-name {
    font-family: 'Fraunces', Georgia, serif;
    font-size: 28px;
    font-weight: 500;
    line-height: 1.1;
    margin-bottom: 10px;
    letter-spacing: -0.01em;
}

.result-pattern-desc {
    font-size: 15px;
    line-height: 1.7;
    opacity: 0.85;
}

/* Bars */
.bars-card {
    background: var(--white);
    border: 1px solid var(--border);
    border-radius: 16px;
    padding: 24px 28px;
    height: 100%;
    align-content: center;
}

.bars-title {
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.13em;
    text-transform: uppercase;
    color: var(--text-light);
    margin-bottom: 18px;
}

.bar-row {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 10px;
}

.bar-row:last-child {
    margin-bottom: 0;
}

.bar-label {
    font-size: 13px;
    color: var(--text-mid);
    width: 170px;
    flex-shrink: 0;
    line-height: 1.3;
}

.bar-track {
    flex: 1;
    height: 7px;
    background: var(--cream-dark);
    border-radius: 4px;
    overflow: hidden;
}

.bar-fill {
    height: 100%;
    border-radius: 4px;
    transition: width 0.8s ease;
}

.bar-pct {
    font-size: 12px;
    color: var(--text-light);
    width: 34px;
    text-align: right;
    flex-shrink: 0;
}

/* Next steps */
.next-steps-card {
    background: var(--color-green-800);
    border: 1px solid #dad7cd;
    border-radius: 16px;
    overflow: hidden;
    margin-bottom: 20px;
    padding-bottom: 30px;
}

.next-steps-card:last-child {
    margin-bottom: 0;
}

.next-steps-header {
    padding: 16px 24px;
    font-size: clamp(24px, 2vw, 38px);
    font-weight: 500;
    color: var(--text-mid);
    letter-spacing: 0.02em;
    text-align: center;
    font-family: var(--fraunces);
}

.next_steps_container {
    padding: 20px;
    border-radius: 16px;
    background-color: #fff;
    max-width: calc(100% - 60px);
    margin: 0 auto;
    border: 1px solid #dad7cd;
}

.next-step-item {
    display: flex;
    align-items: flex-start;
    gap: 14px;
    padding: 18px 24px;
    border: 1px solid var(--border);
    margin-bottom: 5px;
    border-radius: 10px;
}

.next-step-num {
    width: 26px;
    height: 26px;
    border-radius: 50%;
    background: var(--forest);
    color: #c78f3a;
    ;
    font-size: 16px;
    font-weight: 700;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    margin-top: 1px;
}

.next-step-title {
    font-size: 14px;
    font-weight: 600;
    color: var(--text-dark);
    margin-bottom: 3px;
}

.next-step-desc {
    font-size: 13px;
    color: var(--text-light);
    line-height: 1.55;
}

/* CTAs */
.cta-section {
    background: var(--cc-pine-800);
    border-radius: 16px;
    padding: 100px;
    margin-bottom: 16px;
    margin-top: 40px;
}

.cta-section-title {
    font-family: 'Fraunces', Georgia, serif;
    font-size: clamp(24px, 2.5vw, 45px);
    font-weight: 400;
    color: var(--white);
    margin-bottom: 30px;
    line-height: 1.2;
}

.cta-section-desc {
    font-size: 14px;
    color: #ffffff;
    line-height: 1.6;
    margin-bottom: 20px;
}

.cta-buttons {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.btn-cta-primary {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 14px 20px;
    background: var(--gold);
    color: #000;
    border: none;
    border-radius: 100px;
    font-family: 'Inter', sans-serif;
    font-size: 15px;
    font-weight: 600;
    cursor: pointer;
    text-decoration: none;
    text-align: center;
    transition: filter 0.15s;
}

.btn-cta-primary:hover {
    filter: brightness(1.06);
    color: #000;
}

.btn-cta-secondary {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 13px 20px;
    background: transparent;
    color: var(--white);
    border: 1.5px solid rgba(255, 255, 255, 0.28);
    border-radius: 100px;
    font-family: 'Inter', sans-serif;
    font-size: 14px;
    font-weight: 500;
    cursor: pointer;
    text-decoration: none;
    text-align: center;
    transition: border-color 0.15s;
}

.btn-cta-secondary:hover {
    border-color: rgba(255, 255, 255, 0.6);
    color: var(--white);
}

.btn-cta-tertiary {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 13px 20px;
    background: transparent;
    color: var(--white);
    border: 1.5px solid rgba(255, 255, 255, 0.16);
    border-radius: 100px;
    font-family: 'Inter', sans-serif;
    font-size: 14px;
    font-weight: 400;
    cursor: pointer;
    text-decoration: none;
    text-align: center;
    transition: border-color 0.15s;
}

.btn-cta-tertiary:hover {
    border-color: rgba(255, 255, 255, 0.4);
    color: var(--white);
}

.disclaimer {
    font-size: clamp(16px, 1.3vw, 18px);
    color: #000000;
    line-height: 1.65;
    text-align: center;
    padding: 0 8px;
    margin-bottom: 16px;
    font-style: italic;
}

.btn-restart {
    display: block;
    text-align: center;
    font-size: 16px;
    color: #c78f3a;
    cursor: pointer;
    text-decoration: underline;
    text-underline-offset: 3px;
    background: none;
    border: none;
    width: 100%;
    font-family: 'Inter', sans-serif;
    padding: 4px 0;
    box-shadow: none;
}

.btn-restart:hover {
    color: var(--text-mid);
    background: transparent;
}

.symptom_checker_wrapper {
    background-color: #ffffff;
    border: 1px solid #c3c3c3;
    padding: 120px 80px 70px 80px;
}

.progress-row {
    display: flex;
    align-items: center;
    gap: 16px;
    margin-bottom: 40px;
}

.progress-track {
    flex: 1;
    height: 20px;
    background-color: #d6ddd9;
    border-radius: 50px;
    overflow: hidden;
}

.progress-fill {
    height: 100%;
    border-radius: 50px;
    background: linear-gradient(to right, #3b4f45, var(--gold, #b5872a));
    transition: width 0.5s ease;
}

.progress-label {
    font-family: var(--theme-font, 'Inter', sans-serif);
    font-size: 13px;
    font-weight: 600;
    color: #4a5c52;
    white-space: nowrap;
    letter-spacing: 0.03em;
}

/* PHASE IDENTIFIER  */
/* ── PHASE TIMELINE (shown at top) ── */
.phase-timeline {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0;
    margin-bottom: 40px;
    padding: 20px 24px;
    border-radius: 16px;
}

.symptom_form_wrapper {
    background-color: #fbf8f1;
}

.pt-item {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 6px;
}

.pt-circle {
    width: 62px;
    height: 62px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-family: 'Fraunces', serif;
    font-size: clamp(14px, 2vw, 18px);
    font-weight: 500;
    border: 1.5px solid var(--border);
    color: #000000;
    background: var(--color-green-800);
    transition: all 0.3s;
    position: relative;
    z-index: 2;
}

.pt-label {
    font-size: 14px;
    font-weight: 500;
    color: #000000;
    text-align: center;
    line-height: 1.3;
    /* max-width: 70px; */
}

.pt-line {
    flex: 1;
    height: 1px;
    background: var(--border);
    margin-bottom: 22px;
    position: relative;
    z-index: 1;
    scale: 1.58;
}

.pt-item.active .pt-circle {
    background: var(--gold);
    border-color: var(--gold);
    color: #000;
    box-shadow: 0 0 0 4px rgba(200, 143, 58, 0.15);
}

.pt-item.active .pt-label {
    color: var(--gold);
    font-weight: 600;
}

.pt-item.done .pt-circle {
    background: var(--cc-pine-800);
    border-color: var(--cc-pine-800);
    color: var(--white);
}

.pt-item.done .pt-label {
    color: var(--forest-mid);
}

/* Phase Banner  */
/* Phase result banner */
.phase-banner {
    border-radius: 20px;
    padding: 36px;
    position: relative;
    overflow: hidden;
    text-align: center;
    background-color: #fbf8f1 !important;
}

.bundle_wrapper {
    border-radius: 16px;
    background-color: #ffffff;
    border: 1px solid rgba(157, 157, 157, 0.38);
    width: 31%;
    padding: 30px;
}

.phase-banner::before {
    content: attr(data-num);
    position: absolute;
    right: -10px;
    top: -20px;
    font-family: 'Fraunces', serif;
    font-size: 140px;
    font-weight: 700;
    opacity: 0.06;
    line-height: 1;
    color: inherit;
    display: none;
}

.phase-tag {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    border-radius: 100px;
    padding: 5px 14px;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    margin-bottom: 16px;
}

.phase-banner-num {
    font-family: 'Fraunces', Georgia, serif;
    font-size: 14px;
    font-weight: 500;
    margin-right: 8px;
}

.phase-title {
    font-family: 'Fraunces', Georgia, serif;
    font-size: 34px;
    font-weight: 500;
    line-height: 1.1;
    letter-spacing: -0.015em;
    margin-bottom: 14px;
}

.phase-message {
    font-size: 16px;
    line-height: 1.75;
    max-width: 560px;
}

/* What this phase means */
.phase-detail-card {
    background: var(--white);
    border: 1px solid var(--border);
    border-radius: 16px;
    overflow: hidden;
    height: 100%;
}

.pdc-header {
    padding: 16px 24px;
    font-size: clamp(24px, 1.9vw, 32px);
    font-weight: 500;
    color: var(--text-mid);
    letter-spacing: 0.02em;
    text-align: center;
    font-family: var(--fraunces);
}

.pdc-row {
    display: flex;
    align-items: flex-start;
    gap: 16px;
    padding: 18px 24px;
    border-top: 1px solid var(--border);
}

.pdc-icon {
    width: 36px;
    height: 36px;
    border-radius: 9px;
    background: var(--cream-dark);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 16px;
    flex-shrink: 0;
    margin-top: 1px;
}

.pdc-label {
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: var(--text-light);
    margin-bottom: 4px;
}

.pdc-value {
    font-size: 14px;
    color: var(--text-dark);
    line-height: 1.6;
}

.pdc-value strong {
    color: var(--forest);
    font-weight: 600;
}

/* Checklist */
.checklist-card {
    background: var(--white);
    border: 1px solid var(--border);
    border-radius: 16px;
    overflow: hidden;
    margin-bottom: 16px;
}

.checklist-header {
    padding: 16px 24px;
    background: var(--forest);
    font-size: 13px;
    font-weight: 600;
    color: var(--white);
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.checklist-subtitle {
    font-size: 12px;
    color: rgba(0, 0, 0, 0.6);
    font-weight: 400;
    display: block;
}

.checklist-item {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    padding: 14px 24px;
    border-top: 1px solid var(--border);
    cursor: pointer;
    transition: background 0.12s;
    border-radius: 12px;
}

.checklist-item:hover {
    background: var(--cream-light);
}

.checklist-box {
    width: 20px;
    height: 20px;
    border: 1.5px solid var(--border);
    border-radius: 5px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    margin-top: 1px;
    font-size: 11px;
    color: transparent;
    transition: all 0.15s;
    background: var(--white);
}

.checklist-item.checked {
    background: var(--color-pine-800);
}

.checklist-item.checked * {
    color: var(--white);
}

.checklist-item.checked .checklist-box {
    background: var(--forest);
    border-color: var(--forest);
    color: var(--white);
}

.checklist-item.checked .checklist-text {
    color: var(--white);
}

.checklist-text {
    font-size: 14px;
    color: var(--text-dark);
    line-height: 1.5;
}

.checklist-sub {
    font-size: 12px;
    color: var(--text-light);
    line-height: 1.45;
    margin-top: 2px;
}

/* Supplement bundle */
.bundle-card {
    background: var(--white);
    border: 1px solid var(--border);
    border-radius: 16px;
    overflow: hidden;
    margin-bottom: 16px;
    margin-top: 40px;
}

.bundle-header {
    padding: 14px 24px;
    background: var(--cream-dark);
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    flex-direction: column-reverse;
    background: #fdf3e0b7;
}

.bundle-name {
    font-family: 'Fraunces', serif;
    font-size: clamp(18px, 2.1vw, 38px);
    font-weight: 500;
    color: var(--text-dark);
}

.bundle-badge {
    background-color: #f9f5ea;
    border: 1px solid var(--gold);
    border-radius: 16px;
    font-size: 14px;
    margin-bottom: 0;
    padding: 5px 14px;
    font-weight: 500;
    display: inline-block;
    margin-bottom: 10px;
}

.bundle-body {
    padding: 20px 24px;
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
}

.bundle-tier-label {
    font-size: clamp(16px, 1.2vw, 18px);
    font-weight: 700;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: #000000;
    margin-bottom: 30px;
    text-align: center;
    border-bottom: 1px solid var(--border);
    padding-bottom: 10px;
}

.bundle-tier {
    display: flex;
    flex-direction: column;
    gap: 6px;
    margin-bottom: 18px;
}

.bundle-tier:last-child {
    margin-bottom: 0;
}

.bundle-item {
    display: flex;
    align-items: flex-start;
    gap: 8px;
    font-size: clamp(16px, 1.2vw, 18px);
    color: var(--text-mid);
    line-height: 1.45;
    margin-bottom: 1em;
}

.bi-dot {
    width: 5px;
    height: 5px;
    border-radius: 50%;
    background: var(--gold);
    flex-shrink: 0;
    margin-top: 7px;
}

.bi-name {
    font-weight: 600;
    color: var(--text-dark);
}

.bi-desc {
    color: #000000;
    font-size: 16px;
    margin-top: 1px;
}

.bundle-note {
    background: rgba(200, 143, 58, 0.08);
    border: 1px solid rgba(200, 143, 58, 0.2);
    border-radius: 8px;
    padding: 10px 14px;
    font-size: 12px;
    color: var(--text-mid);
    line-height: 1.6;
    margin-top: 16px;
    width: 100%;
    text-align: center;
    background: #fdf3e0b7;
}

.bundle-divider {
    height: 1px;
    background: var(--border);
    margin: 14px 0;
}

/* CTA section */
.result-cta {
    background: var(--forest);
    border-radius: 16px;
    padding: 28px 30px;
    margin-bottom: 16px;
}

.result-cta-title {
    font-family: 'Fraunces', Georgia, serif;
    font-size: 22px;
    font-weight: 500;
    color: var(--white);
    margin-bottom: 6px;
    line-height: 1.2;
}

.result-cta-sub {
    font-size: 14px;
    color: #8fa88c;
    line-height: 1.65;
    margin-bottom: 20px;
}



.btn-cta-p {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 14px 20px;
    background: var(--gold);
    color: #000;
    border: none;
    border-radius: 100px;
    font-family: 'DM Sans', sans-serif;
    font-size: 15px;
    font-weight: 600;
    cursor: pointer;
    text-decoration: none;
    text-align: center;
    transition: filter 0.15s;
}

.btn-cta-p:hover {
    filter: brightness(1.06);
    color: #000;
}

.btn-cta-s {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 13px 20px;
    background: transparent;
    color: var(--white);
    border: 1.5px solid rgba(255, 255, 255, 0.28);
    border-radius: 100px;
    font-family: 'DM Sans', sans-serif;
    font-size: 14px;
    font-weight: 500;
    cursor: pointer;
    text-decoration: none;
    text-align: center;
    transition: border-color 0.15s;
}

.btn-cta-s:hover {
    border-color: rgba(255, 255, 255, 0.6);
    color: var(--white);
}

.btn-cta-t {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 12px 20px;
    background: transparent;
    color: rgba(255, 255, 255, 0.55);
    border: 1.5px solid rgba(255, 255, 255, 0.14);
    border-radius: 100px;
    font-family: 'DM Sans', sans-serif;
    font-size: 13px;
    font-weight: 400;
    cursor: pointer;
    text-decoration: none;
    text-align: center;
    transition: border-color 0.15s;
}

.btn-cta-t:hover {
    border-color: rgba(255, 255, 255, 0.35);
    color: rgba(255, 255, 255, 0.8);
}

.phase5-warning {
    background: rgba(200, 143, 58, 0.1);
    border: 1px solid rgba(200, 143, 58, 0.3);
    border-radius: 12px;
    padding: 16px 20px;
    display: flex;
    align-items: flex-start;
    gap: 12px;
    margin-bottom: 16px;
}

.pw-icon {
    font-size: 20px;
    flex-shrink: 0;
    margin-top: 1px;
}

.pw-title {
    font-size: 14px;
    font-weight: 600;
    color: var(--text-dark);
    margin-bottom: 3px;
}

.pw-desc {
    font-size: 13px;
    color: var(--text-mid);
    line-height: 1.6;
}

/* POPUP */
/* POPUP */
/* POPUP */
/* POPUP */
/* POPUP */
#bm-popup-overlay {
    position: fixed;
    inset: 0;
    z-index: 99999;
    background: rgba(10, 18, 12, 0.72);
    backdrop-filter: blur(6px);
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 20px;
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.35s ease;
    display: none!important;
}

#bm-popup-overlay.bm-visible {
    opacity: 1;
    pointer-events: auto;
}

/* ── POPUP SHELL ── */
#bm-popup {
    background: #0f1e14;
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 20px;
    width: 100%;
    max-width: 900px;
    position: relative;
    overflow: hidden;
    transform: translateY(18px) scale(0.97);
    transition: transform 0.4s cubic-bezier(0.34, 1.4, 0.64, 1);
    box-shadow: 0 32px 80px rgba(0, 0, 0, 0.6);
}

#bm-popup-overlay.bm-visible #bm-popup {
    transform: translateY(0) scale(1);
}

/* Gold top accent */
#bm-popup::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 3px;
    background: linear-gradient(90deg, #c88f3a, #e0b060, #c88f3a);
}

/* Ambient glow */
#bm-popup::after {
    content: '';
    position: absolute;
    top: -60px;
    right: -60px;
    width: 260px;
    height: 260px;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(200, 143, 58, 0.1) 0%, transparent 65%);
    pointer-events: none;
}

/* ── CLOSE ── */
#bm-close {
    position: absolute;
    top: 16px;
    right: 16px;
    width: 32px;
    height: 32px;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.07);
    border: 1px solid rgba(255, 255, 255, 0.1);
    color: #ffffff80;
    font-size: 18px;
    line-height: 1;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: background 0.15s, color 0.15s;
    z-index: 2;
    padding: 0;
}

#bm-close svg {
    fill: #ffffff80;
    width: 18px;
}

#bm-close:hover {
    background: rgba(255, 255, 255, 0.13);
    color: #fff;
}

/* ── POPUP INNER ── */
.bm-popup-inner {
    padding: 50px 36px 32px;
    position: relative;
    z-index: 1;
}

/* Header */
.bm-popup-eyebrow {
    font-family: 'Inter', sans-serif;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    color: #c88f3a;
    margin-bottom: 10px;
    display: block;
}

.bm-popup-h {
    font-family: 'Fraunces', Georgia, serif;
    font-size: 28px;
    font-weight: 500;
    color: #fff;
    line-height: 1.1;
    letter-spacing: -0.02em;
    margin-bottom: 8px;
}

.bm-popup-h em {
    font-style: italic;
    color: #c88f3a;
}

.bm-popup-sub {
    font-family: 'Inter', sans-serif;
    font-size: 14px;
    color: rgba(255, 255, 255, 0.45);
    line-height: 1.6;
    margin-bottom: 28px;
    max-width: 460px;
}

/* ── CARDS GRID ── */
.bm-cards {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 14px;
    margin-bottom: 20px;
}

.bm-card {
    border-radius: 14px;
    padding: 22px 20px 20px;
    display: flex;
    flex-direction: column;
    cursor: pointer;
    transition: transform 0.15s, box-shadow 0.15s;
    position: relative;
    overflow: hidden;
    text-decoration: none;
}

.bm-card:hover {
    transform: translateY(-2px);
    box-shadow: 0 12px 36px rgba(0, 0, 0, 0.4);
}

.bm-card:active {
    transform: scale(0.99);
}

/* Primary card — Dr. Heyman */
.bm-card-primary {
    background: #fdf8ee;
    border: 1.5px solid #e8d4a0;
}

.bm-card-primary::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 3px;
    background: #c88f3a;
}

/* Secondary card — Expert Coach */
.bm-card-secondary {
    background: #f7f1e3;
    border: 1px solid #e4dbc8;
}

/* Popular badge */
.bm-badge {
    position: absolute;
    top: 14px;
    right: 14px;
    background: #c88f3a;
    color: #000;
    font-family: 'Inter', sans-serif;
    font-size: 9px;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    padding: 3px 9px;
    border-radius: 100px;
}

.bm-card-name {
    font-family: 'Fraunces', Georgia, serif;
    font-size: 17px;
    font-weight: 500;
    line-height: 1.2;
    margin-bottom: 3px;
}

.bm-card-primary .bm-card-name {
    color: #1a1f1b;
}

.bm-card-secondary .bm-card-name {
    color: #1a1f1b;
}

.bm-card-role {
    font-size: 11px;
    margin-bottom: 14px;
    line-height: 1.4;
}

.bm-card-primary .bm-card-role {
    color: #8a6020;
}

.bm-card-secondary .bm-card-role {
    color: #5a6858;
}

/* Divider */
.bm-card-divider {
    height: 1px;
    margin-bottom: 14px;
}

.bm-card-primary .bm-card-divider {
    background: #e4d0a8;
}

.bm-card-secondary .bm-card-divider {
    background: #ddd5c0;
}

/* Format & price row */
.bm-card-meta {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 14px;
}

.bm-card-format {
    display: flex;
    gap: 6px;
}

.bm-format-pill {
    font-size: 10px;
    font-weight: 600;
    padding: 3px 9px;
    border-radius: 100px;
    display: inline-flex;
    align-items: center;
    gap: 4px;
}

.bm-card-primary .bm-format-pill {
    background: rgba(200, 143, 58, 0.14);
    border: 1px solid rgba(200, 143, 58, 0.3);
    color: #8a6020;
}

.bm-card-secondary .bm-format-pill {
    background: rgba(30, 51, 37, 0.07);
    border: 1px solid rgba(30, 51, 37, 0.15);
    color: #3a5040;
}

.bm-card-price {
    font-family: 'Fraunces', serif;
    font-size: 22px;
    font-weight: 500;
    line-height: 1;
}

.bm-card-primary .bm-card-price {
    color: #1a1f1b;
}

.bm-card-secondary .bm-card-price {
    color: #1a1f1b;
}

.bm-price-duration {
    font-family: 'Inter', sans-serif;
    font-size: 11px;
    font-weight: 400;
    opacity: 0.45;
    margin-left: 2px;
}

/* Single-line description */
.bm-card-desc {
    font-family: 'Inter', sans-serif;
    font-size: 13px;
    line-height: 1.55;
    flex: 1;
    margin-bottom: 18px;
}

.bm-card-primary .bm-card-desc {
    color: #4a5249;
}

.bm-card-secondary .bm-card-desc {
    color: #4a5249;
}

/* CTA button inside card */
.bm-card-btn {
    font-family: 'Inter', sans-serif;
    font-size: 13px;
    font-weight: 600;
    padding: 11px 18px;
    border-radius: 100px;
    border: none;
    cursor: pointer;
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    transition: filter 0.15s;
    text-decoration: none;
}

.bm-card-primary .bm-card-btn {
    background: var(--gold);
    color: #000000;
}

.bm-card-primary .bm-card-btn:hover {
    filter: brightness(1.2);
}

.bm-card-secondary .bm-card-btn {
    background: #1e3325;
    border: none;
    color: #fff;
}

.bm-card-secondary .bm-card-btn:hover {
    filter: brightness(1.2);
}

/* ── BOOKING EMBED (shown after card click) ── */
#bm-embed-view {
    display: none;
    padding: 0 0px 20px;
    position: relative;
    z-index: 1;
}

.bm-embed-header {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 20px;
}

.bm-back-btn {
    background: rgba(255, 255, 255, 0.07);
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-radius: 100px;
    color: rgba(255, 255, 255, 0.6);
    font-family: 'Inter', sans-serif;
    font-size: 12px;
    font-weight: 500;
    padding: 6px 14px;
    cursor: pointer;
    display: flex;
    align-items: center;
    gap: 6px;
    transition: background 0.15s;
}

.bm-back-btn:hover {
    background: rgba(255, 255, 255, 0.12);
    color: #fff;
}

.bm-embed-name {
    font-family: 'Fraunces', serif;
    font-size: 16px;
    font-weight: 500;
    color: #fff;
}

.bm-embed-sub {
    font-size: 12px;
    color: rgba(255, 255, 255, 0.35);
    margin-left: auto;
}

.bm-embed-frame {
    width: 100%;
    height: 520px;
    border: none;
    border-radius: 12px;
    background: #fff;
    display: block;
}

/* ── FOOTER ── */
.bm-popup-footer {
    padding: 14px 36px 20px;
    border-top: 1px solid rgba(255, 255, 255, 0.06);
    display: flex;
    align-items: center;
    justify-content: space-between;
    position: relative;
    z-index: 1;
}

.bm-footer-trust {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 11px;
    color: rgba(255, 255, 255, 0.25);
}

.bm-trust-sep {
    width: 3px;
    height: 3px;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.15);
}

.bm-dismiss {
    font-family: 'Inter', sans-serif;
    font-size: 11px;
    color: rgba(255, 255, 255, 0.2);
    background: none;
    border: none;
    cursor: pointer;
    padding: 0;
    transition: color 0.15s;
}

.bm-dismiss:hover {
    color: rgba(255, 255, 255, 0.5);
}

/* ── RESPONSIVE ── */
@media (max-width: 600px) {
    .bm-popup-inner {
        padding: 28px 20px 20px;
    }

    .bm-popup-h {
        font-size: 22px;
    }

    .bm-cards {
        grid-template-columns: 1fr;
    }

    .bm-popup-footer {
        padding: 14px 20px 18px;
        flex-direction: column;
        gap: 12px;
        align-items: flex-start;
    }

    #bm-embed-view {
        padding: 0 20px 24px;
    }

    .bm-embed-frame {
        height: 440px;
    }

    .bm-embed-header {
        flex-wrap: wrap;
    }

    .bm-embed-sub {
        margin-left: 0;
    }
}

@media (prefers-reduced-motion: reduce) {

    #bm-popup,
    #bm-popup-overlay {
        transition: none;
    }
}

@media (max-width: 575px) {
    .fh_small_info_area {
        flex-direction: column;
        gap: 10px;
    }

    .fh_small_info_item:not(:last-child) {
        border-right: none;
        border-bottom: 1px solid #c8c5bb;
        padding: 0 0 10px;
    }

    .fh_small_info_item {
        padding: 0;
        text-wrap: wrap;
        text-align: center;
    }
}

/* @media (min-width: 992px) {
    .pricing_swiper .swiper-slide {
        height: auto;
    }
} */

/* ─── Banner Section ─── */
.wb_banner {
    background: radial-gradient(ellipse at top right, #faf5eb 0, #f7f1e3 45%, #efe6d1 100%);
}



/* ── Left column ── */
.wb_banner__left {}

.wb_banner__eyebrow {
    font-family: var(--theme-font);
    font-size: clamp(14px, 4vw, 16px);
    font-weight: 600;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--theme-secondary-color);
    margin-bottom: 10px;
}

.wb_banner__series {
    font-family: var(--fraunces);
    font-size: clamp(20px, 2.4vw, 24px);
    font-weight: 400;
    color: var(--theme-color);
    opacity: 0.75;
    margin-bottom: 16px;
}

.wb_banner__headline {
    font-family: var(--theme-font-secondary);
    font-size: clamp(40px, 5vw, 58px);
    font-weight: 600;
    line-height: 1.1;
    color: var(--theme-color);
    margin-bottom: 24px;
}

.wb_banner__headline span {
    color: var(--theme-secondary-color);
}

.wb_banner__subheadline {
    font-family: var(--theme-font);
    font-size: clamp(16px, 1.4vw, 18px);
    font-weight: 400;
    color: var(--theme-color);
    opacity: 0.7;
    line-height: 1.55;
    margin-bottom: 32px;
    max-width: 500px;
}

/* Meta bar */
.wb_banner__meta {
    display: flex;
    /* flex-wrap: wrap; */
    align-items: center;
    gap: 8px;
    margin-bottom: 44px;
    border: 1.5px solid var(--border-color);
    border-radius: 999px;
    background-color: #faf5eb;
    width: fit-content;
}

.wb_banner__meta-pill {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    padding: 7px 16px;
    font-size: 13.5px;
    font-weight: 500;
    color: var(--theme-color);
    background: transparent;
    white-space: nowrap;
}

.wb_banner__meta-pill svg {
    flex-shrink: 0;
    color: var(--theme-secondary-color);
}

/* Curriculum */
.wb_banner__curriculum-title {
    font-family: var(--theme-font);
    font-size: 22px;
    font-weight: 600;
    color: var(--theme-color);
    margin-bottom: 1.5em;
}

.wb_banner__curriculum-list {
    list-style: none;
    display: flex;
    flex-direction: column;
    gap: 24px;
    margin-bottom: 44px;
}

.wb_banner__curriculum-item {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    font-size: 15px;
    line-height: 1.55;
    color: var(--theme-color);
}

.wb_banner__check {
    flex-shrink: 0;
    width: 22px;
    height: 22px;
    border-radius: 50%;
    background-color: var(--theme-secondary-color);
    display: flex;
    align-items: center;
    justify-content: center;
    margin-top: 1px;
}

.wb_banner__check svg {
    display: block;
}

/* Speaker card */
.wb_banner__speaker {
    display: flex;
    align-items: center;
    gap: 16px;
    border: 1px solid #c88f3a;
    border-radius: 50px;
    padding: 10px 10px;
    background: transparent;
    width: fit-content;
}

.wb_banner__speaker-img {
    width: 64px;
    height: 64px;
    border-radius: 50%;
    object-fit: cover;
    flex-shrink: 0;
    background-color: var(--contemplation);
}

/* placeholder avatar */
.wb_banner__speaker-avatar {
    background-color: transparent;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    overflow: hidden;
}

.wb_banner__speaker-avatar img {
    width: 84px;
    height: 84px;
    object-fit: scale-down;
    border-radius: 50%;
}

.wb_banner__speaker-avatar svg {
    width: 36px;
    height: 36px;
    opacity: 0.5;
    color: var(--theme-color);
}

.wb_banner__speaker-name {
    font-size: 17px;
    font-weight: 700;
    color: var(--theme-color);
}

.wb_banner__speaker-cred {
    font-size: 17px;
    font-weight: 600;
    color: var(--theme-secondary-color);
    margin-left: 8px;
    border-left: 1.5px solid var(--border-color);
    padding-left: 15px;
}

.wb_banner__speaker-role {
    font-size: 13px;
    color: var(--theme-color);
    opacity: 1;
    margin-top: 3px;
}

/* ── Right column – Form card ── */
.wb_banner__form-card {
    background-color: var(--theme-color);
    border-radius: 16px;
    padding: 40px 36px 36px;
    color: var(--bs-white);
}

.wb_banner__form-card-title {
    font-family: var(--theme-font-secondary);
    font-size: clamp(20px, 2vw, 38px);
    font-weight: 500;
    text-align: center;
    color: var(--bs-white);
    margin-bottom: 6px;
}

.wb_banner__form-card-sub {
    font-size: 14px;
    text-align: center;
    color: rgb(255, 255, 255);
    margin-bottom: 28px;
}

/* inner form bg */
.wb_banner__form-inner {
    background-color: var(--contemplation);
    border-radius: 10px;
    padding: 24px 20px;
    margin-bottom: 20px;
}

/* row */
.wb_form__row {
    display: flex;
    gap: 16px;
    margin-bottom: 0;
}

.wb_form__group {
    display: flex;
    flex-direction: column;
    gap: 6px;
    flex: 1;
    margin-bottom: 16px;
}

.wb_form__group:last-child {
    margin-bottom: 0;
}

.wb_form__label {
    font-size: 13px;
    font-weight: 600;
    color: var(--theme-color);
}

.wb_form__label .wb_required {
    color: var(--mad-red);
    margin-left: 2px;
}

.wb_banner__form-inner .wb_form__group :is(input, select, textarea) {
    font-family: var(--theme-font);
    font-size: 14px;
    color: var(--theme-color);
    background-color: var(--bs-white);
    border: 1.5px solid transparent !important;
    border-radius: 7px;
    padding: 10px 14px;
    outline: none;
    width: 100%;
    transition: var(--transition500);
}

.wb_form__group textarea {
    height: 100px;
}

.wb_banner__form-footer-wrap {
    position: relative;
}

.wb_form__input::placeholder,
.wb_form__textarea::placeholder {
    color: var(--border-color);
}

.wb_form__input:focus,
.wb_form__select:focus,
.wb_form__textarea:focus {
    border-color: var(--theme-secondary-color);
    box-shadow: 0 0 0 3px rgba(200, 143, 58, 0.15);
}

.wb_banner__form-inner .wpcf7 select.wpcf7-form-control {
    border: none;
}

.wb_form__group .wb_form__select {
    appearance: none;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='none' viewBox='0 0 24 24'%3E%3Cpath d='M6 9l6 6 6-6' stroke='%232b4536' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 12px center;
    padding-right: 36px;
    cursor: pointer;
    background-color: var(--bs-white) !important;
    border: 1.5px solid transparent !important;
    border-radius: 7px !important;
}

.wb_form__textarea {
    resize: vertical;
    min-height: 90px;
}

/* Consent */
.wb_banner__consent {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    margin-bottom: 20px;
}

.wb_banner__consent-checkbox {
    width: 18px;
    height: 18px;
    flex-shrink: 0;
    accent-color: var(--theme-secondary-color);
    margin-top: 2px;
    cursor: pointer;
}

.wb_banner__consent-label {
    font-size: 13px;
    color: rgba(255, 255, 255, 0.75);
    line-height: 1.5;
}

.wb_banner__consent-label a {
    color: var(--theme-secondary-color);
    text-decoration: underline;
}

.wb_banner__consent-label a:hover {
    color: #dbe4df;
}

/* CTA button */
.wb_banner__cta {
    display: block;
    width: 100%;
    padding: 16px 24px;
    font-family: var(--theme-font);
    font-size: 14px;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--bs-white);
    background-color: var(--theme-secondary-color);
    border: none;
    border-radius: 999px;
    cursor: pointer;
    text-align: center;
    transition: var(--transition500);
    margin-bottom: 16px;
}

.wb_banner__cta:hover {
    background-color: var(--ast-global-color-0);
}

.wb_banner__form-footer {
    text-align: center;
    font-size: 12.5px;
    color: rgba(255, 255, 255, 0.45);
    letter-spacing: 0.01em;
}

.wb_banner__form-footer span::after {
    content: '·';
    margin: 0 6px;
}

.wb_banner__form-footer span:last-child::after {
    content: '';
}

.wb_sessions {
    background-color: var(--bs-white);
    padding: 80px 0 72px;
}

/* ─── Header ─── */
.wb_sessions__eyebrow {
    font-family: var(--theme-font);
    font-size: 12px;
    font-weight: 600;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: var(--theme-secondary-color);
    margin-bottom: 14px;
}

.wb_sessions__title {
    font-family: var(--theme-font-secondary);
    font-size: clamp(32px, 4vw, 48px);
    font-weight: 700;
    color: var(--theme-color);
    margin-bottom: 20px;
    line-height: 1.15;
}

.wb_sessions__desc {
    font-size: 16px;
    color: var(--theme-color);
    opacity: 0.65;
    max-width: 540px;
    margin: 0 auto;
    line-height: 1.65;
}

/* ─── Cards grid ─── */
.wb_sessions__grid {
    margin-top: 52px;
}

/* ─── Card base ─── */
.wb_session-card {
    background-color: var(--contemplation);
    border-radius: 16px;
    /* overflow: hidden; */
    height: 100%;
    display: flex;
    flex-direction: column;
    padding: 30px 18px 40px;
}

/* ─── Thumbnail ─── */
.wb_session-card__thumb {
    position: relative;
    width: 100%;
    aspect-ratio: 16 / 9;
    border-radius: 12px;
    /* overflow: hidden; */
    flex-shrink: 0;
    margin-bottom: 20px;
}

/* Published – dark video thumb */
.wb_session-card__thumb--published {
    background-color: #111;
}

/* Upcoming – grey placeholder */
.wb_session-card__thumb--upcoming {
    background-color: #b0b8b4;
    display: flex;
    align-items: center;
    justify-content: center;
}

/* Date pill */
.wb_session-card__date-pill {
    position: absolute;
    top: 14px;
    left: 50%;
    transform: translate(-50%, -100%);
    background-color: var(--lightestPeach);
    border-radius: 999px;
    padding: 5px 16px;
    font-size: 12.5px;
    font-weight: 600;
    color: var(--theme-color);
    white-space: nowrap;
    letter-spacing: 0.02em;
    z-index: 2;
}

.wb_session-card__date-pill:has(.wb_session-card__thumb--upcoming) {
    background-color: #f7f8f8;
    border: 1px solid #ced9d3;
    font-size: 0.4;
}

/* Play button */
.wb_session-card__play {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 54px;
    height: 54px;
    border-radius: 50%;
    border: 2.5px solid rgba(255, 255, 255, 0.55);
    background: rgba(255, 255, 255, 0.12);
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: var(--transition500);
    z-index: 2;
    padding: 0;
}

.wb_session-card__play:hover {
    background: rgba(255, 255, 255, 0.25);
    border-color: rgba(255, 255, 255, 0.85);
}

.wb_session-card__play svg {
    margin-left: 3px;
}

/* Duration */
.wb_session-card__duration {
    position: absolute;
    bottom: 10px;
    right: 14px;
    font-size: 12px;
    font-weight: 500;
    color: rgba(255, 255, 255, 0.75);
    z-index: 2;
}

/* Upcoming placeholder text */
.wb_session-card__upcoming-label {
    text-align: center;
    color: rgba(255, 255, 255, 0.75);
}

.wb_session-card__upcoming-label p {
    color: inherit;
    margin-bottom: 0.1em;
}

.wb_session-card__upcoming-label strong {
    font-weight: 700;
}

/* ─── Card body ─── */
.wb_session-card__body {
    background-color: var(--bs-white);
    border-radius: 12px;
    padding: 22px 22px 22px;
    flex: 1;
    display: flex;
    flex-direction: column;
    text-align: center;
    margin-top: 0;
    position: relative;
}

.wb_session-card__episode {
    font-size: 11.5px;
    font-weight: 700;
    letter-spacing: 0.09em;
    text-transform: uppercase;
    margin-bottom: 10px;
}

.wb_session-card__episode--published {
    color: var(--theme-secondary-color);
}

.wb_session-card__episode--upcoming {
    color: var(--border-color);
}

.wb_session-card__episode-title {
    font-family: var(--theme-font-secondary);
    font-size: clamp(22px, 1.6vw, 30px);
    font-weight: 500;
    line-height: 1.3;
    margin-bottom: 16px;
}

.wb_session-card__episode-title--published {
    color: var(--theme-color);
}

.wb_session-card__episode-title--upcoming {
    color: var(--border-color);
}

.wb_session-card__meta {
    font-size: clamp(16px, 1.8vw, 20px);
    color: #000000;
    opacity: 0.7;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    margin-bottom: 18px;
    flex-wrap: wrap;
}

.wb_session-card__meta svg {
    flex-shrink: 0;
    opacity: 1;
    fill: #000000;
}

.wb_session-card__footer {
    margin-top: auto;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    margin-bottom: 30px;
}

/* Tag pill */
.wb_session-card__tag {
    position: absolute;
    left: 50%;
    bottom: 0;
    transform: translate(-50%, 50%);
}

/* Action button */
.wb_session-card__action {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 999px;
    padding: 9px 20px;
    font-size: 13px;
    font-weight: 600;
    white-space: nowrap;
    cursor: pointer;
    transition: var(--transition500);
    text-decoration: none;
    border: none;
}

.wb_session-card__action--muted {
    background-color: var(--theme-tertiary);
    color: var(--theme-color);
    opacity: 0.75;
}

.wb_session-card__action--muted:hover {
    opacity: 1;
}

/* Upcoming badge */
.wb_session-card__status {
    position: absolute;
    left: 50%;
    transform: translate(-50%, 50%);
    bottom: 0;
    background-color: #f7f8f8;
    border: 1px solid #b5c9bb;
    opacity: 0.6;
}

/* ─── View all link ─── */
.wb_sessions__view-all {
    margin-top: 56px;
}

.wb_sessions__view-all a {
    font-size: 14.5px;
    font-weight: 500;
    color: var(--theme-color);
    text-decoration: underline;
    text-underline-offset: 3px;
    opacity: 0.6;
    transition: var(--transition500);
}

.wb_sessions__view-all a:hover {
    opacity: 1;
}

.wb_agenda {
    background-color: #ecf1ee;
    padding: 80px 0 88px;
}

/* ─── Header ─── */
.wb_agenda__eyebrow {
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: var(--theme-secondary-color);
    margin-bottom: 14px;
}

.wb_agenda__title {
    font-family: var(--theme-font-secondary);
    font-size: clamp(32px, 4.5vw, 52px);
    font-weight: 700;
    color: var(--theme-color);
    line-height: 1.1;
    margin-bottom: 0;
}



/* ─── Agenda Card ─── */
.wb_agenda-card {
    background-color: #dbe5df;
    border-radius: 14px;
    padding: 28px 28px 24px;
    height: 100%;
    display: flex;
    flex-direction: column;
    gap: 12px;
}

/* Timestamp pill */
.wb_agenda-card__time {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background-color: #ffffff;
    border-radius: 999px;
    padding: 5px 18px;
    font-size: 14px;
    font-weight: 700;
    color: var(--theme-secondary-color);
    width: fit-content;
    letter-spacing: 0.01em;
}

/* Title */
.wb_agenda-card__title {
    font-family: var(--theme-font);
    font-size: 24px;
    font-weight: 600;
    color: var(--theme-color);
    line-height: 1.35;
    margin: 0;
}

/* Description */
.wb_agenda-card__desc {
    opacity: 0.7;
    line-height: 1.65;
    margin: 0;
    flex: 1;
}

/* Tag pill */
.wb_agenda-card__tag {
    display: inline-flex;
    align-items: center;
    border: 1.5px solid rgba(43, 69, 54, 0.3);
    border-radius: 999px;
    padding: 5px 16px;
    font-size: 13px;
    font-weight: 500;
    color: #4c7e5c;
    background-color: rgba(144, 172, 155, 0.21176470588235294);
    width: fit-content;
    margin-top: 4px;
}

.host_designation {
    color: #606b5e;
    font-weight: 400;
    margin-bottom: 2em;
    font-family: var(--fraunces);
}

.webinar_page_host_image::after {
    display: none;
}

.webinar_page_host_image img {
    aspect-ratio: 4/3;
    object-position: top;
    object-fit: scale-down;
}

.wb_sessions_wrapper {
    background-color: #faf5eb;
}

.wb_sessions_wrapper {
    text-align: center;
}

.fh_small_info_item__sub {
    font-size: 16px;
    display: block;
    font-family: "Inter", sans-serif;
}

.webinar_swiper:not(:has(.swiper-pagination-lock)) {
    padding-bottom: 50px !important;
}

.webinar_swiper_pagination {
    top: unset !important;
    bottom: 0 !important;
}

.ch_page_call_card .small_para2 p {
    font-weight: 600;
}

.ch_page_call_card_row {
    row-gap: 60px;
}

.ch_page_call_wrapper .how_section_head {
    margin-bottom: clamp(40px, 7.5vw, 130px);
}

.new_bn_card .pricing_card_head {
    text-align: start;
}

.green_badge_for_card {
    background-color: var(--cc-pine-800);
    color: #ffffff;
    font-size: 12px;
    text-align: center;
    padding: 16px 10px;
    border-radius: 18px;
    margin-bottom: 30px;
}

.bn_card_price_info {
    font-weight: 600;
    font-size: clamp(18px, 1.4vw, 24px);
    padding-bottom: 0;
    text-align: left;
    line-height: 1;
    font-family: var(--fraunces);
}

.new_bn_card {
    padding: 24px 18px 24px;
}

.bn_price_area>* {
    padding-inline: 10px;
    margin: 0;
}

.bn_price_area .pricing_card_price {
    font-size: clamp(20px, 1.8vw, 32px);
}

/* .bn_price_area .pricing_card_price {
    width: 40%;
} */

.two_experts_image_area .bn_expert_in_card {
    width: 210px;
    height: 210px;
    border-radius: 50%;
    overflow: hidden;
    background-color: #faf5eb;
    border: 2px solid #c88f3a;
}

.bn_card_content_area .pricing_card_body {
    padding: 10px 10px 50px;
}

.bn_expert_in_card img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: top center;
}

.bn_expert_in_card.first_expert {
    margin-top: 30px;
}

.bn_expert_in_card.second_expert {
    width: 175px;
    height: 175px;
    margin-left: auto;
    margin-top: -80px;
    position: relative;
    z-index: 1;
}

.new_bn_card .pricing_card_title {
    font-size: clamp(22px, 1.5vw, 28px);
}

.new_bn_card .small_para2 p {
    font-size: 14px;
}

.bn_price_area>*:not(:first-child) {
    border-left: 1px solid #c4c4c4;
}

.price_card_expert_image {
    height: 100%;
}

.price_card_expert_image * {
    height: 100%;
}

.price_card_expert_image img {
    object-fit: cover;
    object-position: top center;
    height: 100%;
	aspect-ratio: 1 / 1;
}

.price_card_expert_image .doctor-card::after {
    display: none;
}

.two_experts_image_area {
    max-width: 360px;
    margin-inline: auto;
}
.cky-notice-btn-wrapper .cky-btn{
    border-color: var(--gold)!important;
    color: var(--gold)!important;
    border-radius: 38px!important;
}
.cky-btn:last-child{
    background: var(--gold)!important;
    color: var(--bs-white)!important;
}

/* ── RESPONSIVE ── */
/* ── RESPONSIVE ── */
/* ── RESPONSIVE ── */
/* ── RESPONSIVE ── */
/* ── RESPONSIVE ── */
/* ── RESPONSIVE ── */
/* ── RESPONSIVE ── */

@media (max-width: 1199px) {
    .main_nav {
        position: fixed;
        top: 0;
        right: 0;
        width: 100%;
        max-width: 400px;
        z-index: 200;
        height: 100%;
        background: #faf5eb;
        transform: translateX(100%);
        transition: all 0.3s ease;
    }

    .main_nav>ul {
        padding-inline: 1rem;
    }

    .main_nav ul {
        display: block;
    }

    .main_nav li a {
        display: block;
        font-size: 1rem;
        padding-inline: 0;
    }

    .main_nav_active {
        transform: translateX(0);
        overflow-y: auto;
    }

    .header_overlay {
        position: fixed;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background: rgba(0, 0, 0, 0.5);
        z-index: 100;
        opacity: 0;
        visibility: hidden;
        transition: all 0.3s ease;
    }

    .header_overlay_active {
        opacity: 1;
        visibility: visible;
    }

    .solution_hero_text h1 br {
        display: none;
    }

    .pc_grid {
        display: flex;
        flex-wrap: wrap;
        justify-content: center;
    }

    .pc_grid>* {
        width: 48%;
    }

    .cc-form-step-card {
        padding: 36px 30px 26px;
    }

    .symptom_checker_wrapper {
        padding: 100px 40px 50px;
    }

    .cta-section {
        padding: 40px;
    }

    .wb_sessions_wrapper .fh_small_info_area {
        flex-direction: column;
        gap: 10px;
    }

    .wb_sessions_wrapper .fh_small_info_item:not(:last-child) {
        border-right: none;
        border-bottom: 1px solid #c8c5bb;
        padding: 0 0 10px;
    }

    .wb_sessions_wrapper .fh_small_info_item {
        padding: 0;
        text-wrap: wrap;
        text-align: center;
    }

    .webinar_page_host_image img {
        object-fit: cover;
    }

    .webinar_page_host_image {
        min-height: auto;
    }

    .bn_price_area .pricing_card_price {
        width: auto;
    }

    .has-submenu {
        padding-block: 0 !important;
    }

    .submenu_open >a:after {
        transform: rotate(225deg);
    }
    .btn-login{
        padding-left: 10px;
    }
}

@media (max-width: 1100px) {
    h1 {
        font-size: 52px;
    }

    h2 {
        font-size: 38px;
    }

    .science-inner {
        grid-template-columns: 1fr 340px;
        gap: 48px;
    }
}

@media screen and (max-width: 991px) {
    .team-grid {
        grid-template-columns: 1fr;
    }

    .team-photo {
        aspect-ratio: 3 / 3;
    }



    .mobile_top_head {
        position: -webkit-sticky;
        position: sticky;
        top: 0;
        background: #faf5eb;
        z-index: 10;
    }









    /* ---------- MOBILE ---------- */
    .step-inner {
        grid-template-columns: 1fr;
        gap: 20px;
    }

    .steps-wrapper {
        gap: 30px;
    }

    .step-visual,
    .step.reverse .step-visual {
        order: 1;
        padding-inline: 0;
    }

    .step-text-cell,
    .step.reverse .step-text-cell {
        order: 2;
        padding-inline: 0;
    }

    .step-num-cell {
        display: none;
        margin: 15px 0;
    }

    .steps-wrapper::before {
        display: none;
    }

    .pricing_card_badge {
        top: -34px;
        font-size: 12px;
    }

    .ht_cards_wrap {
        grid-template-columns: 1fr;
    }

    .cc-results-row {
        row-gap: 24px;
    }

    .cta-section-title {
        margin-bottom: 10px;
        text-align: center;
    }

    .cta-section-desc {
        text-align: center;
    }

    .bundle_wrapper {
        width: 100%;
    }

    .pt-line {
        scale: 2.2;
    }






}



@media (max-width: 767px) {
    h1 {
        font-size: 40px;
    }

    h2 {
        font-size: 32px;
    }

    h3 {
        font-size: 26px;
    }

    p {
        font-size: 17px;
    }

    .hero-section {
        min-height: auto;
    }

    .hero-inner {
        grid-template-columns: 1fr;
        gap: 0;
    }

    .hero-right {
        display: none;
    }

    .feature-grid {
        grid-template-columns: 1fr;
    }


    .science-inner {
        grid-template-columns: 1fr;
    }

    .t-grid {
        grid-template-columns: 1fr;
    }

    .footer-grid {
        grid-template-columns: 1fr 1fr;
    }

    /* .wrap,
    .hero-inner,
    .press-bar,
    .why-section,
    .how-section,
    .science-section,
    .testimonials-section,
    .cta-section,
    footer {
        padding-left: 24px;
        padding-right: 24px;
    } */
    .checks-grid,
    .pricing-grid {
        grid-template-columns: repeat(1, 1fr);
    }


    .pricing-grid {
        grid-template-columns: 1fr;
        row-gap: 40px;
    }

    .price-card {
        padding: 24px 20px;
    }

    .pc_grid>* {
        width: 100%;
    }

    .symptom_checker_wrapper {
        padding: 80px 12px 50px;
    }

    .q_wrapper {
        padding: 0;
        margin-bottom: 30px;
    }

    .cc-form-step-card {
        padding: 36px 15px 26px;
    }

    .opt-title {
        font-size: 15px;
    }

    .step-nav {
        display: flex;
        flex-direction: column;
        transform: unset;
    }

    .pt-circle {
        width: 32px;
        height: 32px;
    }

    .pt-label {
        font-size: 12px;
    }

    .wb_banner {
        padding: 48px 16px 60px;
    }

    .wb_form__row {
        flex-direction: column;
        gap: 0;
    }

    .wb_banner__meta {
        flex-direction: column;
        align-items: flex-start;
        border-radius: 16px;

    }

    .wb_banner__meta-pill {
        white-space: wrap;
    }

    .wb_banner__form-card {
        padding: 28px 20px 24px;
    }

    .wb_sessions {
        padding: 56px 0 52px;
    }

    .wb_sessions__grid {
        margin-top: 36px;
    }

    .wb_agenda {
        padding: 56px 0 64px;
    }

    .wb_banner__headline br {
        display: none;
    }




}

@media screen and (max-width: 480px) {
    .pricing-card {
        padding: 20px 16px;
    }

    .cc_price_table_wrapper {
        padding: 6px 14px;
    }

    .team-card-body {
        padding: 15px 20px;
    }

    #moderncart-floating-cart button {
        width: 40px;
        height: 50px;
        min-width: 50px;
        min-height: 40px;
    }

    #moderncart-floating-cart .moderncart-floating-cart-icon {
        width: 52px;
    }

    .pricing_card {
        display: block;
        padding: 24px 14px 24px;
    }

    .ht_card {
        padding: 18px 14px 20px;
    }

    .dr-name {
        font-size: clamp(16px, 2.6vw, 28px);
    }

    .team-role {
        font-size: 12px;
    }

    .next_steps_container {
        max-width: calc(100% - 10px);
        padding: 15px;
    }

    .bar-row {
        flex-wrap: wrap;
    }

    .cta-section {
        padding: 20px;
    }

    .bar-label {
        width: 100%;
    }

    .phase-timeline {
        padding: 0;
        flex-wrap: wrap;
        gap: 30px;
    }

    .pt-line {
        scale: 2.2;
        display: none;
    }

    .bundle-body {
        padding: 20px 14px;
    }

    .bundle_wrapper {
        padding: 13px;
    }

    .phase-banner {
        padding: 16px 16px 20px;
    }

    .phase-title {
        font-size: 24px;
    }

    .bm-badge {
        position: relative;
        width: fit-content;
        inset: unset;
        margin-bottom: 12px;
    }

    .wb_banner__speaker {
        flex-wrap: wrap;
        border-radius: 16px;
    }

    .footer-bottom {
        justify-content: center;
    }

    .new_bn_card .pricing_card_head {
        text-align: center;
    }
}