/*
 Theme Name:   True Signal Media
 Theme URI:    https://truesignalmedia.news
 Description:  Professional investigative journalism child theme for Genesis Framework
 Author:       True Signal Media
 Author URI:   https://truesignalmedia.news
 Template:     genesis
 Version:      1.5
 Text Domain:  tsm-child
*/

/* ============================================================================
   TRUE SIGNAL MEDIA - COLOR SYSTEM
   ============================================================================
   
   CSS custom properties for consistent theming across templates
   Each content type defines its own usage of these colors
   
============================================================================ */

:root {
    /* ========== MAIN SITE - MIDNIGHT BLUE ========== */
    --tsm-midnight-100: #e0e0ef;
    --tsm-midnight-200: #b7b7d9;
    --tsm-midnight-300: #8f8fc4;
    --tsm-midnight-400: #6868ac;
    --tsm-midnight-500: #44448e;
    --tsm-midnight-600: #272757;
    --tsm-midnight-700: #0e0e27;
    --tsm-midnight-primary: #272757;
    --tsm-midnight-text: #e0e0ef;
    
    /* ========== CYAN - ACCENTS ========== */
    --tsm-cyan-100: #80fcfc;
    --tsm-cyan-200: #49d4d4;
    --tsm-cyan-300: #39aaaa;
    --tsm-cyan-400: #298282;
    --tsm-cyan-500: #1b5c5c;
    --tsm-cyan-600: #0d3838;
    --tsm-cyan-700: #031818;
    --tsm-cyan-primary: #298282;
    --tsm-cyan-bright: #49d4d4;
    
    /* ========== INVESTIGATIONS - COBALT BLUE ========== */
    --tsm-investigations-100: #e1e7ff;
    --tsm-investigations-200: #aabeff;
    --tsm-investigations-300: #6996ff;
    --tsm-investigations-400: #0070ed;
    --tsm-investigations-500: #004eaa;
    --tsm-investigations-600: #002f6c;
    --tsm-investigations-700: #001233;
    --tsm-investigations-primary: #0070ed;
    --tsm-investigations-bg: #e1e7ff;
    --tsm-investigations-border: #6996ff;
    
    /* ========== DAILY BRIEFS - FOREST GREEN ========== */
    --tsm-daily-briefs-100: #d5fadd;
    --tsm-daily-briefs-200: #81e59d;
    --tsm-daily-briefs-300: #68ba7f;
    --tsm-daily-briefs-400: #509162;
    --tsm-daily-briefs-500: #396a47;
    --tsm-daily-briefs-600: #23452d;
    --tsm-daily-briefs-700: #0f2415;
    --tsm-daily-briefs-primary: #509162;
    --tsm-daily-briefs-bg: #d5fadd;
    --tsm-daily-briefs-border: #68ba7f;
    
    /* ========== SIGNAL DISPATCH - ROYAL PURPLE ========== */
    --tsm-signal-dispatch-100: #e0d5f3;
    --tsm-signal-dispatch-200: #c0a7e6;
    --tsm-signal-dispatch-300: #a379d9;
    --tsm-signal-dispatch-400: #864ac5;
    --tsm-signal-dispatch-500: #5c3188;
    --tsm-signal-dispatch-600: #341950;
    --tsm-signal-dispatch-700: #190929;
    --tsm-signal-dispatch-primary: #864ac5;
    --tsm-signal-dispatch-bg: #e0d5f3;
    --tsm-signal-dispatch-border: #a379d9;
    
    /* ========== UTILITY COLORS ========== */
    --tsm-white: #ffffff;
    --tsm-light-gray: #F2F2F2;
    --tsm-medium-gray: #555B63;
    --tsm-dark-gray: #3E4A56;
    --tsm-black: #000000;
    --tsm-navy: #14213D;
    --tsm-gold: #D4943A;
    --tsm-blue-bright: #00B4D8;

    /*========== BURNT ORANGE ========*/
    --tsm-burnt-orange-100: #ffded7;  /* Lightest */
    --tsm-burnt-orange-200: #ffa78f;  /* Light */
    --tsm-burnt-orange-300: #f86c05;  /* Medium-light */
    --tsm-burnt-orange-400: #be5103;  /* Medium -Primary */ 
    --tsm-burnt-orange-500: #873701;  /* Medium-Dark */
    --tsm-burnt-orange-600: #531f01;  /* Dark - Pressed */
    --tsm-burnt-orange-700: #240900;  /* Darkest - Shadows */  
}

/* ============================================================================
   BASE TYPOGRAPHY - NO COLORS, JUST STRUCTURE
============================================================================ */

body {
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
    background: var(--tsm-light-gray);
    line-height: 1.6;
}

h1, h2, h3, h4, h5, h6 {
    font-family: 'Poppins', sans-serif;
    font-weight: 700;
    line-height: 1.2;
    /* NO COLOR - Let templates define their own */
}

h1 { font-size: 2.5em; }
h2 { font-size: 2em; }
h3 { font-size: 1.75em; }
h4 { font-size: 1.5em; }
h5 { font-size: 1.25em; }
h6 { font-size: 1.1em; }

/* ============================================================================
   LAYOUT CONTAINERS
============================================================================ */

.tsm-container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 20px;
}

.tsm-container-wide {
    max-width: 1400px;
    margin: 0 auto;
    padding: 0 20px;
}

/* ============================================================================
   CATEGORY CARDS - Basic structure only
============================================================================ */

.tsm-card-investigations {
    position: relative;
    background: var(--tsm-investigations-bg);
    border: 2px solid var(--tsm-investigations-border);
    border-radius: 8px;
    padding: 20px;
    overflow: hidden;
}

.tsm-card-daily-briefs {
    position: relative;
    background: var(--tsm-daily-briefs-bg);
    border: 2px solid var(--tsm-daily-briefs-border);
    border-radius: 8px;
    padding: 20px;
    overflow: hidden;
}

.tsm-card-signal-dispatch {
    position: relative;
    background: var(--tsm-signal-dispatch-bg);
    border: 2px solid var(--tsm-signal-dispatch-border);
    border-radius: 8px;
    padding: 20px;
    overflow: hidden;
}

/* ============================================================================
   BUTTONS - Generic structure
============================================================================ */

.tsm-button {
    display: inline-block;
    padding: 12px 24px;
    border-radius: 6px;
    font-weight: 600;
    text-decoration: none;
    transition: all 0.3s ease;
    cursor: pointer;
    border: none;
    font-family: 'Inter', sans-serif;
}

/* ============================================================================
   NAVIGATION & HEADER
============================================================================ */

.tsm-site-header {
    background: var(--tsm-navy);
    padding: 20px 0;
}

.tsm-nav-primary {
    background: var(--tsm-blue-bright);
}

.tsm-nav-primary a {
    color: var(--tsm-navy);
    text-decoration: none;
    padding: 12px 20px;
    display: inline-block;
    font-weight: 500;
    transition: background 0.3s ease;
}

.tsm-nav-primary a:hover {
    background: rgba(20, 33, 61, 0.1);
}

/* ============================================================================
   FOOTER
============================================================================ */

.site-footer {
    background: var(--tsm-black);
    color: var(--tsm-light-gray);
    padding: 60px 0 40px;
}

/* TSM Custom Footer */
.tsm-custom-footer {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 20px;
}

.tsm-footer-logo {
    text-align: center;
    margin-bottom: 40px;
}

.tsm-footer-logo img {
    height: 150px;
    width: auto;
}

.tsm-footer-columns {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    gap: 40px;
    margin-bottom: 40px;
}

.tsm-footer-column {
    flex: 1;
    min-width: 220px;
}

.tsm-footer-heading {
    font-family: 'Poppins', sans-serif;
    font-weight: 700;
    font-size: 0.95rem;
    letter-spacing: 0.6px;
    text-transform: uppercase;
    color: var(--tsm-white);
    margin-bottom: 15px;
}

