/* =========================================
   RESET
========================================= */

* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

html {
    scroll-behavior: smooth;
}

body {
    font-family: "Poppins", sans-serif;
    background: #100c09;
    color: #ffffff;
    overflow-x: hidden;
}

a {
    text-decoration: none;
    color: inherit;
}


/* =========================================
   HEADER
========================================= */

.site-header {
    width: 100%;
    height: 102px;

    background: #080808;

    border-top: 2px solid #18201f;
    border-bottom: 1px solid rgba(255,255,255,0.04);

    position: relative;
    z-index: 100;
}

.header-inner {
    width: min(100% - 90px, 1660px);
    height: 100%;

    margin: auto;

    display: flex;
    align-items: center;
    justify-content: space-between;
}


/* Logo */

.logo img {
    display: block;
    width: 80px;
    height: 80px;
    max-width: 100%;
    object-fit: contain;
}




/* Navigation */

.main-nav {
    display: flex;
    align-items: center;
    gap: 58px;

    font-size: 16px;
    font-weight: 600;
}

.main-nav a {
    transition: color 0.25s ease;
}

.main-nav a:hover {
    color: #ff8500;
}

.main-nav span {
    font-size: 10px;
    margin-left: 3px;
}


/* Login */

.login-btn {
    background: linear-gradient(
        135deg,
        #ff9a20,
        #ff7810
    );

    padding: 12px 25px;

    border-radius: 28px;

    color: white !important;

    transition:
        transform 0.25s ease,
        box-shadow 0.25s ease;
}

.login-btn:hover {
    transform: translateY(-2px);

    box-shadow:
        0 8px 25px rgba(255,125,0,0.25);
}


/* Mobile menu */

.menu-toggle {
    display: none;

    border: 0;
    background: transparent;

    color: white;

    font-size: 28px;
    cursor: pointer;
}


/* =========================================
   HERO
========================================= */

.hero {
    min-height: calc(100vh - 102px);

    position: relative;

    background:
        radial-gradient(
            ellipse at 50% 5%,
            rgba(91, 45, 15, 0.22),
            transparent 48%
        ),
        linear-gradient(
            180deg,
            #1c1009 0%,
            #130d09 48%,
            #100b08 100%
        );

    padding: 62px 20px 75px;

    overflow: hidden;
}


/* subtle background glow */

.hero::before {
    content: "";

    position: absolute;

    width: 800px;
    height: 500px;

    left: 50%;
    top: 40px;

    transform: translateX(-50%);

    background:
        radial-gradient(
            ellipse,
            rgba(255,128,0,0.045),
            transparent 70%
        );

    pointer-events: none;
}


/* Container */

.hero-container {
    width: min(100%, 1250px);

    margin: auto;

    position: relative;

    text-align: center;
}


/* =========================================
   HEADINGS
========================================= */

.hero h1 {
    font-size: clamp(48px, 4.1vw, 58px);

    line-height: 1.15;

    font-weight: 300;

    letter-spacing: -2px;

    margin-bottom: 15px;
}

.hero h1 span {
    color: #ff7f00;
}


.hero h2 {
    font-size: clamp(35px, 3vw, 42px);

    line-height: 1.25;

    font-weight: 300;

    letter-spacing: -1.3px;

    margin-bottom: 20px;
}

.hero h2 span {
    color: #ff7f00;
}


/* =========================================
   DESCRIPTION
========================================= */

.hero-description {
    color: #d4d0cd;

    font-size: 21px;

    line-height: 1.85;

    font-weight: 300;

    margin-bottom: 32px;
}


/* =========================================
   HIGHLIGHT BOX
========================================= */

.highlight-box {
    width: min(100%, 972px);

    margin: 0 auto 48px;

    padding: 21px 32px 20px;

    background:
        linear-gradient(
            90deg,
            rgba(68,45,28,0.46),
            rgba(51,38,29,0.48)
        );

    border-left: 3px solid #ff8a00;

    border-radius: 15px;

    box-shadow:
        inset 0 0 0 1px rgba(255,255,255,0.025);
}

.highlight-box p {
    color: #ded9d4;

    font-size: 19px;

    line-height: 1.7;

    font-weight: 400;
}


/* =========================================
   STATS
========================================= */

.stats {
    display: flex;

    align-items: center;
    justify-content: center;

    gap: 14px;

    flex-wrap: wrap;

    margin-bottom: 48px;
}

.stat-pill {
    min-height: 56px;

    padding: 0 22px;

    display: flex;
    align-items: center;
    gap: 9px;

    border-radius: 30px;

    background:
        linear-gradient(
            180deg,
            rgba(58,43,32,0.75),
            rgba(43,33,27,0.75)
        );

    color: #e8a05d;

    font-size: 17px;

    font-weight: 400;

    box-shadow:
        inset 0 0 0 1px rgba(255,255,255,0.015);
}

.stat-icon {
    font-size: 20px;
}

.star {
    color: #ffc400;
}

.rating {
    color: #e6e6e6;
}

.youtube {
    color: #a4a4a4;
}


/* =========================================
   BUTTONS
========================================= */

.hero-buttons {
    display: flex;

    align-items: center;
    justify-content: center;

    gap: 18px;

    flex-wrap: wrap;
}

.btn {
    min-height: 76px;

    display: inline-flex;

    align-items: center;
    justify-content: center;

    padding: 0 40px;

    border-radius: 40px;

    font-size: 18px;

    font-weight: 600;

    transition:
        transform 0.25s ease,
        box-shadow 0.25s ease,
        background 0.25s ease;
}


/* Primary */

.btn-primary {
    min-width: 160px;

    background:
        linear-gradient(
            135deg,
            #ff9a00,
            #ff6800
        );

    color: white;

    box-shadow:
        0 10px 25px rgba(255,105,0,0.12);
}

.btn-primary:hover {
    transform: translateY(-3px);

    box-shadow:
        0 14px 32px rgba(255,105,0,0.25);
}


/* Outline */

.btn-outline {
    min-width: 275px;

    border: 1.5px solid #f47b00;

    color: #ff8100;

    background: rgba(0,0,0,0.08);
}

.btn-outline:hover {
    transform: translateY(-3px);

    background: rgba(255,125,0,0.08);

    box-shadow:
        0 10px 25px rgba(255,125,0,0.08);
}

.btn-outline span {
    font-size: 22px;

    margin-left: 7px;
}


/* =========================================
   WHATSAPP
========================================= */

.whatsapp-btn {
    position: fixed;

    right: 32px;
    bottom: 37px;

    z-index: 999;

    height: 74px;

    padding: 0 27px;

    display: flex;

    align-items: center;

    gap: 10px;

    border-radius: 40px;

    background: #50cf5b;

    color: white;

    font-size: 18px;

    font-weight: 600;

    box-shadow:
        0 10px 25px rgba(0,0,0,0.25);

    transition:
        transform 0.25s ease,
        box-shadow 0.25s ease;
}

.whatsapp-btn:hover {
    transform: translateY(-4px);

    box-shadow:
        0 15px 35px rgba(0,0,0,0.35);
}

.whatsapp-icon {
    width: 38px;
    height: 38px;

    border: 3px solid white;

    border-radius: 50%;

    display: flex;
    align-items: center;
    justify-content: center;

    font-size: 22px;
}


/* =========================================
   TABLET
========================================= */

@media (max-width: 1000px) {

    .header-inner {
        width: calc(100% - 40px);
    }

    .main-nav {
        gap: 25px;

        font-size: 14px;
    }

    .hero {
        padding-top: 55px;
    }

    .hero-description {
        font-size: 18px;
    }

    .highlight-box p {
        font-size: 17px;
    }

    .btn {
        min-height: 65px;
    }
}


/* =========================================
   MOBILE
========================================= */

@media (max-width: 760px) {

    .site-header {
        height: 78px;
    }

    .header-inner {
        width: calc(100% - 30px);
    }

    .logo {
        width: 55px;
    }

    .logo img {
        width: 55px;
        height: 55px;
    }

    .main-nav {
        display: none;

        position: absolute;

        top: 78px;
        left: 0;

        width: 100%;

        padding: 20px;

        flex-direction: column;

        align-items: stretch;

        gap: 0;

        background: #080808;
    }

    .main-nav.active {
        display: flex;
    }

    .main-nav a {
        padding: 15px;
    }

    .login-btn {
        text-align: center;
        margin-top: 8px;
    }

    .menu-toggle {
        display: block;
    }


    /* Hero */

    .hero {
        min-height: auto;

        padding: 45px 16px 110px;
    }

    .hero h1 {
        font-size: 40px;

        letter-spacing: -1.5px;
    }

    .hero h2 {
        font-size: 28px;

        letter-spacing: -0.7px;
    }

    .hero-description {
        font-size: 16px;

        line-height: 1.75;
    }

    .desktop-break {
        display: none;
    }


    /* Highlight */

    .highlight-box {
        padding: 20px 17px;

        margin-bottom: 35px;
    }

    .highlight-box p {
        font-size: 15px;

        line-height: 1.7;
    }


    /* Stats */

    .stats {
        gap: 10px;

        margin-bottom: 35px;
    }

    .stat-pill {
        min-height: 48px;

        padding: 0 16px;

        font-size: 14px;
    }


    /* Buttons */

    .hero-buttons {
        flex-direction: column;

        width: 100%;

        gap: 12px;
    }

    .btn {
        width: 100%;

        min-height: 62px;

        font-size: 16px;
    }

    .btn-outline {
        min-width: 0;
    }


    /* WhatsApp */

    .whatsapp-btn {
        right: 15px;
        bottom: 18px;

        height: 58px;

        padding: 0 20px;

        font-size: 15px;
    }

    .whatsapp-icon {
        width: 31px;
        height: 31px;

        font-size: 18px;
    }
}


/* =========================================
   SMALL MOBILE
========================================= */

@media (max-width: 420px) {

    .hero h1 {
        font-size: 34px;
    }

    .hero h2 {
        font-size: 24px;
    }

    .hero-description {
        font-size: 15px;
    }

    .stat-pill {
        width: 100%;

        justify-content: center;
    }

    .whatsapp-btn span:last-child {
        display: none;
    }

    .whatsapp-btn {
        width: 58px;

        padding: 0;

        justify-content: center;
    }
}


/* ================= VIDEO SECTION ================= */

.course-intro-video {
    width: 100%;
    padding: 30px 20px 0;
    background: #0d0d0d;
}

.course-video-wrapper {
    width: min(1188px, 100%);
    margin: 0 auto;

    overflow: hidden;

    border-radius: 28px;

    background: #050505;

    border: 1px solid rgba(255, 255, 255, 0.08);

    box-shadow:
        0 18px 45px rgba(0, 0, 0, 0.35),
        0 0 0 1px rgba(255, 255, 255, 0.02);
}

.course-video {
    display: block;

    width: 100%;
    height: auto;

    aspect-ratio: 16 / 9;

    object-fit: cover;

    background: #050505;
}

/* Keep the video wide while reducing the section height. */
.course-video {
    height: clamp(260px, 38vw, 460px);
    aspect-ratio: auto;
}


/* ================= TABLET ================= */

@media (max-width: 900px) {

    .course-intro-video {
        padding: 22px 15px 0;
    }

    .course-video-wrapper {
        border-radius: 22px;
    }
}


/* ================= MOBILE ================= */

@media (max-width: 600px) {

    .course-intro-video {
        padding: 15px 10px 0;
    }

    .course-video-wrapper {
        border-radius: 17px;
    }

    .course-video {
        height: 220px;
    }
}


/* ================= TRAINING OVERVIEW ================= */

.training-overview {
    width: 100%;
    padding: 50px 20px 90px;

    background:
        radial-gradient(
            ellipse at 50% 0%,
            rgba(93, 48, 12, 0.20),
            transparent 58%
        ),
        linear-gradient(
            180deg,
            #1c1108 0%,
            #180e07 50%,
            #130b06 100%
        );
}

.training-container {
    width: min(100%, 1000px);
    margin: 0 auto;
    text-align: center;
}


/* ================= HEADING ================= */

.training-container h2 {
    margin: 0 0 24px;

    color: #ff7d19;

    font-size: clamp(42px, 4.2vw, 55px);

    line-height: 1.15;

    font-weight: 700;

    letter-spacing: -1.5px;
}

.training-subtitle {
    margin: 0 auto;

    color: #ded8d2;

    font-size: 20px;

    line-height: 2.15;

    font-weight: 300;
}


/* ================= STATISTICS ================= */

.training-stats {
    display: grid;

    grid-template-columns: repeat(4, 1fr);

    gap: 30px;

    margin: 50px auto 58px;
}

.training-stat-card {
    min-height: 142px;

    display: flex;

    flex-direction: column;

    align-items: center;
    justify-content: center;

    border: 1px solid rgba(255, 133, 0, 0.42);

    border-radius: 17px;

    background:
        linear-gradient(
            145deg,
            rgba(70, 39, 14, 0.55),
            rgba(52, 31, 12, 0.48)
        );

    transition:
        transform 0.25s ease,
        border-color 0.25s ease,
        background 0.25s ease;
}

.training-stat-card:hover {
    transform: translateY(-4px);

    border-color: rgba(255, 133, 0, 0.75);

    background:
        linear-gradient(
            145deg,
            rgba(82, 44, 14, 0.65),
            rgba(57, 33, 12, 0.58)
        );
}


/* Number */

.training-number {
    display: block;

    color: #ff8a1a;

    font-size: 43px;

    line-height: 1.1;

    font-weight: 300;

    margin-bottom: 9px;
}


/* Label */

.training-label {
    display: block;

    color: #eee8e2;

    font-size: 19px;

    line-height: 1.2;

    font-weight: 400;
}


/* ================= NO UPSELLS ================= */

.training-no-upsells {
    width: min(750px, 100%);

    margin: 0 auto;

    padding: 37px 35px 30px;

    border: 1px solid rgba(255, 133, 0, 0.40);

    border-radius: 17px;

    background:
        linear-gradient(
            145deg,
            rgba(65, 37, 14, 0.58),
            rgba(51, 31, 13, 0.50)
        );
}

