:root {
    /* Brand Palette - Brinks Home Style */
    --primary-navy: #0F2835;
    /* Dark Blue */
    --primary-green: #17824A;
    /* CTA Green */
    --primary-green-hover: #145e33;

    --bg-white: #FFFFFF;
    --bg-light: #F6F5F3;
    /* White/Warm White */
    /* Section backgrounds */

    --text-dark: #181818;
    /* Soft Black */
    --text-white: #FFFFFF;
    --text-muted: #666666;

    /* Shadows & Borders */
    --shadow-card: 0 4px 12px rgba(0, 0, 0, 0.08);
    --shadow-hover: 0 8px 24px rgba(0, 0, 0, 0.12);
    --border-light: #e5e7eb;

    --font-heading: 'Work Sans', sans-serif;
    --font-body: 'Arial', sans-serif;

    --container-width: 1200px;
}

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

body {
    font-family: var(--font-body);
    background: var(--bg-white);
    color: var(--text-dark);
    line-height: 1.6;
    overflow-x: hidden;
}

h1,
h2,
h3,
h4,
h5,
h6 {
    font-family: var(--font-heading);
    color: var(--primary-navy);
    line-height: 1.2;
    font-weight: 700;
}

a {
    text-decoration: none;
    color: inherit;
    transition: 0.2s ease;
}

ul {
    list-style: none;
}

/* Utilities */
.container {
    max-width: var(--container-width);
    margin: 0 auto;
    padding: 0 20px;
}

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

.section-padding {
    padding: 80px 0;
}

/* Buttons */
.btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 14px 32px;
    border-radius: 6px;
    font-weight: 700;
    text-transform: uppercase;
    font-size: 0.9rem;
    cursor: pointer;
    transition: all 0.3s ease;
    letter-spacing: 0.5px;
}

.btn-primary {
    background-color: var(--primary-green);
    color: var(--text-white);
    border: none;
}

.btn-primary:hover {
    background-color: var(--primary-green-hover);
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(29, 133, 72, 0.3);
}

.btn-outline {
    background: transparent;
    border: 2px solid var(--primary-navy);
    color: var(--primary-navy);
}

.btn-outline:hover {
    background: var(--primary-navy);
    color: var(--text-white);
}

/* HEADER */
.main-header {
    background-color: var(--primary-navy);
    color: var(--text-white);
    padding: 15px 0;
    position: sticky;
    top: 0;
    z-index: 1000;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
}

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

.logo {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
}

.logo .brand-name {
    font-size: 1.5rem;
    font-weight: 800;
    color: var(--text-white);
    letter-spacing: -0.5px;
    line-height: 1.1;
}

.dealer-tagline {
    font-family: 'Work Sans', sans-serif;
    font-size: 0.75rem;
    color: rgba(255, 255, 255, 0.8);
    text-transform: uppercase;
    letter-spacing: 1px;
    margin-top: 4px;
    font-weight: 500;
}

.nav-links {
    display: flex;
    gap: 30px;
}

.nav-links a {
    color: rgba(255, 255, 255, 0.9);
    font-weight: 500;
    font-size: 0.95rem;
}

.nav-links a:hover {
    color: var(--text-white);
    text-decoration: underline;
    text-underline-offset: 4px;
}

.header-right {
    display: flex;
    align-items: center;
    gap: 20px;
}

.phone-link {
    display: flex;
    align-items: center;
    gap: 8px;
    color: var(--text-white);
    font-weight: 700;
}

.nav-cta {
    padding: 10px 20px;
    font-size: 0.85rem;
}

.mobile-menu-btn {
    display: none;
    background: none;
    border: none;
    cursor: pointer;
}

.mobile-menu-btn span {
    display: block;
    width: 25px;
    height: 2px;
    background-color: var(--text-white);
    margin: 5px 0;
}

.mobile-menu-btn span {
    display: block;
    width: 25px;
    height: 2px;
    background-color: var(--text-white);
    margin: 5px 0;
}

/* PROMOTIONAL BANNER */
.promo-banner {
    background-color: #F0F4FA;
    padding: 30px 0;
    /* Top and Bottom padding equal */
    width: 100%;
}

.promo-title {
    color: var(--primary-navy);
    /* Brand Navy */
    font-family: var(--font-heading);
    font-size: 1.75rem;
    font-weight: 700;
    margin-bottom: 8px;
    line-height: 1.2;
}

