/* Paint layer only. The original homepage owns all geometry and animation. */
.ct-home-page {
    --ct-page: #f8f9fc;
    --ct-surface: #fff;
    --ct-soft: #f1ebf8;
    --ct-hero-surface: #f1ecf8;
    --ct-hero-glow: #e8def3;
    --ct-portrait-shape: #7750b2;
    --ct-ink: #242137;
    --ct-muted: #6f607c;
    --ct-accent: #7750b2;
    --ct-accent-hover: #5b378d;
    --ct-on-accent: #fff;
    --ct-line: #e2d7ed;
    --ct-highlight: #eae2f3;
    --ct-band: #5b378d;
    --ct-band-ink: #fff;
    --ct-band-muted: #e6d9f2;
    --ct-band-button: #e6d7f7;
    --ct-band-button-ink: #442565;
    --ct-success: #166534;
    --ct-success-bg: #f0fdf4;
    --ct-success-line: #bbf7d0;
    --ct-error: #991b1b;
    --ct-error-bg: #fef2f2;
    --ct-error-line: #fecaca;
    --ct-warning: #8a651f;
    --ct-shadow: 0 12px 32px #45266512;
    --ct-decoration-filter: brightness(0) saturate(100%) invert(78%) sepia(24%) saturate(514%) hue-rotate(213deg) brightness(98%) contrast(89%);
    --ct-line-filter: brightness(0) saturate(100%) invert(36%) sepia(27%) saturate(1146%) hue-rotate(222deg) brightness(96%) contrast(85%);
    --tp-heading-primary: var(--ct-ink);
    --tp-heading-2: var(--ct-ink);
    --tp-heading-3: var(--ct-ink);
    --tp-heading-4: var(--ct-ink);
    --tp-text-body: var(--ct-muted);
    --tp-text-1: var(--ct-muted);
    --tp-text-2: var(--ct-muted);
    --tp-theme-primary: var(--ct-accent);
    --tp-theme-secondary: var(--ct-accent-hover);
    --tp-theme-3: var(--ct-accent);
    --tp-theme-4: var(--ct-accent);
    --tp-theme-7: var(--ct-accent);
    --tp-theme-9: var(--ct-accent);
    --tp-border-primary: var(--ct-line);
    --tp-border-2: var(--ct-line);
    background-color: var(--ct-page);
    color: var(--ct-muted);
}
[data-ct-lesson-theme="dark"] .ct-home-page {
    --ct-page: #16131d;
    --ct-surface: #211c2a;
    --ct-soft: #2b2234;
    --ct-hero-surface: #292132;
    --ct-hero-glow: #382847;
    --ct-portrait-shape: #7750b2;
    --ct-ink: #eee8f5;
    --ct-muted: #b9abc6;
    --ct-accent: #c09ae5;
    --ct-accent-hover: #d4b6f0;
    --ct-on-accent: #24162f;
    --ct-line: #47374f;
    --ct-highlight: #3b2c48;
    --ct-band: #362346;
    --ct-band-muted: #e0cdec;
    --ct-band-button: #cda6ef;
    --ct-band-button-ink: #2c153d;
    --ct-success: #94e6b4;
    --ct-success-bg: #173528;
    --ct-success-line: #367653;
    --ct-error: #ffb1bb;
    --ct-error-bg: #3c1e29;
    --ct-error-line: #834352;
    --ct-warning: #f2d092;
    --ct-shadow: 0 12px 32px #0003;
    --ct-decoration-filter: brightness(0) saturate(100%) invert(34%) sepia(17%) saturate(1747%) hue-rotate(226deg) brightness(90%) contrast(91%);
    --ct-line-filter: brightness(0) saturate(100%) invert(74%) sepia(27%) saturate(619%) hue-rotate(218deg) brightness(96%) contrast(89%);
}
.ct-home-page ::selection { background: var(--ct-highlight); color: var(--ct-ink); }
.ct-home-page :is(h1,h2,h3,h4,h5,h6) { color: var(--ct-ink); }
.ct-home-page :is(a,button,input,[contenteditable]):focus-visible { outline-color: var(--ct-accent); }