.training-no-upsells h3 {
    margin: 0 0 9px;

    color: #ff8a16;

    font-size: 27px;

    line-height: 1.3;

    font-weight: 300;
}

.training-no-upsells p {
    max-width: 680px;

    margin: 0 auto;

    color: #d9d3ce;

    font-size: 18px;

    line-height: 1.7;

    font-weight: 300;
}


/* ================= TABLET ================= */

@media (max-width: 850px) {

    .training-stats {
        gap: 16px;
    }

    .training-stat-card {
        min-height: 135px;
    }

    .training-number {
        font-size: 38px;
    }

    .training-label {
        font-size: 17px;
    }
}


/* ================= MOBILE ================= */

@media (max-width: 600px) {

    .training-overview {
        padding: 42px 15px 70px;
    }

    .training-container h2 {
        font-size: 36px;

        letter-spacing: -1px;

        margin-bottom: 18px;
    }

    .training-subtitle {
        font-size: 15px;

        line-height: 1.8;
    }

    .training-desktop-break {
        display: none;
    }


    .training-stats {
        grid-template-columns: repeat(2, 1fr);

        gap: 12px;

        margin: 35px auto 40px;
    }

    .training-stat-card {
        min-height: 125px;

        border-radius: 14px;
    }

    .training-number {
        font-size: 35px;
    }

    .training-label {
        font-size: 15px;
    }

    .training-stat-icon {
        width: 38px;
        height: 38px;
        margin-bottom: 9px;
        font-size: 25px;
    }

    .training-stat-card .training-label {
        font-size: 14px;
    }


   
}


/* ================= SMALL MOBILE ================= */

@media (max-width: 380px) {

    .training-stats {
        grid-template-columns: 1fr;
    }

    .training-stat-card {
        min-height: 110px;
    }
}



/* ==========================================
   MAIN SECTION
=========================================== */

.astrology-demo-section {
    width: 100%;

    padding: 60px 0;
}


/* ==========================================
   MAIN WHITE CARD
=========================================== */

.demo-card {

    width: 100%;

    display: flex;
    align-items: center;

    gap: 5.5%;

    padding: 46px 24px;

    background: #ffffff;

    border-radius: 10px;

    box-shadow:
        0 8px 30px rgba(0, 0, 0, 0.09);
}


/* ==========================================
   LEFT SLIDER
=========================================== */

.demo-slider {

    width: 47%;

    flex-shrink: 0;
}


/* Bootstrap Carousel */

#astrologySlider {

    width: 100%;

    overflow: hidden;

    border-radius: 8px;

    background: #15161a;
}


/* ==========================================
   SLIDER IMAGE
=========================================== */

.carousel-item {

    height: 426px;

    background: #15161a;
}


.carousel-item img {

    width: 100%;

    height: 100%;

    display: block;

    object-fit: contain;
}


/* ==========================================
   SLIDER ARROWS
=========================================== */

.carousel-control-prev,
.carousel-control-next {

    width: 8%;

    opacity: 1;
}


.slider-arrow {

    width: 34px;
    height: 34px;

    display: flex;

    align-items: center;
    justify-content: center;

    border-radius: 50%;

    background: rgba(0, 0, 0, 0.45);

    color: #ffffff;

    font-size: 13px;

    transition: all 0.3s ease;
}


.slider-arrow:hover {

    background: rgba(0, 0, 0, 0.75);

    transform: scale(1.08);
}


/* ==========================================
   SLIDER DOTS
=========================================== */

.carousel-indicators {

    margin-bottom: 10px;
}


.carousel-indicators button {

    width: 8px !important;
    height: 8px !important;

    border-radius: 50% !important;

    border: none !important;

    margin: 0 4px !important;
}


/* ==========================================
   RIGHT CONTENT
=========================================== */

.demo-content {

    flex: 1;

    padding-right: 15px;
}


/* ==========================================
   HEADING
=========================================== */

.demo-content h2 {

    margin: 0 0 20px 0;

    color: #050505;

    font-size: 30px;

    line-height: 1.25;

    font-weight: 700;
}


/* ==========================================
   BENEFITS
=========================================== */

.benefits-list {

    width: 100%;
}


.benefit-item {

    display: flex;

    align-items: flex-start;

    gap: 13px;

    margin-bottom: 13px;
}


.benefit-item:last-child {

    margin-bottom: 0;
}


/* ==========================================
   CHECK ICON
=========================================== */

.check-icon {

    width: 23px;
    height: 23px;

    min-width: 23px;

    margin-top: 1px;

    display: flex;

    align-items: center;
    justify-content: center;

    border-radius: 50%;

    background: #ed3340;

    color: #ffffff;

    font-size: 12px;
}


/* ==========================================
   BENEFIT TEXT
=========================================== */

.benefit-item p {

    margin: 0;

    color: #111111;

    font-size: 15px;

    line-height: 1.45;
}


.benefit-item strong {

    font-weight: 700;
}


/* ==========================================
   BUTTON AREA
=========================================== */

.demo-buttons {

    display: flex;

    flex-direction: column;

    align-items: flex-start;

    gap: 9px;

    margin-top: 23px;
}



/* ==========================================
   BOOK NOW BUTTON
=========================================== */

.book-now-btn {

    min-width: 132px;

    min-height: 51px;

    padding: 0 20px;

    display: inline-flex;

    align-items: center;
    justify-content: center;

    border-radius: 7px;

    background: #ed3340;

    color: #ffffff;

    font-size: 16px;

    font-weight: 700;

    text-decoration: none;

    transition: all 0.3s ease;
}


.book-now-btn:hover {

    background: #d92734;

    color: #ffffff;

    transform: translateY(-1px);
}


/* ==========================================
   LARGE TABLET
=========================================== */

@media (max-width: 1199px) {

    .astrology-demo-section {

        padding: 40px 20px;
    }


    .demo-card {

        gap: 35px;

        padding: 35px 25px;
    }


    .demo-slider {

        width: 45%;
    }


    .carousel-item {

        height: 350px;
    }


    .demo-content h2 {

        font-size: 31px;
    }


    .benefit-item p {

        font-size: 15px;
    }
}


/* ==========================================
   TABLET
=========================================== */

@media (max-width: 991px) {

    .astrology-demo-section {

        padding: 30px 15px;
    }


    .demo-card {

        flex-direction: column;

        gap: 30px;

        padding: 28px 20px;
    }


    .demo-slider {

        width: 100%;
    }


    .carousel-item {

        height: 400px;
    }


    .demo-content {

        width: 100%;

        padding-right: 0;
    }


    .demo-content h2 {

        font-size: 30px;
    }


    .desktop-break {

        display: none;
    }
}


/* ==========================================
   MOBILE
=========================================== */

@media (max-width: 575px) {

    .astrology-demo-section {

        padding: 20px 10px;
    }


    .demo-card {

        padding: 20px 15px;

        gap: 25px;

        border-radius: 8px;
    }


    #astrologySlider {

        border-radius: 7px;
    }


    .carousel-item {

        height: 250px;
    }


    .demo-content h2 {

        font-size: 25px;

        line-height: 1.3;

        margin-bottom: 18px;
    }


    .benefit-item {

        gap: 10px;

        margin-bottom: 12px;
    }


    .benefit-item p {

        font-size: 15px;

        line-height: 1.4;
    }


    .check-icon {

        width: 21px;
        height: 21px;

        min-width: 21px;

        font-size: 10px;
    }


    .demo-buttons {

        width: 100%;
    }


    .free-demo-btn {

        width: 100%;

        font-size: 16px;

        text-align: center;
    }


    .book-now-btn {

        width: 125px;
    }

}

/* ================= COURSE PREVIEW SECTION ================= */

.course-preview-section {
    width: 100%;
    padding: 35px 20px 70px;
    background: #000;
}

.course-preview-box {
    position: relative;

    width: min(1192px, 100%);
    min-height: 390px;

    margin: 0 auto;

    overflow: hidden;

    border-radius: 22px;

    border: 1px solid rgba(255, 255, 255, 0.12);

    background: #151515;

    isolation: isolate;
}


/* ================= BACKGROUND ================= */

.course-preview-bg {
    position: absolute;

    inset: -25px;

    background-image:
        url("assets/images/course-preview-bg.jpg");

    background-size: cover;
    background-position: center;

    filter: blur(14px);

    transform: scale(1.08);

    z-index: -3;
}


/* ================= DARK OVERLAY ================= */

.course-preview-overlay {
    position: absolute;

    inset: 0;

    background:
        linear-gradient(
            90deg,
            rgba(0, 0, 0, 0.58),
            rgba(0, 0, 0, 0.48),
            rgba(0, 0, 0, 0.63)
        );

    z-index: -2;
}


/* ================= CONTENT ================= */

.course-preview-content {
    min-height: 390px;

    display: flex;

    flex-direction: column;

    align-items: center;
    justify-content: center;

    text-align: center;

    padding: 45px 25px;
}


/* ================= LABEL ================= */

.course-preview-label {
    margin-bottom: 17px;

    color: #ff7d00;

    font-size: 12px;

    line-height: 1;

    font-weight: 700;

    letter-spacing: 3px;
}


/* ================= HEADING ================= */

.course-preview-content h2 {
    margin: 0 0 13px;

    color: #ffffff;

    font-size: clamp(45px, 4.5vw, 59px);

    line-height: 1.05;

    font-weight: 700;

    letter-spacing: -2.5px;

    text-shadow:
        0 4px 20px rgba(0, 0, 0, 0.35);
}

.course-preview-content h2 span {
    color: #ff7d00;
}


/* ================= DESCRIPTION ================= */

.course-preview-content p {
    margin: 0 0 27px;

    color: rgba(255, 255, 255, 0.76);

    font-size: 15px;

    line-height: 1.6;

    font-weight: 400;
}


/* ================= BUTTON ================= */

.course-preview-button {
    min-height: 52px;

    padding: 0 22px;

    display: inline-flex;

    align-items: center;
    justify-content: center;

    gap: 10px;

    border-radius: 30px;

    background:
        linear-gradient(
            135deg,
            #ff9500,
            #ff6900
        );

    color: #ffffff;

    font-size: 12px;

    font-weight: 700;

    letter-spacing: 0.8px;

    box-shadow:
        0 10px 25px rgba(255, 102, 0, 0.18);

    transition:
        transform 0.25s ease,
        box-shadow 0.25s ease;
}

.course-preview-button:hover {
    transform: translateY(-3px);

    box-shadow:
        0 14px 32px rgba(255, 102, 0, 0.30);
}


/* ================= PLAY ICON ================= */

.preview-play {
    width: 25px;
    height: 25px;

    display: flex;

    align-items: center;
    justify-content: center;

    border-radius: 50%;

    background: rgba(255, 255, 255, 0.18);

    font-size: 9px;

    padding-left: 1px;
}


/* ================= TABLET ================= */

@media (max-width: 800px) {

    .course-preview-section {
        padding: 25px 15px 55px;
    }

    .course-preview-box {
        min-height: 350px;

        border-radius: 20px;
    }

    .course-preview-content {
        min-height: 350px;
    }

    .course-preview-content h2 {
        font-size: 45px;
    }
}


/* ================= MOBILE ================= */

@media (max-width: 600px) {

    .course-preview-section {
        padding: 18px 10px 45px;
    }

    .course-preview-box {
        min-height: 300px;

        border-radius: 17px;
    }

    .course-preview-content {
        min-height: 300px;

        padding: 35px 18px;
    }

    .course-preview-label {
        font-size: 10px;

        letter-spacing: 2.5px;

        margin-bottom: 14px;
    }

    .course-preview-content h2 {
        font-size: 36px;

        letter-spacing: -1.5px;

        line-height: 1.08;
    }

    .course-preview-content p {
        font-size: 13px;

        margin-bottom: 23px;
    }

    .course-preview-button {
        min-height: 49px;

        padding: 0 18px;

        font-size: 11px;
    }
}

/* ================= KEY PROGRAM FEATURES ================= */

.program-features {
    width: 100%;
    padding: 68px 20px 70px;

    background:
        radial-gradient(
            ellipse at 50% 0%,
            rgba(91, 48, 15, 0.18),
            transparent 55%
        ),
        linear-gradient(
            180deg,
            #18110c 0%,
            #15100c 100%
        );
}

.program-features-container {
    width: min(100%, 956px);
    margin: 0 auto;
    text-align: center;
}


/* ================= HEADING ================= */

.program-features-container h2 {
    margin: 0 0 12px;

    color: #ff7900;

    font-size: clamp(38px, 4vw, 40px);

    line-height: 1.2;

    font-weight: 300;

    letter-spacing: -1px;
}

.program-features-subtitle {
    margin: 0;

    color: #e1dcd7;

    font-size: 20px;

    line-height: 1.6;

    font-weight: 300;
}


/* ================= FEATURES GRID ================= */

.features-grid {
    display: grid;

    grid-template-columns: repeat(2, 1fr);

    column-gap: 28px;
    row-gap: 17px;

    margin-top: 59px;
}


/* ================= FEATURE CARD ================= */

.feature-card {
    min-height: 77px;

    display: flex;

    align-items: center;

    text-align: center;

    padding: 12px 18px 12px 20px;

    border-left: 3px solid #ff8500;

    border-radius: 8px;

    background:
        linear-gradient(
            90deg,
            rgba(44, 38, 33, 0.90),
            rgba(40, 34, 29, 0.82)
        );

    transition:
        transform 0.25s ease,
        background 0.25s ease,
        border-color 0.25s ease;
}

.feature-card:hover {
    transform: translateY(-2px);

    border-left-color: #ff9a2b;

    background:
        linear-gradient(
            90deg,
            rgba(53, 43, 35, 0.95),
            rgba(45, 37, 31, 0.90)
        );
}


/* ================= CHECK ICON ================= */

.feature-check {
    flex: 0 0 auto;

    width: 20px;
    height: 20px;

    margin-right: 16px;

    display: flex;

    align-items: center;
    justify-content: center;

    border-radius: 50%;

    background: #ffffff;

    color: #ff7200;

    font-size: 17px;

    line-height: 1;

    font-weight: 700;
}


