/*
Theme Name: Minnesota Web Studio
Author: Minnesota Web Studio
Version: 1.10.2
Text Domain: mws-custom
*/

/* ==========================================
   GLOBAL VARIABLES & RESETS
   ========================================== */
:root {
    /* Brand Colors */
    --mws-dark-blue: #022834;
    --mws-green: #5BBD3D;
    --mws-green-dark: #4A9E32;
    --mws-green-light: #E8F5E4;
    --mws-blue-highlight: #17598A;
    --mws-blue-light: #4AB1FF;

    /* Text & Background Colors */
    --mws-text-dark: #022834;
    --mws-text-body: #3D4F4F;
    --mws-bg-shell: #f4f9f9;
    --mws-bg-start: #F0F8FF;
    --mws-border-color: #e2e8f0;

    --font-headings: 'Quicksand', sans-serif !important;
    --font-body: 'Open Sans', sans-serif !important;
}

/* Basic Reset to ensure cross-browser consistency */
html {
    box-sizing: border-box;
    scroll-behavior: smooth;
    /* Smooth scrolling for anchor links */
}

*,
*:before,
*:after {
    box-sizing: inherit;
}

body {
    margin: 0;
    padding: 0;
    font-family: 'Open Sans', sans-serif;
    color: var(--mws-text-body);
    background-color: #ffffff;
    overflow-x: hidden;
}

/* ==========================================
   NAVIGATION MENU
   ========================================== */
:root {
    --mws-nav-height: 80px;
    --mws-nav-height-mobile: 70px;
}

.mws-nav {
    background: var(--mws-dark-blue) !important;
    position: sticky !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    z-index: 9999 !important;
    font-family: 'Open Sans', sans-serif !important;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1) !important;
}

.mws-nav-container {
    max-width: 1200px !important;
    margin: 0 auto !important;
    padding: 0 30px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    height: var(--mws-nav-height) !important;
}

/* Logo */
.mws-nav-logo {
    display: flex !important;
    align-items: center !important;
    text-decoration: none !important;
    gap: 0 !important;
    flex-shrink: 0 !important;
}

.mws-nav-logo img {
    height: 55px !important;
    width: auto !important;
    transition: transform 0.3s ease !important;
}

.mws-nav-logo:hover img {
    transform: scale(1.02) !important;
}

