/**
 * Template Name: ECC Template
 * Template URL: https://everycentcounts.net
 * Updated: Aug 29 2025 with Bootstrap v5.3.7
 * Author: EveryCentCounts.net
 * Color Scheme: Platinum & Crimson
 */

:root {
    /* ===== CORE BRAND COLORS (Your new palette) ===== */
    --primary-color: #4361ee;
    /* Energetic, trustworthy blue */
    --secondary-color: #7209b7;
    /* Creative purple */
    --accent-color: #ffa500;
    /* Vibrant pink for CTAs */
    --warm-color: #ff9e00;
    /* Friendly orange */

    /* ===== NEUTRAL COLORS (Expanded system) ===== */
    --light-color: #f8f9fa;
    --dark-color: #2b2d42;
    --text-color: #4a4a4a;
    --muted-color: #6c757d;
    --border-color: #dee2e6;

    /* ===== BACKGROUND COLORS ===== */
    --body-bg: #ffffff;
    --footer-background: #2b2d42;
    --card-bg: #ffffff;

    /* ===== SEMANTIC COLORS ===== */
    --success-color: #28a745;
    --warning-color: #ffc107;
    --danger-color: #dc3545;
    --info-color: #17a2b8;

    /* ===== TYPOGRAPHY ===== */
    --font-primary: 'Roboto', sans-serif;
    --font-secondary: 'Raleway', sans-serif;

    /* ===== UTILITIES ===== */
    --border-radius: 0.375rem;
    --box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075);
    --transition: all 0.3s ease;
}

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

body {
    font-family: var(--font-primary);
    line-height: 1.6;
    color: var(--dark-color);
    overflow-x: hidden;
}

/*--------------------------------------------------------------
# Topbar Section
--------------------------------------------------------------*/
.topbar {
    background: linear-gradient(135deg, var(--primary-color), var(--secondary-color));
    color: white;
    padding: 0.5rem 0;
    font-size: 0.9rem;
    border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}

.topbar-contact a {
    transition: color 0.3s ease;
}

.topbar-contact a:hover {
    color: var(--warning-color) !important;
}

.executive-contact-btn {
    background: linear-gradient(135deg, var(--accent-color), var(--secondary-color));
    border: none;
    border-radius: 25px;
    padding: 0.5rem 1.5rem;
    font-weight: 500;
    transition: all 0.3s ease;
    animation: pulse 2s infinite;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.2);
}

.executive-contact-btn:hover {
    transform: translateY(-2px);
    box-shadow: 0 6px 20px rgba(0, 0, 0, 0.3);
    animation: none;
}

@keyframes pulse {
    0% {
        box-shadow: 0 0 0 0 rgba(70, 143, 175, 0.7);
    }

    70% {
        box-shadow: 0 0 0 10px rgba(70, 143, 175, 0);
    }

    100% {
        box-shadow: 0 0 0 0 rgba(70, 143, 175, 0);
    }
}

/*--------------------------------------------------------------
# Header Section
--------------------------------------------------------------*/
.header {
    background: white;
    box-shadow: 0 2px 15px rgba(0, 0, 0, 0.1);
    position: sticky;
    top: 0;
    z-index: 1000;
}

.branding {
    padding: 1rem 0;
}

.logo {
    text-decoration: none;
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

.logo img {
    height: 40px;
    width: auto;
    transition: transform 0.3s ease;
}

.logo:hover img {
    transform: scale(1.1);
}

.sitename {
    font-family: var(--font-secondary);
    font-size: 1.8rem;
    font-weight: 700;
    color: var(--primary-color);
    margin: 0;
    text-transform: lowercase;
    letter-spacing: -0.5px;
}

/*--------------------------------------------------------------
# Navbar Section
--------------------------------------------------------------*/
.navmenu {
    display: flex;
    align-items: center;
}

.navmenu ul {
    display: flex;
    list-style: none;
    margin: 0;
    padding: 0;
    gap: 1.5rem;
}

.navmenu a {
    text-decoration: none;
    color: var(--dark-color);
    font-weight: 500;
    font-size: 0.95rem;
    transition: all 0.3s ease;
    display: flex;
    align-items: center;
    padding: 0.5rem 0;
    position: relative;
    text-transform: capitalize;
}

.navmenu a:hover,
.navmenu a.active {
    color: var(--primary-color);
}

.navmenu a::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 0;
    height: 2px;
    background: var(--primary-color);
    transition: width 0.3s ease;
}

.navmenu a:hover::after,
.navmenu a.active::after {
    width: 100%;
}

.mobile-nav-toggle {
    display: none;
    font-size: 1.5rem;
    cursor: pointer;
    color: var(--primary-color);
}

/*--------------------------------------------------------------
# Consultation Button
--------------------------------------------------------------*/

.consultation-button {
    position: fixed;
    bottom: 100px;
    /* Adjust to sit above reCAPTCHA badge */
    right: 20px;
    z-index: 1000;
    background: linear-gradient(135deg, #007BFF, #00C6FF);
    border-radius: 30px;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.2);
    padding: 12px 20px;
    transition: transform 0.3s ease;
}

.consultation-button:hover {
    transform: translateY(-3px);
}

.consultation-link {
    color: #fff;
    font-weight: bold;
    font-family: 'Segoe UI', sans-serif;
    text-decoration: none;
    font-size: 14px;
    display: inline-block;
}

/*--------------------------------------------------------------
# Footer Section
--------------------------------------------------------------*/
.footer {
    background: linear-gradient(135deg, var(--primary-color), var(--dark-color));
    color: white;
    margin-top: auto;
}

.footer-top {
    padding: 4rem 0 2rem;
}

.footer-about .logo {
    margin-bottom: 1.5rem;
}

.footer-about .logo img {
    height: 50px;
}

.footer-about .sitename {
    font-size: 1.5rem;
    color: white;
}

.footer-about address {
    font-style: normal;
    margin-bottom: 1.5rem;
    line-height: 1.6;
}

.footer-links h4 {
    color: white;
    margin-bottom: 1.5rem;
    font-size: 1.2rem;
    font-weight: 600;
}

.footer-links ul {
    list-style: none;
    padding: 0;
}

.footer-links li {
    margin-bottom: 0.75rem;
    display: flex;
    align-items: center;
}

.footer-links li i {
    margin-right: 0.5rem;
    flex-shrink: 0;
}

.footer-links li a {
    color: rgba(255, 255, 255, 0.8);
    text-decoration: none;
    transition: color 0.3s ease;
    display: inline-flex;
    align-items: center;
    flex-grow: 1;
}

.footer-links li a:hover {
    color: var(--accent-color);
    transform: translateX(4px);
    /* moves the link 4px to the right */
    transition: transform 0.2s ease;
    /* smooth animation */
}

.footer-about p {
    color: rgba(255, 255, 255, 0.9);
    line-height: 1.7;
}

.credits {
    color: rgba(255, 255, 255, 0.7);
    font-size: 0.9rem;
}

.credits a {
    color: rgba(255, 255, 255, 0.9);
    text-decoration: none;
}

.credits a:hover {
    color: white;
}

.social-links {
    display: flex;
    gap: 1rem;
}

.social-links a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    background: rgba(255, 255, 255, 0.1);
    color: white;
    border-radius: 50%;
    text-decoration: none;
    transition: all 0.3s ease;
}

.social-links a:hover {
    background: var(--accent-color);
    transform: translateY(-3px);
}

/*--------------------------------------------------------------
# Utility Classes
--------------------------------------------------------------*/
.dark-background {
    background-color: var(--dark-color);
}

.text-primary-custom {
    color: var(--primary-color) !important;
}

.bg-primary-custom {
    background-color: var(--primary-color) !important;
}

.credits {
    font-family: 'Roboto', sans-serif;
    font-size: 0.95rem;
    /* Match base font size */
    color: rgba(255, 255, 255, 0.9);
    /* Match sitename tone */
    font-weight: 500;
    margin-top: 0.25rem;
}

.credits a {
    color: rgba(255, 255, 255, 0.9);
    text-decoration: none;
    font-weight: 500;
}

.credits a:hover {
    color: var(--accent-color);
}

/* Responsive Design */
@media (max-width: 1199.98px) {
    .navmenu ul {
        gap: 1rem;
    }
}

@media (max-width: 991.98px) {
    .mobile-nav-toggle {
        display: block;
    }

    .navmenu ul {
        display: none;
        position: absolute;
        top: 100%;
        left: 0;
        right: 0;
        background: white;
        flex-direction: column;
        padding: 1rem;
        box-shadow: 0 5px 15px rgba(0, 0, 0, 0.1);
        gap: 0;
    }

    .navmenu ul.show {
        display: flex;
    }

    .navmenu li {
        width: 100%;
    }

    .navmenu a {
        padding: 0.75rem 1rem;
        border-bottom: 1px solid rgba(0, 0, 0, 0.1);
    }

    .navmenu a::after {
        display: none;
    }

    .topbar-contact {
        text-align: center;
        margin-bottom: 0.5rem;
    }

    .topbar .text-md-end {
        text-align: center !important;
    }
}

@media (max-width: 767.98px) {
    .sitename {
        font-size: 1.5rem;
    }

    .footer-top {
        padding: 3rem 0 1.5rem;
    }

    .footer-about .sitename {
        font-size: 1.5rem;
    }

    .copyright .sitename {
        font-size: 0.9rem;
    }
}

@media (max-width: 575.98px) {
    .topbar {
        font-size: 0.8rem;
    }

    .executive-contact-btn {
        padding: 0.4rem 1rem;
        font-size: 0.8rem;
    }

    .logo img {
        height: 35px;
    }

    .sitename {
        font-size: 1.3rem;
    }
}

/* Print Styles */
@media print {

    .topbar,
    .header,
    .footer {
        display: none;
    }
}

/*--------------------------------------------------------------
# Footer Copyright - Clean & Modern
--------------------------------------------------------------*/
.footer-copyright {
    background: #1a1a1a;
    color: #ccc;
    padding: 1.5rem 0;
    border-top: 1px solid #333;
    font-size: 0.9rem;
}

.copyright-content {
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    gap: 1rem;
}

.copyright-text {
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
}

.copyright-line {
    display: flex;
    align-items: center;
    gap: 0.25rem;
    flex-wrap: wrap;
}

.copyright-line i {
    color: #667eea;
    font-size: 0.8em;
}

.company-name {
    color: #fff;
    font-weight: 600;
}

.current-year {
    color: #fff;
    font-weight: 500;
}

.design-credits {
    font-size: 0.85rem;
    color: #999;
}

.credit-link {
    color: #ccc;
    text-decoration: none;
    transition: color 0.3s ease;
}

.credit-link:hover {
    color: #667eea;
}

.copyright-links {
    display: flex;
    align-items: center;
    gap: 1.5rem;
}

.legal-links {
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

.legal-links a {
    color: #ccc;
    text-decoration: none;
    font-size: 0.85rem;
    transition: color 0.3s ease;
}

.legal-links a:hover {
    color: #667eea;
}

.divider {
    color: #666;
    font-size: 0.8rem;
}

.social-links {
    display: flex;
    gap: 0.75rem;
}

.social-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    background: #333;
    color: #ccc;
    border-radius: 6px;
    text-decoration: none;
    transition: all 0.3s ease;
}

.social-link:hover {
    background: #667eea;
    color: #fff;
    transform: translateY(-1px);
}

/* Responsive Design */
@media (max-width: 768px) {
    .copyright-content {
        flex-direction: column;
        text-align: center;
        gap: 1rem;
    }

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

    .copyright-links {
        flex-direction: column;
        gap: 1rem;
    }

    .legal-links {
        order: 2;
    }

    .social-links {
        order: 1;
    }
}

@media (max-width: 480px) {
    .footer-copyright {
        padding: 1.25rem 0;
    }

    .copyright-line {
        justify-content: center;
        text-align: center;
    }

    .legal-links {
        flex-wrap: wrap;
        justify-content: center;
    }
}

/*--------------------------------------------------------------
# Newsletter Section
--------------------------------------------------------------*/
#newsletter.section-bg {
    background: linear-gradient(135deg, #f5f7fa 0%, #e0eafc 100%);
    padding: 6rem 0;
    font-family: var(--font-primary);
    color: var(--text-color);
    position: relative;
    overflow: hidden;
}

#newsletter::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 4px;
    background: linear-gradient(90deg, var(--primary-color), var(--accent-color), var(--warm-color));
}

/* Newsletter Form Card */
#newsletter .php-email-form {
    background: linear-gradient(145deg, #ffffff 0%, #f8f9fa 100%);
    border: 2px solid #e9ecef;
    border-radius: 20px;
    padding: 3rem;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.08);
    transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);
    position: relative;
    overflow: hidden;
}

#newsletter .php-email-form::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 4px;
    background: linear-gradient(90deg, var(--primary-color), var(--accent-color));
    opacity: 0;
    transition: opacity 0.3s ease;
}

#newsletter .php-email-form:hover {
    transform: translateY(-8px);
    border-color: var(--primary-color);
    box-shadow: 0 20px 40px rgba(0, 0, 0, 0.15);
}

#newsletter .php-email-form:hover::before {
    opacity: 1;
}

/* Newsletter Form Elements */
#newsletter-form .form-label {
    font-weight: 600;
    color: var(--dark-color);
    margin-bottom: 0.5rem;
}

#newsletter-form .input-group-text {
    background: linear-gradient(135deg, var(--primary-color), var(--secondary-color));
    border: 2px solid var(--primary-color);
    border-right: none;
    color: white;
    font-size: 1.1rem;
    padding: 0.75rem 1rem;
    transition: all 0.3s ease;
}

#newsletter-form .form-control {
    border: 2px solid var(--border-color);
    border-left: none;
    border-radius: 0 10px 10px 0;
    padding: 0.75rem 1rem;
    font-size: 0.95rem;
    transition: all 0.3s ease;
    background: white;
}

#newsletter-form .form-control:focus {
    border-color: var(--primary-color);
    box-shadow: 0 0 0 0.2rem rgba(67, 97, 238, 0.1);
}

#newsletter-form .input-group:focus-within .input-group-text {
    background: linear-gradient(135deg, var(--secondary-color), var(--primary-color));
    transform: scale(1.05);
}

/* Newsletter Submit Button */
#newsletter-form .btn-primary {
    background: linear-gradient(45deg, var(--accent-color), var(--warm-color));
    color: var(--dark-color);
    border: none;
    border-radius: 50px;
    padding: 1rem 2.5rem;
    font-weight: 700;
    font-family: var(--font-secondary);
    transition: all 0.3s ease;
    box-shadow: 0 4px 15px rgba(255, 165, 0, 0.3);
    text-transform: uppercase;
    letter-spacing: 0.5px;
    font-size: 0.9rem;
    position: relative;
    overflow: hidden;
}

#newsletter-form .btn-primary::before {
    content: "";
    position: absolute;
    top: 0;
    left: -100%;
    width: 100%;
    height: 100%;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.4), transparent);
    transition: left 0.5s ease;
}

#newsletter-form .btn-primary:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 25px rgba(255, 165, 0, 0.4);
    color: var(--dark-color);
}

#newsletter-form .btn-primary:hover::before {
    left: 100%;
}

/* Subscription Benefits - HORIZONTAL on Desktop */
.subscription-benefits {
    margin-top: 2.5rem;
    padding-top: 2rem;
    border-top: 2px solid var(--border-color);
}

.subscription-benefits h6 {
    font-weight: 600;
    color: var(--dark-color);
    margin-bottom: 1.5rem;
    text-align: center;
    font-size: 1.1rem;
}

.subscription-benefits ul {
    display: flex;
    justify-content: center;
    gap: 2rem;
    padding: 0;
    margin: 0;
    list-style: none;
    flex-wrap: wrap;
}

.subscription-benefits ul li {
    display: flex;
    align-items: center;
    font-size: 0.95rem;
    color: var(--text-color);
    background: rgba(67, 97, 238, 0.05);
    padding: 0.75rem 1rem;
    border-radius: 10px;
    transition: all 0.3s ease;
    flex: 1;
    min-width: 200px;
    max-width: 250px;
    justify-content: center;
}

.subscription-benefits ul li:hover {
    background: rgba(67, 97, 238, 0.1);
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
}

.subscription-benefits ul li i {
    font-size: 1.1rem;
    margin-right: 0.5rem;
    flex-shrink: 0;
}

/* Compliance Notice */
#newsletter .compliance-notice {
    background: #f8f9fa;
    border: 1px solid #dee2e6;
    border-radius: 10px;
    padding: 1.5rem;
    margin-top: 1.5rem;
}

#newsletter .compliance-notice .form-check-label small {
    color: var(--text-color);
    line-height: 1.5;
}

#newsletter .compliance-notice a {
    color: var(--primary-color);
    text-decoration: underline;
}

#newsletter .compliance-notice a:hover {
    text-decoration: none;
}

/* reCAPTCHA Notice */
#newsletter-form small.text-muted {
    font-size: 0.85rem;
    display: block;
    margin-top: 1rem;
    text-align: center;
}

/*--------------------------------------------------------------
# Contact Section - Updated to Match Newsletter
--------------------------------------------------------------*/
#contact {
    background: linear-gradient(135deg, var(--light-color) 0%, #f8f9ff 100%);
    padding: 6rem 0;
    font-family: var(--font-primary);
    color: var(--text-color);
    position: relative;
    overflow: hidden;
}

#contact::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 4px;
    background: linear-gradient(90deg, var(--primary-color), var(--accent-color), var(--warm-color));
}

/* Contact Info Cards - Matching Newsletter Cards */
#contact .info {
    background: linear-gradient(145deg, #ffffff 0%, #f8f9fa 100%);
    border: 2px solid #e9ecef;
    border-radius: 20px;
    padding: 2.5rem;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.08);
    transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);
    height: 100%;
    position: relative;
    overflow: hidden;
}

#contact .info::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 4px;
    background: linear-gradient(90deg, var(--primary-color), var(--accent-color));
    opacity: 0;
    transition: opacity 0.3s ease;
}

#contact .info:hover {
    transform: translateY(-8px);
    border-color: var(--primary-color);
    box-shadow: 0 20px 40px rgba(0, 0, 0, 0.15);
}

#contact .info:hover::before {
    opacity: 1;
}

/* Contact Form - Matching Newsletter Form */
#contact .php-email-form {
    background: linear-gradient(145deg, #ffffff 0%, #f8f9fa 100%);
    border: 2px solid #e9ecef;
    border-radius: 20px;
    padding: 2.5rem;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.08);
    transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);
    height: 100%;
    position: relative;
    overflow: hidden;
}

#contact .php-email-form::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 4px;
    background: linear-gradient(90deg, var(--accent-color), var(--warm-color));
    opacity: 0;
    transition: opacity 0.3s ease;
}

#contact .php-email-form:hover {
    transform: translateY(-8px);
    border-color: var(--accent-color);
    box-shadow: 0 20px 40px rgba(0, 0, 0, 0.15);
}

#contact .php-email-form:hover::before {
    opacity: 1;
}

/* Shared Form Elements */
#contact .php-email-form .form-group label {
    font-weight: 600;
    color: var(--dark-color);
    margin-bottom: 0.5rem;
}

#contact .php-email-form .input-group-text {
    background: linear-gradient(135deg, var(--primary-color), var(--secondary-color));
    border: 2px solid var(--primary-color);
    border-right: none;
    color: white;
    font-size: 1.1rem;
    padding: 0.75rem 1rem;
    transition: all 0.3s ease;
}

#contact .php-email-form .form-control {
    border: 2px solid var(--border-color);
    border-left: none;
    border-radius: 0 10px 10px 0;
    padding: 0.75rem 1rem;
    font-size: 0.95rem;
    transition: all 0.3s ease;
    background: white;
}

#contact .php-email-form .form-control:focus {
    border-color: var(--primary-color);
    box-shadow: 0 0 0 0.2rem rgba(67, 97, 238, 0.1);
}

#contact .php-email-form .input-group:focus-within .input-group-text {
    background: linear-gradient(135deg, var(--secondary-color), var(--primary-color));
    transform: scale(1.05);
}

/* Contact Info Items */
#contact .info .address {
    margin-bottom: 2rem;
    position: relative;
    padding-left: 0;
    transition: all 0.3s ease;
    display: flex;
    align-items: flex-start;
    gap: 1rem;
}

#contact .info .address:last-child {
    margin-bottom: 0;
}

#contact .info .address:hover {
    transform: translateX(5px);
}

#contact .info i {
    font-size: 1.5rem;
    color: var(--primary-color);
    background: rgba(67, 97, 238, 0.1);
    width: 50px;
    height: 50px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    transition: all 0.3s ease;
    margin-top: 0.25rem;
}

#contact .info .address:hover i {
    background: linear-gradient(135deg, var(--primary-color), var(--secondary-color));
    color: white;
    transform: scale(1.1);
}

#contact .info h4 {
    font-family: var(--font-secondary);
    font-size: 1.1rem;
    font-weight: 700;
    color: var(--dark-color);
    margin-bottom: 0.5rem;
}

#contact .info p {
    font-size: 1rem;
    color: var(--text-color);
    line-height: 1.6;
    margin-bottom: 0;
}

#contact .info a {
    color: var(--primary-color);
    text-decoration: none;
    font-weight: 500;
    transition: all 0.3s ease;
}

#contact .info a:hover {
    color: var(--secondary-color);
}

/* Contact Submit Button - Matching Newsletter */
#contact .php-email-form .btn {
    background: linear-gradient(45deg, var(--accent-color), var(--warm-color));
    color: var(--dark-color);
    border: none;
    border-radius: 50px;
    padding: 1rem 2.5rem;
    font-weight: 700;
    font-family: var(--font-secondary);
    transition: all 0.3s ease;
    box-shadow: 0 4px 15px rgba(255, 165, 0, 0.3);
    text-transform: uppercase;
    letter-spacing: 0.5px;
    font-size: 0.9rem;
    position: relative;
    overflow: hidden;
}

#contact .php-email-form .btn::before {
    content: "";
    position: absolute;
    top: 0;
    left: -100%;
    width: 100%;
    height: 100%;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.4), transparent);
    transition: left 0.5s ease;
}

#contact .php-email-form .btn:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 25px rgba(255, 165, 0, 0.4);
    color: var(--dark-color);
}

#contact .php-email-form .btn:hover::before {
    left: 100%;
}

/* Contact Newsletter Checkbox Section */
#contact .compliance-notice {
    background: #f8f9fa;
    border: 1px solid #dee2e6;
    border-radius: 10px;
    padding: 1rem;
    margin-top: 1rem;
}

#contact .compliance-notice small {
    color: var(--text-color);
    line-height: 1.5;
}

#contact .compliance-notice a {
    color: var(--primary-color);
    text-decoration: underline;
}

#contact .compliance-notice a:hover {
    text-decoration: none;
}

/*--------------------------------------------------------------
# Responsive Design
--------------------------------------------------------------*/
@media (max-width: 992px) {
    .subscription-benefits ul {
        gap: 1.5rem;
    }
    
    .subscription-benefits ul li {
        min-width: 180px;
        font-size: 0.9rem;
    }
}

@media (max-width: 768px) {
    #newsletter.section-bg,
    #contact {
        padding: 4rem 0;
    }
    
    #newsletter .php-email-form,
    #contact .php-email-form,
    #contact .info {
        padding: 2rem 1.5rem;
    }
    
    /* Stack benefits vertically on mobile */
    .subscription-benefits ul {
        flex-direction: column;
        gap: 1rem;
    }
    
    .subscription-benefits ul li {
        min-width: auto;
        max-width: none;
        justify-content: flex-start;
    }
    
    #newsletter .section-title h2,
    #contact .section-title h2 {
        font-size: 1.75rem;
    }
    
    #newsletter .section-title p,
    #contact .section-title p {
        font-size: 1rem;
    }
}

@media (max-width: 576px) {
    #newsletter.section-bg,
    #contact {
        padding: 3rem 0;
    }
    
    #newsletter .php-email-form,
    #contact .php-email-form,
    #contact .info {
        padding: 1.5rem 1rem;
        border-radius: 15px;
    }
    
    .subscription-benefits ul li {
        padding: 0.5rem 0.75rem;
        font-size: 0.85rem;
    }
    
    #newsletter-form .btn-primary,
    #contact .php-email-form .btn {
        width: 100%;
        padding: 1rem 2rem;
    }
}

/*--------------------------------------------------------------
# Animation Enhancements
--------------------------------------------------------------*/
#newsletter .php-email-form,
#contact .php-email-form,
#contact .info,
.subscription-benefits ul li {
    animation: fadeInUp 0.8s ease-out;
}

@keyframes fadeInUp {
    from {
        opacity: 0;
        transform: translateY(30px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* Staggered animations for benefits */
.subscription-benefits ul li:nth-child(1) { animation-delay: 0.1s; }
.subscription-benefits ul li:nth-child(2) { animation-delay: 0.2s; }
.subscription-benefits ul li:nth-child(3) { animation-delay: 0.3s; }
.subscription-benefits ul li:nth-child(4) { animation-delay: 0.4s; }

/*--------------------------------------------------------------
# Focus States for Accessibility
--------------------------------------------------------------*/
#newsletter-form .form-control:focus,
#contact .php-email-form .form-control:focus,
#newsletter-form .btn-primary:focus,
#contact .php-email-form .btn:focus {
    outline: 2px solid var(--accent-color);
    outline-offset: 2px;
}

/*--------------------------------------------------------------
# Preloader
--------------------------------------------------------------*/
#preloader {
    position: fixed;
    inset: 0;
    z-index: 9999;
    overflow: hidden;
    background-color: var(--background-color);
    transition: all 0.6s ease-out;
    width: 100%;
    height: 100vh;
    display: flex;
    align-items: center;
    justify-content: center;
}

#preloader div {
    width: 4px;
    height: 40px;
    background-color: var(--accent-color);
    margin: 0 4px;
}

#preloader div:nth-child(1) {
    animation: animate-preloader 1s ease-in-out -0.45s infinite;
}

#preloader div:nth-child(2) {
    animation: animate-preloader 1s ease-in-out -0.3s infinite;
}

#preloader div:nth-child(3) {
    animation: animate-preloader 1s ease-in-out -0.15s infinite;
}

#preloader div:nth-child(4) {
    animation: animate-preloader 1s infinite;
}

@keyframes animate-preloader {

    0%,
    100% {
        transform: scaleY(0.3);
    }

    50% {
        transform: scaleY(1);
    }
}