/* ================= FEATURE TEXT ================= */

.feature-card p {
    flex: 1;

    margin: 0;

    color: #eeeae6;

    font-size: 15.5px;

    line-height: 1.5;

    font-weight: 400;
}


/* ================= TABLET ================= */

@media (max-width: 800px) {

    .program-features {
        padding: 55px 18px 60px;
    }

    .features-grid {
        gap: 14px;
        margin-top: 45px;
    }

    .feature-card {
        min-height: 72px;
        padding: 12px 14px;
    }

    .feature-card p {
        font-size: 14px;
    }

    .feature-check {
        margin-right: 11px;
    }
}


/* ================= MOBILE ================= */

@media (max-width: 600px) {

    .program-features {
        padding: 45px 15px 55px;
    }

    .program-features-container h2 {
        font-size: 32px;
    }

    .program-features-subtitle {
        font-size: 15px;
        line-height: 1.7;
    }

    .features-grid {
        grid-template-columns: 1fr;

        gap: 12px;

        margin-top: 35px;
    }

    .feature-card {
        min-height: 68px;

        text-align: left;

        padding: 12px 14px;
    }

    .feature-card p {
        font-size: 14px;
        line-height: 1.45;
    }

    .feature-check {
        width: 20px;
        height: 20px;

        margin-right: 12px;

        font-size: 16px;
    }
}


/* ================= BONUS RESOURCES & COMMUNITY ================= */

.bonus-community-container {
    width: min(100%, 1188px);

    margin: 30px auto;
    padding: 30px 20px 50px;

    display: grid;

    grid-template-columns: 1fr 1fr;

    column-gap: 70px;

    align-items: start;

    background:
        radial-gradient(
            ellipse at 18% 50%,
            rgba(92, 48, 12, 0.16),
            transparent 42%
        ),
        linear-gradient(
            180deg,
            #100c09 0%,
            #140d06 100%
        );
}



/* ================= LEFT COLUMN ================= */

.bonus-eyebrow,
.community-eyebrow {
    margin-bottom: 12px;

    color: #ff7900;

    font-size: 16px;

    line-height: 1.3;

    font-weight: 600;

    letter-spacing: 0.8px;
}

.bonus-column h2,
.community-column h2 {
    margin: 0;

    color: #ffffff;

    font-size: 31px;

    line-height: 1.25;

    font-weight: 600;

    letter-spacing: -1px;
}


/* ================= BONUS LIST ================= */

.bonus-list {
    display: flex;

    flex-direction: column;

    gap: 16px;

    margin-top: 31px;
}

.bonus-item {
    width: 100%;

    min-height: 66px;

    padding: 17px 22px;

    display: flex;

    align-items: center;

    border: 1px solid rgba(255, 132, 0, 0.28);

    border-radius: 13px;

    background:
        linear-gradient(
            135deg,
            rgba(53, 32, 13, 0.72),
            rgba(45, 29, 14, 0.64)
        );

    color: #f1ede9;

    font-size: 17px;

    line-height: 1.5;

    font-weight: 400;

    transition:
        transform 0.25s ease,
        border-color 0.25s ease,
        background 0.25s ease;
}

.bonus-item:hover {
    transform: translateY(-2px);

    border-color: rgba(255, 132, 0, 0.55);

    background:
        linear-gradient(
            135deg,
            rgba(62, 37, 15, 0.82),
            rgba(51, 32, 14, 0.74)
        );
}


/* ================= COMMUNITY ================= */

.community-description {
    max-width: 690px;

    margin: 31px 0 28px;

    color: #e3ddd7;

    font-size: 16px;

    line-height: 1.85;

    font-weight: 300;
}


/* ================= COMMUNITY LIST ================= */

.community-list {
    display: flex;

    flex-direction: column;

    gap: 16px;
}

.community-item {
    width: 100%;

    min-height: 66px;

    padding: 17px 22px;

    display: flex;

    align-items: center;

    border: 1px solid rgba(255, 132, 0, 0.28);

    border-radius: 13px;

    background:
        linear-gradient(
            135deg,
            rgba(53, 32, 13, 0.72),
            rgba(45, 29, 14, 0.64)
        );

    color: #f1ede9;

    font-size: 17px;

    line-height: 1.5;

    font-weight: 400;

    transition:
        transform 0.25s ease,
        border-color 0.25s ease,
        background 0.25s ease;
}

.community-item:hover {
    transform: translateY(-2px);

    border-color: rgba(255, 132, 0, 0.55);

    background:
        linear-gradient(
            135deg,
            rgba(62, 37, 15, 0.82),
            rgba(51, 32, 14, 0.74)
        );
}


/* ================= EMAIL ================= */

.community-item a {
    margin-left: 5px;

    color: #ff7d00;

    font-weight: 600;

    transition: color 0.2s ease;
}

.community-item a:hover {
    color: #ff9a2b;
}


/* ================= TABLET ================= */

@media (max-width: 950px) {

    .bonus-community-section {
        padding: 60px 25px 80px;
    }

    .bonus-community-container {
        column-gap: 45px;
    }

    .bonus-column h2,
    .community-column h2 {
        font-size: 27px;
    }

    .bonus-item,
    .community-item {
        font-size: 15px;
    }
}


/* ================= MOBILE ================= */

@media (max-width: 700px) {

    .bonus-community-section {
        padding: 50px 15px 70px;
    }

    .bonus-community-container {
        grid-template-columns: 1fr;

        gap: 60px;
    }

    .bonus-eyebrow,
    .community-eyebrow {
        font-size: 13px;
    }

    .bonus-column h2,
    .community-column h2 {
        font-size: 27px;

        line-height: 1.3;
    }

    .bonus-list {
        margin-top: 25px;

        gap: 12px;
    }

    .bonus-item,
    .community-item {
        min-height: 62px;

        padding: 15px 17px;

        font-size: 14px;

        line-height: 1.5;
    }

    .community-description {
        margin: 24px 0 23px;

        font-size: 14px;

        line-height: 1.75;
    }

    .community-list {
        gap: 12px;
    }
}


/* ================= FINAL CTA SECTION ================= */

.final-cta-section {
    width: 100%;
    padding: 102px 20px 120px;

    background:
        radial-gradient(
            ellipse at 50% 40%,
            rgba(100, 48, 12, 0.22),
            transparent 62%
        ),
        linear-gradient(
            180deg,
            #321b0b 0%,
            #2b180a 100%
        );
}

.final-cta-container {
    width: min(100%, 1188px);

    margin: 0 auto;

    text-align: center;
}


/* ================= HEADING ================= */

.final-cta-container h2 {
    max-width: 950px;

    margin: 0 auto 22px;

    color: #ff7b16;

    font-size: clamp(38px, 4vw, 43px);

    line-height: 1.08;

    font-weight: 700;

    letter-spacing: -1.5px;
}


/* ================= DESCRIPTION ================= */

.final-cta-container p {
    margin: 0 auto;

    color: #e6dfd9;

    font-size: 19px;

    line-height: 1.7;

    font-weight: 300;
}


/* ================= BUTTONS ================= */

.final-cta-buttons {
    display: flex;

    align-items: center;
    justify-content: center;

    gap: 20px;

    margin-top: 56px;
}

.final-cta-btn {
    min-width: 160px;

    min-height: 72px;

    padding: 0 38px;

    display: inline-flex;

    align-items: center;
    justify-content: center;

    border-radius: 40px;

    font-size: 16px;

    font-weight: 600;

    transition:
        transform 0.25s ease,
        box-shadow 0.25s ease,
        background 0.25s ease;
}


/* ================= PRIMARY BUTTON ================= */

.final-cta-primary {
    color: #ffffff;

    background:
        linear-gradient(
            135deg,
            #ff9500,
            #ff6500
        );

    box-shadow:
        0 10px 30px rgba(255, 100, 0, 0.20);
}

.final-cta-primary:hover {
    transform: translateY(-3px);

    box-shadow:
        0 15px 35px rgba(255, 100, 0, 0.35);
}


/* ================= OUTLINE BUTTON ================= */

.final-cta-outline {
    color: #ffffff;

    border: 2px solid #ff8500;

    background: transparent;
}

.final-cta-outline:hover {
    transform: translateY(-3px);

    background: rgba(255, 125, 0, 0.08);

    box-shadow:
        0 10px 25px rgba(255, 125, 0, 0.10);
}


/* ================= TABLET ================= */

@media (max-width: 800px) {

    .final-cta-section {
        padding: 80px 20px 90px;
    }

    .final-cta-container h2 {
        font-size: 38px;
    }

    .final-cta-container p {
        font-size: 17px;
    }

    .final-cta-buttons {
        margin-top: 45px;
    }
}


/* ================= MOBILE ================= */

@media (max-width: 600px) {

    .final-cta-section {
        padding: 65px 15px 75px;
    }

    .final-cta-container h2 {
        font-size: 30px;

        line-height: 1.15;

        letter-spacing: -0.8px;
    }

    .desktop-break {
        display: none;
    }

    .final-cta-container p {
        font-size: 14px;

        line-height: 1.7;
    }

    .final-cta-buttons {
        flex-direction: column;

        width: 100%;

        gap: 12px;

        margin-top: 35px;
    }

    .final-cta-btn {
        width: 100%;

        min-height: 60px;

        font-size: 15px;
    }
}


/* ================= ABOUT / INSTRUCTOR SECTION ================= */

.about-instructor-section {
    width: 100%;
    padding: 55px 20px 70px;

    background:
        radial-gradient(
            circle at 15% 45%,
            rgba(92, 49, 13, 0.22),
            transparent 45%
        ),
        linear-gradient(
            90deg,
            #241408 0%,
            #1c1109 42%,
            #111111 70%,
            #151515 100%
        );

    overflow: hidden;
}

.about-instructor-container {
    width: min(100%, 1188px);

    margin: 0 auto;

    display: grid;

    grid-template-columns: 1fr 1fr;

    column-gap: 60px;

    align-items: center;
}


/* ================= LEFT CONTENT ================= */

.about-instructor-content {
    align-self: start;

    padding-top: 25px;
}

.about-instructor-content h2 {
    margin: 0 0 17px;

    color: #ff8100;

    font-size: 37px;

    line-height: 1.2;

    font-weight: 300;

    letter-spacing: -1px;
}

.about-instructor-content h2 span {
    font-weight: 400;
}


/* ================= TEXT ================= */

.about-instructor-text {
    max-width: 560px;
}

.about-instructor-text p {
    margin: 0 0 18px;

    color: #eee9e4;

    font-size: 16px;

    line-height: 1.85;

    font-weight: 300;
}

.about-instructor-text p:last-child {
    margin-bottom: 0;
}

.about-instructor-text strong {
    color: #ff7900;

    font-weight: 600;
}


/* ================= RIGHT VISUAL ================= */

.about-instructor-visual {
    position: relative;

    min-height: 590px;

    display: flex;

    align-items: center;
    justify-content: center;
}


/* ================= MAIN ORANGE CIRCLE ================= */

.about-orange-circle {
    position: absolute;

    width: 425px;
    height: 425px;

    top: 55px;
    left: 50%;

    transform: translateX(-50%);

    border-radius: 50%;

    background:
        linear-gradient(
            145deg,
            #ff911d,
            #ff8415
        );

    box-shadow:
        0 0 35px rgba(255, 143, 20, 0.28);

    z-index: 1;
}


/* ================= SMALL CIRCLE ================= */

.about-small-circle {
    position: absolute;

    width: 64px;
    height: 64px;

    top: 35px;
    left: 25%;

    border-radius: 50%;

    background: #ff8a18;

    box-shadow:
        0 0 16px rgba(255, 138, 24, 0.30);

    z-index: 3;
}


/* ================= IMAGE GLOW ================= */

.about-image-glow {
    position: absolute;

    width: 460px;
    height: 500px;

    top: 55px;
    left: 50%;

    transform: translateX(-50%);

    border-radius: 50%;

    background:
        radial-gradient(
            ellipse,
            rgba(255,255,255,0.32),
            transparent 62%
        );

    filter: blur(18px);

    z-index: 0;

    pointer-events: none;
}


/* ================= INSTRUCTOR IMAGE ================= */

.about-instructor-image {
    position: relative;

    z-index: 2;

    display: block;

    width: 470px;
    max-width: 100%;

    height: auto;

    

    object-fit: contain;
    border-radius: 50%;

    filter:
        drop-shadow(
            0 12px 18px rgba(0,0,0,0.25)
        );
}


/* ================= SOCIAL LINKS ================= */



.about-social {
    width: 43px;
    height: 43px;

    display: flex;

    align-items: center;
    justify-content: center;

    border-radius: 5px;

    color: #ffffff;

    font-family: Arial, sans-serif;

    font-weight: 700;

    text-decoration: none;

    transition:
        transform 0.25s ease,
        opacity 0.25s ease;
}

.about-social:hover {
    transform: translateY(-4px);

    opacity: 0.88;
}


/* LinkedIn */

.about-social.linkedin {
    background: #087db8;

    font-size: 29px;

    line-height: 1;

    padding-top: 4px;
}


/* YouTube */

.about-social.youtube {
    width: 43px;
    height: 30px;

    margin-top: 6px;

    border-radius: 7px;

    background: #ff0000;

    font-size: 14px;
}

.about-social.youtube span {
    margin-left: 2px;
}


/* ================= TABLET ================= */

@media (max-width: 950px) {

    .about-instructor-container {
        column-gap: 35px;
    }

    .about-instructor-content h2 {
        font-size: 32px;
    }

    .about-instructor-text p {
        font-size: 15px;
    }



    .about-instructor-image {
        width: 400px;
    }

    .about-small-circle {
        width: 55px;
        height: 55px;
    }
}


/* ================= MOBILE ================= */

