/* =========================================
 * 1. Variables & Global Reset
 * ========================================= */
:root {
    --primary-color: #6e782e;
    --secondary-color: #939f4f;
    --accent-color: #d81920;
    --text-color: #48596d;
    --heading-font: 'Parkinsans', sans-serif;
    --body-font: 'Mona Sans', sans-serif;
}

body {
    font-family: var(--body-font);
    color: var(--text-color);
    font-size: 16px;
}

/* =========================================
 * 2. Typography & Links
 * ========================================= */
h1, h2, h3, h4, h5, h6 {
    font-family: var(--heading-font);
}

a {
    color: var(--primary-color);
}
a:hover {
    color: var(--secondary-color);
}

/* =========================================
 * 3. General Layout & Utility
 * ========================================= */
.site-main {
    display: block;
}

.wpb-content-wrapper {
    margin-bottom: 20px;
}

.stat-mini {
    min-width: 120px;
    padding: 20px;
    background: #f8f9f4;
    border-radius: 10px;
    border-bottom: 3px solid var(--primary-color);
}

/* =========================================
 * 4. Page Hero Banner
 * ========================================= */
.page-hero-wraper {
    position: relative;
    padding: 180px 0 80px;
    overflow: hidden;
}
.page-hero-inner {
    position: relative;
    z-index: 2;
    max-width: 700px;
}
.page-hero-inner h1 {
    line-height: 1.2;
}
.page-hero-shape {
    position: absolute;
    right: -100px;
    top: 50%;
    transform: translateY(-50%);
    width: 500px;
    height: 500px;
    background: rgba(115,127,45,0.08);
    border-radius: 50%;
    z-index: 1;
}
.page-hero-shape::after {
    content: '';
    position: absolute;
    right: 60px;
    top: 60px;
    bottom: 60px;
    left: 60px;
    border: 2px solid rgba(147,159,79,0.15);
    border-radius: 50%;
}
.page-breadcrumb a:hover {
    color: #fff;
    text-decoration: none;
}
.page-hero-inner .sub_title {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 14px;
    font-weight: 600;
    letter-spacing: 2px;
    text-transform: uppercase;
}

/* =========================================
 * 5. Blog Grid Listing
 * ========================================= */
.custom-blog-card {
    width: calc(33.333% - 20px);
    box-shadow: 0 0 15px rgba(0,0,0,0.05);
    padding: 20px;
    border-radius: 8px;
    background: #fff;
    transition: transform 0.3s ease;
}
.custom-blog-card:hover {
    transform: translateY(-5px);
}
@media (max-width: 991px) {
    .custom-blog-card {
        width: calc(50% - 15px);
    }
}
@media (max-width: 768px) {
    .custom-blog-card {
        width: 100%;
    }
}

/* =========================================
 * 6. Single Post Styles
 * ========================================= */
.single-wraper h1.entry-title {
    font-size: 36px;
    line-height: 1.3;
}
.single-wraper .entry-content {
    padding-top: 30px;
}
.single-wraper .entry-content p {
    line-height: 1.8;
    margin-bottom: 20px;
    font-size: 17px;
}

/* =========================================
 * 7. Comments Section & Form
 * ========================================= */
#comments {
    margin-top: 20px;
}
.comments-title, .comment-reply-title {
    font-size: 20px;
    font-family: var(--heading-font);
    color: #1a2208;
    margin-bottom: 20px;
    font-weight: 700;
}
.comment-list {
    list-style: none;
    padding: 0;
    margin: 0 0 20px;
}
.comment-list .comment {
    margin-bottom: 15px;
    background: #f8f9f4;
    padding: 15px 20px;
    border-radius: 8px;
    border: 1px solid #e1e4d3;
}
.comment-list .comment .comment-meta {
    margin-bottom: 15px;
    font-size: 14px;
    color: #666;
}
.comment-list .comment .comment-author {
    font-weight: bold;
    color: #1a2208;
    font-size: 16px;
}
.comment-list .comment .comment-content p {
    font-size: 15px;
    color: var(--text-color);
    margin-bottom: 10px;
}
.comment-list .comment .reply a {
    color: var(--primary-color);
    font-weight: 600;
    font-size: 13px;
    text-transform: uppercase;
    text-decoration: none;
}
.comment-list .comment .reply a:hover {
    color: #1a2208;
}

