/* ==========================================================
   GLOBAL VARIABLES & RESET
========================================================== */
:root {
    --rs-primary-dark: #0a0c10;
    --rs-topnav-bg: #0f131a;
    --rs-gold: #d4af37;
    --rs-white: #ffffff;
    --rs-dark-text: #1a1a1a;
    --rs-gray-text: #a0a0a0;
    --rs-border-color: #e5e7eb;
    --rs-transition: all 0.5s cubic-bezier(0.4, 0, 0.2, 1);
}
  
.rs-web-layout-wrapper {
    display: flex;
    flex-direction: column;
    width: 100%; 
    overflow-y: visible !important;  
}

.rs-wrapper {
    background-color: #f8fafc;
    font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
    color: var(--rs-dark-text);  
    padding-bottom: 50px;
} 

.rs-container {
    max-width: 1440px;
    margin: 0 auto;
    padding: 0 30px;
}

/* ==========================================================
   1. TOPNAV SECTION CSS
========================================================== */
.rs-topnav {
    background: linear-gradient(90deg, var(--rs-topnav-bg), var(--rs-primary-dark));
    color: var(--rs-white);
    font-size: 13px;
    padding: 10px 0;
    border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}

.rs-topnav-content {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.rs-topnav-left, .rs-topnav-right {
    display: flex;
    align-items: center;
    gap: 30px;
}

.rs-topnav-item {
    display: flex;
    align-items: center;
    letter-spacing: 0.3px;
    color: var(--rs-gray-text);
}

    .rs-topnav-item i {
        color: var(--rs-gold);
        margin-right: 8px;
        font-size: 14px;
    }

.rs-time-badge {
    background: rgba(255, 255, 255, 0.05);
    padding: 4px 12px;
    border-radius: 20px;
    border: 1px solid rgba(255, 255, 255, 0.05);
    color: var(--rs-white);
}

/* ==========================================================
   2. HEADER SECTION CSS (Smooth Sticky & Shrink Effect)
========================================================== */
.rs-header-section {
    position: sticky;
    top: 0;
    z-index: 1000;
    padding: 20px 0;
    background-color: transparent;
    transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1); /* স্মুথ ট্রানজিশনের জন্য */
}

/* যখন পেজ স্ক্রল করা হবে তখন এই ক্লাসটি অ্যাক্টিভ হবে */
.rs-header-section.rs-scrolled {
    padding: 15px 0;  
    background-color: rgba(255, 255, 255, 0.95);
    backdrop-filter: blur(12px);
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.05);
    border-bottom: none;  
} 

/* স্ক্রল করলে Get In Touch হাইড হবে এবং হেল্পলাইন শো করবে */
.rs-header-section.rs-scrolled .rs-get-touch-hide-on-scroll {
    display: none !important;
}

.rs-header-section.rs-scrolled .rs-helpline-show-on-scroll {
    display: flex !important;
} 

.rs-header-box {
    background-color: var(--rs-white);
    border: 1px solid var(--rs-border-color);
    border-radius: 50px;
    padding: 15px 25px 15px 30px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.04);
    transition: all 0.4s ease;
}

/* স্ক্রল করার পর বক্সের প্যাডিং ও শ্যাডো আরও প্রিমিয়াম দেখানোর জন্য */
.rs-scrolled .rs-header-box {
    padding: 8px 20px 8px 25px;
    border-color: transparent;
    box-shadow: none;
    background-color: transparent;
}

.rs-logo a {
    display: flex;
    align-items: center;
    gap: 12px;
    text-decoration: none;
    font-size: 26px;
    font-weight: 800;
    color: var(--rs-dark-text);
    letter-spacing: -0.5px;
}

.rs-logo-img {
    height: 50px;
    width: auto;
    object-fit: contain;
    transition: height 0.3s ease;
}

.rs-scrolled .rs-logo-img {
    height: 42px; /* স্ক্রল করলে লোগোটি হালকা ছোট হবে */
}

.rs-nav-links {
    display: flex;
    gap: 40px;
}

.rs-nav-link {
    text-decoration: none;
    color: var(--rs-dark-text);
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 1.2px;
    transition: var(--rs-transition);
}

    .rs-nav-link:hover, .rs-nav-link.active {
        color: #e67e22;
    }

.rs-header-action-group {
    display: flex;
    align-items: center;
    gap: 15px;
}

/* Get In Touch Button */
.rs-get-in-touch-btn {
    display: flex;
    align-items: center;
    gap: 14px;
    border: 1px solid var(--rs-border-color);
    padding: 6px 20px 6px 6px;
    border-radius: 35px;
    text-decoration: none;
    color: var(--rs-dark-text);
    font-size: 13px;
    font-weight: 700;
    transition: var(--rs-transition);
    background-color: #fafafa;
}

/* Helpline Number Box (Appears on Scroll) */
.rs-helpline-box {
    display: flex;
    align-items: center;
    gap: 12px;
    text-decoration: none;
    background-color: #efefef;
    padding: 5px 18px 5px 5px;
    border-radius: 35px;
    transition: var(--rs-transition);
    animation: fadeIn 0.4s ease-in-out;
}

.rs-helpline-text {
    display: flex;
    flex-direction: column;
    line-height: 1.2;
}

    .rs-helpline-text small {
        font-size: 10px;
        color: #a0a0a0;
        text-transform: uppercase;
        letter-spacing: 0.5px;
    }

    .rs-helpline-text strong {
        font-size: 13px;
        color: #443c3c;
        letter-spacing: 0.3px;
    }

.rs-helpline-box:hover {
    background-color: #ffead8;
}

.rs-btn-icon {
    width: 34px;
    height: 34px;
    background-color: var(--rs-primary-dark);
    color: var(--rs-white);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 12px;
    line-height: 1px;
    transition: var(--rs-transition);
}

.rs-helpline-box .rs-btn-icon {
    background-color: #dededd;
    color: #000000;
}

.rs-get-in-touch-btn:hover {
    border-color: var(--rs-primary-dark);
    background-color: var(--rs-white);
}

    .rs-get-in-touch-btn:hover .rs-btn-icon {
        background-color: #e67e22;
        transform: translateX(4px);
    }

/* Mobile Toggle Button */
.rs-mobile-toggle-btn {
    display: none;
    background: transparent;
    border: 1px solid var(--rs-border-color);
    width: 40px;
    height: 40px;
    border-radius: 50%;
    color: var(--rs-dark-text);
    font-size: 16px;
    cursor: pointer;
    align-items: center;
    line-height: 1px;
    justify-content: center;
}

@keyframes fadeIn {
    from {
        opacity: 0;
        transform: translateY(-5px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@media (max-width: 992px) {
    .rs-mobile-toggle-btn {
        display: flex;
    }
    .rs-header-section.rs-scrolled .rs-helpline-show-on-scroll {
        display: none !important;
    }
}

/* ==========================================================
   LUXURY MOBILE DRAWER MENU CSS
========================================================== */
.rs-mobile-menu-overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(10, 12, 16, 0.7);
    backdrop-filter: blur(5px);
    z-index: 2000;
    opacity: 0;
    visibility: hidden;
    transition: var(--rs-transition);
}

    .rs-mobile-menu-overlay.rs-menu-open {
        opacity: 1;
        visibility: visible;
    }

.rs-mobile-drawer {
    position: absolute;
    top: 0;
    right: -100%;
    width: 85%;
    max-width: 380px;
    height: 100%;
    background-color: var(--rs-white);
    color: var(--rs-white);
    padding: 30px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    transition: right 0.4s cubic-bezier(0.4, 0, 0.2, 1);
    box-shadow: -10px 0 30px rgba(0,0,0,0.5);
}

.rs-mobile-menu-overlay.rs-menu-open .rs-mobile-drawer {
    right: 0;
}

.rs-drawer-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    border-bottom: 1px solid rgba(255, 255, 255, 0.1);
    padding-bottom: 20px;
}

    .rs-drawer-header .rs-logo a {
        color: var(--rs-white);
    }

.rs-drawer-close {
    background: transparent;
    border: none;
    color: var(--rs-gray-text);
    font-size: 22px;
    cursor: pointer;
    transition: var(--rs-transition);
}

    .rs-drawer-close:hover {
        color: var(--rs-gold);
    }

.rs-drawer-nav {
    display: flex;
    flex-direction: column;
    gap: 25px;
    margin: auto 0;
}

.rs-drawer-link {
    color: var(--rs-gray-text);
    text-decoration: none;
    font-size: 16px;
    font-weight: 600;
    letter-spacing: 1.5px;
    transition: var(--rs-transition);
}

    .rs-drawer-link:hover, .rs-drawer-link.active {
        color: var(--rs-gold);
        padding-left: 8px;
    }

.rs-drawer-footer {
    border-top: 1px solid rgba(255, 255, 255, 0.1);
    padding-top: 20px;
}

.rs-drawer-btn {
    width: 100%;
    justify-content: center;
    background-color: rgba(255, 255, 255, 0.05);
    color: var(--rs-primary-dark);
    border-color: rgb(50 45 45 / 20%);
}

/* ==========================================================
   3. HERO SLIDER SECTION CSS
========================================================== */
.rs-hero-slider-section {
    padding-top: 10px;
}

.rs-slider-container {
    position: relative;
    width: 100%;
    height: 680px;
    border-radius: 35px;
    overflow: hidden;
    box-shadow: 0 20px 40px rgba(0, 0, 0, 0.12);
}

.rs-slide {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    opacity: 0;
    visibility: hidden;
    transition: opacity 1.5s ease-in-out, visibility 1.5s ease-in-out;
    display: flex;
    align-items: flex-end;
    padding: 70px;
}

.rs-slide-bg {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-size: cover;
    background-position: center;
    transform: scale(1);
    transition: transform 8s ease-out;
}

.rs-slide.rs-active {
    opacity: 1;
    visibility: visible;
    z-index: 2;
}

    .rs-slide.rs-active .rs-slide-bg {
        transform: scale(1.1);
    }

.rs-slide-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(to top, rgba(10,12,16,0.85) 15%, rgba(10,12,16,0.3) 60%, transparent 100%);
    z-index: 1;
}

.rs-slide-caption {
    position: relative;
    z-index: 3;
    max-width: 850px;
    color: var(--rs-white);
}

    .rs-slide-caption h1 {
        font-size: 60px;
        font-weight: 800;
        line-height: 1.1;
        margin-bottom: 18px;
        letter-spacing: -1px;
    }

    .rs-slide-caption p {
        font-size: 18px;
        color: #d1d5db;
        font-weight: 400;
    }

/* Luxury Next & Prev Buttons */
.rs-slider-btn {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    z-index: 10;
    width: 55px;
    height: 55px;
    border-radius: 50%;
    background: rgba(15, 19, 26, 0.6);
    border: 1px solid rgba(212, 175, 55, 0.4);
    color: var(--rs-white);
    font-size: 22px;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    backdrop-filter: blur(8px);
    line-height:1px;
    transition: var(--rs-transition);
}

    .rs-slider-btn:hover {
        background: var(--rs-gold);
        color: var(--rs-primary-dark);
        border-color: var(--rs-gold);
        box-shadow: 0 0 20px rgba(212, 175, 55, 0.5);
    }

.rs-prev-btn {
    left: 30px;
}

.rs-next-btn {
    right: 30px;
}

/* ==========================================================
   4. LUXURY HOME SERVICES SECTION CSS
========================================================== */
.rs-services-section {
    padding: 80px 0;
    background-color: transparent;
}

.rs-service-card {
    background-color: #f7f4ee; /* Screenshot er soft cream/luxury bg color */
    border: 1px solid rgba(212, 175, 55, 0.15); /* Subtle gold border */
    border-radius: 20px;
    padding: 40px 20px;
    text-align: center;
    height: 100%;
    transition: var(--rs-transition);
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.02);
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}

.rs-service-card:hover {
    transform: translateY(-8px);
    background-color: var(--rs-white);
    border-color: var(--rs-gold);
    box-shadow: 0 20px 40px rgba(0, 0, 0, 0.08);
}

.rs-service-icon-box {
    width: 90px;
    height: 90px;
    background-color: var(--rs-white);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    line-height:1px;
    margin-bottom: 25px;
    box-shadow: 0 8px 20px rgba(0, 0, 0, 0.05);
    transition: var(--rs-transition);
}

.rs-service-icon-box i {
    font-size: 32px;
    color: var(--rs-primary-dark);
    transition: var(--rs-transition);
}

.rs-service-card:hover .rs-service-icon-box {
    background-color: var(--rs-primary-dark);
}

    .rs-service-card:hover .rs-service-icon-box i {
        color: var(--rs-gold);
    }

.rs-service-title {
    font-size: 18px;
    font-weight: 700;
    color: var(--rs-dark-text);
    line-height: 1.4;
    margin: 0;
    letter-spacing: -0.3px;
}