@media (max-width: 700px) {

    .about-instructor-section {
        padding: 50px 15px 70px;

        background:
            radial-gradient(
                circle at 50% 75%,
                rgba(92, 49, 13, 0.22),
                transparent 45%
            ),
            linear-gradient(
                180deg,
                #241408 0%,
                #17100b 100%
            );
    }

    .about-instructor-container {
        grid-template-columns: 1fr;

        gap: 35px;
    }

    .about-instructor-content {
        padding-top: 0;
    }

    .about-instructor-content h2 {
        font-size: 31px;

        margin-bottom: 18px;
    }

    .about-instructor-text p {
        font-size: 16px;

        line-height: 1.75;

        margin-bottom: 17px;
    }


    /* Visual */

    .about-instructor-visual {
        min-height: 480px;
    }

    .about-orange-circle {
        width: 320px;
        height: 320px;

        top: 35px;
    }

    .about-image-glow {
        width: 350px;
        height: 390px;

        top: 30px;
    }

    .about-instructor-image {
        width: 350px;

        margin-top: 30px;
    }
 
    .about-small-circle {
        width: 50px;
        height: 50px;

        top: 15px;
        left: 18%;
    }

    .about-social-links {
        bottom: 5px;
    }
}


/* ================= SMALL MOBILE ================= */

@media (max-width: 400px) {

    .about-instructor-content h2 {
        font-size: 28px;
    }

    .about-instructor-text p {
        font-size: 13px;
    }

    .about-instructor-visual {
        min-height: 420px;
    }

    .about-orange-circle {
        width: 280px;
        height: 280px;
    }

    .about-instructor-image {
        width: 310px;
    }
}


/* ================= LANDING PAGE FOOTER ================= */

.landing-footer {
    width: 100%;

    background:
        linear-gradient(
            180deg,
            #0d0d0d 0%,
            #090909 100%
        );

    border-top: 1px solid rgba(255, 255, 255, 0.08);
}


/* ================= FOOTER CONTAINER ================= */

.landing-footer-container {
    width: min(100%, 1188px);

    margin: 0 auto;

    padding: 65px 20px 55px;

    display: grid;

    grid-template-columns:
        1.6fr
        1fr
        1fr
        1.25fr;

    gap: 55px;
}


/* ================= BRAND ================= */

.landing-footer-brand {
    max-width: 320px;
}

.landing-footer-logo {
    display: inline-flex;

    margin-bottom: 20px;
}

.landing-footer-logo img {
    display: block;

    width: 112px;
    height: 112px;
    max-width: 100%;
    object-fit: contain;
}

.landing-footer-brand > p {
    margin: 0;

    color: #9f9994;

    font-size: 14px;

    line-height: 1.8;

    font-weight: 300;
}


/* ================= SOCIAL ICONS ================= */

.landing-footer-socials {
    display: flex;

    align-items: center;

    gap: 12px;

    margin-top: 25px;
}

.landing-footer-socials a {
    width: 40px;
    height: 40px;

    display: flex;

    align-items: center;
    justify-content: center;

    border-radius: 7px;

    background: #1a1a1a;

    border: 1px solid rgba(255, 255, 255, 0.09);

    transition:
        transform 0.25s ease,
        background 0.25s ease,
        border-color 0.25s ease;
}

.landing-footer-socials a:hover {
    transform: translateY(-3px);

    background: #ff7800;

    border-color: #ff7800;
}


/* LinkedIn */

.linkedin-icon {
    color: #ffffff;

    font-family: Arial, sans-serif;

    font-size: 21px;

    font-weight: 700;
}


/* YouTube */

.youtube-icon {
    color: #ffffff;

    font-size: 13px;
}


/* ================= COLUMNS ================= */

.landing-footer-column {
    display: flex;

    flex-direction: column;

    align-items: flex-start;
}

.landing-footer-column h3 {
    margin: 0 0 23px;

    color: #ffffff;

    font-size: 16px;

    line-height: 1.3;

    font-weight: 600;
}

.landing-footer-column > a {
    margin-bottom: 13px;

    color: #99938e;

    font-size: 14px;

    line-height: 1.5;

    font-weight: 300;

    transition:
        color 0.2s ease,
        transform 0.2s ease;
}

.landing-footer-column > a:hover {
    color: #ff8100;

    transform: translateX(3px);
}


/* ================= CONTACT ================= */

.landing-footer-contact > p {
    max-width: 245px;

    margin: 0 0 17px;

    color: #99938e;

    font-size: 14px;

    line-height: 1.7;

    font-weight: 300;
}

.landing-footer-email {
    color: #ff8100 !important;

    font-weight: 500 !important;

    margin-bottom: 14px !important;
}

.landing-footer-email:hover {
    color: #ff9b32 !important;
}

.landing-footer-contact-link {
    color: #d0cbc6 !important;

    font-weight: 400 !important;
}


/* ================= BOTTOM BAR ================= */

.landing-footer-bottom {
    border-top: 1px solid rgba(255, 255, 255, 0.07);
}

.landing-footer-bottom-inner {
    width: min(100%, 1188px);

    margin: 0 auto;

    padding: 21px 20px;

    display: flex;

    align-items: center;

    justify-content: space-between;

    gap: 20px;
}

.landing-footer-bottom-inner > p {
    margin: 0;

    color: #66615d;

    font-size: 12px;

    line-height: 1.5;

    font-weight: 300;
}


/* ================= LEGAL LINKS ================= */

.landing-footer-legal {
    display: flex;

    align-items: center;

    flex-wrap: wrap;

    gap: 10px;
}

.landing-footer-legal a {
    color: #66615d;

    font-size: 12px;

    font-weight: 300;

    transition: color 0.2s ease;
}

.landing-footer-legal a:hover {
    color: #ff8100;
}

.landing-footer-legal span {
    color: #3d3a38;

    font-size: 10px;
}


/* ================= TABLET ================= */

@media (max-width: 900px) {

    .landing-footer-container {
        grid-template-columns:
            1.5fr
            1fr
            1fr;

        gap: 40px;
    }

    .landing-footer-contact {
        grid-column: 2 / 4;
    }
}


/* ================= MOBILE ================= */

@media (max-width: 650px) {

    .landing-footer-container {
        grid-template-columns: 1fr 1fr;

        padding: 50px 20px 40px;

        gap: 40px 25px;
    }

    .landing-footer-brand {
        grid-column: 1 / -1;

        max-width: 100%;
    }

    .landing-footer-contact {
        grid-column: 1 / -1;
    }

    .landing-footer-logo img {
        width: 92px;
        height: 92px;
    }

    .landing-footer-column h3 {
        margin-bottom: 17px;

        font-size: 15px;
    }

    .landing-footer-column > a {
        margin-bottom: 10px;

        font-size: 13px;
    }

    .landing-footer-bottom-inner {
        flex-direction: column;

        text-align: center;

        padding: 20px 15px;
    }

    .landing-footer-legal {
        justify-content: center;
    }
}


/* ================= SMALL MOBILE ================= */

@media (max-width: 400px) {

    .landing-footer-container {
        grid-template-columns: 1fr;
    }

    .landing-footer-brand,
    .landing-footer-contact {
        grid-column: auto;
    }

    .landing-footer-column {
        width: 100%;
    }
}


/* =========================================================
   RJVS CERTIFICATE SECTION
========================================================= */

.rjvs-certificate-section {

    width: 100%;

    padding: 35px 0;

    background: #ffffff;

    box-sizing: border-box;
}


/* =========================================================
   MAIN CONTAINER
========================================================= */

.certificate-container {

    width: 88%;

    max-width: 1370px;

    min-height: 565px;

    margin: 0 auto;

    padding: 50px 55px;

    background: #fff7ee;

    border-radius: 14px;

    display: flex;

    align-items: center;

    justify-content: space-between;

    gap: 50px;

    box-sizing: border-box;
}


/* =========================================================
   LEFT CONTENT
========================================================= */

.certificate-content {

    flex: 1 1 auto;

    min-width: 0;

    box-sizing: border-box;
}


/* =========================================================
   HEADING
========================================================= */

.certificate-content h2 {

    margin: 0 0 34px;

    max-width: 850px;

    color: #050505;

    font-size: 38px;

    font-weight: 700;

    line-height: 1.22;

    letter-spacing: 0;

    box-sizing: border-box;
}


/* =========================================================
   SUB HEADING
========================================================= */

.certificate-content h4 {

    margin: 0 0 24px;

    color: #ed3340;

    font-size: 18px;

    font-weight: 700;

    line-height: 1.4;

    box-sizing: border-box;
}


/* =========================================================
   POINTS
========================================================= */

.certificate-points {

    width: 100%;

    display: flex;

    flex-direction: column;

    gap: 14px;

    box-sizing: border-box;
}


/* =========================================================
   SINGLE POINT
========================================================= */

.certificate-point {

    display: flex;

    align-items: flex-start;

    gap: 18px;

    width: 100%;

    box-sizing: border-box;
}


/* =========================================================
   CHECK ICON
========================================================= */

.point-icon {

    width: 23px;

    height: 23px;

    min-width: 23px;

    margin-top: 2px;

    background: #ed3340;

    color: #ffffff;

    border-radius: 50%;

    display: flex;

    align-items: center;

    justify-content: center;

    box-sizing: border-box;
}


.point-icon i {

    font-size: 12px;

    line-height: 1;
}


/* =========================================================
   POINT TEXT
========================================================= */

.certificate-point p {

    margin: 0;

    padding: 0;

    color: #111111;

    font-size: 17px;

    font-weight: 400;

    line-height: 1.45;

    box-sizing: border-box;
}


/* =========================================================
   BUTTON WRAPPER
========================================================= */

.certificate-button-wrapper {

    margin-top: 48px;

    display: flex;

    align-items: center;

}


/* =========================================================
   CTA BUTTON
========================================================= */

.certificate-button {

    display: inline-flex;

    align-items: center;

    justify-content: center;

    min-height: 60px;

    padding: 0 25px;

    background: #ed3340;

    color: #ffffff;

    border-radius: 8px;

    text-decoration: none;

    font-size: 23px;

    font-weight: 700;

    line-height: 1;

    transition: all 0.25s ease;

    box-sizing: border-box;
}


.certificate-button:hover {

    background: #d92734;

    color: #ffffff;

    transform: translateY(-2px);

}


/* =========================================================
   RIGHT IMAGE AREA
========================================================= */

.certificate-image-wrapper {

    width: 325px;

    min-width: 325px;

    display: flex;

    align-items: center;

    justify-content: center;

    box-sizing: border-box;
}


/* =========================================================
   IMAGE BOX
========================================================= */

.certificate-image-box {

    width: 440px;

    max-width: 100%;

    padding: 7px;

    background: #ffffff;

    border: 2px solid #ed1c24;

    border-radius: 13px;

    box-shadow: 0 6px 15px rgba(0, 0, 0, 0.12);

    box-sizing: border-box;
}


/* =========================================================
   CERTIFICATE IMAGE
========================================================= */

.certificate-image-box img {

    display: block;

    width: 100%;

    height: auto;

    border-radius: 4px;

    object-fit: contain;

}


/* =========================================================
   TABLET
========================================================= */

@media (max-width: 1100px) {

    .certificate-container {

        width: 92%;

        padding: 40px;

        gap: 35px;
    }


    .certificate-content h2 {

        font-size: 32px;
    }


    .certificate-image-wrapper {

        width: 270px;

        min-width: 270px;
    }


    .certificate-image-box {

        width: 270px;
    }


    .certificate-point p {

        font-size: 16px;
    }

}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 767px) {

    .rjvs-certificate-section {

        padding: 20px 0 30px;

    }


    .certificate-container {

        width: calc(100% - 30px);

        min-height: auto;

        margin: 0 auto;

        padding: 30px 22px 35px;

        border-radius: 14px;

        display: flex;

        flex-direction: column;

        align-items: stretch;

        justify-content: flex-start;

        gap: 35px;

        box-sizing: border-box;
    }


    /* -----------------------------------------------------
       CONTENT
    ----------------------------------------------------- */

    .certificate-content {

        width: 100%;

        order: 1;
    }


    /* -----------------------------------------------------
       HEADING
    ----------------------------------------------------- */

    .certificate-content h2 {

        margin: 0 0 22px;

        max-width: none;

        font-size: 27px;

        line-height: 1.25;

        text-align: left;
    }


    /* -----------------------------------------------------
       SUB HEADING
    ----------------------------------------------------- */

    .certificate-content h4 {

        margin: 0 0 22px;

        font-size: 16px;

        line-height: 1.45;

        text-align: left;
    }


    /* -----------------------------------------------------
       POINTS
    ----------------------------------------------------- */

    .certificate-points {

        gap: 16px;
    }


    .certificate-point {

        gap: 12px;

        align-items: flex-start;
    }


    /* -----------------------------------------------------
       CHECK
    ----------------------------------------------------- */

    .point-icon {

        width: 21px;

        height: 21px;

        min-width: 21px;

        margin-top: 2px;
    }


    .point-icon i {

        font-size: 10px;
    }


    /* -----------------------------------------------------
       TEXT
    ----------------------------------------------------- */

    .certificate-point p {

        font-size: 15px;

        line-height: 1.45;
    }


    /* -----------------------------------------------------
       BUTTON
    ----------------------------------------------------- */

    .certificate-button-wrapper {

        margin-top: 30px;

        width: 100%;
    }


    .certificate-button {

        width: 100%;

        min-height: 54px;

        padding: 0 15px;

        font-size: 18px;

        border-radius: 7px;
    }


    /* -----------------------------------------------------
       IMAGE
    ----------------------------------------------------- */

    .certificate-image-wrapper {

        width: 100%;

        min-width: 0;

        order: 2;

        display: flex;

        justify-content: center;
    }


    .certificate-image-box {

        width: 250px;

        max-width: 75%;

        padding: 6px;

        border-radius: 11px;
    }

}


/* =========================================================
   SMALL MOBILE
========================================================= */

@media (max-width: 400px) {

    .certificate-container {

        width: calc(100% - 20px);

        padding: 25px 18px 30px;

        gap: 30px;
    }


    .certificate-content h2 {

        font-size: 24px;

        line-height: 1.25;
    }


    .certificate-content h4 {

        font-size: 15px;
    }


    .certificate-point p {

        font-size: 14px;
    }


    .certificate-button {

        font-size: 17px;

        min-height: 52px;
    }


    .certificate-image-box {

        width: 230px;

        max-width: 78%;
    }

}

