
/* =========================================================
   UTILITY BAR
   ========================================================= */

.utility-bar {
    background: var(--primary);
    color: rgba(255, 255, 255, 0.78);
    border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}

.utility-bar-inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    min-height: 34px;
}

.utility-contact {
    display: flex;
    align-items: center;
    gap: 24px;
}

.utility-contact a {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    color: rgba(255, 255, 255, 0.78);
    font-size: 11px;
    font-weight: 500;
    transition: color 0.3s var(--ease);
}

.utility-contact a:hover {
    color: var(--secondary);
}

.utility-icon {
    color: var(--secondary);
    font-size: 12px;
}

.utility-whatsapp {
    font-weight: 700 !important;
    color: var(--white) !important;
}

.utility-location {
    color: rgba(255, 255, 255, 0.55);
    font-size: 10px;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

/* =========================================================
   SITE HEADER
   ========================================================= */

.site-header {
    position: relative;
    z-index: 100;
    padding: 18px 0;
    background: var(--bg);
    border-bottom: 1px solid rgba(11, 42, 74, 0.08);
}

.site-header-inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    min-height: 52px;
}

/* Logo */

.site-logo {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    flex-shrink: 0;
}

.site-logo-mark {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    border: 1px solid var(--secondary);
    border-radius: 50%;
    color: var(--primary);
    font-family: var(--font-heading);
    font-size: 22px;
    line-height: 1;
}

.site-logo-text {
    display: flex;
    flex-direction: column;
    line-height: 1;
}

.site-logo-text strong {
    color: var(--primary);
    font-size: 15px;
    font-weight: 800;
    letter-spacing: 0.08em;
}

.site-logo-text small {
    margin-top: 5px;
    color: var(--muted);
    font-size: 9px;
    font-weight: 700;
    letter-spacing: 0.18em;
}

/* =========================================================
   DESKTOP NAVIGATION
   ========================================================= */

.site-nav {
    display: flex;
    align-items: center;
    gap: clamp(18px, 2.2vw, 34px);
    margin-left: auto;
    margin-right: clamp(22px, 3vw, 45px);
}

.site-nav > a,
.nav-dropdown-toggle {
    position: relative;
    display: inline-flex;
    align-items: center;
    gap: 7px;
    padding: 10px 0;
    border: 0;
    background: transparent;
    color: var(--primary);
    font-family: var(--font-body);
    font-size: 14px;
    font-weight: 600;
    line-height: 1.4;
    text-decoration: none;
    white-space: nowrap;
    cursor: pointer;
}

.site-nav > a::after,
.nav-dropdown-toggle::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: 2px;
    width: 100%;
    height: 1px;
    background: var(--secondary);
    transform: scaleX(0);
    transform-origin: right;
    transition: transform 0.35s var(--ease);
}

.site-nav > a:hover::after,
.site-nav > a:focus-visible::after,
.nav-dropdown-toggle:hover::after,
.nav-dropdown-toggle:focus-visible::after {
    transform: scaleX(1);
    transform-origin: left;
}

/* Dropdown container */

.nav-dropdown {
    position: relative;
    flex-shrink: 0;
}

.nav-dropdown-toggle svg,
.mobile-nav-dropdown-toggle svg {
    display: block;
    width: 16px;
    height: 16px;
    flex-shrink: 0;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;
    transition: transform 0.25s ease;
}

.nav-dropdown-toggle[aria-expanded="true"] svg,
.mobile-nav-dropdown-toggle[aria-expanded="true"] svg {
    transform: rotate(180deg);
}

/* Dropdown panel */

.nav-dropdown-menu {
    position: absolute;
    top: calc(100% + 8px);
    left: -18px;
    z-index: 1000;
    display: none;
    width: 290px;
    padding: 10px;
    border: 1px solid var(--border);
    border-radius: var(--radius-small);
    background: var(--bg);
    box-shadow: 0 14px 35px rgba(7, 26, 45, 0.12);
}

.nav-dropdown.is-open .nav-dropdown-menu {
    display: block;
}

.nav-dropdown-menu a {
    display: block;
    padding: 12px 14px;
    border-radius: 7px;
    color: var(--text);
    font-size: 13px;
    font-weight: 600;
    line-height: 1.5;
    text-decoration: none;
    white-space: normal;
    transition:
        background-color 0.2s ease,
        color 0.2s ease;
}

.nav-dropdown-menu a::after {
    display: none;
}

.nav-dropdown-menu a:hover,
.nav-dropdown-menu a:focus-visible {
    background: var(--bg-alt);
    color: var(--primary);
}

/* Keyboard focus */

.site-nav a:focus-visible,
.nav-dropdown-toggle:focus-visible,
.mobile-nav-dropdown-toggle:focus-visible,
.mobile-menu a:focus-visible {
    outline: 2px solid var(--secondary);
    outline-offset: 4px;
    border-radius: 4px;
}

/* =========================================================
   HEADER CTA
   ========================================================= */

.site-header-cta {
    min-height: 48px;
    padding-inline: 25px;
    flex-shrink: 0;
    font-size: 12px;
}

/* =========================================================
   MOBILE MENU TOGGLE
   ========================================================= */

.mobile-menu-toggle {
    display: none;
    width: 44px;
    height: 44px;
    padding: 0;
    border: 1px solid var(--border);
    border-radius: 50%;
    background: transparent;
    cursor: pointer;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 5px;
    flex-shrink: 0;
}

.mobile-menu-toggle span {
    display: block;
    width: 17px;
    height: 1.5px;
    background: var(--primary);
    transition:
        transform 0.25s ease,
        opacity 0.25s ease;
}

.mobile-menu-toggle.active span:nth-child(1) {
    transform: translateY(6.5px) rotate(45deg);
}

.mobile-menu-toggle.active span:nth-child(2) {
    opacity: 0;
}

.mobile-menu-toggle.active span:nth-child(3) {
    transform: translateY(-6.5px) rotate(-45deg);
}

/* Hidden by default; displayed in the mobile breakpoint */

.mobile-menu {
    display: none;
}

/* =========================================================
   TABLET
   ========================================================= */

@media (max-width: 900px) {
    .utility-location {
        display: none;
    }

    .site-nav {
        gap: 16px;
        margin-right: 20px;
    }

    .site-nav > a,
    .nav-dropdown-toggle {
        font-size: 12px;
    }

    .site-header-cta {
        padding-inline: 17px;
    }
}

/* =========================================================
   MOBILE NAVIGATION
   ========================================================= */

@media (max-width: 700px) {
    .utility-bar-inner {
        justify-content: center;
        min-height: 32px;
    }

    .utility-contact {
        width: 100%;
        justify-content: center;
        gap: 18px;
    }

    .utility-contact a {
        font-size: 10px;
    }

    .utility-contact a:first-child {
        display: none;
    }

    .utility-location {
        display: none;
    }

    .site-header {
        padding: 12px 0;
    }

    .site-header-inner {
        min-height: 46px;
        gap: 12px;
    }

    .site-logo {
        gap: 9px;
    }

    .site-logo-mark {
        width: 40px;
        height: 40px;
        font-size: 20px;
    }

    .site-logo-text strong {
        font-size: 13px;
    }

    .site-logo-text small {
        font-size: 8px;
    }

    .site-nav {
        display: none;
    }

    .site-header-cta {
        min-height: 42px;
        margin-left: auto;
        padding-inline: 18px;
        font-size: 10px;
    }

    .mobile-menu-toggle {
        display: flex;
    }

    /* Main mobile menu */

    .mobile-menu {
        position: absolute;
        top: 100%;
        left: 0;
        right: 0;
        z-index: 99;

        display: flex;
        flex-direction: column;
        gap: 0;

        max-height: calc(100dvh - 100px);
        overflow-y: auto;
        overscroll-behavior: contain;

        padding: 10px 20px 24px;
        border-bottom: 1px solid var(--border);
        background: var(--bg);
        box-shadow: 0 14px 28px rgba(7, 26, 45, 0.08);

        opacity: 0;
        visibility: hidden;
        pointer-events: none;
        transform: translateY(-10px);

        transition:
            opacity 0.25s ease,
            transform 0.25s ease,
            visibility 0.25s;
    }

    .mobile-menu.active {
        opacity: 1;
        visibility: visible;
        pointer-events: auto;
        transform: translateY(0);
    }

    /* Top-level links */

    .mobile-menu > a,
    .mobile-nav-dropdown-toggle {
        display: flex;
        align-items: center;
        justify-content: space-between;
        width: 100%;
        padding: 16px 4px;
        border: 0;
        border-bottom: 1px solid var(--border);
        background: transparent;
        color: var(--primary);
        font-family: var(--font-body);
        font-size: 15px;
        font-weight: 600;
        line-height: 1.5;
        text-align: left;
        text-decoration: none;
        cursor: pointer;
    }

    /* Programs group */

    .mobile-nav-group {
        width: 100%;
    }

    .mobile-nav-dropdown-toggle {
        gap: 12px;
    }

    .mobile-nav-dropdown {
        padding: 5px 0 10px 14px;
        border-bottom: 1px solid var(--border);
    }

    .mobile-nav-dropdown[hidden] {
        display: none;
    }

    .mobile-nav-dropdown a {
        display: block;
        padding: 12px 10px;
        border: 0;
        color: var(--text);
        font-size: 13px;
        font-weight: 500;
        line-height: 1.5;
        text-decoration: none;
    }

    .mobile-nav-dropdown a:hover,
    .mobile-nav-dropdown a:focus-visible {
        color: var(--primary);
        background: var(--bg-alt);
    }

    /* Mobile Apply CTA */

    .mobile-menu .mobile-menu-apply {
        display: block;
        margin-top: 18px;
        padding: 14px 20px;
        border: 0;
        border-radius: var(--radius-pill);
        background: var(--primary);
        color: var(--white);
        text-align: center;
        text-transform: uppercase;
        font-size: 11px;
        font-weight: 700;
        letter-spacing: 0.08em;
    }
}

/* =========================================================
   REDUCED MOTION
   ========================================================= */

@media (prefers-reduced-motion: reduce) {
    .mobile-menu,
    .mobile-menu-toggle span,
    .nav-dropdown-toggle svg,
    .mobile-nav-dropdown-toggle svg,
    .site-nav > a::after,
    .nav-dropdown-toggle::after {
        transition: none;
    }
}

/* =========================================================
   HERO
   ========================================================= */

.hero {
    position: relative;

    min-height: calc(100vh - 92px);

    display: flex;
    align-items: center;

    padding-top: 30px;
    padding-bottom: var(--space-xl);
}
/* =========================================================
   HERO — SUBTLE 8 LIMBS ORBITAL DETAIL
   ========================================================= */

.hero {
    overflow: hidden;
}

.hero::before {
    content: "";
    position: absolute;
    width: 520px;
    height: 520px;
    left: -120px;
    top: 5%;
    border: 1px solid rgba(201, 162, 74, 0.16);
    border-radius: 50%;
    pointer-events: none;
}

.hero::after {
    content: "";
    position: absolute;
    width: 620px;
    height: 620px;
    right: -180px;
    bottom: -220px;
    border: 1px solid rgba(11, 42, 74, 0.08);
    border-radius: 50%;
    pointer-events: none;
}

.hero-grid {
    display: grid;

    grid-template-columns: 1.05fr 0.95fr;

    align-items: center;

    gap: var(--space-xl);
}

.hero-content {
    max-width: 720px;
}

.hero-title {
    max-width: 850px;

    margin-bottom: var(--space-md);

    font-family: var(--font-heading);
    font-size: clamp(4rem, 6vw, 6.8rem);
    font-weight: 500;
    line-height: 0.92;
    letter-spacing: -0.035em;

    color: var(--primary);
}

.hero-title em {
    font-style: italic;
    color: var(--secondary);
}

.hero-description {
    max-width: 620px;

    margin-bottom: var(--space-md);

    font-size: clamp(1rem, 1.3vw, 1.2rem);
    line-height: 1.7;

    color: var(--muted);
}

.hero-actions {
    display: flex;
    align-items: center;
    gap: 12px;
}


/* -------------------------
   HERO VISUAL
   ------------------------- */

.hero-visual {
    position: relative;

    min-height: 560px;

    overflow: hidden;

    border-radius: 180px 180px 18px 18px;
}
.hero-image {
    width: 100%;
    height: 100%;

    min-height: 560px;

    object-fit: cover;
    object-position: center;

    border-radius: inherit;
}

.hero-visual-placeholder {
    position: absolute;
    inset: 0;

    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;

    overflow: hidden;

    border-radius: 180px 180px 18px 18px;

    background:
        linear-gradient(
            145deg,
            var(--bg-alt),
            #ddd6c8
        );

    color: var(--primary);
}

.hero-visual-placeholder::before {
    content: "";

    position: absolute;

    width: 320px;
    height: 320px;

    border: 1px solid rgba(11, 42, 74, 0.15);
    border-radius: 50%;
}

.hero-visual-placeholder span {
    position: relative;

    margin-bottom: 12px;

    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.2em;

    color: var(--secondary);
}

.hero-visual-placeholder strong {
    position: relative;

    font-family: var(--font-heading);
    font-size: clamp(2rem, 3vw, 3.5rem);
    font-weight: 500;
}


/* =========================================================
   HERO RESPONSIVE
   ========================================================= */

@media (max-width: 900px) {

    .hero {
        min-height: auto;

        padding-block: var(--space-lg);
    }

    .hero-grid {
        grid-template-columns: 1fr;

        gap: var(--space-lg);
    }

    .hero-content {
        max-width: 800px;
    }

    .hero-visual {
        min-height: 480px;
    }
}


@media (max-width: 600px) {

    .hero-title {
        font-size: clamp(3.2rem, 14vw, 5rem);
    }

    .hero-actions {
        flex-wrap: wrap;
    }

    .hero-visual {
        min-height: 380px;
    }

    .hero-visual-placeholder {
        border-radius: 120px 120px 14px 14px;
    }
}
/* -------------------------
   GOLD ORBIT
   ------------------------- */

.hero-visual::before {
    content: "";

    position: absolute;
    z-index: 2;

    width: 72%;
    aspect-ratio: 1;

    top: 18%;
    left: 14%;

    border: 1px solid rgba(201, 162, 74, 0.65);

    border-radius: 50%;

    pointer-events: none;

    transform: rotate(-18deg);
}


/* -------------------------
   SECOND ORBIT
   ------------------------- */

.hero-visual::after {
    content: "";

    position: absolute;
    z-index: 2;

    width: 48%;
    aspect-ratio: 1;

    top: 30%;
    left: 26%;

    border: 1px solid rgba(201, 162, 74, 0.35);

    border-radius: 50%;

    pointer-events: none;

    transform: rotate(25deg);
}
/* =========================================================
   HERO SCROLL INDICATOR
   ========================================================= */

.hero-scroll {
    position: absolute;

    left: 50%;
    bottom: 28px;

    display: flex;
    align-items: center;
    gap: 12px;

    transform: translateX(-50%);

    font-size: 10px;
    font-weight: 700;
    letter-spacing: 0.18em;
    text-transform: uppercase;

    color: var(--muted);
}

.hero-scroll-line {
    position: relative;

    display: block;

    width: 42px;
    height: 1px;

    overflow: hidden;

    background: var(--border);
}

.hero-scroll-line::after {
    content: "";

    position: absolute;

    top: 0;
    left: -100%;

    width: 100%;
    height: 100%;

    background: var(--secondary);

    animation: heroScrollLine 2.2s var(--ease) infinite;
}

@keyframes heroScrollLine {

    0% {
        left: -100%;
    }

    45% {
        left: 0;
    }

    70% {
        left: 100%;
    }

    100% {
        left: 100%;
    }

}


/* Mobile */

@media (max-width: 700px) {

    .hero-scroll {
        display: none;
    }

}
/* =========================================================
   TRUST STRIP
   ========================================================= */

.trust-strip {
    border-top: 1px solid var(--border);
    border-bottom: 1px solid var(--border);

    background: var(--bg);
}

.trust-strip-inner {
    display: grid;

    grid-template-columns: repeat(4, 1fr);

    min-height: 108px;
}

.trust-item {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 16px;

    padding-inline: 20px;

    border-right: 1px solid var(--border);
}

.trust-item:first-child {
    border-left: 1px solid var(--border);
}

.trust-item-number {
    font-family: var(--font-heading);
    font-size: 14px;

    color: var(--secondary);
}

.trust-item-text {
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;

    color: var(--primary);
}


/* -------------------------
   TRUST STRIP RESPONSIVE
   ------------------------- */

@media (max-width: 900px) {

    .trust-strip-inner {
        grid-template-columns: repeat(2, 1fr);
    }

    .trust-item:nth-child(3),
    .trust-item:nth-child(4) {
        border-top: 1px solid var(--border);
    }

    .trust-item:nth-child(2),
    .trust-item:nth-child(4) {
        border-right: 1px solid var(--border);
    }
}


@media (max-width: 600px) {

    .trust-strip-inner {
        grid-template-columns: 1fr;
    }

    .trust-item {
        min-height: 72px;

        justify-content: flex-start;

        border-left: 1px solid var(--border);
        border-right: 1px solid var(--border);
    }

    .trust-item + .trust-item {
        border-top: 1px solid var(--border);
    }
}
/* =========================================================
   TRUST / SOCIAL PROOF
   ========================================================= */

.trust-section {
    background: var(--bg-alt);
}

.trust-intro {
    max-width: 760px;

    margin-bottom: var(--space-xl);
}

.trust-intro h2 {
    max-width: 760px;

    margin-bottom: var(--space-md);
}

.trust-intro h2 em {
    font-style: italic;
    color: var(--secondary);
}

.trust-stats {
    display: grid;

    grid-template-columns: repeat(4, 1fr);

    border-top: 1px solid var(--border);
    border-bottom: 1px solid var(--border);
}

.trust-stat {
    position: relative;

    min-height: 250px;

    padding: 40px 32px;

    border-right: 1px solid var(--border);
}

.trust-stat:first-child {
    border-left: 1px solid var(--border);
}

.trust-stat-number {
    display: block;

    margin-bottom: 10px;

    font-family: var(--font-heading);
    font-size: clamp(3rem, 5vw, 5rem);
    font-weight: 500;
    line-height: 0.9;

    color: var(--primary);
}

.trust-stat-label {
    display: block;

    margin-bottom: 22px;

    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.12em;
    text-transform: uppercase;

    color: var(--secondary);
}

.trust-stat p {
    max-width: 220px;

    margin: 0;

    font-size: 13px;
    line-height: 1.6;

    color: var(--muted);
}


/* -------------------------
   HOVER DETAIL
   ------------------------- */

.trust-stat::after {
    content: "";

    position: absolute;

    left: 32px;
    bottom: 28px;

    width: 28px;
    height: 1px;

    background: var(--secondary);

    transition:
        width 0.45s var(--ease);
}

.trust-stat:hover::after {
    width: 60px;
}


/* =========================================================
   TRUST RESPONSIVE
   ========================================================= */

@media (max-width: 900px) {

    .trust-stats {
        grid-template-columns: repeat(2, 1fr);
    }

    .trust-stat:nth-child(3),
    .trust-stat:nth-child(4) {
        border-top: 1px solid var(--border);
    }

    .trust-stat:nth-child(2),
    .trust-stat:nth-child(4) {
        border-right: 1px solid var(--border);
    }
}


@media (max-width: 600px) {

    .trust-intro {
        margin-bottom: var(--space-lg);
    }

    .trust-stats {
        grid-template-columns: 1fr;
    }

    .trust-stat {
        min-height: auto;

        padding: 32px 24px;

        border-left: 1px solid var(--border);
    }

    .trust-stat + .trust-stat {
        border-top: 1px solid var(--border);
    }

    .trust-stat-number {
        font-size: 3.5rem;
    }
}
/* =========================================================
   WHY 8 LIMBS
   ========================================================= */

.why-section {
    position: relative;
    background: var(--bg-alt);
}


/* ---------------------------------------------------------
   Main Introduction
   --------------------------------------------------------- */

.why-main {
    display: grid;
    grid-template-columns: 1.15fr 0.85fr;
    gap: var(--space-xl);

    align-items: end;

    margin-bottom: var(--space-xl);
}


.why-heading h2 {
    max-width: 820px;
    margin-bottom: 0;
}


.why-heading h2 em {
    font-style: italic;
    color: var(--secondary);
}


.why-copy {
    max-width: 520px;
}


.why-copy p {
    margin-bottom: 18px;

    font-size: 15px;
    line-height: 1.8;

    color: var(--muted);
}


.why-copy .why-lead {
    font-size: 17px;
    line-height: 1.75;

    color: var(--text);
}


.why-copy .text-link {
    margin-top: 10px;
}


/* ---------------------------------------------------------
   Four Pillars
   --------------------------------------------------------- */

.why-pillars {
    display: grid;
    grid-template-columns: repeat(4, 1fr);

    border-top: 1px solid var(--border);
    border-left: 1px solid var(--border);
}


.why-pillar {
    position: relative;

    min-height: 300px;
    padding: 32px;

    border-right: 1px solid var(--border);
    border-bottom: 1px solid var(--border);

    transition:
        background-color 0.45s var(--ease);
}


.why-pillar:hover {
    background: var(--bg);
}


.why-pillar-top {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;

    margin-bottom: 70px;
}


.why-number {
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.16em;

    color: var(--secondary);
}


.why-icon {
    display: flex;
    align-items: center;
    justify-content: center;

    width: 52px;
    height: 52px;

    border: 1px solid var(--secondary);
    border-radius: 50%;

    font-family: var(--font-heading);
    font-size: 21px;

    color: var(--primary);

    transition:
        color 0.4s var(--ease),
        background-color 0.4s var(--ease),
        transform 0.4s var(--ease);
}


.why-pillar:hover .why-icon {
    color: var(--white);
    background: var(--primary);

    transform: rotate(8deg);
}


.why-pillar h3 {
    margin-bottom: 12px;

    font-size: 26px;
    line-height: 1.1;
}


.why-pillar p {
    max-width: 245px;

    margin: 0;

    font-size: 13px;
    line-height: 1.7;

    color: var(--muted);
}


/* ---------------------------------------------------------
   Proof
   --------------------------------------------------------- */

.why-proof {
    display: grid;
    grid-template-columns: 0.85fr 1.15fr;

    margin-top: var(--space-xl);

    border-top: 1px solid var(--border);
    border-bottom: 1px solid var(--border);
}


.why-proof-heading {
    display: flex;
    flex-direction: column;
    justify-content: center;

    padding: 42px 40px;

    border-right: 1px solid var(--border);
}


.why-proof-heading h3 {
    max-width: 300px;

    margin: 0;

    font-size: clamp(2rem, 3vw, 3rem);
    line-height: 1;
}


.why-proof-heading h3 em {
    font-style: italic;
    color: var(--secondary);
}


/* ---------------------------------------------------------
   Proof Stats
   --------------------------------------------------------- */

.why-proof-stats {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
}


.why-proof-stat {
    display: flex;
    flex-direction: column;
    justify-content: center;

    min-height: 210px;
    padding: 32px 26px;

    border-right: 1px solid var(--border);
}


.why-proof-stat:last-child {
    border-right: 0;
}


.why-proof-number {
    display: block;

    margin-bottom: 8px;

    font-family: var(--font-heading);
    font-size: clamp(2.7rem, 4vw, 4.2rem);
    font-weight: 500;

    line-height: 0.9;

    color: var(--primary);
}


.why-proof-label {
    display: block;

    margin-bottom: 18px;

    font-size: 10px;
    font-weight: 700;
    letter-spacing: 0.14em;
    text-transform: uppercase;

    color: var(--secondary);
}


.why-proof-note {
    display: block;

    max-width: 150px;

    font-size: 11px;
    line-height: 1.55;

    color: var(--muted);
}


/* ---------------------------------------------------------
   Responsive
   --------------------------------------------------------- */

@media (max-width: 1100px) {

    .why-main {
        grid-template-columns: 1fr;
        gap: var(--space-lg);

        align-items: start;
    }

    .why-copy {
        max-width: 720px;
    }

    .why-pillars {
        grid-template-columns: repeat(2, 1fr);
    }

    .why-proof {
        grid-template-columns: 1fr;
    }

    .why-proof-heading {
        border-right: 0;
        border-bottom: 1px solid var(--border);
    }

}


@media (max-width: 700px) {

    .why-pillars {
        grid-template-columns: 1fr;
    }

    .why-pillar {
        min-height: auto;
        padding: 28px 24px;
    }

    .why-pillar-top {
        margin-bottom: 45px;
    }

    .why-proof {
        margin-top: var(--space-lg);
    }

    .why-proof-heading {
        padding: 32px 24px;
    }

    .why-proof-stats {
        grid-template-columns: repeat(2, 1fr);
    }

    .why-proof-stat {
        min-height: 180px;
        padding: 28px 22px;
    }

    .why-proof-stat:nth-child(3),
    .why-proof-stat:nth-child(4) {
        border-top: 1px solid var(--border);
    }

    .why-proof-stat:nth-child(2) {
        border-right: 0;
    }

}


@media (max-width: 480px) {

    .why-proof-stats {
        grid-template-columns: 1fr;
    }

    .why-proof-stat {
        min-height: auto;

        border-right: 0;
    }

    .why-proof-stat + .why-proof-stat {
        border-top: 1px solid var(--border);
    }

}


/* ---------------------------------------------------------
   Header
   --------------------------------------------------------- */

.why-header {
    display: grid;
    grid-template-columns: 1.15fr 0.85fr;
    gap: var(--space-xl);
    align-items: end;
    margin-bottom: var(--space-xl);
}

.why-heading h2 {
    max-width: 820px;
    margin-bottom: 0;
}

.why-heading h2 em {
    font-style: italic;
    color: var(--secondary);
}

.why-intro {
    max-width: 520px;
    padding-bottom: 6px;
}

.why-intro p {
    margin-bottom: 20px;
    font-size: 15px;
    line-height: 1.8;
    color: var(--muted);
}

.why-intro p:last-child {
    margin-bottom: 0;
}


/* ---------------------------------------------------------
   Why Grid
   --------------------------------------------------------- */

.why-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);

    border-top: 1px solid var(--border);
    border-left: 1px solid var(--border);
}


.why-item {
    position: relative;

    min-height: 330px;
    padding: 34px;

    border-right: 1px solid var(--border);
    border-bottom: 1px solid var(--border);

    overflow: hidden;

    transition:
        background-color 0.45s var(--ease),
        transform 0.45s var(--ease);
}


.why-item:hover {
    background: var(--bg);
}


.why-number {
    display: block;

    margin-bottom: 42px;

    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.16em;

    color: var(--secondary);
}


.why-icon {
    display: flex;
    align-items: center;
    justify-content: center;

    width: 58px;
    height: 58px;

    margin-bottom: 26px;

    border: 1px solid var(--secondary);
    border-radius: 50%;

    font-family: var(--font-heading);
    font-size: 22px;

    color: var(--primary);

    transition:
        background-color 0.45s var(--ease),
        color 0.45s var(--ease),
        transform 0.45s var(--ease);
}


.why-item:hover .why-icon {
    color: var(--white);
    background: var(--primary);

    transform: rotate(8deg);
}


.why-item h3 {
    margin-bottom: 12px;

    font-size: 28px;
    line-height: 1.1;
}


.why-item p {
    max-width: 250px;

    margin: 0;

    font-size: 14px;
    line-height: 1.7;

    color: var(--muted);
}


/* ---------------------------------------------------------
   Proof Section
   --------------------------------------------------------- */

.why-proof {
    display: grid;

    grid-template-columns: 0.75fr 1.25fr;

    margin-top: var(--space-xl);

    border-top: 1px solid var(--border);
    border-bottom: 1px solid var(--border);
}


.why-proof-intro {
    padding: 42px 40px;

    border-right: 1px solid var(--border);
}


.why-proof-intro h3 {
    max-width: 300px;

    margin-bottom: 0;

    font-size: clamp(2rem, 3vw, 3rem);
}


.why-proof-intro h3 em {
    font-style: italic;
    color: var(--secondary);
}


.why-stats {
    display: grid;

    grid-template-columns: repeat(4, 1fr);
}


.why-stat {
    min-height: 220px;

    padding: 38px 28px;

    border-right: 1px solid var(--border);
}


.why-stat:last-child {
    border-right: 0;
}


.why-stat-number {
    display: block;

    margin-bottom: 8px;

    font-family: var(--font-heading);
    font-size: clamp(2.8rem, 4vw, 4.5rem);
    font-weight: 500;

    line-height: 0.9;

    color: var(--primary);
}


.why-stat-label {
    display: block;

    margin-bottom: 20px;

    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.12em;
    text-transform: uppercase;

    color: var(--secondary);
}


.why-stat p {
    max-width: 180px;

    margin: 0;

    font-size: 12px;
    line-height: 1.6;

    color: var(--muted);
}


/* ---------------------------------------------------------
   Responsive
   --------------------------------------------------------- */

@media (max-width: 1100px) {

    .why-header {
        grid-template-columns: 1fr;
        gap: var(--space-lg);
        align-items: start;
    }

    .why-intro {
        max-width: 720px;
    }

    .why-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .why-item:nth-child(3),
    .why-item:nth-child(4) {
        border-top: 0;
    }

    .why-proof {
        grid-template-columns: 1fr;
    }

    .why-proof-intro {
        border-right: 0;
        border-bottom: 1px solid var(--border);
    }

}


@media (max-width: 700px) {

    .why-grid {
        grid-template-columns: 1fr;
    }

    .why-item {
        min-height: auto;
        padding: 30px 24px;
    }

    .why-item + .why-item {
        border-top: 0;
    }

    .why-proof {
        margin-top: var(--space-lg);
    }

    .why-proof-intro {
        padding: 32px 24px;
    }

    .why-stats {
        grid-template-columns: repeat(2, 1fr);
    }

    .why-stat {
        min-height: 190px;
        padding: 30px 22px;
    }

    .why-stat:nth-child(3),
    .why-stat:nth-child(4) {
        border-top: 1px solid var(--border);
    }

    .why-stat:nth-child(2) {
        border-right: 0;
    }

}


@media (max-width: 480px) {

    .why-stats {
        grid-template-columns: 1fr;
    }

    .why-stat {
        min-height: auto;
        border-right: 0;
    }

    .why-stat + .why-stat {
        border-top: 1px solid var(--border);
    }

}
.hero-editorial-line {
    margin-top: -10px;
    margin-bottom: var(--space-md);

    font-family: var(--font-heading);
    font-size: clamp(2rem, 2vw, 2rem);
    font-style: italic;
    font-weight: 500;
    line-height: 1;

    color: var(--secondary);
}
.hero-title {
    max-width: 850px;
    margin-bottom: 14px;

    font-family: var(--font-heading);
    font-size: clamp(4rem, 6vw, 6.8rem);
    font-weight: 500;
    line-height: 0.92;
    letter-spacing: -0.035em;

    color: var(--primary);
}

.hero-title em {
    font-style: italic;
    color: var(--secondary);
}
/* =========================================================
   PROGRAMS
   ========================================================= */

.programs-section {
    position: relative;
    background: var(--bg);
}


/* ---------------------------------------------------------
   Section Header
   --------------------------------------------------------- */

.programs-header {
    display: grid;
    grid-template-columns: 1.15fr 0.85fr;

    gap: var(--space-xl);

    align-items: end;

    margin-bottom: var(--space-xl);
}


.programs-heading h2 {
    max-width: 780px;
    margin-bottom: 0;
}


.programs-heading h2 em {
    display: block;

    font-style: italic;
    color: var(--secondary);
}


.programs-intro {
    max-width: 500px;
}


.programs-intro p {
    margin-bottom: 18px;

    font-size: 16px;
    line-height: 1.8;

    color: var(--muted);
}


.programs-intro .programs-note {
    margin-bottom: 0;

    font-size: 11px;
    line-height: 1.6;

    color: var(--muted);
}


/* ---------------------------------------------------------
   Main Layout
   --------------------------------------------------------- */

.programs-layout {
    display: grid;

    grid-template-columns: 1.15fr 0.85fr;

    gap: 24px;
}


/* ---------------------------------------------------------
   Generic Program Card
   --------------------------------------------------------- */

.program-card {
    position: relative;

    overflow: hidden;

    border: 1px solid var(--border);

    background: var(--bg-alt);

    transition:
        transform 0.5s var(--ease),
        box-shadow 0.5s var(--ease);
}


.program-card:hover {
    transform: translateY(-5px);
}


/* ---------------------------------------------------------
   Program Image
   --------------------------------------------------------- */

.program-image-wrap {
    position: relative;

    overflow: hidden;

    background: var(--bg-alt);
}


.program-card-featured .program-image-wrap {
    height: 470px;
}


.program-card-small .program-image-wrap {
    height: 250px;
}


.program-image {
    width: 100%;
    height: 100%;

    object-fit: cover;

    transition:
        transform 0.8s var(--ease);
}


.program-card:hover .program-image {
    transform: scale(1.04);
}


/* ---------------------------------------------------------
   Featured Badge
   --------------------------------------------------------- */

.program-badge {
    position: absolute;

    top: 22px;
    left: 22px;

    padding: 9px 14px;

    border: 1px solid rgba(255, 255, 255, 0.5);
    border-radius: var(--radius-pill);

    font-size: 10px;
    font-weight: 700;
    letter-spacing: 0.12em;
    text-transform: uppercase;

    color: var(--white);

    background: rgba(7, 26, 45, 0.72);

    backdrop-filter: blur(8px);
}


/* ---------------------------------------------------------
   Program Content
   --------------------------------------------------------- */

.program-content {
    padding: 32px;
}


.program-card-featured .program-content {
    padding: 38px;
}


.program-meta {
    display: flex;
    align-items: center;
    flex-wrap: wrap;

    gap: 10px 20px;

    margin-bottom: 18px;
}


.program-meta span {
    position: relative;

    font-size: 10px;
    font-weight: 700;
    letter-spacing: 0.12em;
    text-transform: uppercase;

    color: var(--secondary);
}


.program-meta span + span::before {
    content: "";

    position: absolute;

    left: -11px;
    top: 50%;

    width: 3px;
    height: 3px;

    border-radius: 50%;

    background: var(--border);

    transform: translateY(-50%);
}


.program-card h3 {
    margin-bottom: 14px;

    font-size: clamp(1.8rem, 2.5vw, 2.7rem);
    line-height: 1.05;

    color: var(--primary);
}


.program-card-small h3 {
    font-size: clamp(1.7rem, 2vw, 2.2rem);
}


.program-card p {
    max-width: 620px;

    margin-bottom: 28px;

    font-size: 14px;
    line-height: 1.75;

    color: var(--muted);
}


/* ---------------------------------------------------------
   Program Details
   --------------------------------------------------------- */

.program-details {
    display: grid;

    grid-template-columns: repeat(3, 1fr);

    margin-bottom: 30px;

    border-top: 1px solid var(--border);
    border-bottom: 1px solid var(--border);
}


.program-detail {
    padding: 18px 14px;

    border-right: 1px solid var(--border);
}


.program-detail:last-child {
    border-right: 0;
}


.program-detail-label {
    display: block;

    margin-bottom: 6px;

    font-size: 9px;
    font-weight: 700;
    letter-spacing: 0.12em;
    text-transform: uppercase;

    color: var(--secondary);
}


.program-detail strong {
    display: block;

    font-size: 12px;
    font-weight: 600;

    color: var(--primary);
}


/* ---------------------------------------------------------
   Featured Footer
   --------------------------------------------------------- */

.program-footer {
    display: flex;

    align-items: center;
    justify-content: space-between;

    gap: 20px;
}


.program-price {
    font-family: var(--font-heading);

    font-size: 24px;

    color: var(--primary);
}


/* ---------------------------------------------------------
   Secondary Programs
   --------------------------------------------------------- */

.programs-secondary {
    display: grid;

    grid-template-rows: repeat(2, 1fr);

    gap: 24px;
}


.program-card-small {
    display: grid;

    grid-template-columns: 0.85fr 1.15fr;

    min-height: 310px;
}


.program-card-small .program-image-wrap {
    height: 100%;
}


.program-card-small .program-content {
    display: flex;

    flex-direction: column;

    justify-content: center;
}


.program-card-small p {
    margin-bottom: 22px;

    font-size: 13px;
}


.program-bottom {
    display: flex;

    align-items: center;
    justify-content: space-between;

    gap: 15px;

    margin-top: auto;

    padding-top: 18px;

    border-top: 1px solid var(--border);
}


.program-bottom > span {
    font-size: 10px;
    font-weight: 600;
    letter-spacing: 0.05em;
    text-transform: uppercase;

    color: var(--muted);
}


/* ---------------------------------------------------------
   Bottom CTA
   --------------------------------------------------------- */

.programs-cta {
    display: flex;

    align-items: center;
    justify-content: center;

    gap: 24px;

    margin-top: 44px;

    padding-top: 28px;

    border-top: 1px solid var(--border);
}


.programs-cta p {
    margin: 0;

    font-size: 13px;

    color: var(--muted);
}


/* ---------------------------------------------------------
   Responsive
   --------------------------------------------------------- */

@media (max-width: 1100px) {

    .programs-header {
        grid-template-columns: 1fr;

        gap: var(--space-lg);

        align-items: start;
    }


    .programs-intro {
        max-width: 700px;
    }


    .programs-layout {
        grid-template-columns: 1fr;
    }


    .programs-secondary {
        grid-template-columns: repeat(2, 1fr);
        grid-template-rows: none;
    }


    .program-card-small {
        display: block;
    }


    .program-card-small .program-image-wrap {
        height: 280px;
    }

}


@media (max-width: 700px) {

    .program-card-featured .program-image-wrap {
        height: 360px;
    }


    .program-card-featured .program-content {
        padding: 28px 24px;
    }


    .programs-secondary {
        grid-template-columns: 1fr;
    }


    .program-card-small .program-image-wrap {
        height: 300px;
    }


    .program-card-small .program-content {
        padding: 28px 24px;
    }


    .program-details {
        grid-template-columns: 1fr;
    }


    .program-detail {
        border-right: 0;
        border-bottom: 1px solid var(--border);
    }


    .program-detail:last-child {
        border-bottom: 0;
    }


    .program-footer {
        align-items: flex-start;
        flex-direction: column;
    }


    .programs-cta {
        align-items: flex-start;
        flex-direction: column;

        gap: 12px;
    }

}


@media (max-width: 480px) {

    .program-card-featured .program-image-wrap {
        height: 300px;
    }


    .program-card-small .program-image-wrap {
        height: 240px;
    }


    .program-card h3 {
        font-size: 1.9rem;
    }

}/* =========================================================
   WHAT YOU WILL LEARN
   ========================================================= */

.learn-section {
    position: relative;
    background: var(--bg);
}


/* ---------------------------------------------------------
   Header
   --------------------------------------------------------- */

.learn-header {
    display: grid;
    grid-template-columns: 1.05fr 0.95fr;

    gap: var(--space-xl);

    align-items: end;

    margin-bottom: var(--space-xl);
}


.learn-heading h2 {
    max-width: 760px;
    margin-bottom: 0;
}


.learn-heading h2 em {
    display: block;

    font-style: italic;
    color: var(--secondary);
}


.learn-intro {
    max-width: 540px;
}


.learn-intro p {
    margin-bottom: 18px;

    font-size: 15px;
    line-height: 1.8;

    color: var(--muted);
}


.learn-intro .learn-lead {
    font-size: 17px;
    line-height: 1.75;

    color: var(--text);
}


/* ---------------------------------------------------------
   Learning Grid
   --------------------------------------------------------- */

.learn-grid {
    display: grid;

    grid-template-columns: repeat(4, 1fr);

    border-top: 1px solid var(--border);
    border-left: 1px solid var(--border);
}


.learn-item {
    position: relative;

    min-height: 330px;

    padding: 32px;

    border-right: 1px solid var(--border);
    border-bottom: 1px solid var(--border);

    overflow: hidden;

    transition:
        background-color 0.45s var(--ease);
}


.learn-item:hover {
    background: var(--bg-alt);
}


/* ---------------------------------------------------------
   Large Items
   --------------------------------------------------------- */

.learn-item-large {
    grid-column: span 2;

    min-height: 360px;
}


/* ---------------------------------------------------------
   Number
   --------------------------------------------------------- */

.learn-number {
    display: block;

    margin-bottom: 70px;

    font-size: 11px;
    font-weight: 700;

    letter-spacing: 0.16em;

    color: var(--secondary);
}


/* ---------------------------------------------------------
   Content
   --------------------------------------------------------- */

.learn-item-content {
    max-width: 420px;
}


.learn-kicker {
    display: block;

    margin-bottom: 10px;

    font-size: 10px;
    font-weight: 700;

    letter-spacing: 0.14em;
    text-transform: uppercase;

    color: var(--secondary);
}


.learn-item h3 {
    margin-bottom: 14px;

    font-size: clamp(1.8rem, 2.5vw, 2.6rem);

    line-height: 1.05;
}


.learn-item p {
    max-width: 380px;

    margin: 0;

    font-size: 14px;
    line-height: 1.75;

    color: var(--muted);
}


/* ---------------------------------------------------------
   Decorative Number Hover
   --------------------------------------------------------- */

.learn-item::after {
    content: "";

    position: absolute;

    right: -35px;
    bottom: -45px;

    width: 130px;
    height: 130px;

    border: 1px solid var(--border);
    border-radius: 50%;

    transition:
        transform 0.6s var(--ease),
        border-color 0.6s var(--ease);
}


.learn-item:hover::after {
    transform: scale(1.35);

    border-color: rgba(201, 162, 74, 0.45);
}


/* ---------------------------------------------------------
   Footer
   --------------------------------------------------------- */

.learn-footer {
    display: grid;

    grid-template-columns: 1fr 1.5fr auto;

    align-items: center;

    gap: 30px;

    margin-top: var(--space-lg);

    padding-top: 26px;
}


.learn-footer-line {
    width: 100%;
    height: 1px;

    background: var(--secondary);
}


.learn-footer p {
    max-width: 520px;

    margin: 0;

    font-size: 13px;
    line-height: 1.7;

    color: var(--muted);
}


/* ---------------------------------------------------------
   Responsive
   --------------------------------------------------------- */

@media (max-width: 1000px) {

    .learn-header {
        grid-template-columns: 1fr;

        gap: var(--space-lg);

        align-items: start;
    }


    .learn-intro {
        max-width: 720px;
    }


    .learn-grid {
        grid-template-columns: repeat(2, 1fr);
    }


    .learn-item-large {
        grid-column: span 2;
    }


    .learn-footer {
        grid-template-columns: 1fr;

        gap: 18px;
    }


    .learn-footer-line {
        width: 60px;
    }

}


@media (max-width: 700px) {

    .learn-grid {
        grid-template-columns: 1fr;
    }


    .learn-item,
    .learn-item-large {
        grid-column: span 1;

        min-height: auto;

        padding: 28px 24px;
    }


    .learn-number {
        margin-bottom: 45px;
    }


    .learn-item h3 {
        font-size: 2rem;
    }


    .learn-footer {
        margin-top: var(--space-lg);
    }

}


@media (max-width: 480px) {

    .learn-intro .learn-lead {
        font-size: 16px;
    }


    .learn-item p {
        font-size: 13px;
    }

}/* =========================================================
   LIFE AT 8 LIMBS
   ========================================================= */

.life-section {
    position: relative;

    background: var(--dark);

    color: var(--white);
}


/* ---------------------------------------------------------
   Header
   --------------------------------------------------------- */

.life-header {
    display: grid;

    grid-template-columns: 1fr 0.85fr;

    gap: var(--space-xl);

    align-items: end;

    margin-bottom: var(--space-xl);
}


.life-heading h2 {
    max-width: 760px;

    margin-bottom: 0;

    color: var(--white);
}


.life-heading h2 em {
    display: block;

    font-style: italic;

    color: var(--secondary);
}


.life-intro {
    max-width: 540px;
}


.life-intro p {
    margin-bottom: 18px;

    font-size: 15px;
    line-height: 1.8;

    color: rgba(255, 255, 255, 0.62);
}


.life-intro .life-lead {
    font-size: 17px;
    line-height: 1.75;

    color: rgba(255, 255, 255, 0.9);
}


/* ---------------------------------------------------------
   Main Layout
   --------------------------------------------------------- */

.life-layout {
    display: grid;

    grid-template-columns: 1.05fr 0.95fr;

    min-height: 620px;

    border-top: 1px solid rgba(255, 255, 255, 0.14);
    border-left: 1px solid rgba(255, 255, 255, 0.14);
}


/* ---------------------------------------------------------
   Main Image
   --------------------------------------------------------- */

.life-image-main {
    position: relative;

    min-height: 620px;

    overflow: hidden;

    border-right: 1px solid rgba(255, 255, 255, 0.14);
    border-bottom: 1px solid rgba(255, 255, 255, 0.14);
}


.life-image-main img {
    width: 100%;
    height: 100%;

    object-fit: cover;

    transition:
        transform 0.9s var(--ease);
}


.life-image-main:hover img {
    transform: scale(1.035);
}


.life-image-main::after {
    content: "";

    position: absolute;

    inset: 0;

    background:
        linear-gradient(
            to top,
            rgba(7, 26, 45, 0.65),
            transparent 45%
        );

    pointer-events: none;
}


.life-image-caption {
    position: absolute;

    z-index: 2;

    left: 30px;
    right: 30px;
    bottom: 26px;

    display: flex;

    align-items: center;
    justify-content: space-between;

    padding-top: 15px;

    border-top: 1px solid rgba(255, 255, 255, 0.35);

    font-size: 10px;
    font-weight: 700;

    letter-spacing: 0.14em;
    text-transform: uppercase;

    color: var(--white);
}


/* ---------------------------------------------------------
   Experience List
   --------------------------------------------------------- */

.life-list {
    display: grid;

    grid-template-rows: repeat(4, 1fr);
}


.life-item {
    display: grid;

    grid-template-columns: 48px 1fr;

    gap: 20px;

    padding: 30px;

    border-right: 1px solid rgba(255, 255, 255, 0.14);
    border-bottom: 1px solid rgba(255, 255, 255, 0.14);

    transition:
        background-color 0.45s var(--ease);
}


.life-item:hover {
    background: rgba(255, 255, 255, 0.035);
}


.life-item-number {
    padding-top: 3px;

    font-size: 10px;
    font-weight: 700;

    letter-spacing: 0.14em;

    color: var(--secondary);
}


.life-item-kicker {
    display: block;

    margin-bottom: 8px;

    font-size: 9px;
    font-weight: 700;

    letter-spacing: 0.14em;
    text-transform: uppercase;

    color: var(--secondary);
}


.life-item h3 {
    margin-bottom: 8px;

    font-size: 25px;

    color: var(--white);
}


.life-item p {
    max-width: 390px;

    margin: 0;

    font-size: 13px;
    line-height: 1.7;

    color: rgba(255, 255, 255, 0.56);
}


/* ---------------------------------------------------------
   Bottom Statement
   --------------------------------------------------------- */

.life-bottom {
    display: grid;

    grid-template-columns: 0.7fr 1fr auto;

    gap: 35px;

    align-items: center;

    margin-top: var(--space-lg);

    padding-top: 28px;

    border-top: 1px solid rgba(255, 255, 255, 0.14);
}


.life-bottom-line {
    width: 100%;
    height: 1px;

    background: var(--secondary);
}


.life-bottom-copy {
    max-width: 520px;
}


.life-bottom-copy .eyebrow {
    margin-bottom: 10px;
}


.life-bottom-copy p {
    margin: 0;

    font-size: 14px;
    line-height: 1.7;

    color: rgba(255, 255, 255, 0.62);
}


.life-bottom .text-link {
    color: var(--white);
}


.life-bottom .text-link:hover {
    color: var(--secondary);
}


/* ---------------------------------------------------------
   Responsive
   --------------------------------------------------------- */

@media (max-width: 1000px) {

    .life-header {
        grid-template-columns: 1fr;

        gap: var(--space-lg);

        align-items: start;
    }


    .life-intro {
        max-width: 720px;
    }


    .life-layout {
        grid-template-columns: 1fr;
    }


    .life-image-main {
        min-height: 520px;
    }


    .life-list {
        grid-template-columns: repeat(2, 1fr);
    }


    .life-item {
        min-height: 260px;

        border-right: 1px solid rgba(255, 255, 255, 0.14);
    }


    .life-bottom {
        grid-template-columns: 1fr;

        gap: 18px;
    }


    .life-bottom-line {
        width: 60px;
    }

}


@media (max-width: 700px) {

    .life-layout {
        border-right: 1px solid rgba(255, 255, 255, 0.14);
    }


    .life-image-main {
        min-height: 420px;
    }


    .life-list {
        grid-template-columns: 1fr;
    }


    .life-item {
        min-height: auto;

        padding: 26px 22px;
    }


    .life-bottom {
        margin-top: var(--space-lg);
    }

}


@media (max-width: 480px) {

    .life-heading h2 {
        font-size: 2.7rem;
    }


    .life-intro .life-lead {
        font-size: 16px;
    }


    .life-image-main {
        min-height: 360px;
    }


    .life-image-caption {
        left: 20px;
        right: 20px;
        bottom: 20px;
    }

}
/* =========================================================
   PROGRAMS
========================================================= */

.programs-section {
    background: var(--bg);
}


/* Header */

.programs-header {
    display: grid;
    grid-template-columns: 1.1fr 0.9fr;
    gap: var(--space-xl);
    align-items: end;
    margin-bottom: var(--space-xl);
}

.programs-heading h2 {
    max-width: 760px;
    margin-bottom: 0;
}

.programs-heading h2 em {
    display: block;
    color: var(--secondary);
    font-style: italic;
}

.programs-intro {
    max-width: 520px;
}

.programs-intro p {
    margin-bottom: var(--space-md);
    color: var(--muted);
}

.programs-intro p:last-child {
    margin-bottom: 0;
}

.programs-note {
    font-size: 14px;
}


/* Main Layout */

.programs-layout {
    display: grid;
    grid-template-columns: 1.15fr 0.85fr;
    gap: var(--space-md);
}


/* Base Card */

.program-card {
    overflow: hidden;
    background: var(--white);
    border: 1px solid var(--border);
    border-radius: var(--radius);
}


/* Featured Card */

.program-card-featured {
    display: flex;
    flex-direction: column;
}

.program-image-wrap {
    position: relative;
    overflow: hidden;
    aspect-ratio: 8 / 5;
}

.program-image {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.8s var(--ease);
}

.program-card:hover .program-image {
    transform: scale(1.035);
}

.program-badge {
    position: absolute;
    top: 20px;
    left: 20px;
    padding: 9px 14px;
    border-radius: var(--radius-pill);
    background: var(--secondary);
    color: var(--dark);
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}


/* Featured Content */

.program-content {
    display: flex;
    flex-direction: column;
    flex: 1;
    padding: var(--space-lg);
}

.program-meta {
    display: flex;
    align-items: center;
    gap: 18px;
    margin-bottom: 14px;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--secondary);
}

.program-meta span + span {
    position: relative;
}

.program-meta span + span::before {
    content: "";
    position: absolute;
    left: -10px;
    top: 50%;
    width: 3px;
    height: 3px;
    border-radius: 50%;
    background: var(--secondary);
    transform: translateY(-50%);
}

.program-content h3 {
    margin-bottom: 14px;
    font-size: clamp(2rem, 3vw, 3rem);
}

.program-content > p {
    max-width: 620px;
    margin-bottom: var(--space-md);
    color: var(--muted);
}


/* Program Details */

.program-details {
    display: flex;
    flex-wrap: wrap;
    gap: 28px;
    padding-block: 20px;
    margin-bottom: var(--space-md);
    border-top: 1px solid var(--border);
    border-bottom: 1px solid var(--border);
}

.program-details span {
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.program-details strong {
    font-size: 14px;
    color: var(--primary);
}

.program-details small {
    font-size: 11px;
    color: var(--muted);
    text-transform: uppercase;
    letter-spacing: 0.08em;
}


/* Footer */

.program-footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--space-md);
    margin-top: auto;
}

.program-price {
    font-family: var(--font-heading);
    font-size: 1.5rem;
    color: var(--primary);
}


/* Secondary Programs */

.programs-secondary {
    display: grid;
    grid-template-rows: repeat(3, 1fr);
    gap: var(--space-md);
}


/* Small Card */

.program-card-small {
    display: grid;
    grid-template-columns: 180px 1fr;
    min-height: 0;
}

.program-small-image {
    overflow: hidden;
    height: 100%;
}

.program-small-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.8s var(--ease);
}

.program-card-small:hover .program-small-image img {
    transform: scale(1.04);
}

.program-small-content {
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 24px 28px;
}

.program-small-content .program-meta {
    margin-bottom: 8px;
}

.program-small-content h3 {
    margin-bottom: 8px;
    font-size: 1.8rem;
}

.program-small-content p {
    margin-bottom: 12px;
    font-size: 14px;
    line-height: 1.6;
    color: var(--muted);
}

.program-small-content .text-link {
    margin-top: auto;
}


/* Additional Program */

.programs-additional {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--space-md);
    margin-top: var(--space-lg);
    padding: 28px 32px;
    background: var(--bg-alt);
    border: 1px solid var(--border);
    border-radius: var(--radius);
}

.programs-additional h3 {
    margin: 0;
    font-size: clamp(1.8rem, 3vw, 2.6rem);
}

.programs-additional h3 em {
    color: var(--secondary);
    font-style: italic;
}


/* Bottom CTA */

.programs-cta {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--space-md);
    padding-top: var(--space-lg);
}

.programs-cta p {
    margin: 0;
    color: var(--muted);
}


/* Text Link */

.programs-section .text-link {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: var(--primary);
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    transition: color 0.3s var(--ease);
}

.programs-section .text-link span {
    font-size: 16px;
    transition: transform 0.3s var(--ease);
}

.programs-section .text-link:hover {
    color: var(--secondary);
}

.programs-section .text-link:hover span {
    transform: translate(3px, -3px);
}


/* =========================================================
   RESPONSIVE
========================================================= */

@media (max-width: 1000px) {

    .programs-header {
        grid-template-columns: 1fr;
        gap: var(--space-md);
    }

    .programs-layout {
        grid-template-columns: 1fr;
    }

    .programs-secondary {
        grid-template-rows: none;
        grid-template-columns: repeat(3, 1fr);
    }

    .program-card-small {
        display: flex;
        flex-direction: column;
    }

    .program-small-image {
        aspect-ratio: 2 / 1;
        height: auto;
    }

    .program-small-content {
        padding: 22px;
    }

}


@media (max-width: 700px) {

    .programs-secondary {
        grid-template-columns: 1fr;
    }

    .program-card-small {
        display: grid;
        grid-template-columns: 140px 1fr;
        flex-direction: row;
    }

    .program-small-image {
        height: 100%;
        aspect-ratio: auto;
    }

    .program-small-content {
        padding: 20px;
    }

    .program-small-content h3 {
        font-size: 1.5rem;
    }

    .program-footer,
    .programs-additional,
    .programs-cta {
        align-items: flex-start;
        flex-direction: column;
    }

}


@media (max-width: 480px) {

    .program-card-small {
        display: flex;
        flex-direction: column;
    }

    .program-small-image {
        aspect-ratio: 16 / 9;
        height: auto;
    }

    .program-content {
        padding: 24px;
    }

    .program-details {
        gap: 18px;
    }

}.program-highlights {
    padding-top: 4px;
    margin-bottom: var(--space-md);
}

.program-highlights-label {
    display: block;
    margin-bottom: 12px;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: var(--secondary);
}

.program-highlights-list {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.program-highlights-list span {
    padding: 7px 11px;
    border: 1px solid var(--border);
    border-radius: var(--radius-pill);
    font-size: 11px;
    color: var(--primary);
    background: var(--bg);
}
/* =========================================================
   A DAY AT 8 LIMBS
========================================================= */

.day-section {
    background: var(--dark);
    color: var(--white);
}


/* Header */

.day-header {
    display: grid;
    grid-template-columns: 1.05fr 0.95fr;
    gap: var(--space-xl);
    align-items: end;
    margin-bottom: var(--space-xl);
}

.day-heading h2 {
    margin-bottom: 0;
    color: var(--white);
}

.day-heading h2 em {
    display: block;
    color: var(--secondary);
    font-style: italic;
}

.day-intro {
    max-width: 560px;
}

.day-intro p {
    margin-bottom: var(--space-md);
    color: rgba(255, 255, 255, 0.62);
}

.day-intro p:last-child {
    margin-bottom: 0;
}

.day-lead {
    font-size: 18px;
    line-height: 1.7;
    color: rgba(255, 255, 255, 0.86) !important;
}


/* Schedule */

.day-schedule {
    position: relative;
    border-top: 1px solid rgba(255, 255, 255, 0.16);
}


/* Timeline line */

.day-schedule::before {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    left: 152px;
    width: 1px;
    background: rgba(255, 255, 255, 0.12);
}


/* Individual Item */

.day-item {
    position: relative;
    display: grid;
    grid-template-columns: 120px 64px 1fr;
    gap: 32px;
    min-height: 120px;
    padding: 28px 0;
    border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}


/* Time */

.day-time {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    padding-top: 2px;
}

.day-time span {
    font-family: var(--font-heading);
    font-size: 1.5rem;
    line-height: 1;
    color: var(--white);
}

.day-time small {
    margin-top: 5px;
    font-size: 9px;
    font-weight: 700;
    letter-spacing: 0.12em;
    color: var(--secondary);
}


/* Number */

.day-number {
    position: relative;
    z-index: 2;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 42px;
    height: 42px;
    margin-top: -1px;
    border: 1px solid rgba(201, 162, 74, 0.5);
    border-radius: 50%;
    background: var(--dark);
    color: var(--secondary);
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 0.06em;
}


/* Content */

.day-content {
    max-width: 680px;
}

.day-kicker {
    display: block;
    margin-bottom: 6px;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: var(--secondary);
}

.day-content h3 {
    margin-bottom: 7px;
    color: var(--white);
    font-size: clamp(1.5rem, 2vw, 2rem);
}

.day-content p {
    max-width: 580px;
    margin-bottom: 0;
    color: rgba(255, 255, 255, 0.55);
    font-size: 14px;
    line-height: 1.65;
}


/* Break Items */

.day-item-break {
    background: rgba(255, 255, 255, 0.025);
}


/* Last Item */

.day-item-last {
    border-bottom: 0;
}


/* Footer */

.day-footer {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: var(--space-lg);
    padding-top: var(--space-xl);
}

.day-footer-note {
    max-width: 620px;
}

.day-footer-note p {
    margin: 0;
    color: rgba(255, 255, 255, 0.58);
}

.day-footer .btn-outline {
    border-color: rgba(255, 255, 255, 0.4);
    color: var(--white);
}

.day-footer .btn-outline:hover {
    border-color: var(--secondary);
    background: var(--secondary);
    color: var(--dark);
}


/* =========================================================
   RESPONSIVE
========================================================= */

@media (max-width: 900px) {

    .day-header {
        grid-template-columns: 1fr;
        gap: var(--space-md);
    }

    .day-schedule::before {
        left: 112px;
    }

    .day-item {
        grid-template-columns: 90px 44px 1fr;
        gap: 22px;
    }

}


@media (max-width: 700px) {

    .day-schedule::before {
        left: 83px;
    }

    .day-item {
        grid-template-columns: 65px 36px 1fr;
        gap: 14px;
        padding: 22px 0;
    }

    .day-time span {
        font-size: 1.2rem;
    }

    .day-number {
        width: 36px;
        height: 36px;
        font-size: 9px;
    }

    .day-content h3 {
        font-size: 1.45rem;
    }

    .day-content p {
        font-size: 13px;
    }

    .day-footer {
        align-items: flex-start;
        flex-direction: column;
    }

}


@media (max-width: 480px) {

    .day-item {
        grid-template-columns: 1fr;
        gap: 8px;
        padding: 24px 0;
    }

    .day-schedule::before {
        display: none;
    }

    .day-time {
        align-items: flex-start;
        flex-direction: row;
        gap: 7px;
    }

    .day-time small {
        margin-top: 3px;
    }

    .day-number {
        display: none;
    }

}
/* =========================================================
   TEACHERS
========================================================= */

.teachers-section {
    background: var(--bg);
}


/* Header */

.teachers-header {
    display: grid;
    grid-template-columns: 1.05fr 0.95fr;
    gap: var(--space-xl);
    align-items: end;
    margin-bottom: var(--space-xl);
}

.teachers-heading h2 {
    margin-bottom: 0;
}

.teachers-heading h2 em {
    display: block;
    color: var(--secondary);
    font-style: italic;
}

.teachers-intro {
    max-width: 560px;
}

.teachers-intro p {
    margin-bottom: var(--space-md);
    color: var(--muted);
}

.teachers-intro p:last-child {
    margin-bottom: 0;
}

.teachers-lead {
    font-size: 18px;
    line-height: 1.7;
    color: var(--text) !important;
}


/* =========================================================
   FEATURED TEACHER
========================================================= */

.teacher-featured {
    display: grid;
    grid-template-columns: 0.95fr 1.05fr;
    min-height: 560px;
    overflow: hidden;
    margin-bottom: var(--space-md);
    background: var(--dark);
    border-radius: var(--radius);
}


.teacher-featured-image {
    position: relative;
    min-height: 560px;
    overflow: hidden;
}

.teacher-featured-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.8s var(--ease);
}

.teacher-featured:hover .teacher-featured-image img {
    transform: scale(1.025);
}


.teacher-image-number {
    position: absolute;
    top: 24px;
    left: 24px;

    display: flex;
    align-items: center;
    justify-content: center;

    width: 42px;
    height: 42px;

    border: 1px solid rgba(255, 255, 255, 0.4);
    border-radius: 50%;

    color: var(--white);
    background: rgba(7, 26, 45, 0.35);

    font-size: 10px;
    font-weight: 700;
}


.teacher-featured-content {
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: clamp(40px, 6vw, 80px);
}


.teacher-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 22px;

    margin-bottom: 18px;

    color: var(--secondary);

    font-size: 10px;
    font-weight: 700;
    letter-spacing: 0.14em;
    text-transform: uppercase;
}


.teacher-meta span + span {
    position: relative;
}


.teacher-meta span + span::before {
    content: "";

    position: absolute;
    left: -13px;
    top: 50%;

    width: 3px;
    height: 3px;

    border-radius: 50%;
    background: var(--secondary);

    transform: translateY(-50%);
}


.teacher-featured-content h3 {
    margin-bottom: 18px;

    color: var(--white);

    font-size: clamp(2.8rem, 5vw, 5rem);
}


.teacher-featured-content p {
    max-width: 560px;
    color: rgba(255, 255, 255, 0.58);
}


.teacher-featured-lead {
    margin-bottom: 14px;

    color: rgba(255, 255, 255, 0.86) !important;

    font-size: 18px;
    line-height: 1.65;
}


.teacher-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;

    margin-top: 20px;
    margin-bottom: 28px;
}


.teacher-tags span {
    padding: 8px 12px;

    border: 1px solid rgba(255, 255, 255, 0.18);
    border-radius: var(--radius-pill);

    color: rgba(255, 255, 255, 0.75);

    font-size: 11px;
}


.teacher-featured-content .text-link {
    display: inline-flex;
    align-items: center;
    gap: 8px;

    width: fit-content;

    color: var(--secondary);

    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
}


.teacher-featured-content .text-link span {
    transition: transform 0.3s var(--ease);
}


.teacher-featured-content .text-link:hover span {
    transform: translate(3px, -3px);
}


/* =========================================================
   FACULTY GRID
========================================================= */

.teachers-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: var(--space-md);
}


.teacher-card {
    overflow: hidden;

    background: var(--white);

    border: 1px solid var(--border);
    border-radius: var(--radius);
}


.teacher-card-image {
    position: relative;
    overflow: hidden;

    aspect-ratio: 4 / 3;
}


.teacher-card-image img {
    width: 100%;
    height: 100%;

    object-fit: cover;

    transition: transform 0.7s var(--ease);
}


.teacher-card:hover .teacher-card-image img {
    transform: scale(1.035);
}


.teacher-card-image > span {
    position: absolute;
    top: 16px;
    left: 16px;

    display: flex;
    align-items: center;
    justify-content: center;

    width: 34px;
    height: 34px;

    border-radius: 50%;

    color: var(--primary);
    background: var(--white);

    font-size: 9px;
    font-weight: 700;
}


.teacher-card-content {
    padding: 26px 28px 30px;
}


.teacher-card-meta {
    margin-bottom: 8px;

    color: var(--secondary);

    font-size: 10px;
    font-weight: 700;
    letter-spacing: 0.13em;
    text-transform: uppercase;
}


.teacher-card-content h3 {
    margin-bottom: 10px;

    font-size: clamp(1.7rem, 2.5vw, 2.3rem);
}


.teacher-card-content p {
    min-height: 76px;
    margin-bottom: 18px;

    color: var(--muted);

    font-size: 13px;
    line-height: 1.7;
}


.teacher-card-tags {
    padding-top: 15px;

    border-top: 1px solid var(--border);

    color: var(--primary);

    font-size: 10px;
    font-weight: 700;
    letter-spacing: 0.05em;
    text-transform: uppercase;
}


/* =========================================================
   FOOTER
========================================================= */

.teachers-footer {
    display: flex;
    align-items: center;
    justify-content: space-between;

    gap: var(--space-md);

    padding-top: var(--space-lg);
}


.teachers-footer p {
    margin: 0;

    color: var(--muted);

    font-family: var(--font-heading);
    font-size: 1.5rem;
}


.teachers-footer .text-link {
    display: inline-flex;
    align-items: center;
    gap: 8px;

    color: var(--primary);

    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
}


.teachers-footer .text-link span {
    transition: transform 0.3s var(--ease);
}


.teachers-footer .text-link:hover {
    color: var(--secondary);
}


.teachers-footer .text-link:hover span {
    transform: translate(3px, -3px);
}


/* =========================================================
   RESPONSIVE
========================================================= */

@media (max-width: 1000px) {

    .teachers-header {
        grid-template-columns: 1fr;
        gap: var(--space-md);
    }

    .teacher-featured {
        grid-template-columns: 1fr;
    }

    .teacher-featured-image {
        min-height: 500px;
    }

    .teachers-grid {
        grid-template-columns: repeat(2, 1fr);
    }

}


@media (max-width: 700px) {

    .teacher-featured-image {
        min-height: 420px;
    }

    .teacher-featured-content {
        padding: 40px 28px;
    }

    .teachers-grid {
        grid-template-columns: 1fr;
    }

    .teacher-card-content p {
        min-height: auto;
    }

    .teachers-footer {
        align-items: flex-start;
        flex-direction: column;
    }

}


@media (max-width: 480px) {

    .teacher-featured-image {
        min-height: 360px;
    }

    .teacher-featured-content h3 {
        font-size: 2.8rem;
    }

    .teacher-meta {
        gap: 14px;
    }

    .teacher-card-content {
        padding: 24px;
    }

}
/* =========================================================
   RISHIKESH EXPERIENCE
========================================================= */

.rishikesh-section {
    background: var(--bg);
}


/* Header */

.rishikesh-header {
    display: grid;
    grid-template-columns: 1.05fr 0.95fr;
    gap: var(--space-xl);
    align-items: end;
    margin-bottom: var(--space-xl);
}

.rishikesh-heading h2 {
    margin-bottom: 0;
    max-width: 760px;
}

.rishikesh-heading h2 em {
    display: block;
    color: var(--secondary);
    font-style: italic;
}

.rishikesh-intro {
    max-width: 560px;
}

.rishikesh-intro p {
    margin-bottom: var(--space-md);
    color: var(--muted);
}

.rishikesh-intro p:last-child {
    margin-bottom: 0;
}

.rishikesh-lead {
    font-size: 18px;
    line-height: 1.7;
    color: var(--text) !important;
}


/* =========================================================
   FEATURE
========================================================= */

.rishikesh-feature {
    display: grid;
    grid-template-columns: 1.2fr 0.8fr;
    min-height: 600px;
    overflow: hidden;
    margin-bottom: var(--space-md);
    background: var(--dark);
    border-radius: var(--radius);
}

.rishikesh-feature-image {
    position: relative;
    overflow: hidden;
}

.rishikesh-feature-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.9s var(--ease);
}

.rishikesh-feature:hover .rishikesh-feature-image img {
    transform: scale(1.025);
}

.rishikesh-image-caption {
    position: absolute;
    right: 24px;
    bottom: 24px;
    left: 24px;

    display: flex;
    align-items: center;
    justify-content: space-between;

    padding-top: 14px;

    border-top: 1px solid rgba(255, 255, 255, 0.3);

    color: var(--white);

    font-size: 10px;
    font-weight: 700;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}


/* Feature Content */

.rishikesh-feature-content {
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: clamp(40px, 6vw, 80px);
}

.rishikesh-feature-content h3 {
    margin-bottom: 22px;
    color: var(--white);
    font-size: clamp(2.5rem, 4vw, 4.5rem);
}

.rishikesh-feature-content h3 em {
    color: var(--secondary);
    font-style: italic;
}

.rishikesh-feature-content p {
    max-width: 520px;
    color: rgba(255, 255, 255, 0.58);
}

.rishikesh-feature-content .text-link {
    display: inline-flex;
    align-items: center;
    gap: 8px;

    width: fit-content;

    margin-top: 18px;

    color: var(--secondary);

    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
}

.rishikesh-feature-content .text-link span {
    transition: transform 0.3s var(--ease);
}

.rishikesh-feature-content .text-link:hover span {
    transform: translate(3px, -3px);
}


/* =========================================================
   EXPERIENCE CARDS
========================================================= */

.rishikesh-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: var(--space-md);
}

.rishikesh-card {
    overflow: hidden;
    background: var(--white);
    border: 1px solid var(--border);
    border-radius: var(--radius);
}

.rishikesh-card-image {
    position: relative;
    overflow: hidden;
    aspect-ratio: 4 / 3;
}

.rishikesh-card-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.8s var(--ease);
}

.rishikesh-card:hover .rishikesh-card-image img {
    transform: scale(1.035);
}

.rishikesh-card-image > span {
    position: absolute;
    top: 16px;
    left: 16px;

    display: flex;
    align-items: center;
    justify-content: center;

    width: 34px;
    height: 34px;

    border-radius: 50%;

    color: var(--primary);
    background: var(--white);

    font-size: 9px;
    font-weight: 700;
}

.rishikesh-card-content {
    padding: 26px 28px 30px;
}

.rishikesh-card-kicker {
    display: block;
    margin-bottom: 8px;

    color: var(--secondary);

    font-size: 10px;
    font-weight: 700;
    letter-spacing: 0.14em;
    text-transform: uppercase;
}

.rishikesh-card-content h3 {
    margin-bottom: 10px;
    font-size: clamp(1.7rem, 2.5vw, 2.3rem);
}

.rishikesh-card-content p {
    margin-bottom: 0;
    color: var(--muted);
    font-size: 13px;
    line-height: 1.7;
}


/* =========================================================
   FREE TIME EXPERIENCES
========================================================= */

.rishikesh-experiences {
    display: grid;
    grid-template-columns: 0.8fr 1.2fr;
    gap: var(--space-xl);
    align-items: center;

    margin-top: var(--space-xl);
    padding-top: var(--space-xl);

    border-top: 1px solid var(--border);
}

.rishikesh-experiences-heading h3 {
    margin-bottom: 0;
    font-size: clamp(2rem, 3vw, 3rem);
}

.rishikesh-experiences-heading h3 em {
    color: var(--secondary);
    font-style: italic;
}

.rishikesh-experience-list {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.rishikesh-experience-list span {
    padding: 11px 16px;

    border: 1px solid var(--border);
    border-radius: var(--radius-pill);

    background: var(--white);

    color: var(--primary);

    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.04em;
}


/* =========================================================
   RESPONSIVE
========================================================= */

@media (max-width: 1000px) {

    .rishikesh-header {
        grid-template-columns: 1fr;
        gap: var(--space-md);
    }

    .rishikesh-feature {
        grid-template-columns: 1fr;
    }

    .rishikesh-feature-image {
        min-height: 500px;
    }

    .rishikesh-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .rishikesh-grid .rishikesh-card:last-child {
        grid-column: 1 / -1;
    }

    .rishikesh-experiences {
        grid-template-columns: 1fr;
        gap: var(--space-md);
    }

}


@media (max-width: 700px) {

    .rishikesh-feature-image {
        min-height: 400px;
    }

    .rishikesh-feature-content {
        padding: 40px 28px;
    }

    .rishikesh-grid {
        grid-template-columns: 1fr;
    }

    .rishikesh-grid .rishikesh-card:last-child {
        grid-column: auto;
    }

}


@media (max-width: 480px) {

    .rishikesh-feature-image {
        min-height: 340px;
    }

    .rishikesh-feature-content h3 {
        font-size: 2.7rem;
    }

    .rishikesh-card-content {
        padding: 24px;
    }

    .rishikesh-experiences {
        margin-top: var(--space-lg);
        padding-top: var(--space-lg);
    }

}
/* =========================================================
   ACCOMMODATION & FOOD
========================================================= */

.stay-section {
    background: var(--bg-alt);
}


/* =========================================================
   HEADER
========================================================= */

.stay-header {
    display: grid;
    grid-template-columns: 1.05fr 0.95fr;
    gap: var(--space-xl);
    align-items: end;
    margin-bottom: var(--space-xl);
}

.stay-heading h2 {
    margin-bottom: 0;
}

.stay-heading h2 em {
    display: block;
    color: var(--secondary);
    font-style: italic;
}

.stay-intro {
    max-width: 560px;
}

.stay-intro p {
    margin-bottom: var(--space-md);
    color: var(--muted);
}

.stay-intro p:last-child {
    margin-bottom: 0;
}

.stay-lead {
    font-size: 18px;
    line-height: 1.7;
    color: var(--text) !important;
}


/* =========================================================
   ACCOMMODATION FEATURE
========================================================= */

.stay-feature {
    display: grid;
    grid-template-columns: 1.05fr 0.95fr;
    min-height: 620px;
    overflow: hidden;
    margin-bottom: var(--space-md);
    background: var(--white);
    border: 1px solid var(--border);
    border-radius: var(--radius);
}

.stay-feature-image {
    position: relative;
    overflow: hidden;
}

.stay-feature-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.9s var(--ease);
}

.stay-feature:hover .stay-feature-image img {
    transform: scale(1.025);
}

.stay-image-caption {
    position: absolute;
    right: 24px;
    bottom: 24px;
    left: 24px;

    display: flex;
    justify-content: space-between;

    padding-top: 14px;

    border-top: 1px solid rgba(255, 255, 255, 0.5);

    color: var(--white);

    font-size: 10px;
    font-weight: 700;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}


/* Content */

.stay-feature-content {
    display: flex;
    flex-direction: column;
    justify-content: center;

    padding: clamp(40px, 6vw, 80px);
}

.stay-feature-content h3 {
    margin-bottom: 20px;
    font-size: clamp(2.5rem, 4vw, 4rem);
}

.stay-feature-content h3 em {
    color: var(--secondary);
    font-style: italic;
}

.stay-feature-content > p {
    max-width: 520px;
    color: var(--muted);
}


/* Points */

.stay-points {
    margin-top: var(--space-md);
    border-top: 1px solid var(--border);
}

.stay-point {
    display: grid;
    grid-template-columns: 42px 1fr;
    gap: 18px;

    padding: 20px 0;

    border-bottom: 1px solid var(--border);
}

.stay-point-icon {
    display: flex;
    align-items: center;
    justify-content: center;

    width: 36px;
    height: 36px;

    border: 1px solid var(--border);
    border-radius: 50%;

    color: var(--secondary);

    font-size: 9px;
    font-weight: 700;
}

.stay-point h4 {
    margin-bottom: 3px;
    font-family: var(--font-body);
    font-size: 14px;
    font-weight: 700;
}

.stay-point p {
    margin: 0;
    color: var(--muted);
    font-size: 12px;
    line-height: 1.6;
}


/* =========================================================
   FOOD
========================================================= */

.stay-food {
    display: grid;
    grid-template-columns: 0.85fr 1.15fr;
    min-height: 500px;
    overflow: hidden;
    margin-bottom: var(--space-md);
    background: var(--dark);
    border-radius: var(--radius);
}

.stay-food-content {
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: clamp(40px, 6vw, 80px);
}

.stay-food-content h3 {
    margin-bottom: 20px;
    color: var(--white);
    font-size: clamp(2.4rem, 4vw, 4rem);
}

.stay-food-content h3 em {
    color: var(--secondary);
    font-style: italic;
}

.stay-food-content > p {
    max-width: 500px;
    color: rgba(255, 255, 255, 0.58);
}

.stay-food-details {
    display: flex;
    flex-wrap: wrap;
    gap: 36px;

    margin-top: var(--space-md);
    padding-top: 22px;

    border-top: 1px solid rgba(255, 255, 255, 0.15);
}

.stay-food-details div {
    display: flex;
    flex-direction: column;
    gap: 3px;
}

.stay-food-details strong {
    color: var(--secondary);

    font-family: var(--font-heading);
    font-size: 1.8rem;
    font-weight: 500;
}

.stay-food-details span {
    color: rgba(255, 255, 255, 0.5);

    font-size: 10px;
    font-weight: 700;
    letter-spacing: 0.1em;
    text-transform: uppercase;
}

.stay-food-image {
    position: relative;
    overflow: hidden;
}

.stay-food-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.stay-food-caption {
    position: absolute;
    right: 24px;
    bottom: 24px;

    padding: 9px 14px;

    border-radius: var(--radius-pill);

    background: rgba(7, 26, 45, 0.75);

    color: var(--white);

    font-size: 10px;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}


/* =========================================================
   FACILITIES
========================================================= */

.stay-facilities {
    display: grid;
    grid-template-columns: 0.8fr 1.2fr;
    gap: var(--space-xl);

    padding-top: var(--space-xl);
}

.stay-facilities-heading h3 {
    margin-bottom: 0;
    font-size: clamp(2rem, 3vw, 3rem);
}

.stay-facilities-heading h3 em {
    color: var(--secondary);
    font-style: italic;
}

.stay-facilities-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);

   
    border-radius: 10px;
}

.stay-facility {
    padding: 22px;

    border-right: 1px solid var(--border);
    border-bottom: 1px solid var(--border);
}

.stay-facility span {
    display: block;
    margin-bottom: 12px;

    color: var(--secondary);

    font-size: 10px;
    font-weight: 700;
}

.stay-facility h4 {
    margin: 0;

    font-family: var(--font-body);
    font-size: 14px;
    font-weight: 700;
}


/* =========================================================
   CTA
========================================================= */

.stay-cta {
    display: flex;
    align-items: center;
    justify-content: space-between;

    gap: var(--space-md);

    margin-top: var(--space-xl);
    padding-top: var(--space-lg);

    border-top: 1px solid var(--border);
}

.stay-cta p {
    max-width: 650px;
    margin: 0;

    color: var(--muted);

    font-family: var(--font-heading);
    font-size: 1.5rem;
}


/* =========================================================
   RESPONSIVE
========================================================= */

@media (max-width: 1000px) {

    .stay-header {
        grid-template-columns: 1fr;
        gap: var(--space-md);
    }

    .stay-feature {
        grid-template-columns: 1fr;
    }

    .stay-feature-image {
        min-height: 500px;
    }

    .stay-food {
        grid-template-columns: 1fr;
    }

    .stay-food-image {
        min-height: 420px;
    }

    .stay-facilities {
        grid-template-columns: 1fr;
        gap: var(--space-md);
    }

}


@media (max-width: 700px) {

    .stay-feature-image {
        min-height: 400px;
    }

    .stay-feature-content,
    .stay-food-content {
        padding: 40px 28px;
    }

    .stay-food-image {
        min-height: 360px;
    }

    .stay-facilities-grid {
        grid-template-columns: 1fr;
    }

    .stay-cta {
        align-items: flex-start;
        flex-direction: column;
    }

}


@media (max-width: 480px) {

    .stay-feature-image {
        min-height: 330px;
    }

    .stay-food-image {
        min-height: 300px;
    }

    .stay-feature-content h3,
    .stay-food-content h3 {
        font-size: 2.7rem;
    }

    .stay-point {
        grid-template-columns: 36px 1fr;
        gap: 14px;
    }

    .stay-food-details {
        gap: 24px;
    }

    .stay-cta p {
        font-size: 1.3rem;
    }

}
/* =========================================================
   STUDENT STORIES
========================================================= */

.student-section {
    background: var(--bg);
}


/* =========================================================
   HEADER
========================================================= */

.student-header {
    display: grid;
    grid-template-columns: 1.05fr 0.95fr;

    gap: var(--space-xl);

    align-items: end;

    margin-bottom: var(--space-xl);
}

.student-heading h2 {
    margin-bottom: 0;
}

.student-heading h2 em {
    display: block;

    color: var(--secondary);

    font-style: italic;
}

.student-intro {
    max-width: 560px;
}

.student-intro p {
    margin: 0;

    color: var(--muted);

    font-size: 17px;
    line-height: 1.7;
}


/* =========================================================
   PHOTO MOSAIC
========================================================= */

.student-mosaic {
    display: grid;

    grid-template-columns: 1.45fr 0.75fr;
    grid-template-rows: repeat(2, 280px);

    gap: var(--space-md);

    margin-bottom: var(--space-xl);
}


/* Photo */

.student-photo {
    position: relative;

    overflow: hidden;

    border-radius: var(--radius);
}

.student-photo-large {
    grid-row: 1 / 3;
}

.student-photo img {
    width: 100%;
    height: 100%;

    object-fit: cover;

    transition:
        transform 0.9s var(--ease);
}

.student-photo:hover img {
    transform: scale(1.035);
}


/* Overlay */

.student-photo-overlay {
    position: absolute;

    right: 20px;
    bottom: 20px;
    left: 20px;

    display: flex;

    align-items: center;
    justify-content: space-between;

    padding-top: 12px;

    border-top: 1px solid rgba(255, 255, 255, 0.45);

    color: var(--white);

    font-size: 10px;
    font-weight: 700;

    letter-spacing: 0.12em;
    text-transform: uppercase;

    text-shadow: 0 1px 8px rgba(0, 0, 0, 0.25);
}


/* =========================================================
   TESTIMONIAL
========================================================= */

/* =========================================================
   STUDENT REVIEW CAROUSEL
========================================================= */

.student-testimonial {
    position: relative;

    display: grid;
    grid-template-columns: 90px 1fr;

    min-height: 390px;

    overflow: hidden;

    padding: clamp(40px, 5vw, 65px);

    background: var(--dark);

    border-radius: var(--radius);

    margin-bottom: var(--space-xl);
}


.student-testimonial-quote {
    align-self: start;

    color: var(--secondary);

    font-family: var(--font-heading);

    font-size: 8rem;

    line-height: 0.65;
}


/* Review Track */

.student-review-track {
    position: relative;

    min-height: 270px;
}


.student-review {
    position: absolute;

    inset: 0;

    display: flex;
    flex-direction: column;

    opacity: 0;

    visibility: hidden;

    transform: translateX(30px);

    transition:
        opacity 1s var(--ease),
        transform 1s var(--ease),
        visibility 1s;
}


.student-review.active {
    opacity: 1;

    visibility: visible;

    transform: translateX(0);
}


.student-review blockquote {
    max-width: 800px;

    margin: 18px 0 30px;

    color: var(--white);

    font-family: var(--font-heading);

    font-size: clamp(2rem, 3.5vw, 3.4rem);

    font-weight: 500;

    line-height: 1.1;

    letter-spacing: -0.02em;
}


/* Author */

.student-testimonial-author {
    display: flex;

    align-items: center;

    gap: 14px;

    margin-top: auto;
}


.student-author-photo {
    width: 46px;
    height: 46px;

    overflow: hidden;

    border-radius: 50%;
}


.student-author-photo img {
    width: 100%;
    height: 100%;

    object-fit: cover;
}


.student-testimonial-author strong,
.student-testimonial-author span {
    display: block;
}


.student-testimonial-author strong {
    margin-bottom: 3px;

    color: var(--white);

    font-size: 12px;
}


.student-testimonial-author span {
    color: rgba(255, 255, 255, 0.48);

    font-size: 10px;

    letter-spacing: 0.08em;

    text-transform: uppercase;
}


/* Controls */

.student-review-controls {
    position: absolute;

    right: clamp(30px, 5vw, 65px);
    bottom: clamp(30px, 5vw, 55px);

    display: flex;

    align-items: center;

    gap: 14px;
}


.student-review-controls button {
    display: flex;

    align-items: center;
    justify-content: center;

    width: 42px;
    height: 42px;

    border: 1px solid rgba(255, 255, 255, 0.25);

    border-radius: 50%;

    background: transparent;

    color: var(--white);

    cursor: pointer;

    transition:
        background-color 0.3s var(--ease),
        border-color 0.3s var(--ease),
        color 0.3s var(--ease);
}


.student-review-controls button:hover {
    border-color: var(--secondary);

    background: var(--secondary);

    color: var(--dark);
}


.student-review-counter {
    display: flex;

    gap: 5px;

    color: rgba(255, 255, 255, 0.4);

    font-size: 10px;

    font-weight: 700;

    letter-spacing: 0.08em;
}


.student-review-current {
    color: var(--secondary);
}


.student-testimonial-quote {
    align-self: start;

    color: var(--secondary);

    font-family: var(--font-heading);

    font-size: 8rem;

    line-height: 0.65;
}


.student-testimonial-content blockquote {
    max-width: 800px;

    margin: 18px 0 30px;

    color: var(--white);

    font-family: var(--font-heading);

    font-size: clamp(2rem, 3.5vw, 3.4rem);

    font-weight: 500;

    line-height: 1.1;

    letter-spacing: -0.02em;
}


.student-testimonial-author {
    display: flex;

    align-items: center;

    gap: 14px;
}


.student-author-photo {
    width: 46px;
    height: 46px;

    overflow: hidden;

    border-radius: 50%;
}


.student-author-photo img {
    width: 100%;
    height: 100%;

    object-fit: cover;
}


.student-testimonial-author strong,
.student-testimonial-author span {
    display: block;
}


.student-testimonial-author strong {
    margin-bottom: 3px;

    color: var(--white);

    font-size: 12px;
}


.student-testimonial-author span {
    color: rgba(255, 255, 255, 0.48);

    font-size: 10px;

    letter-spacing: 0.08em;

    text-transform: uppercase;
}




/* =========================================================
   BOTTOM EXPERIENCE
========================================================= */

.student-bottom {
    display: grid;

    grid-template-columns: 0.75fr 1.25fr;

    gap: var(--space-xl);

    align-items: center;

    padding-top: var(--space-lg);

    border-top: 1px solid var(--border);
}


.student-bottom-label p {
    max-width: 460px;

    margin: 0;

    color: var(--muted);

    font-family: var(--font-heading);

    font-size: 1.4rem;

    line-height: 1.3;
}


.student-tags {
    display: flex;

    flex-wrap: wrap;

    justify-content: flex-end;

    gap: 10px;
}


.student-tags span {
    padding: 11px 17px;

    border: 1px solid var(--border);

    border-radius: var(--radius-pill);

    background: var(--white);

    color: var(--primary);

    font-size: 11px;

    font-weight: 700;

    letter-spacing: 0.04em;
}


/* =========================================================
   CTA
========================================================= */

.student-cta {
    display: flex;

    justify-content: flex-end;

    padding-top: var(--space-lg);
}


.student-cta .text-link {
    display: inline-flex;

    align-items: center;

    gap: 8px;

    color: var(--primary);

    font-size: 12px;

    font-weight: 700;

    letter-spacing: 0.06em;

    text-transform: uppercase;
}


.student-cta .text-link span {
    transition:
        transform 0.3s var(--ease);
}


.student-cta .text-link:hover {
    color: var(--secondary);
}


.student-cta .text-link:hover span {
    transform: translate(3px, -3px);
}


/* =========================================================
   RESPONSIVE
========================================================= */

@media (max-width: 1000px) {

    .student-header {
        grid-template-columns: 1fr;

        gap: var(--space-md);
    }

    .student-mosaic {
        grid-template-columns: 1.2fr 0.8fr;

        grid-template-rows: repeat(2, 230px);
    }

    .student-testimonial {
        grid-template-columns: 60px 1fr;
    }

    .student-testimonial-source {
        display: none;
    }

    .student-bottom {
        grid-template-columns: 1fr;

        gap: var(--space-md);
    }

    .student-tags {
        justify-content: flex-start;
    }

}


@media (max-width: 700px) {

    .student-mosaic {
        grid-template-columns: 1fr 1fr;

        grid-template-rows: 300px 180px;
    }

    .student-photo-large {
        grid-column: 1 / 3;
        grid-row: 1;
    }

    .student-testimonial {
        grid-template-columns: 1fr;

        padding: 36px 28px;
    }

    .student-testimonial-quote {
        font-size: 6rem;
    }

    .student-testimonial-content blockquote {
        font-size: 2rem;
    }

}


@media (max-width: 480px) {

    .student-mosaic {
        display: flex;

        flex-direction: column;

        gap: 12px;
    }

    .student-photo {
        height: 260px;
    }

    .student-photo-small {
        height: 210px;
    }

    .student-testimonial {
        padding: 32px 24px;
    }

    .student-testimonial-content blockquote {
        font-size: 1.8rem;
    }

    .student-bottom-label p {
        font-size: 1.25rem;
    }

    .student-tags span {
        padding: 9px 13px;
    }

}
/* ========================================
   CERTIFICATION / ACCREDITATION
======================================== */

.certification-section {
    background: var(--bg);
}

.certification-header {
    display: grid;
    grid-template-columns: 1.05fr 0.95fr;
    gap: var(--space-xl);
    align-items: end;
    margin-bottom: var(--space-xl);
}

.certification-heading h2 {
    max-width: 720px;
    margin-bottom: 0;
}

.certification-heading h2 em,
.certification-feature h3 em,
.certification-learning h3 em {
    font-style: italic;
    color: var(--secondary);
}

.certification-intro {
    max-width: 560px;
}

.certification-intro p {
    color: var(--muted);
}

.certification-intro .certification-lead {
    font-size: 1.15rem;
    line-height: 1.7;
    color: var(--text);
}


/* Main layout */

.certification-main {
    display: grid;
    grid-template-columns: 1.65fr 0.85fr;
    gap: 2px;
    overflow: hidden;
    border-radius: var(--radius);
    background: var(--border);
}


/* Featured accreditation */

.certification-feature {
    display: grid;
    grid-template-columns: 150px 1fr;
    gap: var(--space-lg);
    padding: clamp(40px, 5vw, 75px);
    background: var(--dark);
    color: var(--white);
}

.certification-mark {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 110px;
    height: 110px;
    border: 1px solid rgba(201, 162, 74, 0.5);
    border-radius: 50%;
}

.certification-mark span {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 76px;
    height: 76px;
    border-radius: 50%;
    background: var(--secondary);
    color: var(--dark);
    font-family: var(--font-heading);
    font-size: 2rem;
    font-weight: 600;
}

.certification-label {
    display: block;
    margin-bottom: 12px;
    color: var(--secondary);
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .16em;
    text-transform: uppercase;
}

.certification-feature h3 {
    max-width: 620px;
    margin-bottom: 22px;
    color: var(--white);
    font-size: clamp(2.4rem, 4vw, 4.2rem);
}

.certification-feature > .certification-feature-content > p {
    max-width: 680px;
    margin-bottom: var(--space-lg);
    color: rgba(255, 255, 255, .68);
}


/* Points */

.certification-points {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: var(--space-md);
    padding-top: var(--space-lg);
    border-top: 1px solid rgba(255, 255, 255, .12);
}

.certification-point span {
    display: block;
    margin-bottom: 14px;
    color: var(--secondary);
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .12em;
}

.certification-point strong {
    display: block;
    margin-bottom: 8px;
    color: var(--white);
    font-size: 14px;
}

.certification-point p {
    margin-bottom: 0;
    color: rgba(255, 255, 255, .5);
    font-size: 13px;
    line-height: 1.6;
}


/* Learning panel */

.certification-learning {
    padding: clamp(40px, 5vw, 60px);
    background: var(--bg-alt);
}

.certification-learning h3 {
    margin-bottom: 18px;
    font-size: clamp(2.3rem, 3.5vw, 3.5rem);
}

.certification-learning > p {
    max-width: 400px;
    margin-bottom: var(--space-lg);
    color: var(--muted);
}


/* Tags */

.certification-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 9px;
}

.certification-tags span {
    padding: 9px 14px;
    border: 1px solid var(--border);
    border-radius: var(--radius-pill);
    background: rgba(255, 255, 255, .55);
    color: var(--text);
    font-size: 11px;
    font-weight: 600;
}


/* Bottom journey */

.certification-bottom {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    margin-top: 2px;
    overflow: hidden;
    border-radius: 0 0 var(--radius) var(--radius);
    background: var(--dark);
}

.certification-bottom > div {
    display: flex;
    align-items: center;
    gap: 18px;
    min-height: 78px;
    padding: 0 28px;
    border-right: 1px solid rgba(255, 255, 255, .1);
}

.certification-bottom > div:last-child {
    border-right: 0;
}

.certification-bottom-number {
    color: var(--secondary);
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .1em;
}

.certification-bottom > div > span:last-child {
    color: rgba(255, 255, 255, .8);
    font-size: 12px;
    font-weight: 600;
    letter-spacing: .08em;
    text-transform: uppercase;
}


/* Responsive */

@media (max-width: 1000px) {

    .certification-header {
        grid-template-columns: 1fr;
        gap: var(--space-md);
    }

    .certification-main {
        grid-template-columns: 1fr;
    }

    .certification-feature {
        grid-template-columns: 110px 1fr;
    }

    .certification-points {
        grid-template-columns: 1fr;
    }

}


@media (max-width: 700px) {

    .certification-feature {
        grid-template-columns: 1fr;
        gap: var(--space-md);
    }

    .certification-mark {
        width: 90px;
        height: 90px;
    }

    .certification-mark span {
        width: 64px;
        height: 64px;
        font-size: 1.6rem;
    }

    .certification-bottom {
        grid-template-columns: repeat(2, 1fr);
    }

    .certification-bottom > div:nth-child(2) {
        border-right: 0;
    }

    .certification-bottom > div:nth-child(-n + 2) {
        border-bottom: 1px solid rgba(255, 255, 255, .1);
    }

}


@media (max-width: 480px) {

    .certification-bottom {
        grid-template-columns: 1fr;
    }

    .certification-bottom > div {
        border-right: 0;
        border-bottom: 1px solid rgba(255, 255, 255, .1);
    }

    .certification-bottom > div:last-child {
        border-bottom: 0;
    }

}
.certification-intro .certification-lead {
    font-size: 1.05rem;
    line-height: 1.7;
}

.certification-intro p {
    font-size: 14px;
}

.certification-feature > .certification-feature-content > p {
    font-size: 14px;
    line-height: 1.7;
}

.certification-point p {
    font-size: 12px;
    line-height: 1.65;
}

.certification-learning > p {
    font-size: 14px;
    line-height: 1.7;
}
/* ========================================
   ACCREDITATION LOGO BAND
======================================== */

.accreditation-band {
    padding-block: 30px;
    border-top: 1px solid var(--border);
    border-bottom: 1px solid var(--border);
    background: var(--bg);
}

.accreditation-band-inner {
    display: grid;
    grid-template-columns: 240px 1fr;
    align-items: center;
    gap: var(--space-lg);
}

.accreditation-band-label {
    padding-right: var(--space-md);
    border-right: 1px solid var(--border);
}

.accreditation-band-label .eyebrow {
    margin-bottom: 6px;
    color: var(--secondary);
    font-size: 10px;
}

.accreditation-band-label p {
    max-width: 190px;
    margin: 0;
    color: var(--muted);
    font-size: 11px;
    line-height: 1.5;
}


/* Logos */

.accreditation-logos {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    align-items: center;
    gap: 30px;
}

.accreditation-logo {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 62px;
    padding-inline: 10px;
}

.accreditation-logo img {
    display: block;
    width: auto;
    max-width: 125px;
    max-height: 125px;
    object-fit: contain;
    transition:
        filter .35s var(--ease),
        opacity .35s var(--ease),
        transform .35s var(--ease);
}

.accreditation-logo:hover img {
    filter: grayscale(0%);
    opacity: 1;
    transform: translateY(-2px);
}


/* Tablet */

@media (max-width: 1000px) {

    .accreditation-band-inner {
        grid-template-columns: 1fr;
        gap: var(--space-md);
    }

    .accreditation-band-label {
        padding-right: 0;
        padding-bottom: var(--space-md);
        border-right: 0;
        border-bottom: 1px solid var(--border);
    }

    .accreditation-band-label p {
        max-width: 100%;
    }

    .accreditation-logos {
        grid-template-columns: repeat(5, 1fr);
        gap: 15px;
    }

}


/* Mobile */

@media (max-width: 700px) {

    .accreditation-band {
        padding-block: 25px;
    }

    .accreditation-logos {
        grid-template-columns: repeat(3, 1fr);
        gap: 15px 10px;
    }

    .accreditation-logo {
        min-height: 55px;
    }

   

}


@media (max-width: 480px) {

  
/* ========================================
   ACCREDITATION LOGOS — MOBILE
======================================== */

@media (max-width: 480px) {

    .accreditation-logos {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        justify-items: center;
        align-items: center;
        gap: 20px 16px;
    }

    .accreditation-logo:last-child {
        grid-column: auto;
    }

    .accreditation-logo {
        display: flex;
        align-items: center;
        justify-content: center;
        width: 100%;
        min-height: 110px;
        padding: 8px;
    }

    .accreditation-logo img {
        display: block;
        width: 100px;
        height: 100px;
        max-width: 100%;
        object-fit: contain;
    }

}


}
/* ========================================
   UPCOMING COURSES
======================================== */

.upcoming-section {
    background: var(--bg-alt);
}

.upcoming-header {
    display: grid;
    grid-template-columns: 1fr .8fr;
    gap: var(--space-xl);
    align-items: end;
    margin-bottom: var(--space-xl);
}

.upcoming-heading h2 {
    max-width: 650px;
    margin-bottom: 0;
}

.upcoming-heading h2 em,
.upcoming-footer h3 em {
    font-style: italic;
    color: var(--secondary);
}

.upcoming-intro {
    max-width: 500px;
}

.upcoming-lead {
    margin-bottom: var(--space-md);
    font-size: 1.1rem;
    line-height: 1.7;
    color: var(--text);
}


/* Course list */

.upcoming-list {
    display: flex;
    flex-direction: column;
    gap: 16px;
}


/* Individual course */

.upcoming-course {
    display: grid;
    grid-template-columns: 70px 280px 1fr;
    min-height: 300px;
    overflow: hidden;
    background: var(--white);
    border-radius: var(--radius);
    transition:
        transform .4s var(--ease),
        box-shadow .4s var(--ease);
}

.upcoming-course:hover {
    transform: translateY(-4px);
    box-shadow: 0 18px 45px rgba(7, 26, 45, .08);
}


/* Number */

.upcoming-course-number {
    display: flex;
    align-items: flex-start;
    justify-content: center;
    padding-top: 38px;
    color: var(--secondary);
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .1em;
}


/* Image */

.upcoming-course-image {
    position: relative;
    min-height: 300px;
    overflow: hidden;
}

.upcoming-course-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .8s var(--ease);
}

.upcoming-course:hover .upcoming-course-image img {
    transform: scale(1.04);
}


/* Content */

.upcoming-course-content {
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 42px clamp(30px, 4vw, 60px);
}

.upcoming-course-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 8px 20px;
    margin-bottom: 14px;
}

.upcoming-course-meta span {
    color: var(--secondary);
    font-size: 10px;
    font-weight: 700;
    letter-spacing: .1em;
    text-transform: uppercase;
}

.upcoming-course-meta span:not(:last-child)::after {
    content: "·";
    margin-left: 20px;
    color: var(--border);
}

.upcoming-course h3 {
    margin-bottom: 15px;
    font-size: clamp(2rem, 3vw, 3rem);
}

.upcoming-course-content > p {
    max-width: 650px;
    margin-bottom: var(--space-md);
    color: var(--muted);
    font-size: 14px;
    line-height: 1.7;
}


/* Bottom */

.upcoming-course-bottom {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    margin-top: auto;
    padding-top: 20px;
    border-top: 1px solid var(--border);
}

.upcoming-status {
    color: var(--text);
    font-size: 10px;
    font-weight: 700;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.upcoming-status::before {
    content: "";
    display: inline-block;
    width: 7px;
    height: 7px;
    margin-right: 8px;
    border-radius: 50%;
    background: var(--secondary);
}


/* Footer CTA */

.upcoming-footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--space-lg);
    margin-top: var(--space-xl);
    padding: clamp(35px, 5vw, 60px);
    background: var(--dark);
    border-radius: var(--radius);
}

.upcoming-footer .eyebrow {
    margin-bottom: 10px;
}

.upcoming-footer h3 {
    margin-bottom: 0;
    color: var(--white);
    font-size: clamp(2rem, 3vw, 3.2rem);
}


/* ========================================
   RESPONSIVE
======================================== */

@media (max-width: 1000px) {

    .upcoming-header {
        grid-template-columns: 1fr;
        gap: var(--space-md);
    }

    .upcoming-course {
        grid-template-columns: 55px 240px 1fr;
    }

}


@media (max-width: 800px) {

    .upcoming-course {
        grid-template-columns: 55px 200px 1fr;
    }

    .upcoming-course-content {
        padding: 30px;
    }

    .upcoming-footer {
        flex-direction: column;
        align-items: flex-start;
    }

}


@media (max-width: 700px) {

    .upcoming-course {
        grid-template-columns: 1fr;
    }

    .upcoming-course-number {
        position: absolute;
        z-index: 2;
        width: 42px;
        height: 42px;
        padding: 0;
        align-items: center;
        background: var(--dark);
        color: var(--secondary);
    }

    .upcoming-course-image {
        min-height: 260px;
    }

    .upcoming-course-content {
        padding: 30px;
    }

    .upcoming-course-bottom {
        align-items: flex-start;
        flex-direction: column;
    }

}


@media (max-width: 480px) {

    .upcoming-course-image {
        min-height: 230px;
    }

    .upcoming-course-content {
        padding: 25px;
    }

    .upcoming-course-meta {
        gap: 6px 12px;
    }

    .upcoming-course-meta span:not(:last-child)::after {
        margin-left: 12px;
    }

}
/* ========================================
   RISHIKESH / DESTINATION
======================================== */

.destination-section {
    background: var(--bg);
}


/* Intro */

.destination-intro {
    max-width: 900px;
    margin-bottom: var(--space-xl);
}

.destination-intro h2 {
    max-width: 850px;
    margin-bottom: 25px;
    font-size: clamp(3.5rem, 7vw, 7rem);
}

.destination-intro h2 em {
    font-style: italic;
    color: var(--secondary);
}

.destination-intro > p {
    max-width: 620px;
    margin-bottom: 0;
    color: var(--muted);
    font-size: clamp(1.05rem, 1.4vw, 1.25rem);
    line-height: 1.7;
}


/* Cinematic image */

.destination-visual {
    position: relative;
    min-height: 680px;
    overflow: hidden;
    border-radius: var(--radius);
    background: var(--dark);
}

.destination-visual img {
    width: 100%;
    height: 680px;
    
    object-position: center;
    transition: transform 1.2s var(--ease);
}

.destination-visual:hover img {
    transform: scale(1.025);
}


/* Image overlay */

.destination-overlay {
    position: absolute;
    inset: 0;
    background:
        linear-gradient(
            180deg,
            rgba(7, 26, 45, .05) 20%,
            rgba(7, 26, 45, .18) 45%,
            rgba(7, 26, 45, .78) 100%
        );
}


/* Image caption */

.destination-image-caption {
    position: absolute;
    left: clamp(30px, 5vw, 70px);
    bottom: clamp(35px, 5vw, 65px);
    max-width: 650px;
}

.destination-image-caption span {
    display: block;
    margin-bottom: 12px;
    color: var(--secondary);
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .18em;
    text-transform: uppercase;
}

.destination-image-caption strong {
    display: block;
    color: var(--white);
    font-family: var(--font-heading);
    font-size: clamp(3rem, 6vw, 6.5rem);
    font-weight: 500;
    line-height: .95;
    letter-spacing: -.03em;
}


/* Location marker */

.destination-location-mark {
    position: absolute;
    top: 35px;
    right: 35px;
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 10px 15px;
    border: 1px solid rgba(255, 255, 255, .2);
    border-radius: var(--radius-pill);
    background: rgba(7, 26, 45, .45);
    backdrop-filter: blur(8px);
    color: var(--white);
    font-size: 10px;
    font-weight: 700;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.destination-pin {
    width: 8px;
    height: 8px;
    border: 2px solid var(--secondary);
    border-radius: 50%;
}


/* Story */

.destination-bottom {
    display: grid;
    grid-template-columns: .85fr 1.15fr;
    gap: var(--space-xl);
    padding-block: var(--space-xxl);
}

.destination-story {
    max-width: 600px;
}

.destination-story h3 {
    margin-bottom: 25px;
    font-size: clamp(2.5rem, 4vw, 4rem);
}

.destination-story h3 em {
    font-style: italic;
    color: var(--secondary);
}

.destination-story p {
    max-width: 520px;
    margin-bottom: 0;
    color: var(--muted);
    font-size: 15px;
    line-height: 1.8;
}


/* Experience grid */

.destination-experiences {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    align-content: start;
    gap: 1px;
    overflow: hidden;
    border: 1px solid var(--border);
    background: var(--border);
    border-radius: var(--radius);
}

.destination-experience {
    min-height: 180px;
    padding: 30px;
    background: var(--bg-alt);
}

.destination-experience span {
    display: block;
    margin-bottom: 28px;
    color: var(--secondary);
    font-size: 10px;
    font-weight: 700;
    letter-spacing: .1em;
}

.destination-experience strong {
    display: block;
    margin-bottom: 7px;
    color: var(--primary);
    font-family: var(--font-heading);
    font-size: 1.8rem;
    font-weight: 600;
}

.destination-experience p {
    margin-bottom: 0;
    color: var(--muted);
    font-size: 12px;
    line-height: 1.6;
}


/* Address */

.destination-address {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--space-xl);
    padding: clamp(35px, 5vw, 55px);
    border-radius: var(--radius);
    background: var(--dark);
}

.destination-address-content h3 {
    margin-bottom: 18px;
    color: var(--white);
    font-size: clamp(2.2rem, 3.5vw, 3.5rem);
}

.destination-address-content h3 em {
    font-style: italic;
    color: var(--secondary);
}

.destination-address address {
    margin: 0;
    color: rgba(255, 255, 255, .58);
    font-size: 13px;
    font-style: normal;
    line-height: 1.8;
}

.destination-address .btn {
    flex-shrink: 0;
}


/* ========================================
   RESPONSIVE
======================================== */

@media (max-width: 1000px) {

    .destination-intro {
        max-width: 750px;
    }

    .destination-visual,
    .destination-visual img {
        min-height: 560px;
        height: 560px;
    }

    .destination-bottom {
        grid-template-columns: 1fr;
        gap: var(--space-lg);
        padding-block: var(--space-xl);
    }

}


@media (max-width: 700px) {

    .destination-intro h2 {
        font-size: clamp(3rem, 12vw, 5rem);
    }

    .destination-visual,
    .destination-visual img {
        min-height: 500px;
        height: 500px;
    }

    .destination-image-caption {
        left: 25px;
        bottom: 30px;
    }

    .destination-image-caption strong {
        font-size: clamp(2.8rem, 11vw, 4.5rem);
    }

    .destination-location-mark {
        top: 20px;
        right: 20px;
    }

    .destination-experiences {
        grid-template-columns: 1fr;
    }

    .destination-experience {
        min-height: auto;
    }

    .destination-address {
        align-items: flex-start;
        flex-direction: column;
        gap: var(--space-md);
    }

}


@media (max-width: 480px) {

    .destination-visual,
    .destination-visual img {
        min-height: 440px;
        height: 440px;
    }

    .destination-location-mark {
        max-width: calc(100% - 40px);
    }

    .destination-address {
        padding: 30px 25px;
    }

}
/* ========================================
   FAQ
======================================== */

.faq-section {
    background: var(--bg-alt);
}

.faq-layout {
    display: grid;
    grid-template-columns: .7fr 1.3fr;
    gap: var(--space-xxl);
    align-items: start;
}


/* Intro */

.faq-intro {
    position: sticky;
    top: 100px;
    max-width: 430px;
}

.faq-intro h2 {
    margin-bottom: 25px;
    font-size: clamp(3rem, 5vw, 5rem);
}

.faq-intro h2 em {
    font-style: italic;
    color: var(--secondary);
}

.faq-intro > p {
    max-width: 380px;
    margin-bottom: var(--space-md);
    color: var(--muted);
    font-size: 15px;
    line-height: 1.8;
}


/* FAQ list */

.faq-list {
    border-top: 1px solid var(--border);
}


/* Individual item */

.faq-item {
    border-bottom: 1px solid var(--border);
}


/* Summary */

.faq-item summary {
    display: grid;
    grid-template-columns: 45px 1fr 35px;
    align-items: center;
    gap: 20px;
    min-height: 105px;
    cursor: pointer;
    list-style: none;
    user-select: none;
}

.faq-item summary::-webkit-details-marker {
    display: none;
}

.faq-item summary::marker {
    display: none;
}


/* Number */

.faq-number {
    color: var(--secondary);
    font-size: 10px;
    font-weight: 700;
    letter-spacing: .1em;
}


/* Question */

.faq-question {
    color: var(--primary);
    font-family: var(--font-heading);
    font-size: clamp(1.5rem, 2.3vw, 2.2rem);
    font-weight: 600;
    line-height: 1.15;
    transition: color .3s var(--ease);
}

.faq-item summary:hover .faq-question {
    color: var(--secondary);
}


/* Icon */

.faq-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    border: 1px solid var(--border);
    border-radius: 50%;
    color: var(--primary);
    font-family: var(--font-body);
    font-size: 18px;
    font-weight: 400;
    line-height: 1;
    transition:
        transform .35s var(--ease),
        background-color .35s var(--ease),
        color .35s var(--ease),
        border-color .35s var(--ease);
}


/* Open state */

.faq-item[open] .faq-icon {
    transform: rotate(45deg);
    border-color: var(--secondary);
    background: var(--secondary);
    color: var(--dark);
}


/* Answer */

.faq-answer {
    padding: 0 55px 30px 65px;
}

.faq-answer p {
    max-width: 650px;
    margin: 0;
    color: var(--muted);
    font-size: 14px;
    line-height: 1.8;
}


/* ========================================
   RESPONSIVE
======================================== */

@media (max-width: 1000px) {

    .faq-layout {
        grid-template-columns: 1fr;
        gap: var(--space-xl);
    }

    .faq-intro {
        position: static;
        max-width: 650px;
    }

}


@media (max-width: 700px) {

    .faq-item summary {
        grid-template-columns: 30px 1fr 32px;
        gap: 12px;
        min-height: 90px;
    }

    .faq-question {
        font-size: 1.5rem;
    }

    .faq-answer {
        padding: 0 45px 25px 42px;
    }

}


@media (max-width: 480px) {

    .faq-item summary {
        grid-template-columns: 25px 1fr 30px;
        gap: 10px;
    }

    .faq-question {
        font-size: 1.35rem;
    }

    .faq-answer {
        padding: 0 40px 25px 35px;
    }

}
/* ========================================
   JOURNAL / KNOWLEDGE
======================================== */

.journal-section {
    background: var(--bg);
}


/* Header */

.journal-header {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: var(--space-xl);
    margin-bottom: var(--space-xl);
}

.journal-header h2 {
    max-width: 720px;
    margin-bottom: 0;
}

.journal-header h2 em {
    font-style: italic;
    color: var(--secondary);
}

.journal-header-right {
    max-width: 430px;
}

.journal-header-right p {
    margin-bottom: var(--space-md);
    color: var(--muted);
    font-size: 14px;
    line-height: 1.7;
}


/* Main grid */

.journal-grid {
    display: grid;
    grid-template-columns: 1.35fr .65fr;
    gap: var(--space-lg);
}


/* Featured */

.journal-featured {
    display: grid;
    grid-template-columns: 1fr;
    overflow: hidden;
    border-radius: var(--radius);
    background: var(--dark);
}

.journal-featured-image {
    position: relative;
    display: block;
    height: 480px;
    overflow: hidden;
}

.journal-featured-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .8s var(--ease);
}

.journal-featured:hover .journal-featured-image img {
    transform: scale(1.035);
}


/* Image category */

.journal-category {
    position: absolute;
    left: 25px;
    bottom: 25px;
    padding: 8px 13px;
    border: 1px solid rgba(255,255,255,.2);
    border-radius: var(--radius-pill);
    background: rgba(7,26,45,.55);
    backdrop-filter: blur(8px);
    color: var(--white);
    font-size: 9px;
    font-weight: 700;
    letter-spacing: .12em;
    text-transform: uppercase;
}


/* Featured content */

.journal-featured-content {
    padding: clamp(30px, 4vw, 50px);
}

.journal-date {
    display: block;
    margin-bottom: 12px;
    color: var(--secondary);
    font-size: 10px;
    font-weight: 700;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.journal-featured-content h3 {
    max-width: 700px;
    margin-bottom: 18px;
    color: var(--white);
    font-size: clamp(2.2rem, 3.5vw, 3.6rem);
}

.journal-featured-content h3 em {
    font-style: italic;
    color: var(--secondary);
}

.journal-featured-content p {
    max-width: 650px;
    margin-bottom: var(--space-md);
    color: rgba(255,255,255,.58);
    font-size: 14px;
    line-height: 1.75;
}

.journal-featured-content .text-link {
    color: var(--white);
}


/* Secondary */

.journal-secondary {
    display: flex;
    flex-direction: column;
    gap: var(--space-lg);
}

.journal-card {
    display: grid;
    grid-template-columns: 180px 1fr;
    min-height: 250px;
    overflow: hidden;
    border: 1px solid var(--border);
    border-radius: var(--radius);
    background: var(--bg-alt);
}

.journal-card-image {
    position: relative;
    display: block;
    min-height: 250px;
    overflow: hidden;
}

.journal-card-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .7s var(--ease);
}

.journal-card:hover .journal-card-image img {
    transform: scale(1.04);
}

.journal-card-image .journal-category {
    top: 15px;
    left: 15px;
    bottom: auto;
    padding: 6px 9px;
    font-size: 8px;
}


/* Card content */

.journal-card-content {
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 25px;
}

.journal-card-content h3 {
    margin-bottom: 10px;
    font-size: clamp(1.5rem, 2vw, 2rem);
    line-height: 1.05;
}

.journal-card-content p {
    margin-bottom: 15px;
    color: var(--muted);
    font-size: 12px;
    line-height: 1.65;
}


/* Bottom */

.journal-bottom {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--space-md);
    margin-top: var(--space-lg);
    padding-top: 25px;
    border-top: 1px solid var(--border);
}

.journal-bottom > span {
    color: var(--muted);
    font-size: 10px;
    font-weight: 700;
    letter-spacing: .12em;
    text-transform: uppercase;
}


/* ========================================
   RESPONSIVE
======================================== */

@media (max-width: 1000px) {

    .journal-header {
        align-items: flex-start;
        flex-direction: column;
        gap: var(--space-md);
    }

    .journal-grid {
        grid-template-columns: 1fr;
    }

    .journal-secondary {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
    }

    .journal-card {
        grid-template-columns: 1fr;
    }

    .journal-card-image {
        min-height: 230px;
    }

}


@media (max-width: 700px) {

    .journal-featured-image {
        height: 360px;
    }

    .journal-secondary {
        grid-template-columns: 1fr;
    }

    .journal-card {
        grid-template-columns: 150px 1fr;
    }

    .journal-card-image {
        min-height: 220px;
    }

    .journal-bottom {
        align-items: flex-start;
        flex-direction: column;
    }

}


@media (max-width: 480px) {

    .journal-featured-image {
        height: 300px;
    }

    .journal-card {
        grid-template-columns: 1fr;
    }

    .journal-card-image {
        min-height: 220px;
    }

    .journal-card-content {
        padding: 25px;
    }

}
/* ========================================
   FINAL CTA
======================================== */

.final-cta-section {
    position: relative;
    min-height: 720px;
    display: flex;
    align-items: center;
    overflow: hidden;
    background: var(--dark);
}


/* Background image */

.final-cta-image {
    position: absolute;
    inset: 0;
}

.final-cta-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}


/* Overlay */

.final-cta-overlay {
    position: absolute;
    inset: 0;
    background:
        linear-gradient(
            90deg,
            rgba(7, 26, 45, .92) 0%,
            rgba(7, 26, 45, .72) 45%,
            rgba(7, 26, 45, .25) 100%
        );
}


/* Content */

.final-cta-section .container-custom {
    position: relative;
    z-index: 2;
    width: min(calc(100% - 40px), var(--container));
}

.final-cta-content {
    max-width: 850px;
    padding-block: var(--space-xxl);
}

.final-cta-content .eyebrow {
    margin-bottom: 20px;
}

.final-cta-content h2 {
    max-width: 850px;
    margin-bottom: 28px;
    color: var(--white);
    font-size: clamp(4rem, 8vw, 8rem);
    font-weight: 500;
    line-height: .9;
    letter-spacing: -.035em;
}

.final-cta-content h2 em {
    display: block;
    font-style: italic;
    color: var(--secondary);
}

.final-cta-content > p {
    max-width: 570px;
    margin-bottom: var(--space-lg);
    color: rgba(255, 255, 255, .7);
    font-size: clamp(1.05rem, 1.4vw, 1.25rem);
    line-height: 1.7;
}


/* Actions */

.final-cta-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
}

.btn-light {
    color: var(--white);
    background: transparent;
    border-color: rgba(255, 255, 255, .45);
}

.btn-light:hover {
    color: var(--primary);
    background: var(--white);
    border-color: var(--white);
    transform: translateY(-2px);
}


/* ========================================
   RESPONSIVE
======================================== */

@media (max-width: 700px) {

    .final-cta-section {
        min-height: 620px;
    }

    .final-cta-overlay {
        background:
            linear-gradient(
                180deg,
                rgba(7, 26, 45, .65) 0%,
                rgba(7, 26, 45, .9) 100%
            );
    }

    .final-cta-content {
        padding-block: var(--space-xl);
    }

    .final-cta-content h2 {
        font-size: clamp(3.4rem, 13vw, 5.5rem);
    }

}


@media (max-width: 480px) {

    .final-cta-section {
        min-height: 580px;
    }

    .final-cta-content h2 {
        font-size: clamp(3rem, 14vw, 4.5rem);
    }

    .final-cta-actions {
        flex-direction: column;
        align-items: stretch;
    }

    .final-cta-actions .btn {
        width: 100%;
    }

}
/* ========================================
   FOOTER
======================================== */

.site-footer {
    background: var(--dark);
    color: var(--white);
}


/* Main */

.footer-main {
    display: grid;
    grid-template-columns: 1.4fr .8fr .8fr 1fr;
    gap: var(--space-xl);
    padding-block: var(--space-xxl);
}


/* Brand */

.footer-brand {
    max-width: 380px;
}

.footer-logo {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 25px;
}

.footer-logo-mark {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 48px;
    height: 48px;
    border: 1px solid var(--secondary);
    border-radius: 50%;
    color: var(--secondary);
    font-family: var(--font-heading);
    font-size: 25px;
}

.footer-logo-text {
    display: flex;
    flex-direction: column;
    line-height: 1;
}

.footer-logo-text strong {
    color: var(--white);
    font-size: 15px;
    letter-spacing: .08em;
}

.footer-logo-text small {
    margin-top: 5px;
    color: var(--secondary);
    font-size: 8px;
    font-weight: 700;
    letter-spacing: .16em;
}

.footer-brand > p {
    margin-bottom: 20px;
    color: rgba(255,255,255,.5);
    font-size: 13px;
    line-height: 1.8;
}

.footer-brand-link {
    color: var(--white);
}


/* Columns */

.footer-column h3 {
    margin-bottom: 22px;
    color: var(--white);
    font-family: var(--font-body);
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .14em;
    text-transform: uppercase;
}

.footer-column ul {
    margin: 0;
    padding: 0;
    list-style: none;
}

.footer-column li {
    margin-bottom: 11px;
}

.footer-column li a {
    color: rgba(255,255,255,.5);
    font-size: 12px;
    transition:
        color .3s var(--ease),
        padding-left .3s var(--ease);
}

.footer-column li a:hover {
    padding-left: 4px;
    color: var(--secondary);
}


/* Contact */

.footer-contact address {
    margin-bottom: 18px;
    color: rgba(255,255,255,.5);
    font-size: 12px;
    font-style: normal;
    line-height: 1.8;
}

.footer-contact-link {
    display: inline-block;
    margin-bottom: 25px;
    color: var(--secondary);
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.footer-socials {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.footer-socials a {
    padding: 8px 12px;
    border: 1px solid rgba(255,255,255,.15);
    border-radius: var(--radius-pill);
    color: rgba(255,255,255,.55);
    font-size: 9px;
    font-weight: 700;
    letter-spacing: .08em;
    text-transform: uppercase;
    transition:
        background-color .3s var(--ease),
        color .3s var(--ease),
        border-color .3s var(--ease);
}

.footer-socials a:hover {
    border-color: var(--secondary);
    background: var(--secondary);
    color: var(--dark);
}


/* Footer CTA */

.footer-cta {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--space-xl);
    padding-block: 45px;
    border-top: 1px solid rgba(255,255,255,.12);
    border-bottom: 1px solid rgba(255,255,255,.12);
}

.footer-cta h2 {
    margin-bottom: 0;
    color: var(--white);
    font-size: clamp(2.5rem, 4vw, 4.5rem);
}

.footer-cta h2 em {
    font-style: italic;
    color: var(--secondary);
}


/* Bottom */

.footer-bottom {
    display: grid;
    grid-template-columns: 1fr auto 1fr;
    align-items: center;
    gap: 25px;
    min-height: 90px;
}

.footer-copyright,
.footer-legal,
.footer-credit {
    color: rgba(255,255,255,.35);
    font-size: 9px;
    letter-spacing: .04em;
}

.footer-legal {
    display: flex;
    gap: 20px;
}

.footer-legal a {
    transition: color .3s var(--ease);
}

.footer-legal a:hover {
    color: var(--secondary);
}

.footer-credit {
    text-align: right;
}


/* ========================================
   RESPONSIVE
======================================== */

@media (max-width: 1000px) {

    .footer-main {
        grid-template-columns: repeat(2, 1fr);
        gap: var(--space-lg);
    }

    .footer-brand {
        max-width: 500px;
    }

    .footer-bottom {
        grid-template-columns: 1fr 1fr;
        padding-block: 25px;
    }

    .footer-credit {
        text-align: left;
    }

}


@media (max-width: 700px) {

    .footer-main {
        grid-template-columns: 1fr;
        padding-block: var(--space-xl);
    }

    .footer-brand {
        max-width: 100%;
    }

    .footer-cta {
        align-items: flex-start;
        flex-direction: column;
        gap: var(--space-md);
        padding-block: 40px;
    }

    .footer-bottom {
        grid-template-columns: 1fr;
        gap: 15px;
        padding-block: 25px;
    }

    .footer-credit {
        text-align: left;
    }

}


@media (max-width: 480px) {

    .footer-legal {
        flex-direction: column;
        gap: 8px;
    }

}
/* =========================================
   REVIEW TRUST
========================================= */


/* ========================================
   REVIEW TRUST STRIP
======================================== */

.review-trust {
    display: flex;
    align-items: center;
    width: 100%;
    max-width: 1300px;
    margin: 2.5rem 0 3rem;
    padding: 1.25rem 1.5rem;
    background: var(--white);
    border: 1px solid var(--border);
    border-radius: var(--radius);
    box-shadow: 0 8px 30px rgba(7, 26, 45, 0.04);
}

/* Individual platform */
.review-platform {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    flex: 1 1 0;
    min-width: 0;
    gap: 2rem;
    padding: 0.5rem 1.25rem;
}

/* Logo + platform details */
.review-platform-brand {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    min-width: 0;
}

.review-platform-logo {
    display: block;
    width: 36px;
    height: 36px;
    flex: 0 0 36px;
    object-fit: contain;
}

.review-platform-info {
    display: flex;
    flex-direction: column;
    gap: 3px;
    min-width: 0;
}

.review-platform-info strong {
    color: var(--dark);
    font-family: var(--font-body);
    font-size: 14px;
    font-weight: 600;
    line-height: 1.35;
    white-space: nowrap;
}

.review-platform-info span {
    color: var(--muted);
    font-size: 12px;
    line-height: 1.4;
}

/* Rating + stars */
.review-platform-rating {
    display: flex;
    align-items: center;
    gap: 0.65rem;
    flex-shrink: 0;
    margin-left: auto;
    padding-right: 1rem;
}

.review-score {
    color: var(--primary);
    font-family: var(--font-heading);
    font-size: 25px;
    font-weight: 600;
    line-height: 1;
}

.review-stars {
    color: var(--secondary);
    font-size: 14px;
    letter-spacing: 1px;
    line-height: 1;
    white-space: nowrap;
}

/* Center separator */
.review-trust-separator {
    width: 1px;
    align-self: stretch;
    flex: 0 0 1px;
    margin: 0 1rem;
    background: var(--border);
}

/* ========================================
   TABLET
======================================== */

@media (max-width: 900px) {
    .review-trust {
        padding: 1rem;
    }

    .review-platform {
        gap: 0.75rem;
        padding: 0.5rem 0.65rem;
    }

    .review-platform-brand {
        gap: 0.5rem;
    }

    .review-platform-logo {
        width: 32px;
        height: 32px;
        flex-basis: 32px;
    }

    .review-platform-info strong {
        font-size: 13px;
    }

    .review-platform-info span {
        font-size: 11px;
    }

    .review-platform-rating {
        gap: 0.4rem;
        padding-right: 0.25rem;
    }

    .review-score {
        font-size: 22px;
    }

    .review-stars {
        font-size: 12px;
        letter-spacing: 0;
    }
}

/* ========================================
   MOBILE
======================================== */

@media (max-width: 600px) {
    .review-trust {
        flex-direction: column;
        align-items: stretch;
        gap: 0;
        margin: 1.5rem 0 2rem;
        padding: 0.75rem;
    }

    .review-platform {
        width: 100%;
        flex: 1 1 auto;
        justify-content: space-between;
        gap: 0.5rem;
        padding: 0.85rem 0.5rem;
    }

    .review-platform-brand {
        gap: 0.6rem;
    }

    .review-platform-logo {
        width: 32px;
        height: 32px;
        flex-basis: 32px;
    }

    .review-platform-info strong {
        font-size: 13px;
    }

    .review-platform-info span {
        font-size: 11px;
    }

    .review-platform-rating {
        gap: 0.4rem;
        margin-left: 0.5rem;
        padding-right: 0;
    }

    .review-score {
        font-size: 22px;
    }

    .review-stars {
        font-size: 12px;
    }

    .review-trust-separator {
        width: 100%;
        height: 1px;
        flex: 0 0 1px;
        margin: 0;
    }
}

/* ========================================
   SMALL MOBILE
======================================== */

@media (max-width: 380px) {
    .review-trust {
        padding: 0.5rem;
    }

    .review-platform {
        padding: 0.75rem 0.25rem;
    }

    .review-platform-logo {
        width: 28px;
        height: 28px;
        flex-basis: 28px;
    }

    .review-platform-brand {
        gap: 0.4rem;
    }

    .review-platform-info strong {
        font-size: 12px;
    }

    .review-platform-info span {
        font-size: 10px;
    }

    .review-platform-rating {
        gap: 0.3rem;
    }

    .review-score {
        font-size: 20px;
    }

    .review-stars {
        font-size: 10px;
        letter-spacing: 0;
    }
}



/* =========================================
   PLATFORM
========================================= */

.review-platform {
    display: flex;
    align-items: center;
    gap: 1.75rem;
}


/* =========================================
   PLATFORM BRAND
========================================= */

.review-platform-brand {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    min-width: 0;
}


/* =========================================
   PLATFORM LOGO
========================================= */

.review-platform-logo {
    display: block;

    width: 34px !important;
    height: 34px !important;

    max-width: 34px !important;
    max-height: 34px !important;

    object-fit: contain;
    flex: 0 0 34px;
}


/* =========================================
   PLATFORM TEXT
========================================= */

.review-platform-brand > div {
    display: flex;
    flex-direction: column;
    gap: 0.15rem;
    min-width: 0;
}

.review-platform-brand strong {
    font-family: var(--font-body);
    font-size: 0.78rem;
    font-weight: 700;
    line-height: 1.2;
    color: var(--text);
}

.review-platform-brand span {
    font-family: var(--font-body);
    font-size: 0.7rem;
    line-height: 1.2;
    color: var(--muted);
}


/* =========================================
   RATING
========================================= */

.review-platform-rating {
    display: flex;
    align-items: center;
    gap: 0.6rem;
}

.review-platform-rating > span:first-child {
    font-family: var(--font-heading);
    font-size: 1.65rem;
    line-height: 1;
    color: var(--primary);
}

.review-stars {
    font-family: Arial, sans-serif;
    font-size: 0.78rem;
    letter-spacing: 0.08em;
    color: var(--secondary);
    white-space: nowrap;
}


/* =========================================
   SEPARATOR
========================================= */

.review-trust-separator {
    width: 1px;
    height: 42px;

    margin: 0 1.75rem;

    background: var(--border);
}


/* =========================================
   MOBILE
========================================= */

@media (max-width: 767px) {

    .review-trust {
        width: 100%;

        flex-direction: column;
        align-items: stretch;

        gap: 1.25rem;

        margin: 2rem 0 3rem;
        padding: 1.25rem;
    }


    .review-platform {
        justify-content: space-between;
        gap: 1rem;
    }


    .review-platform-brand {
        gap: 0.65rem;
    }


    .review-platform-rating {
        flex-shrink: 0;
    }


    .review-trust-separator {
        width: 100%;
        height: 1px;

        margin: 0;

        background: var(--border);
    }


    .review-platform-logo {
        width: 30px !important;
        height: 30px !important;

        max-width: 30px !important;
        max-height: 30px !important;

        flex-basis: 30px;
    }

}
.certification-registration {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    margin-top: 1.25rem;
}

.certification-registration strong {
    font-size: 0.72rem;
    letter-spacing: 0.08em;
    color: var(--secondary);
}

.certification-registration span {
    font-size: 0.7rem;
    color: rgba(255, 255, 255, 0.55);
}

@media (max-width: 767px) {
    .certification-registration {
        flex-direction: column;
        align-items: flex-start;
        gap: 0.35rem;
    }
}

/* Upcoming Courses — full-width image column */
.upcoming-course {
    grid-template-columns: 280px minmax(0, 1fr);
}

.upcoming-course-number {
    display: none;
}

.upcoming-course-image {
    width: 100%;
    height: 100%;
    min-height: 280px;
    overflow: hidden;
}

.upcoming-course-image img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* Mobile */
@media (max-width: 768px) {
    .upcoming-course {
        grid-template-columns: 1fr;
    }

    .upcoming-course-image {
        height: 240px;
        min-height: 0;
    }
}

/* Floating WhatsApp button */
.whatsapp-float {
    position: fixed;
    right: 24px;
    bottom: 24px;
    z-index: 1000;

    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;

    padding: 14px 20px;
    border-radius: var(--radius-pill);

    background: #25D366;
    color: #FFFFFF;

    font-family: var(--font-body);
    font-size: 14px;
    font-weight: 700;
    text-decoration: none;

    box-shadow: 0 8px 24px rgba(7, 26, 45, 0.18);
    transition:
        transform 0.25s var(--ease),
        box-shadow 0.25s var(--ease);
}

.whatsapp-float:hover {
    transform: translateY(-3px);
    box-shadow: 0 12px 28px rgba(7, 26, 45, 0.22);
}

.whatsapp-float:focus-visible {
    outline: 3px solid var(--primary);
    outline-offset: 4px;
}

.whatsapp-float svg {
    flex-shrink: 0;
}

@media (max-width: 600px) {
    .whatsapp-float {
        right: 16px;
        bottom: 16px;
        padding: 14px;
    }

    .whatsapp-float span {
        display: none;
    }
}

/* Smart hide-on-scroll header */
.site-header {
    position: sticky;
    top: 0;
    z-index: 1000;
    transform: translateY(0);
    transition: transform 0.35s var(--ease);
    will-change: transform;
}

.site-header.header-hidden {
    transform: translateY(-105%);
}

/* Keep the open mobile menu above page content */
.mobile-menu {
   
    z-index: 999;
}

/* ========================================
   ACCREDITATION LOGOS — MOBILE FIX
======================================== */

@media (max-width: 480px) {

    .accreditation-logos {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        justify-items: center;
        align-items: center;
        gap: 20px 16px;
    }

    .accreditation-logo:last-child {
        grid-column: auto;
    }

    .accreditation-logo {
        display: flex;
        align-items: center;
        justify-content: center;
        width: 100%;
        min-height: 110px;
        padding: 8px;
    }

    .accreditation-logo img {
        display: block;
        width: 100px !important;
        height: 100px !important;
        max-width: 100%;
        max-height: none !important;
        object-fit: contain;
    }
}

/* =========================================
   200 HOUR COURSE HERO
   Uses the existing global design system
========================================= */

.course-hero {
    background-position:center;
  background-repeat: no-repeat;
    background-size: cover;
    object-fit: cover;
    position: relative;
    overflow: hidden;
    padding: 76px 0 84px;
    /* background: var(--bg); */
    color: var(--text);
}

/* Container */

.course-hero .container-custom {
    width: 100%;
    max-width: var(--container);
    margin-right: auto;
    margin-left: auto;
    padding-right: 24px;
    padding-left: 24px;
    box-sizing: border-box;
}

/* Main Grid */

.course-hero__container {
    display: grid;
    grid-template-columns: minmax(0, 1.08fr) minmax(0, 0.92fr);
    align-items: center;
    gap: clamp(36px, 5vw, 72px);
}

.course-hero__content {
    min-width: 0;
        padding: 40px;
    border-radius: 15px;
    background-color: var(--white);
        border-left: 3px solid var(--secondary);
    border-top: 3px solid var(--secondary);
    box-shadow:
        0 20px 60px rgba(7, 26, 45, 0.16),
        0 4px 16px rgba(7, 26, 45, 0.08);
}

/* Eyebrow */

.course-hero__eyebrow {
    margin: 0 0 20px;
    color: var(--secondary);
    font-family: var(--font-body);
    font-size: 0.76rem;
    font-weight: 700;
    letter-spacing: 0.14em;
    line-height: 1.7;
    text-transform: uppercase;
}

/* Heading */

.course-hero__title {
    max-width: 680px;
    margin: 0 0 24px;
    color: var(--primary);
    font-family: var(--font-heading);
    font-size: clamp(2.8rem, 4.2vw, 4.25rem);
    font-weight: 600;
    line-height: 1.08;
    letter-spacing: -0.035em;
}

/* Description */

.course-hero__description {
    max-width: 620px;
    margin: 0 0 30px;
    color: var(--muted);
    font-family: var(--font-body);
    font-size: 1rem;
    font-weight: 400;
    line-height: 1.9;
}

/* Course Facts */

.course-hero__facts {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    margin: 0 0 12px;
    padding: 22px 0;
    border-top: 1px solid var(--border);
    border-bottom: 1px solid var(--border);
}

.course-hero__fact {
    display: flex;
    min-width: 0;
    flex-direction: column;
    align-items: flex-start;
    gap: 7px;
    padding: 0 15px;
    border-right: 1px solid var(--border);
}

.course-hero__fact:first-child {
    padding-left: 0;
}

.course-hero__fact:last-child {
    padding-right: 0;
    border-right: 0;
}

.course-hero__fact-label {
    color: var(--muted);
    font-family: var(--font-body);
    font-size: 0.76rem;
    font-weight: 500;
    line-height: 1.5;
}

.course-hero__fact strong {
    color: var(--primary);
    font-family: var(--font-body);
    font-size: 0.9rem;
    font-weight: 700;
    line-height: 1.5;
}

.course-hero__batch-date {
    font-size: 0.8rem !important;
}

/* Price Note */

.course-hero__price-note {
    margin: 0 0 24px;
    font-weight: 600;
    font-family: var(--font-body);
    font-size: 0.86rem;
    line-height: 1.75;
}

/* Buttons */

.course-hero__actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 14px;
}

.course-hero__actions .btn {
    display: inline-flex;
    min-height: 52px;
    align-items: center;
    justify-content: center;
    gap: 12px;
    padding: 14px 22px;
    border-radius: 999px;
    font-family: var(--font-body);
    font-size: 0.82rem;
    font-weight: 700;
    line-height: 1.4;
    text-align: center;
    text-decoration: none;
    transition:
        background-color 0.25s ease,
        color 0.25s ease,
        border-color 0.25s ease,
        transform 0.25s ease;
}

.course-hero__actions .btn-primary {
    border: 1px solid var(--primary);
    background: var(--primary);
    color: var(--white);
}

.course-hero__actions .btn-primary:hover {
    border-color: var(--dark);
    background: var(--dark);
    transform: translateY(-2px);
}

.course-hero__actions .btn-outline {
    border: 1px solid var(--primary);
    background: transparent;
    color: var(--primary);
}

.course-hero__actions .btn-outline:hover {
    background: var(--primary);
    color: var(--white);
    transform: translateY(-2px);
}

/* Location */

.course-hero__location {
    display: flex;
    align-items: center;
    gap: 9px;
    margin: 25px 0 0;
    font-weight: 600;
    font-size: 0.86rem;
    line-height: 1.7;
}

.course-hero__location-dot {
    display: inline-block;
    width: 6px;
    height: 6px;
    flex: 0 0 6px;
    border-radius: 50%;
    background: var(--secondary);
}

/* Image */

.course-hero__visual {
    position: relative;
    width: 100%;
    min-width: 0;
    max-width: 560px;
    justify-self: end;
}

.course-hero__image {
    display: block;
    width: 100%;
    height: auto;
    max-height: 660px;
    aspect-ratio: 4 / 5;
    object-fit: cover;
    object-position: center;
    border-radius: var(--radius);
}

/* Image Caption */

.course-hero__image-caption {
    position: absolute;
    right: 18px;
    bottom: 18px;
    left: 18px;
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 16px 18px;
    border: 1px solid rgba(255, 255, 255, 0.16);
    border-radius: var(--radius-small);
    background: rgba(7, 26, 45, 0.94);
    color: var(--white);
}

.course-hero__caption-mark {
    display: flex;
    width: 42px;
    height: 42px;
    flex: 0 0 42px;
    align-items: center;
    justify-content: center;
    border: 1px solid var(--secondary);
    border-radius: 50%;
    color: var(--secondary);
    font-family: var(--font-heading);
    font-size: 1.6rem;
}

.course-hero__caption-text {
    display: flex;
    min-width: 0;
    flex-direction: column;
    gap: 4px;
}

.course-hero__caption-text strong {
    font-family: var(--font-body);
    font-size: 0.86rem;
    font-weight: 700;
    line-height: 1.5;
}

.course-hero__caption-text span {
    color: rgba(255, 255, 255, 0.76);
    font-family: var(--font-body);
    font-size: 0.74rem;
    line-height: 1.5;
}

/* Tablet */

@media (max-width: 960px) {
    .course-hero {
        padding: 58px 0 64px;
    }

    .course-hero__container {
        grid-template-columns: minmax(0, 1fr) minmax(0, 0.85fr);
        gap: 30px;
    }

    .course-hero__title {
        font-size: clamp(2.4rem, 4.6vw, 3.4rem);
    }

    .course-hero__facts {
        grid-template-columns: 1fr;
        gap: 14px;
    }

    .course-hero__fact,
    .course-hero__fact:first-child,
    .course-hero__fact:last-child {
        display: grid;
        grid-template-columns: 95px minmax(0, 1fr);
        align-items: baseline;
        gap: 12px;
        padding: 0;
        border-right: 0;
    }
}

/* Mobile */

@media (max-width: 700px) {
    .course-hero {
        padding: 38px 0 48px;
    }

    .course-hero .container-custom {
        padding-right: 20px;
        padding-left: 20px;
    }

    .course-hero__container {
        grid-template-columns: minmax(0, 1fr);
        gap: 30px;
    }

    .course-hero__eyebrow {
        margin-bottom: 14px;
        font-size: 0.68rem;
        letter-spacing: 0.11em;
    }

    .course-hero__title {
        margin-bottom: 18px;
        font-size: clamp(2.35rem, 9.5vw, 3.2rem);
        line-height: 1.08;
    }

    .course-hero__description {
        margin-bottom: 22px;
        font-size: 0.94rem;
        line-height: 1.8;
    }

    .course-hero__facts {
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 8px;
        padding: 18px 0;
    }

    .course-hero__fact,
    .course-hero__fact:first-child,
    .course-hero__fact:last-child {
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        gap: 6px;
        padding: 0 7px;
        border-right: 1px solid var(--border);
    }

    .course-hero__fact:first-child {
        padding-left: 0;
    }

    .course-hero__fact:last-child {
        padding-right: 0;
        border-right: 0;
    }

    .course-hero__fact-label {
        font-size: 0.68rem;
    }

    .course-hero__fact strong {
        font-size: 0.76rem;
        overflow-wrap: anywhere;
    }

    .course-hero__batch-date {
        font-size: 0.72rem !important;
    }

    .course-hero__price-note {
        margin-bottom: 20px;
        font-size: 0.75rem;
    }

    .course-hero__actions {
        flex-direction: column;
        align-items: stretch;
        gap: 11px;
    }

    .course-hero__actions .btn {
        width: 100%;
        min-height: 50px;
    }

    .course-hero__location {
        align-items: flex-start;
        font-size: 0.76rem;
    }

    .course-hero__visual {
        max-width: none;
    }

    .course-hero__image {
        max-height: none;
        aspect-ratio: 4 / 5;
    }

    .course-hero__image-caption {
        right: 12px;
        bottom: 12px;
        left: 12px;
        gap: 11px;
        padding: 13px 14px;
    }

    .course-hero__caption-mark {
        width: 38px;
        height: 38px;
        flex-basis: 38px;
    }

    .course-hero__caption-text strong {
        font-size: 0.8rem;
    }

    .course-hero__caption-text span {
        font-size: 0.7rem;
    }
}

/* Accessibility */

@media (prefers-reduced-motion: reduce) {
    .course-hero__actions .btn {
        transition: none;
    }

    .course-hero__actions .btn:hover {
        transform: none;
    }
}

/* =========================================
   COURSE OVERVIEW & QUICK FACTS
========================================= */

.course-overview {
    padding: 88px 0;
    background: var(--white);
    color: var(--text);
}

.course-overview .container-custom {
    width: 100%;
    max-width: var(--container);
    margin-right: auto;
    margin-left: auto;
    padding-right: 24px;
    padding-left: 24px;
    box-sizing: border-box;
}

/* Section Header */

.course-overview__header {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: end;
    gap: 40px;
    margin-bottom: 42px;
}

.course-section-eyebrow {
    margin: 0 0 14px;
    color: var(--secondary);
    font-family: var(--font-body);
    font-size: 0.74rem;
    font-weight: 700;
    letter-spacing: 0.15em;
    line-height: 1.7;
    text-transform: uppercase;
}

.course-overview__title {
    max-width: 700px;
    margin: 0 0 16px;
    color: var(--primary);
    font-family: var(--font-heading);
    font-size: clamp(2.3rem, 3.5vw, 3.4rem);
    font-weight: 600;
    line-height: 1.12;
    letter-spacing: -0.025em;
}

.course-overview__description {
    max-width: 650px;
    margin: 0;
    color: var(--muted);
    font-family: var(--font-body);
    font-size: 0.96rem;
    line-height: 1.85;
}

/* Duration Highlight */

.course-overview__duration {
    display: flex;
    min-width: 235px;
    flex-direction: column;
    gap: 6px;
    padding: 23px 25px;
    border: 1px solid var(--border);
    border-radius: var(--radius-small);
    background: var(--bg);
}

.course-overview__duration-label {
    color: var(--muted);
    font-family: var(--font-body);
    font-size: 0.69rem;
    font-weight: 700;
    letter-spacing: 0.1em;
    line-height: 1.6;
}

.course-overview__duration strong {
    color: var(--primary);
    font-family: var(--font-heading);
    font-size: 2.3rem;
    font-weight: 600;
    line-height: 1.1;
}

.course-overview__duration > span:last-child {
    color: var(--muted);
    font-family: var(--font-body);
    font-size: 0.78rem;
    line-height: 1.6;
}

/* Facts Grid */

.course-overview__grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    border-top: 1px solid var(--border);
    border-left: 1px solid var(--border);
}

.course-overview__item {
    min-width: 0;
    padding: 28px 24px 30px;
    border-right: 1px solid var(--border);
    border-bottom: 1px solid var(--border);
    background: var(--white);
    transition: background-color 0.25s ease;
}

.course-overview__item:hover {
    background: var(--bg);
}

/* Icons */

.course-overview__icon {
    display: flex;
    width: 46px;
    height: 46px;
    align-items: center;
    justify-content: center;
    margin-bottom: 20px;
    border: 1px solid var(--border);
    border-radius: 50%;
    background: var(--bg);
    color: var(--secondary);
}

.course-overview__icon svg {
    display: block;
    width: 22px;
    height: 22px;
    stroke: currentColor;
    stroke-width: 1.5;
    stroke-linecap: round;
    stroke-linejoin: round;
}

/* Fact Content */

.course-overview__item h3 {
    margin: 0 0 10px;
    color: var(--primary);
    font-family: var(--font-heading);
    font-size: 1.35rem;
    font-weight: 600;
    line-height: 1.3;
}

.course-overview__item p {
    margin: 0;
    color: var(--muted);
    font-family: var(--font-body);
    font-size: 0.85rem;
    line-height: 1.85;
}

.course-overview__item p strong {
    color: var(--primary);
    font-weight: 700;
}

/* Tablet */

@media (max-width: 1000px) {
    .course-overview {
        padding: 70px 0;
    }

    .course-overview__header {
        grid-template-columns: minmax(0, 1fr);
        gap: 24px;
    }

    .course-overview__duration {
        min-width: 0;
        max-width: 340px;
    }

    .course-overview__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

/* Mobile */

@media (max-width: 700px) {
    .course-overview {
        padding: 54px 0;
    }

    .course-overview .container-custom {
        padding-right: 20px;
        padding-left: 20px;
    }

    .course-overview__header {
        margin-bottom: 30px;
    }

    .course-overview__title {
        font-size: clamp(2.1rem, 8vw, 2.8rem);
    }

    .course-overview__description {
        font-size: 0.9rem;
        line-height: 1.8;
    }

    .course-overview__duration {
        max-width: none;
        padding: 20px;
    }

    .course-overview__duration strong {
        font-size: 2rem;
    }

    .course-overview__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .course-overview__item {
        padding: 22px 16px 24px;
    }

    .course-overview__icon {
        width: 40px;
        height: 40px;
        margin-bottom: 15px;
    }

    .course-overview__icon svg {
        width: 20px;
        height: 20px;
    }

    .course-overview__item h3 {
        font-size: 1.15rem;
    }

    .course-overview__item p {
        font-size: 0.8rem;
        line-height: 1.75;
    }
}

/* Small Mobile */

@media (max-width: 380px) {
    .course-overview__grid {
        grid-template-columns: 1fr;
    }

    .course-overview__item {
        padding: 22px;
    }
}

/* Accessibility */

@media (prefers-reduced-motion: reduce) {
    .course-overview__item {
        transition: none;
    }
}

/* =========================================
   SECTION 3: ABOUT THE 200-HOUR TRAINING
========================================= */

.course-about {
    padding: 96px 0;
    background: var(--bg);
    color: var(--text);
}

.course-about .container-custom {
    width: 100%;
    max-width: var(--container);
    margin-right: auto;
    margin-left: auto;
    padding-right: 24px;
    padding-left: 24px;
    box-sizing: border-box;
}

/* Main Layout */

.course-about__layout {
    display: grid;
    grid-template-columns: minmax(0, 0.92fr) minmax(0, 1.08fr);
    align-items: start;
    gap: clamp(48px, 6vw, 88px);
}

/* Introduction */

.course-about__intro {
    min-width: 0;
}

.course-about__title {
    max-width: 560px;
    margin: 0 0 24px;
    color: var(--primary);
    font-family: var(--font-heading);
    font-size: clamp(2.5rem, 3.6vw, 3.55rem);
    font-weight: 600;
    line-height: 1.12;
    letter-spacing: -0.03em;
}

.course-about__lead {
    margin: 0 0 20px;
    color: var(--primary);
    font-family: var(--font-body);
    font-size: 1rem;
    font-weight: 500;
    line-height: 1.9;
}

.course-about__text {
    margin: 0 0 16px;
    color: var(--muted);
    font-family: var(--font-body);
    font-size: 0.9rem;
    font-weight: 400;
    line-height: 1.95;
}

.course-about__text:last-child {
    margin-bottom: 0;
}

/* Learning Pillars */

.course-about__pillars {
    min-width: 0;
    border-top: 1px solid var(--border);
}

.course-about__pillar {
    display: grid;
    grid-template-columns: 44px minmax(0, 1fr);
    align-items: start;
    gap: 20px;
    padding: 27px 0;
    border-bottom: 1px solid var(--border);
}

.course-about__number {
    display: flex;
    width: 42px;
    height: 42px;
    align-items: center;
    justify-content: center;
    border: 1px solid var(--secondary);
    border-radius: 50%;
    color: var(--secondary);
    font-family: var(--font-body);
    font-size: 0.74rem;
    font-weight: 700;
    line-height: 1;
}

.course-about__pillar-content {
    min-width: 0;
}

.course-about__pillar h3 {
    margin: 0 0 10px;
    color: var(--primary);
    font-family: var(--font-heading);
    font-size: 1.5rem;
    font-weight: 600;
    line-height: 1.3;
}

.course-about__pillar p {
    max-width: 510px;
    margin: 0;
    color: var(--muted);
    font-family: var(--font-body);
    font-size: 0.86rem;
    line-height: 1.9;
}

/* Tablet */

@media (max-width: 900px) {
    .course-about {
        padding: 72px 0;
    }

    .course-about__layout {
        grid-template-columns: minmax(0, 1fr);
        gap: 36px;
    }

    .course-about__title {
        max-width: 680px;
    }
}

/* Mobile */

@media (max-width: 700px) {
    .course-about {
        padding: 54px 0;
    }

    .course-about .container-custom {
        padding-right: 20px;
        padding-left: 20px;
    }

    .course-about__layout {
        gap: 28px;
    }

    .course-about__title {
        margin-bottom: 18px;
        font-size: clamp(2.2rem, 8.5vw, 2.8rem);
        line-height: 1.14;
    }

    .course-about__lead {
        font-size: 0.94rem;
        line-height: 1.85;
    }

    .course-about__text {
        font-size: 0.86rem;
        line-height: 1.85;
    }

    .course-about__pillar {
        grid-template-columns: 36px minmax(0, 1fr);
        gap: 15px;
        padding: 23px 0;
    }

    .course-about__number {
        width: 35px;
        height: 35px;
        font-size: 0.69rem;
    }

    .course-about__pillar h3 {
        font-size: 1.3rem;
    }

    .course-about__pillar p {
        font-size: 0.82rem;
        line-height: 1.8;
    }
}

/* =========================================
   SECTION 4: COMPLETE COURSE SYLLABUS
========================================= */

.course-syllabus {
    padding: 100px 0;
    background: var(--bg);
    color: var(--text);
}

.course-syllabus__header {
    max-width: 850px;
    margin: 0 auto 48px;
    text-align: center;
}

.course-syllabus__eyebrow {
    display: inline-block;
    margin-bottom: 16px;
    color: var(--secondary);
    font-family: var(--font-body);
    font-size: 0.75rem;
    font-weight: 800;
    letter-spacing: 0.16em;
    line-height: 1.6;
    text-transform: uppercase;
}

.course-syllabus__header h2 {
    margin: 0 0 22px;
    color: var(--primary);
    font-family: var(--font-heading);
    font-size: clamp(2.2rem, 4vw, 3.4rem);
    font-weight: 600;
    line-height: 1.12;
}

.course-syllabus__intro {
    max-width: 760px;
    margin: 0 auto;
    color: var(--muted);
    font-family: var(--font-body);
    font-size: 1rem;
    line-height: 1.9;
}

/* Curriculum summary */

.course-syllabus__summary {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 0;
    margin-bottom: 42px;
    overflow: hidden;
    background: var(--white);
    border: 1px solid var(--border);
    border-radius: var(--radius);
}

.course-syllabus__summary-item {
    display: flex;
    align-items: center;
    gap: 13px;
    min-height: 90px;
    padding: 20px;
    color: var(--primary);
    font-family: var(--font-body);
    font-size: 0.88rem;
    font-weight: 700;
    line-height: 1.5;
}

.course-syllabus__summary-item + .course-syllabus__summary-item {
    border-left: 1px solid var(--border);
}

.course-syllabus__summary-number {
    flex-shrink: 0;
    color: var(--secondary);
    font-family: var(--font-heading);
    font-size: 1.7rem;
    font-weight: 600;
}

/* Main syllabus modules */

.course-syllabus__module {
    display: grid;
    grid-template-columns: 76px minmax(0, 1fr);
    gap: 28px;
    margin-bottom: 22px;
    padding: 38px 42px;
    background: var(--white);
    border: 1px solid var(--border);
    border-radius: var(--radius);
    box-shadow: 0 8px 28px rgba(7, 26, 45, 0.035);
}

.course-syllabus__module-number {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 64px;
    height: 64px;
    background: var(--bg);
    border: 1px solid var(--border);
    border-radius: 50%;
    color: var(--secondary);
    font-family: var(--font-heading);
    font-size: 1.8rem;
    font-weight: 600;
}

.course-syllabus__module-content {
    min-width: 0;
}

.course-syllabus__module-label {
    display: inline-block;
    margin-bottom: 10px;
    color: var(--secondary);
    font-family: var(--font-body);
    font-size: 0.68rem;
    font-weight: 800;
    letter-spacing: 0.13em;
    line-height: 1.6;
}

.course-syllabus__module h3 {
    margin: 0 0 16px;
    color: var(--primary);
    font-family: var(--font-heading);
    font-size: clamp(1.65rem, 2.5vw, 2.15rem);
    font-weight: 600;
    line-height: 1.2;
}

.course-syllabus__module p {
    margin: 0 0 15px;
    color: var(--muted);
    font-family: var(--font-body);
    font-size: 0.94rem;
    line-height: 1.85;
}

.course-syllabus__module p:last-of-type {
    margin-bottom: 20px;
}

/* Topic chips */

.course-syllabus__topics {
    display: flex;
    flex-wrap: wrap;
    gap: 9px;
    margin-top: 22px;
}

.course-syllabus__topics span {
    display: inline-flex;
    align-items: center;
    min-height: 34px;
    padding: 7px 12px;
    background: var(--bg);
    border: 1px solid var(--border);
    border-radius: 6px;
    color: var(--text);
    font-family: var(--font-body);
    font-size: 0.78rem;
    font-weight: 600;
    line-height: 1.5;
}

.course-syllabus__note {
    margin-top: 18px !important;
    padding-left: 14px;
    border-left: 2px solid var(--secondary);
    font-size: 0.83rem !important;
}

/* Additional experiences */

.course-syllabus__module--additional {
    background: #f0ede4;
    border-color: #d9cfb9;
}

.course-syllabus__module--additional .course-syllabus__module-number {
    background: var(--white);
    border-color: #d9cfb9;
}

.course-syllabus__module--additional .course-syllabus__topics span {
    background: var(--white);
    border-color: #d9cfb9;
}

/* Evaluation module */

.course-syllabus__module--evaluation {
    border-top: 3px solid var(--secondary);
}

.course-syllabus__module--evaluation .course-syllabus__module-number {
    background: var(--primary);
    border-color: var(--primary);
    color: var(--white);
}

/* Hatha practice note */

.course-syllabus__practice-note {
    display: grid;
    grid-template-columns: 54px minmax(0, 1fr);
    align-items: start;
    gap: 20px;
    margin-top: 34px;
    padding: 30px 34px;
    background: var(--primary);
    border-radius: var(--radius);
}

.course-syllabus__practice-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 48px;
    height: 48px;
    background: rgba(201, 162, 74, 0.13);
    border: 1px solid rgba(201, 162, 74, 0.45);
    border-radius: 50%;
    color: var(--secondary);
    font-size: 1.35rem;
}

.course-syllabus__practice-note h3 {
    margin: 0 0 9px;
    color: var(--white);
    font-family: var(--font-heading);
    font-size: 1.65rem;
    font-weight: 600;
}

.course-syllabus__practice-note p {
    max-width: 850px;
    margin: 0;
    color: rgba(255, 255, 255, 0.8);
    font-family: var(--font-body);
    font-size: 0.92rem;
    line-height: 1.85;
}

/* Closing CTA */

.course-syllabus__cta {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 35px;
    margin-top: 58px;
    padding: 42px;
    background: var(--white);
    border: 1px solid var(--border);
    border-radius: var(--radius);
}

.course-syllabus__cta-content {
    max-width: 620px;
}

.course-syllabus__cta-content .course-syllabus__eyebrow {
    margin-bottom: 10px;
}

.course-syllabus__cta h3 {
    margin: 0 0 13px;
    color: var(--primary);
    font-family: var(--font-heading);
    font-size: clamp(1.8rem, 3vw, 2.4rem);
    font-weight: 600;
    line-height: 1.2;
}

.course-syllabus__cta p {
    margin: 0;
    color: var(--muted);
    font-family: var(--font-body);
    font-size: 0.91rem;
    line-height: 1.8;
}

.course-syllabus__cta-actions {
    display: flex;
    flex-shrink: 0;
    flex-direction: column;
    gap: 12px;
    min-width: 210px;
}

.course-syllabus__button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 48px;
    padding: 12px 20px;
    border: 1px solid var(--primary);
    border-radius: var(--radius-small);
    font-family: var(--font-body);
    font-size: 0.82rem;
    font-weight: 800;
    line-height: 1.4;
    text-align: center;
    text-decoration: none;
    transition:
        background-color 0.25s ease,
        color 0.25s ease,
        border-color 0.25s ease;
}

.course-syllabus__button--primary {
    background: var(--primary);
    color: var(--white);
}

.course-syllabus__button--primary:hover {
    background: var(--dark);
    border-color: var(--dark);
    color: var(--white);
}

.course-syllabus__button--secondary {
    background: transparent;
    color: var(--primary);
}

.course-syllabus__button--secondary:hover {
    background: var(--bg);
    color: var(--primary);
}

/* Tablet */

@media (max-width: 900px) {
    .course-syllabus {
        padding: 80px 0;
    }

    .course-syllabus__summary {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .course-syllabus__summary-item {
        min-height: 78px;
    }

    .course-syllabus__summary-item:nth-child(3) {
        border-left: none;
        border-top: 1px solid var(--border);
    }

    .course-syllabus__summary-item:nth-child(4) {
        border-top: 1px solid var(--border);
    }

    .course-syllabus__module {
        grid-template-columns: 58px minmax(0, 1fr);
        gap: 22px;
        padding: 30px;
    }

    .course-syllabus__module-number {
        width: 54px;
        height: 54px;
        font-size: 1.55rem;
    }

    .course-syllabus__cta {
        align-items: flex-start;
        flex-direction: column;
        padding: 32px;
    }

    .course-syllabus__cta-actions {
        flex-direction: row;
        flex-wrap: wrap;
        min-width: 0;
    }
}

/* Mobile */

@media (max-width: 600px) {
    .course-syllabus {
        padding: 60px 0;
    }

    .course-syllabus__header {
        margin-bottom: 32px;
        text-align: left;
    }

    .course-syllabus__header h2 {
        font-size: 2.15rem;
    }

    .course-syllabus__intro {
        font-size: 0.92rem;
        line-height: 1.8;
    }

    .course-syllabus__summary {
        margin-bottom: 28px;
    }

    .course-syllabus__summary-item {
        gap: 9px;
        min-height: 76px;
        padding: 13px 11px;
        font-size: 0.77rem;
    }

    .course-syllabus__summary-number {
        font-size: 1.4rem;
    }

    .course-syllabus__module {
        grid-template-columns: 1fr;
        gap: 18px;
        margin-bottom: 16px;
        padding: 24px 20px;
        border-radius: var(--radius-small);
    }

    .course-syllabus__module-number {
        width: 46px;
        height: 46px;
        font-size: 1.4rem;
    }

    .course-syllabus__module h3 {
        font-size: 1.8rem;
    }

    .course-syllabus__module p {
        font-size: 0.89rem;
        line-height: 1.8;
    }

    .course-syllabus__topics {
        gap: 7px;
        margin-top: 18px;
    }

    .course-syllabus__topics span {
        padding: 6px 9px;
        font-size: 0.73rem;
    }

    .course-syllabus__practice-note {
        grid-template-columns: 1fr;
        gap: 14px;
        padding: 24px 20px;
    }

    .course-syllabus__practice-note h3 {
        font-size: 1.55rem;
    }

    .course-syllabus__cta {
        gap: 24px;
        margin-top: 36px;
        padding: 25px 20px;
    }

    .course-syllabus__cta h3 {
        font-size: 1.9rem;
    }

    .course-syllabus__cta-actions {
        flex-direction: column;
        width: 100%;
    }

    .course-syllabus__button {
        width: 100%;
    }
}

/* Respect reduced-motion preferences */

@media (prefers-reduced-motion: reduce) {
    .course-syllabus__button {
        transition: none;
    }
}


/* =========================================
   SECTION 5: TEACHING PRACTICE & SKILLS
========================================= */

.teaching-skills {
    padding-bottom: 100px;
    background: var(--white);
    color: var(--text);
}

/* =========================================
   HEADING
   Uses the same column proportions and gap
   as the image/content layout below.
========================================= */

.teaching-skills__header {
    max-width: none;
    display: grid;
    grid-template-columns: minmax(0, 0.88fr) minmax(0, 1.12fr);
    column-gap: clamp(35px, 6vw, 80px);
    row-gap: 16px;
    align-items: start;
    margin-bottom: 48px;
}

.teaching-skills__eyebrow {
    grid-column: 1 / -1;
    display: block;
    margin: 0;
    padding: 0;
    color: var(--secondary);
    font-family: var(--font-body);
    font-size: 0.74rem;
    font-weight: 800;
    letter-spacing: 0.15em;
    line-height: 1.6;
    text-transform: uppercase;
    text-align: left;
}

.teaching-skills__header h2 {
    grid-column: 1;
    max-width: 100%;
    margin: 0;
    padding: 0;
    color: var(--primary);
    font-family: var(--font-heading);
    font-size: clamp(2.2rem, 3vw, 3rem);
    font-weight: 600;
    line-height: 1.12;
    text-align: left;
}

.teaching-skills__header > p {
    grid-column: 2;
    width: 100%;
    max-width: none;
    justify-self: stretch;
    align-self: start;
    margin: 0;
    padding: 0;
    color: var(--muted);
    font-family: var(--font-body);
    font-size: 0.96rem;
    line-height: 1.9;
    text-align: left;
}

/* =========================================
   MAIN IMAGE AND SKILLS LAYOUT
========================================= */

.teaching-skills__layout {
    display: grid;
    grid-template-columns: minmax(0, 0.88fr) minmax(0, 1.12fr);
    gap: clamp(35px, 6vw, 80px);
    align-items: stretch;
}

/* Image */

.teaching-skills__visual {
    position: relative;
    min-width: 0;
    min-height: 540px;
    overflow: hidden;
    background: var(--bg-alt);
    border-radius: var(--radius);
}

.teaching-skills__visual > img {
    display: block;
    width: 100%;
    height: 100%;
    min-height: 540px;
    object-fit: cover;
    object-position: center;
}

.teaching-skills__image-caption {
    position: absolute;
    right: 16px;
    bottom: 16px;
    left: 16px;
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 19px 20px;
    background: var(--primary);
    border: 1px solid rgba(255, 255, 255, 0.16);
    border-radius: var(--radius-small);
}

.teaching-skills__caption-mark {
    display: flex;
    flex-shrink: 0;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    border: 1px solid rgba(201, 162, 74, 0.55);
    border-radius: 50%;
    color: var(--secondary);
    font-size: 1.2rem;
}

.teaching-skills__image-caption strong {
    display: block;
    margin-bottom: 4px;
    color: var(--white);
    font-family: var(--font-heading);
    font-size: 1.25rem;
    font-weight: 600;
}

.teaching-skills__image-caption p {
    margin: 0;
    color: rgba(255, 255, 255, 0.78);
    font-family: var(--font-body);
    font-size: 0.78rem;
    line-height: 1.6;
}

/* =========================================
   TEACHING SKILLS
========================================= */

.teaching-skills__content {
    display: flex;
    flex-direction: column;
    min-width: 0;
    border-top: 1px solid var(--border);
}

.teaching-skills__item {
    display: grid;
    grid-template-columns: 43px minmax(0, 1fr);
    gap: 18px;
    padding: 25px 0;
    border-bottom: 1px solid var(--border);
}

.teaching-skills__number {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 39px;
    height: 39px;
    border: 1px solid var(--secondary);
    border-radius: 50%;
    color: var(--primary);
    font-family: var(--font-body);
    font-size: 0.72rem;
    font-weight: 700;
}

.teaching-skills__item h3 {
    margin: 0 0 9px;
    color: var(--primary);
    font-family: var(--font-heading);
    font-size: 1.55rem;
    font-weight: 600;
    line-height: 1.25;
}

.teaching-skills__item p {
    margin: 0;
    color: var(--muted);
    font-family: var(--font-body);
    font-size: 0.88rem;
    line-height: 1.85;
}

/* =========================================
   ASSESSMENT STRIP
========================================= */

.teaching-skills__assessment {
    display: grid;
    grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);
    gap: 40px;
    align-items: center;
    margin-top: 58px;
    padding: 35px 38px;
    background: var(--white);
    border: 1px solid var(--border);
    border-left: 3px solid var(--secondary);
    border-radius: var(--radius);
}

.teaching-skills__assessment-label {
    display: inline-block;
    margin-bottom: 10px;
    color: var(--secondary);
    font-family: var(--font-body);
    font-size: 0.69rem;
    font-weight: 800;
    letter-spacing: 0.13em;
    line-height: 1.6;
}

.teaching-skills__assessment-intro h3 {
    margin: 0 0 12px;
    color: var(--primary);
    font-family: var(--font-heading);
    font-size: 1.9rem;
    font-weight: 600;
    line-height: 1.2;
}

.teaching-skills__assessment-intro > p {
    max-width: 440px;
    margin: 0;
    color: var(--muted);
    font-family: var(--font-body);
    font-size: 0.87rem;
    line-height: 1.8;
}

.teaching-skills__assessment-points {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.teaching-skills__assessment-point {
    display: flex;
    align-items: center;
    gap: 13px;
    padding-bottom: 12px;
    border-bottom: 1px solid var(--border);
}

.teaching-skills__assessment-point:last-child {
    padding-bottom: 0;
    border-bottom: none;
}

.teaching-skills__assessment-point > span {
    display: flex;
    flex-shrink: 0;
    align-items: center;
    justify-content: center;
    width: 31px;
    height: 31px;
    background: var(--bg);
    border-radius: 50%;
    color: var(--secondary);
    font-family: var(--font-body);
    font-size: 0.68rem;
    font-weight: 800;
}

.teaching-skills__assessment-point p {
    margin: 0;
    color: var(--text);
    font-family: var(--font-body);
    font-size: 0.86rem;
    font-weight: 600;
    line-height: 1.6;
}

/* =========================================
   TABLET
========================================= */

@media (max-width: 991px) {
    .teaching-skills__header,
    .teaching-skills__layout {
        column-gap: 32px;
    }

    .teaching-skills__visual,
    .teaching-skills__visual > img {
        min-height: 460px;
    }

    .teaching-skills__item {
        gap: 12px;
    }

    .teaching-skills__item h3 {
        font-size: 1.35rem;
    }

    .teaching-skills__assessment {
        gap: 28px;
        padding: 30px;
    }
}

/* =========================================
   MOBILE
========================================= */

@media (max-width: 767px) {
    .teaching-skills {
        padding: 64px 0;
    }

    .teaching-skills__header {
        grid-template-columns: minmax(0, 1fr);
        row-gap: 12px;
        margin-bottom: 32px;
    }

    .teaching-skills__eyebrow,
    .teaching-skills__header h2,
    .teaching-skills__header > p {
        grid-column: 1;
    }

    .teaching-skills__header h2 {
        font-size: clamp(2rem, 8vw, 2.6rem);
    }

    .teaching-skills__header > p {
        max-width: 100%;
    }

    .teaching-skills__layout {
        grid-template-columns: minmax(0, 1fr);
        gap: 28px;
    }

    .teaching-skills__visual,
    .teaching-skills__visual > img {
        min-height: 420px;
    }

    .teaching-skills__item {
        grid-template-columns: 39px minmax(0, 1fr);
        gap: 14px;
        padding: 22px 0;
    }

    .teaching-skills__number {
        width: 36px;
        height: 36px;
    }

    .teaching-skills__item h3 {
        font-size: 1.4rem;
    }

    .teaching-skills__assessment {
        grid-template-columns: minmax(0, 1fr);
        gap: 24px;
        margin-top: 36px;
        padding: 26px 22px;
    }

    .teaching-skills__assessment-intro h3 {
        font-size: 1.7rem;
    }
}

/* =========================================
   SMALL MOBILE
========================================= */

@media (max-width: 480px) {
    .teaching-skills__visual,
    .teaching-skills__visual > img {
        min-height: 360px;
    }

    .teaching-skills__image-caption {
        right: 10px;
        bottom: 10px;
        left: 10px;
        gap: 10px;
        padding: 14px;
    }

    .teaching-skills__image-caption strong {
        font-size: 1.1rem;
    }

    .teaching-skills__assessment {
        padding: 22px 18px;
    }
}


/* Tablet */

@media (max-width: 900px) {
    .teaching-skills {
        padding: 80px 0;
    }

    .teaching-skills__layout {
        grid-template-columns: minmax(0, 0.85fr) minmax(0, 1.15fr);
        gap: 28px;
    }

    .teaching-skills__visual,
    .teaching-skills__visual > img {
        min-height: 500px;
    }

    .teaching-skills__item {
        grid-template-columns: 36px minmax(0, 1fr);
        gap: 13px;
        padding: 21px 0;
    }

    .teaching-skills__number {
        width: 34px;
        height: 34px;
    }

    .teaching-skills__item h3 {
        font-size: 1.35rem;
    }

    .teaching-skills__assessment {
        gap: 28px;
        padding: 30px;
    }
}

/* Mobile */

@media (max-width: 650px) {
    .teaching-skills {
        padding: 60px 0;
    }

    .teaching-skills__header {
        margin-bottom: 30px;
    }

    .teaching-skills__header h2 {
        font-size: 2.2rem;
    }

    .teaching-skills__header > p {
        font-size: 0.9rem;
        line-height: 1.8;
    }

    .teaching-skills__layout {
        grid-template-columns: 1fr;
        gap: 25px;
    }

    .teaching-skills__visual {
        min-height: 0;
        aspect-ratio: 4 / 5;
    }

    .teaching-skills__visual > img {
        min-height: 0;
        height: 100%;
    }

    .teaching-skills__image-caption {
        right: 12px;
        bottom: 12px;
        left: 12px;
        gap: 11px;
        padding: 14px;
    }

    .teaching-skills__caption-mark {
        width: 34px;
        height: 34px;
    }

    .teaching-skills__image-caption strong {
        font-size: 1.1rem;
    }

    .teaching-skills__image-caption p {
        font-size: 0.73rem;
    }

    .teaching-skills__item {
        grid-template-columns: 36px minmax(0, 1fr);
        gap: 13px;
        padding: 21px 0;
    }

    .teaching-skills__item h3 {
        font-size: 1.4rem;
    }

    .teaching-skills__item p {
        font-size: 0.86rem;
        line-height: 1.8;
    }

    .teaching-skills__assessment {
        grid-template-columns: 1fr;
        gap: 24px;
        margin-top: 35px;
        padding: 25px 20px;
    }

    .teaching-skills__assessment-intro h3 {
        font-size: 1.7rem;
    }
}

/* Reduced motion */

@media (prefers-reduced-motion: reduce) {
    .teaching-skills__link {
        transition: none;
    }
}

/* =========================================
   SECTION 6: DAILY SCHEDULE
========================================= */

.course-schedule {
    padding: 100px 0;
    background: var(--white);
    color: var(--text);
}

.course-schedule__header {
    max-width: 820px;
    margin: 0 auto 48px;
    text-align: center;
}

.course-schedule__eyebrow {
    display: inline-block;
    margin-bottom: 15px;
    color: var(--secondary);
    font-family: var(--font-body);
    font-size: 0.74rem;
    font-weight: 800;
    letter-spacing: 0.15em;
    line-height: 1.6;
    text-transform: uppercase;
}

.course-schedule__header h2 {
    margin: 0 0 18px;
    color: var(--primary);
    font-family: var(--font-heading);
    font-size: clamp(2.2rem, 4vw, 3.25rem);
    font-weight: 600;
    line-height: 1.13;
}

.course-schedule__header > p {
    max-width: 730px;
    margin: 0 auto;
    color: var(--muted);
    font-family: var(--font-body);
    font-size: 0.95rem;
    line-height: 1.9;
}

/* Main layout */

.course-schedule__layout {
    display: grid;
    grid-template-columns: minmax(0, 1.45fr) minmax(270px, 0.75fr);
    gap: 30px;
    align-items: start;
}

/* Timetable container */

.course-schedule__table-wrap {
    min-width: 0;
    overflow: hidden;
    background: var(--white);
    border: 1px solid var(--border);
    border-radius: var(--radius);
}

.course-schedule__table-heading {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    padding: 25px 27px;
    background: var(--primary);
}

.course-schedule__table-kicker {
    display: block;
    margin-bottom: 7px;
    color: var(--secondary);
    font-family: var(--font-body);
    font-size: 0.66rem;
    font-weight: 800;
    letter-spacing: 0.14em;
    line-height: 1.5;
}

.course-schedule__table-heading h3 {
    margin: 0;
    color: var(--white);
    font-family: var(--font-heading);
    font-size: 1.8rem;
    font-weight: 600;
    line-height: 1.2;
}

.course-schedule__duration {
    flex-shrink: 0;
    padding: 8px 11px;
    border: 1px solid rgba(201, 162, 74, 0.55);
    border-radius: 6px;
    color: var(--white);
    font-family: var(--font-body);
    font-size: 0.7rem;
    font-weight: 700;
    line-height: 1.5;
}

/* Timetable rows */

.course-schedule__table {
    padding: 0 24px;
}

.course-schedule__row {
    display: grid;
    grid-template-columns: minmax(140px, 0.78fr) minmax(0, 1.5fr);
    align-items: center;
    gap: 17px;
    min-height: 67px;
    padding: 13px 0;
    border-bottom: 1px solid var(--border);
}

.course-schedule__row:last-child {
    border-bottom: none;
}

.course-schedule__time {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 4px;
    color: var(--primary);
    font-family: var(--font-body);
    font-size: 0.76rem;
    font-weight: 800;
    font-variant-numeric: tabular-nums;
    line-height: 1.6;
}

.course-schedule__dash {
    color: var(--muted);
    font-weight: 500;
}

.course-schedule__activity {
    display: flex;
    align-items: center;
    gap: 10px;
    min-width: 0;
}

.course-schedule__dot {
    flex-shrink: 0;
    width: 8px;
    height: 8px;
    background: var(--secondary);
    border-radius: 50%;
}

.course-schedule__activity > span:nth-child(2) {
    min-width: 0;
    color: var(--text);
    font-family: var(--font-body);
    font-size: 0.84rem;
    font-weight: 600;
    line-height: 1.6;
}

.course-schedule__category {
    display: none;
}

/* Subtle activity markers */

.course-schedule__row--practice .course-schedule__dot {
    background: var(--secondary);
}

.course-schedule__row--theory .course-schedule__dot {
    background: var(--primary);
}

.course-schedule__row--teaching .course-schedule__dot {
    background: #647c70;
}

.course-schedule__row--meal .course-schedule__dot {
    background: #a7a092;
}

/* Legend */

.course-schedule__legend {
    display: flex;
    flex-wrap: wrap;
    gap: 18px;
    padding: 17px 24px;
    background: var(--bg);
    border-top: 1px solid var(--border);
}

.course-schedule__legend > span {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    color: var(--muted);
    font-family: var(--font-body);
    font-size: 0.73rem;
    font-weight: 600;
}

.course-schedule__legend-dot {
    display: inline-block;
    width: 7px;
    height: 7px;
    border-radius: 50%;
}

.course-schedule__legend-dot--practice {
    background: var(--secondary);
}

.course-schedule__legend-dot--theory {
    background: var(--primary);
}

.course-schedule__legend-dot--meal {
    background: #a7a092;
}

/* Side card */

.course-schedule__aside {
    overflow: hidden;
    background: var(--bg);
    border: 1px solid var(--border);
    border-radius: var(--radius);
}

.course-schedule__aside-image {
    aspect-ratio: 4 / 3;
    overflow: hidden;
    background: var(--bg-alt);
}

.course-schedule__aside-image img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}

.course-schedule__aside-content {
    padding: 27px;
}

.course-schedule__aside-label {
    display: inline-block;
    margin-bottom: 11px;
    color: var(--secondary);
    font-family: var(--font-body);
    font-size: 0.68rem;
    font-weight: 800;
    letter-spacing: 0.13em;
    line-height: 1.6;
}

.course-schedule__aside-content h3 {
    margin: 0 0 13px;
    color: var(--primary);
    font-family: var(--font-heading);
    font-size: 1.9rem;
    font-weight: 600;
    line-height: 1.2;
}

.course-schedule__aside-content > p {
    margin: 0;
    color: var(--muted);
    font-family: var(--font-body);
    font-size: 0.88rem;
    line-height: 1.85;
}

/* Rest day note */

.course-schedule__day-note {
    display: grid;
    grid-template-columns: 30px minmax(0, 1fr);
    gap: 12px;
    margin-top: 23px;
    padding: 17px 15px;
    background: var(--white);
    border: 1px solid var(--border);
    border-radius: var(--radius-small);
}

.course-schedule__day-note-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 28px;
    border: 1px solid var(--border);
    border-radius: 50%;
    color: var(--secondary);
    font-size: 0.9rem;
}

.course-schedule__day-note p {
    display: flex;
    flex-direction: column;
    gap: 6px;
    margin: 0;
}

.course-schedule__day-note strong {
    color: var(--primary);
    font-family: var(--font-body);
    font-size: 0.8rem;
    line-height: 1.5;
}

.course-schedule__day-note p span {
    color: var(--muted);
    font-family: var(--font-body);
    font-size: 0.78rem;
    line-height: 1.75;
}

/* Side link */

.course-schedule__link {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    margin-top: 23px;
    padding-bottom: 6px;
    border-bottom: 1px solid var(--secondary);
    color: var(--primary);
    font-family: var(--font-body);
    font-size: 0.81rem;
    font-weight: 800;
    text-decoration: none;
    transition: gap 0.2s ease;
}

.course-schedule__link:hover {
    gap: 15px;
}

/* Footnote */

.course-schedule__footnote {
    margin: 22px 0 0;
    color: var(--muted);
    font-family: var(--font-body);
    font-size: 0.78rem;
    line-height: 1.8;
}

/* Tablet */

@media (max-width: 1000px) {
    .course-schedule {
        padding: 80px 0;
    }

    .course-schedule__layout {
        grid-template-columns: 1fr;
        gap: 25px;
    }

    .course-schedule__aside {
        display: grid;
        grid-template-columns: minmax(0, 0.8fr) minmax(0, 1.2fr);
    }

    .course-schedule__aside-image {
        height: auto;
        min-height: 280px;
        aspect-ratio: auto;
    }
}

/* Mobile */

@media (max-width: 600px) {
    .course-schedule {
        padding: 60px 0;
    }

    .course-schedule__header {
        margin-bottom: 30px;
        text-align: left;
    }

    .course-schedule__header h2 {
        font-size: 2.15rem;
    }

    .course-schedule__header > p {
        font-size: 0.9rem;
        line-height: 1.8;
    }

    .course-schedule__table-heading {
        align-items: flex-start;
        flex-direction: column;
        gap: 12px;
        padding: 22px 18px;
    }

    .course-schedule__table-heading h3 {
        font-size: 1.65rem;
    }

    .course-schedule__duration {
        font-size: 0.68rem;
    }

    .course-schedule__table {
        padding: 0 15px;
    }

    .course-schedule__row {
        grid-template-columns: minmax(112px, 0.8fr) minmax(0, 1.2fr);
        gap: 10px;
        min-height: 64px;
        padding: 12px 0;
    }

    .course-schedule__time {
        gap: 3px;
        font-size: 0.68rem;
    }

    .course-schedule__activity {
        gap: 8px;
    }

    .course-schedule__activity > span:nth-child(2) {
        font-size: 0.77rem;
        overflow-wrap: anywhere;
    }

    .course-schedule__legend {
        gap: 13px;
        padding: 15px;
    }

    .course-schedule__legend > span {
        font-size: 0.68rem;
    }

    .course-schedule__aside {
        display: block;
    }

    .course-schedule__aside-image {
        min-height: 0;
        aspect-ratio: 5 / 3;
    }

    .course-schedule__aside-content {
        padding: 23px 20px;
    }

    .course-schedule__aside-content h3 {
        font-size: 1.7rem;
    }

    .course-schedule__footnote {
        font-size: 0.74rem;
    }
}

/* Narrow phones */

@media (max-width: 380px) {
    .course-schedule__table {
        padding: 0 11px;
    }

    .course-schedule__row {
        grid-template-columns: minmax(100px, 0.85fr) minmax(0, 1.15fr);
        gap: 7px;
    }

    .course-schedule__time {
        font-size: 0.63rem;
    }

    .course-schedule__activity {
        gap: 6px;
    }

    .course-schedule__activity > span:nth-child(2) {
        font-size: 0.73rem;
    }
}

/* Reduced motion */

@media (prefers-reduced-motion: reduce) {
    .course-schedule__link {
        transition: none;
    }
}

/* =========================================
   ACCOMMODATION, FOOD & FACILITIES
========================================= */

.course-stay {
    padding: 100px 0;
    background: var(--bg);
    color: var(--text);
    font-family: var(--font-body);
}

.course-stay img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.course-stay .stay-heading {
    max-width: 780px;
    margin: 0 auto 64px;
    text-align: center;
}

.course-stay .stay-eyebrow {
    display: inline-block;
    margin-bottom: 14px;
    color: var(--secondary);
    font-size: 0.76rem;
    font-weight: 800;
    letter-spacing: 0.16em;
    text-transform: uppercase;
}

.course-stay .stay-heading h2,
.course-stay .stay-subheading h3,
.course-stay .stay-food-content h3,
.course-stay .stay-facilities-heading h3,
.course-stay .stay-cta h3 {
    margin: 0;
    color: var(--primary);
    font-family: var(--font-heading);
    font-weight: 600;
    line-height: 1.15;
}

.course-stay .stay-heading h2 {
    font-size: clamp(2.2rem, 4vw, 3.5rem);
}

.course-stay .stay-heading > p {
    max-width: 650px;
    margin: 20px auto 0;
    color: var(--muted);
    font-size: 1rem;
    line-height: 1.85;
}

.course-stay .stay-subheading {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 30px;
    margin-bottom: 28px;
}

.course-stay .stay-subheading h3,
.course-stay .stay-food-content h3,
.course-stay .stay-facilities-heading h3 {
    font-size: clamp(1.9rem, 3vw, 2.65rem);
}

.course-stay .stay-subheading > p {
    max-width: 360px;
    margin: 0 0 4px;
    color: var(--muted);
    font-size: 0.9rem;
    line-height: 1.7;
}

/* Room cards */

.course-stay .stay-room-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 20px;
}

.course-stay .stay-room-card {
    min-width: 0;
    overflow: hidden;
    border: 1px solid var(--border);
    border-radius: var(--radius);
    background: var(--white);
    transition: transform 0.25s ease, box-shadow 0.25s ease;
}

.course-stay .stay-room-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 14px 35px rgb(7 26 45 / 8%);
}

.course-stay .stay-room-image {
    position: relative;
    height: 215px;
    overflow: hidden;
    background: var(--bg-alt);
}

.course-stay .stay-room-image img {
    transition: transform 0.4s ease;
}

.course-stay .stay-room-card:hover .stay-room-image img {
    transform: scale(1.04);
}

.course-stay .stay-room-tag {
    position: absolute;
    bottom: 12px;
    left: 12px;
    padding: 7px 11px;
    border-radius: 4px;
    background: var(--white);
    color: var(--primary);
    font-size: 0.68rem;
    font-weight: 800;
    letter-spacing: 0.04em;
}

.course-stay .stay-room-content {
    padding: 23px 20px 24px;
}

.course-stay .stay-room-content h4 {
    margin: 0 0 10px;
    color: var(--primary);
    font-family: var(--font-heading);
    font-size: 1.65rem;
    font-weight: 600;
}

.course-stay .stay-room-description {
    min-height: 78px;
    margin: 0;
    color: var(--muted);
    font-size: 0.86rem;
    line-height: 1.75;
}

.course-stay .stay-price {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 10px;
    margin: 20px 0;
    padding: 15px 0;
    border-top: 1px solid var(--border);
    border-bottom: 1px solid var(--border);
}

.course-stay .stay-price span {
    color: var(--muted);
    font-size: 0.78rem;
}

.course-stay .stay-price strong {
    color: var(--primary);
    font-size: 1.65rem;
    font-weight: 800;
    white-space: nowrap;
}

.course-stay .stay-feature-list {
    display: grid;
    gap: 12px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.course-stay .stay-feature-list li {
    position: relative;
    padding-left: 23px;
    color: var(--text);
    font-size: 0.82rem;
    line-height: 1.65;
}

.course-stay .stay-feature-list li::before {
    position: absolute;
    top: 0;
    left: 0;
    color: var(--secondary);
    content: "✓";
    font-weight: 800;
}

.course-stay .stay-room-featured {
    border-color: var(--secondary);
}

.course-stay .stay-room-featured .stay-room-tag {
    background: var(--primary);
    color: var(--white);
}

.course-stay .stay-price-note {
    margin: 22px 0 0;
    padding: 16px 19px;
    border-left: 3px solid var(--secondary);
    background: var(--bg-alt);
    color: var(--muted);
    font-size: 0.83rem;
    line-height: 1.8;
}

/* Food feature */

.course-stay .stay-food {
    display: grid;
    grid-template-columns: 1fr 1fr;
    align-items: stretch;
    gap: clamp(30px, 5vw, 70px);
    margin-top: 100px;
    padding: 35px;
    border-radius: var(--radius);
    background: var(--white);
}

.course-stay .stay-food-image {
    min-height: 400px;
    overflow: hidden;
    border-radius: var(--radius-small);
    background: var(--bg-alt);
}

.course-stay .stay-food-content {
    align-self: center;
    padding: 15px 10px;
}

.course-stay .stay-food-content > p {
    margin: 18px 0 24px;
    color: var(--muted);
    font-size: 0.94rem;
    line-height: 1.85;
}

.course-stay .stay-food-content .stay-feature-list {
    gap: 15px;
}

.course-stay .stay-small-note {
    margin-top: 22px !important;
    padding-top: 16px;
    border-top: 1px solid var(--border);
    font-size: 0.82rem !important;
}

/* Facilities */



.course-stay .stay-facilities-heading {
    max-width: 680px;
    margin-bottom: 35px;
}

.course-stay .stay-facilities-heading > p {
    margin: 16px 0 0;
    color: var(--muted);
    font-size: 0.94rem;
    line-height: 1.8;
}

.course-stay .stay-facilities-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 16px;
}

.course-stay .stay-facility {
    display: flex;
    align-items: flex-start;
    gap: 16px;
    min-width: 0;
    padding: 25px 22px;
    border: 1px solid var(--border);
    border-radius: var(--radius-small);
    background: var(--white);
}

.course-stay .stay-facility-icon {
    display: grid;
    flex: 0 0 42px;
    width: 42px;
    height: 42px;
    place-items: center;
    border-radius: 50%;
    background: var(--bg-alt);
    color: var(--primary);
    font-size: 1.3rem;
}

.course-stay .stay-facility h4 {
    margin: 2px 0 8px;
    color: var(--primary);
    font-size: 0.96rem;
    font-weight: 800;
}

.course-stay .stay-facility p {
    margin: 0;
    color: var(--muted);
    font-size: 0.82rem;
    line-height: 1.75;
}

.course-stay .stay-facility-extra {
    border-color: var(--secondary);
    background: var(--bg-alt);
}

/* Bottom CTA */

.course-stay .stay-cta {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 30px;
    margin-top: 70px;
    padding: 38px 42px;
    border-radius: var(--radius);
    background: var(--primary);
}

.course-stay .stay-cta h3 {
    color: var(--white);
    font-size: clamp(1.65rem, 3vw, 2.2rem);
}

.course-stay .stay-cta p {
    max-width: 600px;
    margin: 12px 0 0;
    color: rgb(255 255 255 / 78%);
    font-size: 0.88rem;
    line-height: 1.8;
}

.course-stay .stay-cta-button {
    display: inline-flex;
    flex: 0 0 auto;
    align-items: center;
    justify-content: center;
    gap: 12px;
    padding: 15px 20px;
    border: 1px solid var(--secondary);
    border-radius: var(--radius-small);
    background: var(--secondary);
    color: var(--dark);
    font-size: 0.84rem;
    font-weight: 800;
    text-align: center;
    text-decoration: none;
    transition: background 0.2s ease, color 0.2s ease;
}

.course-stay .stay-cta-button:hover {
    background: transparent;
    color: var(--white);
}

/* Responsive */

@media (max-width: 1100px) {
    .course-stay .stay-room-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .course-stay .stay-room-description {
        min-height: auto;
    }

    .course-stay .stay-facilities-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 768px) {
    .course-stay {
        padding: 70px 0;
    }

    .course-stay .stay-heading {
        margin-bottom: 45px;
    }

    .course-stay .stay-subheading {
        display: block;
    }

    .course-stay .stay-subheading > p {
        margin-top: 14px;
    }

    .course-stay .stay-room-grid {
        gap: 15px;
    }

    .course-stay .stay-room-image {
        height: 190px;
    }

    .course-stay .stay-room-content {
        padding: 19px 16px 21px;
    }

    .course-stay .stay-room-content h4 {
        font-size: 1.45rem;
    }

    .course-stay .stay-price strong {
        font-size: 1.4rem;
    }

    .course-stay .stay-food {
        grid-template-columns: 1fr;
        gap: 25px;
        margin-top: 70px;
        padding: 20px;
    }

    .course-stay .stay-food-image {
        min-height: 280px;
    }

    .course-stay .stay-food-content {
        padding: 5px;
    }

    .course-stay .stay-facilities {
        margin-top: 70px;
    }

    .course-stay .stay-cta {
        align-items: flex-start;
        flex-direction: column;
        margin-top: 50px;
        padding: 30px 24px;
    }

    .course-stay .stay-cta-button {
        width: 100%;
    }
}

@media (max-width: 480px) {
    .course-stay .stay-room-grid,
    .course-stay .stay-facilities-grid {
        grid-template-columns: 1fr;
    }

    .course-stay .stay-room-image {
        height: 235px;
    }

    .course-stay .stay-room-content {
        padding: 23px 20px;
    }

    .course-stay .stay-facility {
        padding: 21px 18px;
    }

    .course-stay .stay-price-note {
        padding: 14px;
    }
}

/* =========================================
   SECTION 8: MEET YOUR TEACHERS
========================================= */

.course-teachers {
    padding: 100px 0;
    background: var(--white);
    color: var(--text);
    font-family: var(--font-body);
}

.course-teachers .teachers-heading {
    max-width: 790px;
    margin: 0 auto 55px;
    text-align: center;
}

.course-teachers .teachers-eyebrow {
    display: inline-block;
    margin-bottom: 14px;
    color: var(--secondary);
    font-size: 0.76rem;
    font-weight: 800;
    letter-spacing: 0.16em;
    text-transform: uppercase;
}

.course-teachers .teachers-heading h2 {
    margin: 0;
    color: var(--primary);
    font-family: var(--font-heading);
    font-size: clamp(2.4rem, 4vw, 3.5rem);
    font-weight: 600;
    line-height: 1.15;
}

.course-teachers .teachers-heading > p {
    max-width: 700px;
    margin: 20px auto 0;
    color: var(--muted);
    font-size: 0.98rem;
    line-height: 1.9;
}

/* Teacher card grid */

.course-teachers .teachers-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    align-items: stretch;
    gap: 25px;
}

.course-teachers .teacher-card {
    display: flex;
    min-width: 0;
    flex-direction: column;
    overflow: hidden;
    border: 1px solid var(--border);
    border-radius: var(--radius);
    background: var(--bg);
    transition: transform 0.25s ease, box-shadow 0.25s ease;
}

.course-teachers .teacher-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 14px 32px rgb(7 26 45 / 8%);
}

/* Image placeholder */

.course-teachers .teacher-image {
    position: relative;
    display: flex;
    min-height: 260px;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    background: var(--bg-alt);
    border-bottom: 3px solid var(--secondary);
}

/*
When adding a teacher photo, place an img inside .teacher-image.
Use width: 100%; height: 100%; object-fit: cover.
*/

.course-teachers .teacher-image img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center top;
}

/* Teacher details */

.course-teachers .teacher-content {
    display: flex;
    flex: 1;
    flex-direction: column;
    padding: 25px 24px 24px;
}

.course-teachers .teacher-specialty {
    display: block;
    margin-bottom: 11px;
    color: var(--secondary);
    font-size: 0.68rem;
    font-weight: 800;
    letter-spacing: 0.09em;
    line-height: 1.6;
}

.course-teachers .teacher-content h3 {
    margin: 0 0 12px;
    color: var(--primary);
    font-family: var(--font-heading);
    font-size: 1.75rem;
    font-weight: 600;
    line-height: 1.2;
}

.course-teachers .teacher-qualification {
    margin: 0 0 8px;
    color: var(--text);
    font-size: 0.82rem;
    font-weight: 600;
    line-height: 1.75;
}

.course-teachers .teacher-experience {
    margin: 0 0 16px;
    color: var(--muted);
    font-size: 0.78rem;
    line-height: 1.7;
}

.course-teachers .teacher-bio {
    margin: 0 0 20px;
    color: var(--muted);
    font-size: 0.86rem;
    line-height: 1.85;
}

/* Clearly marked draft philosophy */

.course-teachers .teacher-philosophy {
    margin-top: auto;
    margin-bottom: 22px;
    padding: 17px;
    border-left: 3px solid var(--secondary);
    border-radius: 0 var(--radius-small) var(--radius-small) 0;
    background: var(--white);
}

.course-teachers .teacher-philosophy > span {
    display: block;
    margin-bottom: 8px;
    color: var(--primary);
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.course-teachers .teacher-philosophy p {
    margin: 0;
    color: var(--muted);
    font-size: 0.82rem;
    line-height: 1.8;
}

/* Individual links */

.course-teachers .teacher-link {
    display: inline-flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding-top: 16px;
    border-top: 1px solid var(--border);
    color: var(--primary);
    font-size: 0.81rem;
    font-weight: 800;
    text-decoration: none;
}

.course-teachers .teacher-link span,
.course-teachers .teachers-footer-link span {
    color: var(--secondary);
    font-size: 1.1rem;
    transition: transform 0.2s ease;
}

.course-teachers .teacher-link:hover span,
.course-teachers .teachers-footer-link:hover span {
    transform: translateX(4px);
}

/* Bottom faculty CTA */

.course-teachers .teachers-footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 30px;
    margin-top: 55px;
    padding: 35px 40px;
    border-radius: var(--radius);
    background: var(--primary);
}

.course-teachers .teachers-footer h3 {
    margin: 0;
    color: var(--white);
    font-family: var(--font-heading);
    font-size: clamp(1.6rem, 3vw, 2.1rem);
    font-weight: 600;
}

.course-teachers .teachers-footer p {
    margin: 10px 0 0;
    color: rgb(255 255 255 / 78%);
    font-size: 0.87rem;
    line-height: 1.8;
}

.course-teachers .teachers-footer-link {
    display: inline-flex;
    flex: 0 0 auto;
    align-items: center;
    gap: 12px;
    padding: 14px 19px;
    border: 1px solid var(--secondary);
    border-radius: var(--radius-small);
    background: var(--secondary);
    color: var(--dark);
    font-size: 0.82rem;
    font-weight: 800;
    text-decoration: none;
    transition: background 0.2s ease, color 0.2s ease;
}

.course-teachers .teachers-footer-link span {
    color: var(--dark);
}

.course-teachers .teachers-footer-link:hover {
    background: transparent;
    color: var(--white);
}

.course-teachers .teachers-footer-link:hover span {
    color: var(--secondary);
}

/* Responsive */

@media (max-width: 1050px) {
    .course-teachers .teachers-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 20px;
    }
}

@media (max-width: 700px) {
    .course-teachers {
        padding: 70px 0;
    }

    .course-teachers .teachers-heading {
        margin-bottom: 38px;
    }

    .course-teachers .teachers-grid {
        grid-template-columns: 1fr;
    }

    .course-teachers .teacher-image {
        min-height: 300px;
    }

    .course-teachers .teacher-content {
        padding: 24px 22px;
    }

    .course-teachers .teachers-footer {
        align-items: flex-start;
        flex-direction: column;
        margin-top: 35px;
        padding: 28px 23px;
    }

    .course-teachers .teachers-footer-link {
        width: 100%;
        justify-content: center;
    }
}

@media (prefers-reduced-motion: reduce) {
    .course-teachers .teacher-card,
    .course-teachers .teacher-image img,
    .course-teachers .teacher-link span,
    .course-teachers .teachers-footer-link {
        transition: none;
    }

    .course-teachers .teacher-card:hover {
        transform: none;
    }
}

/* =========================================
   SECTION 9: WHY STUDY YOGA IN RISHIKESH
========================================= */

.course-rishikesh {
    width: 100%;
    padding: 100px 0;
    overflow: hidden;
    background: var(--white);
    color: var(--text);
    font-family: var(--font-body);
    box-sizing: border-box;
}

.course-rishikesh *,
.course-rishikesh *::before,
.course-rishikesh *::after {
    box-sizing: border-box;
}

.course-rishikesh .container-custom {
    width: min(calc(100% - 40px));
    max-width: var(--container);
    margin-right: auto;
    margin-left: auto;
}

/* Shared typography */

.course-rishikesh .rishikesh-eyebrow {
    display: inline-block;
    margin: 0 0 15px;
    color: var(--secondary);
    font-size: 0.76rem;
    font-weight: 800;
    letter-spacing: 0.15em;
    line-height: 1.5;
    text-transform: uppercase;
}

.course-rishikesh h2,
.course-rishikesh h3,
.course-rishikesh h4 {
    color: var(--primary);
    font-family: var(--font-heading);
    font-weight: 600;
    line-height: 1.2;
}

.course-rishikesh p {
    overflow-wrap: break-word;
}

/* =========================================
   INTRODUCTION + IMAGE
========================================= */

.course-rishikesh .rishikesh-intro {
    display: grid;
    grid-template-columns: minmax(0, 1.05fr) minmax(0, 0.95fr);
    align-items: center;
    gap: clamp(35px, 5vw, 70px);
    width: 100%;
        max-width: none;
    grid-template-columns: minmax(0, 1.05fr) minmax(0, 0.95fr);
}

.course-rishikesh .rishikesh-copy {
    width: 100%;
    min-width: 0;
}

.course-rishikesh .rishikesh-copy h2 {
    max-width: 650px;
    margin: 0;
    font-size: clamp(2.5rem, 4vw, 3.6rem);
    line-height: 1.12;
}

.course-rishikesh .rishikesh-copy p {
    max-width: 650px;
    margin: 20px 0 0;
    color: var(--muted);
    font-size: 0.96rem;
    line-height: 1.9;
}

.course-rishikesh .rishikesh-image {
    position: relative;
    width: 100%;
    min-width: 0;
    min-height: 480px;
    aspect-ratio: 4 / 5;
    overflow: hidden;
    border-radius: var(--radius);
    background: var(--bg-alt);
}

.course-rishikesh .rishikesh-image img {
    position: absolute;
    inset: 0;
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}

.course-rishikesh .rishikesh-image-label {
    position: absolute;
    right: 18px;
    bottom: 18px;
    left: 18px;
    z-index: 1;
    padding: 14px 17px;
    border: 1px solid rgb(255 255 255 / 30%);
    border-radius: var(--radius-small);
    background: rgb(7 26 45 / 86%);
    color: var(--white);
    font-size: 0.82rem;
    font-weight: 600;
    line-height: 1.6;
}

/* =========================================
   CULTURAL LEARNING
========================================= */

.course-rishikesh .rishikesh-learning {
    margin-top: 90px;
}

.course-rishikesh .rishikesh-section-heading {
    max-width: 780px;
    margin: 0 0 35px;
}

.course-rishikesh .rishikesh-section-heading h3,
.course-rishikesh .excursions-heading h3 {
    margin: 0;
    font-size: clamp(2rem, 3.2vw, 2.8rem);
    line-height: 1.2;
}

.course-rishikesh .rishikesh-section-heading > p,
.course-rishikesh .excursions-heading > p {
    margin: 17px 0 0;
    color: var(--muted);
    font-size: 0.93rem;
    line-height: 1.85;
}

.course-rishikesh .rishikesh-value-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 22px;
    width: 100%;
}

.course-rishikesh .rishikesh-value-card {
    min-width: 0;
    padding: 30px;
    border: 1px solid var(--border);
    border-radius: var(--radius-small);
    background: var(--white);
}

.course-rishikesh .rishikesh-number {
    display: inline-block;
    margin-bottom: 20px;
    color: var(--secondary);
    font-size: 0.78rem;
    font-weight: 800;
    letter-spacing: 0.12em;
}

.course-rishikesh .rishikesh-value-card h4 {
    margin: 0 0 12px;
    font-size: 1.65rem;
    line-height: 1.25;
}

.course-rishikesh .rishikesh-value-card p {
    margin: 0;
    color: var(--muted);
    font-size: 0.87rem;
    line-height: 1.85;
}

/* =========================================
   INCLUDED EXCURSIONS
========================================= */

.course-rishikesh .rishikesh-excursions {
    width: 100%;
    margin-top: 90px;
    padding: clamp(28px, 4vw, 48px);
    border-radius: var(--radius);
    background: var(--primary);
}

.course-rishikesh .excursions-heading {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 0.85fr);
    align-items: end;
    gap: 35px;
    margin-bottom: 35px;
}

.course-rishikesh .excursions-heading .rishikesh-eyebrow {
    color: var(--secondary);
}

.course-rishikesh .excursions-heading h3 {
    color: var(--white);
}

.course-rishikesh .excursions-heading > p {
    margin: 0 0 3px;
    color: rgb(255 255 255 / 82%);
}

.course-rishikesh .excursions-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 16px;
    width: 100%;
}

.course-rishikesh .excursion-card {
    display: flex;
    min-width: 0;
    flex-direction: column;
    padding: 24px 20px;
    border: 1px solid rgb(255 255 255 / 20%);
    border-radius: var(--radius-small);
    background: rgb(255 255 255 / 6%);
    transition: background 0.2s ease, border-color 0.2s ease;
}

.course-rishikesh .excursion-card:hover {
    border-color: var(--secondary);
    background: rgb(255 255 255 / 10%);
}

.course-rishikesh .excursion-icon {
    display: grid;
    flex: 0 0 42px;
    width: 42px;
    height: 42px;
    margin-bottom: 20px;
    place-items: center;
    border-radius: 50%;
    background: rgb(201 162 74 / 16%);
    color: var(--secondary);
    font-size: 1.35rem;
}

.course-rishikesh .excursion-card h4 {
    margin: 0 0 12px;
    color: var(--white);
    font-size: 1.45rem;
    line-height: 1.25;
}

.course-rishikesh .excursion-card p {
    flex: 1;
    margin: 0 0 22px;
    color: rgb(255 255 255 / 82%);
    font-size: 0.85rem;
    line-height: 1.85;
}

.course-rishikesh .excursion-included {
    display: block;
    padding-top: 13px;
    border-top: 1px solid rgb(255 255 255 / 20%);
    color: var(--secondary);
    font-size: 0.72rem;
    font-weight: 800;
    line-height: 1.6;
}

/* =========================================
   CLOSING CTA
========================================= */

.course-rishikesh .rishikesh-closing {
    max-width: 820px;
    margin: 75px auto 0;
    text-align: center;
}

.course-rishikesh .rishikesh-closing h3 {
    margin: 0;
    font-size: clamp(2rem, 3.5vw, 2.8rem);
    line-height: 1.2;
}

.course-rishikesh .rishikesh-closing > p {
    max-width: 760px;
    margin: 20px auto 25px;
    color: var(--muted);
    font-size: 0.94rem;
    line-height: 1.9;
}

.course-rishikesh .rishikesh-cta {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    padding: 15px 21px;
    border: 1px solid var(--secondary);
    border-radius: var(--radius-small);
    background: var(--secondary);
    color: var(--dark);
    font-size: 0.84rem;
    font-weight: 800;
    text-align: center;
    text-decoration: none;
    transition: background 0.2s ease, color 0.2s ease;
}

.course-rishikesh .rishikesh-cta:hover {
    background: transparent;
    color: var(--primary);
}

/* =========================================
   TABLET
========================================= */

@media (max-width: 1050px) {
    .course-rishikesh {
        padding: 80px 0;
    }

    .course-rishikesh .rishikesh-intro {
        gap: 35px;
    }

    .course-rishikesh .rishikesh-image {
        min-height: 400px;
    }

    .course-rishikesh .rishikesh-value-grid {
        gap: 16px;
    }

    .course-rishikesh .rishikesh-value-card {
        padding: 24px;
    }

    .course-rishikesh .excursions-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .course-rishikesh .excursion-card {
        padding: 24px;
    }
}

/* =========================================
   MOBILE / SMALL TABLET
========================================= */

@media (max-width: 760px) {
    .course-rishikesh {
        padding: 65px 0;
    }

    .course-rishikesh .rishikesh-intro {
        grid-template-columns: minmax(0, 1fr);
        gap: 28px;
    }

    .course-rishikesh .rishikesh-copy h2 {
        font-size: clamp(2.2rem, 8vw, 3rem);
    }

    .course-rishikesh .rishikesh-copy p {
        margin-top: 16px;
        font-size: 0.92rem;
    }

    .course-rishikesh .rishikesh-image {
        min-height: 0;
        aspect-ratio: 4 / 3;
    }

    .course-rishikesh .rishikesh-learning,
    .course-rishikesh .rishikesh-excursions {
        margin-top: 65px;
    }

    .course-rishikesh .rishikesh-section-heading h3,
    .course-rishikesh .excursions-heading h3 {
        font-size: clamp(1.9rem, 6vw, 2.5rem);
    }

    .course-rishikesh .rishikesh-value-grid {
        grid-template-columns: minmax(0, 1fr);
        gap: 15px;
    }

    .course-rishikesh .rishikesh-value-card {
        padding: 25px;
    }

    .course-rishikesh .rishikesh-number {
        margin-bottom: 14px;
    }

    .course-rishikesh .excursions-heading {
        grid-template-columns: minmax(0, 1fr);
        gap: 18px;
    }

    .course-rishikesh .rishikesh-closing {
        margin-top: 55px;
    }
}

/* =========================================
   SMALL MOBILE
========================================= */

@media (max-width: 480px) {
    .course-rishikesh {
        padding: 55px 0;
    }

    .course-rishikesh .rishikesh-copy h2 {
        font-size: 2.25rem;
    }

    .course-rishikesh .rishikesh-image {
        aspect-ratio: 4 / 3;
    }

    .course-rishikesh .rishikesh-image-label {
        right: 12px;
        bottom: 12px;
        left: 12px;
        padding: 12px;
        font-size: 0.75rem;
    }

    .course-rishikesh .rishikesh-value-card {
        padding: 22px;
    }

    .course-rishikesh .rishikesh-excursions {
        padding: 22px 16px;
    }

    .course-rishikesh .excursions-grid {
        grid-template-columns: minmax(0, 1fr);
        gap: 13px;
    }

    .course-rishikesh .excursion-card {
        padding: 22px 19px;
    }

    .course-rishikesh .rishikesh-closing > p {
        font-size: 0.9rem;
    }

    .course-rishikesh .rishikesh-cta {
        width: 100%;
    }
}

/* =========================================
   ACCESSIBILITY
========================================= */

@media (prefers-reduced-motion: reduce) {
    .course-rishikesh .excursion-card,
    .course-rishikesh .rishikesh-cta {
        transition: none;
    }
}

/* =========================================
   SECTION 10: CERTIFICATION
========================================= */

.course-certification {
    width: 100%;
    padding: 100px 0;
    background: var(--white);
    color: var(--text);
    font-family: var(--font-body);
}

.course-certification *,
.course-certification *::before,
.course-certification *::after {
    box-sizing: border-box;
}

.course-certification .certification-heading {
    max-width: 800px;
    margin: 0 auto 60px;
    text-align: center;
}

.course-certification .certification-eyebrow {
    display: inline-block;
    margin: 0 0 14px;
    color: var(--secondary);
    font-size: 0.75rem;
    font-weight: 800;
    letter-spacing: 0.15em;
    line-height: 1.5;
    text-transform: uppercase;
}

.course-certification h2,
.course-certification h3,
.course-certification h4 {
    color: var(--primary);
    font-family: var(--font-heading);
    font-weight: 600;
    line-height: 1.2;
}

.course-certification .certification-heading h2 {
    margin: 0;
    font-size: clamp(2.3rem, 4vw, 3.5rem);
}

.course-certification .certification-heading > p {
    max-width: 680px;
    margin: 20px auto 0;
    color: var(--muted);
    font-size: 0.96rem;
    line-height: 1.9;
}

/* Registration intro */

.course-certification .certification-intro {
    display: grid;
    grid-template-columns: minmax(0, 1.2fr) minmax(280px, 0.8fr);
    align-items: center;
    gap: clamp(35px, 6vw, 80px);
}

.course-certification .certification-copy {
    min-width: 0;
}

.course-certification .certification-status {
    display: inline-flex;
    align-items: center;
    margin-bottom: 18px;
    padding: 9px 13px;
    border: 1px solid var(--border);
    border-radius: 30px;
    background: var(--bg);
    color: var(--primary);
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.07em;
}

.course-certification .certification-copy h3 {
    margin: 0;
    font-size: clamp(2rem, 3vw, 2.8rem);
}

.course-certification .certification-copy > p {
    margin: 18px 0 0;
    color: var(--muted);
    font-size: 0.93rem;
    line-height: 1.9;
}

/* Reserved badge area */

.course-certification .certification-badge-area {
    display: flex;
    min-height: 320px;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 35px;
    border: 1px solid var(--border);
    border-radius: var(--radius);
    background: var(--bg);
    text-align: center;
}

.course-certification .certification-badge-label {
    display: grid;
    width: 110px;
    height: 110px;
    margin-bottom: 22px;
    place-items: center;
    border: 2px solid var(--secondary);
    border-radius: 50%;
    color: var(--primary);
    font-size: 1.1rem;
    font-weight: 800;
    letter-spacing: 0.06em;
}

.course-certification .certification-badge-area h4 {
    margin: 0;
    font-size: 1.65rem;
}

.course-certification .certification-badge-area > p {
    max-width: 280px;
    margin: 12px 0 0;
    color: var(--muted);
    font-size: 0.82rem;
    line-height: 1.8;
}

/* Requirements */

.course-certification .certification-requirements {
    margin-top: 100px;
}

.course-certification .certification-requirements-heading {
    max-width: 720px;
    margin-bottom: 32px;
}

.course-certification .certification-requirements-heading h3 {
    margin: 0;
    font-size: clamp(2rem, 3.2vw, 2.7rem);
}

.course-certification .certification-requirements-heading > p {
    margin: 15px 0 0;
    color: var(--muted);
    font-size: 0.92rem;
    line-height: 1.85;
}

.course-certification .certification-steps {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 20px;
}

.course-certification .certification-step {
    display: flex;
    align-items: flex-start;
    gap: 17px;
    padding: 27px 23px;
    border: 1px solid var(--border);
    border-radius: var(--radius-small);
    background: var(--bg);
}

.course-certification .certification-step-number {
    display: grid;
    flex: 0 0 42px;
    width: 42px;
    height: 42px;
    place-items: center;
    border-radius: 50%;
    background: var(--primary);
    color: var(--white);
    font-size: 0.76rem;
    font-weight: 800;
}

.course-certification .certification-step h4 {
    margin: 2px 0 10px;
    font-family: var(--font-body);
    font-size: 0.96rem;
    font-weight: 800;
    line-height: 1.5;
}

.course-certification .certification-step p {
    margin: 0;
    color: var(--muted);
    font-size: 0.83rem;
    line-height: 1.85;
}

/* Course completion vs individual registration */

.course-certification .certification-comparison {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 50px minmax(0, 1fr);
    align-items: stretch;
    gap: 20px;
    margin-top: 70px;
}

.course-certification .certification-comparison-card {
    padding: 32px;
    border: 1px solid var(--border);
    border-radius: var(--radius);
    background: var(--bg);
}

.course-certification .certification-comparison-card.certification-next-step {
    border-color: var(--secondary);
    background: var(--primary);
}

.course-certification .certification-card-label {
    display: block;
    margin-bottom: 14px;
    color: var(--secondary);
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.13em;
}

.course-certification .certification-comparison-card h3 {
    margin: 0;
    font-size: clamp(1.7rem, 2.6vw, 2.2rem);
}

.course-certification .certification-next-step h3 {
    color: var(--white);
}

.course-certification .certification-comparison-card > p {
    margin: 16px 0 22px;
    color: var(--muted);
    font-size: 0.88rem;
    line-height: 1.9;
}

.course-certification .certification-next-step > p {
    color: rgb(255 255 255 / 80%);
}

.course-certification .certification-result {
    display: inline-block;
    padding-top: 13px;
    border-top: 1px solid var(--border);
    color: var(--primary);
    font-size: 0.78rem;
    font-weight: 800;
    line-height: 1.6;
}

.course-certification .certification-next-step .certification-result {
    border-color: rgb(255 255 255 / 25%);
    color: var(--secondary);
}

.course-certification .certification-comparison-divider {
    display: grid;
    place-items: center;
}

.course-certification .certification-comparison-divider span {
    display: grid;
    width: 42px;
    height: 42px;
    place-items: center;
    border-radius: 50%;
    background: var(--bg-alt);
    color: var(--primary);
    font-size: 1.3rem;
}

/* Important distinction note */

.course-certification .certification-note {
    display: flex;
    align-items: flex-start;
    gap: 15px;
    margin-top: 30px;
    padding: 23px 25px;
    border-left: 3px solid var(--secondary);
    border-radius: 0 var(--radius-small) var(--radius-small) 0;
    background: var(--bg);
}

.course-certification .certification-note-icon {
    display: grid;
    flex: 0 0 28px;
    width: 28px;
    height: 28px;
    place-items: center;
    border-radius: 50%;
    background: var(--primary);
    color: var(--white);
    font-size: 0.85rem;
    font-weight: 800;
}

.course-certification .certification-note p {
    margin: 0;
    color: var(--muted);
    font-size: 0.85rem;
    line-height: 1.9;
}

.course-certification .certification-note strong {
    color: var(--primary);
}

/* CTA */

.course-certification .certification-cta {
    display: flex;
    justify-content: center;
    margin-top: 38px;
}

.course-certification .certification-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    padding: 15px 21px;
    border: 1px solid var(--secondary);
    border-radius: var(--radius-small);
    background: var(--secondary);
    color: var(--dark);
    font-size: 0.84rem;
    font-weight: 800;
    text-decoration: none;
    transition: background 0.2s ease, color 0.2s ease;
}

.course-certification .certification-button:hover {
    background: transparent;
    color: var(--primary);
}

/* Responsive */

@media (max-width: 1000px) {
    .course-certification {
        padding: 80px 0;
    }

    .course-certification .certification-intro {
        grid-template-columns: minmax(0, 1fr) minmax(230px, 0.8fr);
        gap: 30px;
    }

    .course-certification .certification-steps {
        grid-template-columns: 1fr;
    }

    .course-certification .certification-step {
        padding: 23px;
    }

    .course-certification .certification-comparison {
        gap: 12px;
    }

    .course-certification .certification-comparison-card {
        padding: 25px;
    }
}

@media (max-width: 700px) {
    .course-certification {
        padding: 65px 0;
    }

    .course-certification .certification-heading {
        margin-bottom: 40px;
    }

    .course-certification .certification-intro {
        grid-template-columns: minmax(0, 1fr);
        gap: 30px;
    }

    .course-certification .certification-badge-area {
        min-height: 260px;
    }

    .course-certification .certification-requirements {
        margin-top: 65px;
    }

    .course-certification .certification-comparison {
        grid-template-columns: minmax(0, 1fr);
        gap: 12px;
        margin-top: 50px;
    }

    .course-certification .certification-comparison-divider {
        min-height: 38px;
        transform: rotate(90deg);
    }

    .course-certification .certification-note {
        padding: 20px 17px;
    }
}

@media (max-width: 480px) {
    .course-certification .certification-heading h2 {
        font-size: 2.25rem;
    }

    .course-certification .certification-step {
        gap: 13px;
        padding: 20px 16px;
    }

    .course-certification .certification-comparison-card {
        padding: 24px 20px;
    }

    .course-certification .certification-button {
        width: 100%;
    }
}

@media (prefers-reduced-motion: reduce) {
    .course-certification .certification-button {
        transition: none;
    }
}

/* Course page: isolate certification section from legacy homepage styles */

section.course-certification .certification-intro {
    width: 100%;
    max-width: none;
    grid-template-columns: minmax(0, 1.2fr) minmax(280px, 0.8fr);
}

section.course-certification .certification-copy {
    width: 100%;
    max-width: none;
    min-width: 0;
}

section.course-certification .certification-copy h3,
section.course-certification .certification-copy p {
    max-width: none;
}

/* Course page: isolate Rishikesh section from legacy homepage styles */

section.course-rishikesh .rishikesh-intro {
    width: 100%;
    max-width: none;
    grid-template-columns: minmax(0, 1.05fr) minmax(0, 0.95fr);
}

section.course-rishikesh .rishikesh-copy {
    width: 100%;
    max-width: none;
    min-width: 0;
}

section.course-rishikesh .rishikesh-copy h2,
section.course-rishikesh .rishikesh-copy p {
    max-width: none;
}

@media (max-width: 700px) {
    section.course-certification .certification-intro,
    section.course-rishikesh .rishikesh-intro {
        grid-template-columns: minmax(0, 1fr);
    }
}

/* =========================================
   200-HOUR COURSE: STUDENT REVIEWS
========================================= */

.course-reviews {
    padding: 90px 0;
    background: var(--bg);
    color: var(--text);
    overflow: hidden;
}

.course-reviews__heading {
    max-width: 760px;
    margin: 0 auto 48px;
    text-align: center;
}

.course-reviews__eyebrow {
    display: inline-block;
    margin-bottom: 14px;
    color: var(--secondary);
    font-family: var(--font-body);
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 2px;
}

.course-reviews__heading h2 {
    margin: 0 0 16px;
    color: var(--primary);
    font-family: var(--font-heading);
    font-size: clamp(32px, 4vw, 48px);
    font-weight: 600;
    line-height: 1.15;
}

.course-reviews__heading > p {
    max-width: 620px;
    margin: 0 auto;
    color: var(--muted);
    font-family: var(--font-body);
    font-size: 15px;
    line-height: 1.8;
}

.course-reviews__layout {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 28px;
    align-items: stretch;
}

.course-review-card {
    display: flex;
    flex-direction: column;
    min-width: 0;
    padding: 28px;
    background: var(--white);
    border: 1px solid var(--border);
    border-radius: var(--radius);
}

.course-review-card--featured {
    justify-content: space-between;
    padding: 36px;
    background: var(--primary);
    border-color: var(--primary);
    color: var(--white);
}

.course-review-card__top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 24px;
}

.course-review-card__label {
    display: inline-flex;
    align-self: flex-start;
    padding: 8px 12px;
    border-radius: 30px;
    background: var(--bg-alt);
    color: var(--primary);
    font-family: var(--font-body);
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 0.5px;
}

.course-review-card--featured .course-review-card__label {
    background: rgba(255, 255, 255, 0.12);
    color: var(--white);
}

.course-review-card__quote-mark {
    color: var(--secondary);
    font-family: var(--font-heading);
    font-size: 76px;
    line-height: 0.8;
}

.course-review-card__text {
    margin: 0 0 28px;
    color: var(--text);
    font-family: var(--font-body);
    font-size: 14px;
    line-height: 1.9;
}

.course-review-card--featured .course-review-card__text {
    color: rgba(255, 255, 255, 0.92);
    font-family: var(--font-heading);
    font-size: clamp(19px, 2vw, 23px);
    line-height: 1.65;
}

.course-review-card__author {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-top: auto;
}

.course-review-card__avatar {
    display: grid;
    flex: 0 0 42px;
    width: 42px;
    height: 42px;
    place-items: center;
    border-radius: 50%;
    background: var(--bg-alt);
    color: var(--primary);
    font-family: var(--font-heading);
    font-size: 21px;
    font-weight: 700;
}

.course-review-card--featured .course-review-card__avatar {
    background: rgba(255, 255, 255, 0.15);
    color: var(--white);
}

.course-review-card__author h3 {
    margin: 0 0 4px;
    color: var(--primary);
    font-family: var(--font-body);
    font-size: 14px;
    font-weight: 800;
}

.course-review-card--featured .course-review-card__author h3 {
    color: var(--white);
}

.course-review-card__author span {
    color: var(--muted);
    font-family: var(--font-body);
    font-size: 12px;
}

.course-review-card--featured .course-review-card__author span {
    color: rgba(255, 255, 255, 0.72);
}

.course-review-card__source {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    align-self: flex-start;
    margin-top: 24px;
    color: var(--primary);
    font-family: var(--font-body);
    font-size: 12px;
    font-weight: 800;
    text-decoration: none;
}

.course-review-card--featured .course-review-card__source {
    color: var(--secondary);
}

.course-review-card__source:hover {
    text-decoration: underline;
}

.course-reviews__secondary {
    display: flex;
    flex-direction: column;
    min-width: 0;
}

.course-reviews__slider-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 16px;
    color: var(--primary);
    font-family: var(--font-body);
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 1px;
}

.course-reviews__controls {
    display: flex;
    gap: 8px;
}

.course-reviews__arrow {
    display: grid;
    width: 40px;
    height: 40px;
    place-items: center;
    border: 1px solid var(--border);
    border-radius: 50%;
    background: var(--white);
    color: var(--primary);
    font-size: 20px;
    cursor: pointer;
    transition: background 0.2s ease, color 0.2s ease;
}

.course-reviews__arrow:hover:not(:disabled) {
    background: var(--primary);
    color: var(--white);
}

.course-reviews__arrow:disabled {
    opacity: 0.35;
    cursor: not-allowed;
}

.course-reviews__viewport {
    flex: 1;
    min-width: 0;
    overflow: hidden;
    border-radius: var(--radius);
}

.course-reviews__track {
    display: flex;
    height: 100%;
    transition: transform 0.4s ease;
    will-change: transform;
}

.course-review-card--small {
    flex: 0 0 100%;
    min-height: 100%;
}

.course-reviews__footer {
    display: flex;
    justify-content: space-between;
    gap: 12px;
    margin-top: 16px;
    color: var(--muted);
    font-family: var(--font-body);
    font-size: 12px;
}

.course-reviews__cta {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    gap: 20px;
    margin-top: 48px;
    padding-top: 28px;
    border-top: 1px solid var(--border);
    text-align: center;
}

.course-reviews__cta p {
    margin: 0;
    color: var(--primary);
    font-family: var(--font-body);
    font-size: 14px;
    font-weight: 700;
}

.course-reviews__button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 13px 22px;
    border: 1px solid var(--secondary);
    border-radius: 30px;
    background: var(--secondary);
    color: var(--dark);
    font-family: var(--font-body);
    font-size: 12px;
    font-weight: 800;
    text-decoration: none;
    transition: opacity 0.2s ease;
}

.course-reviews__button:hover {
    opacity: 0.85;
}

@media (max-width: 900px) {
    .course-reviews__layout {
        grid-template-columns: 1fr;
    }

    .course-review-card--featured {
        padding: 30px;
    }

    .course-review-card--small {
        min-height: 320px;
    }
}

@media (max-width: 600px) {
    .course-reviews {
        padding: 64px 0;
    }

    .course-reviews__heading {
        margin-bottom: 32px;
        text-align: left;
    }

    .course-reviews__heading > p {
        margin-left: 0;
    }

    .course-review-card,
    .course-review-card--featured {
        padding: 24px;
    }

    .course-review-card--featured .course-review-card__text {
        font-size: 20px;
    }

    .course-review-card--small {
        min-height: 360px;
    }

    .course-reviews__cta {
        flex-direction: column;
        gap: 14px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .course-reviews__track {
        transition: none;
    }
}

/* =========================================
   SECTION 12: COURSE PRICING & INCLUSIONS
========================================= */

.course-pricing {
    padding: 90px 0;
    background: var(--bg);
    color: var(--text);
}

.course-pricing__heading {
    max-width: 780px;
    margin: 0 auto 46px;
    text-align: center;
}

.course-pricing__eyebrow {
    display: inline-block;
    margin-bottom: 13px;
    color: var(--secondary);
    font-family: var(--font-body);
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 1.8px;
    text-transform: uppercase;
}

.course-pricing__heading h2,
.course-pricing__inclusions-heading h3,
.course-pricing__cta h3 {
    color: var(--primary);
    font-family: var(--font-heading);
    font-weight: 600;
    line-height: 1.2;
}

.course-pricing__heading h2 {
    margin: 0 0 16px;
    font-size: clamp(32px, 4vw, 48px);
}

.course-pricing__heading > p {
    max-width: 650px;
    margin: 0 auto;
    color: var(--muted);
    font-family: var(--font-body);
    font-size: 15px;
    line-height: 1.8;
}

/* Room comparison */

.course-pricing__grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 16px;
    align-items: stretch;
}

.course-pricing__card {
    display: flex;
    flex-direction: column;
    min-width: 0;
    padding: 26px 22px;
    background: var(--white);
    border: 1px solid var(--border);
    border-radius: var(--radius);
    transition: border-color 0.2s ease,
                transform 0.2s ease;
}

.course-pricing__card:hover {
    border-color: var(--secondary);
    transform: translateY(-3px);
}

.course-pricing__card--featured {
    border: 2px solid var(--secondary);
    background: var(--white);
}

.course-pricing__room-type {
    align-self: flex-start;
    margin-bottom: 17px;
    padding: 7px 10px;
    border-radius: 30px;
    background: var(--bg-alt);
    color: var(--primary);
    font-family: var(--font-body);
    font-size: 10px;
    font-weight: 800;
    letter-spacing: 0.4px;
}

.course-pricing__card h3 {
    margin: 0 0 14px;
    color: var(--primary);
    font-family: var(--font-heading);
    font-size: 25px;
    font-weight: 600;
    line-height: 1.2;
}

.course-pricing__price {
    display: flex;
    align-items: baseline;
    gap: 3px;
    margin-bottom: 5px;
    color: var(--primary);
    font-family: var(--font-heading);
    font-size: clamp(34px, 3vw, 43px);
    font-weight: 600;
    line-height: 1.15;
    white-space: nowrap;
}

.course-pricing__price span {
    color: var(--secondary);
    font-family: var(--font-body);
    font-size: 21px;
    font-weight: 700;
}

.course-pricing__duration {
    margin: 5px 0 19px;
    color: var(--muted);
    font-family: var(--font-body);
    font-size: 11px;
    line-height: 1.6;
}

.course-pricing__description {
    flex: 1;
    margin: 0 0 24px;
    color: var(--muted);
    font-family: var(--font-body);
    font-size: 13px;
    line-height: 1.8;
}

.course-pricing__button {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 46px;
    padding: 12px 10px;
    border: 1px solid var(--primary);
    border-radius: var(--radius-small);
    color: var(--primary);
    font-family: var(--font-body);
    font-size: 11px;
    font-weight: 800;
    text-align: center;
    text-decoration: none;
    transition: background 0.2s ease,
                color 0.2s ease;
}

.course-pricing__button:hover {
    background: var(--primary);
    color: var(--white);
}

.course-pricing__card--featured .course-pricing__button {
    border-color: var(--secondary);
    background: var(--secondary);
    color: var(--dark);
}

.course-pricing__card--featured .course-pricing__button:hover {
    opacity: 0.85;
}

/* Package inclusions */

.course-pricing__inclusions {
    margin-top: 76px;
    padding: 44px;
    border: 1px solid var(--border);
    border-radius: var(--radius);
    background: var(--white);
}

.course-pricing__inclusions-heading {
    max-width: 700px;
    margin-bottom: 32px;
}

.course-pricing__inclusions-heading h3 {
    margin: 0 0 12px;
    font-size: clamp(28px, 3vw, 36px);
}

.course-pricing__inclusions-heading > p {
    margin: 0;
    color: var(--muted);
    font-family: var(--font-body);
    font-size: 14px;
    line-height: 1.8;
}

.course-pricing__inclusions-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 28px 36px;
}

.course-pricing__inclusion {
    display: flex;
    align-items: flex-start;
    gap: 14px;
}

.course-pricing__check {
    display: grid;
    flex: 0 0 30px;
    width: 30px;
    height: 30px;
    place-items: center;
    border-radius: 50%;
    background: var(--bg-alt);
    color: var(--primary);
    font-size: 14px;
    font-weight: 800;
}

.course-pricing__inclusion h4 {
    margin: 2px 0 7px;
    color: var(--primary);
    font-family: var(--font-body);
    font-size: 14px;
    font-weight: 800;
    line-height: 1.5;
}

.course-pricing__inclusion p {
    margin: 0;
    color: var(--muted);
    font-family: var(--font-body);
    font-size: 13px;
    line-height: 1.8;
}

.course-pricing__note {
    margin: 30px 0 0;
    padding-top: 20px;
    border-top: 1px solid var(--border);
    color: var(--muted);
    font-family: var(--font-body);
    font-size: 12px;
    line-height: 1.8;
}

/* Payment and refund policies */

.course-pricing__policies {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 20px;
    margin-top: 28px;
}

.course-pricing__policy {
    padding: 30px;
    border: 1px solid var(--border);
    border-radius: var(--radius);
    background: var(--bg-alt);
}

.course-pricing__policy-number {
    display: inline-block;
    margin-bottom: 17px;
    color: var(--secondary);
    font-family: var(--font-body);
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 1px;
}

.course-pricing__policy h3 {
    margin: 0 0 13px;
    color: var(--primary);
    font-family: var(--font-heading);
    font-size: 25px;
    font-weight: 600;
}

.course-pricing__policy p {
    margin: 0 0 12px;
    color: var(--muted);
    font-family: var(--font-body);
    font-size: 13px;
    line-height: 1.8;
}

.course-pricing__policy p:last-child {
    margin-bottom: 0;
}

.course-pricing__policy .course-pricing__policy-pending {
    padding-top: 12px;
    border-top: 1px solid var(--border);
    color: var(--text);
    font-size: 12px;
}

/* Final CTA */

.course-pricing__cta {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 30px;
    margin-top: 34px;
    padding: 36px;
    border-radius: var(--radius);
    background: var(--primary);
}

.course-pricing__cta .course-pricing__eyebrow {
    color: var(--secondary);
}

.course-pricing__cta h3 {
    margin: 0 0 10px;
    color: var(--white);
    font-size: clamp(27px, 3vw, 35px);
}

.course-pricing__cta p {
    max-width: 600px;
    margin: 0;
    color: rgba(255, 255, 255, 0.8);
    font-family: var(--font-body);
    font-size: 13px;
    line-height: 1.8;
}

.course-pricing__cta-button {
    display: inline-flex;
    flex: 0 0 auto;
    align-items: center;
    justify-content: center;
    gap: 12px;
    min-height: 48px;
    padding: 14px 20px;
    border-radius: var(--radius-small);
    background: var(--secondary);
    color: var(--dark);
    font-family: var(--font-body);
    font-size: 12px;
    font-weight: 800;
    text-align: center;
    text-decoration: none;
    transition: opacity 0.2s ease;
}

.course-pricing__cta-button:hover {
    opacity: 0.85;
}

/* Responsive */

@media (max-width: 1100px) {
    .course-pricing__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .course-pricing__price {
        font-size: 40px;
    }
}

@media (max-width: 760px) {
    .course-pricing {
        padding: 65px 0;
    }

    .course-pricing__heading {
        margin-bottom: 32px;
        text-align: left;
    }

    .course-pricing__heading > p {
        margin-left: 0;
    }

    .course-pricing__inclusions {
        margin-top: 48px;
        padding: 28px 22px;
    }

    .course-pricing__inclusions-grid,
    .course-pricing__policies {
        grid-template-columns: 1fr;
    }

    .course-pricing__inclusions-grid {
        gap: 24px;
    }

    .course-pricing__cta {
        align-items: flex-start;
        flex-direction: column;
        padding: 28px 24px;
    }

    .course-pricing__cta-button {
        width: 100%;
    }
}

@media (max-width: 480px) {
    .course-pricing__grid {
        grid-template-columns: 1fr;
        gap: 14px;
    }

    .course-pricing__card {
        padding: 24px;
    }

    .course-pricing__price {
        font-size: 42px;
    }

    .course-pricing__policy {
        padding: 24px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .course-pricing__card,
    .course-pricing__button,
    .course-pricing__cta-button {
        transition: none;
    }

    .course-pricing__card:hover {
        transform: none;
    }
}

/* =========================================
   SECTION 13: UPCOMING BATCHES & ENQUIRY
========================================= */

.course-batches {
    padding: 90px 0;
    background: var(--white);
    color: var(--text);
}

.course-batches__heading {
    max-width: 760px;
    margin: 0 auto 46px;
    text-align: center;
}

.course-batches__eyebrow {
    display: inline-block;
    margin-bottom: 13px;
    color: var(--secondary);
    font-family: var(--font-body);
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 1.8px;
}

.course-batches__heading h2 {
    margin: 0 0 15px;
    color: var(--primary);
    font-family: var(--font-heading);
    font-size: clamp(32px, 4vw, 48px);
    font-weight: 600;
    line-height: 1.2;
}

.course-batches__heading > p {
    max-width: 650px;
    margin: 0 auto;
    color: var(--muted);
    font-family: var(--font-body);
    font-size: 15px;
    line-height: 1.8;
}

.course-batches__layout {
    display: grid;
    grid-template-columns: minmax(0, 1.15fr) minmax(320px, 0.85fr);
    gap: 28px;
    align-items: start;
}

.course-batches__schedule,
.course-batches__form-panel {
    min-width: 0;
    padding: 32px;
    border: 1px solid var(--border);
    border-radius: var(--radius);
    background: var(--white);
}

.course-batches__schedule-header {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 10px;
    margin-bottom: 18px;
}

.course-batches__schedule-header h3,
.course-batches__form-panel h3 {
    margin: 0;
    color: var(--primary);
    font-family: var(--font-heading);
    font-size: 29px;
    font-weight: 600;
    line-height: 1.25;
}

.course-batches__schedule-header > span {
    color: var(--muted);
    font-family: var(--font-body);
    font-size: 11px;
}

.course-batches__list {
    display: flex;
    flex-direction: column;
}

.course-batches__batch {
    display: flex;
    width: 100%;
    align-items: center;
    gap: 15px;
    padding: 18px 8px;
    border: 0;
    border-bottom: 1px solid var(--border);
    background: transparent;
    color: inherit;
    text-align: left;
    cursor: pointer;
    transition: background 0.2s ease;
}

.course-batches__batch:hover,
.course-batches__batch[aria-pressed="true"] {
    background: var(--bg);
}

.course-batches__batch[aria-pressed="true"] {
    box-shadow: inset 3px 0 var(--secondary);
}

.course-batches__calendar {
    display: grid;
    flex: 0 0 44px;
    width: 44px;
    height: 44px;
    place-items: center;
    color: var(--secondary);
}

.course-batches__calendar svg {
    width: 32px;
    height: 32px;
    stroke: currentColor;
    stroke-width: 1.5;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.course-batches__batch-info {
    display: flex;
    flex: 1;
    flex-direction: column;
    gap: 5px;
    min-width: 0;
}

.course-batches__batch-info strong {
    color: var(--primary);
    font-family: var(--font-body);
    font-size: 14px;
    font-weight: 800;
    line-height: 1.5;
}

.course-batches__batch-info > span {
    color: var(--muted);
    font-family: var(--font-body);
    font-size: 12px;
    line-height: 1.5;
}

.course-batches__select-mark {
    display: grid;
    flex: 0 0 30px;
    width: 30px;
    height: 30px;
    place-items: center;
    border: 1px solid var(--border);
    border-radius: 50%;
    color: var(--primary);
    font-size: 18px;
}

.course-batches__batch[aria-pressed="true"] .course-batches__select-mark {
    border-color: var(--secondary);
    background: var(--secondary);
    color: var(--dark);
}

.course-batches__empty {
    padding: 34px 12px;
    text-align: center;
}

.course-batches__empty-icon {
    display: inline-block;
    margin-bottom: 12px;
    color: var(--secondary);
    font-size: 38px;
}

.course-batches__empty h4 {
    margin: 0 0 10px;
    color: var(--primary);
    font-family: var(--font-heading);
    font-size: 24px;
    font-weight: 600;
}

.course-batches__empty p,
.course-batches__schedule-note {
    color: var(--muted);
    font-family: var(--font-body);
    font-size: 12px;
    line-height: 1.8;
}

.course-batches__schedule-note {
    margin: 20px 0 0;
    padding-top: 18px;
    border-top: 1px solid var(--border);
}

/* Enquiry form */

.course-batches__form-panel {
    background: var(--bg-alt);
}

.course-batches__form-panel h3 {
    margin-bottom: 12px;
    font-size: 32px;
}

.course-batches__form-intro {
    margin: 0 0 24px;
    color: var(--muted);
    font-family: var(--font-body);
    font-size: 13px;
    line-height: 1.8;
}

.course-batches__form {
    display: flex;
    flex-direction: column;
    gap: 17px;
}

.course-batches__field {
    display: flex;
    flex-direction: column;
    gap: 7px;
}

.course-batches__field label {
    color: var(--primary);
    font-family: var(--font-body);
    font-size: 12px;
    font-weight: 800;
}

.course-batches__field input,
.course-batches__field select,
.course-batches__field textarea {
    width: 100%;
    min-width: 0;
    padding: 12px 13px;
    border: 1px solid var(--border);
    border-radius: var(--radius-small);
    outline: none;
    background: var(--white);
    color: var(--text);
    font-family: var(--font-body);
    font-size: 13px;
    line-height: 1.5;
    transition: border-color 0.2s ease,
                box-shadow 0.2s ease;
}

.course-batches__field textarea {
    resize: vertical;
}

.course-batches__field input:focus,
.course-batches__field select:focus,
.course-batches__field textarea:focus {
    border-color: var(--secondary);
    box-shadow: 0 0 0 3px rgba(201, 162, 74, 0.15);
}

.course-batches__submit {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    min-height: 48px;
    padding: 14px 20px;
    border: 0;
    border-radius: var(--radius-small);
    background: var(--primary);
    color: var(--white);
    font-family: var(--font-body);
    font-size: 12px;
    font-weight: 800;
    cursor: pointer;
    transition: opacity 0.2s ease;
}

.course-batches__submit:hover {
    opacity: 0.88;
}

.course-batches__privacy-note {
    margin: 0;
    color: var(--muted);
    font-family: var(--font-body);
    font-size: 11px;
    line-height: 1.7;
}

/* Four-step enrolment guide */

.course-batches__steps {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 24px;
    margin-top: 50px;
}

.course-batches__step {
    padding-top: 20px;
    border-top: 2px solid var(--secondary);
}

.course-batches__step > span {
    color: var(--secondary);
    font-family: var(--font-body);
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 1px;
}

.course-batches__step h4 {
    margin: 12px 0 8px;
    color: var(--primary);
    font-family: var(--font-heading);
    font-size: 23px;
    font-weight: 600;
}

.course-batches__step p {
    margin: 0;
    color: var(--muted);
    font-family: var(--font-body);
    font-size: 12px;
    line-height: 1.8;
}

@media (max-width: 1000px) {
    .course-batches__layout {
        grid-template-columns: 1fr;
    }

    .course-batches__steps {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 600px) {
    .course-batches {
        padding: 64px 0;
    }

    .course-batches__heading {
        margin-bottom: 32px;
        text-align: left;
    }

    .course-batches__heading > p {
        margin-left: 0;
    }

    .course-batches__schedule,
    .course-batches__form-panel {
        padding: 23px 18px;
    }

    .course-batches__schedule-header {
        align-items: flex-start;
        flex-direction: column;
    }

    .course-batches__batch {
        gap: 10px;
        padding: 16px 4px;
    }

    .course-batches__calendar {
        flex-basis: 34px;
        width: 34px;
        height: 34px;
    }

    .course-batches__calendar svg {
        width: 27px;
        height: 27px;
    }

    .course-batches__batch-info strong {
        font-size: 12px;
    }

    .course-batches__select-mark {
        flex-basis: 26px;
        width: 26px;
        height: 26px;
    }

    .course-batches__steps {
        grid-template-columns: 1fr;
        gap: 22px;
        margin-top: 36px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .course-batches__batch,
    .course-batches__field input,
    .course-batches__field select,
    .course-batches__field textarea,
    .course-batches__submit {
        transition: none;
    }
}
/* Course enquiry form status messages */

/* Course enquiry status messages */
.course-batches__status {
    margin: 0 0 18px;
    padding: 15px 18px;
    border: 1px solid var(--border);
    border-left: 4px solid var(--primary);
    border-radius: var(--radius-small);
    background: var(--white);
    color: var(--text);
    font-family: var(--font-body);
    font-size: 13px;
    line-height: 1.7;
}

/* Success */
.course-batches__status--success {
    background: #edf7ef;
    border-color: #b8dfc0;
    border-left-color: #278344;
    color: #1d6333;
}

/* Validation and submission errors */
.course-batches__status--error {
    background: #fdf0ef;
    border-color: #efc5c1;
    border-left-color: #c9362b;
    color: #982b24;
}

/* Batch availability issues */
.course-batches__status--warning {
    background: #fff7e6;
    border-color: #ecd49c;
    border-left-color: #b98217;
    color: #79530c;
}

/* Spam protection: honeypot field */
.course-batches__honeypot {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    margin: -1px !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    white-space: nowrap !important;
    border: 0 !important;
}

/* =========================================
   SECTION 14: COURSE FAQ
   Uses the global 8 Limbs design system
========================================= */
.course-faq ul li{
list-style-type: circle;
    margin-left: 30px;
    margin-top: 10px;
    color:var(--muted);
}

.course-faq {
    padding: 96px 0;
    background: var(--bg);
    color: var(--text);
}

.course-faq__intro {
    max-width: 780px;
    margin: 0 auto 42px;
    text-align: center;
}

.course-faq__eyebrow {
    display: inline-block;
    margin-bottom: 14px;
    color: var(--secondary);
    font-family: var(--font-body);
    font-size: 0.76rem;
    font-weight: 700;
    letter-spacing: 0.16em;
}

.course-faq__intro h2 {
    margin: 0 0 18px;
    color: var(--primary);
    font-family: var(--font-heading);
    font-size: clamp(2rem, 4vw, 3.15rem);
    font-weight: 600;
    line-height: 1.15;
}

.course-faq__intro h2 span {
    display: block;
    margin-top: 5px;
}

.course-faq__intro > p {
    max-width: 650px;
    margin: 0 auto;
    color: var(--muted);
    font-family: var(--font-body);
    font-size: 1rem;
    line-height: 1.8;
}

.course-faq__list {
    max-width: 900px;
    margin: 0 auto;
    border-top: 1px solid var(--border);
}

.course-faq__item {
    border-bottom: 1px solid var(--border);
}

.course-faq__question {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 22px;
    padding: 23px 4px;
    color: var(--primary);
    font-family: var(--font-body);
    font-size: 1.02rem;
    font-weight: 700;
    line-height: 1.55;
    cursor: pointer;
    list-style: none;
}

.course-faq__question::-webkit-details-marker {
    display: none;
}

.course-faq__question::marker {
    content: "";
}

.course-faq__question:focus-visible {
    outline: 2px solid var(--secondary);
    outline-offset: 4px;
    border-radius: var(--radius-small);
}

.course-faq__icon {
    position: relative;
    display: inline-flex;
    flex: 0 0 34px;
    width: 34px;
    height: 34px;
    align-items: center;
    justify-content: center;
    border: 1px solid var(--border);
    border-radius: 50%;
    color: var(--secondary);
    transition:
        background-color 0.2s ease,
        border-color 0.2s ease,
        transform 0.2s ease;
}

.course-faq__icon::before,
.course-faq__icon::after {
    position: absolute;
    content: "";
    width: 12px;
    height: 2px;
    background: currentColor;
    border-radius: 2px;
}

.course-faq__icon::after {
    transform: rotate(90deg);
    transition: transform 0.2s ease;
}

.course-faq__item[open] .course-faq__icon {
    background: var(--primary);
    border-color: var(--primary);
    color: var(--white);
}

.course-faq__item[open] .course-faq__icon::after {
    transform: rotate(0);
}

.course-faq__question:hover .course-faq__icon {
    border-color: var(--secondary);
}

.course-faq__answer {
    padding: 0 56px 24px 4px;
}

.course-faq__answer p {
    margin: 0;
    color: var(--muted);
    font-family: var(--font-body);
    font-size: 0.96rem;
    line-height: 1.85;
}

@media (max-width: 767px) {
    .course-faq {
        padding: 64px 0;
    }

    .course-faq__intro {
        margin-bottom: 28px;
        text-align: left;
    }

    .course-faq__intro h2 {
        font-size: clamp(1.85rem, 7vw, 2.45rem);
    }

    .course-faq__intro > p {
        font-size: 0.94rem;
    }

    .course-faq__question {
        gap: 14px;
        padding: 19px 0;
        font-size: 0.96rem;
    }

    .course-faq__icon {
        flex-basis: 30px;
        width: 30px;
        height: 30px;
    }

    .course-faq__answer {
        padding: 0 0 21px;
    }

    .course-faq__answer p {
        font-size: 0.92rem;
        line-height: 1.8;
    }
}

@media (prefers-reduced-motion: reduce) {
    .course-faq__icon,
    .course-faq__icon::after {
        transition: none;
    }
}

/* =========================================
   SECTION 15: FINAL BOOKING CTA
   8 Limbs global design system
========================================= */

.course-final-cta {
    padding: 96px 0;
    background: var(--primary);
    color: var(--white);
}

.course-final-cta__inner {
    max-width: 900px;
    margin: 0 auto;
    text-align: center;
}

.course-final-cta__eyebrow {
    display: inline-block;
    margin-bottom: 16px;
    color: var(--secondary);
    font-family: var(--font-body);
    font-size: 0.76rem;
    font-weight: 700;
    letter-spacing: 0.16em;
}

.course-final-cta h2 {
    margin: 0 auto 20px;
    color: var(--white);
    font-family: var(--font-heading);
    font-size: clamp(2.25rem, 4.5vw, 3.5rem);
    font-weight: 600;
    line-height: 1.15;
}

.course-final-cta h2 span {
    display: block;
    margin-top: 6px;
    color: var(--secondary);
}

.course-final-cta__description {
    max-width: 690px;
    margin: 0 auto 32px;
    color: rgba(255, 255, 255, 0.84);
    font-family: var(--font-body);
    font-size: 1rem;
    line-height: 1.8;
}

.course-final-cta__rooms {
    max-width: 740px;
    margin: 0 auto 32px;
    padding: 24px;
    border: 1px solid rgba(201, 162, 74, 0.4);
    border-radius: var(--radius);
    background: rgba(255, 255, 255, 0.045);
}

.course-final-cta__rooms-title {
    margin: 0 0 16px;
    color: var(--white);
    font-family: var(--font-body);
    font-size: 0.95rem;
    font-weight: 700;
}

.course-final-cta__room-options {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 10px;
}

.course-final-cta__room-options span {
    display: inline-flex;
    align-items: center;
    padding: 10px 14px;
    border: 1px solid rgba(255, 255, 255, 0.17);
    border-radius: var(--radius-small);
    color: var(--white);
    font-family: var(--font-body);
    font-size: 0.87rem;
    line-height: 1.5;
}

.course-final-cta__note {
    margin: 16px 0 0;
    color: rgba(255, 255, 255, 0.68);
    font-family: var(--font-body);
    font-size: 0.8rem;
    line-height: 1.7;
}

.course-final-cta__actions {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 14px;
}

.course-final-cta__button {
    display: inline-flex;
    min-height: 52px;
    align-items: center;
    justify-content: center;
    gap: 9px;
    padding: 14px 24px;
    border: 1px solid transparent;
    border-radius: var(--radius-small);
    font-family: var(--font-body);
    font-size: 0.93rem;
    font-weight: 700;
    line-height: 1.4;
    text-align: center;
    text-decoration: none;
    transition:
        background-color 0.2s ease,
        color 0.2s ease,
        border-color 0.2s ease,
        transform 0.2s ease;
}

.course-final-cta__button:hover {
    transform: translateY(-2px);
}

.course-final-cta__button--primary {
    background: var(--secondary);
    color: var(--dark);
}

.course-final-cta__button--primary:hover {
    background: var(--white);
    color: var(--primary);
}

.course-final-cta__button--whatsapp {
    border-color: rgba(255, 255, 255, 0.55);
    background: transparent;
    color: var(--white);
}

.course-final-cta__button--whatsapp:hover {
    border-color: var(--white);
    background: rgba(255, 255, 255, 0.1);
    color: var(--white);
}

.course-final-cta__secondary {
    max-width: 680px;
    margin: 24px auto 0;
    color: rgba(255, 255, 255, 0.78);
    font-family: var(--font-body);
    font-size: 0.9rem;
    line-height: 1.8;
}

.course-final-cta__secondary a {
    color: var(--secondary);
    font-weight: 700;
    text-decoration: underline;
    text-underline-offset: 3px;
}

.course-final-cta__secondary a:hover {
    color: var(--white);
}

.course-final-cta__button:focus-visible,
.course-final-cta__secondary a:focus-visible {
    outline: 2px solid var(--secondary);
    outline-offset: 4px;
}

@media (max-width: 767px) {
    .course-final-cta {
        padding: 68px 0;
    }

    .course-final-cta__inner {
        text-align: left;
    }

    .course-final-cta h2 {
        font-size: clamp(2rem, 8vw, 2.65rem);
    }

    .course-final-cta__description {
        font-size: 0.94rem;
    }

    .course-final-cta__rooms {
        padding: 19px;
    }

    .course-final-cta__room-options {
        justify-content: flex-start;
    }

    .course-final-cta__room-options span {
        width: 100%;
    }

    .course-final-cta__actions {
        flex-direction: column;
        align-items: stretch;
    }

    .course-final-cta__button {
        width: 100%;
    }
}

@media (prefers-reduced-motion: reduce) {
    .course-final-cta__button {
        transition: none;
    }

    .course-final-cta__button:hover {
        transform: none;
    }
}

/* =========================
   HEADER LOGO FIX
========================= */

.site-header .logo,
.site-header .site-logo,
.site-header .navbar-brand {
    display: flex;
    align-items: center;
    flex-shrink: 0;
    max-width: 240px;
    text-decoration: none;
}

.site-header .logo img,
.site-header .site-logo img,
.site-header .navbar-brand img,
.site-header img.logo {
    display: block;
    max-width: 100%;
    height: auto;
    max-height: 70px;
    object-fit: contain;
    object-position: left center;
}

/* Keep navigation in one row */
.site-header .navbar,
.site-header .header-inner,
.site-header .nav-container {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

/* Tablet */
@media (max-width: 991px) {
    .site-header .logo img,
    .site-header .site-logo img,
    .site-header .navbar-brand img,
    .site-header img.logo {
        width: 100%;
        max-height: 55px;
    }
}

/* Mobile */
@media (max-width: 575px) {
    .site-header .logo img,
    .site-header .site-logo img,
    .site-header .navbar-brand img,
    .site-header img.logo {
        width: 100%;
        max-height: 48px;
    }
}

/* =========================================
   COURSE SCHEDULE: SUNDAY ACTIVITIES
========================================= */

.course-schedule__aside {
    display: flex;
    flex-direction: column;
    height: 100%;
    overflow: hidden;
    border: 1px solid var(--border);
    border-radius: var(--radius);
    background: var(--bg);
}

.course-schedule__aside-image {
    flex-shrink: 0;
    overflow: hidden;
}

.course-schedule__aside-image img {
    display: block;
    width: 100%;
    height: 320px;
    object-fit: cover;
    object-position: center;
}

.course-schedule__aside-content {
    display: flex;
    flex: 1;
    flex-direction: column;
    align-items: stretch;
    padding: 24px;
}

.course-schedule__aside-label {
    display: block;
    margin-bottom: 12px;
    color: var(--secondary);
    font-family: var(--font-body);
    font-size: 0.68rem;
    font-weight: 800;
    letter-spacing: 0.13em;
    line-height: 1.6;
    text-transform: uppercase;
}

.course-schedule__aside-content h3 {
    margin: 0 0 14px;
    color: var(--primary);
    font-family: var(--font-heading);
    font-size: clamp(1.55rem, 2vw, 1.9rem);
    font-weight: 600;
    line-height: 1.2;
}

.course-schedule__aside-content > p {
    margin: 0 0 12px;
    color: var(--muted);
    font-family: var(--font-body);
    font-size: 0.88rem;
    line-height: 1.8;
}

.course-schedule__activities-heading {
    margin: 10px 0 14px;
    color: var(--primary);
    font-family: var(--font-heading);
    font-size: 1.25rem;
    font-weight: 600;
    line-height: 1.3;
}

.course-schedule__activities {
    display: flex;
    flex-direction: column;
    gap: 0;
    margin-bottom: 20px;
}

.course-schedule__activity {
    display: grid;
    grid-template-columns: 34px minmax(0, 1fr);
    gap: 12px;
    padding: 15px 0;
    border-bottom: 1px solid var(--border);
}

.course-schedule__activity:first-child {
    padding-top: 0;
}

.course-schedule__activity:last-child {
    border-bottom: none;
}

.course-schedule__activity-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    border: 1px solid rgba(201, 162, 74, 0.65);
    border-radius: 50%;
    color: var(--secondary);
    font-size: 1rem;
}

.course-schedule__activity h5 {
    margin: 0 0 5px;
    color: var(--primary);
    font-family: var(--font-body);
    font-size: 0.88rem;
    font-weight: 700;
    line-height: 1.5;
}

.course-schedule__activity p {
    margin: 0;
    color: var(--muted);
    font-family: var(--font-body);
    font-size: 0.81rem;
    line-height: 1.7;
}

.course-schedule__day-note {
    display: grid;
    grid-template-columns: 28px minmax(0, 1fr);
    gap: 10px;
    margin-top: auto;
    padding: 16px;
    background: var(--white);
    border: 1px solid var(--border);
    border-radius: var(--radius-small);
}

.course-schedule__day-note-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 27px;
    height: 27px;
    border: 1px solid rgba(201, 162, 74, 0.55);
    border-radius: 50%;
    color: var(--secondary);
}

.course-schedule__day-note p {
    margin: 0;
    color: var(--muted);
    font-family: var(--font-body);
    font-size: 0.8rem;
    line-height: 1.7;
}

.course-schedule__day-note strong {
    display: block;
    margin-bottom: 5px;
    color: var(--primary);
    font-size: 0.85rem;
}

.course-schedule__day-note p span {
    display: block;
}

.course-schedule__link {
    display: inline-flex;
    align-self: flex-start;
    align-items: center;
    gap: 8px;
    margin-top: 18px;
    color: var(--primary);
    font-family: var(--font-body);
    font-size: 0.83rem;
    font-weight: 700;
    text-decoration: none;
}

.course-schedule__link span {
    transition: transform 0.2s ease;
}

.course-schedule__link:hover span {
    transform: translateX(4px);
}

/* Responsive adjustments */

@media (max-width: 767px) {
    .course-schedule__aside-image img {
        height: 220px;
    }

    .course-schedule__aside-content {
        padding: 22px;
    }

    .course-schedule__aside-content h3 {
        font-size: 1.7rem;
    }
}

@media (max-width: 480px) {
    .course-schedule__aside-image img {
        height: 190px;
    }

    .course-schedule__aside-content {
        padding: 18px;
    }

    .course-schedule__activity {
        gap: 10px;
    }
}

/* =========================================
   ACCOMMODATION INCLUSIONS
========================================= */

.accommodation-inclusions {
    display: grid;
    grid-template-columns: minmax(0, 0.8fr) minmax(0, 1.2fr);
    align-items: center;
    gap: clamp(24px, 4vw, 56px);

    margin-top: 28px;
    padding: clamp(24px, 3.5vw, 38px);

    background: var(--bg-alt);
    border: 1px solid var(--border);
    border-radius: var(--radius);
}

.accommodation-inclusions__heading {
    max-width: 320px;
}

.accommodation-inclusions__eyebrow {
    display: block;
    margin-bottom: 10px;

    color: var(--secondary);
    font-family: var(--font-body);
    font-size: 0.7rem;
    font-weight: 700;
    letter-spacing: 0.13em;
    line-height: 1.5;
    text-transform: uppercase;
}

.accommodation-inclusions__heading h3 {
    margin: 0;
    color: var(--primary);
    font-family: var(--font-heading);
    font-size: clamp(1.6rem, 2.5vw, 2.1rem);
    font-weight: 600;
    line-height: 1.2;
}

.accommodation-inclusions__items {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 24px;
}

.accommodation-inclusions__item {
    display: flex;
    align-items: flex-start;
    gap: 14px;
    min-width: 0;
}

.accommodation-inclusions__icon {
    display: flex;
    flex: 0 0 42px;
    align-items: center;
    justify-content: center;

    width: 42px;
    height: 42px;

    color: var(--secondary);
    background: var(--white);
    border: 1px solid var(--border);
    border-radius: 50%;
}

.accommodation-inclusions__icon svg {
    display: block;
    width: 21px;
    height: 21px;
}

.accommodation-inclusions__item h4 {
    margin: 2px 0 7px;
    color: var(--primary);
    font-family: var(--font-body);
    font-size: 0.95rem;
    font-weight: 700;
    line-height: 1.4;
}

.accommodation-inclusions__item p {
    margin: 0;
    color: var(--muted);
    font-family: var(--font-body);
    font-size: 0.85rem;
    line-height: 1.7;
}

/* Tablet */
@media (max-width: 900px) {
    .accommodation-inclusions {
        grid-template-columns: 1fr;
        gap: 24px;
    }

    .accommodation-inclusions__heading {
        max-width: 100%;
    }
}

/* Mobile */
@media (max-width: 600px) {
    .accommodation-inclusions {
        gap: 22px;
        margin-top: 22px;
        padding: 22px 18px;
    }

    .accommodation-inclusions__items {
        grid-template-columns: 1fr;
        gap: 20px;
    }

    .accommodation-inclusions__item {
        gap: 12px;
    }

    .accommodation-inclusions__icon {
        flex-basis: 38px;
        width: 38px;
        height: 38px;
    }

    .accommodation-inclusions__item h4 {
        font-size: 0.9rem;
    }

    .accommodation-inclusions__item p {
        font-size: 0.83rem;
    }
}

.facilities-card__icon svg {
    display: block;
    width: 22px;
    height: 22px;
    flex-shrink: 0;
    color: var(--primary);
}

.facilities-card__icon {
    display: flex;
    align-items: center;
    justify-content: center;
}

/* Review author and star rating */
.course-review-card__author {
    display: flex;
    align-items: center;
    gap: 12px;
}

.course-review-card__author-info {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    min-width: 0;
}

.course-review-card__rating {
    display: flex;
    align-items: center;
    gap: 3px;
    margin-bottom: 5px;
    color: var(--secondary);
}

.course-review-card__rating svg {
    display: block;
    width: 13px;
    height: 13px;
    flex-shrink: 0;
    fill: currentColor;
}

.course-review-card__author-info h3 {
    margin: 0;
    color: var(--white);
    font-family: var(--font-body);
    font-size: 0.9rem;
    font-weight: 700;
    line-height: 1.4;
}

.course-review-card--small .course-review-card__author-info h3 {
    color: var(--primary);
}

.course-review-card__author-info > span {
    margin-top: 3px;
    color: var(--muted);
    font-family: var(--font-body);
    font-size: 0.8rem;
    line-height: 1.5;
}

/* =========================================================
   COMPACT INCLUSIONS STRIP
========================================================= */

.inclusions-strip {
    padding: 44px 0;
    background: var(--primary);
    color: var(--white);
}

.inclusions-strip__header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    padding-bottom: 26px;
    border-bottom: 1px solid rgba(201, 162, 74, 0.5);
}

.inclusions-strip__eyebrow {
    margin: 0 0 14px;
    color: var(--secondary);
    font-family: var(--font-body);
    font-size: 0.74rem;
    font-weight: 700;
    letter-spacing: 0.15em;
    line-height: 1.7;
    text-transform: uppercase;
}

.inclusions-strip__header h2 {
    max-width: 700px;
    margin: 0 0 16px;
    color: var(--white);
    font-family: var(--font-heading);
    font-size: clamp(2.3rem, 3.5vw, 3.4rem);
    font-weight: 600;
    line-height: 1.12;
    letter-spacing: -0.025em;
}

.inclusions-strip__header p {
    max-width: 610px;
    margin: 10px 0 0;
    color: rgba(255, 255, 255, 0.75);
    font-family: var(--font-body);
    font-size: 0.96rem;
    line-height: 1.85;
}

.inclusions-strip__gift-icon {
    display: flex;
    flex-shrink: 0;
    align-items: center;
    justify-content: center;
    width: 46px;
    height: 46px;
    border: 1px solid var(--secondary);
    border-radius: 50%;
    color: var(--secondary);
    font-size: 23px;
}

.inclusions-strip__benefits {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 26px;
    padding: 25px 0;
}

.inclusions-strip__benefit {
    display: flex;
    align-items: flex-start;
    gap: 13px;
    min-width: 0;
}

.inclusions-strip__icon {
    display: flex;
    flex-shrink: 0;
    align-items: center;
    justify-content: center;
    width: 64px;
    height: 64px;
    border: 1px solid rgba(201, 162, 74, 0.7);
    border-radius: 50%;
    color: var(--secondary);
    font-family: var(--font-heading);
    font-size: 1.8rem;
    font-weight: 600;
}

.inclusions-strip__benefit h3 {
    margin: 1px 0 5px;
    color: var(--white);
    font-family: var(--font-heading);
 font-size: 1.35rem;
    font-weight: 600;
    line-height: 1.3;
}

.inclusions-strip__benefit p {
    margin: 0;
    color: rgba(255, 255, 255, 0.7);
    font-family: var(--font-body);
    font-size: 0.96rem;
    line-height: 1.7;
}

.inclusions-strip__extras {
    padding: 17px 20px;
    border: 1px solid rgba(201, 162, 74, 0.4);
    border-radius: var(--radius-small);
    background: rgba(255, 255, 255, 0.045);
}

.inclusions-strip__extras-heading {
    display: flex;
    align-items: center;
    gap: 9px;
    margin-bottom: 8px;
    color: var(--secondary);
    font-family: var(--font-body);
    font-size: 0.74rem;
    font-weight: 700;
    letter-spacing: 0.1em;
}

.inclusions-strip__extras-mark {
    font-size: 15px;
}

.inclusions-strip__extras p {
    margin: 0;
    color: var(--white);
    font-family: var(--font-body);
    font-size: 14px;
    line-height: 1.9;
}

.inclusions-strip__extras p span,
.inclusions-strip__amenities span {
    padding: 0 4px;
    color: var(--secondary);
}

.inclusions-strip__amenities {
    margin-top: 7px;
    color: rgba(255, 255, 255, 0.7);
    font-family: var(--font-body);
    font-size: 0.86rem;
    line-height: 1.7;
}

.inclusions-strip__note {
    margin: 10px 0 0;
    color: rgba(255, 255, 255, 0.55);
    font-family: var(--font-body);
    font-size: 9px;
    line-height: 1.6;
}

/* TABLET */

@media (max-width: 800px) {
    .inclusions-strip__benefits {
        gap: 18px;
    }

    .inclusions-strip__benefit {
        gap: 9px;
    }

    .inclusions-strip__benefit h3 {
        font-size: 18px;
    }
}

/* MOBILE */

@media (max-width: 600px) {
    .inclusions-strip {
        padding: 34px 0;
    }

    .inclusions-strip__header {
        align-items: flex-start;
        gap: 15px;
        padding-bottom: 20px;
    }

    .inclusions-strip__header h2 {
        font-size: 31px;
    }

    .inclusions-strip__header p {
        font-size: 12px;
    }

    .inclusions-strip__gift-icon {
        width: 36px;
        height: 36px;
        font-size: 18px;
    }

    .inclusions-strip__benefits {
        grid-template-columns: 1fr;
        gap: 19px;
        padding: 22px 0;
    }

    .inclusions-strip__benefit h3 {
        font-size: 21px;
    }

    .inclusions-strip__extras {
        padding: 16px;
    }

    .inclusions-strip__extras p {
        font-size: 11px;
    }
}

/* =========================================
   FOOD SECTION V2
   8 LIMBS YOGA SCHOOL
========================================= */

.food-section-v2 {
    padding: 90px 0 85px;
    background: var(--bg);
    color: var(--text);
}

.food-v2__eyebrow {
    display: block;
    margin-bottom: 15px;
    color: var(--secondary);
    font-family: var(--font-body);
    font-size: 9px;
    font-weight: 700;
    letter-spacing: .15em;
    line-height: 1.7;
}

.food-v2__header {
    
    max-width: 790px;
    margin: 0 auto 55px;
    text-align: center;
}

.food-v2__title h2 {
    max-width: 100%;
    margin: 0;
    padding: 0;
    color: var(--primary);
    font-family: var(--font-heading);
    font-size: clamp(2.2rem, 3vw, 3rem);
    font-weight: 600;
    line-height: 1.12;
}

.food-v2__title h2 em {
    color: var(--secondary);
    font-weight: 400;
}

.food-v2__intro {
       max-width: 700px;
    margin: 20px auto 0;
    color: var(--muted);
    font-size: 0.98rem;
    line-height: 1.9;
    
}

/* Main image and philosophy */

.food-v2__feature {
    display: grid;
    grid-template-columns: 1.05fr .95fr;
    min-height: 390px;
    margin-bottom: 65px;
    background: var(--white);
}

.food-v2__image {
    position: relative;
    min-width: 0;
    min-height: 390px;
    overflow: hidden;
    background: var(--bg-alt);
}

.food-v2__image img {
    display: block;
    width: 100%;
    height: 100%;
    min-height: 390px;
    object-fit: cover;
}

.food-v2__image-caption {
    position: absolute;
    right: 15px;
    bottom: 15px;
    left: 15px;
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 13px 15px;
    background: rgba(11, 42, 74, .88);
    color: var(--white);
    font-family: var(--font-body);
    font-size: 10px;
    line-height: 1.6;
}

.food-v2__image-caption span:first-child {
    color: var(--secondary);
    font-family: var(--font-heading);
    font-size: 17px;
}

.food-v2__story {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
    padding: clamp(25px, 4vw, 48px);
    border-top: 1px solid var(--border);
    border-right: 1px solid var(--border);
    border-bottom: 1px solid var(--border);
}

.food-v2__story-label {
    margin-bottom: 18px;
    color: var(--secondary);
    font-family: var(--font-body);
    font-size: 9px;
    font-weight: 700;
    letter-spacing: .12em;
}

.food-v2__story h3 {
    margin: 0 0 22px;
    color: var(--primary);
    font-family: var(--font-heading);
    font-size: 1.75rem;
    font-weight: 500;
    line-height: 1.05;
}

.food-v2__story h3 em {
    color: var(--secondary);
    font-weight: 400;
}

.food-v2__story p {
    max-width: 470px;
    margin: 0 0 14px;
    color: var(--muted);
    font-family: var(--font-body);
    font-size: 0.86rem;
}

.food-v2__story-foot {
    margin-top: 10px;
    color: var(--primary);
    font-family: var(--font-body);
    font-size: 8px;
    font-weight: 700;
    letter-spacing: .09em;
    line-height: 1.8;
}

/* Four information columns */

.food-v2__details {
    padding-bottom: 45px;
    border-bottom: 1px solid var(--border);
}

.food-v2__details-heading {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 25px;
    margin-bottom: 25px;
}

.food-v2__details-heading .food-v2__eyebrow {
    margin-bottom: 8px;
}

.food-v2__details-heading h3 {
    margin: 0;
    color: var(--primary);
    font-family: var(--font-heading);
    font-size: clamp(30px, 3.5vw, 40px);
    font-weight: 500;
    line-height: 1.15;
}

.food-v2__grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    border-top: 1px solid var(--border);
    border-bottom: 1px solid var(--border);
}

.food-v2__item {
    padding: 23px 22px 25px;
    min-width: 0;
}

.food-v2__item:first-child {
    padding-left: 0;
}

.food-v2__item:last-child {
    padding-right: 0;
}

.food-v2__item + .food-v2__item {
    border-left: 1px solid var(--border);
}

.food-v2__number {
    display: block;
    margin-bottom: 20px;
    color: var(--secondary);
    font-family: var(--font-heading);
    font-size: 18px;
}

.food-v2__item h4 {
    margin: 0 0 10px;
    color: var(--primary);
    font-family: var(--font-heading);
    font-size: 22px;
    font-weight: 500;
    line-height: 1.2;
}

.food-v2__item p {
    margin: 0;
    color: var(--muted);
    font-family: var(--font-body);
    font-size: 0.86rem;
}

/* Dietary information */

.food-v2__note {
    display: grid;
    grid-template-columns: 38px 1fr;
    gap: 17px;
    align-items: start;
    max-width: 850px;
    margin: 30px 0 0;
}

.food-v2__note-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    border: 1px solid var(--secondary);
    border-radius: 50%;
    color: var(--secondary);
    font-size: 17px;
}

.food-v2__note h4 {
    margin: 0 0 7px;
    color: var(--primary);
    font-family: var(--font-heading);
    font-size: 23px;
    font-weight: 500;
    line-height: 1.3;
}

.food-v2__note p {
    max-width: 700px;
    margin: 0;
    color: var(--muted);
    font-family: var(--font-body);
    font-size: 0.86rem;
    line-height: 1.9;
}

/* Tablet */

@media (max-width: 900px) {
    .food-section-v2 {
        padding: 70px 0;
    }

    .food-v2__header {
        gap: 30px;
    }

    .food-v2__feature {
        grid-template-columns: 1fr 1fr;
    }

    .food-v2__story {
        padding: 25px;
    }

    .food-v2__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .food-v2__item {
        padding: 22px;
    }

    .food-v2__item:first-child {
        padding-left: 0;
    }

    .food-v2__item:last-child {
        padding-right: 0;
    }

    .food-v2__item:nth-child(3) {
        padding-left: 0;
        border-left: 0;
        border-top: 1px solid var(--border);
    }

    .food-v2__item:nth-child(4) {
        border-top: 1px solid var(--border);
    }
}

/* Mobile */

@media (max-width: 600px) {
    .food-section-v2 {
        padding: 55px 0 45px;
    }

    .food-v2__header {
        grid-template-columns: 1fr;
        gap: 17px;
        margin-bottom: 25px;
    }

    .food-v2__title h2 {
        font-size: 43px;
    }

    .food-v2__intro {
        justify-self: start;
    }

    .food-v2__feature {
        grid-template-columns: 1fr;
        margin-bottom: 42px;
    }

    .food-v2__image,
    .food-v2__image img {
        height: 300px;
        min-height: 300px;
    }

    .food-v2__story {
        padding: 26px 22px;
        border-left: 1px solid var(--border);
    }

    .food-v2__story h3 {
        font-size: 36px;
    }

    .food-v2__details {
        padding-bottom: 30px;
    }

    .food-v2__details-heading {
        display: block;
        margin-bottom: 20px;
    }

    .food-v2__details-heading h3 {
        font-size: 32px;
    }

    .food-v2__grid {
        grid-template-columns: 1fr;
    }

    .food-v2__item,
    .food-v2__item:first-child,
    .food-v2__item:last-child,
    .food-v2__item:nth-child(3) {
        padding: 20px 0;
        border-left: 0;
        border-top: 1px solid var(--border);
    }

    .food-v2__item:first-child {
        border-top: 0;
    }

    .food-v2__number {
        margin-bottom: 10px;
    }

    .food-v2__item h4 {
        font-size: 24px;
    }

    .food-v2__note {
        grid-template-columns: 30px 1fr;
        gap: 12px;
        margin-top: 24px;
    }

    .food-v2__note-icon {
        width: 30px;
        height: 30px;
    }

    .food-v2__note h4 {
        font-size: 22px;
    }
}
.food-v2__story ul li{
       margin: 0 0 14px;
    color: var(--muted);
    font-family: var(--font-body);
    font-size: 0.86rem;
    list-style-type: circle;
    line-height: 20px;
        margin-left: 40px !important;
    }
    
/* =========================================
   COURSE OVERVIEW PHOTO GALLERY
========================================= */

.overview-gallery {
    margin-top: 42px;
}

.overview-gallery__heading {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 24px;
    margin-bottom: 18px;
}

.overview-gallery__eyebrow {
    display: block;
    margin-bottom: 7px;
    color: var(--secondary);
    font-family: var(--font-body);
    font-size: 9px;
    font-weight: 700;
    letter-spacing: .15em;
}

.overview-gallery__heading h3 {
    margin: 0;
    color: var(--primary);
    font-family: var(--font-heading);
    font-size: clamp(27px, 3vw, 36px);
    font-weight: 500;
    line-height: 1.1;
}

.overview-gallery__heading > p {
    max-width: 300px;
    margin: 0 0 3px;
    color: var(--muted);
    font-family: var(--font-body);
    font-size: 11px;
    line-height: 1.8;
}

/* Three-image composition */

.overview-gallery__grid {
    display: grid;
    grid-template-columns: 1.15fr 1fr;
    grid-template-rows: repeat(2, 250px);
    gap: 12px;
}

.overview-gallery__item {
    position: relative;
    min-width: 0;
    min-height: 0;
    margin: 0;
    overflow: hidden;
    background: var(--bg-alt);
}

.overview-gallery__item--main {
    grid-column: 1;
    grid-row: 1 / 3;
}

.overview-gallery__item--top {
    grid-column: 2;
    grid-row: 1;
}

.overview-gallery__item--bottom {
    grid-column: 2;
    grid-row: 2;
}

.overview-gallery__item img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .5s var(--ease);
}

.overview-gallery__item:hover img {
    transform: scale(1.035);
}

/* Image labels */

.overview-gallery__item figcaption {
    position: absolute;
    right: 10px;
    bottom: 10px;
    left: 10px;
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 11px 13px;
    background: rgba(11, 42, 74, .86);
    color: var(--white);
    font-family: var(--font-body);
    font-size: 10px;
    line-height: 1.5;
}

.overview-gallery__item figcaption span:first-child {
    color: var(--secondary);
    font-family: var(--font-heading);
    font-size: 15px;
}

/* Tablet */

@media (max-width: 800px) {
    .overview-gallery__grid {
        grid-template-rows: repeat(2, 145px);
    }
}

/* Mobile */

@media (max-width: 550px) {
    .overview-gallery {
        margin-top: 32px;
    }

    .overview-gallery__heading {
        align-items: flex-start;
        flex-direction: column;
        gap: 8px;
    }

    .overview-gallery__heading > p {
        max-width: 100%;
    }

    .overview-gallery__grid {
        grid-template-columns: 1fr 1fr;
        grid-template-rows: 230px 145px;
        gap: 8px;
    }

    .overview-gallery__item--main {
        grid-column: 1 / 3;
        grid-row: 1;
    }

    .overview-gallery__item--top {
        grid-column: 1;
        grid-row: 2;
    }

    .overview-gallery__item--bottom {
        grid-column: 2;
        grid-row: 2;
    }

    .overview-gallery__item figcaption {
        right: 6px;
        bottom: 6px;
        left: 6px;
        gap: 6px;
        padding: 8px;
        font-size: 9px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .overview-gallery__item img {
        transition: none;
    }
}
/* Gallery image styling */
.overview-gallery__item {
    position: relative;
    overflow: hidden;
    border-radius: 12px;
    background: var(--bg-alt);
    box-shadow: 0 5px 18px rgba(7, 26, 45, 0.07);
}

/* Subtle hover effect */
.overview-gallery__item img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.5s var(--ease);
}

.overview-gallery__item:hover img {
    transform: scale(1.035);
}

/* Keep captions inside rounded corners */
.overview-gallery__item figcaption {
    border-radius: 0 0 8px 8px;
}

/* Gallery inside course batches section */

.course-batches__gallery {
    margin-top: 42px;
    padding-top: 32px;
    border-top: 1px solid var(--border);
}

.course-batches__gallery-heading {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 25px;
    margin-bottom: 20px;
}

.course-batches__gallery-eyebrow {
    display: block;
    margin-bottom: 9px;
    color: var(--secondary);
    font-family: var(--font-body);
    font-size: 9px;
    font-weight: 700;
    letter-spacing: .15em;
}

.course-batches__gallery-heading h3 {
    margin: 0;
    color: var(--primary);
    font-family: var(--font-heading);
    font-size: clamp(28px, 3.5vw, 40px);
    font-weight: 500;
    line-height: 1.15;
}

.course-batches__gallery-heading > p {
    max-width: 310px;
    margin: 0 0 3px;
    color: var(--muted);
    font-family: var(--font-body);
    font-size: 11px;
    line-height: 1.8;
}

/* Four-image horizontal gallery */

.course-batches__gallery-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 12px;
}

.course-batches__gallery-item {
    position: relative;
    height: 350px;
    min-width: 0;
    margin: 0;
    overflow: hidden;
    border-radius: var(--radius-small);
    background: var(--bg-alt);
    box-shadow: 0 4px 15px rgba(7, 26, 45, .07);
}

.course-batches__gallery-item img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .5s var(--ease);
}

.course-batches__gallery-item:hover img {
    transform: scale(1.04);
}

.course-batches__gallery-item figcaption {
    position: absolute;
    right: 7px;
    bottom: 7px;
    left: 7px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 8px;
    padding: 11px 12px;
    background: rgba(11, 42, 74, .9);
    color: var(--white);
    font-family: var(--font-body);
    font-size: 9px;
}

.course-batches__gallery-item figcaption span {
    color: var(--secondary);
    font-family: var(--font-heading);
    font-size: 15px;
}

/* Tablet */

@media (max-width: 800px) {
    .course-batches__gallery-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .course-batches__gallery-item {
        height: 230px;
    }
}

/* Mobile */

@media (max-width: 550px) {
    .course-batches__gallery {
        margin-top: 32px;
        padding-top: 25px;
    }

    .course-batches__gallery-heading {
        align-items: flex-start;
        flex-direction: column;
        gap: 10px;
    }

    .course-batches__gallery-heading h3 {
        font-size: 32px;
    }

    .course-batches__gallery-grid {
        gap: 9px;
    }

    .course-batches__gallery-item {
        height: 175px;
    }

    .course-batches__gallery-item figcaption {
        right: 5px;
        bottom: 5px;
        left: 5px;
        padding: 9px 7px;
        font-size: 8px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .course-batches__gallery-item img {
        transition: none;
    }
}


/* =========================================
   500 HOUR SYLLABUS
========================================= */

.course-syllabus-500 {
    padding: 100px 0;
    background: var(--bg);
    color: var(--text);
}

.course-syllabus-500 .container {
    width: min(100% - 40px, var(--container));
    margin-inline: auto;
}

/* Section introduction */

.syllabus-500-heading {
    max-width: 800px;
    margin: 0 auto 60px;
    text-align: center;
}

.syllabus-500-eyebrow {
    display: inline-block;
    margin-bottom: 18px;
    color: var(--secondary);
    font-family: var(--font-body);
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 2.5px;
    line-height: 1.5;
}

.syllabus-500-heading h2 {
    margin: 0 0 20px;
    color: var(--primary);
    font-family: var(--font-heading);
    font-size: clamp(34px, 4vw, 52px);
    font-weight: 600;
    line-height: 1.12;
}

.syllabus-500-heading > p {
    max-width: 720px;
    margin: 0 auto;
    color: var(--muted);
    font-family: var(--font-body);
    font-size: 16px;
    line-height: 1.85;
}

/* Module containers */

.syllabus-500-module {
    overflow: hidden;
    margin-bottom: 28px;
    border: 1px solid var(--border);
    border-radius: var(--radius);
    background: var(--white);
    box-shadow: 0 12px 35px rgba(7, 26, 45, 0.04);
}

.syllabus-500-module-header {
    display: grid;
    grid-template-columns: 76px minmax(0, 1fr) auto;
    align-items: center;
    gap: 24px;
    padding: 34px 38px;
    background: var(--primary);
    color: var(--white);
}

.syllabus-500-module-number {
    display: flex;
    width: 68px;
    height: 68px;
    align-items: center;
    justify-content: center;
    border: 1px solid rgba(201, 162, 74, 0.65);
    border-radius: 50%;
    color: var(--secondary);
    font-family: var(--font-heading);
    font-size: 30px;
}

.syllabus-500-module-title > span {
    display: block;
    margin-bottom: 7px;
    color: var(--secondary);
    font-family: var(--font-body);
    font-size: 10px;
    font-weight: 800;
    letter-spacing: 2px;
}

.syllabus-500-module-title h3 {
    margin: 0 0 8px;
    color: var(--white);
    font-family: var(--font-heading);
    font-size: clamp(27px, 3vw, 36px);
    font-weight: 600;
    line-height: 1.2;
}

.syllabus-500-module-title p {
    max-width: 580px;
    margin: 0;
    color: rgba(255, 255, 255, 0.76);
    font-family: var(--font-body);
    font-size: 14px;
    line-height: 1.7;
}

.syllabus-500-module-count {
    align-self: start;
    padding: 9px 12px;
    border: 1px solid rgba(255, 255, 255, 0.2);
    border-radius: 50px;
    color: var(--white);
    font-family: var(--font-body);
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 1.3px;
    white-space: nowrap;
}

/* Subject list */

.syllabus-500-subjects {
    padding: 10px 38px 22px;
}

.syllabus-500-subject {
    border-bottom: 1px solid var(--border);
}

.syllabus-500-subject:last-child {
    border-bottom: 0;
}

.syllabus-500-subject summary {
    display: grid;
    grid-template-columns: 38px minmax(0, 1fr) 28px;
    align-items: center;
    gap: 18px;
    min-height: 76px;
    padding: 18px 0;
    cursor: pointer;
    list-style: none;
}

.syllabus-500-subject summary::-webkit-details-marker {
    display: none;
}

.syllabus-500-subject summary:focus-visible {
    outline: 2px solid var(--secondary);
    outline-offset: 5px;
    border-radius: 4px;
}

.syllabus-500-index {
    color: var(--secondary);
    font-family: var(--font-body);
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 1px;
}

.syllabus-500-subject-name {
    color: var(--primary);
    font-family: var(--font-body);
    font-size: 16px;
    font-weight: 700;
    line-height: 1.5;
    transition: color 0.2s ease;
}

.syllabus-500-subject summary:hover .syllabus-500-subject-name {
    color: var(--secondary);
}

/* Plus / minus indicator */

.syllabus-500-toggle {
    position: relative;
    display: block;
    width: 28px;
    height: 28px;
    border: 1px solid var(--border);
    border-radius: 50%;
    transition:
        background 0.2s ease,
        border-color 0.2s ease;
}

.syllabus-500-toggle::before,
.syllabus-500-toggle::after {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 10px;
    height: 1.5px;
    background: var(--primary);
    content: "";
    transform: translate(-50%, -50%);
}

.syllabus-500-toggle::after {
    transform: translate(-50%, -50%) rotate(90deg);
    transition: transform 0.2s ease;
}

.syllabus-500-subject[open] .syllabus-500-toggle {
    border-color: var(--secondary);
    background: var(--secondary);
}

.syllabus-500-subject[open] .syllabus-500-toggle::before,
.syllabus-500-subject[open] .syllabus-500-toggle::after {
    background: var(--white);
}

.syllabus-500-subject[open] .syllabus-500-toggle::after {
    transform: translate(-50%, -50%) rotate(0deg);
}

/* Expandable description */

.syllabus-500-description {
    max-width: 760px;
    padding: 0 44px 24px 56px;
    color: var(--muted);
    font-family: var(--font-body);
    font-size: 14px;
    line-height: 1.85;
    animation: syllabus500Reveal 0.2s ease;
}

@keyframes syllabus500Reveal {
    from {
        opacity: 0;
        transform: translateY(-4px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* Advanced module distinction */

.syllabus-500-module-advanced .syllabus-500-module-header {
    background: var(--dark);
}

/* Closing CTA */

.syllabus-500-footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 40px;

    width: 100%;
    margin-top: 48px;
    padding: 36px 40px;

    background: var(--primary);
    border: 1px solid var(--primary);
    border-radius: var(--radius);

    color: var(--white);
}

/* CTA text */

.syllabus-500-footer p {
    max-width: 570px;
    margin: 0;

    color: rgba(255, 255, 255, 0.88);
    font-family: var(--font-body);
    font-size: 14px;
    font-weight: 400;
    line-height: 1.8;
}

/* CTA button */

.syllabus-500-cta {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 12px;

    flex-shrink: 0;
    min-height: 52px;
    padding: 15px 22px;

    background: var(--secondary);
    border: 1px solid var(--secondary);
    border-radius: var(--radius-small);

    color: var(--dark);
    font-family: var(--font-body);
    font-size: 13px;
    font-weight: 700;
    line-height: 1.4;
    text-decoration: none;
    white-space: nowrap;

    transition:
        background 0.25s ease,
        color 0.25s ease,
        transform 0.25s ease;
}

.syllabus-500-cta:hover {
    background: var(--white);
    border-color: var(--white);
    color: var(--primary);
    transform: translateY(-2px);
}

.syllabus-500-cta span {
    font-size: 18px;
    line-height: 1;
    transition: transform 0.25s ease;
}

.syllabus-500-cta:hover span {
    transform: translateX(3px);
}

/* Tablet */

@media (max-width: 768px) {
    .syllabus-500-footer {
        gap: 24px;
        padding: 30px;
    }

    .syllabus-500-footer p {
        font-size: 13px;
    }

    .syllabus-500-cta {
        padding: 14px 18px;
        font-size: 12px;
    }
}

/* Mobile */

@media (max-width: 600px) {
    .syllabus-500-footer {
        align-items: flex-start;
        flex-direction: column;
        gap: 22px;

        margin-top: 32px;
        padding: 28px 24px;
        border-radius: 14px;
    }

    .syllabus-500-footer p {
        max-width: 100%;
        font-size: 13px;
        line-height: 1.8;
    }

    .syllabus-500-cta {
        width: 100%;
        min-height: 50px;
        padding: 14px 18px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .syllabus-500-cta,
    .syllabus-500-cta span {
        transition: none;
    }
}
.syllabus-500-cta-content {
    flex: 1;
    min-width: 0;
}

.syllabus-500-cta-content h2 {
    margin: 0 0 12px;
    color: var(--white);
    font-family: var(--font-heading);
    font-size: clamp(28px, 3vw, 34px);
    font-weight: 600;
    line-height: 1.2;
}

.syllabus-500-cta-content p {
    max-width: 570px;
    margin: 0;
}

/* Tablet */

@media (max-width: 768px) {
    .course-syllabus-500 {
        padding: 72px 0;
    }

    .syllabus-500-heading {
        margin-bottom: 38px;
        text-align: left;
    }

    .syllabus-500-heading > p {
        margin-left: 0;
    }

    .syllabus-500-module-header {
        grid-template-columns: 56px minmax(0, 1fr);
        gap: 18px;
        padding: 26px 22px;
    }

    .syllabus-500-module-number {
        width: 54px;
        height: 54px;
        font-size: 25px;
    }

    .syllabus-500-module-count {
        grid-column: 2;
        justify-self: start;
        margin-top: -5px;
    }

    .syllabus-500-subjects {
        padding: 6px 22px 14px;
    }

    .syllabus-500-subject summary {
        grid-template-columns: 28px minmax(0, 1fr) 26px;
        gap: 12px;
        min-height: 70px;
    }

    .syllabus-500-subject-name {
        font-size: 14px;
    }

    .syllabus-500-description {
        padding: 0 8px 22px 40px;
        font-size: 13px;
    }

    .syllabus-500-footer {
        align-items: flex-start;
        flex-direction: column;
        padding: 25px 22px;
    }
}

/* Small mobile */

@media (max-width: 480px) {
    .course-syllabus-500 .container {
        width: min(100% - 28px, var(--container));
    }

    .syllabus-500-heading h2 {
        font-size: 34px;
    }

    .syllabus-500-module-header {
        padding: 23px 17px;
    }

    .syllabus-500-module-title h3 {
        font-size: 27px;
    }

    .syllabus-500-module-title p {
        font-size: 13px;
    }

    .syllabus-500-subjects {
        padding-inline: 17px;
    }

    .syllabus-500-subject summary {
        grid-template-columns: 23px minmax(0, 1fr) 24px;
        gap: 9px;
    }

    .syllabus-500-index {
        font-size: 10px;
    }

    .syllabus-500-subject-name {
        font-size: 13px;
    }

    .syllabus-500-description {
        padding-left: 32px;
    }

    .syllabus-500-cta {
        width: 100%;
    }
}

/* Respect reduced-motion preferences */

@media (prefers-reduced-motion: reduce) {
    .syllabus-500-description,
    .syllabus-500-toggle,
    .syllabus-500-subject-name,
    .syllabus-500-cta {
        animation: none;
        transition: none;
    }
}

/* ==========================================
   ABOUT US — INTRO HERO
   Uses the existing 8 Limbs design system
========================================== */

.about-intro {
    position: relative;
    width: 100%;
    padding: 82px 0 96px;
    overflow: hidden;
    background: var(--bg);
}

.about-intro .container {
    width: 100%;
    max-width: var(--container);
    margin-right: auto;
    margin-left: auto;
    padding-right: 24px;
    padding-left: 24px;
}

.about-intro__grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 0.88fr);
    align-items: center;
    gap: clamp(42px, 6vw, 88px);
}

/* Content */

.about-intro__content {
    min-width: 0;
    max-width: 590px;
}

.about-intro__eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 23px;
    color: var(--secondary);
    font-family: var(--font-body);
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 0.17em;
    line-height: 1.6;
}

.about-intro__eyebrow::before {
    content: "";
    display: block;
    width: 30px;
    height: 1px;
    flex-shrink: 0;
    background: var(--secondary);
}

.about-intro__content h1 {
    max-width: 590px;
    margin: 0 0 25px;
    color: var(--primary);
    font-family: var(--font-heading);
    font-size: clamp(44px, 4.5vw, 66px);
    font-weight: 600;
    line-height: 1.07;
    letter-spacing: -0.025em;
}

.about-intro__lead {
    max-width: 540px;
    margin: 0 0 15px;
    color: var(--text);
    font-family: var(--font-body);
    font-size: 15px;
    font-weight: 500;
    line-height: 1.9;
}

.about-intro__description {
    max-width: 540px;
    margin: 0;
    color: var(--muted);
    font-family: var(--font-body);
    font-size: 14px;
    line-height: 1.9;
}

/* Buttons */

.about-intro__buttons {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 12px;
    margin-top: 30px;
}

.about-intro__button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    min-height: 50px;
    padding: 14px 21px;
    border: 1px solid transparent;
    border-radius: 50px;
    font-family: var(--font-body);
    font-size: 12px;
    font-weight: 800;
    line-height: 1.4;
    text-align: center;
    text-decoration: none;
    transition:
        background-color 0.25s ease,
        color 0.25s ease,
        border-color 0.25s ease,
        transform 0.25s ease;
}

.about-intro__button:hover {
    transform: translateY(-2px);
}

.about-intro__button--primary {
    color: var(--white);
    background: var(--primary);
    border-color: var(--primary);
}

.about-intro__button--primary:hover {
    color: var(--white);
    background: var(--dark);
    border-color: var(--dark);
}

.about-intro__button--primary span {
    font-size: 15px;
}

.about-intro__button--secondary {
    color: var(--primary);
    background: transparent;
    border-color: var(--border);
}

.about-intro__button--secondary:hover {
    color: var(--primary);
    background: var(--white);
    border-color: var(--secondary);
}

/* Location */

.about-intro__location {
    display: flex;
    align-items: center;
    gap: 11px;
    margin-top: 30px;
    color: var(--muted);
    font-family: var(--font-body);
    font-size: 12px;
    font-weight: 600;
    line-height: 1.6;
}

.about-intro__location-icon {
    color: var(--secondary);
    font-size: 15px;
}

/* Image */

.about-intro__visual {
    position: relative;
    min-width: 0;
    padding: 0 15px 23px 0;
}

.about-intro__image-frame {
    position: relative;
    z-index: 1;
    width: 100%;
    aspect-ratio: 4 / 4.5;
    overflow: hidden;
    border-radius: 200px 200px 12px 12px;
    background: var(--bg-alt);
}

.about-intro__image {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}

.about-intro__image-border {
    position: absolute;
    z-index: 0;
    top: 18px;
    right: 0;
    bottom: 0;
    left: 18px;
    border: 1px solid var(--secondary);
    border-radius: 200px 200px 12px 12px;
    pointer-events: none;
}

/* Image caption */

.about-intro__image-caption {
    position: absolute;
    z-index: 2;
    right: 0;
    bottom: 0;
    display: flex;
    align-items: center;
    gap: 13px;
    max-width: calc(100% - 20px);
    padding: 15px 19px;
    background: var(--white);
    border: 1px solid var(--border);
    border-radius: var(--radius-small);
    box-shadow: 0 12px 32px rgba(7, 26, 45, 0.09);
}

.about-intro__caption-symbol {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 42px;
    height: 42px;
    flex: 0 0 42px;
    border: 1px solid var(--secondary);
    border-radius: 50%;
    color: var(--primary);
    font-family: var(--font-heading);
    font-size: 27px;
    line-height: 1;
}

.about-intro__caption-text {
    display: flex;
    flex-direction: column;
    gap: 5px;
}

.about-intro__caption-text strong {
    color: var(--primary);
    font-family: var(--font-body);
    font-size: 12px;
    font-weight: 800;
}

.about-intro__caption-text span {
    color: var(--muted);
    font-family: var(--font-body);
    font-size: 10px;
    letter-spacing: 0.04em;
}

/* Tablet */

@media (max-width: 991px) {
    .about-intro {
        padding: 65px 0 78px;
    }

    .about-intro__grid {
        grid-template-columns: minmax(0, 1fr) minmax(0, 0.82fr);
        gap: 32px;
    }

    .about-intro__content h1 {
        font-size: clamp(40px, 5vw, 54px);
    }

    .about-intro__buttons {
        gap: 10px;
    }

    .about-intro__button {
        padding-right: 17px;
        padding-left: 17px;
    }
}

/* Mobile */

@media (max-width: 767px) {
    .about-intro {
        padding: 48px 0 65px;
    }

    .about-intro .container {
        padding-right: 20px;
        padding-left: 20px;
    }

    .about-intro__grid {
        grid-template-columns: minmax(0, 1fr);
        gap: 38px;
    }

    .about-intro__content {
        max-width: 100%;
    }

    .about-intro__eyebrow {
        margin-bottom: 19px;
        font-size: 10px;
    }

    .about-intro__content h1 {
        max-width: 530px;
        margin-bottom: 21px;
        font-size: clamp(42px, 10vw, 56px);
        line-height: 1.08;
    }

    .about-intro__lead {
        font-size: 14px;
        line-height: 1.85;
    }

    .about-intro__description {
        font-size: 13px;
        line-height: 1.85;
    }

    .about-intro__buttons {
        display: grid;
        grid-template-columns: minmax(0, 1fr);
        gap: 11px;
        margin-top: 25px;
    }

    .about-intro__button {
        width: 100%;
        min-height: 50px;
    }

    .about-intro__location {
        margin-top: 24px;
        font-size: 11px;
    }

    .about-intro__visual {
        width: 100%;
        max-width: 500px;
        margin: 0 auto;
        padding-right: 12px;
        padding-bottom: 21px;
    }

    .about-intro__image-frame,
    .about-intro__image-border {
        border-radius: 150px 150px 12px 12px;
    }

    .about-intro__image-caption {
        gap: 10px;
        padding: 12px 14px;
    }

    .about-intro__caption-symbol {
        width: 36px;
        height: 36px;
        flex-basis: 36px;
        font-size: 23px;
    }
}

/* Small phones */

@media (max-width: 380px) {
    .about-intro__content h1 {
        font-size: 39px;
    }

    .about-intro__caption-text strong {
        font-size: 11px;
    }

    .about-intro__caption-text span {
        font-size: 9px;
    }
}

/* ==========================================
   ABOUT US — OUR STORY
========================================== */

.about-story {
    position: relative;
    padding: 100px 0;
    overflow: hidden;
    background: var(--white);
}

.about-story .container {
    width: 100%;
    max-width: var(--container);
    margin-right: auto;
    margin-left: auto;
    padding-right: 24px;
    padding-left: 24px;
}

.about-story__grid {
    display: grid;
    grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);
    align-items: center;
    gap: clamp(48px, 7vw, 100px);
}

/* Story image */

.about-story__visual {
    position: relative;
    min-width: 0;
    padding: 0 22px 28px 0;
}

.about-story__image-wrap {
    position: relative;
    z-index: 1;
    width: 100%;
    aspect-ratio: 4 / 4.7;
    overflow: hidden;
    border-radius: var(--radius);
    background: var(--bg-alt);
}

.about-story__image {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}

.about-story__image-decoration {
    position: absolute;
    z-index: 0;
    top: 20px;
    right: 0;
    bottom: 0;
    left: 20px;
    border: 1px solid var(--secondary);
    border-radius: var(--radius);
    pointer-events: none;
}

/* Founding year card */

.about-story__year {
    position: absolute;
    z-index: 2;
    right: 0;
    bottom: 0;
    display: flex;
    align-items: center;
    gap: 17px;
    padding: 20px 24px;
    background: var(--primary);
    border-radius: var(--radius-small);
    box-shadow: 0 12px 30px rgba(7, 26, 45, 0.14);
}

.about-story__year-number {
    color: var(--secondary);
    font-family: var(--font-heading);
    font-size: 43px;
    font-weight: 600;
    line-height: 1;
}

.about-story__year-label {
    padding-left: 16px;
    border-left: 1px solid rgba(255, 255, 255, 0.3);
    color: var(--white);
    font-family: var(--font-body);
    font-size: 11px;
    line-height: 1.7;
}

/* Story text */

.about-story__content {
    min-width: 0;
    max-width: 650px;
}

.about-story__eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 21px;
    color: var(--secondary);
    font-family: var(--font-body);
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 0.18em;
    line-height: 1.6;
}

.about-story__eyebrow::before {
    content: "";
    display: block;
    width: 30px;
    height: 1px;
    background: var(--secondary);
}

.about-story__content h2 {
    max-width: 600px;
    margin: 0 0 25px;
    color: var(--primary);
    font-family: var(--font-heading);
    font-size: clamp(38px, 4vw, 54px);
    font-weight: 600;
    line-height: 1.12;
    letter-spacing: -0.02em;
}

.about-story__content p {
    margin: 0 0 17px;
    color: var(--muted);
    font-family: var(--font-body);
    font-size: 14px;
    line-height: 1.95;
}

.about-story__content .about-story__lead {
    margin-bottom: 19px;
    color: var(--text);
    font-size: 15px;
    font-weight: 500;
    line-height: 1.9;
}

/* Founder signature */

.about-story__signature {
    display: flex;
    align-items: center;
    gap: 14px;
    margin-top: 30px;
}

.about-story__signature-line {
    display: block;
    width: 38px;
    height: 1px;
    flex-shrink: 0;
    background: var(--secondary);
}

.about-story__signature div {
    display: flex;
    flex-direction: column;
    gap: 5px;
}

.about-story__signature strong {
    color: var(--primary);
    font-family: var(--font-heading);
    font-size: 21px;
    font-weight: 600;
}

.about-story__signature div span {
    color: var(--muted);
    font-family: var(--font-body);
    font-size: 11px;
    line-height: 1.6;
}

/* Tablet */

@media (max-width: 991px) {
    .about-story {
        padding: 76px 0;
    }

    .about-story__grid {
        grid-template-columns: minmax(0, 0.85fr) minmax(0, 1.15fr);
        gap: 38px;
    }

    .about-story__content h2 {
        font-size: clamp(36px, 4.4vw, 46px);
    }

    .about-story__year {
        gap: 12px;
        padding: 16px 18px;
    }

    .about-story__year-number {
        font-size: 36px;
    }

    .about-story__year-label {
        padding-left: 12px;
        font-size: 10px;
    }
}

/* Mobile */

@media (max-width: 767px) {
    .about-story {
        padding: 64px 0 70px;
    }

    .about-story .container {
        padding-right: 20px;
        padding-left: 20px;
    }

    .about-story__grid {
        grid-template-columns: minmax(0, 1fr);
        gap: 42px;
    }

    .about-story__visual {
        width: 100%;
        max-width: 500px;
        margin: 0 auto;
        padding-right: 15px;
        padding-bottom: 24px;
    }

    .about-story__image-wrap {
        aspect-ratio: 4 / 4.2;
    }

    .about-story__image-decoration {
        top: 14px;
        left: 14px;
    }

    .about-story__year {
        padding: 15px 18px;
    }

    .about-story__year-number {
        font-size: 34px;
    }

    .about-story__content h2 {
        margin-bottom: 21px;
        font-size: clamp(37px, 8.5vw, 48px);
    }

    .about-story__content .about-story__lead {
        font-size: 14px;
    }

    .about-story__content p {
        font-size: 13px;
        line-height: 1.9;
    }

    .about-story__signature {
        margin-top: 25px;
    }
}

/* ==========================================
   ABOUT US — APPROACH TO YOGA EDUCATION
========================================== */

.about-approach {
    padding: 100px 0 90px;
    background: var(--bg);
}

.about-approach .container {
    width: 100%;
    max-width: var(--container);
    margin: 0 auto;
    padding: 0 24px;
}

/* Section heading */

.about-approach__header {
    max-width: 780px;
    margin: 0 auto 52px;
    text-align: center;
}

.about-approach__eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 20px;
    color: var(--secondary);
    font-family: var(--font-body);
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 0.16em;
    line-height: 1.6;
}

.about-approach__eyebrow::before,
.about-approach__eyebrow::after {
    content: "";
    width: 25px;
    height: 1px;
    background: var(--secondary);
}

.about-approach__header h2 {
    max-width: 740px;
    margin: 0 auto 20px;
    color: var(--primary);
    font-family: var(--font-heading);
    font-size: clamp(38px, 4vw, 54px);
    font-weight: 600;
    line-height: 1.12;
    letter-spacing: -0.02em;
}

.about-approach__intro {
    max-width: 690px;
    margin: 0 auto;
    color: var(--muted);
    font-family: var(--font-body);
    font-size: 14px;
    line-height: 1.9;
}

/* Learning cards */

.about-approach__grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 18px;
}

.about-approach__card {
    position: relative;
    display: flex;
    flex-direction: column;
    min-width: 0;
    padding: 30px 24px 27px;
    background: var(--white);
    border: 1px solid var(--border);
    border-radius: var(--radius);
    transition:
        transform 0.25s ease,
        box-shadow 0.25s ease,
        border-color 0.25s ease;
}

.about-approach__card:hover {
    transform: translateY(-4px);
    border-color: var(--secondary);
    box-shadow: 0 14px 32px rgba(7, 26, 45, 0.06);
}

.about-approach__number {
    position: absolute;
    top: 24px;
    right: 24px;
    color: var(--secondary);
    font-family: var(--font-heading);
    font-size: 20px;
    font-weight: 600;
}

.about-approach__icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 58px;
    height: 58px;
    margin-bottom: 26px;
    color: var(--primary);
    background: var(--bg);
    border: 1px solid var(--border);
    border-radius: 50%;
}

.about-approach__icon svg {
    display: block;
    width: 34px;
    height: 34px;
}

.about-approach__card h3 {
    margin: 0 0 14px;
    color: var(--primary);
    font-family: var(--font-heading);
    font-size: 24px;
    font-weight: 600;
    line-height: 1.2;
}

.about-approach__card p {
    flex-grow: 1;
    margin: 0 0 25px;
    color: var(--muted);
    font-family: var(--font-body);
    font-size: 12px;
    line-height: 1.9;
}

.about-approach__tag {
    display: block;
    padding-top: 16px;
    border-top: 1px solid var(--border);
    color: var(--primary);
    font-family: var(--font-body);
    font-size: 9px;
    font-weight: 800;
    letter-spacing: 0.09em;
    line-height: 1.6;
}

/* Theory-to-practice panel */

.about-approach__practice {
    display: grid;
    grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);
    align-items: center;
    gap: 50px;
    margin-top: 30px;
    padding: 38px 42px;
    background: var(--primary);
    border-radius: var(--radius);
}

.about-approach__practice-heading {
    padding-right: 25px;
    border-right: 1px solid rgba(255, 255, 255, 0.22);
}

.about-approach__practice-label {
    display: block;
    margin-bottom: 13px;
    color: var(--secondary);
    font-family: var(--font-body);
    font-size: 10px;
    font-weight: 800;
    letter-spacing: 0.15em;
    line-height: 1.6;
}

.about-approach__practice-heading h3 {
    margin: 0;
    color: var(--white);
    font-family: var(--font-heading);
    font-size: clamp(27px, 3vw, 36px);
    font-weight: 500;
    line-height: 1.2;
}

.about-approach__practice-content p {
    margin: 0 0 13px;
    color: rgba(255, 255, 255, 0.82);
    font-family: var(--font-body);
    font-size: 12px;
    line-height: 1.9;
}

.about-approach__practice-content p:last-child {
    margin-bottom: 0;
}

/* Tablet */

@media (max-width: 1050px) {
    .about-approach__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 18px;
    }

    .about-approach__card {
        padding: 28px 25px;
    }

    .about-approach__card p {
        font-size: 13px;
    }

    .about-approach__practice {
        gap: 30px;
        padding: 32px;
    }
}

/* Mobile */

@media (max-width: 767px) {
    .about-approach {
        padding: 68px 0;
    }

    .about-approach .container {
        padding: 0 20px;
    }

    .about-approach__header {
        margin-bottom: 34px;
        text-align: left;
    }

    .about-approach__eyebrow {
        font-size: 10px;
        letter-spacing: 0.12em;
    }

    .about-approach__eyebrow::after {
        display: none;
    }

    .about-approach__header h2 {
        margin: 0 0 17px;
        font-size: clamp(36px, 8.5vw, 46px);
        line-height: 1.12;
    }

    .about-approach__intro {
        font-size: 13px;
        line-height: 1.85;
    }

    .about-approach__grid {
        grid-template-columns: minmax(0, 1fr);
        gap: 14px;
    }

    .about-approach__card {
        padding: 27px 23px 23px;
    }

    .about-approach__icon {
        width: 52px;
        height: 52px;
        margin-bottom: 21px;
    }

    .about-approach__icon svg {
        width: 31px;
        height: 31px;
    }

    .about-approach__card h3 {
        max-width: 280px;
        font-size: 25px;
    }

    .about-approach__card p {
        margin-bottom: 22px;
        font-size: 13px;
        line-height: 1.85;
    }

    .about-approach__practice {
        grid-template-columns: minmax(0, 1fr);
        gap: 23px;
        margin-top: 20px;
        padding: 28px 24px;
    }

    .about-approach__practice-heading {
        padding-right: 0;
        padding-bottom: 21px;
        border-right: 0;
        border-bottom: 1px solid rgba(255, 255, 255, 0.22);
    }

    .about-approach__practice-heading h3 {
        font-size: 31px;
    }

    .about-approach__practice-content p {
        font-size: 12px;
        line-height: 1.85;
    }
}

/* ==========================================
   ABOUT US — APPROACH TO YOGA EDUCATION
========================================== */

.about-approach {
    padding: 100px 0 90px;
    background: var(--bg);
}

.about-approach .container {
    width: 100%;
    max-width: var(--container);
    margin: 0 auto;
    padding: 0 24px;
}

/* Section heading */

.about-approach__header {
    max-width: 780px;
    margin: 0 auto 52px;
    text-align: center;
}

.about-approach__eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 20px;
    color: var(--secondary);
    font-family: var(--font-body);
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 0.16em;
    line-height: 1.6;
}

.about-approach__eyebrow::before,
.about-approach__eyebrow::after {
    content: "";
    width: 25px;
    height: 1px;
    background: var(--secondary);
}

.about-approach__header h2 {
    max-width: 740px;
    margin: 0 auto 20px;
    color: var(--primary);
    font-family: var(--font-heading);
    font-size: clamp(38px, 4vw, 54px);
    font-weight: 600;
    line-height: 1.12;
    letter-spacing: -0.02em;
}

.about-approach__intro {
    max-width: 690px;
    margin: 0 auto;
    color: var(--muted);
    font-family: var(--font-body);
    font-size: 14px;
    line-height: 1.9;
}

/* Learning cards */

.about-approach__grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 18px;
}

.about-approach__card {
    position: relative;
    display: flex;
    flex-direction: column;
    min-width: 0;
    padding: 30px 24px 27px;
    background: var(--white);
    border: 1px solid var(--border);
    border-radius: var(--radius);
    transition:
        transform 0.25s ease,
        box-shadow 0.25s ease,
        border-color 0.25s ease;
}

.about-approach__card:hover {
    transform: translateY(-4px);
    border-color: var(--secondary);
    box-shadow: 0 14px 32px rgba(7, 26, 45, 0.06);
}

.about-approach__number {
    position: absolute;
    top: 24px;
    right: 24px;
    color: var(--secondary);
    font-family: var(--font-heading);
    font-size: 20px;
    font-weight: 600;
}

.about-approach__icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 58px;
    height: 58px;
    margin-bottom: 26px;
    color: var(--primary);
    background: var(--bg);
    border: 1px solid var(--border);
    border-radius: 50%;
}

.about-approach__icon svg {
    display: block;
    width: 34px;
    height: 34px;
}

.about-approach__card h3 {
    margin: 0 0 14px;
    color: var(--primary);
    font-family: var(--font-heading);
    font-size: 24px;
    font-weight: 600;
    line-height: 1.2;
}

.about-approach__card p {
    flex-grow: 1;
    margin: 0 0 25px;
    color: var(--muted);
    font-family: var(--font-body);
    font-size: 12px;
    line-height: 1.9;
}

.about-approach__tag {
    display: block;
    padding-top: 16px;
    border-top: 1px solid var(--border);
    color: var(--primary);
    font-family: var(--font-body);
    font-size: 9px;
    font-weight: 800;
    letter-spacing: 0.09em;
    line-height: 1.6;
}

/* Theory-to-practice panel */

.about-approach__practice {
    display: grid;
    grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);
    align-items: center;
    gap: 50px;
    margin-top: 30px;
    padding: 38px 42px;
    background: var(--primary);
    border-radius: var(--radius);
}

.about-approach__practice-heading {
    padding-right: 25px;
    border-right: 1px solid rgba(255, 255, 255, 0.22);
}

.about-approach__practice-label {
    display: block;
    margin-bottom: 13px;
    color: var(--secondary);
    font-family: var(--font-body);
    font-size: 10px;
    font-weight: 800;
    letter-spacing: 0.15em;
    line-height: 1.6;
}

.about-approach__practice-heading h3 {
    margin: 0;
    color: var(--white);
    font-family: var(--font-heading);
    font-size: clamp(27px, 3vw, 36px);
    font-weight: 500;
    line-height: 1.2;
}

.about-approach__practice-content p {
    margin: 0 0 13px;
    color: rgba(255, 255, 255, 0.82);
    font-family: var(--font-body);
    font-size: 12px;
    line-height: 1.9;
}

.about-approach__practice-content p:last-child {
    margin-bottom: 0;
}

/* Tablet */

@media (max-width: 1050px) {
    .about-approach__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 18px;
    }

    .about-approach__card {
        padding: 28px 25px;
    }

    .about-approach__card p {
        font-size: 13px;
    }

    .about-approach__practice {
        gap: 30px;
        padding: 32px;
    }
}

/* Mobile */

@media (max-width: 767px) {
    .about-approach {
        padding: 68px 0;
    }

    .about-approach .container {
        padding: 0 20px;
    }

    .about-approach__header {
        margin-bottom: 34px;
        text-align: left;
    }

    .about-approach__eyebrow {
        font-size: 10px;
        letter-spacing: 0.12em;
    }

    .about-approach__eyebrow::after {
        display: none;
    }

    .about-approach__header h2 {
        margin: 0 0 17px;
        font-size: clamp(36px, 8.5vw, 46px);
        line-height: 1.12;
    }

    .about-approach__intro {
        font-size: 13px;
        line-height: 1.85;
    }

    .about-approach__grid {
        grid-template-columns: minmax(0, 1fr);
        gap: 14px;
    }

    .about-approach__card {
        padding: 27px 23px 23px;
    }

    .about-approach__icon {
        width: 52px;
        height: 52px;
        margin-bottom: 21px;
    }

    .about-approach__icon svg {
        width: 31px;
        height: 31px;
    }

    .about-approach__card h3 {
        max-width: 280px;
        font-size: 25px;
    }

    .about-approach__card p {
        margin-bottom: 22px;
        font-size: 13px;
        line-height: 1.85;
    }

    .about-approach__practice {
        grid-template-columns: minmax(0, 1fr);
        gap: 23px;
        margin-top: 20px;
        padding: 28px 24px;
    }

    .about-approach__practice-heading {
        padding-right: 0;
        padding-bottom: 21px;
        border-right: 0;
        border-bottom: 1px solid rgba(255, 255, 255, 0.22);
    }

    .about-approach__practice-heading h3 {
        font-size: 31px;
    }

    .about-approach__practice-content p {
        font-size: 12px;
        line-height: 1.85;
    }
}

/* ==========================================
   ABOUT US — TEACHING FACULTY
========================================== */

.about-faculty {
    padding: 100px 0 90px;
    background: var(--white);
}

.about-faculty .container {
    width: 100%;
    max-width: var(--container);
    margin: 0 auto;
    padding: 0 24px;
}

/* Section heading */

.about-faculty__header {
    max-width: 760px;
    margin: 0 auto 48px;
    text-align: center;
}

.about-faculty__eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 19px;
    color: var(--secondary);
    font-family: var(--font-body);
    font-size: 10px;
    font-weight: 800;
    letter-spacing: 0.17em;
    line-height: 1.6;
}

.about-faculty__eyebrow::before,
.about-faculty__eyebrow::after {
    content: "";
    width: 25px;
    height: 1px;
    background: var(--secondary);
}

.about-faculty__header h2 {
    margin: 0 0 18px;
    color: var(--primary);
    font-family: var(--font-heading);
    font-size: clamp(38px, 4vw, 54px);
    font-weight: 600;
    line-height: 1.12;
    letter-spacing: -0.02em;
}

.about-faculty__header > p {
    max-width: 660px;
    margin: 0 auto;
    color: var(--muted);
    font-family: var(--font-body);
    font-size: 14px;
    line-height: 1.9;
}

/* Faculty grid */

.about-faculty__grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 28px 22px;
}

.about-faculty__card {
    display: flex;
    flex-direction: column;
    min-width: 0;
    overflow: hidden;
    background: var(--bg);
    border: 1px solid var(--border);
    border-radius: var(--radius);
    transition:
        transform 0.25s ease,
        box-shadow 0.25s ease,
        border-color 0.25s ease;
}

.about-faculty__card:hover {
    transform: translateY(-4px);
    border-color: var(--secondary);
    box-shadow: 0 14px 35px rgba(7, 26, 45, 0.07);
}

/* Portrait */

.about-faculty__portrait {
    position: relative;
    width: 100%;
    aspect-ratio: 4 / 3.5;
    overflow: hidden;
    background: var(--bg-alt);
}

.about-faculty__portrait img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center 30%;
    transition: transform 0.5s ease;
}

.about-faculty__card:hover .about-faculty__portrait img {
    transform: scale(1.035);
}

.about-faculty__portrait-index {
    position: absolute;
    right: 14px;
    bottom: 14px;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    color: var(--primary);
    background: var(--bg);
    border: 1px solid var(--secondary);
    border-radius: 50%;
    font-family: var(--font-heading);
    font-size: 17px;
}

/* Teacher information */

.about-faculty__details {
    display: flex;
    flex: 1;
    flex-direction: column;
    align-items: flex-start;
    padding: 25px 23px 22px;
}

.about-faculty__speciality {
    display: block;
    margin-bottom: 11px;
    color: #8A6A22;
    font-family: var(--font-body);
    font-size: 9px;
    font-weight: 800;
    letter-spacing: 0.11em;
    line-height: 1.7;
}

.about-faculty__details h3 {
    margin: 0 0 12px;
    color: var(--primary);
    font-family: var(--font-heading);
    font-size: 27px;
    font-weight: 600;
    line-height: 1.15;
}

.about-faculty__qualification {
    width: 100%;
    margin: 0 0 15px;
    padding-bottom: 15px;
    border-bottom: 1px solid var(--border);
    color: var(--text);
    font-family: var(--font-body);
    font-size: 11px;
    font-weight: 600;
    line-height: 1.8;
}

.about-faculty__bio {
    flex: 1;
    margin: 0 0 21px;
    color: var(--muted);
    font-family: var(--font-body);
    font-size: 12px;
    line-height: 1.9;
}

/* Experience footer */

.about-faculty__experience {
    display: flex;
    flex-direction: column;
    gap: 4px;
    width: 100%;
    margin-top: auto;
    padding-top: 15px;
    border-top: 1px solid var(--border);
}

.about-faculty__experience span:first-child {
    color: var(--primary);
    font-family: var(--font-heading);
    font-size: 22px;
    font-weight: 600;
    line-height: 1.3;
}

.about-faculty__experience span:last-child {
    color: var(--muted);
    font-family: var(--font-body);
    font-size: 10px;
    line-height: 1.6;
}

/* Bottom link */

.about-faculty__footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    margin-top: 38px;
    padding-top: 26px;
    border-top: 1px solid var(--border);
}

.about-faculty__footer p {
    max-width: 480px;
    margin: 0;
    color: var(--muted);
    font-family: var(--font-body);
    font-size: 13px;
    line-height: 1.8;
}

.about-faculty__link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 14px;
    min-height: 48px;
    padding: 12px 20px;
    border: 1px solid var(--primary);
    border-radius: 50px;
    color: var(--primary);
    font-family: var(--font-body);
    font-size: 11px;
    font-weight: 800;
    text-decoration: none;
    transition:
        color 0.25s ease,
        background-color 0.25s ease;
}

.about-faculty__link:hover {
    color: var(--white);
    background: var(--primary);
}

.about-faculty__link span {
    font-size: 15px;
}

/* Tablet */

@media (max-width: 1024px) {
    .about-faculty {
        padding: 80px 0;
    }

    .about-faculty__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 22px;
    }

    .about-faculty__details {
        padding: 23px 21px;
    }
}

/* Mobile */

@media (max-width: 767px) {
    .about-faculty {
        padding: 65px 0 70px;
    }

    .about-faculty .container {
        padding: 0 20px;
    }

    .about-faculty__header {
        margin-bottom: 32px;
        text-align: left;
    }

    .about-faculty__eyebrow {
        font-size: 9px;
        letter-spacing: 0.13em;
    }

    .about-faculty__eyebrow::after {
        display: none;
    }

    .about-faculty__header h2 {
        font-size: clamp(36px, 8.5vw, 46px);
    }

    .about-faculty__header > p {
        font-size: 13px;
        line-height: 1.85;
    }

    .about-faculty__grid {
        grid-template-columns: minmax(0, 1fr);
        gap: 20px;
    }

    .about-faculty__portrait {
        aspect-ratio: 4 / 3.1;
    }

    .about-faculty__details {
        padding: 23px;
    }

    .about-faculty__details h3 {
        font-size: 28px;
    }

    .about-faculty__qualification {
        font-size: 12px;
    }

    .about-faculty__bio {
        font-size: 13px;
        line-height: 1.85;
    }

    .about-faculty__footer {
        align-items: flex-start;
        flex-direction: column;
        gap: 18px;
        margin-top: 28px;
    }
}

/* =========================================
   ABOUT PAGE — LEARNING AT 8 LIMBS
========================================= */

.about-learning {
    padding: 100px 0;
    background: var(--bg);
    color: var(--text);
}

.about-learning__intro {
    display: grid;
    grid-template-columns: 0.9fr 1.1fr;
    gap: 64px;
    align-items: end;
    margin-bottom: 42px;
}

.about-learning__eyebrow {
    display: inline-block;
    margin-bottom: 15px;
    color: var(--secondary);
    font-family: var(--font-body);
    font-size: 0.76rem;
    font-weight: 800;
    letter-spacing: 0.16em;
    text-transform: uppercase;
}

.about-learning__heading h2 {
    margin: 0;
    color: var(--primary);
    font-family: var(--font-heading);
    font-size: clamp(2.5rem, 4.5vw, 4rem);
    font-weight: 600;
    line-height: 1.08;
}

.about-learning__description p {
    margin: 0 0 14px;
    color: var(--muted);
    font-family: var(--font-body);
    font-size: 0.98rem;
    line-height: 1.85;
}

.about-learning__description p:last-child {
    margin-bottom: 0;
}

/* Main class photograph */

.about-learning__visual {
    position: relative;
    overflow: hidden;
    margin-bottom: 28px;
    border-radius: var(--radius);
    background: var(--bg-alt);
}

.about-learning__visual > img {
    display: block;
    width: 100%;
    height: 500px;
    object-fit: cover;
    object-position: center 48%;
}

.about-learning__image-caption {
    position: absolute;
    right: 24px;
    bottom: 24px;
    display: flex;
    align-items: center;
    gap: 12px;
    max-width: calc(100% - 48px);
    padding: 13px 18px;
    border: 1px solid rgba(255, 255, 255, 0.3);
    border-radius: var(--radius-small);
    background: rgba(7, 26, 45, 0.86);
    color: var(--white);
    backdrop-filter: blur(8px);
}

.about-learning__caption-line {
    display: block;
    flex: 0 0 24px;
    height: 2px;
    background: var(--secondary);
}

.about-learning__image-caption p {
    margin: 0;
    font-family: var(--font-body);
    font-size: 0.84rem;
    line-height: 1.5;
}

/* Four learning areas */

.about-learning__grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px;
}

.about-learning__card {
    display: flex;
    gap: 22px;
    align-items: flex-start;
    padding: 30px;
    border: 1px solid var(--border);
    border-radius: var(--radius);
    background: var(--white);
    transition:
        border-color 0.25s ease,
        transform 0.25s ease;
}

.about-learning__card:hover {
    border-color: var(--secondary);
    transform: translateY(-3px);
}

.about-learning__number {
    display: flex;
    flex: 0 0 44px;
    width: 44px;
    height: 44px;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: var(--bg);
    color: var(--primary);
    font-family: var(--font-body);
    font-size: 0.8rem;
    font-weight: 800;
}

.about-learning__card-content h3 {
    margin: 3px 0 12px;
    color: var(--primary);
    font-family: var(--font-heading);
    font-size: 1.65rem;
    font-weight: 600;
    line-height: 1.2;
}

.about-learning__card-content p {
    margin: 0;
    color: var(--muted);
    font-family: var(--font-body);
    font-size: 0.92rem;
    line-height: 1.8;
}

/* Closing line and CTA */

.about-learning__closing {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 28px;
    margin-top: 34px;
    padding-top: 28px;
    border-top: 1px solid var(--border);
}

.about-learning__closing > p {
    max-width: 650px;
    margin: 0;
    color: var(--primary);
    font-family: var(--font-heading);
    font-size: 1.45rem;
    line-height: 1.45;
}

.about-learning__cta {
    display: inline-flex;
    flex: 0 0 auto;
    align-items: center;
    justify-content: center;
    gap: 14px;
    min-height: 50px;
    padding: 13px 22px;
    border: 1px solid var(--primary);
    border-radius: var(--radius-small);
    background: var(--primary);
    color: var(--white);
    font-family: var(--font-body);
    font-size: 0.88rem;
    font-weight: 700;
    text-decoration: none;
    transition:
        background 0.25s ease,
        color 0.25s ease,
        border-color 0.25s ease;
}

.about-learning__cta:hover {
    border-color: var(--secondary);
    background: var(--secondary);
    color: var(--dark);
}

.about-learning__cta span {
    font-size: 1.05rem;
}

/* Responsive */

@media (max-width: 900px) {
    .about-learning {
        padding: 76px 0;
    }

    .about-learning__intro {
        grid-template-columns: 1fr;
        gap: 22px;
    }

    .about-learning__visual > img {
        height: 400px;
    }

    .about-learning__card {
        padding: 24px;
        gap: 16px;
    }

    .about-learning__closing {
        align-items: flex-start;
        flex-direction: column;
    }
}

@media (max-width: 600px) {
    .about-learning {
        padding: 58px 0;
    }

    .about-learning__intro {
        margin-bottom: 28px;
    }

    .about-learning__visual {
        margin-bottom: 18px;
        border-radius: var(--radius-small);
    }

    .about-learning__visual > img {
        height: 300px;
    }

    .about-learning__image-caption {
        right: 12px;
        bottom: 12px;
        max-width: calc(100% - 24px);
        gap: 9px;
        padding: 10px 12px;
    }

    .about-learning__image-caption p {
        font-size: 0.75rem;
    }

    .about-learning__grid {
        grid-template-columns: 1fr;
        gap: 12px;
    }

    .about-learning__card {
        padding: 22px 18px;
        gap: 14px;
    }

    .about-learning__number {
        flex-basis: 36px;
        width: 36px;
        height: 36px;
        font-size: 0.72rem;
    }

    .about-learning__card-content h3 {
        font-size: 1.45rem;
    }

    .about-learning__card-content p {
        font-size: 0.88rem;
    }

    .about-learning__closing {
        gap: 20px;
        margin-top: 26px;
        padding-top: 24px;
    }

    .about-learning__closing > p {
        font-size: 1.3rem;
    }

    .about-learning__cta {
        width: 100%;
    }
}

@media (prefers-reduced-motion: reduce) {
    .about-learning__card,
    .about-learning__cta {
        transition: none;
    }
}
.about-learning .container{
    width: 100%;
    max-width: var(--container);
    margin: 0 auto;
    padding: 0 24px;
}

/* =========================================
   ABOUT PAGE — LIFE AT 8 LIMBS
========================================= */

.about-life {
    padding: 88px 0;
    background: var(--white);
    color: var(--text);
}

.about-life__header {
    display: grid;
    grid-template-columns: 0.9fr 1.1fr;
    gap: 60px;
    align-items: end;
    margin-bottom: 38px;
}

.about-life__eyebrow {
    display: inline-block;
    margin-bottom: 14px;
    color: var(--secondary);
    font-family: var(--font-body);
    font-size: 0.76rem;
    font-weight: 800;
    letter-spacing: 0.15em;
    text-transform: uppercase;
}

.about-life__header h2 {
    margin: 0;
    color: var(--primary);
    font-family: var(--font-heading);
    font-size: clamp(2.5rem, 4.2vw, 3.8rem);
    font-weight: 600;
    line-height: 1.1;
}

.about-life__header > p {
    max-width: 590px;
    margin: 0;
    color: var(--muted);
    font-family: var(--font-body);
    font-size: 0.97rem;
    line-height: 1.85;
}

/* Image and highlights */

.about-life__layout {
    display: grid;
    grid-template-columns: 0.88fr 1.12fr;
    gap: 42px;
    align-items: stretch;
}

.about-life__image {
    position: relative;
    min-height: 520px;
    overflow: hidden;
    border-radius: var(--radius);
    background: var(--bg-alt);
}

.about-life__image > img {
    display: block;
    width: 100%;
    height: 100%;
    min-height: 520px;
    object-fit: cover;
    object-position: center;
}

.about-life__image-label {
    position: absolute;
    right: 16px;
    bottom: 16px;
    left: 16px;
    padding: 13px 16px;
    border: 1px solid rgba(255, 255, 255, 0.25);
    border-radius: var(--radius-small);
    background: rgba(7, 26, 45, 0.84);
    color: var(--white);
    font-family: var(--font-body);
    font-size: 0.82rem;
    line-height: 1.5;
    backdrop-filter: blur(6px);
}

.about-life__details {
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.about-life__item {
    display: flex;
    align-items: flex-start;
    gap: 18px;
    padding: 20px 0;
    border-bottom: 1px solid var(--border);
}

.about-life__item:first-child {
    padding-top: 0;
}

.about-life__item:last-child {
    padding-bottom: 0;
    border-bottom: 0;
}

.about-life__icon {
    display: flex;
    flex: 0 0 44px;
    width: 44px;
    height: 44px;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: var(--bg);
    color: var(--primary);
    font-size: 1rem;
}

.about-life__item h3 {
    margin: 1px 0 6px;
    color: var(--primary);
    font-family: var(--font-heading);
    font-size: 1.42rem;
    font-weight: 600;
    line-height: 1.25;
}

.about-life__item p {
    margin: 0;
    color: var(--muted);
    font-family: var(--font-body);
    font-size: 0.88rem;
    line-height: 1.75;
}

/* Course-page link */

.about-life__footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    margin-top: 32px;
    padding-top: 24px;
    border-top: 1px solid var(--border);
}

.about-life__footer > p {
    margin: 0;
    color: var(--muted);
    font-family: var(--font-body);
    font-size: 0.9rem;
    line-height: 1.7;
}

.about-life__link {
    display: inline-flex;
    flex: 0 0 auto;
    align-items: center;
    gap: 12px;
    color: var(--primary);
    font-family: var(--font-body);
    font-size: 0.88rem;
    font-weight: 800;
    text-decoration: none;
    transition: color 0.2s ease;
}

.about-life__link:hover {
    color: var(--secondary);
}

.about-life__link span {
    font-size: 1.1rem;
}

/* Responsive */

@media (max-width: 900px) {
    .about-life {
        padding: 72px 0;
    }

    .about-life__header {
        grid-template-columns: 1fr;
        gap: 18px;
    }

    .about-life__layout {
        grid-template-columns: 1fr 1fr;
        gap: 28px;
    }

    .about-life__image,
    .about-life__image > img {
        min-height: 560px;
    }

    .about-life__item {
        gap: 13px;
        padding: 17px 0;
    }

    .about-life__icon {
        flex-basis: 38px;
        width: 38px;
        height: 38px;
        font-size: 0.9rem;
    }

    .about-life__item h3 {
        font-size: 1.25rem;
    }
}

@media (max-width: 640px) {
    .about-life {
        padding: 58px 0;
    }

    .about-life__header {
        margin-bottom: 26px;
    }

    .about-life__layout {
        grid-template-columns: 1fr;
        gap: 24px;
    }

    .about-life__image,
    .about-life__image > img {
        min-height: 0;
        height: 320px;
    }

    .about-life__item {
        padding: 17px 0;
    }

    .about-life__footer {
        align-items: flex-start;
        flex-direction: column;
        gap: 14px;
        margin-top: 26px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .about-life__link {
        transition: none;
    }
}
.about-life .container{
        width: 100%;
    max-width: var(--container);
    margin: 0 auto;
    padding: 0 24px;
}

/* =========================================
   ABOUT PAGE — TRAINING STANDARDS
========================================= */

.about-standards {
    padding: 90px 0;
    background: var(--bg);
    color: var(--text);
}

.about-standards .container {
    width: 100%;
    max-width: var(--container);
    margin: 0 auto;
    padding: 0 24px;
}

.about-standards__header {
    max-width: 760px;
    margin: 0 auto 42px;
    text-align: center;
}

.about-standards__eyebrow {
    display: inline-block;
    margin-bottom: 14px;
    color: var(--secondary);
    font-family: var(--font-body);
    font-size: 0.76rem;
    font-weight: 800;
    letter-spacing: 0.15em;
    text-transform: uppercase;
}

.about-standards__header h2 {
    margin: 0 0 18px;
    color: var(--primary);
    font-family: var(--font-heading);
    font-size: clamp(2.4rem, 4.2vw, 3.7rem);
    font-weight: 600;
    line-height: 1.12;
}

.about-standards__header > p {
    max-width: 680px;
    margin: 0 auto;
    color: var(--muted);
    font-family: var(--font-body);
    font-size: 0.96rem;
    line-height: 1.85;
}

/* Credential strip */

.about-standards__credentials {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 20px;
    margin-bottom: 52px;
}

.about-standards__credential {
    display: flex;
    min-width: 0;
    flex-direction: column;
    align-items: center;
    padding: 28px 22px 25px;
    border: 1px solid var(--border);
    border-radius: var(--radius);
    background: var(--white);
    text-align: center;
}

.about-standards__logo {
    display: flex;
    width: 100%;
    height: 105px;
    align-items: center;
    justify-content: center;
    margin-bottom: 18px;
}

.about-standards__logo img {
    display: block;
    max-width: 160px;
    max-height: 100px;
    width: auto;
    height: auto;
    object-fit: contain;
}

.about-standards__credential h3 {
    margin: 0 0 7px;
    color: var(--primary);
    font-family: var(--font-heading);
    font-size: 1.4rem;
    font-weight: 600;
    line-height: 1.3;
}

.about-standards__credential > p {
    margin: 0 0 12px;
    color: var(--text);
    font-family: var(--font-body);
    font-size: 0.87rem;
    line-height: 1.6;
}

.about-standards__credential > span {
    display: inline-block;
    padding: 6px 11px;
    border-radius: 30px;
    background: var(--bg);
    color: var(--muted);
    font-family: var(--font-body);
    font-size: 0.73rem;
    font-weight: 700;
}

/* Explanation cards */

.about-standards__grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 20px;
}

.about-standards__card {
    padding: 28px;
    border: 1px solid var(--border);
    border-radius: var(--radius);
    background: var(--white);
}

.about-standards__number {
    display: flex;
    width: 40px;
    height: 40px;
    align-items: center;
    justify-content: center;
    margin-bottom: 22px;
    border-radius: 50%;
    background: var(--primary);
    color: var(--white);
    font-family: var(--font-body);
    font-size: 0.76rem;
    font-weight: 800;
}

.about-standards__card h3 {
    margin: 0 0 12px;
    color: var(--primary);
    font-family: var(--font-heading);
    font-size: 1.5rem;
    font-weight: 600;
    line-height: 1.25;
}

.about-standards__card p {
    margin: 0;
    color: var(--muted);
    font-family: var(--font-body);
    font-size: 0.88rem;
    line-height: 1.8;
}

/* Important registration clarification */

.about-standards__note {
    display: flex;
    align-items: flex-start;
    gap: 14px;
    margin-top: 24px;
    padding: 20px 22px;
    border: 1px solid var(--border);
    border-radius: var(--radius-small);
    background: var(--bg-alt);
}

.about-standards__note-icon {
    display: flex;
    flex: 0 0 25px;
    width: 25px;
    height: 25px;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: var(--primary);
    color: var(--white);
    font-family: var(--font-body);
    font-size: 0.78rem;
    font-weight: 800;
}

.about-standards__note p {
    margin: 0;
    color: var(--text);
    font-family: var(--font-body);
    font-size: 0.84rem;
    line-height: 1.8;
}

/* Bottom CTA */

.about-standards__footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    margin-top: 32px;
    padding-top: 24px;
    border-top: 1px solid var(--border);
}

.about-standards__footer > p {
    margin: 0;
    color: var(--primary);
    font-family: var(--font-heading);
    font-size: 1.35rem;
    line-height: 1.5;
}

.about-standards__link {
    display: inline-flex;
    flex: 0 0 auto;
    align-items: center;
    gap: 12px;
    padding: 13px 19px;
    border: 1px solid var(--primary);
    border-radius: var(--radius-small);
    background: var(--primary);
    color: var(--white);
    font-family: var(--font-body);
    font-size: 0.86rem;
    font-weight: 700;
    text-decoration: none;
    transition:
        background 0.2s ease,
        border-color 0.2s ease,
        color 0.2s ease;
}

.about-standards__link:hover {
    border-color: var(--secondary);
    background: var(--secondary);
    color: var(--dark);
}

/* Responsive */

@media (max-width: 900px) {
    .about-standards {
        padding: 72px 0;
    }

    .about-standards__credentials {
        gap: 14px;
    }

    .about-standards__credential {
        padding: 22px 14px;
    }

    .about-standards__grid {
        grid-template-columns: 1fr;
        gap: 14px;
    }

    .about-standards__card {
        padding: 24px;
    }
}

@media (max-width: 600px) {
    .about-standards {
        padding: 58px 0;
    }

    .about-standards .container {
        padding: 0 20px;
    }

    .about-standards__header {
        margin-bottom: 30px;
        text-align: left;
    }

    .about-standards__credentials {
        grid-template-columns: 1fr;
        gap: 12px;
        margin-bottom: 34px;
    }

    .about-standards__credential {
        display: grid;
        grid-template-columns: 95px minmax(0, 1fr);
        column-gap: 16px;
        align-items: center;
        padding: 18px;
        text-align: left;
    }

    .about-standards__logo {
        grid-column: 1;
        grid-row: 1 / span 3;
        height: auto;
        min-height: 70px;
        margin: 0;
    }

    .about-standards__logo img {
        max-width: 90px;
        max-height: 75px;
    }

    .about-standards__credential h3 {
        font-size: 1.25rem;
    }

    .about-standards__credential > p {
        margin-bottom: 8px;
        font-size: 0.81rem;
    }

    .about-standards__credential > span {
        justify-self: start;
        font-size: 0.68rem;
    }

    .about-standards__card {
        padding: 22px;
    }

    .about-standards__note {
        padding: 17px;
    }

    .about-standards__footer {
        align-items: flex-start;
        flex-direction: column;
        gap: 16px;
    }

    .about-standards__link {
        width: 100%;
        justify-content: center;
    }
}

@media (prefers-reduced-motion: reduce) {
    .about-standards__link {
        transition: none;
    }
}

/* =========================================
   ABOUT PAGE — WHY RISHIKESH
========================================= */

.about-rishikesh {
    padding: 100px 0;
    background: var(--bg);
    color: var(--text);
}

.about-rishikesh .container {
    width: 100%;
    max-width: var(--container);
    margin: 0 auto;
    padding: 0 24px;
}

.about-rishikesh__layout {
    display: grid;
    grid-template-columns: 0.82fr 1.18fr;
    gap: 72px;
    align-items: center;
}

/* Location photograph */

.about-rishikesh__visual {
    position: relative;
    min-width: 0;
    min-height: 690px;
    overflow: hidden;
    border-radius: var(--radius);
    background: var(--bg-alt);
}

.about-rishikesh__visual > img {
    display: block;
    width: 100%;
    height: 690px;
    object-fit: cover;
    object-position: center;
}

.about-rishikesh__location {
    position: absolute;
    right: 18px;
    bottom: 18px;
    left: 18px;
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 15px 17px;
    border: 1px solid rgba(255, 255, 255, 0.24);
    border-radius: var(--radius-small);
    background: rgba(7, 26, 45, 0.87);
    color: var(--white);
    font-family: var(--font-body);
    font-size: 0.82rem;
    line-height: 1.5;
    backdrop-filter: blur(8px);
}

.about-rishikesh__location-dot {
    flex: 0 0 8px;
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: var(--secondary);
}

/* Text content */

.about-rishikesh__content {
    min-width: 0;
}

.about-rishikesh__eyebrow {
    display: inline-block;
    margin-bottom: 14px;
    color: var(--secondary);
    font-family: var(--font-body);
    font-size: 0.75rem;
    font-weight: 800;
    letter-spacing: 0.15em;
    line-height: 1.6;
    text-transform: uppercase;
}

.about-rishikesh__content > h2 {
    margin: 0 0 20px;
    color: var(--primary);
    font-family: var(--font-heading);
    font-size: clamp(2.7rem, 4.4vw, 4rem);
    font-weight: 600;
    line-height: 1.08;
}

.about-rishikesh__intro {
    margin: 0 0 32px;
    color: var(--muted);
    font-family: var(--font-body);
    font-size: 0.96rem;
    line-height: 1.9;
}

/* Three contextual points */

.about-rishikesh__points {
    display: flex;
    flex-direction: column;
}

.about-rishikesh__point {
    display: grid;
    grid-template-columns: 38px minmax(0, 1fr);
    gap: 17px;
    padding: 22px 0;
    border-top: 1px solid var(--border);
}

.about-rishikesh__number {
    display: flex;
    width: 36px;
    height: 36px;
    align-items: center;
    justify-content: center;
    border: 1px solid var(--border);
    border-radius: 50%;
    color: var(--primary);
    font-family: var(--font-body);
    font-size: 0.72rem;
    font-weight: 800;
}

.about-rishikesh__point h3 {
    margin: 2px 0 8px;
    color: var(--primary);
    font-family: var(--font-heading);
    font-size: 1.48rem;
    font-weight: 600;
    line-height: 1.3;
}

.about-rishikesh__point p {
    margin: 0;
    color: var(--muted);
    font-family: var(--font-body);
    font-size: 0.88rem;
    line-height: 1.8;
}

/* Closing statement */

.about-rishikesh__closing {
    margin-top: 24px;
    padding: 20px 0 0;
    border-top: 2px solid var(--secondary);
}

.about-rishikesh__closing p {
    margin: 0;
    color: var(--primary);
    font-family: var(--font-heading);
    font-size: 1.4rem;
    font-weight: 500;
    line-height: 1.5;
}

/* Responsive */

@media (max-width: 1000px) {
    .about-rishikesh {
        padding: 78px 0;
    }

    .about-rishikesh__layout {
        grid-template-columns: 0.8fr 1.2fr;
        gap: 38px;
    }

    .about-rishikesh__visual,
    .about-rishikesh__visual > img {
        min-height: 640px;
        height: 640px;
    }

    .about-rishikesh__point {
        gap: 12px;
    }
}

@media (max-width: 760px) {
    .about-rishikesh {
        padding: 60px 0;
    }

    .about-rishikesh .container {
        padding: 0 20px;
    }

    .about-rishikesh__layout {
        grid-template-columns: 1fr;
        gap: 32px;
    }

    .about-rishikesh__visual,
    .about-rishikesh__visual > img {
        min-height: 0;
        height: 390px;
    }

    .about-rishikesh__intro {
        margin-bottom: 24px;
    }

    .about-rishikesh__point {
        padding: 20px 0;
    }

    .about-rishikesh__point h3 {
        font-size: 1.4rem;
    }
}

@media (max-width: 480px) {
    .about-rishikesh__visual,
    .about-rishikesh__visual > img {
        height: 320px;
    }

    .about-rishikesh__location {
        right: 12px;
        bottom: 12px;
        left: 12px;
        padding: 12px;
        font-size: 0.76rem;
    }

    .about-rishikesh__point {
        grid-template-columns: 32px minmax(0, 1fr);
        gap: 12px;
    }

    .about-rishikesh__number {
        width: 30px;
        height: 30px;
        font-size: 0.68rem;
    }

    .about-rishikesh__point h3 {
        font-size: 1.3rem;
    }

    .about-rishikesh__point p {
        font-size: 0.86rem;
    }
}

@media (prefers-reduced-motion: reduce) {
    .about-rishikesh * {
        scroll-behavior: auto;
    }
}

/* =========================================
   ABOUT PAGE — STUDENT EXPERIENCES
========================================= */

.about-experiences {
    padding: 96px 0;
    background: var(--bg);
    color: var(--text);
}

.about-experiences .container {
    width: 100%;
    max-width: var(--container);
    margin: 0 auto;
    padding: 0 24px;
}

.about-experiences__header {
    display: grid;
    grid-template-columns: 1fr 0.8fr;
    gap: 56px;
    align-items: end;
    margin-bottom: 40px;
}

.about-experiences__eyebrow {
    display: inline-block;
    margin-bottom: 14px;
    color: var(--secondary);
    font-family: var(--font-body);
    font-size: 0.76rem;
    font-weight: 800;
    letter-spacing: 0.15em;
    text-transform: uppercase;
}

.about-experiences__header h2 {
    max-width: 620px;
    margin: 0;
    color: var(--primary);
    font-family: var(--font-heading);
    font-size: clamp(2.5rem, 4vw, 3.7rem);
    font-weight: 600;
    line-height: 1.12;
}

.about-experiences__header > p {
    margin: 0;
    color: var(--muted);
    font-family: var(--font-body);
    font-size: 0.95rem;
    line-height: 1.85;
}

/* Review cards */

.about-experiences__grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 20px;
    align-items: stretch;
}

.about-experiences__card {
    display: flex;
    min-width: 0;
    flex-direction: column;
    padding: 28px;
    border: 1px solid var(--border);
    border-radius: var(--radius);
    background: var(--white);
}

.about-experiences__top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 20px;
}

.about-experiences__quote-mark {
    height: 46px;
    color: var(--secondary);
    font-family: var(--font-heading);
    font-size: 4.2rem;
    line-height: 1;
}

.about-experiences__course {
    color: var(--muted);
    font-family: var(--font-body);
    font-size: 0.67rem;
    font-weight: 800;
    letter-spacing: 0.09em;
    text-align: right;
}

.about-experiences__quote {
    flex: 1;
    margin: 0 0 26px;
    color: var(--text);
    font-family: var(--font-heading);
    font-size: 1.28rem;
    line-height: 1.65;
}

.about-experiences__reviewer {
    display: flex;
    align-items: center;
    gap: 12px;
    padding-top: 18px;
    border-top: 1px solid var(--border);
}

.about-experiences__avatar {
    display: flex;
    flex: 0 0 42px;
    width: 42px;
    height: 42px;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: var(--bg-alt);
    color: var(--primary);
    font-family: var(--font-body);
    font-size: 0.68rem;
    font-weight: 800;
}

.about-experiences__reviewer-info {
    min-width: 0;
}

.about-experiences__reviewer-name {
    margin: 0 0 4px;
    color: var(--primary);
    font-family: var(--font-body);
    font-size: 0.85rem;
    font-weight: 800;
}

.about-experiences__reviewer-detail {
    margin: 0;
    color: var(--muted);
    font-family: var(--font-body);
    font-size: 0.75rem;
    line-height: 1.5;
}

.about-experiences__source {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    align-self: flex-start;
    margin-top: 20px;
    color: var(--primary);
    font-family: var(--font-body);
    font-size: 0.81rem;
    font-weight: 800;
    text-decoration: none;
    transition: color 0.2s ease;
}

.about-experiences__source:hover {
    color: var(--secondary);
}

/* Student photo gallery */

.about-experiences__gallery {
    margin-top: 64px;
}

.about-experiences__gallery-heading {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 32px;
    margin-bottom: 24px;
}

.about-experiences__gallery-heading h3 {
    margin: 0;
    color: var(--primary);
    font-family: var(--font-heading);
    font-size: 2rem;
    font-weight: 600;
}

.about-experiences__gallery-heading p {
    max-width: 480px;
    margin: 0;
    color: var(--muted);
    font-family: var(--font-body);
    font-size: 0.88rem;
    line-height: 1.8;
}

.about-experiences__photos {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 16px;
}

.about-experiences__photo {
    height: 250px;
    overflow: hidden;
    margin: 0;
    border-radius: var(--radius-small);
    background: var(--bg-alt);
}

.about-experiences__photo img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.35s ease;
}

.about-experiences__photo:hover img {
    transform: scale(1.035);
}

/* Responsive */

@media (max-width: 900px) {
    .about-experiences {
        padding: 76px 0;
    }

    .about-experiences__header {
        grid-template-columns: 1fr;
        gap: 18px;
    }

    .about-experiences__grid {
        grid-template-columns: 1fr;
        gap: 16px;
    }

    .about-experiences__card {
        padding: 26px;
    }

    .about-experiences__quote {
        font-size: 1.35rem;
    }

    .about-experiences__gallery-heading {
        align-items: flex-start;
        flex-direction: column;
        gap: 10px;
    }

    .about-experiences__photo {
        height: 210px;
    }
}

@media (max-width: 600px) {
    .about-experiences {
        padding: 58px 0;
    }

    .about-experiences .container {
        padding: 0 20px;
    }

    .about-experiences__header {
        margin-bottom: 28px;
    }

    .about-experiences__card {
        padding: 22px;
    }

    .about-experiences__gallery {
        margin-top: 42px;
    }

    .about-experiences__gallery-heading h3 {
        font-size: 1.75rem;
    }

    .about-experiences__photos {
        grid-template-columns: 1fr;
        gap: 12px;
    }

    .about-experiences__photo {
        height: 250px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .about-experiences__source,
    .about-experiences__photo img {
        transition: none;
    }
}

/* =========================================
   ABOUT PAGE — CLOSING COURSE CTA
========================================= */

.about-course-cta {
    padding: 88px 0;
    background: var(--primary);
    color: var(--white);
}

.about-course-cta .container {
    width: 100%;
    max-width: var(--container);
    margin: 0 auto;
    padding: 0 24px;
}

.about-course-cta__inner {
    position: relative;
    max-width: 850px;
    margin: 0 auto;
    text-align: center;
}

.about-course-cta__eyebrow {
    display: inline-block;
    margin-bottom: 18px;
    color: var(--secondary);
    font-family: var(--font-body);
    font-size: 0.76rem;
    font-weight: 800;
    letter-spacing: 0.17em;
    text-transform: uppercase;
}

.about-course-cta__inner h2 {
    margin: 0 0 20px;
    color: var(--white);
    font-family: var(--font-heading);
    font-size: clamp(2.6rem, 5vw, 4.3rem);
    font-weight: 600;
    line-height: 1.1;
}

.about-course-cta__inner > p {
    max-width: 650px;
    margin: 0 auto;
    color: rgba(255, 255, 255, 0.82);
    font-family: var(--font-body);
    font-size: 0.98rem;
    line-height: 1.85;
}

.about-course-cta__actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 14px;
    margin-top: 32px;
}

.about-course-cta__button {
    display: inline-flex;
    min-height: 52px;
    align-items: center;
    justify-content: center;
    gap: 12px;
    padding: 14px 24px;
    border: 1px solid transparent;
    border-radius: var(--radius-small);
    font-family: var(--font-body);
    font-size: 0.88rem;
    font-weight: 800;
    line-height: 1.4;
    text-align: center;
    text-decoration: none;
    transition:
        background 0.2s ease,
        color 0.2s ease,
        border-color 0.2s ease;
}

.about-course-cta__button--primary {
    border-color: var(--secondary);
    background: var(--secondary);
    color: var(--dark);
}

.about-course-cta__button--primary:hover {
    border-color: var(--white);
    background: var(--white);
    color: var(--primary);
}

.about-course-cta__button--secondary {
    border-color: rgba(255, 255, 255, 0.55);
    background: transparent;
    color: var(--white);
}

.about-course-cta__button--secondary:hover {
    border-color: var(--white);
    background: var(--white);
    color: var(--primary);
}

@media (max-width: 600px) {
    .about-course-cta {
        padding: 64px 0;
    }

    .about-course-cta .container {
        padding: 0 20px;
    }

    .about-course-cta__inner h2 {
        font-size: 2.6rem;
    }

    .about-course-cta__inner > p {
        font-size: 0.9rem;
    }

    .about-course-cta__actions {
        align-items: stretch;
        flex-direction: column;
        margin-top: 26px;
    }

    .about-course-cta__button {
        width: 100%;
    }
}

@media (prefers-reduced-motion: reduce) {
    .about-course-cta__button {
        transition: none;
    }
}

/* =========================================
   APPLY NOW — HERO
========================================= */

.apply-hero {
    position: relative;
    overflow: hidden;
    padding: 76px 0 84px;
    background: var(--bg);
}

.apply-hero .container {
    width: 100%;
    max-width: var(--container);
    margin: 0 auto;
    padding: 0 24px;
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 0.88fr);
    align-items: center;
    gap: clamp(40px, 6vw, 88px);
}

.apply-hero__content {
    max-width: 650px;
}

.apply-hero__eyebrow {
    display: inline-flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 9px;
    margin-bottom: 22px;
    color: #947331;
    font-family: var(--font-body);
    font-size: 0.76rem;
    font-weight: 800;
    letter-spacing: 0.13em;
    line-height: 1.6;
}

.apply-hero__eyebrow span {
    color: var(--secondary);
}

.apply-hero h1 {
    max-width: 650px;
    margin: 0 0 22px;
    color: var(--primary);
    font-family: var(--font-heading);
    font-size: clamp(2.8rem, 4.6vw, 4.6rem);
    font-weight: 600;
    line-height: 1.04;
    letter-spacing: -0.025em;
}

.apply-hero__description {
    max-width: 570px;
    margin: 0;
    color: var(--text);
    font-family: var(--font-body);
    font-size: 1.02rem;
    line-height: 1.85;
}

.apply-hero__highlights {
    display: flex;
    flex-wrap: wrap;
    gap: 12px 22px;
    margin: 28px 0 30px;
}

.apply-hero__highlights > span {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    color: var(--primary);
    font-family: var(--font-body);
    font-size: 0.87rem;
    font-weight: 700;
    line-height: 1.5;
}

.apply-hero__check {
    display: inline-grid;
    flex: 0 0 23px;
    width: 23px;
    height: 23px;
    place-items: center;
    border: 1px solid rgba(201, 162, 74, 0.65);
    border-radius: 50%;
    color: #8A6A27;
    font-size: 0.75rem;
}

.apply-hero__button {
    display: inline-flex;
    min-height: 54px;
    align-items: center;
    justify-content: center;
    gap: 26px;
    padding: 15px 23px;
    border: 1px solid var(--primary);
    border-radius: var(--radius-small);
    background: var(--primary);
    color: var(--white);
    font-family: var(--font-body);
    font-size: 0.92rem;
    font-weight: 700;
    text-decoration: none;
    transition:
        background-color 0.2s ease,
        border-color 0.2s ease,
        transform 0.2s ease;
}

.apply-hero__button span {
    color: var(--secondary);
    font-size: 1.25rem;
    transition: transform 0.2s ease;
}

.apply-hero__button:hover {
    border-color: var(--dark);
    background: var(--dark);
    color: var(--white);
}

.apply-hero__button:hover span {
    transform: translateX(4px);
}

.apply-hero__button:focus-visible {
    outline: 3px solid var(--secondary);
    outline-offset: 4px;
}

.apply-hero__note {
    max-width: 420px;
    margin: 15px 0 0;
    color: var(--muted);
    font-family: var(--font-body);
    font-size: 0.79rem;
    line-height: 1.7;
}

.apply-hero__visual {
    position: relative;
    min-width: 0;
    min-height: 470px;
    align-self: stretch;
    overflow: hidden;
    border-radius: var(--radius);
    background: var(--bg-alt);
}

.apply-hero__visual > img {
    position: absolute;
    inset: 0;
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}

.apply-hero__image-label {
    position: absolute;
    right: 18px;
    bottom: 18px;
    left: 18px;
    display: flex;
    align-items: center;
    gap: 13px;
    padding: 15px 17px;
    border: 1px solid rgba(255, 255, 255, 0.45);
    border-radius: var(--radius-small);
    background: rgba(7, 26, 45, 0.88);
    color: var(--white);
    backdrop-filter: blur(8px);
}

.apply-hero__image-label-mark {
    display: grid;
    flex: 0 0 42px;
    width: 42px;
    height: 42px;
    place-items: center;
    border: 1px solid var(--secondary);
    border-radius: 50%;
    color: var(--secondary);
    font-family: var(--font-heading);
    font-size: 1.65rem;
}

.apply-hero__image-label > div {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.apply-hero__image-label strong {
    font-family: var(--font-body);
    font-size: 0.91rem;
    font-weight: 700;
}

.apply-hero__image-label > div > span {
    color: rgba(255, 255, 255, 0.76);
    font-family: var(--font-body);
    font-size: 0.78rem;
}

/* Tablet */
@media (max-width: 900px) {
    .apply-hero {
        padding: 60px 0;
    }

    .apply-hero .container {
        grid-template-columns: minmax(0, 1fr) minmax(0, 0.82fr);
        gap: 32px;
    }

    .apply-hero h1 {
        font-size: clamp(2.6rem, 5vw, 3.5rem);
    }

    .apply-hero__visual {
        min-height: 420px;
    }

    .apply-hero__highlights {
        gap: 12px;
    }
}

/* Mobile */
@media (max-width: 640px) {
    .apply-hero {
        padding: 42px 0 48px;
    }

    .apply-hero .container {
        grid-template-columns: minmax(0, 1fr);
        gap: 30px;
        padding: 0 20px;
    }

    .apply-hero__eyebrow {
        margin-bottom: 16px;
        font-size: 0.69rem;
        letter-spacing: 0.1em;
    }

    .apply-hero h1 {
        margin-bottom: 17px;
        font-size: clamp(2.55rem, 10vw, 3.5rem);
        line-height: 1.06;
    }

    .apply-hero__description {
        font-size: 0.94rem;
        line-height: 1.8;
    }

    .apply-hero__highlights {
        flex-direction: column;
        align-items: flex-start;
        gap: 12px;
        margin: 23px 0 25px;
    }

    .apply-hero__button {
        width: 100%;
        justify-content: space-between;
    }

    .apply-hero__visual {
        min-height: 0;
        aspect-ratio: 4 / 4.2;
        border-radius: 14px;
    }

    .apply-hero__image-label {
        right: 12px;
        bottom: 12px;
        left: 12px;
        padding: 12px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .apply-hero__button,
    .apply-hero__button span {
        transition: none;
    }
}
/* APPLY NOW — COURSE ENQUIRY */

.apply-enquiry {
    padding: 60px 0 90px;
    background: var(--white);
    color: var(--text);
    font-family: var(--font-body);
}

.apply-enquiry .container {
    width: min(var(--container), calc(100% - 48px));
    margin-inline: auto;
}

.apply-enquiry__intro {
    max-width: 650px;
    margin: 0 auto 48px;
    color: var(--muted);
    text-align: center;
    font-size: 16px;
    line-height: 1.8;
}

.apply-enquiry__layout {
    display: grid;
    grid-template-columns: minmax(300px, 450px) minmax(0, 1fr);
    gap: 34px;
    align-items: start;
}

.apply-course-panel,
.apply-form-panel {
    min-width: 0;
    border: 1px solid var(--border);
    border-radius: var(--radius);
}

.apply-course-panel {
    padding: 30px 24px;
    background: var(--bg);
}

.apply-form-panel {
    padding: 46px 48px;
    background: var(--white);
    box-shadow: 0 16px 50px rgb(7 26 45 / 5%);
}

.apply-eyebrow {
    margin: 0 0 22px;
    color: var(--secondary);
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 1.7px;
    line-height: 1.5;
    text-transform: uppercase;
}

.apply-course-panel .apply-eyebrow {
    color: var(--primary);
}

.apply-course-list {
    display: grid;
    gap: 14px;
}

.apply-course-card {
    display: flex;
    flex-direction: column;
    gap: 13px;
    width: 100%;
    padding: 23px 22px;
    border: 1px solid var(--border);
    border-radius: 12px;
    background: var(--white);
    color: var(--text);
    font: inherit;
    text-align: left;
    cursor: pointer;
    transition: background-color .18s ease, border-color .18s ease;
}

.apply-course-card:hover {
    border-color: var(--secondary);
}

.apply-course-card:focus-visible,
.apply-enquiry input:focus-visible,
.apply-enquiry select:focus-visible,
.apply-enquiry textarea:focus-visible,
.apply-submit:focus-visible {
    outline: 3px solid rgb(201 162 74 / 45%);
    outline-offset: 3px;
}

.apply-course-card.is-active {
    border-color: var(--primary);
    background: var(--primary);
    color: var(--white);
}

.apply-course-card__top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    color: #A87820;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 1.4px;
}

.apply-course-card.is-active .apply-course-card__top {
    color: var(--secondary);
}

.apply-course-card__top span:last-child {
    font-size: 20px;
}

.apply-course-card__title {
    font-size: 16px;
    font-weight: 700;
    line-height: 1.55;
}

.apply-course-card__duration {
    color: var(--muted);
    font-size: 14px;
    line-height: 1.6;
}

.apply-course-card.is-active .apply-course-card__duration {
    color: rgb(255 255 255 / 82%);
}

.apply-course-help {
    display: flex;
    align-items: flex-start;
    gap: 13px;
    margin-top: 28px;
    padding-top: 24px;
    border-top: 1px solid var(--border);
}

.apply-course-help__mark {
    display: grid;
    flex: 0 0 40px;
    width: 40px;
    height: 40px;
    place-items: center;
    border: 1px solid var(--secondary);
    border-radius: 50%;
    color: var(--secondary);
    font-family: var(--font-heading);
    font-size: 25px;
}

.apply-course-help p {
    margin: 2px 0 0;
    color: var(--muted);
    font-size: 14px;
    line-height: 1.8;
}

.apply-form-panel > .apply-eyebrow {
    margin-bottom: 16px;
}

.apply-form-panel h2 {
    margin: 0 0 12px;
    color: var(--primary);
    font-family: var(--font-heading);
    font-size: clamp(32px, 3.3vw, 44px);
    font-weight: 500;
    line-height: 1.15;
}

.apply-form-panel__note {
    margin: 0 0 34px;
    color: var(--muted);
    font-size: 14px;
    line-height: 1.7;
}

.apply-form {
    display: grid;
    gap: 25px;
}

.apply-form-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 25px 20px;
}

.apply-field {
    display: flex;
    min-width: 0;
    flex-direction: column;
    gap: 10px;
}

.apply-field--full {
    grid-column: 1 / -1;
}

.apply-field label {
    color: var(--primary);
    font-size: 14px;
    font-weight: 600;
    line-height: 1.5;
}

.apply-optional {
    color: var(--muted);
    font-size: 12px;
    font-weight: 400;
}

.apply-enquiry input,
.apply-enquiry select,
.apply-enquiry textarea {
    box-sizing: border-box;
    width: 100%;
    min-width: 0;
    min-height: 56px;
    padding: 14px 16px;
    border: 1px solid var(--border);
    border-radius: var(--radius-small);
    background: var(--white);
    color: var(--text);
    font-family: var(--font-body);
    font-size: 15px;
    line-height: 1.5;
}

.apply-enquiry input::placeholder,
.apply-enquiry textarea::placeholder {
    color: var(--muted);
    opacity: 1;
}

.apply-enquiry textarea {
    min-height: 130px;
    resize: vertical;
}

.apply-enquiry select {
    cursor: pointer;
}

.apply-field-hint {
    margin: 0;
    color: var(--muted);
    font-size: 12px;
    line-height: 1.7;
}

.apply-submit {
    display: flex;
    width: 100%;
    min-height: 58px;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding: 16px 22px;
    border: 1px solid var(--primary);
    border-radius: var(--radius-small);
    background: var(--primary);
    color: var(--white);
    font-family: var(--font-body);
    font-size: 15px;
    font-weight: 700;
    text-align: left;
    cursor: pointer;
}

.apply-submit:hover {
    background: var(--dark);
}

.apply-submit span {
    color: var(--secondary);
    font-size: 22px;
}

.apply-form-footer {
    margin: -10px 0 0;
    color: var(--muted);
    font-size: 12px;
    line-height: 1.7;
    text-align: center;
}

.apply-honeypot {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    overflow: hidden !important;
    clip-path: inset(50%) !important;
    white-space: nowrap !important;
}

.apply-enquiry [hidden] {
    display: none !important;
}

@media (max-width: 1000px) {
    .apply-enquiry__layout {
        grid-template-columns: minmax(250px, .8fr) minmax(0, 1.2fr);
        gap: 22px;
    }

    .apply-course-panel {
        padding: 24px 18px;
    }

    .apply-form-panel {
        padding: 34px 26px;
    }

    .apply-course-card {
        padding: 20px 16px;
    }
}

@media (max-width: 760px) {
    .apply-enquiry {
        padding: 45px 0 60px;
    }

    .apply-enquiry .container {
        width: calc(100% - 32px);
    }

    .apply-enquiry__intro {
        margin-bottom: 28px;
        font-size: 14px;
    }

    .apply-enquiry__layout {
        grid-template-columns: minmax(0, 1fr);
        gap: 22px;
    }

    .apply-course-panel {
        padding: 23px 18px;
    }

    .apply-course-list {
        gap: 10px;
    }

    .apply-course-card {
        gap: 9px;
        padding: 18px;
    }

    .apply-form-panel {
        padding: 28px 20px;
    }

    .apply-form-panel h2 {
        font-size: 34px;
    }

    .apply-form-grid {
        grid-template-columns: minmax(0, 1fr);
        gap: 20px;
    }

    .apply-field--full {
        grid-column: auto;
    }
}

/* =========================================
   CONTACT HERO — 01
========================================= */

.contact-hero {
    position: relative;
    overflow: hidden;
    padding: clamp(54px, 7vw, 100px) 0;
    background: var(--bg);
    color: var(--text);
}

.contact-hero .container {
    width: min(calc(100% - 48px), var(--container));
    margin-inline: auto;
}

.contact-hero__grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 0.88fr);
    align-items: center;
    gap: clamp(40px, 7vw, 100px);
}

.contact-hero__content {
    max-width: 620px;
}

.contact-hero__eyebrow {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 10px;
    margin: 0 0 24px;
    color: var(--muted);
    font-family: var(--font-body);
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.13em;
    line-height: 1.7;
    text-transform: uppercase;
}

.contact-hero__eyebrow-line {
    display: inline-block;
    width: 30px;
    height: 2px;
    flex: 0 0 30px;
    background: var(--secondary);
}

.contact-hero__eyebrow-dot {
    color: var(--secondary);
}

.contact-hero h1 {
    max-width: 620px;
    margin: 0;
    color: var(--primary);
    font-family: var(--font-heading);
    font-size: clamp(46px, 5.1vw, 72px);
    font-weight: 600;
    letter-spacing: -0.035em;
    line-height: 0.99;
}

.contact-hero h1 span {
    display: block;
    color: var(--primary);
}

.contact-hero__intro {
    max-width: 510px;
    margin: 25px 0 30px;
    color: var(--muted);
    font-family: var(--font-body);
    font-size: 15px;
    font-weight: 400;
    line-height: 1.9;
}

.contact-hero__actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 12px;
}

.contact-hero__button {
    display: inline-flex;
    min-height: 52px;
    align-items: center;
    justify-content: center;
    gap: 16px;
    padding: 13px 19px;
    border: 1px solid transparent;
    border-radius: var(--radius-small);
    font-family: var(--font-body);
    font-size: 13px;
    font-weight: 700;
    line-height: 1.4;
    text-decoration: none;
    transition:
        background-color 180ms ease,
        color 180ms ease,
        border-color 180ms ease,
        transform 180ms ease;
}

.contact-hero__button:hover {
    transform: translateY(-2px);
}

.contact-hero__button:focus-visible {
    outline: 3px solid var(--secondary);
    outline-offset: 4px;
}

.contact-hero__button--primary {
    background: var(--primary);
    color: var(--white);
}

.contact-hero__button--primary:hover {
    background: var(--dark);
    color: var(--white);
}

.contact-hero__button--outline {
    border-color: var(--border);
    background: transparent;
    color: var(--primary);
}

.contact-hero__button--outline:hover {
    border-color: var(--secondary);
    background: var(--bg-alt);
    color: var(--primary);
}

.contact-hero__button-icon {
    color: var(--secondary);
    font-size: 17px;
}

.contact-hero__details {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 22px;
    max-width: 510px;
    margin-top: 38px;
    padding-top: 22px;
    border-top: 1px solid var(--border);
}

.contact-hero__detail {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.contact-hero__detail-label {
    color: var(--muted);
    font-family: var(--font-body);
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 0.12em;
}

.contact-hero__detail-value {
    color: var(--primary);
    font-family: var(--font-body);
    font-size: 13px;
    font-weight: 600;
    line-height: 1.7;
}

.contact-hero__visual {
    position: relative;
    min-width: 0;
    padding: 0 0 30px 20px;
}

.contact-hero__visual::before {
    position: absolute;
    z-index: 0;
    top: 20px;
    right: 0;
    bottom: 0;
    left: 0;
    border: 1px solid var(--secondary);
    border-radius: var(--radius);
    content: "";
}

.contact-hero__visual img {
    position: relative;
    z-index: 1;
    display: block;
    width: 100%;
    height: clamp(390px, 43vw, 570px);
    border-radius: var(--radius);
    object-fit: cover;
    object-position: center;
}

.contact-hero__image-caption {
    position: relative;
    z-index: 1;
    display: flex;
    align-items: center;
    gap: 10px;
    margin: 17px 0 0 4px;
    color: var(--muted);
    font-family: var(--font-body);
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 0.04em;
}

.contact-hero__caption-line {
    width: 24px;
    height: 1px;
    flex: 0 0 24px;
    background: var(--secondary);
}

/* Tablet */
@media (max-width: 900px) {
    .contact-hero {
        padding: 58px 0 68px;
    }

    .contact-hero__grid {
        grid-template-columns: minmax(0, 1fr) minmax(0, 0.8fr);
        gap: 32px;
    }

    .contact-hero h1 {
        font-size: clamp(43px, 6vw, 58px);
    }

    .contact-hero__visual {
        padding-left: 12px;
    }

    .contact-hero__visual img {
        height: 440px;
    }

    .contact-hero__actions {
        align-items: stretch;
        flex-direction: column;
    }

    .contact-hero__button {
        justify-content: space-between;
    }
}

/* Mobile */
@media (max-width: 640px) {
    .contact-hero {
        padding: 42px 0 52px;
    }

    .contact-hero .container {
        width: min(calc(100% - 36px), var(--container));
    }

    .contact-hero__grid {
        grid-template-columns: minmax(0, 1fr);
        gap: 34px;
    }

    .contact-hero__eyebrow {
        gap: 8px;
        margin-bottom: 19px;
        font-size: 9px;
        letter-spacing: 0.1em;
    }

    .contact-hero h1 {
        font-size: clamp(43px, 11vw, 58px);
        line-height: 1.02;
    }

    .contact-hero__intro {
        margin: 20px 0 24px;
        font-size: 14px;
        line-height: 1.8;
    }

    .contact-hero__actions {
        flex-direction: row;
        align-items: stretch;
        gap: 10px;
    }

    .contact-hero__button {
        min-height: 50px;
        flex: 1 1 0;
        gap: 8px;
        padding: 12px;
        font-size: 12px;
    }

    .contact-hero__details {
        gap: 16px;
        margin-top: 28px;
        padding-top: 18px;
    }

    .contact-hero__detail-value {
        font-size: 12px;
    }

    .contact-hero__visual {
        padding: 0 0 22px 12px;
    }

    .contact-hero__visual::before {
        top: 13px;
    }

    .contact-hero__visual img {
        height: auto;
        aspect-ratio: 4 / 3;
    }

    .contact-hero__image-caption {
        margin-top: 13px;
        font-size: 10px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .contact-hero__button {
        transition: none;
    }

    .contact-hero__button:hover {
        transform: none;
    }
}

/* =========================================
   CONTACT PAGE — MAIN CONTACT SECTION
========================================= */

.contact-main {
    padding: 100px 0;
    background: var(--bg);
    color: var(--text);
}

.contact-main .container {
    width: min(calc(100% - 40px), var(--container));
    margin-inline: auto;
}

.contact-main__intro {
    max-width: 720px;
    margin: 0 auto 52px;
    text-align: center;
}

.contact-main__eyebrow,
.contact-main__step {
    display: inline-block;
    color: var(--secondary);
    font-family: var(--font-body);
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 0.16em;
    text-transform: uppercase;
}

.contact-main__intro h2 {
    margin: 12px 0 14px;
    color: var(--primary);
    font-family: var(--font-heading);
    font-size: clamp(36px, 4vw, 54px);
    font-weight: 500;
    line-height: 1.1;
}

.contact-main__intro p {
    max-width: 620px;
    margin: 0 auto;
    color: var(--muted);
    font-family: var(--font-body);
    font-size: 15px;
    line-height: 1.85;
}

.contact-main__grid {
    display: grid;
    grid-template-columns: minmax(0, 1.15fr) minmax(320px, 0.85fr);
    align-items: stretch;
    gap: 28px;
}

.contact-main__form-panel {
    min-width: 0;
    padding: clamp(24px, 4vw, 44px);
    background: var(--white);
    border: 1px solid var(--border);
    border-radius: var(--radius);
}

.contact-main__form-heading {
    margin-bottom: 30px;
}

.contact-main__form-heading h3,
.contact-main__details h3 {
    margin: 10px 0;
    color: var(--primary);
    font-family: var(--font-heading);
    font-size: clamp(27px, 3vw, 36px);
    font-weight: 500;
    line-height: 1.2;
}

.contact-main__form-heading p,
.contact-main__details-intro {
    margin: 0;
    color: var(--muted);
    font-family: var(--font-body);
    font-size: 14px;
    line-height: 1.8;
}

.contact-main__fields {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 22px 18px;
}

.contact-main__field {
    display: flex;
    min-width: 0;
    flex-direction: column;
    gap: 9px;
}

.contact-main__field--full {
    grid-column: 1 / -1;
}

.contact-main__field label {
    color: var(--primary);
    font-family: var(--font-body);
    font-size: 13px;
    font-weight: 700;
}

.contact-main__field input,
.contact-main__field select,
.contact-main__field textarea {
    box-sizing: border-box;
    width: 100%;
    min-height: 50px;
    padding: 13px 14px;
    color: var(--text);
    background: var(--bg);
    border: 1px solid var(--border);
    border-radius: var(--radius-small);
    font: 400 14px/1.6 var(--font-body);
    transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.contact-main__field textarea {
    min-height: 145px;
    resize: vertical;
}

.contact-main__field input::placeholder,
.contact-main__field textarea::placeholder {
    color: var(--muted);
    opacity: 0.85;
}

.contact-main__field input:focus,
.contact-main__field select:focus,
.contact-main__field textarea:focus {
    outline: none;
    border-color: var(--secondary);
    box-shadow: 0 0 0 3px rgb(201 162 74 / 16%);
}

.contact-main__submit {
    display: flex;
    width: 100%;
    min-height: 54px;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    margin-top: 26px;
    padding: 14px 20px;
    color: var(--white);
    background: var(--primary);
    border: 1px solid var(--primary);
    border-radius: var(--radius-small);
    font: 700 14px var(--font-body);
    cursor: pointer;
    transition: background 0.2s ease, color 0.2s ease;
}

.contact-main__submit:hover {
    color: var(--primary);
    background: var(--secondary);
    border-color: var(--secondary);
}

.contact-main__privacy {
    margin: 13px 0 0;
    color: var(--muted);
    font: 400 11px/1.7 var(--font-body);
}

.contact-main__details {
    min-width: 0;
    padding: clamp(24px, 3.5vw, 38px);
    background: var(--bg-alt);
    border: 1px solid var(--border);
    border-radius: var(--radius);
}

.contact-main__details h3 {
    margin-bottom: 10px;
}

.contact-main__details-intro {
    margin-bottom: 24px;
}

.contact-main__item {
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 19px 0;
    color: inherit;
    text-decoration: none;
    border-bottom: 1px solid var(--border);
}

.contact-main__icon {
    display: grid;
    width: 44px;
    height: 44px;
    flex: 0 0 44px;
    place-items: center;
    color: var(--primary);
    background: var(--white);
    border: 1px solid var(--border);
    border-radius: 50%;
    font: 600 18px var(--font-body);
}

.contact-main__item-copy {
    display: flex;
    min-width: 0;
    flex: 1;
    flex-direction: column;
    gap: 4px;
}

.contact-main__label,
.contact-main__location-label {
    color: var(--muted);
    font: 800 10px var(--font-body);
    letter-spacing: 0.13em;
}

.contact-main__item-copy strong {
    overflow-wrap: anywhere;
    color: var(--primary);
    font: 700 14px/1.5 var(--font-body);
}

.contact-main__item-copy > span:last-child {
    color: var(--muted);
    font: 400 12px/1.6 var(--font-body);
}

.contact-main__arrow {
    color: var(--secondary);
    font-size: 20px;
    transition: transform 0.2s ease;
}

.contact-main__item:hover .contact-main__arrow {
    transform: translateX(4px);
}

.contact-main__location {
    margin-top: 28px;
    padding: 22px;
    background: var(--white);
    border: 1px solid var(--border);
    border-radius: var(--radius-small);
}

.contact-main__location-label {
    display: flex;
    align-items: center;
    gap: 8px;
}

.contact-main__location-label span {
    color: var(--secondary);
    font-size: 20px;
}

.contact-main__location h4 {
    margin: 13px 0 3px;
    color: var(--primary);
    font: 700 16px/1.5 var(--font-body);
}

.contact-main__location p {
    margin: 0 0 14px;
    color: var(--muted);
    font: 400 13px/1.7 var(--font-body);
}

.contact-main__location a {
    color: var(--primary);
    font: 700 12px/1.6 var(--font-body);
    text-decoration-color: var(--secondary);
    text-underline-offset: 4px;
}

.contact-main__note {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    margin-top: 24px;
}

.contact-main__note > span {
    color: var(--secondary);
    font-size: 20px;
}

.contact-main__note p {
    margin: 0;
    color: var(--muted);
    font: 400 12px/1.8 var(--font-body);
}

/* Honeypot — accessible to bots, not visible to visitors */
.contact-main__hp {
    position: absolute;
    left: -10000px;
    width: 1px;
    height: 1px;
    overflow: hidden;
}

@media (max-width: 900px) {
    .contact-main {
        padding: 76px 0;
    }

    .contact-main__grid {
        grid-template-columns: minmax(0, 1fr);
    }

    .contact-main__details {
        padding: 30px;
    }
}

@media (max-width: 560px) {
    .contact-main .container {
        width: min(calc(100% - 28px), var(--container));
    }

    .contact-main {
        padding: 58px 0;
    }

    .contact-main__intro {
        margin-bottom: 32px;
        text-align: left;
    }

    .contact-main__intro p {
        margin-left: 0;
    }

    .contact-main__fields {
        grid-template-columns: minmax(0, 1fr);
        gap: 18px;
    }

    .contact-main__field--full {
        grid-column: auto;
    }

    .contact-main__form-panel,
    .contact-main__details {
        padding: 22px 18px;
    }

    .contact-main__item {
        gap: 11px;
    }

    .contact-main__icon {
        width: 40px;
        height: 40px;
        flex-basis: 40px;
    }
}

/* =========================================
   SECTION 03 — CONTACT GUIDANCE
========================================= */

.contact-guidance {
    background: var(--bg);
    overflow: hidden;
}

.contact-guidance__intro {
    max-width: 720px;
    margin-bottom: 48px;
}

.contact-guidance__intro h2 {
    margin: 20px 0 18px;
    color: var(--primary);
    font-family: var(--font-heading);
    font-size: clamp(2.4rem, 4.5vw, 4rem);
    font-weight: 500;
    line-height: 1.08;
    letter-spacing: -0.025em;
}

.contact-guidance__intro h2 span {
    color: var(--secondary);
}

.contact-guidance__intro > p {
    max-width: 620px;
    margin: 0;
    color: var(--muted);
    font-family: var(--font-body);
    font-size: 1rem;
    line-height: 1.85;
}

/* Card grid */

.contact-guidance__grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;
}

.contact-guidance__card {
    position: relative;
    min-width: 0;
    padding: 30px 26px;
    background: var(--white);
    border: 1px solid var(--border);
    border-radius: var(--radius);
    transition:
        border-color 0.25s ease,
        transform 0.25s ease;
}

.contact-guidance__card:hover {
    border-color: var(--secondary);
    transform: translateY(-3px);
}

.contact-guidance__icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 48px;
    height: 48px;
    margin-bottom: 22px;
    color: var(--primary);
    background: var(--bg-alt);
    border-radius: var(--radius-small);
}

.contact-guidance__icon svg {
    display: block;
    width: 23px;
    height: 23px;
    stroke: currentColor;
    stroke-width: 1.6;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.contact-guidance__number {
    display: block;
    margin-bottom: 10px;
    color: var(--secondary);
    font-family: var(--font-body);
    font-size: 0.75rem;
    font-weight: 700;
    letter-spacing: 0.12em;
}

.contact-guidance__card h3 {
    margin: 0 0 12px;
    color: var(--primary);
    font-family: var(--font-heading);
    font-size: 1.55rem;
    font-weight: 600;
    line-height: 1.25;
}

.contact-guidance__card p {
    margin: 0;
    color: var(--muted);
    font-family: var(--font-body);
    font-size: 0.9rem;
    line-height: 1.8;
}

/* Tablet */

@media (max-width: 1024px) {
    .contact-guidance__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .contact-guidance__intro {
        margin-bottom: 36px;
    }
}

/* Mobile */

@media (max-width: 600px) {
    .contact-guidance__grid {
        grid-template-columns: 1fr;
        gap: 14px;
    }

    .contact-guidance__card {
        padding: 24px 22px;
    }

    .contact-guidance__intro h2 {
        font-size: clamp(2.25rem, 10vw, 3rem);
    }

    .contact-guidance__intro > p {
        font-size: 0.94rem;
    }

    .contact-guidance__card h3 {
        font-size: 1.45rem;
    }

    .desktop-break {
        display: none;
    }
}

/* Respect reduced motion preferences */

@media (prefers-reduced-motion: reduce) {
    .contact-guidance__card {
        transition: none;
    }

    .contact-guidance__card:hover {
        transform: none;
    }
}
.contact-guidance .container{
        width: min(calc(100% - 40px), var(--container));
    margin-inline: auto;
}

/* =========================================
   SECTION 04 — FIND THE SCHOOL
========================================= */

.contact-location {
    background: var(--bg);
    padding: 100px 0;
}

.contact-location .container {
    width: min(calc(100% - 40px), var(--container));
    margin-inline: auto;
}

.contact-location__header {
    max-width: 720px;
    margin-bottom: 42px;
}

.contact-location__header h2 {
    margin: 20px 0 16px;
    color: var(--primary);
    font-family: var(--font-heading);
    font-size: clamp(2.4rem, 4.5vw, 3.8rem);
    font-weight: 500;
    line-height: 1.12;
}

.contact-location__header h2 span {
    color: var(--secondary);
}

.contact-location__header > p {
    max-width: 600px;
    margin: 0;
    color: var(--muted);
    font-family: var(--font-body);
    font-size: 1rem;
    line-height: 1.85;
}

/* Main location layout */

.contact-location__grid {
    display: grid;
    grid-template-columns: minmax(280px, 0.8fr) minmax(0, 1.2fr);
    gap: 28px;
    align-items: stretch;
}

.contact-location__details {
    padding: 34px;
    background: var(--white);
    border: 1px solid var(--border);
    border-radius: var(--radius);
}

.contact-location__label {
    display: inline-block;
    color: var(--secondary);
    font-family: var(--font-body);
    font-size: 0.73rem;
    font-weight: 700;
    letter-spacing: 0.13em;
    line-height: 1.5;
}

.contact-location__details > h3 {
    margin: 14px 0 28px;
    color: var(--primary);
    font-family: var(--font-heading);
    font-size: 2rem;
    font-weight: 600;
    line-height: 1.2;
}

.contact-location__item {
    display: flex;
    align-items: flex-start;
    gap: 14px;
    margin-bottom: 24px;
}

.contact-location__item-icon {
    display: flex;
    flex: 0 0 42px;
    align-items: center;
    justify-content: center;
    width: 42px;
    height: 42px;
    color: var(--primary);
    background: var(--bg-alt);
    border-radius: var(--radius-small);
}

.contact-location__item-icon svg {
    width: 21px;
    height: 21px;
    stroke: currentColor;
    stroke-width: 1.6;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.contact-location__item h4 {
    margin: 1px 0 5px;
    color: var(--primary);
    font-family: var(--font-body);
    font-size: 0.92rem;
    font-weight: 700;
}

.contact-location__item p {
    margin: 0;
    color: var(--muted);
    font-family: var(--font-body);
    font-size: 0.9rem;
    line-height: 1.75;
    overflow-wrap: anywhere;
}

.contact-location__directions {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    margin-top: 4px;
    padding-bottom: 5px;
    color: var(--primary);
    border-bottom: 1px solid var(--secondary);
    font-family: var(--font-body);
    font-size: 0.9rem;
    font-weight: 700;
    text-decoration: none;
    transition: color 0.2s ease;
}

.contact-location__directions:hover {
    color: var(--secondary);
}

/* Map area */

.contact-location__map {
    position: relative;
    min-height: 460px;
    overflow: hidden;
    background: var(--bg-alt);
    border: 1px solid var(--border);
    border-radius: var(--radius);
}

.contact-location__map iframe {
    display: block;
    width: 100%;
    height: 100%;
    min-height: 460px;
    border: 0;
}

.contact-location__map-placeholder {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    min-height: 460px;
    padding: 32px;
    text-align: center;
}

.contact-location__map-placeholder > svg {
    width: 38px;
    height: 38px;
    margin-bottom: 18px;
    stroke: var(--secondary);
    stroke-width: 1.4;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.contact-location__map-placeholder h3 {
    margin: 0 0 10px;
    color: var(--primary);
    font-family: var(--font-heading);
    font-size: 1.7rem;
    font-weight: 600;
}

.contact-location__map-placeholder p {
    max-width: 290px;
    margin: 0;
    color: var(--muted);
    font-family: var(--font-body);
    font-size: 0.9rem;
    line-height: 1.8;
}

/* Final CTA */

.contact-location__cta {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 32px;
    margin-top: 28px;
    margin-bottom: 28px;
    padding: 34px 38px;
    background: var(--primary);
    border-radius: var(--radius);
}

.contact-location__cta .contact-location__label {
    color: var(--secondary);
}

.contact-location__cta-content {
    max-width: 670px;
}

.contact-location__cta-content h3 {
    margin: 10px 0;
    color: var(--white);
    font-family: var(--font-heading);
    font-size: clamp(1.7rem, 3vw, 2.3rem);
    font-weight: 500;
    line-height: 1.25;
}

.contact-location__cta-content p {
    margin: 0;
    color: rgba(255, 255, 255, 0.78);
    font-family: var(--font-body);
    font-size: 0.9rem;
    line-height: 1.8;
}

.contact-location__cta-button {
    display: inline-flex;
    flex: 0 0 auto;
    align-items: center;
    justify-content: center;
    gap: 14px;
    min-height: 50px;
    padding: 14px 22px;
    color: var(--dark);
    background: var(--secondary);
    border: 1px solid var(--secondary);
    border-radius: var(--radius-small);
    font-family: var(--font-body);
    font-size: 0.88rem;
    font-weight: 700;
    text-decoration: none;
    transition:
        background 0.2s ease,
        color 0.2s ease;
}

.contact-location__cta-button:hover {
    color: var(--primary);
    background: var(--white);
    border-color: var(--white);
}

/* Tablet */

@media (max-width: 900px) {
    .contact-location__grid {
        grid-template-columns: 1fr;
    }

    .contact-location__map,
    .contact-location__map iframe,
    .contact-location__map-placeholder {
        min-height: 380px;
    }

    .contact-location__cta {
        align-items: flex-start;
        flex-direction: column;
        gap: 24px;
    }
}

/* Mobile */

@media (max-width: 600px) {
    .contact-location__header {
        margin-bottom: 30px;
    }

    .contact-location__details {
        padding: 26px 22px;
    }

    .contact-location__details > h3 {
        font-size: 1.8rem;
    }

    .contact-location__map,
    .contact-location__map iframe,
    .contact-location__map-placeholder {
        min-height: 300px;
    }

    .contact-location__cta {
        padding: 28px 23px;
    }

    .contact-location__cta-button {
        width: 100%;
    }
}

/* Reduced motion */

@media (prefers-reduced-motion: reduce) {
    .contact-location__directions,
    .contact-location__cta-button {
        transition: none;
    }
}

/* =========================================
   3-DAY RETREAT HERO
   Uses the existing global design system
========================================= */

.retreat-hero--3day {
    position: relative;
    overflow: hidden;
    padding: clamp(76px, 10vw, 132px) 0;
    background: var(--bg);
    color: var(--text);
}

.retreat-hero--3day .container {
    width: min(calc(100% - 40px), var(--container));
    margin-inline: auto;
}

.retreat-hero--3day .retreat-hero__content {
    max-width: 760px;
}

.retreat-hero--3day .retreat-hero__eyebrow {
    margin: 0 0 20px;
    color: var(--secondary);
    font-family: var(--font-body);
    font-size: 0.78rem;
    font-weight: 700;
    letter-spacing: 0.14em;
    line-height: 1.6;
    text-transform: uppercase;
}

.retreat-hero--3day h1 {
    max-width: 720px;
    margin: 0;
    color: var(--primary);
    font-family: var(--font-heading);
    font-size: clamp(2.8rem, 6vw, 5.2rem);
    font-weight: 500;
    line-height: 0.99;
    letter-spacing: -0.035em;
}

.retreat-hero--3day .retreat-hero__description {
    max-width: 650px;
    margin: 24px 0 0;
    color: var(--muted);
    font-family: var(--font-body);
    font-size: clamp(1rem, 1.5vw, 1.125rem);
    line-height: 1.85;
}

.retreat-hero--3day .retreat-hero__facts {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin: 30px 0 0;
    padding: 0;
    list-style: none;
}

.retreat-hero--3day .retreat-hero__facts li {
    display: flex;
    flex-direction: column;
    gap: 5px;
    min-width: 120px;
    padding: 14px 18px;
    border: 1px solid var(--border);
    border-radius: var(--radius-small);
    background: rgba(255, 255, 255, 0.55);
}

.retreat-hero--3day .retreat-hero__fact-label {
    color: var(--muted);
    font-family: var(--font-body);
    font-size: 0.75rem;
}

.retreat-hero--3day .retreat-hero__facts strong {
    color: var(--primary);
    font-family: var(--font-body);
    font-size: 0.95rem;
    font-weight: 700;
}

.retreat-hero--3day .retreat-hero__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-top: 32px;
}

.retreat-hero--3day .retreat-hero__actions .btn {
    display: inline-flex;
    min-height: 50px;
    align-items: center;
    justify-content: center;
    padding: 14px 22px;
    border: 1px solid transparent;
    border-radius: var(--radius-small);
    font-family: var(--font-body);
    font-size: 0.9rem;
    font-weight: 700;
    line-height: 1.4;
    text-align: center;
    text-decoration: none;
    transition:
        background-color 180ms ease,
        color 180ms ease,
        border-color 180ms ease;
}

.retreat-hero--3day .retreat-hero__actions .btn-primary {
    border-color: var(--primary);
    background: var(--primary);
    color: var(--white);
}

.retreat-hero--3day .retreat-hero__actions .btn-primary:hover {
    border-color: var(--dark);
    background: var(--dark);
}

.retreat-hero--3day .retreat-hero__actions .btn-outline {
    border-color: var(--secondary);
    background: transparent;
    color: var(--primary);
}

.retreat-hero--3day .retreat-hero__actions .btn-outline:hover {
    background: var(--secondary);
    color: var(--dark);
}

@media (max-width: 600px) {
    .retreat-hero--3day {
        padding: 68px 0 76px;
    }

    .retreat-hero--3day .retreat-hero__eyebrow {
        margin-bottom: 16px;
        font-size: 0.7rem;
    }

    .retreat-hero--3day h1 {
        font-size: clamp(2.65rem, 12vw, 3.7rem);
        line-height: 1.02;
    }

    .retreat-hero--3day .retreat-hero__description {
        margin-top: 18px;
        line-height: 1.75;
    }

    .retreat-hero--3day .retreat-hero__facts {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 10px;
        margin-top: 24px;
    }

    .retreat-hero--3day .retreat-hero__facts li {
        min-width: 0;
        padding: 12px;
    }

    .retreat-hero--3day .retreat-hero__actions {
        flex-direction: column;
        margin-top: 26px;
    }

    .retreat-hero--3day .retreat-hero__actions .btn {
        width: 100%;
    }
}

/* =========================================
   3-DAY RETREAT HERO — IMAGE LAYOUT
========================================= */

.retreat-hero--3day {
    overflow: hidden;
    padding: clamp(64px, 8vw, 108px) 0;
    background: var(--bg);
    color: var(--text);
}

.retreat-hero--3day .container {
    width: min(calc(100% - 40px), var(--container));
    margin-inline: auto;
}

.retreat-hero--3day .retreat-hero__grid {
    display: grid;
    grid-template-columns: minmax(0, 1.05fr) minmax(0, 0.95fr);
    align-items: center;
    gap: clamp(36px, 6vw, 80px);
}

.retreat-hero--3day .retreat-hero__content {
    max-width: 680px;
}

.retreat-hero--3day .retreat-hero__visual {
    position: relative;
    min-width: 0;
    aspect-ratio: 4 / 5;
    overflow: hidden;
    border-radius: var(--radius);
    background: var(--bg-alt);
}

.retreat-hero--3day .retreat-hero__visual img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}

/* Typography */

.retreat-hero--3day .retreat-hero__eyebrow {
    margin: 0 0 20px;
    color: var(--secondary);
    font-family: var(--font-body);
    font-size: 0.78rem;
    font-weight: 700;
    letter-spacing: 0.12em;
    line-height: 1.6;
    text-transform: uppercase;
}

.retreat-hero--3day h1 {
    margin: 0;
    color: var(--primary);
    font-family: var(--font-heading);
    font-size: clamp(2.8rem, 4.5vw, 4.6rem);
    font-weight: 500;
    line-height: 1.02;
    letter-spacing: -0.025em;
}

.retreat-hero--3day .retreat-hero__description {
    margin: 22px 0 0;
    color: var(--muted);
    font-family: var(--font-body);
    font-size: 1rem;
    line-height: 1.85;
}

/* Retreat facts */

.retreat-hero--3day .retreat-hero__facts {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin: 26px 0 0;
    padding: 0;
    list-style: none;
}

.retreat-hero--3day .retreat-hero__facts li {
    display: flex;
    flex-direction: column;
    gap: 5px;
    min-width: 100px;
    padding: 12px 14px;
    border: 1px solid var(--border);
    border-radius: var(--radius-small);
    background: rgba(255, 255, 255, 0.55);
}

.retreat-hero--3day .retreat-hero__fact-label {
    color: var(--muted);
    font-family: var(--font-body);
    font-size: 0.75rem;
}

.retreat-hero--3day .retreat-hero__facts strong {
    color: var(--primary);
    font-family: var(--font-body);
    font-size: 0.9rem;
}

/* Buttons */

.retreat-hero--3day .retreat-hero__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-top: 30px;
}

.retreat-hero--3day .retreat-hero__actions .btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 50px;
    padding: 13px 19px;
    border: 1px solid transparent;
    border-radius: var(--radius-small);
    font-family: var(--font-body);
    font-size: 0.875rem;
    font-weight: 700;
    text-align: center;
    text-decoration: none;
    transition: background-color 180ms ease,
                color 180ms ease,
                border-color 180ms ease;
}

.retreat-hero--3day .btn-primary {
    border-color: var(--primary);
    background: var(--primary);
    color: var(--white);
}

.retreat-hero--3day .btn-primary:hover {
    border-color: var(--dark);
    background: var(--dark);
}

.retreat-hero--3day .btn-outline {
    border-color: var(--secondary);
    background: transparent;
    color: var(--primary);
}

.retreat-hero--3day .btn-outline:hover {
    background: var(--secondary);
    color: var(--dark);
}

/* Responsive */

@media (max-width: 900px) {
    .retreat-hero--3day .retreat-hero__grid {
        grid-template-columns: minmax(0, 1fr) minmax(0, 0.85fr);
        gap: 28px;
    }

    .retreat-hero--3day h1 {
        font-size: clamp(2.5rem, 5vw, 3.6rem);
    }

    .retreat-hero--3day .retreat-hero__actions {
        flex-direction: column;
        align-items: stretch;
    }
}

@media (max-width: 680px) {
    .retreat-hero--3day {
        padding: 54px 0 64px;
    }

    .retreat-hero--3day .retreat-hero__grid {
        grid-template-columns: 1fr;
        gap: 30px;
    }

    .retreat-hero--3day h1 {
        font-size: clamp(2.7rem, 11vw, 3.6rem);
    }

    .retreat-hero--3day .retreat-hero__description {
        margin-top: 18px;
        font-size: 0.96rem;
    }

    .retreat-hero--3day .retreat-hero__facts {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .retreat-hero--3day .retreat-hero__facts li {
        min-width: 0;
    }

    .retreat-hero--3day .retreat-hero__actions {
        flex-direction: column;
    }

    .retreat-hero--3day .retreat-hero__actions .btn {
        width: 100%;
    }

    .retreat-hero--3day .retreat-hero__visual {
        aspect-ratio: 4 / 3;
    }
}

/* =========================================
   RETREAT OVERVIEW — 3 DAY
   8 Limbs Yoga School
========================================= */

.retreat-overview--3day {
    padding: clamp(68px, 8vw, 108px) 0;
    background: var(--white);
    color: var(--text);
}

.retreat-overview--3day .container {
    width: min(calc(100% - 40px), var(--container));
    margin-inline: auto;
}

.retreat-overview--3day .retreat-overview__grid {
    display: grid;
    grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);
    align-items: start;
    gap: clamp(40px, 7vw, 100px);
}

/* Left column */

.retreat-overview--3day .retreat-overview__intro {
    max-width: 500px;
}

.retreat-overview--3day .retreat-overview__eyebrow {
    margin: 0 0 20px;
    color: var(--secondary);
    font-family: var(--font-body);
    font-size: 0.76rem;
    font-weight: 700;
    letter-spacing: 0.12em;
    line-height: 1.7;
    text-transform: uppercase;
}

.retreat-overview--3day h2 {
    margin: 0;
    color: var(--primary);
    font-family: var(--font-heading);
    font-size: clamp(2.5rem, 4.2vw, 3.8rem);
    font-weight: 500;
    line-height: 1.08;
    letter-spacing: -0.025em;
}

.retreat-overview--3day .retreat-overview__accent {
    width: 64px;
    height: 3px;
    margin: 26px 0 22px;
    border-radius: 2px;
    background: var(--secondary);
}

.retreat-overview--3day .retreat-overview__statement {
    max-width: 390px;
    margin: 0;
    color: var(--muted);
    font-family: var(--font-body);
    font-size: 1rem;
    line-height: 1.85;
}

/* Left column highlights */

.retreat-overview--3day .retreat-overview__highlights {
    display: grid;
    gap: 0;
    margin-top: 32px;
    border-top: 1px solid var(--border);
}

.retreat-overview--3day .retreat-overview__highlight {
    display: flex;
    align-items: center;
    gap: 18px;
    padding: 16px 0;
    border-bottom: 1px solid var(--border);
    color: var(--primary);
    font-family: var(--font-body);
    font-size: 0.91rem;
    line-height: 1.6;
}

.retreat-overview--3day .retreat-overview__number {
    flex: 0 0 auto;
    color: var(--secondary);
    font-family: var(--font-heading);
    font-size: 1.35rem;
    line-height: 1;
}

/* Right column */

.retreat-overview--3day .retreat-overview__body {
    min-width: 0;
}

.retreat-overview--3day .retreat-overview__body > p {
    margin: 0 0 20px;
    color: var(--muted);
    font-family: var(--font-body);
    font-size: 1rem;
    line-height: 1.9;
}

.retreat-overview--3day .retreat-overview__audience {
    margin-top: 34px;
    padding-top: 25px;
    border-top: 1px solid var(--border);
}

.retreat-overview--3day .retreat-overview__audience h3 {
    margin: 0 0 15px;
    color: var(--primary);
    font-family: var(--font-heading);
    font-size: clamp(1.6rem, 2.4vw, 2rem);
    font-weight: 500;
    line-height: 1.25;
}

.retreat-overview--3day .retreat-overview__audience > p {
    max-width: 650px;
    margin: 0;
    color: var(--text);
    font-family: var(--font-body);
    font-size: 0.96rem;
    line-height: 1.85;
}

/* Tablet */

@media (max-width: 900px) {
    .retreat-overview--3day .retreat-overview__grid {
        grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);
        gap: 34px;
    }

    .retreat-overview--3day h2 {
        font-size: clamp(2.35rem, 4.5vw, 3.2rem);
    }
}

/* Mobile */

@media (max-width: 760px) {
    .retreat-overview--3day {
        padding: 64px 0;
    }

    .retreat-overview--3day .retreat-overview__grid {
        grid-template-columns: 1fr;
        gap: 36px;
    }

    .retreat-overview--3day .retreat-overview__intro {
        max-width: 560px;
    }

    .retreat-overview--3day .retreat-overview__eyebrow {
        margin-bottom: 16px;
        font-size: 0.7rem;
    }

    .retreat-overview--3day h2 {
        max-width: 520px;
        font-size: clamp(2.45rem, 9vw, 3.3rem);
        line-height: 1.08;
    }

    .retreat-overview--3day .retreat-overview__accent {
        margin: 22px 0 18px;
    }

    .retreat-overview--3day .retreat-overview__highlights {
        margin-top: 24px;
    }

    .retreat-overview--3day .retreat-overview__highlight {
        padding: 14px 0;
    }

    .retreat-overview--3day .retreat-overview__body > p {
        font-size: 0.96rem;
        line-height: 1.8;
    }

    .retreat-overview--3day .retreat-overview__audience {
        margin-top: 28px;
        padding-top: 22px;
    }

    .retreat-overview--3day .retreat-overview__audience h3 {
        font-size: 1.75rem;
    }
}

/* =========================================
   RETREAT EXPERIENCES — 3 DAY
   8 Limbs Yoga School
========================================= */

.retreat-experiences--3day {
    padding: clamp(68px, 8vw, 108px) 0;
    background: var(--bg);
    color: var(--text);
}

.retreat-experiences--3day .container {
    width: min(calc(100% - 40px), var(--container));
    margin-inline: auto;
}

/* Section heading */

.retreat-experiences--3day .retreat-experiences__header {
    max-width: 760px;
    margin: 0 auto 48px;
    text-align: center;
}

.retreat-experiences--3day .retreat-experiences__eyebrow {
    margin: 0 0 16px;
    color: var(--secondary);
    font-family: var(--font-body);
    font-size: 0.76rem;
    font-weight: 700;
    letter-spacing: 0.13em;
    line-height: 1.7;
    text-transform: uppercase;
}

.retreat-experiences--3day .retreat-experiences__header h2 {
    margin: 0;
    color: var(--primary);
    font-family: var(--font-heading);
    font-size: clamp(2.5rem, 4.5vw, 4rem);
    font-weight: 500;
    line-height: 1.08;
    letter-spacing: -0.025em;
}

.retreat-experiences--3day .retreat-experiences__intro {
    max-width: 650px;
    margin: 20px auto 0;
    color: var(--muted);
    font-family: var(--font-body);
    font-size: 1rem;
    line-height: 1.85;
}

/* Cards grid */

.retreat-experiences--3day .retreat-experiences__grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 18px;
}

/* Individual card */

.retreat-experiences--3day .retreat-experience-card {
    position: relative;
    display: flex;
    min-width: 0;
    flex-direction: column;
    align-items: flex-start;
    padding: 25px 23px 26px;
    border: 1px solid var(--border);
    border-radius: var(--radius);
    background: var(--white);
    transition:
        border-color 180ms ease,
        transform 180ms ease;
}

.retreat-experiences--3day .retreat-experience-card:hover {
    transform: translateY(-3px);
    border-color: var(--secondary);
}

.retreat-experiences--3day .retreat-experience-card__number {
    position: absolute;
    top: 22px;
    right: 22px;
    color: var(--muted);
    font-family: var(--font-body);
    font-size: 0.72rem;
    font-weight: 600;
    letter-spacing: 0.06em;
}

/* Inline SVG icons */

.retreat-experiences--3day .retreat-experience-card__icon {
    display: flex;
    width: 54px;
    height: 54px;
    align-items: center;
    justify-content: center;
    margin-bottom: 25px;
    border-radius: 50%;
    background: var(--bg);
    color: var(--primary);
}

.retreat-experiences--3day .retreat-experience-card__icon svg {
    display: block;
    width: 34px;
    height: 34px;
}

/* Card typography */

.retreat-experiences--3day .retreat-experience-card h3 {
    margin: 0 0 11px;
    color: var(--primary);
    font-family: var(--font-heading);
    font-size: 1.55rem;
    font-weight: 500;
    line-height: 1.2;
}

.retreat-experiences--3day .retreat-experience-card p {
    margin: 0;
    color: var(--muted);
    font-family: var(--font-body);
    font-size: 0.88rem;
    line-height: 1.8;
}

/* Tablet */

@media (max-width: 1024px) {
    .retreat-experiences--3day .retreat-experiences__grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 15px;
    }

    .retreat-experiences--3day .retreat-experience-card {
        padding: 23px 20px;
    }
}

/* Small tablet */

@media (max-width: 760px) {
    .retreat-experiences--3day {
        padding: 64px 0;
    }

    .retreat-experiences--3day .retreat-experiences__header {
        margin-bottom: 34px;
        text-align: left;
    }

    .retreat-experiences--3day .retreat-experiences__header h2 {
        font-size: clamp(2.4rem, 8vw, 3.2rem);
    }

    .retreat-experiences--3day .retreat-experiences__intro {
        margin-top: 16px;
        font-size: 0.96rem;
        line-height: 1.8;
    }

    .retreat-experiences--3day .retreat-experiences__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 12px;
    }

    .retreat-experiences--3day .retreat-experience-card {
        padding: 21px 17px;
        border-radius: var(--radius-small);
    }

    .retreat-experiences--3day .retreat-experience-card__icon {
        width: 48px;
        height: 48px;
        margin-bottom: 20px;
    }

    .retreat-experiences--3day .retreat-experience-card__icon svg {
        width: 30px;
        height: 30px;
    }

    .retreat-experiences--3day .retreat-experience-card__number {
        top: 17px;
        right: 16px;
    }

    .retreat-experiences--3day .retreat-experience-card h3 {
        font-size: 1.35rem;
    }

    .retreat-experiences--3day .retreat-experience-card p {
        font-size: 0.84rem;
        line-height: 1.75;
    }
}

/* Narrow mobile */

@media (max-width: 420px) {
    .retreat-experiences--3day .retreat-experiences__grid {
        grid-template-columns: 1fr;
        gap: 12px;
    }

    .retreat-experiences--3day .retreat-experience-card {
        padding: 22px;
    }

    .retreat-experiences--3day .retreat-experience-card__icon {
        margin-bottom: 16px;
    }

    .retreat-experiences--3day .retreat-experience-card h3 {
        font-size: 1.5rem;
    }

    .retreat-experiences--3day .retreat-experience-card p {
        font-size: 0.9rem;
    }
}

/* Respect reduced-motion preferences */

@media (prefers-reduced-motion: reduce) {
    .retreat-experiences--3day .retreat-experience-card {
        transition: none;
    }

    .retreat-experiences--3day .retreat-experience-card:hover {
        transform: none;
    }
}

/* =========================================
   RETREAT DAILY SCHEDULE — 3 DAY
   8 Limbs Yoga School
========================================= */

.retreat-schedule--3day {
    padding: clamp(68px, 8vw, 108px) 0;
    background: var(--white);
    color: var(--text);
}

.retreat-schedule--3day .container {
    width: min(calc(100% - 40px), var(--container));
    margin-inline: auto;
}

.retreat-schedule--3day .retreat-schedule__header {
    max-width: 760px;
    margin: 0 auto 42px;
    text-align: center;
}

.retreat-schedule--3day .retreat-schedule__eyebrow {
    margin: 0 0 16px;
    color: var(--secondary);
    font-family: var(--font-body);
    font-size: 0.76rem;
    font-weight: 700;
    letter-spacing: 0.13em;
    line-height: 1.7;
    text-transform: uppercase;
}

.retreat-schedule--3day .retreat-schedule__header h2 {
    margin: 0;
    color: var(--primary);
    font-family: var(--font-heading);
    font-size: clamp(2.5rem, 4.5vw, 4rem);
    font-weight: 500;
    line-height: 1.08;
    letter-spacing: -0.025em;
}

.retreat-schedule--3day .retreat-schedule__intro {
    max-width: 660px;
    margin: 20px auto 0;
    color: var(--muted);
    font-family: var(--font-body);
    font-size: 1rem;
    line-height: 1.85;
}

.retreat-schedule--3day .retreat-schedule__notice {
    display: inline-block;
    margin: 20px 0 0;
    padding: 9px 14px;
    border: 1px solid var(--border);
    border-radius: var(--radius-small);
    color: var(--primary);
    font-family: var(--font-body);
    font-size: 0.82rem;
    line-height: 1.6;
}

/* Table wrapper */

.retreat-schedule--3day .retreat-schedule__table-wrap {
    overflow-x: auto;
    border: 1px solid var(--border);
    border-radius: var(--radius);
    background: var(--white);
}

/* Table */

.retreat-schedule--3day .retreat-schedule__table {
    width: 100%;
    border-collapse: collapse;
    text-align: left;
}

.retreat-schedule--3day .retreat-schedule__table thead {
    background: var(--primary);
    color: var(--white);
}

.retreat-schedule--3day .retreat-schedule__table th {
    padding: 18px 22px;
    font-family: var(--font-body);
    font-size: 0.78rem;
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
}

.retreat-schedule--3day .retreat-schedule__table td {
    padding: 20px 22px;
    border-bottom: 1px solid var(--border);
    color: var(--muted);
    font-family: var(--font-body);
    font-size: 0.9rem;
    line-height: 1.7;
    vertical-align: middle;
}

.retreat-schedule--3day .retreat-schedule__table tbody tr:last-child td {
    border-bottom: 0;
}

.retreat-schedule--3day .retreat-schedule__table tbody tr:nth-child(even) {
    background: var(--bg);
}

.retreat-schedule--3day .retreat-schedule__table td:nth-child(2) {
    color: var(--primary);
    font-weight: 700;
}

.retreat-schedule--3day .retreat-schedule__time {
    color: var(--primary);
    font-weight: 700;
    white-space: nowrap;
}

/* Schedule note */

.retreat-schedule--3day .retreat-schedule__footnote {
    max-width: 800px;
    margin: 20px 0 0;
    color: var(--muted);
    font-family: var(--font-body);
    font-size: 0.84rem;
    line-height: 1.8;
}

/* Tablet and mobile */

@media (max-width: 760px) {
    .retreat-schedule--3day {
        padding: 64px 0;
    }

    .retreat-schedule--3day .retreat-schedule__header {
        margin-bottom: 30px;
        text-align: left;
    }

    .retreat-schedule--3day .retreat-schedule__header h2 {
        font-size: clamp(2.4rem, 9vw, 3.3rem);
    }

    .retreat-schedule--3day .retreat-schedule__intro {
        margin-top: 16px;
        font-size: 0.96rem;
        line-height: 1.8;
    }

    .retreat-schedule--3day .retreat-schedule__table-wrap {
        border-radius: var(--radius-small);
    }

    .retreat-schedule--3day .retreat-schedule__table {
        min-width: 650px;
    }

    .retreat-schedule--3day .retreat-schedule__table th,
    .retreat-schedule--3day .retreat-schedule__table td {
        padding: 15px 16px;
    }

    .retreat-schedule--3day .retreat-schedule__footnote {
        font-size: 0.82rem;
    }
}

/* =========================================
   RETREAT ACCOMMODATION & MEALS — 3 DAY
   8 Limbs Yoga School
========================================= */

.retreat-stay--3day {
    padding: clamp(68px, 8vw, 108px) 0;
    background: var(--bg);
    color: var(--text);
}

.retreat-stay--3day .container {
    width: min(calc(100% - 40px), var(--container));
    margin-inline: auto;
}

.retreat-stay--3day .retreat-stay__header {
    max-width: 760px;
    margin: 0 auto 44px;
    text-align: center;
}

.retreat-stay--3day .retreat-stay__eyebrow {
    margin: 0 0 14px;
    color: var(--secondary);
    font-family: var(--font-body);
    font-size: 0.76rem;
    font-weight: 700;
    letter-spacing: 0.13em;
    line-height: 1.7;
    text-transform: uppercase;
}

.retreat-stay--3day .retreat-stay__header h2 {
    margin: 0;
    color: var(--primary);
    font-family: var(--font-heading);
    font-size: clamp(2.5rem, 4.5vw, 4rem);
    font-weight: 500;
    line-height: 1.08;
    letter-spacing: -0.025em;
}

.retreat-stay--3day .retreat-stay__intro {
    max-width: 680px;
    margin: 18px auto 0;
    color: var(--muted);
    font-family: var(--font-body);
    font-size: 1rem;
    line-height: 1.85;
}

/* Room cards */

.retreat-stay--3day .retreat-stay__grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 24px;
}

.retreat-stay--3day .retreat-room-card {
    overflow: hidden;
    border: 1px solid var(--border);
    border-radius: var(--radius);
    background: var(--white);
}

.retreat-stay--3day .retreat-room-card__visual {
    aspect-ratio: 16 / 10;
    background-color: var(--bg-alt);
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
}

/* Replace these image paths with your selected room photos */

.retreat-stay--3day .retreat-room-card__visual--standard {
    background-image: url("../images/standard-private-room.webp");
}

.retreat-stay--3day .retreat-room-card__visual--luxury {
    background-image: url("../images/luxury-private-room.webp");
}

.retreat-stay--3day .retreat-room-card__content {
    padding: 28px;
}

.retreat-stay--3day .retreat-room-card__label {
    margin: 0 0 12px;
    color: var(--secondary);
    font-family: var(--font-body);
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.12em;
    line-height: 1.6;
}

.retreat-stay--3day .retreat-room-card h3 {
    margin: 0 0 12px;
    color: var(--primary);
    font-family: var(--font-heading);
    font-size: clamp(1.7rem, 2.5vw, 2.2rem);
    font-weight: 500;
    line-height: 1.2;
}

.retreat-stay--3day .retreat-room-card__content > p:last-child {
    margin: 0;
    color: var(--muted);
    font-family: var(--font-body);
    font-size: 0.94rem;
    line-height: 1.85;
}

/* Meals feature */

.retreat-stay--3day .retreat-stay__meals {
    display: grid;
    grid-template-columns: 76px minmax(0, 1fr);
    align-items: center;
    gap: 24px;
    margin-top: 28px;
    padding: 30px;
    border: 1px solid var(--border);
    border-radius: var(--radius);
    background: var(--white);
}

.retreat-stay--3day .retreat-stay__meals-mark {
    display: flex;
    width: 76px;
    height: 76px;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: var(--bg);
    color: var(--primary);
}

.retreat-stay--3day .retreat-stay__meals-mark svg {
    display: block;
    width: 42px;
    height: 42px;
}

.retreat-stay--3day .retreat-stay__meals-content .retreat-stay__eyebrow {
    margin-bottom: 8px;
}

.retreat-stay--3day .retreat-stay__meals h3 {
    margin: 0 0 8px;
    color: var(--primary);
    font-family: var(--font-heading);
    font-size: 1.9rem;
    font-weight: 500;
    line-height: 1.2;
}

.retreat-stay--3day .retreat-stay__meals-content > p:last-child {
    max-width: 720px;
    margin: 0;
    color: var(--muted);
    font-family: var(--font-body);
    font-size: 0.94rem;
    line-height: 1.85;
}

/* Package inclusion strip */

.retreat-stay--3day .retreat-stay__included {
    margin-top: 28px;
    padding: 24px 28px;
    border-radius: var(--radius-small);
    background: var(--primary);
    color: var(--white);
}

.retreat-stay--3day .retreat-stay__included-title {
    display: block;
    margin-bottom: 18px;
    color: var(--secondary);
    font-family: var(--font-body);
    font-size: 0.78rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    line-height: 1.6;
    text-transform: uppercase;
}

.retreat-stay--3day .retreat-stay__included-items {
    display: flex;
    flex-wrap: wrap;
    gap: 14px 30px;
}

.retreat-stay--3day .retreat-stay__included-items > span {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    color: var(--white);
    font-family: var(--font-body);
    font-size: 0.9rem;
    line-height: 1.6;
}

.retreat-stay--3day .retreat-stay__included-items > span > span {
    color: var(--secondary);
    font-weight: 700;
}

/* Responsive */

@media (max-width: 760px) {
    .retreat-stay--3day {
        padding: 64px 0;
    }

    .retreat-stay--3day .retreat-stay__header {
        margin-bottom: 32px;
        text-align: left;
    }

    .retreat-stay--3day .retreat-stay__header h2 {
        font-size: clamp(2.4rem, 9vw, 3.3rem);
    }

    .retreat-stay--3day .retreat-stay__intro {
        margin-top: 16px;
        font-size: 0.96rem;
        line-height: 1.8;
    }

    .retreat-stay--3day .retreat-stay__grid {
        grid-template-columns: 1fr;
        gap: 18px;
    }

    .retreat-stay--3day .retreat-room-card__content {
        padding: 22px;
    }

    .retreat-stay--3day .retreat-stay__meals {
        grid-template-columns: 54px minmax(0, 1fr);
        gap: 16px;
        margin-top: 20px;
        padding: 22px;
    }

    .retreat-stay--3day .retreat-stay__meals-mark {
        width: 54px;
        height: 54px;
    }

    .retreat-stay--3day .retreat-stay__meals-mark svg {
        width: 32px;
        height: 32px;
    }

    .retreat-stay--3day .retreat-stay__meals h3 {
        font-size: 1.65rem;
    }

    .retreat-stay--3day .retreat-stay__included {
        margin-top: 20px;
        padding: 22px;
    }

    .retreat-stay--3day .retreat-stay__included-items {
        flex-direction: column;
        gap: 12px;
    }
}

@media (max-width: 420px) {
    .retreat-stay--3day .retreat-stay__meals {
        grid-template-columns: 1fr;
    }
}

/* Fix: Retreat included-items layout */

.retreat-stay--3day .retreat-stay__included {
    padding: 26px 30px;
}

.retreat-stay--3day .retreat-stay__included-heading {
    margin: 0 0 20px;
    color: var(--secondary);
    font-family: var(--font-body);
    font-size: 0.82rem;
    font-weight: 700;
    line-height: 1.5;
}

.retreat-stay--3day .retreat-stay__included-list {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    align-items: center;
    gap: 16px 36px;
}

.retreat-stay--3day .retreat-stay__included-item {
    display: flex;
    flex: 0 1 auto;
    flex-direction: row;
    align-items: center;
    gap: 10px;
    min-width: 0;
}

.retreat-stay--3day .retreat-stay__included-item > span {
    display: inline-flex;
    flex: 0 0 20px;
    align-items: center;
    justify-content: center;
    color: var(--secondary);
    font-size: 1rem;
    font-weight: 700;
}

.retreat-stay--3day .retreat-stay__included-item p {
    margin: 0;
    color: var(--white);
    font-family: var(--font-body);
    font-size: 0.9rem;
    line-height: 1.6;
}

@media (max-width: 600px) {
    .retreat-stay--3day .retreat-stay__included {
        padding: 22px;
    }

    .retreat-stay--3day .retreat-stay__included-list {
        flex-direction: column;
        align-items: flex-start;
        gap: 12px;
    }
}

/* =========================================
   SECTION 06: RISHIKESH EXPERIENCE
   8 Limbs Yoga School
========================================= */

.retreat-rishikesh--3day {
    width: 100%;
    margin: 0;
    padding: clamp(68px, 8vw, 108px) 0;
    background: var(--white);
    color: var(--text);
    box-sizing: border-box;
}

.retreat-rishikesh--3day *,
.retreat-rishikesh--3day *::before,
.retreat-rishikesh--3day *::after {
    box-sizing: border-box;
}

.retreat-rishikesh--3day .container {
    width: min(calc(100% - 40px), var(--container));
    max-width: var(--container);
    margin-inline: auto;
    padding: 0;
}

/* Introduction */

.retreat-rishikesh--3day .retreat-rishikesh__intro {
    display: grid;
    grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);
    align-items: start;
    gap: clamp(32px, 6vw, 90px);
    margin-bottom: 54px;
}

.retreat-rishikesh--3day .retreat-rishikesh__eyebrow {
    margin: 0 0 16px;
    color: var(--secondary);
    font-family: var(--font-body);
    font-size: 0.76rem;
    font-weight: 700;
    letter-spacing: 0.13em;
    line-height: 1.7;
    text-transform: uppercase;
}

.retreat-rishikesh--3day .retreat-rishikesh__heading h2 {
    max-width: 560px;
    margin: 0;
    color: var(--primary);
    font-family: var(--font-heading);
    font-size: clamp(2.6rem, 4.5vw, 4.15rem);
    font-weight: 500;
    line-height: 1.08;
    letter-spacing: -0.025em;
}

.retreat-rishikesh--3day .retreat-rishikesh__description {
    padding-top: 6px;
}

.retreat-rishikesh--3day .retreat-rishikesh__description p {
    margin: 0 0 20px;
    color: var(--muted);
    font-family: var(--font-body);
    font-size: 1rem;
    line-height: 1.9;
}

.retreat-rishikesh--3day .retreat-rishikesh__description p:last-child {
    margin-bottom: 0;
}

/* Experience cards */

.retreat-rishikesh--3day .retreat-rishikesh__grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 20px;
}

.retreat-rishikesh--3day .retreat-rishikesh-card {
    min-width: 0;
    padding: 30px 28px 32px;
    border: 1px solid var(--border);
    border-radius: var(--radius);
    background: var(--bg);
    transition:
        border-color 180ms ease,
        transform 180ms ease;
}

.retreat-rishikesh--3day .retreat-rishikesh-card:hover {
    transform: translateY(-3px);
    border-color: var(--secondary);
}

.retreat-rishikesh--3day .retreat-rishikesh-card__top {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 28px;
}

.retreat-rishikesh--3day .retreat-rishikesh-card__number {
    color: var(--secondary);
    font-family: var(--font-body);
    font-size: 0.78rem;
    font-weight: 700;
    letter-spacing: 0.08em;
}

.retreat-rishikesh--3day .retreat-rishikesh-card__icon {
    display: flex;
    width: 56px;
    height: 56px;
    flex: 0 0 56px;
    align-items: center;
    justify-content: center;
    border: 1px solid var(--border);
    border-radius: 50%;
    background: var(--white);
    color: var(--primary);
}

.retreat-rishikesh--3day .retreat-rishikesh-card__icon svg {
    display: block;
    width: 34px;
    height: 34px;
}

.retreat-rishikesh--3day .retreat-rishikesh-card h3 {
    margin: 0 0 12px;
    color: var(--primary);
    font-family: var(--font-heading);
    font-size: 1.8rem;
    font-weight: 500;
    line-height: 1.2;
}

.retreat-rishikesh--3day .retreat-rishikesh-card > p {
    margin: 0;
    color: var(--muted);
    font-family: var(--font-body);
    font-size: 0.9rem;
    line-height: 1.85;
}

/* Closing statement */

.retreat-rishikesh--3day .retreat-rishikesh__closing {
    display: flex;
    align-items: flex-start;
    gap: 20px;
    max-width: 900px;
    margin: 38px auto 0;
}

.retreat-rishikesh--3day .retreat-rishikesh__closing-line {
    display: block;
    width: 3px;
    min-height: 54px;
    flex: 0 0 3px;
    border-radius: 3px;
    background: var(--secondary);
}

.retreat-rishikesh--3day .retreat-rishikesh__closing p {
    margin: 0;
    color: var(--primary);
    font-family: var(--font-heading);
    font-size: clamp(1.35rem, 2.2vw, 1.8rem);
    line-height: 1.5;
}

/* Tablet */

@media (max-width: 900px) {
    .retreat-rishikesh--3day .retreat-rishikesh__intro {
        grid-template-columns: 1fr;
        gap: 22px;
        margin-bottom: 36px;
    }

    .retreat-rishikesh--3day .retreat-rishikesh__heading h2 {
        max-width: 650px;
    }

    .retreat-rishikesh--3day .retreat-rishikesh__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 16px;
    }

    .retreat-rishikesh--3day .retreat-rishikesh-card:last-child {
        grid-column: 1 / -1;
    }
}

/* Mobile */

@media (max-width: 600px) {
    .retreat-rishikesh--3day {
        padding: 64px 0;
    }

    .retreat-rishikesh--3day .retreat-rishikesh__intro {
        gap: 18px;
        margin-bottom: 30px;
    }

    .retreat-rishikesh--3day .retreat-rishikesh__heading h2 {
        font-size: clamp(2.45rem, 9vw, 3.2rem);
    }

    .retreat-rishikesh--3day .retreat-rishikesh__description p {
        font-size: 0.95rem;
        line-height: 1.85;
    }

    .retreat-rishikesh--3day .retreat-rishikesh__grid {
        grid-template-columns: 1fr;
        gap: 14px;
    }

    .retreat-rishikesh--3day .retreat-rishikesh-card:last-child {
        grid-column: auto;
    }

    .retreat-rishikesh--3day .retreat-rishikesh-card {
        padding: 24px;
        border-radius: var(--radius-small);
    }

    .retreat-rishikesh--3day .retreat-rishikesh-card__top {
        margin-bottom: 20px;
    }

    .retreat-rishikesh--3day .retreat-rishikesh-card h3 {
        font-size: 1.65rem;
    }

    .retreat-rishikesh--3day .retreat-rishikesh__closing {
        gap: 14px;
        margin-top: 30px;
    }

    .retreat-rishikesh--3day .retreat-rishikesh__closing p {
        font-size: 1.4rem;
    }
}

/* Reduced motion */

@media (prefers-reduced-motion: reduce) {
    .retreat-rishikesh--3day .retreat-rishikesh-card {
        transition: none;
    }

    .retreat-rishikesh--3day .retreat-rishikesh-card:hover {
        transform: none;
    }
}

/* =========================================
   SECTION 08: RETREAT PRICING
   8 Limbs Yoga School
========================================= */

.retreat-pricing--3day {
    width: 100%;
    padding: clamp(68px, 8vw, 108px) 0;
    background: var(--bg);
    color: var(--text);
    box-sizing: border-box;
}

.retreat-pricing--3day *,
.retreat-pricing--3day *::before,
.retreat-pricing--3day *::after {
    box-sizing: border-box;
}

.retreat-pricing--3day .container {
    width: min(calc(100% - 40px), var(--container));
    max-width: var(--container);
    margin-inline: auto;
    padding: 0;
}

.retreat-pricing--3day .retreat-pricing__header {
    max-width: 760px;
    margin: 0 auto 44px;
    text-align: center;
}

.retreat-pricing--3day .retreat-pricing__eyebrow {
    margin: 0 0 14px;
    color: var(--secondary);
    font-family: var(--font-body);
    font-size: 0.76rem;
    font-weight: 700;
    letter-spacing: 0.13em;
    line-height: 1.7;
    text-transform: uppercase;
}

.retreat-pricing--3day .retreat-pricing__header h2 {
    margin: 0;
    color: var(--primary);
    font-family: var(--font-heading);
    font-size: clamp(2.5rem, 4.5vw, 4rem);
    font-weight: 500;
    line-height: 1.1;
}

.retreat-pricing--3day .retreat-pricing__header > p:last-child {
    max-width: 680px;
    margin: 18px auto 0;
    color: var(--muted);
    font-family: var(--font-body);
    font-size: 1rem;
    line-height: 1.85;
}

.retreat-pricing--3day .retreat-pricing__grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 440px));
    justify-content: center;
    align-items: stretch;
    gap: 24px;
}

.retreat-pricing--3day .retreat-price-card {
    display: flex;
    flex-direction: column;
    min-width: 0;
    padding: 32px;
    border: 1px solid var(--border);
    border-radius: var(--radius);
    background: var(--white);
}

.retreat-pricing--3day .retreat-price-card--featured {
    border-color: var(--secondary);
    box-shadow: 0 12px 36px rgb(7 26 45 / 6%);
}

.retreat-pricing--3day .retreat-price-card__label {
    margin: 0 0 12px;
    color: var(--secondary);
    font-family: var(--font-body);
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.12em;
}

.retreat-pricing--3day .retreat-price-card h3 {
    margin: 0 0 10px;
    color: var(--primary);
    font-family: var(--font-heading);
    font-size: clamp(1.8rem, 3vw, 2.1rem);
    font-weight: 500;
    line-height: 1.2;
}

.retreat-pricing--3day .retreat-price-card__description {
    min-height: 48px;
    margin: 0;
    color: var(--muted);
    font-family: var(--font-body);
    font-size: 0.9rem;
    line-height: 1.7;
}

.retreat-pricing--3day .retreat-price-card__price {
    display: flex;
    align-items: flex-start;
    gap: 4px;
    color: var(--primary);
}

.retreat-pricing--3day .retreat-price-card__currency {
    margin-top: 8px;
    font-family: var(--font-body);
    font-size: 1.2rem;
    font-weight: 600;
}

.retreat-pricing--3day .retreat-price-card__amount {
    font-family: var(--font-heading);
    font-size: 3.8rem;
    font-weight: 500;
    line-height: 1;
    letter-spacing: -0.04em;
}

.retreat-pricing--3day .retreat-price-card__basis {
    margin: 12px 0 0;
    color: var(--muted);
    font-family: var(--font-body);
    font-size: 0.82rem;
    line-height: 1.6;
}

.retreat-pricing--3day .retreat-price-card__divider {
    width: 100%;
    height: 1px;
    margin: 24px 0;
    background: var(--border);
}

.retreat-pricing--3day .retreat-price-card__includes-title {
    margin: 0 0 16px;
    color: var(--primary);
    font-family: var(--font-body);
    font-size: 0.85rem;
    font-weight: 700;
}

.retreat-pricing--3day .retreat-price-card__features {
    display: flex;
    flex-direction: column;
    gap: 12px;
    margin: 0 0 28px;
    padding: 0;
    list-style: none;
}

.retreat-pricing--3day .retreat-price-card__features li {
    position: relative;
    padding-left: 25px;
    color: var(--muted);
    font-family: var(--font-body);
    font-size: 0.88rem;
    line-height: 1.65;
}

.retreat-pricing--3day .retreat-price-card__features li::before {
    position: absolute;
    top: 0;
    left: 0;
    color: var(--secondary);
    content: "✓";
    font-weight: 700;
}

.retreat-pricing--3day .retreat-price-card__button {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    min-height: 52px;
    margin-top: auto;
    padding: 14px 18px;
    border: 1px solid var(--primary);
    border-radius: var(--radius-small);
    background: var(--primary);
    color: var(--white);
    font-family: var(--font-body);
    font-size: 0.88rem;
    font-weight: 700;
    line-height: 1.5;
    text-align: center;
    text-decoration: none;
    transition:
        background 180ms ease,
        color 180ms ease,
        border-color 180ms ease;
}

.retreat-pricing--3day .retreat-price-card__button:hover {
    border-color: var(--secondary);
    background: var(--secondary);
    color: var(--dark);
}

.retreat-pricing--3day .retreat-pricing__note {
    max-width: 760px;
    margin: 28px auto 0;
    color: var(--muted);
    font-family: var(--font-body);
    font-size: 0.85rem;
    line-height: 1.8;
    text-align: center;
}

/* Responsive */

@media (max-width: 760px) {
    .retreat-pricing--3day {
        padding: 64px 0;
    }

    .retreat-pricing--3day .retreat-pricing__header {
        margin-bottom: 32px;
        text-align: left;
    }

    .retreat-pricing--3day .retreat-pricing__header h2 {
        font-size: clamp(2.4rem, 9vw, 3.2rem);
    }

    .retreat-pricing--3day .retreat-pricing__header > p:last-child {
        margin-left: 0;
        font-size: 0.95rem;
    }

    .retreat-pricing--3day .retreat-pricing__grid {
        grid-template-columns: minmax(0, 1fr);
        gap: 18px;
    }

    .retreat-pricing--3day .retreat-price-card {
        padding: 26px;
    }

    .retreat-pricing--3day .retreat-price-card__description {
        min-height: 0;
    }

    .retreat-pricing--3day .retreat-price-card__amount {
        font-size: 3.4rem;
    }
}

/* Section 9: Who Is This Retreat For? */

.retreat-audience {
    padding: 90px 0;
    background: var(--bg);
}

.retreat-audience .container {
    width: min(calc(100% - 40px), var(--container));
    margin-inline: auto;
}

.retreat-audience__header {
    max-width: 780px;
    margin: 0 auto 44px;
    text-align: center;
}

.retreat-audience__header .section-eyebrow {
    display: inline-block;
    margin-bottom: 14px;
    color: var(--secondary);
    font-family: var(--font-body);
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 2px;
    text-transform: uppercase;
}

.retreat-audience__header h2 {
    margin: 0 0 18px;
    color: var(--primary);
    font-family: var(--font-heading);
    font-size: clamp(32px, 4vw, 48px);
    font-weight: 600;
    line-height: 1.15;
}

.retreat-audience__header > p {
    margin: 0;
    color: var(--muted);
    font-family: var(--font-body);
    font-size: 16px;
    line-height: 1.85;
}

.retreat-audience__grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 24px;
}

.retreat-audience__card {
    padding: 30px;
    background: var(--white);
    border: 1px solid var(--border);
    border-radius: var(--radius);
}

.retreat-audience__number {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 42px;
    height: 42px;
    margin-bottom: 22px;
    color: var(--primary);
    background: var(--bg-alt);
    border-radius: 50%;
    font-family: var(--font-body);
    font-size: 13px;
    font-weight: 700;
}

.retreat-audience__card h3 {
    margin: 0 0 14px;
    color: var(--primary);
    font-family: var(--font-heading);
    font-size: 25px;
    font-weight: 600;
    line-height: 1.25;
}

.retreat-audience__card p {
    margin: 0;
    color: var(--muted);
    font-family: var(--font-body);
    font-size: 15px;
    line-height: 1.8;
}

.retreat-audience__footer {
    max-width: 780px;
    margin: 32px auto 0;
    padding: 22px 26px;
    background: var(--bg-alt);
    border-radius: var(--radius-small);
    text-align: center;
}

.retreat-audience__footer p {
    margin: 0;
    color: var(--text);
    font-family: var(--font-body);
    font-size: 15px;
    line-height: 1.8;
}

.retreat-audience__footer strong {
    color: var(--primary);
}

/* Responsive */

@media (max-width: 900px) {
    .retreat-audience__grid {
        grid-template-columns: 1fr;
        gap: 16px;
    }

    .retreat-audience__card {
        padding: 26px;
    }
}

@media (max-width: 600px) {
    .retreat-audience {
        padding: 64px 0;
    }

    .retreat-audience .container {
        width: min(calc(100% - 32px), var(--container));
    }

    .retreat-audience__header {
        margin-bottom: 30px;
    }

    .retreat-audience__card h3 {
        font-size: 23px;
    }

    .retreat-audience__footer {
        padding: 20px;
    }
}

/* Section 10: Practical Information */

.retreat-practical {
    padding: 90px 0;
    background: var(--white);
}

.retreat-practical .container {
    width: min(calc(100% - 40px), var(--container));
    margin-inline: auto;
}

.retreat-practical__header {
    max-width: 760px;
    margin: 0 auto 48px;
    text-align: center;
}

.retreat-practical__header .section-eyebrow {
    display: inline-block;
    margin-bottom: 14px;
    color: var(--secondary);
    font-family: var(--font-body);
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 2px;
    text-transform: uppercase;
}

.retreat-practical__header h2 {
    margin: 0 0 16px;
    color: var(--primary);
    font-family: var(--font-heading);
    font-size: clamp(32px, 4vw, 46px);
    font-weight: 600;
    line-height: 1.15;
}

.retreat-practical__header > p {
    margin: 0;
    color: var(--muted);
    font-family: var(--font-body);
    font-size: 16px;
    line-height: 1.8;
}

.retreat-practical__layout {
    display: grid;
    grid-template-columns: minmax(260px, 0.8fr) minmax(0, 1.4fr);
    gap: 64px;
    align-items: start;
}

.retreat-practical__intro {
    position: sticky;
    top: 30px;
    padding: 30px;
    background: var(--bg);
    border-radius: var(--radius);
}

.retreat-practical__intro h3 {
    margin: 0 0 18px;
    color: var(--primary);
    font-family: var(--font-heading);
    font-size: 29px;
    font-weight: 600;
    line-height: 1.25;
}

.retreat-practical__intro p {
    margin: 0 0 14px;
    color: var(--muted);
    font-family: var(--font-body);
    font-size: 15px;
    line-height: 1.8;
}

.retreat-practical__link {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    margin-top: 8px;
    color: var(--primary);
    font-family: var(--font-body);
    font-size: 14px;
    font-weight: 700;
    text-decoration: none;
}

.retreat-practical__link span {
    color: var(--secondary);
    font-size: 20px;
    transition: transform 0.2s ease;
}

.retreat-practical__link:hover span {
    transform: translateX(4px);
}

.retreat-practical__faqs {
    border-top: 1px solid var(--border);
}

.retreat-practical__item {
    border-bottom: 1px solid var(--border);
}

.retreat-practical__item summary {
    position: relative;
    padding: 23px 38px 23px 0;
    color: var(--primary);
    font-family: var(--font-body);
    font-size: 16px;
    font-weight: 700;
    line-height: 1.6;
    list-style: none;
    cursor: pointer;
}

.retreat-practical__item summary::-webkit-details-marker {
    display: none;
}

.retreat-practical__item summary::after {
    content: "+";
    position: absolute;
    top: 50%;
    right: 2px;
    color: var(--secondary);
    font-size: 25px;
    font-weight: 400;
    transform: translateY(-50%);
}

.retreat-practical__item[open] summary::after {
    content: "−";
}

.retreat-practical__answer {
    padding: 0 28px 22px 0;
}

.retreat-practical__answer p {
    margin: 0 0 12px;
    color: var(--muted);
    font-family: var(--font-body);
    font-size: 15px;
    line-height: 1.85;
}

.retreat-practical__answer p:last-child {
    margin-bottom: 0;
}

@media (max-width: 900px) {
    .retreat-practical__layout {
        grid-template-columns: 1fr;
        gap: 32px;
    }

    .retreat-practical__intro {
        position: static;
    }
}

@media (max-width: 600px) {
    .retreat-practical {
        padding: 64px 0;
    }

    .retreat-practical .container {
        width: min(calc(100% - 32px), var(--container));
    }

    .retreat-practical__header {
        margin-bottom: 32px;
    }

    .retreat-practical__intro {
        padding: 24px;
    }

    .retreat-practical__intro h3 {
        font-size: 26px;
    }

    .retreat-practical__item summary {
        padding: 20px 32px 20px 0;
        font-size: 15px;
    }

    .retreat-practical__answer {
        padding-right: 0;
    }
}

/* Section 12: Final Conversion CTA */

.retreat-final-cta {
    position: relative;
    overflow: hidden;
    padding: 100px 0;
    background: var(--primary);
}

.retreat-final-cta .container {
    width: min(calc(100% - 40px), var(--container));
    margin-inline: auto;
}

.retreat-final-cta__content {
    position: relative;
    z-index: 1;
    max-width: 820px;
    margin-inline: auto;
    text-align: center;
}

.retreat-final-cta .section-eyebrow {
    display: inline-block;
    margin-bottom: 18px;
    color: var(--secondary);
    font-family: var(--font-body);
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 2.5px;
    text-transform: uppercase;
}

.retreat-final-cta h2 {
    margin: 0 0 20px;
    color: var(--white);
    font-family: var(--font-heading);
    font-size: clamp(38px, 5vw, 60px);
    font-weight: 600;
    line-height: 1.1;
}

.retreat-final-cta__content > p {
    max-width: 650px;
    margin: 0 auto;
    color: rgba(255, 255, 255, 0.82);
    font-family: var(--font-body);
    font-size: 16px;
    line-height: 1.9;
}

.retreat-final-cta__actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 18px;
    margin-top: 34px;
}

.retreat-final-cta .btn {
    display: inline-flex;
    min-height: 54px;
    align-items: center;
    justify-content: center;
    padding: 15px 26px;
    border: 1px solid var(--secondary);
    border-radius: var(--radius-small);
    background: var(--secondary);
    color: var(--dark);
    font-family: var(--font-body);
    font-size: 14px;
    font-weight: 700;
    text-align: center;
    text-decoration: none;
    transition: background 0.2s ease, color 0.2s ease;
}

.retreat-final-cta .btn:hover {
    background: var(--white);
    border-color: var(--white);
}

.retreat-final-cta__secondary {
    display: inline-flex;
    min-height: 54px;
    align-items: center;
    justify-content: center;
    gap: 10px;
    padding: 14px 10px;
    color: var(--white);
    font-family: var(--font-body);
    font-size: 14px;
    font-weight: 700;
    text-decoration: none;
}

.retreat-final-cta__secondary span {
    color: var(--secondary);
    font-size: 20px;
    transition: transform 0.2s ease;
}

.retreat-final-cta__secondary:hover span {
    transform: translateX(4px);
}

.retreat-final-cta__details {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 16px;
    margin-top: 42px;
    color: rgba(255, 255, 255, 0.78);
    font-family: var(--font-body);
    font-size: 13px;
    letter-spacing: 0.3px;
}

.retreat-final-cta__separator {
    width: 4px;
    height: 4px;
    flex: 0 0 4px;
    border-radius: 50%;
    background: var(--secondary);
}

@media (max-width: 600px) {
    .retreat-final-cta {
        padding: 72px 0;
    }

    .retreat-final-cta .container {
        width: min(calc(100% - 32px), var(--container));
    }

    .retreat-final-cta__actions {
        flex-direction: column;
        align-items: stretch;
        gap: 12px;
        margin-top: 28px;
    }

    .retreat-final-cta .btn,
    .retreat-final-cta__secondary {
        width: 100%;
    }

    .retreat-final-cta__details {
        gap: 10px;
        margin-top: 32px;
        font-size: 12px;
    }
}

.apply-status {
    margin-bottom: 22px;
    padding: 17px 19px;
    border: 1px solid;
    border-left-width: 4px;
    border-radius: var(--radius-small);
    font-family: var(--font-body);
    font-size: 14px;
    line-height: 1.7;
}

.apply-status--success {
    color: #17643a;
    background: #edf8f0;
    border-color: #b8e2c5;
    border-left-color: #25834a;
}

.apply-status--error {
    color: #8b2525;
    background: #fff1f0;
    border-color: #f0c5c2;
    border-left-color: #c43d35;
}

.apply-status--warning {
    color: #76520b;
    background: #fff8e7;
    border-color: #ead7a5;
    border-left-color: #b98517;
}

.contact-main__status {
    margin-bottom: 22px;
    padding: 17px 19px;
    border: 1px solid;
    border-left-width: 4px;
    border-radius: var(--radius-small);
    font-family: var(--font-body);
    font-size: 14px;
    line-height: 1.7;
}

.contact-main__status--success {
    color: #17643a;
    background: #edf8f0;
    border-color: #b8e2c5;
    border-left-color: #25834a;
}

.contact-main__status--error {
    color: #8b2525;
    background: #fff1f0;
    border-color: #f0c5c2;
    border-left-color: #c43d35;
}

.contact-main__status--warning {
    color: #76520b;
    background: #fff8e7;
    border-color: #ead7a5;
    border-left-color: #b98517;
}