/* Comment Form Layout */
#respond {
    background: #fff;
    padding: 20px;
    border-radius: 8px;
    box-shadow: 0 5px 15px rgba(0,0,0,0.03);
    border: 1px solid #e1e4d3;
}
@media (min-width: 576px) {
    #respond .comment-form {
        display: flex;
        flex-wrap: wrap;
        justify-content: space-between;
    }
    #respond .comment-form > * {
        width: 100%;
    }
    #respond .comment-form .comment-form-author,
    #respond .comment-form .comment-form-email {
        width: calc(50% - 10px);
    }
}
#respond .comment-form label {
    display: block;
    margin-bottom: 5px;
    font-weight: 600;
    color: #1a2208;
    font-size: 13px;
}

/* Checkbox Alignment */
#respond .comment-form .comment-form-cookies-consent {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 15px;
}
#respond .comment-form .comment-form-cookies-consent input[type="checkbox"] {
    width: auto;
    margin: 0;
}
#respond .comment-form .comment-form-cookies-consent label {
    display: inline;
    font-weight: normal;
    margin-bottom: 0;
    color: #666;
}

/* Input Fields */
#respond .comment-form input[type="text"],
#respond .comment-form input[type="email"],
#respond .comment-form input[type="url"],
#respond .comment-form textarea {
    width: 100%;
    padding: 8px 15px;
    border: 1px solid #ced4da;
    border-radius: 6px;
    font-size: 14px;
    margin-bottom: 12px;
    font-family: inherit;
    transition: all 0.3s;
}
#respond .comment-form textarea {
    height: 100px;
}
#respond .comment-form input[type="text"]:focus,
#respond .comment-form input[type="email"]:focus,
#respond .comment-form input[type="url"]:focus,
#respond .comment-form textarea:focus {
    border-color: var(--secondary-color);
    outline: none;
    box-shadow: 0 0 0 0.2rem rgba(147,159,79,0.25);
}

/* Submit Button */
#respond .comment-form .form-submit input[type="submit"] {
    display: inline-block;
    padding: 10px 24px;
    background: var(--primary-color);
    color: #fff;
    border: none;
    border-radius: 30px;
    font-weight: 600;
    font-size: 13px;
    text-transform: uppercase;
    letter-spacing: 1px;
    cursor: pointer;
    transition: all 0.3s;
}
#respond .comment-form .form-submit input[type="submit"]:hover {
    background: #1a2208;
}
.comment-notes, .logged-in-as {
    font-size: 13px;
    color: #666;
    margin-bottom: 15px;
}

/* =========================================
 * 8. Contact Form 7
 * ========================================= */
.wpcf7-form-control.wpcf7-text,
.wpcf7-form-control.wpcf7-textarea,
.wpcf7-form-control.wpcf7-select,
.wpcf7-form-control.wpcf7-date,
.wpcf7-form-control.wpcf7-number {
    display: block;
    width: 100%;
    padding: 12px 20px;
    font-size: 16px;
    font-weight: 400;
    line-height: 1.5;
    color: #495057;
    background-color: #fff;
    background-clip: padding-box;
    border: 1px solid #ced4da;
    border-radius: 30px;
    transition: border-color .15s ease-in-out, box-shadow .15s ease-in-out;
    margin-bottom: 15px;
    font-family: inherit;
}
.wpcf7-form-control.wpcf7-textarea {
    min-height: 80px;
    resize: vertical;
}
.wpcf7-form-control.wpcf7-text:focus,
.wpcf7-form-control.wpcf7-textarea:focus,
.wpcf7-form-control.wpcf7-select:focus {
    color: #495057;
    background-color: #fff;
    border-color: var(--secondary-color);
    outline: 0;
    box-shadow: 0 0 0 0.2rem rgba(147,159,79,0.25);
}

