/* BingeAt Media – site-specific overrides */
/* Header / brand CTA button */
.tp-btn-brand {
    gap: 8px;
    border-radius: 10px;
    padding: 18px 24px;
    font-weight: 600;
    font-size: 16px;
    line-height: 1;
    letter-spacing: -0.01em;
    text-transform: capitalize;
    color: #fff;
    background: linear-gradient(90deg, #8400c7 0%, #6f00ff 100%);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
    transition: background 0.3s ease, color 0.3s ease;
}

.tp-btn-brand:hover {
    color: #fff;
    background: linear-gradient(90deg, #6f00ff 0%, #8400c7 100%);
}

.tp-btn-brand span {
    position: relative;
    z-index: 1;
    overflow: hidden;
    display: inline-block;
}

.tp-btn-brand span span.text-1 {
    position: relative;
    display: block;
    transition: 0.3s;
}

.tp-btn-brand span span.text-2 {
    position: absolute;
    top: 100%;
    display: block;
    transition: 0.3s;
}

.tp-btn-brand:hover span span.text-1 {
    transform: translateY(-150%);
}

.tp-btn-brand:hover span span.text-2 {
    top: 50%;
    transform: translateY(-50%);
}

.tp-btn-brand i {
    position: relative;
    overflow: hidden;
    width: 17px;
    height: 14px;
    display: inline-flex;
    flex-shrink: 0;
}

.tp-btn-brand i svg {
    color: #fff;
    stroke: #fff;
}

/* Home blog list spacing */
.home-blog-section {
    padding-bottom: 60px;
}

.home-blog-section .dgm-blog-item {
    padding-top: 28px;
    padding-bottom: 28px;
}

.home-blog-section .dgm-blog-content-wrap {
    height: auto;
    align-items: flex-start;
    gap: 24px;
}

.home-blog-section .dgm-blog-content {
    height: auto;
    min-width: 240px;
    justify-content: flex-start !important;
    gap: 16px;
}

.home-blog-section .dgm-blog-meta {
    margin-bottom: 0 !important;
}

.home-blog-section .dgm-blog-meta.mb-30 {
    margin-bottom: 0 !important;
}

.home-blog-section .dgm-blog-title-box {
    flex: 1;
    min-width: 0;
    padding-left: 12px;
}

.home-blog-section .dgm-blog-thumb-wrap {
    padding-left: 16px;
}

.home-blog-section .dgm-blog-thumb img {
    width: 100%;
    max-width: 280px;
    height: auto;
    aspect-ratio: 4 / 3;
    object-fit: cover;
    border-radius: 8px;
}

.home-blog-section .dgm-blog-title-sm a {
    text-decoration: none;
}

.home-blog-section .dgm-blog-title-sm a:hover {
    color: var(--tp-common-black);
}

@media (max-width: 991px) {
    .home-blog-section .dgm-blog-content-wrap {
        flex-wrap: wrap;
        gap: 16px;
    }

    .home-blog-section .dgm-blog-content {
        min-width: 100%;
        margin-bottom: 0;
    }

    .home-blog-section .dgm-blog-title-box {
        padding-left: 0;
        width: 100%;
        margin-bottom: 0 !important;
    }

    .home-blog-section .dgm-blog-title-sm {
        margin-bottom: 0 !important;
    }

    .home-blog-section .dgm-blog-thumb-wrap {
        padding-left: 0;
        margin-top: 0 !important;
    }

    .home-blog-section .dgm-blog-thumb {
        margin-top: 12px !important;
    }

    .home-blog-section .dgm-blog-thumb img {
        max-width: 220px !important;
    }
}

@media (max-width: 767px) {
    .home-blog-section .dgm-blog-thumb img {
        width: 100% !important;
        max-width: 100% !important;
        height: auto !important;
        aspect-ratio: auto !important;
    }
}

/* Home page CTA / contact section */
.home-cta-section {
    position: relative;
    z-index: 2;
    overflow: hidden;
    padding-top: 60px;
    padding-bottom: 80px;
}

.home-cta-section .home-cta-wrapper {
    display: grid;
    position: relative;
    border-radius: 32px;
    overflow: hidden;
    min-height: 0;
    height: auto !important;
}

.home-cta-section .home-cta-wrapper .cst-cta-thumb {
    grid-area: 1 / 1;
    position: relative;
    min-height: 320px;
    height: auto;
}

.home-cta-section .home-cta-wrapper .cst-cta-thumb img {
    display: block;
    width: 100%;
    min-height: 320px;
    height: 100%;
    object-fit: cover;
    border-radius: 32px;
}

.home-cta-section .home-cta-wrapper .cst-cta-content {
    grid-area: 1 / 1;
    position: relative;
    top: auto;
    left: auto;
    z-index: 2;
    align-self: start;
    justify-self: start;
    width: calc(100% - 32px);
    max-width: 595px;
    margin: 24px 16px 32px;
}

.home-cta-section .cst-cta-input-box .tp-contact-form-input textarea {
    resize: vertical;
    min-height: 125px;
}

@media (min-width: 768px) {
    .home-cta-section .home-cta-wrapper .cst-cta-thumb {
        min-height: 480px;
    }

    .home-cta-section .home-cta-wrapper .cst-cta-thumb img {
        min-height: 480px;
    }

    .home-cta-section .home-cta-wrapper .cst-cta-content {
        margin: 32px 24px 40px;
        width: min(595px, calc(100% - 48px));
    }
}

@media (min-width: 992px) {
    .home-cta-section .home-cta-wrapper .cst-cta-thumb {
        min-height: 620px;
    }

    .home-cta-section .home-cta-wrapper .cst-cta-thumb img {
        min-height: 620px;
    }

    .home-cta-section .home-cta-wrapper .cst-cta-content {
        margin: 40px 40px 48px 60px;
    }
}

@media (min-width: 1200px) {
    .home-cta-section .home-cta-wrapper .cst-cta-thumb {
        min-height: 700px;
    }

    .home-cta-section .home-cta-wrapper .cst-cta-thumb img {
        min-height: 700px;
    }
}

/* Home CTA – mobile: stack image + full-width form (overlay was too narrow) */
@media (max-width: 991px) {
    .home-cta-section {
        padding-top: 48px;
        padding-bottom: 56px;
    }

    .home-cta-section .container-1530 {
        padding-left: 16px;
        padding-right: 16px;
    }

    .home-cta-section .home-cta-wrapper {
        display: flex;
        flex-direction: column;
        border-radius: 20px;
    }

    .home-cta-section .home-cta-wrapper .cst-cta-thumb {
        grid-area: unset;
        flex: 0 0 auto;
        min-height: 0;
        max-height: 260px;
        overflow: hidden;
        border-radius: 20px 20px 0 0;
    }

    .home-cta-section .home-cta-wrapper .cst-cta-thumb img {
        min-height: 220px;
        max-height: 260px;
        border-radius: 20px 20px 0 0;
    }

    .home-cta-section .home-cta-wrapper .cst-cta-content {
        grid-area: unset;
        position: relative;
        top: auto;
        left: auto;
        align-self: stretch;
        justify-self: stretch;
        width: 100%;
        max-width: none;
        margin: 0;
        padding: 28px 22px 32px;
        border-radius: 0 0 20px 20px;
        box-sizing: border-box;
    }

    .home-cta-section .cst-cta-content-text {
        margin-bottom: 22px;
        line-height: 1.55;
        font-size: 15px;
    }

    .home-cta-section .cst-cta-content .cst-section-title {
        font-size: clamp(1.75rem, 7vw, 2.25rem);
        line-height: 1.15;
    }

    .home-cta-section .cst-cta-input-box .inquiry-form>.row {
        --bs-gutter-x: 16px;
        margin-left: 0;
        margin-right: 0;
    }

    .home-cta-section .cst-cta-input-box .inquiry-form>.row>[class*='col-'] {
        padding-left: 0;
        padding-right: 0;
        width: 100%;
        flex: 0 0 100%;
        max-width: 100%;
    }

    .home-cta-section .cst-cta-input-box .tp-contact-form-input input,
    .home-cta-section .cst-cta-input-box .tp-contact-form-input textarea {
        width: 100%;
        max-width: 100%;
        box-sizing: border-box;
        padding-left: 16px;
        padding-right: 16px;
    }

    .home-cta-section .cst-cta-input-box .tp-btn-yellow-green {
        width: 100%;
    }

    .home-cta-section .cst-cta-input-box .tp-btn-yellow-green button {
        width: 100%;
        justify-content: center;
    }
}

@media (max-width: 767px) {
    .home-cta-section {
        padding-bottom: 72px;
    }

    .home-cta-section .home-cta-wrapper .cst-cta-thumb {
        max-height: 200px;
    }

    .home-cta-section .home-cta-wrapper .cst-cta-thumb img {
        min-height: 180px;
        max-height: 200px;
    }

    .home-cta-section .home-cta-wrapper .cst-cta-content {
        padding: 24px 18px 28px;
    }

    .home-cta-section .cst-cta-input-box .tp-contact-form-input input {
        height: 48px;
        line-height: 48px;
        font-size: 15px;
    }
}

/* Portfolio posts – square thumbs + theme-aligned captions */
.portfolio-posts-grid>[class*='col-'] {
    display: flex;
}

.portfolio-post-card {
    width: 100%;
    display: flex;
    flex-direction: column;
    height: 100%;
}

.portfolio-post-card__thumb {
    position: relative;
    width: 100%;
    aspect-ratio: 1 / 1;
    overflow: hidden;
    margin-bottom: 26px;
    border-radius: 20px;
    flex-shrink: 0;
}

.portfolio-post-card__thumb a {
    display: block;
    width: 100%;
    height: 100%;
}

.portfolio-post-card__thumb img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    border-radius: 20px;
}

.portfolio-post-card__content {
    flex: 1;
    min-height: 88px;
}

.portfolio-post-card__content .tp-portfolio-inner-title {
    margin-bottom: 10px;
    line-height: 1.15;
    letter-spacing: -0.02em;
}

.portfolio-post-card__content .tp-portfolio-inner-title a {
    color: inherit;
    text-decoration: none;
}

.portfolio-post-card__content .tp-portfolio-inner-title a:hover {
    opacity: 0.75;
}

.portfolio-post-card--reel {
    max-width: 350px;
    margin-left: auto;
    margin-right: auto;
}

.portfolio-post-card__thumb--reel {
    aspect-ratio: auto;
    min-height: 500px;
    overflow: visible;
    border-radius: 12px;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.12);
    margin-bottom: 20px;
    background: #fff;
}

