/* Enhanced Typography & Spacing Improvements */

/* Better Content Spacing */
.content-section {
    padding: 5rem 0;
}

@media (max-width: 768px) {
    .content-section {
        padding: 3rem 0;
    }
}

/* Improved Paragraph Spacing in Cards */
.bg-white.rounded.p-4 p,
.bg-white.rounded.p-5 p {
    margin-bottom: 1.5rem;
    line-height: 1.8;
}

.bg-white.rounded.p-4 p:last-child,
.bg-white.rounded.p-5 p:last-child {
    margin-bottom: 0;
}

/* Better List Item Spacing */
.row.g-0 h5 {
    line-height: 1.6;
    margin-bottom: 1.25rem;
}

/* Section Title Enhancements */
.section-title h5 {
    font-size: 0.875rem;
    letter-spacing: 2.5px;
    margin-bottom: 1rem;
    font-weight: 700;
}

.section-title h1 {
    font-size: 2.5rem;
    line-height: 1.3;
    margin-bottom: 1.5rem;
    font-weight: 800;
}

.section-title p {
    font-size: 1.125rem;
    line-height: 1.8;
    color: #6b7280;
    margin-top: 1.5rem;
}

@media (max-width: 768px) {
    .section-title h1 {
        font-size: 1.875rem;
    }
    
    .section-title p {
        font-size: 1rem;
    }
}

/* Carousel Typography */
.carousel-caption h1 {
    font-size: 3.5rem;
    line-height: 1.2;
    margin-bottom: 2rem;
    font-weight: 800;
    letter-spacing: -1px;
}

@media (max-width: 992px) {
    .carousel-caption h1 {
        font-size: 2.5rem;
    }
}

@media (max-width: 768px) {
    .carousel-caption h1 {
        font-size: 2rem;
        margin-bottom: 1.5rem;
    }
}

@media (max-width: 576px) {
    .carousel-caption h1 {
        font-size: 1.5rem;
        margin-bottom: 1rem;
    }
}

/* About Section Typography */
.about-description {
    font-size: 1.125rem;
    line-height: 1.9;
    color: #4a5568;
    margin-bottom: 2rem;
}

/* Feature List Improvements */
.feature-list h5 {
    font-size: 1.0625rem;
    line-height: 1.7;
    font-weight: 600;
    margin-bottom: 1.25rem;
}

.feature-list i {
    font-size: 1.25rem;
}

/* Contact Info Typography */
.contact-info h5 {
    font-size: 1.125rem;
    margin-bottom: 0.75rem;
    font-weight: 600;
}

.contact-info h4 {
    font-size: 1.25rem;
    font-weight: 700;
}

/* Partner Cards Typography */
.partner-card h6 {
    font-size: 0.9375rem;
    font-weight: 700;
    margin-bottom: 0.5rem;
    line-height: 1.4;
}

.partner-card small {
    font-size: 0.8125rem;
    color: #9ca3af;
}

/* Insights Section Typography */
.insights-content h3 {
    font-size: 1.75rem;
    line-height: 1.4;
    margin-bottom: 1.5rem;
    font-weight: 700;
}

.insights-content h4 {
    font-size: 1.375rem;
    line-height: 1.5;
    margin-bottom: 1.25rem;
    font-weight: 700;
    color: #1f2937;
}

.insights-content p {
    font-size: 1.0625rem;
    line-height: 1.85;
    margin-bottom: 1.5rem;
    color: #4a5568;
}

.insights-content ul {
    margin-bottom: 2rem;
}

.insights-content li {
    font-size: 1.0625rem;
    line-height: 1.8;
    margin-bottom: 1rem;
    color: #4a5568;
}

/* Capability Statement Typography */
.capability-content h3 {
    font-size: 1.625rem;
    margin-bottom: 1.5rem;
    font-weight: 700;
    color: #1f2937;
}

.capability-content h4 {
    font-size: 1.25rem;
    margin-bottom: 1.25rem;
    font-weight: 700;
    color: #374151;
}

.capability-content p {
    font-size: 1.0625rem;
    line-height: 1.85;
    margin-bottom: 1.5rem;
}