.promo-title .highlight-text {
    color: #0047BB;
    /* Brinks Blue for highlight */
}

.promo-subtitle {
    color: var(--text-dark);
    font-size: 1.1rem;
    font-weight: 500;
    margin-bottom: 30px;
    /* Equal to section bottom padding (30px) */
}

/* HERO SECTION */
.hero {
    position: relative;
    height: 650px;
    display: flex;
    align-items: center;
    background-color: #f0f0f0;
    /* Fallback */
    overflow: hidden;
}

.hero-bg {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 0;
}

.hero-bg img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}

.hero-bg::after {
    /* Slight overlay to ensure text readability if needed, but mostly clear */
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.1);
}

.hero-content {
    position: relative;
    z-index: 2;
    width: 100%;
    display: flex;
    justify-content: flex-end;
    /* Align card to right */
}

/* Floating Promo Card */
.hero-promo-card {
    background: var(--bg-white);
    padding: 40px;
    border-radius: 8px;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.15);
    max-width: 450px;
    text-align: left;
    animation: slideUp 0.8s ease-out;
}

.hero-promo-card h1 {
    font-size: 2.5rem;
    margin-bottom: 1rem;
    color: var(--primary-navy);
}

.hero-promo-card p {
    font-size: 1.1rem;
    color: var(--text-muted);
    margin-bottom: 2rem;
}

.hero-promo-card .btn {
    width: 100%;
}

.hero-usp-list {
    text-align: left;
    margin-bottom: 2rem;
    padding-left: 0;
}

.hero-usp-list li {
    position: relative;
    padding-left: 25px;
    margin-bottom: 10px;
    font-size: 1.05rem;
    color: var(--text-dark);
    font-weight: 500;
}

.hero-usp-list li::before {
    content: '✓';
    position: absolute;
    left: 0;
    color: var(--primary-green);
    font-weight: 800;
}

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

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

/* FEATURES SECTION */
.features {
    background: var(--bg-white);
}

.section-header h2 {
    font-size: 2.2rem;
    margin-bottom: 1rem;
}

.section-header p {
    color: var(--text-muted);
    font-size: 1.1rem;
    max-width: 600px;
    margin: 0 auto;
}

.features-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    gap: 40px;
    margin-top: 50px;
}

.feature-card {
    text-align: center;
    padding: 30px;
    border: 1px solid transparent;
    border-radius: 8px;
    transition: all 0.3s;
}

.feature-card:hover {
    border-color: var(--border-light);
    box-shadow: var(--shadow-card);
    transform: translateY(-5px);
}

.icon-box {
    margin-bottom: 20px;
    color: var(--primary-navy);
}

.icon-box svg {
    width: 50px;
    height: 50px;
    stroke-width: 1.5;
}

.feature-card h3 {
    font-size: 1.25rem;
    margin-bottom: 15px;
}

.feature-card p {
    color: var(--text-muted);
    font-size: 0.95rem;
}

/* WHAT TO EXPECT SECTION (Replaces Features) */
.what-to-expect {
    background-color: #0F2835;
    /* Dark Navy from Brinks */
    color: white;
}

.what-to-expect .section-header h2 {
    color: white;
    font-size: 2.5rem;
    font-weight: 700;
}

.what-to-expect .section-header p {
    color: rgba(255, 255, 255, 0.9);
    max-width: 900px;
    margin-left: auto;
    margin-right: auto;
    font-size: 1.1rem;
    line-height: 1.6;
}

.what-to-expect .feature-card {
    background: transparent;
    box-shadow: none;
    padding: 0;
    text-align: center;
}

.what-to-expect .feature-card:hover {
    transform: none;
}

.what-to-expect .icon-box {
    background-color: transparent;
    width: auto;
    height: auto;
    margin-bottom: 20px;
    color: white;
}

.what-to-expect .icon-box svg {
    width: 60px;
    height: 60px;
    stroke-width: 1.5px;
}

.what-to-expect h3 {
    color: white;
    font-size: 1.35rem;
    margin-bottom: 15px;
    font-weight: 700;
}

.what-to-expect .feature-card p {
    color: rgba(255, 255, 255, 0.85);
    font-size: 0.95rem;
    line-height: 1.5;
}

/* LEAD GEN / CTA STRIP (New) */
.lead-gen-section {
    background-color: var(--primary-navy);
    padding: 60px 0;
    color: var(--text-white);
}

.lead-gen-container {
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    gap: 30px;
}