/*--------------------------------------------------------------
# Scroll Top Button (Centered)
--------------------------------------------------------------*/
.scroll-top {
    position: fixed;
    left: 50%;
    bottom: 20px;
    transform: translateX(-50%);
    z-index: 99999;
    width: 48px;
    height: 48px;
    background-color: var(--accent-color);
    /* Bright yellow or mint */
    border: none;
    border-radius: 50%;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    visibility: hidden;
    opacity: 0;
    transition: background-color 0.3s ease, transform 0.2s ease, opacity 0.4s ease;
}

.scroll-top.active {
    visibility: visible;
    opacity: 1;
}

.scroll-top:hover {
    background-color: color-mix(in srgb, var(--accent-color), black 15%);
    transform: translateX(-50%) translateY(-2px);
    box-shadow: 0 6px 18px rgba(0, 0, 0, 0.25);
}

.scroll-top:focus {
    outline: none;
    box-shadow: 0 0 0 0.2rem rgba(255, 215, 0, 0.4);
    /* Accent focus ring */
}

/* Icon Styling */
.scroll-top i {
    font-size: 24px;
    color: var(--dark-color);
    /* Use dark for contrast against bright background */
    line-height: 0;
}

/*--------------------------------------------------------------
# Site Branding — Alegreya Sans SC Edition
--------------------------------------------------------------*/
.ecc-brand {
    display: inline-flex;
    align-items: center;
    padding: 0.5rem 1.25rem;
    font-family: 'Alegreya Sans SC', sans-serif;
    font-weight: 700;
    font-size: clamp(2rem, 2.5vw, 2.8rem);
    letter-spacing: 0.5px;
    white-space: nowrap;
    text-decoration: none;
    color: #c99383;
    background: none;
    border: none;
    box-shadow: none;
    transition: transform 0.3s ease;
    gap: 0.15rem;
}

.ecc-brand:hover {
    transform: translateY(-1px);
}

/* Logo styling */
.ecc-brand .ecc-logo {
    height: 32px;
    width: auto;
    display: block;
    margin: 0;
    padding: 0;
    filter: drop-shadow(0 2px 4px rgba(0, 0, 0, 0.3));
    transition: transform 0.3s ease;
}

.ecc-brand:hover .ecc-logo {
    transform: scale(1.05) rotate(3deg);
}

/* Text styling */
.ecc-brand .ecc-text {
    font-variant: small-caps;
    font-weight: 700;
    color: #c99383;
    text-shadow: 0 1px 2px rgba(0, 0, 0, 0.2);
}

/* Focus states for accessibility */
.ecc-brand:focus {
    outline: 2px solid #c99383;
    outline-offset: 2px;
}

.ecc-brand:focus:not(:focus-visible) {
    outline: none;
}

/* Compact version */
.ecc-brand-compact {
    padding: 0.4rem 1rem;
    font-size: clamp(1.6rem, 1.8vw, 2rem);
}

.ecc-brand-compact .ecc-logo {
    height: 28px;
}

/* Responsive tweaks */
@media (max-width: 768px) {
    .ecc-brand {
        padding: 0.4rem 1rem;
        font-size: clamp(1.6rem, 1.8vw, 2rem);
    }

    .ecc-brand .ecc-logo {
        height: 28px;
    }

    .ecc-brand .ecc-text {
        margin-left: 0.25rem;
    }
}

@media (max-width: 576px) {
    .ecc-brand {
        padding: 0.35rem 0.8rem;
        font-size: clamp(1.4rem, 1.6vw, 1.8rem);
    }

    .ecc-brand .ecc-logo {
        height: 24px;
    }

    .ecc-brand .ecc-text {
        margin-left: 0.2rem;
    }
}

/* Print styles */
@media print {
    .ecc-brand {
        color: #c99383 !important;
        box-shadow: none !important;
        border: none !important;
    }

    .ecc-brand .ecc-text {
        text-shadow: none !important;
    }
}

/*--------------------------------------------------------------
# Hero Section
--------------------------------------------------------------*/
.hero {
    background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
    color: white;
    padding: 120px 0 100px;
    text-align: center;
    position: relative;
    overflow: hidden;
}

.hero:before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1000 1000" opacity="0.1"><polygon fill="white" points="0,1000 1000,0 1000,1000"/></svg>');
    background-size: cover;
}

.hero h1 {
    font-weight: 700;
    margin-bottom: 2.7rem;
    font-size: 3rem;
}

.hero p {
    font-size: 1.3rem;
    margin-bottom: 2.5rem;
    max-width: 700px;
    margin-left: auto;
    margin-right: auto;
    opacity: 0.9;
}

/* Hero Section Button Styles */
.button.btn-learn-more {
    display: inline-block;
    background: linear-gradient(135deg, var(--accent-color), var(--warm-color));
    color: var(--dark-color);
    padding: 0.75rem 1.5rem;
    border-radius: 25px;
    text-decoration: none;
    font-weight: 600;
    transition: all 0.3s ease;
    box-shadow: 0 4px 15px rgba(255, 165, 0, 0.3);
    border: none;
}

.button.btn-learn-more:hover {
    transform: translateY(-2px);
    box-shadow: 0 6px 20px rgba(255, 165, 0, 0.4);
    color: var(--dark-color);
    text-decoration: none;
}

/*--------------------------------------------------------------
# Badges Section
--------------------------------------------------------------*/
#badges {
    background: linear-gradient(135deg, var(--light-color) 0%, #f8f9ff 100%);
    padding: 6rem 0;
    font-family: var(--font-primary);
    color: var(--text-color);
    position: relative;
    overflow: hidden;
}

#badges::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 4px;
    background: linear-gradient(90deg, var(--primary-color), var(--accent-color), var(--warm-color));
}

/* Badges Slider Container */
.badges-slider {
    width: 100%;
    height: 280px;
    position: relative;
    margin-top: 2rem;
}

/* Swiper Slide */
.swiper-slide {
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center;
    padding: 2rem;
}

/* Badge Item - Matching Pricing Card Style */
.badge-item {
    display: flex;
    justify-content: center;
    align-items: center;
    height: 100%;
    width: 100%;
    background: linear-gradient(145deg, #ffffff 0%, #f8f9fa 100%);
    border: 2px solid #e9ecef;
    border-radius: 20px;
    padding: 2.5rem;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.08);
    transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);
    position: relative;
    overflow: hidden;
}

.badge-item::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 4px;
    background: linear-gradient(90deg, var(--primary-color), var(--accent-color));
    opacity: 0;
    transition: opacity 0.3s ease;
}

.badge-item:hover {
    transform: translateY(-8px);
    border-color: var(--primary-color);
    box-shadow: 0 20px 40px rgba(0, 0, 0, 0.15);
}

.badge-item:hover::before {
    opacity: 1;
}

/* Badge Images */
.badge-item img {
    height: 140px;
    width: auto;
    max-width: 280px;
    object-fit: contain;
    transition: all 0.3s ease;
    filter: grayscale(0.3) brightness(0.95);
}

.badge-item:hover img {
    transform: scale(1.05);
    filter: grayscale(0) brightness(1);
}

/* Swiper Pagination - Updated Colors */
.swiper-pagination-bullet {
    width: 12px;
    height: 12px;
    background: var(--border-color);
    opacity: 0.7;
    transition: all 0.3s ease;
    margin: 0 6px !important;
}

.swiper-pagination-bullet-active {
    background: linear-gradient(135deg, var(--primary-color), var(--secondary-color));
    opacity: 1;
    transform: scale(1.2);
    box-shadow: 0 2px 8px rgba(67, 97, 238, 0.3);
}

/* Swiper Navigation - Updated Colors */
.swiper-button-next,
.swiper-button-prev {
    background: linear-gradient(135deg, var(--primary-color), var(--secondary-color));
    color: white !important;
    width: 50px;
    height: 50px;
    border-radius: 50%;
    box-shadow: 0 4px 15px rgba(67, 97, 238, 0.3);
    transition: all 0.3s ease;
    margin-top: -25px;
}

.swiper-button-next::after,
.swiper-button-prev::after {
    font-size: 20px;
    font-weight: bold;
}

.swiper-button-next:hover,
.swiper-button-prev:hover {
    background: linear-gradient(135deg, var(--secondary-color), var(--primary-color));
    transform: scale(1.1);
    box-shadow: 0 6px 20px rgba(67, 97, 238, 0.4);
}

.swiper-button-next:active,
.swiper-button-prev:active {
    transform: scale(0.95);
}

/* Swiper Container Enhancements */
.swiper {
    padding: 1rem 0 4rem 0;
}

.swiper-wrapper {
    align-items: center;
}

/* Certification Badge Animation */
.badge-item {
    animation: fadeInUp 0.8s ease-out;
}

@keyframes fadeInUp {
    from {
        opacity: 0;
        transform: translateY(30px);
    }

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

/* Individual Slide Animations */
.swiper-slide:nth-child(1) .badge-item {
    animation-delay: 0.1s;
}

.swiper-slide:nth-child(2) .badge-item {
    animation-delay: 0.2s;
}

.swiper-slide:nth-child(3) .badge-item {
    animation-delay: 0.3s;
}

/* Focus States for Accessibility */
.swiper-button-next:focus,
.swiper-button-prev:focus {
    outline: 2px solid var(--accent-color);
    outline-offset: 2px;
}

/* Responsive Design */
@media (max-width: 992px) {
    .badges-slider {
        height: 250px;
    }

    .badge-item {
        padding: 2rem;
    }

    .badge-item img {
        height: 120px;
        max-width: 240px;
    }

    .swiper-button-next,
    .swiper-button-prev {
        width: 45px;
        height: 45px;
        margin-top: -22.5px;
    }

    .swiper-button-next::after,
    .swiper-button-prev::after {
        font-size: 18px;
    }
}

@media (max-width: 768px) {
    #badges {
        padding: 4rem 0;
    }

    .badges-slider {
        height: 220px;
        margin-top: 1.5rem;
    }

    .badge-item {
        padding: 1.75rem 1.5rem;
        border-radius: 15px;
    }

    .badge-item img {
        height: 100px;
        max-width: 200px;
    }

    .swiper-slide {
        padding: 1.5rem;
    }

    .swiper-button-next,
    .swiper-button-prev {
        width: 40px;
        height: 40px;
        margin-top: -20px;
        display: none;
        /* Hide arrows on mobile for better touch experience */
    }

    #badges .section-title h2 {
        font-size: 1.75rem;
    }

    #badges .section-title h2::before,
    #badges .section-title h2::after {
        width: 40px;
    }

    #badges .section-title h2::before {
        left: -50px;
    }

    #badges .section-title h2::after {
        right: -50px;
    }

    #badges .section-title p {
        font-size: 1rem;
    }
}

@media (max-width: 576px) {
    #badges {
        padding: 3rem 0;
    }

    .badges-slider {
        height: 200px;
    }

    .badge-item {
        padding: 1.5rem 1rem;
        border-radius: 12px;
    }

    .badge-item img {
        height: 80px;
        max-width: 160px;
    }

    .swiper-slide {
        padding: 1rem;
    }

    .swiper-pagination-bullet {
        width: 10px;
        height: 10px;
        margin: 0 4px !important;
    }

    .swiper {
        padding: 0.5rem 0 3rem 0;
    }
}

/* Auto-play Animation */
@keyframes slideAutoPlay {
    0% {
        transform: translateX(0);
    }

    100% {
        transform: translateX(-100%);
    }
}

/* Print Styles */
@media print {
    #badges {
        background: white !important;
        padding: 3rem 0 !important;
    }

    #badges::before {
        display: none;
    }

    .badge-item {
        box-shadow: none !important;
        border: 1px solid #ccc !important;
        transform: none !important;
        page-break-inside: avoid;
    }

    .badge-item img {
        filter: none !important;
        transform: none !important;
    }

    .swiper-pagination,
    .swiper-button-next,
    .swiper-button-prev {
        display: none !important;
    }

    .swiper-wrapper {
        transform: none !important;
        flex-direction: column;
        gap: 2rem;
    }

    .swiper-slide {
        width: 100% !important;
        padding: 1rem;
    }
}

/* Enhanced Swiper Controls */
.swiper-pagination {
    bottom: 0 !important;
}

.swiper-button-next {
    right: 10px;
}

.swiper-button-prev {
    left: 10px;
}

/* Touch Device Optimizations */
@media (hover: none) and (pointer: coarse) {
    .badge-item:hover {
        transform: none;
    }

    .badge-item:hover img {
        transform: none;
        filter: grayscale(0.3) brightness(0.95);
    }

    .swiper-button-next,
    .swiper-button-prev {
        display: none;
    }
}

/* High Contrast Mode Support */
@media (prefers-contrast: high) {
    .badge-item {
        border: 2px solid var(--dark-color);
    }

    .badge-item img {
        filter: none;
    }

    .swiper-pagination-bullet {
        border: 1px solid var(--dark-color);
    }
}

/* Reduced Motion Support */
@media (prefers-reduced-motion: reduce) {

    .badge-item,
    .badge-item img,
    .swiper-button-next,
    .swiper-button-prev,
    .swiper-pagination-bullet {
        transition: none;
        animation: none;
    }

    .badge-item:hover {
        transform: none;
    }

    .badge-item:hover img {
        transform: none;
    }
}

/*--------------------------------------------------------------
# Icon Boxes Section
--------------------------------------------------------------*/
#icon-boxes {
    background: linear-gradient(135deg, var(--light-color) 0%, #f8f9ff 100%);
    padding: 6rem 0;
    font-family: var(--font-primary);
    color: var(--text-color);
    position: relative;
    overflow: hidden;
}

#icon-boxes::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 4px;
    background: linear-gradient(90deg, var(--primary-color), var(--accent-color), var(--warm-color));
}

/* Icon Box Cards - Matching Pricing Cards */
#icon-boxes .icon-box {
    background: linear-gradient(145deg, #ffffff 0%, #f8f9fa 100%);
    border: 2px solid #e9ecef;
    border-radius: 20px;
    padding: 2.5rem 2rem;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.08);
    transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);
    height: 100%;
    position: relative;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
}

#icon-boxes .icon-box::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 4px;
    background: linear-gradient(90deg, var(--primary-color), var(--accent-color));
    opacity: 0;
    transition: opacity 0.3s ease;
}

#icon-boxes .icon-box:hover {
    transform: translateY(-8px);
    border-color: var(--primary-color);
    box-shadow: 0 20px 40px rgba(0, 0, 0, 0.15);
}

#icon-boxes .icon-box:hover::before {
    opacity: 1;
}

/* Icon Styling */
#icon-boxes .icon-box .icon {
    background: rgba(67, 97, 238, 0.1);
    width: 80px;
    height: 80px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 1.5rem;
    transition: all 0.3s ease;
    border: 2px solid transparent;
}

#icon-boxes .icon-box:hover .icon {
    background: linear-gradient(135deg, var(--primary-color), var(--secondary-color));
    transform: scale(1.1);
    border-color: var(--primary-color);
}

#icon-boxes .icon-box .icon i {
    font-size: 2.5rem;
    color: var(--primary-color);
    transition: all 0.3s ease;
}

#icon-boxes .icon-box:hover .icon i {
    color: white;
    transform: scale(1.1);
}

/* Title Styling */
#icon-boxes .icon-box .title {
    font-family: var(--font-secondary);
    font-size: 1.5rem;
    font-weight: 700;
    color: var(--dark-color);
    margin-bottom: 1rem;
    line-height: 1.3;
}

#icon-boxes .icon-box .title a {
    color: inherit;
    text-decoration: none;
    transition: color 0.3s ease;
}

#icon-boxes .icon-box:hover .title a {
    color: var(--primary-color);
}

/* Description Styling */
#icon-boxes .icon-box .description {
    font-size: 1rem;
    color: var(--text-color);
    line-height: 1.7;
    margin-bottom: 0;
    flex: 1;
}

#icon-boxes .icon-box .description strong {
    color: var(--primary-color);
    font-weight: 700;
}

/* Row and Column Spacing */
#icon-boxes .row {
    margin-top: 2rem;
}

#icon-boxes .col-md-6 {
    margin-bottom: 2rem;
}

/* Ensure consistent card heights */
#icon-boxes .d-flex.align-items-stretch {
    display: flex !important;
}

#icon-boxes .d-flex.align-items-stretch .icon-box {
    width: 100%;
}

/* Responsive Design */
@media (max-width: 992px) {
    #icon-boxes .icon-box {
        padding: 2rem 1.5rem;
    }

    #icon-boxes .icon-box .icon {
        width: 70px;
        height: 70px;
        margin-bottom: 1.25rem;
    }

    #icon-boxes .icon-box .icon i {
        font-size: 2.25rem;
    }

    #icon-boxes .icon-box .title {
        font-size: 1.3rem;
    }
}

@media (max-width: 768px) {
    #icon-boxes {
        padding: 4rem 0;
    }

    #icon-boxes .icon-box {
        padding: 1.75rem 1.25rem;
        margin-bottom: 1.5rem;
    }

    #icon-boxes .icon-box .icon {
        width: 60px;
        height: 60px;
        margin-bottom: 1rem;
    }

    #icon-boxes .icon-box .icon i {
        font-size: 2rem;
    }

    #icon-boxes .icon-box .title {
        font-size: 1.25rem;
    }

    #icon-boxes .icon-box .description {
        font-size: 0.95rem;
    }

    #icon-boxes .section-title h2 {
        font-size: 1.75rem;
    }

    #icon-boxes .section-title h2::before,
    #icon-boxes .section-title h2::after {
        width: 40px;
    }

    #icon-boxes .section-title h2::before {
        left: -50px;
    }

    #icon-boxes .section-title h2::after {
        right: -50px;
    }

    #icon-boxes .section-title p {
        font-size: 1rem;
    }
}

@media (max-width: 576px) {
    #icon-boxes {
        padding: 3rem 0;
    }

    #icon-boxes .icon-box {
        padding: 1.5rem 1rem;
        border-radius: 15px;
    }

    #icon-boxes .icon-box .icon {
        width: 55px;
        height: 55px;
    }

    #icon-boxes .icon-box .icon i {
        font-size: 1.75rem;
    }

    #icon-boxes .icon-box .title {
        font-size: 1.2rem;
    }

    #icon-boxes .icon-box .description {
        font-size: 0.9rem;
    }
}

/* Animation Enhancements */
#icon-boxes .icon-box {
    animation: fadeInUp 0.8s ease-out;
}

/* Staggered animation delays for icon boxes */
.col-lg-3:nth-child(4n+1) .icon-box {
    animation-delay: 0.1s;
}

.col-lg-3:nth-child(4n+2) .icon-box {
    animation-delay: 0.2s;
}

.col-lg-3:nth-child(4n+3) .icon-box {
    animation-delay: 0.3s;
}

.col-lg-3:nth-child(4n+4) .icon-box {
    animation-delay: 0.4s;
}

@keyframes fadeInUp {
    from {
        opacity: 0;
        transform: translateY(30px);
    }

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

/* Focus States for Accessibility */
#icon-boxes .icon-box .title a:focus {
    outline: 2px solid var(--accent-color);
    outline-offset: 2px;
}

/* Print Styles */
@media print {
    #icon-boxes {
        background: white !important;
        padding: 3rem 0 !important;
    }

    #icon-boxes::before {
        display: none;
    }

    #icon-boxes .icon-box {
        box-shadow: none !important;
        border: 1px solid #ccc !important;
        transform: none !important;
        page-break-inside: avoid;
    }

    #icon-boxes .icon-box .icon {
        background: #f8f9fa !important;
        border: 1px solid #ccc !important;
    }

    #icon-boxes .icon-box .icon i {
        color: #333 !important;
    }
}

/* Individual Icon Color Variations */
#icon-boxes .icon-box:nth-child(1) .icon {
    background: rgba(67, 97, 238, 0.1);
}

#icon-boxes .icon-box:nth-child(2) .icon {
    background: rgba(114, 9, 183, 0.1);
}

#icon-boxes .icon-box:nth-child(3) .icon {
    background: rgba(255, 165, 0, 0.1);
}

#icon-boxes .icon-box:nth-child(4) .icon {
    background: rgba(255, 158, 0, 0.1);
}

#icon-boxes .icon-box:nth-child(1):hover .icon {
    background: linear-gradient(135deg, var(--primary-color), #4a6cf7);
}

#icon-boxes .icon-box:nth-child(2):hover .icon {
    background: linear-gradient(135deg, var(--secondary-color), #8a2be2);
}

#icon-boxes .icon-box:nth-child(3):hover .icon {
    background: linear-gradient(135deg, var(--accent-color), #ff8c00);
}

#icon-boxes .icon-box:nth-child(4):hover .icon {
    background: linear-gradient(135deg, var(--warm-color), #ffa500);
}

/*--------------------------------------------------------------
# About Section
--------------------------------------------------------------*/
.about {
    background: linear-gradient(135deg, var(--light-color) 0%, #f8f9ff 100%);
    padding: 6rem 0;
    font-family: var(--font-primary);
    color: var(--text-color);
    position: relative;
    overflow: hidden;
}

.about::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 4px;
    background: linear-gradient(90deg, var(--primary-color), var(--accent-color), var(--warm-color));
}

/* Content Styling */
.about .content {
    margin-top: 3rem;
}

.about .content p {
    font-size: 1.1rem;
    line-height: 1.8;
    color: var(--text-color);
    margin-bottom: 1.5rem;
    font-family: var(--font-primary);
}

.about .content p strong {
    color: var(--dark-color);
    font-weight: 700;
}

.about .content p i {
    color: var(--secondary-color);
    font-style: italic;
    font-weight: 600;
}

/* Tab Navigation Styling - Matching Pricing Cards */
.about .nav-tabs {
    border-bottom: 3px solid var(--border-color);
    margin-bottom: 2rem;
    background: transparent;
}

.about .nav-tabs .nav-link {
    border: 2px solid transparent;
    border-radius: 15px 15px 0 0;
    padding: 1rem 1.5rem;
    font-weight: 600;
    color: var(--muted-color);
    background: linear-gradient(145deg, #f8f9fa, #ffffff);
    transition: all 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275);
    margin-right: 0.5rem;
    font-family: var(--font-primary);
    position: relative;
    overflow: hidden;
}

.about .nav-tabs .nav-link i {
    margin-right: 0.5rem;
    font-size: 1.1rem;
    transition: all 0.3s ease;
}

.about .nav-tabs .nav-link:hover {
    color: var(--primary-color);
    background: linear-gradient(145deg, #ffffff, #f8f9fa);
    border-color: var(--border-color);
    transform: translateY(-2px);
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.1);
}

.about .nav-tabs .nav-link.active {
    color: #ffffff;
    background: linear-gradient(135deg, var(--primary-color), var(--secondary-color));
    border-color: var(--primary-color);
    box-shadow: 0 5px 20px rgba(67, 97, 238, 0.3);
    transform: translateY(-1px);
}

.about .nav-tabs .nav-link.active i {
    color: #ffffff;
    transform: scale(1.1);
}

/* Tab Content Styling - Matching Pricing Cards */
.about .tab-content {
    background: linear-gradient(145deg, #ffffff 0%, #f8f9fa 100%);
    border: 2px solid #e9ecef;
    border-radius: 0 20px 20px 20px;
    padding: 2.5rem;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.08);
    transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);
    position: relative;
    overflow: hidden;
}

.about .tab-content::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 4px;
    background: linear-gradient(90deg, var(--accent-color), var(--warm-color));
    opacity: 0;
    transition: opacity 0.3s ease;
}

.about .tab-content:hover {
    transform: translateY(-5px);
    border-color: var(--accent-color);
    box-shadow: 0 15px 40px rgba(0, 0, 0, 0.15);
}

.about .tab-content:hover::before {
    opacity: 1;
}

.about .tab-pane {
    animation: fadeIn 0.5s ease-in;
}

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

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

.about .tab-pane p {
    font-size: 1.1rem;
    line-height: 1.7;
    color: var(--text-color);
    margin-bottom: 1.5rem;
    font-family: var(--font-primary);
}

.about .tab-pane strong {
    color: var(--primary-color);
    font-weight: 700;
}

.about .tab-pane ul {
    list-style: none;
    padding-left: 0;
    margin-bottom: 2rem;
}

.about .tab-pane ul li {
    position: relative;
    padding: 0.75rem 0 0.75rem 2.5rem;
    font-size: 1rem;
    line-height: 1.6;
    color: var(--text-color);
    border-bottom: 1px solid rgba(222, 226, 230, 0.5);
    font-family: var(--font-primary);
    transition: var(--transition);
}

.about .tab-pane ul li:hover {
    background-color: rgba(67, 97, 238, 0.05);
    padding-left: 2.75rem;
}

.about .tab-pane ul li:before {
    content: "✓";
    position: absolute;
    left: 1rem;
    top: 0.75rem;
    color: var(--success-color);
    font-weight: bold;
    font-size: 1rem;
    background: rgba(40, 167, 69, 0.1);
    width: 24px;
    height: 24px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: var(--transition);
}

.about .tab-pane ul li:hover:before {
    background: var(--success-color);
    color: white;
    transform: scale(1.1);
}

.about .tab-pane ul li:last-child {
    border-bottom: none;
}

/* Learn More Button - Matching Pricing CTA */
.about .btn-learn-more {
    display: inline-block;
    padding: 1rem 2.5rem;
    background: linear-gradient(45deg, var(--accent-color), var(--warm-color));
    color: var(--dark-color);
    text-decoration: none;
    border-radius: 50px;
    font-weight: 700;
    font-family: var(--font-secondary);
    transition: all 0.3s ease;
    box-shadow: 0 4px 15px rgba(255, 165, 0, 0.3);
    border: none;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    font-size: 0.9rem;
    position: relative;
    overflow: hidden;
}

.about .btn-learn-more::before {
    content: "";
    position: absolute;
    top: 0;
    left: -100%;
    width: 100%;
    height: 100%;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.4), transparent);
    transition: left 0.5s ease;
}

.about .btn-learn-more:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 25px rgba(255, 165, 0, 0.4);
    color: var(--dark-color);
    text-decoration: none;
}

.about .btn-learn-more:hover::before {
    left: 100%;
}

.about .btn-learn-more:active {
    transform: translateY(0);
}

/* Sticky Heading */
.about .bd-heading {
    position: sticky;
    top: 100px;
    z-index: 10;
}

.about .bd-heading p {
    font-size: 1.1rem;
    color: var(--muted-color);
    margin-bottom: 2rem;
    font-style: italic;
    font-family: var(--font-primary);
    line-height: 1.6;
}

/* Package-specific border colors */
.about .tab-pane#nav-basic {
    border-left: 4px solid var(--primary-color);
}

