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

        :root {
            --deep-forest: #0F3A31;
            --emerald: #1F6B55;
            --brass: #C2A366;
            --white: #FFFFFF;
            --mist: #F3F7F4;
            --dark-text: #18211F;
            --slate: #5C6B66;
        }

        body {
            font-family: 'Poppins', sans-serif;
            line-height: 1.6;
            color: var(--dark-text);
            background: var(--white);
        }

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

        /* HEADER & NAVIGATION */
        header {
            background: var(--white);
            box-shadow: 0 2px 5px rgba(0,0,0,0.08);
            position: sticky;
            top: 0;
            z-index: 100;
        }

        .nav-wrapper {
            display: flex;
            justify-content: space-between;
            align-items: center;
            padding: 1rem 0;
        }

        .logo {
            text-decoration: none;
            font-size: 1.5rem;
            font-weight: 700;
            color: var(--deep-forest);
        }

        nav ul {
            display: flex;
            list-style: none;
            gap: 2rem;
        }

        nav a {
            text-decoration: none;
            color: var(--dark-text);
            font-weight: 500;
            transition: color 0.3s;
        }

        nav a:hover {
            color: var(--emerald);
        }

        .cta-btn {
            background: var(--emerald);
            color: var(--white);
            padding: 0.75rem 1.5rem;
            border-radius: 25px;
            text-decoration: none;
            transition: background 0.3s;
            font-weight: 600;
        }

        .cta-btn:hover {
            background: var(--deep-forest);
        }

        /* HERO SECTION */
        .hero {
            background: var(--white);
            padding: 80px 0;
        }

        .hero-content {
            display: grid;
            grid-template-columns: 1fr 1fr;
            gap: 2rem;
            align-items: flex-start;
        }

        .hero-text h2 {
            font-size: 0.85rem;
            letter-spacing: 2px;
            color: var(--emerald);
            margin-bottom: 2rem;
            font-weight: 600;
            text-transform: uppercase;
        }

        .hero-text h1 {
            font-family: 'Merriweather', serif;
            font-size: 3.5rem;
            font-weight: 700;
            color: var(--deep-forest);
            margin-bottom: 1.5rem;
            line-height: 1.2;
            position: relative;
            padding-bottom: 1.5rem;
        }

        .hero-text h1::after {
            content: '';
            position: absolute;
            bottom: 0;
            left: 0;
            width: 60px;
            height: 4px;
            background: var(--brass);
            border-radius: 2px;
        }

        .hero-text p {
            font-size: 1.05rem;
            color: var(--slate);
            margin-bottom: 2rem;
            line-height: 1.7;
        }

        .hero-buttons {
            display: flex;
            gap: 1rem;
            margin-bottom: 2rem;
            flex-wrap: wrap;
        }

        .hero-btn {
            padding: 1rem 2rem;
            border-radius: 30px;
            font-weight: 600;
            text-decoration: none;
            transition: all 0.3s;
            cursor: pointer;
            border: none;
            font-size: 1rem;
        }

        .hero-btn-primary {
            background: var(--emerald);
            color: var(--white);
        }

        .hero-btn-primary:hover {
            background: var(--deep-forest);
        }

        .hero-btn-secondary {
            background: transparent;
            color: var(--deep-forest);
            border: 2px solid var(--deep-forest);
        }

        .hero-btn-secondary:hover {
            background: var(--deep-forest);
            color: var(--white);
        }

        .hero-footer {
            font-size: 0.95rem;
            color: var(--slate);
            line-height: 1.6;
        }

        .hero-right {
            display: flex;
            flex-direction: column;
            gap: 2rem;
        }

        .hero-img {
        width: 100%;
        max-width: 100%;
        display: flex;
        align-items: center;
        justify-content: center;
    }
        
        .hero-img img {
        width: 100%;
        height: 700px;
        object-fit: cover;
        object-position: top;
        border-radius: 12px;
        box-shadow: 0 8px 24px rgba(15, 58, 49, 0.1);
    }

        .tax-card {
            background: var(--white);
            border: 1px solid #e0e0e0;
            border-radius: 10px;
            padding: 2rem;
            box-shadow: 0 2px 10px rgba(0,0,0,0.05);
        }

        .tax-card-label {
            font-size: 0.75rem;
            letter-spacing: 1px;
            color: var(--slate);
            margin-bottom: 1rem;
            text-transform: uppercase;
            font-weight: 600;
        }

        .tax-card-bar {
            display: flex;
            height: 8px;
            border-radius: 4px;
            overflow: hidden;
            margin-bottom: 1.5rem;
            background: #e0e0e0;
        }

        .tax-card-bar-kept {
            background: var(--emerald);
            width: 46.47%;
        }

        .tax-card-amount {
            font-family: 'Merriweather', serif;
            font-size: 2.5rem;
            font-weight: 700;
            color: var(--emerald);
            margin-bottom: 0.5rem;
        }

        .tax-card-amount-label {
            font-size: 1rem;
            color: var(--deep-forest);
            font-weight: 600;
            margin-bottom: 1rem;
        }

        .tax-card-disclaimer {
            font-size: 0.8rem;
            color: var(--slate);
            line-height: 1.5;
        }

        .highlight {
            color: var(--emerald);
            font-weight: 600;
        }

        /* SECTIONS */
        section {
            padding: 60px 0;
        }

        section.alt {
            background: var(--mist);
        }

        .section-title {
            text-align: center;
            margin-bottom: 3rem;
        }

        .section-title h2 {
            font-size: 2.5rem;
            margin-bottom: 0.5rem;
            color: var(--deep-forest);
        }

        .section-title p {
            color: var(--slate);
            font-size: 1.1rem;
        }

        /* FEATURES */
        .features {
            display: grid;
            grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
            gap: 2rem;
            margin-top: 2rem;
        }

        .feature-card {
            background: var(--white);
            padding: 2rem;
            border-radius: 10px;
            box-shadow: 0 4px 15px rgba(15, 58, 49, 0.08);
            transition: transform 0.3s, box-shadow 0.3s;
            text-align: center;
        }

        .feature-card:hover {
            transform: translateY(-5px);
            box-shadow: 0 8px 25px rgba(15, 58, 49, 0.12);
        }

        .feature-card h3 {
            color: var(--emerald);
            margin-bottom: 1rem;
            font-size: 1.3rem;
        }

        .feature-card p {
            color: var(--slate);
            line-height: 1.7;
        }

        /* CLIENTS SECTION */
        .clients-section .features {
            display: grid;
            grid-template-columns: repeat(5, 1fr);
            gap: 1rem;
            margin-top: 2rem;
            max-width: 1000px;
            margin-left: auto;
            margin-right: auto;
        }

        .clients-section .feature-card {
            padding: 1.5rem 1rem;
        }

        .clients-section .feature-card h3 {
            font-size: 1.1rem;
            margin-bottom: 0.75rem;
        }

        .clients-section .feature-card p {
            font-size: 0.95rem;
        }

        /* SOLUTIONS */
        .solution-grid {
            display: grid;
            grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
            gap: 2rem;
            margin-top: 2rem;
        }

        .solution-item {
            background: var(--white);
            padding: 2.5rem;
            border-radius: 10px;
            border-left: 5px solid var(--emerald);
            box-shadow: 0 4px 15px rgba(15, 58, 49, 0.08);
        }

        .solution-item h3 {
            color: var(--emerald);
            margin-bottom: 1rem;
            font-size: 1.25rem;
        }

        .solution-item ul {
            list-style: none;
            margin-top: 1rem;
        }

        .solution-item li {
            padding: 0.5rem 0;
            color: var(--slate);
        }

        .solution-item li:before {
            content: "✓ ";
            color: var(--emerald);
            font-weight: bold;
            margin-right: 0.5rem;
        }

        /* ABOUT */
        .about-content {
            display: grid;
            grid-template-columns: 1fr 1fr;
            gap: 3rem;
            align-items: center;
        }

        .about-text h2 {
            font-size: 2.2rem;
            margin-bottom: 1rem;
            color: var(--deep-forest);
        }

        .about-text p {
            color: var(--slate);
            margin-bottom: 1rem;
            line-height: 1.8;
        }

        .about-img {
            border-radius: 10px;
            overflow: hidden;
        }

        /* CONTACT */
        .contact-section {
            background: var(--mist);
        }

        .contact-wrapper {
            display: grid;
            grid-template-columns: 1fr 1fr;
            gap: 3rem;
            margin-top: 2rem;
        }

        .contact-form {
            background: var(--white);
            padding: 2rem;
            border-radius: 10px;
            box-shadow: 0 4px 15px rgba(15, 58, 49, 0.08);
        }

        .form-group {
            margin-bottom: 1.5rem;
        }

        .form-group label {
            display: block;
            margin-bottom: 0.5rem;
            color: var(--dark-text);
            font-weight: 500;
        }

        .form-group input,
        .form-group textarea {
            width: 100%;
            padding: 0.75rem;
            border: 1px solid #ddd;
            border-radius: 5px;
            font-family: inherit;
            font-size: 1rem;
        }

        .form-group textarea {
            resize: vertical;
            min-height: 120px;
        }

        .submit-btn {
            background: var(--emerald);
            color: var(--white);
            padding: 1rem 2rem;
            border: none;
            border-radius: 25px;
            cursor: pointer;
            font-size: 1rem;
            font-weight: 600;
            transition: background 0.3s;
            width: 100%;
        }

        .submit-btn:hover {
            background: var(--deep-forest);
        }

        .booking-link {
            display: inline-block;
            background: var(--brass);
            color: var(--deep-forest);
            padding: 0.75rem 1.5rem;
            border-radius: 25px;
            text-decoration: none;
            transition: all 0.3s;
            font-weight: 600;
            margin-top: 1rem;
        }

        .booking-link:hover {
            background: #D4B896;
            transform: translateY(-2px);
        }

        .contact-info {
            padding: 2rem;
        }

        .contact-info h3 {
            margin-bottom: 1.5rem;
            color: var(--deep-forest);
            font-size: 1.5rem;
        }

        .info-item {
            margin-bottom: 1.5rem;
        }

        .info-item strong {
            color: var(--emerald);
            display: block;
            margin-bottom: 0.5rem;
        }

        /* FOOTER */
        footer {
            background: var(--deep-forest);
            color: var(--white);
            padding: 40px 0;
        }

        footer a {
            color: var(--brass);
            text-decoration: none;
        }

        footer a:hover {
            text-decoration: underline;
        }

        .footer-content {
            display: grid;
            grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
            gap: 2rem;
            margin-bottom: 2rem;
        }

        .footer-section h4 {
            margin-bottom: 1rem;
        }

        .footer-section ul {
            list-style: none;
        }

        .footer-section li {
            margin-bottom: 0.5rem;
        }

        .footer-bottom {
            border-top: 1px solid rgba(255,255,255,0.2);
            padding-top: 2rem;
            text-align: center;
        }

        /* RESPONSIVE */
        @media (max-width: 768px) {
            nav ul {
                gap: 1rem;
                font-size: 0.9rem;
            }

            .hero-content,
            .about-content,
            .contact-wrapper {
                grid-template-columns: 1fr;
            }

            .hero h1 {
                font-size: 2rem;
            }

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

            .clients-section .features {
                grid-template-columns: repeat(2, 1fr);
            }
        }
    
    
    .fpr-content {
        position: relative;
    }
    
    .fpr-label {
        display: block;
        font-size: 0.85rem;
        letter-spacing: 2px;
        color: var(--brass);
        margin-bottom: 1rem;
        font-weight: 600;
        text-transform: uppercase;
    }
    
    .financial-review-banner h3 {
        font-family: 'Merriweather', serif;
        font-size: 2.2rem;
        font-weight: 700;
        margin-bottom: 1.5rem;
        line-height: 1.3;
        position: relative;
        padding-bottom: 1rem;
    }
    
    .financial-review-banner h3::after {
        content: '';
        position: absolute;
        bottom: 0;
        left: 50%;
        transform: translateX(-50%);
        width: 60px;
        height: 4px;
        background: var(--brass);
        border-radius: 2px;
    }
    
    .financial-review-banner p {
        font-size: 0.9rem;
        letter-spacing: 1px;
        color: rgba(255, 255, 255, 0.9);
        font-weight: 500;
    }
    
    @media (max-width: 768px) {
        .financial-review-banner {
            padding: 2rem 1.5rem;
        }
        
        .financial-review-banner h3 {
            font-size: 1.8rem;
        }
    }

        /* BLOG */
        .blog-section { background: var(--white); }
        .blog-toolbar { display:flex; flex-wrap:wrap; gap:1rem; justify-content:space-between; align-items:center; margin-bottom:2rem; }
        .blog-chips { display:flex; flex-wrap:wrap; gap:0.5rem; }
        .blog-chip { font-family:inherit; font-size:0.9rem; font-weight:500; padding:0.5rem 1.1rem; border-radius:20px; border:1px solid #d6e0dc; background:var(--white); color:var(--deep-forest); cursor:pointer; transition:all 0.2s; }
        .blog-chip:hover { border-color:var(--emerald); color:var(--emerald); }
        .blog-chip.active { background:var(--emerald); border-color:var(--emerald); color:var(--white); }
        .blog-search { font-family:inherit; font-size:0.95rem; padding:0.6rem 1rem; border:1px solid #d6e0dc; border-radius:20px; min-width:240px; }
        .blog-search:focus { outline:2px solid var(--emerald); outline-offset:1px; }
        .blog-grid { display:grid; grid-template-columns:repeat(auto-fill, minmax(300px, 1fr)); gap:2rem; }
        .blog-card { background:var(--white); border-radius:10px; border-top:4px solid var(--brass); padding:2rem; box-shadow:0 4px 15px rgba(15,58,49,0.08); display:flex; flex-direction:column; transition:transform 0.3s, box-shadow 0.3s; }
        .blog-card:hover { transform:translateY(-5px); box-shadow:0 8px 25px rgba(15,58,49,0.12); }
        .blog-card.hidden { display:none; }
        .blog-tag { align-self:flex-start; font-size:0.72rem; letter-spacing:1px; text-transform:uppercase; font-weight:600; color:var(--emerald); background:var(--mist); padding:0.3rem 0.7rem; border-radius:12px; margin-bottom:1rem; }
        .blog-card h3 { font-family:'Merriweather', serif; font-size:1.15rem; line-height:1.4; margin-bottom:0.75rem; }
        .blog-card h3 a { color:var(--deep-forest); text-decoration:none; }
        .blog-card h3 a:hover { color:var(--emerald); }
        .blog-card p { color:var(--slate); font-size:0.95rem; line-height:1.7; flex-grow:1; margin-bottom:1.25rem; }
        .blog-meta { display:flex; justify-content:space-between; align-items:center; gap:0.5rem; flex-wrap:wrap; font-size:0.8rem; color:var(--slate); border-top:1px solid #eef2f0; padding-top:1rem; }
        .blog-read { color:var(--emerald); font-weight:600; text-decoration:none; font-size:0.9rem; }
        .blog-read:hover { color:var(--deep-forest); }
        .blog-empty { display:none; text-align:center; color:var(--slate); margin-top:1rem; }
        .blog-more-wrap { text-align:center; margin-top:2.5rem; }
        @media (max-width: 768px) { .blog-search { width:100%; min-width:0; } .blog-grid { grid-template-columns:1fr; } }

        /* ARTICLE READER */
        #articleView { display:none; padding:60px 0 80px; background:var(--white); }
        body.reading #articleView { display:block; }
        body.reading main-site, body.reading .site-section { display:none !important; }
        .article-wrap { max-width:760px; margin:0 auto; padding:0 20px; }
        .article-back { display:inline-block; color:var(--emerald); font-weight:600; text-decoration:none; margin-bottom:2rem; font-size:0.95rem; }
        .article-back:hover { color:var(--deep-forest); }
        .article-head .blog-tag { display:inline-block; }
        .article-head h1 { font-family:'Merriweather', serif; font-size:2.4rem; line-height:1.25; color:var(--deep-forest); margin:0.5rem 0 1rem; position:relative; padding-bottom:1.25rem; }
        .article-head h1::after { content:''; position:absolute; left:0; bottom:0; width:60px; height:4px; background:var(--brass); border-radius:2px; }
        .article-meta { color:var(--slate); font-size:0.9rem; margin-bottom:2.5rem; }
        .article-body { font-size:1.05rem; line-height:1.85; color:var(--dark-text); }
        .article-body p { margin-bottom:1.25rem; }
        .article-body h2 { font-family:'Merriweather', serif; color:var(--deep-forest); font-size:1.6rem; line-height:1.35; margin:2.5rem 0 1rem; }
        .article-body h3 { color:var(--emerald); font-size:1.25rem; margin:2rem 0 0.75rem; }
        .article-body h4 { color:var(--deep-forest); font-size:1.08rem; margin:1.5rem 0 0.5rem; }
        .article-body ul, .article-body ol { margin:0 0 1.5rem 1.5rem; }
        .article-body li { margin-bottom:0.6rem; }
        .article-body li::marker { color:var(--emerald); }
        .article-body strong { color:var(--deep-forest); }
        .article-body hr { border:0; border-top:1px solid #e3ebe7; margin:2.5rem 0; }
        .article-body table { width:100%; border-collapse:collapse; margin:1.5rem 0; font-size:0.95rem; display:block; overflow-x:auto; }
        .article-body th, .article-body td { border:1px solid #e3ebe7; padding:0.6rem 0.8rem; text-align:left; }
        .article-body th { background:var(--mist); color:var(--deep-forest); }
        .article-cta { margin-top:3rem; background:var(--deep-forest); color:var(--white); border-radius:12px; padding:2.25rem; text-align:center; }
        .article-cta h3 { font-family:'Merriweather', serif; font-size:1.5rem; margin-bottom:0.5rem; }
        .article-cta p { color:rgba(255,255,255,0.85); margin-bottom:1.5rem; }
        .article-cta .booking-link { margin-top:0; }
        .article-related { margin-top:3.5rem; }
        .article-related h3 { font-family:'Merriweather', serif; color:var(--deep-forest); font-size:1.3rem; margin-bottom:1.25rem; }
        .article-related .blog-grid { grid-template-columns:repeat(auto-fill, minmax(220px,1fr)); gap:1.25rem; }
        .article-related .blog-card { padding:1.5rem; }
        .article-related .blog-card h3 { font-size:1rem; margin:0; }
        @media (max-width:768px){ .article-head h1{font-size:1.8rem;} .article-body{font-size:1rem;} }

        @media (max-width: 768px) {
            .nav-wrapper { flex-wrap: wrap; justify-content: center; gap: 0.5rem; padding: 0.75rem 0; }
            .logo { font-size: 1.25rem; width: 100%; text-align: center; }
            nav ul { flex-wrap: wrap; justify-content: center; gap: 0.4rem 1rem; }
            nav .cta-btn { padding: 0.4rem 1rem; }
        }

    /* Hero Footer Credentials */
    .credentials-grid {
        display: grid;
        grid-template-columns: repeat(3, 1fr);
        gap: 1.5rem;
        margin-bottom: 2rem;
        padding-bottom: 2rem;
        border-bottom: 1px solid rgba(31, 107, 85, 0.2);
    }
    
    .credential-item {
        text-align: center;
        font-size: 0.9rem;
        color: var(--slate);
        line-height: 1.5;
    }
    
    .credential-item strong {
        display: block;
        font-size: 1.4rem;
        color: var(--emerald);
        margin-bottom: 0.3rem;
        font-weight: 700;
        padding-bottom: 0.5rem;
        border-bottom: 2px solid var(--brass);
        width: fit-content;
        margin-left: auto;
        margin-right: auto;
    }
    
    .desjardins-section {
        display: flex;
        align-items: center;
        gap: 1.5rem;
    }
    
    .desjardins-logo {
        width: 120px;
        height: 80px;
        object-fit: contain;
        flex-shrink: 0;
    }
    
    .disclaimers {
        flex: 1;
    }
    
    .disclaimers p {
        font-size: 0.75rem;
        color: var(--slate);
        margin: 0.3rem 0;
        line-height: 1.4;
    }
    
    @media (max-width: 768px) {
        .credentials-grid {
            grid-template-columns: 1fr;
            gap: 1rem;
        }
        
        .credential-item strong {
            font-size: 1.2rem;
        }
        
        .desjardins-section {
            flex-direction: column;
            align-items: flex-start;
        }
        
        .desjardins-logo {
            width: 90px;
            height: 60px;
            object-fit: contain;
        }
        
        .disclaimers p {
            font-size: 0.7rem;
        }
    }

        /* COMPACT HEADER */
        .nav-wrapper { padding: 0.6rem 0; gap: 1.5rem; }
        .logo { white-space: nowrap; font-size: 1.35rem; }
        nav ul { align-items: center; gap: 1.75rem; }
        nav a { white-space: nowrap; font-size: 0.95rem; }
        nav .cta-btn { display: inline-block; padding: 0.5rem 1.25rem; line-height: 1.4; }
        @media (min-width: 769px) and (max-width: 1024px) {
            .logo { font-size: 1.15rem; }
            nav ul { gap: 1.1rem; }
            nav a { font-size: 0.88rem; }
            nav .cta-btn { padding: 0.45rem 1rem; }
        }
        @media (max-width: 768px) {
            .nav-wrapper { gap: 0.35rem; padding: 0.6rem 0; }
            .logo { font-size: 1.15rem; }
            nav ul { gap: 0.3rem 0.9rem; }
            nav a { font-size: 0.88rem; }
            nav .cta-btn { padding: 0.3rem 0.9rem; }
        }

        /* FOOTER DISCLAIMER */
        .footer-disclaimer { border-top: 1px solid rgba(255,255,255,0.2); padding: 1.75rem 0 0.5rem; }
        .footer-disclaimer ul { list-style: disc; padding-left: 1.1rem; margin: 0; }
        .footer-disclaimer li { font-size: 0.75rem; line-height: 1.6; color: rgba(255,255,255,0.78); margin-bottom: 0.6rem; }
        .footer-disclaimer li::marker { color: var(--brass); }
        .footer-disclaimer strong { color: rgba(255,255,255,0.9); font-weight: 600; }
        .footer-disclaimer sup { font-size: 0.65em; }
        .footer-bottom { margin-top: 1.25rem; }
