/* ===================================
   MJC CARPET AND FURNACE CLEANING
   Corporate Redesign (Ref: albertacarpetcleaning.ca)
   =================================== */

:root {
    --primary-blue: #0054a6;
    --accent-red: #ea4044;
    --text-dark: #333333;
    --text-medium: #666666;
    --text-light: #999999;
    --bg-light: #f3f4f6;
    --white: #ffffff;
    --border-color: #dddddd;
    --header-height: 100px;
    --top-bar-height: 40px;
}

* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

html, body {
    margin: 0;
    padding: 0;
    width: 100%;
    height: 100%;
}

body {
    font-family: 'Open Sans', sans-serif;
    line-height: 1.6;
    color: var(--text-dark);
    background-color: var(--white);
    overflow-x: hidden;
}

.container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 20px;
}

a {
    text-decoration: none;
    transition: all 0.3s ease;
}

ul {
    list-style: none;
}

/* ===== TOP BAR ===== */
.top-bar {
    background-color: var(--white);
    height: var(--top-bar-height);
    border-bottom: 1px solid var(--border-color);
    font-size: 14px;
    margin-bottom: 0;
}

.top-bar .container {
    display: flex;
    justify-content: space-between;
    align-items: center;
    height: 100%;
}

.top-bar-left {
    display: flex;
    gap: 20px;
    color: var(--primary-blue);
    font-weight: 700;
}

.top-bar-right {
    display: flex;
    gap: 20px;
}

.top-bar-right a {
    color: var(--text-medium);
}

.top-bar-right a:hover {
    color: var(--primary-blue);
}

/* ===== HEADER ===== */
header {
    background-color: var(--white);
    height: var(--header-height);
    box-shadow: 0 2px 10px rgba(0,0,0,0.05);
    position: relative;
    z-index: 1000;
    margin-bottom: 0;
}

header .container {
    display: flex;
    justify-content: space-between;
    align-items: center;
    height: 100%;
}

.logo img {
    height: 70px;
    width: auto;
}

nav {
    display: flex;
    align-items: center;
    height: 100%;
}

.main-nav {
    display: flex;
    height: 100%;
}

.nav-item {
    position: relative;
    height: 100%;
    display: flex;
    align-items: center;
    padding: 0 15px;
    color: var(--primary-blue);
    font-weight: 700;
    font-size: 15px;
    text-transform: uppercase;
}

.nav-item:hover {
    color: var(--accent-red);
}

.header-actions {
    display: flex;
    gap: 10px;
}

.btn-action {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    width: 90px;
    height: 90px;
    border-radius: 5px;
    font-weight: 800;
    font-size: 13px;
    text-transform: uppercase;
    color: var(--white) !important;
    transition: all 0.3s ease;
}

.btn-book { background-color: #2ecc71; }
.btn-quote { background-color: #e74c3c; }
.btn-pricing { background-color: #2980b9; }

.btn-action i {
    font-size: 26px;
    margin-bottom: 5px;
}

.btn-action:hover {
    filter: brightness(1.1);
    transform: translateY(-3px);
    box-shadow: 0 5px 15px rgba(0,0,0,0.2);
}

/* ===== HERO / BANNER ===== */
.page-banner {
    position: relative;
    min-height: 450px;
    background-size: cover;
    background-position: center center;
    background-repeat: no-repeat;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    color: var(--white);
    padding: 80px 0;
    margin-top: 0;
}

.page-banner::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(0, 0, 0, 0.4);
}

.page-banner .container {
    position: relative;
    z-index: 2;
}

.page-banner h1 {
    font-size: 48px;
    font-weight: 800;
    margin-bottom: 10px;
}

.page-banner p {
    font-size: 20px;
    font-weight: 400;
}

/* ===== BREADCRUMBS ===== */
.breadcrumbs {
    background-color: var(--bg-light);
    padding: 10px 0;
    font-size: 13px;
    color: var(--text-medium);
}

.breadcrumbs a {
    color: var(--primary-blue);
}

.breadcrumbs span {
    margin: 0 5px;
}

/* ===== CONTENT LAYOUT ===== */
.content-section {
    padding: 80px 0;
}

.bg-light { background-color: var(--bg-light); }
.text-center { text-align: center; }

.content-wrapper {
    display: flex;
    gap: 40px;
}

.main-content {
    flex: 2;
}

.sidebar {
    flex: 1;
}

.main-content h2 {
    color: var(--primary-blue);
    font-size: 32px;
    margin-bottom: 20px;
    font-weight: 700;
}

.main-content p {
    margin-bottom: 20px;
    font-size: 16px;
    color: var(--text-dark);
}

.main-content img {
    max-width: 100%;
    height: auto;
    border-radius: 12px;
    margin-bottom: 40px;
    box-shadow: 0 10px 30px rgba(0,0,0,0.15);
    display: block;
    border: 1px solid #eee;
}

.img-responsive {
    width: 100%;
    height: auto;
    display: block;
    object-fit: cover;
    aspect-ratio: 16 / 9;
    border-radius: 8px;
}

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

/* ===== CONTACT FORM (SIDEBAR) ===== */
.sidebar-form {
    background-color: var(--bg-light);
    padding: 30px;
    border-radius: 10px;
    border-top: 5px solid var(--accent-red);
}

.sidebar-form h3 {
    color: var(--primary-blue);
    margin-bottom: 20px;
    text-align: center;
    font-size: 22px;
    font-weight: 800;
}

.form-group {
    margin-bottom: 15px;
}

.form-group label {
    display: block;
    margin-bottom: 5px;
    font-weight: 600;
    font-size: 14px;
}

.form-group input, .form-group select, .form-group textarea {
    width: 100%;
    padding: 10px;
    border: 1px solid var(--border-color);
    border-radius: 4px;
}

.btn-submit {
    width: 100%;
    padding: 15px;
    background-color: var(--accent-red);
    color: var(--white);
    border: none;
    border-radius: 4px;
    font-weight: 700;
    text-transform: uppercase;
    cursor: pointer;
    margin-top: 10px;
}

.btn-submit:hover {
    background-color: #d33539;
}

/* ===== FOOTER ===== */
footer {
    background-color: var(--white);
    padding: 60px 0 20px;
    border-top: 1px solid var(--border-color);
}

.grid-4 {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 30px;
}

.footer-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 30px;
    margin-bottom: 40px;
}

.footer-section h4 {
    color: var(--primary-blue);
    margin-bottom: 20px;
    font-weight: 700;
    text-transform: uppercase;
}

.footer-section ul li {
    margin-bottom: 10px;
}

.footer-section a {
    color: var(--text-medium);
}

.footer-section a:hover {
    color: var(--primary-blue);
}

.footer-bottom {
    border-top: 1px solid var(--border-color);
    padding-top: 20px;
    text-align: center;
    font-size: 13px;
    color: var(--text-light);
}

/* ===== RESPONSIVE ===== */
@media (max-width: 992px) {
    .content-wrapper {
        flex-direction: column;
    }
    .header-actions {
        display: none;
    }
    .footer-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 768px) {
    .top-bar {
        display: none;
    }
    .page-banner h1 {
        font-size: 32px;
    }
    .footer-grid {
        grid-template-columns: 1fr;
    }
}

/* ===== ABOUT PAGE SPECIFIC STYLES ===== */
.grid-3 {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    gap: 30px;
    margin-bottom: 50px;
}

.feature-box {
    background-color: var(--bg-light);
    padding: 30px;
    border-radius: 8px;
    border-left: 4px solid var(--accent-red);
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.feature-box:hover {
    transform: translateY(-5px);
    box-shadow: 0 10px 20px rgba(0,0,0,0.1);
}

.feature-box h3 {
    color: var(--primary-blue);
    margin-bottom: 15px;
    font-size: 20px;
}

.feature-box p {
    color: var(--text-medium);
    font-size: 15px;
    line-height: 1.6;
}

.cta-banner {
    background-color: var(--primary-blue);
    color: var(--white);
    padding: 40px;
    border-radius: 8px;
    text-align: center;
    margin-top: 50px;
}

.cta-banner h3 {
    margin-bottom: 20px;
    font-size: 28px;
    font-weight: 700;
}

.cta-banner p {
    margin-bottom: 30px;
    font-size: 18px;
    line-height: 1.6;
}

.cta-buttons {
    display: flex;
    justify-content: center;
    gap: 20px;
    flex-wrap: wrap;
}

.btn {
    display: inline-block;
    padding: 15px 30px;
    border-radius: 5px;
    text-decoration: none;
    font-weight: 700;
    font-size: 16px;
    transition: all 0.3s ease;
    border: 2px solid transparent;
}

.btn-primary {
    background-color: var(--accent-red);
    color: var(--white);
}

.btn-primary:hover {
    background-color: #d33539;
    transform: translateY(-2px);
}

.btn-secondary {
    background-color: var(--white);
    color: var(--primary-blue);
    border-color: var(--white);
}

.btn-secondary:hover {
    background-color: var(--bg-light);
    color: var(--primary-blue);
    transform: translateY(-2px);
}

@media (max-width: 768px) {
    .grid-3 {
        grid-template-columns: 1fr;
    }
    .cta-banner h3 {
        font-size: 24px;
    }
    .cta-banner p {
        font-size: 16px;
    }
    .cta-buttons {
        flex-direction: column;
    }
    .btn {
        width: 100%;
    }
}

/* ===== SITEMAP PAGE STYLES ===== */
.sitemap-section {
    margin-bottom: 40px;
    padding: 20px;
    background-color: var(--bg-light);
    border-radius: 8px;
    border-left: 5px solid var(--primary-blue);
}

.sitemap-section h2 {
    color: var(--primary-blue);
    font-size: 28px;
    margin-bottom: 20px;
    border-bottom: 2px solid var(--border-color);
    padding-bottom: 10px;
}

.sitemap-section h3 {
    color: var(--accent-red);
    font-size: 22px;
    margin-top: 30px;
    margin-bottom: 15px;
}

.sitemap-section ul {
    list-style: none;
    padding: 0;
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
    gap: 10px;
}

.sitemap-section ul li a {
    color: var(--text-dark);
    font-size: 16px;
    padding: 5px 0;
    display: block;
}

.sitemap-section ul li a:hover {
    color: var(--accent-red);
    text-decoration: underline;
}

@media (max-width: 768px) {
    .sitemap-section ul {
        grid-template-columns: 1fr;
    }
}

/* ===== CONTACT PAGE STYLES ===== */
.contact-info-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 30px;
    margin: 40px 0;
}

.contact-info-card {
    background-color: var(--bg-light);
    padding: 30px;
    border-radius: 8px;
    text-align: center;
    border-top: 5px solid var(--accent-red);
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.contact-info-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 10px 25px rgba(0,0,0,0.1);
}

.contact-icon {
    font-size: 48px;
    color: var(--primary-blue);
    margin-bottom: 15px;
}

.contact-info-card h3 {
    color: var(--primary-blue);
    font-size: 22px;
    margin-bottom: 15px;
}

.contact-info-card p {
    color: var(--text-medium);
    margin-bottom: 10px;
}

.contact-form-professional {
    background-color: var(--bg-light);
    padding: 40px;
    border-radius: 8px;
    margin-top: 30px;
}

.form-row {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
    gap: 20px;
}

.contact-form-professional .form-group {
    margin-bottom: 20px;
}

.contact-form-professional label {
    display: block;
    margin-bottom: 8px;
    font-weight: 600;
    font-size: 15px;
    color: var(--text-dark);
}

.contact-form-professional input,
.contact-form-professional select,
.contact-form-professional textarea {
    width: 100%;
    padding: 12px 15px;
    border: 2px solid var(--border-color);
    border-radius: 5px;
    font-family: inherit;
    font-size: 15px;
    transition: border-color 0.3s ease;
}

.contact-form-professional input:focus,
.contact-form-professional select:focus,
.contact-form-professional textarea:focus {
    outline: none;
    border-color: var(--primary-blue);
    box-shadow: 0 0 0 3px rgba(0, 84, 166, 0.1);
}

.contact-form-professional textarea {
    resize: vertical;
    min-height: 150px;
}

.checkbox-group {
    display: flex;
    align-items: center;
}

.checkbox-group label {
    display: flex;
    align-items: center;
    margin-bottom: 0;
    font-weight: 400;
    font-size: 14px;
}

.checkbox-group input[type="checkbox"] {
    width: auto;
    margin-right: 10px;
    cursor: pointer;
}

.btn-submit-large {
    width: 100%;
    padding: 18px;
    background-color: var(--accent-red);
    color: var(--white);
    border: none;
    border-radius: 5px;
    font-weight: 700;
    font-size: 16px;
    text-transform: uppercase;
    cursor: pointer;
    transition: all 0.3s ease;
    margin-top: 10px;
}

.btn-submit-large:hover {
    background-color: #d33539;
    transform: translateY(-2px);
    box-shadow: 0 5px 15px rgba(234, 64, 68, 0.3);
}

.contact-cta {
    text-align: center;
}

.contact-cta h3 {
    color: var(--primary-blue);
    font-size: 26px;
    margin-bottom: 15px;
}

.contact-cta p {
    color: var(--text-dark);
    font-size: 16px;
    line-height: 1.6;
}

@media (max-width: 768px) {
    .contact-info-grid {
        grid-template-columns: 1fr;
    }
    
    .contact-form-professional {
        padding: 20px;
    }
    
    .form-row {
        grid-template-columns: 1fr;
    }
}

/* ===== BLOG PAGE STYLES ===== */
.blog-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
    gap: 30px;
    margin-top: 40px;
}

.blog-card {
    background-color: var(--white);
    border-radius: 8px;
    overflow: hidden;
    box-shadow: 0 4px 15px rgba(0,0,0,0.1);
    transition: transform 0.3s ease, box-shadow 0.3s ease;
    display: flex;
    flex-direction: column;
}

.blog-card:hover {
    transform: translateY(-8px);
    box-shadow: 0 8px 25px rgba(0,0,0,0.15);
}

.blog-card-image {
    width: 100%;
    height: 220px;
    overflow: hidden;
}

.blog-card-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.3s ease;
}

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

.blog-card-content {
    padding: 25px;
    flex-grow: 1;
    display: flex;
    flex-direction: column;
}

.blog-card h3 {
    color: var(--primary-blue);
    font-size: 20px;
    margin-bottom: 15px;
    line-height: 1.4;
}

.blog-card h3 a {
    color: var(--primary-blue);
    text-decoration: none;
}

.blog-card h3 a:hover {
    color: var(--accent-red);
}

.blog-card p {
    color: var(--text-medium);
    font-size: 15px;
    line-height: 1.6;
    margin-bottom: 20px;
    flex-grow: 1;
}

.read-more {
    color: var(--accent-red);
    font-weight: 700;
    text-decoration: none;
    display: inline-block;
    transition: all 0.3s ease;
}

.read-more:hover {
    color: var(--primary-blue);
    transform: translateX(5px);
}

@media (max-width: 768px) {
    .blog-grid {
        grid-template-columns: 1fr;
    }
}

/* ===== COMPREHENSIVE CONTACT FORM STYLES ===== */
.contact-form-container {
    background-color: var(--white);
    padding: 40px;
    border-radius: 12px;
    box-shadow: 0 10px 30px rgba(0,0,0,0.08);
    margin-bottom: 50px;
    border: 1px solid var(--border-color);
}