/* Header and its existing menus. */
.ct-home-page :is(.header-area,.tp-header-2.home-6,.tp-header-6-area,.header-sticky,.offcanvas__area) { background-color: var(--ct-surface); }
.ct-home-page :is(.main-menu nav > ul > li > a,.tp-main-menu-mobile ul li > a,.offcanvas-open-btn,.offcanvas-content p,.offcanvas-contact a,.offcanvas-title) { color: var(--ct-ink); }
.ct-home-page .main-menu nav > ul > li > a:hover { color: var(--ct-accent); }
.ct-home-page .offcanvas-open-btn { border-color: var(--ct-line); }
.ct-home-page .offcanvas-open-btn:hover { background-color: var(--ct-soft); }
.ct-home-page .offcanvas-open-btn i { color: var(--ct-ink); }
.ct-home-page :is(.logo span,.tp-header-6-logo span) { color: var(--ct-ink) !important; }
.ct-home-page :is(.tp-btn-inner,.tp-btn-round.color-9) { background-color: var(--ct-accent); color: var(--ct-on-accent); }
.ct-home-page :is(.tp-btn-inner,.tp-btn-round.color-9):hover { background-color: var(--ct-accent-hover); color: var(--ct-on-accent); }
.ct-home-page :is(.offcanvas__close-btn,.offcanvas-social a) { background-color: var(--ct-soft); color: var(--ct-ink); border-color: var(--ct-line); }
[data-ct-lesson-theme="dark"] .ct-home-page :is(.logo img,.tp-header-6-logo img,.ct-footer-logo img,.offcanvas__logo img) { filter: brightness(0) invert(1); }

/* Same hero, now on the lesson overview's lavender surface. */
.ct-home-page .tp-hero-6-area { background: radial-gradient(ellipse at 5% 0%,var(--ct-hero-glow),transparent 70%),var(--ct-hero-surface); }
.ct-home-page .tp-hero-6-bg { background-color: var(--ct-portrait-shape); }
.ct-home-page .tp-hero-6-area :is(.tp-hero-6-title,.tp-hero-6-user > span) { color: var(--ct-ink); }
.ct-home-page .tp-hero-6-area :is(.tp-hero-6-content p,.tp-hero-6-user-text p,.tp-hero-6-subtitle) { color: var(--ct-muted); }
.ct-home-page .tp-hero-6-area .tp-hero-6-title .highlight-number-wrap { color: var(--ct-accent); }
.ct-home-page .tp-hero-6-area .tp-hero-6-subtitle { background-color: var(--ct-highlight); border-color: var(--ct-line); }
.ct-home-page .tp-hero-6-area .tp-hero-6-subtitle svg path[fill="#5956E9"] { fill: var(--ct-accent); }
.ct-home-page .tp-hero-6-area .tp-hero-6-subtitle svg path[fill="#FFC221"] { fill: var(--ct-accent-hover); }
.ct-home-page .tp-hero-6-area .tp-hero-6-btn .tp-btn-inner { background: var(--ct-accent); color: var(--ct-on-accent); box-shadow: var(--ct-shadow); }
.ct-home-page .tp-hero-6-area .tp-hero-6-btn .tp-btn-inner:hover { background: var(--ct-accent-hover); color: var(--ct-on-accent); }
.ct-home-page .tp-hero-6-area .tp-hero-6-user { background: var(--ct-surface); border-color: var(--ct-line); box-shadow: var(--ct-shadow); }
.ct-home-page .tp-hero-6-area .tp-hero-6-user-text p i { color: var(--ct-accent); }
.ct-home-page .tp-hero-6-video a { background-color: var(--ct-surface); color: var(--ct-accent); border-color: var(--ct-line); box-shadow: var(--ct-shadow); }
.ct-home-page .tp-hero-6-video .video-border-animation,
.ct-home-page .tp-hero-6-video .video-border-animation::after { border-color: var(--ct-accent); }
.ct-home-page .tp-hero-6-area .tp-hero-6-video svg path { fill: var(--ct-accent); }
.ct-home-page .tp-hero-6-area :is(.shape-1 img,.highlight-number-wrap > img) { filter: var(--ct-decoration-filter); }
.ct-home-page .tp-hero-6-area :is(.shape-2 img,.shape-3 img,.tp-hero-2-shape-2 img,.tp-hero-2-shape-3 img) { filter: var(--ct-line-filter); }

