.home2-banner2-section .banner-bg {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 0;
    overflow: hidden;
}

.home2-banner2-section .banner-bg video {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
}

.home2-banner2-section > .container {
    position: relative;
    z-index: 2;
}

.home2-banner2-section .vector {
    z-index: 1;
}

/* Lab cards: keep SVG icons bounded (bad path data can blow up title height / collapsed state). */
.home2-service-section .service-card2 .title-area .icon svg {
    display: block;
    max-width: 36px;
    max-height: 36px;
}

.home2-service-section
    .service-card2
    .description-and-btn-area
    .read-more-btn.is-coming-soon {
    pointer-events: none;
    cursor: default;
    opacity: 0.72;
}

.home2-service-section
    .service-card2
    .description-and-btn-area
    .read-more-btn.is-coming-soon:hover {
    background-color: transparent;
    border-color: var(--borders-color);
    color: var(--title-color);
}

/* ------------------------------------------------------------------
   Typography scale (overrides theme `style.css` — loads after it)
   Slightly smaller body copy, display headings, and section titles.
   ------------------------------------------------------------------ */

body {
    font-size: 16px;
    line-height: 26px;
}

p {
    font-size: 16px;
    line-height: 24px;
}

@media (max-width: 576px) {
    p {
        font-size: 15px;
        line-height: 22px;
    }
}

h1 {
    font-size: 60px;
}

@media (min-width: 1400px) and (max-width: 1599px) {
    h1 {
        font-size: 56px;
    }
}

@media (max-width: 1399px) {
    h1 {
        font-size: 56px;
    }
}

@media (max-width: 1199px) {
    h1 {
        font-size: 52px;
    }
}

@media (max-width: 991px) {
    h1 {
        font-size: 48px;
    }
}

@media (max-width: 767px) {
    h1 {
        font-size: 42px;
    }
}

@media (max-width: 576px) {
    h1 {
        font-size: 34px;
        line-height: 1.3;
    }
}

h2 {
    font-size: 32px;
}

@media (max-width: 1199px) {
    h2 {
        font-size: 29px;
    }
}

@media (max-width: 767px) {
    h2 {
        font-size: 25px;
    }
}

@media (max-width: 576px) {
    h2 {
        font-size: 23px;
    }
}

h3 {
    font-size: 26px;
}

h4 {
    font-size: 23px;
}

@media (max-width: 576px) {
    h4 {
        font-size: 20px;
    }
}

h5 {
    font-size: 20px;
}

h6 {
    font-size: 16px;
}

.section-title > span {
    font-size: 16px;
    letter-spacing: 0.55em;
}

@media (max-width: 576px) {
    .section-title > span {
        font-size: 15px;
        letter-spacing: 0.32em;
    }
}

.section-title h2 {
    font-size: 44px;
}

@media (max-width: 1399px) {
    .section-title h2 {
        font-size: 40px;
    }
}

@media (max-width: 1199px) {
    .section-title h2 {
        font-size: 38px;
    }
}

@media (max-width: 991px) {
    .section-title h2 {
        font-size: 36px;
    }
}

@media (max-width: 767px) {
    .section-title h2 {
        font-size: 32px;
    }
}

@media (max-width: 576px) {
    .section-title h2 {
        font-size: 26px;
    }
}

.section-title p {
    font-size: 16px;
    line-height: 24px;
}

@media (max-width: 576px) {
    .section-title p {
        font-size: 15px;
        line-height: 22px;
    }
}

.section-title.two h2 {
    font-size: 25px;
}

@media (max-width: 991px) {
    .section-title.two h2 {
        font-size: 23px;
    }
}

@media (max-width: 767px) {
    .section-title.two h2 {
        font-size: 21px;
    }
}

@media (min-width: 1200px) {
    header.style-1 .main-menu > ul > li > a {
        font-size: 15px;
    }
}

.breadcrumb-section .banner-content h1 {
    font-size: 60px;
}

@media (min-width: 1400px) and (max-width: 1599px) {
    .breadcrumb-section .banner-content h1 {
        font-size: 56px;
    }
}

