/* 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.6; /* Increased for better readability */
    -webkit-font-smoothing: antialiased;
    overflow-x: hidden;
}

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

/* Typography */
.text-indigo { color: #1e1b4b; }
.text-teal { color: #0f766e; } /* Added for brand consistency */

.hero-title { 
    font-weight: 800; 
    color: #1c1917; 
    font-size: clamp(2.2rem, 8vw, 3.5rem); /* Slightly larger base */
    line-height: 1.1; 
    margin-bottom: 1rem; 
    word-wrap: break-word;
}

.hero-subtitle {
    font-weight: 800; 
    font-size: clamp(1rem, 4vw, 1.25rem); /* Adjusted for better mobile scaling */
    letter-spacing: 0.1em; /* Increased tracking for the "Gold Standard" feel */
    text-transform: uppercase; 
    margin-bottom: 2rem;
}

.subtitle { font-size: 1.25rem; font-weight: 500; margin-bottom: 1rem; color: #44403c; }
.highlight-text { font-size: 1.5rem; font-weight: 700; color: #1c1917; }

/* Layout Sections */
header { 
    background-color: #ffffff; /* Cleaner background for the logo to pop */
    padding: 4rem 0 7rem; 
    border-bottom-left-radius: 4rem; 
    border-bottom-right-radius: 4rem; 
    box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.05);
    border-bottom: 1px solid #e2e8f0;
}

.comparison-section { margin: 6rem 0; }

.para-box {
    max-width: 850px; 
    margin: 0 auto; 
    background: white; 
    padding: 3rem; 
    border-radius: 1.5rem; 
    box-shadow: 0 10px 30px -5px rgba(0, 0, 0, 0.08);
}

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

.card { 
    background: white; 
    padding: 3.5rem 2.5rem; 
    border-radius: 1.5rem; 
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.04); 
    border-top: 6px solid #0f766e;
    display: flex;
    flex-direction: column;
    justify-content: center;
    transition: transform 0.3s ease;
}
.card:hover { transform: translateY(-5px); } /* Subtle interaction */

.card-indigo { border-top-color: #1e1b4b; }

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

.card-text {
    font-size: 1.1rem;
    font-weight: 500;
    color: #44403c;
    line-height: 1.6;
    margin: 0 auto;
}

/* UI Elements */
.cta-button {
    display: inline-block;
    background-color: #0f766e;
    color: #ffffff;
    font-weight: 800;
    font-size: 1.2rem;
    padding: 1.4rem 3.5rem;
    border-radius: 1rem; /* Matched to card radius instead of pill for more modern look */
    text-transform: uppercase;
    letter-spacing: 0.05em;
    border: none;
    cursor: pointer;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    box-shadow: 0 10px 20px -5px rgba(15, 118, 110, 0.4);
    text-decoration: none;
}
.cta-button:hover {
    transform: scale(1.03);
    background-color: #134e4a;
}

.banner { 
    background: linear-gradient(135deg, #1e1b4b 0%, #312e81 100%); /* Added depth */
    padding: 5rem 2rem; 
    border-radius: 3rem; 
    color: white; 
    margin: 5rem 0;
}
.banner h2 { font-size: clamp(1.8rem, 5vw, 2.8rem); margin-bottom: 2rem; font-weight: 800; }
.details-link { color: #94a3b8; text-decoration: none; font-size: 0.95rem; font-weight: 600; }
.details-link:hover { color: #ffffff; text-decoration: underline; }

/* Footer */
footer { background: #f8fafc; padding: 4rem 0; margin-top: 5rem; text-align: center; border-top: 1px solid #e2e8f0; }
.footer-logo { height: 2.8rem; opacity: 0.6; filter: grayscale(100%); margin-bottom: 2rem; transition: opacity 0.3s; }
.footer-logo:hover { opacity: 1; filter: none; }
.copyright { color: #64748b; font-size: 0.8rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.1em; }