/* ABOUT PAGE STYLES
   Split column layout for two-person team
   Maintains grid/table aesthetic with editorial feel
*/

/* ============================================
   PAGE INTRO
   ============================================ */

.page-intro-DISABLED {
    padding: 2rem 3rem;
    background-color: var(--color-white);
}

.page-intro-content {
    border: none;
    padding: 0;
}

.page-intro h1 {
    font-size: 3.5rem;
    margin: 0;
    padding: 2rem 0;
    line-height: 1;
    border-bottom: 1px solid var(--color-gray);
}

.page-intro p {
    font-size: 1.25rem;
    line-height: 1.6;
    max-width: none;
    margin: 0;
    padding: 2rem 0;
}

/* ============================================
   TEAM SECTION - Split Grid
   ============================================ */

.team-section {
    padding: 0;
    background-color: var(--color-white);
}

.team-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 0;
}

.team-member {
    border-right: 1px solid var(--color-black);
    display: flex;
    flex-direction: column;
}

.team-member:last-child {
    border-right: none;
}

.team-member:last-child .member-info {
    padding-left: 3rem;
}

/* ============================================
   MEMBER IMAGE
   ============================================ */

.member-image {
    width: 100%;
    height: 500px;
    border-bottom: 1px solid var(--color-black);
    border-top: 1px solid var(--color-black);
    overflow: hidden;
}

.member-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.image-placeholder {
    width: 100%;
}

/* ============================================
   MEMBER INFO
   ============================================ */

.member-info {
    padding: 3rem;
}

.member-header {
    padding-bottom: 2rem;
    border-bottom: 1px solid var(--color-gray);
    margin-bottom: 2rem;
}

.member-name {
    font-family: var(--font-headline);
    font-size: 3rem;
    font-weight: 300;
    line-height: 1;
    margin: 0 0 0.5rem 0;
}

.member-title {
    font-family: var(--font-display);
    font-size: 0.875rem;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: #666;
    margin: 0;
}

/* ============================================
   MEMBER BIO
   ============================================ */

.member-bio {
    margin-bottom: 2rem;
    padding-bottom: 2rem;
    border-bottom: 1px solid var(--color-gray);
}

.member-bio p {
    font-size: 1rem;
    line-height: 1.7;
    margin-bottom: 1rem;
}

.member-bio p:last-child {
    margin-bottom: 0;
}

/* ============================================
   EXPERTISE
   ============================================ */

.member-expertise {
    margin-bottom: 2rem;
    padding-bottom: 2rem;
    border-bottom: 1px solid var(--color-gray);
}

.member-expertise h3 {
    font-family: var(--font-display);
    font-size: 0.75rem;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    font-weight: 700;
    color: #666;
    margin: 0 0 1rem 0;
}

.expertise-list {
    list-style: none;
    padding: 0;
    margin: 0;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 0.5rem 1rem;
}

.expertise-list li {
    font-size: 0.95rem;
    line-height: 1.6;
    position: relative;
    padding-left: 1rem;
}

.expertise-list li::before {
    content: '—';
    position: absolute;
    left: 0;
    color: var(--color-black);
}

/* ============================================
   EXPERIENCE
   ============================================ */

.member-experience h3 {
    font-family: var(--font-display);
    font-size: 0.75rem;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    font-weight: 700;
    color: #666;
    margin: 0 0 1rem 0;
}

.experience-list {
    font-size: 0.95rem;
    line-height: 1.7;
    color: #333;
    margin: 0;
}

/* ============================================
   PHILOSOPHY SECTION
   ============================================ */

.philosophy-section {
    padding: 4rem 3rem;
    background-color: var(--color-gray);
}

.philosophy-content h2 {
    font-family: var(--font-headline);
    font-size: 2.5rem;
    font-weight: 300;
    margin: 0 0 3rem 0;
    text-align: center;
}

.philosophy-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 0;
    max-width: 1200px;
    margin: 0 auto;
}