/* ================= LEAD GENERATION SECTION ================= */

.lead-section {
    width: 100%;
    padding: 70px 20px;
    background:
        radial-gradient(
            circle at 15% 50%,
            rgba(255, 193, 7, 0.08),
            transparent 35%
        ),
        linear-gradient(
            135deg,
            #061526 0%,
            #03111f 55%,
            #020c17 100%
        );
}


/* ================= MAIN CONTAINER ================= */

.lead-container {
    width: min(100%, 1180px);
    margin: 0 auto;

    display: grid;
    grid-template-columns: 1fr 390px;

    align-items: center;
    gap: 70px;
}


/* ================= LEFT CONTENT ================= */

.lead-content {
    padding: 10px 0;
}

.lead-eyebrow {
    display: inline-flex;

    color: #f5b91e;

    font-size: 12px;
    font-weight: 700;

    letter-spacing: 4px;

    margin-bottom: 20px;
}


.lead-content h2 {
    max-width: 600px;

    margin: 0;

    color: #ffffff;

    font-family: Georgia, "Times New Roman", serif;

    font-size: clamp(44px, 5vw, 50px);

    line-height: 1.02;

    font-weight: 600;
}


.lead-content h2 span {
    display: block;

    color: #f5b91e;

    font-size: 1.05em;
}


.lead-description {
    max-width: 590px;

    margin: 22px 0 25px;

    color: #e1e6ec;

    font-size: 16px;

    line-height: 1.55;
}


/* ================= FEATURES ================= */

.lead-features {
    max-width: 590px;

    display: grid;

    grid-template-columns: 1fr 1fr;

    column-gap: 35px;
    row-gap: 14px;
}


.lead-feature {
    display: flex;

    align-items: center;

    gap: 13px;

    color: #f1f1f1;

    font-size: 14px;

    line-height: 1.35;
}


.lead-feature-icon {
    width: 40px;
    height: 40px;

    flex-shrink: 0;

    display: flex;

    align-items: center;
    justify-content: center;

    border: 1px solid #f5b91e;

    border-radius: 50%;

    color: #f5b91e;

    font-size: 18px;
}


/* ================= TAGLINE ================= */

.lead-tagline {
    margin-top: 25px;

    padding-left: 40px;

    color: #f5b91e;

    font-family: "Brush Script MT", cursive;

    font-size: 28px;

    line-height: 1.05;

    transform: rotate(-2deg);
}

.lead-tagline span {
    padding-left: 25px;
}


/* ================= FORM CARD ================= */

.lead-form-card {
    width: 100%;

    padding: 25px 30px 23px;

    background: #fffdf8;

    border: 1px solid rgba(245, 185, 30, 0.45);

    border-radius: 12px;

    box-shadow:
        0 20px 60px rgba(0, 0, 0, 0.35);
}


.lead-form-card h3 {
    margin: 0;

    color: #102033;

    font-family: Georgia, "Times New Roman", serif;

    font-size: 30px;

    line-height: 1.15;
}


.lead-form-subtitle {
    margin: 6px 0 15px;

    color: #344255;

    font-size: 14px;

    line-height: 1.4;
}


/* ================= INPUTS ================= */

.lead-input,
.lead-phone-row,
.lead-textarea {
    width: 100%;

    min-height: 38px;

    display: flex;

    align-items: center;

    background: #ffffff;

    border: 1px solid #d5dce5;

    border-radius: 5px;

    margin-bottom: 7px;

    transition:
        border-color 0.2s ease,
        box-shadow 0.2s ease;
}


.lead-input:focus-within,
.lead-phone-row:focus-within,
.lead-textarea:focus-within {
    border-color: #f5b91e;

    box-shadow:
        0 0 0 3px rgba(245, 185, 30, 0.12);
}


.lead-input-icon {
    width: 40px;

    flex-shrink: 0;

    display: flex;

    align-items: center;
    justify-content: center;

    color: #647184;

    font-size: 16px;
}


.lead-input input {
    width: 100%;

    height: 37px;

    border: 0;
    outline: 0;

    background: transparent;

    color: #172333;

    font-size: 13px;
}


.lead-input input::placeholder,
.lead-phone-row input::placeholder,
.lead-textarea textarea::placeholder {
    color: #647184;
}


/* ================= PHONE ================= */

.lead-phone-row {
    overflow: hidden;
}


.lead-country-select {
    width: 92px;

    height: 37px;

    flex-shrink: 0;

    padding: 0 7px;

    border: 0;

    border-right: 1px solid #d5dce5;

    outline: 0;

    background: #ffffff;

    color: #263548;

    font-size: 12px;

    font-family: inherit;

    cursor: pointer;

    appearance: auto;
}

.lead-country-select:focus {
    outline: 0;
}


.lead-phone-row input {
    flex: 1;

    min-width: 0;

    height: 37px;

    padding: 0 12px;

    border: 0;

    outline: 0;

    background: transparent;

    color: #172333;

    font-size: 13px;
}


.lead-phone-row input {
    flex: 1;

    height: 37px;

    min-width: 0;

    padding: 0 12px;

    border: 0;
    outline: 0;

    color: #172333;

    font-size: 13px;
}


/* ================= TEXTAREA ================= */

.lead-textarea {
    min-height: 63px;

    align-items: flex-start;
}


.lead-textarea .lead-input-icon {
    padding-top: 12px;
}


.lead-textarea textarea {
    width: 100%;

    height: 60px;

    padding: 10px 10px 8px 0;

    resize: vertical;

    border: 0;
    outline: 0;

    background: transparent;

    color: #172333;

    font-family: inherit;

    font-size: 13px;
}


/* ================= SUBMIT ================= */

.lead-submit-btn {
    width: 100%;

    height: 48px;

    margin-top: 5px;

    display: flex;

    align-items: center;
    justify-content: center;

    gap: 25px;

    border: 0;

    border-radius: 6px;

    background:
        linear-gradient(
            135deg,
            #f8c542,
            #f3b52a
        );

    color: #071526;

    font-size: 16px;

    font-weight: 800;

    cursor: pointer;

    transition:
        transform 0.2s ease,
        box-shadow 0.2s ease;
}


.lead-submit-btn:hover {
    transform: translateY(-2px);

    box-shadow:
        0 8px 20px rgba(245, 185, 30, 0.25);
}


.lead-submit-arrow {
    font-size: 24px;

    line-height: 1;
}


/* ================= SECURITY ================= */

.lead-security {
    margin: 12px auto 0;

    max-width: 290px;

    text-align: center;

    color: #596574;

    font-size: 10px;

    line-height: 1.45;
}


/* ================= TABLET ================= */

@media (max-width: 900px) {

    .lead-container {
        grid-template-columns: 1fr;

        gap: 45px;

        max-width: 650px;
    }

    .lead-content {
        text-align: center;
    }

    .lead-description,
    .lead-features {
        margin-left: auto;
        margin-right: auto;
    }

    .lead-eyebrow {
        justify-content: center;
    }

    .lead-tagline {
        padding-left: 0;
    }

    .lead-tagline span {
        padding-left: 0;
    }
}


/* ================= MOBILE ================= */

@media (max-width: 600px) {

    .lead-section {
        padding: 55px 15px;
    }

    .lead-content h2 {
        font-size: 40px;
    }

    .lead-description {
        font-size: 14px;
    }

    .lead-features {
        grid-template-columns: 1fr;

        gap: 12px;

        text-align: left;
    }

    .lead-form-card {
        padding: 22px 18px;
    }

    .lead-form-card h3 {
        font-size: 27px;
    }

    .lead-tagline {
        font-size: 24px;
    }
}

/* ================= DEMO SESSION SECTION ================= */

.demo-session-section {
    width: 100%;
    padding: 10px 24px 25px;

    background: #f5f5f5;
}


/* ================= CONTAINER ================= */

.demo-session-container {
    width: min(100%, 1680px);

    margin: 0 auto;

    padding: 48px 25px 25px;

    display: grid;

    grid-template-columns: 1fr 1fr;

    align-items: center;

    gap: 40px;

    background: #ffffff;

    border-radius: 12px;

    box-shadow: 0 8px 30px rgba(0, 0, 0, 0.08);
}


/* ================= MEDIA ================= */

.demo-session-media {
    width: 100%;

    height: 455px;

    position: relative;

    overflow: hidden;

    border-radius: 10px;

    background: #15161a;
}


.demo-session-media img {
    width: 100%;
    height: 100%;

    display: block;

    object-fit: cover;
}


/* Optional subtle overlay */

.demo-media-overlay {
    position: absolute;

    inset: 0;

    pointer-events: none;

    background: linear-gradient(
        180deg,
        rgba(0, 0, 0, 0.02),
        rgba(0, 0, 0, 0.08)
    );
}


/* ================= CONTENT ================= */

.demo-session-content {
    padding: 0 25px 0 0;
}


.demo-session-content h2 {
    max-width: 720px;

    margin: 0 0 22px;

    color: #050505;

    font-size: clamp(34px, 3.2vw, 44px);

    line-height: 1.2;

    font-weight: 700;

    letter-spacing: -0.7px;
}


/* ================= POINTS ================= */

.demo-session-points {
    margin: 0;

    padding: 0;

    list-style: none;

    display: flex;

    flex-direction: column;

    gap: 12px;
}


.demo-session-points li {
    display: flex;

    align-items: flex-start;

    gap: 14px;

    color: #171717;

    font-size: 18px;

    line-height: 1.45;
}


.demo-session-points strong {
    font-weight: 700;
}


/* ================= CHECK ICON ================= */

.demo-check {
    width: 25px;
    height: 25px;

    flex: 0 0 25px;

    margin-top: 1px;

    display: flex;

    align-items: center;
    justify-content: center;

    border-radius: 50%;

    background: #2e0acc;

    color: #ffffff;

    font-size: 16px;

    font-weight: 700;

    line-height: 1;
}


/* ================= OFFER ================= */

.demo-offer {
    width: fit-content;

    margin-top: 22px;

    padding: 17px 25px;

    border-radius: 8px;

    background: #ffdce0;

    color: #1b18ee;

    font-size: 20px;

    font-weight: 700;
}


/* ================= BOOK BUTTON ================= */

.demo-book-btn {
    display: inline-flex;

    align-items: center;
    justify-content: center;

    min-width: 146px;

    height: 55px;

    margin-top: 10px;

    padding: 0 28px;

    border-radius: 7px;

    background: #ed3340;

    color: #ffffff;

    font-size: 17px;

    font-weight: 700;

    text-decoration: none;

    transition:
        transform 0.25s ease,
        background 0.25s ease,
        box-shadow 0.25s ease;
}


.demo-book-btn:hover {
    background: #d92735;

    transform: translateY(-2px);

    box-shadow: 0 8px 20px rgba(237, 51, 64, 0.22);
}


/* ================= TABLET ================= */

@media (max-width: 1000px) {

    .demo-session-container {
        grid-template-columns: 1fr;

        gap: 35px;

        padding: 30px;
    }

    .demo-session-media {
        height: 430px;
    }

    .demo-session-content {
        padding: 0;
    }

    .demo-session-content h2 {
        max-width: 800px;
    }
}


/* ================= MOBILE ================= */

@media (max-width: 600px) {

    .demo-session-section {
        padding: 10px 12px 20px;
    }

    .demo-session-container {
        padding: 20px 16px 25px;

        gap: 25px;

        border-radius: 10px;
    }

    .demo-session-media {
        height: 260px;

        border-radius: 8px;
    }

    .demo-session-content h2 {
        font-size: 31px;

        line-height: 1.18;

        margin-bottom: 18px;
    }

    .demo-session-points {
        gap: 10px;
    }

    .demo-session-points li {
        font-size: 15px;

        gap: 10px;
    }

    .demo-check {
        width: 22px;
        height: 22px;

        flex-basis: 22px;

        font-size: 14px;
    }

    .demo-offer {
        width: 100%;

        padding: 14px 15px;

        font-size: 17px;

        text-align: center;
    }

    .demo-book-btn {
        width: 145px;

        height: 52px;

        font-size: 16px;
    }
}



/* =====================================================
   RJVS REVIEWS SECTION
===================================================== */

.rjvs-reviews-section {
    width: 95%;
    max-width: 1680px;
    padding: 65px 0 70px;

    margin: 0 auto;

    position: relative;

    overflow: hidden;
}


/* =====================================================
   SECTION HEADING
===================================================== */

.reviews-heading {
    margin-bottom: 30px;
    padding: 0 20px;
}

.reviews-heading h2 {
    margin: 0;
    color: #ffffff;
    font-size: 40px;
    line-height: 1.25;
    font-weight: 500;
}

.reviews-heading p {
    margin: 16px 0 0;
    color: #ef3340;
    font-size: 20px;
    line-height: 1.4;
    font-weight: 500;
}


/* =====================================================
   SLIDER OUTER AREA

   Left + Right space yahan control hoga
===================================================== */

.reviews-slider-container {
    position: relative;

    width: 100%;
    max-width: 1800px;

    margin: 0 auto;

    padding: 0 70px;

    overflow: hidden;
}


/* =====================================================
   SLIDER
===================================================== */

.reviews-slider {
    display: flex;

    gap: 18px;

    width: 100%;

    transition: transform 0.6s ease;

    will-change: transform;
}


/* =====================================================
   REVIEW SLIDE

   Desktop = 3 images
===================================================== */

.review-slide {
    flex: 0 0 calc((100% - 36px) / 3);

    min-width: 0;
}


/* =====================================================
   REVIEW CARD
===================================================== */

.review-image-card {
    width: 100%;

    background: #ffffff;

    border: 1px solid #7f8997;

    border-radius: 17px;

    overflow: hidden;

    box-shadow:
        0 3px 10px rgba(0, 0, 0, 0.25);
}


/* =====================================================
   REVIEW IMAGE
===================================================== */

