
        :root {
            --color-primary: #533afd;
            --color-primary-hover: #4434d4;
            --color-background: #ffffff;
            --color-heading: #061b31;
            --color-body: #64748d;
            --color-label: #273951;
            --color-border: #e5edf5;
            --color-link: #533afd;
            --color-dark-section: #1c1e54;
            --color-success: #15be53;
            --color-success-text: #108c3d;
            --color-accent-ruby: #ea2261;
            --color-accent-magenta: #f96bee;
            --color-topbar-bg: #151a20;
            --color-topbar-text: #f7f5f1;
            --font-primary: 'Source Sans 3', system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif;
            --font-mono: 'Source Code Pro', ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, 'Liberation Mono', 'Courier New', monospace;
            --shadow-brand: rgba(50,50,93,0.25) 0px 30px 45px -30px, rgba(0,0,0,0.1) 0px 18px 36px -18px;
            --shadow-ambient: rgba(23,23,23,0.08) 0px 15px 35px 0px;
            --border-radius-card: 6px;
            --border-radius-button: 4px;
        }

        body {
            font-family: var(--font-primary);
            background-color: var(--color-background);
            color: var(--color-body);
            line-height: 1.6;
            margin: 0;
            padding: 0;
            scroll-behavior: smooth;
        }

        h1, h2, h3, h4, h5, h6 {
            color: var(--color-heading);
            font-weight: 300;
            line-height: 1.15;
            margin-top: 0;
            margin-bottom: 1rem;
            letter-spacing: -0.64px; /* Default for Section Heading */
        }

        h1 { font-size: 2rem; }
        h2 { font-size: 1.63rem; } /* Sub-heading Large */
        h3 { font-size: 1.38rem; } /* Sub-heading */
        h4 { font-size: 1.13rem; }
        h5 { font-size: 1rem; }
        h6 { font-size: 0.88rem; }

        p {
            margin-bottom: 1rem;
        }

        a {
            color: var(--color-link);
            text-decoration: none;
            transition: color 0.2s ease;
        }

        a:hover {
            color: var(--color-primary-hover);
        }

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

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

        .section {
            padding: 64px 0;
        }

        .section-heading {
            font-size: 2rem;
            letter-spacing: -0.64px;
            text-align: center;
            margin-bottom: 40px;
        }
        
        .section-heading-sub {
             font-size: 1.63rem;
             letter-spacing: -0.26px;
             text-align: center;
             margin-bottom: 30px;
        }

        .dark-section {
            background-color: var(--color-dark-section);
            color: var(--color-topbar-text);
            padding: 64px 0;
        }
        .dark-section h1, .dark-section h2, .dark-section h3, .dark-section h4, .dark-section h5, .dark-section h6 {
            color: var(--color-topbar-text);
        }
        .dark-section a {
            color: #f7f5f1;
            border-bottom: 1px dashed rgba(255,255,255,0.5);
        }
        .dark-section a:hover {
            border-bottom: 1px solid #f7f5f1;
        }

        .topbar {
            background-color: var(--color-topbar-bg);
            color: var(--color-topbar-text);
            padding: 10px 0;
            border-bottom: 1px solid rgba(255, 255, 255, 0.1);
        }

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

        .topbar-logo {
            font-family: var(--font-primary);
            font-size: 1.5rem;
            font-weight: 500;
            color: var(--color-topbar-text);
        }

        .topbar-nav a {
            color: var(--color-topbar-text);
            margin-left: 20px;
            font-size: 0.88rem; /* Button Small */
            font-weight: 400;
            letter-spacing: normal;
        }
        .topbar-nav a.active {
            font-weight: 500;
            text-decoration: underline;
        }
        .topbar-nav a:hover {
            color: #999; /* Lighter gray for hover */
        }

        .hero {
            background-color: var(--color-background);
            padding: 80px 0;
            display: flex;
            align-items: center;
            flex-wrap: wrap;
            gap: 40px;
            text-align: center;
            justify-content: center;
        }
        .hero .hero-content {
            max-width: 50%;
            text-align: left;
        }
        .hero .hero-image {
            max-width: 45%;
        }
        
        .hero-title {
            font-size: 3.5rem; /* Display Hero */
            font-weight: 300;
            line-height: 1.03;
            letter-spacing: -1.4px;
            margin-bottom: 1rem;
            color: var(--color-heading);
            font-feature-settings: 'ss01';
        }

        .hero-subtitle {
            font-size: 1.13rem; /* Body Large */
            font-weight: 300;
            line-height: 1.40;
            margin-bottom: 2rem;
            color: var(--color-body);
            font-feature-settings: 'ss01';
        }

        .btn {
            display: inline-block;
            padding: 8px 16px;
            border-radius: var(--border-radius-button);
            font-size: 1rem; /* Button */
            font-weight: 400;
            letter-spacing: normal;
            text-align: center;
            cursor: pointer;
            transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease;
            font-feature-settings: 'ss01';
        }

        .btn-primary {
            background-color: var(--color-primary);
            color: var(--color-background);
            border: 1px solid var(--color-primary);
        }

        .btn-primary:hover {
            background-color: var(--color-primary-hover);
            border-color: var(--color-primary-hover);
        }

        .btn-ghost {
            background-color: transparent;
            color: var(--color-primary);
            border: 1px solid var(--color-border-purple, var(--color-primary));
        }
        .btn-ghost:hover {
            background-color: rgba(83, 58, 253, 0.05);
        }
        
        .service-card {
            background-color: var(--color-background);
            border: 1px solid var(--color-border);
            border-radius: var(--border-radius-card);
            padding: 30px;
            box-shadow: var(--shadow-brand);
            text-align: center;
            transition: box-shadow 0.2s ease-in-out;
        }
        
        .service-card:hover {
             box-shadow: var(--shadow-ambient);
        }

        .service-card img {
            width: 100%;
            height: 200px;
            object-fit: cover;
            border-radius: 12px;
            margin-bottom: 20px;
        }
        
        .service-card h3 {
            font-size: 1.63rem; /* Sub-heading Large */
            letter-spacing: -0.26px;
            margin-bottom: 15px;
        }
        
        .service-card p {
            font-size: 1rem; /* Body */
            font-weight: 300;
            line-height: 1.40;
        }

        .trust-stats {
            display: flex;
            justify-content: space-around;
            flex-wrap: wrap;
            gap: 30px;
            margin-top: 40px;
        }

        .trust-stat-item {
            text-align: center;
        }

        .trust-stat-item h4 {
            font-size: 2rem; /* Display Hero - used for numbers */
            font-weight: 300;
            line-height: 1.03;
            letter-spacing: -1.4px;
            color: var(--color-heading);
            margin-bottom: 0.5rem;
            font-feature-settings: 'ss01';
        }

        .trust-stat-item p {
            font-size: 1rem; /* Body */
            font-weight: 400;
            color: var(--color-label);
            margin-bottom: 0;
        }

        .footer-site {
            background-color: var(--color-topbar-bg);
            color: var(--color-topbar-text);
            padding: 30px 0;
            font-size: 0.81rem; /* Caption */
            text-align: center;
        }
        .footer-site .container {
            display: flex;
            flex-direction: column;
            align-items: center;
            gap: 15px;
        }
        .footer-site a {
            color: var(--color-topbar-text);
            border-bottom: 1px dashed rgba(255,255,255,0.5);
        }
        .footer-site a:hover {
            border-bottom: 1px solid var(--color-topbar-text);
        }
        .footer-logo {
            font-family: var(--font-primary);
            font-size: 1.3rem;
            font-weight: 500;
            color: var(--color-topbar-text);
        }
        
        .privacy-terms a {
             margin: 0 10px;
             color: var(--color-topbar-text);
             border-bottom: none;
        }
        .privacy-terms a:hover {
            text-decoration: underline;
        }

        /* Responsive adjustments */
        @media (max-width: 768px) {
            .section {
                padding: 40px 0;
            }
            .section-heading {
                font-size: 1.75rem;
                margin-bottom: 30px;
            }
            .hero {
                flex-direction: column;
                text-align: center;
                padding: 40px 0;
            }
            .hero .hero-content, .hero .hero-image {
                max-width: 100%;
            }
            .hero-title {
                font-size: 2.5rem;
            }
            .hero-subtitle {
                font-size: 1rem;
            }
            .service-grid {
                grid-template-columns: 1fr;
            }
            .trust-stats {
                flex-direction: column;
                align-items: center;
            }
            .topbar .container {
                flex-direction: column;
                gap: 10px;
            }
            .topbar-nav {
                margin-top: 10px;
            }
            .topbar-nav a {
                margin: 0 10px;
            }
            .footer-site .container {
                gap: 10px;
            }
            .privacy-terms {
                 margin-top: 10px;
                 display: flex;
                 flex-wrap: wrap;
                 justify-content: center;
            }
            .privacy-terms a {
                margin: 5px 10px;
            }
        }
    