.portfolio-post-card__thumb--reel .instagram-media,
.portfolio-post-card__thumb--reel iframe {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    margin: 0 auto !important;
    border-radius: 10px !important;
}

.portfolio-post-card--reel .portfolio-post-card__content {
    min-height: auto;
    text-align: left;
}

.portfolio-post-card__thumb--website {
    aspect-ratio: 540 / 369;
    background: #f7f7f7;
}

.portfolio-post-card__thumb--website img {
    object-fit: contain;
    object-position: center;
}

.portfolio-post-card--website .portfolio-post-card__content {
    min-height: 88px;
}

.portfolio-filter-action {
    width: 100%;
    justify-content: center;
    align-items: center;
    padding: 15px 0 50px;
    text-align: center;
}

.portfolio-filter-action:not(.d-none) {
    display: flex;
}

.portfolio-filter-action .tp-btn-yellow-green {
    display: inline-flex;
}

.portfolio-posts-grid__empty {
    text-align: center;
    color: rgba(0, 0, 0, 0.6);
    padding: 48px 16px;
}

/* Home – case studies slider (uniform cards, full image visible) */
.home-case-studies .dgm-project-thumb {
    position: relative;
    width: 100%;
    aspect-ratio: 1 / 1;
    overflow: hidden;
    border-radius: 16px;
    background: #1a1a1a;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 16px;
    box-sizing: border-box;
}

.home-case-studies .dgm-project-thumb img {
    display: block;
    width: 100%;
    height: 100%;
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
    object-position: center;
}

.home-case-studies .dgm-project-item {
    width: 100%;
    height: 100%;
}

.home-case-studies .dgm-project-active .swiper-slide {
    height: auto;
    box-sizing: border-box;
    opacity: 0.55;
    transition: opacity 0.35s ease;
}

.home-case-studies .dgm-project-active .swiper-slide-active {
    opacity: 1;
}

.home-case-studies .dgm-project-active {
    margin: 0;
    padding: 0 24px;
}

.home-case-studies .dgm-project-slider-wrap {
    overflow: hidden;
}

/* Keep caption slider clipped — vertical Swiper + height:auto stacks all slides (huge gap on mobile) */
.home-case-studies .dgm-project-slider-wrap .swiper-container.dgm-project-text-active {
    height: 120px !important;
    max-height: 140px;
    overflow: hidden;
}

.home-case-studies .dgm-project-text-active .swiper-slide {
    height: auto;
    display: flex;
    align-items: center;
    justify-content: center;
}

.home-case-studies .dgm-project-text-active .dgm-project-content {
    width: 100%;
}

.home-case-studies .dgm-project-title-sm {
    font-size: clamp(28px, 3.5vw, 46px);
}

@media only screen and (min-width: 992px) and (max-width: 1199px) {
    .home-case-studies .dgm-project-active {
        margin: 0;
    }
}

@media only screen and (min-width: 768px) and (max-width: 991px),
(max-width: 767px) {
    .home-case-studies .dgm-project-active {
        margin: 0 15px;
    }

    .home-case-studies .dgm-project-thumb {
        aspect-ratio: 1 / 1;
        padding: 12px;
        border-radius: 12px;
    }

    .home-case-studies .dgm-project-active {
        padding: 0 12px;
    }

    .home-case-studies .dgm-project-title-sm {
        font-size: 28px;
    }
}

/* Home & about – client logo strip */
.home-brand-logos {
    padding: 10px 0 10px;
    overflow: hidden;
    position: relative;
    margin-bottom: 28px;
    background: transparent;
    border-radius: 0;
    box-shadow: none;
}

.creative-brand-area.home-brand-logos {
    padding-bottom: 8px !important;
}

.creative-brand-area.home-brand-logos .creative-brand-active {
    margin: 0;
    padding: 0 4px;
    overflow: hidden;
}

.home-brand-logos .dgm-brand-wrapper {
    overflow: visible;
}

.home-brand-logos .dgm-brand-active,
.home-brand-logos .creative-brand-active {
    margin: 0 !important;
    overflow: hidden;
    padding: 0 4px;
}