.philosophy-item {
    padding: 2rem;
    border-right: 1px solid var(--color-black);
    border-bottom: 1px solid var(--color-black);
}

.philosophy-item:nth-child(2n) {
    border-right: none;
}

.philosophy-item:nth-child(3),
.philosophy-item:nth-child(4) {
    border-bottom: none;
}

.philosophy-item h3 {
    font-family: var(--font-headline);
    font-size: 1.5rem;
    font-weight: 700;
    margin: 0 0 1rem 0;
    line-height: 1.2;
}

.philosophy-item p {
    font-size: 1rem;
    line-height: 1.6;
    margin: 0;
    color: #333;
}

/* ============================================
   APPROACH SECTION
   ============================================ */

.approach-section {
    padding: 4rem 3rem;
    background-color: var(--color-white);
}

.approach-content {
    max-width: 1000px;
    margin: 0 auto;
}

.approach-content h2 {
    font-family: var(--font-headline);
    font-size: 2.5rem;
    font-weight: 300;
    margin: 0 0 2rem 0;
    padding-bottom: 2rem;
    border-bottom: 1px solid var(--color-black);
}

.approach-intro {
    font-size: 1.25rem;
    line-height: 1.6;
    margin: 0 0 3rem 0;
    padding-bottom: 3rem;
    border-bottom: 1px solid var(--color-gray);
}

.approach-benefits {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 2rem 3rem;
}

.benefit-item strong {
    display: block;
    font-size: 1.125rem;
    font-weight: 700;
    margin-bottom: 0.5rem;
    color: var(--color-black);
}

.benefit-item p {
    font-size: 0.95rem;
    line-height: 1.6;
    margin: 0;
    color: #333;
}

/* ============================================
   CTA SECTION
   ============================================ */

.about-cta {
    padding: 4rem 3rem;
    background-color: var(--color-black);
    color: var(--color-white);
    text-align: center;
}

.cta-content {
    max-width: 700px;
    margin: 0 auto;
}

.cta-content h2 {
    font-family: var(--font-headline);
    font-size: 3rem;
    font-weight: 300;
    margin: 0 0 1.5rem 0;
    color: var(--color-white);
}

.cta-content p {
    font-size: 1.125rem;
    line-height: 1.6;
    margin: 0 0 2rem 0;
    color: rgba(255, 255, 255, 0.8);
}

.cta-button {
    display: inline-block;
    font-family: var(--font-headline);
    font-size: 1.25rem;
    font-weight: 700;
    padding: 1rem 2rem;
    border: 2px solid var(--color-white);
    color: var(--color-white);
    text-decoration: none;
    transition: background-color 0.3s ease, color 0.3s ease;
}

.cta-button:hover {
    background-color: var(--color-white);
    color: var(--color-black);
}

/* ============================================
   RESPONSIVE
   ============================================ */