.about .tab-pane#nav-essential {
    border-left: 4px solid var(--secondary-color);
}

.about .tab-pane#nav-premium {
    border-left: 4px solid var(--accent-color);
}

.about .tab-pane#nav-plus {
    border-left: 4px solid var(--warm-color);
}

/* Responsive Design */
@media (max-width: 992px) {
    .about {
        padding: 4rem 0;
    }

    .about .section-title h2 {
        font-size: 2rem;
    }

    .about .tab-content {
        padding: 2rem;
        border-radius: 15px;
    }

    .about .nav-tabs .nav-link {
        padding: 0.875rem 1.25rem;
        font-size: 0.95rem;
    }

    .about .bd-heading {
        position: static;
    }
}

@media (max-width: 768px) {
    .about .content .col-lg-6 {
        margin-bottom: 2rem;
    }

    .about .nav-tabs {
        flex-wrap: nowrap;
        overflow-x: auto;
        white-space: nowrap;
        -webkit-overflow-scrolling: touch;
        padding-bottom: 5px;
        margin-bottom: 1.5rem;
    }

    .about .nav-tabs .nav-link {
        display: inline-block;
        float: none;
        min-width: 140px;
        text-align: center;
        font-size: 0.9rem;
        padding: 0.75rem 1rem;
    }

    .about .tab-content {
        border-radius: 15px;
        padding: 1.5rem;
    }

    .about .tab-pane ul li {
        padding: 0.625rem 0 0.625rem 2.25rem;
        font-size: 0.95rem;
    }

    .about .tab-pane ul li:before {
        left: 0.75rem;
    }

    .about .btn-learn-more {
        width: 100%;
        text-align: center;
        padding: 0.875rem 2rem;
    }
}

@media (max-width: 576px) {
    .about {
        padding: 3rem 0;
    }

    .about .section-title h2 {
        font-size: 1.75rem;
        padding: 0 1rem;
    }

    .about .section-title h2::before,
    .about .section-title h2::after {
        width: 40px;
    }

    .about .section-title h2::before {
        left: -50px;
    }

    .about .section-title h2::after {
        right: -50px;
    }

    .about .section-title p {
        font-size: 1rem;
    }

    .about .tab-content {
        padding: 1.25rem;
        border-radius: 12px;
    }

    .about .nav-tabs .nav-link {
        padding: 0.625rem 0.875rem;
        font-size: 0.85rem;
        min-width: 120px;
    }

    .about .nav-tabs .nav-link i {
        margin-right: 0.25rem;
        font-size: 1rem;
    }

    .about .tab-pane p {
        font-size: 1rem;
    }

    .about .tab-pane ul li {
        font-size: 0.9rem;
        padding: 0.5rem 0 0.5rem 2rem;
    }

    .about .tab-pane ul li:before {
        left: 0.5rem;
        width: 20px;
        height: 20px;
        font-size: 0.9rem;
    }
}

/* Animation for tab transitions */
.about .tab-pane.fade {
    transition: opacity 0.3s ease-in-out;
}

.about .tab-pane.fade.show {
    opacity: 1;
}

.about .tab-pane.fade:not(.show) {
    opacity: 0;
}

/* Enhanced focus states for accessibility */
.about .nav-tabs .nav-link:focus {
    outline: 2px solid var(--accent-color);
    outline-offset: 2px;
}

.about .btn-learn-more:focus {
    outline: 2px solid var(--primary-color);
    outline-offset: 2px;
}

/* Print Styles */
@media print {
    .about {
        background: white !important;
        padding: 3rem 0 !important;
    }

    .about::before {
        display: none;
    }

    .about .tab-content {
        box-shadow: none !important;
        border: 1px solid #ccc !important;
        transform: none !important;
        page-break-inside: avoid;
    }

    .about .btn-learn-more {
        display: none !important;
    }

    .about .nav-tabs {
        display: none !important;
    }

    .about .tab-pane {
        display: block !important;
        opacity: 1 !important;
        page-break-inside: avoid;
    }
}

/*--------------------------------------------------------------
# Section Title Styles
--------------------------------------------------------------*/
.section-title {
    text-align: center;
    margin-bottom: 3rem;
    position: relative;
    padding: 0 1rem;
}

/* Main Title with Enhanced Decorations */
.section-title h2 {
    display: inline-block;
    position: relative;
    font-family: var(--font-secondary);
    font-size: 2.25rem;
    font-weight: 700;
    color: var(--dark-color);
    padding: 0 1.5rem;
    margin-bottom: 1rem;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

/* Decorative Lines - Enhanced */
.section-title h2::before,
.section-title h2::after {
    content: "";
    position: absolute;
    top: 50%;
    width: 80px;
    height: 3px;
    background: linear-gradient(90deg, transparent, var(--accent-color));
    transform: translateY(-50%);
    transition: var(--transition);
}

.section-title h2::before {
    left: -90px;
    background: linear-gradient(90deg, var(--accent-color), transparent);
}

.section-title h2::after {
    right: -90px;
    background: linear-gradient(90deg, transparent, var(--accent-color));
}

/* Icon Styling within Title */
.section-title h2 i {
    color: var(--primary-color);
    margin-right: 0.75rem;
    font-size: 1.8rem;
    vertical-align: middle;
    transition: var(--transition);
}

/* Subtitle Styling */
.section-title h3 {
    font-size: 1.3rem;
    font-weight: 600;
    color: var(--primary-color);
    margin: 1rem 0 0.5rem;
    font-family: var(--font-secondary);
    text-transform: none;
    letter-spacing: 0.5px;
}

/* Description Text */
.section-title p {
    font-size: 1.1rem;
    line-height: 1.7;
    color: var(--muted-color);
    margin-top: 1rem;
    max-width: 720px;
    margin-left: auto;
    margin-right: auto;
    font-family: var(--font-primary);
}

/*--------------------------------------------------------------
# Section Title Variants
--------------------------------------------------------------*/

/* Centered (Default) - No changes needed */

/* Left Aligned Variant */
.section-title-left {
    text-align: left;
    padding-left: 0;
}

.section-title-left h2::before {
    left: 0;
    width: 60px;
    background: linear-gradient(90deg, var(--primary-color), transparent);
}

.section-title-left h2::after {
    display: none;
}

.section-title-left p {
    margin-left: 0;
    text-align: left;
}

/* Right Aligned Variant */
.section-title-right {
    text-align: right;
    padding-right: 0;
}

.section-title-right h2::after {
    right: 0;
    width: 60px;
    background: linear-gradient(90deg, transparent, var(--primary-color));
}

.section-title-right h2::before {
    display: none;
}

.section-title-right p {
    margin-right: 0;
    text-align: right;
}

/* No Lines Variant */
.section-title-no-lines h2::before,
.section-title-no-lines h2::after {
    display: none;
}

/* Color Variants */
.section-title-primary h2 i {
    color: var(--primary-color);
}

.section-title-secondary h2 i {
    color: var(--secondary-color);
}

.section-title-accent h2 i {
    color: var(--accent-color);
}

.section-title-warm h2 i {
    color: var(--warm-color);
}

/* Background Variants */
.section-title-bg-light {
    background: var(--light-color);
    padding: 2rem;
    border-radius: var(--border-radius);
    margin-bottom: 2rem;
}

.section-title-bg-dark {
    background: var(--dark-color);
    padding: 2rem;
    border-radius: var(--border-radius);
    margin-bottom: 2rem;
}

.section-title-bg-dark h2 {
    color: var(--light-color);
}

.section-title-bg-dark p {
    color: rgba(255, 255, 255, 0.8);
}

/*--------------------------------------------------------------
# Interactive & Animation Styles
--------------------------------------------------------------*/
.section-title h2:hover::before,
.section-title h2:hover::after {
    width: 100px;
    background: linear-gradient(90deg, var(--primary-color), var(--secondary-color));
}

.section-title h2:hover i {
    transform: scale(1.1) rotate(5deg);
    color: var(--secondary-color);
}

/* Animation for scroll-triggered reveal */
.section-title[data-aos] h2 {
    overflow: hidden;
}

.section-title[data-aos] h2::before,
.section-title[data-aos] h2::after {
    transition: all 0.8s ease;
}

/*--------------------------------------------------------------
# Responsive Design
--------------------------------------------------------------*/
@media (max-width: 768px) {
    .section-title {
        margin-bottom: 2rem;
        padding: 0 0.5rem;
    }

    .section-title h2 {
        font-size: 1.75rem;
        padding: 0 1rem;
    }

    .section-title h2::before,
    .section-title h2::after {
        width: 40px;
    }

    .section-title h2::before {
        left: -50px;
    }

    .section-title h2::after {
        right: -50px;
    }

    .section-title h2 i {
        font-size: 1.5rem;
        margin-right: 0.5rem;
    }

    .section-title p {
        font-size: 1rem;
        padding: 0 1rem;
    }

    /* Adjust variants for mobile */
    .section-title-left,
    .section-title-right {
        text-align: center;
    }

    .section-title-left h2::before,
    .section-title-right h2::after {
        display: block;
        position: relative;
        margin: 0.5rem auto;
        left: auto;
        right: auto;
    }

    .section-title-left p,
    .section-title-right p {
        text-align: center;
        margin-left: auto;
        margin-right: auto;
    }
}

@media (max-width: 576px) {
    .section-title h2 {
        font-size: 1.5rem;
    }

    .section-title h2::before,
    .section-title h2::after {
        width: 30px;
    }

    .section-title h2::before {
        left: -40px;
    }

    .section-title h2::after {
        right: -40px;
    }

    .section-title-bg-light,
    .section-title-bg-dark {
        padding: 1.5rem;
    }
}

/*--------------------------------------------------------------
# Utility Classes for Quick Modifications
--------------------------------------------------------------*/
.section-title-sm h2 {
    font-size: 1.75rem;
}

.section-title-lg h2 {
    font-size: 2.5rem;
}

.section-title-xl h2 {
    font-size: 3rem;
}

.section-title-light h2 {
    color: var(--light-color);
}

.section-title-light p {
    color: rgba(255, 255, 255, 0.9);
}

.section-title-muted h2 {
    color: var(--muted-color);
}

/* No margin bottom utility */
.section-title-no-margin {
    margin-bottom: 0;
}

/* Extra margin utility */
.section-title-extra-margin {
    margin-bottom: 4rem;
}

/*--------------------------------------------------------------
# Why Us Section - Updated to Match Pricing Section Colors
--------------------------------------------------------------*/
#why-us {
    background: linear-gradient(135deg, var(--light-color) 0%, #f8f9ff 100%);
    padding: 6rem 0;
    font-family: var(--font-primary);
    color: var(--text-color);
    position: relative;
    overflow: hidden;
}

#why-us::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 4px;
    background: linear-gradient(90deg, var(--primary-color), var(--accent-color), var(--warm-color));
}

/* Hanging Icons Container */
#hanging-icons {
    padding: 0 !important;
    margin-top: 2rem;
}

/* Reason Cards */
.reason-card {
    background: linear-gradient(145deg, #ffffff 0%, #f8f9fa 100%);
    border: 2px solid #e9ecef;
    border-radius: 20px;
    padding: 2.5rem 2rem;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.08);
    transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);
    position: relative;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    height: 100%;
}

.reason-card::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 4px;
    background: linear-gradient(90deg, var(--primary-color), var(--accent-color));
    opacity: 0;
    transition: opacity 0.3s ease;
}

.reason-card:hover {
    transform: translateY(-8px);
    border-color: var(--primary-color);
    box-shadow: 0 20px 40px rgba(0, 0, 0, 0.15);
}

.reason-card:hover::before {
    opacity: 1;
}

/* Reason Icons */
.reason-icon {
    background: rgba(67, 97, 238, 0.1);
    width: 80px;
    height: 80px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.3s ease;
    margin-bottom: 1.5rem;
    border: 2px solid transparent;
}

.reason-card:hover .reason-icon {
    background: linear-gradient(135deg, var(--primary-color), var(--secondary-color));
    transform: scale(1.1);
    border-color: var(--primary-color);
}

.reason-icon i {
    font-size: 2rem;
    color: var(--primary-color);
    transition: all 0.3s ease;
}

.reason-card:hover .reason-icon i {
    color: white;
}

/* Reason Content */
.reason-content {
    flex: 1;
    display: flex;
    flex-direction: column;
}

.reason-content h4 {
    font-family: var(--font-secondary);
    font-size: 1.25rem;
    font-weight: 700;
    color: var(--dark-color);
    margin-bottom: 1rem;
    line-height: 1.4;
}

.reason-content p {
    font-size: 1rem;
    color: var(--text-color);
    line-height: 1.7;
    margin-bottom: 0;
}

/* Responsive Design */
@media (max-width: 992px) {
    .reason-card {
        padding: 2rem 1.5rem;
    }

    .reason-icon {
        width: 70px;
        height: 70px;
        margin-bottom: 1.25rem;
    }

    .reason-icon i {
        font-size: 1.75rem;
    }

    .reason-content h4 {
        font-size: 1.1rem;
    }
}

@media (max-width: 768px) {
    #why-us {
        padding: 4rem 0;
    }

    .reason-card {
        padding: 1.75rem 1.25rem;
        margin-bottom: 1.5rem;
    }

    .reason-icon {
        width: 60px;
        height: 60px;
        margin-bottom: 1rem;
    }

    .reason-icon i {
        font-size: 1.5rem;
    }

    .reason-content h4 {
        font-size: 1.1rem;
    }

    .reason-content p {
        font-size: 0.95rem;
    }

    #why-us .section-title h2 {
        font-size: 1.75rem;
    }

    #why-us .section-title h2::before,
    #why-us .section-title h2::after {
        width: 40px;
    }

    #why-us .section-title h2::before {
        left: -50px;
    }

    #why-us .section-title h2::after {
        right: -50px;
    }

    #why-us .section-title p {
        font-size: 1rem;
    }
}

@media (max-width: 576px) {
    #why-us {
        padding: 3rem 0;
    }

    .reason-card {
        padding: 1.5rem 1rem;
        border-radius: 15px;
    }

    .reason-icon {
        width: 55px;
        height: 55px;
    }

    .reason-icon i {
        font-size: 1.4rem;
    }

    .reason-content h4 {
        font-size: 1rem;
    }

    .reason-content p {
        font-size: 0.9rem;
    }
}

/* Animation Enhancements */
.reason-card {
    animation: fadeInUp 0.8s ease-out;
}

/* Staggered animation delays for reason cards */
.col-lg-4:nth-child(3n+1) .reason-card {
    animation-delay: 0.1s;
}

.col-lg-4:nth-child(3n+2) .reason-card {
    animation-delay: 0.2s;
}

.col-lg-4:nth-child(3n+3) .reason-card {
    animation-delay: 0.3s;
}

@keyframes fadeInUp {
    from {
        opacity: 0;
        transform: translateY(30px);
    }

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

/* Focus States for Accessibility */
.reason-card:focus {
    outline: 2px solid var(--accent-color);
    outline-offset: 2px;
}

/* Print Styles */
@media print {
    #why-us {
        background: white !important;
        padding: 3rem 0 !important;
    }

    .reason-card {
        box-shadow: none !important;
        border: 1px solid #ccc !important;
        transform: none !important;
        page-break-inside: avoid;
    }

    .reason-icon {
        background: #f8f9fa !important;
        border: 1px solid #ccc !important;
    }

    .reason-icon i {
        color: #333 !important;
    }
}

/*--------------------------------------------------------------
# Services Section - Updated to Match Pricing Section Colors
--------------------------------------------------------------*/
#services {
    background: linear-gradient(135deg, var(--light-color) 0%, #f8f9ff 100%);
    padding: 6rem 0;
    font-family: var(--font-primary);
    color: var(--text-color);
    position: relative;
    overflow: hidden;
}

#services::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 4px;
    background: linear-gradient(90deg, var(--primary-color), var(--accent-color), var(--warm-color));
}

/* Service Cards - Matching Pricing Cards */
#services .icon-box {
    background: linear-gradient(145deg, #ffffff 0%, #f8f9fa 100%);
    border: 2px solid #e9ecef;
    border-radius: 20px;
    padding: 2.5rem;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.08);
    transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);
    height: 100%;
    position: relative;
    overflow: hidden;
    display: flex;
    flex-direction: column;
}

#services .icon-box::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 4px;
    background: linear-gradient(90deg, var(--primary-color), var(--accent-color));
    opacity: 0;
    transition: opacity 0.3s ease;
}

#services .icon-box:hover {
    transform: translateY(-8px);
    border-color: var(--primary-color);
    box-shadow: 0 20px 40px rgba(0, 0, 0, 0.15);
}

#services .icon-box:hover::before {
    opacity: 1;
}

/* Service Icons */
#services .icon-box i {
    font-size: 3rem;
    color: var(--primary-color);
    margin-bottom: 1.5rem;
    background: rgba(67, 97, 238, 0.1);
    width: 80px;
    height: 80px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.3s ease;
}

#services .icon-box:hover i {
    background: linear-gradient(135deg, var(--primary-color), var(--secondary-color));
    color: white;
    transform: scale(1.1);
}

/* Service Titles */
#services .icon-box h4 {
    font-family: var(--font-secondary);
    font-size: 1.5rem;
    font-weight: 700;
    color: var(--dark-color);
    margin-bottom: 1rem;
    line-height: 1.3;
}

#services .icon-box h4 a {
    color: inherit;
    text-decoration: none;
    transition: color 0.3s ease;
}

#services .icon-box h4 a:hover {
    color: var(--primary-color);
}

/* Service Descriptions */
#services .icon-box p {
    font-size: 1rem;
    color: var(--text-color);
    line-height: 1.7;
    margin-bottom: 0;
    flex: 1;
    /* Allow description to take available space */
}

/* Learn More Buttons */
#services .button.btn-learn-more {
    display: inline-block;
    background: linear-gradient(45deg, var(--accent-color), var(--warm-color));
    color: var(--dark-color);
    padding: 0.75rem 1.5rem;
    border-radius: 25px;
    text-decoration: none;
    font-weight: 600;
    transition: all 0.3s ease;
    box-shadow: 0 4px 15px rgba(255, 165, 0, 0.3);
    border: none;
    margin-top: 1.5rem;
    align-self: flex-start;
    /* Align button to start */
}

#services .button.btn-learn-more:hover {
    transform: translateY(-2px);
    box-shadow: 0 6px 20px rgba(255, 165, 0, 0.4);
    color: var(--dark-color);
    text-decoration: none;
}

/* Row and Column Spacing */
#services .row {
    margin-top: 2rem;
}

#services .col-md-6 {
    margin-bottom: 2rem;
}

/* Ensure consistent card heights */
#services .d-flex.align-items-stretch {
    display: flex !important;
}

#services .d-flex.align-items-stretch .icon-box {
    width: 100%;
}

/* Responsive Design */
@media (max-width: 768px) {
    #services {
        padding: 4rem 0;
    }

    #services .icon-box {
        padding: 2rem 1.5rem;
        margin-bottom: 1.5rem;
    }

    #services .icon-box i {
        width: 70px;
        height: 70px;
        font-size: 2.5rem;
        margin-bottom: 1.25rem;
    }

    #services .icon-box h4 {
        font-size: 1.3rem;
    }

    #services .section-title h2 {
        font-size: 1.75rem;
    }

    #services .section-title h2::before,
    #services .section-title h2::after {
        width: 40px;
    }

    #services .section-title h2::before {
        left: -50px;
    }

    #services .section-title h2::after {
        right: -50px;
    }

    #services .section-title h3 {
        font-size: 1.3rem;
    }

    #services .section-title p {
        font-size: 1rem;
    }

    .button.btn-learn-more {
        width: 100%;
        text-align: center;
    }
}

@media (max-width: 576px) {
    #services {
        padding: 3rem 0;
    }

    #services .icon-box {
        padding: 1.5rem 1rem;
        border-radius: 15px;
    }

    #services .icon-box i {
        width: 60px;
        height: 60px;
        font-size: 2rem;
        margin-bottom: 1rem;
    }

    #services .icon-box h4 {
        font-size: 1.25rem;
    }

    #services .icon-box p {
        font-size: 0.95rem;
    }
}

/* Animation Enhancements */
#services .icon-box {
    animation: fadeInUp 0.8s ease-out;
}

@keyframes fadeInUp {
    from {
        opacity: 0;
        transform: translateY(30px);
    }

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

/* Staggered animation delays for service cards */
#services .col-md-6:nth-child(odd) .icon-box {
    animation-delay: 0.1s;
}

#services .col-md-6:nth-child(even) .icon-box {
    animation-delay: 0.2s;
}

/* Focus States for Accessibility */
#services .icon-box h4 a:focus,
.button.btn-learn-more:focus {
    outline: 2px solid var(--accent-color);
    outline-offset: 2px;
}

/* Print Styles */
@media print {
    #services {
        background: white !important;
        padding: 3rem 0 !important;
    }

    #services .icon-box {
        box-shadow: none !important;
        border: 1px solid #ccc !important;
        transform: none !important;
        page-break-inside: avoid;
    }

    .button.btn-learn-more {
        display: none !important;
    }
}

/*--------------------------------------------------------------
# Team Section
--------------------------------------------------------------*/
#team {
    background: linear-gradient(135deg, var(--light-color) 0%, #f8f9ff 100%);
    padding: 6rem 0;
    font-family: var(--font-primary);
    color: var(--text-color);
    position: relative;
    overflow: hidden;
}

#team::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 4px;
    background: linear-gradient(90deg, var(--primary-color), var(--accent-color), var(--warm-color));
}

/* Team Card - Matching Pricing Card Style */
.team-item {
    background: linear-gradient(145deg, #ffffff 0%, #f8f9fa 100%);
    border: 2px solid #e9ecef;
    border-radius: 20px;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.08);
    transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);
    overflow: hidden;
    position: relative;
    height: 100%;
}

.team-item::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 4px;
    background: linear-gradient(90deg, var(--primary-color), var(--accent-color));
    opacity: 0;
    transition: opacity 0.3s ease;
    z-index: 2;
}

.team-item:hover {
    transform: translateY(-8px);
    border-color: var(--primary-color);
    box-shadow: 0 20px 40px rgba(0, 0, 0, 0.15);
}

.team-item:hover::before {
    opacity: 1;
}

/* Team Image - FIXED: No cropping for 735x735 images */
.team-image {
    position: relative;
    overflow: hidden;
    width: 100%;
    /* Remove fixed height to allow natural aspect ratio */
    aspect-ratio: 1 / 1;
    /* Maintain square aspect ratio for 735x735 images */
}

.team-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    /* This will cover the container without distorting */
    transition: all 0.4s ease;
    filter: brightness(0.95);
}

.team-item:hover .team-image img {
    transform: scale(1.05);
    filter: brightness(1);
}

/* Team Detail Overlay */
.team-detail {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    background: linear-gradient(135deg, rgba(43, 45, 66, 0.95), rgba(67, 97, 238, 0.9));
    color: white;
    padding: 2rem;
    transform: translateY(100%);
    transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);
    backdrop-filter: blur(10px);
}

.team-item:hover .team-detail {
    transform: translateY(0);
}

.team-detail h5 {
    font-family: var(--font-secondary);
    font-size: 1.1rem;
    font-weight: 700;
    color: var(--accent-color);
    margin-bottom: 1rem;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.team-detail p {
    font-size: 0.95rem;
    line-height: 1.6;
    margin-bottom: 1.5rem;
    color: rgba(255, 255, 255, 0.9);
}

/* Professional Summary with Bullet Points - FIXED */
.team-summary {
    margin-bottom: 1.5rem;
}

.summary-item {
    position: relative;
    padding-left: 1.5rem;
    margin-bottom: 0.75rem;
    font-size: 0.95rem;
    line-height: 1.5;
    color: rgba(255, 255, 255, 0.9);
}

.summary-item.bullet {
    position: relative;
    padding-left: 1.5rem;
    /* adjust spacing as needed */
}

.summary-item.bullet .bullet-icon {
    position: absolute;
    left: 0;
    top: 0.1rem;
    color: var(--accent-color);
    font-size: 1.2rem;
    font-weight: bold;
}

/* Alternative Asterisk Style */
.summary-item.asterisk::before {
    content: "*";
    position: absolute;
    left: 0.5rem;
    top: 0;
    color: var(--accent-color);
    font-size: 1rem;
    font-weight: bold;
}

/* Checkmark Style */
.summary-item.check::before {
    content: "✓";
    position: absolute;
    left: 0.5rem;
    top: 0;
    color: var(--accent-color);
    font-size: 1rem;
    font-weight: bold;
}

/* Social Icons */
.team-social {
    display: flex;
    gap: 1rem;
    justify-content: center;
    margin-top: 1.5rem;
}

.team-social a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    background: rgba(255, 255, 255, 0.2);
    color: white;
    border-radius: 50%;
    text-decoration: none;
    transition: all 0.3s ease;
    backdrop-filter: blur(5px);
    border: 1px solid rgba(255, 255, 255, 0.3);
}

.team-social a:hover {
    background: var(--accent-color);
    color: var(--dark-color);
    transform: translateY(-2px) scale(1.1);
    box-shadow: 0 4px 12px rgba(255, 165, 0, 0.4);
}

.team-social a i {
    font-size: 1.2rem;
}

/* Team Description */
.team-descr {
    padding: 2rem;
    text-align: center;
    background: white;
}

.team-name {
    font-family: var(--font-secondary);
    font-size: 1.25rem;
    font-weight: 700;
    color: var(--dark-color);
    margin-bottom: 0.5rem;
    line-height: 1.3;
}

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

/* Row and Column Spacing */
#team .row {
    margin-top: 3rem;
}

#team .col-sm-6 {
    margin-bottom: 2rem;
}

/* Animation Enhancements */
.team-item {
    animation: fadeInUp 0.8s ease-out;
}

/* Staggered animation delays for team members */
.col-sm-6:nth-child(2n+1) .team-item {
    animation-delay: 0.1s;
}

.col-sm-6:nth-child(2n+2) .team-item {
    animation-delay: 0.2s;
}

.col-md-4:nth-child(3n+3) .team-item {
    animation-delay: 0.3s;
}