.about {
    padding: 64px 0;
}

.about .container {
    display: flex;
    align-items: center;
    gap: 40px;
    flex-wrap: wrap;
}

.about-content {
    flex: 1;
    min-width: 300px;
}

.about-image {
    flex: 1;
    min-width: 300px;
    text-align: center;
}

.about-image img {
    max-width: 100%;
    height: auto;
    border-radius: var(--border-radius-card);
}

.about-image-secondary {
    margin-top: 20px;
    text-align: center;
}

.about-image-secondary img {
    max-width: 100%;
    height: auto;
    border-radius: var(--border-radius-card);
}

.about-text {
    margin-bottom: 20px;
}

.about-card {
    background-color: var(--color-background);
    border: 1px solid var(--color-border);
    border-radius: var(--border-radius-card);
    padding: 30px;
    box-shadow: var(--shadow-ambient);
    margin-bottom: 20px;
}

.branding {
    text-align: center;
    margin-bottom: 40px;
}

.btn-lg {
    display: inline-block;
    padding: 12px 24px;
    font-size: 1rem;
    font-weight: 500;
    line-height: 1.5;
    border-radius: var(--border-radius-button);
    transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease;
}

.cta-button {
    display: inline-block;
    background-color: var(--color-primary);
    color: #fff;
    padding: 14px 30px;
    font-size: 1.13rem;
    font-weight: 500;
    border-radius: var(--border-radius-button);
    transition: background-color 0.2s ease;
    text-decoration: none;
}