.form-section-title {
    margin: 30px 0 20px 0;
    padding-bottom: 10px;
    border-bottom: 2px solid var(--bg-light);
}

.form-section-title:first-child {
    margin-top: 0;
}

.form-section-title h3 {
    color: var(--primary-blue);
    font-size: 18px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 1px;
}

.comprehensive-contact-form .form-group {
    margin-bottom: 25px;
}

.comprehensive-contact-form label {
    display: block;
    margin-bottom: 10px;
    font-weight: 600;
    color: var(--text-dark);
    font-size: 15px;
}

.comprehensive-contact-form input,
.comprehensive-contact-form select,
.comprehensive-contact-form textarea {
    width: 100%;
    padding: 14px 18px;
    border: 2px solid #e1e1e1;
    border-radius: 8px;
    font-size: 15px;
    transition: all 0.3s ease;
    background-color: #fcfcfc;
}

.comprehensive-contact-form input:focus,
.comprehensive-contact-form select:focus,
.comprehensive-contact-form textarea:focus {
    border-color: var(--primary-blue);
    background-color: var(--white);
    box-shadow: 0 0 0 4px rgba(0, 84, 166, 0.08);
    outline: none;
}

.btn-submit-comprehensive {
    background-color: var(--accent-red);
    color: var(--white);
    padding: 18px 40px;
    border: none;
    border-radius: 8px;
    font-size: 18px;
    font-weight: 700;
    cursor: pointer;
    transition: all 0.3s ease;
    width: 100%;
    text-transform: uppercase;
    letter-spacing: 1px;
}

.btn-submit-comprehensive:hover {
    background-color: #c42f33;
    transform: translateY(-3px);
    box-shadow: 0 10px 20px rgba(234, 64, 68, 0.2);
}

.form-disclaimer {
    font-size: 13px;
    color: var(--text-medium);
    margin-bottom: 20px;
    text-align: center;
    line-height: 1.5;
}

.contact-cards-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
    gap: 30px;
    margin-top: 40px;
}

.contact-info-card-v2 {
    text-align: center;
    padding: 30px;
    background-color: var(--bg-light);
    border-radius: 10px;
    transition: all 0.3s ease;
}

.contact-info-card-v2:hover {
    background-color: var(--white);
    box-shadow: 0 10px 25px rgba(0,0,0,0.05);
    transform: translateY(-5px);
}

.contact-info-card-v2 i {
    font-size: 32px;
    color: var(--accent-red);
    margin-bottom: 20px;
}

.contact-info-card-v2 h4 {
    color: var(--primary-blue);
    margin-bottom: 10px;
    font-size: 18px;
}

.contact-info-card-v2 p {
    font-weight: 700;
    font-size: 16px;
    margin-bottom: 5px;
}

.contact-info-card-v2 span {
    font-size: 13px;
    color: var(--text-medium);
}

.urgent-box {
    background-color: var(--primary-blue) !important;
    color: var(--white) !important;
}

.urgent-box h3 {
    color: var(--white) !important;
}

.check-list {
    list-style: none;
    padding: 0;
}

.check-list li {
    padding-left: 30px;
    position: relative;
    margin-bottom: 12px;
    font-size: 15px;
}

.check-list li::before {
    content: '\f00c';
    font-family: 'Font Awesome 5 Free';
    font-weight: 900;
    position: absolute;
    left: 0;
    color: var(--accent-red);
}

@media (max-width: 768px) {
    .contact-form-container {
        padding: 25px;
    }
}


/* ===== MOBILE MENU STYLES ===== */
.mobile-menu-toggle {
    display: none;
    flex-direction: column;
    background: none;
    border: none;
    cursor: pointer;
    padding: 10px;
    z-index: 1001;
}

.mobile-menu-toggle span {
    width: 25px;
    height: 3px;
    background-color: var(--primary-blue);
    margin: 5px 0;
    transition: 0.3s;
    display: block;
}

.mobile-menu-toggle.active span:nth-child(1) {
    transform: rotate(-45deg) translate(-8px, 8px);
}

.mobile-menu-toggle.active span:nth-child(2) {
    opacity: 0;
}

.mobile-menu-toggle.active span:nth-child(3) {
    transform: rotate(45deg) translate(-8px, -8px);
}

.mobile-nav {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: var(--white);
    z-index: 999;
    overflow-y: auto;
    animation: slideInDown 0.3s ease;
}

@keyframes slideInDown {
    from {
        transform: translateY(-100%);
        opacity: 0;
    }
    to {
        transform: translateY(0);
        opacity: 1;
    }
}

.mobile-nav.active {
    display: block;
}

.mobile-nav-content {
    padding: 80px 20px 40px 20px;
}

.mobile-nav-item {
    display: block;
    padding: 16px 0;
    color: var(--text-dark);
    font-weight: 500;
    font-size: 16px;
    border-bottom: 1px solid var(--bg-light);
    transition: color 0.3s ease;
}

.mobile-nav-item:hover {
    color: var(--accent-red);
}

.mobile-nav-divider {
    margin: 20px 0;
    border: none;
    border-top: 2px solid var(--bg-light);
}

.mobile-nav-contact {
    margin-top: 30px;
    padding: 20px;
    background-color: var(--bg-light);
    border-radius: 8px;
    border-left: 4px solid var(--accent-red);
}

.mobile-nav-contact p {
    margin: 8px 0;
    color: var(--text-medium);
    font-size: 14px;
}

.mobile-nav-contact p:first-child {
    font-weight: 600;
    color: var(--text-dark);
    margin-bottom: 10px;
}

.mobile-nav-contact a {
    display: inline-block;
    font-size: 18px;
    font-weight: bold;
    color: var(--accent-red);
    margin-top: 5px;
}

.desktop-nav {
    display: flex;
    flex: 1;
}

.desktop-actions {
    display: flex;
}

/* ===== ENHANCED RESPONSIVE DESIGN ===== */
@media (max-width: 1024px) {
    header .container {
        gap: 10px;
    }
    
    .main-nav {
        gap: 10px;
    }
    
    .nav-item {
        font-size: 14px;
    }
    
    .btn-action span {
        display: none;
    }
    
    .btn-action {
        padding: 10px 12px;
    }
}

@media (max-width: 992px) {
    .content-wrapper {
        flex-direction: column;
    }
    
    .desktop-nav {
        display: none;
    }
    
    .desktop-actions {
        display: none;
    }
    
    .mobile-menu-toggle {
        display: flex;
    }
    
    .header-actions {
        display: none;
    }
    
    .footer-grid {
        grid-template-columns: repeat(2, 1fr);
    }
    
    .top-bar-right {
        display: none;
    }
    
    .top-bar-left {
        width: 100%;
        justify-content: center;
    }
}

@media (max-width: 768px) {
    .top-bar {
        height: auto;
        padding: 10px 0;
    }
    
    .top-bar-left {
        flex-direction: column;
        gap: 5px;
        font-size: 12px;
    }
    
    .top-bar-hours {
        display: none;
    }
    
    header {
        height: auto;
        padding: 10px 0;
    }
    
    header .container {
        flex-wrap: wrap;
        padding: 10px 20px;
    }
    
    .logo img {
        height: 50px;
    }
    
    .page-banner h1 {
        font-size: 28px;
    }
    
    .page-banner p {
        font-size: 14px;
    }
    
    .footer-grid {
        grid-template-columns: 1fr;
    }
    
    .content-wrapper {
        flex-direction: column;
    }
    
    .sidebar {
        margin-top: 30px;
    }
    
    .breadcrumbs {
        font-size: 12px;
    }
    
    .breadcrumbs span {
        margin: 0 5px;
    }
    
    .btn-submit {
        width: 100%;
        padding: 12px;
        font-size: 14px;
    }
    
    .form-group {
        margin-bottom: 15px;
    }
    
    .form-group input,
    .form-group select,
    .form-group textarea {
        width: 100%;
        padding: 10px;
        font-size: 14px;
    }
    
    .cta-buttons {
        flex-direction: column;
        gap: 10px;
    }
    
    .cta-buttons a {
        width: 100%;
        text-align: center;
    }
    
    .grid-3 {
        grid-template-columns: 1fr;
    }
    
    .feature-box {
        padding: 20px;
    }
    
    .pricing-table {
        font-size: 12px;
    }
    
    .pricing-table th,
    .pricing-table td {
        padding: 8px;
    }
}

@media (max-width: 480px) {
    .container {
        padding: 0 15px;
    }
    
    header .container {
        padding: 10px 15px;
    }
    
    .logo img {
        height: 40px;
    }
    
    .page-banner h1 {
        font-size: 22px;
    }
    
    .page-banner p {
        font-size: 12px;
    }
    
    h2 {
        font-size: 20px;
    }
    
    h3 {
        font-size: 16px;
    }
    
    .top-bar-left {
        font-size: 11px;
    }
    
    .mobile-nav {
        top: 110px;
    }
    
    .breadcrumbs {
        font-size: 10px;
    }
    
    .btn-submit {
        padding: 10px;
        font-size: 13px;
    }
    
    .form-group label {
        font-size: 13px;
    }
    
    .form-group input,
    .form-group select,
    .form-group textarea {
        padding: 8px;
        font-size: 13px;
    }
    
    .sidebar-form {
        padding: 15px;
    }
    
    .pricing-table {
        font-size: 11px;
    }
    
    .pricing-table th,
    .pricing-table td {
        padding: 6px;
    }
}


/* ===== WHATSAPP CHAT BUTTON ===== */
.whatsapp-chat-btn {
    position: fixed;
    bottom: 30px;
    right: 30px;
    width: 70px;
    height: 70px;
    background: linear-gradient(135deg, #25d366 0%, #20ba5a 100%);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 998;
    box-shadow: 0 4px 20px rgba(37, 211, 102, 0.4);
    transition: all 0.3s ease;
    text-decoration: none;
    cursor: pointer;
}

.whatsapp-chat-btn:hover {
    transform: scale(1.1);
    box-shadow: 0 6px 30px rgba(37, 211, 102, 0.6);
}

.whatsapp-icon-container {
    position: relative;
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 35px;
    color: white;
    animation: pulse-wave 2s infinite;
}

.whatsapp-status-dot {
    position: absolute;
    bottom: 5px;
    right: 5px;
    width: 18px;
    height: 18px;
    background-color: #ffc107;
    border: 3px solid white;
    border-radius: 50%;
    animation: pulse-dot 2s infinite;
}

@keyframes pulse-wave {
    0%, 100% {
        transform: scale(1);
    }
    50% {
        transform: scale(1.05);
    }
}

@keyframes pulse-dot {
    0%, 100% {
        box-shadow: 0 0 0 0 rgba(255, 193, 7, 0.7);
    }
    50% {
        box-shadow: 0 0 0 8px rgba(255, 193, 7, 0);
    }
}

/* Mobile responsiveness for WhatsApp button */
@media (max-width: 768px) {
    .whatsapp-chat-btn {
        bottom: 20px;
        right: 20px;
        width: 60px;
        height: 60px;
    }
    
    .whatsapp-icon-container {
        font-size: 28px;
    }
    
    .whatsapp-status-dot {
        width: 14px;
        height: 14px;
        border-width: 2px;
    }
}

@media (max-width: 480px) {
    .whatsapp-chat-btn {
        bottom: 15px;
        right: 15px;
        width: 55px;
        height: 55px;
    }
    
    .whatsapp-icon-container {
        font-size: 24px;
    }
}


/* ===== LOCATIONS DIRECTORY PAGE ===== */
.locations-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    gap: 25px;
    margin: 30px 0;
}

.location-card {
    background: white;
    border: 1px solid #e0e0e0;
    border-radius: 8px;
    padding: 25px;
    transition: all 0.3s ease;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
}

.location-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 6px 20px rgba(0, 0, 0, 0.12);
    border-color: var(--primary-blue);
}

.location-card h3 {
    margin-top: 0;
    margin-bottom: 15px;
    color: var(--primary-blue);
    font-size: 22px;
}

.location-card h3 a {
    color: var(--primary-blue);
    text-decoration: none;
    transition: color 0.3s ease;
}

.location-card h3 a:hover {
    color: var(--accent-red);
}

.location-card p {
    color: var(--text-medium);
    line-height: 1.6;
    margin-bottom: 15px;
}

.location-services {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin: 15px 0;
}

.service-tag {
    display: inline-block;
    background-color: #e8f0ff;
    color: var(--primary-blue);
    padding: 6px 12px;
    border-radius: 20px;
    font-size: 12px;
    font-weight: 600;
    border: 1px solid #d0e0ff;
}

.btn-location {
    display: inline-block;
    background-color: var(--accent-red);
    color: white;
    padding: 12px 20px;
    border-radius: 4px;
    text-decoration: none;
    font-weight: 600;
    transition: all 0.3s ease;
    margin-top: 10px;
}

.btn-location:hover {
    background-color: #d63c2f;
    transform: translateX(3px);
}

@media (max-width: 768px) {
    .locations-grid {
        grid-template-columns: 1fr;
        gap: 20px;
    }
    
    .location-card {
        padding: 20px;
    }
    
    .location-card h3 {
        font-size: 20px;
    }
}

/* ===== BACK TO TOP BUTTON ===== */
#back-to-top {
    display: none; /* Hidden by default */
    position: fixed; /* Fixed/sticky position */
    bottom: 30px; /* Place the button at the bottom of the page */
    left: 30px; /* Place the button 30px from the left */
    z-index: 99; /* Make sure it does not overlap */
    border: none; /* Remove borders */
    outline: none; /* Remove outline */
    background-color: var(--primary-blue); /* Set a background color */
    color: white; /* Text color */
    cursor: pointer; /* Add a mouse pointer on hover */
    padding: 15px; /* Some padding */
    border-radius: 50%; /* Rounded corners */
    font-size: 18px; /* Increase font size */
    box-shadow: 0 2px 10px rgba(0,0,0,0.2);
    transition: background-color 0.3s, opacity 0.3s;
}

#back-to-top:hover {
    background-color: var(--accent-red); /* Darker background on hover */
}

/* Homepage Slider Styles */
.hero-slider {
    position: relative;
    width: 100%;
    height: 500px; /* Adjust as needed */
    overflow: hidden;
}

.hero-slider .slide {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-size: cover;
    background-position: center;
    display: flex;
    align-items: center;
    justify-content: center;
    color: white;
    text-align: center;
    opacity: 0;
    transition: opacity 1s ease-in-out;
}

.hero-slider .slide.active {
    opacity: 1;
}

.hero-slider .slide .container {
    max-width: 960px;
    padding: 20px;
    background-color: transparent;
    border-radius: 0;
}

.hero-slider h1 {
    font-size: 48px;
    margin-bottom: 15px;
    color: white;
}

.hero-slider p {
    font-size: 24px;
    margin-bottom: 30px;
    color: white;
}

.hero-slider .btn-main {
    display: inline-block;
    background-color: var(--accent-red);
    color: white;
    padding: 15px 30px;
    border-radius: 5px;
    text-decoration: none;
    font-weight: bold;
    transition: background-color 0.3s ease;
}

.hero-slider .btn-main:hover {
    background-color: #c0392b;
}

.slider-nav {
    position: absolute;
    bottom: 20px;
    left: 50%;
    transform: translateX(-50%);
    z-index: 10;
}