/* CF7 Grid Layout Fallback */
.wpcf7 form .row {
    display: flex;
    flex-wrap: wrap;
    margin-right: -15px;
    margin-left: -15px;
}
.wpcf7 form .col-md-6 {
    flex: 0 0 50%;
    max-width: 50%;
    padding-right: 15px;
    padding-left: 15px;
}
.wpcf7 form .col-md-12 {
    flex: 0 0 100%;
    max-width: 100%;
    padding-right: 15px;
    padding-left: 15px;
}
@media (max-width: 768px) {
    .wpcf7 form .col-md-6 {
        flex: 0 0 100%;
        max-width: 100%;
    }
}

/* CF7 Submit Button */
.wpcf7-submit {
    display: inline-block;
    font-weight: 600;
    color: #fff;
    text-align: center;
    vertical-align: middle;
    user-select: none;
    background-color: var(--secondary-color);
    border: 1px solid var(--secondary-color);
    padding: 12px 30px;
    font-size: 16px;
    line-height: 1.5;
    border-radius: 30px;
    transition: all 0.3s ease;
    cursor: pointer;
    margin-top: 15px;
    text-transform: uppercase;
    letter-spacing: 1px;
}
.wpcf7-submit:hover {
    background-color: #2e3311;
    border-color: #2e3311;
    color: #fff;
}
.wpcf7-spinner {
    margin-left: 10px;
}
div.wpcf7-response-output {
    margin: 20px 0 0;
    padding: 10px 15px;
    border-radius: 4px;
    font-size: 15px;
}

/* =========================================
 * 10. Contact Us Page Studio Grid & Duplicate Hiding
 * ========================================= */
.contact-studio-grid {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 20px;
}
.contact-card-box {
    width: calc(25% - 15px);
    background: #fff;
    padding: 40px 20px;
    text-align: center;
    border-radius: 12px;
    box-shadow: 0 10px 30px rgba(0,0,0,0.05);
    box-sizing: border-box;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}
.contact-card-box:hover {
    transform: translateY(-5px);
    box-shadow: 0 15px 35px rgba(0,0,0,0.1);
}

/* On the dedicated Contact Us page, hide duplicate contact details in 'Start your Conversation' and center the form */
.contact-page-cta-wrapper .formfill-block {
    display: flex !important;
    justify-content: center !important;
}
.contact-page-cta-wrapper .formfill-block .formfill-1:first-child {
    display: none !important;
}
.contact-page-cta-wrapper .formfill-block .formfill-1:last-child {
    width: 100% !important;
    max-width: 780px !important;
    float: none !important;
    margin: 0 auto !important;
}

/* =========================================
 * 9. Pixel-Perfect Responsive Suite (Definitive Structural Overrides)
 * ========================================= */

.d-mobile-only {
    display: none !important;
}

/* Ensure captions and action buttons appear immediately on all slider images without waiting for JS transition callbacks */
.slider-home .slider-caption,
.slider-home .content,
.slider-home .from-bottom,
.slider-home .contentright {
    opacity: 1 !important;
    visibility: visible !important;
    margin-top: 0 !important;
}

/* Global horizontal overflow prevention and width bounding */
html, body, .maindiv {
    overflow-x: hidden !important;
    max-width: 100% !important;
    width: 100% !important;
    position: relative !important;
}

/* Ensure medias and inputs never exceed their parent containers */
img, iframe, video, input, select, textarea, .wpcf7-form-control-wrap {
    max-width: 100% !important;
    height: auto;
    box-sizing: border-box !important;
}

/* -----------------------------------------
 * Desktop / Small Laptop (max-width: 1199px)
 * ----------------------------------------- */
@media (max-width: 1199px) {
    .container, .autocontainer {
        width: 96% !important;
        max-width: 960px !important;
        margin: 0 auto !important;
        box-sizing: border-box !important;
    }
    .slider-caption h2 {
        font-size: 44px !important;
        line-height: 1.2 !important;
    }
    .fun_fact_container {
        left: 20px !important;
        bottom: 40px !important;
        max-width: 90% !important;
    }
}

