#home-hero { height: 80vh; display: flex; align-items: center; text-align: center; position: relative; }
.noise-overlay {
    position: absolute; inset: 0; z-index: -1; opacity: 0.03;
    background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noiseFilter'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.65' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noiseFilter)'/%3E%3C/svg%3E");
}
#home-hero h1 { font-size: clamp(56px, 9vw, 112px); }

#differentiators { padding: 100px 0; }
.card-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; margin-top: 40px; }
.shape { width: 32px; height: 32px; background: var(--color-accent); margin-bottom: 24px; }
.triangle { clip-path: polygon(50% 0%, 0% 100%, 100% 100%); }
.circle { border-radius: 50%; }

.testimonial { display: flex; flex-direction: column; }
.quote-mark { font-family: var(--font-display); font-size: 72px; color: var(--color-accent); line-height: 0.8; }
.quote-text { font-style: italic; margin-bottom: 20px; }
.client-info strong { display: block; font-size: 15px; }
.client-info span { font-family: var(--font-mono); font-size: 12px; color: var(--color-text-secondary); }

#home-cta { padding: 120px 0; text-align: center; background: linear-gradient(135deg, var(--color-surface) 0%, #0F1A00 100%); }
/* Push the first section down so the navbar doesn't hide it */
#differentiators, #home-hero {
    padding-top: calc(var(--nav-height) + 80px);
}

/* Fix the "Who We Serve" Clutter */
.audience-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 40px;
}

.audience-card {
    background: var(--color-surface-2);
    padding: 40px;
    border-radius: 12px;
    border: 1px solid var(--color-border);
    transition: transform 0.4s var(--ease-out-expo);
}

.audience-card:hover {
    transform: translateY(-5px);
    border-color: var(--color-accent);
}

.audience-card h3 {
    font-family: var(--font-mono);
    color: var(--color-accent);
    margin-bottom: 16px;
    font-size: 20px;
}

/* Center the final CTA block */
#cta-section {
    text-align: center;
    padding: 100px 0;
}

#cta-section h2 {
    margin-bottom: 32px;
}

#cta-section .btn-primary, 
#cta-section .btn-outline {
    margin: 0 10px;
}

@media (max-width: 768px) {
    .audience-grid {
        grid-template-columns: 1fr;
    }
}