@media (max-width: 1399px) {
    .breadcrumb-section .banner-content h1 {
        font-size: 56px;
    }
}

@media (max-width: 1199px) {
    .breadcrumb-section .banner-content h1 {
        font-size: 52px;
    }
}

@media (max-width: 991px) {
    .breadcrumb-section .banner-content h1 {
        font-size: 45px;
    }
}

@media (max-width: 767px) {
    .breadcrumb-section .banner-content h1 {
        font-size: 37px;
    }
}

@media (max-width: 576px) {
    .breadcrumb-section .banner-content h1 {
        font-size: 30px;
        line-height: 1.3;
    }
}

.home2-banner-section
    .banner-warpper
    .banner-content-wrap
    .banner-content
    .banner-title-area
    h1,
.home2-banner-section
    .banner-warpper
    .banner-content-wrap
    .banner-content
    .banner-title-area
    h2 {
    font-size: 60px;
    line-height: 72px;
}

@media (min-width: 1400px) and (max-width: 1599px) {
    .home2-banner-section
        .banner-warpper
        .banner-content-wrap
        .banner-content
        .banner-title-area
        h1,
    .home2-banner-section
        .banner-warpper
        .banner-content-wrap
        .banner-content
        .banner-title-area
        h2 {
        font-size: 48px;
        line-height: 60px;
    }
}

@media (max-width: 1399px) {
    .home2-banner-section
        .banner-warpper
        .banner-content-wrap
        .banner-content
        .banner-title-area
        h1,
    .home2-banner-section
        .banner-warpper
        .banner-content-wrap
        .banner-content
        .banner-title-area
        h2 {
        font-size: 48px;
        line-height: 60px;
    }
}

@media (max-width: 991px) {
    .home2-banner-section
        .banner-warpper
        .banner-content-wrap
        .banner-content
        .banner-title-area
        h1,
    .home2-banner-section
        .banner-warpper
        .banner-content-wrap
        .banner-content
        .banner-title-area
        h2 {
        font-size: 42px;
        line-height: 54px;
    }
}

@media (max-width: 767px) {
    .home2-banner-section
        .banner-warpper
        .banner-content-wrap
        .banner-content
        .banner-title-area
        h1,
    .home2-banner-section
        .banner-warpper
        .banner-content-wrap
        .banner-content
        .banner-title-area
        h2 {
        font-size: 38px;
        line-height: 50px;
    }
}

@media (max-width: 576px) {
    .home2-banner-section
        .banner-warpper
        .banner-content-wrap
        .banner-content
        .banner-title-area
        h1,
    .home2-banner-section
        .banner-warpper
        .banner-content-wrap
        .banner-content
        .banner-title-area
        h2 {
        font-size: 30px;
        line-height: 40px;
    }
}

.home2-banner-section
    .banner-warpper
    .banner-content-wrap
    .banner-content
    .banner-title-area
    > span {
    font-size: 15px;
}

@media (max-width: 991px) {
    .home2-banner-section
        .banner-warpper
        .banner-content-wrap
        .banner-content
        .banner-title-area
        > span {
        font-size: 14px;
    }
}

@media (max-width: 576px) {
    .home2-banner-section
        .banner-warpper
        .banner-content-wrap
        .banner-content
        .banner-title-area
        > span {
        font-size: 13px;
    }
}

.home2-banner2-section .average-growth-area .content .revenue-area h2 {
    font-size: 60px;
}

@media (min-width: 1400px) and (max-width: 1599px) {
    .home2-banner2-section .average-growth-area .content .revenue-area h2 {
        font-size: 56px;
    }
}

@media (max-width: 1399px) {
    .home2-banner2-section .average-growth-area .content .revenue-area h2 {
        font-size: 56px;
    }
}

@media (max-width: 1199px) {
    .home2-banner2-section .average-growth-area .content .revenue-area h2 {
        font-size: 52px;
    }
}

@media (max-width: 991px) {
    .home2-banner2-section .average-growth-area .content .revenue-area h2 {
        font-size: 48px;
    }
}