@media (max-width: 1024px) {
    .member-name {
        font-size: 2.5rem;
    }
    
    .expertise-list {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 768px) {
    /* Stack team members */
    .team-grid {
        grid-template-columns: 1fr;
    }
    
    .team-member {
        border-right: none;
        border-bottom: 1px solid var(--color-black);
    }
    
    .team-member:last-child {
        border-bottom: none;
    }
    
    .member-info {
        padding: 2rem 1.5rem;
    }
    
    .member-name {
        font-size: 2rem;
    }
    
    /* Stack philosophy grid */
    .philosophy-grid {
        grid-template-columns: 1fr;
    }
    
    .philosophy-item {
        border-right: none;
    }
    
    .philosophy-item:nth-child(3) {
        border-bottom: 1px solid var(--color-black);
    }
    
    /* Stack approach benefits */
    .approach-benefits {
        grid-template-columns: 1fr;
        gap: 2rem;
    }
    
    .page-intro h1 {
        font-size: 2.5rem;
    }
    
    .philosophy-content h2,
    .approach-content h2,
    .cta-content h2 {
        font-size: 2rem;
    }
}

@media (max-width: 480px) {
    .page-intro,
    .philosophy-section,
    .approach-section,
    .about-cta {
        padding-left: 1.5rem;
        padding-right: 1.5rem;
    }
    
    .member-info {
        padding: 1.5rem;
    }
    
    .philosophy-item {
        padding: 1.5rem;
    }
}

/* ============================================
   PRINT
   ============================================ */

@media print {
    .site-header,
    .about-cta,
    .contact-section {
        display: none;
    }
    
    .team-grid {
        grid-template-columns: 1fr;
    }
    
    .team-member {
        page-break-inside: avoid;
    }
}

/* ============================================
   COSMICA MONO UPDATES - About Page
   ============================================ */

/* All headings - Heavy all caps smaller */
.page-intro h1,
.philosophy-content h2,
.approach-content h2,
.cta-content h2 {
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: -0.03em;
}

.page-intro h1 {
    font-size: 2.5rem; /* Smaller */
}

.philosophy-content h2,
.approach-content h2 {
    font-size: 2rem; /* Smaller */
}

.cta-content h2 {
    font-size: 2.5rem; /* Smaller */
}

/* Body text - Book */
.page-intro p,
.member-bio p,
.philosophy-item p,
.approach-intro,
.benefit-item p,
.cta-content p {
    font-weight: 350;
    letter-spacing: -0.01em;
}

/* All labels - Heavy all caps */
.member-title,
.member-expertise h3,
.member-experience h3,
.benefit-item strong {
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: -0.02em;
}

.member-name {
    font-weight: 900;
    font-size: 2rem; /* Smaller */
    text-transform: uppercase;
    letter-spacing: -0.03em;
}

.philosophy-item h3 {
    font-weight: 900;
    font-size: 1.25rem; /* Smaller */
    text-transform: uppercase;
    letter-spacing: -0.02em;
}

/* ============================================
   MATCH INDEX PAGE FORMATTING
   ============================================ */

/* Page intro - match index */
.page-intro h1 {
    font-size: 3.5rem; /* 56px - match index */
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: -0.05em;
    line-height: 0.95;
}

.page-intro p {
    font-size: 0.6875rem; /* 11px body */
    font-weight: 400;
    letter-spacing: -0.02em;
    line-height: 1.5;
}

/* Philosophy/Approach headers - match section headers */
.philosophy-content h2,
.approach-content h2,
.cta-content h2 {
    font-size: 3.5rem; /* 56px - match index H2 */
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: -0.05em;
    line-height: 0.95;
}

/* Philosophy items - match index subsections */
.philosophy-item h3 {
    font-size: 1rem;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: -0.03em;
}

.philosophy-item p {
    font-size: 0.6875rem; /* 11px */
    font-weight: 400;
    letter-spacing: -0.02em;
    line-height: 1.5;
}

/* Member bios - 11px body */
.member-bio p,
.approach-intro,
.benefit-item p,
.cta-content p {
    font-size: 0.6875rem; /* 11px */
    font-weight: 400;
    letter-spacing: -0.02em;
    line-height: 1.5;
}

/* Member names - match client names style */
.member-name {
    font-size: 2.5rem;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: -0.04em;
}

/* Expertise list - 11px */
.expertise-list li {
    font-size: 0.6875rem; /* 11px */
    font-weight: 400;
    letter-spacing: -0.02em;
}
/* ============================================
   FORCE CONSISTENCY ACROSS ALL PAGES
   Applied to: services.css, about.css, case-study.css
   ============================================ */

/* ALL HEADLINES - 56px Heavy all caps */
h1, h2 {
    font-size: 3.5rem !important;
    font-weight: 900 !important;
    text-transform: uppercase !important;
    letter-spacing: -0.05em !important;
    line-height: 0.95 !important;
}

/* ALL H3 - 16px Heavy all caps */
h3 {
    font-size: 1rem !important;
    font-weight: 900 !important;
    text-transform: uppercase !important;
    letter-spacing: -0.03em !important;
    line-height: 1.1 !important;
}

/* ALL BODY PARAGRAPHS - 11px Regular mixed case */
p {
    font-size: 0.6875rem !important;
    font-weight: 400 !important;
    letter-spacing: -0.02em !important;
    line-height: 1.5 !important;
}

/* SUB-HEADERS - 20px Heavy all caps */
.page-subheader,
.section-intro > p:first-of-type {
    font-size: 1.25rem !important;
    font-weight: 900 !important;
    text-transform: uppercase !important;
    letter-spacing: -0.03em !important;
    line-height: 1.3 !important;
    padding: 2rem 0 !important;
    margin: 0 0 2rem 0 !important;
    border-bottom: 1px solid var(--color-black) !important;
}

/* LABELS - 11px Heavy all caps */
.meta-label,
.section-label,
.member-title,
strong {
    font-size: 0.6875rem !important;
    font-weight: 900 !important;
    text-transform: uppercase !important;
    letter-spacing: -0.02em !important;
}
/* ============================================
   CONSISTENT SECTION FORMAT ACROSS ALL PAGES
   Structure: Headline > Sub-headline > Light line > Content
   ============================================ */

/* Remove border from headlines */
.section-intro h2,
.page-intro h1,
h1, h2 {
    border-bottom: none !important;
    padding-bottom: 1rem !important;
    margin-bottom: 0 !important;
}

/* Sub-headline styling - no border, just spacing */
.section-intro > p:first-of-type,
.page-subheader {
    font-size: 1.25rem !important;
    font-weight: 900 !important;
    text-transform: uppercase !important;
    letter-spacing: -0.03em !important;
    line-height: 1.3 !important;
    padding: 0 0 1.5rem 0 !important;
    margin: 0 !important;
    border-bottom: 1px solid var(--color-gray) !important; /* Light gray line */
}

/* Content after sub-headline */
.section-intro > p:not(:first-of-type),
.section-intro-text p {
    padding-top: 1.5rem !important;
}

/* ============================================
   CONTACT SECTION - Hide email completely
   ============================================ */

/* Target email column by content - hide any with email */
.contact-info .contact-column:has(a[href^="mailto"]) {
    display: none !important;
}

/* Backup: hide second column */
.contact-info > .contact-column:nth-child(2) {
    display: none !important;
}

/* ============================================
   CLIENT WORK PAGE FIXES
   ============================================ */

/* Reduce space before client table */
.client-table-section {
    margin-top: 1.5rem !important;
    padding-top: 0 !important;
}

.page-intro-DISABLED {
    margin-bottom: 1.5rem !important;
    padding-bottom: 1.5rem !important;
}

/* ============================================
   ABOUT PAGE FIXES
   ============================================ */

/* No border under about page sub-headline */
.about .page-subheader,
.about .page-intro .page-subheader {
    border-bottom: none !important;
}

/* How We Work Together - sub-headline style for first paragraph */
.approach-content > p:first-of-type {
    font-size: 1.25rem !important;
    font-weight: 900 !important;
    text-transform: uppercase !important;
    letter-spacing: -0.03em !important;
    line-height: 1.3 !important;
    padding: 0 0 1.5rem 0 !important;
    margin: 0 0 1.5rem 0 !important;
    border-bottom: 1px solid var(--color-black) !important;
}

/* Reduce space before footer on about page */
.about .cta-section,
.about section:last-of-type {
    margin-bottom: 0 !important;
    padding-bottom: 2rem !important;
}

/* ============================================
   SERVICES PAGE FIXES
   ============================================ */

/* Recent work - consistent sizing */
.service-recent,
.recent-work {
    font-size: 0.6875rem !important; /* 11px - same as body */
    font-weight: 400 !important;
    margin-top: 1rem !important; /* Tighter spacing */
    padding-top: 0 !important;
}

.service-recent strong,
.recent-work strong,
.recent-work-label {
    font-size: 0.6875rem !important; /* Same size as content */
    font-weight: 900 !important;
}

/* ============================================
   CASE STUDY PAGE FIXES
   ============================================ */

/* Quote text - MUCH bigger and bolder */
.quote-text,
blockquote p,
.case-study-quote p {
    font-size: 5rem !important; /* Bigger */
    font-weight: 100 !important; /* Thin for contrast */
    text-transform: uppercase !important;
    letter-spacing: -0.02em !important;
    line-height: 1 !important;
}

/* Stats numbers - headline styling */
.stat-number {
    font-size: 5rem !important; /* Same as headlines */
    font-weight: 900 !important;
    text-transform: uppercase !important;
    letter-spacing: -0.05em !important;
    line-height: 0.9 !important;
}

/* Stats labels - sub-headline styling */
.stat-label {
    font-size: 1.25rem !important; /* 20px sub-headline size */
    font-weight: 900 !important;
    text-transform: uppercase !important;
    letter-spacing: -0.03em !important;
}

/* Results text - sub-headline styling */
.results-text,
.case-study-results p:first-of-type {
    font-size: 1.25rem !important;
    font-weight: 900 !important;
    text-transform: uppercase !important;
    letter-spacing: -0.03em !important;
}

/* ============================================
   ABOUT PAGE - SECTION FORMAT FIXES
   ============================================ */

/* Page intro - no border under sub-header */
.page-intro .page-subheader {
    border-bottom: none !important;
    padding-bottom: 0 !important;
    margin-bottom: 0 !important;
}

/* How We Work Together sub-header - with black line */
.approach-content .page-subheader {
    border-bottom: 1px solid var(--color-black) !important;
    padding-bottom: 1.5rem !important;
    margin-bottom: 2rem !important;
}

/* No border directly under H2 headlines */
.approach-content h2,
.philosophy-content h2 {
    border-bottom: none !important;
    margin-bottom: 0 !important;
    padding-bottom: 1rem !important;
}

/* Reduce space before footer */
.cta-section {
    margin-bottom: 0 !important;
    padding-bottom: 2rem !important;
}

section:last-of-type {
    margin-bottom: 0 !important;
}
/* ============================================
   COMPREHENSIVE FIXES FROM SCREENSHOTS
   ============================================ */

/* ============================================
   INDEX PAGE FIXES
   ============================================ */

/* Hero lead - Make sub-header style (20px Heavy all caps) */
.hero-lead {
    font-size: 1.25rem !important; /* 20px */
    font-weight: 900 !important; /* Heavy */
    text-transform: uppercase !important;
    letter-spacing: -0.03em !important;
    line-height: 1.3 !important;
}

/* Remove extra space between hero and What We Do */
.hero {
    padding-bottom: 2rem !important;
    margin-bottom: 0 !important;
}

/* What We Do section - Remove line under sub-header */
.services-section .section-intro > p:first-of-type,
#what-we-do .section-intro > p:first-of-type {
    border-bottom: none !important;
    padding-bottom: 1rem !important;
    margin-bottom: 1.5rem !important;
}