.tsm-footer-tagline {
    font-size: 0.8rem;
    color: rgba(255, 255, 255, 0.55);
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.tsm-footer-column ul {
    list-style: none;
    padding: 0;
    margin: 0;
    line-height: 1.8;
}

.tsm-footer-column ul li {
    margin-bottom: 8px;
}

.tsm-footer-column a {
    color: var(--tsm-light-gray);
    text-decoration: none;
    text-transform: uppercase;
    font-size: 0.85rem;
    letter-spacing: 0.5px;
    transition: color 0.3s ease;
}

.tsm-footer-column a:hover {
    color: var(--tsm-blue-bright);
}

.tsm-footer-mission {
    margin-top: 36px;
    padding: 30px 0;
    border-top: 1px solid var(--tsm-blue-bright);
    border-bottom: 1px solid var(--tsm-blue-bright);
    font-family: 'Georgia', 'Times New Roman', serif;
    font-size: 1.05rem;
    line-height: 1.55;
    color: var(--tsm-blue-bright);
    font-weight: 500;
    font-style: italic;
    text-align: center;
    max-width: 680px;
    margin-left: auto;
    margin-right: auto;
}

.tsm-footer-copyright {
    margin-top: 25px;
    text-align: center;
    font-size: 0.8rem;
    color: #777;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

/* Responsive - Tablet */
@media (max-width: 992px) {
    .tsm-footer-columns {
        gap: 30px;
    }
}

/* Responsive - Mobile */
@media (max-width: 600px) {
    .site-footer {
        padding: 40px 0 30px;
    }
    
    .tsm-footer-logo {
        margin-bottom: 30px;
    }
    
    .tsm-footer-logo img {
        height: 120px;
    }
    
    .tsm-footer-columns {
        flex-direction: column;
        gap: 25px;
    }
    
    .tsm-footer-mission {
        padding: 20px 0;
        font-size: 0.95rem;
    }
}

/* Footer Widgets - 3 Column Layout */
.footer-widgets {
    background: var(--tsm-black);
    padding: 60px 0 40px;
    clear: both;
}

.footer-widgets .wrap {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 40px;
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 20px;
}

/* Override Genesis default floats */
.footer-widgets .footer-widget-1,
.footer-widgets .footer-widget-2,
.footer-widgets .footer-widget-3 {
    width: auto;
    float: none;
    margin: 0;
    padding: 0;
}

.footer-widgets .widget {
    margin-bottom: 0;
}

.footer-widgets .widget-title {
    color: var(--tsm-white);
    font-family: 'Poppins', sans-serif;
    font-size: 1.2rem;
    font-weight: 700;
    margin-bottom: 20px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.footer-widgets .widget ul {
    list-style: none;
    padding: 0;
    margin: 0;
}

.footer-widgets .widget li {
    margin-bottom: 12px;
    padding-left: 0;
}

.footer-widgets .widget a {
    color: var(--tsm-light-gray);
    text-decoration: none;
    transition: color 0.3s ease;
}

.footer-widgets .widget a:hover {
    color: var(--tsm-blue-bright);
}

.footer-widgets .widget p {
    color: var(--tsm-light-gray);
    line-height: 1.6;
}

/* Responsive Footer Widgets */
@media (max-width: 992px) {
    .footer-widgets .wrap {
        grid-template-columns: repeat(2, 1fr);
    }
    
    .footer-widgets .footer-widget-3 {
        grid-column: 1 / -1;
    }
}

@media (max-width: 600px) {
    .footer-widgets .wrap {
        grid-template-columns: 1fr;
        gap: 30px;
    }
    
    .footer-widgets {
        padding: 40px 0 30px;
    }
}

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

@media (max-width: 768px) {
    h1 { font-size: 2em; }
    h2 { font-size: 1.75em; }
    h3 { font-size: 1.5em; }
    
    .tsm-container,
    .tsm-container-wide {
        padding: 0 15px;
    }
}

/* ============================================================================
   WORDPRESS CORE ALIGNMENT
============================================================================ */

.alignleft {
    float: left;
    margin: 0 20px 20px 0;
}

.alignright {
    float: right;
    margin: 0 0 20px 20px;
}

.aligncenter {
    display: block;
    margin-left: auto;
    margin-right: auto;
}

/* ============================================
   TSM CUSTOM HEADER SYSTEM
   ============================================ */

/* Color Variables */
:root {
    --tsm-midnight: #272757;
    --tsm-midnight-dark: #1a1a3a;
    --tsm-cyan: #00B4D8;
    --tsm-burnt-orange: #E76F51;
    --tsm-frame-cyan: #39aaaa;
    --tsm-light-gray: #F2F2F2;
    --tsm-white: #ffffff;
}

/* ============================================
   UTILITY BAR
   ============================================ */
.tsm-utility-bar {
    background: var(--tsm-midnight-dark);
    padding: 8px 0;
    font-size: 14px;
    border-bottom: 1px solid rgba(0, 180, 216, 0.2);
}

.tsm-utility-bar .tsm-container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 20px;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.utility-left,
.utility-right {
    display: flex;
    align-items: center;
    gap: 20px;
}

.tsm-utility-bar a {
    color: var(--tsm-white);
    text-decoration: none;
    transition: color 0.3s ease;
    display: flex;
    align-items: center;
}

.tsm-utility-bar a:hover {
    color: var(--tsm-cyan);
}

.tsm-utility-bar svg {
    width: 16px;
    height: 16px;
}

.founding-members-link {
    font-weight: 600;
    color: var(--tsm-cyan);
}

/* ============================================
   LOGO SECTION
   ============================================ */
.tsm-logo-section {
    background: var(--tsm-midnight);
    padding: 10px 0;
    text-align: center;
}

.tsm-logo-section .tsm-container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 10px;
}

.tsm-logo-link {
    display: inline-block;
    margin-bottom: 12px;
}

.tsm-logo {
    height: 150px;
    width: auto;
    display: block;
}

.tsm-tagline {
    color: var(--tsm-light-gray);
    font-size: 16px;
    font-weight: 300;
    margin: 10;
    letter-spacing: 0.5px;
}

/* ============================================
   NAVIGATION
   ============================================ */
.tsm-nav {
    background: var(--tsm-midnight);
    border-top: 3px solid var(--tsm-frame-cyan);
    position: relative;
    z-index: 999;
}

.tsm-nav .tsm-container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 20px;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.tsm-mobile-toggle {
    display: none;
    flex-direction: column;
    background: none;
    border: none;
    cursor: pointer;
    padding: 10px;
}

.tsm-mobile-toggle span {
    width: 25px;
    height: 3px;
    background: var(--tsm-white);
    margin: 3px 0;
    transition: 0.3s;
}

.tsm-nav-menu {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    gap: 30px;
    align-items: center;
}

.tsm-nav-menu li {
    margin: 0;
    padding: 0;
}

.tsm-nav-menu a {
    color: var(--tsm-white);
    text-decoration: none;
    font-size: 15px;
    font-weight: 500;
    padding: 20px 0;
    display: block;
    transition: color 0.3s ease;
}

.tsm-nav-menu a:hover,
.tsm-nav-menu .current-menu-item a {
    color: var(--tsm-cyan);
}

/* Submit a Tip Button */
.tsm-cta-button {
    background: var(--tsm-burnt-orange);
    color: var(--tsm-white);
    padding: 12px 24px;
    border-radius: 4px;
    font-weight: 600;
    text-decoration: none;
    font-size: 14px;
    transition: all 0.3s ease;
    display: inline-block;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.tsm-cta-button:hover {
    background: #d96b4d;
    transform: translateY(-2px);
    box-shadow: 0 4px 8px rgba(231, 111, 81, 0.3);
}

/* ============================================
   MOBILE RESPONSIVE
   ============================================ */
@media (max-width: 1024px) {
    .tsm-nav-menu {
        gap: 20px;
    }
    
    .tsm-nav-menu a {
        font-size: 14px;
    }
}

@media (max-width: 768px) {
    /* Utility Bar Mobile */
    .utility-left {
        gap: 15px;
    }
    
    .utility-right {
    display: flex;
    width: 100%;
    justify-content: center;
    margin-top: 8px;
}

.support-link {
    font-size: 14px;
    padding: 6px 16px;
}

.allies-link {
    font-size: 14px;
    padding: 6px 16px;
}
    
    /* Logo Section Mobile */
    .tsm-logo {
        height: 50px;
    }
    
    .tsm-tagline {
        font-size: 14px;
    }
    
    /* Navigation Mobile */
    .tsm-mobile-toggle {
        display: flex;
    }
    
    .tsm-nav .tsm-container {
        flex-wrap: wrap;
    }
    
    .tsm-nav-menu {
        display: none;
        width: 100%;
        flex-direction: column;
        gap: 0;
        margin-top: 15px;
    }
    
    .tsm-nav-menu.active {
        display: flex;
    }
    
    .tsm-nav-menu li {
        width: 100%;
        border-top: 1px solid rgba(255, 255, 255, 0.1);
    }
    
    .tsm-nav-menu a {
        padding: 15px 0;
    }
    
    .tsm-cta-button {
        width: 100%;
        text-align: center;
        margin-top: 15px;
        margin-bottom: 15px;
    }
}

/* ============================================
   STICKY HEADER (Optional)
   ============================================ */
.tsm-nav.sticky {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.3);
    animation: slideDown 0.3s ease;
}

@keyframes slideDown {
    from {
        transform: translateY(-100%);
    }
    to {
        transform: translateY(0);
    }
}

/* ============================================
   TSM HOME PAGE STYLES
   ============================================ */

/* Hero Section */
.tsm-hero {
    background: linear-gradient(135deg, var(--tsm-midnight) 0%, #1a1a3a 100%);
    padding: 20px 0;
    margin-bottom: 60px;
}

.hero-content {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 60px;
    align-items: center;
}

.hero-image img {
    width: 100%;
    height: auto;
    border-radius: 8px;
    box-shadow: 0 10px 40px rgba(0, 0, 0, 0.3);
}

.hero-label {
    color: var(--tsm-cyan);
    font-size: 14px;
    font-weight: 700;
    letter-spacing: 1.5px;
    text-transform: uppercase;
    display: block;
    margin-bottom: 20px;
}

.hero-title {
    color: var(--tsm-white);
    font-size: 48px;
    font-weight: 700;
    line-height: 1.2;
    margin: 0 0 20px 0;
}

.hero-excerpt {
    color: var(--tsm-light-gray);
    font-size: 18px;
    line-height: 1.6;
    margin-bottom: 30px;
}

.hero-button {
    display: inline-block;
    background: var(--tsm-cyan);
    color: var(--tsm-white);
    padding: 15px 35px;
    border-radius: 4px;
    font-weight: 600;
    text-decoration: none;
    font-size: 16px;
    transition: all 0.3s ease;
}

.hero-button:hover {
    background: #0099bb;
    transform: translateY(-2px);
    box-shadow: 0 6px 20px rgba(0, 180, 216, 0.4);
}

/* Three Vertical Cards */
.tsm-verticals {
    padding: 60px 0;
    background: var(--tsm-light-gray);
}

.vertical-cards {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 40px;
}

.vertical-card {
    background: white;
    padding: 40px 30px;
    border-radius: 8px;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.1);
    transition: transform 0.3s ease, box-shadow 0.3s ease;
    border-top: 4px solid;
    position: relative;
}

.vertical-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 8px 30px rgba(0, 0, 0, 0.15);
}

.investigations-card {
    border-top-color: #002f6c;
}

.briefs-card {
    border-top-color: #396a47;
}

.dispatch-card {
    border-top-color: #5c3188;
}

.card-icon {
    margin-bottom: 20px;
}

.investigations-card .card-icon {
    color: #002f6c;
}

.briefs-card .card-icon {
    color: #396a47;
}

.dispatch-card .card-icon {
    color: #5c3188;
}

.vertical-card h2 {
    font-size: 28px;
    margin: 0 0 15px 0;
    color: var(--tsm-midnight);
}

.vertical-card p {
    color: #555;
    line-height: 1.7;
    margin-bottom: 20px;
}

.card-latest {
    background: #f8f9fa;
    padding: 15px;
    border-radius: 4px;
    margin-bottom: 20px;
    border-left: 3px solid;
}

.investigations-card .card-latest {
    border-left-color: #002f6c;
}

.briefs-card .card-latest {
    border-left-color: #396a47;
}

.dispatch-card .card-latest {
    border-left-color: #5c3188;
}

.latest-label {
    font-size: 12px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 1px;
    display: block;
    margin-bottom: 8px;
    color: #888;
}

.card-latest a {
    color: var(--tsm-midnight);
    text-decoration: none;
    font-weight: 600;
    font-size: 15px;
    line-height: 1.4;
}

.card-latest a:hover {
    color: var(--tsm-cyan);
}

.card-button {
    display: inline-block;
    padding: 12px 25px;
    border-radius: 4px;
    font-weight: 600;
    text-decoration: none;
    font-size: 14px;
    transition: all 0.3s ease;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.investigations-card .card-button {
    background: #002f6c;
    color: white;
}

.investigations-card .card-button:hover {
    background: #004080;
}

.briefs-card .card-button {
    background: #396a47;
    color: white;
}

.briefs-card .card-button:hover {
    background: #4a8059;
}

.dispatch-card .card-button {
    background: #5c3188;
    color: white;
}

.dispatch-card .card-button:hover {
    background: #6d3d99;
}

/* Latest Content Grid */
.tsm-latest-content {
    padding: 80px 0;
}

.section-title {
    font-size: 36px;
    font-weight: 700;
    color: var(--tsm-midnight);
    text-align: center;
    margin-bottom: 50px;
}

.content-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 40px;
}

.content-card {
    background: white;
    border-radius: 8px;
    overflow: hidden;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1);
    transition: transform 0.3s ease, box-shadow 0.3s ease;
    border-top: 3px solid;
}

.content-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 8px 25px rgba(0, 0, 0, 0.15);
}

.investigations-accent {
    border-top-color: #002f6c;
}

.briefs-accent {
    border-top-color: #396a47;
}

.dispatch-accent {
    border-top-color: #5c3188;
}

