.projects-page.svelte-b94pf2{position:relative;background-color:#0b0f17;min-height:80vh;padding:4rem 0;overflow:hidden}.container.svelte-b94pf2{max-width:1200px;margin:0 auto;padding:0 1.5rem;position:relative;z-index:10}.background-decorations.svelte-b94pf2{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:1}.glow-sphere.svelte-b94pf2{position:absolute;border-radius:50%;filter:blur(120px);opacity:.15}.glow-sphere.teal.svelte-b94pf2{top:-10%;right:10%;width:400px;height:400px;background:var(--forge-secondary)}.glow-sphere.orange.svelte-b94pf2{bottom:10%;left:5%;width:500px;height:500px;background:var(--yellow)}.projects-hero.svelte-b94pf2{margin-bottom:4rem}.glowing-title.svelte-b94pf2{font-family:var(--font-title);font-size:clamp(2.5rem,5vw,4rem);font-weight:800;background:linear-gradient(135deg,#ffffff 30%,var(--forge-secondary) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;margin-bottom:1rem;letter-spacing:-.02em;text-transform:uppercase;filter:drop-shadow(0 0 20px rgba(79,209,197,.2))}.projects-subtitle.svelte-b94pf2{font-family:var(--font-body);font-size:clamp(1.1rem,2vw,1.3rem);color:var(--gray);max-width:700px;margin:0 auto;line-height:1.6}.projects-grid.svelte-b94pf2{display:grid;grid-template-columns:1fr;gap:3rem}.campaign-card.svelte-b94pf2{background:#11182799;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border:1px solid rgba(255,255,255,.06);border-radius:20px;position:relative;transition:transform .4s cubic-bezier(.16,1,.3,1),border-color .4s ease,box-shadow .4s ease}.campaign-card.svelte-b94pf2:hover{transform:translateY(-6px);border-color:#4fd1c54d;box-shadow:0 12px 30px #0006,0 0 20px #4fd1c51a;z-index:10}.card-inner.svelte-b94pf2{display:grid;grid-template-columns:350px 1fr}@media(max-width:992px){.card-inner.svelte-b94pf2{grid-template-columns:1fr}.card-cover-wrapper.svelte-b94pf2{border-radius:20px 20px 0 0!important}}.card-cover-wrapper.svelte-b94pf2{position:relative;height:100%;min-height:350px;overflow:hidden;border-top-left-radius:20px;border-bottom-left-radius:20px}.card-cover.svelte-b94pf2{width:100%;height:100%;object-fit:cover;transition:transform .6s cubic-bezier(.16,1,.3,1)}.campaign-card.svelte-b94pf2:hover .card-cover:where(.svelte-b94pf2){transform:scale(1.05)}.card-badge.svelte-b94pf2{position:absolute;top:1.5rem;left:1.5rem;background:#0b0f17d9;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid rgba(79,209,197,.4);color:var(--forge-secondary);font-size:.85rem;font-weight:600;padding:.4rem .9rem;border-radius:50px;display:flex;align-items:center;gap:.5rem;letter-spacing:.05em;text-transform:uppercase}.pulse-indicator.svelte-b94pf2{width:8px;height:8px;background-color:var(--forge-secondary);border-radius:50%;animation:svelte-b94pf2-pulse 1.8s infinite;box-shadow:0 0 8px var(--forge-secondary)}@keyframes svelte-b94pf2-pulse{0%{transform:scale(.95);box-shadow:0 0 #4fd1c5b3}70%{transform:scale(1);box-shadow:0 0 0 8px #4fd1c500}to{transform:scale(.95);box-shadow:0 0 #4fd1c500}}.card-content.svelte-b94pf2{padding:2.5rem;display:flex;flex-direction:column}.card-header.svelte-b94pf2{display:flex;justify-content:space-between;align-items:flex-start;gap:1.5rem;flex-wrap:wrap}.project-title.svelte-b94pf2{font-family:var(--font-title);font-size:var(--fs-h3);font-weight:700;color:#fff;margin:0}.subs-badge.svelte-b94pf2{background:#ffffff0d;border:1px solid rgba(255,255,255,.1);color:#fff;font-size:.95rem;font-weight:600;padding:.5rem 1rem;border-radius:12px;display:flex;align-items:center;gap:.5rem;transition:background .3s,border-color .3s}.campaign-card.svelte-b94pf2:hover .subs-badge:where(.svelte-b94pf2){background:#4fd1c51a;border-color:#4fd1c533}.project-description.svelte-b94pf2{font-family:var(--font-body);font-size:1.05rem;color:var(--lightgray);line-height:1.6}.milestones-section.svelte-b94pf2{position:relative;padding-top:1.5rem}.milestones-progress-track.svelte-b94pf2{position:relative;height:6px;background:#ffffff1a;border-radius:10px;margin-bottom:2rem}.progress-fill.svelte-b94pf2{position:absolute;top:0;left:0;height:100%;background:linear-gradient(90deg,var(--forge-primary),var(--forge-secondary));border-radius:10px;transition:width 1s cubic-bezier(.16,1,.3,1);box-shadow:0 0 10px #4fd1c54d}.checkpoints-container.svelte-b94pf2{position:absolute;top:50%;left:0;width:100%;height:0;transform:translateY(-50%)}.checkpoint-node.svelte-b94pf2{position:absolute;transform:translate(-50%,-50%);width:18px;height:18px;border-radius:50%;background:#111827;border:2px solid rgba(255,255,255,.2);cursor:pointer;z-index:2;transition:all .3s ease}.checkpoint-node.unlocked.svelte-b94pf2{border-color:var(--forge-secondary);background:var(--forge-gradient);box-shadow:0 0 10px #4fd1c599}.checkpoint-node.svelte-b94pf2:hover{transform:translate(-50%,-50%) scale(1.25);z-index:100}.node-dot.svelte-b94pf2{width:100%;height:100%;display:flex;align-items:center;justify-content:center;color:#fff;font-size:.65rem;font-weight:700}.dot-check.svelte-b94pf2{display:inline-block;transform:scale(.9)}.node-tooltip.svelte-b94pf2{position:absolute;bottom:28px;left:50%;transform:translate(-50%) translateY(5px);background:#1e293b;border:1px solid rgba(255,255,255,.1);border-radius:8px;padding:.6rem .9rem;width:160px;text-align:center;box-shadow:0 10px 15px #0000004d;pointer-events:none;opacity:0;visibility:hidden;transition:all .3s cubic-bezier(.16,1,.3,1)}.node-tooltip.svelte-b94pf2:after{content:"";position:absolute;top:100%;left:50%;transform:translate(-50%);border-width:5px;border-style:solid;border-color:#1e293b transparent transparent transparent}.checkpoint-node.svelte-b94pf2:hover .node-tooltip:where(.svelte-b94pf2){opacity:1;visibility:visible;transform:translate(-50%) translateY(0)}.tooltip-text.svelte-b94pf2{margin:0 0 .2rem;font-size:.8rem;color:#fff;font-weight:500;line-height:1.3}.tooltip-sub.svelte-b94pf2{font-size:.75rem;color:var(--forge-secondary);font-weight:600}.next-goal-alert.svelte-b94pf2{font-family:var(--font-body);font-size:.95rem;color:var(--gray);margin:1.2rem 0 0;display:flex;align-items:center;gap:.4rem}.next-goal-alert.svelte-b94pf2 strong{color:var(--forge-secondary);font-weight:700}.all-goals-reached-alert.svelte-b94pf2{font-family:var(--font-body);font-size:.95rem;color:var(--highgreen);font-weight:600;margin:1.2rem 0 0}.card-footer.svelte-b94pf2{margin-top:1.8rem;display:flex;justify-content:flex-start}.btn-view-campaign.svelte-b94pf2{display:inline-flex;align-items:center;justify-content:space-between;background:var(--forge-gradient);border:1px solid rgba(79,209,197,.2);color:#fff;text-decoration:none;padding:.9rem 2rem;border-radius:12px;font-family:var(--font-title);font-size:1.1rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase;box-shadow:var(--forge-glow);transition:all .3s cubic-bezier(.16,1,.3,1);position:relative;overflow:hidden}.btn-view-campaign.svelte-b94pf2:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.15),transparent);transition:left .5s ease}.btn-view-campaign.svelte-b94pf2:hover:before{left:100%}.btn-view-campaign.svelte-b94pf2:hover{transform:translateY(-2px);box-shadow:0 0 25px #4fd1c599;border-color:var(--forge-secondary)}.btn-text.svelte-b94pf2{margin-right:1.5rem}.btn-arrow.svelte-b94pf2{transition:transform .3s ease}.btn-view-campaign.svelte-b94pf2:hover .btn-arrow:where(.svelte-b94pf2){transform:translate(4px)}.spinner-container.svelte-b94pf2{display:inline-flex;justify-content:center}.spinner.svelte-b94pf2{width:40px;height:40px;border:3px solid rgba(79,209,197,.15);border-top-color:var(--forge-secondary);border-radius:50%;animation:svelte-b94pf2-spin 1s infinite linear}@keyframes svelte-b94pf2-spin{to{transform:rotate(360deg)}}.loading-text.svelte-b94pf2{color:var(--gray);font-size:1.1rem;font-family:var(--font-body)}.error-card.svelte-b94pf2,.empty-card.svelte-b94pf2{background:#ffffff05;border:1px solid rgba(255,255,255,.05);border-radius:16px;padding:3rem 2rem;max-width:500px;margin:0 auto}.error-icon.svelte-b94pf2{font-size:3rem;margin-bottom:1rem}.error-card.svelte-b94pf2 h3:where(.svelte-b94pf2),.empty-card.svelte-b94pf2 h3:where(.svelte-b94pf2){font-family:var(--font-title);color:#fff;margin-bottom:.5rem}.error-card.svelte-b94pf2 p:where(.svelte-b94pf2){color:var(--gray);font-family:var(--font-body)}.empty-icon.svelte-b94pf2{font-size:3rem;margin-bottom:1rem}
