:root {
    --tcf-primary: #5B3B60;
    --tcf-secondary: #5B3B60;
    --tcf-primary-dark: #6A3F6C;
    --tcf-primary-light: #9D5EA0;
    --tcf-gradient-point: rgba(232, 213, 224, 0.5);
    --tcf-cream: #f7f0e7;
    --tcf-soft: #E5DCE1;
    --tcf-ink: #1f2a24;
    --tcf-muted: #000;
    --tcf-radius: 0.5rem;
    --animate-duration: 500ms;
    --animate-delay: 0.15s;
}

.theme-mulberry {
    --tcf-primary: #4A2543;
    --tcf-primary-dark: #7A3E6D;
    --tcf-primary-light: #F4EAF1;
}

.theme-aubergine {
    --tcf-primary: #402536;
    --tcf-primary-dark: #70405F;
    --tcf-primary-light: #F5EBF0;
}

.theme-plum {
    --tcf-primary: #432A45;
    --tcf-primary-dark: #6F456E;
    --tcf-primary-light: #F2EAF2;
}

.theme-heather {
    --tcf-primary: #443655;
    --tcf-primary-dark: #725C8F;
    --tcf-primary-light: #F0ECF5;
}

.theme-orchid {
    --tcf-primary: #513455;
    --tcf-primary-dark: #86558A;
    --tcf-primary-light: #F5EEF6;
}

html {
    scroll-behavior: smooth;
}

body {
    font-family: "Raleway", sans-serif;
    color: var(--tcf-text);
    background-color: #ffffff;
}

h1, h2, h3, h4, h5, h6,
.navbar-brand {
    font-family: "Montserrat", serif;
    color: var(--tcf-text);
    font-weight: 400 !important;
}

.navbar-brand {
    font-weight: 600;
    font-size: 1.8rem;
    font-family: "LFutura";
    letter-spacing: 0.3rem !important;
}

a {
    color: var(--tcf-primary-dark);
}

    a:hover {
        color: #336145;
    }



.btn {
    border-radius: 0px !important;
    text-transform: uppercase;
    font-weight: 500 !important;
}

    .btn-check:checked + .btn, .btn.active, .btn.show, .btn:first-child:active, :not(.btn-check) + .btn:active {
        background: var(--tcf-primary-dark) !important;
    }



.btn-outline-dark {
    --bs-btn-border-color: var(--tcf-primary);
    --bs-btn-color: var(--tcf-primary);
    --bs-btn-hover-bg: var(--tcf-primary);
    --bs-btn-hover-border-color: var(--tcf-primary);
}

.py-lg-6 {
    padding-top: 6rem;
    padding-bottom: 6rem;
}