.lead-gen-text h2 {
    color: var(--text-white);
    font-size: 2rem;
    margin-bottom: 10px;
}

.lead-gen-text p {
    color: rgba(255, 255, 255, 0.8);
    font-size: 1.1rem;
}

.lead-gen-form {
    background: transparent;
    flex-grow: 1;
    max-width: 600px;
}

.inline-form {
    display: flex;
    gap: 10px;
}

.inline-form input {
    flex: 1;
    padding: 14px;
    border-radius: 4px;
    border: none;
    font-family: var(--font-body);
}

.inline-form .btn {
    white-space: nowrap;
}

/* OTHER PRODUCTS SECTION */
.other-products {
    background: var(--bg-white);
}

.other-products .section-header h2 {
    color: var(--primary-navy);
    font-size: 2rem;
    font-weight: 800;
}

.other-products .section-header p {
    color: var(--text-dark);
    font-size: 1.1rem;
}

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

.product-card {
    display: flex;
    flex-direction: column;
    border-radius: 4px;
    overflow: hidden;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1);
}

.product-image img {
    width: 100%;
    height: 250px;
    object-fit: cover;
    display: block;
}

.product-content {
    background-color: #355E70;
    /* Slate Blue/Grey from reference */
    padding: 30px 20px;
    color: white;
    text-align: center;
    flex-grow: 1;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

.product-content h3 {
    font-size: 1.4rem;
    font-weight: 700;
    margin-bottom: 15px;
    color: white;
}

.product-content p {
    font-size: 0.95rem;
    line-height: 1.5;
    margin-bottom: 25px;
    color: rgba(255, 255, 255, 0.9);
}

.btn-product {
    background-color: var(--primary-green);
    color: white;
    font-weight: 700;
    padding: 12px 20px;
    border-radius: 4px;
    text-decoration: none;
    display: inline-block;
    width: 100%;
    margin-bottom: 15px;
    transition: background-color 0.3s ease;
}

/* PRODUCTS PAGE STYLES */
.products-hero {
    background: radial-gradient(circle at center, #163b4d 0%, #0F2835 100%);
    color: white;
    padding: 100px 0;
    margin-bottom: 40px;
}

.products-hero h1 {
    font-size: 3.5rem;
    font-weight: 800;
    margin-bottom: 20px;
    letter-spacing: -1px;
    color: white !important;
}

.products-hero p {
    font-size: 1.25rem;
    max-width: 700px;
    margin: 0 auto;
    opacity: 0.9;
    font-weight: 400;
    line-height: 1.6;
}

.category-header h2 {
    color: var(--primary-navy);
    font-size: 2rem;
    font-weight: 700;
    border-bottom: 2px solid #eee;
    padding-bottom: 10px;
    margin-bottom: 30px;
}

.product-catalog-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
    gap: 30px;
}

.product-item {
    background: var(--bg-white);
    border: 1px solid #ddd;
    border-radius: 8px;
    padding: 20px;
    text-align: center;
    transition: box-shadow 0.3s ease;
}

.product-item:hover {
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.1);
}

.product-item img {
    width: 100%;
    height: 280px;
    /* Increased height */
    object-fit: contain;
    /* Ensure full product is visible */
    border-radius: 4px;
    margin-bottom: 15px;
    background-color: #f9f9f9;
    padding: 10px;
    /* Add padding to prevent edge touching */
}

.product-item h3 {
    color: var(--primary-navy);
    font-size: 1.2rem;
    font-weight: 700;
    margin-bottom: 10px;
}

.product-item p {
    font-size: 0.9rem;
    color: var(--text-muted);
    margin-bottom: 20px;
    line-height: 1.4;
}

.btn-outline {
    background: transparent;
    border: 2px solid var(--primary-green);
    color: var(--primary-green);
    padding: 8px 20px;
    border-radius: 4px;
    font-weight: 700;
    text-decoration: none;
    display: inline-block;
    transition: all 0.3s ease;
}

.btn-outline:hover {
    background: var(--primary-green);
    color: white;
}

.btn-product:hover {
    background-color: #126338;
}

.product-content .terms {
    font-size: 0.75rem;
    text-decoration: underline;
    opacity: 0.8;
    margin-bottom: 0;
}

.testimonials {
    background: var(--bg-light);
}

.testimonial-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    gap: 30px;
    margin-top: 50px;
}