.slider-nav .dot {
    cursor: pointer;
    height: 15px;
    width: 15px;
    margin: 0 5px;
    background-color: #bbb;
    border-radius: 50%;
    display: inline-block;
    transition: background-color 0.6s ease;
}

.slider-nav .dot.active, .slider-nav .dot:hover {
    background-color: var(--accent-red);
}

/* Homepage Slider Styles */
.hero-slider {
    position: relative;
    width: 100%;
    height: 500px; /* Adjust as needed */
    overflow: hidden;
}

.hero-slider .slide {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-size: cover;
    background-position: center;
    display: flex;
    align-items: center;
    justify-content: center;
    color: white;
    text-align: center;
    opacity: 0;
    transition: opacity 1s ease-in-out;
}

.hero-slider .slide.active {
    opacity: 1;
}

.hero-slider .slide .container {
    max-width: 960px;
    padding: 20px;
    background-color: transparent;
    border-radius: 0;
}

.hero-slider h1 {
    font-size: 48px;
    margin-bottom: 15px;
    color: white;
}

.hero-slider p {
    font-size: 24px;
    margin-bottom: 30px;
    color: white;
}

.hero-slider .btn-main {
    display: inline-block;
    background-color: var(--accent-red);
    color: white;
    padding: 15px 30px;
    border-radius: 5px;
    text-decoration: none;
    font-weight: bold;
    transition: background-color 0.3s ease;
}

.hero-slider .btn-main:hover {
    background-color: #c0392b;
}

.slider-nav {
    position: absolute;
    bottom: 20px;
    left: 50%;
    transform: translateX(-50%);
    z-index: 10;
}

.slider-nav .dot {
    cursor: pointer;
    height: 15px;
    width: 15px;
    margin: 0 5px;
    background-color: #bbb;
    border-radius: 50%;
    display: inline-block;
    transition: background-color 0.6s ease;
}

.slider-nav .dot.active, .slider-nav .dot:hover {
    background-color: var(--accent-red);
}

.hero-slider .slide::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.28);
    z-index: 1;
}

.hero-slider .slide .container {
    position: relative;
    z-index: 2;
}

.hero-slider h1,
.hero-slider p {
    text-shadow: 0 2px 6px rgba(0, 0, 0, 0.65);
}

/* ===== MOBILE RESPONSIVE STABILITY FIXES ===== */
html {
    overflow-x: hidden;
    -webkit-text-size-adjust: 100%;
}

body {
    max-width: 100%;
    overflow-x: hidden;
}

img,
picture,
video,
iframe,
svg {
    max-width: 100%;
    height: auto;
}

.container,
.content-section,
.page-banner,
.hero-slider,
header,
footer,
.top-bar,
.breadcrumbs {
    max-width: 100%;
}

.container {
    width: 100%;
}

.main-content,
.sidebar,
.feature-item,
.blog-card,
.location-card,
.contact-form-container,
.sidebar-form,
.grid-3 > *,
.grid-4 > *,
.footer-grid > * {
    min-width: 0;
}

table {
    max-width: 100%;
    border-collapse: collapse;
}

.pricing-table,
.table-responsive {
    width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
}

@media (max-width: 1024px) {
    :root {
        --header-height: auto;
    }

    header {
        height: auto;
    }

    header .container {
        min-height: 76px;
    }

    .desktop-nav,
    .desktop-actions,
    .header-actions {
        display: none !important;
    }

    .mobile-menu-toggle {
        display: flex !important;
        position: relative;
        z-index: 1002;
        flex-shrink: 0;
    }

    .logo {
        max-width: calc(100% - 60px);
        flex-shrink: 1;
    }

    .logo img {
        max-width: 100%;
        height: 54px;
        object-fit: contain;
    }

    .mobile-nav {
        top: 0 !important;
        width: 100%;
        max-width: 100%;
        z-index: 1001;
    }

    .mobile-nav-content {
        width: 100%;
        max-width: 100%;
        padding: 95px 20px 35px 20px;
    }

    .mobile-nav-item,
    .mobile-nav-contact,
    .mobile-nav-contact a {
        overflow-wrap: anywhere;
        word-break: normal;
    }

    .content-wrapper {
        display: flex;
        flex-direction: column;
        gap: 30px;
    }

    .main-content,
    .sidebar {
        width: 100%;
        flex: none;
    }

    .grid-4 {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .grid-3,
    .blog-grid,
    .locations-grid,
    .footer-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 768px) {
    .top-bar {
        display: none !important;
    }

    header .container {
        flex-wrap: nowrap;
        justify-content: space-between;
        align-items: center;
        padding: 10px 15px;
    }

    .logo img {
        height: 48px;
    }

    .content-section {
        padding: 45px 0;
    }

    .page-banner {
        min-height: 300px;
        padding: 50px 0;
    }

    .page-banner h1,
    .hero-slider h1,
    h1 {
        font-size: clamp(24px, 8vw, 34px) !important;
        line-height: 1.2;
        overflow-wrap: anywhere;
    }

    .page-banner p,
    .hero-slider p {
        font-size: clamp(14px, 4.4vw, 18px) !important;
        line-height: 1.5;
    }

    .hero-slider {
        height: 430px;
        min-height: 430px;
    }

    .hero-slider .slide {
        padding: 25px 0 60px;
    }

    .hero-slider .slide .container {
        width: 100%;
        max-width: 100%;
        padding: 20px 18px;
    }

    .hero-slider .btn-main,
    .btn-main,
    .btn-submit,
    .btn-location,
    .read-more {
        max-width: 100%;
        white-space: normal;
        overflow-wrap: anywhere;
        text-align: center;
    }

    .hero-slider .btn-main {
        padding: 13px 18px;
        font-size: 14px;
        line-height: 1.35;
    }

    .slider-nav {
        bottom: 18px;
        width: 100%;
        text-align: center;
    }

    .grid-4,
    .grid-3,
    .blog-grid,
    .locations-grid,
    .footer-grid,
    .contact-info-grid,
    .form-row {
        grid-template-columns: 1fr !important;
    }

    .feature-item,
    .contact-form-container,
    .sidebar-form,
    .location-card,
    .blog-card-content {
        padding-left: 20px !important;
        padding-right: 20px !important;
    }

    .main-content h2,
    h2 {
        font-size: clamp(22px, 7vw, 30px) !important;
        line-height: 1.25;
        overflow-wrap: anywhere;
    }

    h3 {
        overflow-wrap: anywhere;
    }

    p,
    li,
    a,
    span,
    td,
    th {
        overflow-wrap: anywhere;
    }

    .breadcrumbs .container {
        overflow-wrap: anywhere;
        line-height: 1.5;
    }

    .footer-bottom > div {
        flex-direction: column !important;
        text-align: center !important;
        align-items: center !important;
    }

    .footer-bottom div[style*="text-align: right"] {
        text-align: center !important;
    }

    #back-to-top {
        bottom: 15px;
        left: 15px;
        width: 48px;
        height: 48px;
        padding: 0;
        display: none;
        align-items: center;
        justify-content: center;
    }

    .whatsapp-chat-btn {
        bottom: 15px;
        right: 15px;
        width: 56px;
        height: 56px;
    }
}

@media (max-width: 480px) {
    .container {
        padding-left: 15px;
        padding-right: 15px;
    }

    .logo img {
        height: 42px;
    }

    .mobile-nav-content {
        padding-left: 16px;
        padding-right: 16px;
    }

    .hero-slider {
        height: 390px;
        min-height: 390px;
    }

    .hero-slider h1 {
        margin-bottom: 10px;
    }

    .hero-slider p {
        margin-bottom: 20px;
    }

    .slider-nav .dot {
        width: 12px;
        height: 12px;
        margin: 0 4px;
    }
}


/* ===== HOME PAGE MOBILE SECTION OVERFLOW FIXES ===== */
.home-service-coverage-mobile-fix,
.home-trust-mobile-fix {
    width: 100%;
    max-width: 100%;
    overflow-x: hidden;
}

.home-service-coverage-mobile-fix .container,
.home-trust-mobile-fix .container {
    width: 100%;
    max-width: 1200px;
    overflow-x: hidden;
}

.home-service-coverage-mobile-fix .grid-4,
.home-trust-mobile-fix .grid-4 {
    width: 100%;
    max-width: 100%;
    min-width: 0;
}

.home-service-coverage-mobile-fix .grid-4 > div,
.home-trust-mobile-fix .grid-4 > div {
    width: 100%;
    max-width: 100%;
    min-width: 0;
    overflow-wrap: anywhere;
}

@media (max-width: 900px) {
    .home-service-coverage-mobile-fix .grid-4,
    .home-trust-mobile-fix .grid-4 {
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 20px !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
    }
}

@media (max-width: 600px) {
    .home-service-coverage-mobile-fix,
    .home-trust-mobile-fix {
        padding-left: 0 !important;
        padding-right: 0 !important;
    }

    .home-service-coverage-mobile-fix .container,
    .home-trust-mobile-fix .container {
        padding-left: 15px !important;
        padding-right: 15px !important;
    }

    .home-service-coverage-mobile-fix .grid-4,
    .home-trust-mobile-fix .grid-4 {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) !important;
        gap: 18px !important;
        width: 100% !important;
        max-width: 100% !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
    }

    .home-service-coverage-mobile-fix .grid-4 > div {
        padding: 22px 16px !important;
    }

    .home-trust-mobile-fix .grid-4 > div {
        padding: 0 10px !important;
    }

    .home-trust-mobile-fix .grid-4 > div > div[style*="font-size: 48px"] {
        font-size: clamp(34px, 12vw, 44px) !important;
        line-height: 1.1 !important;
    }

    .home-service-coverage-mobile-fix h2,
    .home-trust-mobile-fix h2 {
        max-width: 100%;
        padding-left: 5px;
        padding-right: 5px;
    }

    .home-service-coverage-mobile-fix p,
    .home-trust-mobile-fix p,
    .home-service-coverage-mobile-fix a,
    .home-trust-mobile-fix a,
    .home-service-coverage-mobile-fix h3,
    .home-trust-mobile-fix h3 {
        max-width: 100%;
        overflow-wrap: break-word;
        word-break: normal;
    }
}

/* ===== FINAL HOME PAGE SINGLE COLUMN MOBILE FIX ===== */
@media (max-width: 768px) {
    html,
    body {
        max-width: 100% !important;
        overflow-x: hidden !important;
    }

    .home-service-coverage-mobile-fix .container,
    .home-trust-mobile-fix .container {
        width: 100% !important;
        max-width: 100% !important;
        box-sizing: border-box !important;
        padding-left: 16px !important;
        padding-right: 16px !important;
        margin-left: auto !important;
        margin-right: auto !important;
        overflow-x: hidden !important;
    }

    .home-service-coverage-mobile-fix .grid-4,
    .home-trust-mobile-fix .grid-4 {
        display: grid !important;
        grid-template-columns: 1fr !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        gap: 18px !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
        box-sizing: border-box !important;
    }

    .home-service-coverage-mobile-fix .grid-4 > div,
    .home-trust-mobile-fix .grid-4 > div {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        box-sizing: border-box !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
        text-align: center !important;
    }

    .home-service-coverage-mobile-fix .grid-4 > div {
        padding: 24px 18px !important;
    }

    .home-trust-mobile-fix .grid-4 > div {
        padding: 20px 16px !important;
        background: transparent !important;
    }

    .home-trust-mobile-fix .grid-4 > div > div[style*="font-size: 48px"] {
        font-size: 42px !important;
        line-height: 1.1 !important;
        white-space: normal !important;
    }

    .home-service-coverage-mobile-fix h2,
    .home-trust-mobile-fix h2 {
        font-size: 24px !important;
        line-height: 1.3 !important;
    }

    .home-service-coverage-mobile-fix h3,
    .home-trust-mobile-fix h3,
    .home-service-coverage-mobile-fix p,
    .home-trust-mobile-fix p,
    .home-service-coverage-mobile-fix a,
    .home-trust-mobile-fix a {
        max-width: 100% !important;
        overflow-wrap: break-word !important;
        word-break: normal !important;
    }
}

/* ===== HOME PAGE MOBILE SINGLE COLUMN FIX FOR TRUST FEATURE SECTION ===== */
@media screen and (max-width: 1100px) {
    html,
    body {
        width: 100% !important;
        max-width: 100% !important;
        overflow-x: hidden !important;
    }

    body > .content-section,
    body > .content-section.bg-light {
        width: 100% !important;
        max-width: 100% !important;
        overflow-x: hidden !important;
        box-sizing: border-box !important;
    }

    body > .content-section .container,
    body > .content-section.bg-light .container {
        width: 100% !important;
        max-width: 100% !important;
        padding-left: 16px !important;
        padding-right: 16px !important;
        margin-left: auto !important;
        margin-right: auto !important;
        box-sizing: border-box !important;
        overflow-x: hidden !important;
    }

    body > .content-section .grid-4,
    body > .content-section.bg-light .grid-4,
    .feature-item,
    .grid-4 > .feature-item {
        min-width: 0 !important;
        max-width: 100% !important;
        box-sizing: border-box !important;
    }

    body > .content-section .grid-4,
    body > .content-section.bg-light .grid-4 {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) !important;
        gap: 22px !important;
        width: 100% !important;
        max-width: 100% !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
    }

    body > .content-section .grid-4 > *,
    body > .content-section.bg-light .grid-4 > *,
    body > .content-section .feature-item,
    body > .content-section.bg-light .feature-item {
        width: 100% !important;
        max-width: 100% !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
        padding-left: 18px !important;
        padding-right: 18px !important;
        text-align: center !important;
        overflow-wrap: break-word !important;
        word-break: normal !important;
    }
}


/* ===== HOME PAGE MOBILE REDEVELOPMENT FIX - SEO CONTENT PRESERVED ===== */
body.home-page {
    width: 100%;
    max-width: 100%;
    overflow-x: hidden;
}

body.home-page * {
    box-sizing: border-box;
}

body.home-page .content-section,
body.home-page .hero-slider,
body.home-page header,
body.home-page footer {
    width: 100%;
    max-width: 100%;
    overflow-x: hidden;
}

body.home-page .container {
    width: 100%;
    max-width: 1200px;
    margin-left: auto;
    margin-right: auto;
}

body.home-page .grid-3,
body.home-page .grid-4 {
    display: grid;
    width: 100%;
    max-width: 100%;
    min-width: 0;
}

body.home-page .grid-3 > *,
body.home-page .grid-4 > * {
    width: 100%;
    max-width: 100%;
    min-width: 0;
    overflow-wrap: break-word;
}

@media screen and (max-width: 992px) {
    body.home-page header .container {
        width: 100%;
        max-width: 100%;
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 12px;
        padding-left: 16px;
        padding-right: 16px;
        overflow: visible;
    }

    body.home-page .logo {
        flex: 0 1 auto;
        min-width: 0;
        max-width: calc(100% - 62px);
    }

    body.home-page .logo img {
        max-width: 100%;
        height: 52px;
        object-fit: contain;
    }

    body.home-page .mobile-menu-toggle {
        flex: 0 0 auto;
    }

    body.home-page .mobile-nav {
        left: 0;
        right: 0;
        width: 100vw;
        max-width: 100vw;
    }

    body.home-page .mobile-nav-content {
        width: 100%;
        max-width: 100%;
        padding-left: 20px;
        padding-right: 20px;
    }
}

