:root {
    --color-background-dark: #011224; 
    --color-dark-cyber-bg: #0D111D;   
    --color-background-light: #F8F8F8; 
    
    --color-primary-brand: #951176;   
    --color-accent-cta: #ee5500;      
    --color-secondary-accent: #1070ad; 
    
    --color-text-light: #ffffff;
    --color-text-dark: #011224;
    --color-text-fade: #cccccc;
    
    --color-card-bg: rgba(255, 255, 255, 0.05);

    --max-width: 1200px;
    --nav-height: 70px;
}

* { box-sizing: border-box; }

body {
    margin: 0; padding: 0;
    font-family: 'Inter', sans-serif;
    color: var(--color-text-light);
    background-color: var(--color-background-dark);
    line-height: 1.6;
    overflow-x: hidden; 
}

img, video { max-width: 100%; height: auto; display: block; }

h1, h2, h3, h4, h5, h6 {
    font-family: 'Montserrat', sans-serif;
    color: var(--color-text-light);
    line-height: 1.2;
    margin-top: 0; margin-bottom: 1rem;
}

p { margin-top: 0; margin-bottom: 1.5rem; }
li { margin-bottom: 0.5rem; }

h1, h2, .sidebar-title { text-shadow: 0 0 20px rgba(16, 112, 173, 0.4); }
h1 { font-size: 3rem; color: var(--color-accent-cta); }

a { color: var(--color-accent-cta); text-decoration: none; transition: color 0.3s ease; }
a:hover { color: var(--color-text-light); }

.content-box-darktext, .content-box-darktext p, .content-box-darktext h2, 
.content-box-darktext h3, .content-box-darktext li { color: var(--color-text-dark) !important; }

.text-center { text-align: center !important; }
.text-center p { margin-left: auto; margin-right: auto; }

.content-box { max-width: var(--max-width); margin: 0 auto; padding: 40px 20px; }
.section { padding: 80px 0; position: relative; }

.section-title {
    font-size: 2.5rem; text-align: center; margin-bottom: 50px;
    color: var(--color-primary-brand); text-shadow: 1px 1px 5px rgba(0, 0, 0, 0.4); 
}

.section-title-alt {
    font-size: 2rem; color: var(--color-secondary-accent); margin-bottom: 30px;
    text-shadow: 0 0 15px rgba(0, 191, 255, 0.3);
}

@keyframes pulse {
    0% { box-shadow: 0 0 0 0 rgba(238, 85, 0, 0.7); }
    70% { box-shadow: 0 0 0 10px rgba(238, 85, 0, 0); }
    100% { box-shadow: 0 0 0 0 rgba(238, 85, 0, 0); }
}

.appear, .fade-in-up { opacity: 0; transform: translateY(20px); transition: opacity 0.8s ease, transform 0.8s ease; }
.appear.is-visible, .fade-in-up.is-visible { opacity: 1; transform: translateY(0); }

.delay-1 { transition-delay: 0.1s; }
.delay-2 { transition-delay: 0.2s; }
.delay-3 { transition-delay: 0.3s; }
.delay-4 { transition-delay: 0.4s; }

@media (prefers-reduced-motion: reduce) {
    .appear, .fade-in-up, .cta-button { transition: none !important; animation: none !important; opacity: 1 !important; transform: none !important; }
}

.cta-button {
    display: inline-block; background-color: var(--color-accent-cta); color: var(--color-text-light);
    padding: 15px 30px; border-radius: 5px; font-weight: bold; text-transform: uppercase;
    margin-top: 15px; transition: background-color 0.3s, transform 0.2s; border: none; cursor: pointer; text-align: center;
}
.cta-button:hover { background-color: var(--color-primary-brand); color: var(--color-text-light); transform: translateY(-2px); }

/* SECONDARY BUTTON (Ghost Style) */
.secondary-cta {
    background-color: transparent;
    border: 2px solid var(--color-accent-cta);
    color: var(--color-accent-cta) !important;
}
.secondary-cta:hover {
    background-color: var(--color-accent-cta);
    color: white !important;
    transform: translateY(-2px);
}

.main-nav {
    position: fixed; top: 0; width: 100%; background-color: rgba(1, 18, 36, 0.95); 
    z-index: 1000; backdrop-filter: blur(5px); border-bottom: 1px solid rgba(255,255,255,0.05);
}
.nav-content { display: flex; justify-content: space-between; align-items: center; padding: 10px 20px; }
.logo-img { height: 40px; width: auto; display: block; }
.nav-links { list-style: none; display: flex; align-items: center; padding: 0; margin: 0; }
.nav-links li { margin-left: 30px; }
.nav-links a { font-weight: 700; text-transform: uppercase; font-size: 0.9rem; color: var(--color-text-fade); }
.nav-links a:hover, .nav-links a.active { color: var(--color-accent-cta); }
.nav-cta { background-color: var(--color-accent-cta); color: white !important; padding: 8px 15px; border-radius: 4px; margin-top: 0; }

main { padding-top: var(--nav-height); }
header.hero-section + main { padding-top: 0; }

.site-footer {
    padding: 20px 0; text-align: center; background-color: #000a14; font-size: 0.8rem;
    color: var(--color-text-fade); border-top: 1px solid rgba(77, 182, 255, 0.3);
    background-image: linear-gradient(rgba(255, 255, 255, 0.03) 1px, transparent 1px), linear-gradient(90deg, rgba(255, 255, 255, 0.03) 1px, transparent 1px);
    background-size: 30px 30px;
}

.slack-promo-box {
    background: linear-gradient(145deg, rgba(13, 37, 63, 0.9), rgba(0, 0, 0, 0.8));
    border: 1px solid rgba(77, 182, 255, 0.3); border-radius: 8px; padding: 30px;
    margin: 40px auto; max-width: 800px; text-align: center; display: flex; flex-direction: column;
    align-items: center; position: relative; overflow: hidden; box-shadow: 0 0 20px rgba(16, 112, 173, 0.15);
}
.slack-promo-box h3 { color: var(--color-secondary-accent); margin-bottom: 15px; }
.slack-promo-box ul { width: fit-content; padding: 0 0 0 20px; margin: 15px 0 25px 0; text-align: left; list-style: disc; }
.slack-promo-box li { color: var(--color-text-fade); margin-bottom: 8px; }

.hero-section, .research-hero-section, .events-hero-section, .mission-section {
    background-image: linear-gradient(rgba(16, 112, 173, 0.03) 1px, transparent 1px), linear-gradient(90deg, rgba(16, 112, 173, 0.03) 1px, transparent 1px);
    background-size: 50px 50px;
}
.hero-section {
    position: relative; height: 100vh; display: flex; align-items: center; justify-content: center;
    text-align: center; overflow: hidden; background-color: #000a14;
}
.video-background-container { position: absolute; top: 0; left: 0; width: 100%; height: 100%; z-index: 0; }
.header-video { width: 100%; height: 100%; object-fit: cover; opacity: 0.6; }
.hero-section::after { content: ''; position: absolute; top: 0; left: 0; width: 100%; height: 100%; background: rgba(0, 0, 0, 0.65); z-index: 1; }
.hero-content { position: relative; z-index: 2; max-width: 800px; padding: 0 20px; }