.testimonial-card {
    background: var(--bg-white);
    padding: 30px;
    border-radius: 8px;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.05);
}

.stars {
    color: #FFC107;
    margin-bottom: 15px;
}

.quote-text {
    font-style: italic;
    color: var(--text-dark);
    margin-bottom: 20px;
}

.user-info .name {
    font-weight: 700;
    color: var(--primary-navy);
    display: block;
}

.user-info .location {
    font-size: 0.85rem;
    color: var(--text-muted);
}

/* FOOTER */
.main-footer {
    background-color: var(--primary-navy);
    color: var(--text-white);
    padding-top: 80px;
    padding-bottom: 30px;
}

.footer-grid {
    display: grid;
    grid-template-columns: 2fr 1fr 1fr 1.5fr;
    gap: 40px;
    margin-bottom: 50px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.1);
    padding-bottom: 50px;
}

.footer-logo {
    font-size: 1.5rem;
    font-weight: 800;
    margin-bottom: 20px;
}

.footer-col .logo {
    margin-bottom: 25px;
}

.footer-col h4 {
    color: var(--text-white);
    margin-bottom: 20px;
    font-size: 1.1rem;
    text-transform: uppercase;
    letter-spacing: 1px;
}

.footer-col ul li {
    margin-bottom: 12px;
}

.footer-col ul li a {
    color: rgba(255, 255, 255, 0.7);
    font-size: 0.95rem;
}

.footer-col ul li a:hover {
    color: var(--text-white);
}

.footer-bottom {
    text-align: center;
    color: rgba(255, 255, 255, 0.5);
    font-size: 0.85rem;
}

.footer-bottom a {
    color: rgba(255, 255, 255, 0.7);
    margin: 0 10px;
}

/* Responsive */
@media (max-width: 900px) {
    .nav-links {
        display: none;
    }

    .nav-links.active {
        display: flex;
        flex-direction: column;
        position: absolute;
        top: 100%;
        left: 0;
        width: 100%;
        background-color: var(--primary-navy);
        padding: 20px;
        z-index: 1000;
        box-shadow: 0 10px 30px rgba(0, 0, 0, 0.2);
        border-top: 1px solid rgba(255, 255, 255, 0.1);
    }

    .mobile-menu-btn {
        display: block;
    }

    .hero {
        height: auto;
        min-height: 600px;
    }

    .hero-content {
        justify-content: center;
        padding: 40px 0;
    }

    .hero-promo-card {
        margin: 0 20px;
    }

    .lead-gen-container {
        flex-direction: column;
        text-align: center;
    }

    .inline-form {
        flex-direction: column;
        width: 100%;
    }

    .inline-form input,
    .inline-form .btn {
        width: 100%;
    }

    .footer-grid {
        grid-template-columns: 1fr;
        text-align: center;
    }
}

/* PRICING SECTION */
.pricing {
    background-color: var(--bg-light);
}

.pricing-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    gap: 30px;
    margin-top: 50px;
}

.pricing-card {
    background: var(--bg-white);
    padding: 40px 30px;
    border-radius: 8px;
    border: 1px solid transparent;
    text-align: center;
    transition: all 0.3s ease;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.05);
    position: relative;
    /* For badge positioning */
}

.pricing-card:hover {
    transform: translateY(-5px);
    box-shadow: var(--shadow-hover);
}

.pricing-card.featured {
    border: 2px solid var(--primary-green);
    transform: scale(1.02);
    box-shadow: var(--shadow-card);
}

.pricing-card.featured:hover {
    transform: scale(1.02) translateY(-5px);
}

.pricing-card h3 {
    font-size: 1.5rem;
    margin-bottom: 15px;
    color: var(--primary-navy);
}

.price {
    font-size: 3rem;
    font-weight: 800;
    color: var(--primary-navy);
    line-height: 1;
    margin-bottom: 5px;
}

.price span {
    font-size: 1rem;
    font-weight: 500;
    color: var(--text-muted);
}

.equipment-cost {
    font-size: 0.9rem;
    color: var(--text-muted);
    margin-bottom: 30px;
}

.features-list {
    margin-bottom: 30px;
    text-align: left;
    padding-left: 20px;
}

.features-list li {
    margin-bottom: 10px;
    list-style-type: disc;
    color: var(--text-dark);
}