@keyframes fadeInUp {
    from {
        opacity: 0;
        transform: translateY(30px);
    }

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

/* Focus States for Accessibility */
.team-social a:focus {
    outline: 2px solid var(--accent-color);
    outline-offset: 2px;
}

/* Responsive Design */
@media (max-width: 992px) {
    .team-detail {
        padding: 1.5rem;
    }

    .team-descr {
        padding: 1.5rem;
    }

    .team-name {
        font-size: 1.2rem;
    }

    .team-role {
        font-size: 0.95rem;
    }
}

@media (max-width: 768px) {
    #team {
        padding: 4rem 0;
    }

    .team-detail {
        padding: 1.25rem;
        transform: translateY(0);
        position: relative;
        background: linear-gradient(135deg, var(--dark-color), var(--primary-color));
    }

    .team-item .team-detail {
        transform: translateY(0);
    }

    .team-social a {
        width: 35px;
        height: 35px;
    }

    .team-social a i {
        font-size: 1.1rem;
    }

    .team-descr {
        padding: 1.25rem;
    }

    #team .section-title h2 {
        font-size: 1.75rem;
    }

    #team .section-title h2::before,
    #team .section-title h2::after {
        width: 40px;
    }

    #team .section-title h2::before {
        left: -50px;
    }

    #team .section-title h2::after {
        right: -50px;
    }

    #team .section-title p {
        font-size: 1rem;
    }

    /* Ensure images maintain aspect ratio on mobile */
    .team-image {
        aspect-ratio: 1 / 1;
    }

    .summary-item {
        padding-left: 1.25rem;
        font-size: 0.9rem;
    }

    .summary-item.bullet::before {
        left: 0.25rem;
    }
}

@media (max-width: 576px) {
    #team {
        padding: 3rem 0;
    }

    .team-item {
        border-radius: 15px;
        margin-bottom: 1.5rem;
    }

    .team-detail {
        padding: 1rem;
    }

    .team-detail h5 {
        font-size: 1rem;
        margin-bottom: 0.75rem;
    }

    .team-detail p {
        font-size: 0.9rem;
        margin-bottom: 1rem;
    }

    .team-descr {
        padding: 1rem;
    }

    .team-name {
        font-size: 1.1rem;
    }

    .team-role {
        font-size: 0.9rem;
    }

    .team-social {
        gap: 0.75rem;
    }

    .team-social a {
        width: 32px;
        height: 32px;
    }

    .team-social a i {
        font-size: 1rem;
    }

    /* Maintain square images on mobile */
    .team-image {
        aspect-ratio: 1 / 1;
    }

    .summary-item {
        padding-left: 1rem;
        margin-bottom: 0.5rem;
        font-size: 0.85rem;
    }

    .summary-item.bullet::before {
        left: 0;
        font-size: 1rem;
    }
}

/* Individual Team Member Color Variations */
.team-item:nth-child(1):hover::before {
    background: linear-gradient(90deg, var(--primary-color), #4a6cf7);
}

.team-item:nth-child(2):hover::before {
    background: linear-gradient(90deg, var(--secondary-color), #8a2be2);
}

.team-item:nth-child(3):hover::before {
    background: linear-gradient(90deg, var(--accent-color), #ff8c00);
}

/* Print Styles */
@media print {
    #team {
        background: white !important;
        padding: 3rem 0 !important;
    }

    #team::before {
        display: none;
    }

    .team-item {
        box-shadow: none !important;
        border: 1px solid #ccc !important;
        transform: none !important;
        page-break-inside: avoid;
    }

    .team-detail {
        position: static;
        transform: none !important;
        background: #f8f9fa !important;
        color: #333 !important;
    }

    .team-social {
        display: none !important;
    }

    .team-image img {
        filter: none !important;
        transform: none !important;
    }

    .summary-item::before {
        color: #333 !important;
    }
}

/* Touch Device Optimizations */
@media (hover: none) and (pointer: coarse) {
    .team-item:hover {
        transform: none;
    }

    .team-item:hover .team-image img {
        transform: none;
        filter: brightness(0.95);
    }

    .team-detail {
        transform: translateY(0);
        position: relative;
        background: linear-gradient(135deg, var(--dark-color), var(--primary-color));
    }
}

/* High Contrast Mode Support */
@media (prefers-contrast: high) {
    .team-item {
        border: 2px solid var(--dark-color);
    }

    .team-detail {
        background: var(--dark-color) !important;
        border: 1px solid white;
    }

    .summary-item::before {
        color: var(--accent-color) !important;
    }
}

/* Reduced Motion Support */
@media (prefers-reduced-motion: reduce) {

    .team-item,
    .team-image img,
    .team-detail,
    .team-social a {
        transition: none;
        animation: none;
    }

    .team-item:hover {
        transform: none;
    }

    .team-item:hover .team-image img {
        transform: none;
        filter: brightness(0.95);
    }

    .team-detail {
        transform: translateY(0);
        position: relative;
    }
}

/*--------------------------------------------------------------
# Pricing Section
--------------------------------------------------------------*/
#pricing {
    background: linear-gradient(135deg, var(--light-color) 0%, #f8f9ff 100%);
    padding: 6rem 0;
    font-family: var(--font-primary);
    color: var(--text-color);
    position: relative;
    overflow: hidden;
}

#pricing::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 4px;
    background: linear-gradient(90deg, var(--primary-color), var(--accent-color), var(--warm-color));
}

/* Package Box */
#pricing .box {
    background: linear-gradient(145deg, #ffffff 0%, #f8f9fa 100%);
    border: 2px solid #e9ecef;
    border-radius: 20px;
    padding: 2.5rem 2rem;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.08);
    transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);
    text-align: center;
    height: 100%;
    position: relative;
    overflow: hidden;
}

#pricing .box::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 4px;
    background: linear-gradient(90deg, var(--primary-color), var(--accent-color));
    opacity: 0;
    transition: opacity 0.3s ease;
}

#pricing .box:hover {
    transform: translateY(-12px) scale(1.02);
    border-color: var(--primary-color);
    box-shadow: 0 20px 40px rgba(0, 0, 0, 0.15);
}

#pricing .box:hover::before {
    opacity: 1;
}

/* Featured Package */
#pricing .box.featured {
    border-color: var(--primary-color);
    box-shadow: 0 0 0 3px rgba(67, 97, 238, 0.15), 0 15px 35px rgba(0, 0, 0, 0.1);
    transform: scale(1.05);
    background: linear-gradient(145deg, #ffffff 0%, #f0f4ff 100%);
}

#pricing .box.featured::before {
    opacity: 1;
    background: linear-gradient(90deg, var(--primary-color), var(--accent-color), var(--warm-color));
}

#pricing .box.featured:hover {
    transform: scale(1.08) translateY(-8px);
}

/* Advanced Label */
#pricing .box .advanced {
    position: absolute;
    top: 20px;
    right: -30px;
    background: linear-gradient(45deg, var(--accent-color), var(--warm-color));
    color: var(--dark-color);
    font-size: 0.75rem;
    font-weight: 700;
    padding: 0.5rem 2rem;
    border-radius: 30px;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.2);
    text-transform: uppercase;
    letter-spacing: 0.5px;
    transform: rotate(45deg);
    width: 120px;
    text-align: center;
}

/* Package Title */
#pricing .box h3 {
    font-family: var(--font-secondary);
    font-size: 1.5rem;
    font-weight: 800;
    color: var(--dark-color);
    margin-bottom: 1.5rem;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
}

#pricing .box h3 i {
    color: var(--primary-color);
    font-size: 1.75rem;
}

/* Feature List */
#pricing .box ul {
    list-style: none;
    padding-left: 0;
    margin-bottom: 2.5rem;
    text-align: left;
}

#pricing .box ul li {
    font-size: 0.95rem;
    margin-bottom: 0.75rem;
    position: relative;
    padding-left: 2rem;
    line-height: 1.5;
    color: var(--text-color);
}

#pricing .box ul li::before {
    content: "✓";
    position: absolute;
    left: 0;
    top: 0;
    color: var(--success-color);
    font-weight: bold;
    font-size: 1.1rem;
    background: rgba(40, 167, 69, 0.1);
    width: 24px;
    height: 24px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
}

#pricing .box ul li strong {
    color: var(--primary-color);
    font-weight: 700;
}

/* CTA Button */
#pricing .btn-wrap {
    margin-top: auto;
}

#pricing .btn-buy {
    display: inline-block;
    padding: 1rem 2rem;
    background: linear-gradient(45deg, var(--accent-color), var(--warm-color));
    color: var(--dark-color);
    font-weight: 700;
    font-family: var(--font-secondary);
    border-radius: 50px;
    text-decoration: none;
    transition: all 0.3s ease;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.2);
    text-transform: uppercase;
    letter-spacing: 0.5px;
    font-size: 0.9rem;
    position: relative;
    overflow: hidden;
}

#pricing .btn-buy::before {
    content: "";
    position: absolute;
    top: 0;
    left: -100%;
    width: 100%;
    height: 100%;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.4), transparent);
    transition: left 0.5s ease;
}

#pricing .btn-buy:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 25px rgba(0, 0, 0, 0.3);
    color: var(--dark-color);
}

#pricing .btn-buy:hover::before {
    left: 100%;
}

/* Alert Box */
#pricing .alert-success {
    margin-top: 4rem;
    font-size: 1rem;
    background: linear-gradient(135deg, rgba(40, 167, 69, 0.1) 0%, rgba(40, 167, 69, 0.05) 100%);
    border: 2px solid var(--success-color);
    color: var(--dark-color);
    border-radius: 15px;
    padding: 1.5rem 2rem;
    text-align: center;
    box-shadow: 0 5px 20px rgba(40, 167, 69, 0.1);
    position: relative;
    overflow: hidden;
}

#pricing .alert-success::before {
    content: "💡";
    position: absolute;
    left: 2rem;
    top: 50%;
    transform: translateY(-50%);
    font-size: 1.5rem;
}

#pricing .alert-success p {
    margin: 0;
    padding-left: 3rem;
    font-weight: 500;
}

/* Responsive Design */
@media (max-width: 768px) {
    #pricing {
        padding: 4rem 0;
    }

    #pricing .section-title h2 {
        font-size: 2rem;
    }

    #pricing .box.featured {
        transform: none;
    }

    #pricing .box.featured:hover {
        transform: translateY(-8px);
    }

    #pricing .alert-success::before {
        position: static;
        transform: none;
        display: block;
        margin-bottom: 1rem;
    }

    #pricing .alert-success p {
        padding-left: 0;
    }
}

/*--------------------------------------------------------------
# Frequently Asked Questions
--------------------------------------------------------------*/
.faq {
    padding: 60px 0;
}

.faq .faq-list {
    padding: 0 100px;
    max-width: 1200px;
    margin: 0 auto;
}

.faq .faq-list ul {
    padding: 0;
    list-style: none;
}

.faq .faq-list li + li {
    margin-top: 15px;
}

.faq .faq-list li {
    padding: 20px;
    background: #fff;
    border-radius: 4px;
    position: relative;
    border: 1px solid #e9ecef;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.08);
    transition: all 0.3s ease;
}

.faq .faq-list li:hover {
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.12);
}

.faq .faq-list a {
    display: block;
    position: relative;
    font-family: "Poppins", sans-serif;
    font-size: 16px;
    line-height: 24px;
    font-weight: 500;
    padding: 0 30px;
    outline: none;
    cursor: pointer;
    color: #2c3e50;
    text-decoration: none;
    transition: color 0.3s ease;
}

.faq .faq-list a:hover {
    color: #4361ee;
}

.faq .faq-list .icon-help {
    font-size: 24px;
    position: absolute;
    right: 0;
    left: 20px;
    color: #75bdfa;
}

.faq .faq-list .icon-show,
.faq .faq-list .icon-close {
    font-size: 24px;
    position: absolute;
    right: 0;
    top: 0;
    color: #75bdfa;
    transition: all 0.3s ease;
}

.faq .faq-list p {
    margin-bottom: 0;
    padding: 10px 0 0 30px;
    color: #555;
    line-height: 1.6;
    font-size: 15px;
}

.faq .faq-list p strong {
    color: #2c3e50;
    font-weight: 600;
}

.faq .faq-list p i {
    color: #4361ee;
    font-style: italic;
}

/* Collapsed State */
.faq .faq-list .icon-show {
    display: none;
}

.faq .faq-list a.collapsed {
    color: #343a40;
}

.faq .faq-list a.collapsed:hover {
    color: #0880e8;
}

.faq .faq-list a.collapsed .icon-show {
    display: inline-block;
}

.faq .faq-list a.collapsed .icon-close {
    display: none;
}

/* Active State */
.faq .faq-list li:has(.collapse.show) {
    border-color: #4361ee;
    box-shadow: 0 4px 15px rgba(67, 97, 238, 0.15);
}

.faq .faq-list a:not(.collapsed) {
    color: #4361ee;
}

/* Section Background */
.section-bg {
    background-color: #f8f9fa;
}

@media (max-width: 1200px) {
    .faq .faq-list {
        padding: 0;
    }
}

@media (max-width: 768px) {
    .faq {
        padding: 40px 0;
    }

    .faq .faq-list li {
        padding: 15px;
    }

    .faq .faq-list a {
        padding: 0 25px;
        font-size: 15px;
    }

    .faq .faq-list p {
        padding: 10px 0 0 25px;
    }

    .faq .faq-list .icon-help,
    .faq .faq-list .icon-show,
    .faq .faq-list .icon-close {
        font-size: 20px;
    }
}

/*--------------------------------------------------------------
# Blog Styles - Vibrant & Engaging
--------------------------------------------------------------*/

/* Blog Main Container */
.blog-main {
    background: linear-gradient(135deg, var(--light-color) 0%, #ffffff 50%, var(--light-color) 100%);
    min-height: 100vh;
}

/* Blog Header & Breadcrumbs */
.blog-breadcrumbs {
    background: linear-gradient(135deg, var(--primary-color), var(--secondary-color));
    padding: 3rem 0;
    position: relative;
    overflow: hidden;
}

.blog-breadcrumbs::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1000 1000" opacity="0.1"><polygon fill="white" points="0,1000 1000,0 1000,1000"/></svg>');
    background-size: cover;
}

.blog-header {
    text-align: center;
    color: white;
    position: relative;
    z-index: 2;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0;
}

.blog-logo {
    height: 80px;
    width: auto;
    margin: 0;
    filter: drop-shadow(0 4px 8px rgba(0, 0, 0, 0.3));
    vertical-align: middle;
}

.blog-title {
    font-family: var(--font-secondary);
    font-size: 2.5rem;
    font-weight: 700;
    margin: 0;
    text-shadow: 0 2px 4px rgba(0, 0, 0, 0.3);
    background: linear-gradient(135deg, #ffffff, var(--accent-color));
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    display: inline-flex;
    align-items: center;
    margin-left: -8px;
    /* Negative margin to pull text closer to logo */
    letter-spacing: -1px;
}

/* Blog Container */
.blog-container {
    padding: 3rem 0;
}

/* Blog Sections */
.blog-section {
    margin-bottom: 3rem;
}

.blog-section-title {
    font-family: var(--font-secondary);
    font-size: 1.75rem;
    font-weight: 700;
    color: var(--dark-color);
    margin-bottom: 1.5rem;
    padding-bottom: 0.5rem;
    border-bottom: 3px solid;
    border-image: linear-gradient(90deg, var(--primary-color), var(--accent-color)) 1;
}

/* Blog Icons */
.blog-icon-primary {
    color: var(--primary-color);
}

.blog-icon-secondary {
    color: var(--secondary-color);
}

.blog-icon-accent {
    color: var(--accent-color);
}

.blog-icon-warm {
    color: var(--warm-color);
}

/* Featured Post Card */
.blog-featured-card {
    border: none;
    border-radius: 20px;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);
    overflow: hidden;
    transition: all 0.3s ease;
    background: linear-gradient(145deg, #ffffff, var(--light-color));
}

.blog-featured-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 20px 40px rgba(0, 0, 0, 0.15);
}

.blog-featured-image {
    height: 300px;
    object-fit: cover;
    transition: transform 0.3s ease;
}

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

.blog-image-placeholder {
    height: 200px;
    background: linear-gradient(135deg, var(--light-color), #e9ecef);
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
}

.blog-placeholder-icon {
    font-size: 3rem;
    color: var(--muted-color);
    opacity: 0.5;
}

.blog-card-body {
    padding: 2rem;
}

.blog-meta-header {
    display: flex;
    justify-content: between;
    align-items: center;
    margin-bottom: 1rem;
    gap: 1rem;
}

.blog-category-badge {
    background: linear-gradient(135deg, var(--primary-color), var(--secondary-color));
    color: white;
    font-weight: 600;
    padding: 0.5rem 1rem;
    border-radius: 25px;
    font-size: 0.85rem;
}

.blog-date {
    color: var(--muted-color);
    font-weight: 500;
}

.blog-post-title {
    font-family: var(--font-secondary);
    font-size: 2rem;
    font-weight: 800;
    color: var(--dark-color);
    margin-bottom: 1rem;
    line-height: 1.2;
}

.blog-excerpt {
    font-size: 1.1rem;
    color: var(--text-color);
    line-height: 1.6;
    margin-bottom: 1.5rem;
}

/* Blog Buttons */
.blog-primary-btn {
    background: linear-gradient(135deg, var(--accent-color), var(--warm-color));
    color: var(--dark-color);
    border: none;
    padding: 0.75rem 2rem;
    border-radius: 25px;
    font-weight: 600;
    text-decoration: none;
    transition: all 0.3s ease;
    box-shadow: 0 4px 15px rgba(255, 165, 0, 0.3);
}

.blog-primary-btn:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 25px rgba(255, 165, 0, 0.4);
    color: var(--dark-color);
}

.blog-secondary-btn {
    background: linear-gradient(135deg, var(--secondary-color), var(--primary-color));
    color: white;
    border: none;
    padding: 0.5rem 1.5rem;
    border-radius: 20px;
    font-weight: 500;
}

/* Recent Posts Grid */
.blog-posts-grid {
    display: flex;
    flex-direction: column;
    gap: 2rem;
}

.blog-posts-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 2rem;
}

.blog-post-col {
    display: flex;
}

.blog-post-card {
    display: flex;
    background: white;
    border: 1px solid var(--border-color);
    border-radius: 15px;
    overflow: hidden;
    box-shadow: 0 5px 20px rgba(0, 0, 0, 0.08);
    transition: all 0.3s ease;
    flex: 1;
}

.blog-post-card:hover {
    transform: translateY(-3px);
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.15);
    border-color: var(--accent-color);
}

.blog-post-content {
    padding: 1.5rem;
    flex: 1;
    display: flex;
    flex-direction: column;
}

