:root{--p:#4F46E5;--pd:#4338CA;--g:#10B981;--y:#FDE047;--t:#1F2937;--tl:#6B7280;--bg:#fff;--bgl:#F9FAFB;--bd:#E5E7EB;}
*{margin:0;padding:0;box-sizing:border-box;}
body{font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;color:var(--t);background:var(--bg);overflow-x:hidden;}
a{text-decoration:none;cursor:pointer;}

/* HEADER */
.header{position:fixed;top:0;width:100%;background:rgba(255,255,255,.97);backdrop-filter:blur(12px);border-bottom:1px solid var(--bd);z-index:9999;padding:14px 0;}
.header-inner{max-width:1300px;margin:0 auto;padding:0 28px;display:flex;justify-content:space-between;align-items:center;}
.logo{display:flex;align-items:center;gap:8px;font-weight:900;font-size:18px;color:var(--p);}
nav{display:flex;gap:28px;align-items:center;}
.nav-link{color:var(--t);font-weight:600;font-size:14px;cursor:pointer;transition:.2s;padding:4px 0;border-bottom:2px solid transparent;}
.nav-link:hover,.nav-link.active{color:var(--p);border-bottom-color:var(--p);}
.nav-cta{background:var(--p)!important;color:#fff!important;padding:8px 20px!important;border-radius:8px!important;border-bottom:none!important;}
.nav-cta:hover{background:var(--pd)!important;}
.hamburger{display:none;background:none;border:none;font-size:22px;cursor:pointer;}
.mobile-nav{display:none;flex-direction:column;padding:16px 28px;gap:12px;background:#fff;border-top:1px solid var(--bd);}
.mobile-nav.open{display:flex;}
.mobile-nav .nav-link{font-size:16px;padding:8px 0;border-bottom:1px solid var(--bd);}

/* PAGE SYSTEM */
.page{display:none;padding-top:70px;}
.page.active{display:block;}
.wrap{max-width:1300px;margin:0 auto;padding:0 28px;}

/* PAGE HEADER */
.page-top{text-align:center;padding:64px 28px 40px;max-width:800px;margin:0 auto;}
.page-top h1{font-size:52px;font-weight:900;margin-bottom:16px;line-height:1.1;}
.page-top p{font-size:18px;color:var(--tl);line-height:1.6;}
.section-label{display:inline-block;background:rgba(79,70,229,.1);color:var(--p);font-size:11px;font-weight:800;letter-spacing:2px;padding:6px 16px;border-radius:20px;margin-bottom:16px;}

/* HERO */
.hero{position:relative;min-height:95vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#4F46E5 0%,#7C3AED 60%,#EC4899 100%);overflow:hidden;}
#particles{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none;}
.hero-inner{position:relative;z-index:2;text-align:center;padding:40px 28px;max-width:900px;}
.hero-pill{display:inline-block;background:rgba(255,255,255,.15);color:#fff;font-size:13px;font-weight:700;padding:8px 20px;border-radius:50px;margin-bottom:28px;backdrop-filter:blur(8px);}
.hero-inner h1{font-size:80px;font-weight:900;line-height:1;color:#fff;margin-bottom:20px;}
.yellow{color:var(--y);}
.hero-inner p{font-size:20px;color:rgba(255,255,255,.9);max-width:620px;margin:0 auto 40px;line-height:1.6;}
.hero-btns{display:flex;gap:16px;justify-content:center;flex-wrap:wrap;margin-bottom:56px;}
.btn-white,.btn-outline{padding:15px 32px;border:none;border-radius:10px;font-size:16px;font-weight:700;cursor:pointer;transition:.3s;}
.btn-white{background:#fff;color:var(--p);}
.btn-white:hover{transform:translateY(-2px);box-shadow:0 8px 24px rgba(0,0,0,.2);}
.btn-outline{background:transparent;color:#fff;border:2px solid rgba(255,255,255,.7);}
.btn-outline:hover{background:rgba(255,255,255,.15);}
.hero-stats{display:flex;gap:48px;justify-content:center;flex-wrap:wrap;}
.hstat{text-align:center;}
.hstat-n{font-size:40px;font-weight:900;color:#fff;}
.hstat-l{font-size:13px;color:rgba(255,255,255,.75);text-transform:uppercase;letter-spacing:1px;}

/* SPOTLIGHT */
.spotlight{padding:96px 28px;background:var(--bgl);}
.spotlight h2{font-size:42px;font-weight:900;text-align:center;margin-bottom:12px;}
.section-sub{text-align:center;color:var(--tl);font-size:17px;margin-bottom:56px;}
.spotlight-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:32px;max-width:1300px;margin:0 auto;}
.spot-card{background:#fff;border-radius:20px;overflow:hidden;box-shadow:0 4px 16px rgba(0,0,0,.08);transition:.3s;}
.spot-card:hover{transform:translateY(-8px);box-shadow:0 16px 40px rgba(0,0,0,.14);}
.spot-img{height:220px;background-size:cover;background-position:center;position:relative;}
.spot-category{position:absolute;top:16px;left:16px;background:var(--p);color:#fff;font-size:11px;font-weight:800;letter-spacing:1px;padding:5px 14px;border-radius:20px;}
.spot-body{padding:28px;}
.spot-body h3{font-size:22px;font-weight:800;margin-bottom:12px;}
.spot-body p{color:var(--tl);line-height:1.65;font-size:15px;margin-bottom:20px;}
.spot-meta{display:flex;flex-direction:column;gap:6px;font-size:13px;color:var(--tl);margin-bottom:20px;}
.spot-btn{background:var(--p);color:#fff;border:none;padding:10px 22px;border-radius:8px;font-size:14px;font-weight:700;cursor:pointer;transition:.2s;}
.spot-btn:hover{background:var(--pd);}

/* MAP SECTION */
.map-section{padding:80px 28px;background:#fff;}
.map-section h2{font-size:38px;font-weight:900;text-align:center;margin-bottom:12px;}
.map-layout{display:grid;grid-template-columns:2fr 1fr;gap:32px;max-width:1100px;margin:0 auto;}
.map-box{background:var(--bgl);border-radius:16px;padding:24px;box-shadow:0 2px 8px rgba(0,0,0,.06);}
.map-box svg{width:100%;height:auto;}
.pdot{fill:var(--p);animation:pdot 2s ease-in-out infinite;}
@keyframes pdot{0%,100%{opacity:1;r:8px}50%{opacity:.5;r:13px}}
.maplabel{font-size:11px;fill:var(--tl);font-weight:600;}
.feed-box{background:var(--bgl);border-radius:16px;padding:24px;box-shadow:0 2px 8px rgba(0,0,0,.06);overflow-y:auto;max-height:380px;}
.feed-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;padding-bottom:12px;border-bottom:2px solid var(--bd);}
.feed-top h3{font-size:17px;font-weight:800;}
.live-badge{font-size:12px;font-weight:700;color:#EF4444;animation:blink 2s ease-in-out infinite;}
@keyframes blink{0%,100%{opacity:1}50%{opacity:.3}}
.feed-item{padding:12px;background:#fff;border-radius:8px;border-left:3px solid var(--p);margin-bottom:10px;animation:fadeIn .3s ease;}
@keyframes fadeIn{from{opacity:0;transform:translateX(-16px)}to{opacity:1;transform:none}}
.feed-name{font-weight:700;font-size:14px;}
.feed-action{font-size:13px;color:var(--tl);margin:3px 0;}
.feed-time{font-size:11px;color:var(--tl);}

/* DRAG SECTION */
.drag-section{padding:80px 28px;background:var(--bgl);}
.drag-section h2{font-size:38px;font-weight:900;text-align:center;margin-bottom:12px;}
.drag-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;max-width:1100px;margin:0 auto 32px;}
.drag-card{background:#fff;border-radius:16px;overflow:hidden;box-shadow:0 4px 12px rgba(0,0,0,.1);cursor:grab;transition:transform .3s,box-shadow .3s;user-select:none;}
.drag-card:active{cursor:grabbing;}
.drag-card:hover{transform:translateY(-6px) rotate(1.5deg);box-shadow:0 12px 28px rgba(0,0,0,.15);}
.drag-img{height:180px;background-size:cover;background-position:center;}
.drag-info{padding:18px;}
.drag-info h3{font-size:18px;font-weight:700;margin-bottom:6px;}
.drag-info p{font-size:13px;color:var(--tl);}
.drag-hint{text-align:center;font-size:16px;color:var(--tl);}
.try-btn{background:var(--p);color:#fff;border:none;padding:10px 22px;border-radius:8px;font-size:14px;font-weight:700;cursor:pointer;margin-left:12px;transition:.2s;}
.try-btn:hover{background:var(--pd);}

/* COUNTERS */
.counters{padding:96px 28px;background:linear-gradient(135deg,#1F2937,#111827);}
.counter-wrap{display:grid;grid-template-columns:repeat(3,1fr);gap:40px;max-width:1000px;margin:0 auto;}
.ctr{text-align:center;padding:48px 32px;background:rgba(255,255,255,.05);border-radius:20px;transition:.3s;}
.ctr:hover{background:rgba(255,255,255,.1);transform:translateY(-6px);}
.ctr.accent{background:linear-gradient(135deg,var(--p),#6366F1);}
.ctr-n{font-size:64px;font-weight:900;color:#fff;margin-bottom:12px;}
.ctr-l{font-size:18px;color:rgba(255,255,255,.9);font-weight:700;margin-bottom:6px;}
.ctr-s{font-size:13px;color:rgba(255,255,255,.55);}

/* RESOURCE HUB */
.hub-controls{padding:32px 28px 0;}
.hub-search{width:100%;padding:16px 22px;border:2px solid var(--bd);border-radius:12px;font-size:16px;outline:none;transition:.2s;margin-bottom:20px;}
.hub-search:focus{border-color:var(--p);}
.filter-row{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:40px;}
.filter-btn{padding:8px 18px;border:2px solid var(--bd);border-radius:20px;background:#fff;font-size:14px;font-weight:600;cursor:pointer;transition:.2s;}
.filter-btn:hover,.filter-btn.active{border-color:var(--p);background:var(--p);color:#fff;}
.resource-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;padding-bottom:80px;}
.res-card{background:#fff;border-radius:16px;border:2px solid var(--bd);overflow:hidden;transition:.3s;}
.res-card:hover{border-color:var(--p);transform:translateY(-4px);box-shadow:0 8px 24px rgba(79,70,229,.12);}
.res-card.hidden{display:none;}
.res-top{height:150px;background-size:cover;background-position:center;position:relative;}
.res-cat{position:absolute;top:12px;left:12px;background:var(--p);color:#fff;font-size:10px;font-weight:800;letter-spacing:1px;padding:4px 12px;border-radius:12px;}
.res-body{padding:22px;}
.res-body h3{font-size:18px;font-weight:800;margin-bottom:8px;}
.res-body p{font-size:14px;color:var(--tl);line-height:1.55;margin-bottom:14px;}
.res-meta{font-size:13px;color:var(--tl);display:flex;flex-direction:column;gap:4px;}
.no-results{text-align:center;padding:60px 28px;font-size:18px;color:var(--tl);}

/* DISCOVER / SWIPE */
.swipe-wrap{max-width:480px;margin:0 auto;padding:0 28px 80px;}
.stack{position:relative;height:580px;margin-bottom:32px;}
.swipe-card{position:absolute;width:100%;background:#fff;border-radius:20px;box-shadow:0 4px 20px rgba(0,0,0,.1);overflow:hidden;cursor:grab;border:3px solid transparent;transition:border-color .2s;}
.swipe-card.dragging{cursor:grabbing;}
.sc-img{height:280px;background-size:cover;background-position:center;}
.sc-body{padding:24px;}
.sc-title{font-size:22px;font-weight:800;margin-bottom:6px;}
.sc-org{color:var(--p);font-weight:600;font-size:14px;margin-bottom:10px;}
.sc-desc{color:var(--tl);font-size:14px;line-height:1.55;margin-bottom:16px;}
.sc-meta{display:flex;flex-wrap:wrap;gap:10px;font-size:13px;color:var(--tl);}
.swipe-btns{display:flex;justify-content:center;gap:20px;}
.sbtn{width:66px;height:66px;border-radius:50%;border:none;font-size:28px;cursor:pointer;transition:.2s;display:flex;align-items:center;justify-content:center;}
.sbtn.no{background:#FEE2E2;color:#DC2626;}
.sbtn.yes{background:#D1FAE5;color:#059669;}
.sbtn.undo{background:var(--bgl);color:var(--tl);}
.sbtn:hover{transform:scale(1.12);}
.match-badge{text-align:center;margin-top:20px;font-size:17px;font-weight:700;color:var(--g);}
.end-screen{text-align:center;padding:60px 20px;}
.end-screen h3{font-size:28px;font-weight:800;margin-bottom:10px;}
.end-screen p{font-size:17px;color:var(--tl);margin-bottom:28px;}
.btn-primary-sm{background:var(--p);color:#fff;border:none;padding:12px 28px;border-radius:8px;font-size:15px;font-weight:700;cursor:pointer;}
.btn-primary-sm:hover{background:var(--pd);}

/* IMPACT */
.impact-nums{display:grid;grid-template-columns:repeat(3,1fr);gap:40px;padding:40px 28px 60px;}
.impn{text-align:center;padding:48px 32px;border-radius:20px;background:var(--bgl);transition:.3s;}
.impn:hover{transform:translateY(-6px);box-shadow:0 8px 24px rgba(0,0,0,.08);}
.impn.accent{background:linear-gradient(135deg,var(--p),#6366F1);color:#fff;}
.impn-num{font-size:60px;font-weight:900;color:var(--p);margin-bottom:10px;}
.impn.accent .impn-num{color:#fff;}
.impn-label{font-size:17px;font-weight:700;color:var(--t);}
.impn.accent .impn-label{color:rgba(255,255,255,.9);}
.testimonials{padding:60px 28px;}
.testimonials h2{font-size:38px;font-weight:900;margin-bottom:40px;}
.tgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;}
.tcard{background:#fff;padding:28px;border-radius:16px;box-shadow:0 2px 8px rgba(0,0,0,.08);font-size:15px;font-style:italic;line-height:1.65;color:var(--t);}
.tcard span{display:block;margin-top:14px;font-style:normal;font-weight:700;font-size:13px;color:var(--p);}
.about-org{padding:60px 28px 80px;}
.about-org h2{font-size:38px;font-weight:900;margin-bottom:40px;}
.about-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;}
.about-card{padding:32px;background:var(--bgl);border-radius:16px;}
.about-card h3{font-size:20px;font-weight:800;margin-bottom:12px;}
.about-card p{color:var(--tl);line-height:1.65;}

/* SUBMIT FORM */
.submit-wrap{padding:0 28px 80px;max-width:900px;}
.submit-form{background:#fff;padding:40px;border-radius:20px;box-shadow:0 4px 20px rgba(0,0,0,.08);}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:20px;}
.form-group{margin-bottom:22px;}
.form-group label{display:block;font-weight:700;font-size:14px;margin-bottom:8px;color:var(--t);}
.form-group input,.form-group select,.form-group textarea{width:100%;padding:12px 16px;border:2px solid var(--bd);border-radius:10px;font-size:15px;transition:.2s;font-family:inherit;}
.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:var(--p);}
.submit-btn{background:var(--p);color:#fff;border:none;padding:15px 36px;border-radius:10px;font-size:16px;font-weight:700;cursor:pointer;transition:.2s;width:100%;}
.submit-btn:hover{background:var(--pd);}
.submit-success{text-align:center;padding:60px 40px;}
.success-icon{font-size:64px;margin-bottom:20px;}
.submit-success h3{font-size:28px;font-weight:800;margin-bottom:12px;}
.submit-success p{font-size:17px;color:var(--tl);margin-bottom:28px;line-height:1.6;}

/* CONTACT */
.contact-layout{display:grid;grid-template-columns:1fr 1fr;gap:40px;padding:0 28px 80px;align-items:start;}
.contact-form{background:#fff;padding:40px;border-radius:20px;box-shadow:0 4px 16px rgba(0,0,0,.08);}
.contact-info{padding:40px;background:var(--bgl);border-radius:20px;}
.contact-info h3{font-size:24px;font-weight:800;margin-bottom:24px;}
.faq{padding:16px 0;border-bottom:1px solid var(--bd);}
.faq strong{display:block;font-size:14px;margin-bottom:4px;}
.faq p{font-size:14px;color:var(--tl);}
.contact-details{margin-top:28px;display:flex;flex-direction:column;gap:10px;font-size:15px;color:var(--tl);}

/* FOOTER */
.footer{background:#1F2937;color:rgba(255,255,255,.6);text-align:center;padding:32px;}

/* RESPONSIVE */
@media(max-width:900px){
    nav{display:none;}
    .hamburger{display:block;}
    .hero-inner h1{font-size:52px;}
    .spotlight-grid,.drag-grid,.counter-wrap,.resource-grid,.tgrid,.about-grid,.impact-nums{grid-template-columns:1fr;}
    .map-layout,.contact-layout,.form-row{grid-template-columns:1fr;}
    .page-top h1{font-size:38px;}
}

.res-new-badge {
    position: absolute;
    top: 12px;
    right: 12px;
    background: #10B981;
    color: #fff;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: 1px;
    padding: 4px 12px;
    border-radius: 12px;
}
 
/* New tag on swipe cards */
.sc-new-tag {
    display: inline-block;
    background: #10B981;
    color: #fff;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 1px;
    padding: 4px 12px;
    border-radius: 12px;
    margin-bottom: 10px;
}
 

/* ── QUIZ ─────────────────────────────────────────────────────── */
.quiz-outer{max-width:640px;padding:0 28px 80px;}
.quiz-card{background:#fff;border-radius:20px;box-shadow:0 4px 20px rgba(0,0,0,.08);padding:40px;}
.quiz-prog-bar{height:6px;background:var(--bd);border-radius:6px;margin-bottom:32px;}
.quiz-prog-fill{height:6px;background:var(--p);border-radius:6px;transition:width .35s ease;}
.quiz-step{display:none;}
.quiz-step.active{display:block;}
.quiz-qlabel{font-size:12px;font-weight:700;color:var(--tl);letter-spacing:1.5px;text-transform:uppercase;margin-bottom:10px;}
.quiz-qtitle{font-size:24px;font-weight:800;color:var(--t);margin-bottom:24px;line-height:1.3;}
.quiz-options{display:flex;flex-direction:column;gap:12px;margin-bottom:28px;}
.quiz-opt{background:#fff;border:2px solid var(--bd);border-radius:12px;padding:16px 20px;cursor:pointer;font-size:15px;font-weight:600;color:var(--t);text-align:left;transition:border-color .2s,background .2s;}
.quiz-opt:hover{border-color:var(--p);background:#F5F3FF;}
.quiz-opt.selected{border-color:var(--p);background:#EEF2FF;color:var(--p);}
.quiz-next{background:var(--p);color:#fff;border:none;padding:14px 32px;border-radius:10px;font-size:15px;font-weight:700;cursor:pointer;transition:opacity .2s,background .2s;}
.quiz-next:disabled{opacity:.35;cursor:not-allowed;}
.quiz-next:not(:disabled):hover{background:var(--pd);}
.quiz-results-title{font-size:28px;font-weight:900;margin-bottom:8px;}
.quiz-results-sub{font-size:16px;color:var(--tl);margin-bottom:28px;}
.quiz-res-card{background:var(--bgl);border-radius:16px;padding:24px;margin-bottom:16px;border:2px solid transparent;transition:border-color .2s;}
.quiz-res-card:hover{border-color:var(--p);}
.quiz-res-tag{display:inline-block;background:rgba(79,70,229,.1);color:var(--p);font-size:11px;font-weight:800;letter-spacing:1px;padding:4px 12px;border-radius:20px;margin-bottom:10px;}
.quiz-res-name{font-size:19px;font-weight:800;color:var(--t);margin-bottom:8px;}
.quiz-res-desc{font-size:14px;color:var(--tl);line-height:1.6;margin-bottom:12px;}
.quiz-res-meta{font-size:13px;color:var(--tl);display:flex;flex-wrap:wrap;gap:12px;}
.quiz-restart{margin-top:8px;background:none;border:2px solid var(--bd);border-radius:10px;padding:12px 28px;font-size:14px;font-weight:700;cursor:pointer;color:var(--tl);transition:.2s;}
.quiz-restart:hover{border-color:var(--p);color:var(--p);}
