/* style.css: デザイン・アニメーション・エフェクターの完全再現 */
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&display=swap');

html { scroll-behavior: smooth; }
body { font-family: 'Inter', ui-sans-serif, system-ui, -apple-system, sans-serif; }

/* 背景のメッシュグラデーション */
.mesh-gradient { position: fixed; top: 0; left: 0; width: 100%; height: 100%; overflow: hidden; pointer-events: none; z-index: 0; }
.blur-circle { position: absolute; border-radius: 50%; filter: blur(120px); }

/* アニメーション */
@keyframes pulse { 0%, 100% { opacity: 1; } 50% { opacity: .5; } }
.animate-pulse-custom { animation: pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite; }

/* エフェクター（動き）の定義 */
.hover-lift { 
    transition: all 0.4s cubic-bezier(0.165, 0.84, 0.44, 1); 
}
.hover-lift:hover { 
    transform: translateY(-8px); 
    box-shadow: 0 20px 40px -10px rgba(0, 0, 0, 0.1); 
}

.img-zoom { 
    transition: transform 0.8s cubic-bezier(0.165, 0.84, 0.44, 1); 
}
.group:hover .img-zoom { 
    transform: scale(1.05); 
}

.hidden { display: none; }