.review-image-card img {
    width: 100%;

    height: auto;

    display: block;

    object-fit: cover;
}


/* =====================================================
   ARROWS
===================================================== */

.review-arrow {
    position: absolute;

    top: 50%;

    transform: translateY(-50%);

    width: 48px;
    height: 48px;

    border: none;

    border-radius: 50%;

    display: flex;
    align-items: center;
    justify-content: center;

    background: rgba(255, 255, 255, 0.96);

    color: #1C130C;

    font-size: 16px;

    cursor: pointer;

    z-index: 20;

    box-shadow:
        0 3px 12px rgba(0, 0, 0, 0.30);

    transition: all 0.3s ease;
}


.review-arrow:hover {
    background: #ef3340;
    color: #ffffff;

    transform: translateY(-50%) scale(1.08);
}


/* Left arrow */

.review-prev {
    left: 12px;
}


/* Right arrow */

.review-next {
    right: 12px;
}


/* =====================================================
   DOTS
===================================================== */

.review-dots {
    display: flex;

    align-items: center;
    justify-content: center;

    gap: 8px;

    margin-top: 25px;
}


.review-dot {
    width: 9px;
    height: 9px;

    padding: 0;

    border: none;

    border-radius: 50%;

    background: rgba(255, 255, 255, 0.35);

    cursor: pointer;

    transition: all 0.3s ease;
}


.review-dot.active {
    width: 25px;

    border-radius: 20px;

    background: #ef3340;
}


/* =====================================================
   TABLET
===================================================== */

@media (max-width: 1199px) {

    .rjvs-reviews-section {
        padding: 55px 0 60px;
    }


    .reviews-heading h2 {
        font-size: 34px;
    }


    .reviews-heading p {
        font-size: 18px;
    }


    .reviews-slider-container {
        padding: 0 60px;
    }


    /* 2 reviews visible */

    .review-slide {
        flex: 0 0 calc((100% - 18px) / 2);
    }

}


/* =====================================================
   MOBILE
===================================================== */

@media (max-width: 767px) {

    .rjvs-reviews-section {
        padding: 45px 0 50px;
    }


    .reviews-heading {
        margin-bottom: 25px;
    }


    .reviews-heading h2 {
        font-size: 29px;
        line-height: 1.3;
    }


    .reviews-heading p {
        margin-top: 12px;
        font-size: 17px;
    }


    .reviews-slider-container {
        padding: 0 50px;
    }


    /* 1 review visible */

    .review-slide {
        flex: 0 0 100%;
    }


    .review-arrow {
        width: 38px;
        height: 38px;

        font-size: 13px;
    }


    .review-prev {
        left: 7px;
    }


    .review-next {
        right: 7px;
    }

}


/* =====================================================
   SMALL MOBILE
===================================================== */

@media (max-width: 480px) {

    .rjvs-reviews-section {
        padding: 38px 0 45px;
    }


    .reviews-heading {
        padding: 0 15px;
    }


    .reviews-heading h2 {
        font-size: 25px;
    }


    .reviews-heading p {
        font-size: 16px;
    }


    .reviews-slider-container {
        padding: 0 42px;
    }


    .review-image-card {
        border-radius: 12px;
    }


    .review-arrow {
        width: 34px;
        height: 34px;

        font-size: 11px;
    }


    .review-prev {
        left: 4px;
    }


    .review-next {
        right: 4px;
    }

}


/* =========================================================
   RJVS COURSE JOURNEY SECTION
========================================================= */

.rjvs-course-journey {

    width: 100%;

    padding: 35px 0 45px;

    background: #ffffff;

    overflow: hidden;

    box-sizing: border-box;
}

.journey-heading {
    width: min(calc(100% - 30px), 1188px);
    margin: 0 auto 58px;
    text-align: center;
}

.journey-heading h2 {
    margin: 0 0 12px;
    color: #ffffff;
    font-size: clamp(30px, 3.2vw, 40px);
    line-height: 1.2;
    font-weight: 700;
}

.journey-heading p {
    margin: 0;
    color: #d9d0c8;
    font-size: 18px;
    line-height: 1.4;
    letter-spacing: 0.4px;
}


/* =========================================================
   MAIN WRAPPER
========================================================= */

.journey-wrapper {

    width: 94%;

    max-width: 1550px;

    margin: 0 auto;

    display: flex;

    flex-direction: row;

    align-items: stretch;

    gap: 32px;

    box-sizing: border-box;
}


/* =========================================================
   EACH ITEM
========================================================= */

.journey-item {

    position: relative;

    flex: 1 1 0;

    min-width: 0;

    box-sizing: border-box;
}


/* =========================================================
   DESKTOP CARD
========================================================= */

.journey-card {

    position: relative;

    width: 100%;

    min-height: 237px;

    padding: 14px 12px 25px;

    background: #ffffff;

    border: 1px solid #ed1c24;

    border-radius: 15px;

    text-align: center;

    display: flex;

    flex-direction: column;

    align-items: center;

    box-sizing: border-box;

    z-index: 2;
}


/* =========================================================
   NUMBER - DESKTOP
========================================================= */

.step-number {

    width: 40px;

    height: 40px;

    margin: 0 auto 12px;

    background: #c82431;

    color: #ffffff;

    border-radius: 50%;

    font-size: 18px;

    font-weight: 700;

    line-height: 1;

    display: flex;

    align-items: center;

    justify-content: center;

    flex-shrink: 0;

    box-sizing: border-box;
}


/* =========================================================
   TITLE
========================================================= */

.journey-card h3 {

    margin: 0;

    padding: 6px 15px;

    border: 1px solid #ed1c24;

    border-radius: 25px;

    background: #ffffff;

    color: #111111;

    font-size: 14px;

    font-weight: 700;

    line-height: 1.3;

    width: 100%;
    max-width: 100%;
    white-space: normal;
    overflow-wrap: anywhere;
    text-align: center;

    box-sizing: border-box;
}


/* =========================================================
   DESCRIPTION
========================================================= */

.journey-card p {

    width: 100%;

    margin: 15px 0 0;

    padding: 0 5px;

    color: #111111;

    font-size: 13px;

    font-weight: 400;

    line-height: 1.45;

    text-align: center;

    box-sizing: border-box;
}

.journey-card {
    height: 237px;
}

.journey-card h3 {
    min-height: 38px;
    display: flex;
    align-items: center;
    justify-content: center;
}


/* =========================================================
   DESKTOP CONNECTOR
========================================================= */

.journey-item:not(:last-child)::after {

    content: "";

    position: absolute;

    top: 95px;

    left: 100%;

    width: 32px;

    border-top: 1px dashed #ed1c24;

    z-index: 1;
}


/* =========================================================
   TABLET
========================================================= */

@media (max-width: 1100px) {

    .journey-wrapper {

        width: 92%;

        display: grid;

        grid-template-columns: repeat(4, 1fr);

        gap: 22px;
    }

    .journey-item::after {

        display: none;
    }

}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 767px) {

    /* -----------------------------------------------------
       SECTION
    ----------------------------------------------------- */

    .rjvs-course-journey {

        width: 100%;

        padding: 25px 0 70px;

        background: #ffffff;

        overflow: hidden;
    }


    /* -----------------------------------------------------
       WRAPPER
    ----------------------------------------------------- */

    .journey-wrapper {

        position: relative;

        width: 100%;

        max-width: none;

        margin: 0;

        padding: 5px 20px 10px 102px;

        display: flex;

        flex-direction: column;

        gap: 30px;

        box-sizing: border-box;
    }

    .journey-heading {
        margin-bottom: 30px;
    }

    .journey-heading h2 {
        font-size: 28px;
    }

    .journey-heading p {
        font-size: 14px;
    }


    /* -----------------------------------------------------
       VERTICAL DOTTED LINE
    ----------------------------------------------------- */

    .journey-wrapper::before {

        content: "";

        position: absolute;

        left: 51px;

        top: 26px;

        bottom: 26px;

        width: 3px;

        background-image: repeating-linear-gradient(

            to bottom,

            #c82431 0px,

            #c82431 4px,

            transparent 4px,

            transparent 9px

        );

        z-index: 0;

        pointer-events: none;
    }


    /* -----------------------------------------------------
       ITEM
    ----------------------------------------------------- */

    .journey-item {

        position: relative;

        width: 100%;

        min-width: 0;

        flex: none;

        margin: 0;

        padding: 0;

        box-sizing: border-box;

        z-index: 1;
    }


    /* -----------------------------------------------------
       CARD
    ----------------------------------------------------- */

    .journey-card {

        position: relative;

        width: 100%;

        min-height: 0;
        height: 220px;

        height: auto;

        margin: 0;

        padding: 20px 20px 22px;

        background: #ffffff;

        border: none;

        border-radius: 22px;

        box-shadow: 0 6px 22px rgba(0, 0, 0, 0.08);

        display: block;

        text-align: left;

        box-sizing: border-box;
    }


    /* -----------------------------------------------------
       NUMBER - MOBILE
    ----------------------------------------------------- */

    .step-number {

        position: absolute;

        left: -71px;

        top: 0;

        width: 52px;

        height: 52px;

        margin: 0;

        padding: 0;

        background: #c82431;

        color: #ffffff;

        border-radius: 50%;

        font-size: 20px;

        font-weight: 700;

        line-height: 1;

        display: flex;

        align-items: center;

        justify-content: center;

        box-sizing: border-box;

        z-index: 5;
    }


    /* -----------------------------------------------------
       TITLE - MOBILE
    ----------------------------------------------------- */

    .journey-card h3 {

        display: inline-block;

        width: 100%;

        max-width: 100%;

        margin: 0;

        padding: 7px 20px;

        background: #ffffff;

        border: 1.5px solid #ed1c24;

        border-radius: 25px;

        color: #111111;

        font-size: 15px;

        font-weight: 700;

        line-height: 1.3;

        text-align: center;

        min-height: 38px;
        display: flex;
        align-items: center;
        justify-content: center;
        white-space: normal;
        overflow-wrap: anywhere;

        box-sizing: border-box;
    }


    /* -----------------------------------------------------
       DESCRIPTION - MOBILE
    ----------------------------------------------------- */

    .journey-card p {

        width: 100%;

        margin: 13px 0 0;

        padding: 0;

        color: #111111;

        font-size: 17px;

        font-weight: 400;

        line-height: 1.45;

        text-align: left;

        box-sizing: border-box;
    }


    /* -----------------------------------------------------
       REMOVE DESKTOP CONNECTOR
    ----------------------------------------------------- */

    .journey-item::after {

        display: none !important;
    }

}


/* =========================================================
   375px - 480px
========================================================= */

@media (max-width: 480px) {

    .journey-wrapper {

        padding-left: 102px;

        padding-right: 20px;

        gap: 30px;
    }


    /* Vertical line */

    .journey-wrapper::before {

        left: 51px;

        top: 26px;

        bottom: 26px;

        width: 3px;
    }


    /* Card */

    .journey-card {

        padding: 20px 20px 22px;

        border-radius: 22px;
    }


    /* Number */

    .step-number {

        left: -71px;

        top: 0;

        width: 52px;

        height: 52px;

        font-size: 20px;
    }


    /* Title */

    .journey-card h3 {

        padding: 7px 20px;

        font-size: 18px;
    }


    /* Description */

    .journey-card p {

        margin-top: 13px;

        font-size: 17px;

        line-height: 1.45;
    }

}


/* =========================================================
   VERY SMALL MOBILE
   320px - 374px
========================================================= */

@media (max-width: 374px) {

    .journey-wrapper {

        padding-left: 92px;

        padding-right: 12px;

        gap: 25px;
    }


    .journey-wrapper::before {

        left: 46px;

        top: 24px;

        bottom: 24px;
    }


    .step-number {

        left: -64px;

        width: 48px;

        height: 48px;

        font-size: 19px;
    }


    .journey-card {

        padding: 18px 16px 20px;

        border-radius: 20px;
    }


    .journey-card h3 {

        padding: 6px 15px;

        font-size: 16px;
    }


    .journey-card p {

        margin-top: 12px;

        font-size: 15px;

        line-height: 1.45;
    }

}


/* =========================================================
   FINAL COLOR SYSTEM
========================================================= */

:root {
    --color-primary: #1D1109;
    --color-secondary: #FF8416;
    --color-black: #000000;
    --color-surface: #26170d;
    --color-light-surface: #fff8ef;
    --color-text: #ffffff;
    --color-muted: #d9d0c8;
}

body {
    background: var(--color-primary);
    color: var(--color-text);
}

.site-header {
    background: var(--color-black);
    border-top-color: var(--color-primary);
    border-bottom-color: rgba(255, 132, 22, 0.22);
}

.main-nav a:hover,
.landing-footer-column > a:hover,
.landing-footer-legal a:hover {
    color: var(--color-secondary);
}

.login-btn,
.btn-primary,
.course-preview-button,
.final-cta-primary,
.certificate-button,
.demo-book-btn,
.book-now-btn,
.lead-submit-btn {
    background: var(--color-secondary);
    color: var(--color-black) !important;
}

.login-btn:hover,
.btn-primary:hover,
.course-preview-button:hover,
.final-cta-primary:hover,
.certificate-button:hover,
.demo-book-btn:hover,
.book-now-btn:hover,
.lead-submit-btn:hover {
    background: var(--color-secondary);
    box-shadow: 0 14px 32px rgba(255, 132, 22, 0.28);
}

.hero,
.training-overview,
.program-features,
.final-cta-section,
.about-instructor-section,
.lead-section,
.bonus-community-container {
    background: var(--color-primary);
    border-bottom: 1px solid rgba(246, 142, 52, 0.22);
}

.course-intro-video,
.course-preview-section,
.bonus-community-section,
.rjvs-reviews-section,
.landing-footer {
    background: var(--color-black);
}

.hero h1 span,
.hero h2 span,
.training-container h2,
.training-number,
.training-no-upsells h3,
.program-features-container h2,
.bonus-eyebrow,
.community-eyebrow,
.community-item a,
.final-cta-container h2,
.about-instructor-content h2,
.about-instructor-text strong,
.course-preview-label,
.course-preview-content h2 span,
.lead-eyebrow,
.lead-content h2 span,
.lead-tagline,
.reviews-heading p {
    color: var(--color-secondary);
}

