.coach-home {
    --ch-ink: #17324d;
    --ch-blue: #176b87;
    --ch-teal: #20a39e;
    --ch-coral: #ff7b67;
    --ch-sun: #ffc857;
    --ch-cream: #fffaf2;
    --ch-soft: #edf8f7;
    color: var(--ch-ink);
    background: var(--ch-cream)
}

.coach-home p {
    text-align: right
}

.coach-hero {
    position: relative;
    overflow: hidden;
    padding: 0;
    background: #071c2c
}

.coach-pattern {
    position: absolute;
    inset: 0;
    background-image: radial-gradient(rgba(23, 107, 135, .12) 1px, transparent 1px);
    background-size: 24px 24px;
    mask-image: linear-gradient(90deg, transparent, #000);
    pointer-events: none
}

.coach-hero-grid {
    position: relative;
    display: grid;
    grid-template-columns: 1.05fr .95fr;
    align-items: center;
    gap: 52px
}

.coach-hero-copy {
    order: 1
}

.coach-hero-carousel {
    position: relative;
    order: 2;
    min-width: 0;
    height: 520px;
    overflow: hidden;
    border: 1px solid rgba(255, 255, 255, .55);
    border-radius: 30px 30px 76px 30px;
    background: #071c2c;
    box-shadow: 0 32px 72px rgba(7, 28, 44, .24)
}


/* The carousel is the hero: it spans the full content container and owns its copy. */

.coach-hero-grid {
    display: block
}

.coach-hero-grid>.coach-hero-copy {
    display: none
}

.coach-hero-carousel {
    width: 100vw;
    max-width: none;
    height: clamp(540px, 52vw, 740px);
    margin-right: calc(50% - 50vw);
    margin-left: calc(50% - 50vw);
    border: 0;
    border-radius: 0;
    box-shadow: none
}

.coach-hero-slides,
.coach-hero-slide {
    position: absolute;
    inset: 0
}

.coach-hero-slide {
    opacity: 0;
    visibility: hidden;
    transform: scale(1.035);
    transition: opacity .8s ease, visibility .8s ease, transform 6s ease
}

.coach-hero-slide.is-active {
    opacity: 1;
    visibility: visible;
    transform: scale(1)
}

.coach-hero-static .coach-hero-slide {
    transform: none;
    transition: none
}

.coach-hero-slide:after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(90deg, rgba(3, 18, 30, .9) 0%, rgba(3, 18, 30, .7) 32%, rgba(3, 18, 30, .08) 68%), linear-gradient(180deg, transparent 48%, rgba(3, 18, 30, .68) 100%);
    pointer-events: none
}

.coach-hero-slide img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
    object-position: 67% center
}

.coach-slide-caption {
    position: absolute;
    z-index: 2;
    top: 50%;
    right: auto;
    bottom: auto;
    left: max(clamp(34px, 8vw, 150px), calc((100vw - 1240px) / 2 + 24px));
    width: min(690px, 52%);
    padding: 0;
    border: 0;
    border-radius: 0;
    text-align: right;
    transform: translateY(-50%);
    color: #fff;
    background: transparent;
    box-shadow: none;
    backdrop-filter: none;
    text-shadow: none
}

.coach-slide-caption:before {
    display: none
}

.coach-slide-caption span,
.coach-slide-caption strong {
    display: block
}

.coach-slide-caption span {
    width: max-content;
    margin-bottom: 14px;
    padding: 0;
    display: flex;
    align-items: center;
    gap: 9px;
    border: 0;
    color: #9ff5eb;
    background: transparent;
    font-size: .72rem;
    font-weight: 800;
    letter-spacing: .01em
}

.coach-slide-caption span:before {
    content: "";
    width: 18px;
    height: 3px;
    border-radius: 99px;
    background: var(--ch-coral)
}

.coach-slide-caption strong {
    max-width: 680px;
    color: #fff;
    font-size: clamp(2rem, 3.2vw, 3.7rem);
    font-weight: 900;
    line-height: 1.2;
    letter-spacing: -.048em;
    text-wrap: balance;
    filter: drop-shadow(0 6px 22px rgba(0, 0, 0, .42))
}

.coach-slide-caption p {
    max-width: 610px;
    margin: 17px 0 0;
    color: rgba(255, 255, 255, .82);
    font-family: 'Vazirmatn', 'Tahoma', sans-serif;
    font-size: .9rem;
    line-height: 1.95;
    text-shadow: 0 2px 13px rgba(0, 0, 0, .46)
}