.card-image img {
    width: 100%;
    height: 220px;
    object-fit: cover;
}

.card-content {
    padding: 25px;
}

.content-type-label {
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 1.2px;
    padding: 4px 10px;
    border-radius: 3px;
    display: inline-block;
    margin-bottom: 12px;
}

.investigations-accent .content-type-label {
    background: rgba(0, 47, 108, 0.1);
    color: #002f6c;
}

.briefs-accent .content-type-label {
    background: rgba(57, 106, 71, 0.1);
    color: #396a47;
}

.dispatch-accent .content-type-label {
    background: rgba(92, 49, 136, 0.1);
    color: #5c3188;
}

.card-content h3 {
    font-size: 20px;
    line-height: 1.4;
    margin: 0 0 12px 0;
}

.card-content h3 a {
    color: var(--tsm-midnight);
    text-decoration: none;
    transition: color 0.3s ease;
}

.card-content h3 a:hover {
    color: var(--tsm-cyan);
}

.card-excerpt {
    color: #666;
    font-size: 14px;
    line-height: 1.6;
    margin-bottom: 15px;
}

.card-meta {
    display: flex;
    justify-content: space-between;
    font-size: 12px;
    color: #999;
    border-top: 1px solid #eee;
    padding-top: 12px;
}

/* Mission Statement */
.tsm-mission {
    background: var(--tsm-midnight);
    padding: 80px 0;
    text-align: center;
}

.mission-content {
    max-width: 800px;
    margin: 0 auto;
}

.mission-content h2 {
    color: var(--tsm-cyan);
    font-size: 36px;
    margin-bottom: 30px;
}

.mission-text {
    color: var(--tsm-light-gray);
    font-size: 18px;
    line-height: 1.8;
    margin-bottom: 20px;
}

.mission-tagline {
    color: var(--tsm-cyan);
    font-size: 24px;
    font-weight: 600;
    margin: 30px 0;
    font-style: italic;
}

.mission-button {
    display: inline-block;
    background: transparent;
    border: 2px solid var(--tsm-cyan);
    color: var(--tsm-cyan);
    padding: 15px 35px;
    border-radius: 4px;
    font-weight: 600;
    text-decoration: none;
    font-size: 16px;
    transition: all 0.3s ease;
}

.mission-button:hover {
    background: var(--tsm-cyan);
    color: var(--tsm-midnight);
}

/* Current Projects */
.tsm-projects {
    padding: 80px 0;
    background: var(--tsm-light-gray);
}

.projects-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 40px;
    margin-top: 50px;
}

.project-card {
    background: white;
    padding: 35px;
    border-radius: 8px;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1);
    border-left: 4px solid var(--tsm-burnt-orange);
}

.project-card h3 {
    color: var(--tsm-midnight);
    font-size: 22px;
    margin: 0 0 15px 0;
}

.project-card p {
    color: #555;
    line-height: 1.7;
    margin-bottom: 20px;
}

.project-link {
    color: var(--tsm-burnt-orange);
    font-weight: 600;
    text-decoration: none;
    transition: color 0.3s ease;
}

.project-link:hover {
    color: #d96b4d;
}

/* Newsletter Signup */
.tsm-newsletter {
    background: linear-gradient(135deg, #002f6c 0%, var(--tsm-midnight) 100%);
    padding: 80px 0;
}

.newsletter-content {
    max-width: 600px;
    margin: 0 auto;
    text-align: center;
}

.newsletter-content h2 {
    color: var(--tsm-white);
    font-size: 36px;
    margin-bottom: 15px;
}

.newsletter-content > p {
    color: var(--tsm-light-gray);
    font-size: 18px;
    margin-bottom: 30px;
}

.newsletter-form {
    display: flex;
    gap: 15px;
    margin-bottom: 15px;
}

.newsletter-form input[type="email"] {
    flex: 1;
    padding: 15px 20px;
    border: none;
    border-radius: 4px;
    font-size: 16px;
}

.newsletter-button {
    background: var(--tsm-burnt-orange);
    color: white;
    padding: 15px 35px;
    border: none;
    border-radius: 4px;
    font-weight: 600;
    font-size: 16px;
    cursor: pointer;
    transition: all 0.3s ease;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.newsletter-button:hover {
    background: #d96b4d;
    transform: translateY(-2px);
}

.newsletter-note {
    color: rgba(255, 255, 255, 0.7);
    font-size: 13px;
    margin: 0;
}

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

@media (max-width: 1024px) {
    .vertical-cards,
    .content-grid,
    .projects-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 768px) {
    .hero-content {
        grid-template-columns: 1fr;
        gap: 40px;
    }
    
    .hero-title {
        font-size: 36px;
    }
    
    .hero-excerpt {
        font-size: 16px;
    }
    
    .vertical-cards,
    .content-grid,
    .projects-grid {
        grid-template-columns: 1fr;
        gap: 30px;
    }
    
    .section-title {
        font-size: 28px;
    }
    
    .tsm-hero,
    .tsm-verticals,
    .tsm-latest-content,
    .tsm-mission,
    .tsm-projects,
    .tsm-newsletter {
        padding: 50px 0;
    }
    
    .newsletter-form {
        flex-direction: column;
    }
    
    .newsletter-button {
        width: 100%;
    }
}

/* ============================================
   TSM ABOUT PAGE STYLES
   ============================================ */

.tsm-about-wrapper {
    background: #ffffff;
}

.tsm-about-container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 20px;
}

/* Hero Section */
.tsm-about-hero {
    background: linear-gradient(135deg, var(--tsm-midnight) 0%, #1a1a3a 100%);
    padding: 80px 0;
    text-align: center;
}

.about-hero-content h1 {
    color: var(--tsm-white);
    font-size: 48px;
    font-weight: 700;
    margin: 0 0 15px 0;
}

.hero-subtitle {
    color: var(--tsm-cyan);
    font-size: 18px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 2px;
    margin: 0 0 30px 0;
}

.hero-text {
    color: var(--tsm-light-gray);
    font-size: 20px;
    line-height: 1.7;
    max-width: 900px;
    margin: 0 auto;
}

/* Section Titles */
.section-title {
    font-size: 36px;
    font-weight: 700;
    color: var(--tsm-midnight);
    text-align: center;
    margin-bottom: 20px;
}

.section-intro {
    text-align: center;
    font-size: 18px;
    color: #555;
    max-width: 800px;
    margin: 0 auto 50px auto;
    line-height: 1.7;
}

/* TSM Story Section */
.tsm-story {
    padding: 80px 0;
}

.story-content {
    display: grid;
    grid-template-columns: 2fr 1fr;
    gap: 60px;
    margin-top: 40px;
}

.story-text h3 {
    color: var(--tsm-midnight);
    font-size: 28px;
    margin-bottom: 20px;
}

.story-text p {
    color: #444;
    font-size: 17px;
    line-height: 1.8;
    margin-bottom: 20px;
}

.story-text strong {
    color: var(--tsm-cyan);
}

/* Timeline */
.story-timeline {
    background: #f8f9fa;
    padding: 30px;
    border-radius: 6px;
    border-left: 4px solid var(--tsm-cyan);
}

.timeline-item {
    position: relative;
    padding-left: 30px;
    margin-bottom: 30px;
}

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

.timeline-marker {
    position: absolute;
    left: 0;
    top: 5px;
    width: 12px;
    height: 12px;
    background: var(--tsm-midnight);
    border-radius: 50%;
}

.timeline-marker.active {
    background: var(--tsm-cyan);
    box-shadow: 0 0 0 4px rgba(0, 180, 216, 0.2);
}

.timeline-item h4 {
    color: var(--tsm-cyan);
    font-size: 16px;
    font-weight: 700;
    margin: 0 0 8px 0;
}

.timeline-item p {
    color: #666;
    font-size: 14px;
    line-height: 1.6;
    margin: 0;
}

/* Fieldwork Philosophy */
.tsm-fieldwork {
    padding: 80px 0;
    background: var(--tsm-light-gray);
}

.fieldwork-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 30px;
    margin-top: 50px;
}

.fieldwork-card {
    background: white;
    padding: 35px;
    border-radius: 6px;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.08);
    text-align: center;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.fieldwork-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 8px 25px rgba(0, 0, 0, 0.12);
}

.fieldwork-icon {
    color: var(--tsm-cyan);
    margin-bottom: 20px;
}

.fieldwork-card h3 {
    color: var(--tsm-midnight);
    font-size: 20px;
    margin: 0 0 15px 0;
}

.fieldwork-card p {
    color: #666;
    font-size: 15px;
    line-height: 1.6;
    margin: 0;
}

/* Team Preview */
.tsm-team-preview {
    padding: 80px 0;
}

.team-preview-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 30px;
    margin-top: 40px;
}

.team-preview-card {
    background: #f8f9fa;
    padding: 30px;
    border-radius: 6px;
    border-top: 3px solid var(--tsm-cyan);
}

.team-preview-card h3 {
    color: var(--tsm-midnight);
    font-size: 22px;
    margin: 0 0 8px 0;
}

.team-role {
    color: #3c0063 !important;
    font-size: 14px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 1px;
    margin: 0 0 15px 0;
}

.team-preview-card p {
    color: #666;
    font-size: 15px;
    line-height: 1.6;
    margin: 0;
}

.team-cta {
    text-align: center;
    margin-top: 40px;
}

.team-button {
    display: inline-block;
    background: var(--tsm-midnight);
    color: white;
    padding: 15px 35px;
    border-radius: 4px;
    font-weight: 600;
    text-decoration: none;
    font-size: 16px;
    transition: all 0.3s ease;
}

.team-button:hover {
    background: #1a1a3a;
    transform: translateY(-2px);
}

/* Editorial Standards */
.tsm-standards {
    padding: 80px 0;
    background: var(--tsm-midnight);
}

.tsm-standards .section-title {
    color: var(--tsm-cyan);
}

.standards-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 30px;
    margin-top: 50px;
}

.standard-card {
    background: rgba(255, 255, 255, 0.05);
    padding: 35px;
    border-radius: 6px;
    border-left: 4px solid var(--tsm-cyan);
}

.standard-card h3 {
    color: var(--tsm-cyan);
    font-size: 22px;
    margin: 0 0 15px 0;
}

.standard-card p {
    color: var(--tsm-light-gray);
    font-size: 16px;
    line-height: 1.7;
    margin: 0;
}