.research-hero-section, .events-hero-section, .mission-section {
    position: relative; padding: 150px 0 80px 0; background-color: var(--color-dark-cyber-bg); 
    border-bottom: 5px solid var(--color-primary-brand); text-align: center; margin-top: -1px;
}
.research-hero-section .content-box, .events-hero-section .content-box, .mission-section .content-box { display: flex; flex-direction: column; align-items: center; }
.research-hero-section p, .events-hero-section p, .mission-section p, .mission-section .mission-text { text-align: center; max-width: 900px; margin-left: auto; margin-right: auto; }
.research-hero-section .cta-button, .events-hero-section .cta-button, .mission-section .cta-button { margin-left: auto; margin-right: auto; display: inline-block; }

.secondary-section-dark, .leadership-section, .legal-section { background: radial-gradient(circle at center, #0d253f 0%, #011224 85%); }
.secondary-section-dark .content-box, .leadership-section .content-box, .legal-section .content-box { 
    border: 1px solid rgba(255, 255, 255, 0.08); background: rgba(0, 0, 0, 0.2); box-shadow: 0 0 30px rgba(0, 0, 0, 0.2);
}

.pillars-section { background-color: var(--color-background-light); }
.pillars-grid { display: flex; gap: 40px; }
.pillars-content { flex: 2; }
.pillars-section p, .pillars-section .section-subtitle { color: var(--color-text-dark) !important; }

.donation-sidebar {
    flex: 1; background-color: var(--color-background-dark) !important; border-radius: 8px; 
    padding: 30px; color: white; height: fit-content;
}
.donation-sidebar li, .donation-sidebar p, .donation-sidebar strong, .donation-sidebar ul { color: white !important; }
.donation-sidebar ul { padding-left: 20px; list-style: disc; }
.sidebar-title {
    color: var(--color-text-light); margin-bottom: 20px; border-bottom: 2px solid var(--color-accent-cta); padding-bottom: 10px;
}

.pillar-cards { display: grid; gap: 20px; }
.pillar-card {
    background: white; padding: 30px; border-radius: 8px; box-shadow: 0 4px 8px rgba(0,0,0,0.08);
    transition: transform 0.3s ease, box-shadow 0.3s ease;
    background-image: repeating-linear-gradient(45deg, transparent, transparent 5px, rgba(0,0,0,0.01) 5px, rgba(0,0,0,0.01) 7px);
    border: 1px solid transparent; 
}
.pillar-card h3, .pillar-card p { color: var(--color-text-dark) !important; }
.pillar-card:hover { transform: translateY(-5px); box-shadow: 0 10px 20px rgba(0,0,0,0.15); border: 1px solid var(--color-primary-brand); }
.pillar-icon { font-size: 2.5rem; color: var(--color-primary-brand); margin-bottom: 15px; display: block; }
.pillars-content .cta-button { display: table; margin: 30px auto 0 auto; }

.event-cards-grid, .focus-area-grid, .impact-grid, .cta-cards-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 30px; }

.cta-card, .event-card, .focus-area-card, .impact-card {
    padding: 30px; border-radius: 8px; transition: transform 0.3s, box-shadow 0.3s;
    background-image: repeating-linear-gradient(45deg, transparent, transparent 5px, rgba(255,255,255,0.01) 5px, rgba(255,255,255,0.01) 7px);
}

.cta-card {
    background-color: var(--color-background-dark); border-bottom: 4px solid var(--color-primary-brand);
    border: 1px solid rgba(255, 255, 255, 0.1); display: flex; flex-direction: column; height: 100%; gap: 20px; 
    align-items: center; text-align: center;
}
.cta-card .cta-button { margin-top: auto; align-self: center; }
.cta-icon { font-size: 4rem; color: var(--color-primary-brand); margin-bottom: 10px; }
.cta-card:hover { transform: translateY(-5px); border-bottom-color: var(--color-secondary-accent); }

.event-card, .focus-area-card { background-color: var(--color-card-bg); border-top: 5px solid var(--color-primary-brand); }
.event-card:hover, .focus-area-card:hover { transform: translateY(-5px); box-shadow: 0 10px 20px rgba(0, 191, 255, 0.15); }
#bsides .cta-button { display: table; margin: 30px auto 0 auto; }

.featured-leader {
    display: flex; gap: 40px; align-items: flex-start; background-color: var(--color-dark-cyber-bg); padding: 30px; margin: 40px 0;
    border-radius: 12px; border: 1px solid rgba(149, 17, 118, 0.5); box-shadow: 0 10px 20px rgba(0, 0, 0, 0.5); transition: transform 0.3s;
}
.featured-leader:hover { transform: scale(1.01); }
.leader-profile-col { flex-shrink: 0; width: 250px; display: flex; flex-direction: column; align-items: center; text-align: center; }
.leader-photo-container { width: 200px; height: 200px; overflow: hidden; border-radius: 50%; border: 5px solid var(--color-secondary-accent); margin-bottom: 15px; }
.leader-photo { width: 100%; height: 100%; object-fit: cover; }
.leader-bio { flex: 1; }
.leader-bio p { text-align: left !important; }

.advisors-section {
    background-color: var(--color-dark-cyber-bg); padding: 30px; margin-top: 40px;
    border-radius: 12px; border: 1px solid rgba(16, 112, 173, 0.3); text-align: left;
}
.advisors-section h4 { color: var(--color-secondary-accent); font-size: 1.5rem; margin-bottom: 20px; text-align: center; }
.advisors-section p { text-align: left !important; }
.advisors-section strong { color: var(--color-accent-cta); display: block; margin-bottom: 5px; margin-top: 15px; font-size: 1.1rem; }

.report-list-grid, .past-events-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 30px; margin-top: 40px; }
.report-item, .past-event-item {
    background-color: var(--color-background-dark); padding: 25px; border-radius: 8px; border-left: 5px solid var(--color-accent-cta); transition: box-shadow 0.3s;
}
.report-item:hover { box-shadow: 0 0 15px rgba(238, 85, 0, 0.5); }
.report-item h3 { color: var(--color-text-light); margin-bottom: 5px; }
.report-item .report-type { display: block; color: var(--color-secondary-accent); font-size: 0.9rem; margin-bottom: 10px; text-transform: uppercase; font-weight: 700; }
.report-item p { color: var(--color-text-fade); margin-bottom: 15px; }

.past-event-item { border: 1px solid rgba(255, 255, 255, 0.05); background-image: repeating-linear-gradient(45deg, transparent, transparent 5px, rgba(255,255,255,0.01) 5px, rgba(255,255,255,0.01) 7px); transition: all 0.3s ease; }
.past-event-item:hover { transform: translateY(-5px); box-shadow: 0 0 20px rgba(16, 112, 173, 0.3); border-color: rgba(255, 255, 255, 0.2); }
.past-event-item:hover h4 { color: var(--color-accent-cta); }
.past-event-item h4 { color: var(--color-text-light); margin-bottom: 5px; transition: color 0.3s; }
.past-event-item .date { display: block; color: var(--color-secondary-accent); font-size: 0.9rem; margin-bottom: 10px; text-transform: uppercase; font-weight: 700; }
.past-event-item p { color: var(--color-text-fade); margin-bottom: 0; }
#past-events .cta-button, .calendar-cta .cta-button { display: inline-block; }
.calendar-cta { text-align: center; margin-top: 30px; }