/* ==========================================================
   5. ABOUT SECTION CSS
========================================================== */
.rs-home-about-section {
    padding: 100px 0;
    background-color: transparent;
    position: relative;
}

/* Left Image Box */
.rs-home-about-img-box {
    position: relative;
    padding-bottom: 50px;
    padding-right: 50px;
}

.rs-home-about-main-img {
    width: 100%;
    border-radius: 24px;
    overflow: hidden;
    box-shadow: 0 20px 40px rgba(0, 0, 0, 0.08);
    border: 8px solid var(--rs-white);
}

    .rs-home-about-main-img img {
        width: 100%;
        height: 480px;
        object-fit: cover;
        transition: transform 0.5s ease;
    }

    .rs-home-about-main-img:hover img {
        transform: scale(1.03);
    }

.rs-home-about-sub-img {
    position: absolute;
    bottom: 0;
    right: 0;
    width: 55%;
    border-radius: 20px;
    overflow: hidden;
    box-shadow: 0 20px 40px rgba(0, 0, 0, 0.12);
    border: 8px solid var(--rs-white);
}

    .rs-home-about-sub-img img {
        width: 100%;
        height: 260px;
        object-fit: cover;
        transition: transform 0.5s ease;
    }

    .rs-home-about-sub-img:hover img {
        transform: scale(1.03);
    }

/* Right Content */
.rs-home-about-content {
    padding-left: 20px;
}

.rs-home-about-subtitle {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-size: 12px;
    font-weight: 700;
    text-transform: uppercase;
    color: var(--rs-dark-text);
    letter-spacing: 1.5px;
    margin-bottom: 15px;
}

    .rs-home-about-subtitle i {
        color: var(--rs-gold);
        font-size: 14px;
    }

.rs-home-about-title {
    font-size: 38px;
    font-weight: 800;
    color: var(--rs-dark-text);
    line-height: 1.25;
    margin-bottom: 20px;
    letter-spacing: -0.5px;
}

.rs-home-about-desc {
    font-size: 15px;
    color: #666;
    line-height: 1.7;
    margin-bottom: 35px;
}

/* Features */
.rs-home-about-feature {
    display: flex;
    gap: 20px;
    margin-bottom: 25px;
}

.rs-home-about-f-icon {
    width: 60px;
    height: 60px;
    min-width: 60px;
    background-color: #f7f4ee;
    border-radius: 16px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 22px;
    color: var(--rs-primary-dark);
    transition: var(--rs-transition);
}

.rs-home-about-feature:hover .rs-home-about-f-icon {
    background-color: var(--rs-primary-dark);
    color: var(--rs-gold);
}

.rs-home-about-f-text h4 {
    font-size: 18px;
    font-weight: 700;
    color: var(--rs-dark-text);
    margin-bottom: 6px;
}

.rs-home-about-f-text p {
    font-size: 14px;
    color: #666;
    line-height: 1.5;
    margin: 0;
}

/* Action Group (Button & Phone) */
.rs-home-about-action-group {
    display: flex;
    align-items: center;
    gap: 30px;
    margin-top: 40px;
    flex-wrap: wrap;
}

.rs-home-about-btn {
    display: inline-flex;
    align-items: center;
    background-color: var(--rs-dark-text);
    color: var(--rs-white);
    padding: 8px 8px 8px 25px;
    border-radius: 40px;
    text-decoration: none;
    font-weight: 700;
    font-size: 14px;
    gap: 15px;
    transition: var(--rs-transition);
}

.rs-home-about-btn-icon {
    width: 42px;
    height: 42px;
    background-color: var(--rs-gold);
    color: var(--rs-primary-dark);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 12px;
    transition: var(--rs-transition);
}

.rs-home-about-btn:hover {
    background-color: var(--rs-primary-dark);
    color: var(--rs-white);
}

    .rs-home-about-btn:hover .rs-home-about-btn-icon {
        background-color: #e67e22;
        color: var(--rs-white);
        transform: translateX(4px);
    }

.rs-home-about-contact-info {
    display: flex;
    align-items: center;
    gap: 15px;
}

.rs-home-about-phone-icon {
    width: 50px;
    height: 50px;
    border: 1px solid var(--rs-border-color);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--rs-dark-text);
    font-size: 16px;
    line-height:1px;
    background-color: var(--rs-white);
    transition: var(--rs-transition);
}

.rs-home-about-contact-info:hover .rs-home-about-phone-icon {
    border-color: var(--rs-gold);
    color: var(--rs-gold);
}

.rs-home-about-phone-text {
    display: flex;
    flex-direction: column;
}

    .rs-home-about-phone-text small {
        font-size: 11px;
        color: #888;
        text-transform: uppercase;
        letter-spacing: 0.5px;
    }

    .rs-home-about-phone-text a {
        font-size: 16px;
        font-weight: 800;
        color: var(--rs-dark-text);
        text-decoration: none;
        transition: var(--rs-transition);
    }

        .rs-home-about-phone-text a:hover {
            color: var(--rs-gold);
        }

/* Responsive Fixes */
@media (max-width: 992px) {
    .rs-home-about-content {
        padding-left: 0;
        margin-top: 30px;
    }

    .rs-home-about-img-box {
        padding-right: 0;
    }

    .rs-home-about-title {
        font-size: 30px;
    }
}

/* ==========================================================
   6. KEY SERVICES SLIDER SECTION CSS (Luxury Pattern & Tall Numbers)
========================================================== */
.rs-home-key-service-section {
    background-color: #2c3029;
    background-image: repeating-linear-gradient( 45deg, rgba(212, 175, 55, 0.03) 0, rgba(212, 175, 55, 0.03) 1px, transparent 0, transparent 50px ), radial-gradient(circle at 50% 50%, rgba(44, 48, 41, 0) 0%, rgba(20, 22, 18, 0.6) 100%);
    padding: 100px 0;
    color: var(--rs-white);
    position: relative;
    overflow: hidden;
    box-shadow: inset 0 30px 50px rgba(0, 0, 0, 0.6), inset 0 -30px 50px rgba(0, 0, 0, 0.6);
}

.rs-home-key-service-header-area {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    margin-bottom: 50px;
    flex-wrap: wrap;
    gap: 20px;
}

.rs-home-key-service-subtitle {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-size: 12px;
    font-weight: 700;
    text-transform: uppercase;
    color: var(--rs-gold);
    letter-spacing: 1.5px;
    margin-bottom: 10px;
}

.rs-home-key-service-title {
    font-size: 40px;
    font-weight: 800;
    color: var(--rs-white);
    letter-spacing: -0.5px;
    margin: 0;
}

/* Slider Navigation Buttons */
.rs-home-key-service-nav-btns {
    display: flex;
    gap: 15px;
}

.rs-home-key-service-nav-btn {
    width: 50px;
    height: 50px;
    background-color: rgba(255, 255, 255, 0.05);
    border: 1px solid rgba(255, 255, 255, 0.2);
    border-radius: 50%;
    color: var(--rs-white);
    display: flex;
    align-items: center;
    justify-content: center;
    line-height:1px;
    cursor: pointer;
    transition: var(--rs-transition);
}

    .rs-home-key-service-nav-btn:hover {
        background-color: var(--rs-gold);
        color: var(--rs-primary-dark);
        border-color: var(--rs-gold);
        transform: translateY(-3px);
    }

/* Slider Track Layout & CSS Variables */
.rs-home-key-service-slider-wrapper {
    overflow: hidden;
    width: 100%;
    padding: 10px 0;
}

.rs-home-key-service-track {
    display: flex;
    gap: 30px;
    transition: transform 0.5s cubic-bezier(0.4, 0, 0.2, 1);
    --slide-width: calc(25% - 22.5px);
    --gap-size: 30px;
}

/* Service Card Style */
.rs-home-key-service-card {
    min-width: var(--slide-width);
    width: var(--slide-width);
    height: 550px;
    background-color: var(--rs-white);
    color: var(--rs-dark-text);
    border-radius: 24px;
    padding: 35px 25px 25px 25px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    box-shadow: 0 20px 40px rgba(0, 0, 0, 0.2);
    transition: all 0.4s ease;
    position: relative;
    overflow: hidden;
    flex-shrink: 0;
}

    .rs-home-key-service-card:hover {
        transform: translateY(-10px);
        box-shadow: 0 30px 60px rgba(0, 0, 0, 0.3);
    }

