:root{--ink:#101315;--muted:#687176;--paper:#f5f5f0;--lime:#c7f36b;--line:#d9dcd6;--dark:#101315;--surface:#ffffff;--nav-bg:rgba(245,245,240,.9);--malawi-red:#D72128;--malawi-black:#101315;--malawi-green:#007A33;--gradient-1:linear-gradient(135deg, #667eea 0%, #764ba2 100%);--gradient-2:linear-gradient(135deg, #f093fb 0%, #f5576c 100%);--gradient-3:linear-gradient(135deg, #4facfe 0%, #00f2fe 100%)}[data-theme="dark"]{--ink:#eef0ec;--muted:#9aa39d;--paper:#101315;--line:#2b302d;--surface:#181c1e;--nav-bg:rgba(16,19,21,.85)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:"DM Sans",sans-serif;line-height:1.6;overflow-x:hidden}a{color:inherit;text-decoration:none}.nav{height:78px;display:flex;align-items:center;justify-content:space-between;padding:0 6vw;border-bottom:1px solid var(--line);position:sticky;top:0;background:var(--nav-bg);backdrop-filter:blur(16px);z-index:100;transition:all 0.3s ease}.brand{font-family:"Space Grotesk";font-weight:700;font-size:1.1rem}.brand>span:first-child{display:inline-grid;place-items:center;background:var(--ink);color:var(--lime);width:32px;height:32px;border-radius:50%;font-size:.7rem;margin-right:9px}.dot{color:#91b63f}nav{display:flex;gap:30px;font-size:.9rem;font-weight:600}nav a:hover{opacity:.55}.menu{display:none;border:0;background:none;font-size:1.5rem}.hero{min-height:calc(100vh - 78px);padding:9vw 6vw 7vw;display:grid;grid-template-columns:1.15fr .85fr;gap:7vw;align-items:center}.eyebrow{font-size:.72rem;letter-spacing:.18em;font-weight:700;color:#66706b;margin:0 0 22px}.hero h1{font:700 clamp(3.4rem,7vw,7.2rem)/.94 "Space Grotesk";letter-spacing:-.07em;margin:0;max-width:900px}.hero h1 em,.impact h2 em{font-style:normal;color:#809f35}.lead{font-size:1.16rem;color:var(--muted);max-width:650px;margin:30px 0}.actions{display:flex;gap:12px;flex-wrap:wrap}.btn{padding:13px 20px;border-radius:999px;font-weight:700;border:1px solid var(--ink)}.primary{background:var(--ink);color:white}.ghost:hover{background:var(--surface)}.mini{display:flex;gap:12px;align-items:center;margin-top:45px}.mini span{font-size:1.4rem}.mini small{display:block;color:var(--muted)}.hero-card{background:var(--dark);color:white;border-radius:28px;padding:40px;min-height:470px;position:relative;overflow:hidden}.orb{position:absolute;width:250px;height:250px;border-radius:50%;background:var(--lime);right:-90px;top:-90px;filter:blur(2px)}.card-label{font-size:.68rem;letter-spacing:.18em;color:#aab2ad;margin-bottom:100px}.hero-card h2{font:600 2.4rem/1.05 "Space Grotesk";max-width:400px;margin:0 0 16px}.hero-card p{color:#aeb6b2}.line{height:1px;background:#39403d;margin:35px 0 20px}.stat{display:flex;gap:20px;margin:13px 0;font-size:.9rem}.stat b{color:var(--lime)}.ticker{display:flex;justify-content:space-around;border-block:1px solid var(--line);padding:20px 5vw;color:#777f7a;font-size:.7rem;font-weight:700;letter-spacing:.14em}.section{padding:120px 6vw}.about{display:grid;grid-template-columns:1fr 1fr;gap:10vw}.section h2{font:600 clamp(2.5rem,5vw,5rem)/1 "Space Grotesk";letter-spacing:-.05em;margin:0}.about-text{font-size:1.15rem;color:#4e5854}.facts{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:45px}.facts div{border-top:1px solid var(--ink);padding-top:12px}.facts b,.facts span{display:block}.facts span{font-size:.8rem;color:var(--muted);margin-top:4px}.work{background:var(--surface)}.section-head{display:flex;justify-content:space-between;gap:30px;align-items:end;margin-bottom:60px}.section-head>p{max-width:330px;color:var(--muted)}.projects{display:grid;grid-template-columns:1.4fr 1fr;gap:18px}.project{border:1px solid var(--line);padding:34px;min-height:330px;display:flex;gap:25px;transition:.25s}.project:hover{transform:translateY(-5px);border-color:#aab0aa}.featured{grid-row:span 2;background:var(--dark);color:white}.number{font:600 1.1rem "Space Grotesk";color:#9aaa9f}.tag{font-size:.68rem;letter-spacing:.15em;color:#7c8580;font-weight:700}.project h3{font:600 2rem "Space Grotesk";margin:10px 0}.project p{color:#68716d}.featured p{color:#aeb6b2}.project a{font-weight:700;font-size:.9rem;border-bottom:1px solid currentColor}.impact{background:var(--lime);padding:130px 6vw;--ink:#101315;--muted:#3c4a22}.impact-inner{max-width:1000px}.impact h2{font:600 clamp(3rem,6vw,6rem)/.95 "Space Grotesk";letter-spacing:-.06em;margin:0 0 30px}.impact-inner>p{font-size:1.2rem;max-width:720px}.quote{margin-top:70px;padding-left:25px;border-left:2px solid var(--ink);font:500 1.2rem "Space Grotesk";max-width:650px}.quote small{display:block;font:400 .8rem "DM Sans";margin-top:12px}.contact{display:grid;grid-template-columns:1fr 1fr;gap:10vw}.contact p{color:var(--muted);max-width:520px}.contact-card{display:flex;flex-direction:column;gap:0}.contact-card a{font:600 clamp(1.5rem,3vw,2.5rem) "Space Grotesk";padding:18px 0;border-bottom:1px solid var(--line)}.contact-card a:hover{color:#799a30}footer{display:flex;justify-content:space-between;padding:30px 6vw;background:var(--dark);color:#9ca5a0;font-size:.8rem}/* ===== Innovator CTA band ===== */
.innovator-cta{background:var(--dark);color:#fff;padding:100px 6vw;text-align:left}
.innovator-cta-inner{max-width:720px}
.innovator-cta .eyebrow{color:#9aaa9f}
.innovator-cta h2{font:600 clamp(2.2rem,4.5vw,3.6rem)/1.05 "Space Grotesk";letter-spacing:-.04em;margin:0 0 22px}
.innovator-cta p{color:#aeb6b2;font-size:1.1rem;max-width:600px;margin:0 0 30px}
.innovator-cta .btn.primary{background:var(--lime);color:var(--ink);border-color:var(--lime)}

/* ===== Contact section forms ===== */
.contact{grid-template-columns:1fr 1fr}
.forms-col{display:flex;flex-direction:column;gap:22px}
.panel-form{border:1px solid var(--line);border-radius:16px;padding:26px;background:var(--surface);display:flex;flex-direction:column;gap:10px}
.panel-form h3{font:600 1.15rem "Space Grotesk";margin:0}
.form-sub{color:var(--muted);font-size:.88rem;margin:0 0 4px}
.panel-form input,.panel-form textarea{font:inherit;padding:12px 14px;border:1px solid var(--line);border-radius:10px;background:var(--paper);color:var(--ink)}
.panel-form input:focus,.panel-form textarea:focus{outline:2px solid var(--ink);outline-offset:1px}
.subscribe-row{display:flex;gap:10px}
.subscribe-row input{flex:1}
.btn.small{padding:11px 18px;font-size:.88rem;align-self:flex-start;cursor:pointer;background:var(--ink);color:#fff;border:1px solid var(--ink)}
.btn.small:disabled{opacity:.5;cursor:default}
.form-status{min-height:1.1em;font-size:.85rem;color:#5c8a2b;margin:0}
.form-status.error{color:#b23a3a}

/* ===== Custom page (page.html) ===== */
.page-hero{padding:70px 6vw 30px}
.page-hero .eyebrow{margin-bottom:14px}
.page-hero h1{font:600 clamp(2.4rem,5vw,4.2rem)/1.05 "Space Grotesk";letter-spacing:-.04em;margin:0}
.page-body{padding:0 6vw 100px;max-width:760px}
.page-body h2{font:600 1.6rem "Space Grotesk";margin:40px 0 14px}
.page-body h3{font:600 1.25rem "Space Grotesk";margin:30px 0 10px}
.page-body p{color:#3c443f;font-size:1.05rem;margin:0 0 16px}
.page-body ul{padding-left:22px;color:#3c443f}
.page-body a{text-decoration:underline}
.page-notfound{padding:140px 6vw;text-align:center}

/* ===== Innovator funding-finder page ===== */
.finder-hero{padding:80px 6vw 20px;max-width:820px}
.finder-hero h1{font:600 clamp(2.4rem,5vw,4rem)/1.05 "Space Grotesk";letter-spacing:-.04em;margin:14px 0}
.finder-hero p{color:var(--muted);font-size:1.1rem}
.finder-form{padding:20px 6vw 100px;display:grid;grid-template-columns:1fr 1fr;gap:18px;max-width:900px}
.finder-form label{display:flex;flex-direction:column;gap:8px;font-size:.85rem;font-weight:600;color:#3c443f}
.finder-form input,.finder-form select,.finder-form textarea{font:400 1rem "DM Sans";padding:13px 14px;border:1px solid var(--line);border-radius:10px;background:var(--surface);color:var(--ink)}
.finder-form .full{grid-column:1/-1}
.finder-form .submit-row{grid-column:1/-1;display:flex;align-items:center;gap:16px}
.finder-form button{cursor:pointer}
.finder-status{color:var(--muted);font-size:.9rem}
.finder-status.error{color:#b23a3a}
.finder-results{padding:0 6vw 110px;max-width:900px}
.finder-results h2{font:600 1.8rem "Space Grotesk";margin:0 0 24px}
.match-card{border:1px solid var(--line);border-radius:16px;padding:26px;margin-bottom:16px}
.match-card h3{font:600 1.2rem "Space Grotesk";margin:0 0 8px}
.match-card p{color:#4e5854;margin:0 0 10px}
.match-card a{font-weight:700;font-size:.9rem;border-bottom:1px solid currentColor}
.match-card .fit{font-size:.8rem;color:#5c8a2b;font-weight:700;letter-spacing:.04em;margin-bottom:10px}
.loading-note{color:var(--muted);font-size:.9rem}

/* ===== Nav actions (search + theme toggle) ===== */
.nav-actions{display:flex;align-items:center;gap:6px}
.icon-btn{border:1px solid var(--line);background:var(--surface);width:38px;height:38px;border-radius:50%;font-size:1rem;cursor:pointer;display:inline-grid;place-items:center;color:var(--ink)}
.icon-btn:hover{border-color:#aab0aa}

/* ===== Search modal ===== */
.search-modal{position:fixed;inset:0;background:rgba(10,12,11,.55);z-index:100;display:none;align-items:flex-start;justify-content:center;padding:12vh 20px}
.search-modal.open{display:flex}
.search-panel{background:var(--surface);color:var(--ink);width:100%;max-width:560px;border-radius:16px;overflow:hidden;box-shadow:0 30px 80px rgba(0,0,0,.35)}
.search-panel-head{display:flex;align-items:center;border-bottom:1px solid var(--line);padding:6px 6px 6px 18px}
.search-panel-head input{flex:1;border:0;background:none;font:1.05rem "DM Sans";padding:14px 0;color:var(--ink);outline:none}
.search-close{border:0;background:none;font-size:1.1rem;cursor:pointer;padding:12px 16px;color:var(--muted)}
.search-results{max-height:50vh;overflow-y:auto;padding:6px}
.search-hint{color:var(--muted);font-size:.88rem;padding:16px 14px}
.search-result{display:flex;flex-direction:column;gap:3px;padding:12px 14px;border-radius:10px}
.search-result:hover{background:var(--paper)}
.search-result-type{font-size:.68rem;letter-spacing:.08em;color:#809f35;font-weight:700;text-transform:uppercase}
.search-result-excerpt{font-size:.82rem;color:var(--muted)}

/* ===== Status badge (hero) ===== */
.status-badge{display:inline-flex;align-items:center;gap:8px;border:1px solid var(--line);border-radius:999px;padding:7px 16px 7px 8px;font-size:.8rem;margin-top:28px;background:var(--surface)}
.status-badge .dot-live{width:8px;height:8px;border-radius:50%;background:#5c8a2b;box-shadow:0 0 0 3px rgba(92,138,43,.18)}
.status-badge b{font-size:.68rem;letter-spacing:.1em;color:var(--muted);font-weight:700}

/* ===== Timeline ===== */
.timeline{background:var(--surface)}
.timeline-track{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:50px}
.timeline-item{border-top:2px solid var(--line);padding-top:22px;opacity:0;transform:translateY(24px);transition:opacity .6s ease,transform .6s ease}
.timeline-item.in-view{opacity:1;transform:translateY(0)}
.timeline-item b.year{display:inline-block;font:600 .78rem "Space Grotesk";letter-spacing:.1em;text-transform:uppercase;color:#809f35;margin-bottom:14px}
.timeline-item h3{font:600 1.4rem "Space Grotesk";margin:0 0 10px}
.timeline-item p{color:#5b645f;margin:0}

/* ===== Testimonials ===== */
.testimonials{background:var(--paper)}
.testimonial-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:20px;margin-top:50px}
.testimonial-card{background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:28px}
.testimonial-card p.quote-text{font:500 1.05rem/1.5 "Space Grotesk";margin:0 0 20px}
.testimonial-card p.quote-text::before{content:"“"}
.testimonial-card p.quote-text::after{content:"”"}
.testimonial-person{display:flex;align-items:center;gap:12px}
.testimonial-avatar{width:42px;height:42px;border-radius:50%;object-fit:cover;background:var(--line)}
.testimonial-person b{display:block;font-size:.9rem}
.testimonial-person span{display:block;font-size:.78rem;color:var(--muted)}

/* ===== Journal teaser (homepage) ===== */
.journal-teaser{background:var(--surface)}
.journal-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:20px;margin-top:50px}
.journal-card{border:1px solid var(--line);border-radius:16px;overflow:hidden;display:flex;flex-direction:column;transition:.2s}
.journal-card:hover{transform:translateY(-4px);border-color:#aab0aa}
.journal-card img{width:100%;height:150px;object-fit:cover;background:var(--paper)}
.journal-card-body{padding:20px}
.journal-card-body span{font-size:.7rem;letter-spacing:.08em;color:#809f35;font-weight:700;text-transform:uppercase}
.journal-card-body h3{font:600 1.15rem "Space Grotesk";margin:10px 0 8px}
.journal-card-body p{font-size:.88rem;color:var(--muted);margin:0}
.journal-empty{color:var(--muted);font-size:.9rem;margin-top:30px}

/* ===== Blog / Newsletter list pages ===== */
.list-hero{padding:80px 6vw 20px;max-width:820px}
.list-hero h1{font:600 clamp(2.4rem,5vw,4rem)/1.05 "Space Grotesk";letter-spacing:-.04em;margin:14px 0}
.list-hero p{color:var(--muted);font-size:1.1rem}
.list-grid{padding:20px 6vw 110px;display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:22px}

/* ===== Single post page ===== */
.post-hero{padding:70px 6vw 0;max-width:820px}
.post-hero .eyebrow{margin-bottom:14px}
.post-hero h1{font:600 clamp(2.2rem,5vw,3.8rem)/1.08 "Space Grotesk";letter-spacing:-.04em;margin:0 0 16px}
.post-meta{color:var(--muted);font-size:.85rem;margin-bottom:30px}
.post-cover{width:100%;max-height:420px;object-fit:cover;border-radius:16px;margin:0 0 10px}
.post-body{padding:0 6vw 100px;max-width:760px}
.post-body h2{font:600 1.6rem "Space Grotesk";margin:40px 0 14px}
.post-body p{color:#3c443f;font-size:1.05rem;margin:0 0 16px}
.post-body ul{padding-left:22px;color:#3c443f}
.post-body a{text-decoration:underline}

/* ===== View counter ===== */
.view-counter{opacity:.75}

/* ===== Admin extra: image uploader (kept here so admin.css can reuse via link) ===== */
.image-field{display:flex;align-items:center;gap:14px;margin-top:6px}
.image-preview{width:64px;height:64px;border-radius:10px;object-fit:cover;background:var(--line);flex-shrink:0}

@media(max-width:800px){nav{display:none}.menu{display:block}.hero,.about,.contact{grid-template-columns:1fr}.hero{padding-top:70px}.hero-card{min-height:390px}.ticker{overflow:hidden;gap:35px;justify-content:flex-start;white-space:nowrap}.section{padding:80px 6vw}.section-head{display:block}.projects{grid-template-columns:1fr}.featured{grid-row:auto}.facts{grid-template-columns:1fr}.impact{padding:90px 6vw}.finder-form{grid-template-columns:1fr}.innovator-cta{padding:70px 6vw}.timeline-track{grid-template-columns:1fr}.impact-stats{grid-template-columns:repeat(2,1fr)}.chichewa-banner{font-size:1rem;padding:15px 6vw}.malawi-flag{width:50px;height:33px;bottom:15px;right:15px}.cursor-glow{display:none}.particle-container{display:none}}

/* ===== Advanced Animations & Interactions ===== */
@keyframes float {
  0%, 100% { transform: translateY(0px); }
  50% { transform: translateY(-20px); }
}

@keyframes pulse-glow {
  0%, 100% { box-shadow: 0 0 20px rgba(199, 243, 107, 0.3); }
  50% { box-shadow: 0 0 40px rgba(199, 243, 107, 0.6); }
}

@keyframes gradient-shift {
  0% { background-position: 0% 50%; }
  50% { background-position: 100% 50%; }
  100% { background-position: 0% 50%; }
}

@keyframes slide-up {
  from { opacity: 0; transform: translateY(40px); }
  to { opacity: 1; transform: translateY(0); }
}

@keyframes fade-in {
  from { opacity: 0; }
  to { opacity: 1; }
}

@keyframes scale-in {
  from { opacity: 0; transform: scale(0.9); }
  to { opacity: 1; transform: scale(1); }
}

@keyframes rotate-slow {
  from { transform: rotate(0deg); }
  to { transform: rotate(360deg); }
}

/* ===== Particle Background ===== */
.particle-container {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  z-index: -1;
  overflow: hidden;
}

/* ===== Cursor Effect ===== */
.cursor-glow {
  position: fixed;
  width: 300px;
  height: 300px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(199, 243, 107, 0.08) 0%, transparent 70%);
  pointer-events: none;
  z-index: 9998;
  transform: translate(-50%, -50%);
  transition: opacity 0.3s ease;
}

/* ===== Navigation Links ===== */
nav a {
  position: relative;
  z-index: 102;
  pointer-events: auto;
  cursor: pointer;
  color: var(--ink);
  text-decoration: none;
}

nav {
  z-index: 102;
  pointer-events: auto;
}

.nav {
  z-index: 100;
  pointer-events: auto;
}

/* Ensure main content is accessible */
main {
  position: relative;
  z-index: 10;
  pointer-events: auto;
  min-height: 100vh;
}

section {
  position: relative;
  z-index: 10;
  pointer-events: auto;
}

/* Force content visibility */
.hero, .about, .work, .timeline, .impact, .contact, .innovator-cta {
  position: relative;
  z-index: 10;
  pointer-events: auto;
  visibility: visible !important;
  opacity: 1 !important;
}

.particle {
  position: absolute;
  border-radius: 50%;
  pointer-events: none;
  animation: float 6s ease-in-out infinite;
}

/* ===== Enhanced Hero Section ===== */
.hero {
  position: relative;
  overflow: hidden;
}

.hero::before {
  content: '';
  position: absolute;
  top: -50%;
  right: -20%;
  width: 600px;
  height: 600px;
  background: radial-gradient(circle, rgba(199, 243, 107, 0.15) 0%, transparent 70%);
  border-radius: 50%;
  animation: float 8s ease-in-out infinite;
  pointer-events: none;
}

.hero::after {
  content: '';
  position: absolute;
  bottom: -30%;
  left: -10%;
  width: 500px;
  height: 500px;
  background: radial-gradient(circle, rgba(102, 126, 234, 0.1) 0%, transparent 70%);
  border-radius: 50%;
  animation: float 10s ease-in-out infinite reverse;
  pointer-events: none;
}

.hero-card {
  animation: slide-up 0.8s ease-out;
  transition: transform 0.4s ease, box-shadow 0.4s ease;
}

.hero-card:hover {
  transform: translateY(-8px);
  box-shadow: 0 20px 60px rgba(0, 0, 0, 0.15);
}

.orb {
  animation: pulse-glow 3s ease-in-out infinite;
}

/* ===== Enhanced Project Cards ===== */
.project {
  transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);
  cursor: pointer;
}

.project:hover {
  transform: translateY(-12px) scale(1.02);
  box-shadow: 0 25px 50px rgba(0, 0, 0, 0.15);
}

.project .number {
  transition: all 0.3s ease;
}

.project:hover .number {
  transform: scale(1.2);
  color: var(--lime);
}

/* ===== Enhanced Buttons ===== */
.btn {
  transition: all 0.3s ease;
  position: relative;
  overflow: hidden;
}

.btn::before {
  content: '';
  position: absolute;
  top: 0;
  left: -100%;
  width: 100%;
  height: 100%;
  background: linear-gradient(90deg, transparent, rgba(255,255,255,0.2), transparent);
  transition: left 0.5s ease;
}

.btn:hover::before {
  left: 100%;
}

.btn:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 25px rgba(0, 0, 0, 0.2);
}

.btn:active {
  transform: translateY(0);
}

/* ===== Scroll Animations ===== */
.scroll-animate {
  opacity: 0;
  transform: translateY(30px);
  transition: all 0.6s ease-out;
}

.scroll-animate.in-view {
  opacity: 1;
  transform: translateY(0);
}

/* ===== Enhanced Navigation ===== */
nav a {
  position: relative;
  transition: color 0.3s ease;
}

nav a::after {
  content: '';
  position: absolute;
  bottom: -4px;
  left: 0;
  width: 0;
  height: 2px;
  background: var(--lime);
  transition: width 0.3s ease;
}

nav a:hover::after {
  width: 100%;
}

/* ===== Interactive Stats ===== */
.stat {
  transition: all 0.3s ease;
  cursor: default;
}

.stat:hover {
  transform: scale(1.05);
  color: var(--lime);
}

.stat b {
  transition: color 0.3s ease;
}

.stat:hover b {
  color: var(--lime);
}

/* ===== Enhanced Timeline ===== */
.timeline-item {
  transition: all 0.4s ease;
}

.timeline-item:hover {
  transform: translateX(10px);
  border-top-color: var(--lime);
}

/* ===== Malawi Flag Accent ===== */
.malawi-accent {
  position: relative;
}

.malawi-accent::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 4px;
  height: 100%;
  background: linear-gradient(to bottom, var(--malawi-black), var(--malawi-red), var(--malawi-green));
  border-radius: 2px;
}

/* ===== Loading Screen ===== */
.loading-screen {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: var(--paper);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 9999;
  transition: opacity 0.5s ease, visibility 0.5s ease;
}

.loading-screen.hidden {
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
}

.loading-spinner {
  width: 50px;
  height: 50px;
  border: 3px solid var(--line);
  border-top-color: var(--lime);
  border-radius: 50%;
  animation: rotate-slow 1s linear infinite;
}

/* ===== Cursor Effect ===== */
.cursor-glow {
  position: fixed;
  width: 300px;
  height: 300px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(199, 243, 107, 0.08) 0%, transparent 70%);
  pointer-events: none;
  z-index: 1;
  transform: translate(-50%, -50%);
  transition: opacity 0.3s ease;
}

/* ===== Enhanced Forms ===== */
.panel-form {
  transition: all 0.3s ease;
}

.panel-form:hover {
  box-shadow: 0 8px 30px rgba(0, 0, 0, 0.1);
  border-color: var(--lime);
}

.panel-form input:focus,
.panel-form textarea:focus {
  border-color: var(--lime);
  box-shadow: 0 0 0 3px rgba(199, 243, 107, 0.1);
}

/* ===== Interactive Ticker ===== */
.ticker {
  animation: gradient-shift 10s ease infinite;
  background-size: 200% 200%;
}

.ticker div {
  transition: color 0.3s ease;
}

.ticker:hover div {
  color: var(--lime);
}

/* ===== Enhanced Testimonial Cards ===== */
.testimonial-card {
  transition: all 0.4s ease;
}

.testimonial-card:hover {
  transform: translateY(-8px);
  box-shadow: 0 15px 40px rgba(0, 0, 0, 0.12);
}

.testimonial-avatar {
  transition: transform 0.3s ease;
}

.testimonial-card:hover .testimonial-avatar {
  transform: scale(1.1);
}

/* ===== Journal Card Enhancements ===== */
.journal-card {
  transition: all 0.4s ease;
}

.journal-card:hover {
  transform: translateY(-8px) scale(1.02);
  box-shadow: 0 15px 40px rgba(0, 0, 0, 0.12);
}

.journal-card img {
  transition: transform 0.4s ease;
}

.journal-card:hover img {
  transform: scale(1.05);
}

/* ===== Status Badge Animation ===== */
.status-badge {
  animation: slide-up 0.6s ease-out 0.3s both;
}

.dot-live {
  animation: pulse-glow 2s ease-in-out infinite;
}

/* ===== Mobile Menu Animation ===== */
.menu {
  transition: transform 0.3s ease;
}

.menu:hover {
  transform: scale(1.1);
}

/* ===== Search Modal Animation ===== */
.search-modal {
  transition: opacity 0.3s ease;
}

.search-panel {
  animation: scale-in 0.3s ease-out;
}

/* ===== Icon Button Enhancements ===== */
.icon-btn {
  transition: all 0.3s ease;
}

.icon-btn:hover {
  transform: scale(1.1) rotate(10deg);
  background: var(--lime);
  color: var(--ink);
}

/* ===== Section Transitions ===== */
.section {
  transition: all 0.5s ease;
}

/* ===== Fact Cards ===== */
.facts > div {
  transition: all 0.3s ease;
  cursor: default;
}

.facts > div:hover {
  transform: translateY(-5px);
  background: var(--surface);
  box-shadow: 0 8px 25px rgba(0, 0, 0, 0.1);
}

.facts > div:hover b {
  color: var(--lime);
}

/* ===== Malawi Flag ===== */
.malawi-flag {
  position: absolute;
  bottom: 20px;
  right: 20px;
  width: 60px;
  height: 40px;
  border-radius: 4px;
  overflow: hidden;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.2);
  opacity: 0.8;
  transition: all 0.3s ease;
}

.malawi-flag:hover {
  opacity: 1;
  transform: scale(1.1);
}

.flag-stripe {
  width: 100%;
  height: 33.33%;
}

.flag-stripe.black {
  background: var(--malawi-black);
}

.flag-stripe.red {
  background: var(--malawi-red);
}

.flag-stripe.green {
  background: var(--malawi-green);
}

/* ===== Impact Stats Section ===== */
.impact-stats {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  gap: 20px;
  margin-top: 60px;
  padding: 40px 0;
}

.stat-card {
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: 16px;
  padding: 30px 20px;
  text-align: center;
  transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);
  cursor: default;
  position: relative;
  overflow: hidden;
}

.stat-card::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 4px;
  background: linear-gradient(90deg, var(--malawi-red), var(--malawi-green));
  transform: scaleX(0);
  transition: transform 0.4s ease;
}

.stat-card:hover::before {
  transform: scaleX(1);
}

.stat-card:hover {
  transform: translateY(-10px);
  box-shadow: 0 20px 40px rgba(0, 0, 0, 0.15);
  border-color: var(--lime);
}

.stat-number {
  font: 700 2.5rem "Space Grotesk";
  color: var(--ink);
  margin-bottom: 8px;
  transition: color 0.3s ease;
}

.stat-card:hover .stat-number {
  color: var(--lime);
}

.stat-label {
  font-size: 0.9rem;
  color: var(--muted);
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 0.05em;
}

.stat-icon {
  font-size: 2rem;
  margin-top: 12px;
  opacity: 0.7;
  transition: all 0.3s ease;
}

.stat-card:hover .stat-icon {
  transform: scale(1.2) rotate(10deg);
  opacity: 1;
}

/* ===== Malawi Cultural Patterns ===== */
.malawi-pattern {
  position: absolute;
  width: 100%;
  height: 100%;
  opacity: 0.03;
  pointer-events: none;
  background-image: 
    repeating-linear-gradient(
      45deg,
      var(--malawi-black) 0px,
      var(--malawi-black) 2px,
      transparent 2px,
      transparent 10px
    );
}

/* ===== Chichewa Welcome Banner ===== */
.chichewa-banner {
  background: linear-gradient(135deg, var(--malawi-red), var(--malawi-green));
  color: white;
  padding: 20px 6vw;
  text-align: center;
  font-family: "Space Grotesk";
  font-weight: 600;
  font-size: 1.2rem;
  position: relative;
  overflow: visible;
  margin: 0;
  clear: both;
  z-index: 2;
}

.chichewa-banner::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cg fill='%23ffffff' fill-opacity='0.1'%3E%3Cpath d='M36 34v-4h-2v4h-4v2h4v4h2v-4h4v-2h-4zm0-30V0h-2v4h-4v2h4v4h2V6h4V4h-4zM634v-4h-2v4h-4v2h4v4h2v-4h4v-2h-4zm0-30V0h-2v4h-4v2h4v4h2V6h4V4h-4z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E");
  opacity: 0.3;
}

.chichewa-text {
  position: relative;
  z-index: 1;
}

/* ===== Enhanced Footer with Malawi Elements ===== */
footer {
  position: relative;
  background: var(--dark);
  color: var(--ink);
  padding: 40px 6vw;
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  gap: 20px;
}

footer::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 4px;
  background: linear-gradient(90deg, var(--malawi-black), var(--malawi-red), var(--malawi-green));
}

.malawi-coat {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 1.5rem;
}

/* ===== Traditional Pattern Borders ===== */
.pattern-border {
  border: 2px solid transparent;
  background-image: 
    linear-gradient(var(--surface), var(--surface)),
    repeating-linear-gradient(
      90deg,
      var(--malawi-red) 0px,
      var(--malawi-red) 1px,
      var(--malawi-black) 1px,
      var(--malawi-black) 2px,
      var(--malawi-green) 2px,
      var(--malawi-green) 3px
    );
  background-origin: border-box;
  background-clip: padding-box, border-box;
}

/* ===== LinkedIn Section ===== */
.linkedin {
  background: var(--surface);
  padding: 120px 6vw;
}

/* ===== Apps Section ===== */
.apps {
  background: var(--paper);
  padding: 120px 6vw;
}

.apps-showcase {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(350px, 1fr));
  gap: 32px;
  margin-top: 40px;
}

.app-card {
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: 20px;
  padding: 32px;
  transition: all 0.3s ease;
  position: relative;
  overflow: hidden;
}

.app-card:hover {
  transform: translateY(-8px);
  box-shadow: 0 20px 40px rgba(0, 0, 0, 0.1);
  border-color: var(--lime);
}

.featured-app {
  grid-column: span 1;
  background: linear-gradient(135deg, var(--dark), #1a1a1a);
  color: white;
  border: 2px solid var(--lime);
}

.featured-app::before {
  content: 'FEATURED';
  position: absolute;
  top: 16px;
  right: 16px;
  background: var(--lime);
  color: var(--ink);
  padding: 4px 12px;
  border-radius: 20px;
  font-size: 0.7rem;
  font-weight: 700;
  letter-spacing: 0.05em;
}

.featured-app .app-description,
.featured-app .feature {
  color: #aeb6b2;
}

.featured-app .app-header h3 {
  color: white;
}

.featured-app .app-tag {
  background: rgba(199, 243, 107, 0.2);
  color: var(--lime);
}

.app-icon {
  font-size: 3rem;
  margin-bottom: 20px;
}

.app-content {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.app-header {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 12px;
  flex-wrap: wrap;
}

.app-header h3 {
  font: 600 1.5rem "Space Grotesk";
  margin: 0;
  color: var(--ink);
}

.app-tag {
  background: var(--line);
  color: var(--muted);
  padding: 4px 12px;
  border-radius: 12px;
  font-size: 0.75rem;
  font-weight: 600;
  letter-spacing: 0.05em;
  text-transform: uppercase;
}

.app-description {
  color: var(--ink);
  line-height: 1.6;
  margin: 0;
}

.app-features {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.feature {
  font-size: 0.9rem;
  color: var(--muted);
}

.app-stats {
  display: flex;
  gap: 24px;
  padding: 16px 0;
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
}

.featured-app .app-stats {
  border-color: rgba(199, 243, 107, 0.3);
}

.app-stat {
  text-align: center;
}

.app-stat .stat-number {
  display: block;
  font: 700 1.3rem "Space Grotesk";
  color: var(--lime);
  margin-bottom: 4px;
}

.app-stat .stat-label {
  font-size: 0.75rem;
  color: var(--muted);
  text-transform: uppercase;
  letter-spacing: 0.05em;
}

.linkedin-profile {
  display: flex;
  justify-content: center;
  margin: 40px 0;
}

.linkedin-card {
  background: var(--paper);
  border: 1px solid var(--line);
  border-radius: 20px;
  padding: 40px;
  max-width: 500px;
  text-align: center;
  transition: all 0.3s ease;
}

.linkedin-card:hover {
  transform: translateY(-8px);
  box-shadow: 0 20px 40px rgba(0, 0, 0, 0.1);
  border-color: var(--lime);
}

.linkedin-header {
  margin-bottom: 24px;
}

.linkedin-avatar {
  width: 120px;
  height: 120px;
  margin: 0 auto 16px;
  border-radius: 50%;
  overflow: hidden;
  border: 4px solid var(--lime);
  box-shadow: 0 8px 24px rgba(199, 243, 107, 0.3);
}

.profile-image {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.linkedin-icon {
  font-size: 3rem;
  margin-bottom: 16px;
}

.linkedin-card h3 {
  font: 600 1.8rem "Space Grotesk";
  margin: 0 0 8px 0;
  color: var(--ink);
}

.linkedin-card > div.linkedin-header > p {
  color: var(--muted);
  margin: 0;
  font-size: 1rem;
}

.linkedin-bio {
  margin-bottom: 32px;
}

.linkedin-bio p {
  color: var(--ink);
  line-height: 1.6;
  margin: 0;
}

.linkedin-stats {
  display: flex;
  justify-content: space-around;
  margin-bottom: 32px;
  padding: 24px 0;
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
}

.linkedin-stat {
  text-align: center;
}

.linkedin-stat .stat-number {
  display: block;
  font: 700 1.5rem "Space Grotesk";
  color: var(--lime);
  margin-bottom: 4px;
}

.linkedin-stat .stat-label {
  font-size: 0.85rem;
  color: var(--muted);
  text-transform: uppercase;
  letter-spacing: 0.05em;
}
