/* ONLY FOR MOBILE SCREENS */
@media (max-width: 767px) {

    /* Universal fix */
    html,
    body {
        overflow-x: hidden !important;
        width: 100%;
        max-width: 100%;
        margin: 0;
        padding: 0;
    }
}

.tp-about-area {
    background: #f8f9fa;
    /* light background */
    padding: var(--section-pad-y, 72px) 0;
}

.tp-about-content h2.tp-section-title {
    font-size: var(--fs-section, clamp(1.55rem, 3vw, 2.1rem));
    font-weight: 700;
    color: #0A3D62;
    /* your logo gradient main color */
}

.tp-about-content p {
    font-size: 1rem;
    line-height: 1.8;
    color: #555;
}

.tp-about-content a.btn-gradient-primary {
    display: inline-block;
    padding: 12px 26px;
    font-size: 1rem;
    font-weight: 600;
    border-radius: 8px;
    color: #fff;
    background: linear-gradient(105deg, #0A3D62 0%, #1a7bb8 100%);
    box-shadow: 0 8px 20px rgba(10, 61, 98, 0.22);
    transition: transform 0.25s ease, box-shadow 0.25s ease, filter 0.25s ease;
    text-decoration: none;
}

.tp-about-content a.btn-gradient-primary:hover {
    opacity: 1;
    filter: brightness(1.05);
    transform: translateY(-2px);
    box-shadow: 0 12px 28px rgba(10, 61, 98, 0.3);
}

/* Responsive */
@media (max-width: 768px) {
    .tp-about-content h2.tp-section-title {
        font-size: var(--fs-section, clamp(1.55rem, 3vw, 2.1rem));
    }

    .tp-about-content p {
        font-size: 0.95rem;
    }
}

/* ---------------- Testimonial Section ---------------- */
.tp-testimonial-area {
    background: #f5f7fa;
    /* light background like WB-DigiTech */
    padding: var(--section-pad-y, 72px) 0;
    position: relative;
}

.tp-testimonial-slider-wrapper {
    position: relative;
}

.tp-testimonial-item {
    background: #fff;
    padding: 30px 25px;
    border-radius: 15px;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);
    transition: transform 0.3s ease, box-shadow 0.3s ease;
    min-height: 250px;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.tp-testimonial-item p {
    font-size: 1rem;
    color: #333;
    line-height: 1.6;
    margin-bottom: 15px;
}

.tp-testimonial-item span em {
    display: block;
    font-weight: 700;
    font-size: 0.95rem;
    color: #0077B6;
    /* your logo gradient color */
}

.tp-testimonial-slider-wrapper .swiper-slide {
    display: flex;
    justify-content: center;
}

/* Arrows */
.tp-testimonial-arrow-box button {
    background: linear-gradient(90deg, #0A3D62, #0077B6);
    border: none;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    color: #fff;
    font-size: 1rem;
    display: flex;
    justify-content: center;
    align-items: center;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    cursor: pointer;
    transition: all 0.3s ease;
    z-index: 10;
}

.tp-testimonial-arrow-box .tp-testimonial-prev {
    left: -20px;
}

.tp-testimonial-arrow-box .tp-testimonial-next {
    right: -20px;
}

.tp-testimonial-arrow-box button:hover {
    opacity: 0.85;
}

/* Swiper pagination (optional) */
.swiper-pagination {
    position: relative;
    margin-top: 25px;
    text-align: center;
}

.swiper-pagination-bullet {
    width: 12px;
    height: 12px;
    background: #0077B6;
    opacity: 0.6;
    transition: opacity 0.3s ease;
}

.swiper-pagination-bullet-active {
    opacity: 1;
    background: #0A3D62;
}

/* Responsive */
@media(max-width: 992px) {
    .tp-testimonial-item {
        min-height: auto;
        padding: 25px 15px;
    }

    .tp-testimonial-arrow-box button {
        width: 35px;
        height: 35px;
    }
}

@media(max-width: 768px) {
    .tp-testimonial-arrow-box {
        display: none;
    }
}

/* ---------------- Marquee ---------------- */
.we-promise-slide {
    background: #0A3D62;
    overflow: hidden;
    padding: 20px 0;
}

.marquee {
    display: flex;
    width: max-content;
    animation: marquee 15s linear infinite;
}

.marquee-content span {
    font-weight: 700;
    font-size: 1.2rem;
    margin-right: 40px;
    display: inline-flex;
    align-items: center;
    color: #fff;
}

.marquee-content i {
    margin-left: 5px;
    color: #FFD700;
}

@keyframes marquee {
    0% {
        transform: translateX(0);
    }

    100% {
        transform: translateX(-50%);
    }
}

/* ---------------- Industries ---------------- */
.tp-project-area {
    /* padding: 60px 0; */
    background: #f5f7fa;
}

.tp-project-area h2.tp-section-title {
    /* font-size: 2rem; */
    /* font-weight: 700; */
    color: #0077B6;
    /* margin-bottom: 40px; */
}

.tp-project-area .sv-service-title {
    margin-bottom: 2.5rem;
}




/* Buttons */
.tp-project-area .btn-warning {
    background: linear-gradient(105deg, #0A3D62 0%, #1a7bb8 100%);
    border: none;
    color: #fff;
    font-weight: 600;
    padding: 10px 22px;
    border-radius: 8px;
    box-shadow: 0 8px 18px rgba(10, 61, 98, 0.2);
    transition: transform 0.25s ease, box-shadow 0.25s ease, filter 0.25s ease;
}

.tp-project-area .btn-warning:hover {
    opacity: 1;
    color: #fff;
    transform: translateY(-2px);
    box-shadow: 0 12px 26px rgba(10, 61, 98, 0.28);
    filter: brightness(1.05);
}

/* ---------------- Blogs ---------------- */
.blog-details-realated-area {
    background: #0A3D62;
    padding: var(--section-pad-y, 72px) 0;
}

.blog-details-realated-area .sv-service-title {
    color: #FFD700;
    font-weight: 700;
    font-size: var(--fs-section, clamp(1.55rem, 3vw, 2.1rem));
    margin-bottom: 40px;
}

.tp-blog-item {
    display: flex;
    flex-direction: column;
    height: 100%;
    /* background: #1b3b6a; */
    border-radius: 15px;
    overflow: hidden;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.tp-blog-item:hover {
    transform: translateY(-8px);
    box-shadow: 0 15px 40px rgba(0, 0, 0, 0.2);
}

.tp-blog-thumb img {
    border-radius: 15px 15px 0 0;
    width: 100%;
    height: 250px;
    object-fit: cover;
}

.tp-blog-meta span {
    background: #0077B6;
    color: #fff;
    padding: 5px 12px;
    border-radius: 50px;
    font-size: 0.8rem;
    font-weight: 600;
}

.tp-blog-content h2.tp-blog-title-sm a {
    color: #fff;
    font-weight: 700;
    font-size: 1rem;
    transition: color 0.3s ease;
}

.tp-blog-content h2.tp-blog-title-sm a:hover {
    color: #FFD700;
}

/* Make all blog cards same height in row */
.blog-details-realated-area .row>div {
    display: flex;
}

/* Responsive Adjustments */
@media(max-width: 992px) {

    .tp-project-area h2.tp-section-title,
    .blog-details-realated-area .sv-service-title {
        font-size: var(--fs-section, clamp(1.55rem, 3vw, 2.1rem));
    }

    .marquee-content span {
        font-size: 1rem;
        margin-right: 20px;
    }
}

@media(max-width: 768px) {
    .tp-blog-item {
        height: auto;
    }

    .tp-project-area .card {
        margin-bottom: 20px;
    }
}


/* Section Title */
.tp-service-area .tp-section-title span {
    color: #0077B6;
    /* primary logo color */
    font-weight: 600;
    font-size: 1rem;
    letter-spacing: 0.5px;
}

/* Background */
.logo-slider-wrapper {
    background: #f9f9f9;
}

/* Section Title */
.logo-slider-wrapper .sub-title {
    color: #0077B6;
    font-weight: 600;
    font-size: 1rem;
    letter-spacing: 0.5px;
}

.logo-slider-wrapper .title {
    font-size: 2rem;
    font-weight: 700;
    margin-top: 10px;
}

/* Logo Items */
.logo-slider .item {
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 15px;
    transition: transform 0.3s ease;
}

.logo-slider .item:hover {
    transform: scale(1.2);
}

.image-box-wrapper img {
    max-width: 150px;
    height: auto;
    transition: filter 0.3s ease, transform 0.3s ease;
}

/* Grayscale effect on hover */
.grayscale-hover {
    filter: grayscale(100%);
}

.grayscale-hover:hover {
    filter: grayscale(0%);
}

/* Slider reverse effect */
.logos-list.reverse {
    display: flex;
    gap: 30px;
    animation: slideLeft 30s linear infinite;
}

.logos-list {
    display: flex;
    gap: 30px;
    animation: slideRight 30s linear infinite;
}

/* Keyframes for smooth infinite slide */
@keyframes slideRight {
    0% {
        transform: translateX(0);
    }

    100% {
        transform: translateX(-50%);
    }
}

@keyframes slideLeft {
    0% {
        transform: translateX(-50%);
    }

    100% {
        transform: translateX(0);
    }
}

/* Gradient for text / buttons based on your logo */
.gradient-text {
    background: linear-gradient(90deg, #0A3D62, #0077B6);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    font-weight: 700;
}

.btn-gradient {
    background: linear-gradient(105deg, #0A3D62 0%, #1a7bb8 100%);
    color: #fff;
    padding: 12px 26px;
    border-radius: 8px;
    border: none;
    font-weight: 600;
    letter-spacing: 0.01em;
    box-shadow: 0 8px 20px rgba(10, 61, 98, 0.22);
    transition: transform 0.25s ease, box-shadow 0.25s ease, filter 0.25s ease;
}

.btn-gradient:hover {
    background: linear-gradient(105deg, #1a7bb8 0%, #0A3D62 100%);
    color: #fff;
    transform: translateY(-2px);
    box-shadow: 0 12px 28px rgba(10, 61, 98, 0.3);
    filter: brightness(1.04);
}

/* Hero quote form — compact */
.hero-quote-form {
    align-self: flex-start;
    margin-top: 30px;
    background: #0f1722;
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 12px;
    padding: 18px 18px 16px;
    box-shadow: 0 18px 36px rgba(8, 18, 32, 0.24);
    color: #e8eef8;
}

.hero-quote-eyebrow {
    text-transform: uppercase;
    letter-spacing: 0.12em;
    font-size: 0.68rem;
    font-weight: 600;
    color: #3aa0d8;
    margin: 0 0 4px;
}

.hero-quote-header h3 {
    margin: 0 0 12px;
    font-size: 1.25rem;
    font-weight: 700;
    color: #fff;
    line-height: 1.25;
}

.hero-quote-header p {
    display: none;
}

.hero-quote-fields {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.hero-quote-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px;
}

.hero-quote-form .form-control.hero-quote-input,
.hero-quote-form .form-select.hero-quote-input,
.hero-quote-form input.hero-quote-input,
.hero-quote-form textarea.hero-quote-input,
.hero-quote-form select.hero-quote-input {
    background-color: #162033 !important;
    background-image: none !important;
    border: 1px solid rgba(255, 255, 255, 0.12) !important;
    color: #e8eef8 !important;
    border-radius: 7px;
    min-height: 40px;
    height: 40px;
    padding: 8px 12px;
    font-size: 0.92rem;
    box-shadow: none !important;
    caret-color: #fff;
    -webkit-appearance: none;
    appearance: none;
}

.hero-quote-form textarea.hero-quote-message {
    height: auto !important;
    min-height: 64px !important;
    resize: vertical;
    line-height: 1.4;
}

.hero-quote-form .form-control.hero-quote-input:focus,
.hero-quote-form .form-select.hero-quote-input:focus,
.hero-quote-form input.hero-quote-input:focus,
.hero-quote-form textarea.hero-quote-input:focus,
.hero-quote-form select.hero-quote-input:focus {
    background-color: #1a2740 !important;
    border-color: #1a7bb8 !important;
    color: #fff !important;
    box-shadow: 0 0 0 3px rgba(26, 123, 184, 0.18) !important;
}

.hero-quote-form .hero-quote-input::placeholder {
    color: #8aa0b8 !important;
    opacity: 1;
}

.hero-quote-form .form-select.hero-quote-input option {
    background: #162033;
    color: #e8eef8;
}

/* Tom Select — service dropdown on dark form */
.hero-quote-form .ts-wrapper {
    width: 100%;
}

.hero-quote-form .ts-wrapper.single .ts-control,
.hero-quote-form .ts-wrapper .ts-control {
    background-color: #162033 !important;
    border: 1px solid rgba(255, 255, 255, 0.12) !important;
    border-radius: 7px !important;
    min-height: 40px;
    padding: 6px 36px 6px 12px !important;
    box-shadow: none !important;
    color: #f5f8fb !important;
}

.hero-quote-form .ts-wrapper.focus .ts-control,
.hero-quote-form .ts-wrapper.dropdown-active .ts-control {
    background-color: #1a2740 !important;
    border-color: #1a7bb8 !important;
    box-shadow: 0 0 0 3px rgba(26, 123, 184, 0.18) !important;
}

.hero-quote-form .ts-control > * {
    color: #f5f8fb !important;
    -webkit-text-fill-color: #f5f8fb;
}

.hero-quote-form .ts-control .item {
    color: #f5f8fb !important;
    -webkit-text-fill-color: #f5f8fb;
    line-height: 1.35;
}

.hero-quote-form .ts-control input {
    color: #f5f8fb !important;
    -webkit-text-fill-color: #f5f8fb !important;
    caret-color: #fff;
}

.hero-quote-form .ts-control input::placeholder,
.hero-quote-form .ts-control .ts-placeholder {
    color: #b7c7d8 !important;
    -webkit-text-fill-color: #b7c7d8 !important;
    opacity: 1;
}

/* Keep current selection visible while dropdown/search is open */
.hero-quote-form .ts-wrapper.single.input-active .ts-control .item,
.hero-quote-form .ts-wrapper.single.dropdown-active .ts-control .item,
.hero-quote-form .ts-wrapper.single.focus .ts-control .item {
    display: inline-flex !important;
}

.hero-quote-form .ts-wrapper .ts-control::after {
    border-color: #c5d2e4 transparent transparent transparent;
}

.hero-quote-form .ts-dropdown {
    border: 1px solid rgba(10, 61, 98, 0.14);
    border-radius: 10px;
    box-shadow: 0 14px 32px rgba(10, 61, 98, 0.16);
    z-index: 1060;
    overflow: hidden;
}

.hero-quote-form .ts-dropdown .dropdown-input-wrap {
    padding: 10px 10px 6px;
    background: #f5f8fb;
    border-bottom: 1px solid rgba(10, 61, 98, 0.1);
}

.hero-quote-form .ts-dropdown .dropdown-input {
    width: 100%;
    border: 1px solid rgba(10, 61, 98, 0.16) !important;
    border-radius: 7px !important;
    background: #fff !important;
    color: #0A3D62 !important;
    padding: 8px 12px !important;
    font-size: 0.9rem;
    box-shadow: none !important;
}

.hero-quote-form .ts-dropdown .dropdown-input:focus {
    border-color: #1a7bb8 !important;
    outline: none;
    box-shadow: 0 0 0 3px rgba(26, 123, 184, 0.15) !important;
}

.hero-quote-form .ts-dropdown .optgroup-header {
    color: #0A3D62;
    font-weight: 700;
    font-size: 0.78rem;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    background: #eef4f9;
}

.hero-quote-form .ts-dropdown .option {
    color: #1a2b3c;
}

.hero-quote-form .ts-dropdown .option.active,
.hero-quote-form .ts-dropdown .option:hover {
    background: rgba(26, 123, 184, 0.12);
    color: #0A3D62;
}

.hero-quote-form .ts-dropdown .no-results {
    color: #5a738a;
    padding: 12px;
    font-size: 0.9rem;
}

.hero-quote-form--light .ts-wrapper.single .ts-control,
.hero-quote-form--light .ts-wrapper .ts-control {
    background-color: #f5f8fb !important;
    border-color: rgba(10, 61, 98, 0.14) !important;
    color: #1a2b3c !important;
}

.hero-quote-form--light .ts-control > *,
.hero-quote-form--light .ts-control .item,
.hero-quote-form--light .ts-control input {
    color: #1a2b3c !important;
    -webkit-text-fill-color: #1a2b3c;
}

.hero-quote-form--light .ts-control input::placeholder,
.hero-quote-form--light .ts-control .ts-placeholder {
    color: #7a90a4 !important;
    -webkit-text-fill-color: #7a90a4 !important;
}

.hero-quote-form--light .ts-wrapper .ts-control::after {
    border-color: #0A3D62 transparent transparent transparent;
}

/* Stop browser autofill from forcing white fields */
.hero-quote-form input.hero-quote-input:-webkit-autofill,
.hero-quote-form input.hero-quote-input:-webkit-autofill:hover,
.hero-quote-form input.hero-quote-input:-webkit-autofill:focus,
.hero-quote-form textarea.hero-quote-input:-webkit-autofill {
    -webkit-text-fill-color: #e8eef8 !important;
    -webkit-box-shadow: 0 0 0 1000px #162033 inset !important;
    box-shadow: 0 0 0 1000px #162033 inset !important;
    transition: background-color 99999s ease-in-out 0s;
    caret-color: #fff;
}

.hero-quote-phone .hero-quote-addon {
    background: #162033 !important;
    border: 1px solid rgba(255, 255, 255, 0.12) !important;
    border-right: 0 !important;
    color: #c5d2e4 !important;
    border-radius: 7px 0 0 7px;
    gap: 5px;
    font-size: 0.88rem;
    padding: 0 10px;
    min-height: 40px;
}

.hero-quote-phone .hero-quote-input {
    border-radius: 0 7px 7px 0 !important;
}

.hero-quote-btn {
    width: 100%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    min-height: 42px;
    padding: 10px 16px;
    margin-top: 2px;
    border: none;
    border-radius: 7px;
    color: #fff;
    font-weight: 700;
    font-size: 0.95rem;
    letter-spacing: 0.02em;
    background: linear-gradient(105deg, #0A3D62 0%, #1a7bb8 55%, #2b9ad0 100%);
    box-shadow: 0 8px 18px rgba(10, 61, 98, 0.3);
    transition: transform 0.25s ease, box-shadow 0.25s ease, filter 0.25s ease;
}

.hero-quote-btn i {
    font-size: 0.8rem;
    transition: transform 0.25s ease;
}

.hero-quote-btn:hover {
    color: #fff;
    transform: translateY(-1px);
    box-shadow: 0 12px 24px rgba(10, 61, 98, 0.38);
    filter: brightness(1.06);
}

.hero-quote-btn:hover i {
    transform: translateX(3px);
}

.hero-quote-btn:active {
    transform: translateY(0);
}

.hero-quote-success {
    color: #7ddea8;
    font-size: 0.88rem;
    margin-top: 10px;
}

@media (max-width: 575px) {
    .hero-quote-row {
        grid-template-columns: 1fr;
    }
}

/* Light consultation form (service pages) */
.hero-quote-form--light {
    background: #fff;
    border: 1px solid rgba(10, 61, 98, 0.1);
    box-shadow: 0 14px 36px rgba(10, 61, 98, 0.08);
    color: #1a2b3c;
}

.hero-quote-form--light .hero-quote-eyebrow {
    color: #1a7bb8;
}

.hero-quote-form--light .hero-quote-header h3 {
    color: #0A3D62;
}

.hero-quote-form--light .form-control.hero-quote-input,
.hero-quote-form--light .form-select.hero-quote-input,
.hero-quote-form--light input.hero-quote-input,
.hero-quote-form--light textarea.hero-quote-input,
.hero-quote-form--light select.hero-quote-input {
    background-color: #f5f8fb !important;
    border-color: rgba(10, 61, 98, 0.14) !important;
    color: #1a2b3c !important;
}

.hero-quote-form--light .form-control.hero-quote-input:focus,
.hero-quote-form--light .form-select.hero-quote-input:focus,
.hero-quote-form--light input.hero-quote-input:focus,
.hero-quote-form--light textarea.hero-quote-input:focus,
.hero-quote-form--light select.hero-quote-input:focus {
    background-color: #fff !important;
    border-color: #1a7bb8 !important;
    color: #0A3D62 !important;
}

.hero-quote-form--light .hero-quote-input::placeholder {
    color: #7a90a4 !important;
}

.hero-quote-form--light .hero-quote-phone .hero-quote-addon {
    background: #f5f8fb !important;
    border-color: rgba(10, 61, 98, 0.14) !important;
    color: #0A3D62 !important;
}

.hero-quote-form--light .form-select.hero-quote-input option {
    background: #fff;
    color: #1a2b3c;
}

/* Quote modal */
#myModal .modal-content {
    border: 0;
    border-radius: 14px;
    overflow: hidden;
    background: transparent;
}

#myModal .modal-body {
    padding: 0;
}

#myModal .hero-quote-form {
    border-radius: 14px;
    margin: 0;
}

/* Industries We Serve — full-bleed image cards with in-card labels */
.industry-card {
    position: relative;
    width: 100%;
    max-width: 280px;
    aspect-ratio: 1 / 1;
    overflow: hidden;
    border-radius: 12px;
    border: 1px solid rgba(10, 61, 98, 0.08);
    box-shadow: 0 10px 28px rgba(10, 61, 98, 0.08);
    background: #0A3D62;
    transition: transform 0.25s ease, box-shadow 0.25s ease;
}

.industry-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 16px 36px rgba(10, 61, 98, 0.18);
}

.industry-card:hover .industry-img {
    transform: scale(1.05);
}

.industry-img-wrap {
    position: absolute;
    inset: 0;
    z-index: 0;
    margin: 0;
    overflow: hidden;
}

.industry-img {
    width: 100%;
    height: 100%;
    max-width: none;
    object-fit: cover;
    object-position: center;
    display: block;
    position: static;
    z-index: auto;
    border-radius: 0;
    transition: transform 0.35s ease;
}

.industry-img.is-fallback {
    object-fit: contain;
    padding: 28px;
    background: #e8eef4;
}

.industry-card__label {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 2;
    margin: 0;
    padding: 36px 14px 14px;
    font-size: 0.98rem;
    font-weight: 700;
    line-height: 1.3;
    color: #fff;
    text-align: center;
    text-shadow: 0 1px 2px rgba(0, 0, 0, 0.35);
    background: linear-gradient(180deg, transparent 0%, rgba(10, 61, 98, 0.88) 55%);
    pointer-events: none;
}

.industry-actions .btn {
    border-radius: 8px;
    font-weight: 600;
    padding: 10px 20px;
}

/* Hero Section tweaks */
.tp-hero-area {
    padding-top: 40px;
    /* padding-bottom: 20px; */
    background: #f9f9f9;
}

.tp-hero-title-wrap {
    margin-bottom: 40px;
    /* space below the title wrapper */
}

.tp-hero-title {
    /* font-size: 42px; */
    line-height: 1.3;
    margin-bottom: 20px;
    /* space directly below the title */
}

.tp-hero-content p {
    margin-top: 0;
    /* remove extra top gap */
    margin-bottom: 20px;
    /* normal spacing */
}

.h1-home-page {
    font-size: var(--fs-section, clamp(1.55rem, 3vw, 2.1rem));
    font-weight: 700;
    margin-top: 20px;
    color: #0A3D62;
}

/* Agency Section */
.agency .agency__thumb img {
    max-width: 100%;
    height: auto;
}

.agency__content .title {
    font-size: var(--fs-section, clamp(1.55rem, 3vw, 2.1rem));
    font-weight: 700;
    margin-top: 15px;
    color: #0A3D62;
}

.progress {
    background: #e0e0e0;
    border-radius: 50px;
    height: 12px;
}

.progress-bar.bg-gradient {
    background: linear-gradient(90deg, #0A3D62, #0077B6);
    height: 12px;
    border-radius: 50px;
}


/* Team Section */
.team-card {
    position: relative;
    overflow: hidden;
    border-radius: 10px;
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.15);
    transition: transform 0.3s ease;
    cursor: pointer;
}

.team-card:hover {
    transform: translateY(-8px);
}

.team-img img {
    width: 100%;
    height: 320px;
    object-fit: cover;
    display: block;
    border-radius: 10px;
}

.team-info {
    position: absolute;
    bottom: -100%;
    left: 0;
    width: 100%;
    background: white;
    text-align: center;
    padding: 20px;
    transition: bottom 0.4s ease-in-out;
    border-top: 3px solid #0A3D62;
    /* accent color */
}

.team-card:hover .team-info {
    bottom: 0;
}

.team-info h4 {
    margin: 0;
    font-size: 18px;
    font-weight: 600;
    color: #333;
}

.team-info p {
    margin: 5px 0 0;
    font-size: 14px;
    color: #666;
}


/* Agency Section */
.agency-section {
    padding: var(--section-pad-y, 72px) 0;
}

.agency-section .visual-card {
    position: relative;
    overflow: hidden;
    border-radius: 14px;
}

.agency-section .visual-card img {
    display: block;
    height: 100%;
    object-fit: cover;
}

.agency-section .trusted-badge {
    position: absolute;
    left: 18px;
    top: 18px;
    background: #fff;
    color: #0A3D62;
    padding: 6px 12px;
    border-radius: 8px;
    font-weight: 600;
    box-shadow: 0 6px 18px rgba(10, 61, 98, 0.12);
}

.agency-section .floating-card {
    position: absolute;
    right: 0;
    bottom: -30px;
    width: 220px;
    transform: translateY(0);
}

.agency-section .features-list .icon {
    width: 38px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.agency-section .title {
    color: #0A3D62;
    font-size: var(--fs-section, clamp(1.55rem, 3vw, 2.1rem));
    font-weight: 700;
    line-height: 1.25;
}

.btn-gradient {
    background: linear-gradient(90deg, #0A3D62, #1287cb);
    color: #fff;
    border: none;
}

.btn-gradient:hover {
    opacity: 0.95;
}

/* Responsive adjustments */
@media (max-width: 991px) {
    .agency-section .floating-card {
        display: none;
    }
}

/* Services Section */

/* Accordion strip gallery — match live */
.services .main-service {
    height: 60vh;
    min-height: 420px;
    gap: 10px;
    align-items: stretch;
}

.services .home-page {
    position: relative;
    overflow: hidden;
    width: 10%;
    min-width: 56px;
    margin: 0;
    display: flex;
    justify-content: center;
    align-items: stretch;
    background-color: #1a1a1a;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    transition: width 0.45s ease;
    cursor: pointer;
}

.services .home-page>img {
    position: absolute;
    inset: 0;
    width: 100% !important;
    height: 100% !important;
    object-fit: cover;
    z-index: 0;
}

.services .home-page:first-child {
    width: 42%;
}

.services .main-service:hover .home-page {
    width: 10%;
}

.services .main-service .home-page:hover,
.services .main-service .home-page:focus-within {
    width: 42%;
}

/* Fallback backgrounds (if img fails) */
.services .web-development {
    background-image: url('/images/home/web.webp');
}

.services .seo {
    background-image: url('/images/home/seo.webp');
}

.services .lead-generation {
    background-image: url('/images/home/lead_gen.webp');
}

.services .mobile-app {
    background-image: url('/images/home/mobile_app.webp');
}

.services .social-media-marketing {
    background-image: url('/images/home/social_media.webp');
}

.services .graphic-design {
    background-image: url('/images/home/graphic_design.webp');
}

.services .google-ads {
    background-image: url('/images/home/google_ad.webp');
}

.services .videography {
    background-image: url('/images/services/mobile/videography.webp');
}

.home-page::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(180deg, rgba(0, 0, 0, 0.25) 0%, rgba(0, 0, 0, 0.65) 100%);
    z-index: 1;
    pointer-events: none;
}

.home-page .html-component {
    position: absolute;
    inset: 0;
    z-index: 2;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 20px 12px;
    text-align: center;
    pointer-events: none;
}

.home-page .html-component a {
    pointer-events: auto;
    color: #fff !important;
    text-decoration: none !important;
}

.services .title {
    font-size: 22px;
    font-weight: 700;
    color: #fff;
    white-space: nowrap;
    transform: rotate(-90deg);
    transition: transform 0.45s ease, font-size 0.45s ease;
    margin: 0;
}

.services .home-page:first-child .html-component {
    justify-content: flex-end;
}

.services .main-service:hover .home-page .html-component {
    justify-content: center;
}

.services .main-service .home-page:hover .html-component,
.services .main-service .home-page:focus-within .html-component {
    justify-content: flex-end;
}

.services .home-page:first-child .title {
    transform: rotate(0);
    font-size: 18px;
    margin-bottom: 8px;
}

.services .main-service:hover .home-page .title {
    transform: rotate(-90deg);
    font-size: 22px;
    margin-bottom: 0;
}

.services .main-service .home-page:hover .title,
.services .main-service .home-page:focus-within .title {
    transform: rotate(0);
    font-size: 18px;
    margin-bottom: 8px;
}

.services .sub-title {
    display: none;
    opacity: 0;
    color: #f0f0f0;
    font-size: 13px;
    line-height: 1.45;
    max-width: 280px;
    transition: opacity 0.45s ease;
}

.services .home-page:first-child .sub-title {
    display: block;
    opacity: 1;
}

.services .main-service:hover .home-page .sub-title {
    display: none;
    opacity: 0;
}

.services .main-service .home-page:hover .sub-title,
.services .main-service .home-page:focus-within .sub-title {
    display: block;
    opacity: 1;
}

@media (max-width: 991.98px) {
    .services .main-service {
        flex-wrap: wrap;
        height: auto;
        min-height: 0;
    }

    .services .home-page {
        width: calc(50% - 8px) !important;
        min-width: 0;
        height: 220px;
        margin: 4px;
    }

    .services .home-page:hover,
    .services .home-page:focus-within {
        width: calc(50% - 8px) !important;
    }

    .services .title {
        transform: none;
        font-size: 16px;
        margin-bottom: 6px;
        white-space: normal;
    }

    .services .sub-title {
        display: -webkit-box;
        -webkit-line-clamp: 3;
        -webkit-box-orient: vertical;
        overflow: hidden;
        opacity: 1;
    }
}

@media (max-width: 575.98px) {
    .services .home-page {
        width: 100% !important;
        height: 200px;
    }

    .services .home-page:hover,
    .services .home-page:focus-within {
        width: 100% !important;
    }
}


/* Banner Section */
.we-promise-banner {
    background: linear-gradient(90deg, #1166a3 0%, #31a8e8 100%);
    overflow: hidden;
    white-space: nowrap;
    padding: 12px 0;
}

.scrolling-text {
    display: flex;
    align-items: center;
    overflow: hidden;
}

.scrolling-content {
    display: inline-flex;
    align-items: center;
    animation: scroll-left 22s linear infinite;
}

@keyframes scroll-left {
    0% {
        transform: translateX(0);
    }

    100% {
        transform: translateX(-50%);
    }
}

.scrolling-content span {
    font-family: var(--font-sans, 'Poppins', sans-serif);
    font-weight: 800;
    font-size: 4.5rem;
    letter-spacing: 1px;
    display: flex;
    align-items: center;
    margin-right: 60px;
}

.outline {
    color: transparent;
    -webkit-text-stroke: 1.5px #ffffff;
}

.filled {
    color: #ffffff;
}

.arrow {
    width: 80px;
    height: 80px;
    margin-left: 12px;
}

@media (max-width: 992px) {
    .scrolling-content span {
        font-size: 3rem;
        margin-right: 40px;
    }

    .arrow {
        width: 30px;
        height: 30px;
    }
}

@media (max-width: 576px) {
    .scrolling-content span {
        font-size: 2rem;
        margin-right: 30px;
    }

    .arrow {
        width: 22px;
        height: 22px;
    }
}

/* Blog Section */
.home-blog-section {
    font-family: var(--font-sans, 'Poppins', sans-serif);
}

.home-blog-section h2 {
    font-size: var(--fs-section, clamp(1.55rem, 3vw, 2.1rem));
    line-height: 1.25;
    font-weight: 700;
    color: var(--color-heading, #0A3D62);
}

.home-blog-section .blog-item {
    transition: all 0.3s ease-in-out;
    border-radius: 12px;
}

.home-blog-section .blog-item:hover {
    transform: translateY(-5px);
    box-shadow: 0 10px 25px rgba(0, 0, 0, 0.08);
}

.home-blog-section .blog-img {
    height: 230px;
    object-fit: cover;
    border-top-left-radius: 12px;
    border-top-right-radius: 12px;
    background: #e8f3fa;
}

.home-blog-section .blog-img.is-fallback {
    object-fit: contain;
    padding: 24px;
}

.home-blog-section .text-primary {
    color: #0A3D62 !important;
}

@media (max-width: 767px) {
    .home-blog-section .blog-img {
        height: 180px;
    }
}

/* Testimonial Section */
.review-summary-card {
    background: #fff;
    border: 1px solid #eee;
}

.testimonial-card {
    border: 1px solid #eee;
    transition: transform 0.3s ease;
}

.testimonial-card:hover {
    transform: translateY(-5px);
}

.review-rating span {
    font-size: 1.2rem;
}

/* Fix side scroll issue */
.tp-testimonial-area {
    overflow-x: hidden;
    /* prevent horizontal scroll */
}

.swiper-container {
    width: 100% !important;
    max-width: 100% !important;
}

.swiper-wrapper {
    display: flex;
    width: 100%;
}

.swiper-slide {
    min-width: 0;
    /* allow shrink */
    box-sizing: border-box;
}

/* Ensure cards fit inside screen */
.testimonial-card {
    width: 100%;
    max-width: 100%;
    word-wrap: break-word;
}

/* Mobile spacing */
@media (max-width: 575px) {
    .testimonial-card {
        padding: 15px;
    }

    .review-summary-card {
        padding: 15px;
    }
}

/* About Page */
#abouT-info,
#about-info .ab-about-content {
    max-width: 520px;
    /* margin-top: 156px; */
}

#about-info span {
    font-size: 18px;
}

#about-info p {
    font-size: 15px;
    line-height: 1.7;
}

/* Image overlap */
.ab-about-right-thumb {
    /* position: relative; */
}

.ab-about-right-thumb img:first-child {
    width: 75%;
    /* position: relative; */
    z-index: 2;
    border-radius: 14px;
}

.ab-about-right-thumb img:last-child {
    position: absolute;
    right: 0;
    /* bottom: -40px; */
    width: 65%;
    z-index: 1;
    opacity: 0.95;
    border-radius: 14px;
}

/* Overrides for About Page */
#abouT-info,
#about-info .ab-about-content {
    margin-top: 0 !important;
    max-width: 520px;
}

#abouT-info span,
#about-info span {
    font-size: 20px;
    font-weight: bold;
}

#abouT-info p,
#about-info p {
    font-size: 16px;
    line-height: 1.8;
    color: #333;
}

/* Services list styling */
.ab-about-category-list ul {
    font-size: 16px;
    line-height: 1.8;
    color: #333;
    padding-left: 20px;
}

/* .ab-about-category-list ul li {
    margin-bottom: 10px;
} */

.ab-about-right-thumb img {
    position: static !important;
    /* z-index: auto !important; */
}

/* ========================================================= */
/* GLOBAL RESPONSIVE OVERRIDES - LAPTOPS, TABLETS, MOBILE    */
/* ========================================================= */

/* General Image Responsive */
img {
    max-width: 100%;
    height: auto;
}

/* Laptops & Tablets Landscape (992px - 1199px) */
@media (max-width: 1199px) {
    .scrolling-content span {
        font-size: 3.5rem;
        margin-right: 50px;
    }

    .h1-home-page {
        font-size: var(--fs-section, clamp(1.55rem, 3vw, 2.1rem));
    }

    .tp-about-content h2.tp-section-title {
        font-size: var(--fs-section, clamp(1.55rem, 3vw, 2.1rem));
    }

    .agency-section .title,
    .agency__content .title,
    .title.display-7 {
        font-size: var(--fs-section, clamp(1.55rem, 3vw, 2.1rem));
    }
}

/* Tablets Portrait (768px - 991px) */
@media (max-width: 991px) {
    .scrolling-content span {
        font-size: 2.8rem;
        margin-right: 30px;
    }

    .h1-home-page {
        font-size: var(--fs-section, clamp(1.55rem, 3vw, 2.1rem));
    }

    .tp-about-content h2.tp-section-title {
        font-size: var(--fs-section, clamp(1.55rem, 3vw, 2.1rem));
    }

    .team-img img {
        height: 280px;
    }

    .ab-about-right-thumb img:first-child {
        width: 100%;
    }

    .ab-about-right-thumb img:last-child {
        display: none;
        /* Hide overlapping image on small screens */
    }
}

/* Mobile Landscape (576px - 767px) */
@media (max-width: 767px) {
    .scrolling-content span {
        font-size: 2.2rem;
        margin-right: 20px;
    }

    .h1-home-page {
        font-size: var(--fs-section, clamp(1.55rem, 3vw, 2.1rem));
    }

    .tp-about-area {
        padding: var(--section-pad-y-sm, 52px) 0;
    }

    .tp-testimonial-area {
        padding: var(--section-pad-y-sm, 52px) 0;
    }

    .blog-details-realated-area {
        padding: var(--section-pad-y-sm, 52px) 0;
    }

    /* Improve testimonial sliders */
    .testimonial-card,
    .review-summary-card {
        padding: 15px;
        margin-bottom: 20px;
    }

    .tp-testimonial-item {
        min-height: auto;
    }
}

/* Mobile Portrait (< 576px) */
@media (max-width: 575px) {
    .scrolling-content span {
        font-size: 1.8rem;
        margin-right: 15px;
    }

    .arrow {
        width: 20px;
        height: 20px;
    }

    .h1-home-page {
        font-size: 1.4rem;
    }

    .tp-about-content h2.tp-section-title {
        font-size: 1.4rem;
    }

    .btn-gradient-primary {
        padding: 10px 20px;
        font-size: 0.9rem;
    }

    .we-promise-banner {
        padding: 8px 0;
    }

    .team-img img {
        height: auto;
        aspect-ratio: 1;
    }

    #abouT-info span,
    #about-info span {
        font-size: 16px;
    }

    #abouT-info p,
    #about-info p {
        font-size: 14px;
    }
}