@media screen and (max-width: 768px) {
    html,
    body.home-page {
        width: 100%;
        max-width: 100%;
        overflow-x: hidden !important;
    }

    body.home-page .container {
        width: 100% !important;
        max-width: 100% !important;
        padding-left: 18px !important;
        padding-right: 18px !important;
        margin-left: auto !important;
        margin-right: auto !important;
        overflow-x: hidden !important;
    }

    body.home-page .content-section {
        padding-top: 42px !important;
        padding-bottom: 42px !important;
    }

    body.home-page h1,
    body.home-page h2,
    body.home-page h3,
    body.home-page h4,
    body.home-page p,
    body.home-page a,
    body.home-page li,
    body.home-page span {
        max-width: 100%;
        overflow-wrap: break-word;
        word-break: normal;
    }

    body.home-page h1 {
        font-size: clamp(26px, 8vw, 34px) !important;
        line-height: 1.18 !important;
    }

    body.home-page h2,
    body.home-page h2[style] {
        font-size: clamp(24px, 7vw, 30px) !important;
        line-height: 1.25 !important;
        margin-left: auto !important;
        margin-right: auto !important;
        text-align: center !important;
    }

    body.home-page h3,
    body.home-page h3[style] {
        font-size: clamp(19px, 5.5vw, 23px) !important;
        line-height: 1.3 !important;
    }

    body.home-page p,
    body.home-page p[style] {
        font-size: 15px !important;
        line-height: 1.65 !important;
    }

    body.home-page .hero-slider {
        height: 440px !important;
        min-height: 440px !important;
        max-width: 100% !important;
    }

    body.home-page .hero-slider .slide {
        width: 100% !important;
        max-width: 100% !important;
        background-position: center center !important;
        padding: 30px 0 72px !important;
    }

    body.home-page .hero-slider .slide .container {
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        justify-content: center !important;
        height: 100% !important;
        text-align: center !important;
    }

    body.home-page .hero-slider p {
        font-size: 16px !important;
        line-height: 1.5 !important;
        margin-bottom: 22px !important;
    }

    body.home-page .hero-slider .btn-main,
    body.home-page .hero-slider .btn-main[style] {
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        width: auto !important;
        max-width: 100% !important;
        min-height: 48px !important;
        padding: 12px 16px !important;
        font-size: 14px !important;
        line-height: 1.35 !important;
        white-space: normal !important;
        text-align: center !important;
    }

    body.home-page .slider-nav {
        bottom: 20px !important;
        left: 0 !important;
        right: 0 !important;
        width: 100% !important;
        transform: none !important;
        text-align: center !important;
    }

    body.home-page .grid-3,
    body.home-page .grid-4,
    body.home-page section .grid-3,
    body.home-page section .grid-4,
    body.home-page .home-service-coverage-mobile-fix .grid-4,
    body.home-page .home-trust-mobile-fix .grid-4 {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) !important;
        gap: 22px !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
    }

    body.home-page .grid-3 > *,
    body.home-page .grid-4 > *,
    body.home-page section .grid-3 > *,
    body.home-page section .grid-4 > *,
    body.home-page .feature-item,
    body.home-page .home-service-coverage-mobile-fix .grid-4 > *,
    body.home-page .home-trust-mobile-fix .grid-4 > * {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
        padding-left: 20px !important;
        padding-right: 20px !important;
        text-align: center !important;
    }

    body.home-page .home-trust-mobile-fix .grid-4 > div > div[style*="font-size: 48px"] {
        font-size: clamp(38px, 12vw, 46px) !important;
        line-height: 1.1 !important;
        white-space: normal !important;
    }

    body.home-page .home-trust-mobile-fix div[style*="background: white"],
    body.home-page .home-trust-mobile-fix div[style*="background: linear-gradient"],
    body.home-page .home-trust-mobile-fix div[style*="padding: 40px"] {
        width: 100% !important;
        max-width: 100% !important;
        padding: 24px 18px !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
    }

    body.home-page .home-trust-mobile-fix ul[style] {
        width: 100% !important;
        max-width: 100% !important;
        padding-left: 0 !important;
        padding-right: 0 !important;
    }

    body.home-page .home-trust-mobile-fix li[style] {
        max-width: 100% !important;
        padding-left: 28px !important;
        text-align: left !important;
    }

    body.home-page section:last-of-type .container > div,
    body.home-page section:last-of-type .container > div[style] {
        display: flex !important;
        flex-direction: column !important;
        gap: 14px !important;
        align-items: stretch !important;
        width: 100% !important;
    }

    body.home-page section:last-of-type .btn-submit,
    body.home-page section:last-of-type .btn-submit[style] {
        width: 100% !important;
        max-width: 100% !important;
        margin-right: 0 !important;
        margin-left: 0 !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        white-space: normal !important;
        text-align: center !important;
    }
}

@media screen and (max-width: 480px) {
    body.home-page .container {
        padding-left: 16px !important;
        padding-right: 16px !important;
    }

    body.home-page .logo img {
        height: 44px !important;
    }

    body.home-page .mobile-nav-content {
        padding-left: 16px !important;
        padding-right: 16px !important;
    }

    body.home-page .hero-slider {
        height: 405px !important;
        min-height: 405px !important;
    }

    body.home-page .hero-slider .btn-main {
        font-size: 13px !important;
        padding-left: 12px !important;
        padding-right: 12px !important;
    }

    body.home-page .grid-3,
    body.home-page .grid-4,
    body.home-page section .grid-3,
    body.home-page section .grid-4 {
        gap: 18px !important;
    }
}

/* =========================================================
   FINAL HOMEPAGE MOBILE REDEVELOPMENT
   Preserves homepage SEO/content while forcing every homepage
   container, grid, card, button, and banner to fit phone screens.
   ========================================================= */
body.home-page,
body.home-page html {
    max-width: 100% !important;
    overflow-x: hidden !important;
}

body.home-page img,
body.home-page video,
body.home-page iframe,
body.home-page table {
    max-width: 100% !important;
}

body.home-page img {
    height: auto;
}

body.home-page .container,
body.home-page section,
body.home-page div,
body.home-page article,
body.home-page aside,
body.home-page header,
body.home-page footer,
body.home-page nav {
    box-sizing: border-box !important;
}

@media screen and (max-width: 768px) {
    html,
    body,
    body.home-page {
        width: 100% !important;
        max-width: 100% !important;
        overflow-x: hidden !important;
    }

    body.home-page .top-bar {
        display: none !important;
    }

    body.home-page header {
        height: auto !important;
        min-height: 74px !important;
        width: 100% !important;
        max-width: 100% !important;
        overflow: visible !important;
    }

    body.home-page header > .container {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        padding: 10px 16px !important;
        display: flex !important;
        flex-direction: row !important;
        align-items: center !important;
        justify-content: space-between !important;
        gap: 12px !important;
        overflow: visible !important;
    }

    body.home-page .logo {
        display: block !important;
        flex: 0 1 auto !important;
        width: auto !important;
        max-width: calc(100% - 58px) !important;
        min-width: 0 !important;
    }

    body.home-page .logo img {
        display: block !important;
        width: auto !important;
        max-width: 180px !important;
        height: 50px !important;
        object-fit: contain !important;
    }

    body.home-page .desktop-nav,
    body.home-page .desktop-actions,
    body.home-page .header-actions {
        display: none !important;
    }

    body.home-page .mobile-menu-toggle {
        display: flex !important;
        flex: 0 0 44px !important;
        width: 44px !important;
        height: 44px !important;
        padding: 8px !important;
        align-items: center !important;
        justify-content: center !important;
        overflow: visible !important;
    }

    body.home-page .mobile-nav {
        position: fixed !important;
        top: 0 !important;
        left: 0 !important;
        right: 0 !important;
        bottom: 0 !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        overflow-x: hidden !important;
        overflow-y: auto !important;
        z-index: 9999 !important;
    }

    body.home-page .mobile-nav-content {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        padding: 82px 18px 36px !important;
    }

    body.home-page .mobile-nav-item,
    body.home-page .mobile-nav-contact,
    body.home-page .mobile-nav-contact a,
    body.home-page .mobile-nav-contact p {
        width: 100% !important;
        max-width: 100% !important;
        white-space: normal !important;
        overflow-wrap: break-word !important;
        word-break: normal !important;
    }

    body.home-page .hero-slider {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        height: auto !important;
        min-height: 430px !important;
        overflow: hidden !important;
    }

    body.home-page .hero-slider .slide {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        min-height: 430px !important;
        height: auto !important;
        padding: 54px 0 82px !important;
        background-size: cover !important;
        background-position: center center !important;
        overflow: hidden !important;
    }

    body.home-page .hero-slider .slide .container {
        width: 100% !important;
        max-width: 100% !important;
        min-height: 294px !important;
        padding-left: 18px !important;
        padding-right: 18px !important;
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        justify-content: center !important;
        text-align: center !important;
        overflow: visible !important;
    }

    body.home-page .hero-slider h1,
    body.home-page .hero-slider h1[style] {
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 0 14px !important;
        font-size: clamp(25px, 8vw, 34px) !important;
        line-height: 1.18 !important;
        text-align: center !important;
        white-space: normal !important;
        overflow-wrap: break-word !important;
    }

    body.home-page .hero-slider p,
    body.home-page .hero-slider p[style] {
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 0 20px !important;
        font-size: 16px !important;
        line-height: 1.55 !important;
        text-align: center !important;
        white-space: normal !important;
        overflow-wrap: break-word !important;
    }

    body.home-page .hero-slider .btn-main,
    body.home-page .hero-slider .btn-main[style] {
        display: inline-flex !important;
        width: 100% !important;
        max-width: 340px !important;
        min-height: 50px !important;
        padding: 12px 16px !important;
        align-items: center !important;
        justify-content: center !important;
        text-align: center !important;
        white-space: normal !important;
        overflow-wrap: break-word !important;
        font-size: 14px !important;
        line-height: 1.35 !important;
    }

    body.home-page .slider-nav {
        position: absolute !important;
        left: 0 !important;
        right: 0 !important;
        bottom: 24px !important;
        width: 100% !important;
        max-width: 100% !important;
        transform: none !important;
        text-align: center !important;
    }

    body.home-page .content-section,
    body.home-page .content-section[style] {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        padding: 44px 0 !important;
        overflow-x: hidden !important;
    }

    body.home-page .content-section > .container,
    body.home-page section > .container,
    body.home-page .container {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        padding-left: 18px !important;
        padding-right: 18px !important;
        margin-left: auto !important;
        margin-right: auto !important;
        overflow-x: hidden !important;
    }

    body.home-page .grid-3,
    body.home-page .grid-4,
    body.home-page .content-section .grid-3,
    body.home-page .content-section .grid-4,
    body.home-page section .grid-3,
    body.home-page section .grid-4,
    body.home-page .home-service-coverage-mobile-fix .grid-4,
    body.home-page .home-trust-mobile-fix .grid-4 {
        display: grid !important;
        grid-template-columns: 1fr !important;
        grid-auto-columns: 1fr !important;
        gap: 22px !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        margin: 0 auto 30px !important;
        padding: 0 !important;
        overflow: visible !important;
    }

    body.home-page .grid-3 > *,
    body.home-page .grid-4 > *,
    body.home-page .content-section .grid-3 > *,
    body.home-page .content-section .grid-4 > *,
    body.home-page section .grid-3 > *,
    body.home-page section .grid-4 > *,
    body.home-page .feature-item,
    body.home-page .home-service-coverage-mobile-fix .grid-4 > *,
    body.home-page .home-trust-mobile-fix .grid-4 > * {
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
        text-align: center !important;
        overflow: hidden !important;
        overflow-wrap: break-word !important;
        word-break: normal !important;
    }

    body.home-page .feature-item,
    body.home-page .grid-3 > div,
    body.home-page .grid-4 > div {
        padding-left: 20px !important;
        padding-right: 20px !important;
    }

    body.home-page h1,
    body.home-page h2,
    body.home-page h3,
    body.home-page h4,
    body.home-page p,
    body.home-page a,
    body.home-page li,
    body.home-page span,
    body.home-page strong {
        max-width: 100% !important;
        white-space: normal !important;
        overflow-wrap: break-word !important;
        word-break: normal !important;
    }

    body.home-page h2,
    body.home-page h2[style] {
        font-size: clamp(23px, 7vw, 30px) !important;
        line-height: 1.25 !important;
        margin-left: auto !important;
        margin-right: auto !important;
        margin-bottom: 24px !important;
        text-align: center !important;
    }

    body.home-page h3,
    body.home-page h3[style] {
        font-size: clamp(19px, 5.5vw, 24px) !important;
        line-height: 1.3 !important;
        text-align: center !important;
    }

    body.home-page p,
    body.home-page p[style] {
        font-size: 15px !important;
        line-height: 1.65 !important;
        text-align: center !important;
    }

    body.home-page a,
    body.home-page a[style] {
        max-width: 100% !important;
        white-space: normal !important;
        overflow-wrap: break-word !important;
    }

    body.home-page .home-service-coverage-mobile-fix p[style] {
        margin-left: auto !important;
        margin-right: auto !important;
        margin-bottom: 26px !important;
    }

    body.home-page .home-service-coverage-mobile-fix .grid-4 > div,
    body.home-page .home-trust-mobile-fix .grid-4 > div {
        min-height: auto !important;
        padding-top: 24px !important;
        padding-bottom: 24px !important;
    }

    body.home-page .home-trust-mobile-fix .grid-4 > div > div[style*="font-size: 48px"] {
        font-size: clamp(38px, 14vw, 48px) !important;
        line-height: 1.08 !important;
        margin-bottom: 14px !important;
        text-align: center !important;
    }

    body.home-page .home-trust-mobile-fix div[style*="background: white"],
    body.home-page .home-trust-mobile-fix div[style*="background: linear-gradient"],
    body.home-page .home-trust-mobile-fix div[style*="padding: 40px"] {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        padding: 24px 18px !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
        overflow: hidden !important;
    }

    body.home-page .home-trust-mobile-fix ul,
    body.home-page .home-trust-mobile-fix ul[style] {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        padding-left: 0 !important;
        padding-right: 0 !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
    }

    body.home-page .home-trust-mobile-fix li,
    body.home-page .home-trust-mobile-fix li[style] {
        width: 100% !important;
        max-width: 100% !important;
        padding-left: 28px !important;
        padding-right: 0 !important;
        text-align: left !important;
        overflow-wrap: break-word !important;
    }

    body.home-page section[style*="background: linear-gradient"] .container > div,
    body.home-page section[style*="background: linear-gradient"] .container > div[style] {
        width: 100% !important;
        max-width: 100% !important;
        display: flex !important;
        flex-direction: column !important;
        align-items: stretch !important;
        justify-content: center !important;
        gap: 14px !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
    }

    body.home-page section[style*="background: linear-gradient"] .btn-submit,
    body.home-page section[style*="background: linear-gradient"] .btn-submit[style] {
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        text-align: center !important;
        white-space: normal !important;
    }
}

