/* =====================================================================
   CSE COMPUTER EDUCATION — PUBLIC PAGE POLISH V5
   Loaded after style.css and red-theme.css to resolve inherited colors,
   repair inner-page readability, and provide the Gallery V3 layout.
===================================================================== */

:root {
    --cse-polish-red: #d71920;
    --cse-polish-red-dark: #9f1016;
    --cse-polish-red-deep: #76090e;
    --cse-polish-red-soft: #fff1f2;
    --cse-polish-red-pale: #fff8f8;
    --cse-polish-ink: #171921;
    --cse-polish-copy: #535b69;
    --cse-polish-muted: #747d8d;
    --cse-polish-line: #eadfe1;
    --cse-polish-surface: #ffffff;
    --cse-polish-canvas: #fbf8f7;
    --cse-polish-shadow-sm: 0 15px 42px rgba(53, 24, 30, 0.08);
    --cse-polish-shadow: 0 30px 80px rgba(66, 20, 29, 0.13);
}

/* ---------------------------------------------------------------------
   GLOBAL PUBLIC-PAGE READABILITY
------------------------------------------------------------------------ */

body {
    color: var(--cse-polish-ink) !important;
}

:is(
    .about-story,
    .mission-vision-section,
    .why-section,
    .training-section,
    .testimonials-section,
    .stats-section,
    .courses-page-section,
    .batch-page-section,
    .gallery-page-section,
    .blogs-page-section,
    .blog-detail-section,
    .verify-section,
    .enquiry-section,
    .cc-section
) {
    color: var(--cse-polish-ink) !important;
}

:is(
    .about-content,
    .mission-card,
    .why-card,
    .training-box,
    .testimonial-card,
    .course-list-body,
    .batch-page-content,
    .blog-card-body,
    .featured-blog-content,
    .blog-detail-content,
    .blog-sidebar-card,
    .verify-search-card,
    .verify-help-card,
    .certificate-result-card,
    .enquiry-info-card,
    .enquiry-form-card,
    .cc-service-detail-card,
    .course-detail-card-v2,
    .course-sidebar-card-v2
) :is(h1, h2, h3, h4, strong) {
    color: var(--cse-polish-ink) !important;
    text-shadow: none !important;
    opacity: 1 !important;
}

:is(
    .about-content,
    .mission-card,
    .why-card,
    .training-box,
    .testimonial-card,
    .course-list-body,
    .batch-page-content,
    .blog-card-body,
    .featured-blog-content,
    .blog-detail-content,
    .blog-sidebar-card,
    .verify-search-card,
    .verify-help-card,
    .certificate-result-card,
    .enquiry-info-card,
    .enquiry-form-card,
    .cc-service-detail-card,
    .course-detail-card-v2,
    .course-sidebar-card-v2
) :is(p, li, small, label) {
    color: var(--cse-polish-copy) !important;
    text-shadow: none !important;
    opacity: 1 !important;
}

/* ---------------------------------------------------------------------
   SHARED INNER-PAGE HERO COLOR REPAIR
------------------------------------------------------------------------ */