/* Featured Badge */
.pricing-card .badge {
    position: absolute;
    top: -15px;
    left: 50%;
    transform: translateX(-50%);
    background-color: var(--primary-green);
    color: white;
    padding: 6px 16px;
    border-radius: 20px;
    font-size: 0.85rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

/* FAQ SECTION */
.faq-section {
    background: var(--bg-white);
}

.accordion {
    max-width: 800px;
    margin: 50px auto 0;
}

.accordion-item {
    border-bottom: 1px solid var(--border-light);
}

.accordion-header {
    width: 100%;
    text-align: left;
    padding: 20px 0;
    background: none;
    border: none;
    font-family: var(--font-heading);
    font-size: 1.1rem;
    font-weight: 600;
    color: var(--primary-navy);
    cursor: pointer;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.accordion-header::after {
    content: '+';
    font-size: 1.5rem;
    transition: transform 0.3s ease;
}

.accordion-header.active::after {
    transform: rotate(45deg);
}

.accordion-content {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.3s ease-out;
    padding-right: 20px;
}

.accordion-content p {
    padding-bottom: 20px;
    color: var(--text-dark);
}

/* TRUST BADGE */
.trust-badge {
    margin-top: 20px;
    display: inline-flex;
    align-items: center;
    gap: 10px;
    background: rgba(255, 255, 255, 0.9);
    padding: 8px 16px;
    border-radius: 30px;
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1);
}

.trust-badge .stars {
    color: #FFC107;
    margin-bottom: 0;
    font-size: 1.1rem;
}

/* WHY US PAGE STYLES */
.why-us-hero {
    background: radial-gradient(circle at center, #0B3D59 0%, #0F2835 100%);
    /* Slightly different gradient hue */
}

.comparison-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    gap: 40px;
    max-width: 1000px;
    margin: 50px auto 0;
}

.comparison-card {
    background: var(--bg-white);
    border-radius: 12px;
    box-shadow: 0 5px 20px rgba(0, 0, 0, 0.08);
    /* overflow: hidden; Removed to allow badge to overlap */
    padding: 0;
    border: 1px solid #eee;
}

.comparison-card.turbo-card {
    border: 2px solid var(--primary-green);
    transform: scale(1.02);
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.15);
}

.card-header {
    padding: 30px;
    background: #f9f9f9;
    border-bottom: 1px solid #eee;
    text-align: center;
    position: relative;
    border-radius: 12px 12px 0 0;
    /* Maintain top rounded corners */
}

.turbo-card .card-header {
    background: var(--primary-navy);
    color: white;
}

.card-header h3 {
    margin: 0;
    font-size: 1.5rem;
    font-weight: 800;
}

.featured-badge {
    position: absolute;
    top: -12px;
    left: 50%;
    transform: translateX(-50%);
    background: var(--primary-green);
    color: white;
    padding: 4px 12px;
    border-radius: 20px;
    font-size: 0.8rem;
    font-weight: 700;
    text-transform: uppercase;
}

.comparison-list {
    padding: 30px;
}

.comparison-list li {
    margin-bottom: 15px;
    display: flex;
    align-items: center;
    gap: 10px;
    font-size: 0.95rem;
    color: var(--text-dark);
}

.comparison-list li.check::before {
    content: '✓';
    color: var(--primary-green);
    font-weight: 900;
    font-size: 1.2rem;
}

.comparison-list li.cross::before {
    content: '✕';
    color: #e74c3c;
    font-weight: 900;
}

.full-width {
    width: 100%;
    border-radius: 0 0 12px 12px;
}

.difference-section {
    background-color: #F8F9FA;
}

.large-text {
    font-size: 1.25rem;
    color: var(--primary-navy);
    font-weight: 500;
    max-width: 800px;
    margin: 0 auto 40px;
}

.stat-grid {
    display: flex;
    justify-content: center;
    gap: 50px;
    flex-wrap: wrap;
    margin-top: 40px;
}

.stat-item {
    display: flex;
    flex-direction: column;
}

.stat-number {
    font-size: 2.5rem;
    font-weight: 900;
    color: var(--primary-green);
}