/* -----------------------------------------
 * Tablet & Tablet Landscape (max-width: 991px)
 * ----------------------------------------- */
@media (max-width: 991px) {
    .container, .autocontainer, .full-container, .header-wraper, .middle-wraper, .middle-back, .nav-wraper {
        width: 100% !important;
        max-width: 100% !important;
        padding-left: 20px !important;
        padding-right: 20px !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
        box-sizing: border-box !important;
        overflow: visible !important;
    }
    .header-wraper, .middle-wraper, .middle-back, .nav-wraper {
        padding-left: 0 !important;
        padding-right: 0 !important;
    }
    
    /* Header & Navigation Stacking */
    .top-info-box {
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        text-align: center !important;
        gap: 10px !important;
        padding: 10px 0 !important;
    }
    .topcontact ul, .top-social ul {
        display: flex !important;
        justify-content: center !important;
        margin: 0 !important;
        padding: 0 !important;
    }
    .header-wraper, .middle-wraper {
        position: absolute !important;
        top: 0 !important;
        left: 0 !important;
        right: 0 !important;
        width: 100% !important;
        background: transparent !important;
        z-index: 9999 !important;
    }
    .middle-back {
        display: flex !important;
        flex-wrap: nowrap !important;
        justify-content: space-between !important;
        align-items: center !important;
        position: relative !important;
        padding: 12px 0 !important;
        width: 100% !important;
        max-width: 100% !important;
        box-sizing: border-box !important;
    }
    .logo {
        flex: 0 1 auto !important;
        max-width: 65% !important;
        float: none !important;
    }
    .logo img {
        max-width: 150px !important;
        float: none !important;
        height: auto !important;
        display: block !important;
        position: relative !important;
        z-index: 100 !important;
    }
    .nav-wraper {
        width: auto !important;
        float: right !important;
        margin: 0 0 0 auto !important;
        display: flex !important;
        flex: 0 0 auto !important;
        align-items: center !important;
        justify-content: flex-end !important;
        position: relative !important;
    }
    #menu-icon {
        float: right !important;
        margin: 0 0 0 auto !important;
        position: relative !important;
        display: inline-block !important;
        cursor: pointer !important;
        z-index: 1000 !important;
        width: auto !important;
        border: 1px solid rgba(255, 255, 255, 0.4) !important;
        border-radius: 6px !important;
        padding: 5px 10px !important;
    }
    #menu-icon i {
        font-size: 22px !important;
        color: #fff !important;
        padding: 4px !important;
    }
    
    /* Resolve Hamburger Menu Jump Bug: Position parallel to right edge under button */
    .sf-menu, .sf-menu.hsf {
        position: absolute !important;
        top: 100% !important;
        left: auto !important;
        right: 0 !important;
        width: 250px !important;
        max-width: 85vw !important;
        background: #ffffff !important;
        box-shadow: 0 15px 35px rgba(0, 0, 0, 0.3) !important;
        z-index: 99999 !important;
        float: none !important;
        margin-top: 8px !important;
        border-radius: 8px !important;
        overflow: hidden !important;
    }
    .sf-menu > li {
        width: 100% !important;
        float: none !important;
        display: block !important;
        border-bottom: 1px solid #eeeeee !important;
        background: #ffffff !important;
    }
    .sf-menu > li > a {
        display: block !important;
        padding: 14px 20px !important;
        color: #222222 !important;
        font-size: 16px !important;
        font-weight: 600 !important;
        text-align: left !important;
        width: 100% !important;
        box-sizing: border-box !important;
        text-decoration: none !important;
    }
    .sf-menu > li > a:hover, .sf-menu > li.current > a {
        color: #59633e !important;
        background: #f4f6f0 !important;
    }
    
    /* Hero Banner & Absolute Position Resets: Full photo background & caption at lower side */
    .homeslider-wraper {
        height: auto !important;
        min-height: 600px !important;
        padding: 0 !important;
        position: relative !important;
        overflow: hidden !important;
    }
    .slider-wrapper, #slider, .slider-home {
        position: relative !important;
        width: 100% !important;
        min-height: 600px !important;
        height: 100% !important;
    }
    .slider-home {
        display: flex !important;
        flex-direction: column !important;
        justify-content: flex-end !important;
        overflow: hidden !important;
        max-width: 100% !important;
    }
    .slider-home img.bg, .slider-home .bg {
        position: absolute !important;
        top: 0 !important;
        left: 0 !important;
        width: 100% !important;
        height: 100% !important;
        object-fit: cover !important;
        object-position: center !important;
        z-index: 1 !important;
    }
    .slider-caption {
        width: 100% !important;
        max-width: 100% !important;
        margin: auto 0 0 0 !important;
        position: relative !important;
        z-index: 10 !important;
        padding: 240px 20px 40px !important;
        top: auto !important;
        bottom: 0 !important;
        left: 0 !important;
        right: 0 !important;
        transform: none !important;
        box-sizing: border-box !important;
        text-align: left !important;
        background: linear-gradient(180deg, rgba(0,0,0,0) 0%, rgba(0,0,0,0.35) 45%, rgba(0,0,0,0.75) 100%) !important;
    }
    .slider-caption h2 {
        font-size: 34px !important;
        line-height: 1.3 !important;
        margin-bottom: 20px !important;
        word-wrap: break-word !important;
        color: #ffffff !important;
    }
    .slider-caption h2 a {
        position: relative !important;
        top: 0 !important;
        margin-top: 15px !important;
        display: inline-flex !important;
        flex-direction: column !important;
        font-size: 16px !important;
        line-height: 1.5 !important;
        color: #ffffff !important;
    }
    .slider-caption h2 a svg {
        max-width: 100% !important;
        width: 220px !important;
        height: auto !important;
        margin-top: 5px !important;
    }
    
    /* NEUTRALIZE ABSOLUTE POSITION TRAP: right: -50% */
    .contentright {
        position: relative !important;
        top: auto !important;
        right: auto !important;
        left: auto !important;
        bottom: auto !important;
        width: 100% !important;
        max-width: 100% !important;
        float: none !important;
        margin: 20px 0 0 0 !important;
        box-sizing: border-box !important;
    }
    
    /* Hide 1500+ Unique Spaces Designed Box in Mobile View as requested */
    .fun_fact_container {
        display: none !important;
    }

    /* Definitive :nth-child(n) Specificity Overrides for ALL Columns */
    .about-block,
    .choose-block,
    .performance-block,
    .formfill-block,
    .step-block {
        display: flex !important;
        flex-direction: column !important;
        gap: 35px !important;
        width: 100% !important;
        max-width: 100% !important;
    }
    
    .about-1, .about-1:nth-child(n),
    .choose-1, .choose-1:nth-child(n),
    .performance-1, .performance-1:nth-child(n),
    .formfill-1, .formfill-1:nth-child(n),
    .step-1, .step-1:nth-child(n),
    .project-1, .project-1:nth-child(n),
    .blog-1, .blog-1:nth-child(n),
    .blog-row, .blog-row:nth-child(n),
    .formBlock, .formBlock:nth-child(n) {
        width: 100% !important;
        max-width: 100% !important;
        float: none !important;
        margin: 0 !important;
        box-sizing: border-box !important;
    }
    
    .about-1:first-child .about-1-inner {
        margin: 0 !important;
    }
    
    /* Projects Category Filter Tabs */
    .tabstopbox {
        display: flex !important;
        flex-direction: column !important;
        align-items: flex-start !important;
        gap: 15px !important;
        width: 100% !important;
        max-width: 100% !important;
    }
    .tab-links {
        display: flex !important;
        flex-wrap: wrap !important;
        gap: 10px !important;
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
    }
    .tab-links li {
        display: inline-block !important;
        margin: 0 !important;
    }
    
    /* Experience & Certification Banners & Clutter Removal */
    .d-mobile-only {
        display: inline !important;
    }
    .experience-wrapper {
        justify-content: center;
        text-align: center;
        flex-wrap: wrap;
    }
    /* Hide empty frame/column before the About Us section as well as internal experience counters on mobile view */
    .about-block .about-1:first-child,
    .experience-wrapper .top_contnet,
    .experience-wrapper .right_content {
        display: none !important;
    }
    .experience-wrapper .left_content {
        width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
    }
    /* Hide hanging lamp graphic column and fun fact design style counters in Why Choose Us on mobile view */
    .choose-block .choose-1:first-child,
    .choose-block .fun-fact-box {
        display: none !important;
    }
    /* Stack About Us text below Trophy image on mobile view without overlapping */
    .about-1:nth-child(2) .about-1-inner {
        display: flex !important;
        flex-direction: column !important;
    }
    .about-1-info {
        order: 2 !important;
    }
    .certification-rating {
        order: 1 !important;
        position: relative !important;
        right: auto !important;
        bottom: auto !important;
        max-width: 100% !important;
        width: 100% !important;
        margin: 0 auto 25px auto !important;
        display: block !important;
    }
    .certification-texts {
        position: relative !important;
        left: auto !important;
        bottom: auto !important;
        width: 100% !important;
        margin-top: 15px !important;
        box-sizing: border-box !important;
    }
    /* Tablet & Mobile Footer Bottom Stacking & Bounded Address Word Wrapping */
    .footerbottom {
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        text-align: center !important;
        gap: 20px !important;
        margin: 40px 0 0 0 !important;
        width: 100% !important;
        max-width: 100% !important;
        box-sizing: border-box !important;
    }
    .footerbottom .addinfo,
    .footerbottom .addinfo h5,
    .footerbottom .addinfo p {
        text-align: center !important;
        width: 100% !important;
        max-width: 100% !important;
        word-wrap: break-word !important;
        overflow-wrap: break-word !important;
        white-space: normal !important;
        line-height: 1.5 !important;
    }
    /* Bounded text container to word-wrap long addresses across at most 2 lines without comma breaking */
    .footerbottom .address-box-limit {
        max-width: 320px !important;
        width: 90% !important;
        margin: 0 auto !important;
    }
    .footerbottom .address-container-text {
        display: block !important;
        word-wrap: break-word !important;
        overflow-wrap: break-word !important;
        margin: 0 auto !important;
    }
    
    /* Services & Contact Cards (2 columns on tablet) */
    .services-block, .contact-studio-grid {
        display: flex !important;
        flex-wrap: wrap !important;
        gap: 20px !important;
        width: 100% !important;
    }
    .services-1, .services-1:nth-child(n), .contact-card-box, .contact-card-box:nth-child(n) {
        width: calc(50% - 10px) !important;
        float: none !important;
        margin: 0 !important;
        box-sizing: border-box !important;
    }

    /* Hide connecting background shapes & decorative accents on vertical layouts */
    .bottomshape, .bottomshape1, .formshape1, .formshape2, .page-hero-shape {
        display: none !important;
    }

    /* Clients / Brands (3 columns on tablet) */
    .client-block {
        display: flex !important;
        flex-wrap: wrap !important;
        justify-content: center !important;
        gap: 20px !important;
        width: 100% !important;
    }
    .client-1, .client-1:nth-child(n) {
        width: calc(33.333% - 15px) !important;
        float: none !important;
        margin: 0 !important;
        box-sizing: border-box !important;
    }
    .client-1:nth-child(n) .client-1-inner {
        margin-top: 0 !important;
    }

    /* Footer & Widgets (2 columns on tablet) */
    .footer-block {
        display: flex !important;
        flex-wrap: wrap !important;
        gap: 30px !important;
        width: 100% !important;
    }
    .footer-1, .footer-1:nth-child(n) {
        width: calc(50% - 15px) !important;
        float: none !important;
        box-sizing: border-box !important;
    }
    .footertopblock {
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        text-align: center !important;
        gap: 20px !important;
        width: 100% !important;
        box-sizing: border-box !important;
    }
}