:is(
    .about-hero,
    .courses-page-hero,
    .batch-hero,
    .verify-hero,
    .enquiry-hero,
    .cc-inner-hero,
    .cc-gallery-hero,
    .blogs-hero,
    .blog-detail-hero,
    .course-detail-hero-v2,
    .gallery-page-hero
) {
    color: var(--cse-polish-ink) !important;
    background:
        radial-gradient(circle at 92% 10%, rgba(215, 25, 32, 0.12), transparent 30%),
        radial-gradient(circle at 8% 88%, rgba(215, 25, 32, 0.055), transparent 30%),
        linear-gradient(118deg, #ffffff 0%, #ffffff 56%, #fff3f4 100%) !important;
}

:is(
    .about-hero h1,
    .courses-page-hero h1,
    .batch-hero h1,
    .verify-hero h1,
    .enquiry-hero h1,
    .cc-inner-hero h1,
    .cc-gallery-hero h1,
    .blogs-hero h1,
    .blog-detail-hero h1,
    .course-detail-hero-v2 h1,
    .gallery-page-hero h1
) {
    color: var(--cse-polish-ink) !important;
    text-shadow: none !important;
    opacity: 1 !important;
}

/* Target only the main hero descriptions, not every paragraph in a card. */
:is(
    .about-hero-grid,
    .courses-hero-grid,
    .batch-hero-grid,
    .verify-hero-grid,
    .enquiry-hero-grid,
    .cc-inner-hero-grid,
    .cc-gallery-hero-grid,
    .course-detail-hero-grid-v2
) > :first-child > p,
.blogs-hero .container > p,
.blog-detail-hero .container > p,
.gallery-page-hero .container > p {
    color: var(--cse-polish-copy) !important;
    text-shadow: none !important;
    opacity: 1 !important;
}

:is(
    .about-hero-card,
    .courses-hero-card,
    .batch-hero-card,
    .verify-hero-card,
    .enquiry-hero-card,
    .cc-inner-hero-card,
    .cc-gallery-hero-card
) {
    color: var(--cse-polish-ink) !important;
    background: rgba(255, 255, 255, 0.98) !important;
}

:is(
    .about-hero-card,
    .courses-hero-card,
    .batch-hero-card,
    .verify-hero-card,
    .enquiry-hero-card,
    .cc-inner-hero-card,
    .cc-gallery-hero-card
) > :is(strong, h2, h3) {
    color: var(--cse-polish-ink) !important;
    text-shadow: none !important;
    opacity: 1 !important;
}

:is(
    .about-hero-card,
    .courses-hero-card,
    .batch-hero-card,
    .verify-hero-card,
    .enquiry-hero-card,
    .cc-inner-hero-card,
    .cc-gallery-hero-card
) > :is(p, span) {
    color: var(--cse-polish-copy) !important;
    text-shadow: none !important;
    opacity: 1 !important;
}

:is(
    .about-hero-points p,
    .courses-hero-points p,
    .verify-hero-points p,
    .enquiry-hero-points p,
    .batch-hero-stats > div
) {
    color: #30343e !important;
    background: #fcf9f8 !important;
    opacity: 1 !important;
    text-shadow: none !important;
}

:is(
    .about-hero-points p,
    .courses-hero-points p,
    .verify-hero-points p,
    .enquiry-hero-points p,
    .batch-hero-stats > div
) :is(span, strong, small) {
    color: inherit !important;
    opacity: 1 !important;
}

/* ---------------------------------------------------------------------
   GALLERY HERO V3 — IMAGE-LED, NO EMPTY INFORMATION CARD
------------------------------------------------------------------------ */

.cseGalleryHeroV3 {
    padding: 74px 0 82px !important;
    overflow: hidden !important;
}

.cseGalleryHeroV3::after {
    content: "";
    position: absolute;
    z-index: -1;
    width: 440px;
    height: 440px;
    right: -190px;
    bottom: -275px;
    border: 1px solid rgba(215, 25, 32, 0.13);
    border-radius: 50%;
    box-shadow:
        0 0 0 65px rgba(215, 25, 32, 0.028),
        0 0 0 130px rgba(215, 25, 32, 0.018);
}

.cseGalleryHeroGridV3 {
    grid-template-columns: minmax(0, 1fr) minmax(420px, 0.82fr) !important;
    gap: 76px !important;
}

.cseGalleryHeroCopyV3 {
    position: relative;
    z-index: 2;
}

.cseGalleryHeroDescriptionV3 {
    max-width: 690px !important;
    color: var(--cse-polish-copy) !important;
    font-size: 17px !important;
    line-height: 1.82 !important;
    opacity: 1 !important;
}

.cseGalleryHeroActionsV3 {
    display: flex;
    flex-wrap: wrap;
    gap: 13px;
    margin-top: 29px;
}

.cseGalleryHeroFactsV3 {
    display: flex;
    flex-wrap: wrap;
    gap: 10px 22px;
    margin-top: 28px;
}

.cseGalleryHeroFactsV3 span {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: #414754 !important;
    font-size: 12px;
    font-weight: 800;
}

.cseGalleryHeroFactsV3 i {
    color: var(--cse-polish-red);
}

.cseGalleryHeroVisualV3 {
    position: relative;
    min-height: 440px;
}

.cseGalleryHeroMosaicV3 {
    position: relative;
    width: 100%;
    height: 440px;
}

.cseGalleryHeroPhotoV3 {
    position: absolute;
    overflow: hidden;
    margin: 0;
    border: 6px solid #ffffff;
    border-radius: 26px;
    background: #f1e8e9;
    box-shadow: var(--cse-polish-shadow);
}

.cseGalleryHeroPhotoV3 img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
    transition: transform 0.45s ease;
}