.cta-button:hover {
    background-color: var(--color-primary-hover);
    color: #fff;
}

.cta-section {
    background-color: var(--color-primary);
    color: #fff;
    padding: 64px 0;
    text-align: center;
}

.cta-section h2 {
    color: #fff;
    font-size: 2.5rem;
    margin-bottom: 1rem;
}

.cta-section p {
    font-size: 1.13rem;
    margin-bottom: 2rem;
}

.dark-section .cta-button {
    background-color: #f7f5f1;
    color: var(--color-dark-section);
}

.dark-section .cta-button:hover {
    background-color: #e0e0e0;
}

.contact {
    padding: 64px 0;
}

.contact .container {
    display: flex;
    gap: 40px;
    flex-wrap: wrap;
}

.contact-info {
    flex: 1;
    min-width: 280px;
}

.contact-form {
    flex: 1.5;
    min-width: 300px;
}

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

.form-group label {
    display: block;
    margin-bottom: 8px;
    color: var(--color-label);
    font-weight: 500;
}

.form-group input,
.form-group textarea {
    width: 100%;
    padding: 12px;
    border: 1px solid var(--color-border);
    border-radius: var(--border-radius-card);
    font-size: 1rem;
    font-family: var(--font-primary);
    box-sizing: border-box;
}

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

.contact-info h3 {
    margin-bottom: 20px;
}

.contact-info p {
    margin-bottom: 15px;
}

.contact-info a {
    color: var(--color-body);
}

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

.content {
    padding: 64px 0;
}

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

.content-section h2 {
    text-align: center;
    margin-bottom: 40px;
}

.footer-section {
    background-color: var(--color-heading);
    color: var(--color-topbar-text);
    padding: 64px 0 0;
}

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

.footer-info h3,
.footer-nav h3,
.footer-contact h3 {
    color: #fff;
    margin-bottom: 20px;
}