.blog-post-category {
    color: var(--primary-color);
    font-size: 0.85rem;
    font-weight: 600;
    margin-bottom: 0.5rem;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.blog-post-heading {
    font-family: var(--font-secondary);
    font-size: 1.25rem;
    font-weight: 700;
    color: var(--dark-color);
    margin-bottom: 0.5rem;
    line-height: 1.3;
}

.blog-post-date {
    color: var(--muted-color);
    font-size: 0.9rem;
    margin-bottom: 0.75rem;
}

.blog-post-excerpt {
    color: var(--text-color);
    font-size: 0.95rem;
    line-height: 1.5;
    margin-bottom: 1rem;
    flex: 1;
}

.blog-post-link {
    color: var(--primary-color);
    font-weight: 600;
    text-decoration: none;
    position: relative;
    align-self: flex-start;
}

.blog-post-link::after {
    content: '';
    position: absolute;
    bottom: -2px;
    left: 0;
    width: 0;
    height: 2px;
    background: var(--primary-color);
    transition: width 0.3s ease;
}

.blog-post-link:hover::after {
    width: 100%;
}

.blog-post-thumbnail {
    display: flex;
    align-items: center;
    padding: 1rem;
}

.blog-thumbnail-img {
    width: 120px;
    height: 120px;
    object-fit: cover;
    border-radius: 10px;
}

/* Sidebar Styles */
.blog-sidebar-section {
    margin-bottom: 2.5rem;
}

.blog-sidebar-title {
    font-family: var(--font-secondary);
    font-size: 1.25rem;
    font-weight: 700;
    color: var(--dark-color);
    margin-bottom: 1rem;
    padding-left: 0.5rem;
    border-left: 4px solid;
    border-image: linear-gradient(180deg, var(--primary-color), var(--accent-color)) 1;
}

/* Top Stories */
.blog-top-stories {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.blog-story-item {
    display: flex;
    align-items: center;
    padding: 1rem;
    background: white;
    border: 1px solid var(--border-color);
    border-radius: 12px;
    text-decoration: none;
    transition: all 0.3s ease;
    gap: 1rem;
}

.blog-story-item:hover {
    transform: translateX(5px);
    border-color: var(--primary-color);
    box-shadow: 0 5px 15px rgba(67, 97, 238, 0.1);
}

.blog-story-thumb {
    width: 50px;
    height: 50px;
    object-fit: cover;
    border-radius: 8px;
    flex-shrink: 0;
}

.blog-story-content {
    flex: 1;
}

.blog-story-title {
    font-family: var(--font-secondary);
    font-size: 0.95rem;
    font-weight: 600;
    color: var(--dark-color);
    margin-bottom: 0.25rem;
    line-height: 1.3;
}

.blog-story-date {
    color: var(--muted-color);
    font-size: 0.8rem;
}

.blog-story-views {
    color: var(--accent-color);
    font-size: 0.8rem;
    font-weight: 600;
}

/* Archive Accordion */
.blog-archive-accordion .blog-accordion-item {
    border: none;
    margin-bottom: 0.5rem;
    border-radius: 10px !important;
    overflow: hidden;
}

.blog-accordion-header {
    background: linear-gradient(135deg, var(--light-color), #f8f9fa);
    border: none;
}

.blog-accordion-button {
    background: transparent !important;
    border: none;
    font-weight: 600;
    color: var(--dark-color);
    padding: 1rem 1.5rem;
    box-shadow: none !important;
}

.blog-accordion-button:not(.collapsed) {
    background: linear-gradient(135deg, var(--primary-color), var(--secondary-color)) !important;
    color: white;
}

.blog-accordion-body {
    padding: 0;
    background: white;
}

.blog-month-accordion .blog-month-item {
    border: none;
    border-bottom: 1px solid var(--border-color);
}

.blog-month-item:last-child {
    border-bottom: none;
}

.blog-month-header {
    background: white;
    border: none;
}

.blog-month-button {
    background: white !important;
    border: none;
    font-size: 0.9rem;
    font-weight: 500;
    color: var(--text-color);
    padding: 0.75rem 1.5rem;
}

.blog-month-button:not(.collapsed) {
    color: var(--primary-color);
    background: var(--light-color) !important;
}

.blog-month-posts {
    padding: 0.5rem 1.5rem 0.5rem 2.5rem;
}

.blog-month-list {
    list-style: none;
    padding: 0;
    margin: 0;
}

.blog-month-post {
    margin-bottom: 0.5rem;
}

.blog-month-post a {
    color: var(--text-color);
    text-decoration: none;
    font-size: 0.9rem;
    transition: color 0.3s ease;
}

.blog-month-post a:hover {
    color: var(--primary-color);
}

/* Categories */
.blog-categories {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}

.blog-category-item {
    display: flex;
    justify-content: between;
    align-items: center;
    padding: 0.75rem 1rem;
    background: white;
    border: 1px solid var(--border-color);
    border-radius: 10px;
    text-decoration: none;
    transition: all 0.3s ease;
}

.blog-category-item:hover {
    transform: translateX(5px);
    border-color: var(--primary-color);
    background: linear-gradient(135deg, var(--light-color), #f8f9fa);
}

.blog-category-name {
    flex: 1;
    color: var(--dark-color);
    font-weight: 500;
}

.blog-category-count {
    background: linear-gradient(135deg, var(--primary-color), var(--secondary-color));
    color: white;
    padding: 0.25rem 0.5rem;
    border-radius: 15px;
    font-size: 0.8rem;
    font-weight: 600;
    min-width: 30px;
    text-align: center;
}

/* Category Modal */
.blog-category-modal .blog-modal-content {
    border: none;
    border-radius: 20px;
    overflow: hidden;
    box-shadow: 0 20px 60px rgba(0, 0, 0, 0.2);
}

.blog-modal-header {
    background: linear-gradient(135deg, var(--primary-color), var(--secondary-color));
    color: white;
    border: none;
    padding: 1.5rem 2rem;
}

.blog-modal-title {
    font-family: var(--font-secondary);
    font-weight: 700;
    margin: 0;
}

.blog-modal-close {
    filter: brightness(0) invert(1);
}

.blog-modal-body {
    padding: 2rem;
}

.blog-modal-subtitle {
    font-family: var(--font-secondary);
    font-weight: 600;
    color: var(--dark-color);
    margin-bottom: 1rem;
    padding-bottom: 0.5rem;
    border-bottom: 2px solid var(--accent-color);
}

.blog-modal-list {
    list-style: none;
    padding: 0;
    margin: 0 0 2rem 0;
}

.blog-modal-list li {
    margin-bottom: 0.5rem;
    padding: 0.5rem 0;
    border-bottom: 1px solid var(--border-color);
}

.blog-modal-list li:last-child {
    border-bottom: none;
}

.blog-modal-list a {
    color: var(--text-color);
    text-decoration: none;
    transition: color 0.3s ease;
}

.blog-modal-list a:hover {
    color: var(--primary-color);
}

.blog-modal-footer {
    border: none;
    padding: 1.5rem 2rem;
    background: var(--light-color);
}

/* Empty States */
.blog-empty-state,
.blog-empty-item {
    text-align: center;
    padding: 2rem;
    color: var(--muted-color);
    background: var(--light-color);
    border-radius: 10px;
    border: 2px dashed var(--border-color);
}

/* Responsive Design */
@media (max-width: 768px) {
    .blog-posts-row {
        grid-template-columns: 1fr;
        gap: 1.5rem;
    }

    .blog-post-card {
        flex-direction: column;
    }

    .blog-post-thumbnail {
        justify-content: center;
        padding: 1rem 1rem 0 1rem;
    }

    .blog-thumbnail-img {
        width: 100%;
        height: 150px;
    }

    .blog-story-item {
        flex-direction: column;
        text-align: center;
        gap: 0.75rem;
    }

    .blog-title {
        font-size: 2rem;
    }

    .blog-post-title {
        font-size: 1.5rem;
    }
}

/* Animation Enhancements */
.blog-featured-card,
.blog-post-card,
.blog-story-item,
.blog-category-item {
    animation: fadeInUp 0.6s ease-out;
}

@keyframes fadeInUp {
    from {
        opacity: 0;
        transform: translateY(30px);
    }

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

/* Hover Effects */
.blog-post-card:hover .blog-post-heading {
    color: var(--primary-color);
}

.blog-story-item:hover .blog-story-title {
    color: var(--primary-color);
}

.blog-category-item:hover .blog-category-name {
    color: var(--primary-color);
}

/* Alternative Blog Brand Styling */
.blog-brand {
    display: inline-flex;
    align-items: center;
    background: rgba(255, 255, 255, 0.1);
    padding: 1rem 2rem;
    border-radius: 20px;
    backdrop-filter: blur(10px);
    border: 1px solid rgba(255, 255, 255, 0.2);
}

.blog-logo {
    height: 80px;
    width: auto;
    margin: 0;
    filter: drop-shadow(0 4px 8px rgba(0, 0, 0, 0.3));
    vertical-align: middle;
}

.blog-title {
    font-family: var(--font-secondary);
    font-size: 2.5rem;
    font-weight: 700;
    margin: 0;
    text-shadow: 0 2px 4px rgba(0, 0, 0, 0.3);
    background: linear-gradient(135deg, #ffffff, var(--accent-color));
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    margin-left: -5px;
    /* Tight spacing */
    letter-spacing: -0.5px;
}

/* RSS Feed Styles */
.blog-rss-card {
    border: 1px solid #e9ecef;
    border-radius: 8px;
    transition: all 0.3s ease;
    background: linear-gradient(135deg, #f8f9fa 0%, #e9ecef 100%);
}

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

.blog-rss-card .blog-icon-accent {
    color: #ff6600;
    animation: pulse 2s infinite;
}

@keyframes pulse {
    0% {
        transform: scale(1);
    }

    50% {
        transform: scale(1.1);
    }

    100% {
        transform: scale(1);
    }
}

/* RSS subscription button */
.btn-rss {
    background: linear-gradient(135deg, #ff6600, #ff8533);
    border: none;
    color: white;
    font-weight: 600;
}

.btn-rss:hover {
    background: linear-gradient(135deg, #e55c00, #ff6600);
    color: white;
    transform: translateY(-1px);
}

/*--------------------------------------------------------------
# Intake Form Styles - Vibrant & Professional
--------------------------------------------------------------*/

/* Intake Main Section */
.intake-section {
    background: linear-gradient(135deg, var(--light-color) 0%, #ffffff 50%, var(--light-color) 100%);
    padding: 4rem 0;
    min-height: 100vh;
}

.intake-container {
    padding: 2rem 0;
}

.intake-main-row {
    margin: 0;
    align-items: flex-start;
    /* Ensure proper alignment */
}

/* Breadcrumbs */
.intake-breadcrumbs {
    background: linear-gradient(135deg, var(--primary-color), var(--secondary-color));
    padding: 3rem 0;
    position: relative;
    overflow: hidden;
}

.intake-breadcrumbs::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1000 1000" opacity="0.1"><polygon fill="white" points="0,1000 1000,0 1000,1000"/></svg>');
    background-size: cover;
}

.intake-title {
    text-align: center;
    font-family: var(--font-secondary);
    font-size: 2.5rem;
    font-weight: 700;
    color: white;
    margin: 0;
    text-shadow: 0 2px 4px rgba(0, 0, 0, 0.3);
    position: relative;
    z-index: 2;
}

/* Sidebar - Fixed to prevent overlap */
.intake-sidebar {
    background: linear-gradient(135deg, var(--dark-color), #2b2d42);
    color: white;
    padding: 2.5rem;
    border-radius: 20px;
    box-shadow: 0 15px 35px rgba(0, 0, 0, 0.1);
    height: fit-content;
    position: sticky;
    top: 2rem;
    z-index: 10;
    /* Lower z-index than form */
}

.intake-sidebar-title {
    font-family: var(--font-secondary);
    font-size: 1.75rem;
    font-weight: 700;
    margin-bottom: 1.5rem;
    color: var(--accent-color);
    border-bottom: 3px solid var(--accent-color);
    padding-bottom: 0.5rem;
}

.intake-sidebar-text {
    font-size: 1rem;
    line-height: 1.6;
    margin-bottom: 1.5rem;
    color: rgba(255, 255, 255, 0.9);
}

.intake-brand {
    color: var(--accent-color);
    font-weight: 700;
}

.intake-sidebar-note {
    font-size: 0.95rem;
    color: var(--warm-color);
    font-weight: 600;
    padding: 1rem;
    background: rgba(255, 255, 255, 0.1);
    border-radius: 10px;
    border-left: 4px solid var(--accent-color);
}

/* Form Column - Prevent overlap */
.intake-form-column {
    padding: 0;
    position: relative;
    z-index: 20;
    /* Higher z-index than sidebar */
}

.intake-form-container {
    padding: 0;
}

/* Form Cards */
.intake-card {
    border: none;
    border-radius: 15px;
    box-shadow: 0 8px 25px rgba(0, 0, 0, 0.08);
    margin-bottom: 2rem;
    overflow: hidden;
    transition: all 0.3s ease;
    background: white;
    position: relative;
    /* Ensure proper stacking */
}

.intake-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 15px 35px rgba(0, 0, 0, 0.15);
}

.intake-card-header {
    background: linear-gradient(135deg, var(--primary-color), var(--secondary-color));
    border: none;
    padding: 1.5rem 2rem;
    position: relative;
    overflow: hidden;
}

.intake-card-header::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: linear-gradient(45deg, transparent, rgba(255, 255, 255, 0.1), transparent);
    transform: translateX(-100%);
    transition: transform 0.6s ease;
}

.intake-card:hover .intake-card-header::before {
    transform: translateX(100%);
}

.intake-card-title {
    font-family: var(--font-secondary);
    font-size: 1.25rem;
    font-weight: 700;
    color: white;
    margin: 0;
    position: relative;
    z-index: 2;
}

.intake-card-body {
    padding: 2rem;
}

/* Form Elements */
.intake-label {
    font-weight: 600;
    color: var(--dark-color);
    margin-bottom: 0.5rem;
    font-size: 0.95rem;
}

.intake-input,
.intake-select,
.intake-textarea {
    border: 2px solid var(--border-color);
    border-radius: 10px;
    padding: 0.75rem 1rem;
    font-size: 0.95rem;
    transition: all 0.3s ease;
    background: white;
}

.intake-input:focus,
.intake-select:focus,
.intake-textarea:focus {
    border-color: var(--primary-color);
    box-shadow: 0 0 0 0.2rem rgba(67, 97, 238, 0.1);
    outline: none;
}

.intake-input:hover,
.intake-select:hover {
    border-color: var(--primary-color);
}

/* Radio & Checkbox Groups */
.intake-radio-group {
    display: flex;
    gap: 2rem;
    margin-top: 0.5rem;
}

.intake-radio-item {
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

.intake-radio {
    width: 18px;
    height: 18px;
    margin: 0;
}

.intake-radio-label {
    font-weight: 500;
    color: var(--text-color);
    cursor: pointer;
    transition: color 0.3s ease;
}

.intake-radio:checked + .intake-radio-label {
    color: var(--primary-color);
    font-weight: 600;
}

.intake-checkbox-group {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(120px, 1fr));
    gap: 1rem;
    margin-top: 0.5rem;
}

.intake-checkbox-item {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.75rem;
    background: var(--light-color);
    border-radius: 8px;
    transition: all 0.3s ease;
}

.intake-checkbox-item:hover {
    background: rgba(67, 97, 238, 0.1);
    transform: translateY(-2px);
}

.intake-checkbox {
    width: 16px;
    height: 16px;
    margin: 0;
}

.intake-checkbox-label {
    font-weight: 500;
    color: var(--text-color);
    cursor: pointer;
    transition: color 0.3s ease;
}

.intake-checkbox:checked + .intake-checkbox-label {
    color: var(--primary-color);
    font-weight: 600;
}

/* Conditional Fields - FIXED VERSION */
.intake-conditional-group {
    display: none;
    /* Start hidden */
    opacity: 1;
    /* Make visible when shown */
    height: auto;
    /* Allow natural height */
    overflow: visible;
    /* Allow content to show */
    margin-top: 1rem;
    transition: opacity 0.4s ease;
}

/* When JavaScript sets display: block, make sure it's visible */
.intake-conditional-group[style*="display: block"] {
    display: block !important;
    opacity: 1 !important;
    height: auto !important;
    overflow: visible !important;
}

/* Alternative class-based approach */
.intake-conditional-show {
    display: block !important;
    opacity: 1 !important;
    height: auto !important;
    overflow: visible !important;
    margin-top: 1rem;
    animation: slideDown 0.4s ease;
}

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

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

/* Form Actions */
.intake-form-actions {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1rem;
    margin-top: 2rem;
}

.intake-reset-btn {
    background: linear-gradient(135deg, var(--muted-color), #6c757d);
    color: white;
    border: none;
    padding: 1rem 2rem;
    border-radius: 12px;
    font-weight: 600;
    transition: all 0.3s ease;
    box-shadow: 0 4px 15px rgba(108, 117, 125, 0.3);
}

.intake-reset-btn:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 25px rgba(108, 117, 125, 0.4);
    color: white;
}

.intake-submit-btn {
    background: linear-gradient(135deg, var(--accent-color), var(--warm-color));
    color: var(--dark-color);
    border: none;
    padding: 1rem 2rem;
    border-radius: 12px;
    font-weight: 600;
    transition: all 0.3s ease;
    box-shadow: 0 4px 15px rgba(255, 165, 0, 0.3);
}

.intake-submit-btn:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 25px rgba(255, 165, 0, 0.4);
    color: var(--dark-color);
}

/* Success Message */
.intake-success-message {
    display: none;
    background: linear-gradient(135deg, var(--success-color), #28a745);
    color: white;
    padding: 2rem;
    border-radius: 15px;
    margin-top: 2rem;
    text-align: center;
    box-shadow: 0 10px 30px rgba(40, 167, 69, 0.3);
}

.intake-success-show {
    display: flex;
    align-items: center;
    gap: 1rem;
    animation: bounceIn 0.6s ease;
}

@keyframes bounceIn {
    0% {
        opacity: 0;
        transform: scale(0.3);
    }

    50% {
        opacity: 1;
        transform: scale(1.05);
    }

    70% {
        transform: scale(0.9);
    }

    100% {
        opacity: 1;
        transform: scale(1);
    }
}

.intake-success-icon {
    font-size: 3rem;
    flex-shrink: 0;
}

.intake-success-content {
    text-align: left;
}

.intake-success-title {
    font-family: var(--font-secondary);
    font-size: 1.5rem;
    font-weight: 700;
    margin-bottom: 0.5rem;
}

.intake-success-text {
    margin: 0;
    opacity: 0.9;
}

/* Responsive Design */
@media (max-width: 768px) {
    .intake-main-row {
        flex-direction: column;
    }

    .intake-sidebar {
        position: static;
        margin-bottom: 2rem;
    }

    .intake-form-actions {
        grid-template-columns: 1fr;
    }

    .intake-radio-group {
        flex-direction: column;
        gap: 1rem;
    }

    .intake-checkbox-group {
        grid-template-columns: 1fr;
    }

    .intake-success-show {
        flex-direction: column;
        text-align: center;
    }

    .intake-success-content {
        text-align: center;
    }
}

/* Desktop-specific fixes to prevent overlap */
@media (min-width: 769px) {
    .intake-main-row {
        display: flex;
        flex-wrap: nowrap;
    }

    .intake-sidebar {
        flex: 0 0 33.333333%;
        max-width: 33.333333%;
        position: sticky;
        top: 2rem;
        align-self: flex-start;
        z-index: 10;
    }

    .intake-form-column {
        flex: 0 0 66.666667%;
        max-width: 66.666667%;
        z-index: 5;
        /* Lower than sidebar to prevent overlap issues */
    }

    /* Ensure form content doesn't slide under sidebar */
    .intake-form-container {
        position: relative;
    }
}

/* Form Validation Styles */
.intake-input:invalid:not(:focus):not(:placeholder-shown) {
    border-color: var(--danger-color);
    background: rgba(220, 53, 69, 0.05);
}

.intake-input:valid:not(:focus):not(:placeholder-shown) {
    border-color: var(--success-color);
    background: rgba(40, 167, 69, 0.05);
}

/* Loading State */
.intake-submit-btn:disabled {
    opacity: 0.7;
    cursor: not-allowed;
    transform: none !important;
}

/* Print Styles */
@media print {
    .intake-sidebar {
        display: none;
    }

    .intake-form-actions {
        display: none;
    }

    .intake-card {
        box-shadow: none;
        border: 1px solid var(--border-color);
    }
}

/*--------------------------------------------------------------
# Intake Form Processing Styles
--------------------------------------------------------------*/

/* Form Validation States */
.intake-valid {
    border-color: var(--success-color) !important;
    background: rgba(40, 167, 69, 0.05) !important;
}

.intake-invalid {
    border-color: var(--danger-color) !important;
    background: rgba(220, 53, 69, 0.05) !important;
}

/* Loading State */
.intake-submit-btn:disabled {
    opacity: 0.7;
    cursor: not-allowed;
    transform: none !important;
}

/* Spinner for loading state */
.spinner-border-sm {
    width: 1rem;
    height: 1rem;
}

/*--------------------------------------------------------------
# Thank You Page Styles
--------------------------------------------------------------*/

.intake-thankyou-breadcrumbs {
    background: linear-gradient(135deg, var(--success-color), #28a745);
    padding: 3rem 0;
    position: relative;
    overflow: hidden;
}

.intake-thankyou-breadcrumbs::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1000 1000" opacity="0.1"><polygon fill="white" points="0,1000 1000,0 1000,1000"/></svg>');
    background-size: cover;
}

.intake-thankyou-title {
    text-align: center;
    font-family: var(--font-secondary);
    font-size: 2.5rem;
    font-weight: 700;
    color: white;
    margin: 0;
    text-shadow: 0 2px 4px rgba(0, 0, 0, 0.3);
    position: relative;
    z-index: 2;
}

.intake-thankyou-section {
    background: linear-gradient(135deg, var(--light-color) 0%, #ffffff 50%, var(--light-color) 100%);
    padding: 4rem 0;
    min-height: 70vh;
}

.intake-thankyou-content {
    max-width: 800px;
    margin: 0 auto;
    text-align: center;
}

.intake-thankyou-icon {
    font-size: 4rem;
    color: var(--success-color);
    margin-bottom: 2rem;
    animation: bounceIn 1s ease;
}

.intake-thankyou-heading {
    font-family: var(--font-secondary);
    font-size: 2.25rem;
    font-weight: 700;
    color: var(--dark-color);
    margin-bottom: 1.5rem;
}

.intake-thankyou-message {
    font-size: 1.2rem;
    color: var(--text-color);
    line-height: 1.6;
    margin-bottom: 3rem;
}

.intake-thankyou-details {
    background: white;
    padding: 2.5rem;
    border-radius: 20px;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);
    margin-bottom: 2rem;
    text-align: left;
}

.intake-thankyou-subheading {
    font-family: var(--font-secondary);
    font-size: 1.5rem;
    font-weight: 700;
    color: var(--dark-color);
    margin-bottom: 1.5rem;
    text-align: center;
}

.intake-thankyou-steps {
    display: flex;
    flex-direction: column;
    gap: 2rem;
}

.intake-thankyou-step {
    display: flex;
    align-items: flex-start;
    gap: 1.5rem;
    padding: 1.5rem;
    background: var(--light-color);
    border-radius: 15px;
    transition: all 0.3s ease;
}

.intake-thankyou-step:hover {
    transform: translateX(10px);
    background: rgba(67, 97, 238, 0.05);
}

.step-number {
    background: linear-gradient(135deg, var(--primary-color), var(--secondary-color));
    color: white;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 700;
    font-size: 1.1rem;
    flex-shrink: 0;
}

.step-content h4 {
    font-family: var(--font-secondary);
    font-weight: 600;
    color: var(--dark-color);
    margin-bottom: 0.5rem;
}

.step-content p {
    color: var(--text-color);
    margin: 0;
    line-height: 1.5;
}

.intake-thankyou-contact {
    background: linear-gradient(135deg, var(--primary-color), var(--secondary-color));
    color: white;
    padding: 2.5rem;
    border-radius: 20px;
    margin-bottom: 2rem;
}

.intake-thankyou-contact h3 {
    color: white;
}

.intake-thankyou-contact p {
    opacity: 0.9;
    margin-bottom: 1rem;
}

.intake-thankyou-contact-info {
    display: flex;
    justify-content: center;
    gap: 3rem;
    flex-wrap: wrap;
}

.intake-thankyou-contact-info p {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    margin: 0;
}

.intake-thankyou-contact-info a {
    color: white;
    text-decoration: none;
    transition: color 0.3s ease;
}

.intake-thankyou-contact-info a:hover {
    color: var(--accent-color);
}

.intake-thankyou-actions {
    display: flex;
    gap: 1rem;
    justify-content: center;
    flex-wrap: wrap;
}

.intake-thankyou-btn-primary {
    background: linear-gradient(135deg, var(--accent-color), var(--warm-color));
    color: var(--dark-color);
    border: none;
    padding: 1rem 2rem;
    border-radius: 12px;
    font-weight: 600;
    text-decoration: none;
    transition: all 0.3s ease;
    box-shadow: 0 4px 15px rgba(255, 165, 0, 0.3);
}

.intake-thankyou-btn-primary:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 25px rgba(255, 165, 0, 0.4);
    color: var(--dark-color);
}

.intake-thankyou-btn-secondary {
    background: transparent;
    color: var(--primary-color);
    border: 2px solid var(--primary-color);
    padding: 1rem 2rem;
    border-radius: 12px;
    font-weight: 600;
    text-decoration: none;
    transition: all 0.3s ease;
}

.intake-thankyou-btn-secondary:hover {
    background: var(--primary-color);
    color: white;
    transform: translateY(-2px);
}

/* Responsive Design */
@media (max-width: 768px) {
    .intake-thankyou-steps {
        gap: 1.5rem;
    }

    .intake-thankyou-step {
        flex-direction: column;
        text-align: center;
        gap: 1rem;
    }

    .intake-thankyou-contact-info {
        flex-direction: column;
        gap: 1rem;
        text-align: center;
    }

    .intake-thankyou-actions {
        flex-direction: column;
        align-items: center;
    }

    .intake-thankyou-btn-primary,
    .intake-thankyou-btn-secondary {
        width: 100%;
        max-width: 300px;
    }
}

/* Additional CSS for the updated HTML structure */

/* Success Alert Styling */
.intake-thankyou-alert {
    background: rgba(40, 167, 69, 0.1);
    border: 2px solid #28a745;
    border-radius: 12px;
    padding: 1.5rem;
    margin-bottom: 2rem;
}

.intake-thankyou-alert .text-green-700 {
    color: #28a745 !important;
}

/* Resources Section */
.intake-thankyou-resources {
    border-top: 2px solid var(--border-color);
    padding-top: 2rem;
    margin-top: 2rem;
}

.intake-resources-title {
    color: var(--text-color);
    margin-bottom: 1.5rem;
    font-size: 1.1rem;
    text-align: center;
}

.intake-resources-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 1rem;
}

.intake-resource-btn {
    background: transparent;
    border: 2px solid var(--primary-color);
    color: var(--primary-color) !important;
    padding: 1rem;
    border-radius: 8px;
    text-decoration: none;
    font-weight: 500;
    transition: all 0.3s ease;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    min-height: 60px;
}

.intake-resource-btn:hover {
    background: var(--primary-color);
    color: white !important;
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(67, 97, 238, 0.3);
    text-decoration: none;
}

/* Responsive grid for resources */
@media (min-width: 768px) {
    .intake-resources-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (min-width: 992px) {
    .intake-resources-grid {
        grid-template-columns: repeat(4, 1fr);
    }
}

/* Fix for the custom icon styling */
.bg-green-100 {
    background-color: rgba(40, 167, 69, 0.1) !important;
}

.text-4xl {
    font-size: 2.5rem !important;
}

/*--------------------------------------------------------------
# Mobile Navigation Fixes
--------------------------------------------------------------*/
@media (max-width: 991.98px) {
    .mobile-nav-toggle {
        display: block !important;
        position: absolute;
        right: 15px;
        top: 50%;
        transform: translateY(-50%);
        background: none;
        border: none;
        font-size: 1.5rem;
        color: var(--primary-color);
        cursor: pointer;
        z-index: 1001;
    }

    .navmenu ul {
        display: none;
        position: absolute;
        top: 100%;
        left: 0;
        right: 0;
        background: white;
        flex-direction: column;
        padding: 1rem 0;
        box-shadow: 0 5px 15px rgba(0, 0, 0, 0.1);
        gap: 0;
        margin: 0;
        z-index: 1000;
    }

    .navmenu ul.show {
        display: flex !important;
    }

    .navmenu li {
        width: 100%;
        margin: 0;
    }

    .navmenu a {
        padding: 0.75rem 1.5rem;
        border-bottom: 1px solid rgba(0, 0, 0, 0.1);
        display: flex;
        align-items: center;
        width: 100%;
    }

    .navmenu a::after {
        display: none;
    }

    .navmenu a i {
        min-width: 20px;
    }

    /* Ensure the header has proper positioning */
    .header {
        position: relative;
    }

    .branding .container {
        position: relative;
        min-height: 60px;
    }
}

/* Ensure desktop menu works properly */
@media (min-width: 992px) {
    .mobile-nav-toggle {
        display: none !important;
    }

    .navmenu ul {
        display: flex !important;
    }
}

/* Fix for mobile menu animation */
.navmenu ul {
    transition: all 0.3s ease;
}

/* Prevent body scroll when mobile menu is open */
body.menu-open {
    overflow: hidden;
}

/*--------------------------------------------------------------
# Breadcrumbs
--------------------------------------------------------------*/
.breadcrumbs {
    padding: 15px 0;
    background: #f8f9fa;
    min-height: 40px;
    margin-top: 0;
}

.breadcrumbs ol {
    display: flex;
    flex-wrap: wrap;
    list-style: none;
    padding: 0;
    margin: 0;
    font-size: 14px;
}

.breadcrumbs ol li + li {
    padding-left: 10px;
}

.breadcrumbs ol li + li::before {
    display: inline-block;
    padding-right: 10px;
    color: #6c757d;
    content: "/";
}

.breadcrumbs ol li a {
    color: var(--primary-color);
    text-decoration: none;
}

.breadcrumbs ol li a:hover {
    color: var(--secondary-color);
}

/*--------------------------------------------------------------
# Copyright Page Styles - Distinct from Footer Copyright
--------------------------------------------------------------*/

/* Copyright Page Section */
.copyright-page {
    padding: 60px 0;
    background: linear-gradient(135deg, #f8f9fa 0%, #ffffff 50%, #f8f9fa 100%);
}

/* Copyright Page Content Container */
.copyright-page-content {
    background: linear-gradient(135deg, #ffffff 0%, #f8f9ff 50%, #f0f4ff 100%);
    padding: 4rem 3rem;
    border-radius: 24px;
    box-shadow:
        0 20px 60px rgba(67, 97, 238, 0.15),
        inset 0 1px 0 rgba(255, 255, 255, 0.8);
    border: 1px solid rgba(67, 97, 238, 0.1);
    position: relative;
    overflow: hidden;
}

.copyright-page-content::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 4px;
    background: linear-gradient(90deg,
            var(--primary-color),
            var(--secondary-color),
            var(--accent-color),
            var(--warm-color));
    background-size: 400% 400%;
    animation: gradientShift 8s ease infinite;
}

/* Copyright Page Header */
.copyright-page-header {
    margin-bottom: 4rem;
}

.copyright-page-symbol {
    font-size: 5rem;
    color: var(--primary-color);
    margin-bottom: 2rem;
    animation: float 6s ease-in-out infinite;
    filter: drop-shadow(0 8px 20px rgba(67, 97, 238, 0.3));
}

.copyright-page-brand {
    font-family: var(--font-secondary);
    font-size: 3rem;
    font-weight: 800;
    background: linear-gradient(135deg, var(--primary-color), var(--secondary-color), var(--accent-color));
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    margin-bottom: 1rem;
    text-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
}

.copyright-page-period {
    font-family: var(--font-primary);
    font-size: 1.5rem;
    font-weight: 600;
    color: var(--muted-color);
    position: relative;
    display: inline-block;
}

.copyright-page-period::after {
    content: '';
    position: absolute;
    bottom: -8px;
    left: 50%;
    transform: translateX(-50%);
    width: 60px;
    height: 3px;
    background: linear-gradient(90deg, var(--accent-color), var(--warm-color));
    border-radius: 2px;
}

/* Copyright Page Cards */
.copyright-page-card {
    background: rgba(255, 255, 255, 0.9);
    backdrop-filter: blur(10px);
    border: 1px solid rgba(255, 255, 255, 0.8);
    border-radius: 20px;
    padding: 2.5rem;
    margin-bottom: 2rem;
    box-shadow:
        0 8px 32px rgba(0, 0, 0, 0.08),
        inset 0 1px 0 rgba(255, 255, 255, 0.8);
    transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);
    position: relative;
    overflow: hidden;
}

.copyright-page-card::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 3px;
    background: linear-gradient(90deg, var(--primary-color), var(--secondary-color));
    transform: scaleX(0);
    transition: transform 0.4s ease;
}

.copyright-page-card:hover {
    transform: translateY(-8px) scale(1.02);
    box-shadow:
        0 20px 50px rgba(0, 0, 0, 0.15),
        inset 0 1px 0 rgba(255, 255, 255, 0.9);
}

.copyright-page-card:hover::before {
    transform: scaleX(1);
}

/* Card Icons for Copyright Page */
.copyright-page-card .card-icon {
    font-size: 3rem;
    margin-bottom: 1.5rem;
    display: inline-block;
    padding: 1rem;
    border-radius: 16px;
    background: linear-gradient(135deg, var(--light-color), #ffffff);
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1);
}

.copyright-page-legal .card-icon {
    color: var(--danger-color);
    background: linear-gradient(135deg, rgba(220, 53, 69, 0.1), rgba(220, 53, 69, 0.05));
}

.copyright-page-content-usage .card-icon {
    color: var(--primary-color);
    background: linear-gradient(135deg, rgba(67, 97, 238, 0.1), rgba(67, 97, 238, 0.05));
}

.copyright-page-photo-usage .card-icon {
    color: var(--secondary-color);
    background: linear-gradient(135deg, rgba(114, 9, 183, 0.1), rgba(114, 9, 183, 0.05));
}

.copyright-page-permission .card-icon {
    color: var(--accent-color);
    background: linear-gradient(135deg, rgba(255, 165, 0, 0.1), rgba(255, 165, 0, 0.05));
}

/* Card Content for Copyright Page */
.copyright-page-card .card-title {
    font-family: var(--font-secondary);
    font-size: 1.5rem;
    font-weight: 700;
    color: var(--dark-color);
    margin-bottom: 1rem;
    position: relative;
}

.copyright-page-card .card-title::after {
    content: '';
    position: absolute;
    bottom: -8px;
    left: 0;
    width: 40px;
    height: 2px;
    background: var(--accent-color);
    border-radius: 1px;
}

.copyright-page-card .card-text {
    font-size: 1.1rem;
    line-height: 1.7;
    color: var(--text-color);
    margin-bottom: 0;
}

/* Guidelines Grid for Copyright Page */
.copyright-page-guidelines {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    gap: 2rem;
    margin-bottom: 2rem;
}

/* Permission Actions for Copyright Page */
.copyright-page-permission-actions {
    display: flex;
    gap: 1rem;
    margin-top: 2rem;
    flex-wrap: wrap;
}

.copyright-page-permission-btn {
    background: linear-gradient(135deg, var(--accent-color), var(--warm-color));
    color: var(--dark-color);
    border: none;
    border-radius: 50px;
    padding: 1rem 2rem;
    font-weight: 600;
    text-decoration: none;
    transition: all 0.3s ease;
    box-shadow: 0 4px 15px rgba(255, 165, 0, 0.3);
    position: relative;
    overflow: hidden;
}

.copyright-page-permission-btn::before {
    content: '';
    position: absolute;
    top: 0;
    left: -100%;
    width: 100%;
    height: 100%;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.4), transparent);
    transition: left 0.5s ease;
}

.copyright-page-permission-btn:hover {
    transform: translateY(-3px);
    box-shadow: 0 8px 25px rgba(255, 165, 0, 0.4);
    color: var(--dark-color);
}

.copyright-page-permission-btn:hover::before {
    left: 100%;
}

.copyright-page-permission-btn-outline {
    background: transparent;
    color: var(--primary-color);
    border: 2px solid var(--primary-color);
    border-radius: 50px;
    padding: 1rem 2rem;
    font-weight: 600;
    text-decoration: none;
    transition: all 0.3s ease;
}

.copyright-page-permission-btn-outline:hover {
    background: var(--primary-color);
    color: white;
    transform: translateY(-3px);
    box-shadow: 0 8px 25px rgba(67, 97, 238, 0.3);
}

/* Copyright Page Footer */
.copyright-page-footer {
    margin-top: 4rem;
    padding-top: 3rem;
    border-top: 1px solid rgba(67, 97, 238, 0.1);
}

.copyright-page-rights-badge {
    display: inline-flex;
    align-items: center;
    gap: 0.75rem;
    background: linear-gradient(135deg, var(--primary-color), var(--secondary-color));
    color: white;
    padding: 1rem 2rem;
    border-radius: 50px;
    font-weight: 700;
    font-size: 1.2rem;
    margin-bottom: 1rem;
    box-shadow: 0 8px 25px rgba(67, 97, 238, 0.3);
    animation: pulse 2s infinite;
}

.copyright-page-rights-notice {
    color: var(--muted-color);
    font-size: 1rem;
    font-style: italic;
    margin: 0;
}

/* Responsive Design for Copyright Page */
@media (max-width: 768px) {
    .copyright-page {
        padding: 40px 0;
    }

    .copyright-page-content {
        padding: 2.5rem 1.5rem;
        margin: 0 1rem;
    }

    .copyright-page-brand {
        font-size: 2.25rem;
    }

    .copyright-page-symbol {
        font-size: 4rem;
    }

    .copyright-page-card {
        padding: 2rem 1.5rem;
    }

    .copyright-page-guidelines {
        grid-template-columns: 1fr;
        gap: 1.5rem;
    }

    .copyright-page-permission-actions {
        flex-direction: column;
        align-items: center;
    }

    .copyright-page-permission-btn,
    .copyright-page-permission-btn-outline {
        width: 100%;
        max-width: 280px;
        text-align: center;
    }

    .copyright-page-rights-badge {
        padding: 0.75rem 1.5rem;
        font-size: 1.1rem;
    }
}

@media (max-width: 576px) {
    .copyright-page-content {
        padding: 2rem 1rem;
    }

    .copyright-page-brand {
        font-size: 1.75rem;
    }

    .copyright-page-symbol {
        font-size: 3rem;
    }

    .copyright-page-card {
        padding: 1.5rem 1rem;
    }

    .copyright-page-card .card-icon {
        font-size: 2.5rem;
        padding: 0.75rem;
    }

    .copyright-page-card .card-title {
        font-size: 1.25rem;
    }

    .copyright-page-card .card-text {
        font-size: 1rem;
    }
}

/* Animation Enhancements for Copyright Page */
.copyright-page-content {
    animation: fadeInUp 1s ease-out;
}

.copyright-page-card {
    animation: slideInUp 0.8s ease-out;
}

.copyright-page-card:nth-child(2) {
    animation-delay: 0.1s;
}

.copyright-page-card:nth-child(3) {
    animation-delay: 0.2s;
}

.copyright-page-card:nth-child(4) {
    animation-delay: 0.3s;
}

/* Enhanced hover effects for Copyright Page */
.copyright-page-card:hover .card-icon {
    transform: scale(1.1) rotate(5deg);
    transition: transform 0.3s ease;
}

/* Focus states for accessibility */
.copyright-page-permission-btn:focus,
.copyright-page-permission-btn-outline:focus {
    outline: 2px solid var(--accent-color);
    outline-offset: 2px;
}

/*--------------------------------------------------------------
# Notary Page Styles
--------------------------------------------------------------*/

/* Notary Navigation */
.notary-navbar {
    background: linear-gradient(135deg, var(--primary-color), var(--secondary-color));
    box-shadow: 0 2px 15px rgba(0, 0, 0, 0.1);
}

.notary-navbar .navbar-brand {
    color: white !important;
    font-weight: 600;
    font-size: 1.25rem;
}

.notary-navbar .navbar-brand i {
    color: var(--accent-color);
}

.notary-navbar .nav-link {
    color: rgba(255, 255, 255, 0.9) !important;
    font-weight: 500;
    transition: all 0.3s ease;
}

.notary-navbar .nav-link:hover,
.notary-navbar .nav-link:focus {
    color: white !important;
    transform: translateY(-1px);
}

/* Notary Hero Section */
.notary-hero-section {
    background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
    color: white;
    padding: 120px 0 80px;
    text-align: center;
    position: relative;
    overflow: hidden;
}

.notary-hero-section::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1000 1000" opacity="0.1"><polygon fill="white" points="0,1000 1000,0 1000,1000"/></svg>');
    background-size: cover;
}

.notary-hero-logo {
    width: auto;
    height: 100px;
    margin-bottom: 2rem;
}

.notary-hero-title {
    font-weight: 700;
    margin-bottom: 1.5rem;
    font-size: 2.5rem;
    text-shadow: 0 2px 4px rgba(0, 0, 0, 0.3);
}

.notary-hero-subtitle {
    font-size: 1.2rem;
    margin-bottom: 2.5rem;
    max-width: 600px;
    margin-left: auto;
    margin-right: auto;
    opacity: 0.9;
}

.notary-primary-btn {
    background: linear-gradient(135deg, var(--accent-color), var(--warm-color));
    color: var(--dark-color);
    border: none;
    border-radius: 50px;
    font-weight: 600;
    padding: 0.75rem 2rem;
    transition: all 0.3s ease;
    box-shadow: 0 4px 15px rgba(255, 165, 0, 0.3);
}

.notary-primary-btn:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 25px rgba(255, 165, 0, 0.4);
    color: var(--dark-color);
}

/* Notary Services Section */
.notary-services-section {
    padding: 80px 0;
    background-color: var(--light-color);
}

.notary-service-card {
    background: white;
    border: 1px solid var(--border-color);
    border-radius: var(--border-radius);
    padding: 2.5rem 1.5rem;
    box-shadow: var(--box-shadow);
    transition: all 0.3s ease;
    height: 100%;
}

.notary-service-card:hover {
    transform: translateY(-5px);
    border-color: var(--primary-color);
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);
}

.notary-service-card i {
    font-size: 3rem;
    color: var(--primary-color);
    margin-bottom: 1rem;
    display: block;
}

.notary-service-card h4 {
    font-family: var(--font-secondary);
    font-weight: 600;
    color: var(--dark-color);
    margin-bottom: 1rem;
}

.notary-service-card p {
    color: var(--text-color);
    line-height: 1.6;
}

/* Notary Pricing Section */
.notary-pricing-section {
    padding: 80px 0;
    background: linear-gradient(135deg, var(--light-color) 0%, #f8f9ff 100%);
}

.notary-price-card {
    background: white;
    border: 2px solid var(--border-color);
    border-radius: 15px;
    transition: all 0.3s ease;
    height: 100%;
}

.notary-price-card:hover {
    border-color: var(--primary-color);
    transform: translateY(-5px);
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);
}

.notary-price-list {
    list-style: none;
    padding: 0;
    margin: 0;
}

.notary-price-list li {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 1rem 0;
    border-bottom: 1px solid var(--border-color);
}

.notary-price-list li:last-child {
    border-bottom: none;
}

.notary-price-list li span {
    color: var(--text-color);
    font-weight: 500;
}

.notary-price-list li strong {
    color: var(--primary-color);
    font-weight: 600;
}

.notary-alert {
    border-radius: 15px;
    border: 2px solid var(--info-color);
    background: rgba(23, 162, 184, 0.05);
}

/* Notary About Section */
.notary-about-section {
    padding: 80px 0;
    background-color: white;
}

.notary-about-image {
    width: 100%;
    height: 400px;
    object-fit: cover;
}

.notary-image-credit {
    font-size: 0.8rem;
    color: var(--muted-color);
    margin-top: 0.5rem;
    text-align: center;
}

.notary-about-lead {
    font-size: 1.2rem;
    font-weight: 500;
    color: var(--dark-color);
    margin-bottom: 1.5rem;
}

/* Notary Contact Section */
.notary-contact-section {
    padding: 80px 0;
    background-color: var(--light-color);
}

.notary-contact-form .form-control,
.notary-contact-form .form-select {
    border: 2px solid var(--border-color);
    border-radius: 10px;
    padding: 0.75rem 1rem;
    transition: all 0.3s ease;
}

.notary-contact-form .form-control:focus,
.notary-contact-form .form-select:focus {
    border-color: var(--primary-color);
    box-shadow: 0 0 0 0.2rem rgba(67, 97, 238, 0.1);
}

.notary-contact-link {
    color: var(--primary-color);
    text-decoration: none;
    font-weight: 500;
    transition: color 0.3s ease;
}

.notary-contact-link:hover {
    color: var(--secondary-color);
}

/* Notary Footer */
.notary-footer {
    background: linear-gradient(135deg, var(--dark-color), #2b2d42);
    color: white;
    padding: 3rem 0;
    text-align: center;
}

.notary-copyright {
    color: rgba(255, 255, 255, 0.8);
    margin-bottom: 1rem;
}

.notary-footer-brand {
    display: inline-flex;
    align-items: center;
    text-decoration: none;
}

.notary-footer-logo {
    height: 30px;
    width: auto;
    margin: 0 0.5rem;
    vertical-align: middle;
}

.notary-social-icons a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    background: rgba(255, 255, 255, 0.1);
    color: white;
    border-radius: 50%;
    text-decoration: none;
    transition: all 0.3s ease;
}

.notary-social-icons a:hover {
    background: var(--accent-color);
    color: var(--dark-color);
    transform: translateY(-2px);
}

/* Responsive Design */
@media (max-width: 768px) {
    .notary-hero-title {
        font-size: 2rem;
    }

    .notary-hero-subtitle {
        font-size: 1.1rem;
    }

    .notary-service-card {
        padding: 2rem 1rem;
    }

    .notary-about-image {
        height: 300px;
    }
}

@media (max-width: 576px) {
    .notary-hero-section {
        padding: 100px 0 60px;
    }

    .notary-hero-title {
        font-size: 1.75rem;
    }

    .notary-price-list li {
        flex-direction: column;
        align-items: flex-start;
        gap: 0.5rem;
    }
}

/*--------------------------------------------------------------
# Web Design Page Styles - Updated for Contrast, Visibility & Consistency
--------------------------------------------------------------*/

/* === Scoped Design Tokens === */
:root {
    --web-design-primary-color: #0057ff;
    --web-design-secondary-color: #00c2a8;
    --web-design-accent-color: #ff6b00;
    --web-design-warm-color: #ff9f40;
    --web-design-bg-light: #f8f9fa;
    --web-design-bg-dark: #0f172a;
    --web-design-text-color: #212529;
    --web-design-dark-color: #1a1a1a;
    --web-design-light-color: #f0f4f8;
    --web-design-border-color: #dee2e6;
    --web-design-card-bg: #ffffff;
    --web-design-font-sans: 'Raleway', 'Roboto', sans-serif;
    --web-design-font-secondary: 'Raleway', sans-serif;
    --web-design-gradient: linear-gradient(to right, var(--web-design-primary-color), var(--web-design-secondary-color));
    --web-design-transition-fast: 0.3s ease-in-out;
    --web-design-border-radius: 1rem;
    --web-design-box-shadow: 0 8px 24px rgba(0, 0, 0, 0.05);
    --web-design-transition: all 0.3s ease-in-out;
}

/* === Global Typography & Layout === */
body {
    font-family: var(--web-design-font-sans);
    color: var(--web-design-text-color);
    background-color: var(--web-design-bg-light);
    scroll-behavior: smooth;
    line-height: 1.6;
}

h1,
h2,
h3,
h4,
h5 {
    font-weight: 700;
    letter-spacing: -0.5px;
}

.gradient-text {
    background: var(--web-design-gradient);
    background-clip: text;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    text-shadow: 0 1px 2px rgba(0, 0, 0, 0.1);
}

/* === Navbar === */
.webdesign-navbar {
    background-color: #fff;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05);
}

.webdesign-navbar .nav-link {
    font-weight: 600;
    color: var(--web-design-text-color);
    position: relative;
}

.webdesign-navbar .nav-link::after {
    content: '';
    position: absolute;
    bottom: -4px;
    left: 0;
    width: 0%;
    height: 2px;
    background: var(--web-design-primary-color);
    transition: width var(--web-design-transition-fast);
}

.webdesign-navbar .nav-link:hover::after {
    width: 100%;
}

/* === Hero Section - FIXED for Better Contrast === */
.webdesign-hero {
    padding: 6rem 0;
    background: linear-gradient(135deg, var(--web-design-bg-dark), var(--web-design-primary-color));
    text-align: center;
    color: #ffffff;
    position: relative;
    overflow: hidden;
}

.webdesign-hero::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(0, 0, 0, 0.7);
    z-index: 1;
}

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