.cseGalleryHeroVisualV3:hover .cseGalleryHeroPhotoV3 img {
    transform: scale(1.035);
}

.cseGalleryHeroPhotoV3--1 {
    inset: 18px 58px 42px 0;
    z-index: 2;
}

.cseGalleryHeroPhotoV3--2 {
    z-index: 3;
    width: 42%;
    height: 43%;
    top: 0;
    right: 0;
}

.cseGalleryHeroPhotoV3--3 {
    z-index: 4;
    width: 45%;
    height: 42%;
    right: 0;
    bottom: 0;
}

.cseGalleryHeroPhotoV3 figcaption {
    position: absolute;
    left: 18px;
    right: 18px;
    bottom: 16px;
    padding: 11px 14px;
    overflow: hidden;
    border: 1px solid rgba(255, 255, 255, 0.32);
    border-radius: 13px;
    background: rgba(26, 14, 17, 0.78);
    color: #ffffff !important;
    font-size: 11px;
    font-weight: 800;
    line-height: 1.4;
    text-overflow: ellipsis;
    white-space: nowrap;
    backdrop-filter: blur(10px);
}

.cseGalleryHeroCountV3 {
    position: absolute;
    z-index: 6;
    left: -22px;
    bottom: 7px;
    min-width: 184px;
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    align-items: center;
    gap: 11px;
    padding: 13px 16px;
    border: 1px solid var(--cse-polish-line);
    border-radius: 16px;
    background: rgba(255, 255, 255, 0.97);
    box-shadow: var(--cse-polish-shadow-sm);
    backdrop-filter: blur(12px);
}

.cseGalleryHeroCountV3 strong {
    color: var(--cse-polish-red) !important;
    font-family: "Sora", sans-serif;
    font-size: 27px;
    line-height: 1;
}

.cseGalleryHeroCountV3 span {
    max-width: 105px;
    color: var(--cse-polish-copy) !important;
    font-size: 10px;
    font-weight: 800;
    line-height: 1.35;
}

.cseGalleryHeroEmptyV3 {
    min-height: 420px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    gap: 10px;
    padding: 30px;
    border: 2px dashed #e2c8ca;
    border-radius: 28px;
    background: #fff8f8;
    text-align: center;
}

.cseGalleryHeroEmptyV3 i {
    color: var(--cse-polish-red);
    font-size: 50px;
}

.cseGalleryHeroEmptyV3 strong {
    color: var(--cse-polish-ink) !important;
    font-size: 20px;
}

.cseGalleryHeroEmptyV3 span {
    color: var(--cse-polish-copy) !important;
    font-size: 13px;
}

/* ---------------------------------------------------------------------
   GALLERY GRID V3
------------------------------------------------------------------------ */

.cseGalleryPageV3 {
    padding: 90px 0 !important;
    background: var(--cse-polish-canvas) !important;
}

.cseGallerySectionHeadingV3 {
    display: flex !important;
    align-items: flex-end !important;
    justify-content: space-between !important;
    gap: 35px !important;
    margin-bottom: 33px !important;
}

.cseGallerySectionHeadingV3 h2 {
    margin: 13px 0 10px !important;
    color: var(--cse-polish-ink) !important;
    font-size: clamp(34px, 4vw, 51px) !important;
    line-height: 1.08 !important;
    letter-spacing: -0.045em !important;
}

.cseGallerySectionHeadingV3 p {
    max-width: 720px !important;
    margin: 0 !important;
    color: var(--cse-polish-copy) !important;
    font-size: 15px !important;
    line-height: 1.78 !important;
}

.cseGalleryGridV3 {
    display: grid !important;
    grid-template-columns: repeat(12, minmax(0, 1fr)) !important;
    grid-auto-flow: dense !important;
    gap: 18px !important;
}

.cseGalleryCardV3 {
    position: relative !important;
    grid-column: span 4 !important;
    min-height: 330px !important;
    overflow: hidden !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 22px !important;
    background: #ece4e5 !important;
    box-shadow: var(--cse-polish-shadow-sm) !important;
    cursor: zoom-in !important;
}

.cseGalleryCardV3:nth-child(7n + 1),
.cseGalleryCardV3:nth-child(7n + 5) {
    grid-column: span 8 !important;
    min-height: 420px !important;
}