.hero-description,
.highlight-box p,
.training-subtitle,
.training-no-upsells p,
.program-features-subtitle,
.community-description,
.final-cta-container p,
.about-instructor-text p,
.lead-description,
.lead-feature {
    color: var(--color-muted);
}

.highlight-box,
.stat-pill,
.training-stat-card,
.training-no-upsells,
.feature-card,
.bonus-item,
.community-item {
    background: var(--color-surface);
    border-color: rgba(255, 132, 22, 0.42);
}

.highlight-box,
.feature-card {
    border-left-color: var(--color-secondary);
}

.btn-outline,
.final-cta-outline {
    border-color: var(--color-secondary);
    color: var(--color-secondary);
}

.btn-outline:hover,
.final-cta-outline:hover {
    background: rgba(255, 132, 22, 0.12);
}

.whatsapp-btn {
    background: #50cf5b;
    color: #ffffff;
}

.whatsapp-icon {
    border-color: #ffffff;
}

.astrology-demo-section,
.demo-session-section,
.rjvs-certificate-section,
.rjvs-course-journey {
    background: var(--color-primary);
}

.demo-card,
.demo-session-container,
.certificate-container,
.journey-card {
    background: var(--color-light-surface);
}

.demo-content h2,
.benefit-item p,
.certificate-content h2,
.certificate-point p,
.demo-session-content h2,
.demo-session-points li,
.journey-card h3,
.journey-card p {
    color: var(--color-black);
}

.check-icon,
.point-icon,
.demo-check,
.step-number {
    background: var(--color-secondary);
    color: var(--color-black);
}

.free-demo-btn,
.demo-offer {
    background: rgba(255, 132, 22, 0.16);
    color: var(--color-primary);
}

.free-demo-btn:hover {
    background: rgba(255, 132, 22, 0.28);
    color: var(--color-primary);
}

.certificate-content h4,
.certificate-button,
.demo-book-btn {
    color: var(--color-black);
}

.certificate-image-box {
    border-color: var(--color-secondary);
}

.course-preview-box {
    background: var(--color-primary);
    border-color: rgba(255, 132, 22, 0.42);
}

.course-preview-overlay {
    background: rgba(29, 17, 9, 0.76);
}

.about-orange-circle,
.about-small-circle {
    background: var(--color-secondary);
}

.about-social.linkedin,
.about-social.youtube,
.landing-footer-socials a:hover {
    background: var(--color-secondary);
}

.landing-footer-socials a {
    background: var(--color-primary);
    border-color: rgba(255, 132, 22, 0.28);
}

.landing-footer-brand > p,
.landing-footer-column > a,
.landing-footer-contact > p {
    color: var(--color-muted);
}

.landing-footer-email,
.landing-footer-contact-link {
    color: var(--color-secondary) !important;
}

.lead-form-card {
    background: var(--color-light-surface);
    border-color: rgba(255, 132, 22, 0.55);
}

.lead-form-card h3,
.lead-form-subtitle,
.lead-input input,
.lead-phone-row input,
.lead-textarea textarea,
.lead-country-select {
    color: var(--color-black);
}

.lead-input,
.lead-phone-row,
.lead-textarea,
.lead-country-select {
    border-color: rgba(29, 17, 9, 0.24);
    background: #ffffff;
}

.lead-input:focus-within,
.lead-phone-row:focus-within,
.lead-textarea:focus-within {
    border-color: var(--color-secondary);
    box-shadow: 0 0 0 3px rgba(255, 132, 22, 0.16);
}

.lead-input-icon,
.lead-input input::placeholder,
.lead-phone-row input::placeholder,
.lead-textarea textarea::placeholder {
    color: #6b5c50;
}

.review-image-card {
    border-color: rgba(255, 132, 22, 0.45);
}

.review-arrow {
    background: var(--color-secondary);
    color: var(--color-black);
}

.review-arrow:hover,
.review-dot.active {
    background: var(--color-secondary);
    color: var(--color-black);
}

.journey-card {
    border-color: var(--color-secondary);
}

.journey-card h3 {
    border-color: var(--color-secondary);
}

.journey-item:not(:last-child)::after {
    border-top-color: var(--color-secondary);
}

.journey-wrapper::before {
    background-image: repeating-linear-gradient(
        to bottom,
        var(--color-secondary) 0px,
        var(--color-secondary) 4px,
        transparent 4px,
        transparent 9px
    );
}


/* =========================================================
   HERO ORDER
========================================================= */

body {
    display: flex;
    flex-direction: column;
}

body > * {
    order: 3;
}

.site-header {
    order: 0;
}

.lead-section {
    order: 1;
}

.hero {
    order: 2;
}

.landing-footer {
    order: 4;
}

.hero-section {
    position: relative;
    overflow: hidden;
}

.hero-section::before {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    background: radial-gradient(
        circle at 18% 18%,
        rgba(255, 132, 22, 0.12),
        transparent 38%
    );
    animation: zoomInOut 8s ease-in-out infinite;
    transform-origin: 18% 18%;
}

.hero-section .lead-container {
    position: relative;
    z-index: 1;
}


/* =========================================================
   SECTION MOTION
========================================================= */

@keyframes sectionReveal {
    from {
        opacity: 0;
        transform: translateY(24px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes heroGlow {
    0%,
    100% {
        box-shadow: 0 0 0 rgba(255, 132, 22, 0);
    }

    50% {
        box-shadow: 0 0 34px rgba(255, 132, 22, 0.16);
    }
}

@keyframes zoomInOut {
    0%,
    100% {
        transform: scale(1);
    }

    50% {
        transform: scale(1.08);
    }
}

body > section {
    animation: sectionReveal 0.75s cubic-bezier(0.22, 1, 0.36, 1) both;
}

main > section.scroll-reveal {
    opacity: 0;
    transform: translateY(34px) scale(0.98);
    transition:
        opacity 0.8s ease,
        transform 0.8s cubic-bezier(0.22, 1, 0.36, 1);
}

main > section.scroll-reveal.scroll-revealed {
    opacity: 1;
    transform: translateY(0) scale(1);
}

main > section.scroll-reveal h1,
main > section.scroll-reveal h2 {
    opacity: 0;
    transform: scale(0.78);
    transition:
        opacity 0.65s ease,
        transform 0.75s cubic-bezier(0.22, 1, 0.36, 1);
}

main > section.scroll-reveal.scroll-revealed h1,
main > section.scroll-reveal.scroll-revealed h2 {
    opacity: 1;
    transform: scale(1);
    transition-delay: 0.18s;
}

body > section:nth-of-type(2) {
    animation-delay: 0.06s;
}

body > section:nth-of-type(3) {
    animation-delay: 0.12s;
}

body > section:nth-of-type(4) {
    animation-delay: 0.18s;
}

body > section:nth-of-type(5) {
    animation-delay: 0.24s;
}

.hero,
.lead-section {
    animation-name: sectionReveal, heroGlow;
    animation-duration: 0.75s, 4s;
    animation-delay: 0s, 1s;
    animation-iteration-count: 1, infinite;
}

.training-stat-card,
.feature-card,
.bonus-item,
.community-item,
.journey-card,
.review-image-card,
.certificate-image-box,
.lead-form-card {
    transition:
        transform 0.3s ease,
        box-shadow 0.3s ease,
        border-color 0.3s ease;
}

.training-stat-card:hover,
.feature-card:hover,
.bonus-item:hover,
.community-item:hover,
.journey-card:hover,
.review-image-card:hover,
.certificate-image-box:hover,
.lead-form-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 14px 30px rgba(0, 0, 0, 0.22);
}

.hero .btn,
.lead-submit-btn,
.final-cta-btn,
.course-preview-button {
    transition:
        transform 0.25s ease,
        box-shadow 0.25s ease,
        background 0.25s ease;
}

@media (prefers-reduced-motion: reduce) {
    html {
        scroll-behavior: auto;
    }

    body > section,
    main > section.scroll-reveal,
    main > section.scroll-reveal h1,
    main > section.scroll-reveal h2,
    .hero,
    .lead-section {
        animation: none;
        opacity: 1;
        transform: none;
        transition: none;
    }

    .hero-section::before {
        animation: none;
    }

    .training-stat-card,
    .feature-card,
    .bonus-item,
    .community-item,
    .journey-card,
    .review-image-card,
    .certificate-image-box,
    .lead-form-card,
    .hero .btn,
    .lead-submit-btn,
    .final-cta-btn,
    .course-preview-button {
        transition: none;
    }
}


/* =========================================================
    DARK THEME
========================================================= */

:root {
    --color-primary: #1D1109;
    --color-page-background: #2a1b12;
    --color-surface: #38261a;
    --color-light-surface: #fff8ef;
    --color-text: #ffffff;
    --color-muted: #d9d0c8;
}

body {
    background: var(--color-page-background);
    color: var(--color-text);
}

.site-header {
    background: var(--color-black);
    border-top-color: var(--color-primary);
    border-bottom-color: rgba(255, 132, 22, 0.22);
}

.main-nav,
.main-nav a,
.menu-toggle {
    color: var(--color-text);
}

.main-nav a:hover {
    color: var(--color-secondary);
}

.hero,
.training-overview,
.program-features,
.final-cta-section,
.about-instructor-section,
.lead-section,
.bonus-community-container,
.astrology-demo-section,
.demo-session-section,
.rjvs-certificate-section,
.rjvs-course-journey,
.course-intro-video,
.course-preview-section,
.bonus-community-section,
.rjvs-reviews-section,
.landing-footer {
    background: var(--color-page-background);
}

.hero h1,
.hero h2,
.training-container h2,
.program-features-container h2,
.bonus-column h2,
.community-column h2,
.final-cta-container h2,
.about-instructor-content h2,
.reviews-heading h2,
.course-preview-content h2,
.lead-content h2,
.landing-footer-column h3 {
    color: var(--color-text);
}

.hero-description,
.highlight-box p,
.training-subtitle,
.training-no-upsells p,
.program-features-subtitle,
.community-description,
.final-cta-container p,
.about-instructor-text p,
.lead-description,
.lead-feature,
.course-preview-content p {
    color: var(--color-muted);
}

.highlight-box,
.stat-pill,
.training-stat-card,
.training-no-upsells,
.feature-card,
.bonus-item,
.community-item,
.course-preview-box {
    background: var(--color-surface);
    border-color: rgba(255, 132, 22, 0.42);
    color: var(--color-text);
}

.feature-card:hover,
.training-stat-card:hover,
.bonus-item:hover,
.community-item:hover {
    background: #49301f;
    border-color: rgba(255, 132, 22, 0.55);
}

.stat-pill,
.training-label,
.feature-card p,
.bonus-item,
.community-item {
    color: var(--color-text);
}

.course-video-wrapper,
.course-video {
    background: #050505;
    border-color: rgba(255, 255, 255, 0.14);
}

.course-preview-overlay {
    background: rgba(29, 17, 9, 0.76);
}

.course-preview-content h2 {
    text-shadow: 0 4px 20px rgba(0, 0, 0, 0.35);
}

.reviews-heading p,
.landing-footer-column > a,
.landing-footer-contact > p,
.landing-footer-brand > p {
    color: var(--color-muted);
}

.review-image-card,
.demo-card,
.demo-session-container,
.certificate-container,
.journey-card,
.lead-form-card {
    box-shadow: 0 12px 30px rgba(0, 0, 0, 0.25);
}

.review-arrow {
    box-shadow: 0 4px 14px rgba(0, 0, 0, 0.3);
}

.landing-footer {
    border-top-color: rgba(255, 255, 255, 0.08);
}

.landing-footer-socials a {
    background: var(--color-primary);
    border-color: rgba(255, 255, 255, 0.12);
}

.landing-footer-bottom {
    border-top-color: rgba(255, 255, 255, 0.08);
}

.landing-footer-bottom-inner > p,
.landing-footer-legal a {
    color: #9f9994;
}

.course-lead-form-status {
    display: none;
    margin: 12px 0 0;
    color: #b42318;
    font-size: 12px;
    line-height: 1.45;
}

.course-lead-form-status.is-visible {
    display: block;
}

.course-lead-form-status.is-success {
    color: #2f9e44;
}

.lead-submit-btn:disabled {
    cursor: wait;
    opacity: 0.7;
}


/* =========================================================
   SHARED SECTION WIDTHS
========================================================= */

body > section {
    width: 100%;
    max-width: none;
}

.hero-container,
.astrology-demo-section > .container,
.course-video-wrapper,
.training-container,
.course-preview-box,
.program-features-container,
.journey-wrapper,
.bonus-community-container,
.final-cta-container,
.about-instructor-container,
.certificate-container,
.lead-container,
.demo-session-container,
.landing-footer-container {
    width: min(calc(100% - 30px), 1188px);
    max-width: 1188px;
    margin-left: auto;
    margin-right: auto;
}

.rjvs-reviews-section {
    width: 100%;
    max-width: none;
    margin-left: 0;
    margin-right: 0;
}

.reviews-heading,
.reviews-slider-container {
    width: min(calc(100% - 30px), 1188px);
    max-width: 1188px;
    margin-left: auto;
    margin-right: auto;
}

.reviews-slider-container {
    padding-left: 70px;
    padding-right: 70px;
}

@media (min-width: 1101px) {
    .journey-wrapper {
        width: min(94%, 1550px);
        max-width: 1550px;
    }

    .journey-card h3 {
        width: auto;
        max-width: none;
        white-space: nowrap;
        overflow-wrap: normal;
        font-size: 14px;
    }
}

@media (max-width: 767px) {
    .hero-container,
    .astrology-demo-section > .container,
    .course-video-wrapper,
    .training-container,
    .course-preview-box,
    .program-features-container,
    .journey-wrapper,
    .bonus-community-container,
    .final-cta-container,
    .about-instructor-container,
    .certificate-container,
    .lead-container,
    .demo-session-container,
    .landing-footer-container,
    .reviews-heading,
    .reviews-slider-container {
        width: calc(100% - 30px);
        max-width: none;
    }

    .reviews-slider-container {
        padding-left: 50px;
        padding-right: 50px;
    }

    .lead-features {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        column-gap: 14px;
        row-gap: 16px;
    }

    .lead-content,
    .lead-form-card {
        text-align: left;
    }

    .lead-eyebrow {
        justify-content: flex-start;
    }

    .lead-description,
    .lead-features {
        margin-left: 0;
        margin-right: 0;
    }

    .lead-tagline {
        padding-left: 0;
        text-align: left;
    }

    .lead-feature {
        gap: 8px;
        font-size: 13px;
    }

    .lead-feature-icon {
        width: 34px;
        height: 34px;
        font-size: 15px;
    }
}


/* =========================================================
   THANK YOU PAGE
========================================================= */

.thank-you-page {
    min-height: 100vh;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 30px 15px;
    background:
        radial-gradient(circle at 50% 15%, rgba(255, 132, 22, 0.16), transparent 40%),
        var(--color-page-background);
}

.thank-you-card {
    width: min(100%, 620px);
    padding: 54px 42px;
    text-align: center;
    background: var(--color-surface);
    border: 1px solid rgba(255, 132, 22, 0.42);
    border-radius: 20px;
    box-shadow: 0 22px 60px rgba(0, 0, 0, 0.28);
    animation: sectionReveal 0.75s cubic-bezier(0.22, 1, 0.36, 1) both;
}

.thank-you-icon {
    width: 76px;
    height: 76px;
    margin: 0 auto 24px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: var(--color-secondary);
    color: var(--color-black);
    font-size: 38px;
    font-weight: 700;
}

.thank-you-card h1 {
    margin: 0 0 16px;
    color: var(--color-text);
    font-size: clamp(32px, 5vw, 52px);
    line-height: 1.1;
}

.thank-you-card p {
    max-width: 470px;
    margin: 0 auto 28px;
    color: var(--color-muted);
    font-size: 16px;
    line-height: 1.7;
}

.thank-you-button {
    min-height: 54px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0 28px;
    border-radius: 30px;
    background: var(--color-secondary);
    color: var(--color-black);
    font-weight: 700;
    transition: transform 0.25s ease, box-shadow 0.25s ease;
}

.thank-you-button:hover {
    transform: translateY(-3px);
    color: var(--color-black);
    box-shadow: 0 12px 28px rgba(255, 132, 22, 0.28);
}


/* =========================================================
   ASTROLOGY COURSE CARDS
========================================================= */

.astrology-courses-container {
    width: min(calc(100% - 30px), 1188px);
    margin: 0 auto;
    text-align: center;
}

.astrology-courses-intro {
    margin: 0 auto 34px;
    color: var(--color-muted);
    font-size: 16px;
    line-height: 1.6;
}

.astrology-course-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 28px;
}

.astrology-course-card {
    padding: 30px 20px 24px;
    background: var(--color-surface);
    border: 1px solid rgba(255, 132, 22, 0.42);
    border-radius: 16px;
    text-align: center;
    box-shadow: 0 14px 34px rgba(0, 0, 0, 0.2);
    transition: transform 0.3s ease, border-color 0.3s ease, box-shadow 0.3s ease;
}

.astrology-course-card:hover {
    transform: translateY(-6px);
    border-color: var(--color-secondary);
    box-shadow: 0 20px 42px rgba(0, 0, 0, 0.28);
}

.astrology-course-card h3 {
    margin: 0 0 24px;
    color: var(--color-text);
    font-size: 25px;
    line-height: 1.25;
}

.astrology-course-details {
    padding: 14px;
    background: rgba(255, 255, 255, 0.035);
    border: 1px solid rgba(255, 132, 22, 0.5);
    border-radius: 12px;
    text-align: left;
}

.astrology-course-details p {
    display: grid;
    grid-template-columns: 145px 1fr;
    gap: 12px;
    margin: 0;
    padding: 9px 0;
    color: var(--color-muted);
    font-size: 14px;
    line-height: 1.45;
}

.astrology-course-details p + p {
    border-top: 1px solid rgba(255, 255, 255, 0.08);
}

.astrology-course-details strong {
    color: var(--color-text);
}

.astrology-course-button {
    min-height: 48px;
    margin-top: 22px;
    padding: 0 25px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 28px;
    background: var(--color-secondary);
    color: var(--color-black);
    font-weight: 700;
    transition: transform 0.25s ease, box-shadow 0.25s ease;
}

.astrology-course-button:hover {
    color: var(--color-black);
    transform: translateY(-2px);
    box-shadow: 0 10px 24px rgba(255, 132, 22, 0.28);
}

.training-features {
    margin-top: 54px;
    padding-top: 42px;
    border-top: 1px solid rgba(255, 132, 22, 0.28);
}

.training-features h3 {
    margin: 0 0 10px;
    color: var(--color-secondary);
    font-size: clamp(28px, 3vw, 38px);
    line-height: 1.2;
}

.training-features-subtitle {
    margin: 0 auto;
    color: var(--color-muted);
    font-size: 16px;
    line-height: 1.6;
}

.training-features .features-grid {
    margin-top: 30px;
}

.training-stat-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    margin-bottom: 12px;
    color: #D87615;
    font-size: 30px;
    line-height: 1;
}