/* Desktop Nav Links */
.mws-nav-links {
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

.mws-nav-links li {
    margin: 0 !important;
    padding: 0 !important;
}

.mws-nav-links a {
    display: block !important;
    padding: 10px 18px !important;
    color: #ffffff !important;
    text-decoration: none !important;
    font-size: 15px !important;
    font-weight: 500 !important;
    letter-spacing: 0.3px !important;
    border-radius: 6px !important;
    transition: all 0.3s ease !important;
    position: relative !important;
}

.mws-nav-links a:hover {
    color: var(--mws-green) !important;
    background: rgba(255, 255, 255, 0.05) !important;
}

.mws-nav-links a.active {
    color: var(--mws-green) !important;
}

/* Underline effect */
.mws-nav-links a::after {
    content: '' !important;
    position: absolute !important;
    bottom: 5px !important;
    left: 18px !important;
    right: 18px !important;
    height: 2px !important;
    background: var(--mws-green) !important;
    transform: scaleX(0) !important;
    transition: transform 0.3s ease !important;
}

.mws-nav-links a:hover::after,
.mws-nav-links a.active::after {
    transform: scaleX(1) !important;
}

/* Email CTA Button */
.mws-nav-cta {
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    padding: 10px 20px !important;
    background: transparent !important;
    border: 2px solid var(--mws-green) !important;
    color: var(--mws-green) !important;
    text-decoration: none !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    border-radius: 6px !important;
    transition: all 0.3s ease !important;
    margin-left: 15px !important;
}

.mws-nav-cta:hover {
    background: var(--mws-green) !important;
    color: var(--mws-dark-blue) !important;
}

.mws-nav-cta svg {
    width: 16px !important;
    height: 16px !important;
    stroke: currentColor !important;
    fill: none !important;
    stroke-width: 2 !important;
}

/* Mobile Menu Toggle */
.mws-nav-toggle {
    display: none !important;
    flex-direction: column !important;
    justify-content: center !important;
    align-items: center !important;
    width: 44px !important;
    height: 44px !important;
    background: transparent !important;
    border: none !important;
    cursor: pointer !important;
    padding: 0 !important;
    z-index: 10001 !important;
}

.mws-nav-toggle span {
    display: block !important;
    width: 24px !important;
    height: 2px !important;
    background: #ffffff !important;
    border-radius: 2px !important;
    transition: all 0.3s ease !important;
}

.mws-nav-toggle span:nth-child(1) {
    margin-bottom: 6px !important;
}

.mws-nav-toggle span:nth-child(3) {
    margin-top: 6px !important;
}

/* Toggle active state (X icon) */
.mws-nav-toggle.active span:nth-child(1) {
    transform: rotate(45deg) translate(5px, 6px) !important;
}

.mws-nav-toggle.active span:nth-child(2) {
    opacity: 0 !important;
}

.mws-nav-toggle.active span:nth-child(3) {
    transform: rotate(-45deg) translate(5px, -6px) !important;
}

/* Mobile Menu Overlay */
.mws-nav-overlay {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    background: rgba(2, 40, 52, 0.5) !important;
    z-index: 9998 !important;
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
    transition: opacity 0.3s ease, visibility 0.3s ease !important;
    display: none !important;
}

.mws-nav-overlay.active {
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
}

@media (max-width: 900px) {
    .mws-nav-overlay {
        display: block !important;
        pointer-events: none !important;
    }

    .mws-nav-overlay.active {
        pointer-events: auto !important;
    }
}

/* Mobile Menu Panel */
.mws-nav-mobile {
    display: none !important;
    position: fixed !important;
    top: 0 !important;
    right: -300px !important;
    width: 280px !important;
    height: 100vh !important;
    background: var(--mws-dark-blue) !important;
    z-index: 10000 !important;
    padding: 100px 30px 40px 30px !important;
    box-shadow: -5px 0 30px rgba(0, 0, 0, 0.3) !important;
    transition: right 0.3s ease !important;
    overflow-y: auto !important;
}

.mws-nav-mobile.active {
    right: 0 !important;
}

.mws-nav-mobile-links {
    list-style: none !important;
    padding: 0 !important;
    margin: 0 0 30px 0 !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 5px !important;
}

.mws-nav-mobile-links a {
    display: block !important;
    padding: 15px 20px !important;
    color: #ffffff !important;
    text-decoration: none !important;
    font-size: 17px !important;
    font-weight: 500 !important;
    border-radius: 8px !important;
    transition: all 0.3s ease !important;
}

.mws-nav-mobile-links a:hover,
.mws-nav-mobile-links a.active {
    background: rgba(255, 255, 255, 0.1) !important;
    color: var(--mws-green) !important;
}

/* Mobile Divider */
.mws-nav-mobile-divider {
    height: 1px !important;
    background: rgba(255, 255, 255, 0.15) !important;
    margin: 20px 0 !important;
}

/* Mobile Email CTA */
.mws-nav-mobile-cta {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 10px !important;
    width: 100% !important;
    padding: 16px 20px !important;
    background: var(--mws-green) !important;
    color: var(--mws-dark-blue) !important;
    text-decoration: none !important;
    font-size: 15px !important;
    font-weight: 600 !important;
    border-radius: 8px !important;
    transition: all 0.3s ease !important;
}

.mws-nav-mobile-cta:hover {
    background: #6fce52 !important;
}

.mws-nav-mobile-cta svg {
    width: 18px !important;
    height: 18px !important;
    stroke: currentColor !important;
    fill: none !important;
    stroke-width: 2 !important;
}

/* Mobile Location */
.mws-nav-mobile-location {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    margin-top: 25px !important;
    font-size: 13px !important;
    color: rgba(255, 255, 255, 0.6) !important;
}

.mws-nav-mobile-location svg {
    width: 14px !important;
    height: 14px !important;
    fill: var(--mws-green) !important;
}

/* Responsive Overrides */
@media (max-width: 900px) {
    .mws-nav-container {
        height: var(--mws-nav-height-mobile) !important;
        padding: 0 20px !important;
    }

    .mws-nav-logo img {
        height: 45px !important;
    }

    .mws-nav-links,
    .mws-nav-cta {
        display: none !important;
    }

    .mws-nav-toggle {
        display: flex !important;
    }

    .mws-nav-mobile,
    .mws-nav-overlay {
        display: block !important;
    }
}

/* Body Scroll Lock */
body.mws-nav-open {
    overflow: hidden !important;
}

/* ==========================================
   STICKY NAV - SCROLL ANIMATION
   ========================================== */

/* Default state - full size */
.mws-nav {
    top: 0 !important;
}

/* When admin bar is present, offset the nav */
body.admin-bar .mws-nav {
    top: 32px !important;
}

.mws-nav-container {
    transition: all 0.3s ease !important;
}

.mws-nav-logo img {
    transition: height 0.3s ease !important;
}

.mws-nav-links a,
.mws-nav-cta {
    transition: all 0.3s ease !important;
}

/* Scrolled state - shrunk (DESKTOP ONLY) */
@media (min-width: 901px) {
    .mws-nav-container.scrolled {
        height: 65px !important;
        padding: 0 30px !important;
    }

    .mws-nav-container.scrolled .mws-nav-logo img {
        height: 40px !important;
        width: auto !important;
    }

    .mws-nav-container.scrolled .mws-nav-links a {
        padding: 8px 14px !important;
        font-size: 14px !important;
        line-height: 1.2 !important;
        height: 36px !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
    }

    /* Fix the underline positioning on scroll */
    .mws-nav-container.scrolled .mws-nav-links a::after {
        bottom: 2px !important;
        left: 14px !important;
        right: 14px !important;
    }

    .mws-nav-container.scrolled .mws-nav-cta {
        padding: 8px 16px !important;
        font-size: 13px !important;
        margin-left: 10px !important;
        height: 36px !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
    }

    .mws-nav-container.scrolled .mws-nav-cta svg {
        width: 15px !important;
        height: 15px !important;
    }
}

/* Mobile admin bar offset */
@media (max-width: 900px) {
    body.admin-bar .mws-nav {
        top: 46px !important;
    }
}

/* ==========================================
   FOOTER SECTION
   ========================================== */
:root {
    --mws-footer-bg: #022834;
    --mws-footer-text: rgba(255, 255, 255, 0.75);
    --mws-footer-heading: #ffffff;
    --mws-footer-accent: #5BBD3D;
    --mws-footer-border: rgba(255, 255, 255, 0.1);
}

.mws-footer {
    background: var(--mws-footer-bg) !important;
    font-family: 'Open Sans', sans-serif !important;
    padding: 0 !important;
    color: var(--mws-footer-text) !important;
}

.mws-footer-main {
    padding: 70px 30px 50px 30px !important;
}

.mws-footer-container {
    max-width: 1140px !important;
    margin: 0 auto !important;
    display: grid !important;
    grid-template-columns: 1.5fr 1fr 1fr !important;
    gap: 40px !important;
}

/* Column 1: About */
.mws-footer-about {
    display: flex !important;
    flex-direction: column !important;
    text-align: left !important;
    max-width: 400px;
}

.mws-footer-logo {
    margin-bottom: 25px !important;
}

.mws-footer-logo img {
    height: 60px !important;
    width: auto !important;
}

.mws-footer-about h3 {
    font-family: 'Quicksand', sans-serif !important;
    font-size: 20px !important;
    font-weight: 700 !important;
    color: var(--mws-footer-heading) !important;
    margin: 0 0 15px 0 !important;
}

.mws-footer-about a {
    margin-bottom: 20px;
}

.mws-footer-description {
    font-size: 15px !important;
    line-height: 1.7 !important;
    margin: 0 0 20px 0 !important;
}

.mws-footer-locations {
    font-size: 14px !important;
    line-height: 1.6 !important;
    margin: 0 0 25px 0 !important;
}

.mws-footer-locations span.label {
    color: var(--mws-footer-accent) !important;
    font-weight: 600 !important;
}

.mws-footer-demo-link {
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
    font-size: 15px !important;
    font-weight: 600 !important;
    color: var(--mws-footer-accent) !important;
    text-decoration: none !important;
    transition: all 0.3s ease !important;
    margin-bottom: 25px !important;
}

.mws-footer-demo-link:hover {
    color: #6fce52 !important;
    transform: translateX(5px) !important;
}

.mws-footer-demo-link svg {
    width: 18px !important;
    height: 18px !important;
    stroke: currentColor !important;
    fill: none !important;
}

/* Column 2: Quick Links */
.mws-footer-links h4,
.mws-footer-contact h4 {
    font-family: 'Quicksand', sans-serif !important;
    font-size: 18px !important;
    font-weight: 700 !important;
    color: var(--mws-footer-heading) !important;
    margin: 0 0 25px 0 !important;
}

.mws-footer-nav {
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 12px !important;
}

.mws-footer-nav a {
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
    font-size: 15px !important;
    color: var(--mws-footer-text) !important;
    text-decoration: none !important;
    transition: all 0.3s ease !important;
}

.mws-footer-nav a:hover {
    color: var(--mws-footer-heading) !important;
    padding-left: 5px !important;
}

/* Column 3: Contact & Social */
.mws-footer-contact-item {
    display: flex !important;
    gap: 15px !important;
    margin-bottom: 20px !important;
}

.mws-footer-contact-icon {
    width: 40px !important;
    min-width: 40px !important;
    height: 40px !important;
    background: rgba(255, 255, 255, 0.08) !important;
    border-radius: 8px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}

.mws-footer-contact-icon:hover {
    background: var(--mws-footer-accent) !important;
}

.mws-footer-contact-icon svg {
    width: 20px !important;
    height: 20px !important;
    stroke: var(--mws-footer-accent) !important;
    fill: none !important;
    stroke-width: 2 !important;
}

.mws-footer-contact-icon:hover svg {
    stroke: #ffffff !important;
}   

.mws-footer-contact-text {
    display: flex !important;
    flex-direction: column !important;
    min-width: 0 !important;
}

.mws-footer-contact-label {
    font-size: 11px !important;
    text-transform: uppercase !important;
    letter-spacing: 1px !important;
    margin-bottom: 2px !important;
}

.mws-footer-contact-value {
    font-size: 15px !important;
    color: var(--mws-footer-heading) !important;
    text-decoration: none !important;
    word-break: break-word !important;
    overflow-wrap: break-word !important;
}

/* Footer Email Icon Styling */
.mws-footer-email-trigger {
    text-decoration: none;
    display: inline-block;
}

.mws-footer-contact-icon svg {
    width: 24px;
    height: 24px;
    fill: none;
    stroke: #ffffff;
    /* Default White */
    stroke-width: 2;
    transition: stroke 0.3s ease;
}

/* Hover State */
.mws-footer-email-trigger:hover .mws-footer-contact-icon svg {
    stroke: #5BBD3D;
    /* Brand Green on Hover */
}

.mws-footer-location-badge {
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    padding: 12px !important;
    background: rgba(255, 255, 255, 0.05) !important;
    border-radius: 8px !important;
    text-decoration: none !important;
    color: var(--mws-footer-text) !important;
    font-size: 13px !important;
    margin-bottom: 25px !important;
}

.mws-footer-social-wrapper {
    display: flex !important;
    align-items: center !important;
    gap: 20px !important;
    margin-top: 20px !important;
}

.mws-footer-social-links {
    display: flex !important;
    flex-direction: row !important;
    gap: 12px !important;
}

.mws-footer-social-link {
    width: 38px !important;
    height: 38px !important;
    background: rgba(255, 255, 255, 0.08) !important;
    border-radius: 6px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    transition: all 0.3s ease !important;
}

.mws-footer-social-link:hover {
    background: var(--mws-footer-accent) !important;
}

.mws-footer-social-link svg {
    width: 18px;
    height: 18px;
    fill: white;
}

.mws-footer-privacy {
    font-size: 13px !important;
    color: var(--mws-footer-text) !important;
    text-decoration: none !important;
    margin: 10px !important;
    display: block;
    text-align: center;
}

/* Footer Bottom */
.mws-footer-bottom {
    background: rgba(0, 0, 0, 0.2) !important;
    padding: 20px !important;
    text-align: center !important;
    font-size: 14px !important;
}

/* Responsive Overrides */
@media (max-width: 900px) {
    .mws-footer-container {
        grid-template-columns: 1fr 1fr !important;
    }

    .mws-footer-about {
        grid-column: span 2 !important;
        text-align: center !important;
        align-items: center !important;
        max-width: 100% !important;
    }
}

@media (max-width: 600px) {
    .mws-footer-main {
        padding: 50px 20px 40px 20px !important;
    }

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

    .mws-footer-about {
        grid-column: span 1 !important;
    }

    .mws-footer-links,
    .mws-footer-contact {
        text-align: center !important;
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
    }

    .mws-footer-nav {
        align-items: center !important;
    }

    .mws-footer-nav a:hover {
        padding-left: 0 !important;
    }

    .mws-footer-contact-item {
        display: inline-flex !important;
        text-align: left !important;
        max-width: 100% !important;
    }

    .mws-footer-contact-value {
        font-size: 14px !important;
    }

    .mws-footer-location-badge {
        align-self: center !important;
    }

    .mws-footer-social-wrapper {
        flex-direction: column !important;
        gap: 15px !important;
        align-items: center !important;
    }
}

/* ==========================================
   HOMEPAGE HERO SECTION
   ========================================== */
.mws-hero {
    background: linear-gradient(180deg, var(--mws-bg-start) 0%, #ffffff 100%);
    position: relative;
    padding: 80px 20px 90px;
    overflow: hidden;
    font-family: 'Open Sans', sans-serif;
}

/* Subtle decorative circles */
.mws-hero::before {
    content: '';
    position: absolute;
    top: -300px;
    right: -250px;
    width: 800px;
    height: 800px;
    background: radial-gradient(circle, rgba(91, 189, 61, 0.12) 0%, transparent 70%);
    border-radius: 50%;
    pointer-events: none;
}

.mws-hero::after {
    content: '';
    position: absolute;
    bottom: -200px;
    left: -200px;
    width: 600px;
    height: 600px;
    background: radial-gradient(circle, rgba(78, 173, 213, 0.12) 0%, transparent 70%);
    border-radius: 50%;
    pointer-events: none;
}

.mws-hero-container {
    max-width: 1100px;
    margin: 0 auto;
    position: relative;
    z-index: 1;
    text-align: center;
}

/* Eyebrow Badge */
.mws-hero-eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: var(--mws-dark-blue);
    padding: 10px 22px;
    border-radius: 50px;
    font-size: 14px;
    font-weight: 600;
    color: #ffffff;
    margin-bottom: 30px;
    letter-spacing: 0.3px;
    box-shadow: 0 4px 15px rgba(2, 40, 52, 0.2);
}

.mws-hero-eyebrow svg {
    width: 16px;
    height: 16px;
    fill: var(--mws-green);
}

/* Headline */
.mws-hero h1 {
    font-family: 'Quicksand', sans-serif;
    font-size: clamp(36px, 6vw, 58px);
    font-weight: 700;
    color: var(--mws-dark-blue);
    line-height: 1.2;
    margin: 0 0 25px 0;
    letter-spacing: -0.5px;
}

.mws-hero h1 .highlight {
    color: #17598A;
}

/* Subtitle */
.mws-hero-subtitle {
    font-size: clamp(17px, 2.5vw, 20px);
    color: var(--mws-text-body);
    line-height: 1.7;
    max-width: 680px;
    margin: 0 auto 40px;
    font-weight: 400;
}

.mws-hero-subtitle strong {
    color: var(--mws-dark-blue);
    font-weight: 600;
}

/* CTA Buttons */
.mws-hero-ctas {
    display: flex;
    flex-wrap: wrap;
    gap: 16px;
    justify-content: center;
    margin-bottom: 50px;
}

.mws-btn {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 16px 32px;
    font-family: 'Open Sans', sans-serif;
    font-size: 16px;
    font-weight: 600;
    text-decoration: none;
    border-radius: 8px;
    transition: all 0.3s ease;
    cursor: pointer;
}

/* Primary Button */
.mws-btn-primary {
    background: var(--mws-dark-blue);
    color: #ffffff !important;
    border: 2px solid var(--mws-dark-blue);
    box-shadow: 0 4px 15px rgba(2, 40, 52, 0.2);
}

.mws-btn-primary:hover {
    background: #033d4d;
    border-color: #033d4d;
    transform: translateY(-2px);
    box-shadow: 0 6px 25px rgba(2, 40, 52, 0.3);
}

.mws-btn-primary svg {
    stroke: #ffffff;
}

/* Secondary Button */
.mws-btn-secondary {
    background: #ffffff !important;
    color: #033d4d !important;
    border: 2px solid #033d4d !important;
    box-shadow: 0 2px 10px rgba(2, 40, 52, 0.08) !important;
}

.mws-btn-secondary:hover {
    background: var(--mws-dark-blue) !important;
    color: #ffffff !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 4px 20px rgba(2, 40, 52, 0.2) !important;
}

.mws-btn-secondary svg {
    stroke: var(--mws-dark-blue) !important;
    transition: stroke 0.3s ease;
    width: 18px !important;
    height: 18px !important;
    transition: transform 0.3s ease, stroke 0.3s ease;
    fill: none;
}

.mws-btn-secondary:hover svg {
    stroke: #ffffff !important;
}

.mws-btn svg {
    width: 18px !important;
    height: 18px !important;
    transition: transform 0.3s ease, stroke 0.3s ease;
    fill: none;
}

.mws-btn:hover svg {
    transform: translateX(3px);
}

/* Trust Bar */
.mws-trust-bar {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 12px 35px;
    padding: 25px 0;
    border-top: 1px solid rgba(2, 40, 52, 0.1);
    border-bottom: 1px solid rgba(2, 40, 52, 0.1);
    max-width: 800px;
    margin: 0 auto;
}

.mws-trust-item {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 14px;
    color: var(--mws-text-body);
    font-weight: 500;
}

.mws-trust-item svg {
    width: 20px;
    height: 20px;
    stroke: var(--mws-green);
    stroke-width: 2.5;
    fill: none;
}

/* Location Badge */
.mws-location {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin-top: 30px;
    font-size: 15px;
    color: var(--mws-dark-blue);
    font-weight: 600;
    background: var(--mws-green-light);
    padding: 12px 24px;
    border-radius: 50px;
}

.mws-location svg {
    width: 18px;
    height: 18px;
    fill: var(--mws-green);
}

/* Responsive */
@media (max-width: 768px) {
    .mws-hero {
        padding: 60px 20px 70px;
    }

    .mws-hero-ctas {
        flex-direction: column;
        align-items: center;
    }

    .mws-btn {
        width: 100%;
        max-width: 300px;
        justify-content: center;
    }

    .mws-trust-bar {
        gap: 10px 20px;
        padding: 20px 15px;
    }

    .mws-trust-item {
        font-size: 13px;
    }
}

/* ==========================================
   HOMEPAGE TABBED SERVICES SECTION
   ========================================== */
.mws-services {
    padding: 90px 20px !important;
    background: #ffffff !important;
    font-family: 'Open Sans', sans-serif !important;
    box-shadow: inset 0 8px 12px -8px rgba(2, 40, 52, 0.12) !important;
}

.mws-services-container {
    max-width: 1100px !important;
    margin: 0 auto !important;
}

/* Section Header */
.mws-services-header {
    text-align: center !important;
    margin-bottom: 50px !important;
}

.mws-services-header h2 {
    font-family: 'Quicksand', sans-serif !important;
    font-size: clamp(32px, 5vw, 44px) !important;
    font-weight: 700 !important;
    color: var(--mws-dark-blue) !important;
    margin: 0 0 15px 0 !important;
}

.mws-services-header p {
    font-size: 18px !important;
    color: var(--mws-text-body) !important;
    max-width: 600px !important;
    margin: 0 auto !important;
    line-height: 1.6 !important;
}

/* Tab Navigation */
.mws-tabs-nav {
    display: flex !important;
    justify-content: center !important;
    gap: 8px !important;
    margin-bottom: 40px !important;
    flex-wrap: wrap !important;
}

.mws-tab-btn {
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    padding: 16px 28px !important;
    background: #ffffff !important;
    border: 2px solid #e0e7e7 !important;
    border-radius: 10px !important;
    font-family: 'Open Sans', sans-serif !important;
    font-size: 15px !important;
    font-weight: 600 !important;
    color: var(--mws-text-body) !important;
    cursor: pointer !important;
    transition: all 0.3s ease !important;
}

.mws-tab-btn:hover {
    border-color: var(--mws-dark-blue) !important;
    color: var(--mws-dark-blue) !important;
    background: #ffffff !important;
}

.mws-tab-btn.active {
    background: var(--mws-dark-blue) !important;
    border-color: var(--mws-dark-blue) !important;
    color: #ffffff !important;
    box-shadow: 0 4px 15px rgba(2, 40, 52, 0.2) !important;
}

.mws-tab-btn svg {
    width: 22px !important;
    height: 22px !important;
    transition: all 0.3s ease !important;
}

.mws-tab-btn svg.icon-stroke {
    fill: none !important;
    stroke: currentColor !important;
    stroke-width: 2 !important;
}

.mws-tab-btn.active svg.icon-stroke {
    stroke: #ffffff !important;
}

.mws-tab-btn:hover svg.icon-stroke {
    stroke: var(--mws-dark-blue) !important;
}

.mws-tab-btn.active:hover svg.icon-stroke {
    stroke: #ffffff !important;
}

/* Tab Content */
.mws-tabs-content {
    position: relative !important;
    min-height: 400px !important;
}

.mws-tab-panel {
    display: none !important;
    animation: mwsFadeIn 0.4s ease !important;
}

.mws-tab-panel.active {
    display: block !important;
}

@keyframes mwsFadeIn {
    from {
        opacity: 0;
        transform: translateY(10px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.mws-tab-content-grid {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 50px !important;
    align-items: center !important;
}

/* Left: Info */
.mws-tab-info h3 {
    font-family: 'Quicksand', sans-serif !important;
    font-size: 28px !important;
    font-weight: 700 !important;
    color: var(--mws-dark-blue) !important;
    margin: 0 0 15px 0 !important;
}

.mws-tab-info>p {
    font-size: 16px !important;
    color: var(--mws-text-body) !important;
    line-height: 1.7 !important;
    margin: 0 0 25px 0 !important;
}

/* Primary CTA Button */
.mws-tab-cta {
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
    padding: 14px 28px !important;
    background: var(--mws-dark-blue) !important;
    color: #ffffff !important;
    font-weight: 600 !important;
    font-size: 15px !important;
    text-decoration: none !important;
    border-radius: 8px !important;
    border: 2px solid var(--mws-dark-blue) !important;
    transition: all 0.3s ease !important;
}

.mws-tab-cta:hover {
    background: #044555 !important;
    border-color: #044555 !important;
    color: #ffffff !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 4px 15px rgba(2, 40, 52, 0.25) !important;
}

.mws-tab-cta svg {
    width: 18px !important;
    height: 18px !important;
    stroke: #ffffff !important;
    fill: none !important;
    transition: transform 0.3s ease !important;
}

.mws-tab-cta:hover svg {
    transform: translateX(3px) !important;
    stroke: #ffffff !important;
}

/* Right: Features */
.mws-tab-features {
    background: var(--mws-bg-shell) !important;
    border-radius: 16px !important;
    padding: 35px 40px !important;
    border-left: 4px solid var(--mws-green) !important;
}

.mws-tab-features h4 {
    font-family: 'Quicksand', sans-serif !important;
    font-size: 18px !important;
    font-weight: 700 !important;
    color: var(--mws-dark-blue) !important;
    margin: 0 0 20px 0 !important;
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
}

.mws-tab-features h4 svg {
    width: 20px !important;
    height: 20px !important;
    fill: var(--mws-green) !important;
}

.mws-features-list {
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 14px !important;
}

.mws-features-list li {
    display: flex !important;
    align-items: flex-start !important;
    gap: 12px !important;
    font-size: 15px !important;
    color: var(--mws-text-body) !important;
    line-height: 1.5 !important;
}

.mws-features-list li svg {
    width: 20px !important;
    height: 20px !important;
    min-width: 20px !important;
    stroke: var(--mws-green) !important;
    fill: none !important;
    stroke-width: 2.5 !important;
    margin-top: 2px !important;
}

.mws-features-list li strong {
    color: var(--mws-dark-blue) !important;
}

/* Bottom CTA */
.mws-services-bottom {
    text-align: center !important;
    margin-top: 50px !important;
    padding-top: 40px !important;
    border-top: 1px solid #e0e7e7 !important;
}

.mws-services-bottom p {
    font-size: 17px !important;
    color: var(--mws-text-body) !important;
    margin: 0 0 20px 0 !important;
}

.mws-services-bottom p strong {
    color: var(--mws-dark-blue) !important;
}

/* Responsive */
@media (max-width: 900px) {
    .mws-tab-content-grid {
        grid-template-columns: 1fr !important;
        gap: 30px !important;
    }

    .mws-tab-features {
        order: -1 !important;
    }
}

@media (max-width: 650px) {
    .mws-services {
        padding: 60px 20px !important;
    }

    .mws-tabs-nav {
        flex-direction: column !important;
        align-items: stretch !important;
    }

    .mws-tab-btn {
        justify-content: center !important;
    }

    .mws-tab-features {
        padding: 25px 20px !important;
    }
}

/* ==========================================
   HOMEPAGE - WHO WE SERVE SECTION
   ========================================== */
.mws-audience {
    padding: 90px 20px;
    background: var(--mws-bg-shell);
    font-family: 'Open Sans', sans-serif;
}

.mws-audience-container {
    max-width: 1100px;
    margin: 0 auto;
}

/* Section Header */
.mws-audience-header {
    text-align: center;
    margin-bottom: 50px;
}

.mws-audience-header h2 {
    font-family: 'Quicksand', sans-serif;
    font-size: clamp(32px, 5vw, 44px);
    font-weight: 700;
    color: var(--mws-dark-blue);
    margin: 0 0 15px 0;
}

.mws-audience-header p {
    font-size: 18px;
    color: var(--mws-text-body);
    max-width: 650px;
    margin: 0 auto;
    line-height: 1.6;
}

/* Cards Grid */
.mws-audience-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 30px;
}

/* Individual Card */
.mws-audience-card {
    background: #ffffff;
    border-radius: 16px;
    padding: 40px 30px;
    text-align: center;
    box-shadow: 0 4px 20px rgba(2, 40, 52, 0.06);
    border: 1px solid rgba(2, 40, 52, 0.06);
    transition: all 0.3s ease;
    display: flex;
    flex-direction: column;
}

.mws-audience-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 12px 35px rgba(2, 40, 52, 0.12);
}

/* Icon Container */
.mws-audience-icon {
    width: 70px;
    height: 70px;
    margin: 0 auto 25px auto;
    background: linear-gradient(135deg, var(--mws-green-light) 0%, #f0f9f0 100%);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
}

.mws-audience-icon svg {
    width: 34px;
    height: 34px;
    stroke: var(--mws-green);
    fill: none;
    stroke-width: 1.8;
}

.mws-audience-icon svg.icon-fill {
    fill: var(--mws-green);
    stroke: none;
}

/* Card Title */
.mws-audience-card h3 {
    font-family: 'Quicksand', sans-serif;
    font-size: 22px;
    font-weight: 700;
    color: var(--mws-dark-blue);
    margin: 0 0 15px 0;
}

/* Card Description */
.mws-audience-card>p {
    font-size: 15px;
    color: var(--mws-text-body);
    line-height: 1.7;
    margin: 0 0 20px 0;
    flex-grow: 1;
}

/* Industries/Examples List */
.mws-audience-examples {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 8px;
    margin-bottom: 25px;
}

.mws-audience-examples span {
    background: var(--mws-bg-shell);
    color: var(--mws-dark-blue);
    font-size: 12px;
    font-weight: 600;
    padding: 6px 12px;
    border-radius: 50px;
    white-space: nowrap;
}

/* Card CTA Link */
.mws-audience-card-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    font-size: 15px;
    font-weight: 600;
    color: var(--mws-dark-blue);
    text-decoration: none;
    transition: all 0.3s ease;
    margin-top: auto;
}

.mws-audience-card-link:hover {
    color: var(--mws-green);
}

.mws-audience-card-link svg {
    width: 18px;
    height: 18px;
    stroke: currentColor;
    fill: none;
    transition: transform 0.3s ease;
}

.mws-audience-card-link:hover svg {
    transform: translateX(4px);
}

/* Bottom Message */
.mws-audience-bottom {
    text-align: center;
    margin-top: 50px;
    padding: 30px;
    background: #ffffff;
    border-radius: 12px;
    border: 2px dashed #d0dede;
}

.mws-audience-bottom p {
    font-size: 17px;
    color: var(--mws-text-body);
    margin: 0 0 20px 0;
}

.mws-audience-bottom p strong {
    color: var(--mws-dark-blue);
}

/* Primary Button */
.mws-audience-cta {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 14px 28px;
    background: var(--mws-dark-blue);
    color: #ffffff !important;
    font-weight: 600;
    font-size: 15px;
    text-decoration: none;
    border-radius: 8px;
    border: 2px solid var(--mws-dark-blue);
    transition: all 0.3s ease;
}

.mws-audience-cta:hover {
    background: #044555;
    border-color: #044555;
    color: #ffffff !important;
    transform: translateY(-2px);
    box-shadow: 0 4px 15px rgba(2, 40, 52, 0.25);
}

.mws-audience-cta svg {
    width: 18px;
    height: 18px;
    stroke: #ffffff;
    fill: none;
    transition: transform 0.3s ease;
}

.mws-audience-cta:hover svg {
    transform: translateX(3px);
}

/* Responsive */
@media (max-width: 900px) {
    .mws-audience-grid {
        grid-template-columns: 1fr;
        max-width: 450px;
        margin: 0 auto;
    }
}

@media (max-width: 650px) {
    .mws-audience {
        padding: 60px 20px;
    }

    .mws-audience-card {
        padding: 30px 25px;
    }
}

/* =====================
     VALUE PROPS SECTION
     ===================== */
.mws-value-props {
    padding: 90px 20px !important;
    background: #ffffff !important;
    font-family: 'Open Sans', sans-serif !important;
    overflow: hidden !important;
}

.mws-value-props-container {
    max-width: 1000px !important;
    margin: 0 auto !important;
    position: relative !important;
}

/* =====================
     SECTION HEADER
     ===================== */
.mws-value-props-header {
    text-align: center !important;
    margin-bottom: 50px !important;
}

.mws-value-props-header h2 {
    font-family: 'Quicksand', sans-serif !important;
    font-size: clamp(32px, 5vw, 44px) !important;
    font-weight: 700 !important;
    color: #022834 !important;
    margin: 0 0 15px 0 !important;
}

.mws-value-props-header p {
    font-size: 18px !important;
    color: #3D4F4F !important;
    max-width: 550px !important;
    margin: 0 auto !important;
    line-height: 1.6 !important;
}

/* =====================
     SLIDER WRAPPER
     ===================== */
.mws-slider-wrapper {
    position: relative !important;
    overflow: hidden !important;
    border-radius: 20px !important;
    background: linear-gradient(135deg, #f8fbfb 0%, #f4f9f9 100%) !important;
    border: 1px solid rgba(2, 40, 52, 0.08) !important;
    box-shadow: 0 8px 30px rgba(2, 40, 52, 0.08) !important;
}

.mws-slider-track {
    display: flex !important;
    transition: transform 0.5s ease-in-out !important;
}

.mws-slide {
    min-width: 100% !important;
    padding: 60px 50px !important;
    display: grid !important;
    grid-template-columns: auto 1fr !important;
    gap: 40px !important;
    align-items: center !important;
    box-sizing: border-box !important;
}

/* =====================
     SLIDE ICON
     ===================== */
.mws-slide-icon {
    width: 100px !important;
    height: 100px !important;
    background: #ffffff !important;
    border-radius: 50% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    box-shadow: 0 4px 20px rgba(2, 40, 52, 0.1) !important;
    flex-shrink: 0 !important;
}

.mws-slide-icon svg {
    width: 48px !important;
    height: 48px !important;
    stroke: #5BBD3D !important;
    fill: none !important;
    stroke-width: 1.8 !important;
}

.mws-slide-icon svg.icon-fill {
    fill: #5BBD3D !important;
    stroke: none !important;
}

/* =====================
     SLIDE CONTENT
     ===================== */
.mws-slide-content h3 {
    font-family: 'Quicksand', sans-serif !important;
    font-size: 28px !important;
    font-weight: 700 !important;
    color: #022834 !important;
    margin: 0 0 15px 0 !important;
}

.mws-slide-content p {
    font-size: 17px !important;
    color: #3D4F4F !important;
    line-height: 1.7 !important;
    margin: 0 !important;
}

.mws-slide-content p strong {
    color: #022834 !important;
}

/* =====================
     SLIDER NAVIGATION
     ===================== */
.mws-slider-nav {
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    gap: 20px !important;
    margin-top: 30px !important;
}

/* Arrow Buttons */
.mws-slider-arrow {
    width: 50px !important;
    height: 50px !important;
    background-color: #ffffff !important;
    border: 2px solid #e0e7e7 !important;
    border-radius: 50% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    cursor: pointer !important;
    transition: all 0.3s ease !important;
    padding: 0 !important;
    /* Prevents button padding from pushing the SVG */
    outline: none !important;
}

.mws-slider-arrow:hover {
    background-color: #022834 !important;
    border-color: #022834 !important;
}

/* The SVG Icon itself */
.mws-slider-arrow svg {
    width: 24px !important;
    /* Matches the 24px viewBox in your HTML */
    height: 24px !important;
    fill: none !important;
    stroke: #022834 !important;
    /* Dark blue/black for visibility */
    stroke-width: 2.5 !important;
    /* Slightly thicker for better visibility */
    stroke-linecap: round !important;
    stroke-linejoin: round !important;
    transition: stroke 0.3s ease !important;
    display: block !important;
    /* Removes baseline spacing issues */
}

/* Invert the arrow color on hover so it doesn't disappear */
.mws-slider-arrow:hover svg {
    stroke: #ffffff !important;
}

/* Flip the "Prev" arrow */
.mws-slider-arrow.prev svg {
    transform: rotate(180deg) !important;
}

/* Dots */
.mws-slider-dots {
    display: flex !important;
    gap: 10px !important;
}

.mws-slider-dot {
    width: 12px !important;
    height: 12px !important;
    background: #d0dede !important;
    border: none !important;
    border-radius: 50% !important;
    cursor: pointer !important;
    transition: all 0.3s ease !important;
    padding: 0 !important;
}

.mws-slider-dot:hover {
    background: #9bb5b5 !important;
}

.mws-slider-dot.active {
    background: #022834 !important;
    transform: scale(1.2) !important;
}

/* =====================
     RESPONSIVE
     ===================== */
@media (max-width: 768px) {
    .mws-value-props {
        padding: 60px 20px !important;
    }

    .mws-slide {
        grid-template-columns: 1fr !important;
        text-align: center !important;
        padding: 40px 30px !important;
        gap: 25px !important;
    }

    .mws-slide-icon {
        margin: 0 auto !important;
        width: 80px !important;
        height: 80px !important;
    }

    .mws-slide-icon svg {
        width: 38px !important;
        height: 38px !important;
    }

    .mws-slide-content h3 {
        font-size: 24px !important;
    }

    .mws-slide-content p {
        font-size: 16px !important;
    }

    .mws-slider-arrow {
        width: 44px !important;
        height: 44px !important;
    }
}

/* =====================
     TESTIMONIALS SECTION
     ===================== */
.mws-testimonials {
    padding: 90px 20px !important;
    background: #f4f9f9 !important;
    font-family: 'Open Sans', sans-serif !important;
}

.mws-testimonials-container {
    max-width: 1100px !important;
    margin: 0 auto !important;
}

/* =====================
     SECTION HEADER
     ===================== */
.mws-testimonials-header {
    text-align: center !important;
    margin-bottom: 50px !important;
}

.mws-testimonials-header h2 {
    font-family: 'Quicksand', sans-serif !important;
    font-size: clamp(32px, 5vw, 44px) !important;
    font-weight: 700 !important;
    color: #022834 !important;
    margin: 0 0 15px 0 !important;
}

.mws-testimonials-header p {
    font-size: 18px !important;
    color: #3D4F4F !important;
    max-width: 550px !important;
    margin: 0 auto !important;
    line-height: 1.6 !important;
}

/* =====================
     TESTIMONIALS GRID
     ===================== */
.mws-testimonials-grid {
    display: grid !important;
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 30px !important;
}

/* =====================
     TESTIMONIAL CARD
     ===================== */
.mws-testimonial-card {
    background: #ffffff !important;
    border-radius: 16px !important;
    padding: 35px !important;
    box-shadow: 0 4px 20px rgba(2, 40, 52, 0.06) !important;
    border: 1px solid rgba(2, 40, 52, 0.06) !important;
    display: flex !important;
    flex-direction: column !important;
    position: relative !important;
    transition: all 0.3s ease !important;
}

.mws-testimonial-card:hover {
    transform: translateY(-4px) !important;
    box-shadow: 0 12px 35px rgba(2, 40, 52, 0.1) !important;
}

/* Quote Icon */
.mws-testimonial-card::before {
    content: '"' !important;
    position: absolute !important;
    top: 20px !important;
    right: 30px !important;
    font-family: Georgia, serif !important;
    font-size: 80px !important;
    color: #5BBD3D !important;
    opacity: 0.15 !important;
    line-height: 1 !important;
}

/* Star Rating */
.mws-testimonial-stars {
    display: flex !important;
    gap: 4px !important;
    margin-bottom: 20px !important;
}

.mws-testimonial-stars svg {
    width: 20px !important;
    height: 20px !important;
    fill: #f5b942 !important;
}

/* Quote Text */
.mws-testimonial-quote {
    font-size: 16px !important;
    color: #3D4F4F !important;
    line-height: 1.8 !important;
    margin: 0 0 25px 0 !important;
    flex-grow: 1 !important;
    position: relative !important;
    z-index: 1 !important;
}

.mws-testimonial-quote strong {
    color: #022834 !important;
}

/* Author Info */
.mws-testimonial-author {
    display: flex !important;
    align-items: center !important;
    gap: 15px !important;
    padding-top: 20px !important;
    border-top: 1px solid #e8eeee !important;
}

.mws-testimonial-avatar {
    width: 50px !important;
    height: 50px !important;
    background: linear-gradient(135deg, #022834 0%, #044555 100%) !important;
    border-radius: 50% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex-shrink: 0 !important;
}

.mws-testimonial-avatar span {
    font-family: 'Quicksand', sans-serif !important;
    font-size: 18px !important;
    font-weight: 700 !important;
    color: #ffffff !important;
}

.mws-testimonial-info h4 {
    font-family: 'Quicksand', sans-serif !important;
    font-size: 16px !important;
    font-weight: 700 !important;
    color: #022834 !important;
    margin: 0 0 4px 0 !important;
}

.mws-testimonial-info p {
    font-size: 14px !important;
    color: #6b7f7f !important;
    margin: 0 !important;
}

/* =====================
     FEATURED TESTIMONIAL
     ===================== */
.mws-testimonial-featured {
    grid-column: span 2 !important;
    background: linear-gradient(135deg, #022834 0%, #044555 100%) !important;
    padding: 45px !important;
}

.mws-testimonial-featured::before {
    color: #ffffff !important;
    opacity: 0.1 !important;
}

.mws-testimonial-featured .mws-testimonial-quote {
    color: rgba(255, 255, 255, 0.9) !important;
    font-size: 18px !important;
}

.mws-testimonial-featured .mws-testimonial-quote strong {
    color: #ffffff !important;
}

.mws-testimonial-featured .mws-testimonial-author {
    border-top-color: rgba(255, 255, 255, 0.15) !important;
}

.mws-testimonial-featured .mws-testimonial-avatar {
    background: rgba(255, 255, 255, 0.15) !important;
    border: 2px solid rgba(255, 255, 255, 0.3) !important;
}

.mws-testimonial-featured .mws-testimonial-info h4 {
    color: #ffffff !important;
}

.mws-testimonial-featured .mws-testimonial-info p {
    color: rgba(255, 255, 255, 0.7) !important;
}

/* =====================
     GOOGLE REVIEWS BADGE
     ===================== */
.mws-google-reviews {
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    gap: 15px !important;
    margin-top: 50px !important;
    padding: 20px 30px !important;
    background: #ffffff !important;
    border-radius: 12px !important;
    border: 1px solid rgba(2, 40, 52, 0.08) !important;
    max-width: 400px !important;
    margin-left: auto !important;
    margin-right: auto !important;
}

.mws-google-reviews-icon {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}

.mws-google-reviews-icon svg {
    width: 32px !important;
    height: 32px !important;
}

.mws-google-reviews-content {
    display: flex !important;
    flex-direction: column !important;
    gap: 4px !important;
}

.mws-google-reviews-stars {
    display: flex !important;
    align-items: center !important;
    gap: 6px !important;
}

.mws-google-reviews-stars svg {
    width: 18px !important;
    height: 18px !important;
    fill: #f5b942 !important;
}

.mws-google-reviews-stars span {
    font-size: 16px !important;
    font-weight: 700 !important;
    color: #022834 !important;
}

.mws-google-reviews-text {
    font-size: 14px !important;
    color: #6b7f7f !important;
}

.mws-google-reviews-text a {
    color: #022834 !important;
    text-decoration: underline !important;
    font-weight: 600 !important;
    transition: color 0.3s ease !important;
}

.mws-google-reviews-text a:hover {
    color: #5BBD3D !important;
}

/* =====================
     RESPONSIVE
     ===================== */
@media (max-width: 900px) {
    .mws-testimonials-grid {
        grid-template-columns: 1fr !important;
    }

    .mws-testimonial-featured {
        grid-column: span 1 !important;
    }
}

@media (max-width: 650px) {
    .mws-testimonials {
        padding: 60px 20px !important;
    }

    .mws-testimonial-card {
        padding: 25px !important;
    }

    .mws-testimonial-featured {
        padding: 30px !important;
    }

    .mws-google-reviews {
        flex-direction: column !important;
        text-align: center !important;
    }
}

/* =====================
     PORTFOLIO SECTION
     ===================== */
.mws-portfolio {
    padding: 90px 20px !important;
    background: #ffffff !important;
    font-family: 'Open Sans', sans-serif !important;
}

.mws-portfolio-container {
    max-width: 1100px !important;
    margin: 0 auto !important;
}

/* =====================
     SECTION HEADER
     ===================== */
.mws-portfolio-header {
    text-align: center !important;
    margin-bottom: 50px !important;
}

.mws-portfolio-header h2 {
    font-family: 'Quicksand', sans-serif !important;
    font-size: clamp(32px, 5vw, 44px) !important;
    font-weight: 700 !important;
    color: #022834 !important;
    margin: 0 0 15px 0 !important;
}

.mws-portfolio-header p {
    font-size: 18px !important;
    color: #3D4F4F !important;
    max-width: 600px !important;
    margin: 0 auto !important;
    line-height: 1.6 !important;
}

/* =====================
     PORTFOLIO GRID
     ===================== */
.mws-portfolio-grid {
    display: grid !important;
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 30px !important;
}

/* =====================
     PORTFOLIO CARD
     ===================== */
.mws-portfolio-card {
    position: relative !important;
    border-radius: 16px !important;
    overflow: hidden !important;
    box-shadow: 0 4px 20px rgba(2, 40, 52, 0.08) !important;
    border: 1px solid rgba(2, 40, 52, 0.06) !important;
    background: #f4f9f9 !important;
    transition: all 0.4s ease !important;
}

.mws-portfolio-card:hover {
    box-shadow: 0 16px 40px rgba(2, 40, 52, 0.15) !important;
}

/* Image Container */
.mws-portfolio-image {
    position: relative !important;
    width: 100% !important;
    height: 220px !important;
    overflow: hidden !important;
}

.mws-portfolio-image img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    object-position: top center !important;
    transition: transform 0.4s ease !important;
}

.mws-portfolio-card:hover .mws-portfolio-image img {
    transform: scale(1.05) !important;
}

/* Category Badge */
.mws-portfolio-category {
    position: absolute !important;
    bottom: 15px !important;
    right: 15px !important;
    background: #022834 !important;
    color: #ffffff !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    padding: 6px 14px !important;
    border-radius: 50px !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
    z-index: 2 !important;
}

.mws-portfolio-category.healthcare {
    background: #5BBD3D !important;
    color: #ffffff !important;
}

.mws-portfolio-category.nonprofit {
    background: #e85d75 !important;
    color: #ffffff !important;
}

.mws-portfolio-category.service {
    background: #4EADD5 !important;
    color: #ffffff !important;
}

/* Content */
.mws-portfolio-content {
    padding: 25px !important;
    background: #ffffff !important;
}

.mws-portfolio-content h3 {
    font-family: 'Quicksand', sans-serif !important;
    font-size: 20px !important;
    font-weight: 700 !important;
    color: #022834 !important;
    margin: 0 0 10px 0 !important;
}

.mws-portfolio-content>p {
    font-size: 15px !important;
    color: #3D4F4F !important;
    line-height: 1.6 !important;
    margin: 0 0 20px 0 !important;
}

/* Tags */
.mws-portfolio-tags {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 8px !important;
    margin-bottom: 20px !important;
}

.mws-portfolio-tags span {
    background: #f4f9f9 !important;
    color: #3D4F4F !important;
    font-size: 12px !important;
    font-weight: 500 !important;
    padding: 5px 12px !important;
    border-radius: 50px !important;
}

/* Card Link */
.mws-portfolio-link {
    display: inline-flex !important;
    align-items: center !important;
    gap: 6px !important;
    font-size: 15px !important;
    font-weight: 600 !important;
    color: #022834 !important;
    text-decoration: none !important;
    transition: all 0.3s ease !important;
}

.mws-portfolio-link:hover {
    color: #5BBD3D !important;
}

.mws-portfolio-link svg {
    width: 18px !important;
    height: 18px !important;
    stroke: currentColor !important;
    fill: none !important;
    transition: transform 0.3s ease !important;
}

.mws-portfolio-link:hover svg {
    transform: translateX(4px) !important;
}

/* =====================
     BOTTOM CTA
     ===================== */
.mws-portfolio-bottom {
    text-align: center !important;
    margin-top: 50px !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
}

.mws-portfolio-bottom p {
    font-size: 17px !important;
    color: #3D4F4F !important;
    margin: 0 0 20px 0 !important;
}

.mws-portfolio-bottom p strong {
    color: #022834 !important;
}

.mws-portfolio-cta {
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
    padding: 14px 28px !important;
    background: #022834 !important;
    color: #ffffff !important;
    font-weight: 600 !important;
    font-size: 15px !important;
    text-decoration: none !important;
    border-radius: 8px !important;
    border: 2px solid #022834 !important;
    transition: all 0.3s ease !important;
}

.mws-portfolio-cta:hover {
    background: #044555 !important;
    border-color: #044555 !important;
    color: #ffffff !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 4px 15px rgba(2, 40, 52, 0.25) !important;
}

.mws-portfolio-cta svg {
    width: 18px !important;
    height: 18px !important;
    stroke: #ffffff !important;
    fill: none !important;
    transition: transform 0.3s ease !important;
}

.mws-portfolio-cta:hover svg {
    transform: translateX(3px) !important;
}

/* =====================
     RESPONSIVE
     ===================== */
@media (max-width: 768px) {
    .mws-portfolio {
        padding: 60px 20px !important;
    }

    .mws-portfolio-grid {
        grid-template-columns: 1fr !important;
        max-width: 500px !important;
        margin: 0 auto !important;
    }

    .mws-portfolio-image {
        height: 200px !important;
    }
}

/* =====================
     FAQ SECTION
     ===================== */
.mws-faq {
    padding: 90px 20px !important;
    background: #f4f9f9 !important;
    font-family: 'Open Sans', sans-serif !important;
}

.mws-faq-container {
    max-width: 850px !important;
    margin: 0 auto !important;
}

/* =====================
     SECTION HEADER
     ===================== */
.mws-faq-header {
    text-align: center !important;
    margin-bottom: 50px !important;
}

.mws-faq-header h2 {
    font-family: 'Quicksand', sans-serif !important;
    font-size: clamp(32px, 5vw, 44px) !important;
    font-weight: 700 !important;
    color: #022834 !important;
    margin: 0 0 15px 0 !important;
}

.mws-faq-header p {
    font-size: 18px !important;
    color: #3D4F4F !important;
    max-width: 550px !important;
    margin: 0 auto !important;
    line-height: 1.6 !important;
}

/* =====================
     FAQ LIST
     ===================== */
.mws-faq-list {
    display: flex !important;
    flex-direction: column !important;
    gap: 16px !important;
}

/* =====================
     FAQ ITEM
     ===================== */
.mws-faq-item {
    background: #ffffff !important;
    border-radius: 12px !important;
    border: 1px solid rgba(2, 40, 52, 0.08) !important;
    overflow: hidden !important;
    transition: all 0.3s ease !important;
}

.mws-faq-item:hover {
    border-color: rgba(2, 40, 52, 0.15) !important;
    box-shadow: 0 4px 15px rgba(2, 40, 52, 0.06) !important;
}

.mws-faq-item.active {
    border-color: #5BBD3D !important;
    box-shadow: 0 4px 20px rgba(2, 40, 52, 0.08) !important;
}

/* Question Button */
.mws-faq-question {
    width: 100% !important;
    padding: 22px 25px !important;
    background: transparent !important;
    border: none !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 20px !important;
    cursor: pointer !important;
    text-align: left !important;
    transition: all 0.3s ease !important;
}

.mws-faq-question:hover {
    background: rgba(244, 249, 249, 0.5) !important;
}

.mws-faq-question span {
    font-family: 'Quicksand', sans-serif !important;
    font-size: 17px !important;
    font-weight: 600 !important;
    color: #022834 !important;
    line-height: 1.4 !important;
}

.mws-faq-item.active .mws-faq-question span {
    color: #022834 !important;
}

/* Icon */
.mws-faq-icon {
    width: 28px !important;
    height: 28px !important;
    min-width: 28px !important;
    background: #f4f9f9 !important;
    border-radius: 50% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    transition: all 0.3s ease !important;
}

.mws-faq-item.active .mws-faq-icon {
    background: #5BBD3D !important;
    transform: rotate(180deg) !important;
}

.mws-faq-icon svg {
    width: 14px !important;
    height: 14px !important;
    stroke: #022834 !important;
    fill: none !important;
    stroke-width: 2.5 !important;
    transition: stroke 0.3s ease !important;
}

.mws-faq-item.active .mws-faq-icon svg {
    stroke: #ffffff !important;
}

/* Answer */
.mws-faq-answer {
    max-height: 0 !important;
    overflow: hidden !important;
    transition: max-height 0.4s ease, padding 0.3s ease !important;
}

.mws-faq-item.active .mws-faq-answer {
    max-height: 500px !important;
}

.mws-faq-answer-inner {
    padding: 0 25px 25px 25px !important;
}

.mws-faq-answer-inner p {
    font-size: 15px !important;
    color: #3D4F4F !important;
    line-height: 1.8 !important;
    margin: 0 !important;
}

.mws-faq-answer-inner p+p {
    margin-top: 15px !important;
}

.mws-faq-answer-inner strong {
    color: #022834 !important;
}

.mws-faq-answer-inner a {
    color: #022834 !important;
    font-weight: 600 !important;
    text-decoration: underline !important;
    transition: color 0.3s ease !important;
}

.mws-faq-answer-inner a:hover {
    color: #5BBD3D !important;
}

/* =====================
     BOTTOM CTA
     ===================== */
.mws-faq-bottom {
    text-align: center !important;
    margin-top: 50px !important;
    padding: 35px !important;
    background: #ffffff !important;
    border-radius: 16px !important;
    border: 1px solid rgba(2, 40, 52, 0.08) !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
}

.mws-faq-bottom p {
    font-size: 18px !important;
    color: #3D4F4F !important;
    margin: 0 0 20px 0 !important;
}

.mws-faq-bottom p strong {
    color: #022834 !important;
}

.mws-faq-cta {
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
    padding: 14px 28px !important;
    background: #022834 !important;
    color: #ffffff !important;
    font-weight: 600 !important;
    font-size: 15px !important;
    text-decoration: none !important;
    border-radius: 8px !important;
    border: 2px solid #022834 !important;
    transition: all 0.3s ease !important;
}

.mws-faq-cta:hover {
    background: #044555 !important;
    border-color: #044555 !important;
    color: #ffffff !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 4px 15px rgba(2, 40, 52, 0.25) !important;
}

.mws-faq-cta svg {
    width: 18px !important;
    height: 18px !important;
    stroke: #ffffff !important;
    fill: none !important;
    transition: transform 0.3s ease !important;
}

.mws-faq-cta:hover svg {
    transform: translateX(3px) !important;
}

/* =====================
     RESPONSIVE
     ===================== */

@media (max-width: 768px) {
    .mws-faq {
        overflow-x: hidden !important;
    }

    .mws-faq-container {
        max-width: 100% !important;
        overflow: visible !important;
    }

    .mws-faq-item {
        max-width: 100% !important;
        overflow: visible !important;
    }

    .mws-faq-question {
        flex-wrap: nowrap !important;
        padding: 18px 15px !important;
    }

    .mws-faq-question span {
        font-size: 15px !important;
        word-wrap: break-word !important;
        overflow-wrap: break-word !important;
        white-space: normal !important;
        flex: 1 !important;
        min-width: 0 !important;
    }

    .mws-faq-icon {
        flex-shrink: 0 !important;
    }

    .mws-faq-answer-inner {
        padding: 0 15px 20px 15px !important;
    }

    .mws-faq-answer-inner p {
        word-wrap: break-word !important;
        overflow-wrap: break-word !important;
    }
}

@media (max-width: 650px) {
    .mws-faq {
        padding: 60px 20px !important;
    }

    .mws-faq-question {
        padding: 18px 20px !important;
    }

    .mws-faq-question span {
        font-size: 16px !important;
    }

    .mws-faq-answer-inner {
        padding: 0 20px 20px 20px !important;
    }

    .mws-faq-bottom {
        padding: 25px 20px !important;
    }
}

/* =====================
     CONTACT SECTION
     ===================== */
.mws-contact {
    padding: 90px 20px !important;
    background: linear-gradient(135deg, #022834 0%, #053d4a 100%) !important;
    font-family: 'Open Sans', sans-serif !important;
    position: relative !important;
    overflow: hidden !important;
}

/* Subtle decorative element */
.mws-contact::before {
    content: '' !important;
    position: absolute !important;
    top: -200px !important;
    right: -200px !important;
    width: 500px !important;
    height: 500px !important;
    background: radial-gradient(circle, rgba(91, 189, 61, 0.08) 0%, transparent 70%) !important;
    border-radius: 50% !important;
    pointer-events: none !important;
}

.mws-contact-container {
    max-width: 1100px !important;
    margin: 0 auto !important;
    position: relative !important;
    z-index: 1 !important;
}

.mws-contact-grid {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 60px !important;
    align-items: center !important;
}

/* =====================
     LEFT COLUMN - CONTENT
     ===================== */
.mws-contact-content {
    color: #ffffff !important;
}

.mws-contact-content h2 {
    font-family: 'Quicksand', sans-serif !important;
    font-size: clamp(32px, 5vw, 42px) !important;
    font-weight: 700 !important;
    color: #ffffff !important;
    margin: 0 0 15px 0 !important;
    line-height: 1.2 !important;
}

.mws-contact-tagline {
    font-size: 20px !important;
    font-weight: 600 !important;
    color: #5BBD3D !important;
    margin: 0 0 15px 0 !important;
}

.mws-contact-description {
    font-size: 16px !important;
    color: rgba(255, 255, 255, 0.8) !important;
    line-height: 1.7 !important;
    margin: 0 0 30px 0 !important;
}

/* Trust List */
.mws-contact-trust {
    list-style: none !important;
    padding: 0 !important;
    margin: 0 0 35px 0 !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 14px !important;
}

.mws-contact-trust li {
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
    font-size: 15px !important;
    color: rgba(255, 255, 255, 0.9) !important;
}

.mws-contact-trust li svg {
    width: 22px !important;
    height: 22px !important;
    min-width: 22px !important;
    fill: #5BBD3D !important;
}

/* Divider */
.mws-contact-divider {
    width: 60px !important;
    height: 3px !important;
    background: rgba(255, 255, 255, 0.2) !important;
    border-radius: 2px !important;
    margin: 0 0 30px 0 !important;
}

/* Alternative Contact */
.mws-contact-alt {
    display: flex !important;
    flex-direction: column !important;
    gap: 8px !important;
}

.mws-contact-alt-label {
    font-size: 14px !important;
    color: rgba(255, 255, 255, 0.6) !important;
    text-transform: uppercase !important;
    letter-spacing: 1px !important;
    font-weight: 600 !important;
    margin: 0 !important;
}

.mws-contact-email-link {
    display: inline-flex !important;
    align-items: center !important;
    gap: 10px !important;
    color: #ffffff !important;
    font-size: 17px !important;
    font-weight: 600 !important;
    text-decoration: none !important;
    transition: all 0.3s ease !important;
}

.mws-contact-email-link:hover {
    color: #5BBD3D !important;
}

.mws-contact-email-link svg {
    width: 22px !important;
    height: 22px !important;
    stroke: currentColor !important;
    fill: none !important;
    stroke-width: 2 !important;
}

/* Location Badge */
.mws-contact-location {
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
    margin-top: 25px !important;
    padding: 10px 16px !important;
    background: rgba(255, 255, 255, 0.1) !important;
    border-radius: 50px !important;
    font-size: 14px !important;
    color: rgba(255, 255, 255, 0.8) !important;
}

.mws-contact-location svg {
    width: 16px !important;
    height: 16px !important;
    fill: #5BBD3D !important;
}

/* =====================
     RIGHT COLUMN - FORM
     ===================== */
.mws-contact-form-wrapper {
    background: #ffffff !important;
    padding: 20px !important;
    border-radius: 16px !important;
    box-shadow: 0 15px 50px rgba(0, 0, 0, 0.25) !important;
}

.mws-contact-form-header {
    margin-bottom: 25px !important;
    text-align: center !important;
}

.mws-contact-form-header h3 {
    font-family: 'Quicksand', sans-serif !important;
    font-size: 22px !important;
    font-weight: 700 !important;
    color: #022834 !important;
    margin: 0 0 8px 0 !important;
}

.mws-contact-form-header p {
    font-size: 14px !important;
    color: #6b7f7f !important;
    margin: 0 !important;
}

/* Security Note */
.mws-contact-security {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    margin-top: 20px !important;
    padding-top: 20px !important;
    border-top: 1px solid #e8eeee !important;
}

.mws-contact-security svg {
    width: 18px !important;
    height: 18px !important;
    stroke: #5BBD3D !important;
    fill: none !important;
    stroke-width: 2 !important;
}

.mws-contact-security span {
    font-size: 13px !important;
    color: #6b7f7f !important;
}

/* =====================
     RESPONSIVE
     ===================== */
@media (max-width: 900px) {
    .mws-contact-grid {
        grid-template-columns: 1fr !important;
        gap: 40px !important;
    }

    .mws-contact-content {
        text-align: center !important;
    }

    .mws-contact-trust {
        align-items: center !important;
    }

    .mws-contact-divider {
        margin-left: auto !important;
        margin-right: auto !important;
    }

    .mws-contact-alt {
        align-items: center !important;
    }

    .mws-contact-location {
        justify-content: center !important;
    }
}

@media (max-width: 650px) {
    .mws-contact {
        padding: 60px 5px !important;
    }

    .mws-contact-form-wrapper {
        padding: 30px 5px !important;
    }
}

/* ==========================================
   PORTFOLIO PAGE LAYOUT
   ========================================== */
.mws-case-study-grid {
    max-width: 1200px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: 1fr 1fr;
    /* 2 columns on desktop */
    gap: 60px;
    align-items: start;
}

/* Mobile Responsive */
@media (max-width: 992px) {
    .mws-case-study-grid {
        grid-template-columns: 1fr;
        /* 1 column on mobile/tablet */
        gap: 40px;
    }
}

/* ==========================================
   SERVICES PAGE: DARK HERO & ANIMATIONS
   ========================================== */

.mws-services-hero .mws-btn-primary {
    background: #5BBD3D !important;
    border-color: #5BBD3D !important;
}

.mws-services-hero .mws-btn-primary:hover {
    background: #4ea633 !important;
    /* Slightly darker green on hover */
    border-color: #4ea633 !important;
}

/* Dark Background with 180deg gradient */
.mws-services-hero {
    position: relative;
    background: linear-gradient(180deg, var(--mws-dark-blue) 0%, #011218 100%);
    padding: 25px 20px 90px;
    text-align: center;
    color: #ffffff;
    overflow: hidden;
}

.mws-services-hero-container {
    position: relative;
    z-index: 1;
    max-width: 900px;
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    align-items: center;
}

/* Subtle decorative circles (Dark Mode Variations) */
.mws-services-hero::before {
    content: '';
    position: absolute;
    top: -300px;
    right: -250px;
    width: 800px;
    height: 800px;
    background: radial-gradient(circle, rgba(91, 189, 61, 0.08) 0%, transparent 70%);
    border-radius: 50%;
    pointer-events: none;
    z-index: 0;
}

.mws-services-hero::after {
    content: '';
    position: absolute;
    bottom: -200px;
    left: -200px;
    width: 600px;
    height: 600px;
    background: radial-gradient(circle, rgba(78, 173, 213, 0.08) 0%, transparent 70%);
    border-radius: 50%;
    pointer-events: none;
    z-index: 0;
}

/* Typography Overrides for Dark Mode */
.mws-services-hero h1 {
    font-family: 'Quicksand', sans-serif;
    font-weight: 600;
    font-size: clamp(36px, 6vw, 58px);
    color: #ffffff;
    line-height: 1.2;
    margin-bottom: 25px;
}

/* Services Hero Headline Highlight */
.mws-services-hero h1 span.mws-highlight {
    color: #5BBD3D;
    text-shadow: 0 0 15px rgba(91, 189, 61, 0.2);
    /* Subtle green glow */
}

/* Center the wrapper itself */
.mws-services-hero .mws-hero-subtitle {
    max-width: 680px;
    margin: 0 auto 0 auto;
    /* Centers it and adds space below */
}

/* Style the actual text tag injected by the WYSIWYG */
.mws-services-hero .mws-hero-subtitle p {
    font-size: clamp(17px, 2.5vw, 20px) !important;
    color: #c9dfdf !important;
    line-height: 1.7 !important;
    font-weight: 400 !important;
    margin: 0 !important;
}

/* Optional: Make the bolded words in the WYSIWYG pop in pure white */
.mws-services-hero .mws-hero-subtitle p strong {
    color: #ffffff !important;
    font-weight: 700 !important;
}

.mws-services-hero .mws-hero-ctas {
    margin-top: 50px;
}


/* Trust Bar & SVG styling */
.mws-services-hero .mws-trust-bar {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 12px 35px;
    padding: 25px 0;
    max-width: 800px;
    margin: 0 auto;
    border-top: 1px solid rgba(255, 255, 255, 0.1);
    border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}

.mws-services-hero .mws-trust-item {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 14px;
    color: #ffffff;
    font-weight: 500;
}

.mws-services-hero .mws-trust-item svg,
.mws-services-hero .mws-location svg {
    width: 20px;
    height: 20px;
    fill: none;
    stroke: #5BBD3D;
    stroke-width: 2.5;
}

.mws-services-hero .mws-location {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-size: 14px;
    color: #4d4d4d;
    margin-top: 30px;
}

/* ==========================================
   STAGGERED FADE-UP ANIMATION
   ========================================== */
.animate-up {
    opacity: 0;
    transform: translateY(30px) !important;
    animation: fadeUp 0.8s cubic-bezier(0.16, 1, 0.3, 1) forwards;
}

.delay-1 {
    animation-delay: 0.1s;
}

.delay-2 {
    animation-delay: 0.3s;
}

.delay-3 {
    animation-delay: 0.5s;
}

.delay-4 {
    animation-delay: 0.7s;
}

.delay-5 {
    animation-delay: 0.9s;
}

@keyframes fadeUp {
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* ==========================================
   SECONDARY BUTTON (DARK BACKGROUND AESTHETIC)
   ========================================== */
.mws-btn-secondary-dark {
    background: transparent !important;
    color: #ffffff !important;
    border: 2px solid #ffffff !important;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1) !important;
    transition: all 0.3s ease !important;
}

.mws-btn-secondary-dark:hover {
    background: #ffffff !important;
    color: var(--mws-dark-blue, #022834) !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 6px 25px rgba(0, 0, 0, 0.2) !important;
}

.mws-btn-secondary-dark svg {
    stroke: #ffffff !important;
    fill: none !important;
    width: 18px !important;
    height: 18px !important;
    transition: transform 0.3s ease, stroke 0.3s ease !important;
}

.mws-btn-secondary-dark:hover svg {
    stroke: var(--mws-dark-blue, #022834) !important;
    transform: translateX(3px) !important;
}


/* =====================
     SERVICES PAGE SERVICES SECTION
     ===================== */
.mws-services {
    position: relative !important;
    z-index: 2 !important;
    padding: 90px 20px !important;
    background: #ffffff !important;
    font-family: 'Open Sans', sans-serif !important;
    box-shadow: inset 0 15px 20px -10px rgba(2, 40, 52, 0.25) !important;
}

.mws-services-container {
    max-width: 1100px !important;
    margin: 0 auto !important;
}

/* =====================
     SECTION HEADER
     ===================== */
.mws-services-header {
    text-align: center !important;
    margin-bottom: 50px !important;
}

.mws-services-header h2 {
    font-family: 'Quicksand', sans-serif !important;
    font-size: clamp(32px, 5vw, 44px) !important;
    font-weight: 700 !important;
    color: var(--mws-dark-blue) !important;
    margin: 0 0 15px 0 !important;
}

.mws-services-header p {
    font-size: 18px !important;
    color: var(--mws-text-body) !important;
    max-width: 650px !important;
    margin: 0 auto !important;
    line-height: 1.6 !important;
}

/* =====================
     TAB NAVIGATION
     ===================== */
.mws-tabs-nav {
    display: flex !important;
    justify-content: center !important;
    gap: 8px !important;
    margin-bottom: 50px !important;
    flex-wrap: wrap !important;
}

.mws-tab-btn {
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    padding: 16px 28px !important;
    background: #ffffff !important;
    border: 2px solid #e0e7e7 !important;
    border-radius: 10px !important;
    font-family: 'Open Sans', sans-serif !important;
    font-size: 15px !important;
    font-weight: 600 !important;
    color: var(--mws-text-body) !important;
    cursor: pointer !important;
    transition: all 0.3s ease !important;
}

.mws-tab-btn:hover {
    border-color: var(--mws-dark-blue) !important;
    color: var(--mws-dark-blue) !important;
    background: #ffffff !important;
}

.mws-tab-btn.active {
    background: var(--mws-dark-blue) !important;
    border-color: var(--mws-dark-blue) !important;
    color: #ffffff !important;
    box-shadow: 0 4px 15px rgba(2, 40, 52, 0.2) !important;
}

.mws-tab-btn svg {
    width: 22px !important;
    height: 22px !important;
    transition: all 0.3s ease !important;
}

.mws-tab-btn svg.icon-stroke {
    fill: none !important;
    stroke: currentColor !important;
    stroke-width: 2 !important;
}

.mws-tab-btn.active svg.icon-stroke {
    stroke: #ffffff !important;
}

.mws-tab-btn:hover svg.icon-stroke {
    stroke: var(--mws-dark-blue) !important;
}

.mws-tab-btn.active:hover svg.icon-stroke {
    stroke: #ffffff !important;
}

/* =====================
     TAB CONTENT
     ===================== */
.mws-tabs-content {
    position: relative !important;
    min-height: 400px !important;
}

.mws-tab-panel {
    display: none !important;
    animation: mwsFadeIn 0.4s ease !important;
}

.mws-tab-panel.active {
    display: block !important;
}

@keyframes mwsFadeIn {
    from {
        opacity: 0;
        transform: translateY(10px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* Updated Grid for Image Layout */
.mws-tab-content-grid {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 50px !important;
    align-items: center !important;
}

/* Left: Info & Features */
.mws-tab-info h3 {
    font-family: 'Quicksand', sans-serif !important;
    font-size: 28px !important;
    font-weight: 700 !important;
    color: var(--mws-dark-blue) !important;
    margin: 0 0 15px 0 !important;
    line-height: 1.3 !important;
}

.mws-tab-info>p {
    font-size: 16px !important;
    color: var(--mws-text-body) !important;
    line-height: 1.7 !important;
    margin: 0 0 25px 0 !important;
}

.mws-features-list {
    list-style: none !important;
    padding: 0 !important;
    margin: 0 0 35px 0 !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 14px !important;
}

.mws-features-list li {
    display: flex !important;
    align-items: flex-start !important;
    gap: 12px !important;
    font-size: 15px !important;
    color: var(--mws-text-body) !important;
    line-height: 1.5 !important;
}

.mws-features-list li svg {
    width: 20px !important;
    height: 20px !important;
    min-width: 20px !important;
    stroke: var(--mws-green) !important;
    fill: none !important;
    stroke-width: 2.5 !important;
    margin-top: 2px !important;
}

.mws-features-list li strong {
    color: var(--mws-dark-blue) !important;
}

/* Primary CTA Button */
.mws-tab-cta {
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
    padding: 14px 28px !important;
    background: var(--mws-dark-blue) !important;
    color: #ffffff !important;
    font-weight: 600 !important;
    font-size: 15px !important;
    text-decoration: none !important;
    border-radius: 8px !important;
    border: 2px solid var(--mws-dark-blue) !important;
    transition: all 0.3s ease !important;
}

.mws-tab-cta:hover {
    background: #044555 !important;
    border-color: #044555 !important;
    color: #ffffff !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 4px 15px rgba(2, 40, 52, 0.25) !important;
}

.mws-tab-cta svg {
    width: 18px !important;
    height: 18px !important;
    stroke: #ffffff !important;
    fill: none !important;
    transition: transform 0.3s ease !important;
}

.mws-tab-cta:hover svg {
    transform: translateX(3px) !important;
    stroke: #ffffff !important;
}

/* Right: Image */
.mws-tab-image {
    text-align: center !important;
}

.mws-tab-image img {
    max-width: 100% !important;
    height: auto !important;
    border-radius: 12px !important;
}

/* =====================
     BOTTOM CTA
     ===================== */
.mws-services-bottom {
    text-align: center !important;
    margin-top: 50px !important;
    padding-top: 40px !important;
    border-top: 1px solid #e0e7e7 !important;
}

.mws-services-bottom p {
    font-size: 17px !important;
    color: var(--mws-text-body) !important;
    margin: 0 0 20px 0 !important;
}

.mws-services-bottom p strong {
    color: var(--mws-dark-blue) !important;
}

/* Automatically style WYSIWYG bullet lists with green checkmarks */
.mws-features-wysiwyg ul {
    list-style: none !important;
    padding-left: 0 !important;
    margin: 0 0 35px 0 !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 14px !important;
}

.mws-features-wysiwyg ul li {
    display: block !important;
    position: relative !important;
    padding-left: 32px !important;
    font-size: 15px !important;
    color: var(--mws-text-body) !important;
    line-height: 1.5 !important;
}

/* Encode the green SVG checkmark as a background image */
.mws-features-wysiwyg ul li::before {
    content: '' !important;
    position: absolute !important;
    left: 0 !important;
    top: 2px !important;
    width: 20px !important;
    height: 20px !important;
    background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M20 6L9 17L4 12' stroke='%235BBD3D' stroke-width='2.5' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") !important;
    background-size: contain !important;
    background-repeat: no-repeat !important;
}

.mws-features-wysiwyg ul li strong {
    color: var(--mws-dark-blue) !important;
}

/* =====================
     RESPONSIVE
     ===================== */
@media (max-width: 900px) {
    .mws-tab-content-grid {
        grid-template-columns: 1fr !important;
        gap: 40px !important;
    }

    .mws-tab-image {
        order: -1 !important;
        /* Puts image above text on mobile */
    }
}

@media (max-width: 650px) {
    .mws-services {
        padding: 60px 20px !important;
    }

    .mws-tabs-nav {
        flex-direction: column !important;
        align-items: stretch !important;
    }

    .mws-tab-btn {
        justify-content: center !important;
    }
}

/* ==========================================
   HEALTH CHECK APP (SERVICES TAB 4)
   ========================================== */
#mws-wrapper {
    --mws-app-teal: #4E8098;
    --mws-app-green: #4DA252;
    --mws-app-green-dark: #3d8242;
    --mws-app-seashell: #FEF5EF;
    --mws-app-gray: #334155;
    --mws-app-muted: #94a3b8;
    --mws-app-border: #E2E8F0;

    font-family: 'Open Sans', sans-serif;
    color: var(--mws-app-gray);
    max-width: 650px;
    margin: 40px auto 0;
}

#mws-wrapper .mws-card {
    background: #FFFFFF;
    border: 1px solid var(--mws-app-border);
    border-radius: 16px;
    padding: 30px;
    box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.05);
    position: relative;
    overflow: hidden;
}

#mws-wrapper h3,
#mws-wrapper h4 {
    font-family: 'Quicksand', sans-serif;
    color: var(--mws-app-teal);
    font-weight: 700;
    margin-top: 0;
}

#mws-wrapper .mws-input-group {
    display: flex;
    gap: 10px;
    margin-top: 20px;
}

#mws-wrapper #site-url {
    flex-grow: 1;
    padding: 14px;
    background-color: #f8fafc;
    border: 1px solid var(--mws-app-border);
    border-radius: 12px;
    font-size: 15px;
    color: var(--mws-app-gray);
    outline: none;
    transition: all 0.2s;
}

#mws-wrapper #site-url:focus {
    border-color: var(--mws-app-teal);
    background: #fff;
}

#mws-wrapper .mws-btn {
    padding: 12px 24px;
    background-color: var(--mws-app-green);
    color: white;
    border: none;
    border-radius: 12px;
    cursor: pointer;
    font-family: 'Quicksand', sans-serif;
    font-weight: 700;
    font-size: 15px;
    transition: all 0.2s;
    white-space: nowrap;
}

#mws-wrapper .mws-btn:hover {
    background-color: var(--mws-app-green-dark);
    transform: translateY(-1px);
}

#mws-wrapper .mws-btn:disabled {
    background-color: var(--mws-app-muted);
    cursor: not-allowed;
    transform: none;
}

/* Loading & Spinner */
#mws-loading {
    display: none;
    text-align: center;
    padding: 40px 20px;
}

.loading-status-text {
    color: var(--mws-app-teal);
    font-weight: 600;
    font-size: 14px;
    margin-top: 15px;
    animation: fadeText 0.5s ease-in-out;
}

.mws-spinner {
    animation: rotate 2s linear infinite;
    width: 40px;
    height: 40px;
}

.mws-spinner .path {
    stroke: var(--mws-app-green);
    stroke-linecap: round;
    animation: dash 1.5s ease-in-out infinite;
}

@keyframes rotate {
    100% {
        transform: rotate(360deg);
    }
}

@keyframes dash {
    0% {
        stroke-dasharray: 1, 150;
        stroke-dashoffset: 0;
    }

    50% {
        stroke-dasharray: 90, 150;
        stroke-dashoffset: -35;
    }

    100% {
        stroke-dasharray: 90, 150;
        stroke-dashoffset: -124;
    }
}

@keyframes fadeText {
    from {
        opacity: 0;
        transform: translateY(5px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* Results Grid */
#mws-results {
    display: none;
}

.results-header {
    display: flex;
    gap: 20px;
    margin: 25px 0;
    align-items: center;
    background: white;
    padding: 15px;
    border-radius: 12px;
    border: 1px solid #fcefe9;
}

.site-thumbnail {
    width: 80px;
    height: 80px;
    border-radius: 8px;
    background-color: #eee;
    background-size: cover;
    background-position: center;
    border: 2px solid #fff;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
    flex-shrink: 0;
}

.score-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 15px;
    margin-bottom: 25px;
}

.metric-box {
    background: #fff;
    border: 1px solid var(--mws-app-border);
    padding: 15px;
    border-radius: 12px;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.metric-info p {
    font-size: 11px;
    text-transform: uppercase;
    font-weight: 700;
    color: var(--mws-app-muted);
    margin: 0;
}

.metric-info h4 {
    font-size: 15px;
    margin: 2px 0 0 0;
    color: var(--mws-app-gray);
}

.grade-badge {
    font-family: 'Quicksand', sans-serif;
    font-weight: 700;
    font-size: 18px;
    width: 40px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 8px;
}

.grade-A {
    background: #dcfce7;
    color: #166534;
}

.grade-B {
    background: #dbeafe;
    color: #1e40af;
}

.grade-C {
    background: #fef9c3;
    color: #854d0e;
}

.grade-Opt {
    background: #fee2e2;
    color: #991b1b;
    font-size: 12px;
    width: auto;
    padding: 0 10px;
}

/* Action Plan */
.action-plan-container {
    border-top: 1px dashed var(--mws-app-border);
    padding-top: 20px;
    margin-top: 10px;
}

.action-item {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 10px;
    background: #f8fafc;
    border-radius: 8px;
    margin-bottom: 8px;
    font-size: 13px;
    font-weight: 600;
    color: var(--mws-app-gray);
}

.action-icon {
    color: #ef4444;
    background: #fee2e2;
    width: 24px;
    height: 24px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
}

.blur-teaser {
    position: relative;
}

.blur-teaser::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 60px;
    background: linear-gradient(to bottom, rgba(255, 255, 255, 0), rgba(255, 255, 255, 1));
    pointer-events: none;
}

/* Modal */
.mws-modal-overlay {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(78, 128, 152, 0.4);
    backdrop-filter: blur(4px);
    z-index: 9999;
    align-items: center;
    justify-content: center;
}

.mws-modal-box {
    background: white;
    width: 90%;
    max-width: 450px;
    padding: 30px;
    border-radius: 20px;
    box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1);
    position: relative;
    animation: slideUp 0.3s ease-out;
}

.mws-modal-box .mws-input {
    width: 100%;
    padding: 12px;
    background: #f8fafc;
    border: 1px solid var(--mws-app-border);
    border-radius: 12px;
    margin-bottom: 12px;
    font-size: 14px;
    box-sizing: border-box;
}

@keyframes slideUp {
    from {
        transform: translateY(20px);
        opacity: 0;
    }

    to {
        transform: translateY(0);
        opacity: 1;
    }
}

@media (max-width: 500px) {
    #mws-wrapper .score-grid {
        grid-template-columns: 1fr;
    }

    #mws-wrapper .mws-input-group {
        flex-direction: column;
    }

    #mws-wrapper .mws-btn {
        width: 100%;
    }
}


  /* =====================
     PROCESS SECTION
     ===================== */
  .mws-process {
      padding: 100px 20px;
      background: var(--mws-bg-shell);
      font-family: 'Open Sans', sans-serif;
      overflow: hidden;
  }

  .mws-process-container {
      max-width: 1000px;
      margin: 0 auto;
  }

  /* =====================
     HEADER
     ===================== */
  .mws-process-header {
      text-align: center;
      margin-bottom: 70px;
  }

  .mws-process-header h2 {
      font-family: 'Quicksand', sans-serif;
      font-size: clamp(32px, 5vw, 44px);
      font-weight: 700;
      color: var(--mws-dark-blue);
      margin: 0 0 15px 0;
  }

  .mws-process-header p {
      font-size: 18px;
      color: var(--mws-text-body);
      max-width: 650px;
      margin: 0 auto;
      line-height: 1.6;
  }

  /* =====================
     TIMELINE STRUCTURE
     ===================== */
  .mws-timeline {
      position: relative;
  }

  /* The center line - Fixed Z-index */
  .mws-timeline::before {
      content: '';
      position: absolute;
      top: 0;
      bottom: 0;
      left: 50%;
      width: 4px;
      background: var(--mws-green-light);
      transform: translateX(-50%);
      border-radius: 4px;
      z-index: 0;
      /* Keeps line behind the dots */
  }