.cseGalleryCardV3:nth-child(7n + 2),
.cseGalleryCardV3:nth-child(7n + 6) {
    grid-column: span 4 !important;
    min-height: 420px !important;
}

.cseGalleryCardV3 img {
    width: 100% !important;
    height: 100% !important;
    display: block !important;
    object-fit: cover !important;
    transition: transform 0.45s ease, filter 0.45s ease !important;
}

.cseGalleryCardV3:hover img {
    transform: scale(1.055) !important;
    filter: saturate(1.03) contrast(1.02) !important;
}

.cseGalleryCardV3 .cc-gallery-overlay {
    position: absolute !important;
    inset: 0 !important;
    display: flex !important;
    align-items: flex-end !important;
    justify-content: space-between !important;
    gap: 18px !important;
    padding: 24px !important;
    background: linear-gradient(180deg, transparent 38%, rgba(38, 8, 12, 0.9) 100%) !important;
    color: #ffffff !important;
}

.cseGalleryCardV3 .cc-gallery-overlay small,
.cseGalleryCardV3 .cc-gallery-overlay strong {
    display: block !important;
    color: #ffffff !important;
    opacity: 1 !important;
    text-shadow: 0 2px 9px rgba(0, 0, 0, 0.25) !important;
}

.cseGalleryCardV3 .cc-gallery-overlay small {
    margin-bottom: 5px !important;
    font-size: 9px !important;
    font-weight: 850 !important;
    letter-spacing: 0.09em !important;
    text-transform: uppercase !important;
}

.cseGalleryCardV3 .cc-gallery-overlay strong {
    font-size: 15px !important;
    line-height: 1.35 !important;
}

.cseGalleryCardV3 .cc-gallery-overlay > i {
    width: 42px !important;
    height: 42px !important;
    display: grid !important;
    place-items: center !important;
    flex: 0 0 42px !important;
    border: 1px solid rgba(255, 255, 255, 0.35) !important;
    border-radius: 12px !important;
    background: rgba(255, 255, 255, 0.14) !important;
    color: #ffffff !important;
    backdrop-filter: blur(8px) !important;
}

.cseGalleryEmptyV3 {
    min-height: 340px;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex-direction: column !important;
    gap: 10px !important;
}

.cseGalleryEmptyV3 > i {
    color: var(--cse-polish-red);
    font-size: 46px;
}

.cseGalleryCtaSectionV3 {
    padding: 0 0 90px !important;
    background: var(--cse-polish-canvas) !important;
}

.cseGalleryCtaV3 {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    align-items: center !important;
    gap: 35px !important;
    padding: 42px !important;
    border-radius: 28px !important;
    background:
        radial-gradient(circle at 88% 20%, rgba(255, 255, 255, 0.17), transparent 26%),
        linear-gradient(120deg, var(--cse-polish-red-deep), var(--cse-polish-red)) !important;
    box-shadow: 0 28px 70px rgba(159, 16, 22, 0.25) !important;
}

.cseGalleryCtaV3 h2,
.cseGalleryCtaV3 p,
.cseGalleryCtaV3 .cc-kicker {
    color: #ffffff !important;
    opacity: 1 !important;
}

/* ---------------------------------------------------------------------
   RESPONSIVE
------------------------------------------------------------------------ */

@media (max-width: 1040px) {
    .cseGalleryHeroGridV3 {
        grid-template-columns: 1fr !important;
        gap: 42px !important;
    }

    .cseGalleryHeroVisualV3 {
        max-width: 760px;
    }

    .cseGalleryCardV3,
    .cseGalleryCardV3:nth-child(n) {
        grid-column: span 6 !important;
        min-height: 340px !important;
    }
}

@media (max-width: 720px) {
    .cseGalleryHeroV3 {
        padding: 58px 0 68px !important;
    }

    .cseGalleryHeroDescriptionV3 {
        font-size: 15px !important;
    }

    .cseGalleryHeroActionsV3 {
        flex-direction: column;
    }

    .cseGalleryHeroActionsV3 .btn {
        width: 100%;
    }

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

    .cseGalleryHeroVisualV3,
    .cseGalleryHeroMosaicV3 {
        min-height: 390px;
        height: 390px;
    }

    .cseGalleryHeroPhotoV3--1 {
        inset: 18px 24px 72px 0;
    }

    .cseGalleryHeroPhotoV3--2 {
        width: 45%;
        height: 38%;
    }

    .cseGalleryHeroPhotoV3--3 {
        width: 50%;
        height: 35%;
    }

    .cseGalleryHeroCountV3 {
        left: 12px;
        bottom: 6px;
    }

    .cseGallerySectionHeadingV3 {
        align-items: flex-start !important;
        flex-direction: column !important;
    }

    .cseGalleryGridV3 {
        grid-template-columns: 1fr !important;
    }

    .cseGalleryCardV3,
    .cseGalleryCardV3:nth-child(n) {
        grid-column: auto !important;
        min-height: 300px !important;
    }

    .cseGalleryCtaV3 {
        grid-template-columns: 1fr !important;
        padding: 29px 23px !important;
        text-align: center !important;
    }

    .cseGalleryCtaV3 .btn {
        width: 100% !important;
    }
}