.coach-slide-cta {
    min-height: 48px;
    margin-top: 23px;
    padding: 0 19px;
    display: inline-flex;
    align-items: center;
    gap: 16px;
    position: relative;
    overflow: hidden;
    border: 1px solid rgba(255, 255, 255, .38);
    border-radius: 999px;
    color: #071c2b;
    background: linear-gradient(135deg, #fff 0%, #baf5ee 100%);
    box-shadow: 0 14px 34px rgba(0, 0, 0, .26), 0 0 0 5px rgba(255, 255, 255, .08);
    font-size: .8rem;
    font-weight: 900;
    transition: transform .25s ease, box-shadow .25s ease, background .25s ease;
    padding: 8px
}

.coach-slide-cta i {
    width: 30px;
    height: 30px;
    display: grid;
    place-items: center;
    border-radius: 50%;
    color: #fff;
    background: linear-gradient(135deg, var(--ch-coral), #ff8b65);
    transition: transform .25s ease;
    padding: 8px;
}

.coach-slide-cta:hover {
    color: #071c2b;
    background: #fff;
    box-shadow: 0 18px 42px rgba(0, 0, 0, .32), 0 0 0 6px rgba(117, 228, 215, .15);
    transform: translateY(-3px)
}

.coach-slide-cta:hover i {
    transform: translateX(-4px)
}

.coach-slider-arrow {
    position: absolute;
    z-index: 3;
    top: 50%;
    width: 42px;
    height: 42px;
    display: grid;
    place-items: center;
    border: 1px solid rgba(255, 255, 255, .5);
    border-radius: 50%;
    color: #fff;
    background: rgba(5, 25, 38, .38);
    backdrop-filter: blur(8px);
    transform: translateY(-50%);
    transition: .25s
}

.floating-actions {
    position: fixed;
    z-index: 1000;
    left: 24px;
    bottom: 24px;
    display: flex;
    align-items: center;
    gap: 10px
}

.floating-quick-cta {
    min-height: 58px;
    padding: 7px 8px 7px 20px;
    display: flex;
    align-items: center;
    gap: 11px;
    isolation: isolate;
    overflow: hidden;
    border: 1px solid rgba(255, 255, 255, .68);
    border-radius: 999px;
    color: #fff;
    background: linear-gradient(135deg, #ff4f64 0%, #ff7658 52%, #ff9b58 100%);
    box-shadow: 0 18px 42px rgba(255, 79, 100, .36), inset 0 1px rgba(255, 255, 255, .35);
    font-size: .82rem;
    font-weight: 900;
    transition: transform .25s ease, box-shadow .25s ease;
    animation: floatingPlanIn .55s ease both
}

.floating-quick-cta:before {
    content: "";
    position: absolute;
    z-index: -1;
    top: -80%;
    left: -35%;
    width: 42px;
    height: 240%;
    background: rgba(255, 255, 255, .38);
    transform: rotate(24deg);
    animation: floatingPlanShine 3.8s ease-in-out infinite
}

.floating-quick-icon {
    width: 44px;
    height: 44px;
    display: grid;
    place-items: center;
    border-radius: 50%;
    color: #ff5362;
    background: #fff;
    box-shadow: 0 6px 16px rgba(83, 25, 25, .22)
}

.floating-quick-cta:hover {
    color: #fff;
    transform: translateY(-4px) scale(1.02);
    box-shadow: 0 21px 48px rgba(239, 72, 72, .42), 0 7px 18px rgba(7, 28, 43, .2)
}

.floating-support-cta {
    color: #fff;
    background: linear-gradient(135deg, #126b88, #20a39e);
    box-shadow: 0 18px 42px rgba(23, 107, 135, .3), inset 0 1px rgba(255, 255, 255, .3)
}

.floating-support-cta .floating-quick-icon {
    color: #177d77
}

.floating-support-cta:hover {
    color: #fff;
    box-shadow: 0 20px 46px rgba(23, 107, 135, .4)
}

@keyframes floatingPlanIn {
    from {
        opacity: 0;
        transform: translateY(18px) scale(.94)
    }
    to {
        opacity: 1;
        transform: none
    }
}

@keyframes floatingPlanShine {
    0%,
    55% {
        left: -35%;
        opacity: 0
    }
    65% {
        opacity: 1
    }
    85%,
    100% {
        left: 115%;
        opacity: 0
    }
}

@media (max-width: 620px) {
    .floating-actions {
        left: 12px;
        right: 12px;
        bottom: 12px;
        justify-content: center
    }
    .floating-quick-cta {
        min-height: 50px;
        padding: 5px 6px 5px 14px;
        font-size: .72rem
    }
    .floating-quick-icon {
        width: 38px;
        height: 38px
    }
}

.coach-slider-arrow:hover {
    background: var(--ch-coral);
    border-color: var(--ch-coral)
}

.coach-slider-arrow.is-prev {
    right: 16px
}

.coach-slider-arrow.is-next {
    left: 16px
}

.coach-slider-dots {
    position: absolute;
    z-index: 3;
    left: 50%;
    bottom: 24px;
    display: flex;
    direction: ltr;
    gap: 10px;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
    backdrop-filter: none;
    transform: translateX(-50%)
}

.coach-slider-dots button {
    position: relative;
    width: 8px;
    min-width: 8px;
    height: 8px;
    min-height: 8px;
    flex: 0 0 8px;
    aspect-ratio: 1;
    box-sizing: border-box;
    padding: 0;
    display: grid;
    place-items: center;
    border: 1px solid rgba(255, 255, 255, .34);
    border-radius: 50%;
    overflow: visible;
    color: transparent;
    background: rgba(255, 255, 255, .5);
    box-shadow: 0 5px 14px rgba(0, 0, 0, .2);
    backdrop-filter: blur(10px);
    transition: .25s ease
}

.coach-slider-dots button:before {
    display: none
}

.coach-slider-dots button:hover {
    color: #fff;
    border-color: rgba(255, 255, 255, .8);
    background: rgba(7, 28, 44, .72);
    transform: translateY(-2px)
}

.coach-slider-dots button.is-active {
    width: 12px;
    min-width: 12px;
    height: 12px;
    min-height: 12px;
    flex-basis: 12px;
    margin-top: -2px;
    color: transparent;
    border-color: var(--ch-coral);
    background: var(--ch-coral);
    box-shadow: 0 5px 16px rgba(255, 123, 103, .42)
}

.coach-slider-dots button.is-active:after {
    content: "";
    position: absolute;
    inset: -4px;
    border: 1px solid rgba(255, 255, 255, .45);
    border-radius: 50%
}

.coach-label {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    padding: 8px 13px;
    border-radius: 30px;
    background: #dff4f0;
    color: var(--ch-blue);
    font-size: .76rem;
    font-weight: 800;
    margin-bottom: 22px
}

.coach-label.soft {
    background: #fff;
    color: var(--ch-blue);
    border: 1px solid #d9ebe8
}

.coach-hero h1 {
    font-size: clamp(2.25rem, 3.7vw, 3.7rem);
    line-height: 1.12;
    letter-spacing: -.065em;
    margin: 0 0 25px
}

.coach-hero h1 em,
.coach-heading em {
    font-style: normal;
    color: var(--ch-teal)
}

.coach-hero-copy>p {
    max-width: 630px;
    font-size: 1.05rem;
    line-height: 2.05;
    color: #5e7480;
    margin: 0 0 30px
}

.coach-actions {
    display: flex;
    gap: 12px;
    flex-wrap: wrap
}

.coach-btn {
    min-height: 57px;
    padding: 0 24px;
    border-radius: 14px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 22px;
    font-weight: 800;
    transition: .25s
}

.coach-btn.primary {
    background: linear-gradient(135deg, var(--ch-coral), #ff967c);
    color: #fff;
    box-shadow: 0 13px 28px rgba(255, 123, 103, .25)
}

.coach-btn.secondary {
    background: #fff;
    color: var(--ch-blue);
    border: 1px solid #cfe2df
}

.coach-btn:hover {
    transform: translateY(-3px)
}

.coach-proof {
    display: flex;
    gap: 24px;
    margin-top: 25px;
    padding-top: 18px;
    border-top: 1px solid #dce9e6
}

.coach-proof div {
    padding-left: 24px;
    border-left: 1px solid #dce9e6
}

.coach-proof div:last-child {
    border: 0
}

.coach-proof strong,
.coach-proof span {
    display: block
}

.coach-proof strong {
    font-size: .84rem
}

.coach-proof span {
    font-size: .66rem;
    color: #7d8e96;
    margin-top: 4px
}

.coach-dashboard {
    position: relative;
    background: #fff;
    border: 1px solid #d9e8e5;
    border-radius: 28px;
    padding: 28px;
    box-shadow: 0 32px 70px rgba(23, 107, 135, .15);
    transform: rotate(-1deg)
}

.coach-hero-visual {
    position: relative;
    height: 570px;
    display: grid;
    place-items: center;
    overflow: visible;
    background: transparent;
    animation: heroVisualFloat 5s ease-in-out infinite
}

.coach-hero-grid>.coach-hero-visual {
    display: none
}

.coach-hero-visual:before {
    display: none
}

.coach-hero-visual:after {
    display: none
}

.coach-hero-visual>img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: contain;
    object-position: center;
    padding: 0;
    animation: heroVectorBreath 4.8s ease-in-out infinite;
    transition: transform .45s ease
}

.coach-hero-visual:hover>img {
    transform: scale(1.025)
}

@keyframes heroVectorBreath {
    0%,
    100% {
        filter: drop-shadow(0 14px 16px rgba(7, 28, 44, .13));
    }
    50% {
        filter: drop-shadow(0 25px 24px rgba(7, 28, 44, .25));
    }
}

@keyframes heroVisualFloat {
    0%,
    100% {
        transform: translateY(0) rotate(0deg)
    }
    50% {
        transform: translateY(-12px) rotate(-.5deg)
    }
}

.coach-dashboard:before {
    content: "";
    position: absolute;
    width: 180px;
    height: 180px;
    border-radius: 50%;
    background: var(--ch-sun);
    left: -65px;
    top: -65px;
    z-index: -1;
    opacity: .8
}

.dash-top,
.progress-head {
    display: flex;
    justify-content: space-between;
    align-items: center
}

.dash-top small,
.dash-top strong {
    display: block
}

.dash-top small {
    font-size: .7rem;
    color: #7f9097
}

.dash-top strong {
    font-size: 1.15rem;
    margin-top: 5px
}

.dash-avatar {
    width: 44px;
    height: 44px;
    border-radius: 14px;
    background: var(--ch-soft);
    color: var(--ch-teal);
    display: grid;
    place-items: center
}

.week-row {
    display: grid;
    grid-template-columns: repeat(7, 1fr);
    gap: 7px;
    margin: 28px 0
}

.week-row span {
    aspect-ratio: 1;
    border-radius: 12px;
    background: #f2f6f5;
    display: grid;
    place-items: center;
    font-size: .72rem;
    font-weight: 800
}

.week-row .done {
    background: #daf2ed;
    color: var(--ch-teal)
}

.week-row .active {
    background: var(--ch-coral);
    color: #fff;
    box-shadow: 0 7px 15px rgba(255, 123, 103, .25)
}

.today-card {
    display: flex;
    align-items: center;
    gap: 14px;
    background: linear-gradient(135deg, var(--ch-blue), #258e9d);
    color: #fff;
    padding: 18px;
    border-radius: 18px
}

.today-card>i {
    margin-right: auto
}

.today-icon {
    width: 48px;
    height: 48px;
    flex: 0 0 48px;
    border-radius: 13px;
    background: rgba(255, 255, 255, .16);
    display: grid;
    place-items: center
}

.today-card div small,
.today-card div strong,
.today-card div span {
    display: block
}

.today-card div small,
.today-card div span {
    font-size: .65rem;
    opacity: .78
}

.today-card div strong {
    font-size: .9rem;
    margin: 3px 0
}

.dash-progress {
    padding: 22px 2px 17px
}

.progress-head {
    font-size: .74rem
}

.progress-head strong {
    color: var(--ch-teal)
}

.progress-track {
    height: 8px;
    background: #e8f1ef;
    border-radius: 20px;
    margin-top: 10px;
    overflow: hidden
}

.progress-track i {
    display: block;
    width: 75%;
    height: 100%;
    background: linear-gradient(90deg, var(--ch-teal), #62cbb7);
    border-radius: 20px
}

.smart-note {
    display: flex;
    gap: 12px;
    padding: 14px;
    border-radius: 15px;
    background: #fff8e5;
    border: 1px solid #f5e7b7
}

.smart-note>i {
    color: #b78300;
    margin-top: 3px
}

.smart-note strong,
.smart-note span {
    display: block
}

.smart-note strong {
    font-size: .72rem
}

.smart-note span {
    font-size: .62rem;
    color: #7b7461;
    margin-top: 3px
}

.coach-section {
    padding: 72px 0
}

.coach-heading {
    text-align: center;
    max-width: 700px;
    margin: 0 auto 32px
}

.coach-heading>span {
    font-size: .75rem;
    font-weight: 800;
    color: var(--ch-teal)
}

.coach-heading h2,
.benefits-copy h2,
.bmi-copy h2,
.knowledge-head h2 {
    font-size: clamp(1.75rem, 2.55vw, 2.75rem);
    line-height: 1.25;
    letter-spacing: -.05em;
    margin: 13px 0
}

.coach-heading p {
    width: 100%;
    max-width: 620px;
    display: block;
    margin: 0 auto !important;
    padding-inline: 18px;
    box-sizing: border-box;
    color: #70838d;
    text-align: center !important
}

.coach-steps {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 18px;
    counter-reset: steps
}

.coach-steps article {
    position: relative;
    padding: 26px;
    background: #fff;
    border: 1px solid #ddeae7;
    border-radius: 20px;
    min-height: 225px;
    transition: .25s
}

.coach-steps article:hover {
    transform: translateY(-7px);
    box-shadow: 0 18px 45px rgba(23, 107, 135, .1)
}

.coach-steps article>b {
    position: absolute;
    left: 24px;
    top: 19px;
    color: #d8e5e2;
    font-size: 2rem
}

.coach-steps article>i {
    padding: 12px;
    border-radius: 16px;
    background: var(--ch-soft);
    color: var(--ch-teal);
    display: grid;
    place-items: center;
    font-size: 1.25rem;
    margin-bottom: 20px
}

.coach-steps article:nth-child(2)>i {
    background: #fff1ed;
    color: var(--ch-coral)
}

.coach-steps article:nth-child(3)>i {
    background: #fff6da;
    color: #b78000
}

.coach-steps h3 {
    font-size: 1.2rem
}

.coach-steps p {
    font-size: .84rem;
    line-height: 2;
    color: #70818a
}

.coach-benefits {
    background: #e8f6f3
}

.benefits-grid {
    display: grid;
    grid-template-columns: 1.08fr .92fr;
    gap: 52px;
    align-items: center
}

.benefits-copy>p {
    line-height: 2;
    color: #687d87;
    margin: 22px 0
}

.benefits-copy ul {
    list-style: none;
    padding: 0;
    display: grid;
    gap: 12px;
    margin: 21px 0
}

.benefits-copy li {
    display: flex;
    gap: 12px;
    align-items: flex-start
}

.benefits-copy li>i {
    width: 27px;
    height: 27px;
    flex: 0 0 27px;
    border-radius: 50%;
    background: var(--ch-teal);
    color: #fff;
    display: grid;
    place-items: center;
    font-size: .65rem
}

.benefits-copy li strong,
.benefits-copy li span {
    display: block
}

.benefits-copy li strong {
    margin-bottom: 4px
}

.benefits-copy li span {
    font-size: .82rem;
    color: #667c86
}

.coach-text-link {
    color: var(--ch-blue);
    font-weight: 800;
    border-bottom: 1px solid #94c5c2;
    padding-bottom: 7px
}

.coach-text-link i {
    margin-right: 8px
}

.benefits-cards {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 14px
}

.metric-card {
    min-height: 145px;
    padding: 21px;
    border-radius: 20px;
    display: flex;
    flex-direction: column;
    justify-content: flex-end
}

.metric-card i {
    font-size: 1.6rem;
    margin-bottom: auto
}

.metric-card strong,
.metric-card span {
    display: block
}

.metric-card span {
    font-size: .7rem;
    margin-top: 5px;
    opacity: .75
}

.metric-card.coral {
    background: #ff7b67;
    color: #fff
}

.metric-card.teal {
    background: #20a39e;
    color: #fff;
    transform: translateY(25px)
}

.metric-card.sun {
    background: #ffc857;
    color: var(--ch-ink)
}

.metric-card.blue {
    background: #176b87;
    color: #fff;
    transform: translateY(25px)
}

.bmi-section {
    background: #fffaf2
}

.bmi-shell {
    display: grid;
    grid-template-columns: .85fr 1.15fr;
    gap: 48px;
    align-items: center
}

.bmi-copy>p {
    line-height: 2;
    color: #6a7c85
}

.bmi-copy>small {
    display: flex;
    gap: 8px;
    color: #829198;
    font-size: .72rem;
    line-height: 1.8
}

.bmi-tool {
    padding: 30px;
    background: #fff;
    border: 1px solid #dce9e6;
    border-radius: 24px;
    box-shadow: 0 20px 55px rgba(23, 107, 135, .1)
}

.bmi-fields {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 14px
}

.bmi-fields label {
    font-size: .8rem;
    font-weight: 800
}

.bmi-fields label span {
    font-size: .65rem;
    font-weight: 500;
    color: #84939a
}

.bmi-fields input,
.bmi-fields select {
    width: 100%;
    margin-top: 8px;
    height: 55px;
    padding: 0 15px;
    border: 1px solid #d8e6e3;
    border-radius: 12px;
    background: #fff;
    color: #17324d;
    font: inherit;
    outline: none;
    transition: border-color .2s ease, box-shadow .2s ease
}

.bmi-fields input:focus,
.bmi-fields select:focus {
    border-color: var(--ch-teal);
    box-shadow: 0 0 0 4px rgba(32, 163, 158, .1)
}

.bmi-tool>.coach-btn {
    width: 100%;
    border: 0;
    margin: 15px 0
}

.bmi-result {
    display: flex;
    align-items: center;
    gap: 18px;
    padding: 18px;
    border-radius: 16px;
    background: #f1f7f6;
    border: 1px solid #dbe8e6
}

.bmi-score {
    width: 78px;
    height: 70px;
    flex: 0 0 78px;
    border-left: 1px solid #d2e1df
}

.bmi-score small,
.bmi-score strong,
.bmi-result b,
.bmi-result span {
    display: block
}

.bmi-score small {
    font-size: .62rem;
    color: #7c8b92
}

.bmi-score strong {
    font-size: 1.8rem;
    color: var(--ch-blue)
}

.bmi-result b {
    font-size: .82rem
}

.bmi-result span {
    font-size: .68rem;
    color: #75868e;
    margin-top: 4px
}

.bmi-result.normal {
    background: #e7f7ef;
    border-color: #bfe5d1
}

.bmi-result.medium {
    background: #fff7db;
    border-color: #efdda0
}

.bmi-result.high,
.bmi-result.invalid {
    background: #fff0ed;
    border-color: #f7c9c1
}

.bmi-scale {
    display: grid;
    grid-template-columns: 1fr 1.5fr 1fr 1fr;
    gap: 3px;
    margin-top: 18px
}

.bmi-scale i {
    height: 6px;
    border-radius: 6px;
    background: #70a9d6
}

.bmi-scale i:nth-child(2) {
    background: #51b998
}

.bmi-scale i:nth-child(3) {
    background: #f2bd42
}

.bmi-scale i:nth-child(4) {
    background: #ee7664
}

.bmi-legends {
    display: grid;
    grid-template-columns: 1fr 1.5fr 1fr 1fr;
    font-size: .56rem;
    color: #839198;
    margin-top: 6px
}

.stories-section {
    background: linear-gradient(135deg, var(--ch-blue), #21566f);
    color: #fff
}

.coach-heading.light h2 {
    color: #fff
}

.coach-heading.light>span,
.coach-heading.light em {
    color: var(--ch-sun)
}

.story-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 16px
}

.story-grid blockquote {
    margin: 0;
    padding: 28px;
    background: rgba(255, 255, 255, .1);
    border: 1px solid rgba(255, 255, 255, .16);
    border-radius: 20px;
    backdrop-filter: blur(8px)
}

.quote-mark {
    font-size: 3.5rem;
    line-height: .7;
    color: var(--ch-sun)
}

.story-grid p {
    color: #e4eff1;
    line-height: 2;
    font-size: .86rem
}

.story-grid footer {
    display: flex;
    justify-content: space-between;
    padding-top: 18px;
    border-top: 1px solid rgba(255, 255, 255, .14)
}

.story-grid footer span {
    font-size: .75rem;
    font-weight: 800
}

.story-grid footer small {
    font-size: .62rem;
    color: #b7d0d6
}

.knowledge-head {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    gap: 30px;
    margin-bottom: 28px
}

.knowledge-head p {
    margin: 0;
    color: #71858e
}

.knowledge-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 18px
}

.knowledge-card {
    background: #fff;
    border: 1px solid #dce9e6;
    border-radius: 20px;
    overflow: hidden;
    transition: .25s
}

.knowledge-card:hover {
    transform: translateY(-6px);
    box-shadow: 0 18px 45px rgba(23, 107, 135, .1)
}

.knowledge-image {
    height: 165px;
    background: #e8f5f2;
    display: grid;
    place-items: center;
    position: relative;
    overflow: hidden
}

.knowledge-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: .35s
}

.knowledge-card:hover img {
    transform: scale(1.05)
}

.knowledge-image>span {
    font-size: 2rem;
    color: var(--ch-teal)
}

.knowledge-image small {
    position: absolute;
    right: 14px;
    top: 14px;
    padding: 6px 10px;
    border-radius: 9px;
    background: #fff;
    color: var(--ch-blue);
    font-size: .62rem;
    font-weight: 800
}

.knowledge-card>div {
    padding: 16px
}

.article-meta {
    font-size: .64rem;
    color: #82939a
}

.knowledge-card h3 {
    font-size: 1.05rem;
    line-height: 1.7;
    margin: 8px 0
}

.knowledge-card h3 a {
    color: var(--ch-ink)
}

.knowledge-card p {
    font-size: .76rem;
    line-height: 1.9;
    color: #72848d
}

.read-link {
    font-size: .72rem;
    font-weight: 800;
    color: var(--ch-teal)
}

.read-link i {
    margin-right: 6px
}

.empty-knowledge {
    text-align: center;
    padding: 45px;
    background: #fff;
    border-radius: 20px
}

.empty-knowledge i {
    font-size: 2rem;
    color: var(--ch-teal)
}

.empty-knowledge p {
    text-align: center
}

.mini-shop {
    padding: 24px 0 48px
}

.mini-shop-inner {
    display: flex;
    align-items: center;
    gap: 22px;
    padding: 26px 30px;
    background: #fff;
    border: 1px solid #dce9e6;
    border-radius: 22px
}

.mini-shop-icon {
    width: 60px;
    height: 60px;
    flex: 0 0 60px;
    border-radius: 17px;
    background: #fff1ed;
    color: var(--ch-coral);
    display: grid;
    place-items: center;
    font-size: 1.3rem
}

.mini-shop-inner>div:nth-child(2) {
    flex: 1
}

.mini-shop-inner span {
    font-size: .65rem;
    color: var(--ch-coral);
    font-weight: 800
}

.mini-shop-inner h2 {
    font-size: 1.2rem;
    margin: 4px 0
}

.mini-shop-inner p {
    font-size: .72rem;
    margin: 0
}

.mini-shop-inner .coach-btn {
    min-height: 49px
}

.coach-final {
    text-align: center;
    padding: 68px 0;
    background: #ffc857
}

.coach-final>div>span {
    font-size: .72rem;
    font-weight: 800
}

.coach-final h2 {
    font-size: clamp(2rem, 3.2vw, 3.35rem);
    line-height: 1.18;
    letter-spacing: -.06em;
    margin: 15px 0
}

.coach-final p {
    text-align: center;
    color: #5d5a48;
    margin-bottom: 28px
}

.coach-final .coach-btn {
    margin: auto
}

@media(max-width:950px) {
    .coach-hero-grid,
    .benefits-grid,
    .bmi-shell {
        grid-template-columns: 1fr
    }
    .coach-hero-copy {
        text-align: center
    }
    .coach-hero-carousel {
        width: 100vw;
        height: 520px;
        margin-right: calc(50% - 50vw);
        margin-left: calc(50% - 50vw);
        border-radius: 0
    }
    .coach-hero-copy>p {
        margin-inline: auto;
        text-align: center
    }
    .coach-actions,
    .coach-proof {
        justify-content: center
    }
    .coach-dashboard {
        max-width: 600px;
        margin: auto
    }
    .coach-hero-visual {
        width: min(600px, 100%);
        height: 500px;
        margin: auto
    }
    .coach-steps,
    .story-grid,
    .knowledge-grid {
        grid-template-columns: repeat(2, 1fr)
    }
    .coach-steps article:last-child,
    .story-grid blockquote:last-child,
    .knowledge-card:last-child {
        grid-column: 1/-1
    }
    .benefits-grid,
    .bmi-shell {
        gap: 45px
    }
    .benefits-cards {
        max-width: 600px;
        margin: auto;
        width: 100%
    }
}

@media(max-width:620px) {
    .coach-hero {
        padding: 0
    }
    .coach-hero h1 {
        font-size: 2.75rem
    }
    .coach-hero h1 br {
        display: none
    }
    .coach-hero-carousel {
        width: 100vw;
        height: 520px;
        margin-right: calc(50% - 50vw);
        margin-left: calc(50% - 50vw);
        border-radius: 0
    }
    .coach-hero-slide:after {
        background: linear-gradient(180deg, rgba(3, 18, 30, .08) 10%, rgba(3, 18, 30, .88) 100%)
    }
    .coach-slide-caption {
        top: auto;
        right: 18px;
        bottom: 70px;
        left: 28px;
        width: auto;
        padding: 0;
        max-width: none;
        text-align: right;
        transform: none;
        border-radius: 0;
        background: transparent
    }
    .coach-slide-caption span {
        margin-bottom: 8px;
        padding: 0;
        font-size: .61rem
    }
    .coach-slide-caption strong {
        font-size: 1.9rem;
        line-height: 1.25
    }
    .coach-slide-caption p {
        margin-top: 8px;
        font-size: .74rem;
        line-height: 1.75
    }
    .coach-slide-cta {
        min-height: 40px;
        margin-top: 11px;
        padding: 0 14px;
        font-size: .7rem
    }
    .coach-slider-arrow {
        width: 36px;
        height: 36px
    }
    .coach-slider-arrow.is-prev {
        right: 10px
    }
    .coach-slider-arrow.is-next {
        left: 10px
    }
    .coach-slider-dots {
        left: 50%;
        bottom: 16px;
        padding: 0
    }
    .coach-slider-dots button {
        width: 7px;
        min-width: 7px;
        height: 7px;
        min-height: 7px;
        flex-basis: 7px
    }
    .coach-slider-dots button.is-active {
        width: 11px;
        min-width: 11px;
        height: 11px;
        min-height: 11px;
        flex-basis: 11px
    }
    .coach-actions {
        flex-direction: column
    }
    .coach-btn {
        width: 100%
    }
    .coach-proof {
        gap: 12px
    }
    .coach-proof div {
        padding-left: 12px
    }
    .coach-proof span {
        font-size: .56rem
    }
    .coach-dashboard {
        padding: 18px;
        border-radius: 20px
    }
    .coach-hero-visual {
        height: 430px;
        border-radius: 22px 22px 55px 22px
    }
    .week-row {
        gap: 4px
    }
    .today-card {
        padding: 13px
    }
    .coach-section {
        padding: 52px 0
    }
    .coach-steps,
    .story-grid,
    .knowledge-grid {
        grid-template-columns: 1fr
    }
    .coach-steps article:last-child,
    .story-grid blockquote:last-child,
    .knowledge-card:last-child {
        grid-column: auto
    }
    .benefits-cards {
        gap: 8px
    }
    .metric-card {
        min-height: 150px;
        padding: 18px
    }
    .metric-card.teal,
    .metric-card.blue {
        transform: none
    }
    .bmi-tool {
        padding: 18px
    }
    .bmi-fields {
        grid-template-columns: 1fr
    }
    .bmi-result {
        align-items: flex-start
    }
    .knowledge-head {
        display: block
    }
    .knowledge-head>.coach-text-link {
        display: inline-block;
        margin-top: 15px
    }
    .mini-shop-inner {
        align-items: flex-start;
        flex-wrap: wrap
    }
    .mini-shop-inner .coach-btn {
        width: 100%
    }
    .coach-final {
        padding: 55px 0
    }
    .coach-final h2 {
        font-size: 2.1rem
    }
}

@media(prefers-reduced-motion:reduce) {
    .coach-hero-visual:after,
    .coach-hero-visual,
    .coach-hero-visual>img {
        animation: none
    }
    .coach-hero-slide {
        transition: opacity .2s ease;
        transform: none
    }
}

.coach-final p {
    width: min(620px, calc(100% - 32px));
    margin: 0 auto 27px !important;
    text-align: center !important
}

.trainer-spotlight {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    padding: 96px 0;
    color: #fff;
    background: #0b2233
}

.trainer-spotlight:before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -2;
    opacity: .32;
    background-image: linear-gradient(rgba(255, 255, 255, .05) 1px, transparent 1px), linear-gradient(90deg, rgba(255, 255, 255, .05) 1px, transparent 1px);
    background-size: 64px 64px;
    mask-image: linear-gradient(90deg, #000, transparent 88%)
}

.trainer-spotlight-glow {
    position: absolute;
    z-index: -1;
    width: 620px;
    height: 620px;
    right: -230px;
    top: -260px;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(32, 163, 158, .3), transparent 68%);
    pointer-events: none
}

.trainer-spotlight-grid {
    display: grid;
    grid-template-columns: .86fr 1.14fr;
    gap: clamp(55px, 7vw, 105px);
    align-items: center
}

.trainer-portrait-wrap {
    position: relative;
    min-height: 540px
}

.trainer-portrait-frame {
    position: absolute;
    inset: 0 0 0 38px;
    overflow: hidden;
    border: 1px solid rgba(255, 255, 255, .16);
    border-radius: 30px 30px 110px 30px;
    background: linear-gradient(145deg, #174c60, #0f3346);
    box-shadow: 0 38px 80px rgba(0, 0, 0, .34)
}

.trainer-portrait-frame:after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, transparent 56%, rgba(4, 19, 29, .66))
}

.trainer-portrait-frame img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
    object-position: center top;
    filter: saturate(.9) contrast(1.04)
}

.trainer-portrait-fallback {
    width: 100%;
    height: 100%;
    display: grid;
    place-content: center;
    gap: 18px;
    color: rgba(255, 255, 255, .82);
    text-align: center
}

.trainer-portrait-fallback i {
    font-size: 8rem;
    opacity: .35
}

.trainer-portrait-fallback span {
    font-size: 1rem;
    font-weight: 800
}

.trainer-verified {
    position: absolute;
    z-index: 2;
    right: 22px;
    bottom: 22px;
    padding: 9px 13px;
    border: 1px solid rgba(255, 255, 255, .23);
    border-radius: 99px;
    color: #fff;
    background: rgba(9, 36, 51, .7);
    backdrop-filter: blur(12px);
    font-size: .7rem;
    font-weight: 800
}

.trainer-verified i {
    margin-left: 6px;
    color: #75e4d7
}

.trainer-experience-card {
    position: absolute;
    z-index: 3;
    left: 0;
    top: 62px;
    min-width: 142px;
    padding: 18px;
    display: flex;
    align-items: center;
    gap: 11px;
    border: 1px solid rgba(255, 255, 255, .26);
    border-radius: 18px;
    color: #102a43;
    background: #ffc857;
    box-shadow: 0 18px 38px rgba(0, 0, 0, .22);
    transform: rotate(-3deg)
}

.trainer-experience-card strong {
    font-size: 2.2rem;
    line-height: 1
}

.trainer-experience-card span {
    font-size: .66rem;
    font-weight: 800;
    line-height: 1.6
}

.trainer-orbit {
    position: absolute;
    right: -32px;
    bottom: -30px;
    width: 128px;
    height: 128px;
    border: 1px solid rgba(117, 228, 215, .25);
    border-radius: 50%
}

.trainer-orbit:before {
    content: "";
    position: absolute;
    inset: 23px;
    border: 1px dashed rgba(117, 228, 215, .3);
    border-radius: 50%
}

.trainer-orbit i {
    position: absolute;
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: #75e4d7;
    box-shadow: 0 0 15px #75e4d7
}

.trainer-orbit i:nth-child(1) {
    top: 8px;
    right: 30px
}

.trainer-orbit i:nth-child(2) {
    left: 4px;
    bottom: 35px;
    background: #ff7b67;
    box-shadow: 0 0 15px #ff7b67
}

.trainer-orbit i:nth-child(3) {
    right: 18px;
    bottom: 5px;
    width: 5px;
    height: 5px
}

.trainer-kicker {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    color: #75e4d7;
    font-size: .74rem;
    font-weight: 900
}

.trainer-kicker i {
    color: #ffc857
}

.trainer-spotlight-copy h2 {
    margin: 17px 0 14px;
    color: #fff;
    font-size: clamp(2rem, 3.1vw, 3.35rem);
    line-height: 1.15;
    letter-spacing: -.06em
}

.trainer-spotlight-copy h2 em {
    color: #75e4d7;
    font-style: normal
}

.trainer-speciality {
    margin: 0 0 15px!important;
    color: #ffc857;
    font-size: .83rem;
    font-weight: 800
}

.trainer-bio {
    max-width: 650px;
    margin: 0 0 25px!important;
    color: rgba(255, 255, 255, .7);
    font-family: 'Vazirmatn', 'Tahoma', sans-serif!important;
    font-size: .93rem;
    line-height: 2.15!important
}

.trainer-facts {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 11px;
    margin-bottom: 14px
}

.trainer-facts>div {
    min-width: 0;
    padding: 14px;
    display: flex;
    align-items: center;
    gap: 12px;
    border: 1px solid rgba(255, 255, 255, .11);
    border-radius: 15px;
    background: rgba(255, 255, 255, .055)
}

.trainer-facts i {
    width: 36px;
    height: 36px;
    flex: 0 0 36px;
    display: grid;
    place-items: center;
    border-radius: 10px;
    color: #75e4d7;
    background: rgba(117, 228, 215, .1)
}

.trainer-facts small,
.trainer-facts strong {
    display: block
}

.trainer-facts small {
    color: rgba(255, 255, 255, .45);
    font-size: .58rem
}

.trainer-facts strong {
    margin-top: 3px;
    overflow: hidden;
    color: #fff;
    font-size: .72rem;
    text-overflow: ellipsis;
    white-space: nowrap
}

.trainer-certificate {
    padding: 14px 16px;
    display: flex;
    align-items: flex-start;
    gap: 12px;
    border-right: 3px solid #ffc857;
    border-radius: 12px 0 0 12px;
    background: linear-gradient(90deg, rgba(255, 200, 87, .03), rgba(255, 200, 87, .09))
}

.trainer-certificate>i {
    margin-top: 4px;
    color: #ffc857
}

.trainer-certificate small {
    color: #ffc857;
    font-size: .58rem;
    font-weight: 800
}

.trainer-certificate p {
    margin: 3px 0 0!important;
    color: rgba(255, 255, 255, .62);
    font-size: .68rem;
    line-height: 1.8!important
}

.trainer-spotlight-actions {
    margin-top: 24px;
    display: flex;
    align-items: center;
    gap: 18px;
    flex-wrap: wrap
}

.trainer-primary-action {
    min-height: 53px;
    padding: 0 21px;
    display: inline-flex;
    align-items: center;
    gap: 22px;
    border-radius: 13px;
    color: #fff;
    background: linear-gradient(135deg, #ff7b67, #ff9a7d);
    box-shadow: 0 15px 32px rgba(255, 123, 103, .24);
    font-size: .78rem;
    font-weight: 900;
    transition: .25s
}

.trainer-primary-action:hover {
    color: #fff;
    transform: translateY(-3px);
    box-shadow: 0 20px 40px rgba(255, 123, 103, .32)
}

[data-theme="dark"] .trainer-primary-action,
body.dark-mode .trainer-primary-action {
    color: #081d2a !important;
    background: linear-gradient(135deg, #9ff5eb, #75e4d7) !important;
    box-shadow: 0 15px 34px rgba(117, 228, 215, .22)
}

[data-theme="dark"] .trainer-primary-action:hover,
body.dark-mode .trainer-primary-action:hover {
    color: #061721 !important
}

@media(max-width:950px) {
    .trainer-spotlight-grid {
        grid-template-columns: 1fr;
    }
    .trainer-portrait-wrap {
        width: min(520px, 100%);
        margin: auto;
    }
    .trainer-spotlight-copy {
        text-align: center
    }
    .trainer-bio {
        margin-inline: auto!important;
        text-align: center!important
    }
    .trainer-kicker,
    .trainer-spotlight-actions {
        justify-content: center
    }
    .trainer-certificate {
        max-width: 650px;
        margin-inline: auto;
        text-align: right
    }
}

@media(max-width:620px) {
    .trainer-spotlight {
        padding: 62px 0
    }
    .trainer-portrait-wrap {
        min-height: 430px
    }
    .trainer-portrait-frame {
        left: 18px;
        border-radius: 24px 24px 70px 24px
    }
    .trainer-experience-card {
        top: 35px;
        min-width: 120px;
        padding: 13px
    }
    .trainer-experience-card strong {
        font-size: 1.75rem
    }
    .trainer-orbit {
        display: none
    }
    .trainer-spotlight-copy h2 {
        font-size: 2.05rem
    }
    .trainer-facts {
        grid-template-columns: 1fr
    }
    .trainer-spotlight-actions {
        flex-direction: column
    }
    .trainer-primary-action {
        width: 100%;
        justify-content: center
    }
}

/* Circular floating shortcuts. */
.floating-actions{align-items:flex-end!important}
.floating-support-cta{width:58px!important;min-width:58px!important;height:58px!important;min-height:58px!important;padding:6px!important;justify-content:center!important;border-radius:50%!important}
.floating-support-cta .floating-quick-icon{width:44px!important;height:44px!important}
.floating-plan-cta{width:76px!important;min-width:76px!important;height:76px!important;min-height:76px!important;padding:8px!important;flex-direction:column!important;justify-content:center!important;gap:3px!important;border-radius:50%!important;text-align:center!important;line-height:1.25!important}
.floating-plan-cta .floating-quick-icon{width:32px!important;height:32px!important;flex:0 0 32px!important;font-size:.78rem!important}
.floating-plan-cta>span:last-child{display:block;max-width:58px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.55rem!important}
@media(max-width:620px){.floating-support-cta{width:52px!important;min-width:52px!important;height:52px!important;min-height:52px!important}.floating-support-cta .floating-quick-icon{width:38px!important;height:38px!important}.floating-plan-cta{width:66px!important;min-width:66px!important;height:66px!important;min-height:66px!important}.floating-plan-cta .floating-quick-icon{width:28px!important;height:28px!important;flex-basis:28px!important}.floating-plan-cta>span:last-child{max-width:50px;font-size:.5rem!important}}

/* Larger support target and a readable two-line plan label. */
.floating-support-cta{width:68px!important;min-width:68px!important;height:68px!important;min-height:68px!important;padding:7px!important}.floating-support-cta .floating-quick-icon{width:52px!important;height:52px!important;font-size:1.08rem!important}
.floating-plan-cta{width:88px!important;min-width:88px!important;height:88px!important;min-height:88px!important;padding:9px!important;gap:4px!important}.floating-plan-cta .floating-quick-icon{width:34px!important;height:34px!important;flex-basis:34px!important}.floating-plan-cta>span:last-child{max-width:70px!important;overflow:visible!important;text-overflow:clip!important;white-space:normal!important;font-size:.64rem!important;line-height:1.45!important;text-align:center!important}
@media(max-width:620px){.floating-support-cta{width:60px!important;min-width:60px!important;height:60px!important;min-height:60px!important}.floating-support-cta .floating-quick-icon{width:46px!important;height:46px!important}.floating-plan-cta{width:78px!important;min-width:78px!important;height:78px!important;min-height:78px!important}.floating-plan-cta>span:last-child{max-width:62px!important;font-size:.58rem!important}}

@media(max-width:768px){.floating-actions{display:none!important}}