.section-padding {
    padding: 4.5rem 0 5rem;
    background: linear-gradient( 180deg, #f7f3f5 0%, #ffffff 5rem );
}

.section-title {
    font-size: clamp(2rem, 4vw, 3rem);
    font-weight: 800;
    letter-spacing: -0.02em;
    margin-bottom: 1rem;
}

.section-subtitle {
    color: var(--tcf-muted);
    font-size: 1.125rem;
}


.eyebrow {
    display: inline-flex;
    flex-direction: column;
    gap: 0.55rem;
    align-items: center;
    color: var(--tcf-primary-dark);
    font-size: 0.8rem;
    font-weight: 800;
    letter-spacing: 0.14em;
    text-transform: uppercase;
}

    .eyebrow::before {
        content: "";
        display: block;
        align-items: center;
        width: 2.5rem;
        height: 2px;
        background: var(--tcf-primary-dark);
    }

.free-course-section .eyebrow::before {
    background: #fff;
}

@media (max-width: 575.98px) {
    .free-course-page-intro-section {
        text-align: center;
    }

    .free-course-page-check-list {
        text-align: left;
    }

    .free-course-page-module-card {
        text-align: center;
    }

    .free-course-page-products-section {
        text-align: center;
    }

    .free-course-page-product-pills {
        text-align: center;
        justify-content: center;
    }

    .free-course-page-fit-card-dark {
        text-align: center;
    }

    .free-course-page-fit-card-dark {
        text-align: center;
    }

    .foundation-delivery-section {
        text-align: center;
    }

    .foundation-check-list {
        text-align: left;
    }
}

.diploma-section .eyebrow::before {
    background: var(--tcf-primary-dark) !important;
}

@media (max-width: 575.98px) {
    .diploma-intro-section {
        text-align: center;
    }

    .diploma-check-list {
        text-align: left;
    }

    .diploma-certificate-card {
        text-align: center;
    }

    .diploma-comparison-card {
        text-align: center;
    }
}

.text-center .eyebrow,
.eyebrow.text-center {
    align-items: center;
}

.bg-soft {
    background: radial-gradient(circle at top left, rgba(106, 63, 108, 0.10), transparent 28rem), linear-gradient(180deg, #faf7fb 0%, #fff 100%);
}

.bg-home {
    padding-bottom: 6rem;
}

.bg-cream {
    background: var(--tcf-cream);
}

.announcement {
    background: var(--tcf-primary);
    color: #fff;
}

    .announcement a {
        color: #fff !important;
        text-decoration: none;
    }

.top-links {
    background: #fff;
}

.brand-mark {
    align-items: center;
    display: inline-flex;
    gap: 0.75rem;
    font-weight: 800;
}

.brand-icon {
    align-items: center;
    background: var(--tcf-ink);
    border-radius: 999px;
    color: #fff;
    display: inline-flex;
    font-size: 0.9rem;
    height: 2.75rem;
    justify-content: center;
    letter-spacing: 0.08em;
    width: 2.75rem;
}

.brand-text {
    color: var(--tcf-ink);
    font-weight: 600;
    font-size: 1.5rem;
    font-family: "LFutura";
    letter-spacing: 0.3rem !important;
}

.navbar .nav-link {
    color: var(--tcf-ink);
    font-weight: 650;
}

    .navbar .nav-link:hover,
    .navbar .nav-link:focus {
        color: var(--tcf-primary-dark);
    }

.mega-menu {
    border: 0;
    border-radius: 1.25rem;
    box-shadow: 0 1rem 3rem rgba(31, 42, 36, 0.14);
    min-width: min(760px, calc(100vw - 2rem));
}

    .mega-menu h6 {
        color: var(--tcf-primary-dark);
        font-weight: 800;
        margin-bottom: 0.75rem;
    }



.hero-brand {
    font-weight: 400;
    font-size: 5rem;
    font-family: "LFutura";
    letter-spacing: 0.3rem !important;
    margin-bottom: 1rem;
}




.hero-section h1 {
    letter-spacing: -0.02rem;
}

.hero-collage {
    min-height: 520px;
    position: relative;
}

.placeholder-img {
    align-items: center;
    background: linear-gradient(135deg, rgba(159, 212, 177, 0.45), rgba(247, 240, 231, 0.95)), repeating-linear-gradient(45deg, rgba(255,255,255,0.25) 0 12px, rgba(255,255,255,0.45) 12px 24px);
    border: 1px solid rgba(31, 42, 36, 0.08);
    border-radius: var(--tcf-radius);
    color: rgba(31, 42, 36, 0.55);
    display: flex;
    font-weight: 800;
    justify-content: center;
    min-height: 320px;
    overflow: hidden;
    position: relative;
    text-transform: uppercase;
}

.hero-section {
    background: radial-gradient(circle at top right, var(--tcf-gradient-point), transparent 34rem), linear-gradient(180deg, #fff 0%, var(--tcf-soft) 100%);
    padding: 4rem 0 3.5rem;
    background-color: #f8f5ef;
    overflow: hidden;
}

.hero-content {
    max-width: 850px;
    margin: 0 auto 3rem;
}

.hero-eyebrow {
    margin-bottom: 1rem;
    font-size: 0.875rem;
    font-weight: 600;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

.hero-title {
    margin-bottom: 1.5rem;
    font-family: "Bitter", serif;
    font-size: clamp(2.5rem, 5vw, 4.75rem);
    line-height: 1.05;
}

.hero-description {
    max-width: 700px;
    margin: 0 auto 2rem;
    font-size: 1.125rem;
    line-height: 1.7;
}

.hero-actions {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    gap: 1rem;
}

.hero-image-wrapper {
    width: 100%;
    overflow: hidden;
    border-radius: 1.5rem 1.5rem 0 0;
}


.hero-collage {
    position: relative;
    width: 100%;
    height: 100%;
    overflow: hidden;
}

.hero-image {
    display: block;
    width: 100%;
    border-radius: 8px;
}

@media (max-width: 991.98px) {
    .hero-section {
        text-align: center;
    }

        .hero-section .d-flex {
            justify-content: center;
        }

    .hero-collage {
        max-width: 720px;
        margin-inline: auto;
    }

    .hero-image {
        transform: none;
        width: 100%;
        aspect-ratio: 16 / 9;
    }
}

@media (max-width: 575.98px) {
    .hero-image {
        aspect-ratio: auto;
        object-fit: contain;
        transform: none;
        width: 100%;
        height: auto;
        border-radius: 0px;
    }
}

.placeholder-large {
    box-shadow: 0 2rem 5rem rgba(31, 42, 36, 0.15);
    height: 520px;
    margin-left: auto;
    width: 82%;
}

.placeholder-small {
    box-shadow: 0 1rem 2.5rem rgba(31, 42, 36, 0.14);
    height: 170px;
    min-height: 170px;
    position: absolute;
    width: 230px;
}

    .placeholder-small.top {
        left: 0;
        top: 2rem;
    }

    .placeholder-small.bottom {
        bottom: 1.5rem;
        right: 1rem;
    }

.square {
    aspect-ratio: 1 / 1;
    min-height: auto;
}

.landscape {
    aspect-ratio: 4 / 3;
    min-height: auto;
}

.category-card {
    background: #fff;
    border: 1px solid rgba(31, 42, 36, 0.08);
    border-radius: var(--tcf-radius);
    box-shadow: 0 0.75rem 2rem rgba(31, 42, 36, 0.05);
    color: var(--tcf-ink);
    display: block;
    height: 100%;
    padding: 2rem 1.25rem;
    text-align: center;
    text-decoration: none;
    transition: transform 180ms ease, box-shadow 180ms ease;
}

    .category-card:hover {
        box-shadow: 0 1.5rem 3rem rgba(31, 42, 36, 0.11);
        color: var(--tcf-ink);
        transform: translateY(-6px);
    }

    .category-card h3 {
        font-size: 1.05rem;
        font-weight: 800;
        margin: 0;
    }

.category-icon {
    align-items: center;
    background: var(--tcf-soft);
    border-radius: 999px;
    color: var(--tcf-primary-dark);
    display: inline-flex;
    font-size: 1.75rem;
    height: 4rem;
    justify-content: center;
    margin-bottom: 1.25rem;
    width: 4rem;
}

.feature-panel {
    background: #fff;
    border: 1px solid rgba(31, 42, 36, 0.08);
    border-radius: var(--tcf-radius);
    box-shadow: 0 1rem 3rem rgba(31, 42, 36, 0.06);
    padding: 2rem;
}

.accent-panel {
    background: var(--tcf-primary-dark);
    color: #fff;
}

    .accent-panel .eyebrow,
    .accent-panel p {
        color: rgba(255, 255, 255, 0.78);
    }

.link-arrow {
    font-weight: 800;
    text-decoration: none;
}

    .link-arrow::after {
        content: " →";
    }

.mini-card {
    background: #fff;
    border: 1px solid rgba(31, 42, 36, 0.08);
    border-radius: 1.25rem;
    height: 100%;
    padding: 1.25rem;
}

    .mini-card strong {
        display: block;
        margin-bottom: 0.3rem;
    }

    .mini-card span {
        color: var(--tcf-muted);
        display: block;
        font-size: 0.95rem;
    }









.course-cta {
    background: radial-gradient(circle at top right, var(--tcf-primary), transparent 24rem), linear-gradient(135deg, #1B071E, var(--tcf-primary-dark));
}

.course-image {
    aspect-ratio: 4 / 5;
    background: linear-gradient(135deg, rgba(255,255,255,0.25), rgba(159, 212, 177, 0.7)), repeating-linear-gradient(45deg, rgba(255,255,255,0.15) 0 12px, rgba(255,255,255,0.26) 12px 24px);
    min-height: auto;
}

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

    .check-list li {
        margin-bottom: 0.8rem;
        padding-left: 1.75rem;
        position: relative;
    }

        .check-list li::before {
            color: var(--tcf-primary);
            content: "✓";
            font-weight: 900;
            left: 0;
            position: absolute;
        }





.testimonial-card figcaption strong,
.testimonial-card figcaption span {
    display: block;
}

.testimonial-card figcaption span {
    color: var(--tcf-muted);
    font-size: 0.95rem;
}

.logo-box {
    align-items: center;
    background: #fff;
    border: 1px solid rgba(31, 42, 36, 0.08);
    border-radius: 1rem;
    color: var(--tcf-muted);
    display: flex;
    font-weight: 800;
    height: 72px;
    justify-content: center;
}

.article-card {
    border: 1px solid rgba(31, 42, 36, 0.08);
    border-radius: var(--tcf-radius);
    box-shadow: 0 1rem 3rem rgba(31, 42, 36, 0.06);
    height: 100%;
    overflow: hidden;
}

.article-img {
    border-radius: 0;
    min-height: 230px;
}

.newsletter-section {
    background: radial-gradient(circle at bottom left, var(--tcf-gradient-point), transparent 34rem), linear-gradient(180deg, var(--tcf-soft) 0%, #fff 100%);
    position: relative;
    border-top: 1px solid rgba(91, 59, 96, 0.08);
}

.newsletter-form {
    background: #fff;
    border: 1px solid rgba(31, 42, 36, 0.08);
    border-radius: var(--tcf-radius);
    box-shadow: 0 1rem 3rem rgba(31, 42, 36, 0.08);
    padding: 2rem;
}

.form-control {
    border-radius: 1rem;
}

    .form-control:focus {
        border-color: var(--tcf-primary-dark);
        box-shadow: 0 0 0 0.25rem rgba(79, 141, 102, 0.18);
    }

.accordion {
    --bs-accordion-border-color: rgba(31, 42, 36, 0.08);
    --bs-accordion-border-radius: 1.25rem;
    --bs-accordion-inner-border-radius: 1.25rem;
    --bs-accordion-active-bg: var(--tcf-soft);
    --bs-accordion-active-color: var(--tcf-primary-dark);
    --bs-accordion-btn-focus-box-shadow: 0 0 0 0.25rem rgba(79, 141, 102, 0.18);
}

.accordion-item {
    margin-bottom: 0.5rem;
    overflow: hidden;
}



.footer-section {
    color: #fff;
    font-weight: 500 !important;
    background: var(--tcf-primary-dark);
    border-top: 1px solid rgba(31, 42, 36, 0.08);
    padding: 5rem 0 2rem;
}

    .footer-section a {
        color: #fff !important;
        font-weight: 600 !important;
    }


.footer-heading {
    font-size: 0.95rem;
    font-weight: 900;
    letter-spacing: 0.08em;
    margin-bottom: 1rem;
    text-transform: uppercase;
}

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

    .footer-links li {
        margin-bottom: 0.5rem;
    }

    .footer-links a,
    .footer-section a {
        color: var(--tcf-muted);
        text-decoration: none;
    }

        .footer-links a:hover,
        .footer-section a:hover {
            color: var(--tcf-primary-dark);
        }

@media (max-width: 991.98px) {
    .mega-menu {
        box-shadow: none;
        min-width: 100%;
    }

    .hero-collage {
        min-height: 430px;
    }

    .placeholder-large {
        height: 390px;
        width: 88%;
    }

    .placeholder-small {
        height: 140px;
        min-height: 140px;
        width: 190px;
    }
}

@media (max-width: 575.98px) {
    .hero-section {
        padding-top: 0rem;
    }

    .section-padding {
        padding: 1.5rem 0;
    }

    .brand-text {
        display: none;
    }

    .newsletter-section {
        text-align: center;
    }

    .hero-collage {
        min-height: 100px;
    }

    .placeholder-large {
        height: 320px;
        width: 100%;
    }

    .placeholder-small {
        display: none;
    }

    .feature-panel,
    .benefit-card,
    .testimonial-card,
    .newsletter-form {
        padding: 1.5rem;
    }
}

@media (max-width: 991.98px) {
    .hero-image-col {
        order: 1;
    }

    .hero-copy-col {
        order: 2;
    }
}

.hero-copy-col {
}

    .hero-copy-col .lead {
        max-width: 500px;
    }

.category-card.course-card {
    background: #fff;
    border: 0;
    box-shadow: 0 0.5rem 1.5rem rgba(61, 40, 58, 0.07);
    border-radius: var(--tcf-radius);
    color: var(--tcf-ink);
    display: flex;
    flex-direction: column;
    height: 100%;
    overflow: hidden;
    padding: 0;
    text-align: center;
    text-decoration: none;
    transition: transform 180ms ease, box-shadow 180ms ease;
}

    .category-card.course-card:hover {
        box-shadow: 0 1.5rem 3rem rgba(31, 42, 36, 0.11);
        color: var(--tcf-ink);
        transform: translateY(-6px);
    }

.course-card-image-wrap {
    width: 100%;
    overflow: hidden;
}

.course-card-image {
    display: block;
    width: 100%;
    height: 190px;
    object-fit: cover;
    border-top-left-radius: var(--tcf-radius);
    border-top-right-radius: var(--tcf-radius);
}

.course-card-body {
    padding: 1.5rem 1.25rem 1.75rem;
    display: flex;
    flex-direction: column;
    flex: 1;
}

    .course-card-body h3 {
        font-size: 1.1rem;
        font-weight: 600 !important;
        margin-bottom: 0.75rem;
        color: var(--tcf-ink);
    }

    .course-card-body p {
        font-size: 0.95rem;
        line-height: 1.55;
        margin-bottom: 0;
        color: var(--tcf-muted);
    }

.parallax-section {
    min-height: 460px;
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
    background-attachment: fixed;
}

.parallax-one {
    background-image: url("../img/px1.avif");
}

.parallax-two {
    background-image: url("../img/px2.avif");
}

.founder-image-wrap {
    width: 100%;
    aspect-ratio: 1 / 1;
    border-radius: var(--tcf-radius);
    overflow: hidden;
    background: var(--tcf-soft);
}

.founder-image {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center top;
}

.ebook-cta {
    background: radial-gradient(circle at bottom left, var(--tcf-gradient-point), transparent 34rem), linear-gradient(180deg, var(--tcf-soft) 0%, #fff 100%);
    color: var(--tcf-ink);
}

.ebook-image-wrap {
    align-items: center;
    display: flex;
    justify-content: center;
    min-height: 520px;
    overflow: hidden;
    padding: 2rem;
}

.ebook-image {
    display: block;
    max-width: 100%;
    max-height: 460px;
    object-fit: contain;
    filter: drop-shadow(0px 10px 10px #999999CC);
}

.course-photo-wrap {
    aspect-ratio: 4 / 5;
    border-radius: var(--tcf-radius);
    box-shadow: 0 1.5rem 4rem rgba(0, 0, 0, 0.25);
    overflow: hidden;
    width: 100%;
}

.course-photo {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}


.foundation-course-section {
    margin-top: 0;
}

.foundation-course-description {
    max-width: 850px;
}





@media (max-width: 575.98px) {

    .foundation-course-section {
        text-align: center;
    }

    .foundation-check-list {
        max-width: 100%;
    }
}

.benefit-card {
    position: relative;
    overflow: hidden;
    background: radial-gradient(circle at top right, #fff, transparent 12rem), linear-gradient(180deg, #fff 0%, #fff 100%);
    border: 1px solid rgba(106, 63, 108, 0.10);
    border-radius: var(--tcf-radius);
    box-shadow: 0 1rem 3rem rgba(31, 42, 36, 0.06);
    height: 100%;
    padding: 2.4rem 1.6rem 2rem;
    text-align: center;
    transition: transform 180ms ease, box-shadow 180ms ease, border-color 180ms ease;
}

    .benefit-card::before {
        content: "";
        position: absolute;
        inset: 0 0 auto 0;
        height: 0.35rem;
        background: linear-gradient(90deg, var(--tcf-primary-dark), var(--tcf-primary));
    }

    .benefit-card:hover {
        transform: translateY(-5px);
        border-color: rgba(106, 63, 108, 0.18);
        box-shadow: 0 1.5rem 4rem rgba(31, 42, 36, 0.11);
    }

.benefit-icon {
    align-items: center;
    justify-content: center;
    display: inline-flex;
    width: 5rem;
    height: 5rem;
    margin: 0 auto 1.35rem;
    border-radius: 999px;
    color: #fff;
    font-size: 1.65rem;
    background: radial-gradient(circle at top left, rgba(255, 255, 255, 0.22), transparent 6rem), linear-gradient(135deg, var(--tcf-primary-dark), var(--tcf-primary));
}

.benefit-card h3 {
    margin-bottom: 0.75rem;
    color: var(--tcf-ink);
    font-size: 1.2rem;
    font-weight: 550 !important;
    letter-spacing: -0.02em;
    line-height: 1.25;
}

.benefit-card p {
    margin: 0;
    color: var(--tcf-muted);
    font-size: 0.98rem;
    line-height: 1.65;
}

.lms-section {
    background: radial-gradient(circle at bottom left, var(--tcf-gradient-point), transparent 34rem), linear-gradient(180deg, var(--tcf-soft) 0%, #fff 100%);
}

.lms-image-wrap {
    width: 100%;
    aspect-ratio: 4 / 3;
    border-radius: var(--tcf-radius);
    box-shadow: 0 1.5rem 4rem rgba(31, 42, 36, 0.12);
    overflow: hidden;
    background: #fff;
}

.lms-image {
    display: block;
    width: 100%;
    object-fit: cover;
    object-position: center;
}

.lms-check-list {
    margin: 0;
}

    .lms-check-list li {
        color: var(--tcf-ink);
        font-weight: 650;
        margin-bottom: 1rem;
    }

        .lms-check-list li::before {
            color: var(--tcf-primary-dark);
        }

.founder-section {
    background: linear-gradient( 180deg, #f7f3f5 0%, #ffffff 5rem );
    position: relative;
    overflow: hidden;
}



    .founder-section .container {
        position: relative;
        z-index: 1;
    }

.founder-copy {
    max-width: 760px;
}

    .founder-copy .lead {
        color: var(--tcf-ink);
        font-size: 1.35rem;
        font-weight: 700;
        margin-bottom: 1.5rem;
    }

    .founder-copy p {
        color: var(--tcf-muted);
        font-size: 1.05rem;
        line-height: 1.8;
        margin-bottom: 1.25rem;
    }


@media (max-width: 991.98px) {
    .founder-section {
        text-align: center;
    }

    .founder-copy {
        margin-inline: auto;
    }

    .founder-avatar-wrap {
        margin-inline: auto;
    }
}

@media (max-width: 575.98px) {
    .founder-copy .lead {
        font-size: 1.2rem;
    }

    .founder-copy p {
        font-size: 1rem;
    }

    .founder-avatar-wrap {
        width: min(100%, 320px);
    }
}

.founder-section::before {
    content: "";
    position: absolute;
    top: 50%;
    right: -10rem;
    width: 32rem;
    height: 32rem;
    border-radius: 999px;
    background: rgba(159, 212, 177, 0.18);
    transform: translateY(-50%);
    pointer-events: none;
    display: none;
}



.founder-avatar-wrap {
    width: min(100%, 330px);
    aspect-ratio: 1;
    object-fit: cover;
    border-radius: 50%;
    object-position: center 25%;
    position: relative;
    overflow: hidden;
    border: 6px solid rgba(106, 63, 108, 0.08);
    box-shadow: 0 1rem 2.5rem rgba(61, 40, 58, 0.08);
    background: var(--tcf-soft);
}

    .founder-avatar-wrap::before {
        content: "";
        position: absolute;
        inset: 1rem;
        border-radius: 999px;
        z-index: 2;
        pointer-events: none;
    }

.founder-avatar {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center top;
}

.founder-signature {
    display: block;
    width: 100%;
    height: auto;
    margin-inline: auto;
}

.founder-media {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1.25rem;
    width: 100%;
}

.founder-signature-wrap {
    display: block;
    margin-top: 0.65rem;
    text-align: center;
    width: min(100%, 370px);
    margin-inline: auto;
}

.article-image-wrap {
    width: 100%;
    height: 240px;
    overflow: hidden;
    background: var(--tcf-soft);
}

.article-image {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}

.accordion-button {
    font-weight: 500 !important;
}

.h5 {
    font-size: 1.1rem;
}

.dropdown-menu {
    padding: 10px;
}

.dropdown-item {
    border-radius: 0.7rem;
    padding: 0.45rem 0.65rem;
    font-weight: 600 !important;
}

.footer-socials {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    margin-top: 1.5rem;
}

.footer-social-link {
    align-items: center;
    background: #fff;
    border: 1px solid rgba(31, 42, 36, 0.08);
    border-radius: 999px;
    color: var(--tcf-primary-dark);
    display: inline-flex;
    font-size: 1.1rem;
    height: 2.75rem;
    justify-content: center;
    text-decoration: none;
    transition: transform 180ms ease, box-shadow 180ms ease, background-color 180ms ease, color 180ms ease;
    width: 2.75rem;
}

    .footer-social-link i {
        line-height: 1;
        color: var(--tcf-primary-dark) !important;
    }

    .footer-social-link:hover,
    .footer-social-link:focus {
        color: #fff !important;
        box-shadow: 0 0.75rem 1.75rem rgba(31, 42, 36, 0.14);
        transform: translateY(-3px);
    }



.foundation-courses-section {
    background: radial-gradient(circle at top right, var(--tcf-gradient-point), transparent 34rem), linear-gradient(180deg, #fff 0%, var(--tcf-soft) 100%);
}

.foundation-course-card {
    background: #fff;
    border: 1px solid rgba(31, 42, 36, 0.08);
    border-radius: var(--tcf-radius);
    box-shadow: 0 1rem 3rem rgba(31, 42, 36, 0.06);
    display: grid;
    grid-template-columns: 1fr 1fr;
    height: 100%;
    min-height: 390px;
    overflow: hidden;
    transition: transform 180ms ease, box-shadow 180ms ease;
}

    .foundation-course-card:hover {
        box-shadow: 0 1.5rem 4rem rgba(31, 42, 36, 0.12);
        transform: translateY(-4px);
    }

.foundation-course-content {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    padding: 2rem;
}

    .foundation-course-content h3 {
        color: var(--tcf-ink);
        font-size: 1.45rem;
        font-weight: 850;
        letter-spacing: -0.03em;
        margin-bottom: 1.25rem;
    }

.foundation-course-list {
    margin-bottom: 1.5rem;
}

    .foundation-course-list li {
        color: var(--tcf-muted);
        font-size: 0.95rem;
        line-height: 1.55;
        margin-bottom: 0.85rem;
        padding-left: 1.6rem;
    }

        .foundation-course-list li::before {
            color: var(--tcf-primary-dark);
        }

.foundation-course-content .btn {
    margin-top: auto;
}

.foundation-course-image-wrap {
    min-height: 100%;
    overflow: hidden;
}

.foundation-course-image {
    display: block;
    width: 100%;
    height: 100%;
    min-height: 390px;
    object-fit: cover;
    object-position: center;
    transition: transform 260ms ease;
}

.foundation-course-card:hover .foundation-course-image {
    transform: scale(1.04);
}

.testimonial-card {
    height: 100%;
    margin: 0;
    padding: 0 2.25rem;
}

    .testimonial-card::before {
        content: "“";
        display: block;
        height: 2.4rem;
        margin-bottom: 0.45rem;
        font-family: Georgia, "Times New Roman", serif;
        font-size: 5rem;
        line-height: 1;
        color: rgba(106, 63, 108, 0.38);
    }

    .testimonial-card blockquote {
        margin: 0;
        font-size: 1.05rem;
        line-height: 1.55;
        font-weight: 500;
        margin-bottom: 1rem;
    }

.testimonials-row > [class*="col-"] {
    position: relative;
}

    .testimonials-row > [class*="col-"]:not(:first-child)::before {
        content: "";
        position: absolute;
        left: 0;
        top: 1.25rem;
        bottom: 0.5rem;
        width: 1px;
        background: rgba(91, 59, 96, 0.14);
    }

.testimonial-rating {
    color: var(--tcf-primary-light);
    gap: 0.25rem;
    margin-bottom: 1.25rem;
    font-size: 0.85rem;
    letter-spacing: 0.12rem;
}

.testimonial-name {
    font-weight: 600;
}

.testimonial-role {
    color: #6c6469;
    font-size: 0.9rem;
}

.testimonial-card blockquote {
    color: var(--tcf-ink);
    font-size: 1.1rem;
    line-height: 1.6;
    font-weight: 500;
    margin-bottom: 1.5rem;
}

.testimonial-person {
    align-items: center;
    display: flex;
    gap: 0.9rem;
    margin-top: auto;
}

.testimonial-avatar {
    align-items: center;
    background: var(--tcf-primary-light);
    border-radius: 999px;
    color: #fff;
    display: inline-flex;
    flex: 0 0 auto;
    font-size: 1.1rem;
    font-weight: 800;
    height: 3.25rem;
    justify-content: center;
    line-height: 1;
    width: 3.25rem;
}

.testimonial-person strong,
.testimonial-person span {
    display: block;
}

.testimonial-person strong {
    color: var(--tcf-ink);
    font-weight: 800;
}

.testimonial-person span {
    color: var(--tcf-muted);
    font-size: 0.95rem;
}


.course-row-list {
    display: flex;
    flex-direction: column;
    gap: 2rem;
}

.course-row-card {
    background: #fff;
    border: 1px solid rgba(31, 42, 36, 0.08);
    border-radius: var(--tcf-radius);
    box-shadow: 0 1rem 3rem rgba(31, 42, 36, 0.06);
    display: grid;
    grid-template-columns: minmax(320px, 42%) 1fr;
    overflow: hidden;
    transition: transform 180ms ease, box-shadow 180ms ease;
}


    .course-row-card:hover {
        box-shadow: 0 1.5rem 4rem rgba(31, 42, 36, 0.12);
        transform: translateY(-4px);
    }


.course-row-content {
    padding: clamp(2rem, 4vw, 3rem);
}

.course-row-kicker {
    color: var(--tcf-primary-dark);
    font-size: 0.78rem;
    font-weight: 850;
    letter-spacing: 0.14em;
    margin-bottom: 0.75rem;
    text-transform: uppercase;
}

.course-row-content h3 {
    color: var(--tcf-ink);
    font-size: clamp(1.7rem, 3vw, 2.4rem);
    font-weight: 850;
    letter-spacing: -0.02rem;
    line-height: 1.15;
    margin-bottom: 1rem;
}

.course-row-subtitle {
    color: var(--tcf-ink);
    font-size: 1.15rem;
    font-weight: 700;
    line-height: 1.55;
    margin-bottom: 1.25rem;
}

.course-row-content p:not(.course-row-kicker):not(.course-row-subtitle) {
    color: var(--tcf-muted);
    margin-bottom: 1rem;
}

.course-row-checks {
    margin-top: 1.25rem;
    margin-bottom: 0;
}



    .course-row-checks li::before {
        color: var(--tcf-primary-dark);
    }

.course-row-image-wrap {
    min-height: 100%;
    overflow: hidden;
}

.course-row-image {
    display: block;
    width: 100%;
    height: 100%;
    min-height: 520px;
    object-fit: cover;
    object-position: center;
    transition: transform 260ms ease;
    filter: saturate(0.92) contrast(0.96);
}

.course-row-card:hover .course-row-image {
    transform: scale(1.04);
}

.course-row-card-featured {
    background: radial-gradient(circle at top right, rgba(255, 255, 255, 0.16), transparent 26rem), linear-gradient(135deg, var(--tcf-primary-dark), var(--tcf-primary));
    border: 0;
    color: #fff;
}

    .course-row-card-featured .course-row-kicker,
    .course-row-card-featured h3,
    .course-row-card-featured .course-row-subtitle,
    .course-row-card-featured p,
    .course-row-card-featured .course-row-checks li {
        color: #fff;
    }

        .course-row-card-featured .course-row-checks li::before {
            color: #fff;
        }

    .course-row-card-featured .course-row-content p:not(.course-row-kicker):not(.course-row-subtitle) {
        color: rgba(255, 255, 255, 0.92);
        line-height: 1.65;
    }

@media (max-width: 991.98px) {
    .course-row-card,
    .course-row-card-reverse {
        grid-template-columns: 1fr;
    }

        .course-row-card-reverse .course-row-image-wrap,
        .course-row-card-reverse .course-row-content {
            order: initial;
        }

    .course-row-image-wrap {
        order: -1;
    }

    .course-row-image {
        height: 320px;
        min-height: 320px;
    }
}

@media (max-width: 575.98px) {
    .course-row-list {
        gap: 1.5rem;
    }

    .course-row-content {
        padding: 1.5rem;
    }

    .course-row-subtitle {
        font-size: 1.05rem;
    }

    .course-row-image {
        height: 240px;
        min-height: 240px;
    }
}



.course-row-checks li {
    color: var(--tcf-muted);
    font-size: 0.98rem;
    line-height: 1.55;
    margin-bottom: 0.8rem;
    padding-left: 1.65rem;
    font-weight: 650;
}



.calculator-page-section {
    background: #faf7fb;
}

.calculator-card {
    background: #fff;
    border: 1px solid rgba(31, 42, 36, 0.08);
    border-radius: var(--tcf-radius);
    box-shadow: 0 1rem 3rem rgba(31, 42, 36, 0.06);
    margin-bottom: 2rem;
    padding: clamp(1.5rem, 4vw, 3rem);
}

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

.calculator-card-header {
    align-items: flex-start;
    display: flex;
    gap: 1.25rem;
    margin-bottom: 2rem;
}

.calculator-icon {
    align-items: center;
    background: rgba(106, 63, 108, 0.1);
    border-radius: 999px;
    color: var(--tcf-primary-dark);
    display: inline-flex;
    flex: 0 0 auto;
    font-size: 1.8rem;
    height: 4.75rem;
    justify-content: center;
    width: 4.75rem;
}

.calculator-kicker {
    color: var(--tcf-primary-dark);
    font-size: 0.78rem;
    font-weight: 850;
    letter-spacing: 0.14em;
    margin-bottom: 0.4rem;
    text-transform: uppercase;
}

.calculator-card h2 {
    color: var(--tcf-ink);
    letter-spacing: -0.02em;
    margin-bottom: 0.75rem;
}

.calculator-card-header p:last-child {
    color: var(--tcf-muted);
    margin-bottom: 0;
    max-width: 820px;
}

.calculator-table-wrap {
    border: 1px solid rgba(31, 42, 36, 0.08);
    border-radius: 0.35rem;
    overflow: hidden;
}

.calculator-table {
    margin-bottom: 0;
}

    .calculator-table thead th {
        background: #faf7fb;
        color: var(--tcf-ink);
        font-size: 0.82rem;
        font-weight: 850;
        letter-spacing: 0.08em;
        text-transform: uppercase;
        white-space: nowrap;
    }

    .calculator-table td,
    .calculator-table th {
        padding: 0.85rem;
        vertical-align: middle;
    }

    .calculator-table input {
        min-width: 110px;
    }

.calculator-remove-row {
    align-items: center;
    background: transparent;
    border: 0;
    border-radius: 999px;
    color: var(--tcf-muted);
    display: inline-flex;
    height: 2rem;
    justify-content: center;
    width: 2rem;
}

    .calculator-remove-row:hover {
        background: rgba(106, 63, 108, 0.1);
        color: var(--tcf-primary-dark);
    }

.calculator-result-grid {
    display: grid;
    gap: 1rem;
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.calculator-result {
    background: #faf7fb;
    border: 1px solid rgba(31, 42, 36, 0.08);
    border-radius: 0.25rem;
    padding: 1.25rem;
}

    .calculator-result span {
        color: var(--tcf-muted);
        display: block;
        font-size: 0.85rem;
        font-weight: 700;
        margin-bottom: 0.35rem;
    }

    .calculator-result strong {
        color: var(--tcf-primary-dark);
        display: block;
        font-size: 1.45rem;
        font-weight: 850;
    }

.calculator-result-wide {
    margin-top: 1rem;
}

@media (max-width: 991.98px) {
    .calculator-result-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 575.98px) {
    .calculator-card-header {
        flex-direction: column;
    }

    .calculator-icon {
        height: 4rem;
        width: 4rem;
        font-size: 1.5rem;
    }
}

.calculator-anchor-bar {
    background: rgba(255, 255, 255, 0.92);
    border-bottom: 1px solid rgba(31, 42, 36, 0.08);
    box-shadow: 0 0.75rem 2rem rgba(31, 42, 36, 0.05);
    padding: 1rem 0;
    position: sticky;
    top: 56px;
    z-index: 1010;
    backdrop-filter: blur(12px);
}

.calculator-anchor-scroll {
    display: flex;
    gap: 0.75rem;
    justify-content: center;
    overflow-x: auto;
    padding-bottom: 0.15rem;
    scrollbar-width: thin;
}

.calculator-anchor-btn {
    align-items: center;
    background: var(--tcf-primary-dark);
    border: 1px solid var(--tcf-primary-dark);
    border-radius: 999px;
    color: #fff;
    display: inline-flex;
    flex: 0 0 auto;
    font-size: 0.95rem;
    font-weight: 750;
    gap: 0.5rem;
    justify-content: center;
    line-height: 1;
    padding: 0.9rem 1.25rem;
    text-decoration: none;
    transition: transform 180ms ease, box-shadow 180ms ease, background-color 180ms ease, border-color 180ms ease;
    white-space: nowrap;
}

    .calculator-anchor-btn:hover,
    .calculator-anchor-btn:focus {
        background: var(--tcf-primary);
        border-color: var(--tcf-primary);
        color: #fff;
    }

    .calculator-anchor-btn i {
        font-size: 1rem;
        line-height: 1;
    }

@media (max-width: 991.98px) {
    .calculator-anchor-bar {
        top: 64px;
    }

    .calculator-anchor-scroll {
        justify-content: flex-start;
    }

    .calculator-anchor-btn {
        font-size: 0.9rem;
        padding: 0.85rem 1rem;
    }

    #cost-of-formula,
    #percentage-to-weight,
    #batch-scaling,
    #unit-conversion {
        scroll-margin-top: 150px;
    }
}

#cost-of-formula,
#percentage-to-weight,
#batch-scaling,
#unit-conversion,
#usage-rate-calculator {
    scroll-margin-top: 160px;
}

.usage-result-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.usage-breakdown {
    background: #faf7fb;
    border: 1px solid rgba(31, 42, 36, 0.08);
    border-radius: 1.25rem;
    padding: 1.5rem;
}

    .usage-breakdown h3 {
        color: var(--tcf-ink);
        font-size: 1.1rem;
        font-weight: 850;
        margin-bottom: 1rem;
    }

.usage-breakdown-row {
    align-items: center;
    border-bottom: 1px solid rgba(31, 42, 36, 0.08);
    display: flex;
    justify-content: space-between;
    gap: 1rem;
    padding: 0.85rem 0;
}

    .usage-breakdown-row:first-of-type {
        padding-top: 0;
    }

    .usage-breakdown-row:last-child {
        border-bottom: 0;
        padding-bottom: 0;
    }

    .usage-breakdown-row span {
        color: var(--tcf-muted);
    }

    .usage-breakdown-row strong {
        color: var(--tcf-ink);
        font-weight: 850;
    }

.usage-breakdown-total {
    margin-top: 0.35rem;
}

    .usage-breakdown-total span,
    .usage-breakdown-total strong {
        color: var(--tcf-primary-dark);
        font-size: 1.05rem;
    }

.calculator-note {
    background: rgba(106, 63, 108, 0.08);
    border-left: 4px solid var(--tcf-primary-dark);
    border-radius: 1rem;
    color: var(--tcf-muted);
    line-height: 1.65;
    padding: 1rem 1.25rem;
}

    .calculator-note strong {
        color: var(--tcf-ink);
    }

@media (max-width: 991.98px) {
    .usage-result-grid {
        grid-template-columns: 1fr;
    }
}

.calculator-hero {
    background: radial-gradient(circle at top right, rgba(106, 63, 108, 0.20), transparent 34rem), linear-gradient(180deg, #fff 0%, #faf7fb 100%);
    overflow: hidden;
}

    .calculator-hero .container {
        position: relative;
        z-index: 1;
    }

    .calculator-hero .display-4 {
        letter-spacing: -0.02em;
    }

    .calculator-hero .lead {
        max-width: 620px;
    }

.calculator-hero-image-wrap {
    width: 100%;
    aspect-ratio: 4 / 5;
    border-radius: var(--tcf-radius);
    overflow: hidden;
    background: #fff;
    box-shadow: 0 1.5rem 4rem rgba(31, 42, 36, 0.12);
}

.calculator-hero-image {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}

@media (max-width: 991.98px) {
    .calculator-hero {
        text-align: center;
    }

        .calculator-hero .lead {
            margin-inline: auto;
        }

    .calculator-hero-image-wrap {
        max-width: 520px;
        margin-inline: auto;
    }

    .calculator-hero .d-flex {
        justify-content: center;
    }
}

@media (max-width: 575.98px) {
    .calculator-hero-image-wrap {
        aspect-ratio: 4 / 5;
    }
}

.contact-hero {
    background: radial-gradient(circle at top left, rgba(106, 63, 108, 0.20), transparent 34rem), linear-gradient(180deg, #fff 0%, #faf7fb 100%);
    overflow: hidden;
}

    .contact-hero .display-4 {
        letter-spacing: -0.05em;
    }

    .contact-hero .lead {
        max-width: 640px;
    }

.contact-hero-image-wrap {
    width: 100%;
    aspect-ratio: 4 / 5;
    border-radius: var(--tcf-radius);
    overflow: hidden;
    background: #fff;
    box-shadow: 0 1.5rem 4rem rgba(31, 42, 36, 0.12);
}

.contact-hero-image {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}

/* Contact help points */

.contact-help-list {
    display: grid;
    gap: 1.1rem;
    margin-top: 2rem;
}

.contact-help-item {
    align-items: flex-start;
    display: flex;
    gap: 1rem;
}

.contact-help-icon {
    align-items: center;
    background: rgba(106, 63, 108, 0.10);
    border-radius: 999px;
    color: var(--tcf-primary-dark);
    display: inline-flex;
    flex: 0 0 auto;
    font-size: 1.2rem;
    height: 3.25rem;
    justify-content: center;
    width: 3.25rem;
}



.contact-help-item p {
    color: var(--tcf-muted);
    margin-bottom: 0;
}

/* Form section */

.contact-form-section {
    background: #faf7fb;
}

.contact-form-card {
    background: #fff;
    border: 1px solid rgba(31, 42, 36, 0.08);
    border-radius: var(--tcf-radius);
    box-shadow: 0 1rem 3rem rgba(31, 42, 36, 0.06);
    padding: clamp(1.5rem, 4vw, 3rem);
}

.contact-character-count {
    color: var(--tcf-muted);
    font-size: 0.9rem;
    font-weight: 700;
}

.contact-form-notice {
    background: rgba(106, 63, 108, 0.08);
    border-left: 4px solid var(--tcf-primary-dark);
    border-radius: 1rem;
    color: var(--tcf-ink);
    padding: 1rem 1.25rem;
}

#contact-form-section {
    scroll-margin-top: 140px;
}

@media (max-width: 991.98px) {
    .contact-hero {
        text-align: center;
    }

        .contact-hero .lead {
            margin-inline: auto;
        }

    .contact-hero-image-wrap {
        max-width: 520px;
        margin-inline: auto;
    }

    .contact-help-item {
        text-align: left;
    }

    .contact-hero .btn {
        margin-inline: auto;
    }
}

@media (max-width: 575.98px) {
    .contact-help-item {
        flex-direction: column;
        align-items: center;
        text-align: center;
    }

    .contact-form-card {
        padding: 1.5rem;
    }
}

.contact-help-item h2 {
    color: var(--tcf-ink);
    font-size: 1.05rem;
    margin-bottom: 0.25rem;
    font-weight: 600 !important;
    letter-spacing: -0.02em;
}

.ebook-hero {
    background: radial-gradient(circle at top right, rgba(106, 63, 108, 0.18), transparent 34rem), linear-gradient(180deg, #fff 0%, #faf7fb 100%);
    overflow: hidden;
}

    .ebook-hero .display-4 {
        letter-spacing: -0.05em;
    }

.ebook-hero-image-wrap {
    width: 100%;
    max-width: 500px;
    margin-left: auto;
    aspect-ratio: 3 / 4;
    border-radius: var(--tcf-radius);
    overflow: hidden;
    background: #fff;
    box-shadow: 0 1.5rem 4rem rgba(31, 42, 36, 0.12);
}

.ebook-hero-image {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* Highlights */
.ebook-highlights-section {
    background: #fff;
}

.ebook-highlight-card {
    background: #fff;
    border: 1px solid rgba(31, 42, 36, 0.08);
    border-radius: var(--tcf-radius);
    box-shadow: 0 1rem 3rem rgba(31, 42, 36, 0.06);
    height: 100%;
    padding: 2rem 1.5rem;
    text-align: center;
}

.ebook-highlight-icon {
    align-items: center;
    background: rgba(106, 63, 108, 0.1);
    border-radius: 999px;
    color: var(--tcf-primary-dark);
    display: inline-flex;
    font-size: 1.5rem;
    height: 4.5rem;
    justify-content: center;
    margin: 0 auto 1.25rem;
    width: 4.5rem;
}

.ebook-highlight-card h2 {
    font-size: 1.2rem;
    font-weight: 500 !important;
    margin-bottom: 0.65rem;
}

.ebook-highlight-card p {
    color: var(--tcf-muted);
    margin: 0;
}

/* Supporting image section */
.ebook-benefits-section {
    background: #faf7fb;
}

.ebook-support-image-wrap {
    width: 100%;
    aspect-ratio: 4 / 5;
    border-radius: var(--tcf-radius);
    overflow: hidden;
    background: #fff;
    box-shadow: 0 1.5rem 4rem rgba(31, 42, 36, 0.10);
}

.ebook-support-image {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.ebook-check-list li {
    color: var(--tcf-muted);
    font-weight: 650;
    margin-bottom: 1rem;
}

    .ebook-check-list li::before {
        color: var(--tcf-primary-dark);
    }

/* Products section */
.ebook-products-section {
    background: #fff;
}

.ebook-product-card {
    background: #fff;
    border: 1px solid rgba(31, 42, 36, 0.08);
    border-radius: var(--tcf-radius);
    box-shadow: 0 1rem 3rem rgba(31, 42, 36, 0.06);
    height: 100%;
    overflow: hidden;
    transition: transform 180ms ease, box-shadow 180ms ease;
}

    .ebook-product-card:hover {
        box-shadow: 0 1.5rem 4rem rgba(31, 42, 36, 0.12);
        transform: translateY(-4px);
    }

.ebook-product-image-wrap {
    width: 100%;
    height: 260px;
    overflow: hidden;
    background: #faf7fb;
}

.ebook-product-image {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    transition: transform 260ms ease;
}

.ebook-product-card:hover .ebook-product-image {
    transform: scale(1.04);
}

.ebook-product-body {
    padding: 1.5rem;
    text-align: center;
}

    .ebook-product-body h3 {
        color: var(--tcf-ink);
        font-size: 1.15rem;
        font-weight: 500 !important;
        margin-bottom: 0.65rem;
        letter-spacing: -0.02em;
    }

    .ebook-product-body p {
        color: var(--tcf-muted);
        line-height: 1.6;
        margin: 0;
    }

/* Story section */
.ebook-story-section {
    background: radial-gradient(circle at bottom left, var(--tcf-gradient-point), transparent 34rem), linear-gradient(180deg, var(--tcf-soft) 0%, #fff 100%);
}

/* Purchase section */
.ebook-purchase-section {
    background: radial-gradient(circle at top right, rgba(255,255,255,0.12), transparent 26rem), linear-gradient(135deg, var(--tcf-primary-dark), var(--tcf-primary));
}

.ebook-price {
    color: #fff;
    font-size: 2.5rem;
    font-weight: 850;
    letter-spacing: -0.04em;
}

@media (max-width: 991.98px) {
    .ebook-hero {
        text-align: center;
    }

    .ebook-hero-image-wrap {
        margin-inline: auto;
    }
}

@media (max-width: 575.98px) {
    .ebook-hero-image-wrap {
        max-width: 360px;
    }
}

.ebook-open-image-wrap {
    width: 100%;
    border-radius: var(--tcf-radius);
    overflow: hidden;
}

.ebook-open-image {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}

@media (max-width: 575.98px) {
    .ebook-open-image-wrap {
        aspect-ratio: 4 / 3;
    }
}

.foundation-hero {
    background: radial-gradient(circle at top right, rgba(106, 63, 108, 0.18), transparent 34rem), linear-gradient(180deg, #fff 0%, #faf7fb 100%);
    overflow: hidden;
}

    .foundation-hero .display-4 {
        letter-spacing: -0.05em;
    }

.foundation-hero-image-wrap {
    width: 100%;
    max-width: 560px;
    margin-left: auto;
    aspect-ratio: 4 / 5;
    border-radius: var(--tcf-radius);
    overflow: hidden;
    background: #fff;
    box-shadow: 0 1.5rem 4rem rgba(31, 42, 36, 0.12);
}

.foundation-hero-image {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* Highlights */

.foundation-highlights-section {
    background: #fff;
}

.foundation-highlight-card {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    background: radial-gradient(circle at top right, #fff, transparent 12rem), linear-gradient(180deg, #fff 0%, #fff 100%);
    border: 1px solid rgba(106, 63, 108, 0.10);
    border-radius: var(--tcf-radius);
    box-shadow: 0 1rem 3rem rgba(31, 42, 36, 0.06);
    height: 100%;
    padding: 2.4rem 1.6rem 2rem;
    text-align: center;
    transition: transform 180ms ease, box-shadow 180ms ease, border-color 180ms ease;
}

    .foundation-highlight-card::before {
        content: "";
        position: absolute;
        inset: 0 0 auto 0;
        height: 0.35rem;
        background: linear-gradient(90deg, var(--tcf-primary-dark), var(--tcf-primary));
        z-index: 1;
    }

    .foundation-highlight-card::after {
        content: attr(data-step);
        position: absolute;
        top: 1.1rem;
        right: 1.25rem;
        color: rgba(106, 63, 108, 0.12);
        font-size: 3rem;
        font-weight: 900;
        letter-spacing: -0.08em;
        line-height: 1;
        z-index: -1;
    }

    .foundation-highlight-card:hover {
        border-color: rgba(106, 63, 108, 0.18);
        box-shadow: 0 1.5rem 4rem rgba(31, 42, 36, 0.11);
        transform: translateY(-5px);
    }

.foundation-highlight-icon {
    align-items: center;
    background: radial-gradient(circle at top left, rgba(255, 255, 255, 0.22), transparent 6rem), linear-gradient(135deg, var(--tcf-primary-dark), var(--tcf-primary));
    border-radius: 999px;
    color: #fff;
    display: inline-flex;
    font-size: 1.55rem;
    height: 4.8rem;
    justify-content: center;
    margin: 0 auto 1.4rem;
    width: 4.8rem;
}

.foundation-highlight-card h3 {
    color: var(--tcf-ink);
    font-size: 1.18rem;
    font-weight: 550 !important;
    letter-spacing: -0.025em;
    margin-bottom: 0.75rem;
}

.foundation-highlight-card p {
    color: var(--tcf-muted);
    font-size: 0.98rem;
    line-height: 1.65;
    margin: 0;
}

/* Not recipes */

.foundation-not-recipes-section {
    background: #faf7fb;
}

.foundation-info-panel {
    background: #fff;
    border: 1px solid rgba(31, 42, 36, 0.08);
    border-radius: var(--tcf-radius);
    box-shadow: 0 1rem 3rem rgba(31, 42, 36, 0.06);
    padding: clamp(1.5rem, 4vw, 2.5rem);
}

    .foundation-info-panel h3 {
        color: var(--tcf-ink);
        font-size: 1.35rem;
        font-weight: 850;
        letter-spacing: -0.03em;
        margin-bottom: 1.5rem;
    }

/* Shared checklist */

.foundation-check-list {
    max-width: 520px;
    margin-inline: auto;
    margin-bottom: 0;
}

    .foundation-check-list li {
        color: var(--tcf-muted);
        font-weight: 650;
        line-height: 1.6;
        margin-bottom: 0.9rem;
    }

        .foundation-check-list li::before {
            color: var(--tcf-primary-dark);
        }

/* Fit cards */

.foundation-fit-section {
    background: #fff;
}

.foundation-fit-card {
    border-radius: var(--tcf-radius);
    height: 100%;
    padding: clamp(1.5rem, 4vw, 2.5rem);
}

.foundation-fit-card-positive {
    background: #faf7fb;
    border: 1px solid rgba(106, 63, 108, 0.12);
}

.foundation-fit-card-negative {
    background: #fff;
    border: 1px solid rgba(31, 42, 36, 0.08);
}

.foundation-fit-card-header {
    align-items: center;
    display: flex;
    gap: 1rem;
    margin-bottom: 1.5rem;
}

.foundation-fit-icon {
    align-items: center;
    background: rgba(106, 63, 108, 0.1);
    border-radius: 999px;
    color: var(--tcf-primary-dark);
    display: inline-flex;
    flex: 0 0 auto;
    font-size: 1.35rem;
    height: 3.75rem;
    justify-content: center;
    width: 3.75rem;
}

.foundation-fit-card h3 {
    font-size: 1.45rem;
    font-weight: 850;
    letter-spacing: -0.03em;
    margin: 0;
}

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

    .foundation-cross-list li {
        color: var(--tcf-muted);
        font-weight: 650;
        line-height: 1.6;
        margin-bottom: 0.9rem;
        padding-left: 1.75rem;
        position: relative;
    }

        .foundation-cross-list li::before {
            color: var(--tcf-primary-dark);
            content: "×";
            font-size: 1.25rem;
            font-weight: 900;
            left: 0;
            line-height: 1;
            position: absolute;
            top: 0.15rem;
        }

/* Water section */

.foundation-water-section {
    background: radial-gradient(circle at top right, rgba(106, 63, 108, 0.10), transparent 30rem), linear-gradient(180deg, #faf7fb 0%, #fff 100%);
}

.foundation-mini-card {
    background: #fff;
    border: 1px solid rgba(31, 42, 36, 0.08);
    border-radius: var(--tcf-radius);
    box-shadow: 0 1rem 3rem rgba(31, 42, 36, 0.05);
    height: 100%;
    padding: 1.5rem;
    text-align: center;
}

    .foundation-mini-card i {
        color: var(--tcf-primary-dark);
        font-size: 2rem;
        margin-bottom: 1rem;
    }

    .foundation-mini-card h3 {
        font-size: 1.15rem;
        font-weight: 500 !important;
        margin-bottom: 0.65rem;
    }

    .foundation-mini-card p {
        color: var(--tcf-muted);
        margin: 0;
    }

/* Modules */

.foundation-learn-section {
    background: #fff;
}

.foundation-module-card {
    background: #faf7fb;
    border: 1px solid rgba(31, 42, 36, 0.08);
    border-radius: var(--tcf-radius);
    height: 100%;
    padding: clamp(1.5rem, 4vw, 2rem);
}

.foundation-module-number {
    color: rgba(106, 63, 108, 0.18);
    display: block;
    font-size: 3.5rem;
    font-weight: 900;
    line-height: 1;
    margin-bottom: 1rem;
}

.foundation-module-card h3 {
    color: var(--tcf-ink);
    font-size: 1.45rem;
    font-weight: 500 !important;
    letter-spacing: -0.02em;
    margin-bottom: 1rem;
}

.foundation-module-card p {
    color: var(--tcf-muted);
    margin-bottom: 1.25rem;
}

/* Delivery */

.foundation-delivery-section {
    background: #faf7fb;
}

.foundation-dashboard-card {
    background: #fff;
    border: 1px solid rgba(31, 42, 36, 0.08);
    border-radius: var(--tcf-radius);
    box-shadow: 0 1rem 3rem rgba(31, 42, 36, 0.06);
    padding: clamp(1.5rem, 4vw, 2.5rem);
    text-align: center;
}

.foundation-dashboard-icon {
    align-items: center;
    background: rgba(106, 63, 108, 0.1);
    border-radius: 999px;
    color: var(--tcf-primary-dark);
    display: inline-flex;
    font-size: 1.8rem;
    height: 4.5rem;
    justify-content: center;
    margin-bottom: 1.25rem;
    width: 4.5rem;
}

.foundation-dashboard-card h3 {
    font-size: 1.45rem;
    font-weight: 500 !important;
    letter-spacing: -0.02em !important;
}

.foundation-dashboard-card p {
    color: var(--tcf-muted);
}

.foundation-dashboard-placeholder {
    align-items: center;
    aspect-ratio: 16 / 10;
    background: linear-gradient(135deg, rgba(106, 63, 108, 0.12), rgba(250, 247, 251, 0.95));
    border: 1px solid rgba(31, 42, 36, 0.08);
    border-radius: 1.25rem;
    color: var(--tcf-primary-dark);
    display: flex;
    font-weight: 850;
    justify-content: center;
    margin-top: 1.5rem;
}

/* Outcomes */

.foundation-outcomes-section {
    background: #fff;
}

.foundation-outcomes-panel {
    background: #faf7fb;
    border: 1px solid rgba(31, 42, 36, 0.08);
    border-radius: var(--tcf-radius);
    padding: clamp(1.5rem, 4vw, 2.5rem);
}

/* Purchase */

.foundation-purchase-section {
    background: radial-gradient(circle at top right, rgba(255,255,255,0.12), transparent 26rem), linear-gradient(135deg, var(--tcf-primary-dark), var(--tcf-primary));
}

.foundation-price {
    color: #fff;
    font-size: 2.5rem;
    font-weight: 850;
    letter-spacing: -0.04em;
}

/* Responsive */

@media (max-width: 991.98px) {
    .foundation-hero {
        text-align: center;
    }

    .foundation-hero-image-wrap {
        margin-inline: auto;
    }

    .foundation-hero .d-flex {
        justify-content: center;
    }
}

@media (max-width: 575.98px) {
    .foundation-hero-image-wrap {
        max-width: 360px;
    }

    .foundation-fit-card-header {
        align-items: flex-start;
    }

    .foundation-module-number {
        font-size: 3rem;
    }

    .foundation-not-recipes-section {
        text-align: center;
    }

    .foundation-module-card {
        text-align: center;
    }

    .diploma-certificate-card {
        text-align: center;
    }

    .diploma-comparison-card {
        text-align: center;
    }
}

.foundation-highlight-card h3 {
    font-size: 1.2rem;
    margin-bottom: 0.65rem;
    font-weight: 500 !important;
}

.foundation-dashboard-image-wrap {
    width: 100%;
    aspect-ratio: 4 / 3;
    border: 1px solid rgba(31, 42, 36, 0.08);
    border-radius: 1.25rem;
    margin-top: 1.5rem;
    overflow: hidden;
    background: #fff;
    box-shadow: 0 0.75rem 2rem rgba(31, 42, 36, 0.06);
}

.foundation-dashboard-image {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}

.site-logo {
    display: inline-flex;
    align-items: center;
    padding: 0;
    margin: 0;
}

.site-logo-img {
    display: block;
    width: auto;
    height: 24px;
    max-width: 220px;
}

.hero-logo {
    display: block;
    width: auto;
    height: 58px;
    max-width: 260px;
    margin-top: 10px;
}

.footer-logo {
    display: inline-flex;
    align-items: center;
    text-decoration: none;
}

.navbar-nav .nav-item {
    font-size: 1.05rem;
}

.footer-logo-img {
    display: block;
    width: auto;
    height: 58px;
    max-width: 260px;
}

.navbar .dropdown-toggle::after {
    content: "";
    display: inline-block;
    width: 0.45rem;
    height: 0.45rem;
    margin-left: 0.45rem;
    vertical-align: 0.15rem;
    border: 0;
    border-right: 2px solid currentColor;
    border-bottom: 2px solid currentColor;
    transform: rotate(45deg);
    transition: transform 0.2s ease;
}

.navbar .dropdown-toggle.show::after,
.navbar .dropdown-toggle[aria-expanded="true"]::after {
    transform: rotate(225deg);
    vertical-align: -0.05rem;
}

@media (min-width: 992px) {
    .navbar-expand-lg .navbar-nav .nav-link {
        padding-right: 10px;
        padding-left: 10px;
    }
}

.btn-primary {
    --bs-btn-bg: var(--tcf-primary-dark);
    --bs-btn-border-color: var(--tcf-primary-dark);
    --bs-btn-hover-bg: var(--tcf-primary);
    --bs-btn-hover-border-color: var(--tcf-primary);
    --bs-btn-active-bg: var(--tcf-primary-dark);
    --bs-btn-active-border-color: var(--tcf-primary-dark);
    --bs-btn-focus-shadow-rgb: 106, 63, 108;
    color: #fff;
    font-weight: 600;
    letter-spacing: 0.04em;
    border-radius: 0.2rem;
    transition: background-color 0.2s ease, border-color 0.2s ease, transform 0.2s ease, box-shadow 0.2s ease;
}

    .btn-primary:hover {
        color: #fff;
        transform: translateY(-1px);
        box-shadow: 0 0.45rem 1rem rgba(67, 39, 69, 0.18);
    }

    .btn-primary:active {
        color: #fff;
        transform: translateY(0);
        box-shadow: none;
    }

.hero-actions {
    align-items: center;
}

.btn-secondary-outline {
    background: transparent;
    border: 2px solid var(--tcf-primary-dark);
    color: var(--tcf-primary-dark);
    font-weight: 800;
}

    .btn-secondary-outline:hover,
    .btn-secondary-outline:focus {
        background: var(--tcf-primary-dark);
        border-color: var(--tcf-primary-dark);
        color: #fff;
    }

@media (max-width: 575.98px) {
    .hero-actions {
        width: 100%;
    }

        .hero-actions .btn {
            width: 100%;
        }
}

.hero-section .btn-primary {
    padding: 0.9rem 0.15rem;
    min-width: 170px;
    line-height: 1.2;
    text-transform: uppercase;
    letter-spacing: 0.1em;
}

.hero-section .btn-secondary {
    padding: 0.1rem 1.15rem;
    min-width: 170px;
    line-height: 1.2;
    text-transform: uppercase;
    letter-spacing: 0.1em;
}


.navbar .btn-primary {
    padding: 0.5rem 1.35rem;
    font-size: 0.9rem;
    letter-spacing: 0.06em;
}

.text-muted {
    color: #4f494d !important;
}



.tcf-parallax-section::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -1;
    pointer-events: none;
}

.tcf-parallax-learn {
    background-image: url("../img/px1.avif");
    background-position: 58% center;
}

    .tcf-parallax-learn::before {
        content: "";
        position: absolute;
        inset: 0;
        content: "";
        position: absolute;
        inset: 0;
        background: radial-gradient( ellipse at 21% 50%, rgba(35, 24, 36, 0.22) 0%, rgba(35, 24, 36, 0.08) 35%, transparent 62% ), linear-gradient( 90deg, rgba(43, 30, 44, 0.48) 0%, rgba(43, 30, 44, 0.32) 32%, rgba(43, 30, 44, 0.10) 60%, rgba(43, 30, 44, 0.02) 100% );
    }

.tcf-parallax-products {
    background-image: url("../img/px2.avif");
    background-position: center;
    background-position: 48% center;
}

    .tcf-parallax-products::before {
        background: radial-gradient( ellipse at 79% 50%, rgba(35, 24, 36, 0.22) 0%, rgba(35, 24, 36, 0.08) 35%, transparent 62% ), linear-gradient( 270deg, rgba(43, 30, 44, 0.48) 0%, rgba(43, 30, 44, 0.32) 32%, rgba(43, 30, 44, 0.10) 60%, rgba(43, 30, 44, 0.02) 100% );
    }



.tcf-parallax-content-right {
    text-align: left;
    width: 100%;
    max-width: 520px;
    margin-left: auto;
}

@media (min-width: 1200px) {
    .tcf-parallax-content-right {
        transform: translateX(6.5rem);
    }
}

.tcf-parallax-kicker {
    position: relative;
    display: inline-flex;
    align-items: center;
    gap: 0.75rem;
    color: rgba(255, 255, 255, 0.84);
    font-size: 0.8rem;
    font-weight: 850;
    letter-spacing: 0.14em;
    margin-bottom: 1rem;
    text-transform: uppercase;
}

@media (max-width: 991.98px) {
    .tcf-parallax-section {
        min-height: 430px;
        background-attachment: scroll;
    }

    .tcf-parallax-content {
        max-width: 100%;
        padding: 4rem 0;
        text-align: center;
    }

        .tcf-parallax-content p:not(.tcf-parallax-kicker) {
            margin-inline: auto;
        }

    .tcf-parallax-kicker::before {
        display: none;
    }

    .tcf-parallax-learn::before,
    .tcf-parallax-products::before {
        background: rgba(36, 21, 38, 0.68);
    }
}

@media (max-width: 575.98px) {
    .tcf-parallax-section {
        min-height: 420px;
    }

    .tcf-parallax-content {
        padding: 3.5rem 0;
    }
}



.tcf-parallax-content {
    color: #fff;
    max-width: 580px;
    padding: 4rem 0;
    opacity: 1;
}

    .tcf-parallax-content .btn-light {
        background: rgba(255, 255, 255, 0.94);
        border-color: rgba(255, 255, 255, 0.94);
        color: var(--tcf-primary-dark);
        padding: 0.45rem 1.75rem;
        font-size: 1.15rem;
        font-weight: 600 !important;
    }

    .tcf-parallax-content h2 {
        color: #fff;
        font-size: clamp(2rem, 3.4vw, 3.35rem);
        font-weight: 400;
        letter-spacing: -0.02em;
        line-height: 1.08;
        margin-bottom: 1.25rem;
    }

    .tcf-parallax-content p:not(.tcf-parallax-kicker) {
        color: rgba(255, 255, 255, 0.84);
        margin-bottom: 2rem;
        font-size: 1.05rem;
        line-height: 1.65;
        max-width: 560px;
    }

tcf-parallax-content .btn {
    background: #fff;
    border-color: #fff;
    color: var(--tcf-primary-dark);
    font-size: 0.85rem;
    font-weight: 850;
    letter-spacing: 0.04em;
    padding: 0.9rem 2rem;
    text-transform: uppercase;
}

.tcf-parallax-content .btn:hover,
.tcf-parallax-content .btn:focus {
    background: var(--tcf-primary);
    border-color: var(--tcf-primary);
    color: #fff;
}

.tcf-parallax-section {
    min-height: 400px;
    display: flex;
    align-items: center;
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center;
    background-attachment: fixed;
    position: relative;
    overflow: hidden;
    isolation: isolate;
    margin-top: 0;
}

section + .tcf-parallax-section {
    margin-top: 0;
}

.section-reviews {
    background: radial-gradient( circle at top left, rgba(106, 63, 108, 0.06), transparent 28rem ), #f8f4f7;
}

.section-articles {
    background: radial-gradient( circle at 92% 8%, rgba(106, 63, 108, 0.045), transparent 26rem ), #fff;
    padding: 5rem 0 6rem;
    border-top: 1px solid rgba(91, 59, 96, 0.08);
}

    .section-articles::before {
        content: "";
        position: absolute;
        top: 0;
        left: 50%;
        width: 4rem;
        height: 3px;
        transform: translateX(-50%);
        background: var(--tcf-primary);
    }

/* ==========================================================
   ARTICLES SECTION
   ========================================================== */

.site-articles {
    position: relative;
    overflow: hidden;
    padding: 6rem 0;
    background: radial-gradient( circle at 92% 8%, rgba(106, 63, 108, 0.055), transparent 28rem ), linear-gradient( 180deg, #ffffff 0%, #fbf8fa 100% );
    border-top: 1px solid rgba(91, 59, 96, 0.08);
}

    /* Small central detail to emphasise the start of a new section */
    .site-articles::before {
        content: "";
        position: absolute;
        top: 0;
        left: 50%;
        width: 4rem;
        height: 3px;
        background: var(--tcf-primary);
        transform: translateX(-50%);
    }


/* ==========================================================
   SECTION HEADER
   ========================================================== */

.site-articles__header {
    max-width: 48rem;
    margin: 0 auto 3.5rem;
    text-align: center;
}

.site-articles__eyebrow {
    display: block;
    margin-bottom: 0.8rem;
    color: var(--tcf-primary);
    font-size: 0.75rem;
    font-weight: 600;
    line-height: 1.2;
    letter-spacing: 0.14em;
    text-transform: uppercase;
}

.site-articles__heading {
    margin-bottom: 1rem;
    color: #181518;
    font-size: clamp(2.25rem, 3.5vw, 3.25rem);
    font-weight: 400;
    line-height: 1.12;
}

.site-articles__intro {
    max-width: 43rem;
    margin: 0 auto;
    color: #5c555a;
    font-size: 1rem;
    line-height: 1.65;
}


.site-article {
    height: 100%;
}

.site-article__image-link {
    position: relative;
    display: block;
    overflow: hidden;
    background: #f0eaee;
    border-radius: 0.35rem;
    text-decoration: none;
}

.site-article__image {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.45s ease, filter 0.45s ease;
}

.site-article:hover .site-article__image {
    transform: scale(1.025);
}

.site-article__content {
    padding-top: 1.4rem;
}

.site-article__meta {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.65rem 1rem;
    margin-bottom: 0.7rem;
}

.site-article__category {
    color: var(--tcf-primary);
    font-size: 0.72rem;
    font-weight: 600;
    line-height: 1.2;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

.site-article__reading-time {
    position: relative;
    color: #776f74;
    font-size: 0.8rem;
    line-height: 1.2;
}

    .site-article__reading-time::before {
        content: "";
        display: inline-block;
        width: 3px;
        height: 3px;
        margin-right: 0.7rem;
        vertical-align: 0.18rem;
        background: rgba(91, 59, 96, 0.42);
        border-radius: 50%;
    }

.site-article__title {
    margin-bottom: 0.8rem;
    color: #1e1a1e;
    font-weight: 500;
    line-height: 1.3;
}

    .site-article__title a {
        color: inherit;
        text-decoration: none;
        transition: color 0.2s ease;
    }

        .site-article__title a:hover,
        .site-article__title a:focus-visible {
            color: var(--tcf-primary);
        }

.site-article__excerpt {
    max-width: 43rem;
    margin-bottom: 1.15rem;
    color: #5c555a;
    font-size: 0.95rem;
    line-height: 1.65;
}

.site-article__link {
    display: inline-flex;
    align-items: center;
    gap: 0.55rem;
    color: var(--tcf-primary-dark);
    font-size: 0.8rem;
    font-weight: 600;
    line-height: 1.2;
    letter-spacing: 0.08em;
    text-decoration: none;
    text-transform: uppercase;
}

    .site-article__link span {
        display: inline-block;
        font-size: 1.05rem;
        transition: transform 0.2s ease;
    }

    .site-article__link:hover,
    .site-article__link:focus-visible {
        color: var(--tcf-primary);
    }

        .site-article__link:hover span,
        .site-article__link:focus-visible span {
            transform: translateX(0.25rem);
        }


.site-article--featured {
    display: flex;
    flex-direction: column;
}

    .site-article--featured .site-article__image-link {
        aspect-ratio: 16 / 9;
    }

    .site-article--featured .site-article__title {
        max-width: 42rem;
        font-size: clamp(1.6rem, 2.2vw, 2.15rem);
    }

.site-articles__secondary {
    display: grid;
    height: 100%;
    gap: 2rem;
}

.site-article--compact {
    display: grid;
    grid-template-columns: minmax(0, 0.95fr) minmax(0, 1.15fr);
    align-items: center;
    gap: 1.5rem;
    min-height: 0;
}

    .site-article--compact + .site-article--compact {
        padding-top: 2rem;
        border-top: 1px solid rgba(91, 59, 96, 0.1);
    }

    .site-article--compact .site-article__image-link {
        height: 100%;
        min-height: 13rem;
    }

    .site-article--compact .site-article__content {
        padding-top: 0;
    }

    .site-article--compact .site-article__meta {
        display: block;
    }

    .site-article--compact .site-article__reading-time {
        display: block;
        margin-top: 0.4rem;
    }

        .site-article--compact .site-article__reading-time::before {
            display: none;
        }

    .site-article--compact .site-article__title {
        margin-bottom: 1rem;
        font-size: 1.12rem;
        font-weight: 500 !important;
        line-height: 1.3;
    }

.site-articles__footer {
    margin-top: 2.5rem;
    text-align: center;
}

.site-articles__button {
    padding: 0.9rem 1.75rem;
    min-width: 180px;
    font-size: 0.78rem;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

@media (max-width: 1199.98px) {

    .site-article--compact {
        grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);
        gap: 1.25rem;
    }

        .site-article--compact .site-article__image-link {
            min-height: 11.5rem;
        }

        .site-article--compact .site-article__title {
            font-size: 1.05rem;
        }
}


@media (max-width: 991.98px) {

    .site-articles {
        padding: 5rem 0;
    }

    .site-articles__header {
        margin-bottom: 3rem;
    }

    .site-articles__secondary {
        margin-top: 0.5rem;
    }

    .site-article--compact {
        grid-template-columns: minmax(0, 0.85fr) minmax(0, 1.15fr);
    }

        .site-article--compact .site-article__image-link {
            min-height: 12rem;
        }
}


@media (max-width: 767.98px) {

    .site-articles {
        padding: 4.25rem 0;
    }

    .site-articles__header {
        margin-bottom: 2.5rem;
    }

    .site-articles__heading {
        font-size: 2.25rem;
    }

    .site-articles__intro {
        font-size: 0.95rem;
    }

    .site-article--featured .site-article__image-link {
        aspect-ratio: 4 / 3;
    }

    .site-article--featured .site-article__title {
        font-size: 1.55rem;
    }

    .site-article--compact {
        display: block;
    }

        .site-article--compact .site-article__image-link {
            min-height: 0;
            aspect-ratio: 16 / 10;
        }

        .site-article--compact .site-article__content {
            padding-top: 1.25rem;
        }

        .site-article--compact + .site-article--compact {
            padding-top: 2rem;
        }

    .site-articles__footer {
        margin-top: 3rem;
    }
}


@media (max-width: 575.98px) {

    .site-articles {
        padding: 3.75rem 0 4rem;
    }

    .site-articles__heading {
        font-size: 2rem;
    }

    .site-article__meta {
        display: block;
    }

    .site-article__reading-time {
        color: #6a6267;
        display: block;
        margin-top: 0.4rem;
    }

        .site-article__reading-time::before {
            display: none;
        }
}

.accordion {
    width: 100%;
}

.accordion-button {
    padding: 1.15rem 1.35rem;
    font-size: 0.98rem;
    font-weight: 500;
}

.accordion-body {
    padding: 1.2rem 1.5rem 0.5rem;
    line-height: 1.65;
}

.accordion-button:not(.collapsed) {
    color: var(--tcf-primary-dark);
    background: #e8dee5;
    box-shadow: none;
    border-left: 3px solid var(--tcf-primary);
}

.accordion-item:first-of-type > .accordion-header .accordion-button {
    border-radius: 0 !important;
}

.accordion-item:first-of-type {
    border-radius: 0 !important;
}

.newsletter-copy {
    max-width: 34rem;
    font-size: 1rem;
    line-height: 1.65;
    color: #5c555a;
}

.newsletter-note {
    margin-top: 1rem;
    color: var(--tcf-primary-dark);
    font-size: 0.95rem;
    font-weight: 600;
}

.footer-section {
    padding: 5rem 0 2rem;
    color: rgba(255, 255, 255, 0.86);
    background: var(--tcf-primary-dark);
    border-top: 1px solid rgba(255, 255, 255, 0.08);
}


/* Brand column */

.footer-brand {
    display: inline-block;
    margin-bottom: 1rem;
}

.footer-logo {
    display: block;
    width: 72px;
    height: auto;
}

.footer-tagline {
    max-width: 15rem;
    margin-bottom: 1.1rem;
    color: #fff;
    font-size: 0.95rem;
    font-weight: 500;
    line-height: 1.5;
}

.footer-description {
    max-width: 18rem;
    margin-bottom: 0;
    color: rgba(255, 255, 255, 0.76);
    font-size: 0.9rem;
    font-weight: 400;
    line-height: 1.65;
}


/* Headings */

.footer-heading {
    margin-bottom: 1.15rem;
    color: rgba(255, 255, 255, 0.82);
    font-size: 0.78rem;
    font-weight: 600;
    line-height: 1.2;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}


/* General footer links */

.footer-section a {
    color: rgba(255, 255, 255, 0.9);
    text-decoration: none;
    transition: color 180ms ease, opacity 180ms ease;
}

    .footer-section a:hover,
    .footer-section a:focus-visible {
        color: #fff;
    }


/* Navigation links */

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

    .footer-links li {
        margin-bottom: 0.55rem;
    }

    .footer-links a {
        display: inline-block;
        color: rgba(255, 255, 255, 0.84);
        font-size: 0.9rem;
        font-weight: 500;
        line-height: 1.45;
    }

        .footer-links a:hover,
        .footer-links a:focus-visible {
            color: #fff;
            transform: translateX(2px);
        }


/* Contact */

.footer-contact-copy {
    margin-bottom: 0.2rem;
    color: rgba(255, 255, 255, 0.82);
    font-size: 0.9rem;
}

.footer-email {
    display: inline-block;
    color: #fff;
    font-size: 0.95rem;
    font-weight: 600;
}

    .footer-email:hover,
    .footer-email:focus-visible {
        text-decoration: underline;
        text-underline-offset: 0.2em;
    }


/* Social icons */

.footer-socials {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 0.75rem;
    margin-top: 1.5rem;
}

.footer-social-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2.65rem;
    height: 2.65rem;
    color: var(--tcf-primary-dark) !important;
    background: #fff;
    border: 1px solid rgba(255, 255, 255, 0.75);
    border-radius: 50%;
    font-size: 1rem;
    transition: transform 180ms ease, box-shadow 180ms ease, background-color 180ms ease, color 180ms ease;
}

    .footer-social-link:hover,
    .footer-social-link:focus-visible {
        color: #fff !important;
        border-color: rgba(255, 255, 255, 0.65);
        box-shadow: 0 0.75rem 1.75rem rgba(31, 20, 32, 0.18);
        transform: translateY(-3px);
    }

    .footer-social-link i {
        color: currentColor;
        line-height: 1;
    }


/* Divider and bottom row */

.footer-divider {
    margin: 4rem 0 1.75rem;
    border: 0;
    border-top: 1px solid rgba(255, 255, 255, 0.14);
    opacity: 1;
}

.footer-bottom {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1.5rem;
    font-size: 0.8rem;
}

.footer-copyright {
    margin: 0;
    color: rgba(255, 255, 255, 0.72);
}

.footer-legal {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 1.25rem;
}

    .footer-legal a {
        color: rgba(255, 255, 255, 0.76);
        font-weight: 500;
    }

        .footer-legal a:hover,
        .footer-legal a:focus-visible {
            color: #fff;
        }


/* Responsive */

@media (max-width: 991.98px) {
    .footer-section {
        padding-top: 4rem;
    }

    .footer-divider {
        margin-top: 3rem;
    }
}

@media (max-width: 767.98px) {
    .footer-section {
        padding: 3.5rem 0 1.75rem;
    }

    .footer-description {
        max-width: 30rem;
    }

    .footer-bottom {
        flex-direction: column;
        align-items: flex-start;
    }
}

@media (max-width: 575.98px) {
    .footer-legal {
        gap: 0.9rem 1.1rem;
    }
}

.free-course-section {
    position: relative;
    overflow: hidden;
    background: radial-gradient(circle at top left, rgba(255, 255, 255, 0.12), transparent 28rem), radial-gradient(circle at bottom right, rgba(255, 255, 255, 0.08), transparent 24rem), linear-gradient(135deg, #5B3B60 0%, #6A3F6C 55%, #7A4B7D 100%);
    color: #fff;
}

    .free-course-section .section-title,
    .free-course-section .lead,
    .free-course-section .text-muted,
    .free-course-section p,
    .free-course-section h2 {
        color: #fff !important;
    }

    .free-course-section .eyebrow {
        color: rgba(255, 255, 255, 0.78);
    }

    .free-course-section .lead {
        color: rgba(255, 255, 255, 0.88) !important;
    }

    .free-course-section .text-muted,
    .free-course-section p:not(.eyebrow):not(.lead) {
        color: rgba(255, 255, 255, 0.76) !important;
    }

.free-course-image-wrap {
    width: 100%;
    aspect-ratio: 4 / 5;
    border-radius: var(--tcf-radius);
    overflow: hidden;
    background: #fff;
    box-shadow: 0 1.5rem 4rem rgba(0, 0, 0, 0.22);
}

.free-course-image {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}

.free-course-check-list {
    margin-bottom: 0;
}

    .free-course-check-list li {
        color: rgba(255, 255, 255, 0.92);
        font-weight: 650;
        line-height: 1.6;
        margin-bottom: 0.9rem;
    }

        .free-course-check-list li::before {
            color: #fff;
        }

.free-course-products {
    display: flex;
    flex-wrap: wrap;
    gap: 0.65rem;
    margin-top: 0.5rem;
}

    .free-course-products span {
        background: rgba(255, 255, 255, 0.12);
        border: 1px solid rgba(255, 255, 255, 0.16);
        border-radius: 999px;
        color: #fff;
        display: inline-flex;
        font-size: 0.9rem;
        font-weight: 700;
        padding: 0.55rem 0.85rem;
        backdrop-filter: blur(6px);
    }

.free-course-section .btn-primary {
    background: #fff;
    border-color: #fff;
    color: var(--tcf-primary-dark);
    font-weight: 800;
}

    .free-course-section .btn-primary:hover,
    .free-course-section .btn-primary:focus {
        background: rgba(255, 255, 255, 0.9);
        border-color: rgba(255, 255, 255, 0.9);
        color: var(--tcf-primary-dark);
    }

@media (max-width: 991.98px) {
    .lms-section {
        text-align: center;
    }

    .lms-check-list {
        text-align: left;
    }
}

@media (max-width: 991.98px) {
    .free-course-section {
        text-align: center;
    }

    .free-course-image-wrap {
        max-width: 520px;
        margin-inline: auto;
    }

    .free-course-check-list {
        text-align: left;
    }

    .free-course-products {
        justify-content: center;
    }
}

@media (max-width: 575.98px) {
    .free-course-image-wrap {
        max-width: 360px;
    }
}

.free-course-mini-title {
    color: rgba(255, 255, 255, 0.9) !important;
    font-size: 0.9rem;
    font-weight: 800;
    letter-spacing: 0.04em;
    margin-bottom: 0.75rem;
}

.free-course-image-wrap {
    position: relative;
    width: 100%;
    aspect-ratio: 4 / 5;
    border-radius: var(--tcf-radius);
    overflow: hidden;
    background: #fff;
    box-shadow: 0 1.5rem 4rem rgba(0, 0, 0, 0.22);
}

.free-course-badge {
    position: absolute;
    top: 1.25rem;
    left: 1.25rem;
    z-index: 2;
    display: inline-flex;
    flex-direction: column;
    align-items: flex-start;
    background: #fff;
    color: var(--tcf-primary-dark);
    border-radius: 1rem;
    padding: 0.8rem 1rem;
    box-shadow: 0 0.75rem 2rem rgba(31, 42, 36, 0.18);
}

    .free-course-badge span {
        font-size: 1.65rem;
        font-weight: 900;
        line-height: 1;
        letter-spacing: -0.04em;
        text-transform: uppercase;
    }

    .free-course-badge strong {
        font-size: 0.72rem;
        font-weight: 850;
        letter-spacing: 0.12em;
        margin-top: 0.3rem;
        text-transform: uppercase;
    }

.diploma-hero {
    background: radial-gradient(circle at top right, rgba(106, 63, 108, 0.20), transparent 34rem), linear-gradient(180deg, #fff 0%, #faf7fb 100%);
    overflow: hidden;
}

    .diploma-hero .display-4 {
        letter-spacing: -0.055em;
    }

.diploma-hero-image-wrap {
    width: 100%;
    max-width: 560px;
    margin-left: auto;
    aspect-ratio: 4 / 5;
    border-radius: var(--tcf-radius);
    overflow: hidden;
    background: #fff;
    box-shadow: 0 1.5rem 4rem rgba(31, 42, 36, 0.12);
}

.diploma-hero-image {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}

/* Highlights */

.diploma-highlights-section {
    background: #fff;
}

.diploma-highlight-card {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    background: radial-gradient(circle at top right, #fff, transparent 12rem), linear-gradient(180deg, #fff 0%, #fff 100%);
    border: 1px solid rgba(106, 63, 108, 0.10);
    border-radius: var(--tcf-radius);
    box-shadow: 0 1rem 3rem rgba(31, 42, 36, 0.06);
    height: 100%;
    padding: 2.4rem 1.6rem 2rem;
    text-align: center;
    transition: transform 180ms ease, box-shadow 180ms ease, border-color 180ms ease;
}

    .diploma-highlight-card::before {
        content: "";
        position: absolute;
        inset: 0 0 auto 0;
        height: 0.35rem;
        background: linear-gradient(90deg, var(--tcf-primary-dark), var(--tcf-primary));
        z-index: 1;
    }

    .diploma-highlight-card::after {
        content: attr(data-step);
        position: absolute;
        top: 1.1rem;
        right: 1.25rem;
        color: rgba(106, 63, 108, 0.12);
        font-size: 3rem;
        font-weight: 900;
        letter-spacing: -0.08em;
        line-height: 1;
        z-index: -1;
    }

    .diploma-highlight-card:hover {
        border-color: rgba(106, 63, 108, 0.18);
        box-shadow: 0 1.5rem 4rem rgba(31, 42, 36, 0.11);
        transform: translateY(-5px);
    }

.diploma-highlight-icon {
    align-items: center;
    background: radial-gradient(circle at top left, rgba(255, 255, 255, 0.22), transparent 6rem), linear-gradient(135deg, var(--tcf-primary-dark), var(--tcf-primary));
    border-radius: 999px;
    color: #fff;
    display: inline-flex;
    font-size: 1.55rem;
    height: 4.8rem;
    justify-content: center;
    margin: 0 auto 1.4rem;
    width: 4.8rem;
}

.diploma-highlight-card h3 {
    color: var(--tcf-ink);
    font-size: 1.18rem;
    font-weight: 550 !important;
    letter-spacing: -0.025em;
    margin-bottom: 0.75rem;
}

.diploma-highlight-card p {
    color: var(--tcf-muted);
    font-size: 0.98rem;
    line-height: 1.65;
    margin: 0;
}


/* Intro */

.diploma-intro-section {
    background: #faf7fb;
}

.diploma-intro-image-wrap {
    width: 100%;
    aspect-ratio: 4 / 5;
    border-radius: var(--tcf-radius);
    overflow: hidden;
    background: #fff;
    box-shadow: 0 1.5rem 4rem rgba(31, 42, 36, 0.10);
}

.diploma-intro-image {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* Shared diploma checklist */

.diploma-check-list {
    margin-bottom: 0;
}

    .diploma-check-list li {
        color: var(--tcf-muted);
        font-weight: 650;
        line-height: 1.6;
        margin-bottom: 0.85rem;
    }

        .diploma-check-list li::before {
            color: var(--tcf-primary-dark);
        }

.diploma-check-list-columns {
    column-count: 2;
    column-gap: 2rem;
}

/* Certificates */

.diploma-certificates-section {
    background: #fff;
}

.diploma-certificate-list {
    display: flex;
    flex-direction: column;
    gap: 1.5rem;
}

.diploma-certificate-card {
    background: #fff;
    border: 1px solid rgba(31, 42, 36, 0.08);
    border-radius: var(--tcf-radius);
    box-shadow: 0 1rem 3rem rgba(31, 42, 36, 0.05);
    display: grid;
    grid-template-columns: 9rem 1fr;
    overflow: hidden;
}

.diploma-certificate-number {
    align-items: center;
    background: radial-gradient(circle at top left, rgba(255, 255, 255, 0.18), transparent 16rem), linear-gradient(135deg, var(--tcf-primary-dark), var(--tcf-primary));
    color: rgba(255, 255, 255, 0.88);
    display: flex;
    font-size: 2.5rem;
    font-weight: 900;
    justify-content: center;
    letter-spacing: -0.06em;
}

.diploma-certificate-content {
    padding: clamp(1.5rem, 4vw, 2.5rem);
}

.diploma-certificate-kicker {
    color: var(--tcf-primary-dark);
    font-size: 0.78rem;
    font-weight: 850;
    letter-spacing: 0.14em;
    margin-bottom: 0.65rem;
    text-transform: uppercase;
}

.diploma-certificate-content h3 {
    color: var(--tcf-ink);
    font-size: clamp(1.45rem, 3vw, 2rem);
    font-weight: 850;
    letter-spacing: -0.02em;
    line-height: 1.18;
    margin-bottom: 1rem;
}

.diploma-certificate-content p:not(.diploma-certificate-kicker) {
    color: var(--tcf-muted);
    margin-bottom: 1.25rem;
}

/* Pathway */

.diploma-pathway-section {
    background: radial-gradient(circle at top right, rgba(106, 63, 108, 0.10), transparent 30rem), linear-gradient(180deg, #faf7fb 0%, #fff 100%);
}

.diploma-pathway {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 1rem;
    position: relative;
}

.diploma-pathway-item {
    background: #fff;
    border: 1px solid rgba(31, 42, 36, 0.08);
    border-radius: var(--tcf-radius);
    box-shadow: 0 1rem 3rem rgba(31, 42, 36, 0.05);
    padding: 1.5rem;
    position: relative;
    text-align: center;
}

    .diploma-pathway-item span {
        align-items: center;
        background: rgba(106, 63, 108, 0.10);
        border-radius: 999px;
        color: var(--tcf-primary-dark);
        display: inline-flex;
        font-weight: 900;
        height: 3rem;
        justify-content: center;
        margin-bottom: 1rem;
        width: 3rem;
    }

    .diploma-pathway-item h3 {
        font-size: 1.05rem;
        font-weight: 550 !important;
        margin-bottom: 0.65rem;
    }

    .diploma-pathway-item p {
        color: var(--tcf-muted);
        font-size: 0.92rem;
        line-height: 1.55;
        margin: 0;
    }

/* Fit */

.diploma-fit-section {
    background: #fff;
}

.diploma-fit-card {
    background: #faf7fb;
    border: 1px solid rgba(31, 42, 36, 0.08);
    border-radius: var(--tcf-radius);
    height: 100%;
    padding: clamp(1.5rem, 4vw, 2.5rem);
}

.diploma-fit-card-dark {
    background: radial-gradient(circle at top right, rgba(255, 255, 255, 0.14), transparent 24rem), linear-gradient(135deg, var(--tcf-primary-dark), var(--tcf-primary));
    color: #fff;
}

.diploma-fit-card-header {
    align-items: center;
    display: flex;
    gap: 1rem;
    margin-bottom: 1.5rem;
}

.diploma-fit-icon {
    align-items: center;
    background: rgba(106, 63, 108, 0.1);
    border-radius: 999px;
    color: var(--tcf-primary-dark);
    display: inline-flex;
    flex: 0 0 auto;
    font-size: 1.35rem;
    height: 3.75rem;
    justify-content: center;
    width: 3.75rem;
}

.diploma-fit-icon-light {
    background: rgba(255, 255, 255, 0.14);
    color: #fff;
}

.diploma-fit-card h3 {
    font-size: 1.45rem;
    font-weight: 850;
    letter-spacing: -0.03em;
    margin: 0;
}

.diploma-fit-card-dark h3,
.diploma-fit-card-dark p,
.diploma-fit-card-dark li {
    color: #fff;
}

.diploma-check-list-light li {
    color: rgba(255, 255, 255, 0.88);
}

    .diploma-check-list-light li::before {
        color: #fff;
    }

/* Comparison */

.diploma-comparison-section {
    background: #faf7fb;
}

.diploma-comparison-card {
    background: #fff;
    border: 1px solid rgba(31, 42, 36, 0.08);
    border-radius: var(--tcf-radius);
    box-shadow: 0 1rem 3rem rgba(31, 42, 36, 0.05);
    height: 100%;
    padding: clamp(1.5rem, 4vw, 2.5rem);
    position: relative;
}

    .diploma-comparison-card h3 {
        color: var(--tcf-ink);
        font-size: 1.6rem;
        font-weight: 850;
        letter-spacing: -0.02em;
        margin-bottom: 1rem;
    }

    .diploma-comparison-card p {
        color: var(--tcf-muted);
        margin-bottom: 1.25rem;
    }

.diploma-comparison-card-featured {
    background: radial-gradient(circle at top right, rgba(255, 255, 255, 0.14), transparent 24rem), linear-gradient(135deg, var(--tcf-primary-dark), var(--tcf-primary));
    border: 0;
    color: #fff;
}

    .diploma-comparison-card-featured h3,
    .diploma-comparison-card-featured p {
        color: #fff;
    }

.diploma-best-value-badge {
    background: #fff;
    border-radius: 999px;
    color: var(--tcf-primary-dark);
    display: inline-flex;
    font-size: 0.75rem;
    font-weight: 850;
    letter-spacing: 0.08em;
    margin-bottom: 1rem;
    padding: 0.5rem 0.8rem;
    text-transform: uppercase;
}

/* Reviews */

.diploma-reviews-section {
    background: radial-gradient(circle at top left, rgba(106, 63, 108, 0.10), transparent 28rem), linear-gradient(180deg, #fff 0%, #faf7fb 100%);
}

.diploma-review-card {
    background: #fff;
    border: 1px solid rgba(31, 42, 36, 0.08);
    border-radius: var(--tcf-radius);
    box-shadow: 0 1rem 3rem rgba(31, 42, 36, 0.06);
    display: flex;
    flex-direction: column;
    height: 100%;
    margin: 0;
    padding: 2rem;
}

.diploma-review-rating {
    color: var(--tcf-primary-dark);
    display: flex;
    gap: 0.25rem;
    font-size: 1rem;
    margin-bottom: 1.25rem;
}

.diploma-review-card blockquote {
    color: var(--tcf-ink);
    font-size: 1.08rem;
    font-weight: 650;
    line-height: 1.65;
    margin-bottom: 1.75rem;
}

.diploma-review-person {
    align-items: center;
    display: flex;
    gap: 0.9rem;
    margin-top: auto;
}

.diploma-review-avatar {
    align-items: center;
    background: var(--tcf-primary-dark);
    border-radius: 999px;
    color: #fff;
    display: inline-flex;
    flex: 0 0 auto;
    font-size: 1.1rem;
    font-weight: 850;
    height: 3.25rem;
    justify-content: center;
    line-height: 1;
    width: 3.25rem;
}

.diploma-review-person strong,
.diploma-review-person span {
    display: block;
}

.diploma-review-person strong {
    color: var(--tcf-ink);
    font-weight: 850;
}

.diploma-review-person span {
    color: var(--tcf-muted);
    font-size: 0.95rem;
}

/* Purchase */

.diploma-purchase-section {
    background: radial-gradient(circle at top right, rgba(255, 255, 255, 0.12), transparent 26rem), linear-gradient(135deg, var(--tcf-primary-dark), var(--tcf-primary));
}

.diploma-price {
    color: #fff;
    font-size: 2.5rem;
    font-weight: 850;
    letter-spacing: -0.04em;
}

/* Responsive */

@media (max-width: 1199.98px) {
    .diploma-pathway {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .diploma-pathway-item:last-child {
        grid-column: 1 / -1;
    }
}

@media (max-width: 991.98px) {
    .diploma-hero {
        text-align: center;
    }

    .diploma-hero-image-wrap,
    .diploma-intro-image-wrap {
        max-width: 520px;
        margin-inline: auto;
    }

    .diploma-hero-actions {
        justify-content: center;
    }

    .diploma-certificate-card {
        grid-template-columns: 1fr;
    }

    .diploma-certificate-number {
        min-height: 5rem;
    }

    .diploma-check-list-columns {
        column-count: 1;
    }
}

@media (max-width: 575.98px) {
    .diploma-hero-image-wrap,
    .diploma-intro-image-wrap {
        max-width: 360px;
    }

    .diploma-highlight-card,
    .diploma-review-card {
        padding: 1.5rem;
    }

    .diploma-pathway {
        grid-template-columns: 1fr;
    }

    .diploma-pathway-item:last-child {
        grid-column: auto;
    }

    .diploma-fit-card-header {
        align-items: flex-start;
    }
}

.free-course-page-hero {
    background: radial-gradient(circle at top right, rgba(106, 63, 108, 0.20), transparent 34rem), linear-gradient(180deg, #fff 0%, #faf7fb 100%);
    overflow: hidden;
}

    .free-course-page-hero .display-4 {
        letter-spacing: -0.055em;
    }

.free-course-badge-inline {
    align-items: center;
    background: rgba(106, 63, 108, 0.08);
    border: 1px solid rgba(106, 63, 108, 0.14);
    border-radius: 999px;
    color: var(--tcf-primary-dark);
    display: inline-flex;
    gap: 0.75rem;
    padding: 0.5rem 0.8rem 0.5rem 0.5rem;
}

    .free-course-badge-inline span {
        align-items: center;
        background: var(--tcf-primary-dark);
        border-radius: 999px;
        color: #fff;
        display: inline-flex;
        font-size: 1.15rem;
        font-weight: 900;
        height: 3rem;
        justify-content: center;
        width: 3rem;
    }

    .free-course-badge-inline strong {
        font-size: 0.82rem;
        font-weight: 850;
        letter-spacing: 0.1em;
        text-transform: uppercase;
    }

.free-course-page-hero-image-wrap {
    position: relative;
    width: 100%;
    max-width: 560px;
    margin-left: auto;
    aspect-ratio: 4 / 5;
    border-radius: var(--tcf-radius);
    overflow: hidden;
    background: #fff;
    box-shadow: 0 1.5rem 4rem rgba(31, 42, 36, 0.12);
}

.free-course-page-hero-image {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.free-course-image-badge {
    position: absolute;
    top: 1.25rem;
    left: 1.25rem;
    z-index: 2;
    display: inline-flex;
    flex-direction: column;
    align-items: flex-start;
    background: #fff;
    color: var(--tcf-primary-dark);
    border-radius: 1rem;
    padding: 0.8rem 1rem;
    box-shadow: 0 0.75rem 2rem rgba(31, 42, 36, 0.18);
}

    .free-course-image-badge span {
        font-size: 1.7rem;
        font-weight: 900;
        line-height: 1;
        letter-spacing: -0.04em;
        text-transform: uppercase;
    }

    .free-course-image-badge strong {
        font-size: 0.72rem;
        font-weight: 850;
        letter-spacing: 0.1em;
        margin-top: 0.3rem;
        text-transform: uppercase;
    }

/* Highlights */

.free-course-page-highlights-section {
    background: #fff;
}

.free-course-page-highlight-card {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    background: radial-gradient(circle at top right, #fff, transparent 12rem), linear-gradient(180deg, #fff 0%, #fff 100%);
    border: 1px solid rgba(106, 63, 108, 0.10);
    border-radius: var(--tcf-radius);
    box-shadow: 0 1rem 3rem rgba(31, 42, 36, 0.06);
    height: 100%;
    padding: 2.4rem 1.6rem 2rem;
    text-align: center;
    transition: transform 180ms ease, box-shadow 180ms ease, border-color 180ms ease;
}

    .free-course-page-highlight-card::before {
        content: "";
        position: absolute;
        inset: 0 0 auto 0;
        height: 0.35rem;
        background: linear-gradient(90deg, var(--tcf-primary-dark), var(--tcf-primary));
        z-index: 1;
    }

    .free-course-page-highlight-card::after {
        content: attr(data-step);
        position: absolute;
        top: 1.1rem;
        right: 1.25rem;
        color: rgba(106, 63, 108, 0.12);
        font-size: 3rem;
        font-weight: 900;
        letter-spacing: -0.08em;
        line-height: 1;
        z-index: -1;
    }

    .free-course-page-highlight-card:hover {
        border-color: rgba(106, 63, 108, 0.18);
        box-shadow: 0 1.5rem 4rem rgba(31, 42, 36, 0.11);
        transform: translateY(-5px);
    }

.free-course-page-highlight-icon {
    align-items: center;
    background: radial-gradient(circle at top left, rgba(255, 255, 255, 0.22), transparent 6rem), linear-gradient(135deg, var(--tcf-primary-dark), var(--tcf-primary));
    border-radius: 999px;
    color: #fff;
    display: inline-flex;
    font-size: 1.55rem;
    height: 4.8rem;
    justify-content: center;
    margin: 0 auto 1.4rem;
    width: 4.8rem;
}

.free-course-page-highlight-card h3 {
    color: var(--tcf-ink);
    font-size: 1.18rem;
    font-weight: 550 !important;
    letter-spacing: -0.025em;
    margin-bottom: 0.75rem;
}

.free-course-page-highlight-card p {
    color: var(--tcf-muted);
    font-size: 0.98rem;
    line-height: 1.65;
    margin: 0;
}

/* Intro */

.free-course-page-intro-section {
    background: #faf7fb;
}

.free-course-page-image-wrap {
    width: 100%;
    aspect-ratio: 4 / 5;
    border-radius: var(--tcf-radius);
    overflow: hidden;
    background: #fff;
    box-shadow: 0 1.5rem 4rem rgba(31, 42, 36, 0.10);
}

.free-course-page-image {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* Shared checklist */

.free-course-page-check-list {
    margin-bottom: 0;
}

    .free-course-page-check-list li {
        color: var(--tcf-muted);
        font-weight: 650;
        line-height: 1.6;
        margin-bottom: 0.85rem;
    }

        .free-course-page-check-list li::before {
            color: var(--tcf-primary-dark);
        }

/* Learn modules */

.free-course-page-learn-section {
    background: #fff;
}

.free-course-page-module-card {
    background: #faf7fb;
    border: 1px solid rgba(31, 42, 36, 0.08);
    border-radius: var(--tcf-radius);
    height: 100%;
    padding: clamp(1.5rem, 4vw, 2rem);
}

.free-course-page-module-number {
    color: rgba(106, 63, 108, 0.18);
    display: block;
    font-size: 3.5rem;
    font-weight: 900;
    line-height: 1;
    margin-bottom: 1rem;
}

.free-course-page-module-card h3 {
    color: var(--tcf-ink);
    font-size: 1.45rem;
    font-weight: 550 !important;
    letter-spacing: -0.03em;
    margin-bottom: 1rem;
}

.free-course-page-module-card p {
    color: var(--tcf-muted);
    margin-bottom: 1.25rem;
}

/* Products */

.free-course-page-products-section {
    background: radial-gradient(circle at top left, rgba(106, 63, 108, 0.10), transparent 30rem), linear-gradient(180deg, #faf7fb 0%, #fff 100%);
}

.free-course-page-product-pills {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
}

    .free-course-page-product-pills span {
        background: rgba(106, 63, 108, 0.08);
        border: 1px solid rgba(106, 63, 108, 0.12);
        border-radius: 999px;
        color: var(--tcf-primary-dark);
        display: inline-flex;
        font-size: 0.92rem;
        font-weight: 750;
        padding: 0.6rem 0.9rem;
    }

/* Fit */

.free-course-page-fit-section {
    background: #fff;
}

.free-course-page-fit-card {
    background: #faf7fb;
    border: 1px solid rgba(31, 42, 36, 0.08);
    border-radius: var(--tcf-radius);
    height: 100%;
    padding: clamp(1.5rem, 4vw, 2.5rem);
}

.free-course-page-fit-card-dark {
    background: radial-gradient(circle at top right, rgba(255, 255, 255, 0.14), transparent 24rem), linear-gradient(135deg, var(--tcf-primary-dark), var(--tcf-primary));
    color: #fff;
}

.free-course-page-fit-card-header {
    align-items: center;
    display: flex;
    gap: 1rem;
    margin-bottom: 1.5rem;
}

.free-course-page-fit-icon {
    align-items: center;
    background: rgba(106, 63, 108, 0.1);
    border-radius: 999px;
    color: var(--tcf-primary-dark);
    display: inline-flex;
    flex: 0 0 auto;
    font-size: 1.35rem;
    height: 3.75rem;
    justify-content: center;
    width: 3.75rem;
}

.free-course-page-fit-icon-light {
    background: rgba(255, 255, 255, 0.14);
    color: #fff;
}

.free-course-page-fit-card h3 {
    font-size: 1.45rem;
    font-weight: 850;
    letter-spacing: -0.03em;
    margin: 0;
}

.free-course-page-fit-card-dark h3,
.free-course-page-fit-card-dark p,
.free-course-page-fit-card-dark li {
    color: #fff;
}

.free-course-page-check-list-light li {
    color: rgba(255, 255, 255, 0.88);
}

    .free-course-page-check-list-light li::before {
        color: #fff;
    }

/* Access */

.free-course-page-access-section {
    background: radial-gradient(circle at top right, rgba(255, 255, 255, 0.12), transparent 26rem), linear-gradient(135deg, var(--tcf-primary-dark), var(--tcf-primary));
}

.free-course-page-price {
    color: #fff;
    font-size: 3rem;
    font-weight: 900;
    letter-spacing: -0.05em;
}

/* Responsive */

@media (max-width: 991.98px) {
    .free-course-page-hero {
        text-align: center;
    }

    .free-course-page-hero-image-wrap,
    .free-course-page-image-wrap {
        max-width: 520px;
        margin-inline: auto;
    }

    .free-course-page-hero .d-flex {
        justify-content: center;
    }

    .free-course-badge-inline {
        margin-inline: auto;
    }
}

@media (max-width: 575.98px) {
    .free-course-page-hero-image-wrap,
    .free-course-page-image-wrap {
        max-width: 360px;
    }

    .free-course-page-highlight-card {
        padding: 1.5rem;
    }

    .free-course-page-module-number {
        font-size: 3rem;
    }

    .free-course-page-fit-card-header {
        align-items: flex-start;
    }

    .free-course-image-badge {
        top: 1rem;
        left: 1rem;
    }

        .free-course-image-badge span {
            font-size: 1.4rem;
        }
}

.emulsions-course-hero {
    background: radial-gradient(circle at top right, rgba(106, 63, 108, 0.20), transparent 34rem), linear-gradient(180deg, #fff 0%, #faf7fb 100%);
    overflow: hidden;
}

    .emulsions-course-hero .display-4 {
        letter-spacing: -0.055em;
    }

.emulsions-course-hero-image-wrap {
    width: 100%;
    max-width: 560px;
    margin-left: auto;
    aspect-ratio: 4 / 5;
    border-radius: var(--tcf-radius);
    overflow: hidden;
    background: #fff;
    box-shadow: 0 1.5rem 4rem rgba(31, 42, 36, 0.12);
}

.emulsions-course-hero-image {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}

/* Highlights */

.emulsions-highlights-section {
    background: #fff;
}

.emulsions-highlights-section {
    background: #fff;
}

.emulsions-highlight-card {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    background: radial-gradient(circle at top right, #fff, transparent 12rem), linear-gradient(180deg, #fff 0%, #fff 100%);
    border: 1px solid rgba(106, 63, 108, 0.10);
    border-radius: var(--tcf-radius);
    box-shadow: 0 1rem 3rem rgba(31, 42, 36, 0.06);
    height: 100%;
    padding: 2.4rem 1.6rem 2rem;
    text-align: center;
    transition: transform 180ms ease, box-shadow 180ms ease, border-color 180ms ease;
}

    .emulsions-highlight-card::before {
        content: "";
        position: absolute;
        inset: 0 0 auto 0;
        height: 0.35rem;
        background: linear-gradient(90deg, var(--tcf-primary-dark), var(--tcf-primary));
        z-index: 1;
    }

    .emulsions-highlight-card::after {
        content: attr(data-step);
        position: absolute;
        top: 1.1rem;
        right: 1.25rem;
        color: rgba(106, 63, 108, 0.12);
        font-size: 3rem;
        font-weight: 900;
        letter-spacing: -0.08em;
        line-height: 1;
        z-index: -1;
    }

    .emulsions-highlight-card:hover {
        border-color: rgba(106, 63, 108, 0.18);
        box-shadow: 0 1.5rem 4rem rgba(31, 42, 36, 0.11);
        transform: translateY(-5px);
    }

.emulsions-highlight-icon {
    align-items: center;
    background: radial-gradient(circle at top left, rgba(255, 255, 255, 0.22), transparent 6rem), linear-gradient(135deg, var(--tcf-primary-dark), var(--tcf-primary));
    border-radius: 999px;
    color: #fff;
    display: inline-flex;
    font-size: 1.55rem;
    height: 4.8rem;
    justify-content: center;
    margin: 0 auto 1.4rem;
    width: 4.8rem;
}

.emulsions-highlight-card h3 {
    color: var(--tcf-ink);
    font-size: 1.18rem;
    font-weight: 550 !important;
    letter-spacing: -0.025em;
    margin-bottom: 0.75rem;
}

.emulsions-highlight-card p {
    color: var(--tcf-muted);
    font-size: 0.98rem;
    line-height: 1.65;
    margin: 0;
}

/* Intro */

.emulsions-intro-section {
    background: #faf7fb;
}

.emulsions-image-wrap {
    width: 100%;
    aspect-ratio: 4 / 5;
    border-radius: var(--tcf-radius);
    overflow: hidden;
    background: #fff;
    box-shadow: 0 1.5rem 4rem rgba(31, 42, 36, 0.10);
}

.emulsions-image {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* Shared checklist */

.emulsions-check-list {
    margin-bottom: 0;
}

    .emulsions-check-list li {
        color: var(--tcf-muted);
        font-weight: 650;
        line-height: 1.6;
        margin-bottom: 0.85rem;
    }

        .emulsions-check-list li::before {
            color: var(--tcf-primary-dark);
        }

/* Learn modules */

.emulsions-learn-section {
    background: #fff;
}

.emulsions-module-card {
    background: #faf7fb;
    border: 1px solid rgba(31, 42, 36, 0.08);
    border-radius: var(--tcf-radius);
    height: 100%;
    padding: clamp(1.5rem, 4vw, 2rem);
}

.emulsions-module-number {
    color: rgba(106, 63, 108, 0.18);
    display: block;
    font-size: 3.5rem;
    font-weight: 900;
    line-height: 1;
    margin-bottom: 1rem;
}

.emulsions-module-card h3 {
    color: var(--tcf-ink);
    font-size: 1.45rem;
    font-weight: 550 !important;
    letter-spacing: -0.03em;
    margin-bottom: 1rem;
}

.emulsions-module-card p {
    color: var(--tcf-muted);
    margin-bottom: 1.25rem;
}

/* Products */

.emulsions-products-section {
    background: radial-gradient(circle at top left, rgba(106, 63, 108, 0.10), transparent 30rem), linear-gradient(180deg, #faf7fb 0%, #fff 100%);
}

.emulsions-product-pills {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
}

    .emulsions-product-pills span {
        background: rgba(106, 63, 108, 0.08);
        border: 1px solid rgba(106, 63, 108, 0.12);
        border-radius: 999px;
        color: var(--tcf-primary-dark);
        display: inline-flex;
        font-size: 0.92rem;
        font-weight: 750;
        padding: 0.6rem 0.9rem;
    }

/* Outcomes */

.emulsions-outcomes-section {
    background: #fff;
}

.emulsions-outcome-card {
    background: #faf7fb;
    border: 1px solid rgba(31, 42, 36, 0.08);
    border-radius: var(--tcf-radius);
    height: 100%;
    padding: clamp(1.5rem, 4vw, 2.5rem);
}

.emulsions-outcome-card-dark {
    background: radial-gradient(circle at top right, rgba(255, 255, 255, 0.14), transparent 24rem), linear-gradient(135deg, var(--tcf-primary-dark), var(--tcf-primary));
    color: #fff;
}

.emulsions-outcome-header {
    align-items: center;
    display: flex;
    gap: 1rem;
    margin-bottom: 1.5rem;
}

.emulsions-outcome-icon {
    align-items: center;
    background: rgba(106, 63, 108, 0.1);
    border-radius: 999px;
    color: var(--tcf-primary-dark);
    display: inline-flex;
    flex: 0 0 auto;
    font-size: 1.35rem;
    height: 3.75rem;
    justify-content: center;
    width: 3.75rem;
}

.emulsions-outcome-icon-light {
    background: rgba(255, 255, 255, 0.14);
    color: #fff;
}

.emulsions-outcome-card h3 {
    font-size: 1.45rem;
    font-weight: 850;
    letter-spacing: -0.03em;
    margin: 0;
}

.emulsions-outcome-card-dark h3,
.emulsions-outcome-card-dark p,
.emulsions-outcome-card-dark li {
    color: #fff;
}

.emulsions-check-list-light li {
    color: rgba(255, 255, 255, 0.88);
}

    .emulsions-check-list-light li::before {
        color: #fff;
    }

/* Details */

.emulsions-details-section {
    background: #faf7fb;
}

.emulsions-detail-card {
    background: #fff;
    border: 1px solid rgba(31, 42, 36, 0.08);
    border-radius: var(--tcf-radius);
    box-shadow: 0 1rem 3rem rgba(31, 42, 36, 0.05);
    height: 100%;
    padding: 2rem 1.5rem;
    text-align: center;
}

    .emulsions-detail-card span {
        align-items: center;
        background: rgba(106, 63, 108, 0.1);
        border-radius: 999px;
        color: var(--tcf-primary-dark);
        display: inline-flex;
        font-size: 1.4rem;
        height: 4rem;
        justify-content: center;
        margin-bottom: 1.25rem;
        width: 4rem;
    }

    .emulsions-detail-card h3 {
        font-size: 1.15rem;
        font-weight: 550 !important;
        margin-bottom: 0.65rem;
    }

    .emulsions-detail-card p {
        color: var(--tcf-muted);
        margin: 0;
    }

/* Reviews */

.emulsions-reviews-section {
    background: radial-gradient(circle at top left, rgba(106, 63, 108, 0.10), transparent 28rem), linear-gradient(180deg, #fff 0%, #faf7fb 100%);
}

.emulsions-review-card {
    background: #fff;
    border: 1px solid rgba(31, 42, 36, 0.08);
    border-radius: var(--tcf-radius);
    box-shadow: 0 1rem 3rem rgba(31, 42, 36, 0.06);
    display: flex;
    flex-direction: column;
    height: 100%;
    margin: 0;
    padding: 2rem;
}

.emulsions-review-rating {
    color: var(--tcf-primary-dark);
    display: flex;
    gap: 0.25rem;
    font-size: 1rem;
    margin-bottom: 1.25rem;
}

.emulsions-review-card blockquote {
    color: var(--tcf-ink);
    font-size: 1.08rem;
    font-weight: 650;
    line-height: 1.65;
    margin-bottom: 1.75rem;
}

.emulsions-review-person {
    align-items: center;
    display: flex;
    gap: 0.9rem;
    margin-top: auto;
}

.emulsions-review-avatar {
    align-items: center;
    background: var(--tcf-primary-dark);
    border-radius: 999px;
    color: #fff;
    display: inline-flex;
    flex: 0 0 auto;
    font-size: 1.1rem;
    font-weight: 850;
    height: 3.25rem;
    justify-content: center;
    line-height: 1;
    width: 3.25rem;
}

.emulsions-review-person strong,
.emulsions-review-person span {
    display: block;
}

.emulsions-review-person strong {
    color: var(--tcf-ink);
    font-weight: 850;
}

.emulsions-review-person span {
    color: var(--tcf-muted);
    font-size: 0.95rem;
}

/* Purchase */

.emulsions-purchase-section {
    background: radial-gradient(circle at top right, rgba(255, 255, 255, 0.12), transparent 26rem), linear-gradient(135deg, var(--tcf-primary-dark), var(--tcf-primary));
}

.emulsions-price {
    color: #fff;
    font-size: 2.5rem;
    font-weight: 850;
    letter-spacing: -0.04em;
}

/* Responsive */

@media (max-width: 991.98px) {
    .emulsions-course-hero {
        text-align: center;
    }

    .emulsions-course-hero-image-wrap,
    .emulsions-image-wrap {
        max-width: 520px;
        margin-inline: auto;
    }

    .emulsions-course-hero .d-flex {
        justify-content: center;
    }
}

@media (max-width: 575.98px) {
    .emulsions-course-hero-image-wrap,
    .emulsions-image-wrap {
        max-width: 360px;
    }

    .emulsions-highlight-card,
    .emulsions-review-card,
    .emulsions-detail-card {
        padding: 1.5rem;
    }

    .emulsions-module-number {
        font-size: 3rem;
    }

    .emulsions-product-pills {
        justify-content: center;
    }

    .emulsions-outcome-header {
        align-items: flex-start;
    }

    .emulsions-intro-section {
        text-align: center;
    }

    .emulsions-check-list {
        text-align: left;
    }

    .emulsions-module-card {
        text-align: center;
    }

    .emulsions-products-section {
        text-align: center;
    }

    .emulsions-outcome-card {
        text-align: center;
    }
}

.cleansing-course-hero {
    background: radial-gradient(circle at top right, rgba(106, 63, 108, 0.20), transparent 34rem), linear-gradient(180deg, #fff 0%, #faf7fb 100%);
    overflow: hidden;
}

    .cleansing-course-hero .display-4 {
        letter-spacing: -0.055em;
    }

.cleansing-course-hero-image-wrap {
    width: 100%;
    max-width: 560px;
    margin-left: auto;
    aspect-ratio: 4 / 5;
    border-radius: var(--tcf-radius);
    overflow: hidden;
    background: #fff;
    box-shadow: 0 1.5rem 4rem rgba(31, 42, 36, 0.12);
}

.cleansing-course-hero-image {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}

/* Highlights */

.cleansing-highlights-section {
    background: #fff;
}

.cleansing-highlight-card {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    background: radial-gradient(circle at top right, #fff, transparent 12rem), linear-gradient(180deg, #fff 0%, #fff 100%);
    border: 1px solid rgba(106, 63, 108, 0.10);
    border-radius: var(--tcf-radius);
    box-shadow: 0 1rem 3rem rgba(31, 42, 36, 0.06);
    height: 100%;
    padding: 2.4rem 1.6rem 2rem;
    text-align: center;
    transition: transform 180ms ease, box-shadow 180ms ease, border-color 180ms ease;
}

    .cleansing-highlight-card::before {
        content: "";
        position: absolute;
        inset: 0 0 auto 0;
        height: 0.35rem;
        background: linear-gradient(90deg, var(--tcf-primary-dark), var(--tcf-primary));
        z-index: 1;
    }

    .cleansing-highlight-card::after {
        content: attr(data-step);
        position: absolute;
        top: 1.1rem;
        right: 1.25rem;
        color: rgba(106, 63, 108, 0.12);
        font-size: 3rem;
        font-weight: 900;
        letter-spacing: -0.08em;
        line-height: 1;
        z-index: -1;
    }

    .cleansing-highlight-card:hover {
        border-color: rgba(106, 63, 108, 0.18);
        box-shadow: 0 1.5rem 4rem rgba(31, 42, 36, 0.11);
        transform: translateY(-5px);
    }

.cleansing-highlight-icon {
    align-items: center;
    background: radial-gradient(circle at top left, rgba(255, 255, 255, 0.22), transparent 6rem), linear-gradient(135deg, var(--tcf-primary-dark), var(--tcf-primary));
    border-radius: 999px;
    color: #fff;
    display: inline-flex;
    font-size: 1.55rem;
    height: 4.8rem;
    justify-content: center;
    margin: 0 auto 1.4rem;
    width: 4.8rem;
}

.cleansing-highlight-card h3 {
    color: var(--tcf-ink);
    font-size: 1.18rem;
    font-weight: 550 !important;
    letter-spacing: -0.025em;
    margin-bottom: 0.75rem;
}

.cleansing-highlight-card p {
    color: var(--tcf-muted);
    font-size: 0.98rem;
    line-height: 1.65;
    margin: 0;
}

/* Intro */

.cleansing-intro-section {
    background: #faf7fb;
}

.cleansing-image-wrap {
    width: 100%;
    aspect-ratio: 4 / 5;
    border-radius: var(--tcf-radius);
    overflow: hidden;
    background: #fff;
    box-shadow: 0 1.5rem 4rem rgba(31, 42, 36, 0.10);
}

.cleansing-image {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* Shared checklist */

.cleansing-check-list {
    margin-bottom: 0;
}

    .cleansing-check-list li {
        color: var(--tcf-muted);
        font-weight: 650;
        line-height: 1.6;
        margin-bottom: 0.85rem;
    }

        .cleansing-check-list li::before {
            color: var(--tcf-primary-dark);
        }

/* Learn modules */

.cleansing-learn-section {
    background: #fff;
}

.cleansing-module-card {
    background: #faf7fb;
    border: 1px solid rgba(31, 42, 36, 0.08);
    border-radius: var(--tcf-radius);
    height: 100%;
    padding: clamp(1.5rem, 4vw, 2rem);
}

.cleansing-module-number {
    color: rgba(106, 63, 108, 0.18);
    display: block;
    font-size: 3.5rem;
    font-weight: 900;
    line-height: 1;
    margin-bottom: 1rem;
}

.cleansing-module-card h3 {
    color: var(--tcf-ink);
    font-size: 1.45rem;
    font-weight: 550 !important;
    letter-spacing: -0.03em;
    margin-bottom: 1rem;
}

.cleansing-module-card p {
    color: var(--tcf-muted);
    margin-bottom: 1.25rem;
}

/* Products */

.cleansing-products-section {
    background: radial-gradient(circle at top left, rgba(106, 63, 108, 0.10), transparent 30rem), linear-gradient(180deg, #faf7fb 0%, #fff 100%);
}

.cleansing-product-pills {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
}

    .cleansing-product-pills span {
        background: rgba(106, 63, 108, 0.08);
        border: 1px solid rgba(106, 63, 108, 0.12);
        border-radius: 999px;
        color: var(--tcf-primary-dark);
        display: inline-flex;
        font-size: 0.92rem;
        font-weight: 750;
        padding: 0.6rem 0.9rem;
    }

/* Outcomes */

.cleansing-outcomes-section {
    background: #fff;
}

.cleansing-outcome-card {
    background: #faf7fb;
    border: 1px solid rgba(31, 42, 36, 0.08);
    border-radius: var(--tcf-radius);
    height: 100%;
    padding: clamp(1.5rem, 4vw, 2.5rem);
}

.cleansing-outcome-card-dark {
    background: radial-gradient(circle at top right, rgba(255, 255, 255, 0.14), transparent 24rem), linear-gradient(135deg, var(--tcf-primary-dark), var(--tcf-primary));
    color: #fff;
}

.cleansing-outcome-header {
    align-items: center;
    display: flex;
    gap: 1rem;
    margin-bottom: 1.5rem;
}

.cleansing-outcome-icon {
    align-items: center;
    background: rgba(106, 63, 108, 0.1);
    border-radius: 999px;
    color: var(--tcf-primary-dark);
    display: inline-flex;
    flex: 0 0 auto;
    font-size: 1.35rem;
    height: 3.75rem;
    justify-content: center;
    width: 3.75rem;
}

.cleansing-outcome-icon-light {
    background: rgba(255, 255, 255, 0.14);
    color: #fff;
}

.cleansing-outcome-card h3 {
    font-size: 1.45rem;
    font-weight: 850;
    letter-spacing: -0.03em;
    margin: 0;
}

.cleansing-outcome-card-dark h3,
.cleansing-outcome-card-dark p,
.cleansing-outcome-card-dark li {
    color: #fff;
}

.cleansing-check-list-light li {
    color: rgba(255, 255, 255, 0.88);
}

    .cleansing-check-list-light li::before {
        color: #fff;
    }

/* Details */

.cleansing-details-section {
    background: #faf7fb;
}

.cleansing-detail-card {
    background: #fff;
    border: 1px solid rgba(31, 42, 36, 0.08);
    border-radius: var(--tcf-radius);
    box-shadow: 0 1rem 3rem rgba(31, 42, 36, 0.05);
    height: 100%;
    padding: 2rem 1.5rem;
    text-align: center;
}

    .cleansing-detail-card span {
        align-items: center;
        background: rgba(106, 63, 108, 0.1);
        border-radius: 999px;
        color: var(--tcf-primary-dark);
        display: inline-flex;
        font-size: 1.4rem;
        height: 4rem;
        justify-content: center;
        margin-bottom: 1.25rem;
        width: 4rem;
    }

    .cleansing-detail-card h3 {
        font-size: 1.15rem;
        font-weight: 550 !important;
        margin-bottom: 0.65rem;
    }

    .cleansing-detail-card p {
        color: var(--tcf-muted);
        margin: 0;
    }

/* Reviews */

.cleansing-reviews-section {
    background: radial-gradient(circle at top left, rgba(106, 63, 108, 0.10), transparent 28rem), linear-gradient(180deg, #fff 0%, #faf7fb 100%);
}

.cleansing-review-card {
    background: #fff;
    border: 1px solid rgba(31, 42, 36, 0.08);
    border-radius: var(--tcf-radius);
    box-shadow: 0 1rem 3rem rgba(31, 42, 36, 0.06);
    display: flex;
    flex-direction: column;
    height: 100%;
    margin: 0;
    padding: 2rem;
}

.cleansing-review-rating {
    color: var(--tcf-primary-dark);
    display: flex;
    gap: 0.25rem;
    font-size: 1rem;
    margin-bottom: 1.25rem;
}

.cleansing-review-card blockquote {
    color: var(--tcf-ink);
    font-size: 1.08rem;
    font-weight: 650;
    line-height: 1.65;
    margin-bottom: 1.75rem;
}

.cleansing-review-person {
    align-items: center;
    display: flex;
    gap: 0.9rem;
    margin-top: auto;
}

.cleansing-review-avatar {
    align-items: center;
    background: var(--tcf-primary-dark);
    border-radius: 999px;
    color: #fff;
    display: inline-flex;
    flex: 0 0 auto;
    font-size: 1.1rem;
    font-weight: 850;
    height: 3.25rem;
    justify-content: center;
    line-height: 1;
    width: 3.25rem;
}

.cleansing-review-person strong,
.cleansing-review-person span {
    display: block;
}

.cleansing-review-person strong {
    color: var(--tcf-ink);
    font-weight: 850;
}

.cleansing-review-person span {
    color: var(--tcf-muted);
    font-size: 0.95rem;
}

/* Purchase */

.cleansing-purchase-section {
    background: radial-gradient(circle at top right, rgba(255, 255, 255, 0.12), transparent 26rem), linear-gradient(135deg, var(--tcf-primary-dark), var(--tcf-primary));
}

.cleansing-price {
    color: #fff;
    font-size: 2.5rem;
    font-weight: 850;
    letter-spacing: -0.04em;
}

/* Responsive */

@media (max-width: 991.98px) {
    .cleansing-course-hero {
        text-align: center;
    }

    .cleansing-course-hero-image-wrap,
    .cleansing-image-wrap {
        max-width: 520px;
        margin-inline: auto;
    }

    .cleansing-course-hero .d-flex {
        justify-content: center;
    }
}

@media (max-width: 575.98px) {
    .cleansing-course-hero-image-wrap,
    .cleansing-image-wrap {
        max-width: 360px;
    }

    .cleansing-highlight-card,
    .cleansing-review-card,
    .cleansing-detail-card {
        padding: 1.5rem;
    }

    .cleansing-product-pills {
        justify-content: center;
    }

    .cleansing-module-number {
        font-size: 3rem;
    }

    .cleansing-outcome-header {
        align-items: flex-start;
    }

    .cleansing-intro-section {
        text-align: center;
    }

    .cleansing-check-list {
        text-align: left;
    }

    .cleansing-module-card {
        text-align: center;
    }

    .cleansing-products-section {
        text-align: center;
    }

    .cleansing-outcome-card {
        text-align: center;
    }
}

@media(max-width: 575.98px) {
    .check-list {
        text-align: left;
        padding-left: 1.25rem;
        padding-right: 1.25rem;
    }
}

.scrubs-course-hero {
    background: radial-gradient(circle at top right, rgba(106, 63, 108, 0.20), transparent 34rem), linear-gradient(180deg, #fff 0%, #faf7fb 100%);
    overflow: hidden;
}

    .scrubs-course-hero .display-4 {
        letter-spacing: -0.055em;
    }

.scrubs-course-hero-image-wrap {
    width: 100%;
    max-width: 560px;
    margin-left: auto;
    aspect-ratio: 4 / 5;
    border-radius: var(--tcf-radius);
    overflow: hidden;
    background: #fff;
    box-shadow: 0 1.5rem 4rem rgba(31, 42, 36, 0.12);
}

.scrubs-course-hero-image {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}

/* Highlights */

.scrubs-highlights-section {
    background: #fff;
}

.scrubs-highlight-card {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    background: radial-gradient(circle at top right, #fff, transparent 12rem), linear-gradient(180deg, #fff 0%, #fff 100%);
    border: 1px solid rgba(106, 63, 108, 0.10);
    border-radius: var(--tcf-radius);
    box-shadow: 0 1rem 3rem rgba(31, 42, 36, 0.06);
    height: 100%;
    padding: 2.4rem 1.6rem 2rem;
    text-align: center;
    transition: transform 180ms ease, box-shadow 180ms ease, border-color 180ms ease;
}

    .scrubs-highlight-card::before {
        content: "";
        position: absolute;
        inset: 0 0 auto 0;
        height: 0.35rem;
        background: linear-gradient(90deg, var(--tcf-primary-dark), var(--tcf-primary));
        z-index: 1;
    }

    .scrubs-highlight-card::after {
        content: attr(data-step);
        position: absolute;
        top: 1.1rem;
        right: 1.25rem;
        color: rgba(106, 63, 108, 0.12);
        font-size: 3rem;
        font-weight: 900;
        letter-spacing: -0.08em;
        line-height: 1;
        z-index: -1;
    }

    .scrubs-highlight-card:hover {
        border-color: rgba(106, 63, 108, 0.18);
        box-shadow: 0 1.5rem 4rem rgba(31, 42, 36, 0.11);
        transform: translateY(-5px);
    }

.scrubs-highlight-icon {
    align-items: center;
    background: radial-gradient(circle at top left, rgba(255, 255, 255, 0.22), transparent 6rem), linear-gradient(135deg, var(--tcf-primary-dark), var(--tcf-primary));
    border-radius: 999px;
    color: #fff;
    display: inline-flex;
    font-size: 1.55rem;
    height: 4.8rem;
    justify-content: center;
    margin: 0 auto 1.4rem;
    width: 4.8rem;
}

.scrubs-highlight-card h3 {
    color: var(--tcf-ink);
    font-size: 1.18rem;
    font-weight: 550 !important;
    letter-spacing: -0.025em;
    margin-bottom: 0.75rem;
}

.scrubs-highlight-card p {
    color: var(--tcf-muted);
    font-size: 0.98rem;
    line-height: 1.65;
    margin: 0;
}

/* Intro */

.scrubs-intro-section {
    background: #faf7fb;
}

.scrubs-image-wrap {
    width: 100%;
    aspect-ratio: 4 / 5;
    border-radius: var(--tcf-radius);
    overflow: hidden;
    background: #fff;
    box-shadow: 0 1.5rem 4rem rgba(31, 42, 36, 0.10);
}

.scrubs-image {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* Shared checklist */

.scrubs-check-list {
    margin-bottom: 0;
}

    .scrubs-check-list li {
        color: var(--tcf-muted);
        font-weight: 650;
        line-height: 1.6;
        margin-bottom: 0.85rem;
    }

        .scrubs-check-list li::before {
            color: var(--tcf-primary-dark);
        }

/* Learn modules */

.scrubs-learn-section {
    background: #fff;
}

.scrubs-module-card {
    background: #faf7fb;
    border: 1px solid rgba(31, 42, 36, 0.08);
    border-radius: var(--tcf-radius);
    height: 100%;
    padding: clamp(1.5rem, 4vw, 2rem);
}

.scrubs-module-number {
    color: rgba(106, 63, 108, 0.18);
    display: block;
    font-size: 3.5rem;
    font-weight: 900;
    line-height: 1;
    margin-bottom: 1rem;
}

.scrubs-module-card h3 {
    color: var(--tcf-ink);
    font-size: 1.45rem;
    font-weight: 550 !important;
    letter-spacing: -0.03em;
    margin-bottom: 1rem;
}

.scrubs-module-card p {
    color: var(--tcf-muted);
    margin-bottom: 1.25rem;
}

/* Products */

.scrubs-products-section {
    background: radial-gradient(circle at top left, rgba(106, 63, 108, 0.10), transparent 30rem), linear-gradient(180deg, #faf7fb 0%, #fff 100%);
}

.scrubs-product-pills {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
}

    .scrubs-product-pills span {
        background: rgba(106, 63, 108, 0.08);
        border: 1px solid rgba(106, 63, 108, 0.12);
        border-radius: 999px;
        color: var(--tcf-primary-dark);
        display: inline-flex;
        font-size: 0.92rem;
        font-weight: 750;
        padding: 0.6rem 0.9rem;
    }

/* Outcomes */

.scrubs-outcomes-section {
    background: #fff;
}

.scrubs-outcome-card {
    background: #faf7fb;
    border: 1px solid rgba(31, 42, 36, 0.08);
    border-radius: var(--tcf-radius);
    height: 100%;
    padding: clamp(1.5rem, 4vw, 2.5rem);
}

.scrubs-outcome-card-dark {
    background: radial-gradient(circle at top right, rgba(255, 255, 255, 0.14), transparent 24rem), linear-gradient(135deg, var(--tcf-primary-dark), var(--tcf-primary));
    color: #fff;
}

.scrubs-outcome-header {
    align-items: center;
    display: flex;
    gap: 1rem;
    margin-bottom: 1.5rem;
}

.scrubs-outcome-icon {
    align-items: center;
    background: rgba(106, 63, 108, 0.1);
    border-radius: 999px;
    color: var(--tcf-primary-dark);
    display: inline-flex;
    flex: 0 0 auto;
    font-size: 1.35rem;
    height: 3.75rem;
    justify-content: center;
    width: 3.75rem;
}

.scrubs-outcome-icon-light {
    background: rgba(255, 255, 255, 0.14);
    color: #fff;
}

.scrubs-outcome-card h3 {
    font-size: 1.45rem;
    font-weight: 850;
    letter-spacing: -0.03em;
    margin: 0;
}

.scrubs-outcome-card-dark h3,
.scrubs-outcome-card-dark p,
.scrubs-outcome-card-dark li {
    color: #fff;
}

.scrubs-check-list-light li {
    color: rgba(255, 255, 255, 0.88);
}

    .scrubs-check-list-light li::before {
        color: #fff;
    }

/* Details */

.scrubs-details-section {
    background: #faf7fb;
}

.scrubs-detail-card {
    background: #fff;
    border: 1px solid rgba(31, 42, 36, 0.08);
    border-radius: var(--tcf-radius);
    box-shadow: 0 1rem 3rem rgba(31, 42, 36, 0.05);
    height: 100%;
    padding: 2rem 1.5rem;
    text-align: center;
}

    .scrubs-detail-card span {
        align-items: center;
        background: rgba(106, 63, 108, 0.1);
        border-radius: 999px;
        color: var(--tcf-primary-dark);
        display: inline-flex;
        font-size: 1.4rem;
        height: 4rem;
        justify-content: center;
        margin-bottom: 1.25rem;
        width: 4rem;
    }

    .scrubs-detail-card h3 {
        font-size: 1.15rem;
        font-weight: 550 !important;
        margin-bottom: 0.65rem;
    }

    .scrubs-detail-card p {
        color: var(--tcf-muted);
        margin: 0;
    }

/* Reviews */

.scrubs-reviews-section {
    background: radial-gradient(circle at top left, rgba(106, 63, 108, 0.10), transparent 28rem), linear-gradient(180deg, #fff 0%, #faf7fb 100%);
}

.scrubs-review-card {
    background: #fff;
    border: 1px solid rgba(31, 42, 36, 0.08);
    border-radius: var(--tcf-radius);
    box-shadow: 0 1rem 3rem rgba(31, 42, 36, 0.06);
    display: flex;
    flex-direction: column;
    height: 100%;
    margin: 0;
    padding: 2rem;
}

.scrubs-review-rating {
    color: var(--tcf-primary-dark);
    display: flex;
    gap: 0.25rem;
    font-size: 1rem;
    margin-bottom: 1.25rem;
}

.scrubs-review-card blockquote {
    color: var(--tcf-ink);
    font-size: 1.08rem;
    font-weight: 650;
    line-height: 1.65;
    margin-bottom: 1.75rem;
}

.scrubs-review-person {
    align-items: center;
    display: flex;
    gap: 0.9rem;
    margin-top: auto;
}

.scrubs-review-avatar {
    align-items: center;
    background: var(--tcf-primary-dark);
    border-radius: 999px;
    color: #fff;
    display: inline-flex;
    flex: 0 0 auto;
    font-size: 1.1rem;
    font-weight: 850;
    height: 3.25rem;
    justify-content: center;
    line-height: 1;
    width: 3.25rem;
}

.scrubs-review-person strong,
.scrubs-review-person span {
    display: block;
}

.scrubs-review-person strong {
    color: var(--tcf-ink);
    font-weight: 850;
}

.scrubs-review-person span {
    color: var(--tcf-muted);
    font-size: 0.95rem;
}

/* Purchase */

.scrubs-purchase-section {
    background: radial-gradient(circle at top right, rgba(255, 255, 255, 0.12), transparent 26rem), linear-gradient(135deg, var(--tcf-primary-dark), var(--tcf-primary));
}

.scrubs-price {
    color: #fff;
    font-size: 2.5rem;
    font-weight: 850;
    letter-spacing: -0.04em;
}

/* Responsive */

@media (max-width: 991.98px) {
    .scrubs-course-hero {
        text-align: center;
    }

    .scrubs-course-hero-image-wrap,
    .scrubs-image-wrap {
        max-width: 520px;
        margin-inline: auto;
    }

    .scrubs-course-hero .d-flex {
        justify-content: center;
    }
}

@media (max-width: 575.98px) {
    .scrubs-course-hero-image-wrap,
    .scrubs-image-wrap {
        max-width: 360px;
    }

    .scrubs-highlight-card,
    .scrubs-review-card,
    .scrubs-detail-card {
        padding: 1.5rem;
    }

    .scrubs-product-pills {
        justify-content: center;
    }

    .scrubs-module-number {
        font-size: 3rem;
    }

    .scrubs-outcome-header {
        align-items: flex-start;
    }

    .scrubs-intro-section {
        text-align: center;
    }

    .scrubs-module-card {
        text-align: center;
    }

    .scrubs-products-section {
        text-align: center;
    }

    .scrubs-outcome-card-dark {
        text-align: center;
    }
}

.bars-course-hero {
    background: radial-gradient(circle at top right, rgba(106, 63, 108, 0.20), transparent 34rem), linear-gradient(180deg, #fff 0%, #faf7fb 100%);
    overflow: hidden;
}

    .bars-course-hero .display-4 {
        letter-spacing: -0.055em;
    }

.bars-course-hero-image-wrap {
    width: 100%;
    max-width: 560px;
    margin-left: auto;
    aspect-ratio: 4 / 5;
    border-radius: var(--tcf-radius);
    overflow: hidden;
    background: #fff;
    box-shadow: 0 1.5rem 4rem rgba(31, 42, 36, 0.12);
}

.bars-course-hero-image {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}

/* Highlights */

.bars-highlights-section {
    background: #fff;
}

.bars-highlight-card {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    background: radial-gradient(circle at top right, #fff, transparent 12rem), linear-gradient(180deg, #fff 0%, #fff 100%);
    border: 1px solid rgba(106, 63, 108, 0.10);
    border-radius: var(--tcf-radius);
    box-shadow: 0 1rem 3rem rgba(31, 42, 36, 0.06);
    height: 100%;
    padding: 2.4rem 1.6rem 2rem;
    text-align: center;
    transition: transform 180ms ease, box-shadow 180ms ease, border-color 180ms ease;
}

    .bars-highlight-card::before {
        content: "";
        position: absolute;
        inset: 0 0 auto 0;
        height: 0.35rem;
        background: linear-gradient(90deg, var(--tcf-primary-dark), var(--tcf-primary));
        z-index: 1;
    }

    .bars-highlight-card::after {
        content: attr(data-step);
        position: absolute;
        top: 1.1rem;
        right: 1.25rem;
        color: rgba(106, 63, 108, 0.12);
        font-size: 3rem;
        font-weight: 900;
        letter-spacing: -0.08em;
        line-height: 1;
        z-index: -1;
    }

    .bars-highlight-card:hover {
        border-color: rgba(106, 63, 108, 0.18);
        box-shadow: 0 1.5rem 4rem rgba(31, 42, 36, 0.11);
        transform: translateY(-5px);
    }

.bars-highlight-icon {
    align-items: center;
    background: radial-gradient(circle at top left, rgba(255, 255, 255, 0.22), transparent 6rem), linear-gradient(135deg, var(--tcf-primary-dark), var(--tcf-primary));
    border-radius: 999px;
    color: #fff;
    display: inline-flex;
    font-size: 1.55rem;
    height: 4.8rem;
    justify-content: center;
    margin: 0 auto 1.4rem;
    width: 4.8rem;
}

.bars-highlight-card h3 {
    color: var(--tcf-ink);
    font-size: 1.18rem;
    font-weight: 550 !important;
    letter-spacing: -0.025em;
    margin-bottom: 0.75rem;
}

.bars-highlight-card p {
    color: var(--tcf-muted);
    font-size: 0.98rem;
    line-height: 1.65;
    margin: 0;
}

/* Intro */

.bars-intro-section {
    background: #faf7fb;
}

.bars-image-wrap {
    width: 100%;
    aspect-ratio: 4 / 5;
    border-radius: var(--tcf-radius);
    overflow: hidden;
    background: #fff;
    box-shadow: 0 1.5rem 4rem rgba(31, 42, 36, 0.10);
}

.bars-image {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* Shared checklist */

.bars-check-list {
    margin-bottom: 0;
}

    .bars-check-list li {
        color: var(--tcf-muted);
        font-weight: 650;
        line-height: 1.6;
        margin-bottom: 0.85rem;
    }

        .bars-check-list li::before {
            color: var(--tcf-primary-dark);
        }

/* Learn modules */

.bars-learn-section {
    background: #fff;
}

.bars-module-card {
    background: #faf7fb;
    border: 1px solid rgba(31, 42, 36, 0.08);
    border-radius: var(--tcf-radius);
    height: 100%;
    padding: clamp(1.5rem, 4vw, 2rem);
}

.bars-module-number {
    color: rgba(106, 63, 108, 0.18);
    display: block;
    font-size: 3.5rem;
    font-weight: 900;
    line-height: 1;
    margin-bottom: 1rem;
}

.bars-module-card h3 {
    color: var(--tcf-ink);
    font-size: 1.45rem;
    font-weight: 550 !important;
    letter-spacing: -0.03em;
    margin-bottom: 1rem;
}

.bars-module-card p {
    color: var(--tcf-muted);
    margin-bottom: 1.25rem;
}

/* Products */

.bars-products-section {
    background: radial-gradient(circle at top left, rgba(106, 63, 108, 0.10), transparent 30rem), linear-gradient(180deg, #faf7fb 0%, #fff 100%);
}

.bars-product-pills {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
}

    .bars-product-pills span {
        background: rgba(106, 63, 108, 0.08);
        border: 1px solid rgba(106, 63, 108, 0.12);
        border-radius: 999px;
        color: var(--tcf-primary-dark);
        display: inline-flex;
        font-size: 0.92rem;
        font-weight: 750;
        padding: 0.6rem 0.9rem;
    }

/* Outcomes */

.bars-outcomes-section {
    background: #fff;
}

.bars-outcome-card {
    background: #faf7fb;
    border: 1px solid rgba(31, 42, 36, 0.08);
    border-radius: var(--tcf-radius);
    height: 100%;
    padding: clamp(1.5rem, 4vw, 2.5rem);
}

.bars-outcome-card-dark {
    background: radial-gradient(circle at top right, rgba(255, 255, 255, 0.14), transparent 24rem), linear-gradient(135deg, var(--tcf-primary-dark), var(--tcf-primary));
    color: #fff;
}

.bars-outcome-header {
    align-items: center;
    display: flex;
    gap: 1rem;
    margin-bottom: 1.5rem;
}

.bars-outcome-icon {
    align-items: center;
    background: rgba(106, 63, 108, 0.1);
    border-radius: 999px;
    color: var(--tcf-primary-dark);
    display: inline-flex;
    flex: 0 0 auto;
    font-size: 1.35rem;
    height: 3.75rem;
    justify-content: center;
    width: 3.75rem;
}

.bars-outcome-icon-light {
    background: rgba(255, 255, 255, 0.14);
    color: #fff;
}

.bars-outcome-card h3 {
    font-size: 1.45rem;
    font-weight: 850;
    letter-spacing: -0.03em;
    margin: 0;
}

.bars-outcome-card-dark h3,
.bars-outcome-card-dark p,
.bars-outcome-card-dark li {
    color: #fff;
}

.bars-check-list-light li {
    color: rgba(255, 255, 255, 0.88);
}

    .bars-check-list-light li::before {
        color: #fff;
    }

/* Details */

.bars-details-section {
    background: #faf7fb;
}

.bars-detail-card {
    background: #fff;
    border: 1px solid rgba(31, 42, 36, 0.08);
    border-radius: var(--tcf-radius);
    box-shadow: 0 1rem 3rem rgba(31, 42, 36, 0.05);
    height: 100%;
    padding: 2rem 1.5rem;
    text-align: center;
}

    .bars-detail-card span {
        align-items: center;
        background: rgba(106, 63, 108, 0.1);
        border-radius: 999px;
        color: var(--tcf-primary-dark);
        display: inline-flex;
        font-size: 1.4rem;
        height: 4rem;
        justify-content: center;
        margin-bottom: 1.25rem;
        width: 4rem;
    }

    .bars-detail-card h3 {
        font-size: 1.15rem;
        font-weight: 550 !important;
        margin-bottom: 0.65rem;
    }

    .bars-detail-card p {
        color: var(--tcf-muted);
        margin: 0;
    }

/* Reviews */

.bars-reviews-section {
    background: radial-gradient(circle at top left, rgba(106, 63, 108, 0.10), transparent 28rem), linear-gradient(180deg, #fff 0%, #faf7fb 100%);
}

.bars-review-card {
    background: #fff;
    border: 1px solid rgba(31, 42, 36, 0.08);
    border-radius: var(--tcf-radius);
    box-shadow: 0 1rem 3rem rgba(31, 42, 36, 0.06);
    display: flex;
    flex-direction: column;
    height: 100%;
    margin: 0;
    padding: 2rem;
}

.bars-review-rating {
    color: var(--tcf-primary-dark);
    display: flex;
    gap: 0.25rem;
    font-size: 1rem;
    margin-bottom: 1.25rem;
}

.bars-review-card blockquote {
    color: var(--tcf-ink);
    font-size: 1.08rem;
    font-weight: 650;
    line-height: 1.65;
    margin-bottom: 1.75rem;
}

.bars-review-person {
    align-items: center;
    display: flex;
    gap: 0.9rem;
    margin-top: auto;
}

.bars-review-avatar {
    align-items: center;
    background: var(--tcf-primary-dark);
    border-radius: 999px;
    color: #fff;
    display: inline-flex;
    flex: 0 0 auto;
    font-size: 1.1rem;
    font-weight: 850;
    height: 3.25rem;
    justify-content: center;
    line-height: 1;
    width: 3.25rem;
}

.bars-review-person strong,
.bars-review-person span {
    display: block;
}

.bars-review-person strong {
    color: var(--tcf-ink);
    font-weight: 850;
}

.bars-review-person span {
    color: var(--tcf-muted);
    font-size: 0.95rem;
}

/* Purchase */

.bars-purchase-section {
    background: radial-gradient(circle at top right, rgba(255, 255, 255, 0.12), transparent 26rem), linear-gradient(135deg, var(--tcf-primary-dark), var(--tcf-primary));
}

.bars-price {
    color: #fff;
    font-size: 2.5rem;
    font-weight: 850;
    letter-spacing: -0.04em;
}

/* Responsive */

@media (max-width: 991.98px) {
    .bars-course-hero {
        text-align: center;
    }

    .bars-course-hero-image-wrap,
    .bars-image-wrap {
        max-width: 520px;
        margin-inline: auto;
    }

    .bars-course-hero .d-flex {
        justify-content: center;
    }
}

@media (max-width: 575.98px) {
    .bars-course-hero-image-wrap,
    .bars-image-wrap {
        max-width: 360px;
    }

    .bars-highlight-card,
    .bars-review-card,
    .bars-detail-card {
        padding: 1.5rem;
    }

    .bars-product-pills {
        justify-content: center;
    }

    .bars-module-number {
        font-size: 3rem;
    }

    .bars-outcome-header {
        align-items: flex-start;
    }

    .bars-intro-section {
        text-align: center;
    }

    .bars-module-card {
        text-align: center;
    }

    .bars-products-section {
        text-align: center;
    }

    .bars-outcome-card-dark {
        text-align: center;
    }
}

.policy-page-section {
    background: radial-gradient(circle at top right, rgba(106, 63, 108, 0.10), transparent 30rem), linear-gradient(180deg, #fff 0%, #faf7fb 100%);
}

.policy-sidebar {
    position: sticky;
    top: 110px;
    background: #fff;
    border: 1px solid rgba(31, 42, 36, 0.08);
    border-radius: var(--tcf-radius);
    box-shadow: 0 1rem 3rem rgba(31, 42, 36, 0.05);
    padding: 1.5rem;
}

.policy-sidebar-title {
    color: var(--tcf-ink);
    font-size: 0.82rem;
    font-weight: 850;
    letter-spacing: 0.12em;
    margin-bottom: 1rem;
    text-transform: uppercase;
}

.policy-nav {
    display: flex;
    flex-direction: column;
    gap: 0.15rem;
}

    .policy-nav a {
        border-radius: 0.75rem;
        color: var(--tcf-muted);
        font-size: 0.95rem;
        font-weight: 650;
        line-height: 1.35;
        padding: 0.65rem 0.75rem;
        text-decoration: none;
        transition: background-color 180ms ease, color 180ms ease;
    }

        .policy-nav a:hover,
        .policy-nav a:focus {
            background: rgba(106, 63, 108, 0.08);
            color: var(--tcf-primary-dark);
        }

.policy-content-card {
    background: #fff;
    border: 1px solid rgba(31, 42, 36, 0.08);
    border-radius: var(--tcf-radius);
    box-shadow: 0 1rem 3rem rgba(31, 42, 36, 0.06);
    padding: clamp(1.75rem, 4vw, 3.5rem);
}

.policy-header {
    margin-bottom: 2rem;
}

    .policy-header h1 {
        color: var(--tcf-ink);
        font-size: clamp(2.4rem, 2vw, 4.25rem);
        font-weight: 900;
        letter-spacing: -0.02em;
        line-height: 1.05;
        margin-bottom: 1rem;
    }

.policy-updated {
    color: var(--tcf-primary-dark);
    font-size: 0.95rem;
    font-weight: 750;
    margin-bottom: 1.25rem;
}

.policy-content-card hr {
    border-color: rgba(31, 42, 36, 0.10);
    margin: 2.5rem 0;
    opacity: 1;
}

.policy-section {
    scroll-margin-top: 120px;
    margin-bottom: 2.75rem;
}

    .policy-section:last-child {
        margin-bottom: 0;
    }

    .policy-section h2 {
        color: var(--tcf-ink);
        font-size: clamp(1.45rem, 2.4vw, 2rem);
        font-weight: 850;
        letter-spacing: -0.02em;
        line-height: 1.2;
        margin-bottom: 1rem;
    }

    .policy-section p {
        color: var(--tcf-muted);
        font-size: 1.02rem;
        line-height: 1.75;
        margin-bottom: 1rem;
    }

    .policy-section ul {
        color: var(--tcf-muted);
        margin-bottom: 1.25rem;
        padding-left: 1.25rem;
    }

    .policy-section li {
        line-height: 1.7;
        margin-bottom: 0.65rem;
    }

    .policy-section strong {
        color: var(--tcf-ink);
        font-weight: 800;
    }

    .policy-section a {
        color: var(--tcf-primary-dark);
        font-weight: 750;
        text-decoration: underline;
        text-underline-offset: 0.2em;
    }

.policy-contact-box {
    background: #faf7fb;
    border: 1px solid rgba(106, 63, 108, 0.12);
    border-radius: 1.25rem;
    margin: 1.5rem 0;
    padding: 1.5rem;
}

    .policy-contact-box p {
        margin-bottom: 0.45rem;
    }

        .policy-contact-box p:last-child {
            margin-bottom: 0;
        }

/* Mobile */

@media (max-width: 991.98px) {
    .policy-sidebar {
        position: static;
    }

    .policy-nav {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 0.35rem;
    }
}

@media (max-width: 575.98px) {
    .policy-content-card {
        padding: 1.5rem;
    }

    .policy-nav {
        grid-template-columns: 1fr;
    }

    .policy-section {
        margin-bottom: 2.25rem;
    }
}

.policy-note-box {
    background: rgba(106, 63, 108, 0.08);
    border-left: 4px solid var(--tcf-primary-dark);
    border-radius: 1rem;
    margin: 1.5rem 0;
    padding: 1rem 1.25rem;
}

    .policy-note-box p {
        color: var(--tcf-ink);
        margin-bottom: 0;
    }

.policy-table-wrap {
    border: 1px solid rgba(31, 42, 36, 0.08);
    border-radius: 1rem;
    margin: 1.5rem 0;
    overflow-x: auto;
}

.policy-table {
    background: #fff;
    border-collapse: collapse;
    margin: 0;
    min-width: 680px;
    width: 100%;
}

    .policy-table th,
    .policy-table td {
        border-bottom: 1px solid rgba(31, 42, 36, 0.08);
        color: var(--tcf-muted);
        font-size: 0.95rem;
        line-height: 1.55;
        padding: 1rem;
        text-align: left;
        vertical-align: top;
    }

    .policy-table th {
        background: #faf7fb;
        color: var(--tcf-ink);
        font-size: 0.78rem;
        font-weight: 850;
        letter-spacing: 0.08em;
        text-transform: uppercase;
        white-space: nowrap;
    }

    .policy-table tr:last-child td {
        border-bottom: 0;
    }

    .policy-table td:first-child {
        color: var(--tcf-ink);
        font-weight: 750;
    }

.announcement a:hover {
    color: #fff !important;
}

/* iOS / mobile parallax fallback */
@media (max-width: 991.98px) {
    .tcf-parallax-section {
        background-attachment: scroll;
        min-height: 460px;
    }

    .tcf-parallax-content {
        max-width: 100%;
        padding: 4rem 0;
        text-align: center;
    }

        .tcf-parallax-content p:not(.tcf-parallax-kicker) {
            margin-inline: auto;
        }

    .tcf-parallax-kicker::before {
        display: none;
    }

    .tcf-parallax-learn::before,
    .tcf-parallax-products::before {
        background: rgba(36, 21, 38, 0.68);
    }
}

@media (max-width: 575.98px) {
    .tcf-parallax-section {
        min-height: 420px;
    }

    .tcf-parallax-content {
        padding: 3.5rem 0;
    }
}

@supports (-webkit-touch-callout: none) {
    @media (max-width: 991.98px) {
        .tcf-parallax-section {
            display: none;
        }
    }
}

html,
body {
    width: 100%;
    max-width: 100%;
}

.site-header {
    position: sticky;
    top: 0;
    z-index: 1030;
}

#main {
    width: 100%;
    max-width: 100%;
    overflow-x: hidden;
}

@supports (overflow-x: clip) {
    .site-page {
        overflow-x: clip;
    }
}

img,
svg,
video,
canvas {
    max-width: 100%;
}

.course-dropdown-menu {
    min-width: 21rem;
    padding: 0.8rem;
    border: 1px solid rgba(31, 42, 36, 0.08);
    border-radius: 1rem;
    box-shadow: 0 1rem 3rem rgba(31, 42, 36, 0.12);
}

    .course-dropdown-menu .dropdown-section-label {
        display: block;
        color: var(--tcf-primary-dark);
        font-size: 0.72rem;
        font-weight: 850;
        letter-spacing: 0.12em;
        padding: 0.45rem 0.75rem 0.35rem;
        text-transform: uppercase;
    }

    .course-dropdown-menu .dropdown-item {
        border-radius: 0.65rem;
        color: var(--tcf-ink);
        font-size: 0.95rem;
        font-weight: 650;
        line-height: 1.35;
        padding: 0.65rem 0.75rem;
        white-space: normal;
    }

        .course-dropdown-menu .dropdown-item:hover,
        .course-dropdown-menu .dropdown-item:focus {
            background: rgba(106, 63, 108, 0.08);
            color: var(--tcf-primary-dark);
        }

    .course-dropdown-menu .dropdown-divider {
        border-color: rgba(31, 42, 36, 0.08);
        margin: 0.55rem 0;
    }

@media (max-width: 991.98px) {
    .hero-image-col {
        width: 100vw;
        max-width: 100vw;
        margin-left: calc(50% - 50vw);
        margin-right: calc(50% - 50vw);
        padding-left: 0;
        padding-right: 0;
    }

    .hero-collage {
        width: 100%;
        max-width: none;
        margin: 0;
        border-radius: 0;
    }

    .hero-image {
        display: block;
        width: 100%;
        height: auto;
        transform: none;
        object-fit: contain;
    }
}

.category-card.course-card {
    display: block;
    height: 100%;
    overflow: hidden;
    padding: 0;
    color: var(--tcf-ink);
    text-align: center;
    text-decoration: none;
    background: #fff;
    border-radius: var(--tcf-radius);
    box-shadow: 0 0.75rem 2rem rgba(31, 42, 36, 0.05);
    transition: transform 180ms ease, box-shadow 180ms ease;
}

    .category-card.course-card:hover {
        box-shadow: 0 1.5rem 3rem rgba(31, 42, 36, 0.11);
        transform: translateY(-6px);
    }

.course-card-image-wrap {
    width: 100%;
    overflow: hidden;
    background: #faf7fb;
}

.course-card-image {
    display: block;
    width: 100%;
    height: 220px;
    object-fit: cover;
    object-position: center;
    transition: transform 260ms ease;
}

.category-card.course-card:hover .course-card-image {
    transform: scale(1.04);
}

.course-card-title-band {
    background: radial-gradient(circle at top left, rgba(255, 255, 255, 0.02), transparent 14rem), linear-gradient(135deg, var(--tcf-primary-dark), var(--tcf-primary));
    padding: 1rem 1.25rem;
}

    .course-card-title-band h3 {
        color: #fff;
        font-size: 1.05rem;
        font-weight: 550 !important;
        line-height: 1.25;
        margin: 0;
    }

.course-card-body {
    padding: 1.35rem 1.25rem 1.6rem;
    background: #fff;
}

    .course-card-body p {
        margin: 0;
        color: var(--tcf-muted);
        font-size: 0.95rem;
        line-height: 1.6;
    }

@media (max-width: 575.98px) {
    .course-card-image {
        height: 190px;
    }

    .course-card-title-band {
        padding: 0.9rem 1rem;
    }

    .course-card-body {
        padding: 1.2rem 1rem 1.4rem;
    }
}

@media (max-width: 991.98px) {
    .course-row-card {
        text-align: center;
    }

    .course-row-checks {
        text-align: left;
    }
}

/* Calculators Home */
.home-calculators-section {
    background: radial-gradient(circle at top right, rgba(106, 63, 108, 0.10), transparent 28rem), linear-gradient(180deg, #fff 0%, #faf7fb 100%);
}

.home-calculators-image-wrap {
    width: 100%;
    max-width: 560px;
    margin-inline: auto;
    aspect-ratio: 4 / 5;
    overflow: hidden;
    border-radius: var(--tcf-radius);
    background: #fff;
    box-shadow: 0 1.5rem 4rem rgba(31, 42, 36, 0.10);
}

.home-calculators-image {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.home-calculators-subtitle {
    max-width: 42rem;
}

.home-calculators-points {
    display: grid;
    grid-template-columns: 1fr;
    gap: 1rem;
    margin-top: 1.75rem;
}

.home-calculators-point {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 1rem;
    align-items: start;
    padding: 1rem 1rem 1rem 1rem;
    background: #fff;
    border: 1px solid rgba(106, 63, 108, 0.10);
    border-radius: 1rem;
    box-shadow: 0 0.75rem 2rem rgba(31, 42, 36, 0.04);
}

.home-calculators-point-icon {
    align-items: center;
    justify-content: center;
    display: inline-flex;
    width: 3.25rem;
    height: 3.25rem;
    border-radius: 999px;
    background: radial-gradient(circle at top left, rgba(255, 255, 255, 0.20), transparent 5rem), linear-gradient(135deg, var(--tcf-primary-dark), var(--tcf-primary));
    color: #fff;
    font-size: 1.1rem;
    flex: 0 0 auto;
}

.home-calculators-point h3 {
    margin: 0 0 0.3rem;
    color: var(--tcf-ink);
    font-size: 1.05rem;
    font-weight: 550 !important;
    letter-spacing: -0.02em;
    line-height: 1.25;
}

.home-calculators-point p {
    margin: 0;
    color: var(--tcf-muted);
    font-size: 0.95rem;
    line-height: 1.55;
}

@media (min-width: 768px) {
    .home-calculators-points {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 991.98px) {
    .home-calculators-section {
        text-align: center;
    }

    .home-calculators-image-wrap {
        max-width: 520px;
    }

    .home-calculators-point {
        text-align: left;
    }
}

@media (max-width: 575.98px) {
    .home-calculators-image-wrap {
        aspect-ratio: 4 / 5;
        max-width: 100%;
    }

    .home-calculators-point {
        padding: 0.9rem;
        gap: 0.85rem;
    }

    .home-calculators-point-icon {
        width: 3rem;
        height: 3rem;
        font-size: 1rem;
    }

    .home-calculators-point h3 {
        font-size: 1rem;
    }

    .home-calculators-point p {
        font-size: 0.92rem;
    }
}

.hero-actions {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    flex-wrap: wrap;
    gap: 0.5875rem;
    margin-top: 2rem;
}

.hero-action {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 50px;
    padding: 0.5rem 1rem;
    font-size: 1rem;
    font-weight: 600;
    line-height: 1.2;
    letter-spacing: 0.075em;
    text-transform: uppercase;
    text-align: center;
    text-decoration: none;
    border: 2px solid var(--tcf-primary);
    transition: background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease, transform 0.2s ease;
}

.hero-action-primary {
    color: #fff;
    background-color: var(--tcf-primary-dark);
    border-color: var(--tcf-primary-dark);
}

    .hero-action-primary:hover,
    .hero-action-primary:focus-visible {
        color: #fff;
        background-color: var(--tcf-primary-dark);
    }

.hero-action-secondary {
    color: var(--tcf-primary-dark);
    background-color: transparent;
    border-color: var(--tcf-primary-dark);
}

    .hero-action-secondary:hover,
    .hero-action-secondary:focus-visible {
        color: #fff;
        background-color: var(--tcf-primary);
    }

.hero-action:focus-visible {
    outline: 3px solid rgba(106, 63, 108, 0.25);
    outline-offset: 3px;
}

/* Stack the buttons on smaller screens */
@media (max-width: 767.98px) {
    .hero-actions {
        flex-direction: column;
        align-items: stretch;
        gap: 0.75rem;
        margin-top: 1.5rem;
    }

    .hero-action {
        width: 100%;
        min-height: 56px;
        padding-inline: 1rem;
    }
}

.course-card-image-wrap {
    width: 100%;
    overflow: hidden;
    background: #faf7fb;
}

.course-card-image {
    display: block;
    width: 100%;
    height: 220px;
    object-fit: cover;
    object-position: center;
    transition: transform 260ms ease;
}

.category-card.course-card:hover .course-card-image {
    transform: scale(1.04);
}

.course-card-title-band {
    background: radial-gradient(circle at top left, rgba(255, 255, 255, 0.02), transparent 14rem), linear-gradient(135deg, var(--tcf-primary-dark), var(--tcf-primary));
    padding: 1rem 1.25rem;
}

    .course-card-title-band h3 {
        color: #fff;
        font-size: 1.05rem;
        font-weight: 550 !important;
        line-height: 1.25;
        margin: 0;
    }

.course-card-body {
    padding: 1.35rem 1.25rem 1.6rem;
    background: #fff;
}

    .course-card-body p {
        margin: 0;
        color: var(--tcf-muted);
        font-size: 0.95rem;
        line-height: 1.6;
    }

@media (max-width: 575.98px) {
    .course-card-image {
        height: 190px;
    }

    .course-card-title-band {
        padding: 0.9rem 1rem;
    }

    .course-card-body {
        padding: 1.2rem 1rem 1.4rem;
    }
}

@media (max-width: 991.98px) {
    .course-row-card {
        text-align: center;
    }

    .course-row-checks {
        text-align: left;
    }
}

.course-row-card {
    grid-template-columns: minmax(300px, 42%) 1fr;
    align-items: stretch;
}

.course-row-content {
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: clamp(2rem, 3.5vw, 2.75rem);
}

.course-row-image-wrap {
    min-height: 100%;
    overflow: hidden;
}

.course-row-image {
    display: block;
    width: 100%;
    height: 100%;
    min-height: 380px;
    object-fit: cover;
    object-position: center;
}

.course-row-content h3 {
    font-size: clamp(1.85rem, 3vw, 2.65rem);
    line-height: 1.12;
    margin-bottom: 1.25rem;
}

.course-row-subtitle {
    font-size: 1.1rem;
    line-height: 1.55;
    margin-bottom: 1.75rem;
}

.course-row-checks {
    margin-top: 0;
    margin-bottom: 1.75rem;
}

    .course-row-checks li {
        font-size: 0.98rem;
        line-height: 1.55;
        margin-bottom: 0.85rem;
    }

.course-row-content .btn {
    align-self: flex-start;
}

@media (max-width: 991.98px) {
    .course-row-card,
    .course-row-card-reverse {
        grid-template-columns: 1fr;
    }

        .course-row-card-reverse .course-row-image-wrap,
        .course-row-card-reverse .course-row-content {
            order: initial;
        }

    .course-row-image-wrap {
        order: -1;
    }

    .course-row-image {
        height: 320px;
        min-height: 320px;
    }

    .course-row-content {
        padding: 2rem;
    }

        .course-row-content .btn {
            align-self: center;
        }
}

@media (max-width: 575.98px) {
    .course-row-image {
        height: 240px;
        min-height: 240px;
    }

    .course-row-content {
        padding: 1.5rem;
        text-align: center;
    }

        .course-row-content h3 {
            font-size: 1.85rem;
        }

    .course-row-subtitle {
        font-size: 1.02rem;
        margin-bottom: 1.4rem;
    }

    .course-row-checks {
        text-align: left;
        margin-bottom: 1.5rem;
    }

    .course-row-content .btn {
        width: 100%;
    }
}

.course-row-card {
    display: grid;
    grid-template-columns: minmax(300px, 42%) 1fr;
    align-items: stretch;
}

.course-row-card-reverse {
    grid-template-columns: 1fr minmax(300px, 42%);
}

    .course-row-card-reverse .course-row-content {
        grid-column: 1;
        order: initial;
    }

    .course-row-card-reverse .course-row-image-wrap {
        grid-column: 2;
        order: initial;
    }

.course-row-image-wrap {
    width: 100%;
    height: 100%;
    overflow: hidden;
}

.course-row-image {
    display: block;
    width: 100%;
    height: 100%;
    min-height: 380px;
    object-fit: cover;
    object-position: center;
}

.course-row-card {
    grid-template-columns: minmax(300px, 40%) 1fr;
}

.course-row-card-reverse {
    grid-template-columns: 1fr minmax(300px, 40%);
}

.course-row-card {
    display: grid;
    grid-template-columns: minmax(300px, 42%) 1fr;
    align-items: stretch;
}

.course-row-card-reverse {
    grid-template-columns: 1fr minmax(300px, 42%);
}

    .course-row-card-reverse .course-row-image-wrap {
        grid-column: 2;
        grid-row: 1;
    }

    .course-row-card-reverse .course-row-content {
        grid-column: 1;
        grid-row: 1;
    }

@media (max-width: 991.98px) {
    .course-row-card,
    .course-row-card-reverse {
        grid-template-columns: 1fr;
    }

        .course-row-card-reverse .course-row-image-wrap,
        .course-row-card-reverse .course-row-content {
            grid-column: auto;
            grid-row: auto;
        }

    .course-row-image-wrap {
        order: -1;
    }

    .course-row-image {
        height: 320px;
        min-height: 320px;
    }
}

@media (max-width: 575.98px) {
    .course-row-image {
        height: 240px;
        min-height: 240px;
    }
}

.hero-proof-strip {
    position: relative;
    z-index: 2;
    background: linear-gradient( 180deg, #f1ebef 0%, #f4eff2 45%, #f8f4f7 100% );
    border: 0;
}

.hero-proof-grid {
    background: #fff;
    border: 1px solid rgba(106, 63, 108, 0.12);
    border-radius: 4px;
    box-shadow: 0 18px 45px rgba(48, 34, 49, 0.08);
    padding: 1.5rem 0;
}

.hero-proof-item {
    display: flex;
    align-items: flex-start;
    gap: 1rem;
    height: 100%;
    padding: 0.4rem 1.5rem;
}

.hero-proof-grid > div:not(:first-child) .hero-proof-item {
    border-left: 1px solid rgba(106, 63, 108, 0.16);
}

.hero-proof-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 55px;
    width: 55px;
    height: 55px;
    margin-top: 0.1rem;
    color: #fff;
    background: radial-gradient(circle at top left, rgba(255, 255, 255, 0.22), transparent 6rem), linear-gradient(135deg, var(--tcf-primary-dark), var(--tcf-primary));
    border-radius: 50%;
    font-size: 1.25rem;
}

.hero-proof-content h2 {
    margin: 0 0 0.3rem;
    color: var(--tcf-ink);
    font-size: 1rem;
    font-weight: 550 !important;
    line-height: 1.3;
}

.hero-proof-content p {
    margin: 0;
    color: #6f6870;
    font-size: 0.95rem;
    line-height: 1.45;
}

/* Tablet and mobile: 2 × 2 layout */
@media (max-width: 991.98px) {
    .hero-proof-grid {
        padding: 0;
    }

    .hero-proof-item {
        padding: 1.25rem;
    }

    .hero-proof-grid > div:nth-child(odd) .hero-proof-item {
        border-left: 0;
    }

    .hero-proof-grid > div:nth-child(even) .hero-proof-item {
        border-left: 1px solid rgba(106, 63, 108, 0.16);
    }

    .hero-proof-grid > div:nth-child(n + 3) .hero-proof-item {
        border-top: 1px solid rgba(106, 63, 108, 0.16);
    }
}

/* Smaller mobile screens */
@media (max-width: 575.98px) {
    .hero-proof-item {
        display: block;
        padding: 1.15rem 0.85rem;
        text-align: center;
    }

    .hero-proof-icon {
        margin: 0 auto 0.75rem;
    }

    .hero-proof-content h2 {
        font-size: 0.88rem;
    }

    .hero-proof-content p {
        font-size: 0.78rem;
    }
}

@media (min-width: 992px) {
    .hero-proof-strip {
        width: min(94%, 1500px);
        margin: -38px auto 0;
        border: 1px solid rgba(106, 63, 108, 0.12);
        border-radius: 4px;
    }
}

/* Full-width area behind the proof card */
.hero-proof-section {
    position: relative;
    z-index: 3;
    background: linear-gradient( 180deg, #eee8ec 0%, #f4eff2 50%, #f8f4f7 100% );
}

.hero-proof-bg {
    position: relative;
    z-index: 3;
    background: linear-gradient( 180deg, #eee8ec 0%, #f4eff2 50%, #f8f4f7 100% );
}


/* The premium floating white card */
.hero-proof-card {
    position: relative;
    z-index: 2;
    top: -38px;
    background: #fff;
    border-radius: 4px;
    overflow: hidden;
}

.hero-proof-grid {
    padding: 1.5rem 0;
    background: #fff;
}

@media (max-width: 991.98px) {
    .hero-proof-card {
        top: -20px;
        margin-bottom: -20px;
    }
}

@media (max-width: 575.98px) {
    .hero-proof-section {
        padding-inline: 0.75rem;
    }

    .hero-proof-card {
        top: -12px;
        margin-bottom: -12px;
    }
}

@media (min-width: 1200px) {
    .bg-home {
        padding-top: 1rem !important;
    }
}

@media (max-width: 575.98px) {
    .hero-proof-section {
        padding-inline: 0;
    }

    .hero-proof-strip {
        width: 100%;
        max-width: none;
        margin-left: 0;
        margin-right: 0;
        border-radius: 4px;
    }
}

.founder-video-section {
    position: relative;
    overflow: hidden;
    background: linear-gradient( 135deg, #fbf9fa 0%, #f5eff3 100% );
}

/* Video frame */

.founder-video-frame {
    position: relative;
    padding: 10px;
    background: #fff;
    border: 2px solid var(--tcf-primary-dark);
}

    .founder-video-frame iframe {
        display: block;
        width: 100%;
        height: 100%;
        border: 0;
    }

/* Small caption beneath player */

.founder-video-caption {
    margin: 1.25rem 0 0;
    color: #756d74;
    font-size: 0.875rem;
    line-height: 1.55;
    text-align: center;
}

/* Text column */

.founder-video-content {
    max-width: 520px;
}

    .founder-video-content .eyebrow {
        margin-bottom: 1.25rem;
    }

    .founder-video-content h2 {
        margin: 0 0 1.5rem;
        color: #171317;
        font-size: clamp(2rem, 3.2vw, 3.25rem);
        font-weight: 400;
        line-height: 1.12;
        letter-spacing: -0.025em;
    }

    .founder-video-content p {
        margin: 0 0 1rem;
        color: #625b61;
        font-size: 1rem;
        line-height: 1.75;
    }

    .founder-video-content .founder-video-intro {
        color: var(--tcf-primary-dark);
        font-size: 1.1rem;
        font-weight: 600;
        line-height: 1.6;
    }

/* CTA */

.founder-video-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 54px;
    margin-top: 1rem;
    padding: 0.85rem 1.75rem;
    color: #fff;
    background: var(--tcf-primary);
    border: 2px solid var(--tcf-primary);
    border-radius: 0;
    font-size: 0.9rem;
    font-weight: 600;
    letter-spacing: 0.065em;
    text-transform: uppercase;
    transition: color 0.2s ease, background-color 0.2s ease, border-color 0.2s ease, transform 0.2s ease;
}

    .founder-video-button:hover,
    .founder-video-button:focus-visible {
        color: #fff;
        background: var(--tcf-primary-dark);
        border-color: var(--tcf-primary-dark);
        transform: translateY(-2px);
    }

    .founder-video-button:focus-visible {
        outline: 3px solid rgba(106, 63, 108, 0.25);
        outline-offset: 4px;
    }

/* Tablet and mobile */

@media (max-width: 991.98px) {
    .founder-video-section {
        padding: 4.5rem 0;
    }

    .founder-video-content {
        max-width: 720px;
        margin-inline: auto;
        text-align: center;
    }

        .founder-video-content .eyebrow::before {
            margin-inline: auto;
        }
}

@media (max-width: 575.98px) {
    .founder-video-section {
        padding: 1.5rem 0;
    }

    .founder-video-frame {
        padding: 6px;
        border-width: 2px;
        box-shadow: 7px 7px 0 rgba(106, 63, 108, 0.10), 0 16px 35px rgba(43, 30, 44, 0.09);
    }

    .founder-video-caption {
        margin-top: 1rem;
        font-size: 0.8rem;
    }

    .founder-video-content h2 {
        font-size: clamp(1.85rem, 9vw, 2.4rem);
    }

    .founder-video-content p {
        font-size: 0.95rem;
    }

    .founder-video-button {
        width: 100%;
    }
}

@media (min-width: 1400px) {
    .container-strip {
        max-width: 1400px;
    }
}

@media (min-width: 1500px) {
    .container-strip {
        max-width: 1495px;
    }
}

.about-intro-section {
    background: radial-gradient(circle at top right, rgba(106, 63, 108, 0.18), transparent 34rem), linear-gradient(180deg, #fff 0%, #faf7fb 100%);
    overflow: hidden;
}

    .about-intro-section .display-4 {
        letter-spacing: -0.055em;
    }

.about-intro-image-wrap,
.about-teaching-image-wrap {
    width: 100%;
    max-width: 560px;
    margin-inline: auto;
    aspect-ratio: 4 / 5;
    overflow: hidden;
    border-radius: var(--tcf-radius);
    background: #fff;
    box-shadow: 0 1.5rem 4rem rgba(31, 42, 36, 0.10);
}

.about-intro-image,
.about-teaching-image {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}


/* Values */

.about-values-section {
    background: #fff;
}

.about-value-card {
    position: relative;
    overflow: hidden;
    height: 100%;
    padding: 2.4rem 1.6rem 2rem;
    text-align: center;
    border: 1px solid rgba(106, 63, 108, 0.10);
    border-radius: var(--tcf-radius);
    box-shadow: 0 1rem 3rem rgba(31, 42, 36, 0.06);
    transition: transform 180ms ease, box-shadow 180ms ease, border-color 180ms ease;
}

    .about-value-card::before {
        content: "";
        position: absolute;
        inset: 0 0 auto 0;
        height: 0.35rem;
        background: linear-gradient(90deg, var(--tcf-primary-dark), var(--tcf-primary));
    }

    .about-value-card:hover {
        transform: translateY(-5px);
        border-color: rgba(106, 63, 108, 0.18);
        box-shadow: 0 1.5rem 4rem rgba(31, 42, 36, 0.11);
    }

.about-value-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 5rem;
    height: 5rem;
    margin: 0 auto 1.35rem;
    border-radius: 999px;
    color: #fff;
    font-size: 1.65rem;
    background: radial-gradient(circle at top left, rgba(255, 255, 255, 0.22), transparent 6rem), linear-gradient(135deg, var(--tcf-primary-dark), var(--tcf-primary));
}

.about-value-card h3 {
    margin-bottom: 0.75rem;
    color: var(--tcf-ink);
    font-size: 1.2rem;
    font-weight: 550 !important;
    letter-spacing: -0.02em;
    line-height: 1.25;
}

.about-value-card p {
    margin: 0;
    color: var(--tcf-muted);
    font-size: 0.98rem;
    line-height: 1.65;
}


/* Teaching */

.about-teaching-section {
    background: #faf7fb;
}

.about-check-list {
    margin-bottom: 0;
}

    .about-check-list li {
        color: var(--tcf-muted);
        font-weight: 650;
        line-height: 1.6;
        margin-bottom: 0.9rem;
    }

        .about-check-list li::before {
            color: var(--tcf-primary-dark);
        }


/* Founder on about page */

.about-founder-section {
    background: #fff;
}


/* Learning CTA */

.about-learning-section {
    position: relative;
    overflow: hidden;
    background: radial-gradient(circle at top right, rgba(255, 255, 255, 0.14), transparent 30rem), radial-gradient(circle at bottom left, rgba(255, 255, 255, 0.08), transparent 26rem), linear-gradient(135deg, var(--tcf-primary-dark), var(--tcf-primary));
}

.about-learning-panel {
    display: grid;
    gap: 1rem;
}

.about-learning-item {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 1rem;
    align-items: start;
    padding: 1.25rem;
    background: rgba(255, 255, 255, 0.10);
    border: 1px solid rgba(255, 255, 255, 0.14);
    border-radius: 1.25rem;
    backdrop-filter: blur(8px);
}

    .about-learning-item span {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        width: 3.35rem;
        height: 3.35rem;
        border-radius: 999px;
        background: #fff;
        font-size: 1.3rem;
        color: var(--tcf-primary-dark);
        font-weight: 900;
    }

    .about-learning-item h3 {
        margin-bottom: 0.35rem;
        color: #fff;
        font-size: 1.08rem;
        font-weight: 550 !important;
    }

    .about-learning-item p {
        margin: 0;
        color: rgba(255, 255, 255, 0.78);
        font-size: 0.95rem;
        line-height: 1.55;
    }


/* Responsive */

@media (max-width: 991.98px) {
    .about-intro-section {
        text-align: center;
    }

        .about-intro-section .d-flex,
        .about-learning-actions {
            justify-content: center;
        }

    .about-intro-image-wrap,
    .about-teaching-image-wrap {
        max-width: 520px;
    }

    .about-teaching-section {
        text-align: center;
    }

    .about-check-list {
        text-align: left;
    }

    .about-learning-section {
        text-align: center;
    }

    .about-learning-item {
        text-align: left;
    }
}

@media (max-width: 575.98px) {
    .about-intro-image-wrap,
    .about-teaching-image-wrap {
        max-width: 100%;
    }

    .about-value-card {
        display: grid;
        grid-template-columns: auto 1fr;
        column-gap: 1rem;
        align-items: start;
        text-align: left;
        padding: 1.4rem 1.25rem;
    }

    .about-value-icon {
        width: 3.9rem;
        height: 3.9rem;
        margin: 0;
        border-radius: 1rem;
        font-size: 1.3rem;
        grid-row: span 2;
    }

    .about-value-card h3 {
        margin-bottom: 0.35rem;
        font-size: 1.08rem;
    }

    .about-value-card p {
        font-size: 0.94rem;
        line-height: 1.55;
    }

    .about-learning-item {
        grid-template-columns: 1fr;
        text-align: center;
    }

        .about-learning-item span {
            margin-inline: auto;
        }
}

faq-intro-section {
    background: radial-gradient(circle at top right, rgba(106, 63, 108, 0.14), transparent 34rem), linear-gradient(180deg, #fff 0%, #faf7fb 100%);
    overflow: hidden;
}

.faq-intro-section .display-4 {
    letter-spacing: -0.055em;
}

.faq-page-section {
    background: #faf7fb;
}

.faq-side-card {
    position: sticky;
    top: 110px;
    background: #fff;
    border: 1px solid rgba(106, 63, 108, 0.10);
    border-radius: var(--tcf-radius);
    box-shadow: 0 1rem 3rem rgba(31, 42, 36, 0.06);
    padding: 2rem;
}

    .faq-side-card h2 {
        color: var(--tcf-ink);
        font-size: 1.65rem;
        font-weight: 550 !important;
        letter-spacing: -0.02em;
        line-height: 1.15;
        margin-bottom: 1rem;
    }

    .faq-side-card p {
        line-height: 1.65;
        margin-bottom: 1.5rem;
    }

.faq-side-links {
    display: grid;
    gap: 0.75rem;
}

    .faq-side-links a {
        display: flex;
        align-items: center;
        gap: 0.75rem;
        background: rgba(106, 63, 108, 0.07);
        border: 1px solid rgba(106, 63, 108, 0.10);
        border-radius: 0.9rem;
        color: var(--tcf-primary-dark);
        font-weight: 750;
        line-height: 1.35;
        padding: 0.85rem 1rem;
        text-decoration: none;
        transition: background-color 180ms ease, transform 180ms ease;
    }

        .faq-side-links a:hover,
        .faq-side-links a:focus {
            background: rgba(106, 63, 108, 0.12);
            transform: translateY(-2px);
        }

    .faq-side-links i {
        font-size: 1.1rem;
        width: 1.25rem;
        text-align: center;
    }

.faq-accordion-card {
    background: #fff;
    border: 1px solid rgba(106, 63, 108, 0.10);
    border-radius: var(--tcf-radius);
    box-shadow: 0 1rem 3rem rgba(31, 42, 36, 0.06);
    overflow: hidden;
}

.faq-accordion .accordion-item {
    border: 0;
    border-bottom: 1px solid rgba(31, 42, 36, 0.08);
}

    .faq-accordion .accordion-item:last-child {
        border-bottom: 0;
    }

.faq-accordion .accordion-button {
    background: #fff;
    color: var(--tcf-ink);
    font-size: 1.05rem;
    font-weight: 550 !important;
    line-height: 1.35;
    padding: 1rem 1.5rem;
    box-shadow: none;
}

    .faq-accordion .accordion-button:not(.collapsed) {
        background: radial-gradient(circle at top right, rgba(106, 63, 108, 0.10), transparent 16rem), #faf7fb;
        color: var(--tcf-primary-dark);
    }

    .faq-accordion .accordion-button:focus {
        border-color: transparent;
        box-shadow: inset 0 0 0 0.15rem rgba(106, 63, 108, 0.16);
    }

    .faq-accordion .accordion-button::after {
        filter: none;
    }

.faq-accordion .accordion-body {
    color: var(--tcf-muted);
    font-size: 1rem;
    line-height: 1.75;
    padding: 1.2rem 1.5rem 0.5rem;
}


/* Contact CTA */

.faq-contact-section {
    background: #faf7fb;
}

.faq-contact-card {
    background: radial-gradient(circle at top right, rgba(255, 255, 255, 0.14), transparent 24rem), linear-gradient(135deg, var(--tcf-primary-dark), var(--tcf-primary));
    border-radius: var(--tcf-radius);
    box-shadow: 0 1.5rem 4rem rgba(31, 42, 36, 0.12);
    overflow: hidden;
    padding: clamp(2rem, 5vw, 3.5rem);
}

    .faq-contact-card h2 {
        color: #fff;
        font-size: clamp(2rem, 4vw, 3rem);
        font-weight: 850;
        letter-spacing: -0.02em;
        line-height: 1.1;
        margin-bottom: 1rem;
    }

    .faq-contact-card p:not(.eyebrow) {
        color: rgba(255, 255, 255, 0.78);
        font-size: 1.1rem;
        line-height: 1.65;
        margin-bottom: 0;
    }


/* Responsive */

@media (max-width: 991.98px) {
    .faq-side-card {
        position: static;
    }

    .faq-intro-section {
        text-align: center;
    }

    .faq-contact-card {
        text-align: center;
    }
}

@media (max-width: 575.98px) {
    .faq-side-card {
        padding: 1.5rem;
        text-align: center;
    }

    .faq-accordion .accordion-button {
        font-size: 1rem;
        padding: 1.15rem 1.2rem;
    }

    .faq-accordion .accordion-body {
        padding: 0 1.2rem 1.25rem;
    }

    .faq-contact-card {
        padding: 1.75rem 1.4rem;
    }

        .faq-contact-card .btn {
            width: 100%;
        }
}

.btn-lg {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 50px;
    padding: 0.5rem 1.1rem !important;
    font-size: 1.1rem;
    font-weight: 600;
    line-height: 1.2;
    letter-spacing: 0.075em;
    text-transform: uppercase;
    text-align: center;
    text-decoration: none;
    border: 2px solid var(--tcf-primary-dark);
    transition: background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease, transform 0.2s ease;
}

.course-selector-section {
    position: relative;
    background: linear-gradient( 180deg, rgba(106, 63, 108, 0.045) 0%, rgba(106, 63, 108, 0.015) 100% );
}

.course-selector-heading {
    max-width: 760px;
}

    .course-selector-heading h2 {
        margin-bottom: 1rem;
        color: var(--tcf-ink);
        font-size: clamp(2rem, 4vw, 3rem);
        line-height: 1.12;
    }

    .course-selector-heading p {
        margin-bottom: 0;
        color: #626069;
        font-size: 1.05rem;
        line-height: 1.75;
    }

.course-selector-card {
    position: relative;
    display: flex;
    flex-direction: column;
    height: 100%;
    padding: 2rem;
    overflow: hidden;
    color: inherit;
    text-decoration: none;
    background: #fff;
    border: 1px solid rgba(91, 59, 96, 0.13);
    border-radius: 1.25rem;
    box-shadow: 0 14px 38px rgba(42, 29, 43, 0.07);
    transition: transform 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease;
}

    .course-selector-card::before {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 4px;
        content: "";
        background: var(--tcf-primary);
        transform: scaleX(0);
        transform-origin: left;
        transition: transform 0.25s ease;
    }

    .course-selector-card:hover,
    .course-selector-card:focus-visible {
        color: inherit;
        text-decoration: none;
        border-color: rgba(106, 63, 108, 0.35);
        box-shadow: 0 20px 50px rgba(42, 29, 43, 0.12);
        transform: translateY(-6px);
    }

        .course-selector-card:hover::before,
        .course-selector-card:focus-visible::before {
            transform: scaleX(1);
        }

    .course-selector-card:focus-visible {
        outline: 3px solid rgba(106, 63, 108, 0.25);
        outline-offset: 4px;
    }

.course-selector-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 3.75rem;
    height: 3.75rem;
    margin-bottom: 1.5rem;
    color: var(--tcf-primary);
    font-size: 1.55rem;
    background: rgba(106, 63, 108, 0.1);
    border-radius: 1rem;
    transition: color 0.25s ease, background-color 0.25s ease, transform 0.25s ease;
}

.course-selector-card:hover .course-selector-icon {
    color: #fff;
    background: var(--tcf-primary);
    transform: rotate(-3deg) scale(1.04);
}

.course-selector-content {
    display: flex;
    flex: 1;
    flex-direction: column;
}

.course-selector-label {
    display: block;
    margin-bottom: 0.7rem;
    color: var(--tcf-primary);
    font-size: 0.74rem;
    font-weight: 700;
    line-height: 1.3;
    letter-spacing: 0.09em;
    text-transform: uppercase;
}

.course-selector-card h3 {
    margin-bottom: 0.9rem;
    color: #2f2730;
    font-size: 1.3rem;
    font-weight: 550 !important;
    line-height: 1.3;
}

.course-selector-card p {
    margin-bottom: 1.5rem;
    color: #66616a;
    font-size: 0.96rem;
    line-height: 1.7;
}

.course-selector-link {
    display: inline-flex;
    align-items: center;
    gap: 0.55rem;
    margin-top: auto;
    color: var(--tcf-primary-dark);
    font-size: 0.92rem;
    font-weight: 700;
}

    .course-selector-link i {
        font-size: 0.85rem;
        transition: transform 0.2s ease;
    }

.course-selector-card:hover .course-selector-link i {
    transform: translateX(4px);
}


/* Featured Diploma Card */

.course-selector-card-featured {
    color: #fff;
    background: linear-gradient( 145deg, var(--tcf-primary-dark) 0%, var(--tcf-primary) 100% );
    border-color: transparent;
}

    .course-selector-card-featured::before {
        background: rgba(255, 255, 255, 0.75);
    }

    .course-selector-card-featured:hover,
    .course-selector-card-featured:focus-visible {
        color: #fff;
        border-color: transparent;
        box-shadow: 0 24px 55px rgba(76, 44, 79, 0.25);
    }

    .course-selector-card-featured .course-selector-icon {
        color: #fff;
        background: rgba(255, 255, 255, 0.14);
    }

    .course-selector-card-featured:hover .course-selector-icon {
        color: var(--tcf-primary-dark);
        background: #fff;
    }

    .course-selector-card-featured .course-selector-label,
    .course-selector-card-featured h3,
    .course-selector-card-featured p,
    .course-selector-card-featured .course-selector-link {
        color: #fff;
    }

    .course-selector-card-featured p {
        color: rgba(255, 255, 255, 0.82);
    }

.course-selector-badge {
    position: absolute;
    top: 1.25rem;
    right: 1.25rem;
    padding: 0.4rem 0.7rem;
    color: var(--tcf-primary-dark);
    font-size: 0.66rem;
    font-weight: 800;
    line-height: 1;
    letter-spacing: 0.07em;
    text-transform: uppercase;
    background: #fff;
    border-radius: 50rem;
}


/* Responsive adjustments */

@media (max-width: 1199.98px) {
    .course-selector-card {
        padding: 1.75rem;
    }
}

@media (max-width: 575.98px) {
    .course-selector-section {
        text-align: center;
    }

    .course-selector-heading {
        text-align: center;
    }

    .course-selector-link {
        text-align: center;
        justify-content: center;
    }

    .course-selector-icon {
        text-align: center;
        align-items: center;
        justify-content: center;
        display: flex;
    }

    .course-selector-icon-area {
        text-align: center;
        align-items: center;
        justify-content: center;
        display: flex;
    }
}

@media (prefers-reduced-motion: reduce) {
    .course-selector-card,
    .course-selector-card::before,
    .course-selector-icon,
    .course-selector-link i {
        transition: none;
    }
}

#pathway-finder,
#free-course,
#foundations-course,
#specialist-courses,
#diploma-course {
    scroll-margin-top: 120px;
}

#founder-banner-img {
    scroll-margin-top: 50px;
}

.course-cover-image,
.courses-large-cover-image {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}

.foundation-banner {
    width: 100%;
    margin: 0;
    padding: 0;
    overflow: hidden;
}

.foundation-banner-image {
    display: block;
    width: 100%;
    height: clamp(340px, 44vw, 960px);
    object-fit: cover;
    object-position: center;
}

@media (max-width: 991.98px) {
    .foundation-banner-image {
        height: 340px;
        object-position: 62% center;
    }
}

@media (max-width: 575.98px) {
    .foundation-banner {
        height: 340px;
        overflow: hidden;
    }

    .foundation-banner-image {
        width: 100%;
        height: 100%;
        object-fit: cover;
        object-position: 72% 52%;
        transform: scale(1.6);
        transform-origin: 86% 52%;
    }
}

.login-page {
    min-height: 100vh;
    display: grid;
    grid-template-columns: minmax(0, 1.1fr) minmax(420px, 0.9fr);
    background: #fff;
}

.login-cover {
    position: relative;
    min-height: 100vh;
    overflow: hidden;
    background: var(--tcf-primary-dark);
}

.login-cover-image {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    transform: scale(1.02);
}

.login-cover::after {
    content: "";
    position: absolute;
    inset: 0;
    background: radial-gradient(circle at 30% 20%, rgba(255, 255, 255, 0.12), transparent 26rem), linear-gradient(90deg, rgba(36, 21, 38, 0.82) 0%, rgba(36, 21, 38, 0.42) 48%, rgba(36, 21, 38, 0.18) 100%);
    z-index: 1;
}

.login-cover-overlay {
    position: relative;
    z-index: 2;
    min-height: 100vh;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    padding: clamp(2rem, 5vw, 4rem);
}

.login-brand {
    display: inline-flex;
    align-items: center;
    width: fit-content;
}

    .login-brand img {
        display: block;
        width: 120px;
        height: auto;
    }

.login-cover-copy {
    max-width: 620px;
}

    .login-cover-copy h1 {
        color: #fff;
        font-size: clamp(2.75rem, 5vw, 5.5rem);
        font-weight: 850;
        letter-spacing: -0.02em;
        line-height: 0.98;
        margin-bottom: 1.5rem;
    }

    .login-cover-copy p:not(.eyebrow) {
        color: rgba(255, 255, 255, 0.78);
        font-size: 1.15rem;
        line-height: 1.7;
        margin-bottom: 0;
    }


/* Panel */

.login-panel {
    min-height: 100vh;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: clamp(1.5rem, 4vw, 4rem);
    background: radial-gradient(circle at top right, rgba(106, 63, 108, 0.12), transparent 26rem), linear-gradient(180deg, #fff 0%, #faf7fb 100%);
}

.login-card {
    width: 100%;
    max-width: 500px;
}

.login-mobile-brand {
    display: none;
    margin-bottom: 2rem;
    text-align: center;
}

    .login-mobile-brand img {
        width: 78px;
        height: auto;
    }

.login-header {
    margin-bottom: 2rem;
}

    .login-header h2 {
        color: var(--tcf-ink);
        font-size: clamp(2rem, 4vw, 3rem);
        font-weight: 850;
        letter-spacing: -0.02em;
        line-height: 1.05;
        margin-bottom: 1rem;
    }

    .login-header p:not(.eyebrow) {
        color: var(--tcf-muted);
        line-height: 1.65;
        margin-bottom: 0;
    }

.login-form .form-label {
    color: var(--tcf-ink);
    font-size: 0.95rem;
    font-weight: 750;
    margin-bottom: 0.45rem;
}

.login-form .form-control {
    border: 1px solid rgba(31, 42, 36, 0.12);
    border-radius: 999px;
    color: var(--tcf-ink);
    font-size: 1rem;
    min-height: 3.35rem;
    padding: 0.85rem 1.2rem;
    box-shadow: none;
}

    .login-form .form-control:focus {
        border-color: rgba(106, 63, 108, 0.55);
        box-shadow: 0 0 0 0.2rem rgba(106, 63, 108, 0.12);
    }

.login-small-link {
    color: var(--tcf-primary-dark);
    font-size: 0.9rem;
    font-weight: 750;
    text-decoration: none;
}

    .login-small-link:hover,
    .login-small-link:focus {
        text-decoration: underline;
        text-underline-offset: 0.2em;
    }

.login-options {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin: 0.25rem 0 1.5rem;
}

    .login-options .form-check-label {
        color: var(--tcf-muted);
        font-size: 0.95rem;
        font-weight: 650;
    }

    .login-options .form-check-input:checked {
        background-color: var(--tcf-primary-dark);
        border-color: var(--tcf-primary-dark);
    }


/* OAuth */

.login-divider {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 2rem 0 1.25rem;
    color: var(--tcf-muted);
    font-size: 0.85rem;
    font-weight: 750;
}

    .login-divider::before {
        content: "";
        position: absolute;
        left: 0;
        right: 0;
        height: 1px;
        background: rgba(31, 42, 36, 0.10);
    }

    .login-divider span {
        position: relative;
        z-index: 1;
        background: #faf7fb;
        padding: 0 0.9rem;
    }

.login-oauth-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.75rem;
}

.login-cover-copy .eyebrow {
    color: #fff !important;
}

    .login-cover-copy .eyebrow::before {
        background: #fff !important;
    }

.login-oauth-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.55rem;
    min-height: 3.1rem;
    padding: 0.75rem 0.9rem;
    background: #fff;
    border: 1px solid rgba(31, 42, 36, 0.12);
    border-radius: 999px;
    color: var(--tcf-ink);
    font-size: 0.95rem;
    font-weight: 750;
    text-decoration: none;
    transition: transform 180ms ease, border-color 180ms ease, box-shadow 180ms ease;
}

    .login-oauth-btn:hover,
    .login-oauth-btn:focus {
        color: var(--tcf-primary-dark);
        border-color: rgba(106, 63, 108, 0.28);
        box-shadow: 0 0.75rem 2rem rgba(31, 42, 36, 0.08);
        transform: translateY(-2px);
    }

    .login-oauth-btn i {
        font-size: 1.1rem;
    }

.login-create-account {
    color: var(--tcf-muted);
    font-size: 0.95rem;
    font-weight: 650;
    margin: 1.75rem 0 0;
    text-align: center;
}

    .login-create-account a {
        color: var(--tcf-primary-dark);
        font-weight: 850;
        text-decoration: none;
    }

        .login-create-account a:hover,
        .login-create-account a:focus {
            text-decoration: underline;
            text-underline-offset: 0.2em;
        }


/* Responsive */

@media (max-width: 991.98px) {
    .login-page {
        display: block;
        min-height: 100vh;
    }

    .login-cover {
        display: none;
    }

    .login-panel {
        min-height: 100vh;
        padding: 2rem 1.25rem;
    }

    .login-mobile-brand {
        display: block;
    }

    .login-header {
        text-align: center;
    }

    .login-divider span {
        background: #faf7fb;
    }
}

@media (max-width: 575.98px) {
    .login-panel {
        align-items: flex-start;
        padding-top: 2rem;
    }

    .login-oauth-grid {
        grid-template-columns: 1fr;
    }

    .login-oauth-btn {
        justify-content: center;
    }

    .login-form .btn {
        width: 100%;
    }
}

.login-form .form-control {
    border: 1px solid rgba(31, 42, 36, 0.12);
    border-radius: 0.75rem;
    color: var(--tcf-ink);
    font-size: 1rem;
    min-height: 3.35rem;
    padding: 0.85rem 1.1rem;
    box-shadow: none;
}

    .login-form .form-control:focus {
        border-color: rgba(106, 63, 108, 0.55);
        box-shadow: 0 0 0 0.2rem rgba(106, 63, 108, 0.12);
    }


.register-card {
    max-width: 540px;
}

.register-form .form-control {
    border-radius: 0.75rem;
}

.register-consent-list {
    display: grid;
    gap: 0.9rem;
    margin: 1.5rem 0;
}

.register-check {
    display: flex;
    align-items: flex-start;
    gap: 0.7rem;
    margin: 0;
}

    .register-check .form-check-input {
        flex: 0 0 auto;
        margin-top: 0.25rem;
    }

        .register-check .form-check-input:checked {
            background-color: var(--tcf-primary-dark);
            border-color: var(--tcf-primary-dark);
        }

    .register-check .form-check-label {
        color: var(--tcf-muted);
        font-size: 0.95rem;
        font-weight: 650;
        line-height: 1.55;
    }

        .register-check .form-check-label a {
            color: var(--tcf-primary-dark);
            font-weight: 850;
            text-decoration: none;
        }

            .register-check .form-check-label a:hover,
            .register-check .form-check-label a:focus {
                text-decoration: underline;
                text-underline-offset: 0.2em;
            }

.register-submit-btn,
.register-login-btn {
    font-weight: 800;
    min-height: 3.25rem;
}

.register-submit-btn {
    margin-bottom: 0.85rem;
}

.register-login-btn {
    background: transparent;
}


/* Optional: slightly tighter register page because there are more fields */

.register-page .login-header {
    margin-bottom: 1.65rem;
}

.register-page .login-form .form-control {
    min-height: 3.15rem;
    padding: 0.75rem 1rem;
}

.register-page .login-form .form-label {
    margin-bottom: 0.4rem;
}


/* Responsive */

@media (max-width: 575.98px) {
    .register-card {
        max-width: 100%;
    }

    .register-consent-list {
        margin: 1.35rem 0;
    }

    .register-check .form-check-label {
        font-size: 0.92rem;
    }
}

.forgot-password-card {
    max-width: 500px;
}

.forgot-password-form .form-control {
    border-radius: 0.75rem;
}

.forgot-password-submit-btn,
.forgot-password-login-btn {
    font-weight: 800;
    min-height: 3.25rem;
}

.forgot-password-submit-btn {
    margin-bottom: 0.85rem;
}

.forgot-password-login-btn {
    background: transparent;
}

.forgot-password-page .login-header {
    margin-bottom: 1.8rem;
}

.forgot-password-page .login-form .form-control {
    min-height: 3.15rem;
    padding: 0.75rem 1rem;
}

.forgot-password-page .login-form .form-label {
    margin-bottom: 0.4rem;
}


/* Optional success message block for after submission */

.forgot-password-message {
    margin-top: 1.25rem;
    padding: 1rem 1.1rem;
    border-radius: 0.9rem;
    background: rgba(106, 63, 108, 0.08);
    border: 1px solid rgba(106, 63, 108, 0.12);
    color: var(--tcf-primary-dark);
    font-size: 0.95rem;
    font-weight: 650;
    line-height: 1.55;
}


/* Responsive */

@media (max-width: 575.98px) {
    .forgot-password-card {
        max-width: 100%;
    }

    .forgot-password-submit-btn,
    .forgot-password-login-btn {
        width: 100%;
    }
}

.login-oauth-grid-four {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.login-oauth-btn {
    border-radius: 0.75rem;
}

.login-oauth-google i {
    color: #DB4437;
}

.login-oauth-microsoft i {
    color: #00A4EF;
}

.login-oauth-apple i {
    color: #111111;
}

.login-oauth-facebook i {
    color: #1877F2;
}

.btn.disabled, .btn:disabled, fieldset:disabled .btn {
    background: #999999;
    border-color: #999999;
}

.my-tcf-hero {
    background: radial-gradient(circle at top right, rgba(106, 63, 108, 0.14), transparent 34rem), linear-gradient(180deg, #fff 0%, #faf7fb 100%);
    overflow: hidden;
}

    .my-tcf-hero .display-5 {
    }

.my-tcf-dashboard {
    background: #faf7fb;
}

.my-tcf-icon-area {
    display: flex-inline;
    text-align: center;
    justify-content: center;
}

.my-tcf-card {
    position: relative;
    display: flex;
    flex-direction: column;
    height: 100%;
    justify-content: center;
    text-align: center;
    min-height: 285px;
    padding: 2rem;
    overflow: hidden;
    background: #fff;
    border: 1px solid rgba(106, 63, 108, 0.10);
    border-radius: var(--tcf-radius);
    box-shadow: 0 1rem 3rem rgba(31, 42, 36, 0.06);
    color: var(--tcf-ink);
    text-decoration: none;
    transition: transform 180ms ease, box-shadow 180ms ease, border-color 180ms ease;
}

    .my-tcf-card::before {
        content: "";
        position: absolute;
        inset: 0 0 auto 0;
        height: 0.35rem;
        background: linear-gradient(90deg, var(--tcf-primary-dark), var(--tcf-primary));
        opacity: 0;
        transition: opacity 180ms ease;
    }

    .my-tcf-card:hover,
    .my-tcf-card:focus {
        color: var(--tcf-ink);
        border-color: rgba(106, 63, 108, 0.20);
        box-shadow: 0 1.5rem 4rem rgba(31, 42, 36, 0.11);
        transform: translateY(-5px);
    }

        .my-tcf-card:hover::before,
        .my-tcf-card:focus::before {
            opacity: 1;
        }

.my-tcf-card-primary {
    background: radial-gradient(circle at top right, rgba(255, 255, 255, 0.16), transparent 18rem), linear-gradient(135deg, var(--tcf-primary-dark), var(--tcf-primary));
    color: #fff;
    border-color: transparent;
}

    .my-tcf-card-primary:hover,
    .my-tcf-card-primary:focus {
        color: #fff;
    }

    .my-tcf-card-primary::before {
        background: rgba(255, 255, 255, 0.55);
        opacity: 1;
    }

.my-tcf-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 4.5rem;
    height: 4.5rem;
    margin-bottom: 1.4rem;
    border-radius: 999px;
    background: radial-gradient(circle at top left, rgba(255, 255, 255, 0.22), transparent 6rem), linear-gradient(135deg, var(--tcf-primary-dark), var(--tcf-primary));
    color: #fff;
    font-size: 1.45rem;
}

.my-tcf-card-primary .my-tcf-icon {
    background: rgba(255, 255, 255, 0.16);
    color: #fff;
    box-shadow: none;
    border: 1px solid rgba(255, 255, 255, 0.18);
}

.my-tcf-card h2 {
    color: inherit;
    font-size: 1.25rem;
    font-weight: 550 !important;
    line-height: 1.2;
    margin-bottom: 0.75rem;
}

.my-tcf-card p {
    color: var(--tcf-muted);
    font-size: 0.98rem;
    line-height: 1.6;
    margin-bottom: 1.5rem;
}

.my-tcf-card-primary p {
    color: rgba(255, 255, 255, 0.78);
}

.my-tcf-card-link {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    color: var(--tcf-primary-dark);
    font-size: 1rem;
    font-weight: 850;
    margin-top: auto;
}

    .my-tcf-card-link i {
        font-size: 0.85rem;
        transition: transform 180ms ease;
    }

.my-tcf-card:hover .my-tcf-card-link i,
.my-tcf-card:focus .my-tcf-card-link i {
    transform: translateX(4px);
}

.my-tcf-card-primary .my-tcf-card-link {
    color: #fff;
}


/* Summary Strip */

.my-tcf-summary {
    background: #fff;
    border: 1px solid rgba(106, 63, 108, 0.10);
    border-radius: var(--tcf-radius);
    box-shadow: 0 1rem 3rem rgba(31, 42, 36, 0.05);
    padding: clamp(1.5rem, 4vw, 2rem);
    margin-bottom: 2rem;
}

.my-tcf-summary-item {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 1rem;
    align-items: flex-start;
}

.my-tcf-summary-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 3.35rem;
    height: 3.35rem;
    border-radius: 999px;
    background: rgba(106, 63, 108, 0.08);
    color: var(--tcf-primary-dark);
    font-size: 1.15rem;
}

.my-tcf-summary-item strong {
    display: block;
    color: var(--tcf-ink);
    font-size: 1.02rem;
    font-weight: 850;
    margin-bottom: 0.3rem;
}

.my-tcf-summary-item p {
    color: var(--tcf-muted);
    font-size: 0.95rem;
    line-height: 1.55;
    margin-bottom: 0;
}


/* Account Actions */

.my-tcf-account-actions {
    background: radial-gradient(circle at top right, rgba(255, 255, 255, 0.14), transparent 24rem), linear-gradient(135deg, var(--tcf-primary-dark), var(--tcf-primary));
    border-radius: var(--tcf-radius);
    padding: clamp(2rem, 5vw, 3rem);
}

    .my-tcf-account-actions h2 {
        color: #fff;
        font-size: clamp(1.75rem, 3vw, 2.5rem);
        font-weight: 850;
        letter-spacing: -0.02em;
        line-height: 1.15;
        margin-bottom: 0.75rem;
    }

    .my-tcf-account-actions p {
        color: rgba(255, 255, 255, 0.78);
        font-size: 1.05rem;
        line-height: 1.65;
        margin-bottom: 0;
    }

    .my-tcf-account-actions .btn-secondary-outline {
        border-color: rgba(255, 255, 255, 0.75);
        color: #fff;
    }

        .my-tcf-account-actions .btn-secondary-outline:hover,
        .my-tcf-account-actions .btn-secondary-outline:focus {
            background: #fff;
            border-color: #fff;
            color: var(--tcf-primary-dark);
        }


/* Responsive */

@media (max-width: 991.98px) {
    .my-tcf-hero {
        text-align: center;
    }

    .my-tcf-card {
        min-height: 260px;
    }

    .my-tcf-account-actions {
        text-align: center;
    }
}

@media (max-width: 575.98px) {
    .my-tcf-card {
        min-height: auto;
        padding: 1.5rem;
    }

    .my-tcf-icon {
        width: 3.9rem;
        height: 3.9rem;
        border-radius: 999px;
        font-size: 1.25rem;
        margin-bottom: 1.1rem;
    }

    .my-tcf-card h2 {
        font-size: 1.15rem;
        font-weight: 550 !important;
    }

    .my-tcf-card p {
        font-size: 0.95rem;
        margin-bottom: 1.25rem;
    }

    .my-tcf-summary-item {
        grid-template-columns: 1fr;
        text-align: center;
    }

    .my-tcf-summary-icon {
        margin-inline: auto;
    }

    .my-tcf-account-actions .btn {
        width: 100%;
    }
}

.logged-out-card {
    max-width: 500px;
    text-align: center;
}

.logged-out-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 5.25rem;
    height: 5.25rem;
    margin: 0 auto 1.75rem;
    border-radius: 999px;
    background: radial-gradient(circle at top left, rgba(255, 255, 255, 0.22), transparent 6rem), linear-gradient(135deg, var(--tcf-primary-dark), var(--tcf-primary));
    color: #fff;
    font-size: 2rem;
}

.logged-out-header {
    margin-bottom: 2rem;
}

    .logged-out-header p:not(.eyebrow) {
        max-width: 34rem;
        margin-inline: auto;
    }

.logged-out-actions {
    display: grid;
    gap: 0.85rem;
}

.logged-out-login-btn,
.logged-out-home-btn {
    font-weight: 800;
    min-height: 3.25rem;
}

.logged-out-home-btn {
    background: transparent;
}


/* Optional softer notice */

.logged-out-notice {
    margin-top: 1.25rem;
    padding: 1rem 1.1rem;
    border-radius: 0.9rem;
    background: rgba(106, 63, 108, 0.08);
    border: 1px solid rgba(106, 63, 108, 0.12);
    color: var(--tcf-primary-dark);
    font-size: 0.95rem;
    font-weight: 650;
    line-height: 1.55;
}


/* Responsive */

@media (max-width: 575.98px) {
    .logged-out-card {
        max-width: 100%;
    }

    .logged-out-icon {
        width: 4.5rem;
        height: 4.5rem;
        font-size: 1.7rem;
        border-radius: 999px;
        margin-bottom: 1.5rem;
    }

    .logged-out-login-btn,
    .logged-out-home-btn {
        width: 100%;
    }
}

.my-courses-hero {
    background: radial-gradient(circle at top right, rgba(106, 63, 108, 0.14), transparent 34rem), linear-gradient(180deg, #fff 0%, #faf7fb 100%);
    overflow: hidden;
}

    .my-courses-hero .display-4 {
        letter-spacing: -0.055em;
    }

.my-courses-section {
    background: #faf7fb;
}

.my-courses-top-link {
    margin-bottom: 2rem;
}

    .my-courses-top-link a {
        display: inline-flex;
        align-items: center;
        gap: 0.55rem;
        color: var(--tcf-primary-dark);
        font-size: 0.95rem;
        font-weight: 800;
        text-decoration: none;
    }

        .my-courses-top-link a:hover,
        .my-courses-top-link a:focus {
            text-decoration: underline;
            text-underline-offset: 0.2em;
        }

.my-course-group {
    margin-bottom: clamp(3rem, 6vw, 4.5rem);
}

.my-course-group-final {
    margin-bottom: 0;
}

.my-course-group-header {
    display: flex;
    justify-content: space-between;
    align-items: end;
    gap: 1.5rem;
    margin-bottom: 1.5rem;
}

    .my-course-group-header h2 {
        color: var(--tcf-ink);
        font-size: clamp(1.8rem, 3vw, 2.6rem);
        letter-spacing: -0.02em;
        line-height: 1.1;
        margin-bottom: 0;
    }

.my-course-count {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    background: rgba(106, 63, 108, 0.08);
    border: 1px solid rgba(106, 63, 108, 0.12);
    border-radius: 999px;
    color: var(--tcf-primary-dark);
    font-size: 0.85rem;
    font-weight: 850;
    padding: 0.5rem 0.85rem;
}


/* Course Cards */

.my-course-card {
    position: relative;
    display: flex;
    flex-direction: column;
    height: 100%;
    min-height: 340px;
    padding: 2rem;
    overflow: hidden;
    background: #fff;
    border: 1px solid rgba(106, 63, 108, 0.10);
    border-radius: var(--tcf-radius);
    box-shadow: 0 1rem 3rem rgba(31, 42, 36, 0.06);
}

    .my-course-card::before {
        content: "";
        position: absolute;
        inset: 0 0 auto 0;
        height: 0.35rem;
        background: linear-gradient(90deg, var(--tcf-primary-dark), var(--tcf-primary));
    }

.my-course-card-main {
    flex: 1 1 auto;
}

.my-course-card h3 {
    color: var(--tcf-ink);
    font-size: 1.35rem;
    font-weight: 550 !important;
    letter-spacing: -0.02em;
    line-height: 1.2;
    margin-bottom: 0.85rem;
}

.my-course-card p {
    color: var(--tcf-muted);
    font-size: 0.98rem;
    line-height: 1.65;
    margin-bottom: 1.35rem;
}

.my-course-card-actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.9rem;
    margin-top: 1.5rem;
}

    .my-course-card-actions .btn {
        font-weight: 800;
        padding-inline: 1.4rem;
    }

.my-course-text-link {
    color: var(--tcf-primary-dark);
    font-size: 0.92rem;
    font-weight: 850;
    text-decoration: none;
}

    .my-course-text-link:hover,
    .my-course-text-link:focus {
        text-decoration: underline;
        text-underline-offset: 0.2em;
    }


/* Status Labels */

.my-course-status {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    border-radius: 999px;
    font-size: 0.8rem;
    font-weight: 850;
    line-height: 1;
    margin-bottom: 1.1rem;
    padding: 0.55rem 0.75rem;
}

.my-course-status-progress {
    background: rgba(106, 63, 108, 0.08);
    color: var(--tcf-primary-dark);
}

.my-course-status-complete {
    background: rgba(55, 145, 95, 0.10);
    color: #2d7d51;
}

.my-course-status-not-started {
    background: rgba(106, 63, 108, 0.08);
    color: var(--tcf-primary-dark);
}

.my-course-status-locked {
    background: rgba(31, 42, 36, 0.07);
    color: var(--tcf-muted);
}


/* Progress Bars */

.my-course-progress {
    margin-top: 1.35rem;
}

.my-course-progress-label {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    color: var(--tcf-muted);
    font-size: 0.88rem;
    font-weight: 750;
    margin-bottom: 0.55rem;
}

    .my-course-progress-label strong {
        color: var(--tcf-primary-dark);
        font-weight: 900;
    }

.my-course-progress-track {
    position: relative;
    height: 0.75rem;
    overflow: hidden;
    background: rgba(106, 63, 108, 0.10);
    border-radius: 999px;
}

    .my-course-progress-track span {
        display: block;
        height: 100%;
        background: linear-gradient(90deg, var(--tcf-primary-dark), var(--tcf-primary));
        border-radius: inherit;
    }


/* Notes */

.my-course-ready-note,
.my-course-locked-note {
    display: inline-flex;
    align-items: center;
    gap: 0.55rem;
    border-radius: 0.85rem;
    font-size: 0.92rem;
    font-weight: 750;
    line-height: 1.45;
    padding: 0.75rem 0.9rem;
}

.my-course-ready-note {
    background: rgba(106, 63, 108, 0.08);
    color: var(--tcf-primary-dark);
}

.my-course-locked-note {
    background: rgba(31, 42, 36, 0.05);
    color: var(--tcf-muted);
}


/* Featured Locked Diploma */

.my-course-card-featured {
    background: radial-gradient(circle at top right, rgba(255, 255, 255, 0.14), transparent 20rem), linear-gradient(135deg, var(--tcf-primary-dark), var(--tcf-primary));
    border-color: transparent;
}

    .my-course-card-featured::before {
        background: rgba(255, 255, 255, 0.55);
    }

    .my-course-card-featured h3 {
        color: #fff;
    }

    .my-course-card-featured p {
        color: rgba(255, 255, 255, 0.78);
    }

    .my-course-card-featured .my-course-status-locked,
    .my-course-card-featured .my-course-locked-note {
        background: rgba(255, 255, 255, 0.12);
        border: 1px solid rgba(255, 255, 255, 0.14);
        color: #fff;
    }

    .my-course-card-featured .my-course-text-link {
        color: #fff;
    }


/* Responsive */

@media (max-width: 991.98px) {
    .my-courses-hero {
        text-align: center;
    }

    .my-course-card {
        min-height: auto;
    }
}

@media (max-width: 575.98px) {
    .my-course-group-header {
        display: block;
    }

    .my-course-count {
        margin-top: 1rem;
    }

    .my-course-card {
        padding: 1.5rem;
    }

        .my-course-card h3 {
            font-size: 1.22rem;
        }

    .my-course-card-actions {
        display: grid;
        gap: 0.75rem;
    }

        .my-course-card-actions .btn {
            width: 100%;
        }

    .my-course-text-link {
        text-align: center;
    }
}

.certificates-hero {
    background: radial-gradient(circle at top right, rgba(106, 63, 108, 0.14), transparent 34rem), linear-gradient(180deg, #fff 0%, #faf7fb 100%);
    overflow: hidden;
}

    .certificates-hero .display-4 {
        letter-spacing: -0.055em;
    }

.certificates-section {
    background: #faf7fb;
}

.certificates-top-link {
    margin-bottom: 2rem;
}

    .certificates-top-link a {
        display: inline-flex;
        align-items: center;
        gap: 0.55rem;
        color: var(--tcf-primary-dark);
        font-size: 0.95rem;
        font-weight: 800;
        text-decoration: none;
    }

        .certificates-top-link a:hover,
        .certificates-top-link a:focus {
            text-decoration: underline;
            text-underline-offset: 0.2em;
        }


/* Groups */

.certificate-group {
    margin-bottom: clamp(3rem, 6vw, 4.5rem);
}

.certificate-group-final {
    margin-bottom: 0;
}

.certificate-group-header {
    display: flex;
    justify-content: space-between;
    align-items: end;
    gap: 1.5rem;
    margin-bottom: 1.5rem;
}

    .certificate-group-header h2 {
        color: var(--tcf-ink);
        font-size: clamp(1.8rem, 3vw, 2.6rem);
        letter-spacing: -0.02em;
        line-height: 1.1;
        margin-bottom: 0;
    }

.certificate-count {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    background: rgba(106, 63, 108, 0.08);
    border: 1px solid rgba(106, 63, 108, 0.12);
    border-radius: 999px;
    color: var(--tcf-primary-dark);
    font-size: 0.85rem;
    font-weight: 850;
    padding: 0.5rem 0.85rem;
}


/* Cards */

.certificate-card {
    position: relative;
    display: flex;
    flex-direction: column;
    height: 100%;
    min-height: 365px;
    padding: 2rem;
    overflow: hidden;
    background: #fff;
    border: 1px solid rgba(106, 63, 108, 0.10);
    border-radius: var(--tcf-radius);
    box-shadow: 0 1rem 3rem rgba(31, 42, 36, 0.06);
}

    .certificate-card::before {
        content: "";
        position: absolute;
        inset: 0 0 auto 0;
        height: 0.35rem;
        background: linear-gradient(90deg, var(--tcf-primary-dark), var(--tcf-primary));
    }

.certificate-card-main {
    flex: 1 1 auto;
}

.certificate-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 4.25rem;
    height: 4.25rem;
    margin-bottom: 1.25rem;
    border-radius: 999px;
    background: radial-gradient(circle at top left, rgba(255, 255, 255, 0.22), transparent 6rem), linear-gradient(135deg, var(--tcf-primary-dark), var(--tcf-primary));
    color: #fff;
    font-size: 1.45rem;
}

.certificate-card h3 {
    color: var(--tcf-ink);
    font-size: 1.35rem;
    font-weight: 550 !important;
    letter-spacing: -0.02em;
    line-height: 1.2;
    margin-bottom: 0.85rem;
}

.certificate-card p {
    color: var(--tcf-muted);
    font-size: 0.98rem;
    line-height: 1.65;
    margin-bottom: 1.35rem;
}

.certificate-card-actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.9rem;
    margin-top: 1.5rem;
}

    .certificate-card-actions .btn {
        font-weight: 800;
        padding-inline: 1.4rem;
    }

.certificate-text-link {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    color: var(--tcf-primary-dark);
    font-size: 0.92rem;
    font-weight: 850;
    text-decoration: none;
}

    .certificate-text-link:hover,
    .certificate-text-link:focus {
        text-decoration: underline;
        text-underline-offset: 0.2em;
    }


/* Status Labels */

.certificate-status {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    border-radius: 999px;
    font-size: 0.8rem;
    font-weight: 850;
    line-height: 1;
    margin-bottom: 1.1rem;
    padding: 0.55rem 0.75rem;
}

.certificate-status-achieved {
    background: rgba(55, 145, 95, 0.10);
    color: #2d7d51;
}

.certificate-status-progress,
.certificate-status-not-started {
    background: rgba(106, 63, 108, 0.08);
    color: var(--tcf-primary-dark);
}

.certificate-status-locked {
    background: rgba(31, 42, 36, 0.07);
    color: var(--tcf-muted);
}


/* Achieved Meta */

.certificate-meta {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.85rem;
    margin-top: 1.35rem;
}

    .certificate-meta div {
        background: rgba(106, 63, 108, 0.06);
        border: 1px solid rgba(106, 63, 108, 0.10);
        border-radius: 0.9rem;
        padding: 0.85rem;
    }

    .certificate-meta span {
        display: block;
        color: var(--tcf-muted);
        font-size: 0.78rem;
        font-weight: 800;
        letter-spacing: 0.08em;
        margin-bottom: 0.25rem;
        text-transform: uppercase;
    }

    .certificate-meta strong {
        display: block;
        color: var(--tcf-ink);
        font-size: 0.95rem;
        font-weight: 850;
        line-height: 1.3;
    }


/* Progress */

.certificate-progress {
    margin-top: 1.35rem;
}

.certificate-progress-label {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    color: var(--tcf-muted);
    font-size: 0.88rem;
    font-weight: 750;
    margin-bottom: 0.55rem;
}

    .certificate-progress-label strong {
        color: var(--tcf-primary-dark);
        font-weight: 900;
    }

.certificate-progress-track {
    position: relative;
    height: 0.75rem;
    overflow: hidden;
    background: rgba(106, 63, 108, 0.10);
    border-radius: 999px;
}

    .certificate-progress-track span {
        display: block;
        height: 100%;
        background: linear-gradient(90deg, var(--tcf-primary-dark), var(--tcf-primary));
        border-radius: inherit;
    }


/* Notes */

.certificate-note {
    display: inline-flex;
    align-items: center;
    gap: 0.55rem;
    border-radius: 0.85rem;
    background: rgba(106, 63, 108, 0.08);
    color: var(--tcf-primary-dark);
    font-size: 0.92rem;
    font-weight: 750;
    line-height: 1.45;
    padding: 0.75rem 0.9rem;
}

.certificate-note-locked {
    background: rgba(31, 42, 36, 0.05);
    color: var(--tcf-muted);
}


/* Diploma Featured Card */

.certificate-card-diploma {
    background: radial-gradient(circle at top right, rgba(255, 255, 255, 0.14), transparent 20rem), linear-gradient(135deg, var(--tcf-primary-dark), var(--tcf-primary));
    border-color: transparent;
}

    .certificate-card-diploma::before {
        background: rgba(255, 255, 255, 0.55);
    }

    .certificate-card-diploma .certificate-icon {
        background: rgba(255, 255, 255, 0.14);
        border: 1px solid rgba(255, 255, 255, 0.16);
        box-shadow: none;
    }

    .certificate-card-diploma h3 {
        color: #fff;
    }

    .certificate-card-diploma p {
        color: rgba(255, 255, 255, 0.78);
    }

    .certificate-card-diploma .certificate-status,
    .certificate-card-diploma .certificate-note {
        background: rgba(255, 255, 255, 0.12);
        border: 1px solid rgba(255, 255, 255, 0.14);
        color: #fff;
    }


/* Responsive */

@media (max-width: 991.98px) {
    .certificates-hero {
        text-align: center;
    }

    .certificate-card {
        min-height: auto;
    }
}

@media (max-width: 575.98px) {
    .certificate-group-header {
        display: block;
    }

    .certificate-count {
        margin-top: 1rem;
    }

    .certificate-card {
        padding: 1.5rem;
    }

    .certificate-icon {
        width: 3.85rem;
        height: 3.85rem;
        border-radius: 1rem;
        font-size: 1.25rem;
    }

    .certificate-card h3 {
        font-size: 1.22rem;
    }

    .certificate-meta {
        grid-template-columns: 1fr;
    }

    .certificate-card-actions {
        display: grid;
        gap: 0.75rem;
    }

        .certificate-card-actions .btn {
            width: 100%;
        }

    .certificate-text-link {
        justify-content: center;
    }
}

.orders-hero {
    background: radial-gradient(circle at top right, rgba(106, 63, 108, 0.14), transparent 34rem), linear-gradient(180deg, #fff 0%, #faf7fb 100%);
    overflow: hidden;
}

    .orders-hero .display-4 {
        letter-spacing: -0.055em;
    }

.orders-section {
    background: #faf7fb;
}

.orders-top-link {
    margin-bottom: 2rem;
}

    .orders-top-link a {
        display: inline-flex;
        align-items: center;
        gap: 0.55rem;
        color: var(--tcf-primary-dark);
        font-size: 0.95rem;
        font-weight: 800;
        text-decoration: none;
    }

        .orders-top-link a:hover,
        .orders-top-link a:focus {
            text-decoration: underline;
            text-underline-offset: 0.2em;
        }


/* Summary */

.orders-summary {
    background: #fff;
    border: 1px solid rgba(106, 63, 108, 0.10);
    border-radius: var(--tcf-radius);
    box-shadow: 0 1rem 3rem rgba(31, 42, 36, 0.05);
    margin-bottom: 2rem;
    padding: clamp(1.5rem, 4vw, 2rem);
}

.orders-summary-item {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 1rem;
    align-items: center;
}

.orders-summary-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 3.35rem;
    height: 3.35rem;
    border-radius: 999px;
    background: rgba(106, 63, 108, 0.08);
    color: var(--tcf-primary-dark);
    font-size: 1.15rem;
}

.orders-summary-item strong {
    display: block;
    color: var(--tcf-ink);
    font-size: 1.35rem;
    font-weight: 900;
    line-height: 1.1;
    margin-bottom: 0.25rem;
}

.orders-summary-item span:not(.orders-summary-icon) {
    display: block;
    color: var(--tcf-muted);
    font-size: 0.95rem;
    font-weight: 650;
}


/* Table Card */

.orders-table-card {
    background: #fff;
    border: 1px solid rgba(106, 63, 108, 0.10);
    border-radius: var(--tcf-radius);
    box-shadow: 0 1rem 3rem rgba(31, 42, 36, 0.06);
    overflow: hidden;
}

.orders-table-header {
    padding: 2rem 2rem 1.25rem;
    border-bottom: 1px solid rgba(31, 42, 36, 0.08);
}

    .orders-table-header h2 {
        color: var(--tcf-ink);
        font-size: clamp(1.6rem, 3vw, 2.2rem);
        font-weight: 850;
        letter-spacing: -0.04em;
        line-height: 1.15;
        margin-bottom: 0;
    }

.orders-table-wrap {
    width: 100%;
    overflow-x: auto;
}

.orders-table {
    width: 100%;
    min-width: 860px;
    border-collapse: collapse;
    margin: 0;
}

    .orders-table th,
    .orders-table td {
        padding: 1.15rem 1.25rem;
        border-bottom: 1px solid rgba(31, 42, 36, 0.08);
        vertical-align: middle;
    }

    .orders-table th {
        background: #faf7fb;
        color: var(--tcf-ink);
        font-size: 0.78rem;
        font-weight: 850;
        letter-spacing: 0.08em;
        text-transform: uppercase;
        white-space: nowrap;
    }

    .orders-table td {
        color: var(--tcf-muted);
        font-size: 0.96rem;
        line-height: 1.5;
    }

    .orders-table tbody tr:hover {
        background: rgba(106, 63, 108, 0.035);
    }

    .orders-table td strong {
        display: block;
        color: var(--tcf-ink);
        font-weight: 850;
        margin-bottom: 0.15rem;
    }

    .orders-table td span {
        display: block;
        color: var(--tcf-muted);
        font-size: 0.88rem;
    }

.orders-order-link {
    color: var(--tcf-primary-dark);
    font-weight: 850;
    text-decoration: none;
}

    .orders-order-link:hover,
    .orders-order-link:focus {
        text-decoration: underline;
        text-underline-offset: 0.2em;
    }

.orders-amount {
    color: var(--tcf-ink) !important;
    font-weight: 850;
    text-align: right;
    white-space: nowrap;
}

.orders-action {
    text-align: right;
    white-space: nowrap;
}

    .orders-action a {
        display: inline-flex;
        align-items: center;
        justify-content: flex-end;
        gap: 0.45rem;
        color: var(--tcf-primary-dark);
        font-size: 0.9rem;
        font-weight: 850;
        text-decoration: none;
    }

        .orders-action a:hover,
        .orders-action a:focus {
            text-decoration: underline;
            text-underline-offset: 0.2em;
        }

.orders-action-muted {
    color: var(--tcf-muted);
    font-size: 0.9rem;
    font-weight: 650;
}

.orders-table tfoot td {
    background: #faf7fb;
    border-bottom: 0;
    color: var(--tcf-ink);
    font-weight: 900;
}


/* Responsive */

@media (max-width: 991.98px) {
    .orders-hero {
        text-align: center;
    }
}

@media (max-width: 767.98px) {
    .orders-table {
        min-width: 0;
    }

        .orders-table thead,
        .orders-table tfoot {
            display: none;
        }

        .orders-table,
        .orders-table tbody,
        .orders-table tr,
        .orders-table td {
            display: block;
            width: 100%;
        }

            .orders-table tbody tr {
                padding: 1.25rem;
                border-bottom: 1px solid rgba(31, 42, 36, 0.08);
            }

                .orders-table tbody tr:last-child {
                    border-bottom: 0;
                }

            .orders-table td {
                display: grid;
                grid-template-columns: 9rem 1fr;
                gap: 1rem;
                padding: 0.6rem 0;
                border-bottom: 0;
                text-align: left !important;
            }

                .orders-table td::before {
                    content: attr(data-label);
                    color: var(--tcf-ink);
                    font-size: 0.75rem;
                    font-weight: 850;
                    letter-spacing: 0.08em;
                    text-transform: uppercase;
                }

    .orders-action a {
        justify-content: flex-start;
    }

    .orders-table-wrap {
        overflow-x: visible;
    }
}

@media (max-width: 575.98px) {
    .orders-summary-item {
        grid-template-columns: 1fr;
        text-align: center;
    }

    .orders-summary-icon {
        margin-inline: auto;
    }

    .orders-table-header {
        padding: 1.5rem;
    }

    .orders-table tbody tr {
        padding: 1.1rem;
    }

    .orders-table td {
        grid-template-columns: 1fr;
        gap: 0.25rem;
    }
}

.downloads-hero {
    background: radial-gradient(circle at top right, rgba(106, 63, 108, 0.14), transparent 34rem), linear-gradient(180deg, #fff 0%, #faf7fb 100%);
    overflow: hidden;
}

    .downloads-hero .display-4 {
        letter-spacing: -0.055em;
    }

.downloads-section {
    background: #faf7fb;
}

.downloads-top-link {
    margin-bottom: 2rem;
}

    .downloads-top-link a {
        display: inline-flex;
        align-items: center;
        gap: 0.55rem;
        color: var(--tcf-primary-dark);
        font-size: 0.95rem;
        font-weight: 800;
        text-decoration: none;
    }

        .downloads-top-link a:hover,
        .downloads-top-link a:focus {
            text-decoration: underline;
            text-underline-offset: 0.2em;
        }


/* Summary */

.downloads-summary {
    background: #fff;
    border: 1px solid rgba(106, 63, 108, 0.10);
    border-radius: var(--tcf-radius);
    box-shadow: 0 1rem 3rem rgba(31, 42, 36, 0.05);
    margin-bottom: clamp(2.5rem, 5vw, 3.5rem);
    padding: clamp(1.5rem, 4vw, 2rem);
}

.downloads-summary-item {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 1rem;
    align-items: center;
}

.downloads-summary-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 3.35rem;
    height: 3.35rem;
    border-radius: 1rem;
    background: rgba(106, 63, 108, 0.08);
    color: var(--tcf-primary-dark);
    font-size: 1.15rem;
}

.downloads-summary-item strong {
    display: block;
    color: var(--tcf-ink);
    font-size: 1.35rem;
    font-weight: 900;
    line-height: 1.1;
    margin-bottom: 0.25rem;
}

.downloads-summary-item span:not(.downloads-summary-icon) {
    display: block;
    color: var(--tcf-muted);
    font-size: 0.95rem;
    font-weight: 650;
}


/* Groups */

.download-group {
    margin-bottom: clamp(3rem, 6vw, 4.5rem);
}

.download-group-final {
    margin-bottom: 2rem;
}

.download-group-header {
    display: flex;
    justify-content: space-between;
    align-items: end;
    gap: 1.5rem;
    margin-bottom: 1.5rem;
}

    .download-group-header h2 {
        color: var(--tcf-ink);
        font-size: clamp(1.8rem, 3vw, 2.6rem);
        letter-spacing: -0.02em;
        line-height: 1.1;
        margin-bottom: 0;
    }

.download-count {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    background: rgba(106, 63, 108, 0.08);
    border: 1px solid rgba(106, 63, 108, 0.12);
    border-radius: 999px;
    color: var(--tcf-primary-dark);
    font-size: 0.85rem;
    font-weight: 850;
    padding: 0.5rem 0.85rem;
}


/* Featured Cards */

.download-card {
    position: relative;
    display: flex;
    flex-direction: column;
    height: 100%;
    min-height: 315px;
    padding: 2rem;
    overflow: hidden;
    background: #fff;
    border: 1px solid rgba(106, 63, 108, 0.10);
    border-radius: var(--tcf-radius);
    box-shadow: 0 1rem 3rem rgba(31, 42, 36, 0.06);
}

    .download-card::before {
        content: "";
        position: absolute;
        inset: 0 0 auto 0;
        height: 0.35rem;
        background: linear-gradient(90deg, var(--tcf-primary-dark), var(--tcf-primary));
    }

.download-card-main {
    flex: 1 1 auto;
}

.download-card-top {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 1rem;
    margin-bottom: 1.25rem;
}

.download-card h3 {
    color: var(--tcf-ink);
    font-size: 1.35rem;
    font-weight: 550 !important;
    letter-spacing: -0.02em;
    line-height: 1.2;
    margin-bottom: 0.85rem;
}

.download-card p {
    color: var(--tcf-muted);
    font-size: 0.98rem;
    line-height: 1.65;
    margin-bottom: 1.35rem;
}

.download-card-actions {
    margin-top: 1.5rem;
}

    .download-card-actions .btn {
        font-weight: 800;
        padding-inline: 1.4rem;
    }


/* File Icons */

.download-file-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 4.25rem;
    height: 4.25rem;
    border-radius: 999px;
    color: #fff;
    font-size: 1.45rem;
    box-shadow: 0 0.85rem 2rem rgba(31, 42, 36, 0.10);
}

.download-file-pdf {
    background: linear-gradient(135deg, #b42318, #d92d20);
}

.download-file-excel {
    background: linear-gradient(135deg, #166534, #22a06b);
}

.download-file-word {
    background: linear-gradient(135deg, #1d4ed8, #2f80ed);
}

.download-file-powerpoint {
    background: linear-gradient(135deg, #c2410c, #f97316);
}

.download-file-image {
    background: linear-gradient(135deg, var(--tcf-primary-dark), var(--tcf-primary));
}

.download-badge {
    display: inline-flex;
    align-items: center;
    border-radius: 999px;
    background: rgba(106, 63, 108, 0.08);
    border: 1px solid rgba(106, 63, 108, 0.12);
    color: var(--tcf-primary-dark);
    font-size: 0.78rem;
    font-weight: 850;
    line-height: 1;
    padding: 0.55rem 0.75rem;
}


/* Meta */

.download-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 0.65rem;
}

    .download-meta span {
        display: inline-flex;
        align-items: center;
        gap: 0.4rem;
        background: rgba(31, 42, 36, 0.045);
        border-radius: 999px;
        color: var(--tcf-muted);
        font-size: 0.82rem;
        font-weight: 750;
        line-height: 1;
        padding: 0.5rem 0.7rem;
    }


/* Download List */

.download-list-card {
    background: #fff;
    border: 1px solid rgba(106, 63, 108, 0.10);
    border-radius: var(--tcf-radius);
    box-shadow: 0 1rem 3rem rgba(31, 42, 36, 0.06);
    overflow: hidden;
}

.download-list-item {
    display: grid;
    grid-template-columns: auto 1fr auto;
    gap: 1.25rem;
    align-items: center;
    padding: 1.35rem 1.5rem;
    border-bottom: 1px solid rgba(31, 42, 36, 0.08);
}

    .download-list-item:last-child {
        border-bottom: 0;
    }

    .download-list-item:hover {
        background: rgba(106, 63, 108, 0.035);
    }

    .download-list-item .download-file-icon {
        width: 3.5rem;
        height: 3.5rem;
        border-radius: 999px;
        font-size: 1.2rem;
        box-shadow: none;
    }

.download-list-content h3 {
    color: var(--tcf-ink);
    font-size: 1.1rem;
    font-weight: 550 !important;
    letter-spacing: -0.02em;
    line-height: 1.25;
    margin-bottom: 0.35rem;
}

.download-list-content p {
    color: var(--tcf-muted);
    font-size: 0.95rem;
    line-height: 1.55;
    margin-bottom: 0.7rem;
}

.download-list-action {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.45rem;
    border-radius: 999px;
    background: rgba(106, 63, 108, 0.08);
    color: var(--tcf-primary-dark);
    font-size: 0.9rem;
    font-weight: 850;
    padding: 0.7rem 1rem;
    text-decoration: none;
    white-space: nowrap;
}

    .download-list-action:hover,
    .download-list-action:focus {
        background: var(--tcf-primary-dark);
        color: #fff;
    }


/* Help CTA */

.downloads-help-card {
    background: radial-gradient(circle at top right, rgba(255, 255, 255, 0.14), transparent 24rem), linear-gradient(135deg, var(--tcf-primary-dark), var(--tcf-primary));
    border-radius: var(--tcf-radius);
    box-shadow: 0 1.5rem 4rem rgba(31, 42, 36, 0.12);
    padding: clamp(2rem, 5vw, 3rem);
}

    .downloads-help-card h2 {
        color: #fff;
        font-size: clamp(1.75rem, 3vw, 2.5rem);
        letter-spacing: -0.02em;
        line-height: 1.15;
        margin-bottom: 0.75rem;
    }

    .downloads-help-card p {
        color: rgba(255, 255, 255, 0.78);
        font-size: 1.05rem;
        line-height: 1.65;
        margin-bottom: 0;
    }


/* Responsive */

@media (max-width: 991.98px) {
    .downloads-hero {
        text-align: center;
    }

    .download-card {
        min-height: auto;
    }

    .downloads-help-card {
        text-align: center;
    }
}

@media (max-width: 767.98px) {
    .download-list-item {
        grid-template-columns: auto 1fr;
    }

    .download-list-action {
        grid-column: 1 / -1;
        width: 100%;
    }
}

@media (max-width: 575.98px) {
    .downloads-summary-item {
        grid-template-columns: 1fr;
        text-align: center;
    }

    .downloads-summary-icon {
        margin-inline: auto;
    }

    .download-group-header {
        display: block;
        text-align: center;
    }

    .download-count {
        margin-top: 1rem;
    }

    .download-card {
        padding: 1.5rem;
    }

    .download-file-icon {
        width: 3.85rem;
        height: 3.85rem;
        border-radius: 999px;
        font-size: 1.25rem;
    }

    .download-card h3 {
        font-size: 1.22rem;
    }

    .download-card-actions .btn {
        width: 100%;
    }

    .download-list-item {
        grid-template-columns: 1fr;
        text-align: center;
        padding: 1.25rem;
    }

        .download-list-item .download-file-icon {
            margin-inline: auto;
        }

    .download-meta {
        justify-content: center;
    }

    .downloads-help-card .btn {
        width: 100%;
    }
}

.account-details-hero {
    background: radial-gradient(circle at top right, rgba(106, 63, 108, 0.14), transparent 34rem), linear-gradient(180deg, #fff 0%, #faf7fb 100%);
    overflow: hidden;
}

    .account-details-hero .display-4 {
        letter-spacing: -0.055em;
    }

.account-details-section {
    background: #faf7fb;
}

.account-details-top-link {
    margin-bottom: 2rem;
}

    .account-details-top-link a {
        display: inline-flex;
        align-items: center;
        gap: 0.55rem;
        color: var(--tcf-primary-dark);
        font-size: 0.95rem;
        font-weight: 800;
        text-decoration: none;
    }

        .account-details-top-link a:hover,
        .account-details-top-link a:focus {
            text-decoration: underline;
            text-underline-offset: 0.2em;
        }


/* Main Card */

.account-details-card,
.account-details-side-card,
.delete-account-card {
    background: #fff;
    border: 1px solid rgba(106, 63, 108, 0.10);
    border-radius: var(--tcf-radius);
    box-shadow: 0 1rem 3rem rgba(31, 42, 36, 0.06);
}

.account-details-card {
    padding: clamp(1.5rem, 4vw, 2.5rem);
}

.account-details-card-header {
    margin-bottom: 2rem;
}

    .account-details-card-header h2 {
        color: var(--tcf-ink);
        font-size: clamp(1.8rem, 3vw, 2.5rem);
        letter-spacing: -0.02em;
        line-height: 1.1;
        margin-bottom: 0.75rem;
    }

    .account-details-card-header p:not(.eyebrow) {
        color: var(--tcf-muted);
        line-height: 1.65;
        margin-bottom: 0;
    }


/* Form */

.account-details-form .form-label {
    color: var(--tcf-ink);
    font-size: 0.95rem;
    font-weight: 750;
    margin-bottom: 0.45rem;
}

.account-details-form .form-control {
    border: 1px solid rgba(31, 42, 36, 0.12);
    border-radius: 0.75rem;
    color: var(--tcf-ink);
    font-size: 1rem;
    min-height: 3.15rem;
    padding: 0.75rem 1rem;
    box-shadow: none;
}

    .account-details-form .form-control:focus {
        border-color: rgba(106, 63, 108, 0.55);
        box-shadow: 0 0 0 0.2rem rgba(106, 63, 108, 0.12);
    }

.account-preference-block {
    margin-top: 1.5rem;
    padding: 1.25rem;
    background: #faf7fb;
    border: 1px solid rgba(106, 63, 108, 0.10);
    border-radius: 1rem;
}

.account-check {
    display: flex;
    align-items: flex-start;
    gap: 0.7rem;
    margin: 0;
}

    .account-check .form-check-input {
        flex: 0 0 auto;
        margin-top: 0.25rem;
    }

        .account-check .form-check-input:checked {
            background-color: var(--tcf-primary-dark);
            border-color: var(--tcf-primary-dark);
        }

    .account-check .form-check-label {
        color: var(--tcf-ink);
        font-size: 0.98rem;
        font-weight: 750;
        line-height: 1.55;
    }

.account-form-note {
    color: var(--tcf-muted);
    font-size: 0.9rem;
    line-height: 1.55;
    margin: 0.65rem 0 0 2rem;
}

.account-password-fields {
    margin-top: 1rem;
}

.account-form-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.85rem;
    margin-top: 2rem;
}

.account-save-btn,
.account-cancel-btn {
    border-radius: 0.75rem !important;
    font-weight: 800;
    min-height: 3.25rem;
    padding-inline: 1.6rem;
}

.account-cancel-btn {
    background: transparent;
}


/* Side Card */

.account-details-side-card {
    position: sticky;
    top: 110px;
    padding: 2rem;
    text-align: center;
}

.account-side-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 4.25rem;
    height: 4.25rem;
    margin-bottom: 1.25rem;
    border-radius: 999px;
    background: radial-gradient(circle at top left, rgba(255, 255, 255, 0.22), transparent 6rem), linear-gradient(135deg, var(--tcf-primary-dark), var(--tcf-primary));
    color: #fff;
    font-size: 1.45rem;
}

.account-details-side-card h2 {
    color: var(--tcf-ink);
    font-size: 1.45rem;
    font-weight: 850;
    letter-spacing: -0.02em;
    line-height: 1.2;
    margin-bottom: 0.85rem;
}

.account-details-side-card p {
    color: var(--tcf-muted);
    font-size: 0.96rem;
    line-height: 1.65;
    margin-bottom: 1.25rem;
}

.account-side-list {
    display: grid;
    gap: 0.75rem;
    list-style: none;
    margin: 0;
    padding: 0;
}

    .account-side-list li {
        display: flex;
        align-items: flex-start;
        gap: 0.65rem;
        color: var(--tcf-muted);
        font-size: 0.95rem;
        font-weight: 650;
        line-height: 1.45;
    }

    .account-side-list i {
        color: var(--tcf-primary-dark);
        margin-top: 0.15rem;
    }


/* Delete Account */

.delete-account-section {
    margin-top: 2rem;
}

.delete-account-card {
    border-color: rgba(180, 35, 24, 0.22);
    padding: clamp(1.5rem, 4vw, 2rem);
}

.delete-account-copy {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 1.25rem;
    align-items: flex-start;
}

.delete-account-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 4.25rem;
    height: 4.25rem;
    border-radius: 999px;
    background: rgba(180, 35, 24, 0.10);
    color: #b42318;
    font-size: 1.45rem;
}

.delete-account-card .eyebrow {
    color: #b42318;
}

    .delete-account-card .eyebrow::before {
        background: #b42318;
    }

.delete-account-card h2 {
    color: var(--tcf-ink);
    font-size: clamp(1.55rem, 3vw, 2.2rem);
    letter-spacing: -0.02em;
    line-height: 1.15;
    margin-bottom: 0.65rem;
}

.delete-account-card p:not(.eyebrow) {
    color: var(--tcf-muted);
    font-size: 1rem;
    line-height: 1.65;
    margin-bottom: 0;
}

.delete-account-btn {
    border-radius: 0.75rem !important;
    font-weight: 850;
    min-height: 3.25rem;
    padding-inline: 1.5rem;
}


/* Responsive */

@media (max-width: 991.98px) {
    .account-details-hero {
        text-align: center;
    }

    .account-details-side-card {
        position: static;
    }

    .delete-account-card {
        text-align: center;
    }

    .delete-account-copy {
        grid-template-columns: 1fr;
    }

    .delete-account-icon {
        margin-inline: auto;
    }
}

@media (max-width: 575.98px) {
    .account-details-card,
    .account-details-side-card,
    .delete-account-card {
        padding: 1.5rem;
        text-align: center;
    }

    .account-preference-block {
        padding: 1rem;
    }

    .account-form-note {
        margin-left: 0;
    }

    .account-form-actions {
        display: grid;
    }

    .account-save-btn,
    .account-cancel-btn,
    .delete-account-btn {
        width: 100%;
    }
}

.billing-hero {
    background: radial-gradient(circle at top right, rgba(106, 63, 108, 0.14), transparent 34rem), linear-gradient(180deg, #fff 0%, #faf7fb 100%);
    overflow: hidden;
}

    .billing-hero .display-4 {
        letter-spacing: -0.055em;
    }

.billing-section {
    background: #faf7fb;
}

.billing-top-link {
    margin-bottom: 2rem;
}

    .billing-top-link a {
        display: inline-flex;
        align-items: center;
        gap: 0.55rem;
        color: var(--tcf-primary-dark);
        font-size: 0.95rem;
        font-weight: 800;
        text-decoration: none;
    }

        .billing-top-link a:hover,
        .billing-top-link a:focus {
            text-decoration: underline;
            text-underline-offset: 0.2em;
        }


/* Cards */

.billing-card,
.billing-side-card,
.payment-methods-card {
    background: #fff;
    border: 1px solid rgba(106, 63, 108, 0.10);
    border-radius: var(--tcf-radius);
    box-shadow: 0 1rem 3rem rgba(31, 42, 36, 0.06);
}

.billing-card {
    padding: clamp(1.5rem, 4vw, 2.5rem);
}

.billing-card-header {
    margin-bottom: 2rem;
}

    .billing-card-header h2,
    .payment-methods-header h2 {
        color: var(--tcf-ink);
        font-size: clamp(1.8rem, 3vw, 2.5rem);
        font-weight: 850;
        letter-spacing: -0.02em;
        line-height: 1.1;
        margin-bottom: 0.75rem;
    }

    .billing-card-header p:not(.eyebrow),
    .payment-methods-header p:not(.eyebrow) {
        color: var(--tcf-muted);
        line-height: 1.65;
        margin-bottom: 0;
    }


/* Form */

.billing-form .form-label {
    color: var(--tcf-ink);
    font-size: 0.95rem;
    font-weight: 750;
    margin-bottom: 0.45rem;
}

    .billing-form .form-label span {
        color: var(--tcf-muted);
        font-size: 0.85rem;
        font-weight: 650;
    }

.billing-form .form-control,
.billing-form .form-select {
    border: 1px solid rgba(31, 42, 36, 0.12);
    border-radius: 0.75rem;
    color: var(--tcf-ink);
    font-size: 1rem;
    min-height: 3.15rem;
    padding: 0.75rem 1rem;
    box-shadow: none;
}

    .billing-form .form-control:focus,
    .billing-form .form-select:focus {
        border-color: rgba(106, 63, 108, 0.55);
        box-shadow: 0 0 0 0.2rem rgba(106, 63, 108, 0.12);
    }

.billing-form-divider {
    border-color: rgba(31, 42, 36, 0.10);
    margin: 1.75rem 0 1.25rem;
    opacity: 1;
}

.billing-form-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.85rem;
    margin-top: 2rem;
}

.billing-save-btn,
.billing-cancel-btn {
    border-radius: 0.75rem !important;
    font-weight: 800;
    min-height: 3.25rem;
    padding-inline: 1.6rem;
}

.billing-cancel-btn {
    background: transparent;
}


/* Side Card */

.billing-side-card {
    position: sticky;
    top: 110px;
    padding: 2rem;
    text-align: center;
}

.billing-side-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 4.25rem;
    height: 4.25rem;
    margin-bottom: 1.25rem;
    border-radius: 999px;
    background: radial-gradient(circle at top left, rgba(255, 255, 255, 0.22), transparent 6rem), linear-gradient(135deg, var(--tcf-primary-dark), var(--tcf-primary));
    color: #fff;
    font-size: 1.45rem;
}

.billing-side-card h2 {
    color: var(--tcf-ink);
    font-size: 1.45rem;
    font-weight: 550 !important;
    letter-spacing: -0.02em;
    line-height: 1.2;
    margin-bottom: 0.85rem;
}

.billing-side-card p {
    color: var(--tcf-muted);
    font-size: 0.96rem;
    line-height: 1.65;
    margin-bottom: 1.25rem;
}

.billing-side-list {
    display: grid;
    gap: 0.75rem;
    list-style: none;
    margin: 0;
    padding: 0;
}

    .billing-side-list li {
        display: flex;
        align-items: flex-start;
        gap: 0.65rem;
        color: var(--tcf-muted);
        font-size: 0.95rem;
        font-weight: 650;
        line-height: 1.45;
    }

    .billing-side-list i {
        color: var(--tcf-primary-dark);
        margin-top: 0.15rem;
    }


/* Payment Methods */

.payment-methods-section {
    margin-top: 2rem;
}

.payment-methods-card {
    padding: clamp(1.5rem, 4vw, 2.5rem);
}

.payment-methods-header {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 1.5rem;
    margin-bottom: 2rem;
}

.payment-add-btn {
    flex: 0 0 auto;
    font-weight: 800;
}

.payment-methods-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
}

.payment-method-card {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 1rem;
    align-items: flex-start;
    padding: 1.25rem;
    background: #faf7fb;
    border: 1px solid rgba(106, 63, 108, 0.10);
    border-radius: 1rem;
}

.payment-method-card-saved {
    background: radial-gradient(circle at top right, rgba(106, 63, 108, 0.08), transparent 16rem), #fff;
    border-color: rgba(106, 63, 108, 0.18);
}

.payment-method-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 3.35rem;
    height: 3.35rem;
    border-radius: 1rem;
    background: rgba(106, 63, 108, 0.08);
    color: var(--tcf-primary-dark);
    font-size: 1.4rem;
}

.payment-method-content h3 {
    color: var(--tcf-ink);
    font-size: 1.05rem;
    font-weight: 850;
    letter-spacing: -0.02em;
    line-height: 1.25;
    margin-bottom: 0.25rem;
}

.payment-method-content p {
    color: var(--tcf-muted);
    font-size: 0.92rem;
    line-height: 1.5;
    margin-bottom: 0;
}

.payment-method-status {
    display: inline-flex;
    align-items: center;
    width: fit-content;
    margin-bottom: 0.55rem;
    border-radius: 999px;
    background: rgba(55, 145, 95, 0.10);
    color: #2d7d51;
    font-size: 0.72rem;
    font-weight: 850;
    letter-spacing: 0.08em;
    line-height: 1;
    padding: 0.45rem 0.6rem;
    text-transform: uppercase;
}

.payment-method-status-muted {
    background: rgba(106, 63, 108, 0.08);
    color: var(--tcf-primary-dark);
}

.payment-method-actions {
    grid-column: 1 / -1;
    display: flex;
    flex-wrap: wrap;
    gap: 0.85rem;
    margin-left: 4.35rem;
}

    .payment-method-actions a {
        color: var(--tcf-primary-dark);
        font-size: 0.9rem;
        font-weight: 850;
        text-decoration: none;
    }

        .payment-method-actions a:hover,
        .payment-method-actions a:focus {
            text-decoration: underline;
            text-underline-offset: 0.2em;
        }


/* Responsive */

@media (max-width: 991.98px) {
    .billing-hero {
        text-align: center;
    }

    .billing-side-card {
        position: static;
    }

    .payment-methods-header {
        display: block;
    }

    .payment-add-btn {
        margin-top: 1.25rem;
    }
}

@media (max-width: 767.98px) {
    .payment-methods-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 575.98px) {
    .billing-card,
    .billing-side-card,
    .payment-methods-card {
        padding: 1.5rem;
        text-align: center;
    }

    .billing-form-actions {
        display: grid;
    }

    .billing-save-btn,
    .billing-cancel-btn,
    .payment-add-btn {
        width: 100%;
    }

    .payment-method-card {
        grid-template-columns: 1fr;
        text-align: center;
    }

    .payment-method-icon,
    .payment-method-status {
        margin-inline: auto;
    }

    .payment-method-actions {
        justify-content: center;
        margin-left: 0;
    }
}

.hero-section.tcf-hero-animating [data-hero-type] {
    display: grid;
}

    .hero-section.tcf-hero-animating [data-hero-type]::before,
    .hero-section.tcf-hero-animating [data-hero-type-text] {
        grid-area: 1 / 1;
    }

    .hero-section.tcf-hero-animating [data-hero-type]::before {
        content: attr(data-full-text);
        visibility: hidden;
        pointer-events: none;
    }


/* Paragraph and buttons */

.hero-section.tcf-hero-animating [data-hero-copy],
.hero-section.tcf-hero-animating [data-hero-actions] {
    opacity: 0;
    transform: translateY(18px);
    pointer-events: none;
    will-change: opacity, transform;
}

    .hero-section.tcf-hero-animating [data-hero-copy].is-visible,
    .hero-section.tcf-hero-animating [data-hero-actions].is-visible {
        opacity: 1;
        transform: translateY(0);
        pointer-events: auto;
        transition: opacity 0.55s ease, transform 0.65s cubic-bezier(0.22, 1, 0.36, 1);
    }


/* Typing cursor */

.hero-section.is-typing [data-hero-type-text]::after {
    content: "";
    display: inline-block;
    width: 2px;
    height: 0.82em;
    margin-left: 0.08em;
    vertical-align: -0.04em;
    background-color: currentColor;
    animation: tcf-typing-cursor 0.7s step-end infinite;
}

@keyframes tcf-typing-cursor {
    0%, 45% {
        opacity: 1;
    }

    46%, 100% {
        opacity: 0;
    }
}


/* =========================================================
   PROOF BAR
   ========================================================= */

/* Hide the complete proof bar while preserving its layout */
[data-proof-bar].tcf-proof-animating {
    opacity: 0;
    transform: translateY(14px);
    visibility: hidden;
    pointer-events: none;
    will-change: opacity, transform;
}

    /* Fade the complete bar into view */
    [data-proof-bar].tcf-proof-animating.is-visible {
        opacity: 1;
        transform: translateY(0);
        visibility: visible;
        pointer-events: auto;
        transition: opacity 0.55s ease, transform 0.7s cubic-bezier(0.22, 1, 0.36, 1);
    }

    /* Keep each proof item hidden until its staggered reveal */
    [data-proof-bar].tcf-proof-animating [data-proof-item] {
        opacity: 0;
        transform: translateY(14px) scale(0.94);
        will-change: opacity, transform;
    }

        /* Reveal each individual proof item */
        [data-proof-bar].tcf-proof-animating [data-proof-item].is-visible {
            opacity: 1;
            transform: translateY(0) scale(1);
            transition: opacity 0.45s ease, transform 0.6s cubic-bezier(0.22, 1, 0.36, 1);
        }


/* Slightly smaller movement on mobile */

@media (max-width: 767.98px) {
    .hero-section.tcf-hero-animating [data-hero-copy],
    .hero-section.tcf-hero-animating [data-hero-actions] {
        transform: translateY(12px);
    }

    [data-proof-bar].tcf-proof-animating [data-proof-item] {
        transform: translateY(10px) scale(0.96);
    }
}


/* Accessibility */

@media (prefers-reduced-motion: reduce) {
    .hero-section.tcf-hero-animating [data-hero-copy],
    .hero-section.tcf-hero-animating [data-hero-actions],
    [data-proof-bar].tcf-proof-animating [data-proof-item] {
        opacity: 1 !important;
        transform: none !important;
        transition: none !important;
        animation: none !important;
        pointer-events: auto !important;
    }

    .hero-section.is-typing [data-hero-type-text]::after {
        display: none !important;
    }
}

@media (prefers-reduced-motion: reduce) {
    .hero-section.tcf-hero-animating [data-hero-copy],
    .hero-section.tcf-hero-animating [data-hero-actions],
    [data-proof-bar].tcf-proof-animating,
    [data-proof-bar].tcf-proof-animating [data-proof-item] {
        opacity: 1 !important;
        transform: none !important;
        visibility: visible !important;
        transition: none !important;
        animation: none !important;
        pointer-events: auto !important;
    }

    .hero-section.is-typing [data-hero-type-text]::after {
        display: none !important;
    }

    .hero-section.tcf-hero-animating [data-hero-image] {
        opacity: 0;
        transform: translateX(24px) scale(0.975);
        will-change: opacity, transform;
    }

        .hero-section.tcf-hero-animating [data-hero-image].is-visible {
            opacity: 1;
            transform: translateX(0) scale(1);
            transition: opacity 0.75s ease, transform 0.9s cubic-bezier(0.22, 1, 0.36, 1);
        }


    @media (max-width: 991.98px) {
        .hero-section.tcf-hero-animating [data-hero-image] {
            transform: translateY(14px) scale(0.98);
        }

            .hero-section.tcf-hero-animating [data-hero-image].is-visible {
                transform: translateY(0) scale(1);
            }
    }


    @media (prefers-reduced-motion: reduce) {
        .hero-section.tcf-hero-animating [data-hero-image] {
            opacity: 1 !important;
            transform: none !important;
            transition: none !important;
        }
    }
}

.blog-section {
    position: relative;
    background: radial-gradient( circle at 92% 8%, rgba(106, 63, 108, 0.055), transparent 28rem ), linear-gradient( 180deg, #ffffff 0%, #fbf8fa 100% );
    border-top: 1px solid rgba(91, 59, 96, 0.08);
}

    .blog-section::before {
        content: "";
        position: absolute;
        top: 0;
        left: 50%;
        width: 4rem;
        height: 3px;
        background-color: var(--tcf-primary);
        transform: translateX(-50%);
    }


/* Article card */

.blog-card {
    display: flex;
    flex-direction: column;
    height: 100%;
    overflow: hidden;
    background-color: #ffffff;
    border: 1px solid rgba(91, 59, 96, 0.12);
    border-radius: var(--tcf-radius);
    box-shadow: 0 0.75rem 2rem rgba(67, 39, 69, 0.07);
    transition: transform 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease;
}

    .blog-card:hover {
        border-color: rgba(91, 59, 96, 0.24);
        box-shadow: 0 1rem 2.25rem rgba(67, 39, 69, 0.12);
        transform: translateY(-4px);
    }


/* Article image */

.blog-card-image-link {
    display: block;
    overflow: hidden;
    aspect-ratio: 16 / 10;
    background-color: #f0eaee;
}

.blog-card-image {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.45s ease;
}

.blog-card:hover .blog-card-image {
    transform: scale(1.035);
}


/* Article content */

.blog-card-body {
    display: flex;
    flex: 1;
    flex-direction: column;
    padding: 1.5rem;
}

.blog-card-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 0.45rem 1.15rem;
    margin-bottom: 0.85rem;
    color: #776f74;
    font-size: 0.78rem;
    font-weight: 500;
}

    .blog-card-meta span + span {
        position: relative;
    }

        .blog-card-meta span + span::before {
            content: "";
            position: absolute;
            top: 50%;
            left: -0.65rem;
            width: 3px;
            height: 3px;
            background-color: rgba(91, 59, 96, 0.5);
            border-radius: 50%;
            transform: translateY(-50%);
        }

.blog-card-title {
    margin-bottom: 1.5rem;
    font-size: 1.2rem;
    font-weight: 500 !important;
    line-height: 1.4;
}

    .blog-card-title a {
        color: #1e1a1e;
        text-decoration: none;
        transition: color 0.2s ease;
    }

        .blog-card-title a:hover,
        .blog-card-title a:focus-visible {
            color: var(--tcf-primary-dark);
        }


/* Card footer */

.blog-card-footer {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem 1rem;
    margin-top: auto;
    padding-top: 1rem;
    border-top: 1px solid rgba(91, 59, 96, 0.1);
}

.blog-card-author {
    color: #5c555a;
    font-size: 0.8rem;
}

.blog-card-link {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    color: var(--tcf-primary-dark);
    font-size: 0.75rem;
    font-weight: 700;
    letter-spacing: 0.07em;
    text-decoration: none;
    text-transform: uppercase;
}

    .blog-card-link span {
        font-size: 1rem;
        transition: transform 0.2s ease;
    }

    .blog-card-link:hover,
    .blog-card-link:focus-visible {
        color: var(--tcf-primary);
    }

        .blog-card-link:hover span,
        .blog-card-link:focus-visible span {
            transform: translateX(0.25rem);
        }


/* View all button */

.blog-section-footer {
    margin-top: 3rem;
    text-align: center;
}


/* Responsive adjustments */

@media (max-width: 767.98px) {
    .blog-card-body {
        padding: 1.35rem;
    }

    .blog-card-title {
        font-size: 1.1rem;
    }

    .blog-section-footer {
        margin-top: 2.5rem;
    }
}

@media (max-width: 575.98px) {
    .blog-card-meta {
        display: block;
    }

        .blog-card-meta span {
            display: block;
        }

            .blog-card-meta span + span {
                margin-top: 0.3rem;
            }

                .blog-card-meta span + span::before {
                    display: none;
                }
}

.course-foundation-note {
    display: flex;
    align-items: center;
    gap: 0.65rem;
    margin-top: 1.5rem;
    margin-bottom: 0;
    color: var(--tcf-primary-dark) !important;
    font-size: 0.95rem;
    font-weight: 700;
}

    .course-foundation-note i {
        font-size: 1.4rem;
    }

.course-foundations-included {
    padding: clamp(2.5rem, 5vw, 4rem) 0;
    background: radial-gradient(circle at top right, rgba(106, 63, 108, 0.10), transparent 28rem), linear-gradient(180deg, #fff 0%, #faf7fb 100%);
}

.course-foundations-included-card {
    padding: clamp(1.5rem, 4vw, 2.5rem);
    background: #fff;
    border: 1px solid rgba(31, 42, 36, 0.1);
    border-left: 5px solid var(--tcf-primary);
    border-radius: var(--tcf-radius);
    box-shadow: 0 1rem 3rem rgba(31, 42, 36, 0.06);
}

.course-foundations-included-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 4.5rem;
    height: 4.5rem;
    border-radius: 50%;
    background: var(--tcf-soft);
    color: var(--tcf-primary);
    font-size: 2rem;
}

.course-foundations-included h2 {
    color: var(--tcf-ink);
}

.course-foundations-included p:not(.eyebrow) {
    max-width: 58rem;
    color: var(--tcf-muted);
    line-height: 1.7;
}

.course-foundations-included .btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    white-space: nowrap;
}

@media (max-width: 991.98px) {
    .course-foundations-included {
        text-align: center;
    }

        .course-foundations-included p:not(.eyebrow) {
            margin-inline: auto;
        }
}

.blog-post {
    background: #fff;
}


/* Header */

.blog-post-header {
    padding: 5rem 0 3.5rem;
    background: radial-gradient( circle at 90% 10%, rgba(106, 63, 108, 0.08), transparent 28rem ), linear-gradient( 180deg, #f8f4f6 0%, #ffffff 100% );
}

.blog-post-header-inner {
    max-width: 960px;
    margin-inline: auto;
}

.blog-post-back-link {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    margin-bottom: 2.5rem;
    color: var(--tcf-primary-dark);
    font-size: 0.78rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-decoration: none;
    text-transform: uppercase;
}

    .blog-post-back-link span {
        font-size: 1rem;
        transition: transform 0.2s ease;
    }

    .blog-post-back-link:hover span {
        transform: translateX(-0.25rem);
    }

.blog-post-header .eyebrow {
    align-items: flex-start;
}

.blog-post-title {
    max-width: 940px;
    margin-bottom: 1.5rem;
    font-size: clamp(2.3rem, 3vw, 3.25rem);
    font-weight: 400 !important;
    line-height: 1.08;
    letter-spacing: -0.02em;
}

.blog-post-introduction {
    max-width: 760px;
    margin-bottom: 2rem;
    color: #5c555a;
    font-size: clamp(1.05rem, 2vw, 1.25rem);
    line-height: 1.7;
}


/* Author byline */

.blog-post-byline {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.9rem;
}

.blog-author-avatar {
    width: 58px;
    height: 58px;
    object-fit: cover;
    object-position: center top;
    border: 3px solid rgba(106, 63, 108, 0.12);
    border-radius: 50%;
}

.blog-author-details {
    display: flex;
    flex-direction: column;
    padding-right: 1.5rem;
    border-right: 1px solid rgba(91, 59, 96, 0.15);
}

.blog-author-label {
    color: #776f74;
    font-size: 0.72rem;
}

.blog-author-name {
    color: #211d21;
    font-size: 0.9rem;
    font-weight: 600;
}

.blog-post-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 0.6rem;
    color: #6c6469;
    font-size: 0.82rem;
}


/* Featured image */

.blog-post-featured {
    max-width: 1120px;
    margin: 0 auto 4.5rem;
}

.blog-post-featured-image {
    display: block;
    width: 100%;
    max-height: 650px;
    object-fit: cover;
    aspect-ratio: 16 / 8.5;
    border-radius: var(--tcf-radius);
    box-shadow: 0 1.5rem 3.5rem rgba(41, 29, 40, 0.12);
}

.blog-post-featured figcaption {
    margin-top: 0.85rem;
    color: #776f74;
    font-size: 0.78rem;
    text-align: center;
}


/* Main article column */

.blog-post-layout {
    display: flex;
    justify-content: center;
}

.blog-post-content {
    width: 100%;
    max-width: 820px;
    padding-bottom: 5rem;
}

    .blog-post-content > section {
        margin-bottom: 4rem;
    }

    .blog-post-content h2 {
        margin: 0 0 1.25rem;
        color: #211d21;
        font-size: clamp(1.75rem, 3vw, 2.35rem);
        font-weight: 500 !important;
        line-height: 1.25;
    }

    .blog-post-content h3 {
        margin: 2rem 0 0.9rem;
        color: #2c272b;
        font-size: 1.2rem;
        font-weight: 600 !important;
        line-height: 1.35;
    }

    .blog-post-content p {
        margin-bottom: 1.35rem;
        color: #433d41;
        font-size: 1.03rem;
        line-height: 1.82;
    }

.blog-post-section-number {
    margin-bottom: 0.4rem !important;
    color: var(--tcf-primary) !important;
    font-size: 0.78rem !important;
    font-weight: 700;
    letter-spacing: 0.16em;
}


/* Standard lists */

.blog-post-list,
.blog-post-check-list {
    margin: 1.5rem 0 2rem;
    padding: 0;
    list-style: none;
}

    .blog-post-list li,
    .blog-post-check-list li {
        position: relative;
        margin-bottom: 0.9rem;
        padding-left: 1.8rem;
        color: #433d41;
        font-size: 1rem;
        line-height: 1.7;
    }

        .blog-post-list li::before {
            content: "";
            position: absolute;
            top: 0.7rem;
            left: 0;
            width: 7px;
            height: 7px;
            background: var(--tcf-primary);
            border-radius: 50%;
        }

        .blog-post-check-list li::before {
            content: "\2713";
            position: absolute;
            top: 0;
            left: 0;
            color: var(--tcf-primary);
            font-weight: 700;
        }


/* Highlighted callout */

.blog-post-callout {
    display: flex;
    gap: 1.5rem;
    margin: 1rem 0 4rem;
    padding: 2rem;
    background: #f7f1f5;
    border-left: 4px solid var(--tcf-primary);
    border-radius: 0 var(--tcf-radius) var(--tcf-radius) 0;
}

.blog-post-callout-icon {
    flex: 0 0 auto;
    color: var(--tcf-primary);
    font-size: 2rem;
}

.blog-post-callout h2 {
    margin-bottom: 0.65rem;
    font-size: 1.25rem;
    font-weight: 600 !important;
}

.blog-post-callout p {
    margin-bottom: 0;
    font-size: 0.95rem;
    line-height: 1.7;
}


/* Definition cards */

.blog-post-definition-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1rem;
    margin: 1.75rem 0 2rem;
}

.blog-post-definition {
    padding: 1.35rem;
    background: #faf8f9;
    border: 1px solid rgba(91, 59, 96, 0.12);
    border-radius: var(--tcf-radius);
}

    .blog-post-definition h3 {
        margin: 0 0 0.6rem;
        color: var(--tcf-primary-dark);
        font-size: 1rem;
    }

    .blog-post-definition p {
        margin: 0;
        font-size: 0.88rem;
        line-height: 1.65;
    }


/* Note */

.blog-post-note {
    margin: 2rem 0;
    padding: 1.4rem 1.5rem;
    color: #433d41;
    background: rgba(229, 220, 225, 0.48);
    border-radius: var(--tcf-radius);
    font-size: 0.95rem;
    line-height: 1.7;
}


/* Numbered process */

.blog-post-steps {
    margin: 2rem 0;
    padding: 0;
    list-style: none;
}

    .blog-post-steps li {
        display: grid;
        grid-template-columns: 48px 1fr;
        gap: 1.25rem;
        margin-bottom: 1.2rem;
        padding: 1.4rem;
        background: #faf8f9;
        border: 1px solid rgba(91, 59, 96, 0.1);
        border-radius: var(--tcf-radius);
    }

    .blog-post-steps > li > span {
        display: flex;
        align-items: center;
        justify-content: center;
        width: 48px;
        height: 48px;
        color: #fff;
        background: var(--tcf-primary-dark);
        border-radius: 50%;
        font-weight: 700;
    }

    .blog-post-steps h3 {
        margin: 0 0 0.35rem;
        font-size: 1rem;
    }

    .blog-post-steps p {
        margin: 0;
        font-size: 0.92rem;
        line-height: 1.65;
    }


/* Course CTA */

.blog-course-cta {
    margin: 4rem 0;
    padding: 2.75rem;
    color: #fff;
    background: linear-gradient( 135deg, var(--tcf-primary) 0%, var(--tcf-primary-dark) 100% );
    border-radius: var(--tcf-radius);
    box-shadow: 0 1.25rem 3rem rgba(67, 39, 69, 0.18);
}

.blog-course-cta-eyebrow {
    margin-bottom: 0.75rem !important;
    color: rgba(255, 255, 255, 0.78) !important;
    font-size: 0.72rem !important;
    font-weight: 700;
    letter-spacing: 0.14em;
    text-transform: uppercase;
}

.blog-course-cta h2 {
    max-width: 620px;
    color: #fff;
}

.blog-course-cta > p:not(.blog-course-cta-eyebrow) {
    max-width: 650px;
    color: rgba(255, 255, 255, 0.88);
}

.blog-course-cta .btn {
    color: var(--tcf-primary-dark);
    background: #fff;
    border-color: #fff;
}

    .blog-course-cta .btn:hover {
        color: #fff;
        background: transparent;
    }


/* Author biography */

.blog-author-box {
    display: grid;
    grid-template-columns: 150px 1fr;
    align-items: center;
    gap: 2rem;
    margin-top: 4rem;
    padding: 2rem;
    background: #f8f4f6;
    border: 1px solid rgba(91, 59, 96, 0.1);
    border-radius: var(--tcf-radius);
}

.blog-author-box-image {
    width: 150px;
    height: 150px;
    object-fit: cover;
    object-position: center top;
    border: 5px solid #fff;
    border-radius: 50%;
    box-shadow: 0 0.75rem 2rem rgba(67, 39, 69, 0.12);
}

.blog-author-box-label {
    margin-bottom: 0.35rem !important;
    color: var(--tcf-primary) !important;
    font-size: 0.72rem !important;
    font-weight: 700;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

.blog-author-box h2 {
    margin-bottom: 0.7rem;
    font-size: 1.55rem;
}

.blog-author-box p {
    margin-bottom: 0.9rem;
    font-size: 0.92rem;
    line-height: 1.7;
}

.blog-author-box-link {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    color: var(--tcf-primary-dark);
    font-size: 0.76rem;
    font-weight: 700;
    letter-spacing: 0.07em;
    text-decoration: none;
    text-transform: uppercase;
}

    .blog-author-box-link span {
        transition: transform 0.2s ease;
    }

    .blog-author-box-link:hover span {
        transform: translateX(0.25rem);
    }

.blog-post-return {
    margin-top: 3rem;
    text-align: center;
}


/* Responsive */

@media (max-width: 767.98px) {
    .blog-post-header {
        padding: 3.5rem 0 2.75rem;
    }

    .blog-post-title {
        font-size: 2.25rem;
        letter-spacing: -0.035em;
    }

    .blog-post-featured {
        margin-bottom: 3.5rem;
    }

    .blog-post-featured-image {
        aspect-ratio: 4 / 3;
    }

    .blog-post-definition-grid {
        grid-template-columns: 1fr;
    }

    .blog-course-cta {
        padding: 2rem;
    }

    .blog-author-box {
        grid-template-columns: 110px 1fr;
        gap: 1.5rem;
    }

    .blog-author-box-image {
        width: 110px;
        height: 110px;
    }
}

@media (max-width: 575.98px) {
    .blog-post-byline {
        align-items: flex-start;
    }

    .blog-author-details {
        padding-right: 0;
        border-right: 0;
    }

    .blog-post-meta {
        flex-basis: 100%;
        padding-left: 73px;
    }

    .blog-post-callout {
        display: block;
        padding: 1.5rem;
    }

    .blog-post-callout-icon {
        display: block;
        margin-bottom: 1rem;
    }

    .blog-post-steps li {
        grid-template-columns: 40px 1fr;
        gap: 1rem;
        padding: 1.15rem;
    }

    .blog-post-steps > li > span {
        width: 40px;
        height: 40px;
    }

    .blog-course-cta {
        padding: 1.5rem;
    }

    .blog-author-box {
        display: block;
        text-align: center;
    }

    .blog-author-box-image {
        margin: 0 auto 1.25rem;
    }

    .blog-author-box-link {
        justify-content: center;
    }
}