@media screen and (max-width: 480px) {
    body.home-page header > .container,
    body.home-page .content-section > .container,
    body.home-page section > .container,
    body.home-page .container {
        padding-left: 16px !important;
        padding-right: 16px !important;
    }

    body.home-page .logo img {
        max-width: 154px !important;
        height: 44px !important;
    }

    body.home-page .hero-slider,
    body.home-page .hero-slider .slide {
        min-height: 410px !important;
    }

    body.home-page .hero-slider .slide {
        padding-top: 42px !important;
        padding-bottom: 76px !important;
    }

    body.home-page .hero-slider .btn-main,
    body.home-page .hero-slider .btn-main[style] {
        max-width: 100% !important;
        font-size: 13px !important;
        padding-left: 12px !important;
        padding-right: 12px !important;
    }

    body.home-page .grid-3,
    body.home-page .grid-4,
    body.home-page .content-section .grid-3,
    body.home-page .content-section .grid-4,
    body.home-page section .grid-3,
    body.home-page section .grid-4 {
        gap: 18px !important;
    }

    body.home-page .feature-item,
    body.home-page .grid-3 > div,
    body.home-page .grid-4 > div {
        padding-left: 18px !important;
        padding-right: 18px !important;
    }
}

/* ===== FINAL HEADER, LOGO, AND MOBILE MENU FIX ===== */
header {
    height: var(--header-height) !important;
    min-height: var(--header-height) !important;
    overflow: visible !important;
}

header > .container,
header .container {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 14px !important;
    overflow: visible !important;
}

.logo {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    flex: 0 0 auto !important;
    width: auto !important;
    max-width: 95px !important;
    min-width: 70px !important;
    overflow: hidden !important;
}

.logo img,
body.home-page .logo img {
    display: block !important;
    width: auto !important;
    max-width: 82px !important;
    height: 82px !important;
    max-height: 82px !important;
    object-fit: contain !important;
}

.desktop-nav {
    flex: 1 1 auto !important;
    min-width: 0 !important;
}

.main-nav {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 0 !important;
    flex-wrap: nowrap !important;
    min-width: 0 !important;
}

.nav-item {
    white-space: nowrap !important;
    line-height: 1.2 !important;
    padding-left: 10px !important;
    padding-right: 10px !important;
    font-size: 14px !important;
}

.header-actions,
.desktop-actions {
    flex: 0 0 auto !important;
    flex-wrap: nowrap !important;
}

.btn-action {
    flex: 0 0 auto !important;
}

.mobile-menu-toggle {
    appearance: none !important;
    -webkit-appearance: none !important;
    background: #ffffff !important;
    border: 2px solid var(--primary-blue) !important;
    border-radius: 8px !important;
    box-shadow: 0 2px 8px rgba(0,0,0,0.12) !important;
}

.mobile-menu-toggle span {
    background-color: var(--primary-blue) !important;
    opacity: 1 !important;
}

.mobile-menu-toggle.active {
    position: fixed !important;
    top: 16px !important;
    right: 16px !important;
    z-index: 10050 !important;
    background: #ffffff !important;
    border-color: var(--accent-red) !important;
}

.mobile-menu-toggle.active span {
    background-color: var(--accent-red) !important;
}

.mobile-nav {
    z-index: 10000 !important;
}

@media screen and (min-width: 993px) and (max-width: 1180px) {
    .nav-item {
        font-size: 12px !important;
        padding-left: 7px !important;
        padding-right: 7px !important;
    }

    .btn-action {
        width: 76px !important;
        height: 76px !important;
        font-size: 12px !important;
    }

    .logo,
    body.home-page .logo {
        max-width: 82px !important;
        min-width: 62px !important;
    }

    .logo img,
    body.home-page .logo img {
        max-width: 72px !important;
        height: 72px !important;
        max-height: 72px !important;
    }
}

@media screen and (max-width: 992px) {
    :root {
        --header-height: auto;
    }

    header,
    body.home-page header {
        height: auto !important;
        min-height: 72px !important;
        overflow: visible !important;
    }

    header > .container,
    header .container,
    body.home-page header > .container,
    body.home-page header .container {
        width: 100% !important;
        max-width: 100% !important;
        min-height: 72px !important;
        padding: 10px 16px !important;
        flex-wrap: nowrap !important;
        overflow: visible !important;
    }

    .desktop-nav,
    .desktop-actions,
    .header-actions,
    body.home-page .desktop-nav,
    body.home-page .desktop-actions,
    body.home-page .header-actions {
        display: none !important;
    }

    .logo,
    body.home-page .logo {
        flex: 0 1 auto !important;
        width: auto !important;
        max-width: calc(100% - 62px) !important;
        min-width: 0 !important;
        overflow: hidden !important;
    }

    .logo img,
    body.home-page .logo img {
        width: auto !important;
        max-width: 68px !important;
        height: 58px !important;
        max-height: 58px !important;
        object-fit: contain !important;
    }

    .mobile-menu-toggle,
    body.home-page .mobile-menu-toggle {
        display: flex !important;
        flex: 0 0 46px !important;
        width: 46px !important;
        height: 46px !important;
        min-width: 46px !important;
        padding: 8px !important;
        align-items: center !important;
        justify-content: center !important;
        flex-direction: column !important;
        position: relative !important;
        z-index: 10050 !important;
    }

    .mobile-menu-toggle span,
    body.home-page .mobile-menu-toggle span {
        display: block !important;
        width: 24px !important;
        height: 3px !important;
        margin: 3px 0 !important;
        border-radius: 2px !important;
        background-color: var(--primary-blue) !important;
    }

    .mobile-menu-toggle.active,
    body.home-page .mobile-menu-toggle.active {
        position: fixed !important;
        top: 16px !important;
        right: 16px !important;
        z-index: 10060 !important;
    }

    .mobile-nav,
    body.home-page .mobile-nav {
        position: fixed !important;
        top: 0 !important;
        left: 0 !important;
        right: 0 !important;
        bottom: 0 !important;
        width: 100% !important;
        max-width: 100% !important;
        z-index: 10040 !important;
        background: #ffffff !important;
        overflow-x: hidden !important;
        overflow-y: auto !important;
    }

    .mobile-nav-content,
    body.home-page .mobile-nav-content {
        padding-top: 88px !important;
    }
}

@media screen and (max-width: 480px) {
    .logo img,
    body.home-page .logo img {
        max-width: 62px !important;
        height: 52px !important;
        max-height: 52px !important;
    }
}

