/* Global Reset & Base */
* { box-sizing: border-box; margin: 0; padding: 0; }
body { 
    font-family: 'Inter', sans-serif; 
    background-color: #f5f5f4; 
    color: #1c1917; 
    line-height: 1.5; 
    -webkit-font-smoothing: antialiased;
}

.container { max-width: 1152px; margin: 0 auto; padding: 0 1.5rem; }
.text-center { text-align: center; }
.text-teal { color: #0d9488; }

header { 
    background-color: #f0f4f8; 
    padding: 3rem 0 6rem; 
    border-bottom-left-radius: 3rem; 
    border-bottom-right-radius: 3rem; 
    box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1);
    border-bottom: 1px solid #cbd5e1;
}

h1 { font-size: 2.5rem; font-weight: 800; line-height: 1.2; margin-bottom: 1.5rem; color: #1c1917; }
.subtitle { font-size: 1.25rem; font-weight: 500; margin-bottom: 1rem; color: #1c1917; }
.highlight-text { font-size: 1.5rem; font-weight: 600; color: #1c1917; }

.cta-button {
    display: inline-block;
    background-color: #000000; /* CTA made Black */
    color: #ffffff;
    font-weight: 700;
    font-size: 1.25rem;
    padding: 1.25rem 3.5rem;
    border-radius: 9999px;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    border: none;
    cursor: pointer;
    transition: all 0.3s ease;
    box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.2);
    text-decoration: none;
}
.cta-button:hover {
    transform: translateY(-2px);
    background-color: #1f2937;
}

.comparison-section { margin: 5rem 0; }
.white-box {
    max-width: 800px;
    margin: 0 auto;
    background: white;
    padding: 2.5rem;
    border-radius: 1rem;
    box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1);
}

.grid { display: grid; gap: 2rem; margin-top: 2.5rem; align-items: stretch; }
@media (min-width: 768px) { .grid { grid-template-columns: 1fr 1fr; } }

.card { 
    background: white; 
    padding: 3rem 2rem; 
    border-radius: 1rem; 
    box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1); 
    border-top: 6px solid #0d9488;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.profile-img { 
    width: 120px; 
    height: 120px; 
    border-radius: 50%; 
    margin: 0 auto 1.5rem; 
    border: 3px solid #0d9488; 
    object-fit: cover;
    display: block;
}

.card-text {
    font-size: 1.05rem;
    font-weight: 600;
    color: #1c1917;
    line-height: 1.6;
    max-width: 320px;
    margin: 0 auto;
}

.banner { 
    background-color: transparent; /* Last box no longer blue */
    padding: 4rem 2rem; 
    color: #1c1917; 
    margin: 4rem 0;
}
.banner h2 { font-size: 2.5rem; margin-bottom: 2rem; }
.details-link { color: #0d9488; text-decoration: underline; font-size: 1rem; font-weight: 600; }

/* Footer not centered */
footer { 
    background: #e7e5e4; 
    padding: 3rem 0; 
    margin-top: 4rem; 
    text-align: left; 
}
.footer-logo { height: 2.5rem; opacity: 0.8; filter: grayscale(100%); margin-bottom: 1.5rem; }
.copyright { color: #44403c; font-size: 0.85rem; font-weight: 700; text-transform: uppercase; }

@media (max-width: 768px) {
    footer { text-align: center; } /* Optional: Keep center for mobile readability only */
}