/* Contact & Support CTA */
.tsm-about-cta {
    padding: 80px 0;
    background: linear-gradient(135deg, #002f6c 0%, var(--tsm-midnight) 100%);
}

.cta-content {
    text-align: center;
    max-width: 800px;
    margin: 0 auto;
}

.cta-content h2 {
    color: var(--tsm-white);
    font-size: 38px;
    margin-bottom: 20px;
}

.cta-content p {
    color: var(--tsm-light-gray);
    font-size: 18px;
    line-height: 1.7;
    margin-bottom: 40px;
}

.cta-buttons {
    display: flex;
    gap: 20px;
    justify-content: center;
    flex-wrap: wrap;
}

.cta-button {
    display: inline-block;
    padding: 15px 35px;
    border-radius: 4px;
    font-weight: 600;
    text-decoration: none;
    font-size: 16px;
    transition: all 0.3s ease;
}

.cta-button.primary {
    background: var(--tsm-burnt-orange);
    color: white;
}

.cta-button.primary:hover {
    background: #d96b4d;
    transform: translateY(-2px);
}

.cta-button.secondary {
    background: transparent;
    border: 2px solid var(--tsm-cyan);
    color: var(--tsm-cyan);
}

.cta-button.secondary:hover {
    background: var(--tsm-cyan);
    color: var(--tsm-midnight);
}

/* Content Frame (reuse from home page) */
.tsm-about-wrapper .tsm-content-frame {
    border: 4px solid var(--tsm-midnight);
    border-radius: 6px;
    padding: 50px;
    position: relative;
    background: white;
}

.tsm-about-wrapper .tsm-content-frame::before {
    content: '';
    position: absolute;
    top: 8px;
    left: 8px;
    right: 8px;
    bottom: 8px;
    border: 3px solid var(--tsm-frame-cyan);
    border-radius: 2px;
    pointer-events: none;
}

.tsm-content-frame > * {
    position: relative;
    z-index: 1;
}

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

@media (max-width: 1024px) {
    .story-content {
        grid-template-columns: 1fr;
    }
    
    .fieldwork-grid,
    .team-preview-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 768px) {
    .about-hero-content h1 {
        font-size: 36px;
    }
    
    .hero-text {
        font-size: 17px;
    }
    
    .section-title {
        font-size: 28px;
    }
    
    .fieldwork-grid,
    .team-preview-grid,
    .standards-grid {
        grid-template-columns: 1fr;
    }
    
    .cta-buttons {
        flex-direction: column;
        align-items: stretch;
    }
    
    .cta-button {
        text-align: center;
    }
    
    .tsm-about-hero,
    .tsm-story,
    .tsm-fieldwork,
    .tsm-team-preview,
    .tsm-standards,
    .tsm-about-cta {
        padding: 50px 0;
    }
    
    .tsm-content-frame {
        padding: 30px 20px;
    }
}

/* ============================================
   TSM FOIA TOOLS PAGE STYLES
   ============================================ */

.tsm-foia-wrapper {
    background: #ffffff;
}

.tsm-foia-container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 20px;
}

/* Hero Section */
.tsm-foia-hero {
    background: linear-gradient(135deg, #002f6c 0%, var(--tsm-midnight) 100%);
    padding: 80px 0;
    text-align: center;
}

.foia-hero-content h1 {
    color: var(--tsm-white);
    font-size: 48px;
    font-weight: 700;
    margin: 0 0 15px 0;
}

.foia-hero-content .hero-subtitle {
    color: var(--tsm-cyan);
    font-size: 18px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 2px;
    margin: 0 0 30px 0;
}

.foia-hero-content .hero-text {
    color: var(--tsm-light-gray);
    font-size: 20px;
    line-height: 1.7;
    max-width: 900px;
    margin: 0 auto;
}

/* FOIA Frame Treatment (Blue outer + Burnt Orange inner) */
.foia-frame {
    background: white;
    border: 4px solid #002f6c;
    border-radius: 6px;
    padding: 50px;
    position: relative;
}

.foia-frame::before {
    content: '';
    position: absolute;
    top: 8px;
    left: 8px;
    right: 8px;
    bottom: 8px;
    border: 3px solid #E76F51;
    border-radius: 2px;
    pointer-events: none;
}

.foia-frame > * {
    position: relative;
    z-index: 1;
}

/* Section Titles */
.section-title {
    font-size: 36px;
    font-weight: 700;
    color: var(--tsm-midnight);
    text-align: center;
    margin-bottom: 20px;
}

.section-intro {
    text-align: center;
    font-size: 18px;
    color: #555;
    max-width: 800px;
    margin: 0 auto 40px auto;
    line-height: 1.7;
}

/* Stats Dashboard */
.tsm-foia-stats {
    padding: 80px 0;
}

.stats-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 30px;
    margin: 40px 0;
}

.stat-card {
    text-align: center;
    padding: 30px 20px;
    background: #f8f9fa;
    border-radius: 6px;
    border-top: 3px solid #002f6c;
}

.stat-number {
    font-size: 48px;
    font-weight: 700;
    color: #002f6c;
    margin-bottom: 10px;
}

.stat-label {
    font-size: 16px;
    font-weight: 600;
    color: var(--tsm-midnight);
    text-transform: uppercase;
    letter-spacing: 1px;
    margin-bottom: 10px;
}

.stat-description {
    font-size: 14px;
    color: #666;
    line-height: 1.5;
}

.campaign-highlights {
    margin-top: 40px;
    padding: 30px;
    background: #f8f9fa;
    border-left: 4px solid var(--tsm-burnt-orange);
    border-radius: 4px;
}

.campaign-highlights h3 {
    color: var(--tsm-midnight);
    font-size: 22px;
    margin: 0 0 20px 0;
}

.campaign-highlights ul {
    margin: 0;
    padding-left: 20px;
}

.campaign-highlights li {
    color: #444;
    font-size: 16px;
    line-height: 1.7;
    margin-bottom: 15px;
}

.campaign-highlights strong {
    color: #002f6c;
}

/* Airtable Section */
.tsm-airtable-section {
    padding: 80px 0;
    background: var(--tsm-light-gray);
}

.dashboard-explainer {
    background: #f8f9fa;
    padding: 25px;
    border-left: 4px solid var(--tsm-cyan);
    border-radius: 4px;
    margin-bottom: 30px;
}

.dashboard-explainer h4 {
    color: var(--tsm-midnight);
    font-size: 18px;
    margin: 0 0 15px 0;
}

.dashboard-explainer ul {
    margin: 0;
    padding-left: 20px;
}

.dashboard-explainer li {
    color: #555;
    font-size: 15px;
    line-height: 1.7;
    margin-bottom: 10px;
}

.dashboard-explainer strong {
    color: #002f6c;
}

.airtable-embed-container {
    margin: 30px 0;
    border-radius: 6px;
    overflow: hidden;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.1);
}

.dashboard-note {
    text-align: center;
    font-style: italic;
    color: #666;
    font-size: 14px;
    margin-top: 20px;
}

/* What is FOIA Explainer */
.tsm-foia-explainer {
    padding: 80px 0;
}

.explainer-content {
    display: grid;
    grid-template-columns: 2fr 1fr;
    gap: 60px;
    margin-top: 40px;
}

.explainer-text .intro-text {
    font-size: 20px;
    line-height: 1.8;
    color: #333;
    margin-bottom: 30px;
    font-weight: 500;
}

.explainer-text h3 {
    color: var(--tsm-midnight);
    font-size: 24px;
    margin: 30px 0 15px 0;
}

.explainer-text p {
    color: #444;
    font-size: 17px;
    line-height: 1.8;
    margin-bottom: 20px;
}

.explainer-text ul {
    margin: 15px 0 20px 20px;
}

.explainer-text li {
    color: #444;
    font-size: 16px;
    line-height: 1.7;
    margin-bottom: 10px;
}

.explainer-sidebar {
    display: flex;
    flex-direction: column;
    gap: 30px;
}

.sidebar-box {
    background: #f8f9fa;
    padding: 25px;
    border-radius: 6px;
    border-top: 3px solid #002f6c;
}

.sidebar-box h4 {
    color: var(--tsm-midnight);
    font-size: 18px;
    margin: 0 0 15px 0;
}

.sidebar-box p {
    color: #555;
    font-size: 14px;
    line-height: 1.6;
    margin-bottom: 12px;
}

.sidebar-box ul {
    margin: 0;
    padding-left: 20px;
}

.sidebar-box li {
    color: #555;
    font-size: 14px;
    line-height: 1.6;
    margin-bottom: 8px;
}

.sidebar-box strong {
    color: #002f6c;
}

/* How To File Section */
.tsm-foia-howto {
    padding: 80px 0;
    background: var(--tsm-light-gray);
}

.howto-steps {
    margin-top: 50px;
}

.step-card {
    display: grid;
    grid-template-columns: 80px 1fr;
    gap: 30px;
    margin-bottom: 40px;
    background: white;
    padding: 30px;
    border-radius: 6px;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.08);
}

.step-number {
    width: 80px;
    height: 80px;
    background: #002f6c;
    color: white;
    font-size: 36px;
    font-weight: 700;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
}

.step-content h3 {
    color: var(--tsm-midnight);
    font-size: 22px;
    margin: 0 0 15px 0;
}

.step-content p {
    color: #555;
    font-size: 16px;
    line-height: 1.7;
    margin-bottom: 15px;
}

.step-content ul {
    margin: 10px 0 10px 20px;
}

.step-content li {
    color: #555;
    font-size: 15px;
    line-height: 1.6;
    margin-bottom: 8px;
}

.step-tip {
    background: #e8f4f8;
    border-left: 3px solid var(--tsm-cyan);
    padding: 12px 15px;
    margin-top: 15px;
    border-radius: 4px;
}

.step-example {
    background: #f8f9fa;
    padding: 12px 15px;
    margin: 10px 0;
    border-radius: 4px;
    font-style: italic;
}

.common-mistakes {
    margin-top: 60px;
}

.common-mistakes h3 {
    color: var(--tsm-midnight);
    font-size: 28px;
    text-align: center;
    margin-bottom: 30px;
}

.mistakes-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 30px;
}

.mistake-card {
    background: white;
    padding: 25px;
    border-radius: 6px;
    border-left: 4px solid var(--tsm-burnt-orange);
}

.mistake-card h4 {
    color: var(--tsm-midnight);
    font-size: 18px;
    margin: 0 0 12px 0;
}

.mistake-card p {
    color: #555;
    font-size: 15px;
    line-height: 1.6;
    margin: 0;
}

/* Downloadable Resources */
.tsm-foia-resources {
    padding: 80px 0;
}

.resources-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 30px;
    margin-top: 40px;
}

.resource-card {
    background: #f8f9fa;
    padding: 30px;
    border-radius: 6px;
    text-align: center;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.resource-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 8px 25px rgba(0, 0, 0, 0.12);
}

.resource-icon {
    color: #002f6c;
    margin-bottom: 20px;
}

.resource-card h3 {
    color: var(--tsm-midnight);
    font-size: 20px;
    margin: 0 0 15px 0;
}

.resource-card p {
    color: #666;
    font-size: 15px;
    line-height: 1.6;
    margin-bottom: 20px;
}

.resource-download {
    display: inline-block;
    color: var(--tsm-burnt-orange);
    font-weight: 600;
    text-decoration: none;
    font-size: 16px;
    transition: color 0.3s ease;
}

.resource-download:hover {
    color: #d96b4d;
}

/* Advanced Strategies */
.tsm-foia-advanced {
    padding: 80px 0;
    background: var(--tsm-light-gray);
}

.advanced-content {
    margin-top: 40px;
}

.strategy-section {
    margin-bottom: 60px;
}