.webdesign-hero h1 {
    font-size: 3rem;
    margin-bottom: 1rem;
    color: #ffffff;
    text-shadow: 0 2px 4px rgba(0, 0, 0, 0.5);
}

.webdesign-hero p {
    font-size: 1.25rem;
    max-width: 700px;
    margin: 0 auto 2rem;
    color: #f8f9fa;
    text-shadow: 0 1px 2px rgba(0, 0, 0, 0.3);
}

/* Alternative lighter background option */
/* .webdesign-hero {
    padding: 6rem 0;
    background: linear-gradient(135deg, #1e3a8a, #3b82f6);
    text-align: center;
    color: #ffffff;
} */

/* === Buttons === */
.webdesign-primary-btn,
.webdesign-secondary-btn,
.webdesign-btn-outline {
    font-weight: 600;
    padding: 0.75rem 1.5rem;
    border-radius: 0.5rem;
    transition: var(--web-design-transition-fast);
}

.webdesign-primary-btn {
    background: var(--web-design-primary-color);
    color: #fff;
    border: none;
}

.webdesign-primary-btn:hover {
    background: var(--web-design-accent-color);
}

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

.webdesign-btn-outline:hover {
    background: var(--web-design-primary-color);
    color: #fff;
}

/* === Floating Consultation Button === */
.floating-consultation-btn {
    position: fixed;
    bottom: 30px;
    left: 20px;
    z-index: 9999;
    background-color: var(--web-design-primary-color);
    color: #fff;
    opacity: 0;
    visibility: hidden;
    transition: all 0.3s ease;
    box-shadow: 0 6px 20px rgba(0, 0, 0, 0.3);
    border-radius: 25px;
    padding: 0.75rem 1.5rem;
    font-weight: 600;
    animation: pulse 2s infinite;
}

.floating-consultation-btn:hover {
    transform: translateY(-2px) scale(1.05);
    box-shadow: 0 8px 25px rgba(0, 0, 0, 0.4);
    animation: none;
}

/* === Breadcrumbs === */
.breadcrumbs {
    background: linear-gradient(135deg, var(--web-design-light-color), #ffffff);
    padding: 2rem 0 1rem;
    border-bottom: 1px solid var(--web-design-border-color);
}

.breadcrumbs ol {
    gap: 0.5rem;
    margin-bottom: 0.5rem;
}

.breadcrumbs .section-title-left h1 {
    font-size: 1.75rem;
    color: var(--web-design-dark-color);
    margin: 0;
}

/* === Section Padding === */
.webdesign-services-section,
.webdesign-process-section,
.webdesign-case-studies-section,
.webdesign-contact-section,
.webdesign-platforms-section,
.webdesign-about-section,
.webdesign-testimonials-section {
    padding: 5rem 0;
}

/* === Cards === */
.webdesign-service-card,
.webdesign-values-card,
.webdesign-case-study-card,
.webdesign-contact-card,
.webdesign-booking-card {
    background: var(--web-design-card-bg);
    border: 1px solid var(--web-design-border-color);
    border-radius: var(--web-design-border-radius);
    box-shadow: var(--web-design-box-shadow);
    transition: var(--web-design-transition);
}

.webdesign-service-card:hover,
.webdesign-case-study-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.15);
    border-color: var(--web-design-primary-color);
}

/* === Icons === */
.webdesign-service-icon i,
.webdesign-feature-icon i,
.webdesign-booking-icon,
.webdesign-church-icon {
    font-size: 2rem;
    color: var(--web-design-primary-color);
}

/* === Badges & Tags === */
.webdesign-platform-badge,
.webdesign-tech-badge,
.webdesign-tech-tag {
    display: inline-block;
    color: white;
    padding: 0.4rem 0.8rem;
    border-radius: 20px;
    font-size: 0.85rem;
    font-weight: 500;
    margin: 0.2rem;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
    transition: var(--web-design-transition);
}

.webdesign-platform-badge {
    background: linear-gradient(135deg, var(--web-design-primary-color), var(--web-design-secondary-color));
}

.webdesign-tech-badge {
    background: linear-gradient(135deg, var(--web-design-accent-color), var(--web-design-warm-color));
}

.webdesign-tech-tag {
    background: linear-gradient(135deg, var(--web-design-secondary-color), var(--web-design-primary-color));
    font-size: 0.8rem;
    padding: 0.3rem 0.6rem;
}

.webdesign-tech-tag:hover,
.webdesign-platform-badge:hover {
    filter: brightness(1.1);
    transform: scale(1.05);
}

/* === Feature Boxes === */
.webdesign-feature-box {
    text-align: center;
    padding: 2rem 1rem;
}

.webdesign-feature-icon {
    font-size: 3rem;
    color: var(--web-design-primary-color);
    margin-bottom: 1rem;
}

.webdesign-feature-box h4,
.webdesign-value-item h5 {
    font-family: var(--web-design-font-secondary);
    font-weight: 600;
    color: var(--web-design-dark-color);
    margin-bottom: 1rem;
}

.webdesign-feature-box p,
.webdesign-value-item p {
    color: var(--web-design-text-color);
    line-height: 1.6;
}

/* === Testimonials === */
.webdesign-testimonial-highlight {
    background: linear-gradient(135deg, var(--web-design-primary-color), var(--web-design-secondary-color));
    color: white;
    border-radius: var(--web-design-border-radius);
    padding: 2rem;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.15);
    text-shadow: 0 1px 2px rgba(0, 0, 0, 0.2);
}

/* ===== Floating Consultation Button Styles ===== */
.floating-consultation-btn {
    bottom: 30px;
    left: 20px;
    z-index: 9999;
    opacity: 0;
    visibility: hidden;
    transition: all 0.3s ease;
    box-shadow: 0 6px 20px rgba(0, 0, 0, 0.3);
    border-radius: 25px;
    padding: 0.75rem 1.5rem;
    font-weight: 600;
    animation: pulse 2s infinite;
}

.floating-consultation-btn:hover {
    transform: translateY(-2px) scale(1.05);
    box-shadow: 0 8px 25px rgba(0, 0, 0, 0.4);
    animation: none;
}

/* ===== Breadcrumb Navigation Enhancements ===== */
.breadcrumbs {
    background: linear-gradient(135deg, var(--light-color), #ffffff);
    padding: 2rem 0 1rem;
    border-bottom: 1px solid var(--border-color);
}

.breadcrumbs ol {
    gap: 0.5rem;
    margin-bottom: 0.5rem;
}

.breadcrumbs .section-title-left {
    margin-bottom: 0;
}

.breadcrumbs .section-title-left h1 {
    font-size: 1.75rem;
    color: var(--dark-color);
    margin: 0;
}

/* ===== Web Design Section Enhancements ===== */
.webdesign-services-section,
.webdesign-process-section,
.webdesign-case-studies-section,
.webdesign-contact-section {
    padding: 5rem 0;
}

.webdesign-platforms-section,
.webdesign-about-section,
.webdesign-testimonials-section {
    padding: 5rem 0;
}

/* ===== Enhanced Card Styles ===== */
.webdesign-service-card,
.webdesign-values-card,
.webdesign-case-study-card,
.webdesign-contact-card,
.webdesign-booking-card {
    background: var(--card-bg);
    border: 1px solid var(--border-color);
    border-radius: var(--border-radius);
    box-shadow: var(--box-shadow);
    transition: var(--transition);
}

.webdesign-service-card:hover,
.webdesign-case-study-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.15);
    border-color: var(--primary-color);
}

/* ===== Badge Styles ===== */
.webdesign-platform-badge,
.webdesign-tech-badge,
.webdesign-tech-tag {
    display: inline-block;
    background: linear-gradient(135deg, var(--primary-color), var(--secondary-color));
    color: white;
    padding: 0.4rem 0.8rem;
    border-radius: 20px;
    font-size: 0.85rem;
    font-weight: 500;
    margin: 0.2rem;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
}

.webdesign-tech-badge {
    background: linear-gradient(135deg, var(--accent-color), var(--warm-color));
}

.webdesign-tech-tag {
    background: linear-gradient(135deg, var(--secondary-color), var(--primary-color));
    font-size: 0.8rem;
    padding: 0.3rem 0.6rem;
}

/* ===== Feature Box Styles ===== */
.webdesign-feature-box {
    text-align: center;
    padding: 2rem 1rem;
}

.webdesign-feature-icon {
    font-size: 3rem;
    color: var(--primary-color);
    margin-bottom: 1rem;
}

.webdesign-feature-box h4 {
    font-family: var(--font-secondary);
    font-weight: 600;
    color: var(--dark-color);
    margin-bottom: 1rem;
}

.webdesign-feature-box p {
    color: var(--text-color);
    line-height: 1.6;
}

/* ===== Value Item Styles ===== */
.webdesign-value-item {
    align-items: flex-start;
}

.webdesign-value-item i {
    margin-top: 0.25rem;
}

.webdesign-value-item h5 {
    font-family: var(--font-secondary);
    font-weight: 600;
    color: var(--dark-color);
    margin-bottom: 0.25rem;
}

/* ===== Testimonial Styles ===== */
.webdesign-testimonial-highlight {
    background: linear-gradient(135deg, var(--primary-color), var(--secondary-color));
    color: white;
    border-radius: var(--border-radius);
    padding: 2rem;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.15);
}

.webdesign-testimonial-card {
    background: var(--card-bg);
    border: 1px solid var(--border-color);
    border-radius: var(--border-radius);
    padding: 2rem;
    box-shadow: var(--box-shadow);
    height: 100%;
}

.webdesign-testimonial-author {
    display: flex;
    align-items: center;
    gap: 1rem;
    margin-top: 1.5rem;
}

.webdesign-author-avatar {
    width: 50px;
    height: 50px;
    background: var(--light-color);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.webdesign-church-badge {
    background: rgba(255, 255, 255, 0.2);
    padding: 0.3rem 0.8rem;
    border-radius: 15px;
    font-size: 0.8rem;
    margin-top: 0.5rem;
}

/* ===== Stats Styles ===== */
.webdesign-stats-container {
    display: flex;
    justify-content: space-around;
    text-align: center;
    flex-wrap: wrap;
    gap: 2rem;
}

.webdesign-stat-item {
    flex: 1;
    min-width: 150px;
}

.webdesign-stat-number {
    font-size: 2.5rem;
    font-weight: 700;
    color: var(--primary-color);
    margin-bottom: 0.5rem;
}

.webdesign-stat-label {
    font-size: 0.9rem;
    color: var(--text-color);
    font-weight: 500;
}

/* ===== CTA Section ===== */
.webdesign-cta-section {
    padding: 4rem 0;
    text-align: center;
}

.webdesign-cta-section h2 {
    color: white;
    margin-bottom: 1rem;
}

/* ===== Responsive Design ===== */
@media (max-width: 768px) {
    .floating-consultation-btn {
        bottom: 20px;
        left: 15px;
        padding: 0.6rem 1.2rem;
        font-size: 0.9rem;
    }

    .breadcrumbs .section-title-left h1 {
        font-size: 1.5rem;
    }

    .webdesign-stats-container {
        flex-direction: column;
        gap: 1.5rem;
    }

    .webdesign-stat-item {
        min-width: auto;
    }
}

@media (max-width: 576px) {
    .floating-consultation-btn {
        bottom: 15px;
        left: 10px;
        padding: 0.5rem 1rem;
        font-size: 0.8rem;
    }

    .breadcrumbs {
        padding: 1.5rem 0 0.5rem;
    }
}

/* === Contact Section Container === */
.webdesign-contact-section {
    padding: 5rem 0;
    background-color: var(--web-design-bg-light);
}

/* === Contact Card === */
.webdesign-contact-card {
    background: var(--web-design-card-bg);
    border: 1px solid var(--web-design-border-color);
    border-radius: var(--web-design-border-radius);
    padding: 3rem;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.05);
    transition: var(--web-design-transition);
}

.webdesign-contact-card h3 {
    font-size: 1.75rem;
    font-weight: 700;
    margin-bottom: 1rem;
    color: var(--web-design-dark-color);
}