@media (max-width: 480px) {
    .cseGalleryHeroVisualV3,
    .cseGalleryHeroMosaicV3 {
        min-height: 330px;
        height: 330px;
    }

    .cseGalleryHeroPhotoV3 {
        border-width: 4px;
        border-radius: 19px;
    }

    .cseGalleryHeroPhotoV3--1 {
        inset: 10px 10px 65px 0;
    }

    .cseGalleryHeroPhotoV3--2 {
        display: none;
    }

    .cseGalleryHeroPhotoV3--3 {
        width: 43%;
        height: 31%;
        right: 0;
        bottom: 20px;
    }

    .cseGalleryHeroCountV3 {
        left: 8px;
        bottom: 3px;
        min-width: 170px;
    }
}

/* =====================================================================
   FINAL INNER-PAGE HERO VISIBILITY FIX V6
   Forces readable dark text on every white/light hero used in this
   project, including older page classes that were previously missed.
===================================================================== */

:root {
    --cse-final-hero-ink: #151821;
    --cse-final-hero-copy: #4f5868;
}

body :is(
    .about-hero,
    .courses-page-hero,
    .cse-courses-hero,
    .ctevt-courses-hero,
    .batch-hero,
    .verify-hero,
    .enquiry-hero,
    .cc-inner-hero,
    .cc-services-hero,
    .cc-gallery-hero,
    .gallery-hero,
    .gallery-page-hero,
    .cseGalleryHeroV3,
    .blogs-hero,
    .blog-detail-hero,
    .course-detail-hero-v2
) {
    color: var(--cse-final-hero-ink) !important;
    background:
        radial-gradient(circle at 90% 12%, rgba(215, 25, 32, 0.11), transparent 31%),
        radial-gradient(circle at 4% 92%, rgba(215, 25, 32, 0.045), transparent 28%),
        linear-gradient(118deg, #ffffff 0%, #ffffff 57%, #fff4f5 100%) !important;
}

/* All regular hero copy must be dark on the light background. */
body :is(
    .about-hero,
    .courses-page-hero,
    .cse-courses-hero,
    .ctevt-courses-hero,
    .batch-hero,
    .verify-hero,
    .enquiry-hero,
    .cc-inner-hero,
    .cc-services-hero,
    .cc-gallery-hero,
    .gallery-hero,
    .gallery-page-hero,
    .cseGalleryHeroV3,
    .blogs-hero,
    .blog-detail-hero,
    .course-detail-hero-v2
) :is(h1, h2, h3, h4, p, li, strong, small) {
    color: var(--cse-final-hero-ink) !important;
    opacity: 1 !important;
    text-shadow: none !important;
}

body :is(
    .about-hero,
    .courses-page-hero,
    .cse-courses-hero,
    .ctevt-courses-hero,
    .batch-hero,
    .verify-hero,
    .enquiry-hero,
    .cc-inner-hero,
    .cc-services-hero,
    .cc-gallery-hero,
    .gallery-hero,
    .gallery-page-hero,
    .cseGalleryHeroV3,
    .blogs-hero,
    .blog-detail-hero,
    .course-detail-hero-v2
) p {
    color: var(--cse-final-hero-copy) !important;
}

/* Catch descriptions wrapped in spans by older page templates. */
body :is(
    .about-hero-card,
    .courses-hero-card,
    .batch-hero-card,
    .verify-hero-card,
    .enquiry-hero-card,
    .cc-inner-hero-card,
    .cc-gallery-hero-card,
    .course-detail-hero-v2
) :is(span, p, small, strong, h2, h3) {
    color: var(--cse-final-hero-ink) !important;
    opacity: 1 !important;
    text-shadow: none !important;
}

body :is(
    .about-hero-card,
    .courses-hero-card,
    .batch-hero-card,
    .verify-hero-card,
    .enquiry-hero-card,
    .cc-inner-hero-card,
    .cc-gallery-hero-card
) > :is(span, p, small) {
    color: var(--cse-final-hero-copy) !important;
}

/* Labels on light heroes remain red and readable. */
body :is(
    .about-hero,
    .courses-page-hero,
    .cse-courses-hero,
    .ctevt-courses-hero,
    .batch-hero,
    .verify-hero,
    .enquiry-hero,
    .cc-inner-hero,
    .cc-services-hero,
    .cc-gallery-hero,
    .gallery-hero,
    .gallery-page-hero,
    .cseGalleryHeroV3,
    .blogs-hero,
    .blog-detail-hero,
    .course-detail-hero-v2
) .badge {
    color: #a80e14 !important;
    background: #ffffff !important;
    border-color: #efc6c9 !important;
}

/* Button text exceptions after the broad readability repair. */
body :is(
    .about-hero,
    .courses-page-hero,
    .cse-courses-hero,
    .ctevt-courses-hero,
    .batch-hero,
    .verify-hero,
    .enquiry-hero,
    .cc-inner-hero,
    .cc-services-hero,
    .cc-gallery-hero,
    .gallery-hero,
    .gallery-page-hero,
    .cseGalleryHeroV3,
    .blogs-hero,
    .blog-detail-hero,
    .course-detail-hero-v2
) :is(.btn-primary, .btn-primary span) {
    color: #ffffff !important;
}

body :is(
    .about-hero,
    .courses-page-hero,
    .cse-courses-hero,
    .ctevt-courses-hero,
    .batch-hero,
    .verify-hero,
    .enquiry-hero,
    .cc-inner-hero,
    .cc-services-hero,
    .cc-gallery-hero,
    .gallery-hero,
    .gallery-page-hero,
    .cseGalleryHeroV3,
    .blogs-hero,
    .blog-detail-hero,
    .course-detail-hero-v2
) :is(.btn-outline, .btn-outline span) {
    color: var(--cse-final-hero-ink) !important;
}

/* Gallery mosaic captions sit on dark image overlays and stay white. */
body .cseGalleryHeroPhotoV3 figcaption,
body .cseGalleryHeroPhotoV3 figcaption :is(span, strong, small),
body .cc-gallery-overlay :is(h3, p, span, strong, small) {
    color: #ffffff !important;
}

/* Gallery description was the most visible missed selector. */
body .gallery-hero .container > p,
body .gallery-page-hero .container > p,
body .cseGalleryHeroDescriptionV3,
body .cc-gallery-hero-grid > :first-child > p {
    color: var(--cse-final-hero-copy) !important;
    opacity: 1 !important;
    text-shadow: none !important;
}

/* Hero statistics and feature rows on white cards. */
body :is(
    .about-hero-points p,
    .courses-hero-points p,
    .verify-hero-points p,
    .enquiry-hero-points p,
    .batch-hero-stats > div
),
body :is(
    .about-hero-points p,
    .courses-hero-points p,
    .verify-hero-points p,
    .enquiry-hero-points p,
    .batch-hero-stats > div
) :is(span, strong, small) {
    color: #2d3440 !important;
    opacity: 1 !important;
    text-shadow: none !important;
}

/* =====================================================================
   SERVICES PAGE — RED EDITORIAL HERO V6
   Unique selectors prevent older generic hero rules from recoloring it.
===================================================================== */

.cseServicesHero {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    padding: 88px 0 82px;
    background:
        linear-gradient(90deg, rgba(215, 25, 32, 0.035) 1px, transparent 1px),
        linear-gradient(rgba(215, 25, 32, 0.035) 1px, transparent 1px),
        #ffffff !important;
    background-size: 34px 34px !important;
    color: #171921 !important;
}

.cseServicesHero::before {
    content: "";
    position: absolute;
    z-index: -1;
    width: 560px;
    height: 560px;
    right: -210px;
    top: -260px;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(215, 25, 32, .17), rgba(215, 25, 32, 0) 68%);
}