/* All eight original feature cards and their animated detail faces. */
.ct-home-page .category-area { background-color: var(--ct-page); }
.ct-home-page :is(.tp-section-3-subtitle,.ct-feature-back-title) { color: var(--ct-accent); }
.ct-home-page .category-area :is(.ct-feature-card,.ct-feature-front,.ct-feature-back) { background-color: var(--ct-surface); }
.ct-home-page .category-area .ct-feature-card { box-shadow: var(--ct-shadow); }
.ct-home-page .category-area .ct-feature-card.ct-is-revealed { background-color: var(--ct-surface); box-shadow: var(--ct-shadow); }
.ct-home-page .category-area :is(.tp-category-title,.tp-category-title > span,.ct-feature-back-title) { color: var(--ct-ink); }
.ct-home-page .category-area :is(.tp-category-content > span,.tp-category-content > span > span,.ct-feature-details) { color: var(--ct-muted); }
.ct-home-page .ct-feature-col { border-color: var(--ct-line); }
.ct-home-page .ct-feature-toggle { color: var(--ct-accent); border-color: var(--ct-line); }
.ct-home-page .ct-feature-admin-toggle { background-color: var(--ct-soft); }
.ct-home-page :is(img.ct-feature-icon,.ct-feature-icon img,.ct-feature-back-icon) { filter: var(--ct-line-filter); }
.ct-home-page .tp-underline-shape-5 { filter: var(--ct-decoration-filter); }