.contact-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 50px; align-items: start; }
.contact-info-block { background-color: var(--color-dark-cyber-bg); padding: 30px; border-radius: 8px; border-top: 5px solid var(--color-primary-brand); }
.contact-form-block { background-color: var(--color-background-dark); padding: 30px; border-radius: 8px; border-top: 5px solid var(--color-secondary-accent); }
.contact-details { margin-top: 30px; }
.detail-item { margin-bottom: 25px; padding-bottom: 15px; border-bottom: 1px dashed rgba(255, 255, 255, 0.1); }
.contact-icon { color: var(--color-primary-brand); font-size: 1.5rem; margin-right: 15px; float: left; line-height: 1.5; }
.mailing-address-block .address-line { margin-bottom: 0 !important; }

.payment-form-placeholder {
    min-height: 950px; background-color: var(--color-background-dark); border: 2px dashed var(--color-accent-cta);
    display: flex; flex-direction: column; align-items: center; justify-content: center;
    margin: 40px auto 0 auto; color: var(--color-text-fade); font-size: 1.1rem; border-radius: 8px; max-width: 700px; padding: 20px;
}
.donation-widget-frame { display: block; width: 100%; max-width: 425px; min-width: 250px; max-height: none; border: 0; }
.pci-compliance-note { margin-top: 20px; font-size: 0.9rem; text-align: center; }

.impact-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 30px; margin-top: 40px; }
.impact-card {
    background-color: var(--color-text-light); padding: 30px; border-radius: 8px; border-bottom: 5px solid var(--color-accent-cta);
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.08); transition: transform 0.3s, box-shadow 0.3s;
}
.impact-card h3, .impact-card p { color: var(--color-text-dark); }
.impact-card .pillar-icon { color: var(--color-accent-cta); font-size: 2.5rem; margin-bottom: 15px; display: block; }

.governance-points ul { margin-top: 15px; padding-left: 40px; list-style-type: disc; }
.governance-points li { margin-bottom: 10px; padding-left: 5px; }
.calendar-block ul { list-style: none; padding: 0; }
.calendar-block li { border-bottom: 1px dashed rgba(255,255,255,0.1); padding: 10px 0; }

.standard-contact-form { width: 100%; max-width: 600px; margin: 0 auto; }
.standard-contact-form .form-row { display: flex; gap: 20px; }
.form-group { margin-bottom: 20px; width: 100%; }
.standard-contact-form input, .standard-contact-form textarea {
    width: 100%; padding: 12px; background: var(--color-dark-cyber-bg); border: 1px solid #30363d; border-radius: 4px; color: white; font-family: inherit;
}
.standard-contact-form input:focus, .standard-contact-form textarea:focus { border-color: var(--color-accent-cta); outline: none; box-shadow: 0 0 8px rgba(238,85,0,0.3); }

.gallery-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 30px; margin-top: 40px; }
.gallery-item { background: rgba(0, 0, 0, 0.3); border: 1px solid rgba(77, 182, 255, 0.1); border-radius: 8px; overflow: hidden; }
.gallery-img-container { width: 100%; height: 250px; overflow: hidden; }
.gallery-img-container img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.5s ease; }
.gallery-item:hover img { transform: scale(1.05); }
.gallery-caption { padding: 20px; }

.modal-overlay {
    position: fixed; top: 0; left: 0; width: 100%; height: 100%; background: rgba(0, 10, 20, 0.9); backdrop-filter: blur(5px);
    z-index: 2000; display: flex; align-items: center; justify-content: center; opacity: 0; pointer-events: none; transition: opacity 0.3s ease;
}
.modal-overlay.is-open { opacity: 1; pointer-events: auto; }
.modal-content {
    background: var(--color-background-dark); padding: 40px; border: 1px solid var(--color-secondary-accent);
    box-shadow: 0 0 30px rgba(16, 112, 173, 0.3); border-radius: 8px; max-width: 500px; width: 90%;
    position: relative; text-align: center; transform: translateY(20px); transition: transform 0.3s ease;
    background-image: repeating-linear-gradient(45deg, transparent, transparent 5px, rgba(255,255,255,0.01) 5px, rgba(255,255,255,0.01) 7px);
}
.modal-overlay.is-open .modal-content { transform: translateY(0); }
.modal-close {
    position: absolute; top: 10px; right: 15px; background: none; border: none; color: var(--color-text-fade); font-size: 2rem; cursor: pointer; transition: color 0.3s;
}
.modal-close:hover { color: var(--color-accent-cta); }
.sender-form-field { text-align: center !important; margin: 0 auto !important; display: block; width: 100%; }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); border: 0; }

/* --- EVENTS PAGE SPECIFIC ADDITIONS --- */

/* NEW TERMINAL STATUS LINE */
.terminal-status-line {
    font-family: 'JetBrains Mono', monospace;
    background: rgba(1, 18, 36, 0.8);
    border: 1px solid var(--color-secondary-accent);
    color: var(--color-text-fade);
    padding: 12px 25px;
    border-radius: 4px; 
    display: inline-block;
    margin: 30px auto 0 auto; 
    font-size: 0.9rem;
    letter-spacing: 0.5px;
    box-shadow: 0 0 15px rgba(16, 112, 173, 0.1);
    transition: all 0.3s ease;
}
.terminal-status-line:hover {
    border-color: var(--color-accent-cta);
    box-shadow: 0 0 20px rgba(238, 85, 0, 0.2);
    transform: translateY(-2px);
}

/* BSides Split Layout */
.bsides-split-layout { display: flex; align-items: center; gap: 50px; }
.bsides-logo-col { flex: 0 0 35%; max-width: 350px; display: flex; justify-content: center; }
.bsides-logo-col img { width: 100%; height: auto; object-fit: contain; filter: drop-shadow(0 0 15px rgba(255,255,255,0.1)); }
.bsides-content-col { flex: 1; }
.event-card-compact { display: flex; align-items: center; gap: 15px; background: rgba(255,255,255,0.05); padding: 15px; border-radius: 6px; margin-bottom: 10px; border-left: 3px solid var(--color-primary-brand); }