@media (max-width: 576px) {
    .home2-banner2-section .average-growth-area .content .revenue-area h2 {
        font-size: 38px;
    }
}

.home2-banner2-section .average-growth-area .content .revenue-area h2 span {
    font-size: 16px;
}

@media (max-width: 576px) {
    .home2-banner2-section .average-growth-area .content .revenue-area h2 span {
        font-size: 15px;
    }
}

.home2-banner2-section .average-growth-area .content .revenue-area > span {
    font-size: 20px;
}

@media (max-width: 1199px) {
    .home2-banner2-section .average-growth-area .content .revenue-area > span {
        font-size: 19px;
    }
}

@media (max-width: 991px) {
    .home2-banner2-section .average-growth-area .content .revenue-area > span {
        font-size: 17px;
    }
}

@media (max-width: 576px) {
    .home2-banner2-section .average-growth-area .content .revenue-area > span {
        font-size: 16px;
    }
}

.home2-banner2-section .average-growth-area .content .short-desc {
    font-size: 16px;
    line-height: 24px;
}

/* Contact page */
.contact-page-section .contact-page-details li {
    margin-bottom: 1.5rem;
    color: var(--title-color);
    font-family: var(--font-poppins);
    font-size: 16px;
    line-height: 1.6;
}

.contact-page-section .contact-page-details li:last-child {
    margin-bottom: 0;
}

.contact-page-section .contact-page-details strong {
    font-family: var(--font-inteTight);
    font-weight: 600;
    font-size: 15px;
    letter-spacing: 0.02em;
}

.contact-page-section .contact-page-details a {
    color: var(--text-color);
    text-decoration: underline;
    text-underline-offset: 3px;
}

.contact-page-section .contact-page-details a:hover {
    color: var(--title-color);
}

.contact-page-section .contact-page-form .form-control {
    border-radius: 8px;
    border-color: var(--borders-color);
    padding: 12px 16px;
    font-size: 16px;
}

.contact-page-section .contact-page-form .form-control:focus {
    border-color: var(--primary-color2);
    box-shadow: 0 0 0 0.2rem rgba(var(--primary-color2-opc), 0.15);
}

.contact-page-section .contact-page-form .form-label {
    font-family: var(--font-inteTight);
    font-weight: 500;
    font-size: 15px;
    color: var(--title-color);
}

/* reCAPTCHA v3: Google injects .grecaptcha-badge (bottom corner); keep above theme chrome */
.grecaptcha-badge {
    z-index: 99999 !important;
}

.contact-page .recaptcha-v3-note,
.contact-page .recaptcha-v3-legal {
    font-family: var(--font-poppins);
    line-height: 1.5;
    max-width: 42rem;
}

.contact-page .recaptcha-v3-legal a {
    color: inherit;
    text-decoration: underline;
    text-underline-offset: 2px;
}

/* Footer variant two (Flygeria): center columns and flex bands inside the main wrap */
.footer-section.two .footer-main-wrap.footer-main-centered .footer-widget {
    width: 100%;
    text-align: center;
}

.footer-section.two .footer-main-wrap.footer-main-centered .footer-widget .contact-list {
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 100%;
}

.footer-section.two
    .footer-main-wrap.footer-main-centered
    .footer-widget
    .contact-list
    .single-contact {
    justify-content: center;
    align-items: center;
    width: 100%;
    max-width: 100%;
}

.footer-section.two
    .footer-main-wrap.footer-main-centered
    .footer-info-and-award-wrapper
    .social-info-and-award-area {
    justify-content: center;
    align-items: center;
    flex-direction: column;
}

.footer-section.two
    .footer-main-wrap.footer-main-centered
    .footer-info-and-award-wrapper
    .social-info-and-award-area
    .social-info {
    margin-left: auto;
    margin-right: auto;
    text-align: center;
}

.footer-section.two
    .footer-main-wrap.footer-main-centered
    .footer-info-and-award-wrapper
    .social-list {
    justify-content: center;
}
