/* Import distinctive Google Fonts */
@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@0,400;0,500;0,600;0,700;1,400;1,500&family=Crimson+Text:ital,wght@0,400;0,600;1,400&family=Inter:wght@300;400;500;600&family=Poppins:wght@300;400;500;600;700&display=swap');

/* Custom header fonts for distinctive typography */
h1, h2, h3, h4, h5, h6 {
    font-family: 'Playfair Display', 'Times New Roman', serif !important;
    font-weight: 600 !important;
    line-height: 1.2 !important;
    letter-spacing: -0.02em !important;
}

/* Main site title - smaller size */
aside div h1 {
    font-family: 'Playfair Display', serif !important;
    font-weight: 700 !important;
    font-size: 1.4em !important;
    letter-spacing: -0.01em !important;
}

/* Site subtitle styling */
aside div p {
    font-family: 'Inter', sans-serif !important;
    font-weight: 400 !important;
    font-size: 0.9em !important;
    letter-spacing: 0.02em !important;
}

/* Article headers with varying weights */
main article header h1 {
    font-family: 'Playfair Display', serif !important;
    font-weight: 700 !important;
    font-size: 2.4em !important;
    line-height: 1.1 !important;
    margin-bottom: 0.5em !important;
    color: #2c2c2c !important;
}

main article header h2 {
    font-family: 'Playfair Display', serif !important;
    font-weight: 600 !important;
    font-size: 1.9em !important;
    color: #333 !important;
}

/* Content headers */
main article h2 {
    font-family: 'Playfair Display', serif !important;
    font-weight: 600 !important;
    font-size: 1.7em !important;
    color: #333 !important;
    margin-top: 1.5em !important;
    margin-bottom: 0.7em !important;
}

main article h3 {
    font-family: 'Playfair Display', serif !important;
    font-weight: 500 !important;
    font-size: 1.4em !important;
    color: #444 !important;
    margin-top: 1.3em !important;
    margin-bottom: 0.6em !important;
}

main article h4 {
    font-family: 'Playfair Display', serif !important;
    font-weight: 500 !important;
    font-size: 1.2em !important;
    color: #555 !important;
}

/* Improve body text readability */
main article p {
    font-family: 'Inter', sans-serif !important;
    font-size: 1.05em !important;
    line-height: 1.7 !important;
    color: #444 !important;
}

/* List items styling to match paragraph font size */
main article ul li, main article ol li {
    font-family: 'Inter', sans-serif !important;
    font-size: 1.05em !important;
    line-height: 1.7 !important;
    color: #444 !important;
    margin-bottom: 0.5em !important;
}

/* Navigation improvements */
main nav a {
    font-family: 'Inter', sans-serif !important;
    font-weight: 500 !important;
    letter-spacing: 0.05em !important;
}

/* Sidebar navigation */
aside nav ul li {
    font-family: 'Inter', sans-serif !important;
    font-weight: 400 !important;
}

/* Add subtle text shadow to main headers for depth */
main article header h1 {
    text-shadow: 0 1px 2px rgba(0,0,0,0.1) !important;
}

/* Professional yet inviting font for main greeting */
main article h1:first-of-type {
    font-family: 'Poppins', sans-serif !important;
    font-weight: 600 !important;
    font-size: 2.4em !important;
    color: #2c2c2c !important;
    text-shadow: 1px 1px 3px rgba(0,0,0,0.1) !important;
    letter-spacing: -0.01em !important;
}

/* Interactive elements styling */
.demo-grid, .tools-grid {
    display: grid !important;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)) !important;
    gap: 1.5em !important;
    margin: 2em 0 !important;
}

.demo-card, .tool-card {
    background: #f8f9fa !important;
    border: 1px solid #e9ecef !important;
    border-radius: 8px !important;
    padding: 1.5em !important;
    text-align: center !important;
    transition: transform 0.2s ease, box-shadow 0.2s ease !important;
}

.demo-card:hover, .tool-card:hover {
    transform: translateY(-2px) !important;
    box-shadow: 0 4px 12px rgba(0,0,0,0.1) !important;
}

.demo-card h4, .tool-card h4 {
    margin-top: 0 !important;
    color: #2c2c2c !important;
    font-family: 'Poppins', sans-serif !important;
    font-size: 1.1em !important;
}

.demo-card p, .tool-card p {
    color: #666 !important;
    margin-bottom: 1em !important;
}

.btn {
    background-color: #d9411e !important;
    color: white !important;
    padding: 0.6em 1.2em !important;
    border: none !important;
    border-radius: 4px !important;
    text-decoration: none !important;
    display: inline-block !important;
    font-weight: 500 !important;
    font-family: 'Inter', sans-serif !important;
    transition: background-color 0.2s ease !important;
}

.btn:hover {
    background-color: #ff5a09 !important;
    color: white !important;
}

/* Project showcase styling */
.project-card {
    border-left: 4px solid #d9411e !important;
    padding-left: 1em !important;
    margin: 1.5em 0 !important;
}

/* Speaking events styling */
.event-date {
    color: #d9411e !important;
    font-weight: 600 !important;
    font-family: 'Inter', sans-serif !important;
}

/* Resources page styling */
.resource-section {
    margin: 2em 0 !important;
    padding: 1.5em !important;
    background: #f8f9fa !important;
    border-radius: 8px !important;
}

/* Responsive design */
@media (max-width: 768px) {
    .demo-grid, .tools-grid {
        grid-template-columns: 1fr !important;
        gap: 1em !important;
    }
    
    .demo-card, .tool-card {
        padding: 1em !important;
    }
}