/* How We Help - Remove line under sub-header */
.how-we-help-section .section-intro > p,
.how-we-help-section .section-intro > p:first-of-type {
    border-bottom: none !important;
    padding-bottom: 0 !important;
    margin-bottom: 2rem !important;
}

/* ============================================
   CLIENT WORK PAGE FIXES
   ============================================ */

/* Remove line under sub-header */
.page-subheader {
    border-bottom: none !important;
    padding-bottom: 0 !important;
    margin-bottom: 1.5rem !important;
}

/* Remove gap before table */
.client-table-section {
    margin-top: 0 !important;
    padding-top: 0 !important;
}

/* Remove black line above table header */
.client-table {
    border-top: none !important;
}

.client-table thead {
    border-top: none !important;
}

.client-table thead tr {
    border-top: none !important;
}

.client-table thead th {
    border-top: none !important;
}

/* ============================================
   ABOUT PAGE FIXES
   ============================================ */

/* Remove black line after sub-header in intro */
.about .page-subheader,
.page-intro .page-subheader {
    border-bottom: none !important;
    margin-bottom: 0 !important;
}

/* Remove unnecessary gap before team photos */
.team-section {
    margin-top: 0 !important;
    padding-top: 0 !important;
}

.team-grid {
    margin-top: 1.5rem !important;
}