.webdesign-contact-card p {
    font-size: 1rem;
    color: var(--web-design-text-color);
}

/* === Form Elements === */
#webdesignContactForm .form-label {
    font-weight: 600;
    color: var(--web-design-dark-color);
}

#webdesignContactForm .form-control {
    border-radius: 0.5rem;
    border: 1px solid var(--web-design-border-color);
    padding: 0.75rem 1rem;
    font-size: 1rem;
    transition: border-color 0.3s ease;
}

#webdesignContactForm .form-control:focus {
    border-color: var(--web-design-primary-color);
    box-shadow: 0 0 0 0.2rem rgba(0, 87, 255, 0.25);
}

/* === Submit Button === */
#webdesignContactForm .btn {
    margin-top: 1rem;
}

/* === Form Message === */
#webdesignFormMessage {
    font-weight: 600;
    color: var(--web-design-primary-color);
    margin-top: 1rem;
}

/* === Booking Card === */
.webdesign-booking-card {
    background: var(--web-design-card-bg);
    border: 1px solid var(--web-design-border-color);
    border-radius: var(--web-design-border-radius);
    padding: 3rem;
    box-shadow: var(--web-design-box-shadow);
}

.webdesign-booking-card h3 {
    font-size: 1.5rem;
    font-weight: 700;
    margin-bottom: 1rem;
}

.webdesign-booking-card p {
    font-size: 1rem;
    color: var(--web-design-text-color);
    margin-bottom: 1.5rem;
}

.webdesign-feature-list {
    list-style: none;
    padding-left: 0;
    margin-bottom: 2rem;
}

.webdesign-feature-list li {
    position: relative;
    padding-left: 1.5rem;
    margin-bottom: 0.75rem;
    font-size: 0.95rem;
    color: var(--web-design-text-color);
}

.webdesign-feature-list li::before {
    content: '✔';
    position: absolute;
    left: 0;
    color: var(--web-design-secondary-color);
    font-weight: bold;
}

/* === Guarantee & Response Badges === */
.webdesign-guarantee-badge,
.webdesign-response-time {
    font-size: 0.85rem;
    font-weight: 600;
    color: var(--web-design-primary-color);
    margin-bottom: 0.5rem;
    display: flex;
    align-items: center;
}

.webdesign-guarantee-badge i,
.webdesign-response-time i {
    margin-right: 0.5rem;
}

/*--------------------------------------------------------------
# BOOKING PAGE SPECIFIC STYLE
--------------------------------------------------------------*/

/* ===== BOOKING PAGE SPECIFIC STYLES ===== */

/* Header Section */
.booking-header {
    background: linear-gradient(135deg, var(--primary-color) 0%, var(--secondary-color) 100%);
    color: white;
    padding: 4rem 0 3rem;
    margin-bottom: 2rem;
}

.booking-header-logo {
    width: auto;
    height: 80px;
    margin-bottom: 1.5rem;
    filter: brightness(0) invert(1);
}

.booking-title {
    font-family: var(--font-secondary);
    font-weight: 700;
    margin-bottom: 0.75rem;
    font-size: 2.5rem;
}

.booking-subtitle {
    font-size: 1.25rem;
    opacity: 0.9;
    margin-bottom: 0;
}

/* Main Container */
.booking-container {
    padding-bottom: 3rem;
}

/* Booking Cards */
.booking-card {
    background: var(--card-bg);
    border-radius: var(--border-radius);
    box-shadow: var(--box-shadow);
    padding: 2rem;
    margin-bottom: 2rem;
    border: 1px solid var(--border-color);
}

.booking-card-title {
    color: var(--dark-color);
    font-family: var(--font-secondary);
    font-weight: 600;
    margin-bottom: 1rem;
}

.booking-divider {
    border-color: var(--border-color);
    opacity: 0.6;
    margin: 1.5rem 0;
}

/* Calendar Iframe - Full Width */
.booking-iframe-container {
    border-radius: var(--border-radius);
    overflow: hidden;
    border: 1px solid var(--border-color);
}

.booking-iframe {
    width: 100%;
    height: 700px;
    border: none;
    display: block;
}

/* Information Section - Below Calendar */
.booking-info-card {
    background: var(--card-bg);
    border-radius: var(--border-radius);
    box-shadow: var(--box-shadow);
    padding: 2rem;
    margin-bottom: 2rem;
    border: 1px solid var(--border-color);
    height: 100%;
}

.booking-info-title {
    color: var(--dark-color);
    font-family: var(--font-secondary);
    font-weight: 600;
    margin-bottom: 1.5rem;
    font-size: 1.25rem;
}

.booking-info-list {
    display: flex;
    flex-direction: column;
    gap: 1.5rem;
}

.booking-info-item {
    display: flex;
    align-items: flex-start;
    gap: 1rem;
}

.booking-info-icon {
    color: var(--primary-color);
    font-size: 1.25rem;
    margin-top: 0.25rem;
    flex-shrink: 0;
}

.booking-info-content {
    flex: 1;
}

.booking-info-heading {
    color: var(--dark-color);
    font-size: 1rem;
    font-weight: 600;
    margin-bottom: 0.25rem;
}

.booking-info-text {
    color: var(--muted-color);
    margin-bottom: 0;
    font-size: 0.9rem;
}

/* Reminder Section */
.booking-reminder {
    background: rgba(var(--primary-color-rgb), 0.05);
    border-left: 4px solid var(--primary-color);
    padding: 1rem 1.25rem;
    border-radius: 0 var(--border-radius) var(--border-radius) 0;
    margin-top: 2rem;
}

.booking-reminder-title {
    color: var(--primary-color);
    font-size: 1rem;
    font-weight: 600;
    margin-bottom: 0.5rem;
}

.booking-reminder-text {
    color: var(--muted-color);
    font-size: 0.9rem;
    margin-bottom: 0;
}

/* Contact Card */
.booking-contact-card {
    background: linear-gradient(135deg, var(--warm-color) 0%, var(--accent-color) 100%);
    color: white;
    border-radius: var(--border-radius);
    padding: 2rem;
    text-align: center;
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.booking-contact-title {
    font-family: var(--font-secondary);
    font-weight: 600;
    margin-bottom: 0.75rem;
    font-size: 1.25rem;
}

.booking-contact-text {
    opacity: 0.9;
    margin-bottom: 1.5rem;
    font-size: 0.95rem;
}

.booking-contact-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    background: rgba(255, 255, 255, 0.2);
    color: white;
    padding: 0.75rem 1.5rem;
    border-radius: var(--border-radius);
    text-decoration: none;
    font-weight: 600;
    transition: var(--transition);
    border: 1px solid rgba(255, 255, 255, 0.3);
}

.booking-contact-btn:hover {
    background: rgba(255, 255, 255, 0.3);
    color: white;
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
}

/* Responsive Adjustments */
@media (max-width: 992px) {

    .booking-info-card,
    .booking-contact-card {
        margin-bottom: 1.5rem;
    }
}

@media (max-width: 768px) {
    .booking-header {
        padding: 3rem 0 2rem;
    }

    .booking-title {
        font-size: 2rem;
    }

    .booking-subtitle {
        font-size: 1.1rem;
    }

    .booking-card,
    .booking-info-card {
        padding: 1.5rem;
    }

    .booking-iframe {
        height: 600px;
    }

    .booking-info-item {
        flex-direction: column;
        text-align: center;
        gap: 0.5rem;
    }

    .booking-info-icon {
        margin-top: 0;
    }
}

@media (max-width: 576px) {
    .booking-header {
        padding: 2.5rem 0 1.5rem;
    }

    .booking-title {
        font-size: 1.75rem;
    }

    .booking-iframe {
        height: 500px;
    }

    .booking-contact-card {
        padding: 1.5rem;
    }
}

/* Animation Enhancements */
.booking-card,
.booking-info-card,
.booking-contact-card {
    transition: var(--transition);
}

.booking-card:hover,
.booking-info-card:hover {
    box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.1);
    transform: translateY(-2px);
}

/* Loading State for Iframe */
.booking-iframe-container {
    position: relative;
}

.booking-iframe-container::before {
    content: "Loading calendar...";
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    color: var(--muted-color);
    z-index: 1;
    display: none;
}

.booking-iframe-container.loading::before {
    display: block;
}

/* Print Styles */
@media print {

    .booking-contact-card,
    .booking-reminder {
        display: none;
    }

    .booking-card,
    .booking-info-card {
        box-shadow: none;
        border: 1px solid #ccc;
    }
}

/*--------------------------------------------------------------
# Landing Page
--------------------------------------------------------------*/

.lp-container {
    background: var(--body-bg);
    font-family: var(--font-primary);
    color: var(--text-color);
}

.lp-logo {
    max-width: 300px;
    height: auto;
    margin: 2rem auto;
    display: block;
}

.lp-header-title {
    font-family: var(--font-secondary);
    font-weight: 700;
    color: var(--dark-color);
    font-size: 2.5rem;
    line-height: 1.2;
    margin-bottom: 2rem;
}

.lp-headline h3 {
    color: var(--secondary-color);
    font-weight: 600;
    margin-bottom: 1.5rem;
}

.lp-headline .lead {
    font-size: 1.5rem;
    font-weight: 500;
    color: var(--primary-color);
    margin-bottom: 1rem;
}

.lp-headline p {
    font-size: 1.1rem;
    color: var(--muted-color);
}

/* Letter Section */
.lp-letter-container {
    background: var(--card-bg);
    border: 2px solid var(--border-color);
    border-radius: var(--border-radius);
    box-shadow: var(--box-shadow);
    padding: 2rem;
    margin: 3rem auto;
    max-width: 800px;
}

.lp-letterhead {
    border-bottom: 2px solid var(--primary-color);
    padding-bottom: 1rem;
    margin-bottom: 2rem;
}

.lp-letterhead strong {
    color: var(--dark-color);
    font-size: 1.1rem;
}

.lp-letterhead img {
    border-radius: 50%;
    object-fit: cover;
    margin: 1rem 0;
    border: 3px solid var(--primary-color);
}

.lp-letter-body {
    line-height: 1.8;
    font-size: 1.05rem;
}

.lp-letter-body p {
    margin-bottom: 1.5rem;
}

.lp-signature {
    font-family: var(--font-secondary);
    font-weight: 600;
    color: var(--secondary-color);
    font-size: 1.2rem;
    margin-top: 2rem;
    padding-top: 1rem;
    border-top: 1px solid var(--border-color);
}

/* Book CTA Section */
.lp-book-title {
    font-family: var(--font-secondary);
    font-weight: 700;
    color: var(--secondary-color);
    font-size: 2rem;
    line-height: 1.3;
    margin: 2rem 0;
}

.lp-book-image {
    max-width: 300px;
    height: auto;
    margin: 1.5rem auto;
    border-radius: var(--border-radius);
    box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15);
    display: block;
}

.lp-btn-primary {
    background: linear-gradient(135deg, var(--primary-color), var(--secondary-color));
    border: none;
    color: white;
    padding: 1rem 2rem;
    font-size: 1.2rem;
    font-weight: 600;
    border-radius: 50px;
    box-shadow: 0 4px 15px rgba(67, 97, 238, 0.3);
    transition: var(--transition);
    margin: 1.5rem 0;
}

.lp-btn-primary:hover {
    transform: translateY(-2px);
    box-shadow: 0 6px 20px rgba(67, 97, 238, 0.4);
    background: linear-gradient(135deg, var(--secondary-color), var(--primary-color));
    color: white;
}

.lp-btn-primary:active {
    transform: translateY(0);
}

/* Benefits List */
.lp-benefits-list {
    background: var(--light-color);
    padding: 2rem;
    border-radius: var(--border-radius);
    border-left: 4px solid var(--accent-color);
}

.lp-benefits-list h4 {
    color: var(--dark-color);
    font-weight: 600;
    margin-bottom: 1.5rem;
}

.lp-benefits-list ol {
    counter-reset: benefit-counter;
    padding-left: 0;
}

.lp-benefits-list li {
    counter-increment: benefit-counter;
    margin-bottom: 1.5rem;
    padding-left: 3rem;
    position: relative;
    font-size: 1.05rem;
    line-height: 1.6;
}

.lp-benefits-list li::before {
    content: counter(benefit-counter);
    position: absolute;
    left: 0;
    top: 0;
    background: var(--primary-color);
    color: white;
    width: 2rem;
    height: 2rem;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: bold;
    font-size: 0.9rem;
}

/* Final CTA Section */
.lp-final-cta {
    background: linear-gradient(135deg, var(--light-color), #ffffff);
    padding: 3rem 2rem;
    border-radius: var(--border-radius);
    margin: 3rem 0;
    border: 1px solid var(--border-color);
}

.lp-final-cta h3 {
    color: var(--dark-color);
    font-weight: 700;
    font-size: 2rem;
}

.lp-final-cta .lead {
    color: var(--primary-color);
    font-size: 1.3rem;
    font-weight: 500;
}

.lp-final-cta p {
    font-size: 1.1rem;
    line-height: 1.7;
    max-width: 600px;
    margin-left: auto;
    margin-right: auto;
}

/* Modal Styles */
.lp-modal-content {
    border: none;
    border-radius: var(--border-radius);
    overflow: hidden;
}

.lp-modal-content iframe {
    border: none;
    width: 100%;
}

/* Animation Delays for Staggered Effects */
.lp-animate-delay-1 {
    animation-delay: 0.1s;
}

.lp-animate-delay-2 {
    animation-delay: 0.2s;
}

.lp-animate-delay-3 {
    animation-delay: 0.3s;
}

.lp-animate-delay-4 {
    animation-delay: 0.4s;
}

/* Responsive Design */
@media (max-width: 768px) {
    .lp-header-title {
        font-size: 2rem;
    }

    .lp-book-title {
        font-size: 1.5rem;
    }

    .lp-letter-container {
        padding: 1.5rem;
        margin: 2rem 1rem;
    }

    .lp-benefits-list {
        padding: 1.5rem;
    }

    .lp-benefits-list li {
        padding-left: 2.5rem;
    }

    .lp-btn-primary {
        padding: 0.875rem 1.5rem;
        font-size: 1.1rem;
    }

    .lp-final-cta {
        padding: 2rem 1rem;
    }

    .lp-final-cta h3 {
        font-size: 1.5rem;
    }
}

@media (max-width: 576px) {
    .lp-logo {
        max-width: 200px;
    }

    .lp-header-title {
        font-size: 1.5rem;
    }

    .lp-headline .lead {
        font-size: 1.2rem;
    }

    .lp-book-title {
        font-size: 1.3rem;
    }

    .lp-benefits-list li {
        padding-left: 2rem;
        font-size: 1rem;
    }

    .lp-benefits-list li::before {
        width: 1.75rem;
        height: 1.75rem;
        font-size: 0.8rem;
    }
}

/* ===== CALENDAR INVITE PAGE SPECIFIC STYLES ===== */
.ci-container {
    background: linear-gradient(135deg, var(--light-color) 0%, #ffffff 50%, var(--light-color) 100%);
    min-height: 100vh;
    padding: 2rem 1rem;
    font-family: var(--font-primary);
}

.ci-card {
    background: var(--card-bg);
    border: none;
    border-radius: calc(var(--border-radius) * 2);
    box-shadow: 0 1rem 3rem rgba(0, 0, 0, 0.1);
    max-width: 1200px;
    margin: 0 auto;
    overflow: hidden;
}

.ci-card-body {
    padding: 3rem 2rem;
}

.ci-main-title {
    color: var(--secondary-color);
    font-family: var(--font-secondary);
    font-weight: 700;
    line-height: 1.2;
    margin-bottom: 2rem;
    background: linear-gradient(135deg, var(--secondary-color), var(--primary-color));
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}

.ci-lead {
    color: var(--text-color);
    font-size: 1.25rem;
    line-height: 1.6;
    max-width: 800px;
    margin-left: auto;
    margin-right: auto;
    font-weight: 400;
}

.ci-calendar-wrapper {
    background: var(--light-color);
    border-radius: var(--border-radius);
    padding: 2rem;
    margin-top: 2rem;
    border: 1px solid var(--border-color);
    box-shadow: var(--box-shadow);
}

.ci-calendar-iframe {
    border: none;
    border-radius: var(--border-radius);
    box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.1);
    background: white;
}

/* Animation Styles */
.ci-card-body > * {
    opacity: 0;
    animation: ci-fadeInUp 0.8s ease forwards;
}

.ci-main-title {
    animation-delay: 0.1s;
}

.ci-lead {
    animation-delay: 0.3s;
}

.ci-calendar-wrapper {
    animation-delay: 0.5s;
}

@keyframes ci-fadeInUp {
    from {
        opacity: 0;
        transform: translateY(30px);
    }

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

/* Loading State */
.ci-calendar-iframe[loading] {
    background: linear-gradient(90deg, var(--light-color) 25%, var(--border-color) 50%, var(--light-color) 75%);
    background-size: 200% 100%;
    animation: ci-loading 2s infinite;
}

@keyframes ci-loading {
    0% {
        background-position: 200% 0;
    }

    100% {
        background-position: -200% 0;
    }
}

/* Focus States for Accessibility */
.ci-calendar-iframe:focus {
    outline: 3px solid var(--accent-color);
    outline-offset: 2px;
}

/* Responsive Design */
@media (max-width: 768px) {
    .ci-container {
        padding: 1rem 0.5rem;
    }

    .ci-card-body {
        padding: 2rem 1rem;
    }

    .ci-main-title {
        font-size: 2.5rem;
    }

    .ci-lead {
        font-size: 1.1rem;
    }

    .ci-calendar-wrapper {
        padding: 1rem;
        margin-top: 1.5rem;
    }

    .ci-calendar-iframe {
        height: 500px;
    }
}

@media (max-width: 576px) {
    .ci-main-title {
        font-size: 2rem;
    }

    .ci-lead {
        font-size: 1rem;
    }

    .ci-calendar-iframe {
        height: 400px;
    }

    .ci-card-body {
        padding: 1.5rem 1rem;
    }
}

/* High contrast mode support */
@media (prefers-contrast: high) {
    .ci-card {
        border: 2px solid var(--dark-color);
    }

    .ci-calendar-wrapper {
        border: 2px solid var(--dark-color);
    }
}

/* Reduced motion support */
@media (prefers-reduced-motion: reduce) {
    .ci-card-body > * {
        animation: none;
        opacity: 1;
    }

    .ci-calendar-iframe[loading] {
        animation: none;
    }
}

/*--------------------------------------------------------------
# Financial Strategies LAnding Page Modal
--------------------------------------------------------------*/
/* Modal core styling */
.modal-content {
    background-color: var(--card-bg);
    border-radius: var(--border-radius);
    box-shadow: var(--box-shadow);
    font-family: var(--font-primary);
    padding: 1.5rem;
    transition: var(--transition);
}

/* Header styling */
.lp-modal-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    border-bottom: 1px solid var(--border-color);
    margin-bottom: 1rem;
}

.lp-modal-header h5 {
    font-family: var(--font-secondary);
    font-size: 1.25rem;
    color: var(--dark-color);
    margin: 0;
}

.btn-close {
    background: none;
    border: none;
    font-size: 1.25rem;
    color: var(--muted-color);
    cursor: pointer;
}

/* Body styling */
.lp-modal-body {
    font-size: 1rem;
    color: var(--text-color);
}

.lp-modal-body p {
    font-family: var(--font-secondary);
    font-size: 1.1rem;
    color: var(--dark-color);
}

/* Form styling */
#ebookForm .form-label {
    font-weight: 500;
    color: var(--dark-color);
}

#ebookForm .form-control {
    border: 1px solid var(--border-color);
    border-radius: var(--border-radius);
    padding: 0.5rem 0.75rem;
    font-size: 1rem;
    transition: var(--transition);
}

#ebookForm .form-control:focus {
    border-color: var(--primary-color);
    box-shadow: 0 0 0 0.2rem rgba(67, 97, 238, 0.25);
    outline: none;
}

#ebookForm .form-check-label {
    font-size: 0.95rem;
    color: var(--text-color);
}

#ebookForm .form-check-input {
    accent-color: var(--primary-color);
}

/* CTA button */
.lp-btn-primary {
    background-color: var(--accent-color);
    color: var(--dark-color);
    font-weight: 600;
    font-family: var(--font-secondary);
    padding: 0.75rem 1rem;
    border: none;
    border-radius: var(--border-radius);
    transition: var(--transition);
}

.lp-btn-primary:hover {
    background-color: var(--warm-color);
    color: var(--body-bg);
}

/* Responsive layout */
@media (max-width: 768px) {
    .lp-modal-header h5 {
        font-size: 1.1rem;
    }

    #ebookForm .row {
        flex-direction: column;
    }

    #ebookForm .col-md-6 {
        width: 100%;
    }

    .lp-btn-primary {
        font-size: 1rem;
    }
}

@media (max-width: 576px) {
    .modal-content {
        padding: 1rem;
    }

    .lp-modal-body p {
        font-size: 1rem;
    }

    #ebookForm .form-label {
        font-size: 0.95rem;
    }
}

/*--------------------------------------------------------------
# Cookie Policy Section Styles - Scoped to avoid class clashes
--------------------------------------------------------------*/

.cookie-policy {
    background-color: var(--body-bg);
    color: var(--text-color);
    font-family: var(--font-primary);
    line-height: 1.6;
    padding: 2rem 0;
}

.cookie-policy .section-title {
    color: var(--primary-color);
    font-family: var(--font-secondary);
    font-weight: 600;
    font-size: 1.75rem;
    margin: 2.5rem 0 1.5rem;
    padding-bottom: 0.5rem;
    border-bottom: 2px solid var(--accent-color);
}

.cookie-policy h4 {
    color: var(--secondary-color);
    font-family: var(--font-secondary);
    font-weight: 600;
    margin: 1.5rem 0 1rem;
}

.cookie-policy p {
    margin-bottom: 1rem;
}

.cookie-policy .highlight {
    background-color: var(--light-color);
    border-left: 4px solid var(--accent-color);
    padding: 1.5rem;
    margin: 1.5rem 0;
    border-radius: 0 var(--border-radius) var(--border-radius) 0;
}

.cookie-policy .list-group {
    margin: 1rem 0;
}

.cookie-policy .list-group-item {
    background-color: var(--light-color);
    border: 1px solid var(--border-color);
    padding: 0.75rem 1.25rem;
    position: relative;
}

.cookie-policy .list-group-item:before {
    content: "•";
    color: var(--accent-color);
    font-weight: bold;
    margin-right: 0.5rem;
}

.cookie-policy .contact-info {
    background-color: var(--light-color);
    padding: 1.5rem;
    border-radius: var(--border-radius);
    margin-top: 1rem;
}

.cookie-policy .contact-info h4 {
    color: var(--primary-color);
    margin-top: 0;
}

.cookie-policy .contact-info p {
    margin-bottom: 0.5rem;
}

.cookie-policy a {
    color: var(--primary-color);
    text-decoration: none;
    transition: var(--transition);
}

.cookie-policy a:hover {
    color: var(--secondary-color);
    text-decoration: underline;
}

.cookie-policy .text-muted {
    color: var(--muted-color) !important;
}

/* Breadcrumbs styling to match other pages */
.breadcrumbs {
    padding: 15px 0;
    background-color: var(--light-color);
    min-height: 40px;
    margin-top: 0;
}

.breadcrumbs h2 {
    font-size: 24px;
    font-weight: 600;
    color: var(--primary-color);
    margin: 0;
}

.breadcrumbs ol {
    display: flex;
    flex-wrap: wrap;
    list-style: none;
    padding: 0;
    margin: 0;
    font-size: 14px;
}

.breadcrumbs ol li + li {
    padding-left: 10px;
}

.breadcrumbs ol li + li::before {
    display: inline-block;
    padding-right: 10px;
    color: var(--muted-color);
    content: "/";
}

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

.breadcrumbs ol li a:hover {
    color: var(--secondary-color);
}

/* Responsive Design */
@media (max-width: 768px) {
    .cookie-policy .section-title {
        font-size: 1.5rem;
    }

    .breadcrumbs h2 {
        font-size: 20px;
    }

    .breadcrumbs ol {
        font-size: 13px;
    }
}

@media (max-width: 576px) {
    .cookie-policy {
        padding: 1rem 0;
    }

    .cookie-policy .section-title {
        font-size: 1.3rem;
    }

    .breadcrumbs {
        text-align: center;
    }

    .breadcrumbs .d-flex {
        flex-direction: column;
        gap: 10px;
    }
}

/* ===== Cookie Consent Banner Styles - Bottom-Right Quadrant ===== */
.cookie-consent-banner {
    position: fixed;
    bottom: 20px;
    right: 20px;
    width: 420px;
    max-width: calc(100vw - 40px);
    max-height: 80vh;
    overflow-y: auto;
    background: #ffffff;
    border: 1px solid #e9ecef;
    border-radius: 12px;
    box-shadow: 0 10px 40px rgba(0, 0, 0, 0.15), 0 0 0 1px rgba(0, 0, 0, 0.05);
    z-index: 9999;
    padding: 0;
    font-family: 'Raleway', sans-serif;
    animation: slideInUp 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94);
    border-top: 4px solid #4361ee;
}

.cookie-consent-container {
    position: relative;
    padding: 25px;
}

.cookie-close-btn {
    position: absolute;
    top: 15px;
    right: 15px;
    width: 32px;
    height: 32px;
    border: none;
    background: #f8f9fa;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    color: #6c757d;
    font-size: 1.1rem;
    transition: all 0.3s ease;
    z-index: 10000;
}

.cookie-close-btn:hover {
    background: #e9ecef;
    color: #2b2d42;
    transform: rotate(90deg);
}

.cookie-close-btn:focus {
    outline: 2px solid #4361ee;
    outline-offset: 2px;
}

.cookie-consent-content {
    display: flex;
    flex-direction: column;
    gap: 15px;
}

.cookie-consent-text {
    color: #2b2d42;
    line-height: 1.6;
    padding-right: 10px; /* Space for close button */
}

.cookie-consent-text strong {
    color: #2b2d42;
    font-size: 1.15rem;
    display: block;
    margin-bottom: 8px;
}

.cookie-consent-text p {
    margin: 0;
    color: #6c757d;
    font-size: 0.95rem;
}

.cookie-options {
    background: #f8f9fa;
    padding: 18px;
    border-radius: 8px;
    border: 1px solid #e9ecef;
    margin: 8px 0;
}

.cookie-options .form-check {
    margin: 0;
}

.cookie-options .form-check-input {
    margin-top: 0.3em;
}