/* -----------------------------------------
 * Tablet Portrait / Smartphones (max-width: 767px)
 * ----------------------------------------- */
@media (max-width: 767px) {
    .container, .autocontainer, .full-container {
        width: 100% !important;
        max-width: 100% !important;
        padding-left: 15px !important;
        padding-right: 15px !important;
        margin: 0 !important;
    }
    
    /* Global Section Typography Scaling */
    .sec_title, 
    .tx-title, 
    .slider-caption h2, 
    .page-hero-inner h1,
    .single-wraper h1.entry-title,
    .about-1-info h1,
    .about-1-info h2,
    .formfill-1-title h2 {
        font-size: 26px !important;
        line-height: 1.3 !important;
        word-wrap: break-word !important;
        overflow-wrap: break-word !important;
    }
    .sub_title {
        font-size: 13px !important;
    }
    .slider-caption {
        padding: 220px 15px 35px !important;
    }
    .fun_fact_container {
        display: none !important;
    }
    .slider-caption h2 {
        margin-bottom: 15px !important;
    }
    .slider-caption h2 a {
        margin-top: 12px !important;
        font-size: 15px !important;
    }
    .slider-caption h2 a svg {
        width: 180px !important;
    }
    
    /* Services & Contact Cards Stacking (1 column on mobile) */
    .services-1, .services-1:nth-child(n), .contact-card-box, .contact-card-box:nth-child(n) {
        width: 100% !important;
        float: none !important;
        margin: 0 0 15px 0 !important;
    }
    .contact-map-section .map-embed-container,
    .contact-map-section iframe {
        height: 300px !important;
    }
    
    /* Why Choose Us & Performance Polish */
    .fun-fact-box {
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        text-align: center !important;
        gap: 10px !important;
    }
    .skill-header {
        font-size: 14px !important;
    }
    
    /* Room Planner Interactive Tool Box Polish */
    .room-section {
        max-width: 100% !important;
        overflow: hidden !important;
    }

    /* Clients / Brands (2 columns on small screens) */
    .client-1, .client-1:nth-child(n) {
        width: calc(50% - 10px) !important;
    }
    
    /* Testimonials */
    .testimonial-content {
        font-size: 16px !important;
        line-height: 1.6 !important;
    }
    .testimonial-1-inner {
        padding: 22px 16px !important;
    }

    /* Footer Full-width Single Column Stacking */
    .footer-1, .footer-1:nth-child(n),
    .addinfo, .addinfo:nth-child(n),
    .copy-1, .copy-1:nth-child(n) {
        width: 100% !important;
        text-align: center !important;
        float: none !important;
        margin: 0 0 20px 0 !important;
        box-sizing: border-box !important;
    }
    .servlist, .footer-social ul {
        display: flex !important;
        flex-wrap: wrap !important;
        justify-content: center !important;
        text-align: center !important;
        gap: 12px !important;
        padding: 0 !important;
    }
    .servlist li a {
        display: inline-block !important;
    }
    .footerbottom, .copyblock {
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        text-align: center !important;
        gap: 15px !important;
        width: 100% !important;
        box-sizing: border-box !important;
    }
}

/* -----------------------------------------
 * Compact & Tiny Mobile (max-width: 580px & 479px)
 * ----------------------------------------- */
@media (max-width: 580px) {
    .slider-caption {
        padding: 200px 15px 30px !important;
    }
    .fun_fact_container {
        display: none !important;
    }
    .slider-caption h2 {
        font-size: 24px !important;
    }
    .thm-btn, .wpcf7-submit, .servbtn, .probtn {
        display: inline-block !important;
        text-align: center !important;
        box-sizing: border-box !important;
    }
    .client-1, .client-1:nth-child(n) {
        width: 100% !important;
    }
    .experience-wrapper .left_content, 
    .experience-wrapper .right_content {
        width: 100% !important;
        text-align: center !important;
        min-width: unset !important;
    }
}

@media (max-width: 479px) {
    .container, .autocontainer, .full-container {
        width: 100% !important;
        padding-left: 12px !important;
        padding-right: 12px !important;
    }
    .experience-number.font-48 {
        font-size: 32px !important;
    }
    .certification_top_content {
        flex-direction: column !important;
        text-align: center !important;
        gap: 12px !important;
    }
}