/* Entity Info Spacing */
.entity-info > div {
    padding: 1.5rem;
    margin-bottom: 1rem;
}

.entity-info strong {
    font-size: 0.9375rem;
    font-weight: 700;
    display: block;
    margin-bottom: 0.5rem;
}

/* NAICS Codes Typography */
.naics-item {
    padding: 1.25rem;
    margin-bottom: 1rem;
}

.naics-item h5 {
    font-size: 1.125rem;
    font-weight: 700;
    margin-bottom: 0.5rem;
}

.naics-item p {
    font-size: 0.9375rem;
    line-height: 1.7;
    margin-bottom: 0;
}

/* Core Competencies Spacing */
.competency-item {
    margin-bottom: 1.5rem;
}

.competency-item i {
    font-size: 1.5rem;
}

.competency-item h5 {
    font-size: 1.0625rem;
    font-weight: 700;
    line-height: 1.6;
    margin-bottom: 0.5rem;
}

.competency-item p {
    font-size: 0.9375rem;
    line-height: 1.7;
    color: #6b7280;
    margin-bottom: 0;
}

/* Differentiator Cards */
.diff-item h5 {
    font-size: 1.125rem;
    font-weight: 700;
    margin-bottom: 1rem;
}

.diff-item p {
    font-size: 1rem;
    line-height: 1.75;
}

/* Button Spacing */
.btn {
    margin-top: 0.5rem;
    margin-bottom: 0.5rem;
}

/* Improved Whitespace Between Sections */
.py-5 {
    padding-top: 5rem !important;
    padding-bottom: 5rem !important;
}

@media (max-width: 768px) {
    .py-5 {
        padding-top: 3rem !important;
        padding-bottom: 3rem !important;
    }
}

/* Card Padding Improvements */
.p-4 {
    padding: 2rem !important;
}

.p-5 {
    padding: 2.5rem !important;
}

@media (max-width: 768px) {
    .p-4 {
        padding: 1.5rem !important;
    }
    
    .p-5 {
        padding: 2rem !important;
    }
}

/* Row Gap Improvements */
.row.g-4 {
    --bs-gutter-y: 2rem;
}

.row.g-5 {
    --bs-gutter-y: 3rem;
}

/* Better Margin Bottom Classes */
.mb-3 {
    margin-bottom: 1.5rem !important;
}

.mb-4 {
    margin-bottom: 2rem !important;
}

.mb-5 {
    margin-bottom: 3rem !important;
}

/* Text Readability Improvements */
.text-justify {
    text-align: justify;
}

.max-width-readable {
    max-width: 75ch;
}

/* Improved Focus States for Accessibility */
a:focus,
button:focus,
.btn:focus {
    outline: 2px solid var(--primary);
    outline-offset: 2px;
}

/* Better Link Spacing in Lists */
ul li a,
ol li a {
    display: inline-block;
    padding: 0.25rem 0;
}

/* Topbar Typography */
.topbar small {
    font-size: 0.875rem;
    line-height: 1.6;
}

/* Footer Typography (if applicable) */
.footer h5 {
    font-size: 1.125rem;
    margin-bottom: 1.5rem;
    font-weight: 700;
}

.footer p {
    font-size: 0.9375rem;
    line-height: 1.8;
}

/* Improved Table Typography */
table {
    font-size: 1rem;
    line-height: 1.6;
}

th {
    font-weight: 700;
    padding: 1rem;
}

td {
    padding: 0.875rem 1rem;
}

/* Better Blockquote Styling */
blockquote {
    font-size: 1.125rem;
    line-height: 1.8;
    padding: 1.5rem 2rem;
    margin: 2rem 0;
    border-left: 4px solid var(--primary);
    background: #f8f9fa;
}

/* Code Block Typography */
code {
    font-size: 0.875rem;
    padding: 0.25rem 0.5rem;
    background: #f3f4f6;
    border-radius: 0.25rem;
}

pre {
    font-size: 0.875rem;
    line-height: 1.6;
    padding: 1.5rem;
    background: #1f2937;
    color: #f9fafb;
    border-radius: 0.5rem;
    overflow-x: auto;
}
