@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@400;500;600;700&display=swap');:root{--primary-color:#38b6ff;--secondary-color:#0099e6;--accent-color:#ff6b6b;--success-color:#4ecdc4;--text-dark:#2c3e50;--text-light:#7f8c8d;--bg-light:#f8f9fa;--white:#ffffff;--shadow:0 4px 20px rgba(0,0,0,0.08);--shadow-hover:0 8px 30px rgba(0,0,0,0.12);--border-radius:12px;--transition:all 0.3s ease;} *{margin:0;padding:0;box-sizing:border-box;} body{font-family:'Poppins', sans-serif;color:var(--text-dark);background:var(--bg-light);line-height:1.6;} .puzzle-index-container{padding-top:80px;min-height:100vh;}  .puzzle-hero{background:linear-gradient(135deg, var(--primary-color), var(--secondary-color));color:var(--white);padding:30px;text-align:center;position:relative;overflow:hidden;} .puzzle-hero::before{content:'';position:absolute;top:-50%;right:-10%;width:500px;height:500px;background:rgba(255, 255, 255, 0.1);border-radius:50%;} .puzzle-hero::after{content:'';position:absolute;bottom:-30%;left:-5%;width:400px;height:400px;background:rgba(255, 255, 255, 0.08);border-radius:50%;} .hero-content{position:relative;z-index:1;} .hero-title{font-size:3rem;font-weight:700;margin-bottom:1rem;animation:fadeInUp 0.6s ease;} .hero-subtitle{font-size:1.25rem;font-weight:400;max-width:700px;margin:0 auto;opacity:0.95;animation:fadeInUp 0.6s ease 0.2s backwards;}  .puzzle-cards-section{padding:80px 0;} .puzzle-grid{display:grid;grid-template-columns:repeat(auto-fit, minmax(320px, 1fr));gap:30px;max-width:1200px;margin:0 auto;} .puzzle-card{background:var(--white);border-radius:var(--border-radius);overflow:hidden;box-shadow:var(--shadow);transition:var(--transition);display:flex;flex-direction:column;} .puzzle-card:hover{transform:translateY(-8px);box-shadow:var(--shadow-hover);} .puzzle-card-image{position:relative;width:100%;height:220px;overflow:hidden;} .puzzle-card-image img{width:100%;height:100%;object-fit:cover;transition:var(--transition);} .puzzle-card:hover .puzzle-card-image img{transform:scale(1.1);} .puzzle-card-overlay{position:absolute;top:0;left:0;width:100%;height:100%;opacity:0.3;} .puzzle-card-content{padding:30px;flex:1;display:flex;flex-direction:column;} .puzzle-icon{width:60px;height:60px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:1.5rem;margin-bottom:20px;} .puzzle-title{font-size:1.5rem;font-weight:600;margin-bottom:12px;color:var(--text-dark);} .puzzle-description{color:var(--text-light);margin-bottom:25px;flex:1;line-height:1.7;} .puzzle-btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:14px 28px;border-radius:8px;color:var(--white);text-decoration:none;font-weight:600;transition:var(--transition);box-shadow:0 4px 15px rgba(0,0,0,0.15);} .puzzle-btn:hover{transform:translateX(5px);box-shadow:0 6px 20px rgba(0,0,0,0.2);color:var(--white);}  .puzzle-why-section{background:var(--white);padding:80px 0;} .section-title{text-align:center;font-size:2.5rem;font-weight:700;margin-bottom:50px;color:var(--text-dark);} .why-grid{display:grid;grid-template-columns:repeat(auto-fit, minmax(280px, 1fr));gap:40px;max-width:1200px;margin:0 auto;} .why-item{text-align:center;padding:30px;background:var(--bg-light);border-radius:var(--border-radius);transition:var(--transition);} .why-item:hover{transform:translateY(-5px);box-shadow:var(--shadow);} .why-icon{width:80px;height:80px;margin:0 auto 20px;background:linear-gradient(135deg, var(--primary-color), var(--secondary-color));border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--white);font-size:2rem;} .why-item h4{font-size:1.25rem;margin-bottom:12px;color:var(--text-dark);} .why-item p{color:var(--text-light);line-height:1.7;}  @keyframes fadeInUp{from{opacity:0;transform:translateY(30px);} to{opacity:1;transform:translateY(0);}}  @media (max-width:768px){.puzzle-index-container{padding-top:60px;} .hero-title{font-size:2rem;} .hero-subtitle{font-size:1rem;} .puzzle-hero{padding:40px 0;} .puzzle-cards-section, .puzzle-why-section{padding:50px 0;} .section-title{font-size:2rem;} .puzzle-grid, .why-grid{grid-template-columns:1fr;gap:20px;} .puzzle-card-content{padding:20px;}} @media (max-width:480px){.hero-title{font-size:1.75rem;} .puzzle-btn{width:100%;}}