.rs-home-key-service-card-top {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.rs-home-key-service-icon {
    font-size: 26px;
    color: var(--rs-primary-dark);
}

.rs-home-key-service-number {
    font-size: 32px;
    font-weight: 900;
    letter-spacing: -2px;
    transform: scaleY(1.3);
    color: #d1d5db;
    transition: color 0.3s ease;
    display: inline-block;
}

.rs-home-key-service-card:hover .rs-home-key-service-number {
    color: var(--rs-gold);
}

.rs-home-key-service-card-title {
    font-size: 20px;
    font-weight: 700;
    color: var(--rs-dark-text);
    margin-top: 10px;
    margin-bottom: 8px;
}

.rs-home-key-service-card-desc {
    font-size: 13.5px;
    color: #666;
    line-height: 1.6;
    margin-bottom: 15px;
}

.rs-home-key-service-img-box {
    width: 100%;
    height: 230px;
    border-top-left-radius: 110px;
    border-top-right-radius: 16px;
    border-bottom-left-radius: 16px;
    border-bottom-right-radius: 16px;
    overflow: hidden;
    position: relative;
    background-color: #f3f4f6;
    margin-top: auto;
}

    .rs-home-key-service-img-box img {
        width: 100%;
        height: 100%;
        object-fit: cover;
        transition: transform 0.6s ease;
    }

.rs-home-key-service-card:hover .rs-home-key-service-img-box img {
    transform: scale(1.08);
}

/* Responsive for Mobile & Tablet */
@media (max-width: 1200px) {
    .rs-home-key-service-track {
        --slide-width: calc(33.333% - 13.33px);
    }
}

@media (max-width: 992px) {
    .rs-home-key-service-track {
        --slide-width: calc(50% - 10px);
        --gap-size: 20px;
    }

    .rs-home-key-service-title {
        font-size: 30px;
    }
}

@media (max-width: 576px) {
    .rs-home-key-service-slider-wrapper {
        overflow: hidden;
        padding: 0 15px; /* উভয় পাশে সামান্য প্যাডিং যাতে কার্ড স্ক্রিনের বাইরে না যায় */
    }

    .rs-home-key-service-track {
        gap: 15px;
        --slide-width: calc(100vw - 30px); /* মোবাইল স্ক্রিনের পুরো উইডথ থেকে প্যাডিং বাদ দিয়ে সঠিক মাপ */
    }

    .rs-home-key-service-card {
        min-width: var(--slide-width) !important;
        width: var(--slide-width) !important;
        height: 520px;
        padding: 25px 20px 20px 20px;
    }
}

/* ==========================================================
   7. OUR GALLERY SECTION CSS (Perfect Sticky Stacking Effect)
========================================================== */
.rs-home-gallary-section {
    padding: 100px 0;
    background-color: #f8f9fa;
    position: relative; 
}

.rs-home-gallary-header-area {
    text-align: center;
    margin-bottom: 60px;
}

.rs-home-gallary-subtitle {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-size: 12px;
    font-weight: 700;
    text-transform: uppercase;
    color: var(--rs-gold, #d4af37);
    letter-spacing: 1.5px;
    margin-bottom: 12px;
}

.rs-home-gallary-title {
    font-size: 42px;
    font-weight: 800;
    color: #111;
    letter-spacing: -0.5px;
    margin: 0;
}

.rs-home-gallary-wrapper {
    display: flex;
    flex-direction: column;
    gap: 30px;
    position: relative;
}

/* Gallery Card Style with Sequential Sticky Stacking */
.rs-home-gallary-card {
    display: flex;
    background-color: #ffffff;
    border-radius: 30px;
    overflow: hidden;
    box-shadow: 0 20px 40px rgba(0, 0, 0, 0.08);
    border: 1px solid rgba(0, 0, 0, 0.06);
    position: sticky;
    transition: transform 0.3s ease;
    margin-bottom: 30px;
}

    /* ৫টি কার্ডের জন্য আলাদা আলাদা স্টিকি টপ পজিশন, যাতে একটির ওপর আরেকটি স্মুথলি স্ট্যাক হয় */
    .rs-home-gallary-card:nth-child(1) {
        top: 100px;
    }

    .rs-home-gallary-card:nth-child(2) {
        top: 130px;
    }

    .rs-home-gallary-card:nth-child(3) {
        top: 160px;
    }

    .rs-home-gallary-card:nth-child(4) {
        top: 190px;
    }

    .rs-home-gallary-card:nth-child(5) {
        top: 220px;
    }

/* Left Content Box */
.rs-home-gallary-content-box {
    flex: 1;
    padding: 60px 50px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

.rs-home-gallary-category {
    font-size: 12px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 1.5px;
    color: #777;
    display: block;
    margin-bottom: 15px;
}

.rs-home-gallary-card-title {
    font-size: 36px;
    font-weight: 800;
    color: #111;
    letter-spacing: -0.5px;
    margin: 0;
}

/* View More Details Button */
.rs-home-gallary-btn {
    display: inline-flex;
    align-items: center;
    gap: 15px;
    text-decoration: none;
    | border: 1px solid #e5e7eb;
    padding: 10px 22px 10px 10px;
    border-radius: 50px;
    width: fit-content;
    transition: all 0.3s ease;
    background-color: #fff;
}

.rs-home-gallary-btn-icon {
    width: 36px;
    height: 36px;
    background-color: #111;
    color: #fff;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    line-height:1px;
    font-size: 14px;
    transition: all 0.3s ease;
}

.rs-home-gallary-btn-text {
    font-size: 14px;
    font-weight: 600;
    color: #111;
}

.rs-home-gallary-btn:hover {
    background-color: #111;
    border-color: #111;
}

    .rs-home-gallary-btn:hover .rs-home-gallary-btn-icon {
        background-color: var(--rs-gold, #d4af37);
        color: #111;
    }

    .rs-home-gallary-btn:hover .rs-home-gallary-btn-text {
        color: #fff;
    }

/* Right Image Box */
.rs-home-gallary-img-box {
    flex: 1.2;
    min-height: 400px;
    overflow: hidden;
}

    .rs-home-gallary-img-box img {
        width: 100%;
        height: 100%;
        object-fit: cover;
        transition: transform 0.6s ease;
    }

.rs-home-gallary-card:hover .rs-home-gallary-img-box img {
    transform: scale(1.05);
}

/* Responsive for Tablet & Mobile */
@media (max-width: 992px) {
    .rs-home-gallary-card {
        flex-direction: column-reverse;
        /* মোবাইলেও স্টিকি ইফেক্ট সচল রাখার জন্য পজিশন sticky রাখা হলো */
        position: sticky;
        margin-bottom: 20px;
    }

    /* মোবাইলের ছোট স্ক্রিনের জন্য স্টিকি টপ পজিশনগুলো সমন্বয় করা হলো */
    .rs-home-gallary-card:nth-child(1) {
        top: 80px;
    }

    .rs-home-gallary-card:nth-child(2) {
        top: 105px;
    }

    .rs-home-gallary-card:nth-child(3) {
        top: 130px;
    }

    .rs-home-gallary-card:nth-child(4) {
        top: 155px;
    }

    .rs-home-gallary-card:nth-child(5) {
        top: 180px;
    }

    .rs-home-gallary-content-box {
        padding: 30px 20px;
        gap: 20px;
    }

    .rs-home-gallary-title {
        font-size: 28px;
    }

    .rs-home-gallary-card-title {
        font-size: 24px;
    }

    .rs-home-gallary-img-box {
        min-height: 250px;
    }
}

/* ==========================================================
   8. CHOOSE US & AWARDS SECTION  
========================================================== */
.rs-home-choose-awards-section {
    background-color: #111311; /* ওভারঅল মূল ব্যাকগ্রাউন্ড ডার্ক */
    padding: 0 40px;
    position: relative;
    overflow: hidden;
    border-radius: 30px;
    margin: 40px auto;
    max-width: 1480px;
}

    /* ব্যাকগ্রাউন্ড ওয়েভ প্যাটার্ন ও গ্লো */
    .rs-home-choose-awards-section::after {
        content: '';
        position: absolute;
        top: 0;
        right: 0;
        width: 65%;
        height: 100%;
        background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 800 800'%3E%3Cpath stroke='rgba(255, 255, 255, 0.05)' stroke-width='1.5' fill='none' d='M -100,200 C 100,50 300,450 500,200 C 700,-50 900,350 1100,100'/%3E%3Cpath stroke='rgba(255, 255, 255, 0.04)' stroke-width='1.5' fill='none' d='M -100,300 C 100,150 300,550 500,300 C 700,50 900,450 1100,200'/%3E%3Cpath stroke='rgba(255, 255, 255, 0.03)' stroke-width='1.5' fill='none' d='M -100,400 C 100,250 300,650 500,400 C 700,150 900,550 1100,300'/%3E%3C/svg%3E");
        background-repeat: no-repeat;
        background-position: center right;
        background-size: cover;
        pointer-events: none;
        z-index: 1;
    }

/* Part 1: Choose Us Wrapper */
.rs-home-choose-wrapper {
    display: flex;
    align-items: flex-start;
    gap: 60px;
    position: relative;
    z-index: 2;
    padding: 100px 0;
    color: #fff;
}

.rs-home-choose-left-box {
    flex: 1;
    position: sticky;
    top: 100px;
}

.rs-home-choose-img-wrapper {
    width: 100%;
    height: 520px;
    border-radius: 24px;
    overflow: hidden;
    box-shadow: 0 25px 50px rgba(0, 0, 0, 0.6);
    background-color: #1e211e;
}

    .rs-home-choose-img-wrapper img {
        width: 100%;
        height: 100%;
        object-fit: cover;
        display: block;
        transition: transform 0.6s ease;
    }

.rs-home-choose-left-box:hover img {
    transform: scale(1.05);
}

.rs-home-choose-right-box {
    flex: 1.1;
    padding-top: 15px;
}

.rs-home-choose-subtitle {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-size: 12px;
    font-weight: 700;
    text-transform: uppercase;
    color: var(--rs-gold, #d4af37);
    letter-spacing: 1.5px;
    margin-bottom: 15px;
}

.rs-home-choose-title {
    font-size: 40px;
    font-weight: 800;
    color: #ffffff;
    letter-spacing: -0.5px;
    line-height: 1.25;
    margin-bottom: 20px;
}

.rs-home-choose-desc {
    font-size: 15px;
    color: #a0a5a0;
    line-height: 1.7;
    margin-bottom: 30px;
}

.rs-home-choose-list {
    list-style: none;
    padding: 0;
    margin: 0 0 35px 0;
    display: flex;
    flex-direction: column;
    gap: 16px;
}

    .rs-home-choose-list li {
        display: flex;
        align-items: center;
        gap: 14px;
        font-size: 15px;
        font-weight: 600;
        color: #e5e7eb;
    }

.rs-home-choose-check-icon {
    width: 24px;
    height: 24px;
    background-color: var(--rs-gold, #d4af37);
    color: #111;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 11px;
    flex-shrink: 0;
}

.rs-home-choose-btn {
    display: inline-flex;
    align-items: center;
    gap: 15px;
    text-decoration: none;
    border: 1px solid rgba(255, 255, 255, 0.2);
    padding: 8px 25px 8px 8px;
    border-radius: 50px;
    width: fit-content;
    transition: all 0.3s ease;
    background-color: transparent;
}

.rs-home-choose-btn-icon {
    width: 38px;
    height: 38px;
    background-color: var(--rs-gold, #d4af37);
    color: #111;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    line-height:1px;
    font-size: 13px;
    transition: all 0.3s ease;
}

.rs-home-choose-btn-text {
    font-size: 14px;
    font-weight: 600;
    color: #fff;
    transition: color 0.3s ease;
}

.rs-home-choose-btn:hover {
    background-color: var(--rs-gold, #d4af37);
    border-color: var(--rs-gold, #d4af37);
}

    .rs-home-choose-btn:hover .rs-home-choose-btn-icon {
        background-color: #111;
        color: var(--rs-gold, #d4af37);
    }

    .rs-home-choose-btn:hover .rs-home-choose-btn-text {
        color: #111;
    }


/* Part 2: Awards Wrapper (Inside Same Section with Off-White BG look) */
.rs-home-awards-wrapper {
    background-color: #fbf9f4; /* অফ-হোয়াইট ব্যাকগ্রাউন্ড */
    margin: 0 -70px -40px -70px;  
    padding: 100px 40px;
    border-radius: 0 0 40px 40px;
    position: relative;
    z-index: 3;
    color: #1a1a1a;
}

.rs-home-awards-header {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    margin-bottom: 70px;
    gap: 40px;
}

.rs-home-awards-title-box {
    flex: 1.2;
}

.rs-home-awards-subtitle {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-size: 12px;
    font-weight: 700;
    text-transform: uppercase;
    color: #777;
    letter-spacing: 1.5px;
    margin-bottom: 15px;
}

.rs-home-awards-title {
    font-size: 38px;
    font-weight: 800;
    color: #161815;
    letter-spacing: -0.5px;
    line-height: 1.25;
    margin: 0;
}

.rs-home-awards-desc-box {
    flex: 1;
}

    .rs-home-awards-desc-box p {
        font-size: 14px;
        color: #666;
        line-height: 1.7;
        margin: 0;
    }

.rs-home-awards-content-grid {
    display: flex;
    gap: 60px;
    align-items: center;
}

/* Left Premium Luxury Badge Styling */
.rs-home-awards-badge-box {
    flex: 1;
    display: flex;
    justify-content: center;
}

.rs-home-premium-badge-card {
    text-align: center;
    padding: 40px 20px;
    background: transparent;
    position: relative;
}

.rs-badge-border-box {
    border: 2px solid #c5a059;
    padding: 35px 25px;
    border-radius: 16px;
    position: relative;
    background: linear-gradient(135deg, rgba(197, 160, 89, 0.05) 0%, rgba(255, 255, 255, 0) 100%);
    box-shadow: 0 10px 30px rgba(0,0,0,0.04);
}

.rs-badge-top-text {
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 3px;
    color: #c5a059;
    display: block;
    margin-bottom: 15px;
}

.rs-badge-main-title {
    font-size: 36px;
    font-weight: 800;
    font-family: 'Playfair Display', serif, Georgia;
    color: #1a1a1a;
    margin-bottom: 15px;
}

.rs-badge-stars {
    color: #c5a059;
    font-size: 14px;
    margin-bottom: 20px;
    display: flex;
    justify-content: center;
    gap: 6px;
}

.rs-badge-year-box {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    border-top: 1px solid rgba(197, 160, 89, 0.4);
    border-bottom: 1px solid rgba(197, 160, 89, 0.4);
    padding: 6px 25px;
    color: #c5a059;
    font-weight: 700;
    font-size: 16px;
    letter-spacing: 1px;
}

    .rs-badge-year-box i {
        font-size: 10px;
    }

/* Right Awards List Layout & Arrow Position Fix */
.rs-home-awards-list-box {
    flex: 1.5;
    display: flex;
    flex-direction: column;
}

.rs-home-award-item {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 26px 0;
    border-bottom: 1px solid rgba(0, 0, 0, 0.08);
    transition: all 0.3s ease;
    gap: 20px; /* এলিমেন্টগুলোর মাঝখানে সুষম দূরত্ব রাখার জন্য */
}

    .rs-home-award-item:first-child {
        border-top: 1px solid rgba(0, 0, 0, 0.08);
    }

.rs-home-award-year {
    font-size: 15px;
    font-weight: 600;
    color: #777;
    width: 80px;
    flex-shrink: 0;
}

.rs-home-award-name {
    font-size: 18px;
    font-weight: 700;
    color: #161815;
    flex: 1;
}

.rs-home-award-status {
    font-size: 14px;
    font-weight: 600;
    color: #666;
    width: 100px;
    text-align: right;
    flex-shrink: 0;
}

/* ডান পাশের অ্যারো আইকন ফিক্সড এবং হোভার ইফেক্ট */
.rs-home-award-arrow {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background-color: transparent;
    color: #161815;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 14px;
    flex-shrink: 0;
    transition: all 0.3s ease;
}

.rs-home-award-item:hover .rs-home-award-arrow {
    transform: translateX(5px);
    color: var(--rs-gold, #b89728);
}

/* Responsive styles */
@media (max-width: 992px) {
    .rs-home-choose-awards-section {
        padding: 0 20px;
    }

    .rs-home-choose-wrapper,
    .rs-home-awards-content-grid,
    .rs-home-awards-header {
        flex-direction: column;
        gap: 40px;
    }

    .rs-home-choose-left-box {
        position: relative;
        top: 0;
        width: 100%;
    }

    .rs-home-awards-wrapper {
        margin: 0 -35px -20px -35px;
        padding: 60px 20px;
    }
}

/* ==========================================================
   9. FAQ SECTION STYLING
========================================================== */
.rs-home-faq-section {
    padding: 100px 0;
    background-color: #ffffff;
}

.rs-home-faq-grid {
    display: flex;
    gap: 80px;
    align-items: flex-start;
}

/* Left Box Styling */
.rs-home-faq-left-box {
    flex: 1;
    background-color: #f7f5ef; /* হালকা অফ-হোয়াইট ব্যাকগ্রাউন্ড */
    padding: 50px 40px;
    border-radius: 24px;
}

.rs-home-faq-subtitle {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-size: 12px;
    font-weight: 700;
    text-transform: uppercase;
    color: #666;
    letter-spacing: 1.5px;
    margin-bottom: 20px;
}

.rs-home-faq-title {
    font-size: 38px;
    font-weight: 800;
    color: #161815;
    line-height: 1.25;
    letter-spacing: -0.5px;
    margin-bottom: 20px;
}

.rs-home-faq-desc {
    font-size: 15px;
    color: #666;
    line-height: 1.7;
    margin-bottom: 40px;
}

/* Help Box Inside Left Box */
.rs-home-faq-help-box {
    background-color: #1a1c1a;
    border-radius: 16px;
    padding: 35px 30px;
    color: #fff;
    position: relative;
    overflow: hidden;
}

.rs-home-faq-help-icon {
    width: 50px;
    height: 50px;
    background-color: var(--rs-gold, #ccff00); /* ইমেজের মতো নিয়ন ইয়োলো/গোল্ডেন টোন */
    color: #111;
    border-radius: 8px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 20px;
    font-weight: bold;
    margin-bottom: 20px;
}

.rs-home-faq-help-content h3 {
    font-size: 20px;
    font-weight: 700;
    margin-bottom: 10px;
    color: #fff;
}

.rs-home-faq-help-content p {
    font-size: 14px;
    color: #a0a5a0;
    line-height: 1.6;
    margin-bottom: 25px;
}

.rs-home-faq-contact-btn {
    display: block;
    width: 100%;
    background-color: #ffffff;
    color: #111311;
    text-align: center;
    padding: 14px 20px;
    border-radius: 8px;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 1px;
    text-decoration: none;
    transition: all 0.3s ease;
}

    .rs-home-faq-contact-btn:hover {
        background-color: var(--rs-gold, #ccff00);
    }

/* Right Box (Accordion List) Styling */
.rs-home-faq-right-box {
    flex: 1.2;
}

.rs-home-faq-list {
    display: flex;
    flex-direction: column;
}

.rs-home-faq-item {
    padding: 24px 0;
    border-bottom: 1px solid rgba(0, 0, 0, 0.08);
    transition: all 0.3s ease;
}

.rs-home-faq-question {
    display: flex;
    align-items: center;
    justify-content: space-between;
    cursor: pointer;
    font-size: 18px;
    font-weight: 700;
    color: #161815;
}

.rs-home-faq-toggle-icon {
    width: 36px;
    height: 36px;
    border-radius: 50%;
    background-color: #f4f4f4;
    color: #111;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 16px;
    line-height:1px;
    flex-shrink: 0;
    transition: all 0.3s ease;
}

/* Active or Open State for Toggle Button */
.rs-home-faq-item.active .rs-home-faq-toggle-icon,
.rs-home-faq-item.open .rs-home-faq-toggle-icon {
    background-color: var(--rs-gold, #ccff00);
    color: #111;
}

.rs-home-faq-answer {
    margin-top: 15px;
    padding-right: 40px;
}

    .rs-home-faq-answer p {
        font-size: 15px;
        color: #666;
        line-height: 1.7;
        margin: 0;
    }

/* Responsive Styles */
@media (max-width: 992px) {
    .rs-home-faq-grid {
        flex-direction: column;
        gap: 50px;
    }
}

/* ==========================================================
   10. BLOG / NEWS & ARTICLES SECTION STYLING
========================================================== */
.rs-home-blog-section {
    padding: 100px 0;
    background-color: #ffffff;
}

/* Header Area */
.rs-home-blog-header {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    margin-bottom: 60px;
    gap: 30px;
}

.rs-home-blog-title-box {
    max-width: 650px;
}

.rs-home-blog-subtitle {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-size: 12px;
    font-weight: 700;
    text-transform: uppercase;
    color: #777;
    letter-spacing: 1.5px;
    margin-bottom: 15px;
}

.rs-home-blog-title {
    font-size: 42px;
    font-weight: 800;
    color: #161815;
    line-height: 1.2;
    letter-spacing: -0.5px;
    margin: 0;
}

/* View All News Button */
.rs-home-blog-all-btn {
    display: inline-flex;
    align-items: center;
    gap: 15px;
    text-decoration: none;
    border: 1px solid rgba(0, 0, 0, 0.15);
    padding: 6px 22px 6px 6px;
    border-radius: 50px;
    transition: all 0.3s ease;
    background-color: transparent;
    white-space: nowrap;
}

.rs-home-blog-btn-icon {
    width: 38px;
    height: 38px;
    background-color: #161815;
    color: #fff;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 13px;
    line-height:1px;
    transition: all 0.3s ease;
}

.rs-home-blog-btn-text {
    font-size: 14px;
    font-weight: 600;
    color: #161815;
    transition: color 0.3s ease;
}

.rs-home-blog-all-btn:hover {
    background-color: #161815;
    border-color: #161815;
}

    .rs-home-blog-all-btn:hover .rs-home-blog-btn-icon {
        background-color: #fff;
        color: #161815;
    }

    .rs-home-blog-all-btn:hover .rs-home-blog-btn-text {
        color: #fff;
    }

/* Blog Cards Grid */
.rs-home-blog-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 30px;
}

.rs-home-blog-card {
    display: flex;
    flex-direction: column;
}

/* Image Wrapper with Hover Effect */
.rs-home-blog-img-wrapper {
    width: 100%;
    height: 320px;
    border-radius: 20px;
    overflow: hidden;
    position: relative;
    background-color: #f4f4f4;
    margin-bottom: 20px;
}

    .rs-home-blog-img-wrapper img {
        width: 100%;
        height: 100%;
        object-fit: cover;
        display: block;
        transition: transform 0.6s cubic-bezier(0.25, 1, 0.5, 1), filter 0.6s ease;
    }

/* Mouse Hover Effect on Image */
.rs-home-blog-card:hover .rs-home-blog-img-wrapper img {
    transform: scale(1.08);
    filter: brightness(1.05);
}

/* Blog Content Area */
.rs-home-blog-content {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.rs-home-blog-author {
    font-size: 13px;
    font-weight: 600;
    color: #777;
    text-transform: capitalize;
}

.rs-home-blog-card-title {
    font-size: 20px;
    font-weight: 700;
    line-height: 1.4;
    margin: 0;
}

    .rs-home-blog-card-title a {
        color: #161815;
        text-decoration: none;
        transition: color 0.3s ease;
    }

        .rs-home-blog-card-title a:hover {
            color: #b89728; /* গোল্ডেন বা থিম কালার */
        }

/* Responsive Design */
@media (max-width: 992px) {
    .rs-home-blog-grid {
        grid-template-columns: 1fr;
        gap: 40px;
    }

    .rs-home-blog-header {
        flex-direction: column;
        align-items: flex-start;
        gap: 20px;
    }
}

/* ==========================================================
   11. FOOTER SECTION STYLING (CREATIVE UPDATE)
========================================================== */
.rs-footer-section {
    background-color: #111311;
    color: #ffffff;
    padding: 40px 40px 40px 40px;
    border-radius: 30px;
    margin: 40px 40px 0px 40px; 
    position: relative;
    overflow: hidden;
}

    /* ব্যাকগ্রাউন্ড গ্লো এবং গ্রিড এফেক্ট */
    .rs-footer-section::before {
        content: '';
        position: absolute;
        bottom: 0;
        left: 20%;
        width: 400px;
        height: 400px;
        background: radial-gradient(circle, rgba(168, 204, 39, 0.15) 0%, rgba(17, 19, 17, 0) 70%);
        pointer-events: none;
        z-index: 1;
    }

.rs-container {
    position: relative;
    z-index: 2;
}

/* Top Row */
.rs-footer-top-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding-bottom: 30px;
}

.rs-footer-logo-box {
    display: flex;
    align-items: center;
    gap: 12px;
}

.rs-footer-inspiration-text {
    font-size: 14px;
    font-weight: 600;
    color: var(--rs-gold, #ccff00);
    display: flex;
    align-items: center;
    gap: 8px;
}

/* Dividers */
.rs-footer-divider {
    width: 100%;
    height: 1px;
    background-color: rgba(255, 255, 255, 0.1);
    margin: 20px 0;
}

/* Middle Grid (3 Columns Layout) */
.rs-footer-grid {
    display: grid;
    grid-template-columns: 1fr 1.2fr 1.2fr;
    gap: 50px;
    padding: 40px 0;
}

.rs-footer-phone {
    display: block;
    font-size: 20px;
    font-weight: 700;
    color: #ffffff;
    text-decoration: none;
    margin-bottom: 8px;
    transition: color 0.3s ease;
}

.rs-footer-email {
    display: block;
    font-size: 15px;
    color: #a0a5a0;
    text-decoration: none;
    margin-bottom: 25px;
    transition: color 0.3s ease;
}

    .rs-footer-phone:hover,
    .rs-footer-email:hover {
        color: var(--rs-gold, #ccff00);
    }

/* Social Icons */
.rs-footer-socials {
    display: flex;
    gap: 12px;
}

.rs-social-icon {
    width: 40px;
    height: 40px;
    background-color: rgba(255, 255, 255, 0.05);
    border: 1px solid rgba(255, 255, 255, 0.1);
    color: #ffffff;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 16px;
    text-decoration: none;
    transition: all 0.3s ease;
}

    .rs-social-icon:hover {
        background-color: var(--rs-gold, #ccff00);
        color: #111311;
        border-color: var(--rs-gold, #ccff00);
        transform: translateY(-3px);
    }

/* Column Titles & Descriptions */
.rs-footer-col-title {
    font-size: 16px;
    font-weight: 700;
    color: #ffffff;
    margin-bottom: 25px;
    letter-spacing: 0.5px;
}

.rs-footer-desc {
    font-size: 14px;
    color: #a0a5a0;
    line-height: 1.6;
    margin-bottom: 20px;
}

/* Featured Property Promo Card (Creative Alternative) */
.rs-footer-promo-card {
    background-color: rgba(255, 255, 255, 0.03);
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 16px;
    padding: 15px;
    display: flex;
    gap: 15px;
    align-items: center;
    transition: border-color 0.3s ease;
}

    .rs-footer-promo-card:hover {
        border-color: var(--rs-gold, #ccff00);
    }

.rs-promo-img {
    position: relative;
    width: 80px;
    height: 80px;
    border-radius: 10px;
    overflow: hidden;
    flex-shrink: 0;
}

    .rs-promo-img img {
        width: 100%;
        height: 100%;
        object-fit: cover;
    }

.rs-promo-badge {
    position: absolute;
    top: 5px;
    left: 5px;
    background-color: var(--rs-gold, #ccff00);
    color: #111311;
    font-size: 9px;
    font-weight: 800;
    padding: 2px 6px;
    border-radius: 4px;
}

.rs-promo-info h5 {
    font-size: 15px;
    font-weight: 700;
    color: #ffffff;
    margin: 0 0 4px 0;
}

.rs-promo-info p {
    font-size: 12px;
    color: #a0a5a0;
    margin: 0 0 8px 0;
}

.rs-promo-link {
    font-size: 12px;
    font-weight: 700;
    color: var(--rs-gold, #ccff00);
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    gap: 4px;
}

/* Newsletter Input Form */
.rs-newsletter-input-group {
    position: relative;
    width: 100%;
}

    .rs-newsletter-input-group input {
        width: 100%;
        padding: 15px 50px 15px 20px;
        background-color: rgba(255, 255, 255, 0.05);
        border: 1px solid rgba(255, 255, 255, 0.1);
        border-radius: 12px;
        font-size: 14px;
        color: #ffffff;
        outline: none;
        transition: border-color 0.3s ease;
    }

        .rs-newsletter-input-group input:focus {
            border-color: var(--rs-gold, #ccff00);
        }

    .rs-newsletter-input-group button {
        position: absolute;
        top: 50%;
        right: 8px;
        transform: translateY(-50%);
        width: 38px;
        height: 38px;
        background-color: var(--rs-gold, #ccff00);
        color: #111311;
        border: none;
        border-radius: 10px;
        cursor: pointer;
        display: flex;
        align-items: center;
        justify-content: center;
        line-height:1px;
        font-size: 14px;
        transition: opacity 0.3s ease;
    }

        .rs-newsletter-input-group button:hover {
            opacity: 0.85;
        }

/* Bottom Row */
.rs-footer-bottom-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding-top: 10px;
}

.rs-footer-copyright {
    font-size: 13px;
    color: #888;
}

.rs-footer-legal-links {
    display: flex;
    gap: 25px;
}

    .rs-footer-legal-links a {
        font-size: 13px;
        color: #888;
        text-decoration: none;
        transition: color 0.3s ease;
    }

        .rs-footer-legal-links a:hover {
            color: #ffffff;
        }

/* Responsive Design */
@media (max-width: 992px) {
    .rs-footer-top-row {
        flex-direction: column;
        align-items: flex-start;
        gap: 15px;
    }

    .rs-footer-grid {
        grid-template-columns: 1fr;
        gap: 40px;
    }

    .rs-footer-bottom-row {
        flex-direction: column;
        gap: 15px;
        align-items: flex-start;
    }

    .rs-footer-section {
        padding: 50px 20px 30px 20px;
        margin: 40px 12px 0px 12px;
        border-radius: 20px;
    }
}

/* ==========================================================
   MOBILE RESPONSIVE DESIGN
========================================================== */
@media (max-width: 992px) {
    .rs-topnav {
        display: none;
    }

    .rs-nav-links {
        display: none; /* Hide desktop menu */
    }

    .rs-mobile-toggle-btn {
        display: flex; /* Show mobile menu hamburger icon */
    }

    .rs-container {
        padding: 0 15px;
    }

    .rs-header-box {
        border-radius: 20px;
        padding: 16px 15px;
    }

    .rs-slider-container {
        height: 480px;
        border-radius: 20px;
    }

    .rs-slide {
        padding: 30px;
    }

    .rs-slide-caption h1 {
        font-size: 32px;
    }

    .rs-slide-caption p {
        font-size: 14px;
    }

    .rs-slider-btn {
        width: 40px;
        height: 40px;
        font-size: 14px;
    }

    .rs-prev-btn {
        left: 15px;
    }

    .rs-next-btn {
        right: 15px;
    }
}

/* ==========================================================
   BACK TO TOP BUTTON CSS
========================================================== */
.rs-back-to-top {
    position: fixed;
    bottom: 30px;
    right: 30px;
    width: 45px;
    height: 45px; 
    color: var(--rs-dark-text);
    border: 1px solid rgba(212, 175, 55, 0.3);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 30px;
    line-height: 1px;
    cursor: pointer;
    z-index: 999;
    opacity: 0;
    visibility: hidden;
    transform: translateY(20px);
    transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
    box-shadow: 0 10px 25px rgba(0, 0, 0, 0.15);
}

.rs-back-to-top.rs-show {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}

.rs-back-to-top:hover {
    background-color: var(--rs-gold);
    color: var(--rs-primary-dark);
    border-color: var(--rs-gold);
    transform: translateY(-4px);
    box-shadow: 0 15px 30px rgba(0, 0, 0, 0.2);
}

.rs-back-to-top i {
    transition: transform 0.3s ease;
}

.rs-back-to-top:hover i {
    transform: translateY(-2px);
}

/* ==========================================================
   SERVICE LIST GRID STYLING
========================================================== */
/***  PAGE BANNER STYLING ***/
.rs-page-banner {
    position: relative;
    padding: 100px 0;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    text-align: center; 
    margin: -112px 20px 20px 20px;  
    border-radius: 24px; /* হেডার বা অন্যান্য সেকশনের মতো কর্নার রাউন্ড করার জন্য */
    overflow: hidden;
}

.rs-banner-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.5);
    z-index: 1;
}

.rs-banner-content {
    position: relative;
    padding-top:5rem;
    z-index: 2;
}

.rs-banner-title {
    font-size: 54px;
    font-weight: 800;
    color: #ffffff;
    margin-bottom: 15px;
    letter-spacing: -1px;
}

.rs-breadcrumb {
    font-size: 16px;
    font-weight: 600;
    color: #ffffff;
    display: inline-flex;
    align-items: center;
    gap: 10px;
}

.rs-breadcrumb a {
    color: var(--rs-gold, #ccff00);
    text-decoration: none;
    transition: color 0.3s ease;
}

.rs-breadcrumb a:hover {
    color: #ffffff;
}

.rs-breadcrumb-separator {
    font-size: 12px;
    margin-top: 3px;
}

.rs-breadcrumb-current {
    color: #ffffff;
}


/***  SERVICE LIST GRID STYLING ***/
.rs-service-list-section {
    padding: 60px 0 100px 0;
    background-color: #ffffff;
}

.rs-service-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 30px;
}

.rs-service-card {
    background-color: #ffffff;
    border: 1px solid rgba(0, 0, 0, 0.08);
    border-radius: 24px;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    transition: box-shadow 0.3s ease, transform 0.3s ease;
}

    .rs-service-card:hover {
        box-shadow: 0 15px 40px rgba(0, 0, 0, 0.06);
        transform: translateY(-5px);
    }

/* Image Wrapper (with angled bottom) */
.rs-service-img-wrapper {
    position: relative;
    width: 100%;
    height: 280px;
    clip-path: polygon(0 0, 100% 0, 100% 100%, 0 88%);
    overflow: hidden;
    background-color: #f4f4f4; /* ছবি লোড না হলে ব্যাকগ্রাউন্ড দেখাবে */
}

    .rs-service-img-wrapper img {
        width: 100%;
        height: 100%;
        object-fit: cover;
        display: block;
        transition: transform 0.5s ease;
    }

.rs-service-card:hover .rs-service-img-wrapper img {
    transform: scale(1.08);
}

/* Top Left Icon */
.rs-service-icon {
    position: absolute;
    top: 20px;
    left: 20px;
    width: 48px;
    height: 48px;
    background-color: #ffffff;
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 20px;
    color: #111;
    box-shadow: 0 5px 15px rgba(0,0,0,0.1);
    z-index: 2;
}

/* Content Area */
.rs-service-content {
    padding: 25px 30px 20px 30px;
    flex-grow: 1;
}

.rs-service-title {
    font-size: 22px;
    font-weight: 700;
    color: #161815;
    line-height: 1.4;
    margin: 0;
}

/* Action Box */
.rs-service-action-box {
    display: flex;
    justify-content: space-between;
    align-items: center;
    background-color: #ffffff;
    border: 1px solid rgba(0, 0, 0, 0.1);
    border-radius: 50px;
    padding: 6px 6px 6px 24px;
    text-decoration: none;
    transition: all 0.3s ease;
    /* পুরো কার্ডের উইডথ অনুযায়ী চওড়া করার জন্য */
    width: calc(100% - 60px);
    margin: 0 30px 30px 30px;
}

.rs-service-card:hover .rs-service-action-box {
    border-color: rgba(0, 0, 0, 0.25);
    background-color: #fafafa;
}

.rs-service-quote-text {
    font-size: 15px;
    font-weight: 600;
    color: #161815;
}

.rs-service-quote-btn {
    width: 42px;
    height: 42px;
    background-color: var(--rs-gold, #ccff00);
    color: #111;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 16px;
    transition: transform 0.3s ease, background-color 0.3s ease, color 0.3s ease;
    flex-shrink: 0;
}

.rs-service-action-box:hover .rs-service-quote-btn {
    transform: translateX(3px);
    background-color: #111;
    color: var(--rs-gold, #ccff00);
}

/* Responsive Design */
@media (max-width: 992px) {
    .rs-service-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .rs-page-banner {
        margin: 20px 15px;
    }
}

@media (max-width: 768px) {
    .rs-service-grid {
        grid-template-columns: 1fr;
    }

    .rs-banner-title {
        font-size: 42px;
    }
}

/* ==========================================================
   SERVICE DETAILS LAYOUT STYLING
========================================================== */
.rs-service-details-section {
    padding: 80px 0 120px 0;
    background-color: #ffffff;
}

.rs-service-details-grid {
    display: grid;
    grid-template-columns: 2fr 1fr;
    gap: 40px;
}

/* Main Content Styling */
.rs-service-featured-img {
    width: 100%;
    height: 450px;
    border-radius: 20px;
    overflow: hidden;
    margin-bottom: 35px;
}

    .rs-service-featured-img img {
        width: 100%;
        height: 100%;
        object-fit: cover;
    }

.rs-details-heading {
    font-size: 32px;
    font-weight: 800;
    color: #161815;
    line-height: 1.3;
    margin-bottom: 20px;
}

.rs-details-subheading {
    font-size: 24px;
    font-weight: 700;
    color: #161815;
    margin: 35px 0 15px 0;
}

.rs-details-text {
    font-size: 16px;
    line-height: 1.7;
    color: #666;
    margin-bottom: 25px;
}

/* Feature Boxes inside Main */
.rs-details-features-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 20px;
    margin: 30px 0;
}

.rs-feature-box {
    background-color: #f9f9f9;
    padding: 25px;
    border-radius: 16px;
    display: flex;
    gap: 15px;
    align-items: flex-start;
    border: 1px solid rgba(0, 0, 0, 0.04);
}

.rs-feature-icon {
    font-size: 22px;
    color: var(--rs-gold, #8da300);
    margin-top: 2px;
}

.rs-feature-box h4 {
    font-size: 17px;
    font-weight: 700;
    color: #161815;
    margin-bottom: 6px;
}

.rs-feature-box p {
    font-size: 14px;
    color: #666;
    margin: 0;
    line-height: 1.5;
}

/* Process Steps */
.rs-process-steps {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 20px;
    margin-top: 35px;
}

.rs-step-card {
    border: 1px solid rgba(0, 0, 0, 0.1);
    border-radius: 16px;
    padding: 30px;
    position: relative;
    background: #fff;
    transition: all 0.3s ease;
}

    .rs-step-card:hover {
        border-color: #161815;
        transform: translateY(-3px);
    }

.rs-step-num {
    font-size: 28px;
    font-weight: 800;
    color: #ddd;
    display: block;
    margin-bottom: 10px;
}

.rs-step-card h4 {
    font-size: 18px;
    font-weight: 700;
    color: #161815;
    margin-bottom: 8px;
}

.rs-step-card p {
    font-size: 14px;
    color: #666;
    margin: 0;
}

/* SIDEBAR STYLING */
.rs-service-sidebar {
    display: flex;
    flex-direction: column;
    gap: 30px;
}

.rs-sidebar-widget {
    background-color: #f9f9f9;
    border-radius: 20px;
    padding: 30px;
    border: 1px solid rgba(0, 0, 0, 0.05);
}

.rs-widget-title {
    font-size: 18px;
    font-weight: 700;
    color: #161815;
    margin-bottom: 20px;
    position: relative;
    padding-bottom: 10px;
    border-bottom: 2px solid rgba(0, 0, 0, 0.05);
}

/* Category List Widget */
.rs-service-sidebar-list {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 12px;
}

    .rs-service-sidebar-list li a {
        display: flex;
        justify-content: space-between;
        align-items: center;
        background-color: #ffffff;
        padding: 14px 20px;
        border-radius: 12px;
        font-size: 15px;
        font-weight: 600;
        color: #444;
        text-decoration: none;
        transition: all 0.3s ease;
        border: 1px solid rgba(0, 0, 0, 0.03);
    }

        .rs-service-sidebar-list li a.active,
        .rs-service-sidebar-list li a:hover {
            background-color: #161815;
            color: #ffffff;
        }

        .rs-service-sidebar-list li a i {
            font-size: 12px;
        }

/* Download Widget */
.rs-download-btn {
    display: flex;
    justify-content: space-between;
    align-items: center;
    background-color: #ffffff;
    padding: 16px 20px;
    border-radius: 12px;
    text-decoration: none;
    border: 1px solid rgba(0, 0, 0, 0.06);
    transition: all 0.3s ease;
}

.rs-download-info {
    display: flex;
    align-items: center;
    gap: 12px;
    font-size: 15px;
    font-weight: 600;
    color: #161815;
}

    .rs-download-info i {
        font-size: 20px;
        color: #ff4d4d;
    }

.rs-download-btn > i {
    color: #777;
}

.rs-download-btn:hover {
    background-color: #161815;
    color: #fff;
}

    .rs-download-btn:hover .rs-download-info,
    .rs-download-btn:hover > i {
        color: #fff;
    }

/* Help Widget */
.rs-help-widget {
    position: relative;
    background-size: cover;
    background-position: center;
    color: #ffffff;
    text-align: center;
    overflow: hidden;
    padding: 40px 25px;
}

.rs-help-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(17, 19, 17, 0.85);
    z-index: 1;
}

.rs-help-content {
    position: relative;
    z-index: 2;
}

.rs-help-icon {
    width: 50px;
    height: 50px;
    background-color: var(--rs-gold, #ccff00);
    color: #111;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 20px;
    margin: 0 auto 20px auto;
}

.rs-help-content h4 {
    font-size: 20px;
    font-weight: 700;
    margin-bottom: 10px;
    color: #fff;
}

.rs-help-content p {
    font-size: 14px;
    color: #ccc;
    margin-bottom: 20px;
}

.rs-help-phone {
    display: inline-block;
    font-size: 18px;
    font-weight: 700;
    color: var(--rs-gold, #ccff00);
    text-decoration: none;
    transition: color 0.3s ease;
}

    .rs-help-phone:hover {
        color: #fff;
    }

/* RESPONSIVE DESIGN */
@media (max-width: 992px) {
    .rs-service-details-grid {
        grid-template-columns: 1fr;
    }

    .rs-details-features-grid,
    .rs-process-steps {
        grid-template-columns: 1fr;
    }
}


/* ==========================================================
   PROJECTS GRID SECTION STYLING
========================================================== */
.rs-project-list-section {
    padding: 60px 0 100px 0;
    background-color: #ffffff;
}

.rs-project-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 40px;
}

.rs-project-card {
    display: flex;
    flex-direction: column;
}

/* Image Wrapper with Rounded Corners & Hover */
.rs-project-img-wrapper {
    position: relative;
    width: 100%;
    height: 480px;
    border-radius: 30px;
    overflow: hidden;
    background-color: #f4f4f4;
    margin-bottom: 20px;
}

    .rs-project-img-wrapper img {
        width: 100%;
        height: 100%;
        object-fit: cover;
        display: block;
        transition: transform 0.6s cubic-bezier(0.25, 1, 0.5, 1);
    }

.rs-project-card:hover .rs-project-img-wrapper img {
    transform: scale(1.06);
}

/* Floating Tag (Cornerstone / Foundation) */
.rs-project-tag {
    position: absolute;
    top: 25px;
    left: 25px;
    background-color: rgba(22, 24, 21, 0.85);
    backdrop-filter: blur(5px);
    color: #ffffff;
    font-size: 13px;
    font-weight: 600;
    padding: 8px 18px;
    border-radius: 50px;
    z-index: 2;
    letter-spacing: 0.3px;
}

/* Content Area */
.rs-project-content {
    display: flex;
    flex-direction: column;
    gap: 6px;
    padding: 0 10px;
}

.rs-project-location {
    font-size: 14px;
    font-weight: 600;
    color: #777;
}

.rs-project-title {
    font-size: 22px;
    font-weight: 700;
    line-height: 1.4;
    margin: 0;
}

    .rs-project-title a {
        color: #161815;
        text-decoration: none;
        transition: color 0.3s ease;
    }

        .rs-project-title a:hover {
            color: var(--rs-gold, #8da300);
        }

/* Responsive Design */
@media (max-width: 992px) {
    .rs-project-grid {
        grid-template-columns: 1fr;
        gap: 50px;
    }

    .rs-project-img-wrapper {
        height: 380px;
    }
}

/* ==========================================================
   PROJECT DETAILS MAIN SECTION
========================================================== */
.rs-project-details-section {
    padding: 60px 0 80px 0;
    background-color: #ffffff;
}

.rs-project-featured-img {
    width: 100%;
    height: 520px;
    border-radius: 24px;
    overflow: hidden;
    margin-bottom: 50px;
}

    .rs-project-featured-img img {
        width: 100%;
        height: 100%;
        object-fit: cover;
    }

.rs-project-details-grid {
    display: grid;
    grid-template-columns: 2fr 1fr;
    gap: 50px;
    align-items: flex-start;
}

/* Left Description Area */
.rs-project-heading {
    font-size: 32px;
    font-weight: 800;
    color: #161815;
    margin-bottom: 20px;
}

.rs-project-text {
    font-size: 15px;
    line-height: 1.8;
    color: #666;
    margin-bottom: 20px;
}

/* Right Meta Sidebar Box */
.rs-project-meta-sidebar {
    background-color: #f9f9f9;
    border: 1px solid rgba(0, 0, 0, 0.05);
    border-radius: 20px;
    padding: 35px 30px;
}

.rs-meta-list {
    list-style: none;
    padding: 0;
    margin: 0 0 30px 0;
    display: flex;
    flex-direction: column;
    gap: 18px;
}

    .rs-meta-list li {
        display: flex;
        flex-direction: column;
        gap: 4s;
        border-bottom: 1px solid rgba(0, 0, 0, 0.04);
        padding-bottom: 14px;
    }

        .rs-meta-list li:last-child {
            border-bottom: none;
            padding-bottom: 0;
        }

.rs-meta-label {
    font-size: 13px;
    font-weight: 600;
    color: #888;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.rs-meta-value {
    font-size: 16px;
    font-weight: 700;
    color: #161815;
}

    .rs-meta-value a {
        color: #161815;
        text-decoration: none;
        transition: color 0.3s ease;
    }

        .rs-meta-value a:hover {
            color: var(--rs-gold, #8da300);
        }

/* SIDEBAR CALL */
.rs-sidebar-call-box {
    display: flex;
    align-items: center;
    gap: 15px;
    background-color: #ffffff;
    border: 1px solid rgba(0, 0, 0, 0.06);
    border-radius: 14px;
    padding: 16px 20px;
    margin-bottom: 20px;
    transition: all 0.3s ease;
}

    .rs-sidebar-call-box:hover {
        border-color: var(--rs-gold, #8da300);
        box-shadow: 0 5px 15px rgba(0, 0, 0, 0.03);
    }

.rs-call-icon {
    width: 45px;
    height: 45px;
    background-color: var(--rs-gold, #ccff00);
    color: #161815;
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    line-height:1px;
    font-size: 18px;
    flex-shrink: 0;
}

.rs-call-info {
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.rs-call-label {
    font-size: 12px;
    font-weight: 600;
    color: #777;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.rs-call-number {
    font-size: 16px;
    font-weight: 800;
    color: #161815;
    text-decoration: none;
    transition: color 0.3s ease;
}

    .rs-call-number:hover {
        color: var(--rs-gold, #8da300);
    }

/* Social Buttons inside Sidebar */
.rs-meta-socials {
    display: flex;
    gap: 10px;
    padding-top: 10px;
    border-top: 1px solid rgba(0, 0, 0, 0.06);
}

.rs-social-btn {
    width: 38px;
    height: 38px;
    background-color: #161815;
    color: #ffffff;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 20px;
    line-height:1px;
    text-decoration: none;
    transition: all 0.3s ease;
}

    .rs-social-btn:hover {
        background-color: var(--rs-gold, #ccff00);
        color: #161815;
        transform: translateY(-2px);
    }

/* RELATED PROJECTS SECTION STYLING */
.rs-related-projects-section {
    padding: 60px 0 100px 0;
    background-color: #ffffff;
    border-top: 1px solid rgba(0, 0, 0, 0.05);
}

.rs-related-header {
    text-align: center;
    max-width: 600px;
    margin: 0 auto 50px auto;
}

.rs-related-subtitle {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-size: 12px;
    font-weight: 700;
    text-transform: uppercase;
    color: #777;
    letter-spacing: 1.5px;
    margin-bottom: 10px;
}

.rs-related-title {
    font-size: 36px;
    font-weight: 800;
    color: #161815;
    letter-spacing: -0.5px;
}

.rs-project-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 30px;
}

.rs-project-card {
    display: flex;
    flex-direction: column;
}

.rs-project-img-wrapper {
    position: relative;
    width: 100%;
    height: 340px;
    border-radius: 24px;
    overflow: hidden;
    background-color: #f4f4f4;
    margin-bottom: 20px;
}

    .rs-project-img-wrapper img {
        width: 100%;
        height: 100%;
        object-fit: cover;
        display: block;
        transition: transform 0.6s cubic-bezier(0.25, 1, 0.5, 1);
    }

.rs-project-card:hover .rs-project-img-wrapper img {
    transform: scale(1.06);
}

.rs-project-tag {
    position: absolute;
    top: 20px;
    left: 20px;
    background-color: rgba(22, 24, 21, 0.85);
    backdrop-filter: blur(5px);
    color: #ffffff;
    font-size: 12px;
    font-weight: 600;
    padding: 6px 16px;
    border-radius: 50px;
    z-index: 2;
}

.rs-project-content {
    display: flex;
    flex-direction: column;
    gap: 5px;
    padding: 0 5px;
}

.rs-project-location {
    font-size: 13px;
    font-weight: 600;
    color: #777;
}

.rs-project-card-title {
    font-size: 18px;
    font-weight: 700;
    line-height: 1.4;
    margin: 0;
}

    .rs-project-card-title a {
        color: #161815;
        text-decoration: none;
        transition: color 0.3s ease;
    }

        .rs-project-card-title a:hover {
            color: var(--rs-gold, #8da300);
        }

/* RESPONSIVE DESIGN */
@media (max-width: 992px) {
    .rs-project-details-grid {
        grid-template-columns: 1fr;
    }

    .rs-project-grid {
        grid-template-columns: 1fr;
        gap: 40px;
    }

    .rs-project-featured-img {
        height: 350px;
    }
}

/* ==========================================================
   BLOG GRID SECTION STYLING
========================================================== */
.rs-blog-list-section {
    padding: 60px 0 100px 0;
    background-color: #ffffff;
}

.rs-blog-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 40px 30px;
}

.rs-blog-card {
    display: flex;
    flex-direction: column;
}

/* Image Wrapper with Rounded Corners & Hover */
.rs-blog-img-wrapper {
    position: relative;
    width: 100%;
    height: 280px;
    border-radius: 24px;
    overflow: hidden;
    background-color: #f4f4f4;
    margin-bottom: 20px;
}

    .rs-blog-img-wrapper img {
        width: 100%;
        height: 100%;
        object-fit: cover;
        display: block;
        transition: transform 0.6s cubic-bezier(0.25, 1, 0.5, 1);
    }

.rs-blog-card:hover .rs-blog-img-wrapper img {
    transform: scale(1.06);
}

/* Content Area */
.rs-blog-content {
    display: flex;
    flex-direction: column;
    gap: 8px;
    padding: 0 5px;
}

.rs-blog-author {
    font-size: 13px;
    font-weight: 600;
    color: #777;
}

.rs-blog-title {
    font-size: 20px;
    font-weight: 700;
    line-height: 1.4;
    margin: 0;
}

    .rs-blog-title a {
        color: #161815;
        text-decoration: none;
        transition: color 0.3s ease;
    }

        .rs-blog-title a:hover {
            color: var(--rs-gold, #8da300);
        }

/* Responsive Design */
@media (max-width: 992px) {
    .rs-blog-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 768px) {
    .rs-blog-grid {
        grid-template-columns: 1fr;
    }
}

/* ==========================================================
   BLOG DETAILS LAYOUT
========================================================== */
.rs-blog-details-section {
    padding: 60px 0 100px 0;
    background-color: #ffffff;
}

.rs-blog-details-grid {
    display: grid;
    grid-template-columns: 2fr 1fr;
    gap: 40px;
    align-items: flex-start;
}

/* Left Content Area */
.rs-blog-featured-img {
    position: relative;
    width: 100%;
    height: 480px;
    border-radius: 24px;
    overflow: hidden;
    margin-bottom: 25px;
    background-color: #f4f4f4;
}

    .rs-blog-featured-img img {
        width: 100%;
        height: 100%;
        object-fit: cover;
    }

/* Date Badge on Image */
.rs-date-badge {
    position: absolute;
    bottom: 0;
    right: 0;
    background-color: var(--rs-gold, #ccff00);
    color: #161815;
    padding: 15px 22px;
    border-top-left-radius: 20px;
    text-align: center;
    font-weight: 800;
    line-height: 1.1;
}

.rs-date-day {
    font-size: 20px;
    display: block;
}

.rs-date-month {
    font-size: 11px;
    letter-spacing: 1px;
}

.rs-post-meta {
    display: flex;
    gap: 20px;
    font-size: 14px;
    font-weight: 600;
    color: #777;
    margin-bottom: 12px;
}

    .rs-post-meta i {
        color: var(--rs-gold, #8da300);
        margin-right: 5px;
    }

.rs-blog-post-title {
    font-size: 32px;
    font-weight: 800;
    color: #161815;
    line-height: 1.3;
    margin-bottom: 25px;
}

.rs-blog-text-content {
    display: flex;
    flex-direction: column;
    gap: 20px;
    font-size: 15px;
    line-height: 1.8;
    color: #666;
    margin-bottom: 35px;
    border-bottom: 1px solid rgba(0, 0, 0, 0.08);
    padding-bottom: 35px;
}

/* Footer Meta inside Blog Details */
.rs-blog-footer-meta {
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    gap: 20px;
}

.rs-blog-tags {
    display: flex;
    align-items: center;
    gap: 10px;
}

.rs-meta-title {
    font-weight: 700;
    color: #161815;
    margin-right: 5px;
}

.rs-tag-pill {
    background-color: var(--rs-gold, #ccff00);
    color: #161815;
    font-size: 12px;
    font-weight: 700;
    padding: 6px 18px;
    border-radius: 50px;
    text-decoration: none;
    transition: opacity 0.3s ease;
}

    .rs-tag-pill:hover {
        opacity: 0.85;
    }

.rs-blog-share {
    display: flex;
    gap: 8px;
}

.rs-share-btn {
    width: 36px;
    height: 36px;
    background-color: var(--rs-gold, #ccff00);
    color: #161815;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 20px;
    line-height:1px;
    text-decoration: none;
    transition: transform 0.3s ease;
}

    .rs-share-btn:hover {
        transform: translateY(-2px);
    }

/* SIDEBAR STYLING */
.rs-blog-sidebar {
    display: flex;
    flex-direction: column;
    gap: 30px;
}

.rs-sidebar-widget {
    background-color: #f9f9f9;
    border-radius: 20px;
    padding: 30px;
    border: 1px solid rgba(0, 0, 0, 0.04);
}

/* Search Widget */
.rs-search-widget {
    position: relative;
    padding: 0;
    background: transparent;
    border: none;
}

    .rs-search-widget input {
        width: 100%;
        padding: 16px 50px 16px 20px;
        background-color: #f9f9f9;
        border: 1px solid rgba(0, 0, 0, 0.08);
        border-radius: 50px;
        font-size: 14px;
        outline: none;
        transition: border-color 0.3s ease;
    }

        .rs-search-widget input:focus {
            border-color: #161815;
        }

    .rs-search-widget button {
        position: absolute;
        top: 50%;
        right: 20px;
        transform: translateY(-50%);
        background: none;
        border: none;
        color: #777;
        cursor: pointer;
        font-size: 15px;
    }

/* Widget Titles */
.rs-widget-title {
    font-size: 20px;
    font-weight: 800;
    color: #161815;
    margin-bottom: 20px;
    padding-bottom: 12px;
    border-bottom: 2px solid rgba(0, 0, 0, 0.05);
}

/* Latest Posts Widget */
.rs-latest-posts-list {
    display: flex;
    flex-direction: column;
    gap: 18px;
}

.rs-latest-post-item {
    display: flex;
    gap: 15px;
    align-items: center;
}

    .rs-latest-post-item img {
        width: 75px;
        height: 75px;
        border-radius: 14px;
        object-fit: cover;
        flex-shrink: 0;
    }

.rs-latest-post-info {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.rs-lp-author {
    font-size: 12px;
    color: #777;
    font-weight: 600;
}

    .rs-lp-author i {
        color: var(--rs-gold, #8da300);
    }

.rs-latest-post-info h4 {
    font-size: 15px;
    font-weight: 700;
    line-height: 1.35;
    margin: 0;
}

    .rs-latest-post-info h4 a {
        color: #161815;
        text-decoration: none;
        transition: color 0.3s ease;
    }

        .rs-latest-post-info h4 a:hover {
            color: var(--rs-gold, #8da300);
        }

/* Categories List */
.rs-categories-list {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 12px;
}

    .rs-categories-list li a {
        display: flex;
        justify-content: space-between;
        align-items: center;
        color: #666;
        text-decoration: none;
        font-weight: 600;
        font-size: 15px;
        transition: color 0.3s ease;
    }

        .rs-categories-list li.active a,
        .rs-categories-list li a:hover {
            color: #161815;
        }

    .rs-categories-list li.active a {
        font-weight: 700;
    }

    .rs-categories-list li a i {
        font-size: 12px;
        color: #161815;
    }

/* Tag Cloud Widget */
.rs-tag-cloud {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

    .rs-tag-cloud a {
        background-color: #ffffff;
        border: 1px solid rgba(0, 0, 0, 0.06);
        color: #555;
        font-size: 13px;
        font-weight: 600;
        padding: 6px 16px;
        border-radius: 50px;
        text-decoration: none;
        transition: all 0.3s ease;
    }

        .rs-tag-cloud a:hover {
            background-color: #161815;
            color: #ffffff;
            border-color: #161815;
        }

/*RESPONSIVE DESIGN */
@media (max-width: 992px) {
    .rs-blog-details-grid {
        grid-template-columns: 1fr;
    }

    .rs-blog-featured-img {
        height: 350px;
    }
}

/* ==========================================================
   CONTACT INFO CARDS SECTION
========================================================== */
.rs-contact-info-section {
    padding: 60px 0 20px 0;
    background-color: #ffffff;
}

.rs-contact-info-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 30px;
}

.rs-info-card {
    background-color: #f9f9f9;
    border: 1px solid rgba(0, 0, 0, 0.04);
    border-radius: 20px;
    padding: 30px;
    display: flex;
    align-items: flex-start;
    gap: 20px;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

    .rs-info-card:hover {
        transform: translateY(-5px);
        box-shadow: 0 10px 30px rgba(0, 0, 0, 0.05);
    }

.rs-info-icon {
    width: 60px;
    height: 60px;
    background-color: var(--rs-gold, #ccff00);
    color: #161815;
    border-radius: 16px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 22px;
    flex-shrink: 0;
}

.rs-info-content h4 {
    font-size: 18px;
    font-weight: 800;
    color: #161815;
    margin-bottom: 8px;
}

.rs-info-content p {
    font-size: 14px;
    color: #666;
    line-height: 1.6;
    margin: 0;
}

/* CONTACT FORM & MAP SECTION */
.rs-contact-main-section {
    padding: 40px 0 100px 0;
    background-color: #ffffff;
}

.rs-contact-wrapper {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 40px;
    background-color: #f9f9f9;
    border: 1px solid rgba(0, 0, 0, 0.04);
    border-radius: 24px;
    padding: 50px;
    align-items: stretch;
}

.rs-form-subtitle {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-size: 12px;
    font-weight: 700;
    text-transform: uppercase;
    color: #777;
    letter-spacing: 1.5px;
    margin-bottom: 8px;
}

.rs-form-title {
    font-size: 32px;
    font-weight: 800;
    color: #161815;
    margin-bottom: 10px;
}

.rs-form-desc {
    font-size: 14px;
    color: #666;
    margin-bottom: 30px;
}

.rs-form-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
    margin-bottom: 20px;
}

.rs-form-group {
    margin-bottom: 20px;
}

    .rs-form-group input,
    .rs-form-group textarea {
        width: 100%;
        padding: 16px 20px;
        background-color: #ffffff;
        border: 1px solid rgba(0, 0, 0, 0.08);
        border-radius: 14px;
        font-size: 14px;
        color: #161815;
        outline: none;
        transition: border-color 0.3s ease;
    }

        .rs-form-group input:focus,
        .rs-form-group textarea:focus {
            border-color: #161815;
        }

.rs-submit-btn {
    background-color: #161815;
    color: #ffffff;
    border: none;
    padding: 16px 32px;
    font-size: 15px;
    font-weight: 700;
    border-radius: 14px;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    gap: 10px;
    transition: background-color 0.3s ease, transform 0.3s ease;
}

    .rs-submit-btn:hover {
        background-color: var(--rs-gold, #8da300);
        color: #161815;
        transform: translateY(-2px);
    }

/* Map Box */
.rs-contact-map-box {
    width: 100%;
    height: 100%;
    min-height: 450px;
    border-radius: 16px;
    overflow: hidden;
}

/* RESPONSIVE DESIGN */
@media (max-width: 992px) {
    .rs-contact-info-grid {
        grid-template-columns: 1fr;
    }

    .rs-contact-wrapper {
        grid-template-columns: 1fr;
        padding: 30px;
    }

    .rs-form-row {
        grid-template-columns: 1fr;
        gap: 0;
    }

    .rs-contact-map-box {
        min-height: 350px;
    }
}

/* ==========================================================
   MAIN ABOUT SECTION STYLING
========================================================== */
.rs-about-main-section {
    padding: 80px 0;
    background-color: #ffffff;
}

.rs-about-img-wrapper {
    position: relative;
    padding-bottom: 40px;
    padding-right: 40px;
}

.rs-about-main-img {
    width: 100%;
    height: 480px;
    border-radius: 24px;
    overflow: hidden;
}

    .rs-about-main-img img {
        width: 100%;
        height: 100%;
        object-fit: cover;
    }

.rs-about-sub-img {
    position: absolute;
    bottom: 0;
    right: 0;
    width: 240px;
    height: 240px;
    border-radius: 20px;
    overflow: hidden;
    border: 8px solid #ffffff;
    box-shadow: 0 15px 30px rgba(0, 0, 0, 0.1);
}

    .rs-about-sub-img img {
        width: 100%;
        height: 100%;
        object-fit: cover;
    }

/* Floating Experience Badge */
.rs-about-exp-badge {
    position: absolute;
    top: 40px;
    left: -30px;
    background-color: #161815;
    color: #ffffff;
    padding: 25px 30px;
    border-radius: 20px;
    text-align: center;
    box-shadow: 0 10px 25px rgba(0, 0, 0, 0.15);
    border: 2px solid var(--rs-gold, #ccff00);
}

    .rs-about-exp-badge h2 {
        font-size: 32px;
        font-weight: 800;
        color: var(--rs-gold, #ccff00);
        margin: 0;
        line-height: 1;
    }

    .rs-about-exp-badge p {
        font-size: 12px;
        font-weight: 600;
        margin: 5px 0 0 0;
        color: #ccc;
    }

/* Right Content Box */
.rs-about-subtitle {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-size: 12px;
    font-weight: 700;
    text-transform: uppercase;
    color: #777;
    letter-spacing: 1.5px;
    margin-bottom: 12px;
}

.rs-about-heading {
    font-size: 36px;
    font-weight: 800;
    color: #161815;
    line-height: 1.3;
    margin-bottom: 20px;
}

.rs-about-desc {
    font-size: 15px;
    line-height: 1.8;
    color: #666;
    margin-bottom: 30px;
}

/* Mission & Vision List */
.rs-about-mv-list {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.rs-mv-item {
    display: flex;
    align-items: flex-start;
    gap: 20px;
    background-color: #f9f9f9;
    padding: 20px;
    border-radius: 16px;
    border: 1px solid rgba(0, 0, 0, 0.04);
}

.rs-mv-icon {
    width: 50px;
    height: 50px;
    background-color: var(--rs-gold, #ccff00);
    color: #161815;
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 20px;
    flex-shrink: 0;
}

.rs-mv-text h4 {
    font-size: 18px;
    font-weight: 700;
    color: #161815;
    margin-bottom: 5px;
}

.rs-mv-text p {
    font-size: 14px;
    color: #666;
    margin: 0;
    line-height: 1.6;
}

/* ==========================================================
   STATISTICS COUNTER SECTION
========================================================== */
.rs-about-counter-section {
    padding: 60px 0;
    background-color: #f9f9f9;
    border-top: 1px solid rgba(0, 0, 0, 0.04);
    border-bottom: 1px solid rgba(0, 0, 0, 0.04);
}

.rs-counter-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 30px;
    text-align: center;
}

.rs-counter-card h2 {
    font-size: 45px;
    font-weight: 800;
    color: #161815;
    margin-bottom: 5px;
}

.rs-counter-card p {
    font-size: 15px;
    font-weight: 600;
    color: #777;
    margin: 0;
}

/* ==========================================================
   WHY CHOOSE US SECTION
========================================================== */
.rs-about-features-section {
    padding: 80px 0 100px 0;
    background-color: #ffffff;
}

.rs-section-title-box {
    max-width: 700px;
    margin: 0 auto;
}

.rs-feature-card {
    background-color: #f9f9f9;
    border: 1px solid rgba(0, 0, 0, 0.05);
    border-radius: 20px;
    padding: 40px 30px;
    height: 100%;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

    .rs-feature-card:hover {
        transform: translateY(-5px);
        box-shadow: 0 15px 30px rgba(0, 0, 0, 0.05);
    }

.rs-f-card-icon {
    width: 65px;
    height: 65px;
    background-color: #161815;
    color: var(--rs-gold, #ccff00);
    border-radius: 16px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 24px;
    margin-bottom: 25px;
}

.rs-feature-card h3 {
    font-size: 20px;
    font-weight: 800;
    color: #161815;
    margin-bottom: 12px;
}

.rs-feature-card p {
    font-size: 14px;
    color: #666;
    line-height: 1.7;
    margin: 0;
}

/* RESPONSIVE DESIGN */
@media (max-width: 992px) {
    .rs-about-sub-img {
        width: 180px;
        height: 180px;
    }

    .rs-counter-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 40px;
    }

    .rs-about-exp-badge {
        left: 0;
        top: 20px;
    }
}

@media (max-width: 576px) {
    .rs-counter-grid {
        grid-template-columns: 1fr;
    }

    .rs-about-heading {
        font-size: 28px;
    }
}

/* ==========================================================
   AWARD DETAILS MAIN SECTION STYLING
========================================================== */
.rs-award-details-section {
    padding: 80px 0;
    background-color: #ffffff;
}

.rs-award-details-grid {
    display: grid;
    grid-template-columns: 350px 1fr;
    gap: 50px;
    align-items: start;
}

/* Sidebar Meta Card */
.rs-award-meta-card {
    background-color: #111311;
    color: #ffffff;
    border-radius: 24px;
    padding: 40px 30px;
    position: sticky;
    top: 40px;
    box-shadow: 0 20px 40px rgba(0, 0, 0, 0.08);
}

.rs-award-trophy-icon {
    width: 70px;
    height: 70px;
    background-color: rgba(168, 204, 39, 0.1);
    color: var(--rs-gold, #ccff00);
    border-radius: 20px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 30px;
    margin-bottom: 25px;
    border: 1px solid rgba(168, 204, 39, 0.2);
}

.rs-award-meta-card h3 {
    font-size: 20px;
    font-weight: 700;
    margin-bottom: 25px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.1);
    padding-bottom: 15px;
}

.rs-meta-list {
    list-style: none;
    padding: 0;
    margin: 0 0 30px 0;
    display: flex;
    flex-direction: column;
    gap: 16px;
}

    .rs-meta-list li {
        display: flex;
        justify-content: space-between;
        align-items: center;
        font-size: 14px;
    }

.meta-label {
    color: #a0a5a0;
}

.meta-value {
    font-weight: 600;
    color: #ffffff;
}

.rs-status-winner {
    background-color: var(--rs-gold, #ccff00);
    color: #111311;
    padding: 2px 10px;
    border-radius: 6px;
    font-size: 12px;
    font-weight: 800;
}

.rs-share-box {
    border-top: 1px solid rgba(255, 255, 255, 0.1);
    padding-top: 20px;
}

    .rs-share-box span {
        display: block;
        font-size: 13px;
        color: #a0a5a0;
        margin-bottom: 12px;
    }

.rs-share-icons {
    display: flex;
    gap: 10px;
}

    .rs-share-icons a {
        width: 36px;
        height: 36px;
        background-color: rgba(255, 255, 255, 0.05);
        border: 1px solid rgba(255, 255, 255, 0.1);
        color: #ffffff;
        border-radius: 50%;
        display: flex;
        align-items: center;
        justify-content: center;
        font-size: 14px;
        text-decoration: none;
        transition: all 0.3s ease;
    }

        .rs-share-icons a:hover {
            background-color: var(--rs-gold, #ccff00);
            color: #111311;
            border-color: var(--rs-gold, #ccff00);
        }

/* Main Content Section */
.rs-award-main-content {
    background-color: #f9f9f9;
    border: 1px solid rgba(0, 0, 0, 0.04);
    border-radius: 24px;
    padding: 50px;
}

.rs-content-block {
    margin-bottom: 40px;
}

    .rs-content-block h2 {
        font-size: 28px;
        font-weight: 800;
        color: #161815;
        margin-bottom: 20px;
        letter-spacing: -0.5px;
    }

    .rs-content-block h3 {
        font-size: 22px;
        font-weight: 700;
        color: #161815;
        margin-bottom: 15px;
    }

.rs-lead-text {
    font-size: 17px;
    font-weight: 600;
    color: #333;
    line-height: 1.7;
    font-style: italic;
    border-left: 4px solid var(--rs-gold, #88aa00);
    padding-left: 20px;
    margin-bottom: 20px;
}

.rs-content-block p {
    font-size: 15px;
    color: #666;
    line-height: 1.8;
    margin-bottom: 15px;
}

/* Feature Image */
.rs-award-feature-img {
    position: relative;
    margin: 40px 0;
    border-radius: 20px;
    overflow: hidden;
    box-shadow: 0 15px 30px rgba(0, 0, 0, 0.08);
}

    .rs-award-feature-img img {
        width: 100%;
        height: 400px;
        object-fit: cover;
        display: block;
    }

.rs-img-caption {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    background: linear-gradient(to top, rgba(0,0,0,0.8), transparent);
    color: #ffffff;
    font-size: 14px;
    padding: 20px;
    font-weight: 500;
}

/* Quote Box */
.rs-quote-box {
    background-color: #ffffff;
    border-left: 4px solid #111311;
    padding: 30px;
    border-radius: 0 16px 16px 0;
    margin-top: 25px;
    box-shadow: 0 10px 25px rgba(0,0,0,0.03);
}

    .rs-quote-box i {
        font-size: 24px;
        color: #bbb;
        margin-bottom: 10px;
        display: block;
    }

    .rs-quote-box p {
        font-size: 16px;
        color: #222;
        font-style: italic;
        line-height: 1.6;
        margin-bottom: 12px;
    }

.rs-quote-author {
    font-size: 13px;
    font-weight: 700;
    color: var(--rs-gold, #88aa00);
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

/* Navigation Buttons */
.rs-award-navigation {
    display: flex;
    justify-content: space-between;
    align-items: center;
    border-top: 1px solid rgba(0, 0, 0, 0.08);
    padding-top: 30px;
    margin-top: 20px;
}

.rs-nav-btn {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    font-size: 14px;
    font-weight: 700;
    color: #161815;
    text-decoration: none;
    background-color: #ffffff;
    padding: 12px 24px;
    border-radius: 12px;
    border: 1px solid rgba(0, 0, 0, 0.08);
    transition: all 0.3s ease;
}

    .rs-nav-btn:hover {
        background-color: #111311;
        color: #ffffff;
        border-color: #111311;
    }

/* RESPONSIVE DESIGN */
@media (max-width: 992px) {
    .rs-award-details-grid {
        grid-template-columns: 1fr;
    }

    .rs-award-meta-card {
        position: static;
    }

    .rs-award-main-content {
        padding: 30px;
    }

    .rs-banner-title {
        font-size: 32px;
    }
}


/* ==========================================================
   PRIVACY POLICY MAIN SECTION
========================================================== */
.rs-policy-section {
    padding: 60px 0 100px 0;
    background-color: #ffffff;
}

.rs-policy-wrapper {
    max-width: 900px;
    margin: 0 auto;
    background-color: #f9f9f9;
    border: 1px solid rgba(0, 0, 0, 0.04);
    border-radius: 24px;
    padding: 50px;
}

.rs-policy-header-text {
    margin-bottom: 40px;
    border-bottom: 1px solid rgba(0, 0, 0, 0.08);
    padding-bottom: 25px;
}

.rs-policy-subtitle {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-size: 12px;
    font-weight: 700;
    text-transform: uppercase;
    color: #777;
    letter-spacing: 1.5px;
    margin-bottom: 10px;
}

.rs-policy-header-text h2 {
    font-size: 28px;
    font-weight: 800;
    color: #161815;
    margin-bottom: 12px;
}

.rs-policy-header-text p {
    font-size: 15px;
    line-height: 1.8;
    color: #666;
    margin: 0;
}

.rs-policy-content-block {
    margin-bottom: 35px;
}

    .rs-policy-content-block h3 {
        font-size: 20px;
        font-weight: 800;
        color: #161815;
        margin-bottom: 15px;
    }

    .rs-policy-content-block p {
        font-size: 15px;
        line-height: 1.8;
        color: #666;
        margin-bottom: 15px;
    }

    .rs-policy-content-block ul {
        margin: 0;
        padding-left: 20px;
        display: flex;
        flex-direction: column;
        gap: 10px;
    }

        .rs-policy-content-block ul li {
            font-size: 15px;
            line-height: 1.6;
            color: #666;
        }

            .rs-policy-content-block ul li strong {
                color: #161815;
            }

/* Contact Box Inside Policy */
.rs-policy-contact-box {
    background-color: #ffffff;
    border: 1px solid rgba(0, 0, 0, 0.06);
    border-radius: 16px;
    padding: 20px 25px;
    margin-top: 15px;
}

    .rs-policy-contact-box p {
        margin-bottom: 8px;
    }

        .rs-policy-contact-box p:last-child {
            margin-bottom: 0;
        }

/* RESPONSIVE DESIGN */
@media (max-width: 768px) {
    .rs-policy-wrapper {
        padding: 25px;
    }

    .rs-banner-title {
        font-size: 36px;
    }
}

/* ==========================================================
   TERMS OF SERVICE MAIN SECTION
========================================================== */
.rs-policy-section {
    padding: 60px 0 100px 0;
    background-color: #ffffff;
}

.rs-policy-wrapper {
    max-width: 900px;
    margin: 0 auto;
    background-color: #f9f9f9;
    border: 1px solid rgba(0, 0, 0, 0.04);
    border-radius: 24px;
    padding: 50px;
}

.rs-policy-header-text {
    margin-bottom: 40px;
    border-bottom: 1px solid rgba(0, 0, 0, 0.08);
    padding-bottom: 25px;
}

.rs-policy-subtitle {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-size: 12px;
    font-weight: 700;
    text-transform: uppercase;
    color: #777;
    letter-spacing: 1.5px;
    margin-bottom: 10px;
}

.rs-policy-header-text h2 {
    font-size: 28px;
    font-weight: 800;
    color: #161815;
    margin-bottom: 12px;
}

.rs-policy-header-text p {
    font-size: 15px;
    line-height: 1.8;
    color: #666;
    margin: 0;
}

.rs-policy-content-block {
    margin-bottom: 35px;
}

    .rs-policy-content-block h3 {
        font-size: 20px;
        font-weight: 800;
        color: #161815;
        margin-bottom: 15px;
    }

    .rs-policy-content-block p {
        font-size: 15px;
        line-height: 1.8;
        color: #666;
        margin-bottom: 15px;
    }

    .rs-policy-content-block ul {
        margin: 0;
        padding-left: 20px;
        display: flex;
        flex-direction: column;
        gap: 10px;
    }

        .rs-policy-content-block ul li {
            font-size: 15px;
            line-height: 1.6;
            color: #666;
        }

            .rs-policy-content-block ul li strong {
                color: #161815;
            }

/* Contact Box Inside Terms */
.rs-policy-contact-box {
    background-color: #ffffff;
    border: 1px solid rgba(0, 0, 0, 0.06);
    border-radius: 16px;
    padding: 20px 25px;
    margin-top: 15px;
}

    .rs-policy-contact-box p {
        margin-bottom: 8px;
    }

        .rs-policy-contact-box p:last-child {
            margin-bottom: 0;
        }

/* RESPONSIVE DESIGN */
@media (max-width: 768px) {
    .rs-policy-wrapper {
        padding: 25px;
    }

    .rs-banner-title {
        font-size: 36px;
    }
}


/* ==========================================================
   PRELOADER
========================================================== */
:root{--bg-dark:#0d0f12;--gold-primary:#d4af37;--gold-glow:rgba(212, 175, 55, 0.3)}.luxury-loader-container{position:fixed;top:0;left:0;right:0;bottom:0;width:100%;height:auto;min-height:-webkit-fill-available;min-height:100dvh;background-color:var(--bg-dark);display:flex;justify-content:center;align-items:center;z-index:999999;font-family:'Playfair Display','Didot','Georgia',serif;animation:fadeOutLoader 0.5s ease-in-out forwards 3s}.loader-content{text-align:center;display:flex;flex-direction:column;align-items:center;width:90%;max-width:400px}.gold-house-loader{position:relative;width:80px;height:80px;margin-bottom:24px}.gold-house-loader .roof{position:absolute;top:10px;left:10px;width:60px;height:60px;border-top:3px solid var(--gold-primary);border-left:3px solid var(--gold-primary);transform:rotate(45deg);box-shadow:-2px -2px 10px var(--gold-glow);animation:drawLine 2s infinite ease-in-out}.gold-house-loader .walls{position:absolute;bottom:10px;left:18px;width:44px;height:35px;border-left:3px solid var(--gold-primary);border-right:3px solid var(--gold-primary);border-bottom:3px solid var(--gold-primary);animation:drawLine 2s infinite ease-in-out 0.2s}.gold-house-loader .door{position:absolute;bottom:10px;left:33px;width:14px;height:20px;border-top:2px solid var(--gold-primary);border-left:2px solid var(--gold-primary);border-right:2px solid var(--gold-primary);animation:drawLine 2s infinite ease-in-out 0.4s}.brand-name{color:#ffffff;font-size:20px;font-weight:300;letter-spacing:7px;margin:15px 0;text-transform:uppercase;white-space:nowrap;animation:fadeInText 2s infinite ease-in-out}.loading-bar{width:120px;height:1px;background:rgba(255,255,255,0.1);position:relative;overflow:hidden}.loading-bar::after{content:'';position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,var(--gold-primary),transparent);animation:loadingProgress 1.5s infinite linear}@media (max-width:768px){.gold-house-loader{width:70px;height:70px;margin-bottom:18px}.gold-house-loader .roof{width:50px;height:50px}.gold-house-loader .walls{left:16px;width:38px;height:30px}.gold-house-loader .door{left:29px;width:12px;height:18px}.brand-name{font-size:16px;letter-spacing:5px}.loading-bar{width:100px}}@keyframes drawLine{0%,100%{opacity:0.3;transform:scale(0.98)}50%{opacity:1;transform:scale(1);filter:drop-shadow(0 0 6px var(--gold-primary))}}@keyframes fadeInText{0%,100%{opacity:0.3;letter-spacing:5px}50%{opacity:1;letter-spacing:7px;color:#f3e5ab}}@keyframes loadingProgress{0% {left:-100%}100%{left:100%}}@keyframes fadeOutLoader{0%{opacity:1;visibility:visible}100%{opacity:0;visibility:hidden;pointer-events:none}}