.home-brand-logos .slide-transtion,
.home-brand-logos .slider-transtion {
    transition-timing-function: linear !important;
}

.home-brand-logos .swiper-slide {
    width: auto;
    height: auto;
    min-height: 54px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.home-brand-logos .dgm-brand-item {
    border: none !important;
    margin: 0 !important;
    height: auto !important;
    min-height: 0;
    padding: 10px 14px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #fff;
    border-radius: 12px;
    box-sizing: border-box;
    box-shadow: 0 2px 8px rgba(13, 10, 24, 0.08);
}

.home-brand-logos .dgm-brand-item img {
    display: block;
    width: auto;
    max-width: 150px;
    height: auto;
    max-height: 48px;
    object-fit: contain;
}

@media (max-width: 767px) {
    .home-brand-logos {
        padding: 8px 0 10px;
    }

    .home-brand-logos .dgm-brand-item {
        padding: 8px 10px;
    }

    .home-brand-logos .dgm-brand-item img {
        max-width: 120px;
        max-height: 40px;
    }
}

.home-brand-logos+.dgm-testimonial-area {
    padding-top: 120px !important;
}

@media (max-width: 991px) {
    .home-case-studies.dgm-project-area.pb-120 {
        padding-bottom: 40px !important;
    }

    .home-case-studies .dgm-project-text-active.mt-55 {
        margin-top: 28px !important;
    }

    .home-case-studies .dgm-project-slider-wrap .swiper-container.dgm-project-text-active {
        height: 108px !important;
        max-height: 120px;
    }

    .home-brand-logos {
        margin-bottom: 12px;
        padding-top: 0;
        padding-bottom: 0;
    }

    .home-brand-logos+.dgm-testimonial-area {
        padding-top: 32px !important;
        padding-bottom: 60px !important;
    }

    .dgm-testimonial-area .dgm-testimonial-thumb {
        margin-bottom: 32px;
    }

    .dgm-testimonial-area.pb-120 {
        padding-bottom: 40px !important;
    }

    .home-blog-section.pt-120 {
        padding-top: 40px !important;
    }

    .home-blog-section .dgm-blog-title-wrap.mb-60 {
        margin-bottom: 32px !important;
    }
}

@media (max-width: 767px) {
    .home-case-studies.dgm-project-area.pb-120 {
        padding-bottom: 24px !important;
    }

    .home-case-studies .dgm-project-text-active.mt-55 {
        margin-top: 20px !important;
    }

    .home-case-studies .dgm-project-top-wrap {
        margin-bottom: 24px;
    }

    .home-brand-logos+.dgm-testimonial-area {
        padding-top: 20px !important;
        padding-bottom: 48px !important;
    }

    .dgm-testimonial-area .dgm-testimonial-thumb {
        height: 220px;
        margin-bottom: 24px;
    }

    .dgm-testimonial-area.pb-120 {
        padding-bottom: 24px !important;
    }

    .home-blog-section.pt-120 {
        padding-top: 24px !important;
    }

    .home-blog-section .dgm-blog-title-wrap.mb-60 {
        margin-bottom: 20px !important;
    }

    .dgm-testimonial-area .dgm-testimonial-title-box.mb-45 {
        margin-bottom: 20px !important;
    }
}

/* Home ticker strip tilt (case studies divider) */
.home-brand-tilt .tp-brand-wrapper {
    transform: rotate(4deg);
    transform-origin: center;
}

.home-brand-tilt .tp-brand-style-2 {
    margin-top: -96px;
    transform: rotate(-5deg);
    transform-origin: center;
}

@media (max-width: 767px) {

    .home-brand-tilt .tp-brand-wrapper,
    .home-brand-tilt .tp-brand-style-2 {
        transform: rotate(0);
    }

    .home-brand-tilt .tp-brand-style-2 {
        margin-top: 0;
    }
}

/* Home ticker strips – top yellow, bottom black (original layout) */
.home-brand-tilt .tp-brand-wrapper.green-regular-bg {
    background: linear-gradient(90deg, #ffc900 0%, #ffc900 80%, #ff9500 100%) !important;
}

.home-brand-tilt .tp-brand-wrapper.green-regular-bg .tp-brand-title {
    color: #1a1a1a !important;
}

.home-brand-tilt .tp-brand-style-2.black-bg-6 {
    background: linear-gradient(90deg, #8400c7 0%, #6f00ff 100%) !important;
}

.home-brand-tilt .tp-brand-style-2.black-bg-6 .tp-brand-title {
    color: #ffffff !important;
}

/* Footer social – icon alignment + yellow hover */
.dgm-footer-widget-social a span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
    line-height: 1;
}

.dgm-footer-widget-social a span svg {
    display: block;
    width: 16px;
    height: 16px;
    flex-shrink: 0;
}

.dgm-footer-widget-social a:hover {
    color: #1a1a1a !important;
    border-color: #ffc900 !important;
    background-color: #ffc900 !important;
}

/* Services list – yellow arrow buttons */
.dgm-service-area .dgm-service-link {
    background-color: #ffc900 !important;
    border-color: #ffc900 !important;
    color: #1a1a1a !important;
}

.dgm-service-area .dgm-service-item:hover .dgm-service-link {
    background-color: #e6b500 !important;
    border-color: #e6b500 !important;
    color: #1a1a1a !important;
}

.dgm-service-area .dgm-service-content-right.black-text .dgm-service-link {
    background-color: #ffc900 !important;
    border-color: #ffc900 !important;
    color: #1a1a1a !important;
}

/* Back to top + WhatsApp float */
.back-to-top-btn {
    background: #ffc900 !important;
    color: #1a1a1a !important;
    border: 1px solid #ffc900 !important;
    box-shadow: 0 8px 20px rgba(255, 201, 0, 0.35) !important;
    position: relative;
    z-index: 100;
    isolation: isolate;
}

.back-to-top-btn:hover {
    background: #e6b500 !important;
    border-color: #e6b500 !important;
    color: #1a1a1a !important;
}

.whatsapp-float-wrapper {
    position: fixed;
    right: 50px;
    bottom: 50px;
    z-index: 98;
    pointer-events: none;
    transition: bottom 0.35s ease-in-out;
}

.whatsapp-float-wrapper--raised {
    bottom: 108px;
}

.whatsapp-float-btn {
    pointer-events: auto;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 48px;
    height: 48px;
    border-radius: 50%;
    color: #fff;
    background: #25d366;
    box-shadow: 0 8px 20px rgba(37, 211, 102, 0.35);
    transition: transform 0.2s ease, box-shadow 0.2s ease;
    overflow: visible;
    line-height: 0;
    text-decoration: none;
    position: relative;
    z-index: 100;
    isolation: isolate;
}

.whatsapp-float-btn__icon {
    display: block;
    width: 26px;
    height: 26px;
    flex-shrink: 0;
}

.whatsapp-float-btn:hover {
    color: #fff;
    transform: translateY(-3px);
    box-shadow: 0 12px 24px rgba(37, 211, 102, 0.45);
}

/* Keep magic cursor from sitting over float buttons */
.whatsapp-float-wrapper,
.back-to-top-wrapper {
    isolation: isolate;
}

@media (max-width: 767px) {
    .whatsapp-float-wrapper {
        right: 20px;
        bottom: 20px;
    }

    .whatsapp-float-wrapper--raised {
        bottom: 78px;
    }

    .back-to-top-wrapper.back-to-top-btn-show {
        bottom: 20px;
    }
}

/* Contact page – merged office card */
.tp-contact-us-content--merged {
    padding: 36px 28px;
    border-radius: 20px;
    border: 1px solid rgba(255, 255, 255, 0.1);
    background: #1a1b1e;
}

.tp-contact-office-label {
    font-size: 13px;
    font-weight: 600;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: #ffc900;
}

.tp-contact-office-address {
    display: inline-block;
    max-width: 36rem;
    margin: 0 auto;
    color: rgba(255, 255, 255, 0.85);
    line-height: 1.55;
    text-decoration: none;
}

.tp-contact-office-address:hover {
    color: #ffc900;
}

.tp-contact-us-info-details a:not(.tp-contact-office-address) {
    color: rgba(255, 255, 255, 0.85);
    text-decoration: none;
}

.tp-contact-us-info-details a:not(.tp-contact-office-address):hover {
    color: #ffc900;
}

/* Home step section – purple gradient (original) */
.dgm-step-area {
    background: linear-gradient(135deg, #5637e5 0%, #6a47ed 52%, #7b5af3 100%);
    border-radius: 20px;
    padding-top: 46px;
    padding-bottom: 46px;
    margin: 0 12px 24px;
}

.dgm-step-area .dgm-step-title {
    font-size: 44px;
    line-height: 1.15;
}

.dgm-step-area .dgm-step-title,
.dgm-step-area .dgm-step-title-sm,
.dgm-step-area .dgm-step-item p {
    color: #ffffff;
}

.dgm-step-area .dgm-step-number {
    color: rgba(255, 255, 255, 0.12);
}

/* Hero white bubble text must stay readable in dark theme */
body.site-dark-theme .dgm-hero-text-box p {
    color: #141414 !important;
}

/* Hero white bubble spacing cleanup */
.dgm-hero-text-box {
    padding: 24px 22px 20px;
    display: flex;
    flex-direction: column;
    gap: 14px;
}

@media (max-width: 425px) {
    .dgm-hero-text-box {
        display: none;
    }
}

.dgm-hero-text-box img {
    position: absolute;
    top: 12px;
    left: 22px;
    max-width: 175px;
    height: auto;
    margin-bottom: 0;
}

.dgm-hero-text-box p {
    font-size: 30px;
    line-height: 1.08;
    margin-top: 72px;
}

.dgm-step-area .dgm-step-space-2,
.dgm-step-area .dgm-step-space-3,
.dgm-step-area .dgm-step-space-4 {
    text-align: center;
}

@media (min-width: 1200px) {

    .dgm-step-area .dgm-step-space-2,
    .dgm-step-area .dgm-step-space-3,
    .dgm-step-area .dgm-step-space-4 {
        text-align: left;
    }
}

.dgm-step-area .dgm-step-item {
    margin-bottom: 0 !important;
}

@media (max-width: 991px) {
    .dgm-step-area {
        padding: 32px 20px 40px;
        margin: 0 16px 24px;
        border-radius: 16px;
    }

    .dgm-step-area .row.align-items-end {
        align-items: flex-start !important;
    }

    .dgm-step-area .dgm-step-space-1 {
        margin-bottom: 36px !important;
    }

    .dgm-step-area .dgm-step-space-2,
    .dgm-step-area .dgm-step-space-3,
    .dgm-step-area .dgm-step-space-4 {
        margin-left: 0;
        margin-right: 0;
    }

    .dgm-step-area .dgm-step-item:not(.dgm-step-space-1) {
        margin-bottom: 28px !important;
        /* padding-left: 48px; */
        text-align: start;
    }

    .dgm-step-area .dgm-step-space-4 {
        margin-bottom: 0 !important;
    }

    .dgm-step-area .dgm-step-title {
        font-size: 32px;
        line-height: 1.15;
    }

    .dgm-step-area .dgm-step-title.mb-25 {
        margin-bottom: 20px !important;
    }

    .dgm-step-area .dgm-step-number {
        font-size: 56px;
        top: 0;
        left: 0;
    }

    .dgm-step-area .dgm-step-title-sm {
        font-size: 20px;
        margin-bottom: 10px;
    }

    .dgm-step-area .dgm-step-item p {
        font-size: 14px;
        line-height: 1.55;
    }
}

@media (max-width: 767px) {
    .dgm-step-area {
        padding: 28px 18px 36px;
    }

    .dgm-step-area .dgm-step-space-1 .tp-btn-yellow-green {
        display: inline-flex;
        width: 100%;
        justify-content: center;
    }
}

.dgm-step-area .tp-btn-yellow-green.green-solid {
    background-color: #ffc900;
    color: #1a1a1a;
}

.dgm-step-area .tp-btn-yellow-green.green-solid:hover,
.dgm-step-area .tp-btn-yellow-green.green-solid:focus {
    background-color: #e6b500;
    color: #1a1a1a;
}

/* Brand accent – hero Visibility yellow */
.brand-accent-yellow,
body.site-dark-theme .brand-accent-yellow,
body.site-dark-theme .tp-section-subtitle.pre.brand-accent-yellow {
    color: #ffc900 !important;
}

/* Decorative dots – yellow (replaces lime #D0FF71 & orange #FF5722) */
.tp-section-subtitle.pre::before,
.tp-blog-heading-wrap .tp-section-subtitle.pre::before,
.agntix-light .tp-blog-heading-wrap .tp-section-subtitle.pre::before,
.tp-career-details-subtitle::before,
.tp-application-subtitle::before {
    background-color: #ffc900 !important;
}

.tp-section-subtitle.pre.orange-color svg path,
.tp-section-subtitle.pre svg path[stroke='#FF5722'],
.tp-section-subtitle.pre svg path[stroke='#ff5722'] {
    stroke: #ffc900 !important;
}

/* About page – dark theme text visibility */
body.site-dark-theme .crp-about-area .tp-section-subtitle-teko {
    color: rgba(255, 255, 255, 0.9);
}

body.site-dark-theme .crp-about-area .tp-section-subtitle-teko i {
    color: #6a47ed;
}

body.site-dark-theme .crp-about-area .tp-section-title-teko {
    color: #ffffff;
}

body.site-dark-theme .crp-about-area .tp-section-title-teko span {
    color: #6a47ed;
}

body.site-dark-theme .crp-about-area .crp-about-text p {
    color: rgba(255, 255, 255, 0.75);
}




/* About page – main heading uses Poppins (not Teko) */
.crp-about-right .tp-section-title-teko {
    font-family: 'Poppins', sans-serif !important;
    font-weight: 700;
    line-height: 1.1;
}

/* Years of Experience circle – match image 2 style */
/* Circle clips the overflow number, text sits at bottom inside */
.crp-about-exp {
    /* overflow: hidden; */
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-end;
    padding-bottom: 18px;
}

.crp-about-exp-item {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-end;
    width: 100%;
    height: 100%;
}

.crp-about-exp-item span {
    font-family: var(--tp-ff-teko) !important;
    font-weight: 700 !important;
    color: #0e0e0e !important;
    line-height: 0.75 !important;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    display: block;
}

.crp-about-exp-item i {
    font-family: var(--tp-ff-teko) !important;
    font-size: 22px !important;
    font-weight: 700 !important;
    color: #2A4C3A !important;
    font-style: normal !important;
    line-height: 1.1 !important;
    text-align: center;
    display: block;
    margin-top: 4px;
}

/* About – portfolio image gallery (success area) */
.about-portfolio-gallery .about-portfolio-gallery__item {
    min-height: 280px;
    border-radius: 12px;
    background: #141414;
}

.about-portfolio-gallery .crp-success-img {
    min-height: 280px;
}

.about-portfolio-gallery .crp-success-img a {
    display: block;
    height: 100%;
}

.about-portfolio-gallery .crp-success-img img {
    width: 100%;
    height: 100%;
    min-height: 280px;
    object-fit: cover;
    object-position: center;
}

.about-portfolio-gallery .crp-success-about-us-big-img a {
    display: block;
    height: 100%;
}

.about-portfolio-gallery .crp-success-about-us-big-img img {
    object-fit: cover;
    object-position: center;
}

@media (max-width: 767px) {

    .about-portfolio-gallery .about-portfolio-gallery__item,
    .about-portfolio-gallery .crp-success-img,
    .about-portfolio-gallery .crp-success-img img {
        min-height: 220px;
    }
}

/* About – recent website projects */
.crp-project-area.about-recent-projects-section {
    margin-bottom: 120px;
}

.crp-project-area .about-recent-projects-list {
    display: flex;
    flex-direction: column;
    gap: 24px;
}

.crp-project-area .about-recent-project-card {
    position: relative !important;
    top: auto !important;
    left: auto !important;
    width: 100%;
    margin-bottom: 0 !important;
    transform: none !important;
}

.about-recent-website-thumb {
    border-radius: 12px;
    overflow: hidden;
    background: #ffffff;
    aspect-ratio: 540 / 369;
}

.about-recent-website-thumb a {
    display: block;
    width: 100%;
    height: 100%;
}

.about-recent-website-thumb img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: contain;
    object-position: center;
}

.about-recent-project-card .tp-work-number {
    margin-bottom: 24px;
}

.about-recent-project-card .tp-work-title {
    margin-bottom: 8px;
}

.tp-work-item.about-us-3-bg .tp-work-content p {
    color: rgba(42, 76, 58, 0.85);
    margin-bottom: 0;
}

body.site-dark-theme .crp-project-area .tp-section-title-teko {
    color: #ffffff;
}

body.site-dark-theme .crp-project-area .tp-section-title-teko span {
    color: #6a47ed;
}

@media (max-width: 991px) {
    .crp-project-area .crp-project-right {
        padding-left: 0;
        margin-top: 40px;
    }

    .crp-project-area .about-recent-projects-list {
        gap: 20px;
    }
}

/* Primary action buttons – Let's Grow purple */
.tp-contact-form-btn button,
.tp-application-form-btn .tp-btn-yellow-green,
.tp-contact-us-btn .tp-btn-yellow-green.active {
    background: linear-gradient(90deg, #8400c7 0%, #6f00ff 100%) !important;
    border-color: #6f00ff !important;
    color: #fff !important;
}

.tp-contact-form-btn button:hover,
.tp-contact-form-btn button:focus,
.tp-application-form-btn .tp-btn-yellow-green:hover,
.tp-application-form-btn .tp-btn-yellow-green.btn-60:hover,
.tp-contact-us-btn .tp-btn-yellow-green.active:hover {
    background: linear-gradient(90deg, #6f00ff 0%, #8400c7 100%) !important;
    border-color: #8400c7 !important;
    color: #fff !important;
}

/* Shared brand gradient accent – logo yellow */
.brand-accent-gradient {
    background: linear-gradient(90deg, #ffc900 0%, #ff9500 55%, #ffb800 100%);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
    color: transparent;
}

/* Home step section – icons above titles */
.dgm-step-area .dgm-step-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 52px;
    height: 52px;
    margin-bottom: 14px;
    border-radius: 14px;
    color: #1a1a1a;
    background: rgba(255, 255, 255, 0.92);
    box-shadow: 0 4px 14px rgba(0, 0, 0, 0.12);
}

.dgm-step-area .dgm-step-space-2 .dgm-step-icon,
.dgm-step-area .dgm-step-space-3 .dgm-step-icon,
.dgm-step-area .dgm-step-space-4 .dgm-step-icon {
    display: flex;
    /* margin-left: auto; */
    margin-right: auto;
}

@media (min-width: 992px) {

    .dgm-step-area .dgm-step-space-2 .dgm-step-icon,
    .dgm-step-area .dgm-step-space-3 .dgm-step-icon,
    .dgm-step-area .dgm-step-space-4 .dgm-step-icon {
        margin-left: 0;
        margin-right: 0;
        text-align: start;
    }
}

@media (max-width: 425px) {

    .dgm-step-area .dgm-step-space-2 .dgm-step-icon,
    .dgm-step-area .dgm-step-space-3 .dgm-step-icon,
    .dgm-step-area .dgm-step-space-4 .dgm-step-icon {
        margin-left: 0 !important;
        margin-right: 0 !important;
    }
}

/* Let's Grow + Send Message buttons */
.tp-btn-yellow-green.green-solid,
.tp-btn-yellow-green.green-solid button {
    background: linear-gradient(90deg, #8400c7 0%, #6f00ff 100%) !important;
    border-color: #6f00ff !important;
    color: #fff !important;
}

.tp-btn-yellow-green.green-solid:hover,
.tp-btn-yellow-green.green-solid:focus,
.tp-btn-yellow-green.green-solid button:hover,
.tp-btn-yellow-green.green-solid button:focus {
    background: linear-gradient(90deg, #6f00ff 0%, #8400c7 100%) !important;
    border-color: #8400c7 !important;
    color: #fff !important;
}

/* Keep home step CTA button yellow only */
.dgm-step-area .tp-btn-yellow-green.green-solid,
.dgm-step-area .tp-btn-yellow-green.green-solid:hover,
.dgm-step-area .tp-btn-yellow-green.green-solid:focus {
    background: #ffc900 !important;
    border-color: #ffc900 !important;
    color: #1a1a1a !important;
}

/* Global typography: force Poppins across frontend pages */
:root {
    --tp-ff-body: 'Poppins', sans-serif;
    --tp-ff-heading: 'Poppins', sans-serif;
    --tp-ff-p: 'Poppins', sans-serif;
    --tp-ff-inter: 'Poppins', sans-serif;
    --tp-ff-platform: 'Poppins', sans-serif;
    --tp-ff-grotesk: 'Poppins', sans-serif;
    --tp-ff-playfair: 'Poppins', sans-serif;
    --tp-ff-onest: 'Poppins', sans-serif;
    --tp-ff-teko: 'Poppins', sans-serif;
    --tp-ff-phudu: 'Poppins', sans-serif;
    --tp-ff-satisfy: 'Poppins', sans-serif;
    --tp-ff-clash-light: 'Poppins', sans-serif;
    --tp-ff-clash-medium: 'Poppins', sans-serif;
    --tp-ff-clash-semibold: 'Poppins', sans-serif;
    --tp-ff-clash-bold: 'Poppins', sans-serif;
    --tp-ff-mango: 'Poppins', sans-serif;
    --tp-ff-mango-light: 'Poppins', sans-serif;
    --tp-ff-mango-semibold: 'Poppins', sans-serif;
}

html,
body {
    font-family: 'Poppins', sans-serif;
}

/* Legal pages (privacy, terms) */
.legal-page-content {
    line-height: 1.85;
}

.legal-page-content p {
    margin-bottom: 1rem;
}

.legal-page-heading {
    font-size: 1.35rem;
    font-weight: 600;
    margin-top: 2rem;
    margin-bottom: 0.75rem;
}

.legal-page-heading:first-of-type {
    margin-top: 0;
}

.legal-page-list-item {
    padding-left: 1rem;
    position: relative;
}

.legal-page-contact-group {
    margin: 0.5rem 0 1rem;
}

.legal-page-contact-group .legal-page-contact {
    margin: 0;
    padding: 0;
    line-height: 1.5;
}

.legal-page-contact-group .legal-page-contact+.legal-page-contact {
    margin-top: 0.15rem;
}

.legal-page-updated {
    font-size: 0.9rem;
    opacity: 0.7;
}

/* Blog share – copy link button matches social icon buttons */
.postbox-details-social button[data-copy-url],
.sidebar-widget-author-social button[data-copy-url] {
    height: 36px;
    width: 36px;
    line-height: 33px;
    text-align: center;
    margin-bottom: 10px;
    border-radius: 14px;
    display: inline-block;
    background-color: #1a1b1e;
    color: rgba(255, 255, 255, 0.8);
    border: none;
    padding: 0;
    cursor: pointer;
    vertical-align: top;
}

.postbox-details-social button[data-copy-url] svg,
.sidebar-widget-author-social button[data-copy-url] svg {
    height: 15px;
    width: 15px;
}

.postbox-details-social button[data-copy-url]:hover,
.sidebar-widget-author-social button[data-copy-url]:hover {
    color: var(--tp-common-black);
    background-color: var(--tp-common-green-light);
}

.sidebar-widget-author-social button[data-copy-url] {
    margin: 0 5px;
}

.sidebar-widget-author-social button[data-copy-url] span {
    transition: all 0.4s ease-in-out;
    color: var(--tp-common-white);
}

.sidebar-widget-author-social button[data-copy-url]:hover span {
    color: #D0FF71;
}

/* Blog share – copy link success message */
.postbox-copy-link {
    position: relative;
    display: inline-block;
    vertical-align: top;
}

.postbox-copy-success {
    display: none;
    position: absolute;
    bottom: calc(100% + 10px);
    left: 50%;
    transform: translateX(-50%);
    padding: 6px 12px;
    font-size: 12px;
    font-weight: 600;
    line-height: 1.2;
    white-space: nowrap;
    border-radius: 8px;
    background-color: #ffc900;
    color: #141414;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.25);
    pointer-events: none;
    z-index: 10;
}

.postbox-copy-success.is-visible {
    display: block;
}

/* Home about section – heading size, paragraph alignment & spacing */
.dgm-about-area .dgm-about-title-box .tp-section-title-grotesk {
    font-size: 46px;
    line-height: 1.1;
}

@media only screen and (min-width: 1200px) and (max-width: 1399px) {
    .dgm-about-area .dgm-about-title-box .tp-section-title-grotesk {
        font-size: 42px;
    }
}

@media (max-width: 767px) {
    .dgm-about-area .dgm-about-title-box .tp-section-title-grotesk {
        font-size: 36px;
    }
}

.dgm-about-area .dgm-about-content {
    padding-left: 0;
}

.dgm-about-area .dgm-about-content p {
    margin-bottom: 18px;
    padding-right: 0;
}

.dgm-about-area .dgm-about-content p:last-of-type {
    margin-bottom: 36px;
}

/* Contact page – support banner text overlay */
.cn-contactform-support-bg {
    position: relative;
    overflow: hidden;
}

.cn-contactform-support-bg::before {
    content: '';
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, 0.55);
    z-index: 1;
}

.cn-contactform-support-text {
    position: relative;
    z-index: 2;
    padding: 0 24px;
}

/* Home about section – hide secondary image on mobile */
@media (max-width: 767px) {
    .dgm-about-area .dgm-about-thumb-1 {
        display: none !important;
    }

    .dgm-about-area .dgm-about-thumb-wrap {
        padding-bottom: 0;
    }
}

/* About page – mobile layout */
@media (max-width: 991px) {
    .crp-about-3-hero-ptb {
        padding-top: 120px;
        padding-bottom: 32px;
    }
}

@media (max-width: 767px) {
    .crp-about-3-hero-ptb {
        padding-top: 96px;
        padding-bottom: 20px;
    }

    .crp-about-3-hero-ptb .container {
        overflow-x: clip;
    }

    .crp-hero-subtitle .tp-section-subtitle-teko.mb-50 {
        margin-bottom: 12px !important;
    }

    .crp-hero-title.fs-100 {
        font-size: clamp(30px, 8.2vw, 44px) !important;
        line-height: 1.08 !important;
        letter-spacing: -0.02em !important;
        overflow-wrap: break-word;
        word-wrap: break-word;
    }

    .crp-hero-title-box.mb-35 {
        margin-bottom: 20px !important;
    }

    .crp-hero-funfact-bg {
        width: 100%;
        max-width: 100%;
        padding: 24px 20px;
        box-sizing: border-box;
    }

    .crp-hero-funfact-top-content {
        padding-right: 0;
        margin-bottom: 24px;
    }

    .crp-hero-funfact-top-content h4 {
        font-size: 22px;
    }

    .crp-hero-funfact-top-content p {
        font-size: 15px;
        width: 300px;
    }

    .crp-hero-funfact-item h4 {
        font-size: 48px;
    }

    .crp-about-3-funfact {
        margin-top: 8px;
    }

    .crp-banner-wrap {
        height: auto;
        min-height: 180px;
        max-height: 220px;
    }

    .crp-about-area.pt-140 {
        padding-top: 40px !important;
    }

    .crp-about-area.pb-160 {
        padding-bottom: 80px !important;
    }

    .crp-about-left .tp-section-subtitle-teko.mb-120 {
        margin-bottom: 20px !important;
    }

    .crp-about-exp {
        width: min(188px, 58vw);
        height: min(188px, 58vw);
        min-height: 0;
        padding-bottom: 14px;
        margin-bottom: 12px;
        /* overflow: hidden; */
    }

    .crp-about-exp-item span {
        font-size: 64px !important;
        line-height: 0.75 !important;
        margin-bottom: 0 !important;
    }

    .crp-about-exp-item i {
        font-size: 14px !important;
        line-height: 1.2 !important;
        max-width: 100%;
        padding: 0 4px;
    }

    .crp-about-right .tp-section-title-teko.mb-55 {
        font-size: clamp(22px, 6.2vw, 30px);
        line-height: 1.2;
        margin-bottom: 28px !important;
    }
}

@media (max-width: 575px) {
    .crp-about-3-hero-ptb {
        padding-top: 88px;
    }

    .crp-hero-title.fs-100 {
        font-size: clamp(26px, 7.5vw, 36px) !important;
    }

    .crp-about-exp {
        width: min(168px, 64vw);
        height: min(168px, 64vw);
        /* overflow: hidden; */
    }

    .crp-about-exp-item span {
        font-size: 165px !important;
    }

    .crp-about-exp-item i {
        font-size: 13px !important;
    }
}

/* Service enquiry popup — matches site dark forms */
.service-enquiry-popup {
    max-width: 520px;
    margin: 0 auto;
    background: transparent;
}

.service-enquiry-popup__dialog {
    position: relative;
    background: #161616;
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-radius: 16px;
    overflow: hidden;
    box-shadow: 0 24px 80px rgba(0, 0, 0, 0.55);
}

.service-enquiry-popup__header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    padding: 28px 32px 22px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.08);
    background: linear-gradient(180deg, rgba(132, 0, 199, 0.18) 0%, transparent 100%);
}

.service-enquiry-popup__eyebrow {
    display: block;
    font-size: 12px;
    font-weight: 600;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: rgba(255, 255, 255, 0.55);
    margin-bottom: 6px;
}

.service-enquiry-popup__title {
    margin: 0;
    font-size: 26px;
    font-weight: 700;
    line-height: 1.2;
    color: #fff;
    letter-spacing: -0.02em;
}

.service-enquiry-popup__close {
    position: absolute;
    top: 24px;
    right: 28px;
    z-index: 10;
    flex-shrink: 0;
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    padding: 0;
    border: 1px solid rgba(255, 255, 255, 0.15);
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.05);
    color: rgba(255, 255, 255, 0.7);
    opacity: 1;
    cursor: pointer;
    transition: border-color 0.25s ease, background 0.25s ease, color 0.25s ease;
}

.service-enquiry-popup__close:hover {
    border-color: rgba(255, 255, 255, 0.45);
    background: rgba(255, 255, 255, 0.15);
    color: #fff;
}

/* Body + tp-contact-us-wrap share one node — do not zero padding on .tp-contact-us-wrap */
.service-enquiry-popup__body.tp-contact-us-wrap {
    padding: 28px 32px 32px !important;
    background: transparent;
    box-sizing: border-box;
}

.service-enquiry-popup .service-enquiry-form {
    width: 100%;
    box-sizing: border-box;
}

.service-enquiry-popup .tp-contact-form-input {
    margin-bottom: 20px !important;
}

.service-enquiry-popup .tp-contact-form-input:last-of-type {
    margin-bottom: 24px !important;
}

.service-enquiry-popup .tp-contact-form-input label {
    margin-bottom: 10px;
    font-size: 15px;
    font-weight: 500;
    color: rgba(255, 255, 255, 0.85);
}

.service-enquiry-popup .tp-contact-form-input input,
.service-enquiry-popup .tp-contact-form-input textarea {
    width: 100%;
    padding: 14px 16px;
    font-size: 15px;
    line-height: 1.4;
    border-radius: 8px;
    background: #302f32;
    border: 1px solid rgba(255, 255, 255, 0.08);
    color: #fff;
}

.service-enquiry-popup .tp-contact-form-input input::placeholder,
.service-enquiry-popup .tp-contact-form-input textarea::placeholder {
    color: rgba(255, 255, 255, 0.4);
}

.service-enquiry-popup .tp-contact-form-input input:focus,
.service-enquiry-popup .tp-contact-form-input textarea:focus {
    background: #1b1b1d;
    border-color: #8400c7;
    outline: none;
}

.service-enquiry-popup .service-enquiry-form__service input[readonly] {
    background: rgba(132, 0, 199, 0.12);
    border-color: rgba(132, 0, 199, 0.35);
    color: #fff;
    font-weight: 500;
    cursor: default;
}

.service-enquiry-popup .service-enquiry-form__message textarea {
    height: 110px;
    min-height: 110px;
    resize: vertical;
}

.service-enquiry-popup .tp-contact-form-btn {
    margin-top: 4px;
}

.service-enquiry-popup .tp-contact-form-btn button {
    width: 100%;
    border-radius: 10px;
    padding: 18px 24px;
}

.service-enquiry-popup .ajax-response {
    font-size: 14px;
    color: rgba(255, 255, 255, 0.75);
}

.service-enquiry-popup .ajax-response.success {
    color: #7ee787;
}

.service-enquiry-popup .ajax-response.error {
    color: #ff8a8a;
}

.service-enquiry-mfp .mfp-bg {
    opacity: 0.92;
    background: #050505;
}

.service-enquiry-mfp .mfp-content {
    max-width: 544px;
    width: calc(100% - 32px);
    margin-left: auto;
    margin-right: auto;
    box-sizing: border-box;
}

.service-enquiry-mfp .mfp-close {
    display: none;
}

@media (min-width: 768px) {
    .service-enquiry-popup {
        max-width: 720px;
    }
    .service-enquiry-mfp .mfp-content {
        max-width: 744px;
    }
    .service-enquiry-popup .service-enquiry-form {
        display: grid;
        grid-template-columns: 1fr 1fr;
        column-gap: 20px;
    }
    .service-enquiry-popup .service-enquiry-form__service {
        grid-column: span 1;
    }
    .service-enquiry-popup .service-enquiry-form__name {
        grid-column: span 1;
    }
    .service-enquiry-popup .service-enquiry-form__email {
        grid-column: span 1;
    }
    .service-enquiry-popup .service-enquiry-form__phone {
        grid-column: span 1;
    }
    .service-enquiry-popup .service-enquiry-form__message {
        grid-column: span 2;
    }
    .service-enquiry-popup .captcha-container {
        grid-column: span 2;
    }
    .service-enquiry-popup .tp-contact-form-btn {
        grid-column: span 2;
    }
}

/* Blog index – hero, compact cards (no excerpt) */
.blog-page-hero {
    padding-bottom: 130px;
}

.blog-list-section .blog-list-row {
    --bs-gutter-y: 1.5rem;
}

.blog-list-card {
    display: flex;
    flex-direction: column;
    height: 100%;
}

.blog-list-card__top {
    margin-bottom: 1.25rem;
}

.blog-list-card__thumb {
    margin-bottom: 1.25rem;
}

.blog-list-card__body {
    display: flex;
    flex-direction: column;
    flex: 1;
    padding-bottom: 0;
}

.blog-list-card__meta {
    gap: 0.5rem 1rem;
    margin-bottom: 0.875rem;
}

.blog-list-card__category {
    font-size: 14px;
    font-weight: 600;
    line-height: 1.3;
    color: #6a47ed;
}

body.site-dark-theme .blog-list-card__category {
    color: #a78bfa;
}

.blog-list-card__read-time {
    font-size: 14px;
    font-weight: 500;
    color: rgba(255, 255, 255, 0.55);
}

.blog-list-card__title {
    margin-bottom: 1.25rem;
    flex: 1;
}

.blog-list-card__title a {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
    overflow: hidden;
}

.blog-list-card__action {
    margin-top: auto;
}

@media (max-width: 991px) {
    .blog-page-hero {
        padding-bottom: 72px;
    }

    .tp-breadcrumb-area .tp-blog-title {
        font-size: clamp(2.25rem, 8vw, 3.5rem);
        letter-spacing: -0.02em;
        line-height: 1.12;
    }
}

@media (max-width: 767px) {
    .tp-breadcrumb-area.tp-breadcrumb-ptb {
        padding-top: 120px;
    }

    .tp-breadcrumb-area.tp-breadcrumb-ptb.portfolio-main {
        padding-top: 150px;
    }

    .blog-page-hero {
        padding-bottom: 40px;
    }

    .blog-list-section {
        padding-top: 0;
    }

    .blog-list-section .container-1330 {
        padding-left: 16px;
        padding-right: 16px;
    }

    .blog-list-card {
        padding: 18px 14px;
    }

    .blog-list-card__top {
        margin-bottom: 1rem;
        padding: 0 4px;
    }

    .blog-list-card__thumb {
        margin-bottom: 1rem;
    }

    .blog-list-card__body {
        padding: 0 4px;
    }

    .blog-list-card__title {
        margin-bottom: 1rem;
        font-size: 1.25rem;
        line-height: 1.35;
    }

    .blog-list-card .tp-blog-masonry-item-user-content span {
        font-size: 14px;
    }

    .blog-list-card .tp-blog-masonry-item-user-content p {
        display: none;
    }

    .blog-list-card .tp-blog-masonry-item-time span {
        font-size: 13px;
    }

    .blog-list-card .tp-blog-masonry-item-top {
        padding: 0;
    }
}

@media (max-width: 767px) {
    .service-enquiry-popup__dialog {
        border-radius: 12px;
    }
    .service-enquiry-popup__header {
        padding: 18px 20px 14px;
    }
    .service-enquiry-popup__close {
        top: 14px;
        right: 16px;
        width: 32px;
        height: 32px;
    }
    .service-enquiry-popup__eyebrow {
        font-size: 10px;
        margin-bottom: 4px;
    }
    .service-enquiry-popup__title {
        font-size: 20px;
    }
    .service-enquiry-popup__body.tp-contact-us-wrap {
        padding: 18px 20px 20px !important;
    }
    .service-enquiry-popup .tp-contact-form-input {
        margin-bottom: 12px !important;
    }
    .service-enquiry-popup .tp-contact-form-input:last-of-type {
        margin-bottom: 16px !important;
    }
    .service-enquiry-popup .tp-contact-form-input label {
        font-size: 13px;
        margin-bottom: 6px;
    }
    .service-enquiry-popup .tp-contact-form-input input,
    .service-enquiry-popup .tp-contact-form-input textarea {
        padding: 10px 12px;
        font-size: 14px;
        border-radius: 6px;
    }
    .service-enquiry-popup .service-enquiry-form__message textarea {
        height: 80px;
        min-height: 80px;
    }
    .captcha-container {
        gap: 10px;
        margin-bottom: 15px;
    }
    .captcha-img-box {
        height: 38px;
        border-radius: 8px;
    }
    .reload-captcha-btn {
        height: 38px;
        width: 38px;
        border-radius: 8px;
    }
    .reload-captcha-btn svg {
        width: 14px;
        height: 14px;
    }
    .captcha-container .tp-contact-form-input input {
        height: 38px !important;
    }
    .service-enquiry-popup .tp-contact-form-btn button {
        padding: 14px 20px;
        font-size: 14px;
        border-radius: 8px;
    }
    .service-enquiry-mfp .mfp-content {
        width: calc(100% - 24px);
    }
}

/* Blog details responsive layout overrides */
@media (max-width: 991px) {
    .postbox-details-thumb img {
        max-height: 220px;
        width: 100%;
        object-fit: cover;
        border-radius: 12px;
    }

    .postbox-details-item {
        padding-bottom: 20px !important;
        margin-bottom: 15px !important;
    }
}

@media (max-width: 767px) {
    .postbox-title.fs-54 {
        font-size: 26px !important;
        line-height: 1.35;
        margin-bottom: 15px;
    }

    .postbox-details-thumb {
        max-width: 100%;
        margin-bottom: 20px !important;
        display: flex;
        justify-content: center;
    }

    .postbox-details-thumb img {
        max-height: 280px;
        width: 100%;
        object-fit: cover;
        border-radius: 12px;
    }

    .blog-content img {
        max-height: 200px;
        width: auto !important;
        max-width: 100%;
        margin: 12px auto !important;
        display: block;
        object-fit: contain;
    }

    .postbox-area {
        padding-top: 60px !important;
        padding-bottom: 60px !important;
    }

    .postbox-wrapper {
        margin-bottom: 40px !important;
    }

    .postbox-details-item {
        padding-bottom: 15px !important;
        margin-bottom: 10px !important;
    }
}

@media (max-width: 575px) {
    .postbox-details-item {
        padding: 20px 16px 15px !important;
    }
}

/* Captcha Layout overrides */
.captcha-container {
    display: flex;
    align-items: start;
    gap: 15px;
    margin-bottom: 20px;
}

.captcha-img-box {
    border-radius: 10px;
    overflow: hidden;
    height: 45px;
    display: flex;
    align-items: center;
    border: 1px solid rgba(255, 255, 255, 0.1);
    background-color: #141414;
    flex-shrink: 0;
}

.captcha-img {
    height: 100%;
    width: auto;
    object-fit: cover;
}

.reload-captcha-btn {
    background: transparent;
    border: 1px solid rgba(255, 255, 255, 0.2);
    color: #fff;
    border-radius: 10px;
    height: 45px;
    width: 45px;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: all 0.3s ease;
    flex-shrink: 0;
}

.reload-captcha-btn:hover {
    background: rgba(255, 255, 255, 0.1);
    border-color: rgba(255, 255, 255, 0.4);
    color: #e9ff48;
}

.reload-captcha-btn svg {
    transition: transform 0.4s ease;
}

.reload-captcha-btn:hover svg {
    transform: rotate(180deg);
}

/* ==========================================
   Ajax Form Response Alert Styling
   ========================================== */
.ajax-response {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 14px 18px;
    border-radius: 12px;
    font-size: 14px;
    font-weight: 500;
    line-height: 1.5;
    margin-top: 15px !important;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    box-shadow: 0 8px 30px rgba(0, 0, 0, 0.3);
    width: 100%;
    box-sizing: border-box;
}

.ajax-response:empty {
    display: none !important;
    opacity: 0;
    padding: 0 !important;
    margin: 0 !important;
    border: none !important;
    box-shadow: none !important;
}

/* Error feedback styling */
.ajax-response.error {
    background: rgba(239, 68, 68, 0.08) !important;
    border: 1px solid rgba(239, 68, 68, 0.25) !important;
    color: #ff6b6b !important;
    backdrop-filter: blur(8px);
    animation: shakeFeedback 0.4s ease-in-out;
}

.ajax-response.error::before {
    content: "";
    display: inline-block;
    width: 18px;
    height: 18px;
    flex-shrink: 0;
    background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="%23ff6b6b" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="10"></circle><line x1="12" y1="8" x2="12" y2="12"></line><line x1="12" y1="16" x2="12.01" y2="16"></line></svg>');
    background-repeat: no-repeat;
    background-size: contain;
}

/* Success feedback styling */
.ajax-response.success {
    background: rgba(16, 185, 129, 0.08) !important;
    border: 1px solid rgba(16, 185, 129, 0.25) !important;
    color: #7ee787 !important;
    backdrop-filter: blur(8px);
    animation: slideUpFeedback 0.3s ease-in-out;
}

.ajax-response.success::before {
    content: "";
    display: inline-block;
    width: 18px;
    height: 18px;
    flex-shrink: 0;
    background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="%237ee787" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><path d="M22 11.08V12a10 10 0 1 1-5.93-9.14"></path><polyline points="22 4 12 14.01 9 11.01"></polyline></svg>');
    background-repeat: no-repeat;
    background-size: contain;
}

/* Micro-animations */
@keyframes shakeFeedback {
    0%, 100% { transform: translateX(0); }
    20%, 60% { transform: translateX(-6px); }
    40%, 80% { transform: translateX(6px); }
}

@keyframes slideUpFeedback {
    from {
        opacity: 0;
        transform: translateY(8px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}