.cookie-options .form-check-label {
    color: #2b2d42;
    font-weight: 500;
    margin-left: 8px;
    cursor: pointer;
}

.cookie-options .form-check-label small {
    display: block;
    color: #6c757d;
    font-weight: normal;
    margin-top: 4px;
    font-size: 0.85rem;
    line-height: 1.4;
}

.no-sale-statement {
    background: #d1edff !important;
    border: 1px solid #b3e0ff;
    border-left: 4px solid #4361ee;
    padding: 14px !important;
    border-radius: 6px;
}

.no-sale-statement small {
    color: #2b2d42 !important;
    font-size: 0.9rem;
    line-height: 1.5;
}

.no-sale-statement i {
    color: #4361ee;
}

.cookie-consent-actions {
    display: flex;
    gap: 12px;
    justify-content: center;
    flex-wrap: wrap;
    margin: 10px 0;
}

.cookie-consent-actions .btn {
    padding: 10px 20px;
    font-weight: 500;
    border-radius: 6px;
    min-width: 140px;
    transition: all 0.3s ease;
    flex: 1;
}

.cookie-consent-actions .btn-primary {
    background: #4361ee;
    border-color: #4361ee;
}

.cookie-consent-actions .btn-primary:hover,
.cookie-consent-actions .btn-primary:focus {
    background: #3a56d4;
    border-color: #3a56d4;
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(67, 97, 238, 0.3);
}

.cookie-consent-actions .btn-outline-secondary {
    color: #6c757d;
    border-color: #6c757d;
    background: transparent;
}

.cookie-consent-actions .btn-outline-secondary:hover,
.cookie-consent-actions .btn-outline-secondary:focus {
    background: #6c757d;
    border-color: #6c757d;
    color: white;
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(108, 117, 125, 0.3);
}

.cookie-policy-links {
    text-align: center;
    padding-top: 15px;
    border-top: 1px solid #e9ecef;
}

.cookie-policy-links small {
    color: #6c757d;
    font-size: 0.85rem;
}

.cookie-policy-links a {
    color: #4361ee;
    text-decoration: none;
    transition: color 0.3s ease;
    font-weight: 500;
}

.cookie-policy-links a:hover {
    color: #3a56d4;
    text-decoration: underline;
}

/* Form check improvements */
.form-check-input:checked {
    background-color: #4361ee;
    border-color: #4361ee;
}

.form-check-input:focus {
    border-color: #4361ee;
    box-shadow: 0 0 0 0.25rem rgba(67, 97, 238, 0.25);
}

/* Cookie Settings Button */
.cookie-settings-btn {
    position: fixed;
    bottom: 20px;
    left: 20px;
    z-index: 9998;
    background: #4361ee;
    color: white;
    border: none;
    border-radius: 50px;
    padding: 12px 20px;
    font-size: 0.9rem;
    font-weight: 500;
    cursor: pointer;
    box-shadow: 0 4px 15px rgba(67, 97, 238, 0.3);
    transition: all 0.3s ease;
    display: flex;
    align-items: center;
    gap: 8px;
    animation: pulse 2s infinite;
}

.cookie-settings-btn:hover {
    background: #3a56d4;
    transform: translateY(-2px);
    box-shadow: 0 6px 20px rgba(67, 97, 238, 0.4);
}

.cookie-settings-btn:focus {
    outline: 2px solid #4361ee;
    outline-offset: 2px;
    background: #3a56d4;
}

/* Animations */
@keyframes slideInUp {
    from {
        transform: translateY(20px) translateX(20px);
        opacity: 0;
    }
    to {
        transform: translateY(0) translateX(0);
        opacity: 1;
    }
}

@keyframes slideOutDown {
    from {
        transform: translateY(0) translateX(0);
        opacity: 1;
    }
    to {
        transform: translateY(20px) translateX(20px);
        opacity: 0;
    }
}

@keyframes pulse {
    0% {
        box-shadow: 0 4px 15px rgba(67, 97, 238, 0.3);
    }
    50% {
        box-shadow: 0 4px 20px rgba(67, 97, 238, 0.5);
    }
    100% {
        box-shadow: 0 4px 15px rgba(67, 97, 238, 0.3);
    }
}

.banner-slide-out {
    animation: slideOutDown 0.4s cubic-bezier(0.55, 0.085, 0.68, 0.53) forwards !important;
}

/* Focus states for accessibility */
.cookie-consent-actions .btn:focus {
    box-shadow: 0 0 0 3px rgba(67, 97, 238, 0.3);
    outline: none;
}

.form-check-input:focus {
    box-shadow: 0 0 0 3px rgba(67, 97, 238, 0.3);
}

/* Ensure good contrast for accessibility */
.cookie-consent-text strong {
    color: #2b2d42 !important;
}

.cookie-options .form-check-label {
    color: #2b2d42 !important;
}

/* Responsive Design */
@media (max-width: 768px) {
    .cookie-consent-banner {
        width: calc(100vw - 40px);
        right: 20px;
        left: 20px;
        bottom: 70px; /* Space for settings button */
    }

    .cookie-consent-container {
        padding: 20px;
    }

    .cookie-options {
        padding: 15px;
    }

    .cookie-consent-actions {
        flex-direction: column;
    }

    .cookie-consent-actions .btn {
        width: 100%;
        min-width: auto;
    }

    .cookie-consent-text strong {
        font-size: 1.1rem;
    }

    .cookie-consent-text p {
        font-size: 0.92rem;
    }
    
    .cookie-settings-btn {
        bottom: 20px;
        left: 50%;
        transform: translateX(-50%);
        padding: 10px 16px;
        font-size: 0.85rem;
    }
}

@media (max-width: 480px) {
    .cookie-consent-banner {
        padding: 0;
        bottom: 70px;
        max-height: 70vh;
    }

    .cookie-consent-container {
        padding: 18px;
    }

    .cookie-options {
        padding: 14px;
    }

    .no-sale-statement {
        padding: 12px !important;
    }
    
    .cookie-close-btn {
        top: 12px;
        right: 12px;
        width: 28px;
        height: 28px;
    }
}

/* Dark mode support */
@media (prefers-color-scheme: dark) {
    .cookie-consent-banner {
        background: #2b2d42;
        border-color: #3a506b;
        color: #e9ecef;
    }
    
    .cookie-consent-text strong,
    .cookie-consent-text p,
    .cookie-options .form-check-label,
    .no-sale-statement small {
        color: #e9ecef !important;
    }
    
    .cookie-consent-text p {
        color: #adb5bd !important;
    }
    
    .cookie-options {
        background: #3a506b;
        border-color: #4a6280;
    }
    
    .cookie-options .form-check-label small {
        color: #adb5bd !important;
    }
    
    .no-sale-statement {
        background: #1e3a5f !important;
        border-color: #2a4a7a;
    }
    
    .cookie-close-btn {
        background: #3a506b;
        color: #adb5bd;
    }
    
    .cookie-close-btn:hover {
        background: #4a6280;
        color: #e9ecef;
    }
    
    .cookie-policy-links {
        border-top-color: #3a506b;
    }
    
    .cookie-policy-links small {
        color: #adb5bd;
    }
}

/*--------------------------------------------------------------
# Nonprofit Resource Guide Styles
--------------------------------------------------------------*/

/* Guide Container */
.ecc-guide {
    max-width: 1200px;
    margin: 0 auto;
    padding: 2rem;
    font-family: var(--font-primary);
    color: var(--text-color);
    line-height: 1.6;
}

/* Hero Section */
.hero-section {
    background: linear-gradient(135deg, var(--primary-color), var(--secondary-color));
    color: white;
    padding: 4rem 0;
    text-align: center;
    margin-bottom: 3rem;
    position: relative;
    overflow: hidden;
}

.hero-section::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1000 1000" opacity="0.1"><polygon fill="white" points="0,1000 1000,0 1000,1000"/></svg>');
    background-size: cover;
}

.hero-section h1 {
    font-family: var(--font-secondary);
    font-size: 3rem;
    font-weight: 700;
    margin-bottom: 1rem;
    position: relative;
    z-index: 2;
}

.intro-subtitle {
    font-size: 1.2rem;
    opacity: 0.9;
    position: relative;
    z-index: 2;
}

/* Section Styling */
.ecc-guide section {
    margin-bottom: 4rem;
    padding: 2rem 0;
}

.ecc-guide h2 {
    font-family: var(--font-secondary);
    font-size: 2.25rem;
    font-weight: 700;
    color: var(--dark-color);
    margin-bottom: 2rem;
    padding-bottom: 0.5rem;
    border-bottom: 3px solid;
    border-image: linear-gradient(90deg, var(--primary-color), var(--accent-color)) 1;
}

.ecc-guide h3 {
    font-family: var(--font-secondary);
    font-size: 1.5rem;
    font-weight: 600;
    color: var(--dark-color);
    margin-bottom: 1rem;
}

.ecc-guide h4 {
    font-family: var(--font-secondary);
    font-size: 1.25rem;
    font-weight: 600;
    color: var(--primary-color);
    margin: 1.5rem 0 1rem;
}

/* Introduction Section */
.intro-container {
    background: linear-gradient(145deg, #ffffff 0%, #f8f9fa 100%);
    border: 2px solid #e9ecef;
    border-radius: 20px;
    padding: 2.5rem;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.08);
}

.disclaimer-note {
    background: rgba(255, 193, 7, 0.1);
    border: 1px solid var(--warning-color);
    border-radius: 15px;
    padding: 1.5rem;
    margin-top: 2rem;
}

.disclaimer-note h4 {
    color: var(--warning-color);
    margin-top: 0;
}

.disclaimer-note ul {
    list-style: none;
    padding-left: 0;
}

.disclaimer-note li {
    position: relative;
    padding-left: 1.5rem;
    margin-bottom: 0.75rem;
}

.disclaimer-note li::before {
    content: "⚠️";
    position: absolute;
    left: 0;
    top: 0;
}

/* Card Styles */
.partner-card,
.service-card,
.support-card {
    background: linear-gradient(145deg, #ffffff 0%, #f8f9fa 100%);
    border: 2px solid #e9ecef;
    border-radius: 20px;
    padding: 2rem;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.08);
    transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);
    margin-bottom: 2rem;
    position: relative;
    overflow: hidden;
}

.partner-card::before,
.service-card::before,
.support-card::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 4px;
    background: linear-gradient(90deg, var(--primary-color), var(--accent-color));
    opacity: 0;
    transition: opacity 0.3s ease;
}

.partner-card:hover,
.service-card:hover,
.support-card:hover {
    transform: translateY(-8px);
    border-color: var(--primary-color);
    box-shadow: 0 20px 40px rgba(0, 0, 0, 0.15);
}

.partner-card:hover::before,
.service-card:hover::before,
.support-card:hover::before {
    opacity: 1;
}

/* Card Headers */
.card-header {
    display: flex;
    align-items: center;
    margin-bottom: 1.5rem;
    gap: 1rem;
}

.service-logo {
    width: 50px;
    height: 50px;
    object-fit: contain;
    border-radius: 8px;
    background: white;
    padding: 0.25rem;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
}

.card-header h3 {
    margin: 0;
    flex: 1;
}

/* Categories */
.category {
    display: inline-block;
    background: linear-gradient(135deg, var(--primary-color), var(--secondary-color));
    color: white;
    padding: 0.4rem 1rem;
    border-radius: 20px;
    font-size: 0.85rem;
    font-weight: 600;
    margin-bottom: 1rem;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

/* Lists */
.ecc-guide ul,
.ecc-guide ol {
    margin: 1rem 0;
    padding-left: 1.5rem;
}

.ecc-guide li {
    margin-bottom: 0.5rem;
    line-height: 1.5;
}

.ecc-guide ol li {
    margin-bottom: 0.75rem;
}

/* Documentation Note */
.documentation-note {
    background: rgba(67, 97, 238, 0.05);
    border: 1px solid var(--primary-color);
    border-radius: 15px;
    padding: 1.5rem;
    margin: 2rem 0;
}

.documentation-note h4 {
    color: var(--primary-color);
    margin-top: 0;
}

/* Learn More Button */
.learn-more-btn {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    background: linear-gradient(135deg, var(--accent-color), var(--warm-color));
    color: var(--dark-color);
    padding: 0.75rem 1.5rem;
    border-radius: 25px;
    text-decoration: none;
    font-weight: 600;
    transition: all 0.3s ease;
    box-shadow: 0 4px 15px rgba(255, 165, 0, 0.3);
    margin-top: 1rem;
    border: none;
}

.learn-more-btn:hover {
    transform: translateY(-2px);
    box-shadow: 0 6px 20px rgba(255, 165, 0, 0.4);
    color: var(--dark-color);
    text-decoration: none;
}

/* Support Services */
.support-services {
    margin: 2rem 0;
}

.support-services h4 {
    color: var(--secondary-color);
    margin-top: 1.5rem;
}

.support-services ul {
    list-style: none;
    padding-left: 0;
}

.support-services li {
    position: relative;
    padding-left: 1.5rem;
    margin-bottom: 0.75rem;
}

.support-services li::before {
    content: "✓";
    position: absolute;
    left: 0;
    color: var(--success-color);
    font-weight: bold;
}

/* Benefits Highlight */
.benefits-highlight {
    background: linear-gradient(135deg, rgba(40, 167, 69, 0.1), rgba(40, 167, 69, 0.05));
    border: 1px solid var(--success-color);
    border-radius: 15px;
    padding: 2rem;
    margin-top: 2rem;
}

.benefits-highlight h4 {
    color: var(--success-color);
    margin-top: 0;
}

.benefits-highlight ul {
    list-style: none;
    padding-left: 0;
}

.benefits-highlight li {
    position: relative;
    padding-left: 1.5rem;
    margin-bottom: 0.75rem;
}

.benefits-highlight li::before {
    content: "★";
    position: absolute;
    left: 0;
    color: var(--accent-color);
}

/* Footer */
.ecc-guide footer {
    background: linear-gradient(135deg, var(--light-color), #f8f9ff);
    border-radius: 15px;
    padding: 2rem;
    margin-top: 4rem;
    text-align: center;
    border-top: 4px solid var(--primary-color);
}

.ecc-guide footer p {
    margin-bottom: 1rem;
}

.ecc-guide footer p:last-child {
    margin-bottom: 0;
    font-style: italic;
    color: var(--muted-color);
}

/* Responsive Design */
@media (max-width: 768px) {
    .ecc-guide {
        padding: 1rem;
    }

    .hero-section h1 {
        font-size: 2rem;
    }

    .hero-section {
        padding: 3rem 0;
    }

    .ecc-guide h2 {
        font-size: 1.75rem;
    }

    .ecc-guide h3 {
        font-size: 1.25rem;
    }

    .intro-container,
    .partner-card,
    .service-card,
    .support-card {
        padding: 1.5rem;
    }

    .card-header {
        flex-direction: column;
        text-align: center;
        gap: 0.5rem;
    }

    .service-logo {
        width: 40px;
        height: 40px;
    }
}

@media (max-width: 576px) {
    .hero-section h1 {
        font-size: 1.75rem;
    }

    .intro-subtitle {
        font-size: 1rem;
    }

    .ecc-guide h2 {
        font-size: 1.5rem;
    }

    .intro-container,
    .partner-card,
    .service-card,
    .support-card {
        padding: 1.25rem;
        border-radius: 15px;
    }

    .learn-more-btn {
        width: 100%;
        justify-content: center;
        text-align: center;
    }
}

/* Animation Enhancements */
.partner-card,
.service-card,
.support-card {
    animation: fadeInUp 0.8s ease-out;
}

@keyframes fadeInUp {
    from {
        opacity: 0;
        transform: translateY(30px);
    }

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

/* Staggered animations for cards */
.partner-card:nth-child(2n),
.service-card:nth-child(2n),
.support-card:nth-child(2n) {
    animation-delay: 0.1s;
}

.partner-card:nth-child(3n),
.service-card:nth-child(3n),
.support-card:nth-child(3n) {
    animation-delay: 0.2s;
}

/* Focus States for Accessibility */
.learn-more-btn:focus {
    outline: 2px solid var(--accent-color);
    outline-offset: 2px;
}

/* Print Styles */
@media print {
    .hero-section {
        background: none !important;
        color: black !important;
        padding: 2rem 0 !important;
    }

    .partner-card,
    .service-card,
    .support-card {
        box-shadow: none !important;
        border: 1px solid #ccc !important;
        transform: none !important;
        page-break-inside: avoid;
    }

    .learn-more-btn {
        display: none !important;
    }
}

/*--------------------------------------------------------------
# Contact Card Styles - Scoped to avoid conflicts
--------------------------------------------------------------*/

.contact-card-container {
    max-width: 400px;
    margin: 2rem auto;
    padding: 0 1rem;
    font-family: var(--font-primary);
}

.contact-card {
    background: linear-gradient(145deg, #ffffff 0%, #f8f9fa 100%);
    border: 2px solid #e9ecef;
    border-radius: 24px;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.08);
    overflow: hidden;
    transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);
    position: relative;
}

.contact-card::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 4px;
    background: linear-gradient(90deg, var(--primary-color), var(--accent-color));
    opacity: 0;
    transition: opacity 0.3s ease;
}

.contact-card:hover {
    transform: translateY(-8px);
    border-color: var(--primary-color);
    box-shadow: 0 20px 40px rgba(0, 0, 0, 0.15);
}

.contact-card:hover::before {
    opacity: 1;
}

/* Contact Card Header */
.contact-card-header {
    background: linear-gradient(135deg, var(--primary-color), var(--secondary-color));
    color: white;
    padding: 2.5rem 2rem;
    text-align: center;
    position: relative;
    overflow: hidden;
}

.contact-card-header::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1000 1000" opacity="0.1"><polygon fill="white" points="0,1000 1000,0 1000,1000"/></svg>');
    background-size: cover;
}

.contact-profile-img {
    width: 120px;
    height: 120px;
    margin: 0 auto 1.5rem;
    border-radius: 50%;
    border: 4px solid rgba(255, 255, 255, 0.3);
    padding: 4px;
    background: rgba(255, 255, 255, 0.1);
    backdrop-filter: blur(10px);
    position: relative;
    z-index: 2;
}

.contact-profile-img img {
    width: 100%;
    height: 100%;
    border-radius: 50%;
    object-fit: cover;
    display: block;
}

.contact-name {
    font-family: var(--font-secondary);
    font-size: 1.75rem;
    font-weight: 700;
    margin: 0 0 0.5rem;
    position: relative;
    z-index: 2;
    text-shadow: 0 2px 4px rgba(0, 0, 0, 0.3);
}

.contact-title {
    font-size: 1.1rem;
    opacity: 0.9;
    margin: 0;
    position: relative;
    z-index: 2;
    font-weight: 500;
}

/* Contact Card Body */
.contact-card-body {
    padding: 2.5rem 2rem;
}

/* Contact Info */
.contact-info-section {
    margin-bottom: 2rem;
}

.contact-info-item {
    display: flex;
    align-items: flex-start;
    gap: 1rem;
    padding: 1rem 0;
    border-bottom: 1px solid rgba(0, 0, 0, 0.1);
    transition: all 0.3s ease;
}

.contact-info-item:last-child {
    border-bottom: none;
}

.contact-info-item:hover {
    background: rgba(67, 97, 238, 0.05);
    padding-left: 0.5rem;
    border-radius: 8px;
}

.contact-info-icon {
    width: 44px;
    height: 44px;
    background: linear-gradient(135deg, var(--primary-color), var(--secondary-color));
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    transition: all 0.3s ease;
}

.contact-info-item:hover .contact-info-icon {
    transform: scale(1.1);
    background: linear-gradient(135deg, var(--accent-color), var(--warm-color));
}

.contact-info-icon i {
    color: white;
    font-size: 1.1rem;
}

.contact-info-details h3 {
    font-size: 0.8rem;
    font-weight: 600;
    color: var(--muted-color);
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin: 0 0 0.25rem;
}

.contact-info-details p {
    font-size: 1rem;
    font-weight: 500;
    color: var(--dark-color);
    margin: 0;
    line-height: 1.4;
}

/* Contact Social Links */
.contact-social-links {
    display: flex;
    justify-content: center;
    gap: 1rem;
    margin-top: 2rem;
}

.contact-social-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 50px;
    height: 50px;
    background: linear-gradient(135deg, var(--primary-color), var(--secondary-color));
    color: white;
    border-radius: 50%;
    text-decoration: none;
    transition: all 0.3s ease;
    box-shadow: 0 4px 15px rgba(67, 97, 238, 0.3);
    position: relative;
    overflow: hidden;
}

.contact-social-link::before {
    content: '';
    position: absolute;
    top: 0;
    left: -100%;
    width: 100%;
    height: 100%;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.4), transparent);
    transition: left 0.5s ease;
}

.contact-social-link:hover {
    transform: translateY(-3px) scale(1.1);
    box-shadow: 0 8px 25px rgba(67, 97, 238, 0.4);
    color: white;
}

.contact-social-link:hover::before {
    left: 100%;
}

.contact-social-link i {
    font-size: 1.3rem;
}

/* QR Section */
.contact-qr-section {
    background: linear-gradient(135deg, var(--light-color), #f8f9ff);
    padding: 2rem;
    text-align: center;
    border-top: 1px solid var(--border-color);
}

.contact-qr-container {
    background: white;
    padding: 1.5rem;
    border-radius: 16px;
    display: inline-block;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1);
    margin-bottom: 1rem;
    border: 1px solid var(--border-color);
}

#qrcode {
    display: inline-block;
    padding: 8px;
    background: white;
    border-radius: 8px;
}

#qrcode canvas,
#qrcode img {
    border-radius: 8px;
    display: block;
}

.contact-qr-instruction {
    font-size: 0.9rem;
    color: var(--muted-color);
    margin: 0 0 1.5rem;
    font-weight: 500;
}

/* Download Button */
.contact-download-btn {
    background: linear-gradient(135deg, var(--accent-color), var(--warm-color));
    color: var(--dark-color);
    border: none;
    border-radius: 50px;
    padding: 1rem 2rem;
    font-weight: 600;
    font-family: var(--font-secondary);
    cursor: pointer;
    transition: all 0.3s ease;
    box-shadow: 0 4px 15px rgba(255, 165, 0, 0.3);
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    position: relative;
    overflow: hidden;
}

.contact-download-btn::before {
    content: '';
    position: absolute;
    top: 0;
    left: -100%;
    width: 100%;
    height: 100%;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.4), transparent);
    transition: left 0.5s ease;
}

.contact-download-btn:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 25px rgba(255, 165, 0, 0.4);
    color: var(--dark-color);
}

.contact-download-btn:hover::before {
    left: 100%;
}

.contact-download-btn:active {
    transform: translateY(0);
}

.contact-download-btn:focus {
    outline: 2px solid var(--accent-color);
    outline-offset: 2px;
}

/* Next Project Section */
.contact-next-project {
    text-align: center;
    margin-top: 2rem;
    padding: 1.5rem;
    background: linear-gradient(135deg, var(--light-color), #f8f9ff);
    border-radius: 16px;
    border: 1px solid var(--border-color);
    font-size: 1rem;
    color: var(--text-color);
}

.contact-next-project a {
    color: var(--primary-color);
    text-decoration: none;
    font-weight: 600;
    transition: color 0.3s ease;
    position: relative;
}

.contact-next-project a::after {
    content: '';
    position: absolute;
    bottom: -2px;
    left: 0;
    width: 0;
    height: 2px;
    background: var(--primary-color);
    transition: width 0.3s ease;
}

.contact-next-project a:hover {
    color: var(--secondary-color);
}

.contact-next-project a:hover::after {
    width: 100%;
}

/* Responsive Design */
@media (max-width: 768px) {
    .contact-card-container {
        max-width: 100%;
        margin: 1rem auto;
        padding: 0 0.5rem;
    }

    .contact-card-header {
        padding: 2rem 1.5rem;
    }

    .contact-profile-img {
        width: 100px;
        height: 100px;
    }

    .contact-name {
        font-size: 1.5rem;
    }

    .contact-card-body {
        padding: 2rem 1.5rem;
    }

    .contact-info-item {
        flex-direction: column;
        text-align: center;
        gap: 0.75rem;
    }

    .contact-qr-section {
        padding: 1.5rem;
    }
}

@media (max-width: 576px) {
    .contact-card-header {
        padding: 1.5rem 1rem;
    }

    .contact-profile-img {
        width: 80px;
        height: 80px;
    }

    .contact-name {
        font-size: 1.25rem;
    }

    .contact-title {
        font-size: 1rem;
    }

    .contact-card-body {
        padding: 1.5rem 1rem;
    }

    .contact-social-links {
        gap: 0.75rem;
    }

    .contact-social-link {
        width: 45px;
        height: 45px;
    }

    .contact-download-btn {
        padding: 0.875rem 1.5rem;
        font-size: 0.9rem;
    }
}

/* Holiday Banner Styles */
.holiday-banner {
    padding: 12px 0;
    font-size: 0.95rem;
    position: relative;
    z-index: 1000;
    box-shadow: 0 2px 10px rgba(0,0,0,0.1);
    animation: slideDown 0.5s ease-out;
}

.holiday-icon {
    font-size: 1.5rem;
    line-height: 1;
}

.holiday-emoji {
    display: inline-block;
    animation: pulse 2s infinite;
}

.holiday-message {
    font-weight: 500;
}

.holiday-close {
    opacity: 0.7;
    transition: opacity 0.3s ease;
}

.holiday-close:hover {
    opacity: 1;
}

/* Holiday-specific styles */
.holiday-banner.christmas {
    background: linear-gradient(135deg, #c0392b 0%, #a93226 100%) !important;
}

.holiday-banner.new-year {
    background: linear-gradient(135deg, #2c3e50 0%, #1a252f 100%) !important;
}

.holiday-banner.independence-day {
    background: linear-gradient(135deg, #1a5276 0%, #0e2a3b 100%) !important;
}

/* Animations */
@keyframes slideDown {
    from {
        transform: translateY(-100%);
        opacity: 0;
    }
    to {
        transform: translateY(0);
        opacity: 1;
    }
}

@keyframes pulse {
    0% {
        transform: scale(1);
    }
    50% {
        transform: scale(1.1);
    }
    100% {
        transform: scale(1);
    }
}

/* Responsive adjustments */
@media (max-width: 768px) {
    .holiday-banner {
        font-size: 0.85rem;
        padding: 8px 0;
    }
    
    .holiday-icon {
        font-size: 1.2rem;
    }
    
    .holiday-close {
        padding: 0.5rem;
    }
}