.training-stat-card .training-label {
    margin: 0;
    color: #eee8e2;
    font-size: 18px;
    line-height: 1.3;
    text-align: center;
}

.training-features-divider {
    width: 100%;
    height: 1px;
    margin-top: 54px;
    background: rgba(255, 132, 22, 0.28);
}


/* =========================================================
   ASTROLOGY BENEFITS STRIP
========================================================= */

.program-features {
    padding-top: 52px;
    padding-bottom: 58px;
}

.features-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 20px;
    margin-top: 34px;
}

.feature-card {
    min-height: 150px;
    padding: 22px 15px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 14px;
    border: 0;
    border-radius: 0;
    background: var(--color-secondary);
    text-align: center;
}

.feature-card:hover {
    border-left: 0;
    background: #ff9a3d;
    transform: translateY(-4px);
}

.feature-check {
    width: 44px;
    height: 44px;
    margin: 0;
    background: transparent;
    color: var(--color-black);
    font-size: 30px;
}

.feature-check i {
    line-height: 1;
}

.feature-card p {
    flex: none;
    color: var(--color-black);
    font-size: 16px;
    line-height: 1.35;
    font-weight: 600;
}

@media (max-width: 600px) {
    .training-features {
        margin-top: 38px;
        padding-top: 30px;
    }

    .training-features h3 {
        font-size: 27px;
    }

    .training-features-subtitle {
        font-size: 14px;
    }

    .features-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 12px;
    }

    .feature-card {
        min-height: 128px;
        padding: 18px 10px;
        gap: 10px;
    }

    .feature-check {
        width: 38px;
        height: 38px;
        font-size: 25px;
    }

    .feature-card p {
        font-size: 13px;
    }

    .astrology-course-grid {
        grid-template-columns: 1fr;
        gap: 18px;
    }

    .astrology-course-card {
        padding: 24px 15px 20px;
    }

    .astrology-course-card h3 {
        font-size: 22px;
    }

    .astrology-course-details p {
        grid-template-columns: 118px 1fr;
        gap: 8px;
        font-size: 13px;
    }
}
    .thank-you-card {
        padding: 42px 24px;
        border-radius: 16px;
    }

    .thank-you-card p {
        font-size: 14px;
    }

    .thank-you-button {
        width: 100%;
    }

@media (max-width: 380px) {
    .lead-feature {
        gap: 6px;
        font-size: 12px;
    }

    .lead-feature-icon {
        width: 31px;
        height: 31px;
        font-size: 13px;
    }
}



.rjvs-faq-section {
    width: 100%;
    padding: 80px 20px;
        background: var(--color-page-background);
    box-sizing: border-box;
  }

  .rjvs-faq-container {
        width: min(calc(100% - 30px), 1188px);
        max-width: 1188px;
    margin: 0 auto;
  }

  /* Heading */

  .rjvs-faq-heading {
    text-align: center;
    margin-bottom: 45px;
  }

  .rjvs-faq-small-title {
    display: block;
    margin-bottom: 8px;
    font-size: 15px;
    font-weight: 700;
    letter-spacing: 2px;
    color: #e87517;
    text-transform: uppercase;
  }

  .rjvs-faq-heading h2 {
    margin: 0 0 12px;
    font-size: 40px;
    line-height: 1.2;
    font-weight: 700;
    color: var(--color-text);
  }

  .rjvs-faq-heading p {
    max-width: 700px;
    margin: 0 auto;
    font-size: 17px;
    line-height: 1.7;
    color: var(--color-muted);
  }


  /* FAQ Grid */

  .rjvs-faq-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    column-gap: 30px;
    row-gap: 20px;
  }


  /* FAQ Item */

  .rjvs-faq-item {
        background: var(--color-surface);
    border-radius: 6px;
    overflow: hidden;
    box-shadow: 0 5px 20px rgba(0, 0, 0, 0.04);
  }


  /* Question */

  .rjvs-faq-question {
    width: 100%;
    min-height: 68px;
    padding: 20px 25px;
    border: none;
    outline: none;
    background: var(--color-surface);

    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;

    cursor: pointer;
    text-align: left;

    font-family: inherit;
    font-size: 18px;
    font-weight: 600;
    color: var(--color-text);

    transition: background 0.25s ease;
  }

  .rjvs-faq-question:hover {
        background: #49301f;
  }


  /* Arrow */

  .rjvs-faq-icon {
    flex-shrink: 0;

    width: 25px;
    height: 25px;

    display: flex;
    align-items: center;
    justify-content: center;

    font-size: 28px;
    font-weight: 700;
    line-height: 1;

    color: var(--color-secondary);

    transform: translateY(-3px);
    transition: transform 0.3s ease;
  }


  /* Answer */

  .rjvs-faq-answer {
    max-height: 0;
    overflow: hidden;

    padding: 0 25px;

    transition:
      max-height 0.4s ease,
      padding 0.4s ease;
  }

  .rjvs-faq-answer p {
    margin: 0;
    padding: 0;

    font-size: 16px;
    line-height: 1.7;
    color: var(--color-muted);
  }


  /* Active FAQ */

  .rjvs-faq-item.active .rjvs-faq-answer {
    max-height: 500px;
    padding: 0 25px 25px;
  }

  .rjvs-faq-item.active .rjvs-faq-icon {
    transform: rotate(180deg) translateY(3px);
  }


  /* =========================
     TABLET
     ========================= */

  @media (max-width: 900px) {

    .rjvs-faq-section {
      padding: 65px 20px;
    }

    .rjvs-faq-grid {
      grid-template-columns: 1fr;
      gap: 15px;
    }

    .rjvs-faq-heading h2 {
      font-size: 34px;
    }
  }


  /* =========================
     MOBILE
     ========================= */

  @media (max-width: 600px) {

    .rjvs-faq-section {
      padding: 50px 15px;
    }

    .rjvs-faq-heading {
      margin-bottom: 30px;
    }

    .rjvs-faq-small-title {
      font-size: 13px;
      letter-spacing: 1.5px;
    }

    .rjvs-faq-heading h2 {
      font-size: 29px;
    }

    .rjvs-faq-heading p {
      font-size: 15px;
      line-height: 1.6;
    }

    .rjvs-faq-grid {
      gap: 12px;
    }

    .rjvs-faq-question {
      min-height: 62px;
      padding: 17px 18px;
      font-size: 16px;
      gap: 12px;
    }

    .rjvs-faq-icon {
      font-size: 25px;
    }

    .rjvs-faq-item.active .rjvs-faq-answer {
      padding: 0 18px 20px;
    }

    .rjvs-faq-answer p {
      font-size: 14px;
      line-height: 1.65;
    }
  }


/* ================= FAQ CTA SECTION ================= */

.faq-cta-section {
    width: 100%;
    padding: 78px 20px;
    background:
        radial-gradient(circle at 50% 0%, rgba(255, 132, 22, 0.16), transparent 52%),
        var(--color-primary);
    text-align: center;
}

.faq-cta-container {
    width: min(calc(100% - 30px), 1188px);
    margin: 0 auto;
}

.faq-cta-eyebrow {
    display: block;
    margin-bottom: 12px;
    color: var(--color-secondary);
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 3px;
}

.faq-cta-container h2 {
    margin: 0 0 16px;
    color: var(--color-text);
    font-size: clamp(30px, 4vw, 46px);
    line-height: 1.15;
}

.faq-cta-container p {
    max-width: 700px;
    margin: 0 auto;
    color: var(--color-muted);
    font-size: 17px;
    line-height: 1.7;
}

.faq-cta-actions {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 16px;
    margin-top: 32px;
}

.faq-cta-primary,
.faq-cta-secondary {
    min-height: 54px;
    padding: 0 28px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 30px;
    font-weight: 700;
    transition: transform 0.25s ease, box-shadow 0.25s ease, background 0.25s ease;
}

.faq-cta-primary {
    background: var(--color-secondary);
    color: var(--color-black);
}

.faq-cta-secondary {
    border: 1px solid var(--color-secondary);
    color: var(--color-secondary);
}

.faq-cta-primary:hover,
.faq-cta-secondary:hover {
    transform: translateY(-3px);
    box-shadow: 0 12px 28px rgba(255, 132, 22, 0.24);
}

.faq-cta-primary:hover {
    color: var(--color-black);
}

.faq-cta-secondary:hover {
    background: rgba(255, 132, 22, 0.12);
    color: var(--color-secondary);
}

@media (max-width: 600px) {
    .faq-cta-section {
        padding: 58px 15px;
    }

    .faq-cta-eyebrow {
        font-size: 11px;
        letter-spacing: 2px;
    }

    .faq-cta-container p {
        font-size: 14px;
    }

    .faq-cta-actions {
        flex-direction: column;
        width: 100%;
    }

    .faq-cta-primary,
    .faq-cta-secondary {
        width: 100%;
    }
}