.strategy-section h3 {
    color: var(--tsm-midnight);
    font-size: 28px;
    margin-bottom: 20px;
}

.strategy-section p {
    color: #444;
    font-size: 17px;
    line-height: 1.8;
    margin-bottom: 20px;
}

.strategy-section ul {
    margin: 15px 0 20px 30px;
}

.strategy-section li {
    color: #444;
    font-size: 16px;
    line-height: 1.7;
    margin-bottom: 12px;
}

.exemption-cards,
.agency-quirks {
    display: grid;
    grid-template-columns: 1fr;
    gap: 25px;
    margin-top: 30px;
}

.exemption-card,
.quirk-card {
    background: white;
    padding: 25px;
    border-radius: 6px;
    border-left: 4px solid #002f6c;
}

.exemption-card h4,
.quirk-card h4 {
    color: #002f6c;
    font-size: 20px;
    margin: 0 0 15px 0;
}

.exemption-card p,
.quirk-card p {
    color: #555;
    font-size: 15px;
    line-height: 1.7;
    margin-bottom: 15px;
}

.exemption-card ul {
    margin: 10px 0 15px 20px;
}

.exemption-card li {
    color: #555;
    font-size: 15px;
    line-height: 1.6;
    margin-bottom: 8px;
}

.exemption-tip {
    background: #e8f4f8;
    border-left: 3px solid var(--tsm-cyan);
    padding: 12px 15px;
    margin-top: 15px;
    border-radius: 4px;
}

/* Why It Matters */
.tsm-foia-impact {
    padding: 80px 0;
}

.impact-intro {
    font-size: 22px;
    line-height: 1.8;
    color: #333;
    text-align: center;
    max-width: 900px;
    margin: 40px auto;
    font-weight: 500;
}

.impact-examples {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 30px;
    margin: 50px 0;
}

.impact-card {
    background: #f8f9fa;
    padding: 30px;
    border-radius: 6px;
    border-top: 3px solid #002f6c;
}

.impact-card h3 {
    color: var(--tsm-midnight);
    font-size: 22px;
    margin: 0 0 15px 0;
}

.impact-card p {
    color: #555;
    font-size: 16px;
    line-height: 1.7;
    margin: 0;
}

.impact-quote {
    text-align: center;
    margin: 60px 0;
}

.impact-quote blockquote {
    font-size: 24px;
    font-style: italic;
    color: var(--tsm-midnight);
    line-height: 1.6;
    margin: 0;
    padding: 0;
    border: none;
}

.impact-quote cite {
    display: block;
    margin-top: 15px;
    font-size: 18px;
    color: #666;
    font-style: normal;
}

.impact-conclusion {
    font-size: 18px;
    line-height: 1.8;
    color: #444;
    text-align: center;
    max-width: 900px;
    margin: 40px auto 0 auto;
}