/* Remove line between photo placeholders */
.team-grid .member-photo {
    border-right: none !important;
}

/* How We Work Together - Remove line after headline */
.approach-section h2,
.approach-content h2 {
    border-bottom: none !important;
    padding-bottom: 1rem !important;
}

/* How We Work Together - sub-header keeps black line below */
.approach-content .page-subheader {
    border-bottom: 1px solid var(--color-black) !important;
    padding-bottom: 1.5rem !important;
    margin-bottom: 2rem !important;
}

/* Remove huge gap before footer */
.cta-section,
.about .cta-section {
    margin-top: 2rem !important;
    padding-top: 2rem !important;
}

/* ============================================
   SERVICES PAGE FIXES
   ============================================ */

/* Services intro - sub-header style */
.services-page .page-intro p,
.services .section-intro > p:first-of-type {
    font-size: 1.25rem !important;
    font-weight: 900 !important;
    text-transform: uppercase !important;
    letter-spacing: -0.03em !important;
    line-height: 1.3 !important;
    border-bottom: none !important;
}

/* Remove gap and black line before first service */
.service-item:first-child,
.services-list > div:first-child {
    border-top: none !important;
    margin-top: 0 !important;
    padding-top: 0 !important;
}

/* ============================================
   CASE STUDY PAGE FIXES
   ============================================ */

