/*
Theme Name: MESC - Makerere Epidemiology and Statistical Center
Theme URI: https://www.youtube.com/@makepistat
Author: MESC Team
Author URI: https://www.researchgate.net/profile/Bashir-Ssuna
Description: A professional research consultancy theme for epidemiology, biostatistics, data science, and implementation science.
Version: 2.0.0
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: mesc
Tags: research, academic, consultancy, epidemiology, biostatistics
*/

/* ===== RESET ===== */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
:root{--color-primary:#1a3c5e;--color-primary-light:#2a5f8f;--color-primary-dark:#0f2840;--color-accent:#e8a838;--color-accent-hover:#d4952e;--color-bg:#fafbfc;--color-surface:#ffffff;--color-surface-alt:#f0f3f6;--color-text:#2c3e50;--color-text-light:#5a6d7e;--color-text-muted:#8899a6;--color-border:#dce3ea;--color-border-light:#edf1f5;--color-success:#27ae60;--color-danger:#c0392b;--font-display:'Playfair Display',Georgia,serif;--font-body:'Source Sans 3','Segoe UI',Tahoma,sans-serif;--font-mono:'JetBrains Mono','Fira Code',monospace;--shadow-sm:0 1px 3px rgba(26,60,94,.08);--shadow-md:0 4px 16px rgba(26,60,94,.1);--shadow-lg:0 8px 32px rgba(26,60,94,.12);--shadow-xl:0 16px 48px rgba(26,60,94,.15);--radius-sm:4px;--radius-md:8px;--radius-lg:12px;--radius-xl:16px;--max-width:1200px;--header-height:80px;--transition:.3s cubic-bezier(.4,0,.2,1)}
html{font-size:16px;scroll-behavior:smooth;-webkit-font-smoothing:antialiased}
body{font-family:var(--font-body);color:var(--color-text);background:var(--color-bg);line-height:1.7;overflow-x:hidden}
a{color:var(--color-primary-light);text-decoration:none;transition:color var(--transition)}a:hover{color:var(--color-accent)}
img{max-width:100%;height:auto;display:block}
h1,h2,h3,h4,h5,h6{font-family:var(--font-display);color:var(--color-primary-dark);line-height:1.3;font-weight:700}
h1{font-size:2.8rem}h2{font-size:2.2rem}h3{font-size:1.6rem}h4{font-size:1.3rem}
p{margin-bottom:1rem}.container{width:100%;max-width:var(--max-width);margin:0 auto;padding:0 2rem}

/* ===== HEADER ===== */
.site-header{position:sticky;top:0;z-index:1000;background:var(--color-primary-dark);border-bottom:3px solid var(--color-accent);height:var(--header-height);display:flex;align-items:center}
.header-inner{display:flex;align-items:center;justify-content:space-between;width:100%;max-width:var(--max-width);margin:0 auto;padding:0 2rem;gap:1rem}
.site-branding{display:flex;align-items:center;gap:.75rem;flex-shrink:0}
.site-branding .logo-icon{width:42px;height:42px;background:var(--color-accent);border-radius:50%;display:flex;align-items:center;justify-content:center;font-family:var(--font-display);font-weight:700;font-size:1.1rem;color:var(--color-primary-dark);flex-shrink:0}
.site-branding .site-title{font-family:var(--font-display);font-size:1.15rem;font-weight:700;color:#fff;letter-spacing:.02em;line-height:1.2}
.site-branding .site-title span{display:block;font-family:var(--font-body);font-size:.7rem;font-weight:400;color:var(--color-accent);letter-spacing:.15em;text-transform:uppercase;margin-top:2px}
.main-navigation ul{list-style:none;display:flex;gap:0}
.main-navigation a{display:block;padding:.5rem .85rem;color:rgba(255,255,255,.85);font-size:.85rem;font-weight:600;letter-spacing:.03em;transition:all var(--transition);position:relative}
.main-navigation a::after{content:'';position:absolute;bottom:0;left:.85rem;right:.85rem;height:2px;background:var(--color-accent);transform:scaleX(0);transition:transform var(--transition)}
.main-navigation a:hover,.main-navigation .current-menu-item a,.main-navigation .current_page_item a{color:#fff}
.main-navigation a:hover::after,.main-navigation .current-menu-item a::after,.main-navigation .current_page_item a::after{transform:scaleX(1)}
.header-actions{flex-shrink:0}
.header-login-btn{display:inline-flex;align-items:center;padding:.45rem 1.2rem;background:var(--color-accent);color:var(--color-primary-dark)!important;font-size:.82rem;font-weight:700;border-radius:100px;transition:all var(--transition);letter-spacing:.02em}
.header-login-btn:hover{background:var(--color-accent-hover);color:var(--color-primary-dark)!important;transform:translateY(-1px)}
.menu-toggle{display:none;background:none;border:none;cursor:pointer;padding:.5rem}
.menu-toggle span{display:block;width:24px;height:2px;background:#fff;margin:5px 0;transition:var(--transition)}

/* ===== HERO ===== */
.hero-section{position:relative;background:linear-gradient(135deg,var(--color-primary-dark) 0%,var(--color-primary) 50%,var(--color-primary-light) 100%);padding:6rem 0 5rem;overflow:hidden;color:#fff}
.hero-section::before{content:'';position:absolute;top:0;left:0;right:0;bottom:0;background:radial-gradient(circle at 20% 80%,rgba(232,168,56,.12) 0%,transparent 50%),radial-gradient(circle at 80% 20%,rgba(42,95,143,.2) 0%,transparent 50%);pointer-events:none}
.hero-section::after{content:'';position:absolute;bottom:0;left:0;right:0;height:120px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 120'%3E%3Cpath fill='%23fafbfc' d='M0,64L80,69.3C160,75,320,85,480,80C640,75,800,53,960,48C1120,43,1280,53,1360,58.7L1440,64V120H0Z'/%3E%3C/svg%3E") no-repeat bottom center;background-size:cover}
.hero-content{position:relative;z-index:1;max-width:780px}
.hero-label{display:inline-block;background:rgba(232,168,56,.2);border:1px solid rgba(232,168,56,.4);color:var(--color-accent);padding:.35rem 1rem;border-radius:100px;font-size:.8rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;margin-bottom:1.5rem}
.hero-section h1{font-size:3rem;color:#fff;margin-bottom:1.25rem;line-height:1.15}
.hero-section p{font-size:1.15rem;color:rgba(255,255,255,.85);line-height:1.8;margin-bottom:2rem}
.hero-buttons{display:flex;gap:1rem;flex-wrap:wrap}

/* ===== BUTTONS ===== */
.btn{display:inline-flex;align-items:center;gap:.5rem;padding:.85rem 2rem;font-family:var(--font-body);font-size:.95rem;font-weight:700;border-radius:var(--radius-md);border:none;cursor:pointer;transition:all var(--transition);text-decoration:none;letter-spacing:.02em}
.btn-primary{background:var(--color-accent);color:var(--color-primary-dark)}.btn-primary:hover{background:var(--color-accent-hover);color:var(--color-primary-dark);transform:translateY(-2px);box-shadow:0 6px 20px rgba(232,168,56,.35)}
.btn-secondary{background:rgba(255,255,255,.12);color:#fff;border:1.5px solid rgba(255,255,255,.3)}.btn-secondary:hover{background:rgba(255,255,255,.2);color:#fff;transform:translateY(-2px)}
.btn-outline{background:transparent;color:var(--color-primary);border:2px solid var(--color-primary)}.btn-outline:hover{background:var(--color-primary);color:#fff;transform:translateY(-2px)}

/* ===== SECTIONS ===== */
.section{padding:5rem 0}.section-alt{background:var(--color-surface-alt)}
.section-header{text-align:center;margin-bottom:3.5rem}
.section-header h2{margin-bottom:.75rem;position:relative;display:inline-block}
.section-header h2::after{content:'';display:block;width:60px;height:3px;background:var(--color-accent);margin:.75rem auto 0;border-radius:2px}
.section-header p{color:var(--color-text-light);font-size:1.1rem;max-width:600px;margin:0 auto}

/* ===== SERVICE CARDS ===== */
.services-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1.5rem}
.service-card{background:var(--color-surface);border-radius:var(--radius-lg);padding:2rem 1.75rem;border:1px solid var(--color-border-light);transition:all var(--transition);position:relative;overflow:hidden}
.service-card::before{content:'';position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--color-primary),var(--color-accent));transform:scaleX(0);transform-origin:left;transition:transform var(--transition)}
.service-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg);border-color:transparent}
.service-card:hover::before{transform:scaleX(1)}
.service-card .card-icon{width:50px;height:50px;background:linear-gradient(135deg,var(--color-primary),var(--color-primary-light));border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;margin-bottom:1.25rem;font-size:1.4rem;color:#fff}
.service-card h3{font-size:1.15rem;margin-bottom:.6rem;font-family:var(--font-body);font-weight:700}
.service-card p{color:var(--color-text-light);font-size:.92rem;line-height:1.6;margin-bottom:0}

/* ===== VIDEOS ===== */
.videos-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1.5rem}
.video-card{background:var(--color-surface);border-radius:var(--radius-lg);overflow:hidden;border:1px solid var(--color-border-light);transition:all var(--transition)}.video-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg)}
.video-thumb{position:relative;padding-top:56.25%;background:var(--color-primary-dark);overflow:hidden}
.video-thumb img{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover;transition:transform var(--transition)}
.video-card:hover .video-thumb img{transform:scale(1.05)}
.video-play-btn{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:60px;height:60px;background:rgba(232,168,56,.95);border-radius:50%;display:flex;align-items:center;justify-content:center;z-index:2;transition:all var(--transition)}
.video-play-btn::after{content:'';display:block;width:0;height:0;border-style:solid;border-width:10px 0 10px 18px;border-color:transparent transparent transparent var(--color-primary-dark);margin-left:4px}
.video-card:hover .video-play-btn{transform:translate(-50%,-50%) scale(1.1);box-shadow:0 0 0 8px rgba(232,168,56,.25)}
.video-info{padding:1.25rem 1.5rem}.video-info h3{font-size:1rem;font-family:var(--font-body);font-weight:700;margin-bottom:.35rem}.video-info p{color:var(--color-text-muted);font-size:.85rem;margin:0}

/* ===== CTA ===== */
.cta-section{background:linear-gradient(135deg,var(--color-primary-dark),var(--color-primary));padding:5rem 0;text-align:center;position:relative;overflow:hidden}
.cta-section::before{content:'';position:absolute;top:-50%;right:-20%;width:500px;height:500px;background:radial-gradient(circle,rgba(232,168,56,.1) 0%,transparent 70%);border-radius:50%}
.cta-section h2{color:#fff;margin-bottom:1rem;font-size:2.4rem}.cta-section p{color:rgba(255,255,255,.8);font-size:1.15rem;max-width:550px;margin:0 auto 2rem}

/* ===== NOTES ===== */
.notes-filter{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:2.5rem;justify-content:center}
.notes-filter a{padding:.5rem 1.25rem;border-radius:100px;font-size:.85rem;font-weight:600;background:var(--color-surface);color:var(--color-text-light);border:1px solid var(--color-border);transition:all var(--transition)}
.notes-filter a:hover,.notes-filter a.active{background:var(--color-primary);color:#fff;border-color:var(--color-primary)}
.notes-list{display:grid;gap:1rem}
.note-item{background:var(--color-surface);border:1px solid var(--color-border-light);border-radius:var(--radius-md);padding:1.5rem 2rem;display:flex;align-items:center;justify-content:space-between;gap:1.5rem;transition:all var(--transition)}
.note-item:hover{border-color:var(--color-primary-light);box-shadow:var(--shadow-sm)}
.note-meta{flex:1}.note-meta h3{font-size:1.1rem;font-family:var(--font-body);font-weight:700;margin-bottom:.35rem}
.note-meta .note-category{display:inline-block;background:var(--color-surface-alt);color:var(--color-primary);font-size:.75rem;font-weight:700;padding:.2rem .75rem;border-radius:100px;text-transform:uppercase;letter-spacing:.05em;margin-bottom:.35rem}
.note-meta p{color:var(--color-text-light);font-size:.88rem;margin:0}
.note-download .btn{white-space:nowrap;padding:.6rem 1.5rem;font-size:.85rem}

/* ===== MEMBERS ===== */
.members-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:2rem}
.member-card{background:var(--color-surface);border-radius:var(--radius-lg);overflow:hidden;border:1px solid var(--color-border-light);transition:all var(--transition);text-align:center}.member-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg)}
.member-photo{width:100%;aspect-ratio:1;overflow:hidden;background:var(--color-surface-alt)}.member-photo img{width:100%;height:100%;object-fit:cover;transition:transform var(--transition)}.member-card:hover .member-photo img{transform:scale(1.05)}
.member-info{padding:1.5rem}.member-info h3{font-size:1.15rem;font-family:var(--font-body);font-weight:700;margin-bottom:.25rem}
.member-role{color:var(--color-accent);font-size:.85rem;font-weight:600;margin-bottom:.75rem;display:block}
.member-info p{color:var(--color-text-light);font-size:.9rem;line-height:1.6;margin-bottom:1rem}
.member-links{display:flex;gap:.5rem;justify-content:center;flex-wrap:wrap}
.member-links a{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:50%;background:var(--color-surface-alt);color:var(--color-text-light);font-size:.85rem;transition:all var(--transition);border:1px solid var(--color-border-light)}
.member-links a:hover{background:var(--color-primary);color:#fff;border-color:var(--color-primary)}

/* ===== BLOG / POSTS ===== */
.posts-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:2rem}
.post-card{background:var(--color-surface);border-radius:var(--radius-lg);overflow:hidden;border:1px solid var(--color-border-light);transition:all var(--transition)}.post-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg)}
.post-thumb{width:100%;aspect-ratio:16/9;overflow:hidden;background:var(--color-surface-alt)}.post-thumb img{width:100%;height:100%;object-fit:cover;transition:transform var(--transition)}.post-card:hover .post-thumb img{transform:scale(1.05)}
.post-body{padding:1.5rem}.post-body .post-date{color:var(--color-text-muted);font-size:.8rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;margin-bottom:.5rem;display:block}
.post-body h3{font-size:1.15rem;font-family:var(--font-body);font-weight:700;margin-bottom:.6rem;line-height:1.4}
.post-body h3 a{color:var(--color-primary-dark)}.post-body h3 a:hover{color:var(--color-primary-light)}
.post-body .post-excerpt{color:var(--color-text-light);font-size:.9rem;line-height:1.6;margin-bottom:1rem}
.post-body .read-more{font-size:.88rem;font-weight:700;color:var(--color-primary)}.post-body .read-more:hover{color:var(--color-accent)}