.cseServicesHero::after {
    content: "";
    position: absolute;
    z-index: -1;
    left: 0;
    bottom: 0;
    width: 9px;
    height: 100%;
    background: linear-gradient(#9f1016, #ef3340);
}

.cseServicesHeroLayout {
    display: grid;
    grid-template-columns: minmax(0, 1.08fr) minmax(360px, .78fr);
    align-items: center;
    gap: clamp(44px, 7vw, 92px);
}

.cseServicesEyebrow {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    padding: 8px 13px;
    border: 1px solid #f0cfd2;
    border-radius: 999px;
    background: #fff6f7;
    color: #a31016 !important;
    font-size: 11px;
    font-weight: 850;
    letter-spacing: .07em;
    text-transform: uppercase;
}

.cseServicesEyebrow::before {
    content: "";
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: #d71920;
    box-shadow: 0 0 0 5px rgba(215, 25, 32, .10);
}

.cseServicesHeroCopy h1 {
    max-width: 820px;
    margin: 22px 0 21px !important;
    color: #15171e !important;
    font-family: "Sora", "Plus Jakarta Sans", sans-serif !important;
    font-size: clamp(44px, 5.8vw, 76px) !important;
    font-weight: 850 !important;
    line-height: 1.02 !important;
    letter-spacing: -.058em !important;
    text-shadow: none !important;
}

.cseServicesHeroCopy > p {
    max-width: 760px;
    margin: 0 !important;
    color: #555d6b !important;
    font-size: 17px !important;
    line-height: 1.85 !important;
    opacity: 1 !important;
    text-shadow: none !important;
}

.cseServicesHeroActions {
    display: flex;
    flex-wrap: wrap;
    gap: 13px;
    margin-top: 31px;
}

.cseServicesHeroActions .btn {
    min-height: 52px;
    gap: 10px;
}

.cseServicesHeroActions .btn-primary {
    background: linear-gradient(135deg, #dd1820, #a60d13) !important;
    border-color: #c9161d !important;
    color: #ffffff !important;
    box-shadow: 0 15px 34px rgba(184, 15, 22, .23) !important;
}

.cseServicesHeroActions .btn-outline {
    background: #ffffff !important;
    border-color: #ddcfd1 !important;
    color: #232731 !important;
}

.cseServicesHeroTrust {
    display: flex;
    flex-wrap: wrap;
    gap: 18px 26px;
    margin-top: 28px;
}

.cseServicesHeroTrust span {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: #363c48 !important;
    font-size: 12px;
    font-weight: 800;
}

.cseServicesHeroTrust i {
    color: #d71920 !important;
}

.cseServicesHeroVisual {
    position: relative;
    padding: 27px;
    border: 1px solid #f2d6d8;
    border-radius: 30px;
    background: linear-gradient(155deg, #970b11 0%, #d71920 58%, #ef3d45 100%) !important;
    color: #ffffff !important;
    box-shadow: 0 35px 80px rgba(132, 11, 17, .25);
}

.cseServicesHeroVisual::before {
    content: "";
    position: absolute;
    width: 150px;
    height: 150px;
    right: -36px;
    top: -44px;
    border: 1px solid rgba(255, 255, 255, .20);
    border-radius: 50%;
}

.cseServicesHeroVisualTop > span {
    color: rgba(255, 255, 255, .72) !important;
    font-size: 10px;
    font-weight: 850;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.cseServicesHeroVisualTop > strong {
    display: block;
    margin-top: 8px;
    color: #ffffff !important;
    font-size: 27px;
    font-weight: 850;
    line-height: 1.2;
}

.cseServicesHeroVisualTop > p {
    margin: 8px 0 0 !important;
    color: rgba(255, 255, 255, .82) !important;
    font-size: 13px !important;
    line-height: 1.65 !important;
}

.cseServicesHeroOptions {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
    margin-top: 23px;
}

.cseServicesHeroOptions > a {
    min-width: 0;
    display: grid;
    grid-template-columns: 42px minmax(0, 1fr);
    align-items: center;
    gap: 11px;
    padding: 13px;
    border: 1px solid rgba(255, 255, 255, .16);
    border-radius: 15px;
    background: rgba(255, 255, 255, .11) !important;
    color: #ffffff !important;
    text-decoration: none !important;
    transition: transform .18s ease, background-color .18s ease;
}

.cseServicesHeroOptions > a:hover {
    transform: translateY(-2px);
    background: rgba(255, 255, 255, .18) !important;
}

.cseServicesHeroOptions > a > i {
    width: 42px;
    height: 42px;
    display: grid;
    place-items: center;
    border-radius: 12px;
    background: #ffffff;
    color: #c4131a !important;
    font-size: 15px;
}

.cseServicesHeroOptions strong,
.cseServicesHeroOptions small {
    display: block;
}

.cseServicesHeroOptions strong {
    color: #ffffff !important;
    font-size: 11px;
    font-weight: 850;
    line-height: 1.35;
}

.cseServicesHeroOptions small {
    margin-top: 4px;
    color: rgba(255, 255, 255, .72) !important;
    font-size: 9px;
    line-height: 1.45;
}

.cseServicesHeroContact {
    display: grid;
    grid-template-columns: 46px minmax(0, 1fr) 18px;
    align-items: center;
    gap: 12px;
    margin-top: 12px;
    padding: 14px;
    border-radius: 16px;
    background: #ffffff !important;
    color: #171921 !important;
    text-decoration: none !important;
}

.cseServicesHeroContact > span {
    width: 46px;
    height: 46px;
    display: grid;
    place-items: center;
    border-radius: 13px;
    background: #fff0f1;
    color: #d71920 !important;
}

.cseServicesHeroContact small,
.cseServicesHeroContact strong {
    display: block;
}

.cseServicesHeroContact small {
    color: #7b8290 !important;
    font-size: 9px;
    font-weight: 750;
}

.cseServicesHeroContact strong {
    margin-top: 4px;
    color: #171921 !important;
    font-size: 12px;
    font-weight: 850;
}

.cseServicesMain {
    background: #fbf8f7 !important;
}

.cseServicesHeading h2 {
    color: #171921 !important;
}

.cseServicesHeading p {
    color: #5c6471 !important;
}

.cseServicesGrid {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 22px !important;
}

.cseServicesCard {
    min-height: 100%;
    display: flex !important;
    flex-direction: column !important;
    padding: 27px !important;
    border: 1px solid #eadfe1 !important;
    border-radius: 24px !important;
    background: #ffffff !important;
    box-shadow: 0 18px 52px rgba(59, 24, 30, .08) !important;
}

.cseServicesCardTop {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
}

.cseServicesCardTop .cc-service-icon {
    position: static !important;
    width: 58px !important;
    height: 58px !important;
    display: grid !important;
    place-items: center !important;
    border-radius: 17px !important;
    background: #fff0f1 !important;
    color: #d71920 !important;
}

.cseServicesCardTop small {
    color: #b3161c !important;
    font-size: 10px !important;
    font-weight: 850 !important;
    letter-spacing: .11em;
    text-transform: uppercase;
}

.cseServicesCardCopy h2 {
    margin: 23px 0 12px !important;
    color: #171921 !important;
    font-size: 27px !important;
    line-height: 1.2 !important;
}

.cseServicesCardCopy p {
    margin: 0 !important;
    color: #59616e !important;
    font-size: 14px !important;
    line-height: 1.78 !important;
}

.cseServicesCard .cc-service-action {
    width: fit-content;
    margin-top: auto !important;
    padding-top: 23px !important;
    color: #b41017 !important;
    font-weight: 850 !important;
}

.cseServicesBenefits :is(h3, p) {
    text-shadow: none !important;
    opacity: 1 !important;
}

.cseServicesBenefits h3 {
    color: #171921 !important;
}

.cseServicesBenefits p {
    color: #59616e !important;
}

@media (max-width: 980px) {
    .cseServicesHeroLayout {
        grid-template-columns: 1fr;
    }

    .cseServicesHeroVisual {
        max-width: 760px;
    }
}

@media (max-width: 720px) {
    .cseServicesHero {
        padding: 64px 0 58px;
    }

    .cseServicesHeroCopy h1 {
        font-size: 43px !important;
    }

    .cseServicesHeroOptions,
    .cseServicesGrid {
        grid-template-columns: 1fr !important;
    }

    .cseServicesHeroVisual {
        padding: 21px;
        border-radius: 23px;
    }

    .cseServicesHeroActions {
        flex-direction: column;
    }

    .cseServicesHeroActions .btn {
        width: 100%;
    }
}

@media (max-width: 480px) {
    .cseServicesHeroCopy h1 {
        font-size: 37px !important;
    }

    .cseServicesHeroCopy > p {
        font-size: 15px !important;
    }

    .cseServicesHeroTrust {
        display: grid;
        gap: 10px;
    }

    .cseServicesCard {
        padding: 22px !important;
    }
}