/* Update navigation to full global nav */
.case-study-nav,
.case-study .main-nav {
    /* Nav will be fixed in HTML */
}

/* Sub-header style for intro text */
.case-study-intro,
.headline-intro,
.case-study-header + section p:first-of-type {
    font-size: 1.25rem !important;
    font-weight: 900 !important;
    text-transform: uppercase !important;
    letter-spacing: -0.03em !important;
    line-height: 1.3 !important;
    border-bottom: none !important;
}

/* Remove line under intro */
.case-study-content:first-of-type {
    border-top: none !important;
}

/* Quote text - HEADER STYLE (Heavy, not Thin) */
.quote-text,
blockquote p,
.case-study-quote p {
    font-size: 5rem !important;
    font-weight: 900 !important; /* Heavy, not Thin */
    text-transform: uppercase !important;
    letter-spacing: -0.05em !important;
    line-height: 0.95 !important;
}

/* Stats numbers - same header style */
.stat-number {
    font-size: 5rem !important;
    font-weight: 900 !important;
    text-transform: uppercase !important;
    letter-spacing: -0.05em !important;
    line-height: 1 !important;
}

/* Stats labels - sub-header style */
.stat-label {
    font-size: 1.25rem !important;
    font-weight: 900 !important;
    text-transform: uppercase !important;
    letter-spacing: -0.03em !important;
    line-height: 1.2 !important;
}

/* Center the concluding paragraph */
.case-study-conclusion,
.case-study-content:last-of-type .content-text {
    text-align: center !important;
    max-width: 800px !important;
    margin: 0 auto !important;
}

/* ============================================
   GLOBAL FOOTER - Contact form footer on all pages
   ============================================ */

/* Footer styling - consistent across all pages */
.site-footer,
.cta-section {
    background-color: var(--color-black) !important;
    color: var(--color-white) !important;
    padding: 3rem !important;
}

.site-footer h2,
.cta-section h2 {
    color: var(--color-white) !important;
}

.site-footer p,
.cta-section p {
    color: var(--color-white) !important;
}
/* ============================================
   FINAL OVERRIDES - ACTUALLY FIX EVERYTHING
   Last updated: Triple-checked fixes
   ============================================ */

/* ============================================
   PAGE SUBHEADER - Remove line ABOVE it
   ============================================ */

.page-subheader {
    border-top: none !important;
    border-bottom: none !important;
    padding-top: 1rem !important;
    margin-top: 0 !important;
}

/* ============================================
   PAGE INTRO - Remove gaps
   ============================================ */

