/* SERVICES PAGE STYLES
   Detailed service descriptions with outcomes
*/

/* ============================================
   SERVICE DETAIL SECTIONS
   ============================================ */

.service-detail {
    padding: 4rem 3rem;
    background-color: var(--color-white);
    border-bottom: 1px solid var(--color-black);
}

.service-detail:last-of-type {
    border-bottom: none;
}

.service-alt {
    background-color: var(--color-gray);
}

.service-content {
    max-width: 1200px;
    margin: 0 auto;
}

/* ============================================
   SERVICE HEADER
   ============================================ */

.service-header {
    display: grid;
    grid-template-columns: 80px 1fr auto;
    gap: 2rem;
    align-items: baseline;
    padding-top: 3rem;
    padding-bottom: 2rem;
    border-bottom: 1px solid var(--color-black);
    margin-bottom: 3rem;
}

.service-number {
    font-family: var(--font-display);
    font-size: 1.5rem;
    font-weight: 700;
    color: #666;
}

.service-header h2 {
    font-family: var(--font-headline);
    font-size: 2.5rem;
    font-weight: 300;
    margin: 0;
}

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

/* ============================================
   SERVICE BODY
   ============================================ */

.service-body {
    display: grid;
    grid-template-columns: 2fr 1fr;
    gap: 4rem;
    margin-bottom: 3rem;
}

.service-description h3 {
    font-size: 1rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    margin: 0 0 0.75rem 0;
    color: #666;
}

.service-description p {
    font-size: 1rem;
    line-height: 1.7;
    margin: 0 0 2rem 0;
}

.service-description ul {
    list-style: none;
    padding: 0;
    margin: 0 0 2rem 0;
}

.service-description li {
    font-size: 0.95rem;
    line-height: 1.6;
    margin-bottom: 0.5rem;
    padding-left: 1.5rem;
    position: relative;
}

.service-description li::before {
    content: '—';
    position: absolute;
    left: 0;
}

/* ============================================
   SERVICE OUTCOMES
   ============================================ */

.service-outcomes {
    border-left: 2px solid var(--color-black);
    padding-left: 2rem;
}

.service-outcomes h3 {
    font-size: 1rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    margin: 0 0 1.5rem 0;
    color: #666;
}

.outcome-item {
    margin-bottom: 1.5rem;
}

.outcome-item:last-child {
    margin-bottom: 0;
}

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

.outcome-item p {
    font-size: 0.875rem;
    line-height: 1.5;
    margin: 0;
    color: #666;
}

/* ============================================
   SERVICE EXAMPLE
   ============================================ */

.service-example {
    font-size: 0.875rem;
    color: #666;
    padding-top: 2rem;
    border-top: 1px solid var(--color-gray);
}

.service-alt .service-example {
    border-top-color: var(--color-black);
}

.service-example strong {
    color: var(--color-black);
}

/* ============================================
   SERVICES CTA
   ============================================ */

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

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

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

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

.services-cta .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;
}

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

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

@media (max-width: 1024px) {
    .service-body {
        gap: 3rem;
    }
}

@media (max-width: 768px) {
    .service-header {
        grid-template-columns: 1fr;
        gap: 0.5rem;
    }
    
    .service-number {
        font-size: 1rem;
    }
    
    .service-header h2 {
        font-size: 2rem;
    }
    
    .service-body {
        grid-template-columns: 1fr;
        gap: 2rem;
    }
    
    .service-outcomes {
        border-left: none;
        border-top: 2px solid var(--color-black);
        padding-left: 0;
        padding-top: 2rem;
    }
    
    .services-cta h2 {
        font-size: 2rem;
    }
}

@media (max-width: 480px) {
    .service-detail {
        padding: 3rem 1.5rem;
    }
    
    .services-cta {
        padding: 3rem 1.5rem;
    }
}

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

/* Page intro - Heavy all caps */
.page-intro h1 {
    font-weight: 900;
    font-size: 2.5rem; /* Smaller */
    text-transform: uppercase;
    letter-spacing: -0.03em;
}

.page-intro p {
    font-weight: 350; /* Book */
    letter-spacing: -0.01em;
}

/* Service headers - Heavy all caps smaller */
.service-header h2 {
    font-weight: 900;
    font-size: 1.75rem; /* Smaller */
    text-transform: uppercase;
    letter-spacing: -0.03em;
}

.service-number {
    font-weight: 900;
}

.service-duration {
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: -0.02em;
}

/* Service content - Book */
.service-description p,
.service-description li {
    font-weight: 350;
    letter-spacing: -0.01em;
}

/* Service headings within - Heavy all caps */
.service-description h3,
.service-outcomes h3 {
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: -0.02em;
}

/* Outcome items - Heavy labels */
.outcome-item strong {
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: -0.02em;
}

.outcome-item p {
    font-weight: 350;
    letter-spacing: -0.01em;
}

/* CTA - Heavy all caps */
.services-cta h2 {
    font-weight: 900;
    font-size: 2.5rem;
    text-transform: uppercase;
    letter-spacing: -0.03em;
}

.services-cta p {
    font-weight: 350;
    letter-spacing: -0.01em;
}

.services-cta .cta-button {
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: -0.02em;
}

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

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

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

/* Service headers - match section headers */
.service-header h2 {
    font-size: 3.5rem; /* 56px */
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: -0.05em;
    line-height: 0.95;
}

/* Service content - 11px body */
.service-description p,
.service-description li {
    font-size: 0.6875rem; /* 11px */
    font-weight: 400;
    letter-spacing: -0.02em;
    line-height: 1.5;
}

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

/* CTA */
.services-cta h2 {
    font-size: 3.5rem; /* 56px */
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: -0.05em;
}

.services-cta p {
    font-size: 0.6875rem; /* 11px */
    font-weight: 400;
    letter-spacing: -0.02em;
    line-height: 1.5;
}
/* ============================================
   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;
}

/* ============================================
   SERVICES PAGE - RECENT WORK FIXES
   ============================================ */

/* Recent work - all same size, tighter spacing */
.service-recent,
.recent-work,
.service-item .recent {
    font-size: 0.6875rem !important; /* 11px - same as body */
    font-weight: 400 !important;
    margin-top: 0.75rem !important; /* Tighter */
    padding-top: 0.75rem !important;
    border-top: 1px solid var(--color-gray);
}

.service-recent strong,
.recent-work strong {
    font-size: 0.6875rem !important; /* Same size as text after it */
    font-weight: 900 !important;
    text-transform: uppercase !important;
}

/* Service intro - sub-header style */
.services-section .section-intro > p:first-of-type,
.services-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;
}
/* ============================================
   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;
}

/* ============================================
   SERVICES - GAP FIX
   ============================================ */

.page-intro + .service-detail,
.service-detail:first-of-type {
    margin-top: 0 !important;
    padding-top: 0 !important;
    border-top: none !important;
}