/* Existing statistics strip; preserve the background artwork. */
.ct-home-page .ct-stats-compact { background-color: var(--ct-band); background-blend-mode: luminosity; }
.ct-home-page .ct-stats-compact :is(.ct-stats-value,.ct-stats-label) { color: var(--ct-band-ink); }
.ct-home-page .ct-stats-item + .ct-stats-item { border-color: #e6d9f24a; }

/* Learning approach, including every photo and original hover animation. */
.ct-home-page .ct-learning-approach-section { background: var(--ct-surface); color: var(--ct-ink); }
.ct-home-page .ct-learning-approach-eyebrow { background-color: var(--ct-soft); color: var(--ct-accent-hover); border-color: var(--ct-line); }
.ct-home-page .ct-learning-approach-title-accent { color: var(--ct-accent); }
.ct-home-page :is(.ct-learning-approach-description,.ct-learning-approach-step-description) { color: var(--ct-muted); }
.ct-home-page .ct-learning-approach-icon { color: var(--ct-accent); background-color: var(--ct-surface); border-color: var(--ct-line); }
.ct-home-page .ct-learning-approach-step:hover .ct-learning-approach-icon { background-color: var(--ct-soft); border-color: var(--ct-accent); }
.ct-home-page .ct-learning-approach-photo-small { border-color: var(--ct-surface); }
.ct-home-page .ct-learning-approach-badge { background-color: var(--ct-highlight); color: var(--ct-ink); box-shadow: 0 9px 0 var(--ct-surface); }
.ct-home-page .ct-learning-approach-badge::after { border-top-color: var(--ct-highlight); }
.ct-home-page .ct-learning-approach-squiggle { color: var(--ct-accent); }
.ct-home-page .ct-learning-approach-dots { background-image: radial-gradient(var(--ct-line) 1.6px,transparent 1.6px); }

/* Keep the animated globe, orbit, icons, timings and pause control. */
.ct-home-page .ct-learning-globe-section { background: radial-gradient(ellipse at 45% 92%,var(--ct-highlight),transparent 43%),radial-gradient(ellipse at 0 0,var(--ct-hero-glow),transparent 40%),var(--ct-soft); }
.ct-home-page :is(.ct-learning-globe-title,.ct-learning-globe-eyebrow) { color: var(--ct-ink); border-color: var(--ct-line); }
.ct-home-page :is(.ct-learning-globe-title-accent,.ct-learning-globe-eyebrow svg) { color: var(--ct-accent); }
.ct-home-page .ct-learning-globe-description { color: var(--ct-muted); }
.ct-home-page .ct-learning-globe-tech { background-color: var(--ct-surface); border-color: var(--ct-line); }
.ct-home-page .ct-learning-globe-button,
.ct-home-page .ct-learning-globe-tech::after { background-color: var(--ct-accent); color: var(--ct-on-accent); }
.ct-home-page .ct-learning-globe-button:hover { background-color: var(--ct-accent-hover); color: var(--ct-on-accent); }
.ct-home-page :is(.ct-learning-globe-toggle,.ct-learning-marquee-toggle) { background-color: var(--ct-surface); color: var(--ct-accent); border-color: var(--ct-line); }

/* Mentor card and its original stacked surfaces. */
.ct-home-page .ct-mentor-section { background-color: var(--ct-soft); color: var(--ct-ink); }
.ct-home-page :is(.ct-mentor-eyebrow,.ct-mentor-title-accent) { color: var(--ct-accent); }
.ct-home-page .ct-mentor-title-accent > svg { filter: var(--ct-line-filter); }
.ct-home-page .ct-mentor-stack::before { background-color: color-mix(in srgb,var(--ct-surface) 42%,transparent); }
.ct-home-page .ct-mentor-stack::after { background-color: color-mix(in srgb,var(--ct-surface) 66%,transparent); }
.ct-home-page .ct-mentor-card { background-color: var(--ct-surface); box-shadow: var(--ct-shadow); }
.ct-home-page :is(.ct-mentor-photo-caption,.ct-mentor-photo-icon) { background-color: #352247d9; color: #fff; }
.ct-home-page .ct-mentor-profile-icon { background-color: var(--ct-soft); color: var(--ct-accent); }
.ct-home-page .ct-mentor-tag { background-color: var(--ct-highlight); color: var(--ct-accent-hover); }
.ct-home-page :is(.ct-mentor-profile-name,.ct-mentor-description) { color: var(--ct-muted); }
.ct-home-page .ct-mentor-benefits li { color: var(--ct-ink); }
.ct-home-page .ct-mentor-button { background-color: var(--ct-accent); color: var(--ct-on-accent); }
.ct-home-page .ct-mentor-button:hover { background-color: var(--ct-accent-hover); color: var(--ct-on-accent); }

/* Original genius band, animated image and zigzag edge. */
.ct-home-page .ct-genius-border { background-image: linear-gradient(315deg,var(--ct-band) 33.33%,transparent 33.33%),linear-gradient(45deg,var(--ct-band) 33.33%,transparent 33.33%); }
.ct-home-page .ct-genius-section { background-color: var(--ct-band); }
.ct-home-page .ct-genius-section :is(.ct-genius-title,.ct-genius-desc) { color: var(--ct-band-ink); }
.ct-home-page .ct-genius-section :is(.ct-genius-subtitle,.ct-genius-url,.ct-genius-ms p) { color: var(--ct-band-muted); }
.ct-home-page .ct-genius-cta a { background-color: var(--ct-band-button); color: var(--ct-band-button-ink); border-color: var(--ct-band-button); }
.ct-home-page .ct-genius-cta a:hover { background-color: transparent; color: var(--ct-band-ink); }

/* Original program cards and original course banner art. */
.ct-home-page .tp-membership-area { background-color: var(--ct-page); }
.ct-home-page :is(.tp-pricing-5-item,.tp-pricing-5-head) { background-color: var(--ct-surface); border-color: var(--ct-line); }
.ct-home-page .tp-pricing-5-item.tp-pricing-inner-head.active { background-color: var(--ct-soft); border-color: var(--ct-accent); }
.ct-home-page .tp-pricing-5-item.active .tp-pricing-5-head,
.ct-home-page .tp-pricing-5-head.tp-pricing-inner-head { background-color: var(--ct-surface); }
.ct-home-page .tp-pricing-5-head-text span { color: var(--ct-muted); }
.ct-home-page .tp-pricing-5-list li { color: var(--ct-ink); border-color: var(--ct-line); }
.ct-home-page .tp-pricing-5-list li.inactive { color: var(--ct-muted); }
.ct-home-page .tp-pricing-5-list li > span { background-color: var(--ct-highlight); color: var(--ct-accent); }
.ct-home-page .tp-btn-4 { background-color: var(--ct-accent); color: var(--ct-on-accent); border-color: var(--ct-accent); }
.ct-home-page .tp-btn-4:hover { background-color: var(--ct-accent-hover); color: var(--ct-on-accent); }
.ct-home-page .tp-pricing-5-item.tp-pricing-inner-head.active .tp-pricing-inner-btn .tp-btn-4 { background-color: var(--ct-accent); color: var(--ct-on-accent); box-shadow: 0 1px 2px var(--ct-line); }
.ct-home-page .tp-pricing-5-item.tp-pricing-inner-head.active .tp-pricing-inner-btn .tp-btn-4:hover { background-color: var(--ct-accent-hover); box-shadow: 0 1px 2px var(--ct-line); }
.ct-home-page .tp-pricing-5-item.active .tp-pricing-5-list ul li span { background-color: var(--ct-highlight); }
.ct-home-page .ct-program-banners-section { background-color: var(--ct-surface); }
.ct-home-page .ct-program-banner-card { --ct-program-accent: var(--ct-accent); background-color: var(--ct-soft); }
.ct-home-page .ct-program-banner-courses { background-color: var(--ct-highlight); }
.ct-home-page .ct-program-banner-title { color: var(--ct-ink); }
.ct-home-page .ct-program-banner-button { color: var(--ct-on-accent); }
.ct-home-page .ct-program-banner-button:hover { color: var(--ct-accent-hover); }
.ct-home-page .ct-program-banner-underline > img { filter: var(--ct-line-filter); }

/* Moving text remains on the original tracks with their original timings. */
.ct-home-page .ct-learning-marquee-section { background-color: var(--ct-surface); }
.ct-home-page .ct-learning-marquee-text { color: var(--ct-muted); }
.ct-home-page .ct-learning-marquee-accent { color: var(--ct-accent); }

/* Final CTA keeps the original background art and cutout photo. */
.ct-home-page .ct-final-cta-section { background-color: var(--ct-band); background-blend-mode: luminosity; }
.ct-home-page .ct-final-cta-section :is(.ct-final-cta-title,.ct-final-cta-eyebrow) { color: var(--ct-band-ink); }
.ct-home-page .ct-final-cta-primary { background-color: var(--ct-band-button); color: var(--ct-band-button-ink); }
.ct-home-page .ct-final-cta-primary:hover { background-color: #f4eafb; color: #442565; }
.ct-home-page .ct-final-cta-secondary { color: var(--ct-band-ink); border-color: #e6d9f273; }
.ct-home-page .ct-final-cta-secondary:hover { background-color: var(--ct-band-button); color: var(--ct-band-button-ink); }

/* Footer, newsletter and its existing asynchronous feedback states. */
.ct-home-page :is(.ct-home-footer,.tp-footer-2,.tp-footer-bottom) { background-color: var(--ct-surface); border-color: var(--ct-line); }
.ct-home-page .ct-home-footer :is(.tp-footer-widget-content p,.tp-footer-widget-link a,.tp-footer-contact > span,.tp-footer-copyright span) { color: var(--ct-muted); }
.ct-home-page .ct-home-footer :is(.tp-footer-contact > a,.tp-footer-contact-mail a,.tp-footer-copyright a) { color: var(--ct-ink); }
.ct-home-page .ct-home-footer a:hover { color: var(--ct-accent); }
.ct-home-page .tp-footer-bottom-social a { color: var(--ct-accent); border-color: var(--ct-line); background-color: var(--ct-soft); }
.ct-home-page .ct-newsletter-form { background-color: var(--ct-soft); border-color: var(--ct-line); }
.ct-home-page .ct-newsletter-form:focus-within { border-color: var(--ct-accent); box-shadow: 0 0 0 3px var(--ct-highlight); }
.ct-home-page .ct-newsletter-form input[type="email"] { color: var(--ct-ink); }
.ct-home-page .ct-newsletter-form input::placeholder { color: var(--ct-muted); }
.ct-home-page .ct-newsletter-form button { background-color: var(--ct-accent); color: var(--ct-on-accent); }
.ct-home-page .ct-newsletter-form button:hover { background-color: var(--ct-accent-hover); }
.ct-home-page .ct-newsletter-error .ct-newsletter-alert { color: var(--ct-error); background-color: var(--ct-error-bg); border-color: var(--ct-error-line); }
.ct-home-page .ct-newsletter-success .ct-newsletter-alert { color: var(--ct-success); background-color: var(--ct-success-bg); border-color: var(--ct-success-line); }
.ct-home-page .inline-edit-toast.success { background-color: var(--ct-success-bg); color: var(--ct-success); }
.ct-home-page .inline-edit-toast.error { background-color: var(--ct-error-bg); color: var(--ct-error); }
.ct-home-page .inline-edit-toast.saving { background-color: var(--ct-soft); color: var(--ct-accent); }
.ct-home-page [contenteditable="true"]:focus { outline-color: var(--ct-accent); }
.ct-home-page .back-to-top-btn { background-color: var(--ct-surface); color: var(--ct-accent); box-shadow: var(--ct-shadow); }

/* The only new control is fixed, outside the homepage's layout and sections. */
.ct-home-page .ct-home-theme-toggle { position: fixed; left: 18px; bottom: 18px; z-index: 1000; display: grid; place-items: center; width: 44px; height: 44px; padding: 0; border: 1px solid var(--ct-line); border-radius: 9px; background: var(--ct-surface); color: var(--ct-accent); box-shadow: var(--ct-shadow); cursor: pointer; }
.ct-home-page .ct-home-theme-toggle:hover { background-color: var(--ct-soft); }
.ct-home-page .ct-home-theme-toggle:focus-visible { outline: 3px solid var(--ct-accent); outline-offset: 4px; }
.ct-home-sun { display: none; }
[data-ct-lesson-theme="dark"] .ct-home-moon { display: none; }
[data-ct-lesson-theme="dark"] .ct-home-sun { display: block; }