.page-intro-DISABLED {
    padding-bottom: 1.5rem !important;
    margin-bottom: 0 !important;
}

.page-intro-content {
    padding-bottom: 0 !important;
}

/* ============================================
   CLIENT TABLE - Remove line above header, remove gap
   ============================================ */

.client-table-section {
    margin-top: 0 !important;
    padding-top: 0 !important;
    border-top: none !important;
}

.client-table {
    border-top: none !important;
    margin-top: 0 !important;
}

.client-table thead {
    border-top: none !important;
}

.client-table thead tr {
    border-top: none !important;
}

.client-table thead tr th {
    border-top: none !important;
}

/* ============================================
   ABOUT PAGE - Team section gap
   ============================================ */

.team-section {
    margin-top: 0 !important;
    padding-top: 1.5rem !important;
    border-top: none !important;
}

.team-grid {
    margin-top: 0 !important;
    border-top: none !important;
}

/* Remove vertical line between team members */
.member-card {
    border-right: none !important;
}

.member-card:first-child {
    border-right: none !important;
}

/* ============================================
   ABOUT PAGE - Approach section
   ============================================ */

.approach-section {
    border-top: none !important;
}

.approach-section h2 {
    border-bottom: none !important;
}

/* Sub-header in approach keeps black line below it */
.approach-content .page-subheader,
.approach-content > p:first-of-type {
    border-top: none !important;
    border-bottom: 1px solid var(--color-black) !important;
    padding-bottom: 1.5rem !important;
    margin-bottom: 2rem !important;
}

/* ============================================
   SERVICES PAGE - Sub-header style
   ============================================ */

.services-intro p:first-of-type,
.services .page-intro p:first-of-type,
.services-page .section-intro > p:first-of-type {
    font-size: 1.25rem !important;
    font-weight: 900 !important;
    text-transform: uppercase !important;
    letter-spacing: -0.03em !important;
    line-height: 1.3 !important;
    border-top: none !important;
    border-bottom: none !important;
}

/* Remove gap before first service item */
.services-list,
.service-item:first-child {
    margin-top: 1.5rem !important;
    border-top: none !important;
}

/* ============================================
   CASE STUDY PAGE - Typography fixes
   ============================================ */

/* Sub-header style for intro paragraph */
.case-study-intro,
.headline-intro {
    font-size: 1.25rem !important;
    font-weight: 900 !important;
    text-transform: uppercase !important;
    letter-spacing: -0.03em !important;
    line-height: 1.3 !important;
    border-top: none !important;
    border-bottom: none !important;
}

/* Quote text - HEAVY weight (like header), not thin */
.quote-text,
blockquote p,
.case-study-quote p,
.case-study-quote-large p {
    font-size: 4rem !important;
    font-weight: 900 !important;
    text-transform: uppercase !important;
    letter-spacing: -0.04em !important;
    line-height: 1 !important;
}

/* Stats numbers - header style */
.stat-number {
    font-size: 4rem !important;
    font-weight: 900 !important;
    text-transform: uppercase !important;
    letter-spacing: -0.04em !important;
    line-height: 1 !important;
    margin-bottom: 0.5rem !important;
}

/* Stats labels - sub-header style */
.stat-label {
    font-size: 1.25rem !important;
    font-weight: 900 !important;
    text-transform: uppercase !important;
    letter-spacing: -0.03em !important;
    line-height: 1.2 !important;
}

/* Conclusion text centered */
.case-study-conclusion .content-text,
.conclusion-text {
    text-align: center !important;
}
/* ============================================
   MASTER FIXES - This MUST override everything
   Applied to end of all CSS files
   ============================================ */

/* ============================================
   SECTION INTRO - Remove ALL lines
   ============================================ */

.section-intro h2 {
    border-bottom: none !important;
    border-top: none !important;
    padding-bottom: 1rem !important;
}

.section-intro p {
    border-bottom: none !important;
    border-top: none !important;
}