.stat-label {
    font-size: 1rem;
    font-weight: 600;
    color: var(--primary-navy);
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.btn-outline-dark {
    background: transparent;
    border: 2px solid var(--primary-navy);
    color: var(--primary-navy);
    padding: 12px 30px;
    border-radius: 4px;
    font-weight: 700;
    text-decoration: none;
    display: inline-block;
    transition: all 0.3s ease;
}


.btn-outline-dark:hover {
    background: var(--primary-navy);
    color: white;
}

/* COMPARISON TABLE SECTION */
/* COMPARISON TABLE SECTION */
.comparison-table-section {
    background-color: #F8F9FB;
    /* Light grey background for the section */
    padding-bottom: 80px;
}

.comparison-table-wrapper {
    overflow-x: auto;
    max-width: 1200px;
    margin: 40px auto 0;
    box-shadow: 0 10px 40px rgba(0, 0, 0, 0.08);
    /* Stronger shadow */
    border-radius: 16px;
    border: none;
    background: white;
    position: relative;
}

.comparison-table {
    width: 100%;
    min-width: 1000px;
    border-collapse: separate;
    border-spacing: 0;
    background: white;
}

.comparison-table th,
.comparison-table td {
    padding: 18px 15px;
    text-align: center;
    border-bottom: 1px solid #eee;
    font-size: 0.95rem;
    color: var(--text-dark);
}

/* Sticky Header */
.comparison-table thead th {
    position: sticky;
    top: 0;
    z-index: 10;
    background: #f9f9f9;
    border-bottom: 2px solid #eaeaea;
}

.comparison-table th {
    font-size: 1rem;
    font-weight: 700;
    color: var(--primary-navy);
    vertical-align: middle;
}

/* Brand Column Highlight */
.comparison-table th.brand-col {
    background: var(--primary-navy);
    color: white;
    width: 22%;
    border-radius: 12px 12px 0 0;
    /* Rounded top for the highlight column */
    position: relative;
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1);
    z-index: 11;
    /* Higher than regular headers */
}

/* Feature Column */
.comparison-table .feature-col {
    text-align: left;
    padding-left: 30px;
    min-width: 220px;
    font-weight: 600;
    color: var(--primary-navy);
    background: white;
    position: sticky;
    left: 0;
    z-index: 12;
    /* Stick on top of scrolling content */
    border-right: 1px solid #f0f0f0;
}

/* Fix for sticky feature col covering the brand col when scrolling? 
  Actually, let's keep it simple. Sticky feature col might overlap if not careful. 
  Let's remove simple sticky left for now to avoid complexity with the brand col highlight.
  Instead, we made the wrapper stick.
*/
.comparison-table .feature-col {
    position: static;
    border-right: none;
}


/* Highlighted Brand Column Cells */
.comparison-table .highlight-cell {
    background-color: #F0F7FF;
    /* Very light blue tint */
    border-left: 2px solid #E6F0FA;
    border-right: 2px solid #E6F0FA;
    font-weight: 700;
    position: relative;
}

/* Bottom corners for highlight */
.comparison-table tbody tr:last-child .highlight-cell {
    border-radius: 0 0 12px 12px;
    border-bottom: 2px solid #E6F0FA;
}

.comparison-table tbody tr:hover td {
    background-color: #fafafa;
}

/* Keep highlight cell color even on hover */
.comparison-table tbody tr:hover td.highlight-cell {
    background-color: #EBF5FF;
}

.comparison-table td:first-child {
    text-align: left;
    font-weight: 600;
    color: var(--primary-navy);
    padding-left: 30px;
}

/* Check Circle Design */
.comparison-table .check-circle {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 28px;
    background-color: #0E5EAA;
    /* Brinks/Turbo Blue for contrast */
    color: white;
    border-radius: 50%;
    font-size: 1rem;
    font-weight: 800;
    box-shadow: 0 2px 5px rgba(14, 94, 170, 0.3);
}

.comparison-table .check {
    color: var(--text-dark);
    font-weight: 500;
    /* Regular checks less prominent */
    opacity: 0.7;
}

.comparison-table .cross {
    color: #ccc;
    /* Subtler cross */
    font-weight: 400;
    font-size: 1.2rem;
}

.table-brand {
    font-size: 1.4rem;
    font-weight: 900;
    letter-spacing: -0.5px;
}

.table-sub-brand {
    font-size: 0.75rem;
    font-weight: 500;
    opacity: 0.9;
    text-transform: uppercase;
    letter-spacing: 1px;
    margin-top: 5px;
    color: #4CAF50;
    /* Green accent for the subtext */
}

.disclaimer-text {
    font-size: 0.8rem;
    color: #888;
    padding: 25px 30px;
    text-align: left;
    line-height: 1.5;
    margin: 0;
    background: #fff;
    border-radius: 0 0 16px 16px;
}