/* Support CTA */
.tsm-foia-cta {
    padding: 80px 0;
    background: linear-gradient(135deg, #002f6c 0%, var(--tsm-midnight) 100%);
}

.cta-content {
    text-align: center;
    max-width: 800px;
    margin: 0 auto;
}

.cta-content h2 {
    color: var(--tsm-white);
    font-size: 38px;
    margin-bottom: 20px;
}

.cta-content p {
    color: var(--tsm-light-gray);
    font-size: 18px;
    line-height: 1.7;
    margin-bottom: 40px;
}

.cta-buttons {
    display: flex;
    gap: 20px;
    justify-content: center;
    flex-wrap: wrap;
}

.cta-button {
    display: inline-block;
    padding: 15px 35px;
    border-radius: 4px;
    font-weight: 600;
    text-decoration: none;
    font-size: 16px;
    transition: all 0.3s ease;
}

.cta-button.primary {
    background: var(--tsm-burnt-orange);
    color: white;
}

.cta-button.primary:hover {
    background: #d96b4d;
    transform: translateY(-2px);
}

.cta-button.secondary {
    background: transparent;
    border: 2px solid var(--tsm-cyan);
    color: var(--tsm-cyan);
}

.cta-button.secondary:hover {
    background: var(--tsm-cyan);
    color: var(--tsm-midnight);
}

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

@media (max-width: 1024px) {
    .stats-grid {
        grid-template-columns: repeat(2, 1fr);
    }
    
    .explainer-content {
        grid-template-columns: 1fr;
    }
    
    .resources-grid {
        grid-template-columns: repeat(2, 1fr);
    }
    
    .impact-examples {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 768px) {
    .foia-hero-content h1 {
        font-size: 36px;
    }
    
    .foia-hero-content .hero-text {
        font-size: 17px;
    }
    
    .section-title {
        font-size: 28px;
    }
    
    .stats-grid,
    .resources-grid,
    .mistakes-grid {
        grid-template-columns: 1fr;
    }
    
    .step-card {
        grid-template-columns: 1fr;
        gap: 20px;
    }
    
    .step-number {
        width: 60px;
        height: 60px;
        font-size: 28px;
        margin: 0 auto;
    }
    
    .cta-buttons {
        flex-direction: column;
        align-items: stretch;
    }
    
    .cta-button {
        text-align: center;
    }
    
    .tsm-foia-hero,
    .tsm-foia-stats,
    .tsm-airtable-section,
    .tsm-foia-explainer,
    .tsm-foia-howto,
    .tsm-foia-resources,
    .tsm-foia-advanced,
    .tsm-foia-impact,
    .tsm-foia-cta {
        padding: 50px 0;
    }
    
    .foia-frame {
        padding: 30px 20px;
    }
}

/* ===================================
   MEET THE TEAM PAGE STYLES
   =================================== */

/* Team Header */
.team-header {
    text-align: center;
    padding: 60px 40px;
    background: linear-gradient(135deg, #14213D 0%, #1a2a4a 100%);
    position: relative;
    margin-bottom: 60px;
    width: 100%;
}

/* Add subtle pattern overlay */
.team-header::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-image: 
        linear-gradient(30deg, #00B4D8 12%, transparent 12.5%, transparent 87%, #00B4D8 87.5%, #00B4D8),
        linear-gradient(150deg, #00B4D8 12%, transparent 12.5%, transparent 87%, #00B4D8 87.5%, #00B4D8),
        linear-gradient(30deg, #00B4D8 12%, transparent 12.5%, transparent 87%, #00B4D8 87.5%, #00B4D8),
        linear-gradient(150deg, #00B4D8 12%, transparent 12.5%, transparent 87%, #00B4D8 87.5%, #00B4D8);
    background-size: 80px 140px;
    background-position: 0 0, 0 0, 40px 70px, 40px 70px;
    opacity: 0.03;
    pointer-events: none;
}

/* Add accent bar below header */
.team-header::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    height: 4px;
    background: linear-gradient(90deg, #D4943A 0%, #00B4D8 50%, #D4943A 100%);
}

.team-header-content {
    max-width: 800px;
    margin: 0 auto;
    position: relative;
    z-index: 1;
}

.team-title {
    font-family: 'Poppins', sans-serif;
    font-size: 48px;
    font-weight: 700;
    color: #FFFFFF;
    margin-bottom: 16px;
    line-height: 1.2;
}

.team-tagline {
    font-family: 'Inter', sans-serif;
    font-size: 16px;
    font-weight: 600;
    color: #D4943A;
    text-transform: uppercase;
    letter-spacing: 1px;
    margin-bottom: 32px;
}

.team-intro {
    font-family: 'Inter', sans-serif;
    font-size: 18px;
    line-height: 1.7;
    color: #F2F2F2;
}

.team-intro p {
    color: #F2F2F2;
    margin-bottom: 0;
}

/* Team Grid */
.team-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    gap: 40px;
    margin-bottom: 80px;
}

/* Team Member Card */
.team-member {
    background: #FFFFFF;
    border: 1px solid #E5E5E5;
    border-radius: 8px;
    overflow: hidden;
    transition: all 0.3s ease;
    display: flex;
    flex-direction: column;
}

.team-member:hover {
    box-shadow: 0 8px 24px rgba(20, 33, 61, 0.15);
    transform: translateY(-4px);
    border-color: #00B4D8;
}

/* Team Member Photo */
.team-member-photo {
    width: 100%;
    height: 400px;
    background: linear-gradient(135deg, #14213D 0%, #00B4D8 100%);
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    overflow: hidden;
}

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

/* Placeholder styling if no image */
.team-member-photo:not(:has(img[src*=".jpg"])):not(:has(img[src*=".png"]))::before {
    content: "Photo Coming Soon";
    font-family: 'Poppins', sans-serif;
    font-size: 16px;
    font-weight: 600;
    color: #FFFFFF;
    text-align: center;
}

/* Team Member Info */
.team-member-info {
    padding: 32px 24px;
}

.team-member-name {
    font-family: 'Poppins', sans-serif;
    font-size: 24px;
    font-weight: 700;
    color: #14213D;
    margin-bottom: 8px;
    line-height: 1.3;
}

.team-member-title {
    font-family: 'Inter', sans-serif;
    font-size: 14px;
    font-weight: 600;
    color: #23452d;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin-bottom: 16px;
}

.team-member-bio {
    font-family: 'Inter', sans-serif;
    font-size: 15px;
    line-height: 1.7;
    color: #4A5568;
    margin-bottom: 16px;
}

.team-member-bio:last-of-type {
    margin-bottom: 20px;
}

/* Expertise Tags - Pipe Separated */
.team-member-expertise {
    font-family: 'Inter', sans-serif;
    font-size: 13px;
    font-weight: 600;
    color: #D4943A;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin-bottom: 0;
    padding-bottom: 20px;
    border-bottom: 1px solid #E5E5E5;
}

/* Team Member Contact */
.team-member-contact {
    font-family: 'Inter', sans-serif;
    font-size: 13px;
    color: #4A5568;
    margin: 0;
    padding-top: 20px;
}

.team-member-contact a {
    color: #00B4D8;
    text-decoration: none;
    font-weight: 500;
    transition: color 0.2s ease;
}

.team-member-contact a:hover {
    color: #14213D;
    text-decoration: underline;
}

/* Team CTA Section */
.team-cta {
    background: linear-gradient(135deg, #14213D 0%, #00B4D8 100%);
    padding: 60px 40px;
    border-radius: 12px;
    text-align: center;
    margin: 80px 0 40px;
}

.team-cta-content h2 {
    font-family: 'Poppins', sans-serif;
    font-size: 36px;
    font-weight: 700;
    color: #FFFFFF;
    margin-bottom: 20px;
}

.team-cta-content p {
    font-family: 'Inter', sans-serif;
    font-size: 18px;
    line-height: 1.7;
    color: #F2F2F2;
    max-width: 700px;
    margin: 0 auto 32px;
}

.tsm-button {
    display: inline-block;
    font-family: 'Poppins', sans-serif;
    font-size: 16px;
    font-weight: 600;
    color: #14213D;
    background: #FFFFFF;
    padding: 14px 32px;
    border-radius: 6px;
    text-decoration: none;
    transition: all 0.3s ease;
    border: 2px solid #FFFFFF;
}

.tsm-button:hover {
    background: transparent;
    color: #FFFFFF;
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.2);
}

/* Responsive Design */
@media (max-width: 768px) {
    .team-header {
        padding: 40px 24px;
    }
    
    .team-title {
        font-size: 36px;
    }
    
    .team-tagline {
        font-size: 13px;
        letter-spacing: 0.5px;
    }
    
    .team-intro {
        font-size: 16px;
    }
    
    .team-grid {
        grid-template-columns: 1fr;
        gap: 32px;
    }
    
    .team-member-photo {
        height: 320px;
    }
    
    .team-cta {
        padding: 40px 24px;
    }
    
    .team-cta-content h2 {
        font-size: 28px;
    }
    
    .team-cta-content p {
        font-size: 16px;
    }
}

@media (min-width: 769px) and (max-width: 1024px) {
    .team-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (min-width: 1025px) {
    .team-grid {
        grid-template-columns: repeat(3, 1fr);
    }
    
    /* Make last row items span if needed for better layout */
    .team-member:nth-last-child(1):nth-child(3n + 1) {
        grid-column: 2 / 3;
    }
}

/* ===================================
   CONTACT PAGE STYLES
   =================================== */

/* Contact Header */
.contact-header {
    text-align: center;
    padding: 60px 40px;
    background: linear-gradient(135deg, #14213D 0%, #1a2a4a 100%);
    position: relative;
    margin-bottom: 60px;
    width: 100%;
}

.contact-header-content {
    max-width: 800px;
    margin: 0 auto;
    position: relative;
    z-index: 1;
}

.contact-title {
    font-family: 'Poppins', sans-serif;
    font-size: 48px;
    font-weight: 700;
    color: #FFFFFF;
    margin-bottom: 16px;
    line-height: 1.2;
}

.contact-tagline {
    font-family: 'Inter', sans-serif;
    font-size: 16px;
    font-weight: 600;
    color: #D4943A;
    text-transform: uppercase;
    letter-spacing: 1px;
    margin-bottom: 24px;
}

.contact-intro {
    font-family: 'Inter', sans-serif;
    font-size: 18px;
    line-height: 1.7;
    color: #F2F2F2;
    margin-bottom: 0;
}

/* Source Protection Notice */
.source-protection-notice {
    background: linear-gradient(135deg, #14213D 0%, #1a2a4a 100%);
    border-radius: 8px;
    padding: 40px;
    margin-bottom: 40px;
    border-left: 4px solid #D4943A;
    position: relative;
}

.source-protection-notice .notice-icon {
    font-size: 40px;
    margin-bottom: 16px;
}

.source-protection-notice h2 {
    font-family: 'Poppins', sans-serif;
    font-size: 32px;
    font-weight: 700;
    color: #00B4D8;
    margin-bottom: 20px;
}

.source-protection-notice > p {
    font-family: 'Inter', sans-serif;
    font-size: 17px;
    line-height: 1.7;
    color: #f2f2f2;
    margin-bottom: 32px;
}

.protection-details {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 32px;
    margin-top: 32px;
}

.protection-item h3 {
    font-family: 'Poppins', sans-serif;
    font-size: 20px;
    font-weight: 600;
    color: #D4943A;
    margin-bottom: 12px;
}

.protection-item p {
    font-family: 'Inter', sans-serif;
    font-size: 15px;
    line-height: 1.7;
    color: #F2F2F2;
    margin-bottom: 12px;
}

.secure-email {
    margin: 20px 0 !important;
}

.secure-email a {
    font-family: 'Poppins', sans-serif;
    font-size: 20px;
    font-weight: 700;
    color: #D4943A !important;
    text-decoration: none;
    transition: color 0.3s ease;
}

.secure-email a:hover {
    color: #00B4D8 !important;
}

.encryption-note {
    font-size: 14px !important;
    font-style: italic;
    color: #B0B8C0 !important;
}

/* Signal Messenger Label */
.signal-label {
    color: #F57E89;
}

/* Quick Contact Box */
.quick-contact-box {
    background: #FFF7E8;
    border-left: 4px solid #D4943A;
    border-radius: 8px;
    padding: 32px;
    margin-bottom: 40px;
}

.quick-contact-box h3 {
    font-family: 'Poppins', sans-serif;
    font-size: 24px;
    font-weight: 700;
    color: #14213D;
    margin-bottom: 20px;
}

.contact-methods p {
    font-family: 'Inter', sans-serif;
    font-size: 16px;
    line-height: 1.8;
    color: #14213D;
    margin-bottom: 12px;
}

.contact-methods strong {
    font-weight: 600;
}

.contact-methods a {
    color: #00B4D8;
    text-decoration: none;
    font-weight: 600;
    transition: color 0.3s ease;
}

.contact-methods a:hover {
    color: #D4943A;
    text-decoration: underline;
}

.protonmail-note {
    font-family: 'Inter', sans-serif;
    font-size: 14px;
    font-style: italic;
    color: #555B63;
    margin-top: 16px;
    margin-bottom: 0;
}

/* Contact Form Section */
.contact-form-section {
    background: #FFFFFF;
    border-radius: 8px;
    padding: 40px;
    margin-bottom: 40px;
    border: 1px solid #E5E5E5;
}

.contact-form-section h2 {
    font-family: 'Poppins', sans-serif;
    font-size: 32px;
    font-weight: 700;
    color: #14213D;
    margin-bottom: 16px;
}

.form-intro {
    font-family: 'Inter', sans-serif;
    font-size: 16px;
    line-height: 1.7;
    color: #4A5568;
    margin-bottom: 32px;
}

/* Form Styling */
.tsm-contact-form {
    max-width: 100%;
}

.form-row {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
    gap: 24px;
    margin-bottom: 24px;
}

.form-group {
    margin-bottom: 24px;
}

.form-group label {
    display: block;
    font-family: 'Inter', sans-serif;
    font-size: 14px;
    font-weight: 600;
    color: #14213D;
    margin-bottom: 8px;
}

.form-group input[type="text"],
.form-group input[type="email"],
.form-group select,
.form-group textarea {
    width: 100%;
    padding: 12px 16px;
    font-family: 'Inter', sans-serif;
    font-size: 15px;
    color: #14213D;
    background: #FFFFFF;
    border: 2px solid #E5E5E5;
    border-radius: 6px;
    transition: border-color 0.3s ease;
}

.form-group input[type="text"]:focus,
.form-group input[type="email"]:focus,
.form-group select:focus,
.form-group textarea:focus {
    outline: none;
    border-color: #00B4D8;
}

.form-group textarea {
    resize: vertical;
    min-height: 150px;
}

.form-note {
    font-family: 'Inter', sans-serif;
    font-size: 13px;
    color: #6B7280;
    margin-top: 6px;
    display: block;
}

/* Checkbox Styling */
.checkbox-group {
    margin-bottom: 24px;
}

.checkbox-label {
    display: flex;
    align-items: center;
    cursor: pointer;
    font-weight: 400 !important;
}

.checkbox-label input[type="checkbox"] {
    width: auto !important;
    margin-right: 12px;
    cursor: pointer;
}

.checkbox-label span {
    font-family: 'Inter', sans-serif;
    font-size: 15px;
    color: #14213D;
}

/* Submit Button */
.tsm-submit-button {
    font-family: 'Poppins', sans-serif;
    font-size: 16px;
    font-weight: 600;
    color: #FFFFFF;
    background: linear-gradient(90deg, #00B4D8 0%, #0099BB 100%);
    border: none;
    border-radius: 6px;
    padding: 14px 40px;
    cursor: pointer;
    transition: all 0.3s ease;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.tsm-submit-button:hover {
    background: linear-gradient(90deg, #0099BB 0%, #00B4D8 100%);
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(0, 180, 216, 0.4);
}

.tsm-submit-button:active {
    transform: translateY(0);
}

/* Editorial Contacts Section */
.editorial-contacts-section {
    margin-bottom: 40px;
}

.editorial-contacts-section h2 {
    font-family: 'Poppins', sans-serif;
    font-size: 32px;
    font-weight: 700;
    color: #14213D;
    margin-bottom: 16px;
}

.section-intro {
    font-family: 'Inter', sans-serif;
    font-size: 16px;
    line-height: 1.7;
    color: #4A5568;
    margin-bottom: 32px;
}

.editorial-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 24px;
}

.editorial-card {
    background: #FFFFFF;
    border: 1px solid #E5E5E5;
    border-left: 3px solid #00B4D8;
    border-radius: 6px;
    padding: 24px;
    transition: all 0.3s ease;
}

.editorial-card:hover {
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(0, 180, 216, 0.2);
    border-left-color: #D4943A;
}

.editorial-card h3 {
    font-family: 'Poppins', sans-serif;
    font-size: 18px;
    font-weight: 600;
    color: #14213D;
    margin-bottom: 6px;
}

.editorial-card .role {
    font-family: 'Inter', sans-serif;
    font-size: 13px;
    color: #6B7280;
    display: block;
    margin-bottom: 12px;
}

.editorial-card a {
    font-family: 'Inter', sans-serif;
    font-size: 14px;
    color: #00B4D8;
    text-decoration: none;
    font-weight: 500;
    word-break: break-word;
    transition: color 0.3s ease;
}

.editorial-card a:hover {
    color: #D4943A;
    text-decoration: underline;
}

/* Related Projects Section */
.related-projects-section {
    background: #FFFFFF;
    border-radius: 8px;
    padding: 40px;
    border: 1px solid #E5E5E5;
}

.related-projects-section h2 {
    font-family: 'Poppins', sans-serif;
    font-size: 32px;
    font-weight: 700;
    color: #14213D;
    margin-bottom: 16px;
}

.projects-list {
    margin-top: 24px;
}

.project-item {
    padding: 20px 0;
    border-bottom: 1px solid #E5E5E5;
}

.project-item:last-child {
    border-bottom: none;
}

.project-item h3 {
    font-family: 'Poppins', sans-serif;
    font-size: 20px;
    font-weight: 600;
    margin-bottom: 8px;
}

.project-item h3 a {
    color: #00B4D8;
    text-decoration: none;
    transition: color 0.3s ease;
}

.project-item h3 a:hover {
    color: #D4943A;
    text-decoration: underline;
}

.project-item p {
    font-family: 'Inter', sans-serif;
    font-size: 15px;
    line-height: 1.7;
    color: #4A5568;
    margin-bottom: 0;
}

/* Responsive Design */
@media (max-width: 768px) {
    .contact-header {
        padding: 40px 24px;
    }
    
    .contact-title {
        font-size: 36px;
    }
    
    .contact-tagline {
        font-size: 13px;
        letter-spacing: 0.5px;
    }
    
    .contact-intro {
        font-size: 16px;
    }
    
    .source-protection-notice {
        padding: 24px;
    }
    
    .source-protection-notice h2 {
        font-size: 24px;
    }
    
    .protection-details {
        grid-template-columns: 1fr;
    }
    
    .quick-contact-box {
        padding: 24px;
    }
    
    .contact-form-section {
        padding: 24px;
    }
    
    .form-row {
        grid-template-columns: 1fr;
    }
    
    .tsm-submit-button {
        width: 100%;
    }
    
    .editorial-grid {
        grid-template-columns: 1fr;
    }
    
    .related-projects-section {
        padding: 24px;
    }
}

/* ===================================
   ACCESSIBILITY PAGE STYLES
   =================================== */

/* Accessibility Header */
.accessibility-header {
    text-align: center;
    padding: 60px 40px;
    background: linear-gradient(135deg, #14213D 0%, #1a2a4a 100%);
    position: relative;
    margin-bottom: 60px;
    width: 100%;
}

.accessibility-header-content {
    max-width: 800px;
    margin: 0 auto;
    position: relative;
    z-index: 1;
}

.accessibility-title {
    font-family: 'Poppins', sans-serif;
    font-size: 48px;
    font-weight: 700;
    color: #FFFFFF;
    margin-bottom: 16px;
    line-height: 1.2;
}

.accessibility-tagline {
    font-family: 'Inter', sans-serif;
    font-size: 18px;
    line-height: 1.7;
    color: #c89dff;
    font-style: italic;
    margin-bottom: 24px;
}

.last-updated {
    display: inline-block;
    font-family: 'Inter', sans-serif;
    font-size: 14px;
    font-weight: 600;
    color: #14213D;
    background: #F2F2F2;
    padding: 8px 20px;
    border-radius: 20px;
}

/* Commitment Section */
.commitment-section {
    background: linear-gradient(135deg, #14213D 0%, #1a2a4a 100%);
    border-radius: 8px;
    padding: 40px;
    margin-bottom: 40px;
    border-left: 4px solid #00B4D8;
}

.commitment-section h2 {
    font-family: 'Poppins', sans-serif;
    font-size: 32px;
    font-weight: 700;
    color: #00B4D8;
    margin-bottom: 20px;
    margin-top: 0;
}

.commitment-section p {
    font-family: 'Inter', sans-serif;
    font-size: 16px;
    line-height: 1.8;
    color: #F2F2F2;
    margin-bottom: 16px;
}

.commitment-section p:last-child {
    margin-bottom: 0;
}

/* Content Sections */
.conformance-section,
.features-section,
.assistive-tech-section,
.technical-section,
.limitations-section,
.resources-section,
.efforts-section,
.report-section,
.complaints-section,
.assessment-section,
.legal-section {
    margin-bottom: 50px;
}

.conformance-section h2,
.features-section h2,
.assistive-tech-section h2,
.technical-section h2,
.limitations-section h2,
.resources-section h2,
.efforts-section h2,
.report-section h2,
.complaints-section h2,
.assessment-section h2,
.legal-section h2 {
    font-family: 'Poppins', sans-serif;
    font-size: 32px;
    font-weight: 700;
    color: #14213D;
    margin-bottom: 20px;
    padding-bottom: 12px;
    border-bottom: 2px solid #E5E5E5;
}

.conformance-section h3,
.assistive-tech-section h3,
.limitations-section h3,
.resources-section h3,
.legal-section h3 {
    font-family: 'Poppins', sans-serif;
    font-size: 22px;
    font-weight: 600;
    color: #14213D;
    margin-top: 32px;
    margin-bottom: 16px;
}

.section-intro {
    font-family: 'Inter', sans-serif;
    font-size: 18px;
    font-style: italic;
    color: #4A5568;
    margin-bottom: 24px;
    padding-left: 20px;
    border-left: 4px solid #00B4D8;
}

/* WCAG Badges */
.wcag-badges {
    margin: 24px 0;
}

.wcag-badge {
    display: inline-block;
    font-family: 'Inter', sans-serif;
    font-size: 14px;
    font-weight: 600;
    color: #FFFFFF;
    background: #14213D;
    padding: 8px 16px;
    border-radius: 4px;
    margin-right: 12px;
    margin-bottom: 12px;
}

/* Features Grid */
.features-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 24px;
    margin: 32px 0;
}

.feature-card {
    background: #FFFFFF;
    border: 1px solid #E5E5E5;
    border-left: 4px solid #00B4D8;
    border-radius: 6px;
    padding: 24px;
    transition: all 0.3s ease;
}

.feature-card:hover {
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(0, 180, 216, 0.15);
    border-left-color: #D4943A;
}

.feature-icon {
    font-size: 32px;
    margin-bottom: 16px;
}

.feature-card h3 {
    font-family: 'Poppins', sans-serif;
    font-size: 18px;
    font-weight: 600;
    color: #14213D;
    margin-bottom: 12px;
    margin-top: 0;
}

.feature-card p {
    font-family: 'Inter', sans-serif;
    font-size: 15px;
    line-height: 1.7;
    color: #4A5568;
    margin-bottom: 0;
}

/* List Styling */
.assistive-tech-section ul,
.technical-section ul,
.limitations-section ul,
.resources-section ul,
.efforts-section ul,
.report-section ul,
.complaints-section ul,
.assessment-section ul,
.legal-section ul {
    margin: 16px 0 24px 0;
    padding-left: 24px;
}

.assistive-tech-section li,
.technical-section li,
.limitations-section li,
.resources-section li,
.efforts-section li,
.report-section li,
.complaints-section li,
.assessment-section li,
.legal-section li {
    font-family: 'Inter', sans-serif;
    font-size: 16px;
    line-height: 1.8;
    color: #4A5568;
    margin-bottom: 12px;
}

.assistive-tech-section li strong,
.technical-section li strong,
.limitations-section li strong,
.resources-section li strong,
.efforts-section li strong,
.report-section li strong,
.complaints-section li strong,
.assessment-section li strong,
.legal-section li strong {
    color: #14213D;
    font-weight: 600;
}

/* Paragraph Styling */
.conformance-section p,
.features-section p,
.assistive-tech-section p,
.technical-section p,
.limitations-section p,
.resources-section p,
.efforts-section p,
.report-section p,
.complaints-section p,
.assessment-section p,
.legal-section p {
    font-family: 'Inter', sans-serif;
    font-size: 16px;
    line-height: 1.8;
    color: #4A5568;
    margin-bottom: 16px;
}

/* Contact Info Box */
.contact-info-box {
    background: #FFF7E8;
    border-left: 4px solid #D4943A;
    border-radius: 6px;
    padding: 24px;
    margin: 24px 0;
}

.contact-info-box p {
    font-family: 'Inter', sans-serif;
    font-size: 16px;
    line-height: 1.8;
    color: #14213D;
    margin-bottom: 12px;
}

.contact-info-box p:last-child {
    margin-bottom: 0;
}

.contact-info-box strong {
    font-weight: 600;
    color: #14213D;
}

.contact-info-box a {
    color: #00B4D8;
    text-decoration: none;
    font-weight: 600;
    transition: color 0.3s ease;
}

.contact-info-box a:hover {
    color: #D4943A;
    text-decoration: underline;
}

.response-time {
    background: #F2F2F2;
    padding: 16px;
    border-radius: 6px;
    border-left: 3px solid #00B4D8;
    margin-top: 24px !important;
}

.response-time strong {
    color: #14213D;
}

/* Link Styling */
.legal-section a {
    color: #00B4D8;
    text-decoration: none;
    font-weight: 600;
    transition: color 0.3s ease;
}

.legal-section a:hover {
    color: #D4943A;
    text-decoration: underline;
}

.legal-section a:focus {
    outline: 3px solid #00B4D8;
    outline-offset: 2px;
}

/* Responsive Design */
@media (max-width: 768px) {
    .accessibility-header {
        padding: 40px 24px;
    }
    
    .accessibility-title {
        font-size: 36px;
    }
    
    .accessibility-tagline {
        font-size: 16px;
    }
    
    .commitment-section {
        padding: 24px;
    }
    
    .commitment-section h2,
    .conformance-section h2,
    .features-section h2,
    .assistive-tech-section h2,
    .technical-section h2,
    .limitations-section h2,
    .resources-section h2,
    .efforts-section h2,
    .report-section h2,
    .complaints-section h2,
    .assessment-section h2,
    .legal-section h2 {
        font-size: 24px;
    }
    
    .features-grid {
        grid-template-columns: 1fr;
    }
    
    .section-intro {
        font-size: 16px;
    }
}

/* ===================================================================
   INVESTIGATION METADATA SIDEBAR
   =================================================================== */

.investigation-metadata-sidebar {
    background: #f8f9fb;
    border: 2px solid #e1e7ff;
    border-radius: 8px;
    padding: 24px;
    margin: 32px 0;
}

.metadata-box {
    margin-bottom: 24px;
    padding-bottom: 24px;
    border-bottom: 1px solid #e1e7ff;
}

.metadata-box:last-child {
    margin-bottom: 0;
    padding-bottom: 0;
    border-bottom: none;
}

.metadata-title {
    font-family: 'Poppins', sans-serif;
    font-size: 16px;
    font-weight: 700;
    color: #0070ed;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin: 0 0 12px 0;
}

.metadata-list {
    list-style: none;
    padding: 0;
    margin: 0;
}

.metadata-list li {
    padding: 6px 0;
    border-bottom: 1px solid #e1e7ff;
}

.metadata-list li:last-child {
    border-bottom: none;
}

.metadata-list a {
    font-family: 'Inter', sans-serif;
    font-size: 14px;
    color: #14213D;
    text-decoration: none;
    transition: color 0.3s ease;
}

.metadata-list a:hover {
    color: #0070ed;
}

/* Issue Tags */
.issue-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.issue-tag {
    font-family: 'Inter', sans-serif;
    font-size: 13px;
    font-weight: 600;
    color: #ffffff;
    background: #6996ff;
    padding: 6px 12px;
    border-radius: 4px;
    text-decoration: none;
    transition: all 0.3s ease;
}

.issue-tag:hover {
    background: #0070ed;
    transform: translateY(-2px);
}

/* Status Badge */
.status-badge {
    font-family: 'Inter', sans-serif;
    font-size: 14px;
    font-weight: 700;
    padding: 10px 16px;
    border-radius: 6px;
    text-align: center;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.status-badge.active-investigation {
    background: #fff3cd;
    color: #856404;
    border: 2px solid #D4943A;
}

.status-badge.ongoing-published-continuing-coverage {
    background: #e1e7ff;
    color: #0070ed;
    border: 2px solid #0070ed;
}

.status-badge.concluded-no-further-updates-expected {
    background: #e2e8f0;
    color: #475569;
    border: 2px solid #94a3b8;
}

.status-badge.appealed-foia-legal-appeal-filed {
    background: #fee2e2;
    color: #991b1b;
    border: 2px solid #dc2626;
}

/* ===================================================================
   FOIA REQUESTS SECTION
   =================================================================== */

.foia-requests-section {
    margin: 48px 0;
    padding: 32px 0;
    border-top: 3px solid #00B4D8;
}

.section-title {
    font-family: 'Poppins', sans-serif;
    font-size: 28px;
    font-weight: 700;
    color: #14213D;
    margin: 0 0 12px 0;
}

.section-intro {
    font-family: 'Inter', sans-serif;
    font-size: 16px;
    color: #555;
    font-style: italic;
    margin: 0 0 24px 0;
}

.foia-requests-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(350px, 1fr));
    gap: 20px;
}

.foia-request-card {
    background: #ffffff;
    border: 2px solid #e1e7ff;
    border-radius: 8px;
    padding: 20px;
    transition: all 0.3s ease;
}

.foia-request-card:hover {
    border-color: #0070ed;
    box-shadow: 0 4px 12px rgba(0, 112, 237, 0.15);
    transform: translateY(-2px);
}

.foia-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 16px;
    padding-bottom: 12px;
    border-bottom: 2px solid #e1e7ff;
}

.foia-id {
    font-family: 'Inter', sans-serif;
    font-size: 13px;
    font-weight: 700;
    color: #0070ed;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.foia-status {
    font-family: 'Inter', sans-serif;
    font-size: 11px;
    font-weight: 700;
    padding: 4px 10px;
    border-radius: 12px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.foia-status.status-pending {
    background: #fff3cd;
    color: #856404;
}

.foia-status.status-partial {
    background: #d1ecf1;
    color: #0c5460;
}

.foia-status.status-complete {
    background: #d4edda;
    color: #155724;
}

.foia-status.status-denied {
    background: #f8d7da;
    color: #721c24;
}

.foia-status.status-appealed {
    background: #e1e7ff;
    color: #0070ed;
}

.foia-status.status-litigation {
    background: #f5c6cb;
    color: #a94442;
}

.foia-details {
    font-family: 'Inter', sans-serif;
    font-size: 14px;
    line-height: 1.6;
}

.foia-field {
    margin-bottom: 10px;
}

.foia-field strong {
    color: #14213D;
    font-weight: 600;
}

.airtable-link {
    color: #00B4D8;
    text-decoration: none;
    font-weight: 600;
    transition: color 0.3s ease;
}

.airtable-link:hover {
    color: #0070ed;
    text-decoration: underline;
}

/* ===================================================================
   KEY SOURCES SECTION (Optional)
   =================================================================== */

.key-sources-section {
    margin: 48px 0;
    padding: 32px 0;
    border-top: 3px solid #D4943A;
}

.sources-list {
    display: grid;
    gap: 20px;
}

.source-card {
    background: #f8f9fb;
    border-left: 4px solid #00B4D8;
    border-radius: 4px;
    padding: 20px;
}

.source-name {
    font-family: 'Poppins', sans-serif;
    font-size: 18px;
    font-weight: 700;
    color: #14213D;
    margin: 0 0 8px 0;
}

.source-meta {
    display: flex;
    gap: 12px;
    margin-bottom: 12px;
}

.source-type {
    font-family: 'Inter', sans-serif;
    font-size: 12px;
    font-weight: 700;
    padding: 4px 10px;
    border-radius: 4px;
    text-transform: uppercase;
}

.source-type.type-whistleblower {
    background: #fee2e2;
    color: #991b1b;
}

.source-type.type-official {
    background: #dbeafe;
    color: #1e40af;
}

.source-type.type-expert {
    background: #fef3c7;
    color: #92400e;
}

.source-role {
    font-family: 'Inter', sans-serif;
    font-size: 13px;
    color: #555;
    font-style: italic;
}

.source-contribution {
    font-family: 'Inter', sans-serif;
    font-size: 14px;
    color: #333;
    line-height: 1.6;
}

.source-cross-ref {
    margin-top: 16px;
    padding-top: 16px;
    border-top: 1px solid #e1e7ff;
}

.source-cross-ref strong {
    font-family: 'Inter', sans-serif;
    font-size: 13px;
    color: #0070ed;
}

.source-cross-ref ul {
    list-style: none;
    padding: 0;
    margin: 8px 0 0 0;
}

.source-cross-ref li {
    padding: 4px 0;
}

.source-cross-ref a {
    font-family: 'Inter', sans-serif;
    font-size: 14px;
    color: #14213D;
    text-decoration: none;
}

.source-cross-ref a:hover {
    color: #0070ed;
    text-decoration: underline;
}

/* Responsive */
@media (max-width: 768px) {
    .foia-requests-grid {
        grid-template-columns: 1fr;
    }
    
    .foia-header {
        flex-direction: column;
        align-items: flex-start;
        gap: 8px;
    }
}
/* ============================================================================
   ADDITIONAL CSS FOR NEW TAXONOMY DISPLAY
   Add this to your style.css file (or the <style> section if you add one back)
   
   This styles the new taxonomy elements:
   - Issue tags (tag-style buttons)
   - Status badges (colored labels)
============================================================================ */

/* Issue Tags - Tag-style display */
.taxonomy-issues .issue-tag {
    display: inline-block;
    font-family: 'Inter', sans-serif;
    font-size: 13px;
    font-weight: 600;
    color: #ffffff;
    background: #6996ff;
    padding: 6px 12px;
    border-radius: 4px;
    text-decoration: none;
    margin-right: 8px;
    margin-bottom: 8px;
    transition: all 0.3s ease;
}

.taxonomy-issues .issue-tag:hover {
    background: #0070ed;
    transform: translateY(-2px);
}

/* Status Badge - Colored label based on status */
.status-badge {
    display: inline-block;
    font-family: 'Inter', sans-serif;
    font-size: 13px;
    font-weight: 700;
    padding: 8px 14px;
    border-radius: 6px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

/* Status colors */
.status-badge.status-active-investigation {
    background: #fff3cd;
    color: #856404;
    border: 2px solid #D4943A;
}

.status-badge.status-ongoing-published-continuing-coverage {
    background: #e1e7ff;
    color: #0070ed;
    border: 2px solid #0070ed;
}

.status-badge.status-concluded-no-further-updates-expected {
    background: #e2e8f0;
    color: #475569;
    border: 2px solid #94a3b8;
}

.status-badge.status-under-legal-review {
    background: #fef3c7;
    color: #92400e;
    border: 2px solid #d97706;
}

.status-badge.status-appealed-foia-legal-appeal-filed {
    background: #fee2e2;
    color: #991b1b;
    border: 2px solid #dc2626;
}

.status-badge.status-sealed-restricted {
    background: #f3f4f6;
    color: #374151;
    border: 2px solid #6b7280;
}

.status-badge.status-updated-with-new-developments {
    background: #dbeafe;
    color: #1e40af;
    border: 2px solid #3b82f6;
}

/* Make taxonomy row labels consistent */
.article-taxonomies .taxonomy-label {
    font-family: 'Inter', sans-serif;
    font-size: 14px;
    font-weight: 700;
    color: #0070ed;
    margin-right: 8px;
}

.article-taxonomies .taxonomy-row {
    margin-bottom: 12px;
    line-height: 1.8;
}

/* Responsive adjustments */
@media (max-width: 768px) {
    .taxonomy-issues .issue-tag {
        font-size: 12px;
        padding: 5px 10px;
        margin-right: 6px;
        margin-bottom: 6px;
    }
    
    .status-badge {
        font-size: 12px;
        padding: 6px 12px;
    }
}

/* ============================================================================
   FIX LOGO CENTERING - OVERRIDE SPACE-BETWEEN
============================================================================ */

.tsm-logo-section {
    display: flex !important;
    justify-content: center !important;  /* Override space-between */
    align-items: center !important;
    padding: 30px 0 !important;
    background: var(--tsm-midnight-primary) !important;
}

.tsm-logo-section .tsm-container {
    display: block !important;  /* Don't flex the container */
    text-align: center !important;
}


/*==========================================================================
   INTERNAL LINKS - DAILY BRIEF
==========================================================================*/

.tsm-internal-links {
    background-color: #d5fadd;
    border-left: 4px solid #2d5f3f;
    padding: 1.5rem;
    margin-bottom: 1.5rem;
}

.tsm-internal-links__heading {
    font-family: 'Poppins', sans-serif;
    font-size: 1.1rem;
    font-weight: 700;
    color: #14213D;
    margin: 0 0 1rem 0;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.tsm-internal-links__list {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}

.tsm-internal-links__item {
    position: relative;
    padding-left: 1.25rem;
}

.tsm-internal-links__item::before {
    content: "→";
    position: absolute;
    left: 0;
    color: #2d5f3f;
    font-weight: 600;
}

.tsm-internal-links__link {
    font-family: 'Inter', sans-serif;
    font-size: 0.95rem;
    color: #14213D;
    text-decoration: none;
    transition: color 0.2s ease;
}

.tsm-internal-links__link:hover {
    color: #00B4D8;
    text-decoration: underline;
}
/* ============================================================================
   FOOTER WIDGET CUSTOM CONTENT
   For when footer content is added via Custom HTML widget in Footer 1
============================================================================ */

.tsm-widget-footer {
    background: #0a0a0a;
    padding: 40px 20px;
    color: #e0e0e0;
    font-family: 'Helvetica Neue', sans-serif;
    font-size: 0.95rem;
    letter-spacing: 0.6px;
    text-transform: uppercase;
}

.tsm-widget-footer-logo {
    text-align: center;
    margin-bottom: 40px;
}

.tsm-widget-footer-logo img {
    height: 150px;
    width: auto;
    margin-bottom: 25px;
}

.tsm-widget-footer-columns {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    gap: 40px;
    max-width: 1100px;
    margin: 0 auto 40px auto;
}

.tsm-widget-footer-column {
    flex: 1;
    min-width: 220px;
}

.tsm-widget-footer-heading {
    margin-bottom: 10px;
    font-weight: bold;
    color: #ffffff;
}

.tsm-widget-footer-tagline {
    font-size: 0.8rem;
    color: rgba(255, 255, 255, 0.55);
}

.tsm-widget-footer-column ul {
    list-style: none;
    padding: 0;
    margin: 0;
    line-height: 1.8;
}

.tsm-widget-footer-column ul li {
    margin-bottom: 8px;
}

.tsm-widget-footer-column a {
    color: #e0e0e0;
    text-decoration: none;
    transition: color 0.3s ease;
}

.tsm-widget-footer-column a:hover {
    color: var(--tsm-blue-bright);
}

.tsm-widget-footer-mission {
    margin-top: 36px;
    padding: 30px 20px;
    border-top: 1px solid #1e90ff;
    border-bottom: 1px solid #1e90ff;
    font-family: 'Georgia', 'Times New Roman', serif;
    font-size: 1.05rem;
    line-height: 1.55;
    color: #1e90ff;
    font-weight: 500;
    font-style: italic;
    text-align: center;
    max-width: 680px;
    margin-left: auto;
    margin-right: auto;
}

.tsm-widget-footer-copyright {
    margin-top: 25px;
    text-align: center;
    font-size: 0.8rem;
    color: #777;
}

/* Responsive */
@media (max-width: 768px) {
    .tsm-widget-footer-columns {
        flex-direction: column;
        gap: 25px;
    }
    
    .tsm-widget-footer-logo img {
        height: 120px;
    }
    
    .tsm-widget-footer-mission {
        font-size: 0.95rem;
        padding: 20px 10px;
    }
}