.section-intro > p:first-of-type {
    border-bottom: none !important;
    border-top: none !important;
}

/* ============================================
   PAGE INTRO - Remove ALL lines
   ============================================ */

.page-intro-DISABLED {
    border-bottom: none !important;
    margin-bottom: 1.5rem !important;
    padding-bottom: 0 !important;
}

.page-intro h1 {
    border-bottom: none !important;
    border-top: none !important;
}

.page-subheader {
    border-top: none !important;
    border-bottom: none !important;
    padding-top: 0.5rem !important;
}

/* ============================================
   CLIENT TABLE SECTION - Remove gap and line
   ============================================ */

.client-table-section {
    padding-top: 0 !important;
    margin-top: 0 !important;
    border-top: none !important;
}

.client-table {
    border-top: none !important;
}

.client-table thead {
    border-top: none !important;
}

.client-table thead tr {
    border-top: none !important;
}

.client-table thead th {
    border-top: none !important;
}

/* ============================================
   ABOUT PAGE - Team section
   ============================================ */

.team-section {
    padding-top: 1.5rem !important;
    margin-top: 0 !important;
    border-top: none !important;
}

.team-grid {
    margin-top: 0 !important;
}

/* Approach section */
.approach-section {
    padding-top: 3rem !important;
}

.approach-section h2 {
    border-bottom: none !important;
}

/* Sub-header in approach - HAS black line below */
.approach-content > p:first-of-type,
.approach-section .page-subheader {
    border-top: none !important;
    border-bottom: 1px solid var(--color-black) !important;
    padding-bottom: 1.5rem !important;
    margin-bottom: 2rem !important;
}

/* ============================================
   SERVICES PAGE - Intro sub-header style
   ============================================ */

/* Make intro paragraph sub-header style */
.services-intro > p:first-of-type,
body.services .page-intro p:first-of-type {
    font-size: 1.25rem !important;
    font-weight: 900 !important;
    text-transform: uppercase !important;
    letter-spacing: -0.03em !important;
    line-height: 1.3 !important;
    border: none !important;
}

/* Remove gap before first service */
.services-list {
    margin-top: 1.5rem !important;
}

.service-item:first-child {
    border-top: none !important;
    margin-top: 0 !important;
}

/* ============================================
   CASE STUDY PAGE TYPOGRAPHY
   ============================================ */

/* Intro text - sub-header style */
.case-study-intro,
.headline-intro,
.lead-para {
    font-size: 1.25rem !important;
    font-weight: 900 !important;
    text-transform: uppercase !important;
    letter-spacing: -0.03em !important;
    line-height: 1.3 !important;
    border: none !important;
}

/* Remove line under intro */
.case-study-content:first-of-type {
    border-top: none !important;
}

/* Quote text - HEAVY (like headline) */
.quote-text,
blockquote p,
.case-study-quote p {
    font-size: 4rem !important;
    font-weight: 900 !important;
    text-transform: uppercase !important;
    letter-spacing: -0.04em !important;
    line-height: 1 !important;
}

/* Stats numbers - headline style */
.stat-number {
    font-size: 4rem !important;
    font-weight: 900 !important;
    text-transform: uppercase !important;
    letter-spacing: -0.04em !important;
    line-height: 1 !important;
}

/* Stats labels - sub-header style */
.stat-label {
    font-size: 1.25rem !important;
    font-weight: 900 !important;
    text-transform: uppercase !important;
    letter-spacing: -0.03em !important;
}

/* Conclusion centered */
.conclusion-text {
    text-align: center !important;
}

/* ============================================
   ABOUT - GAP FIX
   ============================================ */

.page-intro + .team-section,
.team-section {
    margin-top: 0 !important;
    padding-top: 0 !important;
    border-top: none !important;
}

/* LinkedIn Profile Links */
.member-linkedin {
    margin-top: 1.5rem;
    padding-top: 1.5rem;
    border-top: 1px solid var(--color-gray);
}

.member-linkedin .arrow-link {
    font-size: 0.875rem;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: -0.02em;
}