/* ===== SINGLE POST ===== */
.single-content{max-width:760px;margin:0 auto;padding:3rem 0}.single-header{margin-bottom:2.5rem}.single-header h1{font-size:2.4rem;margin-bottom:1rem}
.single-meta{color:var(--color-text-muted);font-size:.9rem;display:flex;gap:1.5rem;flex-wrap:wrap}.single-meta span{display:inline-flex;align-items:center;gap:.3rem}
.entry-content{font-size:1.05rem;line-height:1.9}
.entry-content h2{margin:2rem 0 1rem;font-size:1.8rem}.entry-content h3{margin:1.5rem 0 .75rem;font-size:1.4rem}
.entry-content blockquote{border-left:4px solid var(--color-accent);padding:1.25rem 1.5rem;margin:1.5rem 0;background:var(--color-surface-alt);border-radius:0 var(--radius-md) var(--radius-md) 0;font-style:italic;color:var(--color-text-light)}
.entry-content pre{background:var(--color-primary-dark);color:#e0e0e0;padding:1.25rem 1.5rem;border-radius:var(--radius-md);overflow-x:auto;font-family:var(--font-mono);font-size:.88rem;line-height:1.6;margin:1.5rem 0}
.entry-content code{font-family:var(--font-mono);background:var(--color-surface-alt);padding:.15rem .4rem;border-radius:var(--radius-sm);font-size:.88em}
.entry-content pre code{background:none;padding:0}
.entry-content ul,.entry-content ol{margin:1rem 0 1rem 1.5rem}.entry-content li{margin-bottom:.35rem}.entry-content img{border-radius:var(--radius-md);margin:1.5rem 0}

/* ===== CONTACT ===== */
.contact-layout{display:grid;grid-template-columns:1fr 1fr;gap:3rem;align-items:start}
.contact-form label{display:block;font-weight:600;font-size:.9rem;margin-bottom:.35rem;color:var(--color-text)}
.contact-form input[type="text"],.contact-form input[type="email"],.contact-form input[type="password"],.contact-form textarea{width:100%;padding:.85rem 1rem;border:1.5px solid var(--color-border);border-radius:var(--radius-md);font-family:var(--font-body);font-size:.95rem;transition:border-color var(--transition);margin-bottom:1.25rem;background:var(--color-surface);color:var(--color-text)}
.contact-form input:focus,.contact-form textarea:focus{outline:none;border-color:var(--color-primary-light);box-shadow:0 0 0 3px rgba(42,95,143,.1)}
.contact-form textarea{min-height:160px;resize:vertical}
.contact-info-sidebar h3{font-size:1.2rem;margin-bottom:1.5rem}
.contact-detail{display:flex;align-items:flex-start;gap:1rem;margin-bottom:1.5rem}
.contact-detail .detail-icon{width:44px;height:44px;background:var(--color-surface-alt);border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;font-size:1.1rem;color:var(--color-primary);flex-shrink:0}
.contact-detail h4{font-size:.95rem;font-family:var(--font-body);margin-bottom:.15rem}.contact-detail p{color:var(--color-text-light);font-size:.9rem;margin:0}
.social-links{display:flex;gap:.75rem;margin-top:2rem}
.social-links a{display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:50%;background:var(--color-surface-alt);color:var(--color-text-light);border:1px solid var(--color-border-light);transition:all var(--transition);font-weight:700;font-size:.8rem}
.social-links a:hover{background:var(--color-primary);color:#fff;border-color:var(--color-primary);transform:translateY(-2px)}

/* ===== RESEARCH ===== */
.research-profiles{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;margin-bottom:3rem}
.research-profile-card{background:var(--color-surface);border:1px solid var(--color-border-light);border-radius:var(--radius-lg);padding:2rem;display:flex;align-items:center;gap:1.5rem;transition:all var(--transition)}
.research-profile-card:hover{box-shadow:var(--shadow-md);border-color:var(--color-primary-light);transform:translateY(-2px)}
.research-profile-card .profile-logo{width:56px;height:56px;border-radius:var(--radius-md);background:var(--color-surface-alt);display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:1.4rem;font-weight:700;color:var(--color-primary)}
.research-profile-card h3{font-size:1.05rem;font-family:var(--font-body);font-weight:700;margin-bottom:.25rem}.research-profile-card p{color:var(--color-text-light);font-size:.85rem;margin:0}
.publications-list{display:grid;gap:1rem}
.pub-item{background:var(--color-surface);border:1px solid var(--color-border-light);border-radius:var(--radius-md);padding:1.5rem 2rem;transition:all var(--transition);display:flex;align-items:flex-start;gap:1rem}
.pub-item:hover{border-color:var(--color-primary-light);box-shadow:var(--shadow-sm)}
.pub-number{width:32px;height:32px;border-radius:50%;background:var(--color-primary);color:#fff;display:flex;align-items:center;justify-content:center;font-size:.8rem;font-weight:700;flex-shrink:0;margin-top:.15rem}
.pub-content h3{font-size:1rem;font-family:var(--font-body);font-weight:700;margin-bottom:.35rem;line-height:1.4}
.pub-content .pub-journal{color:var(--color-primary-light);font-size:.85rem;font-style:italic}.pub-content .pub-year{color:var(--color-text-muted);font-size:.8rem;font-weight:600}

/* ===== PAGE BANNER ===== */
.page-banner{background:linear-gradient(135deg,var(--color-primary-dark),var(--color-primary));padding:3.5rem 0;color:#fff;position:relative;overflow:hidden}
.page-banner::after{content:'';position:absolute;bottom:0;left:0;right:0;height:60px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 60'%3E%3Cpath fill='%23fafbfc' d='M0,32L120,37.3C240,43,480,53,720,53.3C960,53,1200,43,1320,37.3L1440,32V60H0Z'/%3E%3C/svg%3E") no-repeat bottom center;background-size:cover}
.page-banner h1{color:#fff;font-size:2.2rem;margin-bottom:.5rem}.page-banner p{color:rgba(255,255,255,.75);font-size:1.05rem;margin:0}

/* ===== PAGINATION ===== */
.pagination{display:flex;justify-content:center;gap:.35rem;margin-top:3rem}
.pagination .page-numbers{display:inline-flex;align-items:center;justify-content:center;min-width:42px;height:42px;padding:0 .75rem;border-radius:var(--radius-md);font-size:.9rem;font-weight:600;background:var(--color-surface);color:var(--color-text-light);border:1px solid var(--color-border);transition:all var(--transition)}
.pagination .page-numbers:hover{border-color:var(--color-primary);color:var(--color-primary)}
.pagination .page-numbers.current{background:var(--color-primary);color:#fff;border-color:var(--color-primary)}

/* ===== FOOTER ===== */
.site-footer{background:var(--color-primary-dark);color:rgba(255,255,255,.7);padding:4rem 0 0}
.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:3rem;padding-bottom:3rem;border-bottom:1px solid rgba(255,255,255,.1)}
.footer-col h4{color:#fff;font-family:var(--font-body);font-size:.95rem;font-weight:700;margin-bottom:1.25rem;text-transform:uppercase;letter-spacing:.08em}
.footer-about p{font-size:.9rem;line-height:1.7;margin-bottom:1rem}
.footer-col ul{list-style:none}.footer-col ul li{margin-bottom:.5rem}.footer-col ul a{color:rgba(255,255,255,.65);font-size:.9rem;transition:color var(--transition)}.footer-col ul a:hover{color:var(--color-accent)}
.footer-bottom{padding:1.5rem 0;text-align:center;font-size:.85rem;color:rgba(255,255,255,.45)}

/* ===== FORM MESSAGES ===== */
.form-success{background:#d4edda;border:1px solid #c3e6cb;color:#155724;padding:1rem 1.5rem;border-radius:var(--radius-md);margin-bottom:1.5rem}
.form-error{background:#f8d7da;border:1px solid #f5c6cb;color:#721c24;padding:1rem 1.5rem;border-radius:var(--radius-md);margin-bottom:1.5rem}

/* ===== ABOUT ===== */
.about-content{display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:center}
.about-text h2{margin-bottom:1rem}.about-text h2::after{content:'';display:block;width:60px;height:3px;background:var(--color-accent);margin-top:.75rem;border-radius:2px}
.about-text p{color:var(--color-text-light);font-size:1.02rem}
.about-image{border-radius:var(--radius-xl);overflow:hidden;box-shadow:var(--shadow-xl);aspect-ratio:4/3;background:var(--color-surface-alt)}.about-image img{width:100%;height:100%;object-fit:cover}
.stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.5rem;margin-top:3rem}
.stat-card{text-align:center;background:var(--color-surface);padding:2rem 1rem;border-radius:var(--radius-lg);border:1px solid var(--color-border-light)}
.stat-card .stat-number{display:block;font-family:var(--font-display);font-size:2.2rem;font-weight:700;color:var(--color-primary);line-height:1;margin-bottom:.5rem}
.stat-card .stat-label{font-size:.85rem;color:var(--color-text-light);font-weight:600}

/* ===== SINGLE MEMBER ===== */
.single-member-layout{display:grid;grid-template-columns:300px 1fr;gap:3rem;align-items:start}
.single-member-photo{border-radius:var(--radius-xl);overflow:hidden;aspect-ratio:1;background:var(--color-surface-alt);box-shadow:var(--shadow-md)}.single-member-photo img{width:100%;height:100%;object-fit:cover}
.single-member-details h1{font-size:2rem;margin-bottom:.25rem}.single-member-details .member-role{font-size:1rem;margin-bottom:1.25rem}
.single-member-details .member-bio{font-size:1.02rem;line-height:1.8;color:var(--color-text-light);margin-bottom:1.5rem}

/* ===== LOGIN PAGE ===== */
.login-wrapper{max-width:460px;margin:0 auto}
.login-card{background:var(--color-surface);border:1px solid var(--color-border-light);border-radius:var(--radius-xl);padding:2.5rem;box-shadow:var(--shadow-md)}
.login-card-header{text-align:center;margin-bottom:2rem}
.login-card-header .login-icon{font-size:2.5rem;margin-bottom:.75rem}
.login-card-header h2{font-size:1.6rem;margin-bottom:.5rem}
.login-card-header p{color:var(--color-text-light);font-size:.92rem;margin:0}
.login-card label{display:block;font-weight:600;font-size:.88rem;margin-bottom:.35rem}
.login-card input[type="text"],.login-card input[type="password"],.login-card input[type="email"]{width:100%;padding:.85rem 1rem;border:1.5px solid var(--color-border);border-radius:var(--radius-md);font-family:var(--font-body);font-size:.95rem;margin-bottom:1.25rem;transition:border-color var(--transition)}
.login-card input:focus{outline:none;border-color:var(--color-primary-light);box-shadow:0 0 0 3px rgba(42,95,143,.1)}
.login-footer{text-align:center;margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid var(--color-border-light)}

/* ===== UPLOAD DASHBOARD ===== */
.dashboard-grid{display:grid;grid-template-columns:1fr 400px;gap:2rem;align-items:start}
.dashboard-card{background:var(--color-surface);border:1px solid var(--color-border-light);border-radius:var(--radius-lg);padding:2rem}

/* ===== COLLABORATORS ===== */
.collab-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(500px,1fr));gap:1.5rem}
.collab-card{background:var(--color-surface);border:1px solid var(--color-border-light);border-radius:var(--radius-lg);padding:2rem;display:flex;align-items:flex-start;gap:1.5rem;transition:all var(--transition);text-decoration:none;color:inherit}
.collab-card:hover{box-shadow:var(--shadow-lg);border-color:var(--color-primary-light);transform:translateY(-3px);color:inherit}
.collab-logo{width:70px;height:70px;border-radius:var(--radius-lg);background:linear-gradient(135deg,var(--color-primary),var(--color-primary-light));color:#fff;display:flex;align-items:center;justify-content:center;font-family:var(--font-body);font-weight:700;font-size:.85rem;flex-shrink:0;letter-spacing:.02em}
.collab-info h3{font-size:1.1rem;font-family:var(--font-body);font-weight:700;margin-bottom:.4rem}.collab-info p{color:var(--color-text-light);font-size:.9rem;margin-bottom:.5rem;line-height:1.6}
.collab-link{color:var(--color-primary-light);font-size:.85rem;font-weight:600}
.collab-logos-row{display:flex;justify-content:center;gap:1.5rem;flex-wrap:wrap}
.collab-logo-badge{display:flex;align-items:center;justify-content:center;width:160px;height:80px;background:var(--color-surface);border:1px solid var(--color-border-light);border-radius:var(--radius-lg);font-family:var(--font-body);font-weight:700;font-size:1rem;color:var(--color-primary);letter-spacing:.03em;transition:all var(--transition)}
.collab-logo-badge:hover{background:var(--color-primary);color:#fff;border-color:var(--color-primary);transform:translateY(-3px);box-shadow:var(--shadow-md)}

/* ===== AI PROMO ===== */
.ai-promo{display:grid;grid-template-columns:1fr 1fr;gap:3rem;align-items:center}
.ai-promo-text h2{margin-bottom:.75rem}.ai-promo-text p{color:var(--color-text-light);margin-bottom:1.5rem}
.ai-promo-cards{display:grid;gap:1rem}
.ai-mini-card{background:var(--color-surface);border:1px solid var(--color-border-light);border-radius:var(--radius-lg);padding:1.5rem;transition:all var(--transition)}.ai-mini-card:hover{box-shadow:var(--shadow-md);border-color:var(--color-primary-light)}
.ai-mini-card h4{font-family:var(--font-body);font-size:1rem;margin-bottom:.3rem}.ai-mini-card p{color:var(--color-text-light);font-size:.88rem;margin:0}

/* ===== AI CALCULATORS ===== */
.calc-tabs{display:flex;gap:.5rem;margin-bottom:2rem;justify-content:center;flex-wrap:wrap}
.calc-tab{padding:.75rem 2rem;border-radius:100px;border:2px solid var(--color-border);background:var(--color-surface);font-family:var(--font-body);font-size:.95rem;font-weight:700;color:var(--color-text-light);cursor:pointer;transition:all var(--transition)}
.calc-tab:hover{border-color:var(--color-primary-light);color:var(--color-primary)}
.calc-tab.active{background:var(--color-primary);color:#fff;border-color:var(--color-primary)}
.calculator-panel{animation:fadeIn .3s ease}
@keyframes fadeIn{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}
.calc-layout{display:grid;grid-template-columns:1fr 380px;gap:2rem;align-items:start}
.calc-form{background:var(--color-surface);border:1px solid var(--color-border-light);border-radius:var(--radius-xl);padding:2rem;box-shadow:var(--shadow-sm)}
.calc-form-header{margin-bottom:1.5rem}.calc-form-header h3{font-family:var(--font-body);font-size:1.3rem;margin-bottom:.35rem}.calc-form-header p{color:var(--color-text-light);font-size:.9rem;margin:0}
.calc-toggle-row{display:flex;align-items:center;justify-content:space-between;padding:1rem 0;margin-bottom:1rem;border-bottom:1px solid var(--color-border-light)}
.calc-toggle-row label{font-weight:600;font-size:.92rem}
.toggle-group{display:flex;gap:.25rem}
.toggle-btn{padding:.4rem 1rem;border-radius:100px;border:1.5px solid var(--color-border);background:var(--color-surface);font-family:var(--font-body);font-size:.82rem;font-weight:600;cursor:pointer;transition:all var(--transition);color:var(--color-text-light)}
.toggle-btn.active{background:var(--color-primary);color:#fff;border-color:var(--color-primary)}
.calc-fields-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.field-group{margin-bottom:.25rem}.field-group label{display:block;font-size:.82rem;font-weight:600;color:var(--color-text-light);margin-bottom:.25rem}
.field-group input,.field-group select{width:100%;padding:.65rem .8rem;border:1.5px solid var(--color-border);border-radius:var(--radius-md);font-family:var(--font-body);font-size:.9rem;transition:border-color var(--transition);background:var(--color-surface)}
.field-group input:focus,.field-group select:focus{outline:none;border-color:var(--color-primary-light);box-shadow:0 0 0 2px rgba(42,95,143,.08)}
.calc-result{position:sticky;top:100px}
.result-placeholder{background:var(--color-surface);border:2px dashed var(--color-border);border-radius:var(--radius-xl);padding:3rem 2rem;text-align:center}
.result-placeholder h3{font-family:var(--font-body);font-size:1.15rem;margin-bottom:.5rem}.result-placeholder p{color:var(--color-text-muted);font-size:.9rem;margin:0}
.result-active{background:var(--color-surface);border:1px solid var(--color-border-light);border-radius:var(--radius-xl);padding:2rem;box-shadow:var(--shadow-md);text-align:center;animation:fadeIn .4s ease}
.risk-badge{display:inline-block;padding:.6rem 1.5rem;border-radius:100px;font-size:1.1rem;font-weight:700;margin-bottom:1.5rem}
.risk-badge.risk-high{background:#fce4ec;color:#c62828}.risk-badge.risk-moderate{background:#fff8e1;color:#f57f17}.risk-badge.risk-low{background:#e8f5e9;color:#2e7d32}
.risk-gauge{width:100%;height:12px;background:var(--color-surface-alt);border-radius:100px;overflow:hidden;margin-bottom:1.5rem}
.risk-gauge-fill{height:100%;border-radius:100px;transition:width .8s cubic-bezier(.4,0,.2,1)}
.risk-gauge-fill.risk-high{background:linear-gradient(90deg,#ef9a9a,#e53935)}.risk-gauge-fill.risk-moderate{background:linear-gradient(90deg,#fff176,#f9a825)}.risk-gauge-fill.risk-low{background:linear-gradient(90deg,#a5d6a7,#43a047)}
.risk-probability{margin-bottom:1.5rem}.risk-pct{display:block;font-family:var(--font-display);font-size:3rem;font-weight:700;color:var(--color-primary-dark);line-height:1}.risk-label{display:block;font-size:.85rem;color:var(--color-text-muted);margin-top:.35rem}
.risk-advice{background:var(--color-surface-alt);border-radius:var(--radius-md);padding:1rem 1.25rem;font-size:.88rem;color:var(--color-text-light);text-align:left;margin-bottom:1rem;line-height:1.6}
.risk-thresholds{display:flex;justify-content:space-between;font-size:.75rem;color:var(--color-text-muted);padding-top:.75rem;border-top:1px solid var(--color-border-light)}

/* ===== SCREEN READER ===== */
.screen-reader-text{border:0;clip:rect(1px,1px,1px,1px);clip-path:inset(50%);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute!important;width:1px}

/* ===== WORDPRESS ===== */
.alignleft{float:left;margin:0 1.5rem 1rem 0}.alignright{float:right;margin:0 0 1rem 1.5rem}.aligncenter{display:block;margin:1.5rem auto}
.wp-caption{max-width:100%}.wp-caption-text{font-size:.85rem;color:var(--color-text-muted);text-align:center;margin-top:.5rem}

/* ===== RESPONSIVE ===== */
@media(max-width:968px){
    .footer-grid{grid-template-columns:1fr 1fr}.about-content,.contact-layout,.ai-promo{grid-template-columns:1fr}.research-profiles{grid-template-columns:1fr}.stat-grid{grid-template-columns:repeat(2,1fr)}.calc-layout{grid-template-columns:1fr}.calc-result{position:static}.dashboard-grid{grid-template-columns:1fr}.collab-grid{grid-template-columns:1fr}
}
@media(max-width:768px){
    :root{--header-height:auto}
    h1{font-size:2rem}h2{font-size:1.7rem}
    .header-inner{flex-wrap:wrap;padding:1rem 1.5rem;gap:.5rem}
    .menu-toggle{display:block}
    .main-navigation{display:none;width:100%;order:3}.main-navigation.toggled{display:block}
    .main-navigation ul{flex-direction:column;padding:.5rem 0}.main-navigation a{padding:.75rem 0;border-bottom:1px solid rgba(255,255,255,.08)}.main-navigation a::after{display:none}
    .header-actions{order:2}
    .hero-section{padding:4rem 0 3.5rem}.hero-section h1{font-size:2.2rem}
    .section{padding:3.5rem 0}
    .services-grid,.videos-grid,.posts-grid{grid-template-columns:1fr}
    .members-grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr))}
    .footer-grid{grid-template-columns:1fr;gap:2rem}
    .note-item{flex-direction:column;align-items:flex-start}
    .hero-buttons{flex-direction:column}.container{padding:0 1.25rem}
    .cta-section h2{font-size:1.8rem}.page-banner h1{font-size:1.8rem}
    .calc-fields-grid{grid-template-columns:1fr}
    .single-member-layout{grid-template-columns:1fr}.single-member-photo{max-width:280px;margin:0 auto}
}
@media(max-width:480px){.stat-grid{grid-template-columns:1fr}}