/* Slack Strip */
.slack-strip-section { width: 100%; background: linear-gradient(90deg, #0d253f 0%, #011224 100%); border-top: 1px solid var(--color-secondary-accent); border-bottom: 1px solid var(--color-secondary-accent); padding: 30px 0; margin: 0; }
.slack-strip-content { display: flex; justify-content: space-between; align-items: center; padding: 0 20px; }
.slack-text h3 { margin: 0 0 5px 0; color: var(--color-text-light); }
.slack-text p { margin: 0; color: var(--color-text-fade); }
.slack-btn { margin-top: 0; background-color: #4A154B; color: white !important; border: 1px solid #4A154B; transition: all 0.3s ease; }
.slack-btn:hover { background-color: #ee5500 !important; border-color: #ee5500 !important; color: #ffffff !important; box-shadow: 0 0 15px rgba(238, 85, 0, 0.4); }

/* Calendar Wrapper */
.calendar-wrapper { max-width: 900px; margin: 0 auto; display: flex; flex-direction: column; gap: 15px; }
.calendar-row { display: flex; align-items: center; background: rgba(255, 255, 255, 0.03); border: 1px solid rgba(255, 255, 255, 0.05); border-radius: 8px; padding: 20px; transition: transform 0.2s, background 0.2s; }
.calendar-row:hover { background: rgba(255, 255, 255, 0.06); transform: translateX(5px); border-left: 4px solid var(--color-accent-cta); }
.cal-date { display: flex; flex-direction: column; align-items: center; justify-content: center; background: rgba(0, 0, 0, 0.3); padding: 10px 15px; border-radius: 6px; margin-right: 25px; min-width: 80px; border: 1px solid var(--color-secondary-accent); }
.cal-month { font-size: 0.8rem; font-weight: bold; color: var(--color-secondary-accent); text-transform: uppercase; }
.cal-day { font-size: 1.8rem; font-weight: 900; color: var(--color-text-light); line-height: 1; }
.cal-details { flex: 1; }
.cal-details h3 { margin: 0 0 5px 0; font-size: 1.2rem; color: var(--color-text-light); }
.cal-location { margin: 0; color: var(--color-text-fade); font-size: 0.9rem; }
.small-cta { display: inline-block; font-size: 0.8rem; background-color: var(--color-accent-cta); color: #ffffff !important; border: 1px solid var(--color-accent-cta); padding: 8px 18px; border-radius: 4px; text-transform: uppercase; font-weight: 800; text-decoration: none; transition: all 0.3s ease; }
.small-cta:hover { background-color: var(--color-primary-brand); border-color: var(--color-primary-brand); transform: translateY(-2px); box-shadow: 0 4px 10px rgba(238, 85, 0, 0.4); }

/* --- NEW DONATION PAGE STYLES --- */

/* Split Layout for Donation */
.donation-interface-grid {
    display: grid;
    grid-template-columns: 1.2fr 0.8fr; /* Form is wider than text */
    gap: 50px;
    align-items: start;
    max-width: 1200px;
    margin: 0 auto;
}

/* Secure Terminal Box (Left Side) */
.secure-terminal-box {
    background: #000a14;
    border: 1px solid var(--color-secondary-accent);
    border-radius: 6px;
    overflow: hidden;
    box-shadow: 0 0 30px rgba(16, 112, 173, 0.1);
    position: relative;
}

.payment-form-wrapper {
    background-color: #0b0f19;
    padding: 20px 0;
    width: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
}

.terminal-footer {
    background: #050b14;
    padding: 10px;
    text-align: center;
    border-top: 1px solid rgba(255,255,255,0.05);
    font-size: 0.8rem;
    color: var(--color-text-fade);
}

/* Impact List (Right Side) */
.donation-col-impact {
    padding-top: 20px;
}

.impact-list {
    display: flex;
    flex-direction: column;
    gap: 20px;
    margin-top: 30px;
}

.impact-row {
    display: flex;
    gap: 20px;
    background: rgba(255, 255, 255, 0.03);
    padding: 20px;
    border-radius: 8px;
    border: 1px solid rgba(255, 255, 255, 0.05);
    transition: transform 0.2s ease;
}

.impact-row:hover {
    transform: translateX(5px);
    background: rgba(255, 255, 255, 0.06);
    border-left: 3px solid var(--color-accent-cta);
}

.impact-icon {
    font-size: 2rem;
    color: var(--color-primary-brand);
    min-width: 50px;
    text-align: center;
}

.impact-content h3 {
    font-size: 1.1rem;
    margin-bottom: 5px;
    color: var(--color-text-light);
}

.impact-content p {
    font-size: 0.9rem;
    margin: 0;
    color: var(--color-text-fade);
}

/* FAQ Box */
.faq-box {
    margin-top: 40px;
    background: rgba(16, 112, 173, 0.1);
    border: 1px dashed var(--color-secondary-accent);
    padding: 20px;
    border-radius: 6px;
}
.faq-box h4 { margin-bottom: 10px; color: var(--color-secondary-accent); }
.faq-box p { font-size: 0.9rem; margin-bottom: 10px; }

/* --- MOBILE RESPONSIVE FIXES --- */
@media (max-width: 900px) {
    h1 { font-size: 2.2rem; }
    .pillars-grid, .contact-grid, .featured-leader { flex-direction: column; }
    .contact-grid { grid-template-columns: 1fr; }
    
    .hero-section { height: auto; min-height: 100vh; padding: 100px 0; }
    .standard-contact-form .form-row { flex-direction: column; gap: 0; }
    
    .nav-content { flex-direction: column; gap: 10px; }
    .nav-links { display: flex; flex-wrap: wrap; justify-content: center; padding: 0; width: 100%; }
    .nav-links li { margin: 5px 10px; }
    
    .leader-profile-col { width: 100%; border-bottom: 1px dashed rgba(255,255,255,0.1); padding-bottom: 20px; margin-bottom: 20px; }
    .cta-cards-grid, .event-cards-grid, .focus-area-grid, .impact-grid, .report-list-grid, .past-events-grid { grid-template-columns: 1fr; }

    /* Mobile adjustments for new elements */
    .bsides-split-layout { flex-direction: column; gap: 30px; }
    .bsides-logo-col { max-width: 200px; margin: 0 auto; }
    .bsides-content-col h2 { text-align: center !important; }

    .slack-strip-content { flex-direction: column; text-align: center; gap: 20px; }
    .calendar-row { flex-direction: column; text-align: center; gap: 15px; }
    .cal-date { margin-right: 0; width: 100%; flex-direction: row; gap: 10px; }
    .cal-day { font-size: 1.4rem; }
    
    .hub-stats { margin: 20px auto; }
    .cal-action { display: flex; gap: 10px; flex-wrap: wrap; align-items: center; }

    /* Donation Page Mobile */
    .donation-interface-grid {
        grid-template-columns: 1fr; 
        display: flex;
        flex-direction: column;
        gap: 40px;
    }
    
    .hero-actions {
        display: flex;
        flex-direction: column;
        align-items: center;
        gap: 15px;
    }
    .hero-actions .cta-button { margin-left: 0 !important; width: 100%; max-width: 300px; }
}

/* --- THEME & EXTRA SECTIONS --- */
body.group-1818-theme {
    --sector-blue-glow: #00f2ff; 
    --sector-dim-blue: rgba(0, 242, 255, 0.08);
    --sector-white: #ffffff;
    --sector-text-mute: #a0aab5;
    --sector-dark-bg: #050b14;   
    --sector-panel-bg: rgba(10, 20, 30, 0.85); 
    --sector-border: rgba(0, 242, 255, 0.3); 
    --sector-alert: #ff9d00; 
    --sector-success: #00ff41; 
    --sector-danger: #ff003c; 
    
    --lab-bg: #F5F7FA;
    --lab-text: #0f172a;
    --lab-text-mute: #64748b;
    --lab-border: #cbd5e1;
    --lab-accent: #00f2ff;

    --color-background-dark: var(--sector-dark-bg);
    --color-primary-brand: var(--sector-blue-glow);
    --color-text-light: var(--sector-white);
    --color-text-fade: var(--sector-text-mute);
    
    font-family: 'Inter', sans-serif;
}

.group-1818-theme h1, .group-1818-theme h2, .group-1818-theme h3, .group-1818-theme h4, .group-1818-theme .sector-font {
    font-family: 'Rajdhani', sans-serif; text-transform: uppercase; letter-spacing: 1px;
}
.group-1818-theme .mono-font, .group-1818-theme .stat-box p, .group-1818-theme .last-update, .group-1818-theme .progress-label {
    font-family: 'JetBrains Mono', monospace;
}

@keyframes grid-scroll { 0% { background-position: 0 0; } 100% { background-position: 40px 40px; } }
@keyframes scanline { 0% { top: -10%; opacity: 0; } 50% { opacity: 1; } 100% { top: 110%; opacity: 0; } }
@keyframes pulse-green { 0% { box-shadow: 0 0 0 0 rgba(0, 255, 65, 0.7); } 70% { box-shadow: 0 0 0 6px rgba(0, 255, 65, 0); } 100% { box-shadow: 0 0 0 0 rgba(0, 255, 65, 0); } }

.sector-hero {
    padding: 160px 0 100px 0; text-align: center; position: relative; overflow: hidden;
    background-color: var(--sector-dark-bg);
    background-image: linear-gradient(var(--sector-dim-blue) 1px, transparent 1px), linear-gradient(90deg, var(--sector-dim-blue) 1px, transparent 1px);
    background-size: 40px 40px; animation: grid-scroll 20s linear infinite; border-bottom: 1px solid var(--sector-border);
}
.sector-hero::after {
    content: ''; position: absolute; left: 0; width: 100%; height: 5px;
    background: linear-gradient(90deg, transparent, var(--sector-blue-glow), transparent); opacity: 0.5; animation: scanline 6s linear infinite; z-index: 1;
}
.decrypt-title {
    font-size: 5rem; color: var(--sector-white); text-shadow: 0 0 25px var(--sector-blue-glow);
    margin-bottom: 15px; position: relative; z-index: 2; min-height: 1.2em; display: inline-block;
}
.sector-badge {
    display: inline-block; border: 1px solid var(--sector-blue-glow); color: var(--sector-blue-glow);
    padding: 5px 15px; font-family: 'JetBrains Mono', monospace; font-size: 0.9rem; margin-bottom: 20px;
    background: rgba(0, 242, 255, 0.15); letter-spacing: 2px; position: relative; z-index: 2;
}

.hub-stats {
    display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 0;
    background: var(--sector-panel-bg); border: 1px solid var(--sector-border);
    box-shadow: 0 0 15px rgba(0, 242, 255, 0.1); backdrop-filter: blur(10px);
    margin: -50px auto 40px auto; position: relative; z-index: 10; max-width: 1000px;
}
.stat-box { text-align: center; padding: 25px; border-right: 1px solid var(--sector-border); }
.stat-box:last-child { border-right: none; }
.stat-box h4 { font-size: 2.5rem; color: var(--sector-white); margin-bottom: 5px; text-shadow: 0 0 10px var(--sector-blue-glow); }
.stat-box p { font-size: 0.75rem; color: var(--sector-blue-glow); text-transform: uppercase; margin: 0; letter-spacing: 1px; }

.mission-alert-bar {
    max-width: 800px; margin: 0 auto 30px auto;
    background: linear-gradient(90deg, rgba(255, 157, 0, 0.1) 0%, rgba(255, 157, 0, 0.2) 50%, rgba(255, 157, 0, 0.1) 100%);
    border: 1px solid var(--sector-alert); padding: 15px; text-align: center; display: flex; align-items: center; justify-content: center; gap: 20px;
    position: relative; z-index: 2;
}
.mission-alert-bar p { margin: 0; color: var(--sector-alert); font-family: 'JetBrains Mono', monospace; font-size: 0.9rem; text-transform: uppercase; }
.alert-btn { background: var(--sector-alert); color: #000; padding: 5px 15px; font-weight: bold; font-size: 0.8rem; text-transform: uppercase; border-radius: 2px; }
.alert-btn:hover { background: #fff; color: #000 !important; }

.sector-section-dark { padding: 40px 0 80px 0; background: linear-gradient(180deg, var(--sector-dark-bg) 0%, #02060a 100%); }
.live-indicator {
    display: inline-block; width: 10px; height: 10px; background-color: var(--sector-success);
    border-radius: 50%; margin-right: 15px; animation: pulse-green 2s infinite; 
    box-shadow: 0 0 10px var(--sector-success); vertical-align: middle; position: relative; top: -3px;
}
.active-projects-container { display: flex; flex-direction: column; gap: 20px; max-width: 1000px; margin: 0 auto; }
.project-strip {
    background: linear-gradient(90deg, rgba(0, 242, 255, 0.03) 0%, transparent 100%);
    border: 1px solid rgba(0, 242, 255, 0.1); border-left: 4px solid var(--sector-blue-glow);
    padding: 25px; display: grid; grid-template-columns: 1fr auto; align-items: center; transition: all 0.3s ease;
}
.project-strip:hover {
    background: linear-gradient(90deg, rgba(0, 242, 255, 0.08) 0%, transparent 100%);
    border-color: var(--sector-blue-glow); box-shadow: 0 0 20px rgba(0, 242, 255, 0.1); transform: translateX(10px);
}
.project-main h4 { margin: 0 0 10px 0; font-size: 1.5rem; color: var(--sector-white); display: flex; align-items: center; gap: 15px; }
.project-main i { color: var(--sector-blue-glow); font-size: 1.2rem; }
.project-main p { margin: 0 0 20px 0; color: var(--sector-text-mute); font-size: 0.95rem; max-width: 700px; }
.project-meta { display: flex; align-items: center; gap: 30px; flex-wrap: wrap; }
.last-update { font-size: 0.75rem; color: var(--sector-blue-glow); background: var(--sector-dim-blue); padding: 4px 8px; }
.progress-wrapper { width: 220px; }
.progress-label { font-size: 0.7rem; text-transform: uppercase; color: var(--sector-text-mute); display: block; margin-bottom: 5px; }
.progress-bar-bg { background: rgba(255, 255, 255, 0.1); height: 4px; width: 100%; }
.progress-fill { background: var(--sector-blue-glow); height: 100%; box-shadow: 0 0 10px var(--sector-blue-glow); }

.status-pill {
    font-family: 'JetBrains Mono', monospace; font-size: 0.75rem; padding: 6px 16px; border-radius: 2px;
    text-transform: uppercase; font-weight: bold; letter-spacing: 1px; display: inline-flex; align-items: center; gap: 8px; white-space: nowrap;
}
.status-pill.pill-blue {
    border: 1px solid var(--sector-blue-glow); color: var(--sector-blue-glow); background: rgba(0, 242, 255, 0.1); box-shadow: 0 0 10px rgba(0, 242, 255, 0.15);
}
.status-pill.pill-orange {
    border: 1px solid var(--sector-alert); color: var(--sector-alert); background: rgba(255, 157, 0, 0.1); box-shadow: 0 0 10px rgba(255, 157, 0, 0.15);
}
.status-pill.pill-green {
    border: 1px solid var(--sector-success); color: var(--sector-success); background: rgba(0, 255, 65, 0.1); box-shadow: 0 0 10px rgba(0, 255, 65, 0.15);
}

.sector-section-vectors {
    padding: 100px 0; background-color: #080d16;
    background-image: radial-gradient(var(--sector-dim-blue) 1px, transparent 1px); background-size: 30px 30px;
    border-top: 1px solid var(--sector-border); border-bottom: 1px solid var(--sector-border);
}
.sector-card {
    background: var(--sector-panel-bg); border: 1px solid rgba(255,255,255,0.05);
    padding: 30px; position: relative; transition: transform 0.3s;
}
.sector-card:hover { transform: translateY(-5px); border-color: var(--sector-blue-glow); box-shadow: 0 0 25px rgba(0, 242, 255, 0.1); }
.sector-card .icon-box { font-size: 2rem; color: var(--sector-blue-glow); margin-bottom: 20px; }
.sector-card h3 { margin-bottom: 15px; color: var(--sector-white); }
.sector-card p { color: var(--sector-text-mute); font-size: 0.9rem; }

.radar-section { padding: 80px 0; background: var(--sector-dark-bg); border-top: 1px solid var(--sector-border); }
.sparkline-table { width: 100%; border-collapse: collapse; margin-top: 30px; font-family: 'Inter', sans-serif; }
.sparkline-table th { text-align: left; padding: 15px 20px; color: var(--sector-text-mute); font-size: 0.75rem; text-transform: uppercase; border-bottom: 2px solid var(--sector-border); letter-spacing: 1px; }
.sparkline-table tr { border-bottom: 1px solid rgba(255,255,255,0.05); transition: background 0.2s; }
.sparkline-table tr:hover { background: rgba(255,255,255,0.03); }
.sparkline-table td { padding: 20px; vertical-align: middle; color: var(--sector-white); }

.sparkline-container { width: 120px; height: 40px; position: relative; }
.sparkline-svg { width: 100%; height: 100%; overflow: visible; }
.spark-path { fill: none; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.spark-dot { r: 3; }

.path-crit { stroke: var(--sector-danger); filter: drop-shadow(0 0 4px var(--sector-danger)); }
.dot-crit { fill: var(--sector-danger); animation: ping 1.5s infinite; }
.path-high { stroke: var(--sector-alert); }
.dot-high { fill: var(--sector-alert); }
.path-elev { stroke: var(--sector-blue-glow); }
.dot-elev { fill: var(--sector-blue-glow); }
.path-norm { stroke: var(--sector-success); }
.dot-norm { fill: var(--sector-success); }

@keyframes ping { 0% { opacity: 1; transform: scale(1); } 100% { opacity: 0; transform: scale(3); transform-origin: center; } }

.trend-text { font-family: 'JetBrains Mono', monospace; font-size: 0.9rem; }
.status-badge { padding: 4px 10px; border-radius: 4px; font-size: 0.75rem; font-weight: 700; text-transform: uppercase; letter-spacing: 1px; display: inline-block; }
.badge-crit { background: rgba(255, 0, 60, 0.15); color: var(--sector-danger); border: 1px solid var(--sector-danger); }
.badge-high { background: rgba(255, 157, 0, 0.15); color: var(--sector-alert); border: 1px solid var(--sector-alert); }
.badge-elev { background: rgba(0, 242, 255, 0.15); color: var(--sector-blue-glow); border: 1px solid var(--sector-blue-glow); }
.badge-norm { background: rgba(0, 255, 65, 0.15); color: var(--sector-success); border: 1px solid var(--sector-success); }

.sector-section-white {
    background-color: var(--lab-bg); padding: 100px 0;
    background-image: linear-gradient(rgba(0,0,0,0.03) 1px, transparent 1px), linear-gradient(90deg, rgba(0,0,0,0.03) 1px, transparent 1px);
    background-size: 20px 20px; color: var(--lab-text);
    border-top: 10px solid var(--sector-dark-bg); border-bottom: 10px solid var(--sector-dark-bg);
    position: relative;
}
.tlp-stamp {
    position: absolute; top: 30px; right: 30px;
    border: 3px solid #94a3b8; color: #64748b; padding: 8px 15px;
    font-family: 'JetBrains Mono', monospace; font-weight: bold; text-transform: uppercase; font-size: 0.9rem;
    opacity: 0.8; transform: rotate(-5deg); background: rgba(0,0,0,0.02);
}
.tlp-stamp-bottom {
    position: absolute; bottom: 30px; left: 30px;
    border: 3px solid #94a3b8; color: #64748b; padding: 8px 15px;
    font-family: 'JetBrains Mono', monospace; font-weight: bold; text-transform: uppercase; font-size: 0.9rem;
    opacity: 0.8; transform: rotate(2deg); background: rgba(0,0,0,0.02);
}
.sector-section-white h2 { color: var(--lab-text) !important; text-shadow: none; }
.sector-section-white h3 { color: var(--lab-text); }
.sector-section-white p { color: var(--lab-text-mute) !important; }

/* Field Manual SOP Layout */
.sop-frame {
    max-width: 900px; margin: 40px auto;
    border: 2px solid var(--lab-text);
    background: #fff;
    box-shadow: 10px 10px 0px rgba(0,0,0,0.05);
}
.sop-header {
    background: #f1f5f9;
    border-bottom: 2px solid var(--lab-text);
    padding: 12px 20px;
    display: flex; justify-content: space-between;
    font-family: 'JetBrains Mono', monospace;
    font-size: 0.8rem; color: #64748b;
    text-transform: uppercase;
}
.sop-grid {
    display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
}
.sop-cell {
    padding: 30px;
    border-right: 1px solid var(--lab-text);
    border-bottom: 1px solid var(--lab-text);
    position: relative;
}
.sop-cell:last-child { border-right: none; }
.sop-id {
    display: block; font-family: 'JetBrains Mono', monospace;
    font-weight: 700; color: var(--lab-text); margin-bottom: 15px;
    font-size: 0.9rem;
}
.sop-icon {
    font-size: 2rem; color: var(--lab-text); opacity: 0.8; margin-bottom: 15px;
}
.sop-status {
    font-family: 'JetBrains Mono', monospace; font-size: 0.75rem;
    color: var(--sector-alert); display: block; margin-top: 15px;
    letter-spacing: 1px;
}

.offline-indicator { 
    display: inline-block; width: 10px; height: 10px; background-color: var(--sector-danger); 
    border-radius: 50%; margin-right: 15px; opacity: 0.8; vertical-align: middle; position: relative; top: -3px; 
}
.lab-case-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 30px; margin-top: 40px; }
.lab-card {
    background: #fff; border: 1px solid var(--lab-border); padding: 30px;
    box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.05); transition: all 0.3s ease; border-left: 4px solid var(--lab-text);
}
.lab-card:hover { transform: translateY(-5px); box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1); border-left-color: var(--sector-danger); }
.lab-meta { font-family: 'JetBrains Mono', monospace; color: #94a3b8; font-size: 0.75rem; text-transform: uppercase; display: block; margin-bottom: 10px; }
.lab-link { color: var(--lab-text); font-weight: 700; text-decoration: none; font-size: 0.9rem; text-transform: uppercase; display: inline-block; margin-top: 15px; border-bottom: 1px solid transparent; }

.secure-drop-box {
    background: #000; border: 2px dashed var(--sector-alert); padding: 40px; text-align: center;
    margin: 60px auto; max-width: 800px; position: relative;
}
.secure-btn { border: 1px solid var(--sector-alert); color: var(--sector-alert); padding: 10px 25px; font-family: 'JetBrains Mono', monospace; text-transform: uppercase; background: rgba(255, 157, 0, 0.1); display: inline-block; }
.secure-btn:hover { background: var(--sector-alert); color: #000; }

.secure-drop-white {
    background: #fff; border: 2px dashed #94a3b8; padding: 40px; text-align: center;
    margin: 60px auto; max-width: 800px; position: relative; border-radius: 4px;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}
.secure-drop-white:hover {
    transform: translateY(-5px);
    box-shadow: 0 10px 30px rgba(0,0,0,0.1);
    border-color: var(--color-primary-brand);
}
.secure-drop-white h3 { color: var(--lab-text); margin-bottom: 10px; }
.secure-drop-white p { color: #64748b; margin-bottom: 20px; }
.secure-btn-white { 
    border: 2px solid var(--lab-text); color: var(--lab-text); padding: 10px 25px; 
    font-family: 'JetBrains Mono', monospace; text-transform: uppercase; background: transparent; display: inline-block; font-weight: bold;
    transition: all 0.3s ease;
}
.secure-btn-white:hover { background: var(--lab-text); color: #fff; }

.sector-section-cta { padding: 100px 0; background: #000; border-top: 4px solid var(--sector-blue-glow); text-align: center; position: relative; }
.sector-section-cta::before { content: ''; position: absolute; top: 0; left: 0; width: 100%; height: 100%; background: repeating-linear-gradient(0deg, transparent, transparent 2px, rgba(0, 242, 255, 0.05) 3px); pointer-events: none; }
.sector-btn { border: 1px solid var(--sector-blue-glow); background: rgba(0, 242, 255, 0.05); color: var(--sector-blue-glow); font-family: 'Rajdhani', sans-serif; letter-spacing: 2px; padding: 15px 40px; text-transform: uppercase; font-weight: 700; position: relative; z-index: 2; }
.sector-btn:hover { background: var(--sector-blue-glow); color: #000; box-shadow: 0 0 30px rgba(0, 242, 255, 0.5); }

.nav-sector-link {
    font-family: 'JetBrains Mono', monospace !important; font-weight: 700 !important; font-size: 1.0rem; 
    text-transform: uppercase; color: #00f2ff !important; position: relative; letter-spacing: 2px;
    text-decoration: none; transition: color 0.2s; display: inline-block;
}
.nav-sector-link::before, .nav-sector-link::after {
    content: attr(data-text); position: absolute; top: 0; left: 0; width: 100%; height: 100%; opacity: 0.8;
    pointer-events: none;
}
.nav-sector-link::before { color: #ff003c; z-index: -1; animation: glitch-effect-1 3s infinite linear alternate-reverse; }
.nav-sector-link::after { color: #00f2ff; z-index: -2; animation: glitch-effect-2 2.5s infinite linear alternate-reverse; }
.nav-sector-link:hover { color: #fff !important; text-shadow: 0 0 8px rgba(0, 242, 255, 0.8); }
.nav-sector-link:hover::before, .nav-sector-link:hover::after { display: none; }

@keyframes glitch-effect-1 {
    0% { clip-path: inset(20% 0 80% 0); transform: translate(-2px, 1px); }
    10% { clip-path: inset(60% 0 10% 0); transform: translate(2px, -1px); }
    20% { clip-path: inset(40% 0 50% 0); transform: translate(-2px, 2px); }
    30% { clip-path: inset(80% 0 5% 0); transform: translate(2px, -2px); }
    40% { clip-path: inset(10% 0 70% 0); transform: translate(-2px, 1px); }
    50% { clip-path: inset(50% 0 30% 0); transform: translate(2px, -1px); }
    60% { clip-path: inset(30% 0 60% 0); transform: translate(-2px, 2px); }
    70% { clip-path: inset(70% 0 20% 0); transform: translate(2px, -2px); }
    80% { clip-path: inset(20% 0 40% 0); transform: translate(-2px, 1px); }
    90% { clip-path: inset(90% 0 5% 0); transform: translate(2px, -1px); }
    100% { clip-path: inset(10% 0 80% 0); transform: translate(-2px, 2px); }
}
@keyframes glitch-effect-2 {
    0% { clip-path: inset(10% 0 60% 0); transform: translate(2px, -1px); }
    10% { clip-path: inset(80% 0 15% 0); transform: translate(-2px, 2px); }
    20% { clip-path: inset(30% 0 20% 0); transform: translate(2px, 1px); }
    30% { clip-path: inset(10% 0 80% 0); transform: translate(-2px, -1px); }
    40% { clip-path: inset(50% 0 40% 0); transform: translate(2px, 2px); }
    50% { clip-path: inset(20% 0 70% 0); transform: translate(-2px, -1px); }
    60% { clip-path: inset(70% 0 10% 0); transform: translate(2px, 1px); }
    70% { clip-path: inset(15% 0 55% 0); transform: translate(-2px, -2px); }
    80% { clip-path: inset(60% 0 30% 0); transform: translate(2px, 1px); }
    90% { clip-path: inset(5% 0 85% 0); transform: translate(-2px, -1px); }
    100% { clip-path: inset(40% 0 20% 0); transform: translate(2px, 2px); }
}
/* --- SOCIAL MEDIA LINKS --- */
.social-connect { margin-top: 30px; }
.social-links-row { display: flex; gap: 15px; margin-top: 15px; }

.social-icon-btn {
    width: 45px; height: 45px; border-radius: 50%; 
    display: flex; align-items: center; justify-content: center;
    background: rgba(255, 255, 255, 0.05); 
    color: var(--color-text-fade); 
    border: 1px solid rgba(255, 255, 255, 0.1);
    font-size: 1.2rem; transition: all 0.3s ease;
    text-decoration: none;
}

.social-icon-btn:hover {
    background: var(--color-accent-cta); 
    color: #fff; 
    transform: translateY(-3px); 
    border-color: var(--color-accent-cta);
    box-shadow: 0 5px 15px rgba(238, 85, 0, 0.3);
}

/* Specific Alignment for Contact Page vs Index */
.contact-info-block .social-connect { 
    text-align: center; /* Changed from left to center */
    border-top: none;   /* Removed the "extra line" */
    padding-top: 10px; 
    margin-top: 30px; 
}

.contact-info-block .social-links-row { 
    justify-content: center; /* Centers the icons in the row */
}

.legal-section .social-connect { 
    text-align: center; 
    margin-top: 40px; 
    padding-top: 20px; 
    border-top: 1px solid rgba(255,255,255,0.1); 
}

.legal-section .social-links-row { 
    justify-content: center; 
}

/* --- HEARTLAND DEFENSE CONSORTIUM --- */

/* --- HEARTLAND DEFENSE CONSORTIUM --- */

/* FIX 1: Define variables AND give it a unique "Secure Mesh" background */
#consortium {
    --sector-blue-glow: #00f2ff;
    --sector-alert: #ff9d00;

    /* "Command Mesh" Background */
    background-color: #02060b; /* Darker than standard navy */
    background-image: 
        /* Subtle center glow */
        radial-gradient(circle at 50% 0%, rgba(16, 112, 173, 0.15) 0%, transparent 70%),
        /* Crosshatch Security Mesh Pattern */
        linear-gradient(0deg, rgba(255,255,255,0.03) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255,255,255,0.03) 1px, transparent 1px);
    
    background-size: 100% 100%, 40px 40px, 40px 40px; /* Mesh Size */
    
    /* Hard borders to separate it from the section above */
    border-top: 1px solid rgba(16, 112, 173, 0.3);
    border-bottom: 1px solid rgba(16, 112, 173, 0.3);
    
    position: relative;
    box-shadow: inset 0 0 50px rgba(0,0,0,0.8); /* Inner shadow for depth */
}

/* Add a visual "Security Line" at the top */
#consortium::before {
    content: '';
    position: absolute;
    top: 0; left: 0; right: 0;
    height: 1px;
    background: linear-gradient(90deg, transparent, var(--color-secondary-accent), transparent);
    opacity: 0.7;
}

/* 1. Homepage Teaser Strip */
#consortium-teaser {
    padding: 60px 0;
    border-top: 1px solid rgba(16, 112, 173, 0.3);
    border-bottom: 1px solid rgba(16, 112, 173, 0.3);
    background: radial-gradient(circle at center, #0d253f 0%, #011224 100%);
}

#consortium-teaser i {
    filter: drop-shadow(0 0 10px rgba(16, 112, 173, 0.4));
}

/* 2. Sponsorship Tier Cards (Donate Page) */
.tier-card {
    background: linear-gradient(145deg, #0d1520, #01060c);
    border: 1px solid rgba(255, 255, 255, 0.05);
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    
    /* FIX 2: Force Center Alignment for Icon/Title */
    align-items: center; 
    text-align: center;
    
    transition: transform 0.3s ease, box-shadow 0.3s ease;
    padding: 30px; /* Ensure padding is explicit */
}

.tier-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.3);
}

.tier-card h3 { margin-top: 15px; } /* Space between icon and title */

.tier-list {
    text-align: left; /* Keep the bullet points left-aligned for readability */
    width: 100%;
    margin-bottom: 30px; 
    padding-left: 0;
    list-style: none;
}

.tier-list li {
    margin-bottom: 10px;
    padding-left: 20px;
    position: relative;
    font-size: 0.9rem;
    color: var(--color-text-fade);
}

.tier-list li::before {
    content: '►';
    position: absolute;
    left: 0;
    font-size: 0.7rem;
    top: 4px;
    opacity: 0.7;
}

/* TIER 1: Founding Circle (White/Platinum) */
.tier-founding { 
    border-top: 5px solid #ffffff; 
}
.tier-founding h3 { color: #ffffff; }
.tier-founding .pillar-icon { color: #ffffff; }
.tier-founding li strong { color: #ffffff; }
.tier-founding .cta-button { background: #ffffff; color: #000; width: 100%; }
.tier-founding .cta-button:hover { background: #e6e6e6; }

/* TIER 2: Alliance (Cyber Blue) */
.tier-alliance { 
    /* FIX 3: Set generic border first, THEN top border to prevent color override */
    border: 1px solid rgba(0, 242, 255, 0.2); 
    border-top: 5px solid var(--sector-blue-glow); 
}
.tier-alliance h3 { color: var(--sector-blue-glow); }
.tier-alliance .pillar-icon { color: var(--sector-blue-glow); }
.tier-alliance li strong { color: var(--sector-blue-glow); }
.tier-alliance .cta-button { background: var(--sector-blue-glow); color: #000; width: 100%; }
.tier-alliance .cta-button:hover { background: #00c2cc; }

/* TIER 3: Workforce (Orange) */
.tier-workforce { 
    /* Reordered for consistency */
    border: 1px solid rgba(238, 85, 0, 0.2);
    border-top: 5px solid var(--sector-alert); 
}
.tier-workforce h3 { color: var(--sector-alert); }
.tier-workforce .pillar-icon { color: var(--sector-alert); }
.tier-workforce li strong { color: var(--sector-alert); }
.tier-workforce .cta-button { background: var(--sector-alert); color: #fff; width: 100%; }
.tier-workforce .cta-button:hover { background: #cc4900; }

/* --- SPONSOR SHOWCASE MODULES --- */

/* 1. Shared Logo Styles */
.sponsor-img {
    /* KEY CHANGE: Use max dimensions instead of fixed height */
    max-height: 70px; 
    max-width: 160px;
    width: auto;
    height: auto;

    /* TEMP FIX: Turn logos white to ensure contrast against dark background */
    filter: brightness(0) invert(1) opacity(1); 
    
    /* TEMP FIX: Force them above the fade gradients */
    position: relative;
    z-index: 10;
    
    /* Visual styling */
    object-fit: contain; /* Ensures logo isn't squashed/stretched */
    filter: grayscale(100%) opacity(0.6);
    transition: all 0.3s ease;
}

.sponsor-img:hover {
    filter: grayscale(0%) opacity(1);
    transform: scale(1.05);
}

/* 2. Index Page: Infinite Marquee */
.sponsor-marquee-section {
    background-color: var(--color-dark-cyber-bg);
    border-bottom: 1px solid rgba(16, 112, 173, 0.2);
    padding: 20px 0; /* Reduced padding slightly for tightness */
    overflow: hidden;
    position: relative;
}

.marquee-container {
    max-width: 100%;
    overflow: hidden;
    white-space: nowrap;
    position: relative;
}

/* Gradient fades on edges */
.marquee-container::before,
.marquee-container::after {
    content: "";
    position: absolute;
    top: 0;
    width: 150px;
    height: 100%;
    z-index: 2;
    pointer-events: none; /* Allows clicking through the fade if needed */
}

.marquee-container::before {
    left: 0;
    background: linear-gradient(to right, var(--color-dark-cyber-bg), transparent);
}

.marquee-container::after {
    right: 0;
    background: linear-gradient(to left, var(--color-dark-cyber-bg), transparent);
}

.marquee-track {
    display: flex; /* Ensures items line up perfectly */
    width: max-content; /* Forces track to be as wide as content */
}

/* Only animate if the JS has finished loading */
.scroller[data-animated="true"] .marquee-track {
    animation: scroll 40s linear infinite;
}

/* Pause on hover (ensure this targets the animated version too) */
.scroller[data-animated="true"] .marquee-track:hover {
    animation-play-state: paused;
}

.marquee-track:hover {
    animation-play-state: paused;
}

/* THE CONTAINER BOX */
.marquee-item {
    /* This creates a uniform "slot" for every logo */
    display: flex;
    align-items: center;   /* Vertically centers the logo */
    justify-content: center; /* Horizontally centers the logo */
    width: 200px;          /* Every logo gets exactly 200px of width */
    height: 100px;         /* Every logo gets exactly 100px of height */
    margin: 0;             /* Margin is handled by the width of the box */
}

@keyframes scroll {
    0% { transform: translateX(0); }
    100% { transform: translateX(-50%); } 
}