.mws-timeline-item {
    position: relative;
    width: 50%;
    padding: 0 50px;
    margin-bottom: 60px;
    z-index: 1;

    /* Starting state */
    opacity: 0;
    transform: translateY(60px);
    transition: opacity 0.6s cubic-bezier(0.165, 0.84, 0.44, 1), transform 0.6s cubic-bezier(0.165, 0.84, 0.44, 1);
}

.mws-timeline-item.is-visible {
    opacity: 1;
    transform: translateY(0);
}

  /* Alternating layout for Desktop */
  .mws-timeline-item:nth-child(odd) {
      left: 0;
      text-align: right;
  }

  .mws-timeline-item:nth-child(even) {
      left: 50%;
      text-align: left;
  }

  /* =====================
     TIMELINE DOTS
     ===================== */
  .mws-timeline-dot {
      position: absolute;
      top: 0;
      width: 48px;
      height: 48px;
      background: var(--mws-dark-blue);
      border: 4px solid #ffffff;
      border-radius: 50%;
      display: flex;
      align-items: center;
      justify-content: center;
      color: #ffffff;
      font-family: 'Quicksand', sans-serif;
      font-weight: 700;
      font-size: 20px;
      box-shadow: 0 4px 15px rgba(2, 40, 52, 0.15);
      z-index: 2;
      /* Explicitly forces dot above the line */
      transition: background 0.3s ease;
  }

  .mws-timeline-item:hover .mws-timeline-dot {
      background: var(--mws-green);
  }

  .mws-timeline-item:nth-child(odd) .mws-timeline-dot {
      right: -24px;
  }

  .mws-timeline-item:nth-child(even) .mws-timeline-dot {
      left: -24px;
  }

  /* =====================
     TIMELINE CONTENT CARDS
     ===================== */
  .mws-timeline-content {
      background: #ffffff;
      padding: 35px;
      border-radius: 16px;
      box-shadow: 0 10px 30px rgba(2, 40, 52, 0.05);
      position: relative;
      transition: box-shadow 0.3s ease;
  }

  .mws-timeline-item:hover .mws-timeline-content {
      box-shadow: 0 15px 40px rgba(2, 40, 52, 0.1);
  }

  /* Little pointing arrow for the cards */
  .mws-timeline-content::before {
      content: '';
      position: absolute;
      top: 15px;
      width: 0;
      height: 0;
      border-style: solid;
  }

  .mws-timeline-item:nth-child(odd) .mws-timeline-content::before {
      right: -14px;
      border-width: 10px 0 10px 15px;
      border-color: transparent transparent transparent #ffffff;
  }

  .mws-timeline-item:nth-child(even) .mws-timeline-content::before {
      left: -14px;
      border-width: 10px 15px 10px 0;
      border-color: transparent #ffffff transparent transparent;
  }

  .mws-timeline-content h3 {
      font-family: 'Quicksand', sans-serif;
      font-size: 22px;
      font-weight: 700;
      color: var(--mws-dark-blue);
      margin: 0 0 12px 0;
  }

  .mws-timeline-content p {
      font-size: 15px;
      color: var(--mws-text-body);
      line-height: 1.6;
      margin: 0;
  }

  /* =====================
     MOBILE RESPONSIVENESS
     ===================== */
  @media (max-width: 768px) {
      .mws-process {
          padding: 70px 20px;
      }

      .mws-timeline::before {
          left: 24px;
      }

      .mws-timeline-item {
          width: 100%;
          padding: 0 0 0 70px;
          margin-bottom: 40px;
      }

      .mws-timeline-item:nth-child(odd),
      .mws-timeline-item:nth-child(even) {
          left: 0;
          text-align: left;
      }

      .mws-timeline-item:nth-child(odd) .mws-timeline-dot,
      .mws-timeline-item:nth-child(even) .mws-timeline-dot {
          left: 0;
          right: auto;
      }

      .mws-timeline-item:nth-child(odd) .mws-timeline-content::before,
      .mws-timeline-item:nth-child(even) .mws-timeline-content::before {
          left: -14px;
          right: auto;
          border-width: 10px 15px 10px 0;
          border-color: transparent #ffffff transparent transparent;
      }
  }

   /* =====================
     PRIVACY PAGE LAYOUT CONFIGURATION
     ===================== */
   .mws-privacy-page {
       background-color: var(--mws-bg-shell);
       font-family: 'Open Sans', sans-serif;
       color: var(--mws-text-body);
       width: 100%;
       max-width: 100vw;
       box-sizing: border-box;
       overflow-x: hidden;
       padding-bottom: 100px;
   }

   .mws-privacy-page *,
   .mws-privacy-page *::before,
   .mws-privacy-page *::after {
       box-sizing: border-box;
   }

   /* =====================
     HERO SECTION
     ===================== */
   .mws-privacy-hero {
       background: linear-gradient(135deg, var(--mws-dark-blue) 0%, #053d4a 100%);
       padding: 100px 20px 80px;
       text-align: center;
       color: #ffffff !important;
   }

   .mws-privacy-hero h1 {
       font-family: 'Quicksand', sans-serif;
       font-size: clamp(36px, 5vw, 48px);
       font-weight: 700;
       margin: 0 0 15px 0;
       color: #ffffff !important;
   }

   .mws-privacy-hero p {
       font-size: 16px;
       color: rgba(255, 255, 255, 0.8);
       margin: 0;
   }

   /* =====================
     CONTENT CONTAINER
     ===================== */
   .mws-privacy-content-wrapper {
       max-width: 900px;
       margin: -40px auto 0;
       position: relative;
       z-index: 2;
       padding: 0 20px;
   }

   .mws-privacy-content {
       background: #ffffff;
       border-radius: 16px;
       padding: 60px;
       box-shadow: 0 15px 40px rgba(2, 40, 52, 0.08);
       border: 1px solid rgba(2, 40, 52, 0.04);
   }

   /* =====================
     TYPOGRAPHY & ELEMENTS
     ===================== */
   .mws-privacy-content h2 {
       font-family: 'Quicksand', sans-serif;
       font-size: 24px;
       font-weight: 700;
       color: var(--mws-dark-blue);
       margin: 40px 0 15px 0;
       padding-bottom: 10px;
       border-bottom: 2px solid var(--mws-bg-shell);
   }

   .mws-privacy-content h2:first-child {
       margin-top: 0;
   }

   .mws-privacy-content h3 {
       font-family: 'Quicksand', sans-serif;
       font-size: 18px;
       font-weight: 700;
       color: var(--mws-dark-blue);
       margin: 25px 0 10px 0;
   }

   .mws-privacy-content p {
       font-size: 16px;
       line-height: 1.8;
       margin: 0 0 20px 0;
   }

   .mws-privacy-content ul {
       margin: 0 0 25px 0;
       padding-left: 20px;
   }

   .mws-privacy-content li {
       font-size: 16px;
       line-height: 1.8;
       margin-bottom: 10px;
   }

   .mws-privacy-content strong {
       color: var(--mws-dark-blue);
   }

   .mws-privacy-content a {
       color: var(--mws-green);
       text-decoration: none;
       font-weight: 600;
       transition: color 0.3s ease;
   }

   .mws-privacy-content a:hover {
       color: var(--mws-dark-blue);
       text-decoration: underline;
   }

   .mws-privacy-contact-block {
       background: var(--mws-bg-shell);
       padding: 25px;
       border-radius: 8px;
       border-left: 4px solid var(--mws-green);
       margin-top: 30px;
   }

   .mws-privacy-contact-block p {
       margin-bottom: 5px;
   }

   .mws-privacy-contact-block p:last-child {
       margin-bottom: 0;
   }

   /* =====================
     RESPONSIVE
     ===================== */
   @media (max-width: 768px) {
       .mws-privacy-content {
           padding: 40px 25px;
       }
   }

   @media (max-width: 480px) {
       .mws-privacy-content {
           padding: 30px 20px;
       }

       .mws-privacy-content h2 {
           font-size: 22px;
       }

       .mws-privacy-content p,
       .mws-privacy-content li {
           font-size: 15px;
       }
   }

    /* =====================
    CONTACT PAGE
    ===================== */

  .mws-contact-page-contact-section {
      background: #ffffff;
      padding: 80px 20px;
      font-family: 'Open Sans', sans-serif;
  }    

  .mws-contact-page-contact-grid {
      display: grid;
      grid-template-columns: 2fr 3fr;
      gap: 40px;
      align-items: start;
  }

  @media (max-width: 900px) {
      .mws-contact-page-contact-grid {
          grid-template-columns: 1fr;
          gap: 30px;
      }
  }

  .mws-info-column {
      flex: 1;
      min-width: 320px;
      position: sticky;
      top: 120px;
  }

  .mws-info-column h2 {
      font-family: 'Quicksand', sans-serif;
      font-size: 32px;
      font-weight: 700;
      color: #022834;
      margin: 0 0 15px 0;
  }

  .mws-info-column>p {
      font-size: 16px;
      color: #3D4F4F;
      line-height: 1.7;
      margin: 0 0 35px 0;
  }

  .mws-methods-list {
      display: flex;
      flex-direction: column;
      gap: 15px;
      margin-bottom: 30px;
  }

  .mws-card-link {
      display: flex;
      align-items: center;
      gap: 20px;
      padding: 24px;
      background: #f4f9f9;
      border-radius: 12px;
      text-decoration: none;
      border: 1px solid transparent;
      transition: all 0.3s ease;
  }

  .mws-card-link:hover {
      background: #ffffff;
      border-color: #e0e7e7;
      box-shadow: 0 10px 25px rgba(2, 40, 52, 0.05);
      transform: translateY(-2px);
  }

  .mws-icon-box {
      width: 54px;
      height: 54px;
      background: #022834;
      border-radius: 10px;
      display: flex;
      align-items: center;
      justify-content: center;
      flex-shrink: 0;
  }

  .mws-icon-box svg {
      width: 24px;
      height: 24px;
      stroke: #5BBD3D;
      fill: none;
      stroke-width: 2;
  }

  .mws-text-content h3 {
      font-family: 'Quicksand', sans-serif;
      font-size: 17px;
      font-weight: 700;
      color: #022834;
      margin: 0 0 4px 0;
  }

  .mws-text-content p {
      font-size: 15px;
      color: #3D4F4F;
      margin: 0;
  }

  .mws-social-row {
      display: flex;
      align-items: center;
      gap: 15px;
      padding-top: 25px;
      border-top: 1px solid #e0e7e7;
  }

  .mws-social-label {
      font-size: 14px;
      font-weight: 700;
      color: #022834;
  }

  .mws-social-btn {
      width: 42px;
      height: 42px;
      background: #f4f9f9;
      border-radius: 8px;
      display: flex;
      align-items: center;
      justify-content: center;
      transition: all 0.3s ease;
  }

  .mws-social-btn:hover {
      background: #022834;
  }

  .mws-social-btn svg {
      width: 20px;
      height: 20px;
      fill: #022834;
  }

  .mws-social-btn:hover svg {
      fill: #ffffff;
  }

  @media (max-width: 768px) {
      .mws-info-column {
          position: relative;
          top: 0;
      }
  }

  .mws-contact-why {
      padding: 80px 20px;
      background: #f4f9f9;
      font-family: 'Open Sans', sans-serif;
  }

  .mws-contact-why-container {
      max-width: 1100px;
      margin: 0 auto;
  }

  .mws-contact-why-header {
      text-align: center;
      margin-bottom: 50px;
  }

  .mws-contact-why-header h2 {
      font-family: 'Quicksand', sans-serif;
      font-size: clamp(28px, 4vw, 36px);
      font-weight: 700;
      color: #022834;
      margin: 0 0 15px 0;
  }

  .mws-contact-why-header p {
      font-size: 17px;
      color: #3D4F4F;
      max-width: 600px;
      margin: 0 auto;
      line-height: 1.6;
  }

  .mws-contact-why-grid {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 30px;
  }

  .mws-contact-why-card {
      background: #ffffff;
      padding: 35px 30px;
      border-radius: 16px;
      text-align: center;
      box-shadow: 0 4px 20px rgba(2, 40, 52, 0.05);
      transition: all 0.3s ease;
  }

  .mws-contact-why-card:hover {
      transform: translateY(-5px);
      box-shadow: 0 12px 35px rgba(2, 40, 52, 0.1);
  }

  .mws-contact-why-icon {
      width: 70px;
      height: 70px;
      margin: 0 auto 20px auto;
      background: linear-gradient(135deg, #E8F5E4 0%, #f0f9f0 100%);
      border-radius: 50%;
      display: flex;
      align-items: center;
      justify-content: center;
  }

  .mws-contact-why-icon svg {
      width: 32px;
      height: 32px;
      stroke: #5BBD3D;
      fill: none;
      stroke-width: 2;
  }

  .mws-contact-why-card h3 {
      font-family: 'Quicksand', sans-serif;
      font-size: 20px;
      font-weight: 700;
      color: #022834;
      margin: 0 0 12px 0;
  }

  .mws-contact-why-card p {
      font-size: 15px;
      color: #3D4F4F;
      line-height: 1.7;
      margin: 0;
  }

  @media (max-width: 900px) {
      .mws-contact-why-grid {
          grid-template-columns: 1fr;
          max-width: 450px;
          margin: 0 auto;
      }
  }

  @media (max-width: 600px) {
      .mws-contact-why {
          padding: 60px 20px;
      }
  }

.mws-contact-process {
    padding: 80px 20px;
    background: #ffffff;
    font-family: 'Open Sans', sans-serif;
}

.mws-contact-process-container {
    max-width: 900px;
    margin: 0 auto;
}

.mws-contact-process-header {
    text-align: center;
    margin-bottom: 50px;
}

.mws-contact-process-header h2 {
    font-family: 'Quicksand', sans-serif;
    font-size: clamp(28px, 4vw, 36px);
    font-weight: 700;
    color: #022834;
    margin: 0 0 15px 0;
}

.mws-contact-process-header p {
    font-size: 17px;
    color: #3D4F4F;
    max-width: 550px;
    margin: 0 auto;
    line-height: 1.6;
}

.mws-contact-process-steps {
    display: flex;
    flex-direction: column;
    gap: 0;
    position: relative;
}

/* Vertical Line */
.mws-contact-process-steps::before {
    content: '';
    position: absolute;
    left: 30px;
    top: 30px;
    bottom: 30px;
    width: 2px;
    background: linear-gradient(180deg, #5BBD3D 0%, #e0e7e7 100%);
}

.mws-contact-process-step {
    display: flex;
    gap: 25px;
    align-items: flex-start;
    position: relative;
}

.mws-contact-process-step-number {
    width: 60px;
    height: 60px;
    min-width: 60px;
    background: #022834;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-family: 'Quicksand', sans-serif;
    font-size: 24px;
    font-weight: 700;
    color: #5BBD3D;
    position: relative;
    z-index: 1;
}

.mws-contact-process-step-content {
    padding: 15px 0 40px 0;
    flex: 1;
}

.mws-contact-process-step:last-child .mws-contact-process-step-content {
    padding-bottom: 0;
}

.mws-contact-process-step-content h3 {
    font-family: 'Quicksand', sans-serif;
    font-size: 20px;
    font-weight: 700;
    color: #022834;
    margin: 0 0 10px 0;
}

.mws-contact-process-step-content p {
    font-size: 15px;
    color: #3D4F4F;
    line-height: 1.7;
    margin: 0;
}

.mws-contact-process-step-content strong {
    color: #022834;
}

@media (max-width: 600px) {
    .mws-contact-process {
        padding: 60px 20px;
    }

    .mws-contact-process-steps::before {
        left: 25px;
    }

    .mws-contact-process-step {
        gap: 20px;
    }

    .mws-contact-process-step-number {
        width: 50px;
        height: 50px;
        min-width: 50px;
        font-size: 20px;
    }
}

  .mws-contact-area {
      padding: 70px 20px;
      background: linear-gradient(135deg, #022834 0%, #053d4a 100%) !important;
      font-family: 'Open Sans', sans-serif;
      text-align: center;
  }

  .mws-contact-area-container {
      max-width: 900px;
      margin: 0 auto;
  }

  .mws-contact-area h2 {
      font-family: 'Quicksand', sans-serif;
      font-size: clamp(24px, 4vw, 32px);
      font-weight: 700;
      color: #ffffff !important;
      margin: 0 0 15px 0;
  }

  .mws-contact-area p {
      font-size: 16px;
      color: #d3d3d3 !important;
      margin: 0 0 30px 0;
      line-height: 1.6;
  }

  .mws-contact-area-cities {
      display: flex;
      flex-wrap: wrap;
      justify-content: center;
      gap: 12px;
      margin-bottom: 30px;
  }

  .mws-contact-area-city {
      background: rgba(255, 255, 255, 0.1);
      color: rgba(255, 255, 255, 0.9);
      font-size: 14px;
      font-weight: 500;
      padding: 8px 16px;
      border-radius: 50px;
      border: 1px solid rgba(255, 255, 255, 0.15);
  }

  .mws-contact-area-link {
      display: inline-flex;
      align-items: center;
      gap: 8px;
      color: #5BBD3D;
      font-size: 15px;
      font-weight: 600;
      text-decoration: none;
      transition: all 0.3s ease;
  }

  .mws-contact-area-link:hover {
      color: #6fce52;
  }

  .mws-contact-area-link svg {
      width: 18px;
      height: 18px;
      fill: currentColor;
  }

  @media (max-width: 600px) {
      .mws-contact-area {
          padding: 50px 20px;
      }
  }

  /* =====================
   BLOG ARCHIVE STYLES
   ===================== */

  .mws-post-meta {
    display: flex;
    gap: 15px;
    flex-direction: column;
  }

  /* Category Filter Bar */
  .mws-blog-filter {
      background: #ffffff;
      border-bottom: 1px solid #e0e7e7;
      position: sticky;
      top: 70px;
      /* Adjust based on header height */
      z-index: 100;
      padding: 15px 20px;
  }

  .mws-blog-filter-container {
      max-width: 1100px;
      margin: 0 auto;
      display: flex;
      justify-content: center;
      gap: 20px;
      flex-wrap: wrap;
  }

  .mws-filter-link {
      text-decoration: none;
      color: var(--mws-text-body);
      font-size: 14px;
      font-weight: 600;
      transition: color 0.3s ease;
  }

  .mws-filter-link.active,
  .mws-filter-link:hover {
      color: var(--mws-green);
  }

  /* Post Grid */
  .mws-blog-grid {
      padding: 80px 20px;
      background: #f4f9f9;
  }

  .mws-blog-grid-container {
      max-width: 1100px;
      margin: 0 auto;
  }

  .mws-posts-wrapper {
      display: grid;
      grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
      gap: 40px;
  }

  /* Card Design */
  .mws-post-card {
      background: #ffffff;
      border-radius: 16px;
      overflow: hidden;
      box-shadow: 0 10px 30px rgba(2, 40, 52, 0.05);
      transition: transform 0.3s ease, box-shadow 0.3s ease;
      display: flex;
      flex-direction: column;
  }

  .mws-post-card:hover {
      transform: translateY(-5px);
      box-shadow: 0 15px 40px rgba(2, 40, 52, 0.1);
  }

  .mws-post-thumbnail img {
      width: 100%;
      height: 220px;
      object-fit: cover;
  }

  .mws-post-content {
      padding: 30px;
      display: flex;
      flex-direction: column;
      flex-grow: 1;
  }

  .mws-post-category a {
      color: var(--mws-green);
      font-size: 12px;
      text-decoration: none;
      font-weight: 700;
      text-transform: uppercase;
      letter-spacing: 1px;
      margin-bottom: 10px;
      transition: all 0.3s ease;
  }

  .mws-post-category a:hover {
      color: var(--mws-dark-blue);
      text-decoration: underline;
  }

  .mws-post-title a {
      text-decoration: none;
      color: var(--mws-dark-blue);
      transition: color 0.3s ease;
  }

  .mws-post-title a:hover {
      color: var(--mws-green);
  }

  .mws-post-footer {
      margin-top: 30px;
      padding-top: 20px;
      border-top: 1px solid #f0f4f4;
      display: flex;
      justify-content: space-between;
      align-items: center;
  }

  .mws-post-author {
      font-size: 12px;
      color: var(--mws-text-body);
  }

  .mws-post-link {
      text-decoration: none;
      color: var(--mws-dark-blue);
      font-weight: 700;
      font-size: 13px;
      display: flex;
      align-items: center;
      gap: 5px;
  }

  .mws-post-link svg {
      width: 16px;
      height: 16px;
      stroke: currentColor;
      fill: none;
      transition: transform 0.3s ease;
  }

  .mws-post-link:hover svg {
      transform: translateX(3px);
  }

  /* =====================
   SINGLE POST STYLING
   ===================== */
/* Update Post Header for Light Theme */
.mws-post-header {
    background: linear-gradient(180deg, var(--mws-bg-start) 0%, #ffffff 100%);
    padding: 75px 20px 60px;
    text-align: center;
}

.mws-post-header h1 {
    font-family: 'Quicksand', sans-serif !important;
    font-size: clamp(34px, 5vw, 50px);
    color: var(--mws-dark-blue) !important;
    line-height: 1.2;
    font-weight: 700;
    margin: 15px auto;
    max-width: 900px;
}

.mws-post-category {
    color: #5BBD3D;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 1.5px;
    font-size: 13px;
}

.mws-author-bio-flex {
    display: flex;
    gap: 30px;
    align-items: flex-start;
}

/* Headshot Styling */
.mws-author-bio-image img,
.mws-author-bio-image .avatar {
    width: 100px !important;
    height: 100px !important;
    border-radius: 50%;
    object-fit: cover;
    border: 3px solid #5BBD3D;
    flex-shrink: 0;
}

/* Button Group Styling */
.mws-author-bio-ctas {
    display: flex;
    gap: 15px;
    margin-top: 20px;
    flex-wrap: wrap;
}

.mws-bio-btn {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 10px 18px;
    border-radius: 8px;
    text-decoration: none;
    font-weight: 700;
    font-size: 13px;
    transition: all 0.3s ease;
    border: 1px solid #5BBD3D;
    color: #5BBD3D;
}

.mws-bio-btn svg {
    width: 16px;
    height: 16px;
    fill: currentColor;
}

.mws-bio-btn.email svg {
    fill: none;
    stroke: currentColor;
}

/* Hover States */
.mws-bio-btn:hover {
    background: #5BBD3D;
    color: #ffffff;
    transform: translateY(-2px);
}

@media (max-width: 600px) {
    .mws-author-bio-flex {
        flex-direction: column;
        align-items: center;
        text-align: center;
    }

    .mws-author-bio-ctas {
        justify-content: center;
    }
}

.mws-author-info h3 {
    color: #5BBD3D;
    margin-top: 0;
}

.mws-post-author-top {
    color: var(--mws-text-body);
    font-weight: 600;
    font-size: 16px;
    margin-top: 10px;
}

  .mws-post-header-container {
      max-width: 900px;
      margin: 0 auto;
  }

  .mws-post-content-inner {
      max-width: 1200px;
      margin: 0 auto;
      padding: 0 20px;
      font-size: 19px;
      line-height: 1.8;
  }

  /* Key Takeaways Box */
  .mws-key-takeaways {
      background: #f4f9f9;
      border-left: 5px solid #5BBD3D;
      padding: 30px;
      border-radius: 8px;
      margin-bottom: 75px;
  }

  .mws-key-takeaways h4 {
      font-family: 'Quicksand', sans-serif;
      margin-top: 0;
  }

  /* Adjust margins on the sidebar elements so they fit perfectly */
  .mws-post-sidebar-column .mws-tech-stack-mini {
      margin-top: 0;
  }

  .mws-post-sidebar-column .mws-signature-cta {
      margin-bottom: 0;
      padding: 30px;
  }

  /* Desktop Grid View */
@media (min-width: 1201px) {
    .mws-post-content-inner {
        display: grid;
        /* Left Social (70px) | Main Article (Fluid) | Right Sidebar (350px) */
        grid-template-columns: 70px 1fr 350px;
        gap: 50px;
        align-items: start;
    }

    /* Right Sidebar Sticky Behavior */
    .mws-post-sidebar-column {
        position: sticky;
        top: 120px;
        display: flex;
        flex-direction: column;
        gap: 30px;
    }

    /* Left Social Sidebar Sticky Behavior */
    .mws-social-sidebar {
        position: sticky !important;
        top: 120px;
        left: auto !important;
        transform: none !important;
        margin: 0 !important;
        z-index: 10;
    }

    .mws-social-inner {
        display: flex;
        flex-direction: column !important;
        align-items: center;
        gap: 15px;
        background: #f9fcfd;
        border: 1px solid #eef2f2;
        padding: 20px 10px;
        border-radius: 50px;
        box-shadow: 0 4px 15px rgba(2, 40, 52, 0.03);
    }

    .mws-post-sidebar-column .mws-tech-stack-mini {
        margin-bottom: 0;
    }

    .mws-post-sidebar-column .mws-tools-grid {
        grid-template-columns: 1fr;
    }
  }

  /* Social Share Sidebar */
  .mws-social-sidebar {
      position: fixed;
      left: 30px;
      top: 40%;
      z-index: 100;
  }

  .mws-social-inner {
      display: flex;
      flex-direction: column;
      gap: 15px;
      background: #fff;
      padding: 12px;
      border-radius: 50px;
      box-shadow: 0 10px 30px rgba(2, 40, 52, 0.1);
      border: 1px solid #e0e7e7;
  }

.mws-social-icon {
    width: 42px;
    height: 42px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    cursor: pointer;
    border: none;
    background: transparent;
}

.mws-social-icon svg {
    width: 18px;
    height: 18px;
    fill: var(--mws-dark-blue);
    transition: all 0.3s ease;
}

.mws-social-icon.email svg,
.mws-social-icon.copy svg {
    fill: none !important;
    stroke: var(--mws-dark-blue);
}

/* Universal Hover State */
.mws-social-icon:hover {
    background: var(--mws-dark-blue);
    transform: translateY(-3px) scale(1.05);
}

.mws-social-icon:hover svg {
    fill: #ffffff;
    stroke: #ffffff;
}

  /* Author Bio */
  .mws-author-bio-card {
      background: var(--mws-dark-blue);
      color: #ffffff;
      padding: 40px;
      border-radius: 20px;
      max-width: 800px;
      margin: 0px auto 75px;
  }

  .mws-author-info h3 {
      color: #5BBD3D;
      font-family: 'Quicksand', sans-serif;
      margin-top: 0;
  }

@media (max-width: 1200px) {

    /* Main Header Container needs relative positioning for the absolute child */
    .mws-post-header {
        position: relative;
        padding-top: 140px;
        /* Keep your existing top padding */
    }

    .mws-social-sidebar {
        position: absolute !important;
        top: 150px;
        left: 50% !important;
        transform: translateX(-50%) !important;
        width: auto !important;
        margin: 0 !important;
        z-index: 20;
    }

    .mws-social-inner {
        flex-direction: row !important;
        background: rgba(255, 255, 255, 0.4);
        /* Glass transparency */
        backdrop-filter: blur(10px);
        /* The frosted effect */
        -webkit-backdrop-filter: blur(10px);
        padding: 10px 20px;
        border-radius: 50px;
        border: 1px solid rgba(255, 255, 255, 0.3);
        box-shadow: 0 8px 32px rgba(2, 40, 52, 0.1);
    }

    /* Ensure icons are clearly visible against the glass */
    .mws-social-icon svg {
        fill: var(--mws-dark-blue) !important;
    }
}

  .mws-post-tags {
      margin-top: 40px;
      padding-top: 20px;
      border-top: 1px solid #e0e7e7;
      font-size: 14px;
  }

  .mws-post-tags a {
      display: inline-block;
      background: #f4f9f9;
      color: var(--mws-dark-blue);
      padding: 5px 15px;
      border-radius: 20px;
      text-decoration: none;
      margin-left: 10px;
      transition: all 0.3s ease;
  }

  .mws-post-tags a:hover {
      background: var(--mws-green);
      color: #ffffff;
  }

.mws-archive-label {
    display: inline-block;
    color: #5BBD3D;
    /* Your brand green */
    font-size: 14px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 1.5px;
    margin-left: 20px;
    margin-bottom: 10px;
}

.mws-archive-description {
    max-width: 700px;
    margin: 20px auto 75px;
    font-size: 17px;
    color: var(--mws-text-body);
    line-height: 1.6;
}

/* Ensure the active category in the filter bar is highlighted */
.mws-filter-link.active {
    color: #5BBD3D !important;
    border-bottom: 2px solid #5BBD3D;
}

/* Author Hero Section */
.mws-author-hero {
    background: linear-gradient(180deg, var(--mws-bg-start) 0%, #ffffff 100%);
    padding: 120px 20px 80px;
    text-align: center;
}

.mws-author-hero-container {
    max-width: 900px;
    margin: 0 auto;
}

.mws-author-profile-card {
    background: #ffffff;
    padding: 60px 40px;
    border-radius: 24px;
    box-shadow: 0 20px 50px rgba(2, 40, 52, 0.08);
    border: 1px solid #eef2f2;
}

.mws-badge {
    display: inline-block;
    background: rgba(91, 189, 61, 0.1);
    color: #5BBD3D;
    padding: 6px 16px;
    border-radius: 50px;
    font-size: 13px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 1px;
    margin-bottom: 20px;
}

.mws-author-bio-header h1 {
    font-size: clamp(32px, 5vw, 48px);
    color: var(--mws-dark-blue);
    margin: 0 0 10px 0;
}

.mws-author-credentials {
    font-size: 18px;
    color: var(--mws-green);
    font-weight: 600;
    margin-bottom: 30px;
}

.mws-author-description {
    font-size: 18px;
    line-height: 1.7;
    color: var(--mws-text-body);
    max-width: 750px;
    margin: 0 auto 40px;
}

.mws-author-social .mws-social-link {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    background: var(--mws-dark-blue);
    color: #ffffff;
    padding: 14px 28px;
    border-radius: 12px;
    text-decoration: none;
    font-weight: 600;
    transition: all 0.3s ease;
}

.mws-author-social .mws-social-link svg {
    width: 18px;
    height: 18px;
    fill: #ffffff;
}

.mws-author-social .mws-social-link:hover {
    background: #5BBD3D;
    transform: translateY(-3px);
}

/* Author Profile Image Styling */
.mws-author-avatar {
    margin-bottom: 25px;
}

.mws-author-avatar img {
    width: 150px;
    height: 150px;
    border-radius: 50%;
    object-fit: cover;
    border: 4px solid var(--mws-green);
    /* Your brand green */
    box-shadow: 0 10px 30px rgba(2, 40, 52, 0.12);
    display: inline-block;
}

/* Ensure the Gravatar fallback also stays circular */
.mws-author-avatar .avatar {
    border-radius: 50%;
    border: 4px solid var(--mws-green);
}

.mws-author-link {
    color: var(--mws-green);
    /* Your #5BBD3D green */
    text-decoration: none;
    font-weight: 700;
    transition: color 0.3s ease;
}

.mws-author-link:hover {
    color: var(--mws-dark-blue);
    text-decoration: underline;
}

/* Bio Card LinkedIn Button */
.mws-author-bio-cta {
    margin-top: 20px;
}

.mws-linkedin-btn {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    background: transparent;
    color: #5BBD3D;
    /* Your brand green */
    border: 1px solid #5BBD3D;
    padding: 10px 20px;
    border-radius: 8px;
    text-decoration: none;
    font-weight: 700;
    font-size: 14px;
    transition: all 0.3s ease;
}

.mws-linkedin-btn svg {
    width: 18px;
    height: 18px;
    fill: currentColor;
}

.mws-linkedin-btn:hover {
    background: #5BBD3D;
    color: #ffffff;
    transform: translateY(-2px);
    box-shadow: 0 5px 15px rgba(91, 189, 61, 0.2);
}

/* Bio Card Tooltip Line */
.mws-bio-trust-line {
    margin-top: 10px;
    opacity: 0.7;
    font-style: italic;
}

.mws-bio-trust-line a {
    color: #5BBD3D;
    text-decoration: none;
    font-weight: 600;
}

/* Tech Stack & Disclaimer */
.mws-disclaimer {
    margin-top: 15px;
    padding-top: 12px;
    border-top: 1px solid #eef2f2;
    font-size: 12px;
    line-height: 1.5;
    color: var(--mws-text-body);
    opacity: 0.7;
    font-style: italic;
}

.mws-tech-stack-mini {
    background: #ffffff;
    border: 1px dashed #e0e7e7;
    padding: 25px;
    border-radius: 12px;
    margin: 50px 0;
    box-shadow: 0 4px 12px rgba(2, 40, 52, 0.03);
    /* Subtle depth */
}

.mws-tech-stack-mini h5 {
    margin-bottom: 10px;
    letter-spacing: 0.5px;
    opacity: 0.8;
}

.mws-tools-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 20px;
    margin-top: 15px;
}

.mws-tool-card {
    display: flex;
    align-items: center;
    gap: 15px;
    padding: 20px;
    background: #ffffff;
    border: 1px solid #eef2f2;
    border-radius: 12px;
    text-decoration: none !important;
}

.mws-tool-card:hover {
    border-color: #5BBD3D;
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(91, 189, 61, 0.08);
}

.mws-tool-icon {
    width: 44px;
    height: 44px;
    padding: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #f9fcfd;
    border-radius: 10px;
    color: var(--mws-dark-blue);
    flex-shrink: 0;
    box-sizing: border-box;
}

.mws-tool-icon svg {
    width: 100%;
    height: 100%;
    display: block;
    overflow: visible;
}

.mws-tool-name {
    display: block;
    font-weight: 700;
    font-size: 15px;
    color: var(--mws-dark-blue);
}

.mws-tool-desc {
    display: block;
    font-size: 12px;
    color: var(--mws-text-body);
    opacity: 0.7;
}

/* Spacing fix for the Author Bio at the bottom */
.mws-post-footer {
    margin-top: 20px;
    border-top: 1px solid #eef2f2;
    padding-top: 20px;
}

/* Subtle divider between article and footer elements */
.mws-article-text {
    margin-bottom: 40px;
}

.mws-article-text::after {
    content: "";
    display: block;
    width: 60px;
    height: 3px;
    background: #5BBD3D;
    margin: 40px auto;
    border-radius: 2px;
}

/* Tighten Jetpack Spacing */
.sharedaddy,
#jp-relatedposts,
.jetpack_subscription_widget {
    margin-top: 10px !important;
    margin-bottom: 20px !important;
}

/* Bring Signature CTA and Tools Closer */
.mws-signature-cta {
    background: #f9fcfd;
    border: 1px solid #eef2f2;
    border-radius: 16px;
    padding: 35px;
    /* Slightly tighter padding */
    margin: 30px 0;
    /* Reduced from 60px or 80px */
}

.mws-header-tags {
    margin: 0 10px;
    display: inline-flex;
    align-self: center;
    gap: 8px;
}

.mws-tag-link {
    font-size: 12px;
    font-weight: 600;
    color: var(--mws-text-body);
    opacity: 0.6;
    text-decoration: none;
    transition: all 0.3s ease;
}

.mws-tag-link:hover {
    opacity: 1;
    color: #5BBD3D;
}

/* Ensure the dot separator stays clean */
.mws-post-date::before {
    content: "•";
    margin-right: 10px;
    opacity: 0.5;
}

/* Typography Foundation for the WYSIWYG fields */
.mws-article-structured-text {
    font-size: 18px;
    line-height: 1.8;
    color: var(--mws-text-body);
    max-width: 800px;
    margin: 0 auto;
}

/* Featured & Section Images */
.mws-featured-image {
    margin: -40px auto 40px;
    /* Pulls it up slightly toward the header */
    border-radius: 16px;
    overflow: hidden;
    box-shadow: 0 20px 40px rgba(2, 40, 52, 0.1);
}

.mws-featured-image img,
.mws-block-image img {
    width: 100%;
    height: auto;
    display: block;
    object-fit: cover;
}

.mws-block-image {
    margin: 40px 0;
    border-radius: 12px;
    overflow: hidden;
    box-shadow: 0 10px 25px rgba(2, 40, 52, 0.05);
}

/* Section Headers (h2) */
.mws-content-block h2,
.mws-content-summary h2 {
    font-family: 'Quicksand', sans-serif !important;
    font-size: 32px;
    color: var(--mws-dark-blue);
    margin: 60px 0 20px 0;
    line-height: 1.3;
}

h2.mws-content-block {
  font-family: 'Quicksand', sans-serif !important;
}

/* Ensure the very first element doesn't have massive top margin */
.mws-content-intro p:first-child,
.mws-content-block:first-child h2 {
    margin-top: 0;
}

/* Paragraph spacing inside the ACF WYSIWYG editors */
.mws-content-intro p,
.mws-block-text p {
    margin-bottom: 25px;
}

/* Formatting for WYSIWYG Lists */
.mws-block-text ul,
.mws-block-text ol {
    margin: 20px 0 30px 20px;
    padding-left: 20px;
}

.mws-block-text li {
    margin-bottom: 10px;
}

/* Make strong tags pop with brand color */
.mws-block-text strong {
    color: var(--mws-dark-blue);
    font-weight: 700;
}

/* In-Post Interrupter CTA Box */
.mws-in-post-cta {
    background: #f9fcfd;
    /* Subtle light blue/grey background */
    border: 1px solid #eef2f2;
    border-left: 4px solid #5BBD3D;
    /* Your brand green accent */
    border-radius: 12px;
    padding: 30px;
    margin: 45px 0;
    box-shadow: 0 4px 15px rgba(2, 40, 52, 0.03);
}

.mws-in-post-cta-inner {
    display: flex;
    align-items: center;
    gap: 20px;
}

/* Icon Styling */
.mws-cta-icon {
    font-size: 24px;
    background: #ffffff;
    width: 50px;
    height: 50px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.06);
    flex-shrink: 0;
}

/* Text Container */
.mws-cta-text {
    flex-grow: 1;
}

.mws-cta-subtitle {
    display: block;
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: 1px;
    color: var(--mws-text-body);
    opacity: 0.7;
    margin-bottom: 5px;
    font-weight: 700;
}

.mws-cta-title {
    display: block;
    font-size: 20px;
    font-weight: 700;
    color: var(--mws-dark-blue);
    margin-bottom: 5px;
}

.mws-cta-text p {
    margin: 0 !important;
    font-size: 15px;
    line-height: 1.5;
    color: var(--mws-text-body);
}

/* Button overrides for this specific block */
.mws-cta-link {
    white-space: nowrap;
    padding: 12px 24px;
    font-size: 14px;
}

/* Mobile Responsiveness */
@media (max-width: 768px) {
    .mws-in-post-cta-inner {
        flex-direction: column;
        text-align: center;
    }

    .mws-cta-link {
        width: 100%;
        justify-content: center;
    }
}

/* WEB APP */
.mws-webapp-container {
    max-width: 100% !important;
    padding: 0 !important;
    background: #f4f7f8;
    min-height: 100vh;
}

.mws-app-wrapper {
    max-width: 1400px;
    margin: 0 auto;
    padding: 40px 20px;
}

.mws-app-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 20px;
}

.mws-app-status {
    font-size: 12px;
    font-weight: 700;
    text-transform: uppercase;
    color: #5BBD3D;
    /* Brand Green */
    background: rgba(91, 189, 61, 0.1);
    padding: 4px 12px;
    border-radius: 20px;
}

/* The Frame */
.mws-iframe-holder {
    background: #ffffff;
    border-radius: 12px;
    box-shadow: 0 10px 30px rgba(2, 40, 52, 0.08);
    overflow: hidden;
    height: 85vh;
    /* Larger view for tracking data */
}

.mws-iframe-holder iframe {
    width: 100%;
    height: 100%;
    border: none;
}

/* Password Form Styling */
.mws-password-gate {
    max-width: 400px;
    margin: 100px auto;
    padding: 40px;
    background: white;
    border-radius: 12px;
    text-align: center;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.05);
}

.mws-error-page {
    min-height: 70vh;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #f9fcfd;
    padding: 60px 20px;
}

.mws-error-container {
    max-width: 600px;
    text-align: center;
    background: #ffffff;
    padding: 60px;
    border-radius: 20px;
    box-shadow: 0 15px 35px rgba(2, 40, 52, 0.05);
    border: 1px solid #eef2f2;
}

.mws-error-code {
    display: block;
    font-size: 80px;
    font-weight: 800;
    color: rgba(91, 189, 61, 0.1);
    /* Subtle brand green */
    line-height: 1;
    margin-bottom: 20px;
}

.mws-error-content h1 {
    font-size: 32px;
    color: var(--mws-dark-blue);
    margin-bottom: 15px;
}

.mws-error-actions {
    display: flex;
    gap: 15px;
    justify-content: center;
    margin-top: 30px;
}

.mws-error-search {
    margin-top: 40px;
    padding-top: 30px;
    border-top: 1px solid #f0f4f4;
}