/* Global FAQ section with working collapse and FAQ schema support */
.faq-section {
    padding: 70px 0;
    background: #f7f9fb;
    overflow-x: hidden;
}
.faq-section .container {
    max-width: 1120px;
    width: min(1120px, calc(100% - 32px));
    margin: 0 auto;
}
.faq-section h2 {
    color: var(--primary-blue, #0054a6);
    text-align: center;
    font-size: clamp(26px, 4vw, 40px);
    line-height: 1.25;
    margin: 0 0 34px;
    font-weight: 800;
}
.faq-list {
    display: grid;
    gap: 16px;
    max-width: 900px;
    margin: 0 auto;
}
.faq-item {
    background: #fff;
    border-radius: 12px;
    box-shadow: 0 6px 22px rgba(0, 0, 0, 0.07);
    border: 1px solid rgba(0, 84, 166, 0.08);
    overflow: hidden;
}
.faq-item summary {
    list-style: none;
    cursor: pointer;
    color: var(--primary-blue, #0054a6);
    font-size: 18px;
    line-height: 1.45;
    font-weight: 800;
    padding: 22px 56px 22px 24px;
    position: relative;
}
.faq-item summary::-webkit-details-marker {
    display: none;
}
.faq-item summary::after {
    content: '+';
    position: absolute;
    right: 22px;
    top: 50%;
    transform: translateY(-50%);
    width: 28px;
    height: 28px;
    border-radius: 50%;
    display: grid;
    place-items: center;
    background: var(--accent-red, #ef3e42);
    color: #fff;
    font-weight: 800;
    line-height: 1;
}
.faq-item[open] summary::after {
    content: '-';
}
.faq-answer {
    padding: 0 24px 24px;
    color: var(--text-medium, #444);
    font-size: 16px;
    line-height: 1.7;
}
.faq-answer p {
    margin: 0;
}
@media (max-width: 767px) {
    .faq-section {
        padding: 44px 0;
    }
    .faq-section .container {
        width: min(100% - 24px, 100%);
    }
    .faq-section h2 {
        text-align: left;
        font-size: 24px;
        margin-bottom: 22px;
    }
    .faq-list {
        gap: 12px;
        width: 100%;
    }
    .faq-item summary {
        font-size: 16px;
        padding: 18px 50px 18px 18px;
    }
    .faq-item summary::after {
        right: 16px;
        width: 26px;
        height: 26px;
    }
    .faq-answer {
        padding: 0 18px 20px;
        font-size: 15px;
    }
}


/* MJC service expansion and mobile safety */
.service-detail-page .main-content ul[style*="columns"] { columns: 2; }
.faq-section .faq-item { background:#fff; border-radius:8px; box-shadow:0 3px 14px rgba(0,0,0,.06); margin:0 0 14px; overflow:hidden; }
.faq-section .faq-item summary { cursor:pointer; padding:18px 22px; font-weight:800; color:var(--primary-blue); list-style:none; }
.faq-section .faq-item summary::-webkit-details-marker { display:none; }
.faq-section .faq-item summary:after { content:'+'; float:right; color:var(--accent-red); font-size:24px; line-height:18px; }
.faq-section .faq-item[open] summary:after { content:'-'; }
.faq-section .faq-answer { padding:0 22px 18px; color:var(--text-medium); }
@media (max-width: 768px) {
  html, body { width:100%; max-width:100%; overflow-x:hidden; }
  .container, .content-wrapper, .main-content, .sidebar, section, header, footer { max-width:100%; box-sizing:border-box; }
  .content-wrapper { display:block !important; }
  .main-content, .sidebar { width:100% !important; max-width:100% !important; }
  .service-grid, .locations-grid, .stats-grid, .features-grid, .benefits-grid, .footer-grid { grid-template-columns:1fr !important; }
  .service-detail-page .main-content ul[style*="columns"], .sitemap-section ul[style*="columns"] { columns:1 !important; }
  img, video, iframe { max-width:100%; height:auto; }
  .faq-section h2 { font-size:24px; line-height:1.25; }
  .faq-section .faq-item summary { padding:16px; font-size:16px; }
}


/* BOMCAS Canada accounting pages and reliable responsive form/card styling */
.bomcas-accounting-page .service-card { display:block; text-decoration:none; color:inherit; }
.bomcas-accounting-page .sidebar-widget { background:#fff; border:1px solid #e5e7eb; border-radius:12px; padding:20px; margin-bottom:20px; box-shadow:0 6px 18px rgba(0,0,0,.06); }
.bomcas-accounting-page .sidebar-widget ul { list-style:none; margin:0; padding:0; }
.bomcas-accounting-page .sidebar-widget li { border-bottom:1px solid #eef2f7; padding:8px 0; }
.bomcas-accounting-page .sidebar-widget a { color:#0054a6; }
.faq-item { border:1px solid #e5e7eb; border-radius:10px; margin-bottom:12px; overflow:hidden; background:#fff; }
.faq-question { width:100%; display:flex; align-items:center; justify-content:space-between; gap:15px; padding:16px 18px; background:#f8fafc; border:0; font-weight:700; color:#1f2937; text-align:left; cursor:pointer; }
.faq-answer { padding:0 18px 16px; }
@media (max-width: 768px) {
  .bomcas-accounting-page .content-wrapper, .content-wrapper, .contact-wrapper { display:block !important; grid-template-columns:1fr !important; width:100% !important; max-width:100% !important; }
  .bomcas-accounting-page .main-content, .bomcas-accounting-page .sidebar, .main-content, .sidebar { width:100% !important; max-width:100% !important; min-width:0 !important; }
  .bomcas-accounting-page .service-grid, .cards-grid { display:grid !important; grid-template-columns:1fr !important; gap:18px !important; }
  .contact-form input, .contact-form textarea, .contact-form select { width:100% !important; max-width:100% !important; box-sizing:border-box !important; }
  .page-banner, .content-section, .section { overflow-x:hidden; }
}


/* 2026-06-20 professional footer, sitemap, FAQ, reviews, and mobile refinements */
footer{background:#075fa5!important;color:#fff!important;padding:58px 0 0!important;}
footer .footer-grid{display:grid;grid-template-columns:1.25fr 1fr 1.2fr 1fr;gap:34px;align-items:start;}
footer .footer-section h4,footer .footer-section h3{color:#fff!important;font-weight:800;margin-bottom:18px;}
footer .footer-section p,footer .footer-section li,footer .footer-section span{color:#fff!important;}
footer a,footer .footer-section a,footer .footer-bottom a{color:#fff!important;text-decoration:none!important;}
footer a:hover{text-decoration:underline!important;color:#fff!important;}
footer ul{list-style:none;margin:0;padding:0;}
footer li{margin-bottom:10px;line-height:1.45;}
footer .footer-logo img{filter:none!important;}
footer .footer-bottom{border-top:1px solid rgba(255,255,255,.25);margin-top:34px;padding:24px 0;color:#fff!important;}
footer .footer-bottom p,footer .footer-bottom div{color:#fff!important;}
#back-to-top{position:fixed!important;right:22px;bottom:95px;z-index:99999!important;width:48px;height:48px;border-radius:50%;background:#ef3e42!important;color:#fff!important;display:none;align-items:center;justify-content:center;box-shadow:0 8px 24px rgba(0,0,0,.25);text-decoration:none!important;cursor:pointer;}
#back-to-top.show{display:flex!important;}
.faq-section{background:#f7f9fc;padding:64px 0;}
.faq-section h2{text-align:center;color:var(--primary-blue,#0054a6);font-size:clamp(24px,3vw,36px);line-height:1.25;margin:0 0 34px;}
.faq-list{max-width:920px;margin:0 auto;display:grid;gap:15px;}
.faq-item{background:#fff;border:1px solid #e5edf5;border-radius:12px;box-shadow:0 7px 22px rgba(0,0,0,.06);overflow:hidden;}
.faq-item summary{list-style:none;cursor:pointer;padding:20px 54px 20px 22px;font-weight:800;color:var(--primary-blue,#0054a6);font-size:18px;position:relative;}
.faq-item summary::-webkit-details-marker{display:none;}
.faq-item summary:after{content:'+';position:absolute;right:22px;top:50%;transform:translateY(-50%);font-size:28px;color:#ef3e42;font-weight:800;}
.faq-item[open] summary:after{content:'−';}
.faq-answer{padding:0 22px 22px;color:#333;line-height:1.7;}
.reviews-section{background:linear-gradient(135deg,#eef6ff 0%,#fff 60%,#fff1f1 100%)!important;padding:66px 0!important;}
.reviews-section .container>div:first-child h2{color:#0054a6!important;}
.sitemap-enhanced .sitemap-intro{max-width:950px;margin:0 auto 32px;text-align:center;}
.sitemap-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:24px;margin:28px 0;}
.sitemap-card{background:#fff;border-radius:14px;border-top:5px solid #0054a6;box-shadow:0 10px 26px rgba(0,0,0,.08);padding:24px;}
.sitemap-card h2{color:#0054a6;font-size:22px;margin:0 0 16px;}
.sitemap-card ul{list-style:none;margin:0;padding:0;columns:1!important;}
.sitemap-card li{margin:0 0 10px;break-inside:avoid;}
.sitemap-card a{color:#123;text-decoration:none;font-weight:600;}
.sitemap-card a:hover{color:#ef3e42;text-decoration:underline;}
.sitemap-location-block{background:#f4f8fc;border-radius:16px;padding:24px;margin:24px 0;}
.sitemap-location-block h2{color:#0054a6;margin-top:0;}
.sitemap-locations-columns{columns:3;column-gap:32px;}
.sitemap-locations-columns li{break-inside:avoid;margin-bottom:9px;}
.blog-card img,.blog-post img,.main-content img{max-width:100%;height:auto;}
@media(max-width:992px){footer .footer-grid{grid-template-columns:1fr 1fr}.sitemap-locations-columns{columns:2}}
@media(max-width:640px){footer{padding-top:42px!important}footer .footer-grid{grid-template-columns:1fr;text-align:left}.footer-bottom>div{display:block!important;text-align:left!important}.footer-bottom div[style*="text-align: right"]{text-align:left!important;margin-top:18px}.sitemap-locations-columns{columns:1}.sitemap-grid{grid-template-columns:1fr}.faq-item summary{font-size:16px;padding:18px 48px 18px 18px}.reviews-section [style*="grid-template-columns"]{grid-template-columns:1fr!important}#back-to-top{right:14px;bottom:88px;width:44px;height:44px}}


/* Area Rug Sitemap Responsive Enhancements */
.sitemap-page .full-width{max-width:100%;width:100%;}
.sitemap-page .sitemap-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:22px;margin:28px 0;}
.sitemap-page .sitemap-card{background:#fff;border-radius:12px;box-shadow:0 6px 18px rgba(0,0,0,.08);padding:22px;border-top:4px solid var(--primary-blue);overflow:hidden;}
.sitemap-page .sitemap-card h2,.sitemap-page .sitemap-card summary{color:var(--primary-blue);}
.sitemap-page .sitemap-card ul{margin:12px 0 0 0;padding-left:18px;}
.sitemap-page .sitemap-card li{margin:8px 0;line-height:1.45;}
.sitemap-page .sitemap-card a{color:var(--primary-blue);font-weight:600;text-decoration:none;word-break:break-word;}
.sitemap-page .sitemap-card a:hover{color:var(--accent-red);text-decoration:underline;}
.sitemap-page .sitemap-location-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:18px;margin-top:24px;}
.local-service-links .btn-primary{display:inline-block;background:var(--accent-red);color:#fff!important;padding:12px 18px;border-radius:6px;text-decoration:none;font-weight:700;}
@media(max-width:768px){.sitemap-page .sitemap-grid,.sitemap-page .sitemap-location-list{grid-template-columns:1fr;}.sitemap-page .sitemap-card{padding:18px;}.local-service-links{padding:18px!important;}}

/* Footer logo visibility fix - keeps blue footer while making the brand mark readable */
footer .footer-logo{background:transparent!important;margin:0 0 16px!important;display:block!important;min-height:0!important;}
footer .footer-logo a{display:inline-flex!important;align-items:center!important;justify-content:flex-start!important;background:transparent!important;}
footer .footer-logo img.footer-brand-logo{display:block!important;width:min(220px,100%)!important;max-width:220px!important;height:auto!important;max-height:none!important;object-fit:contain!important;background:transparent!important;opacity:1!important;visibility:visible!important;filter:drop-shadow(0 2px 3px rgba(0,0,0,.22))!important;}
@media(max-width:640px){footer .footer-logo img.footer-brand-logo{max-width:180px!important;width:180px!important;}}


/* 2026-06-20 sidebar, BOMCAS contact, and location service link refinements */
.location-services-widget,
.bomcas-contact-card,
.bomcas-sidebar-form{
  background:#ffffff!important;
  border:1px solid #e5edf6!important;
  border-radius:14px!important;
  padding:22px!important;
  margin:0 0 24px!important;
  box-shadow:0 8px 24px rgba(0,84,166,.08)!important;
}
.location-services-widget h4,
.bomcas-contact-card h3,
.bomcas-sidebar-form h3{
  color:#0054a6!important;
  font-size:20px!important;
  line-height:1.25!important;
  margin:0 0 16px!important;
  font-weight:800!important;
}
.location-services-widget ul,
.bomcas-contact-card ul{list-style:none!important;margin:0!important;padding:0!important;}
.location-services-widget li{margin:0!important;border-bottom:1px solid #edf2f7!important;}
.location-services-widget li:last-child{border-bottom:0!important;}
.location-services-widget a{
  display:block!important;
  padding:10px 0!important;
  color:#0054a6!important;
  text-decoration:none!important;
  font-weight:600!important;
  font-size:14px!important;
  line-height:1.35!important;
}
.location-services-widget a:hover{color:#ef3e42!important;text-decoration:underline!important;}
.bomcas-accounting-page .content-wrapper{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:36px;align-items:start;}
.bomcas-accounting-page .main-content{min-width:0;}
.bomcas-accounting-page .sidebar{position:relative;min-width:0;}
.bomcas-sidebar-form .sidebar-form-note{font-size:14px;color:#4b5563;margin:0 0 14px!important;}
.bomcas-sidebar-form .form-group{margin-bottom:14px!important;}
.bomcas-sidebar-form label{font-weight:700;color:#1f2937;margin-bottom:6px;display:block;}
.bomcas-sidebar-form input,
.bomcas-sidebar-form textarea,
.bomcas-sidebar-form select{
  width:100%!important;
  border:1px solid #d7e3ef!important;
  border-radius:8px!important;
  padding:12px!important;
  font-size:15px!important;
  box-sizing:border-box!important;
  background:#fff!important;
}
.bomcas-sidebar-form .btn-submit{
  width:100%!important;
  border:0!important;
  border-radius:8px!important;
  background:#ef3e42!important;
  color:#fff!important;
  padding:13px 18px!important;
  font-weight:800!important;
  cursor:pointer!important;
}
.bomcas-contact-card p{margin:0 0 12px!important;color:#374151!important;line-height:1.55!important;}
.bomcas-contact-card a{color:#0054a6!important;font-weight:700;}
@media(max-width:992px){
  .bomcas-accounting-page .content-wrapper{display:block!important;grid-template-columns:1fr!important;}
  .bomcas-accounting-page .sidebar{margin-top:28px!important;}
  .location-services-widget a{font-size:15px!important;}
}

/* =========================================================
   GLOBAL HEADER AND FOOTER POSITION LOCK
   Keeps the same header/footer width, alignment, and spacing
   on every page so navigation does not shift between pages.
   ========================================================= */
html {
    overflow-y: scroll !important;
    scrollbar-gutter: stable both-edges;
}

:root {
    --site-shell-width: 1200px;
    --site-shell-padding: 20px;
}

.top-bar > .container,
header > .container,
.breadcrumbs > .container,
footer > .container {
    width: 100% !important;
    max-width: var(--site-shell-width) !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding-left: var(--site-shell-padding) !important;
    padding-right: var(--site-shell-padding) !important;
    box-sizing: border-box !important;
}

.top-bar,
header,
footer,
.breadcrumbs {
    width: 100% !important;
    left: auto !important;
    right: auto !important;
    transform: none !important;
}

@media screen and (min-width: 993px) {
    .top-bar {
        height: var(--top-bar-height) !important;
        min-height: var(--top-bar-height) !important;
    }

    .top-bar > .container {
        height: var(--top-bar-height) !important;
        display: flex !important;
        justify-content: space-between !important;
        align-items: center !important;
    }

    header {
        height: var(--header-height) !important;
        min-height: var(--header-height) !important;
    }

    header > .container,
    body.home-page header > .container {
        height: var(--header-height) !important;
        min-height: var(--header-height) !important;
        display: grid !important;
        grid-template-columns: 105px minmax(0, 1fr) 290px !important;
        align-items: center !important;
        justify-content: initial !important;
        gap: 18px !important;
        overflow: visible !important;
    }

    .logo,
    body.home-page .logo {
        width: 95px !important;
        max-width: 95px !important;
        min-width: 95px !important;
        height: var(--header-height) !important;
        display: flex !important;
        align-items: center !important;
        justify-content: flex-start !important;
        overflow: visible !important;
    }

    .logo img,
    body.home-page .logo img {
        width: auto !important;
        max-width: 82px !important;
        height: 82px !important;
        max-height: 82px !important;
        object-fit: contain !important;
        display: block !important;
    }

    .desktop-nav,
    body.home-page .desktop-nav {
        display: flex !important;
        width: 100% !important;
        min-width: 0 !important;
        justify-content: center !important;
        align-items: center !important;
        height: var(--header-height) !important;
    }

    .main-nav,
    body.home-page .main-nav {
        width: 100% !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        flex-wrap: nowrap !important;
        gap: 0 !important;
        height: var(--header-height) !important;
        min-width: 0 !important;
    }

    .nav-item,
    body.home-page .nav-item {
        height: var(--header-height) !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        white-space: nowrap !important;
        padding-left: 10px !important;
        padding-right: 10px !important;
        font-size: 14px !important;
        line-height: 1.2 !important;
    }

    .header-actions,
    .desktop-actions,
    body.home-page .header-actions,
    body.home-page .desktop-actions {
        width: 290px !important;
        min-width: 290px !important;
        display: flex !important;
        justify-content: flex-end !important;
        align-items: center !important;
        gap: 10px !important;
        flex-wrap: nowrap !important;
    }

    .btn-action,
    body.home-page .btn-action {
        width: 86px !important;
        height: 86px !important;
        flex: 0 0 86px !important;
    }

    .mobile-menu-toggle,
    .mobile-nav {
        display: none !important;
    }

    footer > .container {
        width: 100% !important;
        max-width: var(--site-shell-width) !important;
    }

    .footer-grid {
        display: grid !important;
        grid-template-columns: minmax(0, 1.35fr) minmax(0, 1fr) minmax(0, 1.35fr) minmax(0, 1fr) !important;
        gap: 34px !important;
        align-items: start !important;
        width: 100% !important;
    }
}

@media screen and (min-width: 993px) and (max-width: 1120px) {
    header > .container,
    body.home-page header > .container {
        grid-template-columns: 92px minmax(0, 1fr) 246px !important;
        gap: 12px !important;
    }

    .logo,
    body.home-page .logo {
        width: 86px !important;
        max-width: 86px !important;
        min-width: 86px !important;
    }

    .logo img,
    body.home-page .logo img {
        max-width: 72px !important;
        height: 72px !important;
        max-height: 72px !important;
    }

    .nav-item,
    body.home-page .nav-item {
        font-size: 12px !important;
        padding-left: 6px !important;
        padding-right: 6px !important;
    }

    .header-actions,
    .desktop-actions,
    body.home-page .header-actions,
    body.home-page .desktop-actions {
        width: 246px !important;
        min-width: 246px !important;
        gap: 8px !important;
    }

    .btn-action,
    body.home-page .btn-action {
        width: 74px !important;
        height: 74px !important;
        flex-basis: 74px !important;
        font-size: 11px !important;
    }
}

@media screen and (max-width: 992px) {
    :root {
        --site-shell-padding: 16px;
    }

    .top-bar {
        display: none !important;
    }

    header,
    body.home-page header {
        height: auto !important;
        min-height: 74px !important;
        overflow: visible !important;
    }

    header > .container,
    body.home-page header > .container {
        width: 100% !important;
        max-width: 100% !important;
        min-height: 74px !important;
        padding: 10px var(--site-shell-padding) !important;
        display: flex !important;
        align-items: center !important;
        justify-content: space-between !important;
        gap: 12px !important;
        overflow: visible !important;
    }

    .logo,
    body.home-page .logo {
        flex: 0 1 auto !important;
        width: auto !important;
        min-width: 0 !important;
        max-width: calc(100% - 64px) !important;
        height: auto !important;
        overflow: visible !important;
        display: flex !important;
        align-items: center !important;
    }

    .logo img,
    body.home-page .logo img {
        display: block !important;
        width: auto !important;
        max-width: 72px !important;
        height: 58px !important;
        max-height: 58px !important;
        object-fit: contain !important;
    }

    .desktop-nav,
    .desktop-actions,
    .header-actions,
    body.home-page .desktop-nav,
    body.home-page .desktop-actions,
    body.home-page .header-actions {
        display: none !important;
    }

    .mobile-menu-toggle,
    body.home-page .mobile-menu-toggle {
        display: flex !important;
        flex: 0 0 46px !important;
        width: 46px !important;
        min-width: 46px !important;
        height: 46px !important;
        align-items: center !important;
        justify-content: center !important;
        flex-direction: column !important;
        position: relative !important;
        z-index: 10060 !important;
    }

    .mobile-nav,
    body.home-page .mobile-nav {
        position: fixed !important;
        top: 0 !important;
        left: 0 !important;
        right: 0 !important;
        bottom: 0 !important;
        width: 100% !important;
        max-width: 100% !important;
        z-index: 10040 !important;
    }

    .footer-grid {
        grid-template-columns: 1fr !important;
        gap: 28px !important;
    }
}

/* =========================================================
   DESKTOP STICKY HEADER + BACK TO TOP BUTTON FINAL FIX
   Keeps the header locked on desktop and separates the
   back-to-top button from the WhatsApp chat button.
   ========================================================= */
@media screen and (min-width: 993px) {
    header,
    body.home-page header {
        position: sticky !important;
        top: 0 !important;
        left: 0 !important;
        right: 0 !important;
        z-index: 10050 !important;
        width: 100% !important;
        background: #ffffff !important;
        box-shadow: 0 3px 14px rgba(0,0,0,0.10) !important;
        transform: none !important;
        margin: 0 !important;
    }

    html {
        scroll-behavior: smooth;
        scroll-padding-top: var(--header-height, 100px);
    }

    .mega-menu-content,
    .dropdown-menu,
    .mobile-nav {
        z-index: 10070 !important;
    }
}

#back-to-top,
a#back-to-top {
    position: fixed !important;
    right: 115px !important;
    bottom: 42px !important;
    width: 52px !important;
    height: 52px !important;
    min-width: 52px !important;
    min-height: 52px !important;
    border-radius: 50% !important;
    background: #ef3e42 !important;
    color: #ffffff !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
    z-index: 10080 !important;
    box-shadow: 0 8px 24px rgba(0,0,0,0.28) !important;
    text-decoration: none !important;
    cursor: pointer !important;
    transition: opacity .25s ease, visibility .25s ease, transform .25s ease, background .25s ease !important;
}

#back-to-top.show,
a#back-to-top.show,
body.show-back-to-top #back-to-top {
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
    display: flex !important;
}

#back-to-top:hover,
a#back-to-top:hover {
    background: #0054a6 !important;
    color: #ffffff !important;
    transform: translateY(-3px) !important;
}

#back-to-top i,
a#back-to-top i {
    color: #ffffff !important;
    font-size: 20px !important;
    line-height: 1 !important;
}

.whatsapp-chat-btn {
    z-index: 10040 !important;
}

@media screen and (max-width: 992px) {
    html {
        scroll-behavior: smooth;
        scroll-padding-top: 80px;
    }

    #back-to-top,
    a#back-to-top {
        right: 18px !important;
        bottom: 88px !important;
        width: 46px !important;
        height: 46px !important;
        min-width: 46px !important;
        min-height: 46px !important;
        z-index: 10080 !important;
    }

    .whatsapp-chat-btn {
        right: 18px !important;
        bottom: 18px !important;
        z-index: 10040 !important;
    }
}

/* Footer services two-column refinement */
footer .footer-services-section{min-width:0;}
footer .footer-services-columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 24px;align-items:start;}
footer .footer-services-columns ul{margin:0!important;padding:0!important;list-style:none!important;}
footer .footer-services-columns li{margin-bottom:9px!important;line-height:1.4!important;break-inside:avoid;}
footer .footer-services-columns a{display:inline-block;word-break:normal;overflow-wrap:anywhere;}
@media (min-width: 992px){
  footer .footer-grid{grid-template-columns:minmax(230px,1.05fr) minmax(160px,.8fr) minmax(420px,1.75fr) minmax(210px,.9fr)!important;}
}
@media (max-width: 767px){
  footer .footer-services-columns{grid-template-columns:1fr;gap:0;}
}


/* =========================================================
   FINAL UNIFIED HEADER / FOOTER SYSTEM
   One stable header and one stable footer presentation on every page.
   ========================================================= */
:root{--mjc-shell:1200px;--mjc-pad:20px;--mjc-header-h:100px;--mjc-blue:#075fa5;--mjc-red:#ef3e42;}
html{overflow-y:scroll!important;scrollbar-gutter:stable;scroll-behavior:smooth;}
body{overflow-x:hidden!important;}
.top-bar>.container,header>.container,footer>.container{width:100%!important;max-width:var(--mjc-shell)!important;margin-left:auto!important;margin-right:auto!important;padding-left:var(--mjc-pad)!important;padding-right:var(--mjc-pad)!important;box-sizing:border-box!important;}
header,body.home-page header{width:100%!important;background:#fff!important;box-shadow:0 3px 14px rgba(0,0,0,.10)!important;transform:none!important;left:auto!important;right:auto!important;margin:0!important;z-index:10050!important;}
@media(min-width:993px){
  header,body.home-page header{position:sticky!important;top:0!important;height:var(--mjc-header-h)!important;min-height:var(--mjc-header-h)!important;}
  header>.container,body.home-page header>.container{height:var(--mjc-header-h)!important;min-height:var(--mjc-header-h)!important;display:grid!important;grid-template-columns:150px minmax(0,1fr) 290px!important;gap:22px!important;align-items:center!important;justify-content:initial!important;overflow:visible!important;}
  .logo,body.home-page .logo{width:150px!important;min-width:150px!important;max-width:150px!important;height:var(--mjc-header-h)!important;display:flex!important;align-items:center!important;justify-content:flex-start!important;overflow:visible!important;}
  .logo img,body.home-page .logo img{display:block!important;width:142px!important;max-width:142px!important;height:auto!important;max-height:82px!important;object-fit:contain!important;}
  .desktop-nav,body.home-page .desktop-nav{display:flex!important;height:var(--mjc-header-h)!important;width:100%!important;align-items:center!important;justify-content:center!important;min-width:0!important;}
  .main-nav,body.home-page .main-nav{display:flex!important;height:var(--mjc-header-h)!important;width:100%!important;align-items:center!important;justify-content:center!important;gap:0!important;flex-wrap:nowrap!important;min-width:0!important;}
  .nav-item,body.home-page .nav-item{height:var(--mjc-header-h)!important;display:flex!important;align-items:center!important;justify-content:center!important;white-space:nowrap!important;font-size:14px!important;line-height:1.2!important;padding:0 10px!important;}
  .header-actions,.desktop-actions,body.home-page .header-actions,body.home-page .desktop-actions{width:290px!important;min-width:290px!important;display:flex!important;align-items:center!important;justify-content:flex-end!important;gap:10px!important;flex-wrap:nowrap!important;}
  .btn-action,body.home-page .btn-action{width:86px!important;height:86px!important;flex:0 0 86px!important;}
  .mobile-menu-toggle,.mobile-nav{display:none!important;}
}
@media(min-width:993px) and (max-width:1120px){
  header>.container,body.home-page header>.container{grid-template-columns:118px minmax(0,1fr) 246px!important;gap:12px!important;}
  .logo,body.home-page .logo{width:118px!important;min-width:118px!important;max-width:118px!important;}
  .logo img,body.home-page .logo img{width:112px!important;max-width:112px!important;max-height:72px!important;}
  .nav-item,body.home-page .nav-item{font-size:12px!important;padding:0 6px!important;}
  .header-actions,.desktop-actions,body.home-page .header-actions,body.home-page .desktop-actions{width:246px!important;min-width:246px!important;gap:8px!important;}
  .btn-action,body.home-page .btn-action{width:74px!important;height:74px!important;flex-basis:74px!important;font-size:11px!important;}
}
@media(max-width:992px){
  :root{--mjc-pad:16px;}
  .top-bar{display:none!important;}
  header,body.home-page header{position:relative!important;min-height:76px!important;height:auto!important;}
  header>.container,body.home-page header>.container{min-height:76px!important;display:flex!important;align-items:center!important;justify-content:space-between!important;gap:12px!important;padding-top:10px!important;padding-bottom:10px!important;}
  .logo,body.home-page .logo{height:auto!important;width:auto!important;min-width:0!important;max-width:calc(100% - 64px)!important;display:flex!important;align-items:center!important;}
  .logo img,body.home-page .logo img{width:118px!important;max-width:118px!important;height:auto!important;max-height:58px!important;object-fit:contain!important;}
  .desktop-nav,.desktop-actions,.header-actions,body.home-page .desktop-nav,body.home-page .desktop-actions,body.home-page .header-actions{display:none!important;}
  .mobile-menu-toggle,body.home-page .mobile-menu-toggle{display:flex!important;width:46px!important;height:46px!important;min-width:46px!important;flex:0 0 46px!important;align-items:center!important;justify-content:center!important;flex-direction:column!important;z-index:10070!important;}
  .mobile-nav,body.home-page .mobile-nav{position:fixed!important;inset:0!important;width:100%!important;max-width:100%!important;z-index:10040!important;}
}
footer{background:var(--mjc-blue)!important;color:#fff!important;padding:58px 0 0!important;width:100%!important;}
footer .footer-grid{display:grid!important;grid-template-columns:minmax(0,1.35fr) minmax(0,.95fr) minmax(0,1fr) minmax(0,1fr) minmax(0,.95fr)!important;gap:32px!important;align-items:start!important;width:100%!important;}
footer .footer-section h4{color:#fff!important;font-size:16px!important;font-weight:900!important;letter-spacing:.02em!important;text-transform:uppercase!important;margin:0 0 18px!important;}
footer .footer-section p,footer .footer-section li,footer .footer-section span,footer .footer-bottom p{color:#fff!important;}
footer .footer-section a,footer .footer-bottom a{color:#fff!important;text-decoration:none!important;}
footer .footer-section a:hover,footer .footer-bottom a:hover{text-decoration:underline!important;color:#fff!important;}
footer ul{list-style:none!important;margin:0!important;padding:0!important;}
footer li{margin:0 0 10px!important;line-height:1.45!important;}
footer .footer-logo{display:block!important;margin:0 0 18px!important;background:transparent!important;}
footer .footer-logo a{display:inline-flex!important;background:transparent!important;}
footer .footer-logo img.footer-brand-logo{display:block!important;width:240px!important;max-width:100%!important;height:auto!important;max-height:110px!important;object-fit:contain!important;opacity:1!important;visibility:visible!important;filter:drop-shadow(0 2px 3px rgba(0,0,0,.25))!important;}
footer .footer-bottom{border-top:1px solid rgba(255,255,255,.25)!important;margin-top:34px!important;padding:24px 0!important;color:#fff!important;}
footer .footer-bottom [style*="color: #333"],footer .footer-bottom [style*="color:#333"],footer .footer-bottom [style*="color: #666"],footer .footer-bottom [style*="color:#666"],footer .footer-bottom [style*="color: #999"],footer .footer-bottom [style*="color:#999"]{color:#fff!important;}
footer .footer-services-columns{display:block!important;}
@media(max-width:1100px){footer .footer-grid{grid-template-columns:1fr 1fr 1fr!important;}}
@media(max-width:760px){footer{padding-top:42px!important;}footer .footer-grid{grid-template-columns:1fr!important;gap:26px!important;}footer .footer-logo img.footer-brand-logo{width:200px!important;}.footer-bottom>div{display:block!important;text-align:left!important}.footer-bottom div[style*="text-align: right"]{text-align:left!important;margin-top:18px!important;}}
#back-to-top,a#back-to-top{right:115px!important;bottom:42px!important;z-index:10080!important;}
.whatsapp-chat-btn{right:28px!important;bottom:28px!important;z-index:10040!important;}
@media(max-width:640px){#back-to-top,a#back-to-top{right:90px!important;bottom:24px!important;width:46px!important;height:46px!important;}.whatsapp-chat-btn{right:18px!important;bottom:18px!important;}}


/* Final logo polish: red-accent header logo and white footer logo */
.site-header .logo img,
.header .logo img,
.logo img,
body.home-page .logo img{
  content: url('/assets/images/logo-mjc-cleaning-primary.webp') !important;
  display:block!important;
  width:160px!important;
  max-width:160px!important;
  height:auto!important;
  max-height:88px!important;
  object-fit:contain!important;
  opacity:1!important;
  visibility:visible!important;
  background:transparent!important;
}
footer .footer-logo img,
footer .footer-logo img.footer-brand-logo{
  content: url('/assets/images/logo-mjc-cleaning-primary.webp') !important;
  display:block!important;
  width:245px!important;
  max-width:100%!important;
  height:auto!important;
  max-height:118px!important;
  object-fit:contain!important;
  opacity:1!important;
  visibility:visible!important;
  background:transparent!important;
  filter:drop-shadow(0 3px 5px rgba(0,0,0,.28))!important;
}
@media(max-width:900px){
  .site-header .logo img,.header .logo img,.logo img,body.home-page .logo img{width:132px!important;max-width:132px!important;max-height:68px!important;}
  footer .footer-logo img,footer .footer-logo img.footer-brand-logo{width:210px!important;max-height:105px!important;}
}


/* Final uploaded MJC logo replacement - optimized WebP used in shared header and footer */
.site-header .logo img,
.header .logo img,
.logo img,
body.home-page .logo img{
  content:url('/assets/images/logo-mjc-cleaning-primary.webp') !important;
  display:block !important;
  width:190px !important;
  max-width:190px !important;
  height:auto !important;
  max-height:82px !important;
  object-fit:contain !important;
}
footer .footer-logo img,
footer .footer-logo img.footer-brand-logo{
  content:url('/assets/images/logo-mjc-cleaning-primary.webp') !important;
  display:block !important;
  width:270px !important;
  max-width:100% !important;
  height:auto !important;
  max-height:155px !important;
  object-fit:contain !important;
  background:transparent !important;
  filter:drop-shadow(0 2px 4px rgba(0,0,0,.28)) !important;
}
@media(max-width:1100px){
  .site-header .logo img,.header .logo img,.logo img,body.home-page .logo img{width:155px!important;max-width:155px!important;max-height:72px!important;}
}
@media(max-width:760px){
  .site-header .logo img,.header .logo img,.logo img,body.home-page .logo img{width:132px!important;max-width:132px!important;max-height:64px!important;}
  footer .footer-logo img,footer .footer-logo img.footer-brand-logo{width:220px!important;max-height:125px!important;}
}


/* =========================================================
   FINAL STICKY TOP BAR + MOBILE MENU + LOCATIONS + FAQ FIXES
   ========================================================= */
@media (min-width: 993px){
  .top-bar{position:sticky!important;top:0!important;z-index:10080!important;background:#fff!important;border-bottom:1px solid #e6e6e6!important;box-shadow:0 1px 4px rgba(0,0,0,.05)!important;}
  header,body.home-page header{position:sticky!important;top:var(--top-bar-height,40px)!important;z-index:10070!important;}
  html{scroll-padding-top:calc(var(--top-bar-height,40px) + var(--mjc-header-h,100px))!important;}
}
@media (max-width: 992px){
  body.mobile-menu-open{overflow:hidden!important;}
  .mobile-menu-toggle span{width:28px!important;height:3px!important;background:#0054a6!important;border-radius:3px!important;margin:4px 0!important;display:block!important;transition:all .25s ease!important;}
  .mobile-menu-toggle.active span:nth-child(1){transform:rotate(45deg) translate(8px,8px)!important;background:#ef3e42!important;}
  .mobile-menu-toggle.active span:nth-child(2){opacity:0!important;}
  .mobile-menu-toggle.active span:nth-child(3){transform:rotate(-45deg) translate(8px,-8px)!important;background:#ef3e42!important;}
  .mobile-nav,body.home-page .mobile-nav{display:block!important;opacity:0!important;visibility:hidden!important;pointer-events:none!important;transform:translateX(100%)!important;background:rgba(0,84,166,.18)!important;transition:all .28s ease!important;overflow-y:auto!important;}
  .mobile-nav.active,body.home-page .mobile-nav.active{opacity:1!important;visibility:visible!important;pointer-events:auto!important;transform:translateX(0)!important;}
  .mobile-nav-content,body.home-page .mobile-nav-content{background:#fff!important;width:min(88vw,390px)!important;min-height:100vh!important;margin-left:auto!important;padding:88px 24px 40px!important;box-shadow:-12px 0 30px rgba(0,0,0,.18)!important;}
  .mobile-nav-item{font-size:17px!important;font-weight:800!important;color:#0054a6!important;border-bottom:1px solid #e7eef6!important;text-decoration:none!important;}
  .mobile-nav-contact{background:#f4f8fc!important;border-left:5px solid #ef3e42!important;border-radius:12px!important;padding:18px!important;box-shadow:0 8px 20px rgba(0,0,0,.08)!important;}
}
#back-to-top,a#back-to-top{left:28px!important;right:auto!important;bottom:28px!important;z-index:10090!important;background:#ef3e42!important;color:#fff!important;}
@media(max-width:640px){#back-to-top,a#back-to-top{left:18px!important;right:auto!important;bottom:18px!important}.whatsapp-chat-btn,.bomcas-contact-bubble{right:18px!important;bottom:18px!important}}
.faq-section{background:#f7f9fc!important;padding:56px 0!important;}
.faq-section h2{text-align:center!important;color:#0054a6!important;font-size:clamp(26px,3vw,40px)!important;line-height:1.2!important;margin-bottom:28px!important;}
.faq-list{max-width:920px!important;margin:0 auto!important;display:grid!important;gap:14px!important;}
.faq-item{background:#fff!important;border:1px solid #e6eef7!important;border-radius:14px!important;box-shadow:0 8px 24px rgba(0,0,0,.06)!important;overflow:hidden!important;}
.faq-item summary{cursor:pointer!important;font-weight:900!important;color:#0054a6!important;padding:20px 56px 20px 22px!important;position:relative!important;list-style:none!important;}
.faq-item summary::-webkit-details-marker{display:none!important;}
.faq-item summary:after{content:'+'!important;position:absolute!important;right:22px!important;top:50%!important;transform:translateY(-50%)!important;color:#ef3e42!important;font-size:26px!important;font-weight:900!important;}
.faq-item[open] summary:after{content:'–'!important;}
.faq-answer{padding:0 22px 22px!important;color:#334155!important;line-height:1.7!important;}
.faq-answer p{margin:0!important;}
.locations-directory-pro,.locations-grid,.sitemap-grid{display:grid!important;grid-template-columns:repeat(auto-fit,minmax(250px,1fr))!important;gap:22px!important;}
.location-card,.sitemap-card{background:#fff!important;border:1px solid #e4edf7!important;border-top:5px solid #0054a6!important;border-radius:16px!important;padding:22px!important;box-shadow:0 10px 26px rgba(0,0,0,.07)!important;transition:transform .2s ease, box-shadow .2s ease!important;}
.location-card:hover,.sitemap-card:hover{transform:translateY(-3px)!important;box-shadow:0 14px 34px rgba(0,0,0,.11)!important;}
.location-card h3 a,.sitemap-card h2,.sitemap-card h3{color:#0054a6!important;text-decoration:none!important;font-weight:900!important;}
.btn-location,.location-services-widget a,.sidebar-widget a{border-radius:10px!important;}
.location-services-widget a{display:block!important;background:#f5f9fd!important;border:1px solid #dceaf7!important;border-left:4px solid #0054a6!important;padding:10px 12px!important;margin-bottom:8px!important;color:#0054a6!important;font-weight:800!important;text-decoration:none!important;}
.location-services-widget a:hover{background:#0054a6!important;color:#fff!important;}
.bomcas-contact-bubble{position:fixed!important;right:28px!important;bottom:28px!important;z-index:10050!important;border:0!important;border-radius:999px!important;background:#0054a6!important;color:#fff!important;box-shadow:0 10px 28px rgba(0,0,0,.24)!important;padding:14px 18px!important;display:flex!important;align-items:center!important;gap:10px!important;font-weight:900!important;cursor:pointer!important;}
.bomcas-contact-bubble i{font-size:20px!important;color:#fff!important;}
.bomcas-contact-bubble:hover{background:#ef3e42!important;transform:translateY(-2px)!important;}
.bomcas-accounting-page .faq-section + .faq-section{display:none!important;}
.bomcas-accounting-page .sidebar-form{position:sticky!important;top:160px!important;}
@media(max-width:992px){.bomcas-accounting-page .sidebar-form{position:static!important}.locations-grid,.sitemap-grid{grid-template-columns:1fr!important}}


/* === Final readability, CTA, sidebar, BOMCAS popup, and location link fixes === */
.cta-banner, .contact-cta, section[style*="background-color: var(--primary-blue)"], section[style*="background:#0054a6"], .blue-cta, .primary-cta { color:#fff !important; }
.cta-banner p, .cta-banner div, .cta-banner span, .cta-banner a:not(.btn), .contact-cta p, .contact-cta div, .contact-cta span { color:#fff !important; }
.cta-banner .btn-secondary, .contact-cta .btn-secondary, .blue-cta .btn-secondary, .primary-cta .btn-secondary { background:#ef3e42 !important; border-color:#ef3e42 !important; color:#fff !important; }
.cta-banner .btn-secondary:hover, .contact-cta .btn-secondary:hover { background:#d73539 !important; color:#fff !important; }
.cta-banner a[href^="tel"], .contact-cta a[href^="tel"], .cta-banner a[href^="mailto"], .contact-cta a[href^="mailto"] { color:#fff !important; font-weight:800; }
.content-section a[href^="tel"], .content-section a[href^="mailto"] { color:#0054a6; font-weight:800; }

/* Standard side link design across all inner pages */
.sidebar ul, .sidebar-widget ul, .location-services-widget ul, .bomcas-accounting-page .sidebar-widget ul { list-style:none !important; padding:0 !important; margin:0 !important; }
.sidebar li, .sidebar-widget li, .location-services-widget li, .bomcas-accounting-page .sidebar-widget li { list-style:none !important; margin:0 0 9px 0 !important; padding:0 !important; border:0 !important; }
.sidebar a:not(.btn):not(.btn-submit), .sidebar-widget a:not(.btn):not(.btn-submit), .location-services-widget a, .bomcas-accounting-page .sidebar-widget a:not(.btn):not(.btn-submit) { display:block !important; background:#f5f9fd !important; border:1px solid #dceaf7 !important; border-left:5px solid #0054a6 !important; border-radius:10px !important; padding:11px 14px !important; margin-bottom:9px !important; color:#0054a6 !important; font-weight:800 !important; line-height:1.35 !important; text-decoration:none !important; box-shadow:0 4px 12px rgba(0,84,166,.06) !important; }
.sidebar a:not(.btn):not(.btn-submit):hover, .sidebar-widget a:not(.btn):not(.btn-submit):hover, .location-services-widget a:hover, .bomcas-accounting-page .sidebar-widget a:not(.btn):not(.btn-submit):hover { background:#0054a6 !important; color:#fff !important; transform:translateX(2px); }
.sidebar-widget, .location-services-widget { background:#fff !important; border:1px solid #e2edf8 !important; border-radius:16px !important; padding:22px !important; box-shadow:0 10px 26px rgba(0,0,0,.07) !important; margin-bottom:24px !important; }
.sidebar-widget h3, .location-services-widget h3, .location-services-widget h4 { color:#0054a6 !important; font-size:22px !important; font-weight:900 !important; margin-bottom:16px !important; }

/* Location page service links */
.location-services { display:flex !important; flex-wrap:wrap !important; gap:8px !important; margin:18px 0 !important; }
.location-services .service-tag, .location-services a.service-tag { display:inline-block !important; background:#e8f2ff !important; color:#0054a6 !important; border:1px solid #cfe2fa !important; border-radius:24px !important; padding:7px 12px !important; font-size:12px !important; font-weight:800 !important; text-decoration:none !important; transition:all .2s ease !important; }
.location-services a.service-tag:hover { background:#0054a6 !important; color:#fff !important; }
.locations-grid { align-items:stretch !important; }
.location-card { display:flex !important; flex-direction:column !important; }
.location-card .btn-location { margin-top:auto !important; align-self:flex-start !important; }

/* BOMCAS pages: tighter professional layout and contact styling */
.bomcas-accounting-page .content-wrapper { display:grid !important; grid-template-columns:minmax(0, 1fr) 360px !important; gap:36px !important; align-items:start !important; }
.bomcas-accounting-page .main-content { max-width:100% !important; background:#fff !important; border:1px solid #e6edf5 !important; border-radius:18px !important; padding:32px !important; box-shadow:0 10px 30px rgba(0,0,0,.05) !important; }
.bomcas-accounting-page .sidebar { width:auto !important; max-width:360px !important; }
.bomcas-accounting-page .sidebar-form { background:#fff !important; border:1px solid #e2edf8 !important; border-top:6px solid #0054a6 !important; border-radius:18px !important; padding:24px !important; box-shadow:0 12px 30px rgba(0,0,0,.09) !important; position:sticky !important; top:150px !important; }
.bomcas-accounting-page .sidebar-form h3 { color:#0054a6 !important; font-weight:900 !important; }
.bomcas-cta-box { background:linear-gradient(135deg,#0054a6,#003e7d); color:#fff; border-radius:18px; padding:26px; margin:32px 0; box-shadow:0 14px 34px rgba(0,84,166,.2); }
.bomcas-cta-box h2, .bomcas-cta-box h3, .bomcas-cta-box p, .bomcas-cta-box a { color:#fff !important; }
.bomcas-cta-actions { display:flex; flex-wrap:wrap; gap:12px; margin-top:18px; }
.bomcas-cta-actions a { background:#ef3e42; padding:12px 18px; border-radius:8px; text-decoration:none; font-weight:900; }
.bomcas-reviews-section { background:#f5f9fd; border-top:1px solid #e5eef8; border-bottom:1px solid #e5eef8; padding:58px 0; }
.bomcas-reviews-section h2 { text-align:center; color:#0054a6; font-size:32px; font-weight:900; margin-bottom:28px; }
.bomcas-review-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(240px,1fr)); gap:18px; }
.bomcas-review-card { background:#fff; border-radius:16px; padding:20px; box-shadow:0 10px 26px rgba(0,0,0,.08); border:1px solid #e5eef8; }
.bomcas-review-card .stars { color:#ef3e42; font-weight:900; margin-bottom:8px; }
.bomcas-review-card p { color:#2d3748; line-height:1.55; margin:0 0 12px; }
.bomcas-review-card strong { color:#0054a6; }

/* BOMCAS contact bubble opens an on-page chat-style form */
.bomcas-contact-bubble { position:fixed !important; right:22px !important; bottom:22px !important; z-index:10090 !important; border:0 !important; background:#0054a6 !important; color:#fff !important; border-radius:999px !important; padding:14px 18px !important; font-weight:900 !important; box-shadow:0 12px 30px rgba(0,0,0,.25) !important; cursor:pointer !important; display:flex !important; gap:8px !important; align-items:center !important; }
.bomcas-contact-panel { position:fixed; right:22px; bottom:86px; width:min(420px, calc(100vw - 36px)); max-height:calc(100vh - 130px); overflow:auto; background:#fff; border-radius:18px; box-shadow:0 18px 54px rgba(0,0,0,.28); border:1px solid #d7e8fb; z-index:10095; display:none; }
.bomcas-contact-panel.active { display:block; }
.bomcas-contact-panel-header { background:#0054a6; color:#fff; padding:18px 20px; border-radius:18px 18px 0 0; display:flex; justify-content:space-between; align-items:flex-start; gap:14px; }
.bomcas-contact-panel-header h3, .bomcas-contact-panel-header p, .bomcas-contact-panel-header a { color:#fff !important; margin:0; }
.bomcas-contact-panel-header p { margin-top:6px; font-size:14px; line-height:1.45; }
.bomcas-contact-close { background:#ef3e42; color:#fff; border:0; border-radius:50%; width:34px; height:34px; font-size:18px; font-weight:900; cursor:pointer; flex:0 0 auto; }
.bomcas-contact-panel-body { padding:20px; }
.bomcas-contact-details { background:#f5f9fd; border:1px solid #dceaf7; border-radius:12px; padding:14px; margin-bottom:16px; }
.bomcas-contact-details p { margin:6px 0; color:#2d3748; }
.bomcas-contact-details a { color:#0054a6; font-weight:800; }

/* Back to top must not cover chat buttons */
#back-to-top, a#back-to-top { left:22px !important; right:auto !important; bottom:22px !important; z-index:10080 !important; }
@media(max-width:992px){
  .bomcas-accounting-page .content-wrapper { display:block !important; }
  .bomcas-accounting-page .main-content { padding:22px !important; }
  .bomcas-accounting-page .sidebar { max-width:100% !important; width:100% !important; margin-top:26px !important; }
  .bomcas-accounting-page .sidebar-form { position:static !important; }
  .bomcas-contact-bubble { right:16px !important; bottom:16px !important; padding:13px 15px !important; }
  .bomcas-contact-panel { right:16px; bottom:76px; width:calc(100vw - 32px); }
  #back-to-top, a#back-to-top { left:16px !important; bottom:16px !important; }
}

/* Specialty service link and FAQ fixes */
.location-services .service-tag,.professional-sidebar-links a,.location-services-widget ul li a{display:block;padding:10px 14px;margin:6px 0;background:#f1f7ff;border:1px solid #cfe3ff;border-left:5px solid #005baa;border-radius:9px;color:#0050a4!important;font-weight:700;text-decoration:none;transition:all .2s ease;}
.location-services .service-tag:hover,.professional-sidebar-links a:hover,.location-services-widget ul li a:hover{background:#005baa;color:#fff!important;transform:translateX(3px);}
.professional-faq .faq-item{background:#fff;border-radius:10px;box-shadow:0 4px 14px rgba(0,0,0,.08);margin:12px 0;overflow:hidden}.professional-faq .faq-question{width:100%;text-align:left;padding:18px 20px;border:0;background:#fff;color:#005baa;font-weight:800;font-size:1.05rem;cursor:pointer}.professional-faq .faq-answer{padding:0 20px 18px;color:#333}

/* Internal linking, usability, and SEO navigation enhancements */
.seo-internal-link-hub{background:#f5f9fd;padding:42px 0;border-top:1px solid #e3eef8;border-bottom:1px solid #e3eef8}
.seo-hub-grid{display:grid;grid-template-columns:1.1fr 1fr 1fr;gap:24px;align-items:start}
.seo-hub-card{background:#fff;border:1px solid #d8e8f8;border-radius:16px;padding:24px;box-shadow:0 8px 24px rgba(0,70,150,.08)}
.seo-hub-card h2,.seo-hub-card h3{color:#0054a6;margin:0 0 12px;font-weight:800;line-height:1.25}
.seo-hub-card p{color:#334;line-height:1.65;margin-bottom:16px}
.seo-hub-pills{display:flex;flex-wrap:wrap;gap:10px}
.seo-hub-pills a,.seo-hub-list a,.sidebar a,.sidebar-widget a,.location-services-widget a,.full-location-service-links-final a,.comprehensive-location-service-links a,.service-tag{display:block;background:#eef6ff;border:1px solid #c9e2ff;border-left:5px solid #0054a6;color:#0054a6!important;text-decoration:none!important;font-weight:700;border-radius:10px;padding:11px 14px;margin:8px 0;line-height:1.35;transition:all .18s ease}
.seo-hub-pills a{display:inline-flex;margin:0;border-left:0;background:#0054a6;color:#fff!important;border-color:#0054a6;border-radius:999px}
.seo-hub-pills a:nth-child(2),.seo-hub-pills a:nth-child(3){background:#ef3e42;border-color:#ef3e42}
.seo-hub-list{list-style:none;padding:0;margin:0;display:grid;gap:0}
.seo-hub-list-compact{grid-template-columns:1fr 1fr;gap:0 10px}
.seo-hub-list a:hover,.sidebar a:hover,.sidebar-widget a:hover,.location-services-widget a:hover,.full-location-service-links-final a:hover,.comprehensive-location-service-links a:hover,.service-tag:hover{background:#0054a6;color:#fff!important;transform:translateX(3px);box-shadow:0 6px 16px rgba(0,84,166,.18)}
.sidebar ul,.sidebar-widget ul,.location-services-widget ul{list-style:none;padding-left:0;margin-left:0}
.sidebar li,.sidebar-widget li,.location-services-widget li{list-style:none;margin:0;padding:0}
.sidebar h3,.sidebar-widget h3,.location-services-widget h3{background:#0054a6;color:#fff!important;border-radius:10px 10px 0 0;padding:13px 16px;margin-bottom:12px;font-size:1.1rem}
.internal-context-note{background:#fff8e8;border-left:5px solid #ef3e42;border-radius:12px;padding:18px 20px;margin:24px 0;color:#263238;line-height:1.7}
@media(max-width:900px){.seo-hub-grid{grid-template-columns:1fr}.seo-hub-list-compact{grid-template-columns:1fr}.seo-internal-link-hub{padding:30px 0}.seo-hub-card{padding:20px}.seo-hub-pills a{width:100%;justify-content:center}}
.sitemap-link-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:10px;margin:20px 0 40px}.sitemap-link-grid a{display:block;background:#eef6ff;border:1px solid #c9e2ff;border-left:5px solid #0054a6;border-radius:10px;color:#0054a6!important;text-decoration:none;font-weight:700;padding:12px 14px;transition:.18s}.sitemap-link-grid a:hover{background:#0054a6;color:#fff!important;transform:translateX(3px)}