.footer-info p {
    color: rgba(255, 255, 255, 0.7);
}

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

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

.footer-nav a {
    color: rgba(255, 255, 255, 0.7);
    text-decoration: none;
}

.footer-nav a:hover {
    color: #fff;
    text-decoration: underline;
}

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

.footer-contact a {
    color: rgba(255, 255, 255, 0.7);
    text-decoration: none;
}

.footer-contact a:hover {
    color: #fff;
    text-decoration: underline;
}

.footer-bottom {
    background-color: #0e1021;
    color: rgba(255, 255, 255, 0.5);
    padding: 20px 0;
    text-align: center;
    font-size: 0.88rem;
}

.hero-alt {
    background-color: var(--color-background);
    padding: 80px 0;
    text-align: center;
}

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

.hero-overlay {
    position: relative;
    overflow: hidden;
}

.hero-overlay::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(0, 0, 0, 0.5);
    z-index: 1;
}

.hero-overlay .container {
    position: relative;
    z-index: 2;
    color: #fff;
    text-align: center;
}

.hero-image {
    display: block;
    max-width: 100%;
    height: auto;
}

.image-container {
    position: relative;
    display: inline-block;
}

.image-container img {
    display: block;
    max-width: 100%;
    height: auto;
}

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

.links li {
    margin-bottom: 10px;
}

.links a {
    color: var(--color-link);
}

.links a:hover {
    color: var(--color-primary-hover);
    text-decoration: underline;
}

.logo,
.site-logo {
    font-family: var(--font-primary);
    font-size: 1.75rem;
    font-weight: 700;
    color: var(--color-heading);
}

.site-logo a {
    color: var(--color-heading);
    text-decoration: none;
}

.main-nav {
    display: flex;
    align-items: center;
}

.main-nav ul {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
}

.main-nav li {
    margin-left: 30px;
}

.main-nav a {
    color: var(--color-heading);
    font-weight: 500;
    font-size: 0.88rem; /* Button Small */
}

.main-nav a:hover {
    color: var(--color-primary);
}

.main-nav a.active {
    color: var(--color-primary);
    text-decoration: underline;
}

.page-header {
    background-color: var(--color-background);
    padding: 40px 0;
    border-bottom: 1px solid var(--color-border);
}

.page-header h1 {
    font-size: 2.5rem;
    text-align: center;
    margin-bottom: 10px;
}

.page-header p {
    text-align: center;
    color: var(--color-body);
}

.process-steps {
    display: flex;
    justify-content: space-around;
    gap: 30px;
    flex-wrap: wrap;
}

.process-steps .step {
    text-align: center;
    max-width: 250px;
}

.process-steps .step-icon {
    font-size: 2.5rem;
    color: var(--color-primary);
    margin-bottom: 15px;
}

.process-steps .step-title {
    font-size: 1.13rem;
    font-weight: 500;
    color: var(--color-heading);
    margin-bottom: 10px;
}

.process-steps .step-description {
    font-size: 0.95rem;
    color: var(--color-body);
}

.reason-item {
    background-color: var(--color-background);
    border: 1px solid var(--color-border);
    border-radius: var(--border-radius-card);
    padding: 30px;
    text-align: center;
    box-shadow: var(--shadow-ambient);
}

.reason-item .icon {
    font-size: 2.5rem;
    color: var(--color-primary);
    margin-bottom: 15px;
}

.reason-item h3 {
    font-size: 1.38rem;
    margin-bottom: 10px;
    color: var(--color-heading);
}

.reason-item p {
    font-size: 0.95rem;
    color: var(--color-body);
}

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

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

.services-list li {
    display: flex;
    align-items: flex-start;
    gap: 15px;
    margin-bottom: 20px;
    color: var(--color-body);
}

.services-list li .icon {
    color: var(--color-primary);
    font-size: 1.2rem;
    flex-shrink: 0;
    margin-top: 4px;
}

.services-list li .text {
    flex-grow: 1;
}

.services-list li .text h4 {
    font-size: 1.13rem;
    color: var(--color-heading);
    margin-bottom: 5px;
}

.services-list li .text p {
    margin-bottom: 0;
    font-size: 0.95rem;
}

.site {
    display: flex;
    flex-direction: column;
    min-height: 100vh;
}

.site-header {
    background-color: var(--color-background);
    border-bottom: 1px solid var(--color-border);
    padding: 15px 0;
}

.site-footer {
    margin-top: auto;
}

.site-nav {
    display: flex;
    align-items: center;
}

.site-nav ul {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
}

.site-nav li {
    margin-left: 30px;
}

.site-nav a {
    color: var(--color-heading);
    font-weight: 500;
    font-size: 0.88rem;
}

.site-nav a:hover {
    color: var(--color-primary);
}

.site-nav a.active {
    color: var(--color-primary);
    text-decoration: underline;
}

.hero .hero-content {
    max-width: 550px;
}

.hero-title {
    font-size: 3.5rem;
    letter-spacing: -1.4px;
}

.hero-subtitle {
    font-size: 1.38rem;
    color: var(--color-body);
    margin-bottom: 2rem;
}

.hero .btn-lg {
    margin-top: 10px;
}

.hero-alt .hero-content {
    max-width: 700px;
    margin: 0 auto;
}

.hero-alt .hero-title {
    font-size: 3rem;
    letter-spacing: -1.2px;
}

.hero-alt .hero-subtitle {
    font-size: 1.25rem;
}

.branding h1 {
    font-size: 2.5rem;
    margin-bottom: 0.5rem;
}

.branding p {
    font-size: 1.13rem;
    color: var(--color-body);
}

.about-image img,
.about-image-secondary img,
.hero-image img,
.image-container img {
    display: block;
    max-width: 100%;
    height: auto;
}

.hero-image {
    display: flex;
    justify-content: center;
    align-items: center;
}

.hero-image img {
    border-radius: var(--border-radius-card);
    box-shadow: var(--shadow-brand);
}

.section-heading-sub {
    font-size: 1.63rem;
    letter-spacing: -0.26px;
    text-align: center;
    margin-bottom: 30px;
}

@media (max-width: 768px) {
    .hero {
        text-align: center;
        flex-direction: column;
        gap: 20px;
    }
    .hero .hero-content {
        max-width: 100%;
        order: 2;
    }
    .hero .hero-image {
        max-width: 80%;
        order: 1;
    }
    .hero-title {
        font-size: 2.5rem;
    }
    .hero-subtitle {
        font-size: 1.13rem;
    }
    .section {
        padding: 40px 0;
    }
    .section-heading, .section-heading-sub {
        font-size: 1.75rem;
        margin-bottom: 30px;
    }
    .dark-section, .cta-section {
        padding: 40px 0;
    }
    .topbar .container {
        flex-direction: column;
        gap: 10px;
    }
    .topbar-nav {
        margin-top: 10px;
    }
    .topbar-nav a {
        margin-left: 10px;
        margin-right: 10px;
    }
    .about .container, .contact .container {
        flex-direction: column;
        gap: 30px;
    }
    .about-content, .about-image, .contact-info, .contact-form {
        min-width: unset;
        width: 100%;
    }
    .footer-content {
        grid-template-columns: 1fr;
    }
    .process-steps {
        flex-direction: column;
        align-items: center;
    }
    .reason-item, .about-card {
        padding: 20px;
    }
    .services-list li {
        flex-wrap: wrap;
        text-align: center;
        justify-content: center;
    }
    .services-list li .icon {
        margin-bottom: 10px;
    }
    .services-list li .text {
        width: 100%;
    }
}

@media (max-width: 480px) {
    .hero-title {
        font-size: 2rem;
    }
    .section-heading, .section-heading-sub {
        font-size: 1.5rem;
    }
    .topbar-logo {
        font-size: 1.25rem;
    }
    .topbar-nav a {
        font-size: 0.8rem;
    }
    .btn-lg {
        padding: 10px 20px;
        font-size: 0.9rem;
    }
    .cta-button {
        padding: 12px 24px;
        font-size: 1rem;
    }
    .about-card, .reason-item {
        padding: 15px;
    }
    .reason-item h3 {
        font-size: 1.13rem;
    }
}
